あらためて人工無脳をつくろう(2)
前回考えた方向性で、人工無脳の最適な発言を見つけるアルゴリズムは最短経路問題の解法ダイクストラ法でほにゃらろうと考えてみる。
えーとそうすると発言の度に全形態素にスコア付けをしなおす……きつい気がしてきた。いや間違いなくきつい。最初から全形態素にスコア付けと、そこに至るまでの経路を記録させておけばよろしいか。会話中にいちいちスコア付けなんてしてたら遅過ぎるたぶん。
問題は「最適な道は常に一つなんだから毎回同じ発言しか繰り返さねえ壊れたカセットテープにならね?」ということだが、これは毎回中継点を設定して発言させればいいかなー。最初に求める最短経路を文頭からのものと文末からのもの二つをやらせておけば、会話中は高速に発言が生成できるのでは。
カッコとかは片方のカッコが出たら、両方のカッコを中継点にするように設定とかすればうまく閉じてくれるように、できたらいいなあ。
起動とかすげえ遅くなりそうだけどとりあえずそれはいい。今はまったく実用性とか考えてないし。
なんとなく人工無脳開発言語をRubyにしてみようかなと思ったけど、上述の方法とかだとまず遅くなりそうだしやめておく。RubyよりかはPerlの方がとりあえず慣れてるし。