jojonki / arXivNotes

IssuesにNLP(自然言語処理)に関連するの論文を読んだまとめを書いています.雑です.🚧 マークは編集中の論文です(事実上放置のものも多いです).🍡 マークは概要のみ書いてます(早く見れる的な意味で団子).
https://github.com/jojonki/arXivNotes/issues
194 stars 8 forks source link

2018: Zero-Shot Dialog Generation with Cross-Domain Latent Actions #123

Open jojonki opened 6 years ago

jojonki commented 6 years ago

Zero-Shot Dialog Generation with Cross-Domain Latent Actions Tiancheng Zhao, Maxine Eskenazi. 2018 SIGDIAL. Best Paper. https://arxiv.org/abs/1805.04803 ソース:https://github.com/snakeztc/NeuralDialog-ZSDG SimDial(人工データの生成ツール):https://github.com/snakeztc/SimDial 発表スライド:https://www.cs.cmu.edu/~tianchez/data/SIGIDIAL2018-talk.pdf

対話生成をテーマに持つ筆者のこれまでの研究

58 #78

概要

Zero-Shot Dialog Generation (ZSDG)の研究.ゼロショット・ラーニング(ZSL)で対話応答生成を行う.新規ドメインに対応するときに,ドメイン記述だけ(学習データなし)で学習を行う,Action Matching.を提案.クロスドメインのembedding空間を学習し,新ドメインへの対応を可能とする. 既存の対話生成モデルは多くのデータを必要とする問題があり,新規ドメインへの追加が難しかった. 人工的に生成したタスク指向対話のデータセットとmulti-domainの人ー人対話の2つを評価に利用した.

問題設定

対話コンテキストcを受け取り,応答xを返す.データは,{c, x, d}で表す(dはドメイン).ZSDGモデルは,c, dを与えられ,xを生成するように鍛えられる.またドメインはすべてドメイン記述φ(d)を持つ. 本モデルのゴールは2つ. 1つ目(メイン):未知のターゲットドメイン記述を,既知のソースドメイン記述に関連付けすることにより,生成対話モデルF: CxD=>Xを学習すること. 2つ目:Fが,ソースドメイン単独で設計したときと比べて,近いパフォーマンスを発揮すること.

screen shot 2018-08-20 at 2 00 14 pm

提案モデル

ドメイン記述としての,Seed Response (SR)

開発者は下記のようなSRを用意する(ドメイン記述).xは応答例,aはアノテーション,dはドメイン.必要なSRの数は実際の応答数よりも大分少なくて済む(ドメイン固有の表現は含むべき).

screen shot 2018-08-20 at 2 03 54 pm

Action Matching Encoder-Decoder

Action Matchingのフレームワーク図はこちら(データ処理は下から上に流れている).cとdを受けエンコーダは分散表現zcを獲得し,それを受けて応答xをデコーダが生成する.zは潜在行動空間(latent action space)として存在するembedding空間となる.また応答xはシステム発話とAPIクエリを含む方法で生成される(Zhao 2016,著者らの過去研究).

screen shot 2018-08-20 at 2 56 39 pm

達成したいハイレベルのゴールは2つ (1)全ソースドメインで利用できるクロスドメインFの学習,ターゲットドメインへの共有も同様に潜在的にできる.(2)(学習データのない)ターゲットドメインでも利用できるよう,ドメイン記述をFに取り込むこと. (1)の実現に対しては,cとdを統合した.方法はシンプルで,cに対して,dを特殊トークンとして連結するだけ. (2)に対しては,潜在変数zxとzaを定義,それぞれxとa (アノテーション)からプロジェクションする.本手法では,下記のような制約を設ける.また各ドメインからのzに関して,デコーダはSRとソース対話のどちらからでも応答を生成できるようにした.

screen shot 2018-08-20 at 2 54 26 pm

Action Matching (AM)について説明する.これにはRecognition Network Rを導入する.Rはxとaをエンコードすることができる.zx=R(x, d)とza=R(a, d).また本モデルは学習中に2タイプのデータを入力として受け取る;1つ目はドメイン記述データで,{x, a, d},2つ目はソース対話データで,{c, x, d}となる.

screen shot 2018-08-21 at 10 39 15 am

アルゴをまとめると下記になる.

