【文献】
Jong-Hoon Oh, et al.,Why Question Answering using Sentiment Analysis and Word Classes,Conference on Empirical Methods in Natural Language Processing [online],2012年 7月,p.368−378,[2014年5月29日検索],URL,http://aclweb.org/anthology//D/D12/D12-1034.pdf
【文献】
Ryuichiro Higashinaka, et al.,Corpus-based Question Answering for why-Questions,International Joint Conference on Natural Language Processing [online],2008年,p.418−425,[2014年5月29日検索],URL,http://www.newdesign.aclweb.org/anthology/I/I08/I08-1055.pdf
【文献】
橋本 力,もう一つの意味的極性「活性/不活性」と知識獲得への応用,言語処理学会第18回年次大会発表論文集 チュートリアル 本会議 [CD−ROM],日本,言語処理学会,2012年 3月31日,p.93−96
【文献】
呉 鍾勲,意味的知識を用いたWhy型質問応答の改善,言語処理学会第18回年次大会発表論文集 チュートリアル 本会議 [CD−ROM],日本,言語処理学会,2012年 3月31日,p.859−862
(58)【調査した分野】(Int.Cl.,DB名)
ノン・ファクトイド型の質問の入力を受け、当該質問に対する回答を生成するノン・ファクトイド型の質問応答システムであって、コンピュータ読取可能な複数個の文書を記憶する文書記憶手段に接続されて用いられ、
質問の入力を受けたことに応答して、前記文書記憶手段から、当該質問に対する回答候補を取出すための候補検索手段と、
前記候補検索手段により回答候補が検索されたことに応答して、前記質問と、前記候補検索手段により検索された回答候補の各々との組合せについて、所定の素性の集合を生成するための素性生成手段と、
前記素性生成手段により生成される前記素性の集合が与えられると、当該素性の集合を生成する元となった質問と回答候補とについて、当該回答候補が当該質問に対する正しい回答である度合いを示すスコアを算出し、最もスコアの高い回答候補を前記質問に対する回答として出力する回答選択手段とを含み、
前記素性生成手段は、
前記質問及び各回答候補について、それぞれの形態素情報及び統語情報から求められる第1の素性の組を算出する第1の素性算出手段と、
各前記回答候補中の因果関係表現であって、前記質問に対する回答を与えるものとして相当なものを選択し、当該因果関係表現から得られる第2の素性の組を算出する第2の素性算出手段とを含み、
前記素性の集合は前記第1の素性の組と前記第2の素性の組とを含む、ノン・ファクトイド型の質問応答システム。
前記第2の素性算出手段はさらに、前記因果関係表現特定手段により特定された因果関係表現の単語のn−グラム、当該因果関係表現における係り受け木の部分木のn−グラム、若しくは当該因果関係表現に含まれる述部の極性と当該述部に係る名詞の意味との組合せ、又はこれらの任意の組合せを前記第2の素性の組の素性として出力する手段を含む、請求項3に記載のノン・ファクトイド型の質問応答システム。
前記第2の素性算出手段はさらに、前記因果関係表現特定手段により特定された因果関係表現のうちの結果部分が前記質問と共有している単語、係り受け木の部分木、活性の述部の数、若しくは不活性の述部の数、又はこれらの任意の組合せを前記第2の素性の組の素性として出力する手段を含む、請求項3又は請求項4に記載のノン・ファクトイド型の質問応答システム。
【発明を実施するための形態】
【0019】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【0020】
[基本的考え方]
本願発明の発明者は、ノン・ファクトイド型質問に対しての回答を大量の文書から検索するにあたり、因果関係、すなわちある事象の原因と結果を表す意味的関係、が有効であることに注目した。この観点から、回答を検索するために準備されたテキスト中に存在する因果関係の表現を認識し、適切な素性を使用した教師あり学習によって、それらテキスト中から質問に対する回答を特定する。そのための手順の概略は以下のようにまとめられる。
【0021】
(1)各テキスト中の1文内の名詞句、動詞句及び節等で表現される因果関係、及び、連続した2つ以上の文に渡って表現される因果関係等多様な形式の因果関係を統合的に認識する。採用した手法の詳細は後述する。
【0022】
(2)因果関係のうち、結果部分が質問の回答になることが多い。さらに、結果部分のうち、質問の回答として相応しいものは質問と意味的に類似する場合が多い。本実施の形態では、こうした特性に注目し、上記(1)で得られた因果関係のうち、回答として相応しいもののみを取出す。その手法についても後述する。特にこの手法の特徴は、結果部分の述部の「活性・不活性」という意味的極性により含意関係を認識し、その含意関係を利用する点にある。
【0023】
(3)上記(1)及び(2)の手法によって得られた因果関係を適切に表す素性を採用し、機械学習手法により回答を特定する。
【0024】
上に記載した(1)及び(2)は、いずれもホワイ型質問応答の性能向上において重要である。これは、多様な形式で表現される因果関係の中から、質問の回答として相応しい因果関係を認識することが回答抽出の精度向上に直接つながるからである。先行技術では、多様な形式の因果関係を利用することも、述部の意味的極性により得られた含意関係を利用することも検討されたことがない。
【0025】
本実施の形態においては、既存の情報検索技術を用いて大量の文書の中から回答候補を収集する。収集された回答候補中に現れる多様な形式の因果関係を統合的に認識し、さらに、「活性・不活性」という意味的極性に基づいた含意関係認識により質問の回答として相応しい因果関係の情報を特定する。この結果、文書中に存在している、ホワイ型質問に対する適切な回答となる文を有効に活用できる。具体的には以下の手順を用いる。
【0026】
(A)既存の情報検索技術により、大量のテキストから、回答の候補になる少数の文を特定する。質問に関連あると考えられる文書を収集できる手法であればどのようなものを用いてもよい。
【0027】
(B)次いで、以下のようにこれらの回答候補のテキストから、質問に対する回答を生成する上で有効な因果関係を認識する。その因果関係の結果部分を適切な素性で表現し、教師あり学習に用いることにより、回答候補としての結果部分を評価する。この評価の高いものを回答として採用する。この(B)の具体的手順は以下の通りである。
【0028】
(B1)回答候補のテキストから「〜ため」、「〜ので」、「〜からだ」、「〜の原因は」等の因果関係の手がかり表現(単語)を見つける。これら表現は、因果関係の原因部分と結果部分とを結びつける表現である。したがってこれら表現を抽出することによって因果関係の原因部分と結果部分とを特定できる。手掛かり表現を工夫することにより、原因部分と結果部分が1文内に現れる因果関係だけではなく、原因部分と結果部分とが別の文内にあるものも特定できる。
【0029】
図3を参照して、因果関係の形式として典型的なものに、1)文内の名詞句間の因果関係、2)文内の名詞句と動詞句間の因果関係、3)文内の節と動詞句間の因果関係及び4)2文に渡って現れる因果関係、がある。
【0030】
これらのうち、1番目の因果関係について、
図3に示した例文では、原因となる名詞句80と、結果となる名詞句82とが「が原因となる」という表現84により結ばれている。2番目の因果関係では、原因となる名詞句86と結果となる動詞句88とが「が原因で」という表現90により結ばれている。3番目の因果関係では、節からなる原因部分92と結果となる動詞句からなる結果部分94とが「ため」という表現96により結ばれている。4番目の例では、原因となる1番目の文102と結果となる2番目の文内の動詞句100とが「が原因で」という表現98により結ばれている。
【0031】
すなわち、因果関係の原因となる部分と結果となる部分とが、いずれも特定の表現で結ばれていることが分かる。
【0032】
(B2)上記(B1)で得られた因果関係のうち、ホワイ型質問の回答として相応しいもの以外を捨てる。ここでは、因果関係の結果部分とホワイ型質問とが意味的に類似することに注目し、1)単語マッチング、2)係り受け解析結果(係り受け木)における部分木マッチング、そして、3)述部の活性・不活性という意味的極性により認識された含意関係のマッチングによって、因果関係の結果部分がホワイ型質問の回答として相応しいか否かの判定を行なう。
【0033】
図4を参照して、質問が「なぜ津波が起こるのですか?」である場合を想定する。
図4の2つの回答候補は、いずれも因果関係を表し、原因部分92及び110が、結果部分94及び112とそれぞれ因果関係の手掛かり表現である「ため」という表現96及び114により結びつけられている。それにも関わらず、1番目の候補は回答としてふさわしいが、2番目の候補はふさわしくないと考えられる。これは、1番目の結果部分94の表現「津波が発生します。」と質問文の表現「津波が起こる」とが類似した意味を表しているのに対し、2番目の結果部分112の表現「津波を弱める効果がある」が、質問文の表現とは逆の意味を表していることによる。実施の形態では、こうした相違を適切に素性として表現する必要がある。
【0034】
(B3)上記(B1)と(B2)とによって得られた因果関係から回答を特定するための教師あり学習用の素性を作成する。ここでは1)回答候補における因果関係の存在の有無、2)n−グラム等で表現される因果関係の内容、そして3)質問と因果関係の結果部分とが共有する単語、部分木及び含意関係の数等を素性として用いる。最後にこれらの素性を用いて学習した教師あり学習器によって回答を特定する。
【0035】
多様な形式を持つ因果関係を認識しつつ、質問の回答として相応しいとされる因果関係の情報を活用することによって、より精度よくホワイ型質問の回答を特定することが可能になる。
【0036】
[構成]
図1を参照して、この実施の形態に係る質問応答システム30は、ホワイ型質問等のノン・ファクトイド型の質問34を受け、回答探索の対象となる大量の文書を記憶した対象文書記憶部32から質問34に対する回答としてふさわしい結果部分を持つ因果関係表現を抽出し、回答36として出力するためのものである。この実施の形態では、以下の説明を分かり易くするために、対象文書記憶部32には、各文について予め形態素列に分解され、かつ係り受け解析されて係り受け解析結果が付された文書が格納されているものとする。
【0037】
質問応答システム30は、質問34を受けて形態素解析処理を行なう形態素解析処理部50と、形態素解析処理部50により出力される形態素列に対して係り受け解析を行ない、係り受け木201を出力する係り受け解析処理部52とを含む。係り受け解析処理部52が出力する係り受け木201は、回答特定のための機械学習において素性として用いられる。
【0038】
係り受け木201による素性の1つとして、部分木のn−グラムがある。
図2を参照してこれを説明する。今、係り受け木201が部分木70を含むものとする。部分木70は4つのノードA,B,C及びDを持つ。これらの単語のうち、仮にDが因果関係にとって重要な単語であるものとする。この場合、部分木70から生成されるn−グラムとしては、
図2(B1)の部分木からなるトライグラム72と、
図2(B2)の部分木からなるバイグラム74とが考えられる。もちろん、ノードDに続くノードE(図示せず)があるとすれば、B−D−E及びC−D−Eというトライグラムも素性として採用できる。以上が部分木から得たn−グラムに関する簡単な説明である。なお、n−グラムがトライグラム又はバイグラムに限定されるわけではない。
【0039】
再び
図1を参照して、質問応答システム30はさらに、係り受け解析処理部52の出力する係り受け木と、質問34から得られる情報とを用い、既存の情報検索手法を用いて対象文書記憶部32中から質問34と関連すると思われる文書を検索し抽出する関連文書検索部54と、関連文書検索部54が抽出した文書の中から、これも既存の手法を用いて複数個の回答候補202を抽出するための回答候補抽出部56とを含む。
【0040】
関連文書検索部54での文書の検索には、既存の様々な手法が利用可能である。例えば、質問から抽出した内容語をキーワードとする文書検索の手法を適用できる。又は、非特許文献1の第3.2節に記載された、質問に関連する文書を抽出する技術を使用してもよい。本実施の形態では、Solr(http://lucene.apache.org/solr/)と呼ばれるオープンソースソフトウェアを用いた。
【0041】
回答候補抽出部56は、関連文書検索部54により検索された文書に含まれる文の中から、連続する5つの文を1組とする回答候補を抽出する。
図5に示すように、回答候補抽出部56は、1つの文書から、最初の5文の組120、2番目の5文の組122、…、最後から2番目の5文の組130及び最後の5文の組132のように複数の5文の組を抽出する。これら5文の組において、隣接する2つの組は4つの文を共有している。例えば最初の5文の組120と2番目の5文の組122とは第2の文−第5の文を共有している。このように5つの文を1組とするのは、因果関係の原因部分と結果部分とが別の文に存在している可能性があるためである。本実施の形態では、回答候補抽出部56はさらに、このようにして各文書から得た多数の5文の組を質問34との比較で評価し、回答候補として有力な5文の組を選択する。本実施の形態では、選択される組の数は20個とした。回答候補の抽出にも様々な手法が利用できる。本実施の形態では、非特許文献1に記載された手法を用いる。
【0042】
非特許文献1に記載された方法は、簡単に説明すると以下のとおりである。まず、ノン・ファクトイド型質問を6つの類型のいずれかに分類する。これらの類型は以下の通りである。
【0043】
(1)定義に関する質問:事項に対する定義を求める。
【0044】
(2)理由に関する質問:事実に対する理由を求める。
【0045】
(3)方法に関する質問:方法に関する説明を求める。
【0046】
(4)程度に関する質問:何らかの事項の程度に関する説明を求める。
【0047】
(5)変化に関する質問:変化した事物に関する説明を求める。
【0048】
(6)詳細に関する質問:一連の事象に関連する詳細についての説明を求める。
【0049】
分類は、質問文が疑問詞を含むか、特定の形容詞又は副詞を含むかにより行なわれる。例えば質問文が「なぜ」を含めば、その質問は理由に関すると判定できる。
【0050】
次に、回答候補の中で質問の類型に対応して定められる特定の文言と、質問に含まれる単語とを含む回答候補を抽出する。この際、本実施の形態では、各回答候補のスコアを算出し、スコアに基づいて上位の回答候補を選ぶ。スコアの算出方法の詳細は非特許文献1に記載されている。要するに、質問に含まれる単語のうち、全対象文書中に現れる頻度が少ない単語が多い回答候補ほど、スコアが高くなるようなスコア算出方法を用いればよい。回答候補抽出部56により抽出された回答候補の例を
図6に示す。
【0051】
再び
図1を参照して、質問応答システム30はさらに、回答候補抽出部56により抽出された上位の回答候補202の各々について、その中に含まれる因果関係の表現を特定し、因果関係の原因部分と結果部分とにタグを付した回答候補204を出力する因果関係認識部60と、因果関係認識部60が回答候補中の因果関係を特定する際に参照する、因果関係の手掛かりとなる単語を記憶する因果関係の手掛かり単語記憶部58と、因果関係認識部60により各回答候補中に見いだされた因果関係(もしあれば)の各々について、その因果関係が質問34に対する回答としてふさわしいか否か(因果関係相当性)を判定し、因果関係の相当性を示す相当性フラグを付した回答候補260を出力する因果関係相当性判定部64とを含む。
【0052】
質問応答システム30はさらに、因果関係相当性判定部64が因果関係の相当性を判定する際に使用する、述部の極性を記憶した極性辞書記憶部62と、因果関係相当性判定部64までの各処理部により各回答候補と質問とに対して得られた情報を用いて、各回答候補に対して所定の素性ベクトル300を生成するための素性ベクトル生成部66と、素性ベクトル生成部66により各回答候補について生成された素性ベクトル300と、予め機械学習により学習済のモデルとを用いて各回答候補にスコアを割当ててランキングし、最上位の回答候補を質問34に対する回答36として出力するための回答候補ランキング部68とを含む。
【0053】
図1に示す因果関係の手掛かり単語記憶部58に格納されている、因果関係の手掛かり単語は、例えば「〜ため」、「〜ので」、「〜理由は」、「〜原因となる」、「〜ことから」、「〜ことで」、「〜からだ」等である。本実施の形態では、この手掛かり単語として人手で251個の単語(句)からなる表現を収集し、因果関係の手掛かり単語記憶部58に記憶させた。例えば
図7に示す回答候補1の中の「ため」という単語160、回答候補2の中の「ため」という単語162は、いずれも手掛かり単語に相当する。
【0054】
因果関係認識部60は、因果関係の手掛かり単語を回答候補中で探し、手掛かり単語があればその単語に基づいて、その単語により結びつけられている因果関係表現の原因部分と結果部分とを特定する。この特定には、機械学習により予め学習済のCRF(Conditional Random Fields:条件付き確率場)モデルを使用する。
【0055】
図9を参照して、因果関係認識部60は、因果関係の手掛かり単語記憶部58に記憶された単語を、入力される各回答候補の中で特定する手掛かり単語特定部220と、回答候補中の手掛かり単語が特定されると、その単語により結びつけられている因果関係表現の原因部分と結果部分とを特定するよう予め学習済のCRFモデル222と、手掛かり単語特定部220により特定された手掛かり単語と回答候補とを用いてCRFモデル222を参照することにより、手掛かり単語により結びつけられている因果関係表現の原因部分の開始位置及び終了位置を示すタグと、結果部分の開始位置及び終了位置を示すタグとを回答候補に付与し、回答候補204として出力する因果関係表現特定部224とを含む。
【0056】
CRFモデル222は前述したとおり、手掛かり単語と回答候補とが与えられるとその手掛かり単語により表される因果関係表現の原因部分と結果部分とを特定するように、予め学習済である。
図9を参照して、CRFモデル222の学習処理部200は、質問応答システム30とは独立した装置であって、学習用テキストを記憶する学習用テキスト記憶部230と、因果関係の手掛かり単語記憶部58に記憶された手掛かり単語に基づき、学習用テキスト中に見いだされる各手掛かり単語について、その原因部分と結果部分とに人手でラベルを付すラベリング処理を行なって学習用データを生成するラベリング処理部232と、ラベリング処理部232の出力する学習用データを記憶する学習用データ記憶部234と、学習用データ記憶部234に記憶された学習用データを用い、CRFモデル222の学習を行なう機械学習処理部236とを含む。
【0057】
因果関係相当性判定部64は、以下に述べるように、回答候補から抽出された結果部分の記載と、質問文とを照合し、回答候補の結果部分(以下単に「結果部分」と呼ぶ。)が質問文の回答としてふさわしいものか否かを判定する。
【0058】
図4を参照して既に説明したように、回答候補において認識された因果関係表現が、質問に対する回答として全てふさわしい訳ではない。質問に対する回答としてふさわしい因果関係表現は、その結果部分が質問と似ていることが多い。そこで、本実施の形態では、質問と、結果部分との間での(1)単語マッチング及び(2)部分木マッチングを使用して、因果関係表現が質問に対する回答としてふさわしいか否かを判定する。
【0059】
(1)単語マッチング
単語マッチングは、質問と結果部分とが、どの程度の数の内容語(名詞及び動詞を含む。)を共有しているか否かに関する。共有される内容語の数が多ければ多いほど、質問と結果部分とが似ているということができる。
【0060】
(2)部分木マッチング
部分木マッチングは、構文構造上の部分木のマッチングであり、具体的には、
図2(B1)及び
図2(B2)に示したような部分木について、質問の部分木と結果部分の部分木との間で共通するものがいくつあるかで見ることができる。より具体的には、両者の部分木から得られる単語n−グラムがどの程度共通しているかで測ることができる。
【0061】
しかし、単語マッチング及び部分木マッチングのみでは、因果関係が質問に対する回答を与えるものとしてふさわしいか否かの判定が難しい場合がある。例えば、
図4に示した例のように、因果関係の手掛かり単語が共通する因果関係であって、両者に含まれる単語が共通するものであっても、質問に対する回答を与えるものとしてふさわしいものとそうでないものとがある。すなわち、
図4に示す例で、質問の「津波が起こる」と「回答」として示した文の「津波が発生する」とは、「津波が発生するとき」は必ず「津波が起こる」といえるという意味から、含意関係にあるということができる。それに対し、質問の「津波が起こる」と「回答でない」として示した文の「津波を弱める」とは、含意関係にない。前者は回答としてふさわしいが、後者はふさわしくない。
【0062】
このように回答候補が質問に対する回答としてふさわしいか否かを判定するためには、質問中の表現と回答候補中の表現との含意関係の有無に関する認識が必要だが、これは難しいタスクである。そこで、本実施の形態では、述部の「極性」という概念を用いてこの含意関係を判定することにした。前述のとおり、述部の極性として「活性」及び「不活性」の2つを考える。述部の極性が活性であるとは、「Xを引き起こす」、「Xが発生する」、及び「Xが起こる」等のように、変数Xを含む表現パターンで変数Xにより表される事物の機能等が「オン」になること(機能等が活性化すること)を示すものであることをいう。例えば「Xを引き起こす」、「Xを使う」、「Xを買う」、「Xを進行させる」、「Xを輸入する」、「Xが増える」等が該当する。これらはいずれもXにより表されるものの機能が発揮されるような表現である。述部の活性が不活性とは、変数Xを含む表現パターンで、変数Xにより表される事物の機能等が「オフ」になること(機能等が不活性化すること)を示すもののことをいう。例えば「Xを防ぐ」、「Xを捨てる」、「Xが減る」、「Xを破壊する」、「Xが不可能になる」等が該当する。
【0063】
図8を参照して、前述した
図4の例でいうと、「津波が起こる」(名詞+が+起こる)と「津波が発生する」(名詞+が+発生する)とは、いずれも名詞「津波」と、「津波」が係る述部(起こる、発生する)の極性が活性である点で共通している。一方、「津波が起こる(名詞+が+起こる)」と「津波を弱める」(名詞+を+弱める)とは、名詞「津波」が共通してはいるが、前者の「起こる」が活性、後者の「弱める」が不活性である点で異なっている。このように、述部の活性を、その意味に基づいて活性・不活性に分類し、質問文の名詞及び当該名詞が係る述部の極性の組合せと、結果部分の名詞及び当該名詞が係る述部の極性の組合せとが一致するもののみを、含意関係を表すものとして認識できる。この性質を利用して、因果関係が質問に対する回答としてふさわしいか否かを判定できる。
【0064】
図1に示す因果関係相当性判定部64は、こうした手法を用いて各回答候補が質問に対する回答を与える因果関係として相当なものか否かを判定する。
【0065】
図10を参照して、因果関係相当性判定部64は、因果関係認識部60の出力する回答候補204の各々について、極性辞書記憶部62に記憶された極性辞書を用い、検出された因果関係表現の結果部に含まれる述部の極性を判定する述部極性判定部270と、述部極性判定部270により判定された極性を用い、結果部に含まれる名詞及び当該名詞が係る述部の極性の組合せと、質問に含まれる名詞及び当該名詞が係る述部の極性の組合せとが一致するか否かを判定する一致判定部272と、質問と回答候補の結果部との間の単語マッチング及び部分木マッチングの結果と、一致判定部272による判定結果とに従い、回答候補が質問に対する回答としてふさわしいか否かを示す相当性フラグをセット又はリセットして回答候補に付して回答候補260として出力する相当性フラグ設定部274とを含む。
【0066】
図11を参照して、回答候補ランキング部68は、素性ベクトル生成部66により生成された素性ベクトル300を予め学習済のSVM(Support Vector Machine)により評価し、質問に対する回答としての適格性を示すスコアを出力するSVMによるスコアリング部302と、スコアリング部302により各候補に対して出力されたスコアを各候補とともに記憶するスコア記憶部304と、スコア記憶部304に記憶された全ての回答候補をスコアの降順に並べ替え、最高スコアを持つ回答候補の因果関係表現の結果部分を質問に対する回答36として出力する最上位候補出力部306とを含む。
【0067】
素性ベクトル生成部66により生成される素性の一覧のうち、本願発明と直接は関係しないものを
図12に一覧表として示す。これらの素性は、非特許文献3に記載されたシステムにおいて使用されているものである。すなわち、素性ベクトル生成部66が生成する素性ベクトルの要素である素性は、非特許文献3に記載されたように、先行技術で形態素解析と係り受け解析処理との結果から算出される素性の組と、以下に述べる因果関係に関連して算出される素性の組との2組に分かれる。
【0068】
本実施の形態では、
図12に示すものとは別の組の素性として、以下を用いる。
【0069】
(1)因果関係の有無
回答候補が回答にふさわしいと判定された因果関係を含んでいるかの二値特性。この値は、因果関係相当性判定部64の出力により得られる。
【0070】
(2)因果関係の内容
回答候補内の因果関係の単語及び部分木のn−グラムと、述部の活性・不活性の意味極性。これらは、回答候補の形態素列、係り受け木、及び因果関係相当性判定部64の出力内の述部極性判定部270(
図10)により得られる。
【0071】
(3)因果関係の確信度
回答にふさわしいと判定された因果関係表現の結果部分が質問と共有する単語、部分木、若しくは活性・不活性極性の数又はこれらの任意の組合せ。これらは形態素解析処理部50及び係り受け解析処理部52の出力、因果関係認識部60の出力、各回答候補の形態素列及び部分木等から生成できる。
【0072】
スコアリング部302の学習は以下のようにして行なわれる。
【0073】
図11の右側を参照して、スコアリング部302の学習処理部290は、質問応答システム30の学習処理部200とは別に準備される。この学習処理部290は、学習用の文書を記憶した学習用文書記憶部310を含む。学習用文書は、複数の学習用データセットを含む。各学習用データセットは、質問と、その質問に対する回答候補となる、因果関係を表す複数個の文とを格納している。各文には、その文に含まれる因果関係表現の結果部を、同じ学習用データセットの質問の回答とすべきか否かを示す教師データが付されている。
【0074】
学習処理部290はさらに、学習用文書記憶部310に記憶された各学習用データセットの各々の因果関係について、質問応答システム30と同様の処理をすることにより素性ベクトル生成部66と同じ素性を算出し、教師データを付した学習用の素性ベクトルを生成し出力する素性ベクトル生成部312と、素性ベクトル生成部312により出力された学習用の素性ベクトルからなる学習用データを記憶する学習用データ記憶部314と、学習用データ記憶部314に格納された学習用データを用い、スコアリング部302のSVMの学習処理を行なうSVM学習部316とを含む。
【0075】
実際の質問応答システムと同じ素性を用いて
図11に示すスコアリング部302の学習を行なっておくことにより、スコアリング部302は、各回答候補から得られる素性ベクトルが与えられると、その回答候補が回答としてどの程度適切かをスコアとして出力できるようになる。
【0076】
[動作]
以上に構成を説明した質問応答システム30は以下のように動作する。まず、質問応答システム30が動作するための準備段階における質問応答システム30の動作を説明する。
図1を参照して、対象文書記憶部32には回答を検索する対象となる文書を予め多数記憶しておく。各文書に含まれる文の各々は、形態素解析と係り受け解析され、係り受け木の情報が付される。
【0077】
因果関係の手掛かり単語記憶部58には、予め因果関係表現の原因部分と結果部分とを特定するために使用される表現である手掛かり単語(又は句)が記憶されている。また、極性辞書記憶部62には、多数の述部について、その述部の極性(活性・不活性)を記述した極性辞書が格納されている。
【0078】
図9を参照して、学習処理部200の学習用テキスト記憶部230には、予め、学習用のテキストが記憶されている。ラベリング処理部232により、このテキストの各々について、因果関係の手掛かり単語記憶部58に記憶された手掛かり単語の位置と、その手掛かり単語により結びつけられる因果関係表現の原因部分と結果部分との範囲を示すラベルが人手により付与される。ラベルが付与された文は学習用データとして学習用データ記憶部234に記憶される。機械学習処理部236は、この学習データを用いてCRFモデル222の学習を行なう。
【0079】
図11を参照して、スコアリング部302の学習処理部290においては、学習用文書記憶部310に複数の学習用データセットが記憶される。各学習用データセットは、質問と、その質問に対する回答候補となる、因果関係を表す複数個の文とを含む。各文には、その文に含まれる因果関係表現の結果部を、同じ学習用データセットの質問の回答とすべきか否かを示す教師データが付されている。学習処理部290の素性ベクトル生成部312は、学習用文書記憶部310に記憶された各学習用データセットの各々の因果関係について、質問応答システム30と同様の処理をすることにより素性ベクトル生成部66と同じ素性を算出し、教師データを付すことにより学習用の素性ベクトルを生成して学習用データ記憶部314に出力する。学習用データ記憶部314は、素性ベクトル生成部312により出力された学習用の素性ベクトルからなる学習用データを記憶する。SVM学習部316は、学習用データ記憶部314に格納された学習用データを用い、スコアリング部302のSVMの学習処理を行なう。この結果、スコアリング部302は、各回答候補から得られる素性ベクトルが与えられると、その回答候補が回答としてどの程度適切かをスコアとして出力できるようになる。以上で質問応答システム30は質問34に対して適切な回答36を出力可能になる。
【0080】
図1を参照して、質問34が質問応答システム30に与えられると、形態素解析処理部50が質問34を形態素解析し、係り受け解析処理部52がさらに質問の係り受け解析を行なって係り受け木201を質問34に付し関連文書検索部54に出力する。
【0081】
関連文書検索部54は、係り受け解析処理部52から与えられた情報を用い、質問34と関連あると思われる文書を求めて対象文書記憶部32を検索し抽出する。
【0082】
回答候補抽出部56は、関連文書検索部54により抽出された各文書から、
図5を参照して説明したように5文ずつを1組として多数の回答候補202を生成する。回答候補抽出部56はさらに、抽出した回答候補202の中から、質問34と関連あると考えられる回答候補202を選択する。
【0083】
続いて、因果関係認識部60は以下のように動作する。
図9を参照して、手掛かり単語特定部220は、各回答候補202について、因果関係の手掛かり単語記憶部58に記憶されている手掛かり単語があるか否かを判定する。手掛かり単語がない場合にはその候補は捨て、手掛かり単語がある回答候補のみを因果関係表現特定部224に与える。
【0084】
因果関係表現特定部224は、手掛かり単語特定部220から与えられる回答候補のお各々について、その中の手掛かり単語により結びつけられる因果関係表現の原因部分と結果部分とを、CRFモデル222により推定し、それぞれその開始位置及び終了位置を示すタグを付して回答候補204として出力する。
【0085】
図10を参照して、回答候補204を受けた因果関係相当性判定部64の述部極性判定部270は、極性辞書記憶部62を参照して、回答候補204に含まれる因果関係表現の結果部分の述部の極性を判定し、回答候補204に付して一致判定部272に出力する。一致判定部272は、回答候補の結果部分の名詞及びその名詞が係る述部の極性の組合せと、質問に含まれる名詞及びその名詞が係る述部の極性の組合せとが一致するか否かを判定し、その結果を出力する。相当性フラグ設定部274は、一致判定部272の出力と、質問及び回答候補の結果部との単語マッチング及び部分木マッチングとの結果にしたがい、相当性フラグをセット又はリセットし、そのフラグを回答候補に付して回答候補260として出力する。
【0086】
図1に示す素性ベクトル生成部66は、回答候補260に付されている様々な情報に基づいて、
図11に示す回答候補ランキング部68のスコアリング部302で用いる素性ベクトルを生成し、スコアリング部302に与える。
【0087】
図11に示すスコアリング部302は、学習処理部290により学習済のSVMを用い、与えられた素性ベクトルに対するスコアを算出する。スコア記憶部304は、各回答候補について算出されたスコアを回答候補とともに記憶する。最上位候補出力部306は、全ての回答候補に対するスコアの算出が終わると、最もスコアの高い回答候補を選択し、回答36として出力する。
【0088】
[実験]
ホワイ型質問応答システムにおける因果関係素性の影響を調べるために、質問に対して各手法を用いて得られた最上位回答の精度を調べた。その結果を次のテーブル1に示す。
【0089】
【表1】
非特許文献1の手法は、上記実施の形態における回答候補抽出部56での手法に相当する。非特許文献3は、先行技術の手法のうちでもっとも高い精度が得られたものであり、上記実施の形態との比較のためにここにあげたものである。
【0090】
この結果から、上記実施の形態に係る手法(非特許文献3の素性に因果関係素性を加えたものを用いて回答候補をランキング)によれば、最上位回答の精度が、先行技術で最も精度の高い非特許文献3によるものをかなり上回った。
【0091】
さらに、上記実施の形態に係る手法と、非特許文献3に係る手法とによる回答の信頼性を調べるために、各々の手法について、質問を、その回答の精度が高かったものの順番に並べ、上位25%の点での回答の精度を調べた。
図13にその結果を示す。
【0092】
図13を参照して、非特許文献3の手法の場合に得られた回答の精度の、順位ごとの値(グラフ322)によれば、上位25%の点(
図13において一点鎖線326により示す。)での回答の精度は62%であった。これに対して上記実施の形態に係る手法(グラフ320)では、その値は83%であった。参考のため、
図13には、因果関係のみをランキングに用いた場合のグラフ324も示してある。
【0093】
以上のように、上記実施の形態によれば、先行技術で使用されていた回答候補のランキングのための素性に加えて、因果関係素性を使用することで、ノン・ファクトイド型の質問に対する回答の精度を大幅に高めることができる。したがって、上記したような因果関係素性を用いることにより、ノン・ファクトイド型の質問に対して適切な回答を与える質問応答システムを得ることができる。
【0094】
[コンピュータによる実現]
上記実施の形態に係る質問応答システム30は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。
図14はこのコンピュータシステム330の外観を示し、
図15はコンピュータシステム330の内部構成を示す。
【0095】
図14を参照して、このコンピュータシステム330は、メモリポート352及びDVD(Digital Versatile Disc)ドライブ350を有するコンピュータ340と、キーボード346と、マウス348と、モニタ342とを含む。
【0096】
図15を参照して、コンピュータ340は、メモリポート352及びDVDドライブ350に加えて、CPU(中央処理装置)356と、CPU356、メモリポート352及びDVDドライブ350に接続されたバス366と、ブートプログラム等を記憶する読出専用メモリ(ROM)358と、バス366に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ(RAM)360と、ハードディスク354を含む。コンピュータシステム330はさらに、他端末との通信を可能とするネットワーク368への接続を提供するネットワークインターフェイス(I/F)344を含む。
【0097】
コンピュータシステム330を上記した実施の形態に係る質問応答システム30の各機能部として機能させるためのコンピュータプログラムは、DVDドライブ350又はメモリポート352に装着されるDVD362又はリムーバブルメモリ364に記憶され、さらにハードディスク354に転送される。又は、プログラムはネットワーク368を通じてコンピュータ340に送信されハードディスク354に記憶されてもよい。プログラムは実行の際にRAM360にロードされる。DVD362から、リムーバブルメモリ364から又はネットワーク368を介して、直接にRAM360にプログラムをロードしてもよい。
【0098】
このプログラムは、コンピュータ340を、上記実施の形態に係る質問応答システム30の各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ340にこの動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ340上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ340にインストールされる各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット内の適切なプログラムツールを呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供するようにしてもよい。
【0099】
上記実施の形態では、対象文書記憶部32、因果関係の手掛かり単語記憶部58、極性辞書記憶部62、学習用テキスト記憶部230、学習用データ記憶部234及び314、CRFモデル222、学習用文書記憶部310、スコア記憶部304等はRAM360又はハードディスク354により実現される。これらの値はさらに、USBメモリ等のリムーバブルメモリ364に記憶されてもよいし、ネットワーク368等の通信媒体を介して他のコンピュータに送信されてもよい。
【0100】
上記実施の形態に係るシステムは、既存の音声質問応答システムに組込む1モジュールとして使用できる。ノン・ファクトイド型質問が入力として与えられた際に、Web等のテキストから高精度で回答を特定するために上記実施の形態のシステムを利用できる。上記システムはまた、質問応答システムに限らず、検索エンジン及び情報分析システムのモジュールとしてユーザに有用な情報を提供することにも利用できる。
【0101】
上記実施の形態では、
図1の関連文書検索部54ではオープンソースソフトウェアのSolrを用いた。しかし、本発明はそのような実施の形態には限定されない。例えば、文書中に現れる因果関係を手がかりにする手法を用いてもよいし、文書中に現れる因果関係と、因果関係中に現れる述部の活性・不活性との組合せを手がかりにする手法を用いてもよい。一般的に、質問と文書とを、それらが含む単語を用いて多次元のベクトルの形で表現し、ベクトル間の類似度を計算することにより質問と類似した内容を含む文書を検索し、さらにその中から上記した因果関係を手がかりに回答候補を絞るような手法を用いてもよい。質問と関連した文書を検索するためのソフトウェアツールは有償・無償を問わず多数存在している。ここでは、質問に対して高速に回答を出す必要があることから、質問を受けてから各文書の先頭から末尾までを走査するいわゆる全文検索型ではなく、予め収集しておいた大量の文書にインデックスを付しておくインデクシング型のものを用いることが望ましい。
【0102】
また、上記実施の形態では、ノン・ファクトイド型質問としてホワイ型質問を想定し、回答候補を得るために文書中に現れる因果関係を手がかりにした。しかし本発明はそのような実施の形態には限定されない。例えば同じノン・ファクトイド型質問に属する「ゴーヤーチャンプルーはどうやって作りますか?」のようなハウ型質問の場合には、回答候補を得るために、「ゴーヤーチャンプルには、豚肉かスパム、卵を入れます。」のような材料関係、「ゴーヤは二つ割りにして中のワタを取り除き、薄切りにする。」のような手順関係などの意味的関係を手がかりにしてもよい。
【0103】
また、上記実施の形態では、質問に現れる名詞と述部の極性との組合せと、回答候補に現れる名詞と述部の極性との組合せとが一致するか否かを回答の選択に用いており、極性としては述部が活性か否か(変数Xを含む表現パターンで変数Xにより表される事物の機能等が「オン」になること(機能等が活性化すること)を示すものか否か)を用いていた。しかし本発明はそのような実施の形態には限定されない。他の極性を用いることもできる。例えば極性として「good/bad」を用いることもできる。病気の場合、「病気がひどくなる」という表現の「ひどくなる」は、活性・不活性という極性では「活性」であるが、「good/bad」という極性では「bad」である。このように、述部の極性としては活性・不活性だけではなく、他の性質を用いることもできる。また、上の例でいえば、「ひどくなる」は「活性」かつ「bad」というように、複数種類の極性の組合せを回答選択の際に素性として用いることもできる。
【0104】
さらに、上記実施の形態では、理解を容易にするために、「名詞+述部」の組合せが質問及び結果部内に1つだけ存在する場合を例にしている。しかし本発明はそのような実施の形態には限定されない。例えば「タバコがガンを引き起こす」のような場合、「名詞+述部」の組合せとして、「タバコが引き起こす」と「ガンを引き起こす」との2つの表現が得られる。これらのうち、特定のもののみを素性生成の際に使用してもよいし(例えば名詞が述部の主部に相当するもののみを採用したり、目的語に相当するもののみを採用したり、質問に含まれる名詞と述部との関係と一致するもののみを採用したりする。)、全てを素性生成の際に使用してもよい。
【0105】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。