NeurON:QAペアからの情報抽出 (Open-IE)

Open Information Extraction ( Open-IE ) はQAシステムを動かすナレッジベースを構築するための主要な処理の1つです。 しかし、この分野の研究は専らテキスト内の個々のセンテンスから情報 ( 例えば、arg1-rel-arg2 triples ) を抽出することに焦点があたっており、会話のような複数のセンテンスで構成されるテキストから情報を抽出する潜在能力は大幅に制限されていました。Megagon Labsはこの問題を解決するため、会話データに含まれる質問と回答のペアから情報を抽出できるエンド・ツー・エンドのシステムNeurONを開発しました。

Open IE (Open Information Extraction) とは?

Open-IEとは、Webドキュメントや自由形式のテキストなどの非構造化データソースから、構造化された機械可読な情報表現を自動的に生成するタスクを指します。ナレッジベースで重要な役割を果たしているにもかかわらず、Open-IEの機能の多くは短文のユースケースに限られており、会話のような複数文で構成されるテキストから価値を引き出すことは長らく見過ごされてきました。

Open-IEの現状を俯瞰すると、会話における質問と回答のペアから情報を抽出する上で、次の2つの制約が明らかになっています : 

  1. 複数のセンテンスにまたがる関連性のあるインサイトは利用できない
  2. 1センテンスから得られる情報は文脈を理解しなければ正しく解釈することは困難 (これは特に質問と回答のペアについて言えることで、質問から得られる文脈の情報がなければ、回答のテキストを理解することは難しい場合があります) 
 

会話のデータにはユーザーが関心を持っている正確な知識が含まれており、知識ベースを拡張するためのオブジェクティブ指向なメソッドが備わっています。既存のOpen-IE技術では限界があるため、Megagon Labsは会話内の質問と回答のペア (QAペア) から情報を抽出する手法を開発することに重点を置きました。

会話データ:文脈上のQAペア

この難問の理解を深めるために具体的な例を見てみましょう。ホテルのナレッジベースはウェブサイトや宿泊者向けの対話型インターフェースの裏側を支えているものです。これらのナレッジベースは、通常、無料の朝食、無料のWi-Fiやスパサービスといったホテルのサービスに関する情報を提供しています。

しかし、ホテルのナレッジベースに、こうしたサービスに関する詳細なデータが含まれていないのは珍しいことではありません。たとえば、朝食のメニューには何があり、何時から利用できるのか?Wi-Fiの認証情報はなにか?スパのキャンセルポリシーは?など、これらの質問に答えるには、ホテル施設の従業員に尋ねる必要があるかもしれません。

宿泊客が求める情報は多岐にわたりますが、これらのナレッジベースを最も効果的に拡張する方法は明確になっていません。幸いなことに、対話ログには有望な解決手段となりうる可能性があります。多くのホテルでは、宿泊客から実際に挙がってきた質問とホテルのスタッフからの回答が大量に記録されています。そのため、それらの蓄積データをナレッジベースの機能を拡張するリソースとして応用することができます。

ナレッジベースに含まれるファクトは、通常、リレーション (relation) と引数 (argument) で構成されます。これはタプル (tuple) と呼ばれる要素のシーケンスの形をしています。これらのシナリオでは、タプルは通常、<arg1, rel, arg2>の形式に従います。以下に2つの例を示します。

会話のデータからタプルのファクトを収集することは大きな課題となります。特に、Open-IEシステムは質問と回答にまたがる情報をまとめて解釈しなければなりません。最初の例では、<third floor> が<gym>の場所を指していることを認識する必要があります。同様に、2番目の例では、<6:00am daily>はプールの開場時間に該当することを認識しなければなりません。

個々のセンテンスに対応する既存のOpen-IEシステムは、質問・回答ペア (QAペア) の対話に隠された文脈を無視します。質問の内容の認識なしでは、正しい答えを解釈できなかったり、あるいはまったく解釈することができません。

エンド・ツー・エンドのOpen-IEシステム構築

QAペア内のクエリとレスポンスの両方を明示的にモデル化するため、Megagon Labsは会話データからOpen-IEはマルチソースのシーケンスからシーケンスへの生成の問題として認識しています。シーケンスからシーケンスへ(Seq2Seq)の生成には、エンコーダ・デコーダのフレームワークがよく使われています。

この構成では、エンコーダは入力シーケンスを内部表現にエンコードし、デコーダーはこれを利用して出力シーケンスを生成します。入力シーケンスはセンテンスであり、出力シーケンスは特別なプレースホルダー(例: <arg1>pool</arg1>open<arg2>6:00am</arg2>)を含むタプルです。

会話の設定において、質問と回答の両方が意味のあるタプルを抽出するには不可欠です。そのためMegagon Labsは2つのエンコーダーを用いたマルチエンコーダーおよび制約付きデコーダーのフレームワークをNeurONで実現することを目指しました。デュアルエンコーダーでは質問と回答の両方のシーケンスを内部表現にエンコードし、一方、デコーダーではこの内部表現を使って出力のタプルを生成します。

NeurONのユニークな機能

エンコーダーとデコーダーのフレームワークは、機械翻訳や要約に広く利用されています。しかし、会話データからの情報抽出では、いくつか重要な課題が挙げられます。

はじめに、質問と回答の両方を正しくモデル化することが肝要です。NeurONでは、語彙ごとの違いに対処するため、質問と回答に異なるエンコーダーを採用しています。

次に、モデルでは以下のような特定の制約を学習する必要があります。

  • 引数と関係は、入力シーケンスからのサブスパンです
  • 出力シーケンスは適切な構文に従い、2つの引数と1つの関係を含まなければなりません(例:<gym, is located on, third floor>)
 

NeurONは制約付きデコーダーを利用して、これらの制約を”厳しい”制約として統合します。

最後に、モデルはナレッジベースに関係のない補足情報を認識しなければなりません。ホテル領域であれば挨拶がその典型的な例です。ナレッジベースにおける既存の事実を表しているため、NeurONはこうした事前情報を柔軟な制約としてデコーダーに組み込むことができます。これにより、様々な出力シーケンスをその関連性に基づいてランク付けすることができるのです

いかがでしたか?NeurON: Open Information Extraction (Open-IE) from Conversational Question-Answer Pairs のサマリーを日本語でお届けしました。NeurONの評価結果はMegagon Labs 英語ブログで続きをお楽しみください!

 

もっと読む (英語)  >>

(翻訳:Megagon Labs Tokyo


Share:

Share on facebook
Share on twitter
Share on linkedin
Share on reddit
Share on email

More Blog Posts: