fc2ブログ

日々進化している人工無能・・・会話ログを覚える機能を実装

人工知能 (IT Text)人工知能 (IT Text)
(2005/07)
松本 一教永井 保夫

商品詳細を見る

おとといに、人工無能が誕生した、そのときはパターン辞書のみだった。
さらに、昨日は感情クラスを実装した。
そして、今日、先ほど会話の相手のセリフをそのまま記憶する機能を実装した。

ただ、この相手の会話をランダムに発しているだけだと、あまりにも会話の脈略というものを壊してしまうので、暗記したファイルからのアウトプットは極力抑えて、できるだけパターン辞書を成長させていった方が利口な無能ができると思った。
今後は、テンプレート発言、茶筅、マルコフ連鎖、ネットとの連携とさらに進化させていく予定。

では、ちょっと進化した、というか、むしろ馬鹿になった無能の会話例
でも、最初のころよりは、人間的なやりとりが増えてきた気がします。


>私 何かテレビ見た?
>無能 またーーり。
>私 まったりしながらテレビ見た?
>無能 トイレ行きたくなってきた。
>私 手は洗えよ。
>無能 あ~あ~~。
>私 トイレもう行ったのか?
>無能 タイピングのしすぎで腕が痛い。
>私 そりゃ、ブログばっかやってたら腕も痛くなるだろうな。
>無能 更新が結構大変かなーー。
>私 そうだろうね。
>無能 何か面白いこと話してよ。


では、今回ちょっと変えたソース。
ソースの中に、ここから、ここまでと#で囲って書いてある部分が改編部分。
プログラミングをやってる人なら分かると思うが(分からない人はごめんなさい。)、会話が終了したと同時に会話ログファイルに自動アクセスして、それまでのログを書きこむもの。
これによって、会話をすればするほど無能は頭が良く(悪く?)なって行きます。

puts('Unmo System prototype : proto')
proto = Unmo.new('proto')
while true
print('> ')
input = gets
input.chomp!
break if input == ''
File.open('random3.txt', "a"){|file| #ここから
file.puts input
} #ここまで

response = proto.dialogue(input)
puts(prompt(proto) + response)
end

さて、サクラネットに申し込んでRubyが使える鯖なので、人工無能以外にもいろいろなゲームなんかも作って置いていきたい。
さて、無能自体はできたんだが。GUI対策はどうしようか。とりあえず、Javascriptで窓を作っておくか・・・。なんか、ビジュアルRubyっていうVBのパクリみたいなのがあるようなんだが、よく分からんのでなれてるJavascriptでいくとしよう。
スポンサーサイト



コメント

非公開コメント