SlideShare a Scribd company logo
1 of 27
Download to read offline
スタパさんをつくるはなし
スタパさんをつくるはなし
STAPA-CLOUD
- にせものスタパさん -
@ivoryworks
2010.10.09 gunma.web #2
profile
● 名前:ivoryworks
● 仕事:Webじゃない所でプログラムを書いてます
● 普段:Linuxをよくさわっています
● 最近:ARに興味あり
● blog : Vamp Records http://www.ivoryworks.com/blog/
● Twit : @ivoryworks
スタパクラウド
- にせものスタパさん -
むかし造りました
PHP+MySQL
で
いま流行りのクラウドじゃないよ
タグクラウドだよ
あと偽者じゃないよ。似せもの。似せてある。
スタパさんをつくるはなし
ものがたりのはじまり
2007年冬(古いね)
人工無脳つくろうかな
スタパさんをつくるはなし
ものがたりのはじまり
どんな?
スタパさんをつくるはなし
この人の
このひとしってる?
スタパさんをつくるはなし
このひと
スタパさんをつくるはなし
スタパ齋藤
● 国民的アイドル物欲番長
● もの凄いハイテンションな文体で各方面に
色々書いているライターの人。
● 外見はロシア人
スタパさんをつくるはなし
さあつくろう
 と思ったのだけど、
人工無脳のおもしろい文章とか
どうやって作るのかよくわからないので、
色々調べる内に
『マルコフ連鎖』
というものに出会う
(重要)
スタパさんをつくるはなし
マルコフ連鎖
マルコフ連鎖とは、確率過程の一種であるマルコフ過程のう
ち、とりうる状態が離散的(有限または可算)なもの(離散状
態マルコフ過程)をいう。また特に、時間が離散的なもの(時
刻は添え字で表される)を指すことが多い(他に連続時間マル
コフ過程というものもあり、これは時刻が連続である)。マル
コフ連鎖は、未来の挙動が現在の値だけで決定され、過去の挙
動と無関係である(マルコフ性)。各時刻において起こる状態
変化(遷移または推移)に関して、マルコフ連鎖は遷移確率が
過去の状態によらず、現在の状態のみによる系列である。特に
重要な確率過程として、様々な分野に応用される。
By Wikipedia
スタパさんをつくるはなし
マルコフ連鎖
むり
スタパさんをつくるはなし
やさしく解説
例えばこんな文章
『彼女はパンを食べて紅茶を飲んだ。』
スタパさんをつくるはなし
形態素解析で分解する
● 彼女(名詞)
● は(助詞)
● パン(名詞)
● を(助詞)
● 食べ(動詞)
● て(助詞)
● 紅茶(名詞)
● を(助詞)
● 飲ん(動詞)
● だ(助動詞)
● 。(特殊)
[彼女][は][パン][を][食べ][て][紅茶][を][飲ん][だ][。]
スタパさんをつくるはなし
マルコフ連鎖の一階の近似
● 文頭ー彼女
● 彼女ーは
● はーパン
● パンーを
● をー食べ
● 食べーて
● てー紅茶
● 紅茶ーを
● をー飲ん
● 飲んーだ
● だー。
● 。ー文末
彼女はパンを飲んだ。(文法的にはOK)
(接頭辞ー接尾辞)の関係
スタパさんをつくるはなし
この一階の近似とやらを使って
スタパ的文章つくってやろう
何だかうまくいきそうだ
スタパさんをつくるはなし
ちなみに
形態素解析はYahoo!にお願いした
● chasen、mecabuなど自
前でできるのがあるけど,
辞書が良さそう、という
声が聞こえてきた。
● 当時何でもいいから
WebAPIが使いたかっ
た。WebAPIならなんで
もよかった。けどYahoo!
さんイイよ。
スタパさんをつくるはなし
スタパブログを元にさっそく試す
ためしに2つほど文章を生成してみる
1.フィッシュズームレンズデジカメのな撮っみよななどデ
ジカメなをmmアイばかなやっぱmm立体で出は
mmCCD、、思っ1考えれで、セット、コト21レンズで
す同じねデジカメ
2. レンズ。は相当はデジタル楽勝!
だめだ、
楽勝!じゃねえよ
スタパさんをつくるはなし
マルコフ連鎖の二階の近似
● (文頭)彼女ーは
● 彼女はーパン
● はパンーを
● パンをー食べ
● を食べーて
● 食べてー紅茶
● て紅茶ーを
● 紅茶をー飲ん
● を飲んーだ
● 飲んだー。
● だ。ー(文末)
ちなみにこれだと原文と同一文しか生成されない。
例文を間違えた。
今気づいた。
スタパさんをつくるはなし
さっそく二階でスタパさん
マルコフなんとかというのはすごい
二階にしたら、
おもしろい文章が出るんじゃないかな
スタパさんをつくるはなし
またまたスタパブログでためす
 これ、500万画素のダ! ちなみに、楽勝でふたつのダ! こ