screen shot 2018-08-20 at 3 15 08 pm

アーキテクチャの詳細

2つ目のLSTM-RNNはコピー機構を利用(Gu et al., 2016).コピー機構はPointer Sentinel Mixture Model (PSM)を採用.PSMでは次単語の生成を,LSTMからの単語出力のSoftmax か,コンテキスト内の単語のアテンションSoftmaxか,の混合確率分布を解く.

screen shot 2018-08-20 at 3 50 09 pm

データセット

利用したデータセットは2つ. 1つ目はSimDial,マルチドメイン,スロットフィリング型のタスク指向対話.本論文のために生成した.複雑度(ASRの信頼度やスロットフィリング数等)をカスタムして生成することができる.人工対話としてFacebookのbabiなどがあるが,それよりもチャレンジング:コンテキストは50ターン以上にもなることがある(エラーリカバリが必要),話し言葉のエラー(言い直し,ためらい)など. train/dev/testに分けてある,trainにはレストラン,バス,天気ドメイン,testにはレストラン,映画,レストランスロット,レストランスタイル,のドメインを含む.このtestセットで評価したいことは下記. レストラン,ではソースにも含まれているので,テストセットにおいても同様の結果が得られるか確認.レストランスロットでは,未知のスロット(未知のレストラン名,等)を含んでいる.レストランスタイルでは,ボキャブラリなどは共通だが,同じ意味でも異なる言い方をしている.映画では,まったく未知のドメインとなる. SRは各ドメインからランダムで100個選択する.

2つ目のデータセットは,Stanfordのマルチドメイン対話(SMD).車のカーアシスタントを想定しており,天気,ナビゲーション,スケジューリングの3ドメインの対話.SR生成のために150の発話をランダムに選び,エキスパートによるアノテーションを行った.new domainとして,leave-one-outを採用し,1ドメインを未知ドメインとして扱った(つまり3種類のOODを設定).

実験と結果

SimDialとSMDに対する結果は下記.評価指標として,BLEU-4,Entity F1(リファレンスにあるスロットを含んでいるか),Act F1(リファレンスにある対話行動を反映しているか.BLEUに対する埋め合わせの意味合い),one-vs-restでSVM(bi-gram特徴量)で対話行動は鍛えた?.KB F1(KBクエリのすべてのキーが含まれているか),BEAK(これまでの指標の頭文字を使った造語,各値の幾何平均として計算).ちなみにSMDは対話行動とKBクエリは提供されていないので,BLEUとEntity F1のみ評価した.

+Attnでは悪くないが,ターゲットドメインへの一般化ができているとは言いにくい.+Copyでは,単語をコピーできるためEntityがunseen slotでよいが,unseen NLGやnew domainでの性能が良くない. +Copy+AMがもっとも良い結果となっている.もっとも難しいnew domainにおいてもかなりの性能アップ.in-domainにおいても効果を発揮している.

screen shot 2018-08-20 at 4 20 24 pm screen shot 2018-08-20 at 4 20 32 pm

モデルの分析

BLEUを対話行動毎に分析.+Copyはgreet行動以外改善できている,greet行動は対話の最初のターンで行われ対話コンテキストがまだない,そのた+Copyの恩恵が受けられていない.それに対してAMはSRより得た知識をベースに発話を生成できている.

screen shot 2018-08-20 at 4 46 19 pm

定性評価も行った.各モデルからの生成例.+Copyで未知語に,+AMで未知フレーズに対応できていることがわかる.

screen shot 2018-08-20 at 4 49 00 pm

採用するSRの数に応じた性能も比較した.100あたりで最大になっているので,SRとして必要なデータは比較的少ないということがわかる.

screen shot 2018-08-20 at 4 48 15 pm

結論

未知語彙,未知フレーズ,未知ドメインに対するゼロショットラーニングによる応答生成を行うモデルを提案.ドメイン記述,コピー機構,Action Matchingによりこれらの目標に取り組んだ(人口データ,実対話(WOZ)データを利用して).

次に読みたい論文

メモ

jojonki commented 6 years ago

podcastで解説しました. https://anchor.fm/lnlp-ninja/episodes/ep2--Zero-Shot-Dialog-Generation-with-Cross-Domain-Latent-Actions-e22ksh