あたまがうにになる

2004年09月03日

人工無能を作ろう〜マルコフ連鎖(php)

phpでChaSenを使って形態素解析「1語の接頭語+1語の接尾語」のマルコフ連鎖をする際のサンプルです。
プログラムの文字コードはEUC-JPで、CGIとして実行できブラウザから実行結果を確認できるように書いてます。

  下記ソースは汚染チェック・エラーチェック等を行ってませんので、ご利用の際にはご注意下さい。
blank_space
投稿者 Lanタソ : 2004年09月03日 10:28 | トラックバック
 

ソースをみてて思ったのですが、そして接尾語のランダム性だけでも十分なのかもしれませんが、マルコフ連鎖で得られた文章をさらに形態素解析にかけて、たとえば、そのうちのいくつかの名詞もしくは形容詞だけ、シソーラス(もしくは特定語句に関しては置き換えられる面白そうな単語のテーブル)にかけて置換して文章を再構成するのはどうでしょうか?
置換する辞書のパターンをランダムにしておくのも面白そうです。
イメージとしては、参照している元文章の縛りを自分流に翻訳してしゃべる、みたいな感じで不自然に流用している感を減らせるんではないかなと思いました。
逆にテーブルに縛られて意外性がなくなってしまうかもしれませんが、どう思われますか?

Posted by: highfrontier at 2004年09月03日 13:58
 

単語の置き換えは実装している人工無能も多く実用可能だと思いますよ。
しかも結構自然な文章になっていて、なかなか面白いようです。
特にチャットなどでは、前の発言の単語と置き換えるなどすると威力を発揮しそうです。

今後、人工無能を作ろうの展開としてさまざまな文章生成アルゴリズムなどを作ったり考察してみたりする予定でいます。
そのときに、名詞などの置き換えなどについても取り上げたいと思ってます。
また、酢鶏に使えそうなロジックは先に酢鶏に導入してみるかも知れません(笑

他にも何か気づいた事とかあればどんどん意見下さい。

Posted by: Lanタソ at 2004年09月03日 14:27
 
blank_space
コメントする

名前を保存しますか?






blank_space
パーツ
blank_space

Adds

blank_space

カテゴリー
blank_space

Link
blank_space