Dialogue State Tracking using Long Short Term Memory Neural Networks
どんなもの?
RNN + LSTM を使うことで対話状態追跡を行う。
先行研究と比べてどこがすごい?
先行研究ではRNNを使っていた。しかし、単純なRNNではより広い文脈を捉えようとすると勾配消失問題が発生してしまう。そこでRNN+LSTMを使うことで問題を緩和し、より広い文脈を捉えられるようにした。
技術や手法のキモはどこ?
全体図は以下のようになっており、ユーザ発話から現在の対話状態が出力される。
以下を結合したベクトルがLSTMに入力される:
- ユーザ発話をdoc2vecで単語埋め込みベクトルに変換
- その他ユーザ発話の特徴を捉えたベクトル
単語埋め込みベクトルに変換することで、データのスパース性に対処している。
その他の特徴は以下の2つを組み合わせたもの:
- フレーム値の出現
- 入力された発話と各スロット間の意味的類似度
フレーム値の出現の方のベクトルは、各フレーム値の出現に対応する要素が1、その他は0となるようなベクトル。
意味的類似度のベクトルは、入力発話中の各単語とスロット名の間の類似度を計算する。類似度の計算は単語とスロット名についてWordNetを用いて行う。
どうやって有効だと検証した?
評価項目はAccuracy, Precision, Recall, F1。
評価対象は、Baseline, RNN, LSTM, Baselineと提案手法のLSTMを組み合わせたCombination。
データセットはDSTCタスクのデータセットを用いた。
LSTM単体の性能はよくないが、Baselineと組み合わせたものは性能が良いという結果になった。
議論はある?
埋め込みベクトルを計算するにしてはデータ量が少なすぎたので、他のデータセットを使うことを検討中。