(57)【要約】【課題】  質問応答システムで、出現頻度の高い解答候補を良く評価しやすい悪影響を軽減して解答候補の抽出精度を向上させる。【解決手段】  解答タイプ推定部２０は質問文から解答の解答タイプを推定し、文書検索部３０は質問文からキーワードを抽出して文書データベース２を検索する。解答候補抽出部４０は、抽出文書データから解答となりうる言語表現（解答候補）を抽出して評価点を付与する。同一の言語表現である解答候補が複数あれば、それらの評価点を評価のよい順に並べ、各評価点に対して処理する値が逓減するような重み付けを用いて評価点の値を計算し、その値の総和をその解答候補の評価点とする。解答出力部５０は、集計された評価点が所定の評価以上である解答候補を解答として出力する。【選択図】図１
2005122533.tif 000002
【特許請求の範囲】
【請求項１】
自然言語で表現された質問文データを入力し、解答の検索対象である文書データ群から質問文データに対する解答を出力する質問応答システムであって、
入力した質問文データの言語表現を解析し、前記質問文データに対して解答となりうる言語表現の類型である解答タイプを推定する解答タイプ推定手段と、
前記質問文データからキーワードを抽出し、前記文書データ群から前記キーワードを含む文書データを検索、抽出する文書検索手段と、
前記文書データから前記解答となりうる言語表現を抽出して解答候補とし、前記解答候補に評価点を付与する解答候補評価点算出手段と、
同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点の値を計算し、前記値の総和を前記同一の言語表現である解答候補の評価点とする解答候補評価点集計手段と、
前記解答候補評価点集計手段で集計された評価点が所定の評価以上である解答候補を解答として出力する解答出力手段とを備える
ことを特徴とする質問応答システム。
【請求項２】
前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、ｎは同一の言語表現の解答候補の個数とし、Ｐｏｉｎｔi （１≦ｉ≦ｎ）は前記解答候補の評価点の順序とし、第１式：
Ｓｃｏｒｅ＝Σ  １／（ｉ＋ｂ）／（ｉ＋ｂ−１）＊Ｐｏｉｎｔi   （Σは、ｉが１からｎまでの値をとる場合の総和）
を計算して、前記同一の言語表現である解答候補の評価点とする処理を行う
ことを特徴とする請求項１記載の質問応答システム。
【請求項３】
前記解答候補評価点集計手段は、前記第１式のｂを０．１以上０．５以下のいずれかの値とする式を用いて前記評価点を計算する
ことを特徴とする請求項２記載の質問応答システム。
【請求項４】
前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、ｎは同一の言語表現の解答候補の個数とし、Ｐｏｉｎｔi （１≦ｉ≦ｎ）は前記解答候補の評価点の順序とし、第２式：
Ｓｃｏｒｅ＝Σ  ｋi-1 ＊Ｐｏｉｎｔi   （Σは、ｉが１からｎまでの値をとる場合の総和）
を計算して、前記同一の言語表現である解答候補の評価点とする処理を行う
ことを特徴とする請求項１記載の質問応答システム。
【請求項５】
前記解答候補評価点集計手段は、前記第２式のｋを０．１以上０．５以下のいずれかの値とする式を用いて前記評価点を計算する
ことを特徴とする請求項４記載の質問応答システム。
【請求項６】
自然言語で表現された質問文データを入力し、解答の検索対象である文書データ群から質問文データに対する解答を出力する質問応答処理方法であって、
入力した質問文データの言語表現を解析し、前記質問文データに対する解答となりうる言語表現の類型である解答タイプを推定する解答タイプ推定処理過程と、
前記質問文データからキーワードを抽出し、前記文書データ群から前記キーワードを含む文書データを検索、抽出する文書検索処理過程と、
前記文書データから前記解答となりうる言語表現を抽出して解答候補とし、前記解答候補に評価点を付与する解答候補評価点算出処理過程と、
同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点の値を計算し、前記値の総和を前記同一の言語表現である解答候補の評価点とする解答候補評価点集計処理過程と、
前記解答候補評価点集計処理過程で集計された評価点が所定の評価以上である解答候補を解答として出力する解答出力処理過程とを備える
ことを特徴とする質問応答処理方法。
【請求項７】
前記解答候補評価点集計処理過程において、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、ｎは同一の言語表現の解答候補の個数とし、Ｐｏｉｎｔi （１≦ｉ≦ｎ）は前記解答候補の評価点の順序とし、第１式：
Ｓｃｏｒｅ＝Σ  １／（ｉ＋ｂ）／（ｉ＋ｂ−１）＊Ｐｏｉｎｔi （Σは、ｉが１からｎまでの値をとる場合の総和）
を計算して、前記同一の言語表現である解答候補の評価点とする処理を行う
ことを特徴とする請求項６記載の質問応答処理方法。
【請求項８】
前記解答候補評価点集計処理過程において、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、ｎは同一の言語表現の解答候補の個数とし、Ｐｏｉｎｔi （１≦ｉ≦ｎ）は前記解答候補の評価点の順序とし、第２式：
Ｓｃｏｒｅ＝Σ  ｋi-1 ＊Ｐｏｉｎｔi   （Σは、ｉが１からｎまでの値をとる場合の総和）
を計算して、前記同一の言語表現である解答候補の評価点とする処理を行う
ことを特徴とする請求項６記載の質問応答処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータによる自然言語処理システムとして、自然言語で表現された質問文に対する解答を出力する質問応答システムに関する。さらに詳しくは、解答の候補を抽出する際に、同一の言語表現である複数の解答候補の評価点を加算してその評価点とし、所定の評価点が付与された解答候補を解答として出力する質問応答システムに関するものである。
【０００２】
質問応答システムとは、自然言語による質問を入力すると、その解答そのものを出力するシステムである。例えば、「パーキンソン病の兆候は脳のどの部分にある細胞の死が関係していますか。」という質問を入力すると、Ｗｅｂ、新聞記事、事典などのデータを含む大量の電子化テキストから「パーキンソン病は、中脳の黒質にあるメラニン細胞が変性し、黒質細胞内で作られる神経伝達物質のドーパミンがなくなり発病する、とされている。」といった文を探し出し、「黒質」と的確に解答を出力する。
【０００３】
質問応答システムは、論理式やデータベースでなく、自然言語で書かれた普通の文（テキストデータ）から解答を取り出すことができるため、大量の既存の文書データを利用することができる。
【０００４】
また、質問応答システムは、キーワードで検索した記事から解を探す必要がある情報検索システムなどと異なって、解自体を的確に出力するため、ユーザがより早く解の情報を得ることができる。
【０００５】
また、質問応答システムは、解自体を自動で出力するため、他の自動の知識処理システムの内部での知識処理システムとして利用することも可能であり、人工知能システムを作成する場合には最低限必要な処理技術であると考えられる。
【０００６】
このように有用な質問応答システムは、将来的に知的処理・知識処理の根幹システムとなると考えられ、処理能力の向上が期待されている。
【背景技術】
【０００７】
一般的な質問応答システムは、おおまかに、解答表現推定処理、文書検索処理、解答抽出処理という３つの処理手段で構成されている。
【０００８】
解答表現推定処理は、入力した質問文中の疑問代名詞の表現などに基づいて解答表現を推定する処理である。解答表現とは、所望される解答の言語表現の類型である。
【０００９】
質問応答システムは、予め、どのような質問文の言語表現がどのような解答表現を要求しているかという対応関係を定めておく。そして、例えば入力した質問文が「日本の面積はどのくらいですか」である場合には、所定の対応関係を参照して、質問文中の「どのくらい」という表現から解答表現は「数値表現」であろうと推定する。また、質問文が「日本の首相はだれですか」という場合には、質問文中の「だれ」という表現から、解答表現は「固有名詞（人名）」であろうと推定する。
【００１０】
文書検索処理は、質問文からキーワードを取り出し、取り出したキーワードを用いて文書データ群を検索し、解答が記述されていると考えられる文書データを抽出する処理である。
【００１１】
質問応答システムは、例えば、入力の質問文が「日本の面積はどのくらいですか」である場合に、質問文から「日本」および「面積」をキーワードとして抽出し、検索対象とするさまざまな文書データ群から、抽出したキーワード「日本」および「面積」を含む文書データを検索する。
【００１２】
解答抽出処理は、文書検索処理で抽出されたキーワードを含む文書データから、推定した解答表現に適合する言語表現を抽出し、それを解答として出力する処理である。
【００１３】
質問応答システムは、例えば、文書検索処理において検索されたキーワード「日本」および「面積」を含む文書データから、解答表現推定処理において推定した「数値表現」にあたる言語表現を解答として抽出する。
【００１４】
前記のような処理を行うことにより、質問応答システムは、質問文「日本の首都はどこですか」に対して解答「東京」を出力する。
【００１５】
現在では、解答を出力する場合に、解答の候補に適合度など解答候補の評価を示す得点（評価点）を付与しておき、所定の評価点を得た解答候補を解答として出力する質問応答システムも存在する。例えば、質問文「日本の首都はどこですか」に対する解答候補に評価点を付与する場合に、解答候補データとして、「順位；解答候補；評価点；解答候補を取り出した文書データ識別情報（文書番号）」が以下のように出力されるとする。
【００１６】
１；京都；３．３；文書番号１３４、
２；東京；３．２；文書番号１２、
３；東京；２．８；文書番号４５５、
４；東京；２．５；文書番号３７１、
５；東京；２．４；文書番号２２１、
６；北京；２．２；文書番号１１３。
【００１７】
そして、質問応答システムが、第１位の解答候補を採用し、解答として「京都」を出力すれば、正解は「東京」であるから、間違った解答を出力することになる。
【００１８】
そこで、解答探索の対象となる文書データ内で、質問の内容に関する表現と共に多くの箇所に出現する言語表現は、その質問についてより関連性があると考えられ、質問の解答により適合しうるとの考えにもとづいて、異なる文書データまたは文書データ内の別の箇所に出現している言語表現が同じ解答候補については、各解答候補の評価点をそれぞれ加算し、その総和を解答候補の評価点とするという手法がある（例えば、非特許文献１参照）。
【非特許文献１】Toru Takaki, Yoshio Eriguchi、「NTTDATA Question-Answering EXperiment at the NTCIR-3 QAC」、National Institute of Informatics(国立情報学研究所）、The NTCIR Workshop 3 Meeting( 第３回ＮＴＣＩＲワークショップ・ミーティング) 、２００２年１０月、ｐ．９５−１００
【発明の開示】
【発明が解決しようとする課題】
【００１９】
質問文「日本の首都はどこですか」に対する前記の解答候補の例において、従来の手法によって、解答候補の評価点を単純に加算して集計する。前記の解答候補のうち、４つの文書データもしくは４つの箇所に出現した解答候補「東京」のそれぞれに与えられた評価点を集計して解答候補「東京」の評価点とすると、質問文に対する各解答候補の評価順序は以下のようになる。
【００２０】
１；東京；１０．９；文書番号１２，４５５，３７１，２２１、
２；京都；３．３；文書番号１３４、
３；北京；２．２；文書番号１１３。
【００２１】
そして、質問応答システムでは第１位の解答候補「東京」が採用されるため、質問応答システムが出力した解答は正しいことになる。
【００２２】
しかし、前記の非特許文献１に示された技術のように、解答探索の対象である文書データから抽出された解答候補の評価点を、同じ言語表現の解答候補ごとに単純に加算し、所定の程度以上に良い評価点が付与された解答候補を解答として採用するという手法においては、文書データ内に出現する頻度が高い言語表現が解答として選択されやすく、必ずしも解答の精度が向上しないという問題がある。
【００２３】
特に、解答候補抽出処理自体の精度が良いような質問応答システムに、単純な評価点加算処理の手法を適用した場合には、この問題は深刻なものとして顕在化する。
【００２４】
高精度の解答候補抽出処理では本来の処理で付与された評価点の信頼性が高いにもかかわらず、この解答候補抽出処理に従来のような評価点の加算手法を適用することによって解答候補の評価点を単純に加算して求めた合計点にもとづいて解答候補の抽出を行うことにすれば、その評価自体は低いが多数出現するような解答候補の評価が上がってしまい、かえって処理精度を低下させてしまうことになるからである。
【００２５】
本発明は、かかる問題点に鑑みてなされたものであり、その目的は、同じ解答候補の評価点を集計することにより解答候補の抽出精度の向上を図りつつ、出現頻度の高い解答候補の評価が良くなりやすいという悪影響を軽減できる解答候補の抽出手法を実現するものである。
【課題を解決するための手段】
【００２６】
上記の目的を達成するため、本発明は、自然言語で表現された質問文データを入力し、解答の検索対象である文書データ群から質問文データに対する解答を出力する質問応答システムであって、入力した質問文データの言語表現を解析し、前記質問文データに対して解答となりうる言語表現の類型である解答タイプを推定する解答タイプ推定手段と、前記質問文データからキーワードを抽出し、前記文書データ群から前記キーワードを含む文書データを検索、抽出する文書検索手段と、前記文書データから前記解答となりうる言語表現を抽出して解答候補とし、前記解答候補に評価点を付与する解答候補評価点算出手段と、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点の値を計算し、前記値の総和を前記同一の言語表現である解答候補の評価点とする解答候補評価点集計手段と、前記解答候補評価点集計手段で集計された評価点が所定の評価以上である解答候補を解答として出力する解答出力手段とを備える。
【００２７】
本発明によれば、入力した質問文データの言語表現を解析し、前記質問文データに対して解答となりうる言語表現の類型である解答タイプを推定する。そして、前記質問文データからキーワードを抽出し、前記文書データ群から前記キーワードを含む文書データを検索・抽出する。さらに、前記文書データから前記解答となりうる言語表現を抽出して解答候補とし、前記解答候補に評価点を付与する。そして、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点の値を計算し、前記値の総和を前記同一の言語表現である解答候補の評価点とし、前記解答候補評価点集計手段で集計された評価点が所定の評価以上である解答候補を解答として出力する。
【００２８】
さらに、上記のような構成をとる質問応答システムにおいて、前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、ｎは同一の言語表現の解答候補の個数とし、Ｐｏｉｎｔi （１≦ｉ≦ｎ）は前記解答候補の評価点の順序とし、
第１式：Ｓｃｏｒｅ＝Σ  １／（ｉ＋ｂ）／（ｉ＋ｂ−１）＊Ｐｏｉｎｔi   （Σは、ｉが１からｎまでの値をとる場合の総和）
を計算して、前記同一の言語表現である解答候補の評価点とする処理を行う。
【００２９】
または、前記解答候補評価点集計手段は、同一の言語表現である解答候補ごとに評価点を集計する場合に、同一の言語表現である解答候補の評価点を評価のよい順に並べ、ｎは同一の言語表現の解答候補の個数とし、Ｐｏｉｎｔi （１≦ｉ≦ｎ）は前記解答候補の評価点の順序とし、
第２式：Ｓｃｏｒｅ＝Σ  ｋi-1 ＊Ｐｏｉｎｔi   （Σは、ｉが１からｎまでの値をとる場合の総和）を計算して、前記同一の言語表現である解答候補の評価点とする処理を行う。
【発明の効果】
【００３０】
本発明の質問応答システムによれば、抽出した同一の言語表現である解答候補に付与された評価点を集計するときに、付与された評価点を高い順に並べて、各評価点に対して処理する値が評価点の順位が下がるにつれて逓減するような重み付けを用いて前記評価点の値を計算して各評価点を加算していく。具体的には、解答候補を抽出する際に、同一の言語表現である解答候補の評価点を良い順に並べ、評価点の順位が下がるにつれて値が逓減するような重み付けを用いて各評価点Ｐの値を計算し、重み付けした評価点Ｐの値の総和を求める。
【００３１】
これにより、各解答候補の重み付け処理では、評価点Ｐは直上位の評価点Ｐに比べ、より大きな割合で減算されるようになる。したがって、当初の評価が低い解答候補の評価点ほど、集計された評価点の総和に対する影響が小さくなるため、解答抽出処理の処理精度に対する影響も小さくなる。
【００３２】
また、解答候補の評価において、同じ言語表現が多数の箇所で出現することを考慮しながらも、出現頻度が高い解答候補の評価が比較的良くなりやすいという悪影響を軽減できるため、解答候補抽出の処理精度が向上するという効果を奏する。
【発明を実施するための最良の形態】
【００３３】
以下、本発明を実施するための最良の形態を図を用いて説明する。
【００３４】
図１に、本発明の質問応答システム１の構成例を示す。質問応答システム１は、質問文入力部１０、解答タイプ推定部２０、文書検索部３０、解答候補抽出部４０、解答出力部５０、および文書データベース２を備える。
【００３５】
質問文入力部１０は、自然言語で表現された質問文を入力する手段である。
【００３６】
解答タイプ推定部２０は、質問文入力部１０によって入力された質問文を解析して、解答タイプ推定規則にもとづいて出力すべき解答の解答タイプを推定する手段である。
【００３７】
解答タイプおよび解答タイプ推定規則は、予め用意されるものとする。解答タイプは、出力すべき解答となりうる言語表現の類型であって、例えば、人名、地名、組織名などの固有名詞、数量、金額などの数値表現、時間表現などの類型が設定される。解答タイプ推定規則は、質問文の表現や質問文に含まれる疑問詞などの表現に応じて対応する解答の解答タイプが何であるかを推定するヒューリスティックな規則であって、例えば、以下のような規則が定義される。
【００３８】
1)  質問文に「誰」という表現がある場合に、解答タイプは「人名」である。
【００３９】
2)  質問文に「いつ」という表現がある場合に、解答タイプは「時間表現」である。
【００４０】
3)  質問文に「どのくらい」という表現がある場合に、解答タイプは「数値表現」である。
【００４１】
文書検索部３０は、質問文入力部１０によって入力された質問文から抽出したキーワードを用いて、解答探索の対象である文書データベース２から、キーワードを含む文書データを検索、抽出する手段である。文書検索部３０では、既知の一般的な文書検索手法が用いられる。
【００４２】
解答候補抽出部４０は、文書検索部３０によって検索された文書データから解答となりうる言語表現を評価点を付けて抽出して解答候補とし、取り出した解答候補の解答タイプを判定し、さらに解答候補の評価点を集計する手段である。解答候補抽出部４０は、解答候補切り出し部４１、解答候補／キーワード近接性評価部４２、解答候補の解答タイプ判定部４３、解答候補評価点算出部４４、解答候補評価点集計部４５から構成される。
【００４３】
解答候補切り出し部４１は、文書検索部３０によって検索された文書データから解答となりうる言語表現を抽出して解答候補を生成する手段である。
【００４４】
解答候補／キーワード近接性評価部４２は、抽出元の文書データ内における解答候補とキーワードとの近接性を確率的に評価し、その近接性にもとづく評価点ｐ1 を解答候補に付与する手段である。
【００４５】
解答候補の解答タイプ判定部４３は、所定の解答タイプ判定規則にもとづいて、解答候補切り出し部４１によって生成された解答候補の解答タイプを判定し、判定した解答タイプに応じた評価点ｐ2 を解答候補に付与する手段である。解答タイプ判定規則は、解答タイプ推定規則に解答タイプ同士の関連性を定義した規則である。解答候補の解答タイプ判定部４３は、判定した解答タイプが、解答タイプ推定部２０によって推定された解答タイプと同一であれば特に高く評価し、推定された解答タイプと関連性が強ければ強いほど高く評価する。
【００４６】
解答候補評価点算出部４４は、解答候補ごとに、解答候補／キーワード近接性評価部４２で付与された評価点ｐ1 および解答候補の解答タイプ判定部４３で付与された評価点ｐ2 を合計して評価点Ｐを算出する手段である。
【００４７】
解答候補評価点集計部４５は、抽出された解答候補中に同一の言語表現である解答候補が複数存在する場合に、同一の言語表現である解答候補ごとに評価点を集計する手段である。具体的には、解答候補評価点集計部４５は、同一の言語表現である解答候補の評価点Ｐを良い順に並べ、加算する評価点Ｐが逓減するような重み付けを各評価点Ｐに施し、重み付けした評価点Ｐの総和を計算する。これにより、各解答候補の重み付け処理において、評価点Ｐは、その直上位の評価点Ｐに比べ、より大きな割合で減算された値として加算される。したがって、当初の評価が低い解答候補の評価点ほど、集計された評価点の総和に対する影響が小さくなるため、本来の解答抽出処理の処理精度に対する影響も小さくなる。
【００４８】
解答出力部５０は、解答候補抽出部４０によって抽出され評価点が付与された解答候補の中から、所定の程度より高い評価点の解答候補を解答として出力する手段である。
【００４９】
図２に、本発明の処理の流れを示す。
【００５０】
質問応答システム１の質問文入力部１０は、質問文を入力し（ステップＳ１０）、解答タイプ推定部２０は、質問文の表現から解答タイプを推定する（ステップＳ１１）。解答タイプ推定部２０は、入力された質問文を形態素解析し、解析した疑問代名詞などの表現をもとに、所定の解答タイプ推定規則を参照して質問文に対する解答の解答タイプを推定する。例えば、入力した質問文が「日本の面積はどのくらいですか」である場合に、質問文から「どのくらい」という表現を取り出し、前記の解答タイプ推定規則を参照して、解答タイプは「数値表現」であると推定する。
【００５１】
そして、文書検索部３０は、質問文からキーワードを抽出し（ステップＳ１２）、抽出したキーワードを用いて文書データベース２を検索し、キーワードを含む文書データを抽出する（ステップＳ１３）。文書検索部３０は、入力された質問文「日本の面積はどのくらいですか」である場合に、質問文を形態素解析して質問文から「日本、面積」という名詞を切り出してキーワードとする。そして、キーワード「日本、面積」を用いて文書データベース２を検索し、キーワード「日本、面積」を含む文書データを抽出する。検索の結果、抽出された文書データが、質問文に対する解答を抽出する対象となる。  
【００５２】
次に、解答候補抽出部４０の解答候補切り出し部４１は、抽出された文書データから解答となりうる言語表現である解答候補を抽出する（ステップＳ１４）。例えば、解答候補切り出し部４１は、抽出された文書データからｎ−ｇｒａｍの文字列を切り出し、切り出した文字列から生成した言語表現の中から、名詞句、未知の語句、記号などと判定した言語表現を解答候補として抽出する。
【００５３】
さらに、解答候補／キーワード近接性評価部４２は、抽出された文書データにおいて、抽出した解答候補とキーワードとの出現箇所の近接性を判定し、その解答候補に評価点ｐ1 を付与する（ステップＳ１５）。ここで、検索された文書データ内において、解答候補がキーワードと近接して出現するほど、すなわち解答候補とキーワードとが狭い範囲内に出現するほど、解答候補とキーワードとは相互に関連性が高く、キーワードと関連性が高い解答候補が質問文に対する解答としてより良いものであることを前提とする。そして、解答候補／キーワード近接性評価部４２は、解答候補がキーワードに対して近接して出現するほど高い評価点ｐ1 を付与する。
【００５４】
さらに、解答候補の解答タイプ判定部４３は、ステップＳ１４の処理で抽出された解答候補の解答タイプを判定し、評価点ｐ2 を付与する（ステップＳ１６）。解答候補の解答タイプ判定部４３は、所定の解答タイプ判定規則を参照して解答候補の解答タイプを判定し、判定した解答タイプに応じて解答候補に評価点ｐ2 を付与する。解答候補の解答タイプが、ステップＳ１１の処理で推定された解答タイプと同一であると判定した場合には、その解答候補に最も高い評価点（例えば、１，０００点）を付与し、解答候補の言語表現が解答タイプとなりえないような言語表現である場合には、その解答候補にマイナスの評価点（例えば、−１，０００，０００）を付与する。
【００５５】
さらに、解答候補評価点算出部４４は、解答候補ごとに、評価点ｐ1 、評価点ｐ2 から評価点Ｐを算出する（ステップＳ１７）。解答候補評価点算出部４４は、解答候補ごとに、ステップＳ１５の処理で付与された評価点ｐ1 と、ステップＳ１６の処理で付与された評価点ｐ2 とを合計して、その解答候補の評価点Ｐとする。
【００５６】
その後、解答候補評価点集計部４５は、同一の言語表現の解答候補ごとに評価点Ｐを集計する（ステップＳ１８）。解答候補評価点集計部４５は、ステップＳ１４の処理で抽出された解答候補の中に同一の言語表現の解答候補が複数存在する場合に、それらの解答候補を１つにまとめて、１つの解答候補として評価点Ｓｃｏｒｅを付与する。
【００５７】
解答候補評価点集計部４５は、同一の言語表現である解答候補のそれぞれの評価点Ｐを評価が高い順に並べ、
Ｐｏｉｎｔi   （１≦ｉ≦ｎ）
ｎ＝同一の言語表現の解答候補の個数
とする。そして、以下の２つの方法のいずれかを用いて解答候補の評価点Ｐを加算し、評価点Ｓｃｏｒｅを集計する。
（１）第１の集計方法
Ｓｃｏｒｅ＝Σ（１＋ｂ）＊ｂ／（ｉ＋ｂ）／（ｉ＋ｂ−１）＊Ｐｏｉｎｔi 
（Σは、ｉが１からｎまでの値をとる場合の総和）
ここで、「（１＋ｂ）＊ｂ」は定数であって順序関係に影響を与えないため、省略可能なものである。
（２）第２の集計方法
Ｓｃｏｒｅ＝Σ  ｋi-1 ＊Ｐｏｉｎｔi 
（Σは、ｉが１からｎまでの値をとる場合の総和）
ここで、評価点Ｓｃｏｒｅは、重み付けした各評価点Ｐの総和であり、各解答候補の重み付けが、その直上位の評価点Ｐに対する重み付けに比べて、より大きな割合で減算されて加算される。
【００５８】
次に、解答出力部５０は、所定の値以上の評価点Ｓｃｏｒｅが付与された解答候補を選択し、解答として出力する（ステップＳ１９）。
【００５９】
さらに、本発明を、別の実施の形態により説明する。
【００６０】
別の実施の形態において、本発明の質問応答システム１’は、図１に示すものとほぼ同様の処理手段の構成を備えるが、解答タイプ推定部２０および解答候補の解答タイプ判定部４３の代わりに、解答タイプ推定部２０’および解答候補の解答タイプ判定部４３’を備える。
【００６１】
質問応答システム１’の解答タイプ推定部２０’および解答候補の解答タイプ判定部４３’では、所定の解答タイプを推定もしくは判定するためにヒューリスティックな規則を用いて処理を行う代わりに、教師あり機械学習法を利用して解答タイプを推定もしくは判定する。
【００６２】
この場合に、所定の解答タイプを用意し、問題ごとに正しい入力（質問文）と出力（推定する解答タイプ）の対のパターンをあらかじめ教師データ（学習データ）として人手で作成しておく。
【００６３】
解答タイプ推定部２０’は、まず、質問文と推定する解答タイプとの対である教師データを入力して質問文を所定の素性に解析し、機械学習処理によってどのような質問文の素性の場合にどのような解答タイプとなりやすいかを学習し、学習結果を記憶しておく。その後、解答タイプ推定部２０’は、質問文入力部１０により入力された質問文（入力）を同様に素性に解析して、各素性について、学習結果からその解答タイプとなりやすい確率を求め、最も確率が高い解答タイプを、その質問文の解答タイプ（出力）と推測する。
【００６４】
解答候補の解答タイプ判定部４３’は、解答タイプ推定部２０’と同様に、解答候補と判定する解答タイプとの対である教師データを入力して、機械学習処理によってどのような解答候補の場合にどのような解答タイプとなりやすいかを学習し、学習結果を記憶しておく。その後、解答候補の解答タイプ判定部４３’は、解答候補切り出し部４１によって生成された各解答候補について、各解答タイプとなりやすい確率を求め、最も確率が高い解答タイプをその解答候補の解答タイプと推測する。
【００６５】
解答タイプ推定部２０’または解答候補の解答タイプ判定部４３’において利用される機械学習法としては、例えば、最大エントロピー法、サポートベクトルマシン法などがある。
【００６６】
最大エントロピー法は、学習データにおける推定に用いられる情報の細かい単位である素性の出現の期待値と、未知データにおける素性の出現の期待値とが等しいという条件で確率分布のエントロピーが最大となる場合の確率分布を求め、求めた確率分布にもとづき素性の各出現パターンに対して各分類になる確率を求め、最大の確率を持つ分類先を求める分類とする処理手法である。
【００６７】
サポートベクトルマシン法は、空間を超平面で分割することにより２つの分類からなるデータを分類する手法であって、学習データにおける２つの分類の事例群と超平面との間隔（マージン) が大きいものほど未知データにおいて誤った分類をする可能性が低いとの考え方を前提にして、このマージンを最大にする超平面を求め、それを用いて分類を行なう。３つ以上の分類からなるデータを分類する場合には、複数のサポートベクトルマシンを組み合わせて処理する。
【００６８】
解答タイプ推定部２０’または解答候補の解答タイプ判定部４３’に機械学習処理機能を備える構成の場合には、学習データさえ用意すればあらゆる問題に適用することができ、汎用性の高い質問応答システム１’を実現することが可能となる。
【００６９】
また、解答タイプ推定部２０、２０’および解答候補の解答タイプ判定部４３、４３’において、教師あり機械学習法による処理またはヒューリスティックな規則を用いた処理のいずれかを行うようにしてもよい。
【００７０】
さらに、解答タイプ推定部２０、２０’および解答候補の解答タイプ判定部４３、４３’において、教師あり機械学習法による処理およびヒューリスティックな規則を用いた処理を組み合わせた処理を行うようにしてもよい。すなわち、解答タイプ推定規則または解答タイプ判定規則の中に、「機械学習法による処理による推定結果が解答タイプ推定規則または解答タイプ判定規則にもとづいてなされた推定結果・判定結果と一致する場合に、高い評価点を付与する」旨の規則を定めておく。
【００７１】
なお、下記の参考文献１に、機械学習法を用いた質問応答システムが説明されている。［参考文献１：前田英作、「パターン認識／統計的学習からみた質問応答」、言語理解とコミュニケーション研究会  講習会資料、電子情報通信学会  言語理解とコミュニケーション研究会（ＮＬＣ）、２００３年１月２７日、ｐ．２９−６４］
〔具体例〕
以下に、本発明による具体的な処理例を従来の処理方法による処理例とともに説明する。
【００７２】
第１の処理例および第２の処理例は、本発明との比較のための従来方法による処理とする。第１の処理例では、異なる記事から抽出された同一の言語表現である解答候補が複数存在する場合であっても、解答候補の評価点の加算を行わないで解答を評価する。第２の処理例では、同一の言語表現である解答候補の評価点を単純に加算して、その解答候補を評価する。
【００７３】
第３の処理例および第４の処理例は、本発明による処理例とする。第３の処理例では、同一の言語表現である解答候補の評価点を前記の第１の集計方法によって集計し、その解答候補を評価する。第４の処理例では、解答候補の評価点を前記の第２の集計方法によって集計し、その解答候補を評価する。
【００７４】
第１〜第４の処理例は、以下の参照文献１に示すように、入力する質問文は「日本の面積はどのくらいですか。」であるとし、解答の検索対象となる文書データベース２として、毎日新聞社の新聞記事１９９８−１９９９年分の新聞記事コーパスを使用した［参考文献２：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( 第３回ＮＴＣＩＲワークショップ・ミーティング) 、２００２］。
【００７５】
また、各処理例では、図１に示す構成を備える質問応答システム１において各処理手段が以下のような具体的な処理を行うような複数のシステムを用意して、処理を行った。
【００７６】
第１の質問応答システムは、参考文献２に開示した処理を実行するシステムであって、その処理概要は、以下のとおりである（参考文献２、第３．４節参照）。
【００７７】
解答タイプ推定処理：
まず、所定の質問文を入力し、人手により用意した解答タイプ推定規則を参照して質問文の表現から解答タイプを推定する。
【００７８】
文書検索処理：
さらに、質問文から形態素解析処理によりキーワードを抽出し、これらのキーワードを用いて、前記新聞記事コーパスの文書データを分割することなく全文単位で検索する。キーワードを含む文書データを抽出する。
【００７９】
解答候補抽出処理：
抽出した文書データから解答となりうる言語表現を抽出して解答候補とし、解答候補とキーワードとの出現の近接性にもとづいて、所定の式（ここでは、参考文献２に記載されているＳｃｏｒｅnear1 ）を用いて解答候補に評価点ｐ1 を付与する。解答候補がキーワードに近接して出現するほど高い評価となるように、評価点ｐ1 が計算される。
【００８０】
また、所定の解答タイプ判定規則を参照して、解答候補が、解答タイプ推定処理で推定された解答タイプに類似するか否かを判定し、解答候補が推定された解答タイプに類似するほど高い評価となるように、評価点ｐ2 を付与する。特に、解答候補が推定された解答タイプと同じであれば、特に高い評価点（１，０００点）を付与する。
【００８１】
なお、解答タイプ判定規則の中に、所定の教師データを与えた機械学習法による処理結果と解答タイプ判定規則による判定結果とが合致した場合に高い評価点（１，０００点）を付与するという規則を設けておき、この規則を満足する解答候補に高い評価点（１，０００点）を付与する。これにより、機械学習法による処理とヒューリスティックな規則を用いた処理とを組み合わせて解答候補の解答タイプを判定する。
【００８２】
第２の質問応答システムは、前記の第１の質問応答システムとほぼ同様の処理を実行する。
【００８３】
第２の質問応答システムは、解答候補抽出処理において、解答候補の意味的な情報を使用した処理を行わない。すなわち、解答候補の解答タイプを判定せず、解答候補の評価点ｐ2 の計算を行わないで、評価点ｐ1 のみをもとに解析候補から解答を抽出する。
【００８４】
第３の質問応答システムは、解答候補抽出処理において、解答候補とキーワードとの近接性を用いずに解答候補およびキーワードの同一の文書データ内における出現にもとづいて解答候補に評価点を付与する。ここでは、参考文献２に記載されているＳｃｏｒｅnear2 においてｋ＝１とする式を用いて評価点ｐ1 を計算する。
【００８５】
第４の質問応答システムは、前記の第３の質問応答システムとほぼ同様の処理を実行する。第４の質問応答システムは、文書検索処理において、検索対象である文書データをあらかじめ段落ごとに分割してから検索を行い、解答候補とキーワードとの出現を段落単位で判定して評価を行う。
【００８６】
第５の質問応答システムは、前記の第１の質問応答システムとほぼ同様の処理を実行する。第５の質問応答システムは、文書検索処理において、検索対象である文書データをあらかじめ段落ごとに分割してから検索を行い、解答候補とキーワードとの出現の近接性を段落単位で判定して評価を行う。
【００８７】
以下に、第１の処理例ないし第４の処理例を説明する。問題設定Ｔａｓｋ１およびＴａｓｋ２の２つを用いて処理を行なった。質問文の総数は、それぞれ２００個であった（参考文献２参照）。
【００８８】
〔第１の処理例〕
第１の処理例では、第１〜第５の質問応答システムにおいて、異なる記事から抽出された同一の言語表現である解答候補が複数存在する場合であっても、解答候補の評価点の加算を行わず、各解答候補に付与された評価点にもとづいて解答を選択した。
【００８９】
〔第２の処理例〕
第２の処理例では、解答候補抽出処理後に、評価点集計処理を行うようにした。
【００９０】
評価点集計処理において、異なる記事から抽出された同一の言語表現である解答候補の評価点Ｐを単純に加算してその解答候補の評価点とし、解答候補に付与された評価点にもとづいて解答を選択した。
【００９１】
なお、前記したように、推定した解答タイプと合致するとみなしうる解答候補に高い評価点（１，０００点）を付与しているため、１，０００点単位で解答候補の評価が大きく変わるようにしている。そのため、評価点の１，０００（千）の位より上位の桁の値に影響を与えないようにするため、評価点から１，０００（千）の位よりも下位（百）の桁の値を取り出し、取り出した値（評価点）を加算する。その後、解答候補の評価点Ｐの残った１，０００（千）の位以上の桁の値および加算した１，０００（千）の位よりも下位桁（百）の値を合算して、その解答候補の評価点Ｐとする。また、１，０００（千）の位以上の桁の値が異なる解答候補の評価点は加算しない。
【００９２】
例えば、同じ言語表現の解答候補Ａが二か所で出現し、それぞれの評価点が１，０２５と１，０１６であったとすると、解答候補Ａの評価点は1 ，０４１となる。また、同じ言語表現の解答候補Ｂが二か所で出現し、２，０２５と２，０１６の評価点であったとすると、解答候補Ｂの評価点は２，０４１となる。また、解答候補Ｃが二か所で出現し、それぞれの評価点が２，０２５と１，０１６であったとすると、解答候補Ｃの評価点は２，０２５となる。
【００９３】
〔第３の処理例〕
第３の処理例では、解答候補抽出処理後に、評価点集計処理を行うようにした。
【００９４】
評価点集計処理において、異なる記事から抽出された同一の言語表現である解答候補の評価点Ｐを、本発明の第１の集計方法にもとづいて集計してその解答候補の評価点とし、解答候補に付与された評価点にもとづいて解答を選択した。
【００９５】
第２の処理例と同様に、抽出した解答候補の評価点Ｐを１，０００（千）の位の桁で分割して、下位の桁の値について加算を行なった。
【００９６】
評価点集計処理において、以下の式のｂに種々の値を代入して評価点Ｓｃｏｒｅを求めた。
【００９７】
Ｓｃｏｒｅ＝Σ（１＋ｂ）＊ｂ／（ｉ＋ｂ）／（ｉ＋ｂ−１）＊Ｐｏｉｎｔi 
（Σは、ｉが１からｎまでの値をとる場合の総和）
例えば、解答候補Ｄが二か所で出現し、それぞれの評価点が２，０２５と２，０１６であったとする。それぞれの評価点の１０００以下の桁の値である２５および１６をＰｏｉｎｔ1 、Ｐｏｉｎｔ2 として取り出す。
【００９８】
ｂ＝１の場合には、最終的に解答候補Ｄの評価点は、２，０３０．３３となる。
【００９９】
Ｓｃｏｒｅ＝Σ（１＋ｂ）＊ｂ／（ｉ＋ｂ）／（ｉ＋ｂ−１）＊Ｐｏｉｎｔi 
Ｓｃｏｒｅ＝（１＋１）＊１／（１＋１）／（１＋１−１）＊２５＋
（１＋１）＊１／（２＋１）／（２＋１−１）＊１６
＝３０．３３
また、ｂ＝０．１の場合には、最終的に解答候補Ｄの評価点は、２０２５．７６となる。
【０１００】
Ｓｃｏｒｅ＝Σ（１＋ｂ）＊ｂ／（ｉ＋ｂ）／（ｉ＋ｂ−１）＊Ｐｏｉｎｔi 
Ｓｃｏｒｅ＝（１＋０．１）＊０．１／（１＋０．１）／（１＋０．１−１）＊２５＋
（１＋０．１）＊０．１／（２＋０．１）／（２＋０．１−１）＊１６
＝２５．７６
〔第４の処理例〕
第４の処理例では、解答候補抽出処理後に、評価点集計処理を行うようにした。
【０１０１】
評価点集計処理において、異なる記事から抽出された同一の言語表現である解答候補の評価点Ｐを、本発明の第２の集計方法にもとづいて集計してその解答候補の評価点とし、解答候補に付与された評価点にもとづいて解答を選択した。
【０１０２】
第２の処理例と同様に、抽出した解答候補の評価点Ｐを１，０００（千）の位の桁で分割して、下位の桁の値について加算を行なった。
【０１０３】
評価点集計処理において、以下の式のｋに種々の値を代入して評価点Ｓｃｏｒｅを求めた。
【０１０４】
Ｓｃｏｒｅ＝Σｋi-1 ＊  Ｐｏｉｎｔi  
（Σは、ｉが１からｎまでの値をとる場合の総和）
例えば、解答候補Ｄが二か所で出現し、それぞれの評価点が２，０２５と２，０１６の評価点であったとする。それぞれの評価点の１，０００（千）の位以下の桁の値である２５および１６をＰｏｉｎｔ1 、Ｐｏｉｎｔ2 として取り出す。
【０１０５】
ｋ＝０．１の場合には、最終的に解答候補Ｄの評価点は、２，０２６．６となる。
【０１０６】
Ｓｃｏｒｅ＝２５＋１６＊０．１  
＝２６．６
また、ｋ＝０．０１の場合には、最終的に解答候補Ｄの評価点は、２０２５．１６となる。
【０１０７】
Ｓｃｏｒｅ＝２５＋１６＊０．０１
＝２５．１６  
前記の第１〜第５の質問応答システムにおける第１〜第４の処理例の評価手法として、問題設定Ｔａｓｋ１およびＴａｓｋ２に対する処理精度を、Ｔａｓｋ１についてはＭＲＲと呼ばれる評価尺度で評価し、Ｔａｓｋ２についてはＭＦと呼ばれる評価尺度で評価した。
【０１０８】
ＭＲＲは、質問応答システムに５個の解を順序付けて出力させ、ｒ個目で正解を出すと１／ｒの精度を得るものである。各質問文でこのような値を得て、これを２００個の質問文の個数で割ったものを処理精度とした。
【０１０９】
ＭＦは、各設問をＦ−ｍｅａｓｕｒｅで精度を求め、これを２００個の質問文で平均したものである。Ｆ−ｍｅａｓｕｒｅは再現率の逆数と適合率の逆数の平均の逆数である。再現率は、各質問応答システムが正解した解の個数を正解の解の個数で割ったものである。適合率は、各質問応答システムが正解した解の個数をシステムが出力した解答の個数で割ったものである。
【０１１０】
Ｔａｓｋ２では、例えば「国連の常任理事国はどこか」のように複数の言語表現が解答となりうるような質問文を評価することが可能な問題設定である。Ｔａｓｋ２では、複数の解答を出力することができるため、ＭＦの評価尺度を用いて処理精度を調べる。第１〜第５の質問応答システムのような構成を持つ質問応答システムでは、評価点の高い上位の何個かの解答または最上位の解答の評価点からあらかじめ定めた評価点差の解答までを解答とすることで複数の解答を答えることができる。しかし、ここでは、説明を簡単にするため、第１〜第５の質問応答システムは、最上位の解答一個のみを出力する構成にしている。
【０１１１】
図３ないし図７に、問題設定Ｔａｓｋ１およびＴａｓｋ２に対する各処理例における処理精度を示す。
【０１１２】
図３は第１の質問応答システムにおける処理精度を示す図、図４は第２の質問応答システムにおける処理精度を示す図、図５は第３の質問応答システムにおける処理精度を示す図、図６は第４の質問応答システムにおける処理精度を示す図、図７は第５の質問応答システムにおける処理精度を示す図である。
【０１１３】
第２〜第５の質問応答システムはいずれも、第１の質問応答システムより処理性能が低くなるような処理手段の構成とした。このような性能の劣る質問応答システムにおいても、第３の処理例および第４の処理例で本発明の効果を確認するためである。
【０１１４】
第１の質問応答システムにおいて、単純に評価点を加算するだけの第２の処理例では、第１の処理例よりも処理精度が下がった。しかし、第３および第４の質問応答システムにおいて、第２の処理例は、第１の処理例よりも高い処理精度を得ていることが確認できる。
【０１１５】
キーワードと解候補の近接性の情報を用いない性能の低い第３および第４の質問応答システムでは、単純に加算するだけでも精度があがる。質問応答システムの種類によっては、単純に評価点を加算する第２の処理例のような場合でも処理精度があがることがあることがわかる。ただし、そのような質問応答システムであっても、第３の処理例および第４の処理例において使用する式のｂまたはｋの値を適切に調節することにより、単純に加算する第２の処理例よりも高い処理精度を得ることができる。
【０１１６】
第１および第５の質問応答システムでは、解答候補の評価点を単純に加算する第２の処理例（従来手法）については、解答候補の評価点の集計を行わない第１の処理例よりも、処理精度が下がってしまう場合があることが判る。すなわち、評価点の単純な加算処理の手法では、出現する頻度が高い解答候補が選ばれやすいという傾向がある。しかし、処理性能のよい質問応答システムでは、抽出処理の結果である元来の評価点の方が信頼できる場合が多く、第２の処理例のように、評価点の単純な加算によって、逆に質問応答システムの性能が下がることが判る。
【０１１７】
特に、第１の質問応答システムでは、第３の処理例について、第１の処理例すなわち従来手法による処理例に対して、最大でＴａｓｋ１で０．０６、Ｔａｓｋ２で０．０７の精度向上があり、本発明による処理例のうち格別の効果を奏することがわかる。
【０１１８】
また、第１の集計方法におけるｂの値、または第２の集計方法におけるｋの値が０．１から０．５の範囲となるときは、第２の質問応答システム以外では、本発明の第３の処理例または第４の処理例を用いた場合の処理精度は、従来手法の第１の処理例または第２の処理例を用いた場合の処理精度よりも常に高かった。したがって、式のｂまたはｋの値は、それぞれ約０．１から約０．５までの範囲をとる場合が好適であり、本発明は、従来の処理手法に比べて、安定した処理精度の向上を実現できることがわかり、多くの種類の質問応答システムに対して有効であると考えられる。
【０１１９】
なお、解答候補の評価点を単純に加算する従来の処理手法では、評価点の個数ｎが無限になったときは、加算した評価点の値も無限になってしまい、加算の影響が強すぎる。これに対し、本発明では、解答候補の評価点ごとに重み付けを行う際に、評価点の個数ｎが無限になっても加算した評価点が有限の値でおさまるようになっているため、頻度に応じた重み付けとしては適正な重み付けを実現することができる。
【０１２０】
また、本発明は、コンピュータにより読み取られ実行される処理プログラムとして実施することが可能である。本発明を実現する処理プログラムは、コンピュータが読み取り可能な、可搬媒体メモリ、半導体メモリ、ハードディスクなどの適当な記録媒体に格納することができ、これらの記録媒体に記録して提供され、または、通信インタフェースを介して種々の通信網を利用した送受信により提供されるものである。
【図面の簡単な説明】
【０１２１】
【図１】本発明の質問応答システムの構成例を示す図である。
【図２】本発明の処理の流れを示す図である。
【図３】所定の問題設定に対する各処理例における処理精度を示す図である。
【図４】所定の問題設定に対する各処理例における処理精度を示す図である。
【図５】所定の問題設定に対する各処理例における処理精度を示す図である。
【図６】所定の問題設定に対する各処理例における処理精度を示す図である。
【図７】所定の問題設定に対する各処理例における処理精度を示す図である。
【符号の説明】
【０１２２】
１  質問応答システム
１０  質問文入力部
２０  解答タイプ推定部
３０  文書検索部
４０  解答候補抽出部
４１  解答候補切り出し部
４２  解答候補／キーワード近接性評価部
４３  解答候補の解答タイプ判定部
４４  解答候補評価点算出部
４５  解答候補評価点集計部
５０  解答出力部
２  文書データベース
【図１】
2005122533.tif 000003
【図２】
2005122533.tif 000004
【図３】
2005122533.tif 000005
【図４】
2005122533.tif 000006
【図５】
2005122533.tif 000007
【図６】
2005122533.tif 000008
【図７】
2005122533.tif 000009