れ、超広角も撮れるってコトなフィーリング。それぞれのレン
ズでふたつのニュースをまとめ上げた拙者。それぞれの、画角
等を使わず、500万画素の、縦位置で23mm、外観も撮れてい
る。もうすぐ発売だ。あと、なんか、このデジカメをまとめ上
げたような。
すげー!
ぱっと見それっぽい
スタパさんをつくるはなし
結局何階がいいのか
● 階が大きくなると原文に近くなるので、文章の自然度は
増すけど面白みがない。
● 階が少なくなると連続性が低くなるので、文章の自然度
が損なわれる。たまにすごいのが出ることがあるけど。
● 蓄積データが多いと見たことない文章が出たりする。
● 蓄積データが少ないと何となく前見た事あるな、的な。
スタパクラウドは三階にしときました
スタパさんをつくるはなし
よしよし
スタパブログの過去記事は
スクレイピングして保存
新しいのはRSSからcronで自動取得
自動化完了
スタパさんをつくるはなし
2007/12 スタパクラウド公開
● 当初の予定(無脳)は忘れ
る
● 単に作るだけだとおもし
ろくないので、蓄積デー
タにタグ情報をつけて、
タグクラウドで表した
● 結構それっぽいテーマの
文章になる
スタパさんをつくるはなし
2008/02 スタパブログで紹介
● サーバ死亡
スタパさんをつくるはなし
この循環がすごい
スタパブログから文章もらって、蓄積して、ス
タパさん(本物)が遊んで、ブログに書いて、
そのブログを読んで、蓄積して・・・。
スタパさんをつくるはなし
そんなこんなで
フォローしてもらった
スタパさんをつくるはなし
おしまい
画像の使用許可もらいました
ありがとうスタパさん。
そしてTwitterスゲー!

More Related Content

What's hot

Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるHirata Tomoko
 
Shibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だった
Shibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だったShibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だった
Shibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だったYasuhiro Matsumura
 
Neo4j Profile Export/Import Tool
Neo4j Profile Export/Import ToolNeo4j Profile Export/Import Tool
Neo4j Profile Export/Import ToolMasahiro Satake
 
20201207 SoftwareDesign #19 kitazaki t1
20201207 SoftwareDesign #19 kitazaki t120201207 SoftwareDesign #19 kitazaki t1
20201207 SoftwareDesign #19 kitazaki t1Ayachika Kitazaki
 
これからはじめるひとのためのdev.mysql.com
これからはじめるひとのためのdev.mysql.comこれからはじめるひとのためのdev.mysql.com
これからはじめるひとのためのdev.mysql.comyoku0825
 
地雷職人の朝は早い
地雷職人の朝は早い地雷職人の朝は早い
地雷職人の朝は早いyoku0825
 
HerokuではじめるRailsプログラミング入門 6-3節「複数モデルの連携」
HerokuではじめるRailsプログラミング入門  6-3節「複数モデルの連携」HerokuではじめるRailsプログラミング入門  6-3節「複数モデルの連携」
HerokuではじめるRailsプログラミング入門 6-3節「複数モデルの連携」makopi 23
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
NodeにしましょうYuzo Hebishima
 
