TOP > 国内特許検索 > 質問応答システムおよび質問応答処理方法 > 明細書

明細書 :質問応答システムおよび質問応答処理方法

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第3882048号 (P3882048)
公開番号 特開2005-122533 (P2005-122533A)
登録日 平成18年11月24日(2006.11.24)
発行日 平成19年2月14日(2007.2.14)
公開日 平成17年5月12日(2005.5.12)
発明の名称または考案の名称 質問応答システムおよび質問応答処理方法
国際特許分類 G06F  17/30        (2006.01)
FI G06F 17/30 330C
G06F 17/30 170A
請求項の数または発明の数 8
全頁数 19
出願番号 特願2003-357789 (P2003-357789)
出願日 平成15年10月17日(2003.10.17)
審査請求日 平成15年10月17日(2003.10.17)
特許権者または実用新案権者 【識別番号】301022471
【氏名又は名称】独立行政法人情報通信研究機構
発明者または考案者 【氏名】村田 真樹
個別代理人の代理人 【識別番号】100119161、【弁理士】、【氏名又は名称】重久 啓子
審査官 【審査官】丹治 彰
参考文献・文献 特開2002-014990(JP,A)
村田真樹ほか,類似度に基づく推論を用いた質問応答システム,情報処理学会研究報告,日本,社団法人情報処理学会,2000年 1月28日,第2000巻 第11号,第181頁~第188頁(2000-NL-135-24)
西崎博光ほか,ニュース音声を対象とした音声質問応答システムの試作,情報処理学会研究報告,日本,社団法人情報処理学会,2003年 5月27日,第2003巻 第58号,第25頁~第30頁(2003-SLP-46 (5))
調査した分野 G06F 17/30
JSTPlus(JDream2)
特許請求の範囲 【請求項1】
自然言語で表現された質問文データを入力し、解答の検索対象である文書データ群から質問文データに対する解答を出力する質問応答システムであって、
入力した質問文データの言語表現を解析し、前記質問文データに対して解答となりうる言語表現の類型である解答タイプを推定する解答タイプ推定手段と、
前記質問文データからキーワードを抽出し、前記文書データ群から前記キーワードを含む文書データを検索、抽出する文書検索手段と、
前記文書データから前記解答となりうる言語表現を抽出して解答候補とし、前記解答候補に評価点を付与する解答候補評価点算出手段と、
同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価点の大きい順に並べ、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点を計算し、前記評価点の総和を前記同一の言語表現である解答候補の集計された評価点とする解答候補評価点集計手段と、
前記解答候補評価点集計手段で集計された評価点が所定の評価以上である解答候補を解答として出力する解答出力手段とを備える
ことを特徴とする質問応答システム。
【請求項2】
前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価点の大きい順に並べ、nは同一の言語表現の解答候補の個数とし、Point(1≦i≦n)は前記解答候補のi番目の解答候補の評価点とし、第1式:
Score=Σ 1/(i+b)/(i+b-1)*Point (Σは、iが1からnまでの値をとる場合の総和)
を計算して、前記同一の言語表現である解答候補の集計された評価点とする処理を行う
ことを特徴とする請求項1記載の質問応答システム。
【請求項3】
前記解答候補評価点集計手段は、前記第1式のbを0.1以上0.5以下のいずれかの値とする式を用いて前記集計された評価点を計算する
ことを特徴とする請求項2記載の質問応答システム。
【請求項4】
前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価点の大きい順に並べ、nは同一の言語表現の解答候補の個数とし、Point(1≦i≦n)は前記解答候補のi番目の解答候補の評価点とし、第2式:
Score=Σ ki-1*Point (Σは、iが1からnまでの値をとる場合の総和)
を計算して、前記同一の言語表現である解答候補の集計された評価点とする処理を行う
ことを特徴とする請求項1記載の質問応答システム。
【請求項5】
前記解答候補評価点集計手段は、前記第2式のkを0.1以上0.5以下のいずれかの値とする式を用いて前記集計された評価点を計算する
ことを特徴とする請求項4記載の質問応答システム。
【請求項6】
解答タイプ推定手段、文書検索手段、解答候補評価点算出手段、解答候補評価点集計手段、および解答出力手段とを備えるコンピュータが、自然言語で表現された質問文データを入力し、解答の検索対象である文書データ群から質問文データに対する解答を出力する質問応答処理方法であって、
前記解答タイプ推定手段が、入力した質問文データの言語表現を解析し、前記質問文データに対する解答となりうる言語表現の類型である解答タイプを推定する解答タイプ推定処理過程と、
前記文書検索手段が、前記質問文データからキーワードを抽出し、前記文書データ群から前記キーワードを含む文書データを検索、抽出する文書検索処理過程と、
前記解答候補評価点算出手段が、前記文書データから前記解答となりうる言語表現を抽出して解答候補とし、前記解答候補に評価点を付与する解答候補評価点算出処理過程と、
前記解答候補評価点集計手段が、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価点の大きい順に並べ、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点を計算し、前記評価点の総和を前記同一の言語表現である解答候補の集計された評価点とする解答候補評価点集計処理過程と、
前記解答出力手段が、前記解答候補評価点集計処理過程で集計された評価点が所定の評価以上である解答候補を解答として出力する解答出力処理過程とを備える
ことを特徴とする質問応答処理方法。
【請求項7】
前記解答候補評価点集計処理過程において、前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価点の大きい順に並べ、nは同一の言語表現の解答候補の個数とし、Point(1≦i≦n)は前記解答候補のi番目の解答候補の評価点とし、第1式:
Score=Σ 1/(i+b)/(i+b-1)*Point(Σは、iが1からnまでの値をとる場合の総和)
を計算して、前記同一の言語表現である解答候補の集計された評価点とする処理を行う
ことを特徴とする請求項6記載の質問応答処理方法。
【請求項8】
前記解答候補評価点集計処理過程において、前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価点の大きい順に並べ、nは同一の言語表現の解答候補の個数とし、Point(1≦i≦n)は前記解答候補のi番目の解答候補の評価点とし、第2式:
Score=Σ ki-1*Point (Σは、iが1からnまでの値をとる場合の総和)
を計算して、前記同一の言語表現である解答候補の集計された評価点とする処理を行う
ことを特徴とする請求項6記載の質問応答処理方法。
発明の詳細な説明 【技術分野】
【0001】
本発明は、コンピュータによる自然言語処理システムとして、自然言語で表現された質問文に対する解答を出力する質問応答システムに関する。さらに詳しくは、解答の候補を抽出する際に、同一の言語表現である複数の解答候補の評価点を加算してその評価点とし、所定の評価点が付与された解答候補を解答として出力する質問応答システムに関するものである。
【0002】
質問応答システムとは、自然言語による質問を入力すると、その解答そのものを出力するシステムである。例えば、「パーキンソン病の兆候は脳のどの部分にある細胞の死が関係していますか。」という質問を入力すると、Web、新聞記事、事典などのデータを含む大量の電子化テキストから「パーキンソン病は、中脳の黒質にあるメラニン細胞が変性し、黒質細胞内で作られる神経伝達物質のドーパミンがなくなり発病する、とされている。」といった文を探し出し、「黒質」と的確に解答を出力する。
【0003】
質問応答システムは、論理式やデータベースでなく、自然言語で書かれた普通の文(テキストデータ)から解答を取り出すことができるため、大量の既存の文書データを利用することができる。
【0004】
また、質問応答システムは、キーワードで検索した記事から解を探す必要がある情報検索システムなどと異なって、解自体を的確に出力するため、ユーザがより早く解の情報を得ることができる。
【0005】
また、質問応答システムは、解自体を自動で出力するため、他の自動の知識処理システムの内部での知識処理システムとして利用することも可能であり、人工知能システムを作成する場合には最低限必要な処理技術であると考えられる。
【0006】
このように有用な質問応答システムは、将来的に知的処理・知識処理の根幹システムとなると考えられ、処理能力の向上が期待されている。
【背景技術】
【0007】
一般的な質問応答システムは、おおまかに、解答表現推定処理、文書検索処理、解答抽出処理という3つの処理手段で構成されている。
【0008】
解答表現推定処理は、入力した質問文中の疑問代名詞の表現などに基づいて解答表現を推定する処理である。解答表現とは、所望される解答の言語表現の類型である。
【0009】
質問応答システムは、予め、どのような質問文の言語表現がどのような解答表現を要求しているかという対応関係を定めておく。そして、例えば入力した質問文が「日本の面積はどのくらいですか」である場合には、所定の対応関係を参照して、質問文中の「どのくらい」という表現から解答表現は「数値表現」であろうと推定する。また、質問文が「日本の首相はだれですか」という場合には、質問文中の「だれ」という表現から、解答表現は「固有名詞(人名)」であろうと推定する。
【0010】
文書検索処理は、質問文からキーワードを取り出し、取り出したキーワードを用いて文書データ群を検索し、解答が記述されていると考えられる文書データを抽出する処理である。
【0011】
質問応答システムは、例えば、入力の質問文が「日本の面積はどのくらいですか」である場合に、質問文から「日本」および「面積」をキーワードとして抽出し、検索対象とするさまざまな文書データ群から、抽出したキーワード「日本」および「面積」を含む文書データを検索する。
【0012】
解答抽出処理は、文書検索処理で抽出されたキーワードを含む文書データから、推定した解答表現に適合する言語表現を抽出し、それを解答として出力する処理である。
【0013】
質問応答システムは、例えば、文書検索処理において検索されたキーワード「日本」および「面積」を含む文書データから、解答表現推定処理において推定した「数値表現」にあたる言語表現を解答として抽出する。
【0014】
前記のような処理を行うことにより、質問応答システムは、質問文「日本の首都はどこですか」に対して解答「東京」を出力する。
【0015】
現在では、解答を出力する場合に、解答の候補に適合度など解答候補の評価を示す得点(評価点)を付与しておき、所定の評価点を得た解答候補を解答として出力する質問応答システムも存在する。例えば、質問文「日本の首都はどこですか」に対する解答候補に評価点を付与する場合に、解答候補データとして、「順位;解答候補;評価点;解答候補を取り出した文書データ識別情報(文書番号)」が以下のように出力されるとする。
【0016】
1;京都;3.3;文書番号134、
2;東京;3.2;文書番号12、
3;東京;2.8;文書番号455、
4;東京;2.5;文書番号371、
5;東京;2.4;文書番号221、
6;北京;2.2;文書番号113。
【0017】
そして、質問応答システムが、第1位の解答候補を採用し、解答として「京都」を出力すれば、正解は「東京」であるから、間違った解答を出力することになる。
【0018】
そこで、解答探索の対象となる文書データ内で、質問の内容に関する表現と共に多くの箇所に出現する言語表現は、その質問についてより関連性があると考えられ、質問の解答により適合しうるとの考えにもとづいて、異なる文書データまたは文書データ内の別の箇所に出現している言語表現が同じ解答候補については、各解答候補の評価点をそれぞれ加算し、その総和を解答候補の評価点とするという手法がある(例えば、非特許文献1参照)。

