Open jojonki opened 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
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が,ソースドメイン単独で設計したときと比べて,近いパフォーマンスを発揮すること.
開発者は下記のようなSRを用意する(ドメイン記述).xは応答例,aはアノテーション,dはドメイン.必要なSRの数は実際の応答数よりも大分少なくて済む(ドメイン固有の表現は含むべき).
Action Matchingのフレームワーク図はこちら(データ処理は下から上に流れている).cとdを受けエンコーダは分散表現zcを獲得し,それを受けて応答xをデコーダが生成する.zは潜在行動空間(latent action space)として存在するembedding空間となる.また応答xはシステム発話とAPIクエリを含む方法で生成される(Zhao 2016,著者らの過去研究).
達成したいハイレベルのゴールは2つ (1)全ソースドメインで利用できるクロスドメインFの学習,ターゲットドメインへの共有も同様に潜在的にできる.(2)(学習データのない)ターゲットドメインでも利用できるよう,ドメイン記述をFに取り込むこと. (1)の実現に対しては,cとdを統合した.方法はシンプルで,cに対して,dを特殊トークンとして連結するだけ. (2)に対しては,潜在変数zxとzaを定義,それぞれxとa (アノテーション)からプロジェクションする.本手法では,下記のような制約を設ける.また各ドメインからのzに関して,デコーダはSRとソース対話のどちらからでも応答を生成できるようにした.
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}となる.
1つ目のドメイン記述データを入力として受け取ったときのロス関数.Ldd 下式になる.λは固定値でハイパパラメタ.Dは距離関数(MSEとか).第1項はドメイン記述を受けての生成ロス,第2項はRecognition Network Rに対して,zxとzaを類似させるように促進させる.
2つ目のソース対話のときのロス関数.Ldialog エンコーダFeによって得られたzcをzx, zaと関連付けるためにロス項を追加.第1項は一般的なseq2seqのロスト同じ(尤度最大化),第2項はzcとzxを類似させるために追加.正則化の考えに近い.
アルゴをまとめると下記になる.
2つ目のLSTM-RNNはコピー機構を利用(Gu et al., 2016).コピー機構はPointer Sentinel Mixture Model (PSM)を採用.PSMでは次単語の生成を,LSTMからの単語出力のSoftmax か,コンテキスト内の単語のアテンションSoftmaxか,の混合確率分布を解く.
利用したデータセットは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においても効果を発揮している.
BLEUを対話行動毎に分析.+Copyはgreet行動以外改善できている,greet行動は対話の最初のターンで行われ対話コンテキストがまだない,そのた+Copyの恩恵が受けられていない.それに対してAMはSRより得た知識をベースに発話を生成できている.
定性評価も行った.各モデルからの生成例.+Copyで未知語に,+AMで未知フレーズに対応できていることがわかる.
採用するSRの数に応じた性能も比較した.100あたりで最大になっているので,SRとして必要なデータは比較的少ないということがわかる.
未知語彙,未知フレーズ,未知ドメインに対するゼロショットラーニングによる応答生成を行うモデルを提案.ドメイン記述,コピー機構,Action Matchingによりこれらの目標に取り組んだ(人口データ,実対話(WOZ)データを利用して).
podcastで解説しました. https://anchor.fm/lnlp-ninja/episodes/ep2--Zero-Shot-Dialog-Generation-with-Cross-Domain-Latent-Actions-e22ksh
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が,ソースドメイン単独で設計したときと比べて,近いパフォーマンスを発揮すること.
提案モデル
ドメイン記述としての,Seed Response (SR)
開発者は下記のようなSRを用意する(ドメイン記述).xは応答例,aはアノテーション,dはドメイン.必要なSRの数は実際の応答数よりも大分少なくて済む(ドメイン固有の表現は含むべき).
Action Matching Encoder-Decoder
Action Matchingのフレームワーク図はこちら(データ処理は下から上に流れている).cとdを受けエンコーダは分散表現zcを獲得し,それを受けて応答xをデコーダが生成する.zは潜在行動空間(latent action space)として存在するembedding空間となる.また応答xはシステム発話とAPIクエリを含む方法で生成される(Zhao 2016,著者らの過去研究).
達成したいハイレベルのゴールは2つ (1)全ソースドメインで利用できるクロスドメインFの学習,ターゲットドメインへの共有も同様に潜在的にできる.(2)(学習データのない)ターゲットドメインでも利用できるよう,ドメイン記述をFに取り込むこと. (1)の実現に対しては,cとdを統合した.方法はシンプルで,cに対して,dを特殊トークンとして連結するだけ. (2)に対しては,潜在変数zxとzaを定義,それぞれxとa (アノテーション)からプロジェクションする.本手法では,下記のような制約を設ける.また各ドメインからのzに関して,デコーダはSRとソース対話のどちらからでも応答を生成できるようにした.
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}となる.
1つ目のドメイン記述データを入力として受け取ったときのロス関数.Ldd 下式になる.λは固定値でハイパパラメタ.Dは距離関数(MSEとか).第1項はドメイン記述を受けての生成ロス,第2項はRecognition Network Rに対して,zxとzaを類似させるように促進させる.
2つ目のソース対話のときのロス関数.Ldialog エンコーダFeによって得られたzcをzx, zaと関連付けるためにロス項を追加.第1項は一般的なseq2seqのロスト同じ(尤度最大化),第2項はzcとzxを類似させるために追加.正則化の考えに近い.
アルゴをまとめると下記になる.
アーキテクチャの詳細
2つ目のLSTM-RNNはコピー機構を利用(Gu et al., 2016).コピー機構はPointer Sentinel Mixture Model (PSM)を採用.PSMでは次単語の生成を,LSTMからの単語出力のSoftmax か,コンテキスト内の単語のアテンションSoftmaxか,の混合確率分布を解く.
データセット
利用したデータセットは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においても効果を発揮している.
モデルの分析
BLEUを対話行動毎に分析.+Copyはgreet行動以外改善できている,greet行動は対話の最初のターンで行われ対話コンテキストがまだない,そのた+Copyの恩恵が受けられていない.それに対してAMはSRより得た知識をベースに発話を生成できている.
定性評価も行った.各モデルからの生成例.+Copyで未知語に,+AMで未知フレーズに対応できていることがわかる.
採用するSRの数に応じた性能も比較した.100あたりで最大になっているので,SRとして必要なデータは比較的少ないということがわかる.
結論
未知語彙,未知フレーズ,未知ドメインに対するゼロショットラーニングによる応答生成を行うモデルを提案.ドメイン記述,コピー機構,Action Matchingによりこれらの目標に取り組んだ(人口データ,実対話(WOZ)データを利用して).
次に読みたい論文
メモ