オウム返しでは脳がないので、あらかじめ文章を辞書(Random辞書)に保存しておいて、入力の文章に関係なく、ランダムに返事するやつと、単語と文を関連づけたデータを辞書(Pattern辞書)に保存しておき、入力文の名詞に関連した文章で返事するやつを追加した。
これは、「恋するプログラムーRubyでつくる人工無脳」という本で紹介されているものを、ほぼC#に移植したもの。 辞書は、簡単に修正できるようにテキストで保存している。
ランダム辞書は、こんな感じ。
入力された文章は追加するようにしているので、遊んでいるとどんどん増えていく。
パターン辞書は、上の書籍から拝借した正規表現を使って探す部分と、
入力文書を分析して追加した部分からなっている。 セミコロンより左の部分がキーワードで、右の部分が出力
この辞書の使っているうちに、後ろの部分はどんどん増えていくけど、正規表現を使った部分は、手動で追加する必要がある。
実際に使って見た結果。
何となく会話になっているような..。
ナニとランダムとパターンは、30:30:40で発生するようにしているつもりだけど、ちょっと偏っているような気もするな。