「悲しい」という感情を文章から分類することと、悲しんでいる相手へ適切に応答することは、同じ能力ではありません。感情を正しく推定できても、返答が唐突だったり、相手の気持ちを無視してすぐ助言したりすれば、共感的な会話にはならないからです。

それでは、相手の感情を理解し、それに配慮して応答する対話AIを作るには、どのような会話を集めればよいのでしょうか。

EmpatheticDialoguesは、感情を伴う個人的な体験を一人が語り、別の参加者がその話へ応答する形で作られた英語対話データセットです。感情名を会話相手へ直接見せず、会話中の手がかりだけから気持ちを理解させる収集設計に特徴があります。

本記事は公開論文と公開データセットの内容を紹介するものです。株式会社イングクラウドが当該研究またはデータセットの制作へ関与したことを示すものではありません。

感情を分類するのではなく、感情へ応答する

Towards Empathetic Open-domain Conversation Models: A New Benchmark and Datasetは、Hannah Rashkin氏らがACL 2019で発表した研究です。

研究チームが対象にしたのは、対話相手の発言から感情を読み取り、その感情を理解していることが伝わる返答を生成する課題です。論文では、これを「empathetic responding」と呼んでいます。

感情分類用データであれば、文章に「悲しい」「誇らしい」などのラベルを付ける方法が考えられます。しかし、対話AIが必要とするのはラベルの予測だけではありません。相手がなぜそのように感じたのかを会話から理解し、話の内容にも合った自然な応答を返す必要があります。

そこでEmpatheticDialoguesでは、感情と結び付いた状況説明を先に作り、その状況について二人が実際にやり取りする二段階の収集方法が採用されました。

810人の参加者が話し手と聞き手を交替した

原論文によると、対話はParlAIを介してAmazon Mechanical Turkで収集され、米国の参加者810人が参加しました。

参加者は二人一組になり、次の作業を行いました。

  1. それぞれが感情ラベルを一つ選ぶ
  2. その感情を抱いた状況を1〜3文で書く
  3. 一人が自分の状況について話すSpeakerになる
  4. もう一人が話を聞いて応答するListenerになる
  5. 役割を交替し、もう一人が書いた状況についても会話する

各参加者には、少なくとも一つの状況説明と、Speaker、Listenerをそれぞれ担当する一組の会話への参加が求められました。状況説明の平均は19.8語です。

一人が常に体験を語り、もう一人が常に返答するのではなく、同じ参加者が両方の役割を経験する設計です。これにより、体験を説明する側と、初めてその話を聞く側の発話を同じ収集工程で得ています。

Listenerには感情ラベルも状況説明も見せない

Speakerは、自分があらかじめ書いた状況について会話を始めます。一方、Listenerには、Speakerが選んだ感情ラベルも、事前に書いた状況説明も表示されません。

たとえば、Speakerに「proud」というラベルが与えられていても、Listenerが見るのは「今日、仕事で昇進した」といった会話中の発言だけです。Listenerは、発話の内容から感情や状況を推測して返答します。

この情報差は、対話AIを評価するときにも維持されました。モデルに与えられるのはそれまでの会話履歴であり、収集時の感情ラベルや状況説明は入力されません。つまり、収集時とモデル利用時の条件が対応しています。

各会話は4〜8発話で、平均は4.31発話でした。1発話の平均は15.2語です。長時間の相談ではなく、感情を伴う出来事を短く伝え、それに応答する場面を中心にしたデータです。

32種類の感情を偏りなく集める

EmpatheticDialoguesでは、既存の複数の感情データセットをもとに、肯定的・否定的な感情を含む32種類のラベルが用意されました。

主なラベルには、次のようなものがあります。

  • surprised、excited、proud、joyful、content
  • sad、lonely、disappointed、devastated
  • afraid、terrified、anxious、apprehensive
  • angry、annoyed、furious、disgusted
  • grateful、hopeful、confident、trusting
  • guilty、ashamed、embarrassed、jealous

自由に感情を選ばせ続けると、選びやすい感情へ回答が集中します。そこで初期収集後は、初参加者に、それまでの選択数が少ない3種類の感情から一つを選ばせました。参加経験のある人には、その人が過去に選んだ回数の少ない感情が提示されました。

完全な無作為割当ではなく、選択肢を残しながら不足カテゴリーへ誘導する方法です。その結果、感情ラベルの分布はおおむね均等になりました。ただし、「afraid」と「terrified」のように近い感情も含まれ、一つの状況が複数の感情と関係する可能性があることを著者らも認めています。

24,850会話を話し手の単位に配慮して分割した

完成したデータセットには、810人から収集した24,850件の会話が収録されています。

データ区分 会話数
訓練データ 19,533件
検証データ 2,770件
テストデータ 2,547件
合計 24,850件

比率はおよそ80%、10%、10%です。単純に会話を無作為分割するのではなく、同じSpeakerが提供した状況に基づく会話が複数の区分へまたがらないように分割されました。

同じ体験や似た表現が訓練データとテストデータの両方に入れば、モデルが未知の状況へ対応できたのか、既知の状況を覚えていたのか判断しにくくなります。分割時に、発話数だけでなく収集元となった状況の重複を防いだ点は、評価データを作るうえで重要です。

一部の参加者への集中をどう抑えたか

参加者は当初、作業へ何度でも参加できました。最初の約1万会話を収集した後、参加頻度が高い作業者には、最大100会話という上限が設定されています。

