jojonki / arXivNotes

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

2019: Modeling Semantic Relationship in Multi-turn Conversations with Hierarchical Latent Variables #261

Open jojonki opened 5 years ago

jojonki commented 5 years ago

Modeling Semantic Relationship in Multi-turn Conversations with Hierarchical Latent Variables Lei Shen, Yang Feng, Haolan Zhan 6 pages, accepted by ACL 2019 https://arxiv.org/abs/1906.07429

概要

マルチターンの対話システムを行うためのモデル,Conversational Semantic Relationship RNN (CSRR)を提案.発話間の関係を階層的に捉えることができる.このモデルは3つの階層で潜在変数を用いて表現する.

  1. Discourse-level: グローバルな背景を捉える
  2. Pair-level: クエリと応答間での共通トピック情報を捉える
  3. Utterance-level: 内容における違いを表現する

本実験でこのモデルは,応答の品質(流暢さ,一貫さ,多様性)をベースラインに比べて改善

イントロ

人の対話はマルチターンであり,応答は対話コンテキストに依存している.既存の対話コンテキストを階層的に捉えるマルチターン研究として,履歴情報をRNNで統合する(Serban 2016),発話とクエリ間の類似度スコアを重み付け和で表現する(Tian, 2017),発話履歴にアテンションする(Zhang 2018),きめ細かい特徴量にアテンションするため単語レベルのアテンションも加える(Xing, 2018)がある

我々は単語レベルのアラインだけでなく,発話間の意味的関係性を理解する必要がある.Table 1を見て欲しい.

この問題に対応するため,VAEが発話間の意味を明示的に学習するために導入され,再構築ロスが関連する発話に対して正確な意味であるかを確実にする.さらに応答の多様性に対しても有用である

しかしこれらのフレームワークは,話者間の対話は,インタラクティブに行われており,クエリは応答にもっとも関連しているという背景がある.そのため,クエリと応答間の関係性にも注意を払う必要がある.クエリと応答はトピックに対して一貫しているが,内容に違いがある.

そこでマルチターン対話における意味の依存性を学習できる,Conversational Semantic Relationship RNN (CSRR)を提案.CSRRはVAEを採用し,発話の意味を表現する一方で,クエリと応答間の関係性も学習できる.具体的にいうと,CSRRはdiscourseレベルの潜在変数によって会話の背景を引き出すことができ,クエリ応答間の一貫した意味をモデル化できる.例えば,トピックでは,クエリ・応答ペアによって共有された共通潜在変数を用いて,最終的にクエリの特定的な意味と応答をそれぞれの潜在変数でモデル化し,内容の違いを把握する. この潜在変数を用いて,発話間の関係を階層的に学習できる,特にクエリと応答間のロジカル結合を. また潜在変数は我々が定義する階層構造に沿ったオリジナル発話の再結合で制約化されており,潜在変数を通した意味フローを実現することができる.

アプローチ

ut {t=0,.., n-1}でu{n-1}がクエリ(q)で他がコンテキスト,u_n(n)が応答に該当する.

提案モデルはFig 1.Hierarchical Latent Variable Encoder-DecoderModel (Serban, 2016)に3つの階層の潜在変数を追加する.

Screen Shot 2019-06-29 at 11 15 37 AM

コンテキスト表現(zc)

各発話utはBiGRUによってvtにエンコードされる.そして隠れベクトルhは,Park (2018)の方法に乗っ取り,下記の手法で表現するfctx(・)はGRUの活性化関数.

Screen Shot 2019-06-29 at 11 28 34 AM

zcはdiscourseレベルの潜在変数で,ガウス分布(N(z|0, I)を事前分布とする(つまり目的関数はこのガウス分布になるようにKLダイバージェンスで鍛える,VAEのお作法)

Screen Shot 2019-06-29 at 11 28 39 AM

zcの推論のために,BiGRU f^cを学習セットにおける全ての発話ベクトルvに対して利用する.

クエリ・応答関係のモデリング(zp, zq, zr)

VAEではテキストは潜在変数から生成できる(Shen, 2017).これに我々は2つの潜在変数を追加(クエリと応答における,ペアレベル,発話レベル).

Fig 1からわかるように,h_cn-1は,u0からun-2までの発話を全てエンコードしてる.我々はzpをクエリと応答ペアにおけるトピックをモデルするために利用する.同じトピックにおいて,クエリと応答で内容はある程度異なってくる,それぞzqとzrで表す.

まずzpから説明しておこう.zpはh_cn-1とzcからガウス分布を仮定して,サンプルされる

Screen Shot 2019-06-29 at 2 13 19 PM

zqは時刻がn-1のもの,zrは時刻がnのものをzpから作られるため,下記のように定義できる.(i=n-1がzqでi=nがzrになる)

Screen Shot 2019-06-29 at 2 16 25 PM

そして推論時の事後分布qは下記のようになる.事前分布と似ているのでややこしいが,式16, 17, 18, 19ではvが入っている点で異なる.(すぐ説明するが,これも先ほどと同様にpとqをKLダイバージェンスで鍛える)

Screen Shot 2019-06-29 at 3 02 05 PM Screen Shot 2019-06-29 at 3 02 11 PM

学習

u_n-1とu_nを生成するには式20を利用(具体的には?).また目的関数は式21となる.生成確率を最大化する(Reconstraction error復元誤差の最小化)とともに,Regularization Parameterを導入し,zc, zp, zq(z_n-1), zr(z_n)をKLダイバージェンスによって調整する.// この辺は通常のVAE

Screen Shot 2019-06-29 at 2 21 57 PM

実験

実験設定

Ubuntu Dialog CorpusとCornell Movie Dialog Corpusを利用(どちらも人-人対話).それぞれ3発話以上あるものを利用.他ハイぱパラメタは3.1参照.

また3つのベースラインを用意.

  1. Hierachical recurrent encoder-decoder (HRED, Serban, 2016)
  2. Variational HRED (Serban 2017)
  3. Variational Hierachichal Conversation RNN (VHCR, Park, 2018)

評価方法

5つの評価メトリクスを採用.

テストセットの100事例を選び,合計400の応答を生成.これらを7人のアノテーターにスコアづけしてもらった(実験には参加していない学生).

自動評価の結果

結果はTable 2.

Screen Shot 2019-06-29 at 2 29 15 PM

 人評価の結果

Table 2の右側が人評価の結果

ケーススタディ

Table 3はCSRRと他モデルによって生成された対話例である.Example 4のような簡単な事例ではHREDとCSRRはよく動いている.対照的に,VHRED, VHCRは一般的で意味のない応答を生成しがちである.Example 1,3のような難しい質問に対しては,CSRRは明らかに他モデルよりも良い.VHCRはzcの有効性を表しており,さらにCSRRのablation結果にも該当する(zpの有用性を示す).

Screen Shot 2019-06-29 at 2 47 29 PM

結論

CSRRを提案しマルチターン対話における意味的依存性を学習するモデルを提案.階層的構造をもち,3つの階層的潜在変数を意味的関係性を捉えるのに利用した.自動評価および人評価でベースラインを様々な尺度で上回った. future workとしては,トピック変化に対する強化学習なども導入したい.

コメント

参考研究

jojonki commented 4 years ago

Podcastでも紹介しました. https://anchor.fm/lnlp-ninja/episodes/ep35-Modeling-Semantic-Relationship-in-Multi-turn-Conversations-with-Hierarchical-Latent-Variables-e4fss7