人工無能「sixamo(ししゃも)」で遊んだ記録

2011 年 4 月 22 日 by 山平

Ruby製のシンプルな人工無能「sixamo(ししゃも)」で遊んでみた記録です。

人工無脳ししゃも (Sixamo)

プログラムは短く、形態素解析エンジンも不要、データディレクトリを作ればすぐに試せます。
この気軽さが素晴らしいですね。
では早速。

地道に会話してみる

「>」で始まる行が私の入力、太字の行がsixamoの出力です。

$ ruby sixamo.rb -im data
簡易対話モード [exit,quit,空行で終了]
> こんにちは
こんにちは
> ししゃもさんですか?
ししゃもさんですか?
> 私は山平です
ししゃもさんですか?
> いいえ、山平です
私は山平です
> あなたはししゃもさんでしょ?
いいえ、山平です
> 話題変えませんか?
あなたはししゃもさんですか?
> 引っ張るじゃないの
ししゃもさんです
> そうそう、その調子
ししゃもさんです
> いいね
そうそう、その調子
> あ、ありがとうございます
ししゃもさんです
> しつこいししゃもさんですね
ししゃもさんでしょ?
> まあ、そうなんだけど
いいえ、山平ですか?
> 山平はわたし、あなたはししゃも
まあ、あなたはししゃもさんです
> フリダシにもどりましたね
ししゃもさんです
>
$

データが空っぽの状態からでも、地道に会話していくと、だんだんそれっぽい返しが出きるようになってきます。
オプション「-im」は対話しながら学習していくモードなので、ちょっとずつ会話らしくなってきます。

大量の文章を投入してみる

sixamoと地道に会話を繰り替えしてを会話っぽい返しができるまで頑張るのはちょっと面倒です。
そこでまとめて学習させてみることにします。

アルゴリズムの基本はマルコフ連鎖とのことなので、会話していかなくても問題ないのではないかと考えました。
ということで、社長のtwitterタイムラインから大量につぶやきを拝借して、300行ほど一気に覚えさせてみました。

この状態のsixamoを社長と思って会話してみます。
オプションは「-i」を指定して、私の入力を学習しないようにしました。

$ ruby sixamo.rb -i arima
簡易対話モード [exit,quit,空行で終了]
> お疲れさまです。山平です。
東京に移動です。
> あつ、そうなんですね。
おそすぎですね。
> まだ広島にいらっしゃるんですか?
ただいますか?努力すればいいですか? RT @susumu_fujita: うちの会社広島の地方新聞にでっかく掲載されていたみたい。
> 努力はされていると思いますが。
小テストで思い出そうと苦心しすると、本番の試験でも思い出そうと苦心しすると。
> すると、、、?
「業績を上げる」ためにはどうするべきだと思い出そうと苦心しすると。
> 社長業とは大変なものなのですね。
おそすぎですね。
> まだまだこれからですよ!
はたら、朝には小さな会社に適した戦略のほうが目立つからない!
> 戦略は目立たない方が良いのでは?僭越ですが。。。
技術はアイデアを実現する手段ではなぜだろう
> 同感です。
やればいいえ自分と社員との「活気」です。
> 気持ちは大事ですね!
リスク管理のためにも、日常からリスの聖職者が言った言葉ですね。
> リスの聖職者は存じませんでした。
なんと!新幹線の窓を眺めていたら、地面が大きくカーブしていたしました。
> えっ、大丈夫ですか?
ただ本を読んで全て理解した気にならず、その知識や情報を自分の仕事や人生に活かすことが大切なことは何ですか? RT@leona1177:ふにゅ六本木ビール…!
> 朱子学、でしょうか?
「業績を上げる」ためにはどうするべきだと思いますか?努力すればいい嘘をついたりごまかしたりごまかしたりすると。
> 耳が痛いです。精進します。
「会社をつぶさない」ために、しなければいいえ自分と社員との「活気」です。
> おっしゃる通りです。
@sumu_fujitakeo:ルノアールか、入場券を買って新幹線改札内の待合室がよいみたいです。
> そろそろ落ちますね。
@leona1177なんかあったみたいね。
>
$

ちょっと社長っぽい。。。学習によるボキャブラリーがまだ足りていないですが、
リツイートがまたいい感じになってますね。

結構遊べそうなことが分かったので今日はここまでにします。

以上です。

タグ:

TrackBack