伝説の人工無能うずらに魅せられてうずらほし〜と思い始めた。でもどうやって言葉しゃべるのかな?と思っていたら、あたまがうにになる酢鶏でマルコフ連鎖で文章を作れる事を教えてもらった。チャボの会話エンジンの基本になっている。
WEB ---> chatbot.cgi <---> chasen 形態素解析し単語に分解
---> DB 分解された単語を3層の
マルコフデータに登録
<--- DB マルコフ連鎖にて会話を組み立てる
<---
↑
↓
IRC <--> irc2.pl IRCよりメッセージを受信しchatbot.cgiと
通信を行いchatbot.cgiのレスポンスを
IRCへ送信する
Field | Type | Null | Key | Default | Extra |
SEQ_NO | int(11) | NO | PRI | | auto_increment |
word1 | varchar(100) | YES | MUL |
word2 | varchar(100) | YES | MUL |
word3 | varchar(100) | YES | MUL |
chat_No | int(11) | NO | MUL | 0 |
UPD_TIME | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
part | varchar(30) | NO | MUL |
サンプルデータ
SEQ_NO | word1 | word2 | word3 | chat_No | UPD_TIME | part |
302584 | 久しぶり | に | 再始動 | 70965 | 2012-09-04 09:52:32 | 名詞 |
302585 | に | 再始動 | したら | 70965 | 2012-09-04 09:52:32 | 助詞 |
302586 | 再始動 | したら | チャボ | 70965 | 2012-09-04 09:52:32 | 名詞 |
302587 | したら | チャボ | は | 70965 | 2012-09-04 09:52:32 | 動詞 |
302588 | チャボ | は | 無口 | 70965 | 2012-09-04 09:52:32 | 名詞 |
302589 | は | 無口 | に | 70965 | 2012-09-04 09:52:32 | 助詞 |
302590 | 無口 | に | なった | 70965 | 2012-09-04 09:52:32 | 名詞 |
302591 | に | なった | の | 70965 | 2012-09-04 09:52:32 | 助詞 |
302592 | なった | の | か | 70965 | 2012-09-04 09:52:32 | 動詞 |
302593 | の | か | EOS | 70965 | 2012-09-04 09:52:32 | 名詞 |
302594 | おはよう | ! | EOS | 70967 | 2012-09-04 09:54:58 | 感動詞 |
302595 | 10+3 | を | 計算 | 70969 | 2012-09-04 09:55:23 | 名詞 |
302596 | を | 計算 | EOS | 70969 | 2012-09-04 09:55:23 | 助詞 |
SEQ_NO | name | chat | UPD_TIME |
70965 | Tarou | 久しぶりに再始動したら、チャボは無口になったのか | 2012-09-04 09:52:31 |
70966 | チャボ | 公務員を選定し及びこれを罷免することを「これだあ | 2012-09-04 09:52:32 |
70967 | Tarou | おはよう! | 2012-09-04 09:54:57 |
70968 | チャボ | ....... | 2012-09-04 09:54:58 |
70969 | Tarou | 10+3を計算 | 2012-09-04 09:55:23 |
70970 | チャボ | 13 | 2012-09-04 09:55:23 |
use webdb;
$x =webdb->new();
$v = $x->urlencode($x->euc2utf('こんにちは?あなたは、どんな趣味をお持ちですか?'));
print qq{<a href="http://translate.google.com/translate_tts?tl=ja&q=$v">aaa</a>};