ブログを元にしたTwitterBot on Google App Engineのメモ

 久しぶりのももクロちゃん以外の更新。タイトルにある通り、ブログを元にしたTwitterBotの作成の仕方。簡単にまとめると、ブログ内容を解析してそこからマルコフ連鎖で新しい文章を生成しTwitterにPostするというもの。環境はGoogle App Engineで言語はPythonで、以下流れ。

  1. HTMLなりRSSなりでブログFeedを取得する。
  2. BeautifulSoupでFeedを解析してブログ本文を取り出す。
  3. 取り出したブログ本文をYahoo!形態素解析に投げて品詞ごとに分解する。
  4. 解析結果を2接頭辞1接尾辞の組み合わせにしてDatastoreに格納する。

(ここまでが準備段階)

  1. Datastoreからマルコフ連鎖で文章を生成する。
  2. 生成文章をTwitterにPostする。

これでいかにもブログ主が書いたような文章がTwitterにPostされます。多少、文章の意味内容的な観点からBotだと判別できるけど、文章から感じられる雰囲気はブログとそっくりになります。もう少し複雑な機能として、Replyから単語を取り出して、その単語を元にマルコフ連鎖で文章を生成するというものもあります。しかもcronで定期的にブログからデータを取得すれば、自動で語彙が増えていく優れもの。だからって赤の他人のブログからBotを作ってはいけませんよ!