arXivNotes
arXivNotes copied to clipboard
2019: Modeling Semantic Relationship in Multi-turn Conversations with Hierarchical Latent Variables
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つの階層で潜在変数を用いて表現する.
- Discourse-level: グローバルな背景を捉える
- Pair-level: クエリと応答間での共通トピック情報を捉える
- Utterance-level: 内容における違いを表現する
本実験でこのモデルは,応答の品質(流暢さ,一貫さ,多様性)をベースラインに比べて改善
イントロ
人の対話はマルチターンであり,応答は対話コンテキストに依存している.既存の対話コンテキストを階層的に捉えるマルチターン研究として,履歴情報をRNNで統合する(Serban 2016),発話とクエリ間の類似度スコアを重み付け和で表現する(Tian, 2017),発話履歴にアテンションする(Zhang 2018),きめ細かい特徴量にアテンションするため単語レベルのアテンションも加える(Xing, 2018)がある
我々は単語レベルのアラインだけでなく,発話間の意味的関係性を理解する必要がある.Table 1を見て欲しい.
- Aは現在の状況をBに尋ねている
- Bは状況を知らせている -> 最初の状況では,彼らはBの場所について話している
- 最後2つの発話では,Bの帰る方法について話しており,Aは"umbrella"に指摘する一方,Bは"pick me up"と言っている
このクエリ間にはword-to-wordのマッチングは存在せず,先ほど述べたような階層的構造の研究では,これに対応することができない.

この問題に対応するため,VAEが発話間の意味を明示的に学習するために導入され,再構築ロスが関連する発話に対して正確な意味であるかを確実にする.さらに応答の多様性に対しても有用である
しかしこれらのフレームワークは,話者間の対話は,インタラクティブに行われており,クエリは応答にもっとも関連しているという背景がある.そのため,クエリと応答間の関係性にも注意を払う必要がある.クエリと応答はトピックに対して一貫しているが,内容に違いがある.
そこでマルチターン対話における意味の依存性を学習できる,Conversational Semantic Relationship RNN (CSRR)を提案.CSRRはVAEを採用し,発話の意味を表現する一方で,クエリと応答間の関係性も学習できる.具体的にいうと,CSRRはdiscourseレベルの潜在変数によって会話の背景を引き出すことができ,クエリ応答間の一貫した意味をモデル化できる.例えば,トピックでは,クエリ・応答ペアによって共有された共通潜在変数を用いて,最終的にクエリの特定的な意味と応答をそれぞれの潜在変数でモデル化し,内容の違いを把握する. この潜在変数を用いて,発話間の関係を階層的に学習できる,特にクエリと応答間のロジカル結合を. また潜在変数は我々が定義する階層構造に沿ったオリジナル発話の再結合で制約化されており,潜在変数を通した意味フローを実現することができる.
アプローチ
u_t {t=0,.., n-1}でu_{n-1}がクエリ(q)で他がコンテキスト,u_n(n)が応答に該当する.
提案モデルはFig 1.Hierarchical Latent Variable Encoder-DecoderModel (Serban, 2016)に3つの階層の潜在変数を追加する.
- z^c: 会話が行われる全体背景をコントロール
- z^p: クエリと応答ペアにおけるトピックの一貫性を捉える
- z^r: コンテンツの違いをモデル化する
コンテキスト表現(zc)
各発話utはBiGRUによってvtにエンコードされる.そして隠れベクトルhは,Park (2018)の方法に乗っ取り,下記の手法で表現するfctx(・)はGRUの活性化関数.

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

zcの推論のために,BiGRU f^cを学習セットにおける全ての発話ベクトルvに対して利用する.
- MLPはfeed-forwardネットワーク
- Softplusは活性化関数(ReLUのスムーズな近似曲線)