【非特許文献1】Toru Takaki, Yoshio Eriguchi、「NTTDATA Question-Answering EXperiment at the NTCIR-3 QAC」、National Institute of Informatics(国立情報学研究所)、The NTCIR Workshop 3 Meeting( 第3回NTCIRワークショップ・ミーティング) 、2002年10月、p.95-100
【発明の開示】
【発明が解決しようとする課題】
【0019】
質問文「日本の首都はどこですか」に対する前記の解答候補の例において、従来の手法によって、解答候補の評価点を単純に加算して集計する。前記の解答候補のうち、4つの文書データもしくは4つの箇所に出現した解答候補「東京」のそれぞれに与えられた評価点を集計して解答候補「東京」の評価点とすると、質問文に対する各解答候補の評価順序は以下のようになる。
【0020】
1;東京;10.9;文書番号12,455,371,221、
2;京都;3.3;文書番号134、
3;北京;2.2;文書番号113。
【0021】
そして、質問応答システムでは第1位の解答候補「東京」が採用されるため、質問応答システムが出力した解答は正しいことになる。
【0022】
しかし、前記の非特許文献1に示された技術のように、解答探索の対象である文書データから抽出された解答候補の評価点を、同じ言語表現の解答候補ごとに単純に加算し、所定の程度以上に良い評価点が付与された解答候補を解答として採用するという手法においては、文書データ内に出現する頻度が高い言語表現が解答として選択されやすく、必ずしも解答の精度が向上しないという問題がある。
【0023】
特に、解答候補抽出処理自体の精度が良いような質問応答システムに、単純な評価点加算処理の手法を適用した場合には、この問題は深刻なものとして顕在化する。
【0024】
高精度の解答候補抽出処理では本来の処理で付与された評価点の信頼性が高いにもかかわらず、この解答候補抽出処理に従来のような評価点の加算手法を適用することによって解答候補の評価点を単純に加算して求めた合計点にもとづいて解答候補の抽出を行うことにすれば、その評価自体は低いが多数出現するような解答候補の評価が上がってしまい、かえって処理精度を低下させてしまうことになるからである。
【0025】
本発明は、かかる問題点に鑑みてなされたものであり、その目的は、同じ解答候補の評価点を集計することにより解答候補の抽出精度の向上を図りつつ、出現頻度の高い解答候補の評価が良くなりやすいという悪影響を軽減できる解答候補の抽出手法を実現するものである。
【課題を解決するための手段】
【0026】
上記の目的を達成するため、本発明は、自然言語で表現された質問文データを入力し、解答の検索対象である文書データ群から質問文データに対する解答を出力する質問応答システムであって、入力した質問文データの言語表現を解析し、前記質問文データに対して解答となりうる言語表現の類型である解答タイプを推定する解答タイプ推定手段と、前記質問文データからキーワードを抽出し、前記文書データ群から前記キーワードを含む文書データを検索、抽出する文書検索手段と、前記文書データから前記解答となりうる言語表現を抽出して解答候補とし、前記解答候補に評価点を付与する解答候補評価点算出手段と、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価点の大きい順に並べ、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点を計算し、前記評価点の総和を前記同一の言語表現である解答候補の集計された評価点とする解答候補評価点集計手段と、前記解答候補評価点集計手段で集計された評価点が所定の評価以上である解答候補を解答として出力する解答出力手段とを備える。
【0027】
本発明によれば、入力した質問文データの言語表現を解析し、前記質問文データに対して解答となりうる言語表現の類型である解答タイプを推定する。そして、前記質問文データからキーワードを抽出し、前記文書データ群から前記キーワードを含む文書データを検索・抽出する。さらに、前記文書データから前記解答となりうる言語表現を抽出して解答候補とし、前記解答候補に評価点を付与する。そして、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順として評価点の大きい順に並べ、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点を計算し、前記評価点の総和を前記同一の言語表現である解答候補の集計された評価点とし、前記解答候補評価点集計手段で集計された評価点が所定の評価以上である解答候補を解答として出力する。
【0028】
さらに、上記のような構成をとる質問応答システムにおいて、前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価点の大きい順に並べ、nは同一の言語表現の解答候補の個数とし、Point(1≦i≦n)は前記解答候補のi番目の解答候補の評価点とし、
第1式:Score=Σ 1/(i+b)/(i+b-1)*Point(Σは、iが1からnまでの値をとる場合の総和)
を計算して、前記同一の言語表現である解答候補の集計された評価点とする処理を行う。
【0029】
または、前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価点の大きい順に並べ、nは同一の言語表現の解答候補の個数とし、Point(1≦i≦n)は前記解答候補のi番目の解答候補の評価点とし、
第2式:Score=Σ ki-1*Point(Σは、iが1からnまでの値をとる場合の総和)を計算して、前記同一の言語表現である解答候補の集計された評価点とする処理を行う。
【発明の効果】
【0030】
本発明の質問応答システムによれば、抽出した同一の言語表現である解答候補に付与された評価点を集計するときに、付与された評価点を高い順に並べて、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点の値を計算して各評価点を加算していく。具体的には、解答候補を抽出する際に、同一の言語表現である解答候補の評価点を良い順に並べ、評価点の順位が下がるにつれて値が逓減するような重み付けを用いて各評価点Pの値を計算し、重み付けした評価点Pの値の総和を求める。
【0031】
これにより、各解答候補の重み付け処理では、評価点Pは直上位の評価点Pに比べ、より大きな割合で減算されるようになる。したがって、当初の評価が低い解答候補の評価点ほど、集計された評価点の総和に対する影響が小さくなるため、解答抽出処理の処理精度に対する影響も小さくなる。
【0032】
また、解答候補の評価において、同じ言語表現が多数の箇所で出現することを考慮しながらも、出現頻度が高い解答候補の評価が比較的良くなりやすいという悪影響を軽減できるため、解答候補抽出の処理精度が向上するという効果を奏する。
【発明を実施するための最良の形態】
【0033】
以下、本発明を実施するための最良の形態を図を用いて説明する。
【0034】
図1に、本発明の質問応答システム1の構成例を示す。質問応答システム1は、質問文入力部10、解答タイプ推定部20、文書検索部30、解答候補抽出部40、解答出力部50、および文書データベース2を備える。
【0035】
質問文入力部10は、自然言語で表現された質問文を入力する手段である。
【0036】
解答タイプ推定部20は、質問文入力部10によって入力された質問文を解析して、解答タイプ推定規則にもとづいて出力すべき解答の解答タイプを推定する手段である。
【0037】
解答タイプおよび解答タイプ推定規則は、予め用意されるものとする。解答タイプは、出力すべき解答となりうる言語表現の類型であって、例えば、人名、地名、組織名などの固有名詞、数量、金額などの数値表現、時間表現などの類型が設定される。解答タイプ推定規則は、質問文の表現や質問文に含まれる疑問詞などの表現に応じて対応する解答の解答タイプが何であるかを推定するヒューリスティックな規則であって、例えば、以下のような規則が定義される。
【0038】
1) 質問文に「誰」という表現がある場合に、解答タイプは「人名」である。
【0039】
2) 質問文に「いつ」という表現がある場合に、解答タイプは「時間表現」である。
【0040】
3) 質問文に「どのくらい」という表現がある場合に、解答タイプは「数値表現」である。
【0041】
文書検索部30は、質問文入力部10によって入力された質問文から抽出したキーワードを用いて、解答探索の対象である文書データベース2から、キーワードを含む文書データを検索、抽出する手段である。文書検索部30では、既知の一般的な文書検索手法が用いられる。
【0042】
解答候補抽出部40は、文書検索部30によって検索された文書データから解答となりうる言語表現を評価点を付けて抽出して解答候補とし、取り出した解答候補の解答タイプを判定し、さらに解答候補の評価点を集計する手段である。解答候補抽出部40は、解答候補切り出し部41、解答候補/キーワード近接性評価部42、解答候補の解答タイプ判定部43、解答候補評価点算出部44、解答候補評価点集計部45から構成される。
【0043】
解答候補切り出し部41は、文書検索部30によって検索された文書データから解答となりうる言語表現を抽出して解答候補を生成する手段である。
【0044】
解答候補/キーワード近接性評価部42は、抽出元の文書データ内における解答候補とキーワードとの近接性を確率的に評価し、その近接性にもとづく評価点p1 を解答候補に付与する手段である。
【0045】
解答候補の解答タイプ判定部43は、所定の解答タイプ判定規則にもとづいて、解答候補切り出し部41によって生成された解答候補の解答タイプを判定し、判定した解答タイプに応じた評価点p2 を解答候補に付与する手段である。解答タイプ判定規則は、解答タイプ推定規則に解答タイプ同士の関連性を定義した規則である。解答候補の解答タイプ判定部43は、判定した解答タイプが、解答タイプ推定部20によって推定された解答タイプと同一であれば特に高く評価し、推定された解答タイプと関連性が強ければ強いほど高く評価する。
【0046】
解答候補評価点算出部44は、解答候補ごとに、解答候補/キーワード近接性評価部42で付与された評価点p1 および解答候補の解答タイプ判定部43で付与された評価点p2 を合計して評価点Pを算出する手段である。
【0047】
解答候補評価点集計部45は、抽出された解答候補中に同一の言語表現である解答候補が複数存在する場合に、同一の言語表現である解答候補ごとに評価点を集計する手段である。具体的には、解答候補評価点集計部45は、同一の言語表現である解答候補の評価点Pを良い順に並べ、加算する評価点Pが逓減するような重み付けを各評価点Pに施し、重み付けした評価点Pの総和を計算する。これにより、各解答候補の重み付け処理において、評価点Pは、その直上位の評価点Pに比べ、より大きな割合で減算された値として加算される。したがって、当初の評価が低い解答候補の評価点ほど、集計された評価点の総和に対する影響が小さくなるため、本来の解答抽出処理の処理精度に対する影響も小さくなる。
【0048】
解答出力部50は、解答候補抽出部40によって抽出され評価点が付与された解答候補の中から、所定の程度より高い評価点の解答候補を解答として出力する手段である。
【0049】
図2に、本発明の処理の流れを示す。
【0050】
質問応答システム1の質問文入力部10は、質問文を入力し(ステップS10)、解答タイプ推定部20は、質問文の表現から解答タイプを推定する(ステップS11)。解答タイプ推定部20は、入力された質問文を形態素解析し、解析した疑問代名詞などの表現をもとに、所定の解答タイプ推定規則を参照して質問文に対する解答の解答タイプを推定する。例えば、入力した質問文が「日本の面積はどのくらいですか」である場合に、質問文から「どのくらい」という表現を取り出し、前記の解答タイプ推定規則を参照して、解答タイプは「数値表現」であると推定する。
【0051】
そして、文書検索部30は、質問文からキーワードを抽出し(ステップS12)、抽出したキーワードを用いて文書データベース2を検索し、キーワードを含む文書データを抽出する(ステップS13)。文書検索部30は、入力された質問文「日本の面積はどのくらいですか」である場合に、質問文を形態素解析して質問文から「日本、面積」という名詞を切り出してキーワードとする。そして、キーワード「日本、面積」を用いて文書データベース2を検索し、キーワード「日本、面積」を含む文書データを抽出する。検索の結果、抽出された文書データが、質問文に対する解答を抽出する対象となる。
【0052】
次に、解答候補抽出部40の解答候補切り出し部41は、抽出された文書データから解答となりうる言語表現である解答候補を抽出する(ステップS14)。例えば、解答候補切り出し部41は、抽出された文書データからn-gramの文字列を切り出し、切り出した文字列から生成した言語表現の中から、名詞句、未知の語句、記号などと判定した言語表現を解答候補として抽出する。
【0053】
さらに、解答候補/キーワード近接性評価部42は、抽出された文書データにおいて、抽出した解答候補とキーワードとの出現箇所の近接性を判定し、その解答候補に評価点p1 を付与する(ステップS15)。ここで、検索された文書データ内において、解答候補がキーワードと近接して出現するほど、すなわち解答候補とキーワードとが狭い範囲内に出現するほど、解答候補とキーワードとは相互に関連性が高く、キーワードと関連性が高い解答候補が質問文に対する解答としてより良いものであることを前提とする。そして、解答候補/キーワード近接性評価部42は、解答候補がキーワードに対して近接して出現するほど高い評価点p1 を付与する。
【0054】
さらに、解答候補の解答タイプ判定部43は、ステップS14の処理で抽出された解答候補の解答タイプを判定し、評価点p2 を付与する(ステップS16)。解答候補の解答タイプ判定部43は、所定の解答タイプ判定規則を参照して解答候補の解答タイプを判定し、判定した解答タイプに応じて解答候補に評価点p2 を付与する。解答候補の解答タイプが、ステップS11の処理で推定された解答タイプと同一であると判定した場合には、その解答候補に最も高い評価点(例えば、1,000点)を付与し、解答候補の言語表現が解答タイプとなりえないような言語表現である場合には、その解答候補にマイナスの評価点(例えば、-1,000,000)を付与する。
【0055】
さらに、解答候補評価点算出部44は、解答候補ごとに、評価点p1 、評価点p2 から評価点Pを算出する(ステップS17)。解答候補評価点算出部44は、解答候補ごとに、ステップS15の処理で付与された評価点p1 と、ステップS16の処理で付与された評価点p2 とを合計して、その解答候補の評価点Pとする。
【0056】
その後、解答候補評価点集計部45は、同一の言語表現の解答候補ごとに評価点Pを集計する(ステップS18)。解答候補評価点集計部45は、ステップS14の処理で抽出された解答候補の中に同一の言語表現の解答候補が複数存在する場合に、それらの解答候補を1つにまとめて、1つの解答候補として評価点Scoreを付与する。
【0057】
解答候補評価点集計部45は、同一の言語表現である解答候補のそれぞれの評価点Pを評価が高い順に並べ、
Pointi (1≦i≦n)
n=同一の言語表現の解答候補の個数
とする。そして、以下の2つの方法のいずれかを用いて解答候補の評価点Pを加算し、評価点Scoreを集計する。
(1)第1の集計方法
Score=Σ(1+b)*b/(i+b)/(i+b-1)*Pointi
(Σは、iが1からnまでの値をとる場合の総和)
ここで、「(1+b)*b」は定数であって順序関係に影響を与えないため、省略可能なものである。
(2)第2の集計方法
Score=Σ ki-1 *Pointi
(Σは、iが1からnまでの値をとる場合の総和)
ここで、評価点Scoreは、重み付けした各評価点Pの総和であり、各解答候補の重み付けが、その直上位の評価点Pに対する重み付けに比べて、より大きな割合で減算されて加算される。
【0058】
次に、解答出力部50は、所定の値以上の評価点Scoreが付与された解答候補を選択し、解答として出力する(ステップS19)。
【0059】
さらに、本発明を、別の実施の形態により説明する。
【0060】
別の実施の形態において、本発明の質問応答システム1’は、図1に示すものとほぼ同様の処理手段の構成を備えるが、解答タイプ推定部20および解答候補の解答タイプ判定部43の代わりに、解答タイプ推定部20’および解答候補の解答タイプ判定部43’を備える。
【0061】
質問応答システム1’の解答タイプ推定部20’および解答候補の解答タイプ判定部43’では、所定の解答タイプを推定もしくは判定するためにヒューリスティックな規則を用いて処理を行う代わりに、教師あり機械学習法を利用して解答タイプを推定もしくは判定する。
【0062】
この場合に、所定の解答タイプを用意し、問題ごとに正しい入力(質問文)と出力(推定する解答タイプ)の対のパターンをあらかじめ教師データ(学習データ)として人手で作成しておく。
【0063】
解答タイプ推定部20’は、まず、質問文と推定する解答タイプとの対である教師データを入力して質問文を所定の素性に解析し、機械学習処理によってどのような質問文の素性の場合にどのような解答タイプとなりやすいかを学習し、学習結果を記憶しておく。その後、解答タイプ推定部20’は、質問文入力部10により入力された質問文(入力)を同様に素性に解析して、各素性について、学習結果からその解答タイプとなりやすい確率を求め、最も確率が高い解答タイプを、その質問文の解答タイプ(出力)と推測する。
【0064】
解答候補の解答タイプ判定部43’は、解答タイプ推定部20’と同様に、解答候補と判定する解答タイプとの対である教師データを入力して、機械学習処理によってどのような解答候補の場合にどのような解答タイプとなりやすいかを学習し、学習結果を記憶しておく。その後、解答候補の解答タイプ判定部43’は、解答候補切り出し部41によって生成された各解答候補について、各解答タイプとなりやすい確率を求め、最も確率が高い解答タイプをその解答候補の解答タイプと推測する。
【0065】
解答タイプ推定部20’または解答候補の解答タイプ判定部43’において利用される機械学習法としては、例えば、最大エントロピー法、サポートベクトルマシン法などがある。
【0066】
最大エントロピー法は、学習データにおける推定に用いられる情報の細かい単位である素性の出現の期待値と、未知データにおける素性の出現の期待値とが等しいという条件で確率分布のエントロピーが最大となる場合の確率分布を求め、求めた確率分布にもとづき素性の各出現パターンに対して各分類になる確率を求め、最大の確率を持つ分類先を求める分類とする処理手法である。
【0067】
サポートベクトルマシン法は、空間を超平面で分割することにより2つの分類からなるデータを分類する手法であって、学習データにおける2つの分類の事例群と超平面との間隔(マージン) が大きいものほど未知データにおいて誤った分類をする可能性が低いとの考え方を前提にして、このマージンを最大にする超平面を求め、それを用いて分類を行なう。3つ以上の分類からなるデータを分類する場合には、複数のサポートベクトルマシンを組み合わせて処理する。
【0068】
解答タイプ推定部20’または解答候補の解答タイプ判定部43’に機械学習処理機能を備える構成の場合には、学習データさえ用意すればあらゆる問題に適用することができ、汎用性の高い質問応答システム1’を実現することが可能となる。
【0069】
また、解答タイプ推定部20、20’および解答候補の解答タイプ判定部43、43’において、教師あり機械学習法による処理またはヒューリスティックな規則を用いた処理のいずれかを行うようにしてもよい。
【0070】
さらに、解答タイプ推定部20、20’および解答候補の解答タイプ判定部43、43’において、教師あり機械学習法による処理およびヒューリスティックな規則を用いた処理を組み合わせた処理を行うようにしてもよい。すなわち、解答タイプ推定規則または解答タイプ判定規則の中に、「機械学習法による処理による推定結果が解答タイプ推定規則または解答タイプ判定規則にもとづいてなされた推定結果・判定結果と一致する場合に、高い評価点を付与する」旨の規則を定めておく。
【0071】
なお、下記の参考文献1に、機械学習法を用いた質問応答システムが説明されている。[参考文献1:前田英作、「パターン認識/統計的学習からみた質問応答」、言語理解とコミュニケーション研究会 講習会資料、電子情報通信学会 言語理解とコミュニケーション研究会(NLC)、2003年1月27日、p.29-64]
〔具体例〕
以下に、本発明による具体的な処理例を従来の処理方法による処理例とともに説明する。
【0072】
第1の処理例および第2の処理例は、本発明との比較のための従来方法による処理とする。第1の処理例では、異なる記事から抽出された同一の言語表現である解答候補が複数存在する場合であっても、解答候補の評価点の加算を行わないで解答を評価する。第2の処理例では、同一の言語表現である解答候補の評価点を単純に加算して、その解答候補を評価する。
【0073】
第3の処理例および第4の処理例は、本発明による処理例とする。第3の処理例では、同一の言語表現である解答候補の評価点を前記の第1の集計方法によって集計し、その解答候補を評価する。第4の処理例では、解答候補の評価点を前記の第2の集計方法によって集計し、その解答候補を評価する。
【0074】
第1~第4の処理例は、以下の参照文献1に示すように、入力する質問文は「日本の面積はどのくらいですか。」であるとし、解答の検索対象となる文書データベース2として、毎日新聞社の新聞記事1998-1999年分の新聞記事コーパスを使用した[参考文献2:Masaki Murata, Masao Utiyama, and Hitoshi Isahara 、"A Question-Answering System Using Unit Estimation and Probabilistic Near-Terms IR" 、National Institute of Informatics(国立情報学研究所)、NTCIR Workshop 3 Meeting( 第3回NTCIRワークショップ・ミーティング) 、2002]。
【0075】
また、各処理例では、図1に示す構成を備える質問応答システム1において各処理手段が以下のような具体的な処理を行うような複数のシステムを用意して、処理を行った。
【0076】
第1の質問応答システムは、参考文献2に開示した処理を実行するシステムであって、その処理概要は、以下のとおりである(参考文献2、第3.4節参照)。
【0077】
解答タイプ推定処理:
まず、所定の質問文を入力し、人手により用意した解答タイプ推定規則を参照して質問文の表現から解答タイプを推定する。
【0078】
文書検索処理:
さらに、質問文から形態素解析処理によりキーワードを抽出し、これらのキーワードを用いて、前記新聞記事コーパスの文書データを分割することなく全文単位で検索する。キーワードを含む文書データを抽出する。
【0079】
解答候補抽出処理:
抽出した文書データから解答となりうる言語表現を抽出して解答候補とし、解答候補とキーワードとの出現の近接性にもとづいて、所定の式(ここでは、参考文献2に記載されているScorenear1 )を用いて解答候補に評価点p1 を付与する。解答候補がキーワードに近接して出現するほど高い評価となるように、評価点p1 が計算される。
【0080】
また、所定の解答タイプ判定規則を参照して、解答候補が、解答タイプ推定処理で推定された解答タイプに類似するか否かを判定し、解答候補が推定された解答タイプに類似するほど高い評価となるように、評価点p2 を付与する。特に、解答候補が推定された解答タイプと同じであれば、特に高い評価点(1,000点)を付与する。
【0081】
なお、解答タイプ判定規則の中に、所定の教師データを与えた機械学習法による処理結果と解答タイプ判定規則による判定結果とが合致した場合に高い評価点(1,000点)を付与するという規則を設けておき、この規則を満足する解答候補に高い評価点(1,000点)を付与する。これにより、機械学習法による処理とヒューリスティックな規則を用いた処理とを組み合わせて解答候補の解答タイプを判定する。
【0082】
第2の質問応答システムは、前記の第1の質問応答システムとほぼ同様の処理を実行する。
【0083】
第2の質問応答システムは、解答候補抽出処理において、解答候補の意味的な情報を使用した処理を行わない。すなわち、解答候補の解答タイプを判定せず、解答候補の評価点p2 の計算を行わないで、評価点p1 のみをもとに解析候補から解答を抽出する。
【0084】
第3の質問応答システムは、解答候補抽出処理において、解答候補とキーワードとの近接性を用いずに解答候補およびキーワードの同一の文書データ内における出現にもとづいて解答候補に評価点を付与する。ここでは、参考文献2に記載されているScorenear2 においてk=1とする式を用いて評価点p1 を計算する。
【0085】
第4の質問応答システムは、前記の第3の質問応答システムとほぼ同様の処理を実行する。第4の質問応答システムは、文書検索処理において、検索対象である文書データをあらかじめ段落ごとに分割してから検索を行い、解答候補とキーワードとの出現を段落単位で判定して評価を行う。
【0086】
第5の質問応答システムは、前記の第1の質問応答システムとほぼ同様の処理を実行する。第5の質問応答システムは、文書検索処理において、検索対象である文書データをあらかじめ段落ごとに分割してから検索を行い、解答候補とキーワードとの出現の近接性を段落単位で判定して評価を行う。
【0087】
以下に、第1の処理例ないし第4の処理例を説明する。問題設定Task1およびTask2の2つを用いて処理を行なった。質問文の総数は、それぞれ200個であった(参考文献2参照)。
【0088】
〔第1の処理例〕
第1の処理例では、第1~第5の質問応答システムにおいて、異なる記事から抽出された同一の言語表現である解答候補が複数存在する場合であっても、解答候補の評価点の加算を行わず、各解答候補に付与された評価点にもとづいて解答を選択した。
【0089】
〔第2の処理例〕
第2の処理例では、解答候補抽出処理後に、評価点集計処理を行うようにした。
【0090】
評価点集計処理において、異なる記事から抽出された同一の言語表現である解答候補の評価点Pを単純に加算してその解答候補の評価点とし、解答候補に付与された評価点にもとづいて解答を選択した。
【0091】
なお、前記したように、推定した解答タイプと合致するとみなしうる解答候補に高い評価点(1,000点)を付与しているため、1,000点単位で解答候補の評価が大きく変わるようにしている。そのため、評価点の1,000(千)の位より上位の桁の値に影響を与えないようにするため、評価点から1,000(千)の位よりも下位(百)の桁の値を取り出し、取り出した値(評価点)を加算する。その後、解答候補の評価点Pの残った1,000(千)の位以上の桁の値および加算した1,000(千)の位よりも下位桁(百)の値を合算して、その解答候補の評価点Pとする。また、1,000(千)の位以上の桁の値が異なる解答候補の評価点は加算しない。
【0092】
例えば、同じ言語表現の解答候補Aが二か所で出現し、それぞれの評価点が1,025と1,016であったとすると、解答候補Aの評価点は1 ,041となる。また、同じ言語表現の解答候補Bが二か所で出現し、2,025と2,016の評価点であったとすると、解答候補Bの評価点は2,041となる。また、解答候補Cが二か所で出現し、それぞれの評価点が2,025と1,016であったとすると、解答候補Cの評価点は2,025となる。
【0093】
〔第3の処理例〕
第3の処理例では、解答候補抽出処理後に、評価点集計処理を行うようにした。
【0094】
評価点集計処理において、異なる記事から抽出された同一の言語表現である解答候補の評価点Pを、本発明の第1の集計方法にもとづいて集計してその解答候補の評価点とし、解答候補に付与された評価点にもとづいて解答を選択した。
【0095】
第2の処理例と同様に、抽出した解答候補の評価点Pを1,000(千)の位の桁で分割して、下位の桁の値について加算を行なった。
【0096】
評価点集計処理において、以下の式のbに種々の値を代入して評価点Scoreを求めた。
【0097】
Score=Σ(1+b)*b/(i+b)/(i+b-1)*Pointi
(Σは、iが1からnまでの値をとる場合の総和)
例えば、解答候補Dが二か所で出現し、それぞれの評価点が2,025と2,016であったとする。それぞれの評価点の1000以下の桁の値である25および16をPoint1 、Point2 として取り出す。
【0098】
b=1の場合には、最終的に解答候補Dの評価点は、2,030.33となる。
【0099】
Score=Σ(1+b)*b/(i+b)/(i+b-1)*Pointi
Score=(1+1)*1/(1+1)/(1+1-1)*25+
(1+1)*1/(2+1)/(2+1-1)*16
=30.33
また、b=0.1の場合には、最終的に解答候補Dの評価点は、2025.76となる。
【0100】
Score=Σ(1+b)*b/(i+b)/(i+b-1)*Pointi
Score=(1+0.1)*0.1/(1+0.1)/(1+0.1-1)*25+
(1+0.1)*0.1/(2+0.1)/(2+0.1-1)*16
=25.76
〔第4の処理例〕
第4の処理例では、解答候補抽出処理後に、評価点集計処理を行うようにした。
【0101】
評価点集計処理において、異なる記事から抽出された同一の言語表現である解答候補の評価点Pを、本発明の第2の集計方法にもとづいて集計してその解答候補の評価点とし、解答候補に付与された評価点にもとづいて解答を選択した。
【0102】
第2の処理例と同様に、抽出した解答候補の評価点Pを1,000(千)の位の桁で分割して、下位の桁の値について加算を行なった。
【0103】
評価点集計処理において、以下の式のkに種々の値を代入して評価点Scoreを求めた。
【0104】
Score=Σki-1 * Pointi
(Σは、iが1からnまでの値をとる場合の総和)
例えば、解答候補Dが二か所で出現し、それぞれの評価点が2,025と2,016の評価点であったとする。それぞれの評価点の1,000(千)の位以下の桁の値である25および16をPoint1 、Point2 として取り出す。
【0105】
k=0.1の場合には、最終的に解答候補Dの評価点は、2,026.6となる。
【0106】
Score=25+16*0.1
=26.6
また、k=0.01の場合には、最終的に解答候補Dの評価点は、2025.16となる。
【0107】
Score=25+16*0.01
=25.16
前記の第1~第5の質問応答システムにおける第1~第4の処理例の評価手法として、問題設定Task1およびTask2に対する処理精度を、Task1についてはMRRと呼ばれる評価尺度で評価し、Task2についてはMFと呼ばれる評価尺度で評価した。
【0108】
MRRは、質問応答システムに5個の解を順序付けて出力させ、r個目で正解を出すと1/rの精度を得るものである。各質問文でこのような値を得て、これを200個の質問文の個数で割ったものを処理精度とした。
【0109】
MFは、各設問をF-measureで精度を求め、これを200個の質問文で平均したものである。F-measureは再現率の逆数と適合率の逆数の平均の逆数である。再現率は、各質問応答システムが正解した解の個数を正解の解の個数で割ったものである。適合率は、各質問応答システムが正解した解の個数をシステムが出力した解答の個数で割ったものである。
【0110】
Task2では、例えば「国連の常任理事国はどこか」のように複数の言語表現が解答となりうるような質問文を評価することが可能な問題設定である。Task2では、複数の解答を出力することができるため、MFの評価尺度を用いて処理精度を調べる。第1~第5の質問応答システムのような構成を持つ質問応答システムでは、評価点の高い上位の何個かの解答または最上位の解答の評価点からあらかじめ定めた評価点差の解答までを解答とすることで複数の解答を答えることができる。しかし、ここでは、説明を簡単にするため、第1~第5の質問応答システムは、最上位の解答一個のみを出力する構成にしている。
【0111】
図3ないし図7に、問題設定Task1およびTask2に対する各処理例における処理精度を示す。
【0112】
図3は第1の質問応答システムにおける処理精度を示す図、図4は第2の質問応答システムにおける処理精度を示す図、図5は第3の質問応答システムにおける処理精度を示す図、図6は第4の質問応答システムにおける処理精度を示す図、図7は第5の質問応答システムにおける処理精度を示す図である。
【0113】
第2~第5の質問応答システムはいずれも、第1の質問応答システムより処理性能が低くなるような処理手段の構成とした。このような性能の劣る質問応答システムにおいても、第3の処理例および第4の処理例で本発明の効果を確認するためである。
【0114】
第1の質問応答システムにおいて、単純に評価点を加算するだけの第2の処理例では、第1の処理例よりも処理精度が下がった。しかし、第3および第4の質問応答システムにおいて、第2の処理例は、第1の処理例よりも高い処理精度を得ていることが確認できる。
【0115】
キーワードと解候補の近接性の情報を用いない性能の低い第3および第4の質問応答システムでは、単純に加算するだけでも精度があがる。質問応答システムの種類によっては、単純に評価点を加算する第2の処理例のような場合でも処理精度があがることがあることがわかる。ただし、そのような質問応答システムであっても、第3の処理例および第4の処理例において使用する式のbまたはkの値を適切に調節することにより、単純に加算する第2の処理例よりも高い処理精度を得ることができる。
【0116】
第1および第5の質問応答システムでは、解答候補の評価点を単純に加算する第2の処理例(従来手法)については、解答候補の評価点の集計を行わない第1の処理例よりも、処理精度が下がってしまう場合があることが判る。すなわち、評価点の単純な加算処理の手法では、出現する頻度が高い解答候補が選ばれやすいという傾向がある。しかし、処理性能のよい質問応答システムでは、抽出処理の結果である元来の評価点の方が信頼できる場合が多く、第2の処理例のように、評価点の単純な加算によって、逆に質問応答システムの性能が下がることが判る。
【0117】
特に、第1の質問応答システムでは、第3の処理例について、第1の処理例すなわち従来手法による処理例に対して、最大でTask1で0.06、Task2で0.07の精度向上があり、本発明による処理例のうち格別の効果を奏することがわかる。
【0118】
また、第1の集計方法におけるbの値、または第2の集計方法におけるkの値が0.1から0.5の範囲となるときは、第2の質問応答システム以外では、本発明の第3の処理例または第4の処理例を用いた場合の処理精度は、従来手法の第1の処理例または第2の処理例を用いた場合の処理精度よりも常に高かった。したがって、式のbまたはkの値は、それぞれ約0.1から約0.5までの範囲をとる場合が好適であり、本発明は、従来の処理手法に比べて、安定した処理精度の向上を実現できることがわかり、多くの種類の質問応答システムに対して有効であると考えられる。
【0119】
なお、解答候補の評価点を単純に加算する従来の処理手法では、評価点の個数nが無限になったときは、加算した評価点の値も無限になってしまい、加算の影響が強すぎる。これに対し、本発明では、解答候補の評価点ごとに重み付けを行う際に、評価点の個数nが無限になっても加算した評価点が有限の値でおさまるようになっているため、頻度に応じた重み付けとしては適正な重み付けを実現することができる。
【0120】
また、本発明は、コンピュータにより読み取られ実行される処理プログラムとして実施することが可能である。本発明を実現する処理プログラムは、コンピュータが読み取り可能な、可搬媒体メモリ、半導体メモリ、ハードディスクなどの適当な記録媒体に格納することができ、これらの記録媒体に記録して提供され、または、通信インタフェースを介して種々の通信網を利用した送受信により提供されるものである。
【図面の簡単な説明】
【0121】
【図1】本発明の質問応答システムの構成例を示す図である。
【図2】本発明の処理の流れを示す図である。
【図3】所定の問題設定に対する各処理例における処理精度を示す図である。
【図4】所定の問題設定に対する各処理例における処理精度を示す図である。
【図5】所定の問題設定に対する各処理例における処理精度を示す図である。
【図6】所定の問題設定に対する各処理例における処理精度を示す図である。
【図7】所定の問題設定に対する各処理例における処理精度を示す図である。
【符号の説明】
【0122】
1 質問応答システム
10 質問文入力部
20 解答タイプ推定部
30 文書検索部
40 解答候補抽出部
41 解答候補切り出し部
42 解答候補/キーワード近接性評価部
43 解答候補の解答タイプ判定部
44 解答候補評価点算出部
45 解答候補評価点集計部
50 解答出力部
2 文書データベース
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6