Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文紹介:MCP:Self supervised Pre training for Personalized Chatbots with Multi level Contrastive Sampling

論文紹介:MCP:Self supervised Pre training for Personalized Chatbots with Multi level Contrastive Sampling

This deck tries to explain the paper "MCP:Self supervised Pre training for Personalized Chatbots with Multi level Contrastive Sampling".

Ryutaro Asahara

November 18, 2022
Tweet

More Decks by Ryutaro Asahara

Other Decks in Technology

Transcript

  1. 紹介する論文について ◼ Zhaoheng Huang, Zhicheng Dou, Yutao Zhu, Zhengyi Ma.

    MCP: Self-supervised Pre- training for Personalized Chatbots with Multi-level Contrastive Sampling. EMNLP 2022 Findings. ◼ 紹介する理由 ⚫ 対照学習に興味がある ⚫ 応答生成タスクに対照学習を用いるという例を初めて見たため ⚫ 自身の研究に使えそう
  2. タスクの定義 ◼ ユーザ:𝑈 = {𝑢1 , 𝑢2 , … ,

    𝑢𝑙 } ◼ 対話履歴:𝐻𝑖 = 𝑞𝑖1 , 𝑟𝑖1 𝑡𝑖1 , 𝑞𝑖2 , 𝑟𝑖2 𝑡𝑖2 , … , 𝑞𝑖𝑛 , 𝑟𝑖𝑛 𝑡𝑖𝑛 (1 ≤ 𝑖 ≤ 𝑙) ⚫ 対話履歴の長さ:𝑙 ⚫ ユーザ発話(クエリ):𝑞 ⚫ パーソナライズされた応答:𝑟 ◼ 以降は簡単のため,ある特定のユーザに絞って表記する ⚫ 𝐻 = 𝑞1 , 𝑟1 , 𝑡1 , 𝑞2 , 𝑟2 , 𝑡2 , … , 𝑞𝑙 , 𝑟𝑙 , 𝑡𝑙 ◼ Hからユーザ情報を抽出し,ユーザ発話𝑞に対するパーソナライズした応答を 生成する
  3. 概要 ◼ Seq2seqで応答を生成 ◼ 対話履歴から情報を抽出するための エンコーダを事前対照学習 ◼ (a)Utterance-level Contrastive Learning

    ⚫ 同じトピックに関する発話のベクトルを近づける ◼ (b)User History-level Learning ⚫ マスクを用いて対話履歴からユーザ情報を強調する ◼ (c)User-level Contrastive Learning ⚫ 似たユーザ同士のプロファイルを近づける ◼ Utterance EncoderはBERT-baseで構成
  4. (b)User History-level Learning 1/3 ◼ 対話履歴からユーザの情報抽出をするHistory Encoder ◼ このエンコーダの頑健性を高めるために4つのタスクで対照学習 ◼

    ここで登場する対話履歴はユーザ発話のみを指す 1. Session masking ⚫ 複数人対話において,ある1人の発話を全てマスクしても対象のユーザの興味や話題な どには大きな影響を与えない ⚫ 元の対話履歴1人の発話を全てマスクした対話履歴を正例ペア 2. Sequence random masking ⚫ 一般にユーザの長期的な興味は安定している ⚫ ユーザ発話全体のうち15%の文節にマスクをすることで,特定の発話に 集中しすぎないようにする ⚫ 元の対話履歴とマスク処理をした対話履歴を正例ペア
  5. (b)User History-level Learning 2/3 3. Sequence re-ordering ⚫ 対話履歴の全ての発話の順序はユーザプロファイルに影響を与える ⚫

    しかし,ユーザ発話の順序入れ替えであれば大きな影響を与えない ⚫ 元の対話履歴と入れ替えた後の対話履歴を正例ペア 4. Short interval sequence masking ⚫ 短い時間における2つのユーザ発話は,意図や話題などが共通している事が多い ⚫ 片方の発話にマスクをしても,対話履歴全体としてのユーザプロファイルに 大きな影響は与えないはず ⚫ 元の対話履歴と,片方の発話にマスク処理をした対話履歴を正例ペア
  6. (b)User History-level Learning 3/3 ◼ ユーザ発話のみの対話履歴 𝑟1 ; 𝑟2 ;

    … ; 𝑟𝑛 と 各4つの処理を行った対話履歴 𝑟1 ′; 𝑟2 ′; … ; 𝑟𝑛 ′ をエンコードし,MeanPooling. ◼ コサイン類似度による損失関数
  7. (c)User-level Contrastive Learning ◼ ユーザ同士の関係もユーザプロファイルに影響を与える ◼ ユーザ同士の対話相手の共通する人数が多いほど共通の話題や興味を持つ (Ma, 2014) ⚫

    例えば,ユーザA,ユーザBがいたとき,2人とも10人の共通する人と話していたら, 2人の話題は共通する可能性が高い ◼ そこで, 𝑈𝑖 ′ ∩ 𝑈𝑗 ′ が閾値 Ƹ 𝑠以上であるユーザペアの対話履歴を正例ペアとす る ⚫ 𝑈𝑖 ′, 𝑈𝑗 ′はそれぞれユーザ𝑖, 𝑗の対話相手の集合
  8. データセット ◼ 事前学習用データセット ⚫ PChatbotW (Qian et al., 2021):パーソナライズ応答用のデータセット ⚫

    Redditデータセット:おそらくRedditから自前で収集 ◼ Weiboデータセット(Qian et al., 2021) ⚫ Weiboという投稿サイトにおけるクエリとその応答で構成されている ⚫ 投稿時間もデータセットに含まれている ◼ Redditデータセット(Zhang et al., 2020a) ⚫ Rediitという投稿サイトにおけるクエリとその応答で構成されている ⚫ Weiboと同様に投稿時間もデータセットに含まれている
  9. ベースライン 1/2 ◼ Seq2seq WA(Bahdanau et al., 2015) ⚫ GRUベースの応答生成モデル

    ◼ MMI ⚫ Seq2seq WAに対して,多様性を向上させるための損失関数が導入されている ◼ Speaker ⚫ Seq2seq WAの入力時にユーザIDの埋め込みも併せて用いることで改良したモデル ◼ PersonaWAE ⚫ オートエンコーダでパーソナライズされた応答,ユーザIDの埋め込みをガウス混合分布 の構築のために使用 ◼ GPMN ⚫ ペルソナをエンコードして用いるモジュールを使用したモデル
  10. ベースライン 2/2 ◼ PerCVAE ⚫ 応答の多様性を向上させるためにCVAEを用いたモデル ◼ VHRED-P ⚫ ユーザの過去の対話からユーザプロファイルを抽出してパーソナライズを

    実現したモデル ◼ ReCoSa-P ⚫ Attentionを用いて対話履歴から有用な情報のみ抽出する手法 ◼ DHAP ⚫ 対話履歴からプロファイルを構築し,ユーザ発話を用いて動的にプロファイルを 更新していく手法 ⚫ 論文執筆時点で最先端のパーソナライズ応答手法.
  11. 評価指標 ◼ BLEU-1,BLEU-2,ROUGE-L ◼ Embedding Similarity ⚫ 生成した応答と正解応答との埋め込みの近さを評価 ◼ Personalization

    ⚫ Perona-F1:生成した応答と,対話履歴中のユーザ発話とのunigram-F1 ⚫ Persona Coverage:ペルソナ情報がどれほど応答に用いられているかを表す指標 本研究ではユーザの対話履歴をペルソナみなしてこの評価を適用した