らこらこブログ

唐揚げとアニメとプログラミングが大好きです

メカらこ開発記録 02/11

前回(http://laco0416.hatenablog.com/entry/2014/02/09/153315)言ってたとおり、構文解析に成功した文章の品詞列を記憶して利用する方法を採用しました。おかげさまで人間らしい構文で文章生成するようになりました

生成が遅いのはEntityFrameworkの酷使だとわかったので、DBからいちいち取り出すのではなくてメモリ上にキャッシュを持つことにしました。起動は遅くなりましたが文章生成は見違えるほど速いです

PCFGだけだとダメだったのをマルコフ連鎖と組み合わせた結果ですがこれも大成功っぽいです
語彙の適用条件を
1. 前方1単語一致(バイグラム-マルコフ連鎖
2. 前方2単語一致(トリグラム-マルコフ連鎖
3. 品詞一致
4. 前方1品詞一致
5. 前方2品詞一致
の順番にして、基本をマルコフ連鎖にしました
語彙がまだ少ないのではっきりとはいえませんが、予め文の構造が決まっているということと、3番目以降の品詞一致の条件のお陰で以前のマルコフ連鎖のみのメカらこよりも自然な文章が生成できている感じです