New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2018: Contextual Topic Modeling For Dialog Systems #162

Open
jojonki opened this Issue Dec 7, 2018 · 1 comment

Comments

Projects
None yet
1 participant
@jojonki
Copy link
Owner

jojonki commented Dec 7, 2018

Contextual Topic Modeling For Dialog Systems
Chandra Khatri, Rahul Goel, Behnam Hedayatnia, Angeliki Metanillou, Anushree Venkatesh, Raefer Gabriel, Arindam Mandal
SLT 2018
https://arxiv.org/abs/1810.08135

概要

自由形式の人ーchatbot対話におけるコンテキストアウェアなトピック分類手法の提案。対話コンテキストと対話行動の特徴量を利用することで、既存のニューラルベースのトピック分類と教師なしトピックキーワード検出を拡張する。
複数発話にまたがってトピックが変わる対話において、対話コンテキストおよび対話行動の利用により、トピック分類の正解率が35%向上。教師なしキーワード顕出の11%のrecall向上。
またトピック深度のようなトピックメトリクスは、一貫性やエンゲージメントといった対話評価メトリクスに強い相関があることがわかった。これは対話トピックモデルは、ユーザー満足度を予測できることを暗に意味する。我々のトピック及びキーワード抽出手法は、一貫した対話を行うchatbotのガイドとして使うことができる

// トピック深度の定義をこの論文ではしていないのだが,先行研究をみると,「ある1つのトピックにおいて,どれぐらい長く会話を続けられていたか」,だと思う
// Topic depth - the ability to sustain long and coherent conversations on a given topic. [7]より

イントロダクション

AlexaやGoogleアシスタントは成功したが短いタスク指向対話であり、タスク指向対話はテンプレートライクな構造を持ち、明確な成功クライテリアが存在。自由形式で長く自然に対話が行える対話の開発は難しいが、自然で楽しいchatbotの実現につながる。
chatbot開発において、会話トピックのトラッキングの正確さは、対話生成及び評価に対して価値あるシグナルであり、ユーザー満足度を評価するにあたって、良い指標となる。そのため本研究では、教師あり会話トピックモデルの改善にフォーカスする。これまでのトピックモデルはコンテキストを利用していないため、今回は会話コンテキストを利用する。そしてモデルを実際の人ーchatbot対話データ(AlexaPrize 2017で集めたデータ)で評価。

今回は、対話行動を予測する異なるモデルをいくつか評価した。そして追加特徴量として対話行動(dialog act)を取り入れることは、トピックモデルの正解度を改善させることがわかった。今回は3種のモデルを評価。

  1. DAN (Deep Average Networks): 時間最適化モデル
  2. BiLSTMS: 正解度最適化モデル
  3. ADAN (Attentional DAN): 教師なしキーワード検出を利用した解釈可能モデル

また我々はADANモデルから生成されたキーワードを定性評価し(キーワードに関して手作業でラベル付けしたものを取り出す)、コンテキスト活用はキーワード検出のrecallを改善させることを発見。このタスクでは100Kの発話を集めてアノテーションした(トピック、対話行動、トピックキーワード)。またchatbot応答の一貫性とエンゲージメント評価のため、同様のサイズのコーパスにもアノテートした。

Open-domainでコンテキストを利用したトピックモデルは前例がないことを言っておく。

我々の貢献ポイントは以下。

  1. トピック、対話行動、加えて一貫性、エンゲージメントに関するアノテーションを行い、分析した。トピック深度とユーザー満足度には強い相関を発見。
  2. コンテキストと対話行動を利用し、トピックモデルの正解率を向上させることを示した。
  3. アテンション付きトピックモデルが生成したキーワードを定量的に評価した。

関連研究