クエリ・応答関係のモデリング(zp, zq, zr)
VAEではテキストは潜在変数から生成できる(Shen, 2017).これに我々は2つの潜在変数を追加(クエリと応答における,ペアレベル,発話レベル).
Fig 1からわかるように,h_cn-1は,u0からun-2までの発話を全てエンコードしてる.我々はzpをクエリと応答ペアにおけるトピックをモデルするために利用する.同じトピックにおいて,クエリと応答で内容はある程度異なってくる,それぞzqとzrで表す.
まずzpから説明しておこう.zpはh_cn-1とzcからガウス分布を仮定して,サンプルされる

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

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

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

実験
実験設定
Ubuntu Dialog CorpusとCornell Movie Dialog Corpusを利用(どちらも人-人対話).それぞれ3発話以上あるものを利用.他ハイぱパラメタは3.1参照.
また3つのベースラインを用意.
- Hierachical recurrent encoder-decoder (HRED, Serban, 2016)
- Variational HRED (Serban 2017)
- Variational Hierachichal Conversation RNN (VHCR, Park, 2018)
評価方法
5つの評価メトリクスを採用.
-
Average, Greedy and Extrema これら3つの手法はトークンやngramレベルの類似度ではなく,埋め込みベースで生成応答とラベルの意味類似度を測る尺度である.我々はGoogle News Corpusで鍛えられたword2vecを利用.(Serban 2017の方法参照)
-
Dist1 and Dist 2 Li 2016の方法を利用し,Distinctを適用する.これは生成した全てのuni/biグラムに対して,どれぐらいユニークなuni/biグラムを生成したかを表す
-
人評価 Luo 2018の研究に動機付けされる形で3つのクライテリアを採用し,1-5で評価してもらった.
-
Fluency: 生成テキストが文法的に正しいか
-
Coherence: 応答とコンテキスト間で意味的一貫性はあるか
-
Informativeness: 応答は意味があるもので,単語の使い方は正しいか.一般的な応答(dull response)はもっとも低いinformativenessになる
テストセットの100事例を選び,合計400の応答を生成.これらを7人のアノテーターにスコアづけしてもらった(実験には参加していない学生).
自動評価の結果
結果はTable 2.
- 両データセットにおいてCSRRは全ての指標でベースラインよりもよかった.リアルな人人対話をうまくモデル化できている
- またそれだけでなくDist1/2においても高いので,多様性のスコアも高い
### 人評価の結果 Table 2の右側が人評価の結果
- CSRRがもっとも良い結果.
ケーススタディ
Table 3はCSRRと他モデルによって生成された対話例である.Example 4のような簡単な事例ではHREDとCSRRはよく動いている.対照的に,VHRED, VHCRは一般的で意味のない応答を生成しがちである.Example 1,3のような難しい質問に対しては,CSRRは明らかに他モデルよりも良い.VHCRはzcの有効性を表しており,さらにCSRRのablation結果にも該当する(zpの有用性を示す).

結論
CSRRを提案しマルチターン対話における意味的依存性を学習するモデルを提案.階層的構造をもち,3つの階層的潜在変数を意味的関係性を捉えるのに利用した.自動評価および人評価でベースラインを様々な尺度で上回った. future workとしては,トピック変化に対する強化学習なども導入したい.
コメント
- Serban 2017, 2018の研究結果をかなり流用しており,読む必要がありそう.結構彼らの研究に依存している(本論は別の研究グループによるもの)
- discourse-levelやtopicレベルで対話の流れを捉えられると言っているが,それに関する考察がない気がする.
参考研究
- 今回提案するモデルのベースとなったもの A Hierarchical Latent Variable Encoder-Decoder Model for Generating Dialogues Iulian Vlad Serban, Alessandro Sordoni, Ryan Lowe, Laurent Charlin, Joelle Pineau, Aaron Courville, Yoshua Bengio 15 pages, 5 tables, 4 figures https://arxiv.org/abs/1605.06069
Podcastでも紹介しました. https://anchor.fm/lnlp-ninja/episodes/ep35-Modeling-Semantic-Relationship-in-Multi-turn-Conversations-with-Hierarchical-Latent-Variables-e4fss7