Rubyで形態素解析してマルコフ連鎖
はじめに
形態素解析とマルコフ連鎖で面白いことできそうと聞き、調べてみると既に色んな人がやっていました。
Rubyで何か書きたいと思っていたので、参考にしながら試してみました。
[参考リンク]
マルコフ連鎖でTwitter BOTを作る - FLYING
[プログラミング作法]マルコフ連鎖アルゴリズムをrubyで実装してみた - Qiita
やろうとしたこと
過去ツイートにある単語を適当に繋ぎあわせて新たに文章を作る
流れ
TwitterAPIを叩き自分の過去ツイートを最近から数千個読み込んでくる。それぞれのツイートをMecabで形態素解析して単語に分解し、辞書っぽいものをつくる。作成した辞書からマルコフ連鎖で適当に単語をつなぎあわせて文章にする。
(辞書的なものとマルコフ連鎖については上記リンクに詳しく書いてあるので省略。)
結果
実行結果:"レポートのやる気が起きなくてほげ"
全体的にツイートが短いので、1つのツイートがそのまま出てきてしまったりしてあまりうまくいきませんでした。最初の単語を良い感じ指定すれば少しそれっぽくなるかな。
ツイートは微妙でしたが、同じような要領でニュース記事の要約っぽいことをしてみると、うまくいくことが多かったのでまぁ満足。
記事:http://news.tv-asahi.co.jp/news_international/articles/000044089.html
要約結果:"韓国国防省によりますと、北朝鮮は来月初めに行われる米韓合同軍事演習の中止を繰り返し求めています。"
ソースコード
ほとんどコピペだし、めちゃくちゃだけど一応貼っときます。