こんにちは、AIチームの友松です。本日は、最近調査を行っているタスク指向対話について、DSTC-9でワークショップが行われているので、タスク概要やデータ、提供されている対話システムプラットフォームについて紹介したいと思います。
DSTCとは
DSTCはDialog System Technology Challengeの略で、AAAIのワークショップとして開催されます。今回で9回目となります。また4つのTrackで構成されており、対話システムにおける様々な課題に対するチャレンジが用意されています。
- Track 1: Beyond Domain APIs: Task-oriented Conversational Modeling with Unstructured Knowledge Access
- Track 2: Multi-domain Task-oriented Dialog Challenge II
- Track 3: Interactive Evaluation of Dialog
- Track 4: SIMMC: Situated Interactive Multi-Modal Conversational AI
今回はこの中からTrack2のMulti-domain Task-oriented Dialog Challenge IIについて紹介させていただきます。
MULTI-DOMAIN TASK-ORIENTED DIALOG CHALLENGE II
タスク指向対話システム
タスク指向対話とは、ユーザが達成したいある特定のタスクがあるときに、システムとの一連の対話を通してタスクを完了させることを目的とした対話システムです。タスク指向対話システムでよく例としてあげられるものとしてレストラン予約が挙げられます。
レストラン予約では、ユーザが予約したい条件をシステムに伝えて、その情報をもとにシステム側が予約可能な店舗を提示し、それがユーザに受け入れられるとタスクが完了します。
現在、タスク指向対話の主流なアプローチは2種類あります。
パイプラインアーキテクチャ:
・Natural Language Understanding(NLU)モジュール
・Dialog State Tracker(DST)モジュール
・policyモジュール
・Natural Language Generation(NLG)モジュール
など、それぞれ役割を持ったモジュールを組み合わせるアプローチ
End-to-End:
ユーザの発話からシステムの発話生成をEnd-to-Endで行うアプローチ
MULTI-DOMAIN TASK-ORIENTED DIALOG CHALLENGE IIでは、2つのtaskがあります。
- Multi-domain Dialog State Tracking
- Multi-domain End-to-End Dialog Challenge
Task1: Multi-domain Dialog State Tracking
タスク概要
本タスクでは、タスク指向対話システムを構築する上で重要なコンポーネントであるDSTの作成を行います。DSTは対話開始から現在のターンまでの対話全体を要約する、各ターンの対話状態を更新するプロセスです。DSTに関連したチャレンジはDSTC-1から行われており、DSTC-1からDSTC-4までで、 機械-機械
, 人間-機械
, 人間-人間
の設定で単一言語で行われてきており、DSTC-5で他言語での適応タスクが行われました。
本タスクはDSTC-5と同様のスキームで、データがリッチにある言語の訓練データセットと小規模な他言語の開発データセットを用いてDSTのパフォーマンスの比較を行います。
データセット
MultiWOZ 2.1:
7ドメインのマルチドメインダイアログデータセット。
旅行計画の対話が10,000以上含まれている。
開発/テストデータセットとして中国語の翻訳がデータセットに追加されており、中国語が低リソースデータセットとして扱われる。
CrossWOZ:
5ドメインのマルチドメインダイアログデータセット。
北京への旅行計画の対話が6,000以上含まれている。
英語の翻訳がもとの中国語コーパスとともに提供されており、英語が低リソースデータセットとして扱われる。
評価方法
・共同ゴールの精度:
予測されたdialog stateがGround Truthに等しいかを評価します。
・スロットのPrecision/Recall/F1:
dialog stateの各スロットの予測ラベルがGrand Truthに等しいか評価し、すべてのスロットにわたってマイクロ平均する。
Task2: Multi-domain End-to-End Dialog Challenge
タスク概要
先程、タスク指向対話には2種類のアーキテクチャが主流ということを書きましたが、パイプラインモジュールの各コンポーネントのパフォーマンスを向上したとしても、システム全体のパフォーマンスが必ずしも上がらないことがありました。本タスクでは、パイプライン、End-to-Endの両アーキテクチャを同じ設定で評価できるタスクを定義し、システム全体をEnd-to-Endでパフォーマンスを測るようなチャレンジとなっています。
本チャレンジはDSTC-8の続編で、以下の変更があります。
データセット
MultiWOZ 2.0 -> MultiWOZ 2.1:
MultiWOZ 2.0と比較して、元の発話に基づいて状態と発話を再アノテーションし、元のノイズの多いアノテーションを修正している。また、MultiWOZ 2.0にはないユーザーダイアログ動作のアノテーションも含まれている。
ConvLab 2.0
参加者が共通の評価の仕組みを利用できたり、タスク指向対話システムの開発の難易度を下げるためにConvLabという開発プラットフォームが提供されています。
評価方法
自動評価と人手評価によって評価されます。自動評価は足切りに使われ、最終スコアは人手評価のみで行われます。
自動評価:
ConvLabに実装されている、End-to-Endのユーザーシミュレーターとエバリュエーターを備えた自動評価スクリプトによって評価されます。
- タスクの成功率
- リターン(報酬)
- ダイアログポリシーのターン数
- 予約率
- インテント/スロット検出のPrecision/Recall/ F1
人手評価
Amazon Mechanical Turkを利用したクラウドソーシングで評価が行われます。
クラウドワーカーが自然言語でシステムと対話し、以下のスコアをつけて評価されます。
- ダイアログの成功/失敗
- 言語理解スコア
- 応答の適切性スコア
おわりに
今回は、現在行われているDSTC-9のタスク指向対話に関するトラックの説明を行いました。今後AI Shiftとしてもチャレンジを行い、形になったらまたブログで紹介させていただければと思います。