PLSA(確率的潜在意味解析: Probabilistic Latent Semantic Analysis)やLDA(潜在ディリクレ割当:Laten Dirichlet Allocation)はトピックモデルに昔から使われており,テキストの潜在トピックの抽出に対してパワフルに働くが,ユーザーの知識に適合するトピックを生成しない,目的関数が人の判定と相関しない,といった問題が報告されている.これによって道理に合ってないトピックとなり,アプリで利用できない.
chatbotに一貫性をもたせようと教師ありトピックモデルも提案さている.それらの研究に共通しているアイデアは,人の会話では対話行動or発話行動から構成される,ということ.長年,教師あり・なしモデルが多く研究されているが,本研究では教師ありの対話行動分類を行う(加えて対話コンテキスト情報も利用).open-domainで一番問題なのは評価であり,妥当な対話応答が複数あることが原因である.より良い評価のために多くの研究がされている.本研究では,対話評価のプロキシとして,文トピックを使った研究[7]を参考に,彼らの,トピック深度がユーザー満足度の予測につながるというクレームをサポートし,更にコンテキストを利用するように拡張した.

データ

chatbotコンペであるAlexa Prizeで集めた実ユーザーの発話データを収集.コンペでは,ユーザーはランダムにコンペ参加者のchatbotとペアを組まされて対話を行う.対話終了後に,chatbotの品質を1-5の評価し,そのchatbotの開発者にフィードバックされる.今回は2017年のコンペで行われた100kの発話(実ユーザーーchatbot間)を利用し,トピック・対話行動・キーワードをアノテートした.(コンテキストも利用する)

アノテーション

下記のようにアノテーション

  • ユーザー発話及びchatbot応答に対して,下記Table 1の12個のトピックから1つ選択して割り当てる.Otherカテゴリは,複数カテゴリor該当なし,になる. 🤔// これは別カテゴリにしたほうが良さそうだけど..
  • ユーザー発話及びchatbot応答に対して,下記Table 1の14個の対話行動を割り当てた.シンプルなものにして,わかりやすくアノテーションしやすいものにした.これもOtherカテゴリはそのカテゴリにも該当しないものを割り当てる,Not SetはASRエラーによりアノテーションできなかったもの.またコンテキストを見ているため同じ発話であってもコンテキストに応じて異なってアノテートされ得る.
  • トピックを決めるにあたって利用したキーワードもアノテート.例えば,"the actor in that show is great"という文に対して,"actor"と"show"はこの文のトピック分類を決めるにあたって利用したキーワードになる.

screen shot 2018-12-08 at 12 27 41 pm

あまり明示的でないInteractiveとPhatic(慣習化した挨拶表現)について例を上げておく.
screen shot 2018-12-08 at 12 59 02 pm

ユーザー発話あるいはchatbot応答には複数の対話行動がある場合があったので,デフォルトでMultipleGoalsにセット.例をTable 2に示す.
screen shot 2018-12-08 at 12 27 51 pm

またトピック及び対話行動の分布は下記のようになっている.
screen shot 2018-12-08 at 1 03 06 pm

またアノテータ間での,トピックアノテーションタスクの合意率は89%,対話行動タスクでは70%.Kappa 係数(自由回答の分類の信頼性・一致度)では,トピックは0.67 (Good),対話行動では0.41 (Moderate)であった.

加えて,アノテータたちに,各チャット冒頭の応答に対して,下記4つの質問を与え,yesかnoで答えてもらった.

  • Q1. 応答は理解できるか?:ユーザー発話に対する応答として意味をなしているか
  • Q2. 応答は関連しているか?:例えばユーザーが聞いたことに対する応答をしているか.(例えば野球のチームについて聞かれたら,それに関連する応答を返す)
  • Q3. 応答は興味深いか?:何か意味のある情報を提供できているか?(例えば何か答えに意味ある情報をたせているか)
  • Q4. あなた(アノテーター)だったら会話を続けたいと思うか?

この値の最初の2つを一貫性,残りの2つはエンゲージメントに対するメトリクスとして利用する.yes・noはそれぞれ1点,0点として数値として扱われる.

トピックメトリクスと評価メトリクス

一貫性とエンゲージメントは0〜2点になる.また他統計情報はTable 5に.ユーザー応答は,chatbot応答に比べて,発話がとても短く,語彙が限られていたのでチャレンジングなデータ.

また下記用語を定義.

  • Topic-specific turn: ユーザー発話及びそれに対するchatbot応答が,どちらも同じトピックに属している時(例:Table 4の2ターン目)
  • Lengh of sub-conversation: topic-specific turnの数.(例:Table 4はfashionトピックで長さ1のsub-conversation)

screen shot 2018-12-08 at 3 47 39 pm