参加者一人あたりの会話数は中央値が8件、平均が61件でした。中央値と平均の差が大きく、一部の参加者が多数の会話を提供していたことが分かります。研究チームは、参加回数の多い作業者が作った会話から無作為に一部を抽出し、人手で確認しました。

ただし、論文には、全会話を二重検品したことや、明確な合否基準で各会話を除外したことまでは記載されていません。品質管理として確認できるのは、頻繁に参加した作業者への上限設定と、その作業者による会話の抜き取り確認です。

感情ラベルは第三者のアノテーションではない

このデータの感情ラベルは、完成した会話を第三者が読んで付けたものではありません。参加者が最初に感情ラベルを選び、その感情を経験した状況を書き、会話を行っています。

そのため、ラベルは会話全体を後から判定した結果というより、会話を作るために与えられた条件です。会話中のすべての発話が、その感情だけを表現しているとは限りません。また、Listenerの発話に付いている感情を示すものでもありません。

データには感情ラベル、状況説明、会話ID、話者、発話順、発話本文などが含まれます。公式GitHubリポジトリでは、データのダウンロード方法と、論文の実験を再現するためのコードが公開されています。

「共感的か」は別の参加者が3項目で評価した

論文で行われた人手評価は、収集した全会話へ共感ラベルを追加する作業ではありません。モデルが生成または選択した返答を評価するための別工程です。

補足資料によると、この評価には米国のMTurk参加者221人が参加しました。各参加者は、異なるモデルから無作為に選ばれた10件の返答を順番に評価しました。各モデルについて少なくとも100件の評価が集められています。

評価項目は次の3つで、いずれも1〜5の尺度でした。

  • 共感・同情:体験を語った人の感情を理解している返答か
  • 関連性:会話に合っており、話題から外れていないか
  • 流暢さ:意味を理解でき、言語表現が適切か

共感性だけを尋ねず、話題との関連性と流暢さを分けたことで、「気遣う表現は含むが話がかみ合わない返答」や「自然な英文だが感情を無視した返答」を区別できます。実験では、EmpatheticDialoguesで追加学習したモデルは、追加学習前のモデルより共感性の人手評価が高くなりました。

このデータだけで扱えない共感もある

EmpatheticDialoguesを利用するときは、収集条件による限界も確認する必要があります。

  • 参加者は米国のMTurk作業者に限られている
  • 感情ラベルを先に選んでから作られた会話である
  • 1会話は平均4.31発話と短い
  • 参加回数に偏りがあり、一部の参加者が多くの会話を提供している
  • 話し手と聞き手の年齢、関係性、文化的背景を比較する設計ではない
  • 音声、表情、声色、沈黙などの非言語情報は含まれない
  • 一つの状況に複数の感情が含まれていても、基準となるラベルは一つである

また、参加者が書いた個人的な状況は、現実の体験であることを外部資料によって検証したものではありません。自然発生した相談会話をそのまま収録したデータでもなく、指定された感情を起点にクラウドソーシングで作られた短い対話です。

したがって、医療、心理相談、危機対応などの専門的な場面に、そのまま適用できることを示すデータではありません。日常的な英語の短い会話において、感情を含む体験へ応答するモデルを訓練・比較するためのデータとして位置付ける必要があります。

日本語の共感対話を集めるなら

日本語で同様のデータを作る場合、感情ラベルと会話本文だけでなく、誰が誰に応答する場面なのかを設計する必要があります。家族、友人、同僚、初対面の相手では、同じ出来事への適切な返答が変わるからです。

収集項目としては、次のような情報が考えられます。

  • 体験者本人が選んだ感情と、その強さ
  • 感情が生じた状況と、発生からの経過時間
  • 話し手と聞き手の関係
  • 励まし、質問、感情の言い換え、助言などの応答方法
  • 話し手自身による「受け止めてもらえたか」の評価
  • 第三者による共感性、関連性、自然さ、安全性の評価

EmpatheticDialoguesでは、モデル出力の共感性を第三者が評価しています。日本語データで「寄り添われたと感じたか」まで扱うなら、実際に返答を受けた話し手本人の評価も別に取得する方法があります。第三者に共感的に見える返答と、当事者が共感されたと感じる返答は、必ずしも同じではありません。

データ制作で参考になる点

EmpatheticDialoguesから参考にできるのは、感情ラベル付き文章を集めただけではなく、対話AIに求める行動から収集工程を逆算した点です。

  • 感情を伴う状況説明を先に作り、会話の共通条件にする
  • SpeakerとListenerへ異なる情報を与える
  • 同じ参加者に両方の役割を経験してもらう
  • 不足している感情を提示し、カテゴリー分布を調整する
  • 頻繁に参加する作業者への上限と抜き取り確認を設ける
  • 同じ状況が訓練用と評価用へまたがらないように分割する
  • 共感性、関連性、流暢さを別の評価項目として扱う

「共感的な返答」という抽象的な目標も、話し手に何を語ってもらうか、聞き手へ何を見せないか、どの観点で応答を評価するかに分解できます。モデルに期待する振る舞いを、参加者の役割、画面に表示する情報、会話条件、検品項目へ変換することが、対話データ設計の中心になります。

RESEARCH DATASET NOTE

研究データの収集・作成をご相談いただけます

株式会社イングクラウドでは、研究参加者の募集、説明・同意、音声・映像・テキストの収集、アノテーション、検品まで、研究目的に合わせて設計・運用します。仕様や必要人数が決まる前の段階でもご相談いただけます。

学術研究・実証実験支援について相談する