天海春香さんと会話したいシリーズ16
基本情報落ちた
作り直した
前々回ぐらいの記事で文章表現を増幅することで細かいニュアンスの変化に対応できるとかいうことを書いたが、色々とやり方が悪くて効果が出なかったのでそれを踏まえて作り直した
DB設計
単語に対して品詞データを全て保存しておくよりも、助詞かどうか、接続語かどうかだけ、と使う分だけ保存しておいて方がよい気がした 厳密な測定をしてないので効果はなんとも言えない
返答部分
https://github.com/sasamijp/Amami16/blob/master/roid/responder.rb
Aと言われたらBと返すという会話コーパスの集合があって、入力が与えられた時それがAである確率が最も高いものを選んでBを返すという基本的な部分は変えない
入力がAである確率を出すにあたって、単語を1単位として編集距離を出すのが一番強い気がした 例えば
["今日","の","ごはん"]と
["今日","の","うんこ"]
の編集距離は1である
しかしこれには弱点があって、例えば
["死ね"]と
["好き"]の編集距離が1である 意味が全然違うのに文章として近いと判定されてしまう
これを避けるため、助詞以外の品詞が最低1つ一致しない場合そのコーパスを除外する 残ったコーパスでそれぞれ入力との編集距離を算出する
効果
@whywaita いや、考えなくてもわかるよね? 当たり前の事だよね?
— 天海春香 (@sa2mi) 2014, 11月 13
@sasamijp なんでそうなる
— 天海春香 (@sa2mi) 2014, 11月 12
@sasamijp ありがと!!
— 天海春香 (@sa2mi) 2014, 11月 12