中学生の頃、配布されていたスクリプトを利用して、人工無能の辞書を用意し、会話できるようにしていました。
そんでもって、ちょっと前に記事に投稿したように、それをそのまま再アップし、稼働中だったりする。
今後、スクリプトを改造して強化するとするならば、双方向的な要素を取り入れたい。人間から会話しようとしなくても、AI側から積極的に人間に「しゃべらせる」ような。具体的に言えば、人間に、質問を答えさせればいいんだけどね。
ユーザーを簡単な登録形式で記録するようにして、「相手の情報を記録→会話に生かす」の流れがくめる。質問の答えをCHASENとかで形態素解析して、名詞だけをユーザー情報テンプレートに内容を記述していく感じで。質問の答えに対する返答は、その名詞に関する話題を自分の辞書から探してしゃべる形になるかなぁ。
本当は「教育者が手打ちで辞書を用意」を卒業したいんだけどね(笑)もちろん、現在の辞書も流用する。現時点でも、我ながら辞書の網羅性が高いから、頻出する話題にはちゃんと反応しているんだもの。だから、上記のプログラムを書いて追加するだけで、かなり「会話」が成り立つレベルになると思う。
例えば、
AI「ねぇどこ住んでるの?」
Xさん「沖縄だよ!」【沖縄→Xさん住所地域単語リストに登録】
AI「あ、俺も沖縄!知り合いだったりしてw」(沖縄に反応して用意してあった対応を行う)
Xさん「え、沖縄にサーバーあるの?」
AI「さぁね。あ、そういえばさー、夢とかないの?」(デフォルトの機能:辞書にワードが無い場合の返答+話題切り替え)
Xさん「夢かぁ、どうなんだろうねぇ」
AI「俺の夢はね、」(対応する反応が自辞書にない場合、自分の事を話すように事前に用意)
てな感じで成り立つのでは、と考えてるわけです。
お遊びのチャットプログラムにしては、とても優秀な方じゃないかと(笑)
さらに、ユーザーが増えたら、別の人の話をするとか、知り合いじゃないか聞いてみるとか、色々できるなぁ。
会話、ってものを考えてみれば、お互いの事をしゃべりあっているだけ、とも考えられるよね。それを考えながら設計すれば、辞書作成型の超古典的AIでもそれなりに遊べるものが作れると思う。
ただし、問題があって。
『俺、Perl読めないんです^^;』と本気で勉強しながらプログラムを書いて、人工無能を強化する気は今のところサラサラないのでしたー(笑)
現在、稼働中の人工無能で、中々面白い会話をしていたので、ちょっとピックアップしてみる。↓
この記事の続きを読む