テキスト中の挨拶のやり取りの自動分類2
http://d.hatena.ne.jp/showyou/20091112/1258040217
統計やらベイズやら多クラス分類やら考えていたけど、問題を単純化すればもっと楽に出来そうな気が。
例えば入力データが次のようにあるとする。
元発言 | 返信先 | |
---|---|---|
1 | おはよう | おはよう |
2 | おは | おはよう |
3 | むくり | おっはー |
4 | むくり | おはよう |
5 | つかれた | お疲れ様 |
というやりとりの塊があった場合、人間なら
元発言 | 返信先 | クラス | |
---|---|---|---|
1 | おはよう | おはよう | 1 |
2 | おは | おはよう | 1 |
3 | むくり | おっはー | 1 |
4 | むくり | おはよう | 1 |
5 | つかれた | お疲れ様 | 2 |
という感じに、1〜4はクラス1(挨拶)で5はクラス2(励まし)とか分けると思う。ただしここでのクラス1とか2とか挨拶とか励ましとかいうラベルは特に意味はない。分かれてる事が重要。
これを決め打ちで安易に分類するなら、返信先か返信元が一緒の物でまとめればいいと思う。
A.入力1を見る。クラス1に割り当てる。
B.入力2。返信先が入力1と一緒なのでこれも入力1と同じクラスに割り当てる(=クラス1)
C.入力3。クラス2に割り当てる。
D.入力4。返信元が入力3と同じなのでクラス2に割り当てる。
E.入力4の返信先を見ると入力1といっしょなので、クラス2をクラス1に統合する。
F.入力5。クラス3に割り当てる。
このくらいならさくっと実装出来そうな。っていうか絶対誰かしらやってるよなこの手の話。
問題として表記ゆれ(おはよう、おは、おはー)をほんとにカバー出来るのかとかゼロ頻度問題とかあるんだけどその辺はtwitterのテキスト結構あるしなんとかなるんじゃね?とか。
他に安易すぎて統合しちゃいけないものまで統合しちゃうとか、おなじ返事でも状況によって意味違うだろとか普通のtwitterのやりとりはもっと文章長いだろとかあるけどあとで考える