トピック深度と一貫性・エンゲージメントの相関はTable 6.一貫性の平均値は1.21 (標準偏差0.75),エンゲージメントの平均値は0.81 (標準偏差0.62)で,一貫性の平均値はエンゲージメントより高い結果となった.またどちらもトピック深度には同じくらい相関している.つまり,トピックにchatbotをとどめておくことで,ユーザーエンゲージメントと一貫した会話の改善につながることを意味する
screen shot 2018-12-08 at 3 58 44 pm

モデル

DANとADANをコンテキストを利用したトピック分類のベースラインとする.またBiLSTM分類モデルでも,コンテキストあり・なしで実験.

DAN

DANはBoWのニューラルモデル(Figure 3がDANにコンテキストを付けたもの(CDAN)).文ベクトルsは,各ユーザー発話の単語埋め込みの平均値.sは全結合のネットワークに流され,分類のためsoftmaxを取る(Kクラス).
コンテキスト入力あるいはCDANへの対応では,コンテキストを入力文sにconcatする.
リカレントでないので学習が早い.
screen shot 2018-12-08 at 4 09 35 pm

screen shot 2018-12-08 at 4 08 10 pm

ADAN

トピック毎の単語顕著を学習するため,アテンション機構を導入.これにより教師なしでキーワードが抽出される.Figure 4はADANにコンテキストが付いたもの(CADAN).
screen shot 2018-12-08 at 4 18 00 pm

ADANでは,トピック単語に対するアテンションを計算する.アテンションテーブルはK x |V| (Kはトピック数,Vは語彙数).このアテンションは,単語ートピックペアに対する重みに関連する.重みw_{k,i}を定義し,トピックk_iが与えられたときの単語x_iのものとする.トピック毎の発話表現s_kは,平均加重和で表される.s_kは,我々のtopic-specific文行列の1行に該当する(Fig 4参照).DANでは1行行列(D, )だったが,ADANではトピック毎にもつのでマトリックスになっている(K, D) // そもそものアテンションの計算方法が書いていない..
screen shot 2018-12-08 at 4 28 03 pm

DANのときのように,このSマトリックス(各トピックkでのs_kをまとめたもの)を全結合レイヤに流し,softmaxで分類する.
screen shot 2018-12-08 at 4 28 08 pm

CADANはCDANと同様にコンテキスト入力をconcatする.4.4で後述.ADANは解釈可能ベースモデルとして採用.

BiLSTMでの分類

シンプルな1レイヤBiLSTMをトピック分類に利用.単語埋め込みを入力としてBiLSTMへ入力.最終状態のconcatを文表現として採用.コンテキスト利用については後述.
screen shot 2018-12-08 at 4 52 37 pm

コンテキスト入力

コンテキスト入力については2パターンを試した.

  1. 過去発話履歴のターンベクトルの平均をコンテキストとして利用.
  2. 対話行動をコンテキストとして利用:対話行動を予想するモデルをCDANで学習させておき,その予測情報を各ベースモデルへの入力として利用する.

ユーザー発話とchatbot応答をconcatしたものを,ターンベクトルとして定義(なのでTable 4は2ターンのベクトル).各単語埋め込みの平均を取ることでターンベクトルを得る.

DANとADANには,コンテキスト特徴量はインプットにconcatする.DANでは,コンテキストベクトルは,単純に入力埋め込みsにappendされるだけ(Fig 3),ADANでは,コンテキストベクトルは,インプット発話の各単語にコンテキスト入力をconcatできるように,L回(入力発話列長)複製される(Fig 4).

BiLSTMでは,平均単語ベクトルのコンテキストを含めるために2つの方法を取った. // 記述が曖昧でわかりにくいが,BiLSTMへの入力に,文ベクトル(単語埋め込みの平均)か単語ベクトルをBiLSTMの入力にconcatするかの違いと想像.

  1. 単語埋め込みとしてBiLSTMの入力をコンテキストにconcatする
  2. Fig 5にあるように平均埋め込みをconcatするのではなく,入力シーケンスの拡張として,系列としてコンテキストを追加する

加えてBiLSTMの出力であるhf, hbのコンテキストとして対話コンテキストを,softmaxレイヤに投げる前に追加する(Fig 5)