JSRとJEPとJBSの見方や調べ方について
JSRとJEPとJBSの見方や調べ方についてJSRとJEPとJBSの見方や調べ方について
JSRとJEPとJBSの見方や調べ方についてAya Ebata
 
Database.persistentの話
Database.persistentの話Database.persistentの話
Database.persistentの話真一 北原
 
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュKenji Mori
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてHirata Tomoko
 
Rails5クイックスタート
Rails5クイックスタートRails5クイックスタート
Rails5クイックスタートHirata Tomoko
 
使ってみたAssets系gemの紹介
使ってみたAssets系gemの紹介使ってみたAssets系gemの紹介
使ってみたAssets系gemの紹介Takeuchi Yuichi
 
MongoDBの可能性の話
MongoDBの可能性の話MongoDBの可能性の話
MongoDBの可能性の話Akihiro Kuwano
 

What's hot (20)

TypeScript 勉強会
TypeScript 勉強会TypeScript 勉強会
TypeScript 勉強会
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
 
Shibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だった
Shibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だったShibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だった
Shibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だった
 
Neo4j Profile Export/Import Tool
Neo4j Profile Export/Import ToolNeo4j Profile Export/Import Tool
Neo4j Profile Export/Import Tool
 
20201207 SoftwareDesign #19 kitazaki t1
20201207 SoftwareDesign #19 kitazaki t120201207 SoftwareDesign #19 kitazaki t1
20201207 SoftwareDesign #19 kitazaki t1
 
八王子
八王子八王子
八王子
 
これからはじめるひとのためのdev.mysql.com
これからはじめるひとのためのdev.mysql.comこれからはじめるひとのためのdev.mysql.com
これからはじめるひとのためのdev.mysql.com
 
地雷職人の朝は早い
地雷職人の朝は早い地雷職人の朝は早い
地雷職人の朝は早い
 
HerokuではじめるRailsプログラミング入門 6-3節「複数モデルの連携」
HerokuではじめるRailsプログラミング入門  6-3節「複数モデルの連携」HerokuではじめるRailsプログラミング入門  6-3節「複数モデルの連携」
HerokuではじめるRailsプログラミング入門 6-3節「複数モデルの連携」
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
恋に落ちるRuby
恋に落ちるRuby恋に落ちるRuby
恋に落ちるRuby
 
JSRとJEPとJBSの見方や調べ方について
JSRとJEPとJBSの見方や調べ方についてJSRとJEPとJBSの見方や調べ方について
JSRとJEPとJBSの見方や調べ方について
 
Database.persistentの話
Database.persistentの話Database.persistentの話
Database.persistentの話
 
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュ
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
Rails5クイックスタート
Rails5クイックスタートRails5クイックスタート
Rails5クイックスタート
 
Rails あるある
Rails あるあるRails あるある
Rails あるある
 
片手間JS on Rails
片手間JS on Rails片手間JS on Rails
片手間JS on Rails
 
使ってみたAssets系gemの紹介
使ってみたAssets系gemの紹介使ってみたAssets系gemの紹介
使ってみたAssets系gemの紹介
 
MongoDBの可能性の話
MongoDBの可能性の話MongoDBの可能性の話
MongoDBの可能性の話
 

Viewers also liked

Server pushnavigations
Server pushnavigationsServer pushnavigations
Server pushnavigationsivoryworks .
 
Gunmaweb#13 enalica
Gunmaweb#13 enalicaGunmaweb#13 enalica
Gunmaweb#13 enalicaivoryworks .
 
20110903 gunmaweb#6 pavone
20110903 gunmaweb#6 pavone20110903 gunmaweb#6 pavone
20110903 gunmaweb#6 pavoneivoryworks .
 
Gunma.web#8 ribbon spread
Gunma.web#8 ribbon spreadGunma.web#8 ribbon spread
Gunma.web#8 ribbon spreadivoryworks .
 
20101211 gunma.web#3 LanguaGegenerationLoss
20101211 gunma.web#3 LanguaGegenerationLoss20101211 gunma.web#3 LanguaGegenerationLoss
20101211 gunma.web#3 LanguaGegenerationLossivoryworks .
 
20110212 gunma.web#4 コトバパレット
20110212 gunma.web#4 コトバパレット20110212 gunma.web#4 コトバパレット
20110212 gunma.web#4 コトバパレットivoryworks .
 
Gunma.web#10 Make Slide
Gunma.web#10 Make SlideGunma.web#10 Make Slide
Gunma.web#10 Make Slideivoryworks .
 

Viewers also liked (10)

Server pushnavigations
Server pushnavigationsServer pushnavigations
Server pushnavigations
 
Gunmaweb#13 enalica
Gunmaweb#13 enalicaGunmaweb#13 enalica
Gunmaweb#13 enalica
 
tinkom paket A
tinkom paket Atinkom paket A
tinkom paket A
 
20110903 gunmaweb#6 pavone
20110903 gunmaweb#6 pavone20110903 gunmaweb#6 pavone
20110903 gunmaweb#6 pavone
 
Patricia reyes
Patricia reyesPatricia reyes
Patricia reyes
 
soal paket b
soal paket bsoal paket b
soal paket b
 
Gunma.web#8 ribbon spread
Gunma.web#8 ribbon spreadGunma.web#8 ribbon spread
Gunma.web#8 ribbon spread
 
20101211 gunma.web#3 LanguaGegenerationLoss
20101211 gunma.web#3 LanguaGegenerationLoss20101211 gunma.web#3 LanguaGegenerationLoss
20101211 gunma.web#3 LanguaGegenerationLoss
 
20110212 gunma.web#4 コトバパレット
20110212 gunma.web#4 コトバパレット20110212 gunma.web#4 コトバパレット
20110212 gunma.web#4 コトバパレット
 
Gunma.web#10 Make Slide
Gunma.web#10 Make SlideGunma.web#10 Make Slide
Gunma.web#10 Make Slide
 

More from ivoryworks .

Gunmaweb#15 High score combination
Gunmaweb#15 High score combinationGunmaweb#15 High score combination
Gunmaweb#15 High score combinationivoryworks .
 
Gunmaweb#12 nuuk jam
Gunmaweb#12 nuuk jamGunmaweb#12 nuuk jam
Gunmaweb#12 nuuk jamivoryworks .
 
Gunmaweb#11 jojoshiritori
Gunmaweb#11 jojoshiritoriGunmaweb#11 jojoshiritori
Gunmaweb#11 jojoshiritoriivoryworks .
 
20111217 gunmaweb#7 エダカリン!
20111217 gunmaweb#7 エダカリン!20111217 gunmaweb#7 エダカリン!
20111217 gunmaweb#7 エダカリン!ivoryworks .
 
20110514 gunma.web#5 Area-E-Gator
20110514 gunma.web#5 Area-E-Gator20110514 gunma.web#5 Area-E-Gator
20110514 gunma.web#5 Area-E-Gatorivoryworks .
 

More from ivoryworks . (6)

Before studying
Before studyingBefore studying
Before studying
 
Gunmaweb#15 High score combination
Gunmaweb#15 High score combinationGunmaweb#15 High score combination
Gunmaweb#15 High score combination
 
Gunmaweb#12 nuuk jam
Gunmaweb#12 nuuk jamGunmaweb#12 nuuk jam
Gunmaweb#12 nuuk jam
 
Gunmaweb#11 jojoshiritori
Gunmaweb#11 jojoshiritoriGunmaweb#11 jojoshiritori
Gunmaweb#11 jojoshiritori
 
20111217 gunmaweb#7 エダカリン!
20111217 gunmaweb#7 エダカリン!20111217 gunmaweb#7 エダカリン!
20111217 gunmaweb#7 エダカリン!
 
20110514 gunma.web#5 Area-E-Gator
20110514 gunma.web#5 Area-E-Gator20110514 gunma.web#5 Area-E-Gator
20110514 gunma.web#5 Area-E-Gator
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

20101009 gunma.web#2 スタパさんをつくるはなし