木炭価が高いブログ

めっちゃ木炭(`・ω・´)

ラップ bot を書き直した(`・ω・´)

ラップ bot とはなにか?

ラップをひたすらつぶやく Twitterbot です。

韻を踏んでいるのが特徴です(`・ω・´)

作った背景

マルコフ連鎖を使って人工無能が作れるという話を聞きました。 それを応用して面白おかしい Tweet をする bot が存在していることを知りました。 じゃあ自分もやってみようかな,と思いましたが全く同じものを作ってもしょうがない。 ならば韻を踏ませてはどうか,ということでラップ bot のアイデアが誕生しました。

それと同時期に新しい言語を習得してみたいというモチベーションを持っていました。 当時の私は C と Ruby をかじったことがある程度でした。 C 言語で Twitterbot を作るのは大変厳しい。 Rubybot を作るのが大変簡単だが,ラップ生成アルゴリズムと相性が悪いのではないか。 ということで Go 言語に行き着きました(`・ω・´)

アルゴリズム

  1. マルコフ連鎖を使って大量に短文を生成しておきます。

  2. 短文を生成したときに,同時にその短文の発音方法を解析しておきます。

  3. 短文を2つ用意します。

  4. 2つの短文の発音方法が似ていたらラップ成立,似ていなかったら短文を捨てて 3 に戻ります。

最悪計算量は O(∞)です。 でもやってみるとすごい勢いでラップが生成されます。 なんでも試してみることですね(`・ω・´)

© 2015 high-moctane