非タスクの対話システムっていうのは普通のチャット
手で作ったルールベース方式のは、古くは
Jabberwacky は、 応答事例のデータベースを大きく持っておき、
とする。「質の高い対話ログ」を大量に持っておくことが必要
最近で言うと、Twitter上のやりとりを用いる手法がごまんと提案されている
e.g. http://www.isi.imi.i.u-tokyo.ac.jp/publication/2012/IPSJ2012_bessho.pdf
この論文は、では質の高い発話文をいかに獲得するか、について述べる
受け答えじゃなくて、
何か話題語が入力された時に、それについての何でもない発言をさせたい
特に四番目を鑑みるに、 著者らは Jabberwacky への利用を考えていることがわかる。
先の4の質の高さ、に当てはまるかどうかの 正解データ、不正解データを作って、 分類器を作る
Twitterからの文であって 話題語を含み、単語が5以上30未満で、@を含まない
次のルール全てに当てはまるものを、正解とする
話題語と他の名詞が連続しないこと
これはたぶん、別に複合語を示していて話題語とは関係がない
(ex. (アメリカ, アメリカザリガニ))
人名、代名詞が含まれないこと
先頭の単語が助詞、助動詞、接続詞ではないこと
末尾の2単語が
となってるものは何かおかしいからダメ。
ただし、
はセーフらしいです
文末以外に 助詞-助動詞 が含まれないこと
これは句読点がおかしい
時間、数値を含まないこと
比較対象の不十分な比較を含まないこと
/(ほう|方)が/
にマッチして、 /より.*(ほう|方)が/
にマッチしないものは削除する
以上のルールでも不正解なのに正解とされるものを除外するために、 点数付けを行う。
助詞以外の単語 \(w\) について、
\(w\) の点数を
\(f(w) = \frac{n_1}{N_1} / \frac{n_0}{N_0}\)
とする。つまんない設定だ。
0より大きい実数であって、正解に多く見られるものは、\(1.0\) を超える
ただし、稀な語 (訓練事例中で頻度が\(m\)未満; \(m=5\)) は無視して 点数を与えない。
助詞の前後の1語ずつをとった 3-gram \(x\) を見る。 ここで BOSとEOSを考慮する。
この点数 \(f(x)\) は先と同じ式で出す。
\(\prod \max(\alpha, f(x))\)
where \(\alpha = 1.4\)
文の点数がある閾値 \(\theta\) (\(\theta = 1.0\)) 以下のものは除外して不正解とする
最強にどうでもいい話
対話システムだから優しい口調にしたい
普通に良い