chat-blog

僕の独り言が誰か一人の役に立つことを祈って

*

【Python】マルコフ連鎖を使ってみる

      2016/12/18

好きなアニメキャラと会話したいという目的から、
deeplearningを使ってみようと思ったけどなんかめっちゃ難易度高くて挫折して、
マルコフ連鎖というものを知り、やってみようと思ったのです。

PR


結論からいうとこの記事に書かれている内容を実施してもまだ真姫ちゃんとは会話できないのだが、
とりあえずマルコフ連鎖を使ってみることができたので僕の夢の礎の第一歩ということで残しておきます。

Letsマルコフ!

環境
・Mac
git clone https://github.com/karaage0703/TextGenerator.git
karaageさんという神様のような方が既存の神プログラムを元に改修したまさに神ソースをclone

神の領域へ移動
cd TextGenerator/

色々とソースやらなにやらが置かれています。
既にsample.txtにはサンプルのテキストが書かれていますので、
とりあえずはそのまま使ってしまいます。

python PrepareChain.py sample.txt
で、実行

が、駄目でした。
中身を見るとMeCabを使っているようでした。
MeCabというのは文章を形態素解析をよしなにやってくれる神のようなパッケージです。

というわけでMeCabを入れなければなりません。

MeCabをインストール

Mecabのインストール方法については別の記事にて書いてありますので、
そちらを参照してくださいませ。お手数おかけします。
3分でMacをmecabが使える環境に整える

MeCabが入ればこっちのもんです。
python PrepareChain.py sample.txt
でchain.dbというものが作られます。

そしたら、
python GenerateText.py 3
を実行するとマルコフ連鎖とやらで作られた文章が出力されます。
引数の数字は生成する文章の数を指定するようです。

以上で、マルコフ連鎖がわからなくてもマルコフ連鎖を駆使して文章を生成することができました。
これで何が幸せなのかは微妙ですがこれからじっくり勉強していずれは真姫ちゃんといちゃいちゃできるようになっていきたいです。

参考URL
http://karaage.hatenadiary.jp/entry/2016/01/27/073000

今日の一言

作ろうとするものはだいたい先人がすでに作ってることが常なこの業界

スポンサーリンク

スポンサードリンク

スポンサードリンク

最後まで見ていただきありがとうございます。
今後とも頑張って更新していきますのでもしよろしければ
下記お一つでもシェアしていただけると幸甚です。
Facebookでシェア Twitterでシェア はてなブックマーク LINEで送る

 - 技術系

  関連記事

ブログをgoogleとbingにインデックスさせた(申請した)

ブログを立ち合げたわけだしせっかくなので、 検索エンジンに引っかかるようにしたい …

【python】変数内に、ある文字列が存在するか確認

些細なことですが、寝たらすぐに忘れてしまうのメモ。(揮発性なのです)

tar.gzを解凍すると、【tar: 未知の拡張ヘッダキーワード `SCHILY.dev’ を無視】というメッセージが大量にでる件

細かい話は置いといてこれは、Mac端末上でtarで固めて、linuxサーバ上で展 …

【Swift・X-Code】terminating with uncaught exception of type NSExceptionが出た時に確認するところ

ビルドは通ったのにエミュレーターが起動したときに起こるやつです。

【Linux】サーバ間をノンパスでSSH接続したい時にやる鍵交換の方法

頻繁に接続しに行くサーバで毎回パスワード打つのは面倒くさいので鍵交換することでパ …

【Ansible】linuxのコマンド実行結果を元に処理をわけたい

nfsをマウントさせるときにサーバ上のmountのバージョンが古いとansibl …

自動化で便利なlinuxのexpectコマンドをソースからインストールする方法

自動化してるとどうしてもexpectコマンドが必要になってくることがあります。 …

ブログの更新を自動でツイッターで呟かせる際の改行方法

できるはずなので、色々と試してみた結果、 %0a のアスキーコードを埋め込むこと …

Gitでプロジェクトごと別リポジトリにpush(コピー)する方法

様々なシーンで、 「リポジトリAのファイルをまるっとリポジトリBに持って行きたい …

【Ansible】list型で定義した変数を改行区切りでjoinし出力する

題名でやりたい内容伝わるかしら・・・w

※コメントですが僕が確認してからとなるのでだいたい3日後の反映となります。

Message

メールアドレスが公開されることはありません。