Salient Keywords

アノテーションしたキーワードをテストセットとして利用し,アテンションレイヤを定量評価.アテンションレイヤからキーワードを選ぶために,まずADANモデルによって生成されたトピックを選択.アテンションテーブルからトピックに対応する行wkを選択し,top-jキーワード(jはグランドトゥルースと一致する)を選択.ADANモデルでのみ評価.// グランドトゥルースにk個の記載があったら,高い順位k個の値を取るということかな?

実験

まずFig 1からわかるようにデータが偏っているのでOtherドメインはダウンサンプル.また対話コンテキストは5ターンまで見るようにした.評価は,トピック分類では正解率,キーワード抽出ではトークンレベルの正解率で結果はTable 10.

結果と分析

メインの結果はTable 8

  • BiLSTMはDANより良かった
  • ADANはDANとBiLSTMよりもかなり悪い.単語ートピックアテンションテーブルによるパラメタが多すぎて学習データがもっと必要と考える
  • 100K発話のデータ・セットでADANはオーバーフィットっぽい
  • コンテキスト及び対話行動はDANとBiLSTMを改善
  • コンテキスト追加はDANには効果があったが,BiLSTMにはそれほど効果がなかった(BiLSTMはシーケンシャルな情報を含んでいるため,コンテキスト追加の恩恵は薄かったかも)
  • コンテキストと対話行動は補完的に動いた.コンテキストはトピック変更に敏感になり,対話行動はコンテキストノイズに対してロバストになった. // 🤔本当?

screen shot 2018-12-08 at 11 09 36 pm

またTable 9ににCDANの対話行動モデル(対話行動分類性能)を示す.コンテキスト追加は対話行動分類を改善させ,トピックモデルの入力でこれは使われているため,トピックモデルを改善させた
screen shot 2018-12-08 at 11 44 53 pm

一番良かったモデルは,すべてのシグナル(コンテキスト及び対話行動)を使ったモデル.ADANではデータが不十分でover-fitting.キーワード抽出では両特徴量の追加は改善(Table 10),ADANで学習したキーワードの例はTable 7.🤔// 下記の例は1文完結な感じなのでコンテキスト追加は意味ない気がするけど..

screen shot 2018-12-08 at 11 48 06 pm

キーワード検出の性能.
screen shot 2018-12-08 at 11 08 28 pm

結論

非タスク指向の人ーchatbot対話でコンテキストアウェアなトピック分類モデルに注力.既存のDAN, ADANモデルでコンテキスト情報を利用.全てのモデルにおいてコンテキストを簡易に追加できることを示した.また対話行動はトピックモデルの正解率改善に価値ある入力であることも示した.またトピック深度は,一貫性,エンゲージメントという指標において高い相関があることも述べた.これはトピックモデルが,ユーザーとのよい対話を築くためには重要な立ち位置を示すことを意味する.トピック深度のような評価は自動で獲得でき,open-domainの対話エージェントの評価に使うことができる.future workとして,教師なしトピックモデルや他のコンテキスト情報(装置状態,ユーザー好みなど)も利用を検討している.

コメント

  • 複数カテゴリ及び該当なしを,同じOtherドメインに入れるのはいかがなものか.
  • あまり目新しいことはやっておらず,評価に対する解析も限定出来ではあるが,大規模データにおいてもコンテキスト及び対話行動の入力は,一定の効果をあることを示せた.(対話行動データの入力は,あまり事例がないかもしれない,応答生成で #58 対話行動awareな応答生成が効果を示している研究はある)
  • Tableが多くて読むのがちょっと大変だった(ちょっと散らかっている印象がある)

気になる論文

  • [7] “Topic based evaluation for conversational bots,” arXiv preprint arXiv:1801.03622, 2017.
    本研究が参考にしたトピック深度がユーザー満足度の予測につながるというクレームをした論文
  • [8] “Conversational ai: The science behind the alexa prize,” arXiv preprint arXiv:1801.03604, 2017
    Alexa Prizeデータ

@jojonki jojonki changed the title 🚧 2018: Contextual Topic Modeling For Dialog Systems 2018: Contextual Topic Modeling For Dialog Systems Dec 8, 2018

@jojonki

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment