ラズパイ3倍美味しいブログ

ラズパイ3を美味しく食べるはずがinto the VR!!!

マルコフ連鎖で文章自動生成実験はヤバイ

参考にしたのは例によってからあげさんのブログ。

マルコフ連鎖を使ってブログの記事を自動生成してみた
http://karaage.hatenadiary.jp/entry/2016/01/27/073000

ここにやり方が書いてある。
https://github.com/karaage0703/TextGenerator

インストール(git clone)
$ git clone https://github.com/karaage0703/TextGenerator.git
$ cd TextGenerator
LXTerminalで上記打ち込んだら、めっっちゃ一瞬で終わったんですけど。
/home/pi/TextGeneratorフォルダもう出来てる。

事前準備として、適当な長い文章が入ったテキストデータを/home/pi/TextGeneratorフォルダのなかに用意する。sample.txtというのがすでに用意されていた。これを使う。
下記を実行
$ python PrepareChain.py sample.txt

っと、あれぇ。。
Traceback (most recent call last):
File "PrepareChain.py", line 10, in <module>
import MeCab
ImportError: No module named MeCab

MeCabが無いよと言われているっぽい。めかぶ??

Raspberry Pi人工無能レモンちゃんbot開発
http://karaage.hatenadiary.jp/entry/2016/04/27/073000
Raspberry PiだとMeCabというライブラリがないとエラーが出たので、参考リンク(本記事の最後にあります)あたりを色々調べました。今ならRaspbian Jessieを入れていれば、以下で必要なライブラリはインストールできました。

同じ!MeCabというライブラリを入れるために下記を実行する。
$ sudo apt-get install update
$ sudo apt-get install mecab
$ sudo apt-get install libmecab-dev
$ sudo apt-get install mecab-ipadic-utf8
$ sudo apt-get install python-mecab
なんかところどころ成功してなかったんだけど、とりあえずやってみる。上から2,3あたりが成功してなかった気がする。

 

$ python PrepareChain.py sample.txt

こんどはうまくいったようだ。

 

文章の生成
事前準備を実施した後、以下コマンド実行。 引数は文章の数を表す。以下は文章数が10のときの例
$ python GenerateText.py 10
そんなスティーブ・ウォズニアックの自伝と言える本が以下です。上記の角度を同じに保つ拘束条件で、フンドシを綺麗にしましたが、ここにくるとだいぶ酔っぱらっています。新しいことにしてみることにしました。あと、この本読むまでウォズがこんなことを考えています。なんたって時代はビッグデータとIoTと人工知能ですからね。その下のzipファイルがソフトです。はてなブログも4年でブログで知っているだけなのと、道路に信号機がつくように自分が気に入ったものですね。今世の中はスティーブ・ウォズニアック(通称ウォズ)の方はみてもよい、そんな20年前近くでそのとき自分は中学生でした。しばらく待つと次々とホームページを持ってきました。ダイアログが出たり、ほんとはカントリーフェスにしてトークを待ってくれるような「周囲は自分のノートを見返すことは苦手でも、せめてネットの繋がりというものを全く理解して下さい。

やばい文章を生成してしまった。

ファイルに出力も可能とのことなので試してみる。
$ python GenerateText.py 10 > output.txt
自分のことを全く見る人のことがあります。Twitter単体だと思ってしっかり生かそうと思います。なんたって時代はそもそもノート自体を使ってみたい」というアドバイスがかなり印象的でした。どっかの先生。OKPさんが記事で示していないサービスが多かったです。かなり激似私はKeynoteを使いました。というと、種無しブドウは皮を剥くのが三流のブロガーです。しばらく待つと次々とホームページを開設してみてください。はてなブログに貼り付ける例です。

先ほどとは違う文章だが、やばい文章ができた。

んでもってこっからが応用編。
と言ってもkaraageさんのsample.txtの内容を変えてみる実験。
sample.txtはこれは残しておこうと思うので、新たにexaid.txtという名前のテキストを作成。
子供が大好きな仮面ライダーエグゼイド関連の言葉を唱えてほしい。
http://www.tv-asahi.co.jp/ex-aid/
からストーリー(1−3話)をコピペする。

さーやってみよう
$ python PrepareChain.py exaid.txt
$ python GenerateText.py 10
しかし、大我は適合者に認められた永夢は、担当する患者・勇樹のストレスが消えないため、ウイルス軍団と激しい銃撃戦を展開する。明日那と灰馬院長によって「この件にはいかない。明日那と灰馬院長によって「この件にはいかない。が、同時に飛彩は果敢にアランブラを撃破。永夢に対してガシャットを手にすると、男の正体は大我という元医師。自分=医師への信頼を勝ち取ることに成功するが、同時に飛彩は「俺はオペで患者の命を危険にさらしながらも勇樹のために、蓮介が現れ、永夢の担当患者・颯太の体に異変が起こり、巨大なソルティバグスターに変貌してしまったという。蓮介からアランブラバグスターの分離に成功。

$ python GenerateText.py 10 > outputex.txt
明日那によって仮面ライダーの適合者として仮面ライダーに変身。そこへゲームドライバーを手に入れる…。と患者の気持ちに寄り添おうとする。先にリボルバグスターを分離すると、蓮介の婚約者でマリッジブルーの麻美を人質にとってしまったという。と患者の気持ちに寄り添おうとする。蓮介からアランブラバグスターの分離に成功。バグスターウイルスによって大勢の患者を放っておくわけにはいかない。そこへ現れた飛彩も現れ、仮面ライダーブレイブに変身。果敢にアランブラを撃破。

できちゃいましたねぇ。。。
マルコフ連鎖!全然わかってないけど、ラズベリーパイ3でできちゃいました★
いろいろ元になるテキストを変えたらできそうですね。