Analysing the potential of seq-to-seq models for incremental interpretation in task-oriented dialogue
Dieuwke Hupkes, Sanne Bouwmeester, Raquel Fernández. EMNLP 2018 workshop, "Analyzing and interpreting neural networks for NLP"
https://arxiv.org/abs/1808.09178
uttr-by-uttr
この対話データではAPIコールの前に,"let me look some options for you"というターンがある.これをハックして,発話毎にこのターンを挟むことでAPIコールを誘発させる.これによりその時点で登場しているスロットが誘発されたAPIコールに登場しているかどうか,を評価できる.
結果は下記.APIコールはbabi+テスト時では86%,babiテスト時では54%誘発され,誘発されたときのみ評価した.もっとも難しい設定であるbabi/babi+以外は100%に近い精度をどれも獲得だが,babi/babi+では厳しい結果になった.
MemNNsは各単語ベクトルを単純に足し合わせて文ベクトルを作るので,言い直しとか,意味表現にクリティカルな影響を与えるものが単語レベルだと,MemNNsは弱いのかもしれない
APIコールのエラーの半分は,非流暢に起因するものと言えそう.これは言い直しにより,APIコールには出てこないエンティティが複数出ている可能性があるためである.言い直しは含まず,言いよどみとリスタートだけにするとほぼ完璧な精度を得られたとのこと.
またモデルは言い直しに対する戦略を学習できてなさそうということもわかった.というのも,言い直しがあった場合,エンティティが1文に並ぶが,(:can you make a reservation for six oh no eight),前に出てきた単語か後ろに出てきた単語か,選ぶのはランダムになっているように見えた.
2, ETの実験はユニークで面白い
Analysing the potential of seq-to-seq models for incremental interpretation in task-oriented dialogue Dieuwke Hupkes, Sanne Bouwmeester, Raquel Fernández. EMNLP 2018 workshop, "Analyzing and interpreting neural networks for NLP" https://arxiv.org/abs/1808.09178
利用したデータセット元の論文
概要
Seq2seqモデルが,非流暢性(言い淀み,言い直し等)を含む人工的に生成されたタスク指向対話において,どのように学習されるか分析した. これまでの研究,アテンション付RNNのタスク成功率に対して,非流暢性はそこまで大きな影響を与えないことが分かった.モデルは非流暢性の構造を意識しているわけではないことがわかったが,非流暢性をデータに加えることでよりクリアな表現を獲得できることが分かった. 非流暢性の検出を行う研究は多いのに対して,本研究では非流暢性がRNNに与える影響を調べる.
データセットについて
babiとbabi+を扱う.
基本実験
1レイヤのseq2seqを作った(アテンションなし,ありで1つずつ).結果は下記.APIコールとそれ以外で別々に精度を出している(Task 1の目的はAPIコールであり,タスク指向対話におけるゴールに該当し,難しいターンに相当する).また数字はシーケンスレベル(システム応答の文内の単語をすべて正確に予測したことを意味する)の精度で,隣のカッコ内の数字は単語レベルの精度.一番右の列の結果はBordesらのMemNNsの結果. 生のseq2seqではAPIコールはめためたになっているが,アテンション付seq2seqやMemNNsは改善している.更にアテンション付seq2seqはMemNNよりもかなり良い.アテンション・メモリ機構がアテンション付seq2seqよりも優れているかもしれないとのこと.(コメント1 参照)
非流暢性データへの一般化調査
もっとも性能が悪かったbab/babi+の実験について,seq2seq w/ attentionのモデルを分析した.
定性評価
テスト時に,非流暢単語はすべてトークンに置き換えた.
ちなみに対話行動タイプは7種類と非常に限られているので,サーフェスフォームは容易に学習できていた,エラーとなる原因は,文法的なものでなかった.非流暢タイプに限らず,システムは発話をスキップしがちだった,というのは,最初のターンで83%ものエラーが生まれていた.たとえばユーザーの最初の発話,Good morningに非流暢ワードが入っていると,文が長くなり,次ターン以降のシステム応答をしてしまっていた.
またアテンションも確認した.言い直しで,six oh no eightと言っているが,eightにはアテンションまったくせずにsixを選んでしまっていることがわかる.(迷っている様子もない)
アテンションパターンの比較(定量評価)
左がbabiで学習,右がbabi+で学習したもの.babi+の方がアテンションがくっきりしており,無駄な単語(a, in, helloとか)にアテンションしていないことがわかる.これにより非流暢性を学習データに入れておけば,テスト時にそれらを無視できるよう学習できていることがわかる.
非流暢性に対する処理
非流暢性は,レギュラーパターン(Levelt, 1983; Shriberg, 1994)で表せる.下記に示す.reparandum (RM) は訂正される部分,任意で挿入されるEditing term (ET),最後に修正後のRepair (r).これによってい非流暢性を分類できる.例えばリスタートであれば,RMとRは同じであるのに対して,言い直してであればことなる.そして言いよどみであれば,ETだけだったりする.
Editing terms
oh noとかsorryとかいろいろと表現はあるが,Hough (2015)によると,これらの現象は人の会話の中ではそう多くないらしい(言い直しの18.52%に過ぎない).ETはシステムにとっては非流暢性の検出に便利であるが,人はそのようなものがなくてもコミュニケーションできるということがわかる. その現象を確認するために新たにbabi+を異なるET比率で3つ生成し直した.noET(ETなし),realET(実会話に合わせて20%混ぜる),fullET(すべての言い直しとリスタートにETをつける)
結果は下記.まずfullETで学習したものについてみると,noETでテストしてもfullETと比べて100->97と少ししか下がっていない(ETがなくても非流暢性に対応できているっぽい).またrealETで学習させると,先程よりもちょっと下がる.結論としては,学習時は実環境に合わせなくても,fullETのような環境で非流暢性を対応させることができる,というのを発見した.
構造コンポーネントの特定
非流暢性はレギュラーパターンを持つが,特定は簡単ではない.連続問題と呼ばれており,reparandumの開始と終了,とrepairの開始. diagnostic classifiers (Hupkes et al.,2018)を利用してRMとETを識別し,Rの境界を判定する.diagnostic classifiers は,もともとは特定の情報が,高次元空間上(neuralモデルの隠れ層)にエンコードされているか定性的に評価するものとして提案された. 本実験では,エンコーダの出力したエンコード結果を用いて,3つのバイナリ分類機を使って,3つの非流暢性を識別した(正しく識別できれば,非流暢性の情報を含んでいると言える?).
結果は割と予想したとおり.ETは特定単語を含んでいるのでもっとも簡単で精度が良かった.RMもっとも性能が低かった.またETとRは予想よりも低かった,これはETとその会話の残りにボキャブラリ重複がないということを考えると驚くべきことだった(簡単だと予想していたので).またRに至っては21%,35%で,ほとんどRの情報が取得できていないことがわかった.
incremental interpretation
word-by-wodとuttr-by-uttrで評価
単語の経過毎に精度は下記.たとえば4というのは,スロットから4単語あとを意味する.非常に短い間しかスロット情報を記憶できていないことがわかる.
結論
非流暢性を持つタスク指向の合成データに対して,RNNがどう影響するか調べた.
コメント
用語