(57)【要約】【課題】質問文に対する回答を、少ない計算量で高精度に出力する。【解決手段】質問解析部１１が、自然言語による質問文を拡張固有表現の体系に従って分類することにより、質問文に対する回答の種類を示す回答タイプを解析し、文書検索部１２が、質問文に含まれる単語を検索条件として文書ＤＢ３１から検索された文書集合を取得し、回答候補抽出部１３、検索された文書集合に含まれる拡張固有表現から、解析された回答タイプに対応した拡張固有表現を回答候補として抽出し、回答評価部１４が、特徴量抽出部２１を呼び出して、回答候補から特徴量を抽出し、回答候補の信頼度を算出するために予め回答タイプ毎に構築された信頼度算出式３２に特徴量を入力して算出した、回答タイプに応じた信頼度の高い回答候補を、質問文に対する回答として出力する。【選択図】図１
2014120053.tif 000002
【特許請求の範囲】
【請求項１】
自然言語による質問文を拡張固有表現の体系に従って分類することにより、前記質問文に対する回答の種類を示す回答タイプを解析する解析手段と、
前記質問文に含まれる単語を検索条件として複数の文書から検索された文書に含まれる拡張固有表現から、前記解析手段により解析された回答タイプに対応した拡張固有表現を回答候補として抽出する抽出手段と、
前記回答候補の前記質問文に対する回答としての信頼度を算出する信頼度算出式に基づいて得られた、前記解析手段により解析された回答タイプに応じた信頼度の高い回答候補を、前記質問文に対する回答として出力する出力手段と、
を含む質問応答装置。
【請求項２】
前記出力手段は、質問文に対する回答タイプ及び回答が既知の複数の学習用質問文について抽出された複数の学習用回答候補の各々について、該学習用回答候補の各々から抽出された学習用特徴量と、該学習用回答候補が正解の回答か否かを示すラベルとの組を学習データとして、前記回答タイプ毎に学習することにより得られた前記回答タイプ毎の信頼度算出式のうち、前記解析手段により解析された回答タイプの信頼度算出式に、前記質問文について抽出された回答候補から抽出された特徴量を入力して、前記回答候補の信頼度を算出する請求項１記載の質問応答装置。
【請求項３】
前記出力手段は、質問文に対する回答タイプ及び回答が既知の複数の学習用質問文について抽出された複数の学習用回答候補の各々について、該学習用回答候補の各々から抽出された学習用特徴量に、前記学習用質問文の回答タイプを示す情報を含めた特徴量と、該学習用回答候補が正解の回答か否かを示すラベルとの組を学習データとして学習することにより得られた前記信頼度算出式に、前記質問文について抽出された回答候補から抽出された特徴量に、前記解析手段により解析された回答タイプを示す情報を含めた特徴量を入力して、前記回答候補の信頼度を算出する請求項１記載の質問応答装置。
【請求項４】
解析手段と、抽出手段と、出力手段とを含む質問応答装置における質問応答方法であって、
前記解析手段が、自然言語による質問文を拡張固有表現の体系に従って分類することにより、前記質問文に対する回答の種類を示す回答タイプを解析し、
前記抽出手段が、前記質問文に含まれる単語を検索条件として複数の文書から検索された文書に含まれる拡張固有表現から、前記解析手段により解析された回答タイプに対応した拡張固有表現を回答候補として抽出し、
前記出力手段が、前記回答候補の前記質問文に対する回答としての信頼度を算出する信頼度算出式に基づいて得られた、前記解析手段により解析された回答タイプに応じた信頼度の高い回答候補を、前記質問文に対する回答として出力する
質問応答方法。
【請求項５】
前記出力手段は、質問文に対する回答タイプ及び回答が既知の複数の学習用質問文について抽出された複数の学習用回答候補の各々について、該学習用回答候補の各々から抽出された学習用特徴量と、該学習用回答候補が正解の回答か否かを示すラベルとの組を学習データとして、前記回答タイプ毎に学習することにより得られた前記回答タイプ毎の信頼度算出式のうち、前記解析手段により解析された回答タイプの信頼度算出式に、前記質問文について抽出された回答候補から抽出された特徴量を入力して、前記回答候補の信頼度を算出する請求項４記載の質問応答方法。
【請求項６】
前記出力手段は、質問文に対する回答タイプ及び回答が既知の複数の学習用質問文について抽出された複数の学習用回答候補の各々について、該学習用回答候補の各々から抽出された学習用特徴量に、前記学習用質問文の回答タイプを示す情報を含めた特徴量と、該学習用回答候補が正解の回答か否かを示すラベルとの組を学習データとして学習することにより得られた前記信頼度算出式に、前記質問文について抽出された回答候補から抽出された特徴量に、前記解析手段により解析された回答タイプを示す情報を含めた特徴量を入力して、前記回答候補の信頼度を算出する請求項４記載の質問応答方法。
【請求項７】
コンピュータを、請求項１〜請求項３のいずれか１項記載の質問応答装置を構成する各手段として機能させるための質問応答プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、質問応答装置、方法、及びプログラムに係り、特に、自然言語による質問文に対する回答を出力する質問応答装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
自然言語による質問文について、ずばり回答を出力するシステムを質問応答システムと呼ぶ（例えば、非特許文献１参照）。このような質問応答システムによれば、例えば、「世界一高い山は」という質問に対して、「エベレスト」のような回答を出力する。
【０００３】
質問応答システムでは、例えば、システムが持つ文書データベース（ＤＢ）から抽出された固有表現を回答候補として抽出し、回答候補の各々にスコアを付して評価する。最も多く用いられる手法は、質問文に含まれる重要と思われる検索キーワードを、文脈により多く含むものを、より正解らしいとして高いスコアを付与するものである。そして、スコアの高い順に回答を並び替えて出力する。このような場合、回答評価において、ランキングで一位となった回答候補であったとしても、それは回答候補の中で一位ということに過ぎず、必ずしも質問に対する正解の回答とは限らない。
【０００４】
そこで、回答の信頼度を推定し、その信頼度に従って回答の仕方を変える手法も提案されている。例えば、回答の確信度を様々な観点から特徴付けし、確信度を用いる式をデータから学習する手法が提案されている。この確信度を元に、システムは回答しないという選択をすることもできる（例えば、非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】奥村学（監修）、磯崎秀樹、東中竜一郎、永田昌明、加藤恒明（共著）、“自然言語処理シリーズ２質問応答システム”、ISBN:978-4-339-02752-5、コロナ社、2009.
【非特許文献２】Introduction to "This is Watson", D. A. Ferrucci, IBM J. RES. & DEV. VOL.56 NO.3/4 PAPER 1, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献２に記載の手法では、質問に関係しそうな回答候補を網羅的に列挙し、そのそれぞれの回答候補について多くの特徴量を抽出する。そして、事前に学習データから作成しておいた式を元に回答候補の各々の信頼度を求める。非特許文献２に記載の手法の特徴的なところは、明示的な回答タイプ判定を行わず、質問に関係しそうな単語を回答候補として網羅的に列挙するところである。これは、回答タイプを最初に決定してしまうことで、回答候補を最初に大きく狭めてしまわないための工夫である。
【０００７】
しかし、非特許文献２に記載の手法では、最初に回答タイプを決めないため、膨大な回答候補について評価しなければならず、計算量が非常に多いという問題がある。
【０００８】
本発明は上記事実を考慮して成されたもので、質問文に対する回答を、少ない計算量で高精度に出力することができる質問応答装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の質問応答装置は、自然言語による質問文を拡張固有表現の体系に従って分類することにより、前記質問文に対する回答の種類を示す回答タイプを解析する解析手段と、前記質問文に含まれる単語を検索条件として複数の文書から検索された文書に含まれる拡張固有表現から、前記解析手段により解析された回答タイプに対応した拡張固有表現を回答候補として抽出する抽出手段と、前記回答候補の前記質問文に対する回答としての信頼度を算出する信頼度算出式に基づいて得られた、前記解析手段により解析された回答タイプに応じた信頼度の高い回答候補を、前記質問文に対する回答として出力する出力手段と、を含んで構成されている。
【００１０】
本発明の質問応答装置によれば、解析手段が、自然言語による質問文を拡張固有表現の体系に従って分類することにより、質問文に対する回答の種類を示す回答タイプを解析する。拡張固有表現の体系に従った分類は、従来の固有表現の体系に従った分類よりも詳細な分類である。そして、抽出手段が、質問文に含まれる単語を検索条件として複数の文書から検索された文書に含まれる拡張固有表現から、解析手段により解析された回答タイプに対応した拡張固有表現を回答候補として抽出する。さらに、出力手段が、回答候補の質問文に対する回答としての信頼度を算出する信頼度算出式に基づいて得られた、解析手段により解析された回答タイプに応じた信頼度の高い回答候補を、質問文に対する回答として出力する。
【００１１】
このように、拡張固有表現の体系に従った分類により詳細な回答タイプを解析し、詳細な回答タイプに対応した回答候補を抽出することで回答候補を十分に絞り込み、抽出された回答候補に対して、回答タイプに応じた信頼度を算出するため、質問文に対する回答を、少ない計算量で高精度に出力することができる。
【００１２】
また、前記出力手段は、質問文に対する回答タイプ及び回答が既知の複数の学習用質問文について抽出された複数の学習用回答候補の各々について、該学習用回答候補の各々から抽出された学習用特徴量と、該学習用回答候補が正解の回答か否かを示すラベルとの組を学習データとして、前記回答タイプ毎に学習することにより得られた前記回答タイプ毎の信頼度算出式のうち、前記解析手段により解析された回答タイプの信頼度算出式に、前記質問文について抽出された回答候補から抽出された特徴量を入力して、前記回答候補の信頼度を算出することができる。このように、回答タイプ毎の信頼度算出式を用いることにより、回答タイプに応じた適切な信頼度を算出することができる。
【００１３】
また、前記出力手段は、質問文に対する回答タイプ及び回答が既知の複数の学習用質問文について抽出された複数の学習用回答候補の各々について、該学習用回答候補の各々から抽出された学習用特徴量に、前記学習用質問文の回答タイプを示す情報を含めた特徴量と、該学習用回答候補が正解の回答か否かを示すラベルとの組を学習データとして学習することにより得られた前記信頼度算出式に、前記質問文について抽出された回答候補から抽出された特徴量に、前記解析手段により解析された回答タイプを示す情報を含めた特徴量を入力して、前記回答候補の信頼度を算出することができる。このように、回答タイプを含む特徴量を用いて学習された信頼度算出式を用いることにより、回答タイプに応じた適切な信頼度を算出することができる。
【００１４】
また、本発明の質問応答方法は、解析手段と、抽出手段と、出力手段とを含む質問応答装置における質問応答方法であって、前記解析手段が、自然言語による質問文から抽出された質問文特徴量に基づいて、前記質問文を拡張固有表現の体系に従って分類することにより、前記質問文に対する回答の種類を示す回答タイプを解析し、前記抽出手段が、前記質問文に含まれる単語を検索条件として複数の文書から検索された文書に含まれる拡張固有表現から、前記解析手段により解析された回答タイプに対応した拡張固有表現を回答候補として抽出し、前記出力手段が、前記回答候補の前記質問文に対する回答としての信頼度を算出する信頼度算出式に基づいて得られた、前記解析手段により解析された回答タイプに応じた前記回答候補の信頼度を高い回答候補を、前記質問文に対する回答として出力する方法である。
【００１５】
また、本発明の質問応答方法において、前記出力手段は、質問文に対する回答タイプ及び回答が既知の複数の学習用質問文について抽出された複数の学習用回答候補の各々について、該学習用回答候補の各々から抽出された学習用特徴量と、該学習用回答候補が正解の回答か否かを示すラベルとの組を学習データとして、前記回答タイプ毎に学習することにより得られた前記回答タイプ毎の信頼度算出式のうち、前記解析手段により解析された回答タイプの信頼度算出式に、前記質問文について抽出された回答候補から抽出された特徴量を入力して、前記回答候補の信頼度を算出することができる。
【００１６】
また、本発明の質問応答方法において、前記出力手段は、質問文に対する回答タイプ及び回答が既知の複数の学習用質問文について抽出された複数の学習用回答候補の各々について、該学習用回答候補の各々から抽出された学習用特徴量に、前記学習用質問文の回答タイプを示す情報を含めた特徴量と、該学習用回答候補が正解の回答か否かを示すラベルとの組を学習データとして学習することにより得られた前記信頼度算出式に、前記質問文について抽出された回答候補から抽出された特徴量に、前記解析手段により解析された回答タイプを示す情報を含めた特徴量を入力して、前記回答候補の信頼度を算出することができる。
【００１７】
また、本発明の質問応答プログラムは、コンピュータを、上記の質問応答装置を構成する各手段として機能させるためのプログラムである。
【発明の効果】
【００１８】
本発明の質問応答装置、方法、及びプログラムによれば、拡張固有表現の体系に従った分類により詳細な回答タイプを解析し、詳細な回答タイプに対応した回答候補を抽出することで回答候補を十分に絞り込み、抽出された回答候補に対して、回答タイプに応じた信頼度を算出するため、質問文に対する回答を、少ない計算量で高精度に出力することができる、という効果を有する。
【図面の簡単な説明】
【００１９】
【図１】本実施の形態に係る質問応答装置の機能的構成を示すブロック図である。
【図２】本実施の形態における信頼度算出式構築処理ルーチンを示すフローチャートである。
【図３】本実施の形態における質問応答処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２１】
＜第１の実施の形態＞
第１の実施の形態に係る質問応答装置１０は、ＣＰＵと、ＲＡＭと、後述する信頼度算出式構築処理ルーチン、及び質問応答処理ルーチンを実行するためのプログラム及び各種データを記憶したＲＯＭとを備えたコンピュータで構成されている。また、記憶手段としてＨＤＤを設けてもよい。
【００２２】
質問応答装置１０を構成するコンピュータは、機能的には、図１に示すように、質問解析部１１と、文書検索部１２と、回答候補抽出部１３と、回答評価部１４と、特徴量抽出部２１と、学習部２２とを含んだ構成で表すことができる。なお、質問解析部１１は本発明の解析手段の一例であり、文書検索部１２及び回答候補抽出部１３は本発明の抽出手段の一例であり、回答評価部１４は本発明の出力手段の一例である。また、ＲＯＭまたはＨＤＤには、文書データベース（ＤＢ）３１と、信頼度算出式３２とを記憶する所定の記憶領域が設けられている。
【００２３】
質問解析部１１は、入力された自然言語からなる質問文（テキストデータ）を受け付け、質問文を形態素解析すると共に、質問文に対する回答タイプを解析する。回答タイプとは、質問が何を聞いているかを指し、例えば、人名や地名などである。
【００２４】
質問解析部１１は、質問文が、従来の固有表現の分類より詳細な拡張固有表現の分類体系に従った複数のタイプのいずれに属するかを判定することにより、回答タイプを解析する。固有表現とは、固有名詞、数量表現、日付表現など特定の事物を指す表現のことであり、従来の固有表現の分類に従った回答タイプでは、ＩＲＥＸと呼ばれる会議で定義された８タイプが用いられている。本実施の形態では、固有表現をより細かなレベルに分類した拡張固有表現を用いる。拡張固有表現の有名なものは、関根が提案する２００タイプの拡張固有表現（ＥＮＥ、Ｅｘｔｅｎｄｅｄ  Ｎａｍｅｄ  Ｅｎｔｉｔｙとも呼ばれる）である（非特許文献３「Sekine, S. and Nobata, C. (2004). Denition, dictionaries and tagger for extended named entity hierarchy. In Proc. LREC.」参照）。なお、拡張固有表現の分類は、従来の８タイプより詳細なものであればよく、非特許文献３の例に限定されないが、ここでは、非特許文献３の２００タイプの拡張固有表現を用いる場合について説明する。
【００２５】
具体的には、質問解析部１１は、入力された質問文を２００の拡張固有表現のどれかに分類し、分類結果をその質問文に対する回答の種類を示す回答タイプとして解析する。つまり、回答タイプは２００種類となる。これは、従来の８タイプからすれば、２５倍の数となる極めて多い回答タイプである。例えば、「世界一高い山は」の質問文に対しては、「Ｍｏｕｎｔａｉｎ」が回答タイプとして解析される。
【００２６】
質問文をいずれかの拡張固有表現に分類する手法には、一般的な機械学習の手法を用いることができる。機械学習としては、例えば、多クラス分類の一般的な手法であるＭｕｌｔｉｃｌａｓｓ  ＳＶＭ（サポートベクトルマシン）を用いることができる。具体的には、回答タイプが既知の質問文を言語解析することで得られる特徴量と質問文に対する回答タイプの正解との組を学習データとして分類器を学習する。特徴量としては、例えば、質問文の形態素解析結果から得ることができるｕｎｉｇｒａｍ／ｂｉｇｒａｍ特徴量などを用いることができる。この分類器に対して、質問文から抽出された同様の特徴量を入力することにより、質問文を２００種類の回答タイプのいずれかに分類することができる。
【００２７】
文書検索部１２は、質問文の形態素解析結果から、質問文に含まれる重要な単語を抽出し、抽出した単語を検索キーワードとして検索条件を作成し、文書ＤＢ３１から文書を検索する。重要な単語は、例えば、内容語（名詞、動詞、形容詞、未知語）に該当する単語とすることができる。例えば、「世界一高い山は」という質問文から「世界一」、「高い」、「山」という内容語を抽出し、抽出した内容語を検索キーワードとする「“世界一”ＡＮＤ“高い”ＡＮＤ“山”」という検索条件を作成して、文書ＤＢ３１を検索して、検索キーワードが含まれる文書集合を取得する。検索に用いるアルゴリズムは、例えば、ＢＭ２５（Best Match 25）等の一般的なアルゴリズムを用いることができる。文書検索部１２は、検索アルゴリズムにより付与されたスコア上位Ｎ件（例えば、５０件）の文書を検索結果として取得する。
【００２８】
文書ＤＢ３１は、Ｗｅｂページをクロールして構築した文書ＤＢである。なお、文書ＤＢ３１は、これに限定されず、新聞記事を収集した文書ＤＢであってもよい。
【００２９】
回答候補抽出部１３は、文書検索部１２で検索された文書集合から、質問解析部１１で解析された回答タイプに対応する拡張固有表現を回答候補として抽出する。拡張固有表現の抽出は、条件付き確率場（ＣＲＦ）と呼ばれる系列ラベリングの手法により、２００種類の拡張固有表現毎の抽出器を作成し、この抽出器を用いて行う。ＣＲＦによる固有表現の抽出は質問応答システムの回答抽出では一般的な方法である。なお、抽出器の作成には、例えば、ＳＶＭのような他の一般的な学習手法を用いてもよい。２００種類の回答タイプ毎の抽出器を用い、拡張固有表現のレベルで回答候補を抽出することで、従来の「地名」といった粗い粒度ではなく、「山」や「川」といった詳細なレベルでの回答候補の抽出が可能となる。このため、従来の質問応答システムとは異なり、回答候補はこの時点で十分に絞られる。
【００３０】
また、回答候補抽出部１３は、上記のように抽出した拡張固有表現に加えて、拡張固有表現の辞書を備えておき、この辞書を用い、検索された文書集合から、回答タイプに合致する単語も合わせて抽出する。
【００３１】
回答候補抽出部１３は、例えば、質問解析部１１で解析された質問文の回答タイプが「Ｍｏｕｎｔａｉｎ」の場合、検索された文書集合から「Ｍｏｕｎｔａｉｎ」に該当する拡張固有表現を抽出する。検索された文書集合に「エベレストは世界で一番高い山です」といった文章が存在する場合には、回答タイプ「Ｍｏｕｎｔａｉｎ」に対する回答候補として「エベレスト」を抽出することができる。回答候補抽出部１３は、文書検索部１２により検索された全ての文書から、回答タイプに対応する全ての拡張固有表現を抽出し、回答評価部１４に送出する。
【００３２】
回答評価部１４は、回答候補抽出部１３により抽出された回答候補の各々について、質問文に対する回答としての信頼度を算出し、回答候補を評価する。具体的には、まず、後述する特徴量抽出部２１を呼び出して、回答候補の各々から特徴量を抽出させる。そして、この特徴量を、回答タイプ毎に予め構築された信頼度算出式３２に入力し、回答候補各々の信頼度を算出する。この信頼度算出式３２は、後述の学習部２２の出力である。信頼度算出式３２は、例えば、質問文及び各回答候補から得られる特徴量を元に０〜１の数値で表される信頼度を算出する式とすることができる。信頼度算出式３２を拡張固有表現に基づく回答タイプ毎に構築することで、回答タイプ毎に異なる記述の信頼度算出式を準備することができ、これにより、細かな回答タイプに応じた適切な信頼度を回答候補に付与することができる。例えば、特定の回答タイプの質問では、文書検索においてリスト形式のページが大量に検索されることがある。例えば、映画名や音楽名などの作品名を問う場合などがそうである。そのような場合、文章中の構文を頼りに回答候補の信頼度を求めるよりも、そのリストの中にどのような頻度で正解が現れるかを頼りに回答候補の信頼度を求める方が適切である。そこで、回答タイプに応じて異なる信頼度算出式を構築しておくことで、それぞれの回答タイプに応じた適切な信頼度を回答候補に付与することができる。
【００３３】
また、回答評価部１４は、信頼度によって回答候補をソートして出力する。同じ文字列の回答候補が複数存在するときは、最も上位の信頼度の回答候補だけを出力し、重複する回答候補は出力しないようにしてもよい。
【００３４】
特徴量抽出部２１は、各回答候補から特徴量を抽出する。質問応答処理時には、回答候補抽出部１３により抽出された回答候補が特徴量抽出の対象の回答候補である。また、信頼度算出式３２の構築時には、質問応答データに含まれる回答候補が対象の回答候補である。質問応答データは、回答タイプ及び回答が既知の学習用の質問文について、上述の質問解析部１１、文書検索部１２、及び回答候補抽出部１３を用いて回答候補を抽出し、抽出された回答候補と、回答候補に対応する質問文の回答タイプ及び回答とで構成されたデータである。
【００３５】
本実施の形態では、以下の特徴量を抽出する。括弧の中は特徴量の英語名である。
・文書の検索順位（ｒａｎｋ）・・・回答候補が出現する文書の検索時における順位を値として持つ特徴量である。
・検索結果における回答候補の頻度（ｃａｎｄ＿ｃｏｕｎｔ）・・・文書の検索結果から抽出された全ての回答候補における対象の回答候補の出現回数を値として持つ特徴量である。文書の検索結果における出現頻度が高い場合に、対象の回答候補が回答らしい（信頼度が高い）としたい場合に有効な特徴量である。
・検索結果における回答候補の割合（ｃａｎｄ＿ｒａｔｉｏ）・・・文書の検索結果から抽出された全ての回答候補に対して、対象の回答候補が占める割合を値として持つ特徴量である。例えば、対象の回答候補が「Ａ」であり、文書の検索結果中から１０個の回答候補が抽出されており、そのうち５個が「Ａ」という回答候補だったとすると、回答候補「Ａ」についての本特徴量は０．５となる。
【００３６】
・従来型スコア（ｓｃｏｒｅ＿ｄｉｓｔ）・・・いわゆる、従来型の単語密度を用いた手法で得られるスコアを値として持つ特徴量である。このスコアは、回答候補の周辺Ｋ単語について、検索キーワードがどの程度含まれているかによって計算する。具体的には、下記（１）式を用いて計算する。
【００３７】
【数１】
2014120053.tif 000003
【００３８】
ここで、Ｃは回答候補（Ｃａｎｄｉｄａｔｅ）を表す。ｓｃｏｒｅ（Ｃ）は回答候補Ｃのスコアを返す関数である。ｒａｎｋ（Ｃ）は回答候補Ｃが含まれる文書の文書検索結果の順位を返す関数である。ｒａｎｋ（Ｃ）の逆数を取ることで、文書検索での検索順位が低くなるほど、スコアが低くなるようにする。Ｗは回答候補Ｃの周辺Ｋ単語に含まれる検索キーワードと一致する単語の集合である。Ｋは、例えば２０とすることができる。ｄｉｓｔ（Ｃ，ｗ）はＣとｗとの単語間距離に基づく重みを返す関数である。Ｃとｗとの単語間距離が近いほど大きな値が返る関数であればよく、例えば、ハニング窓関数を用いることができる。ｉｄｆはｗのＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）値を返す関数である。
【００３９】
なお、特徴量は上記の例に限定されず、文書の検索結果における回答候補の分布（文書順位や頻度など）や、質問と回答候補との関係性を表すものであればよい。例えば、質問と回答候補が出現する文書とに含まれる内容語の重複や、係り受け関係の類似度（質問文及び回答候補が出現する文を係り受け解析し、その係り受け構造における部分木の一致率など）などを特徴量として用いてもよい。また、回答候補が特定の辞書に見出し語として存在する場合、その見出し語に対応する辞書の説明文と質問文との類似度などを特徴量として用いてもよい。
【００４０】
学習部２２は、学習データを作成し、作成した学習データを用いて、回答タイプ毎の信頼度算出式３２を学習する。学習データの作成は、まず、質問応答データに含まれる回答候補の各々について特徴量抽出部２１により抽出された特徴量と、その回答候補が正解か否かを示すラベルとをペアにする。正解か否かを占めすラベルは、質問応答データに含まれる回答候補と回答とが文字列として一致するか否かにより判定して付与することができる。正例の学習データの数を確保するため、名寄せを行いカタカナやひらがななどの揺らぎを吸収するような文字列マッチを行ってもよい。質問応答データには、各回答候補に対応した回答タイプの情報も含まれるため、上記のペアと合わせて、各回答候補について｛回答タイプ、特徴量、正解か否かを示すラベル｝という三つ組みの学習データを作成することができる。
【００４１】
学習部２２は、上記のように作成した学習データを回答タイプ毎に用いて、機械学習の枠組みにより回答タイプ毎の信頼度算出式３２を学習する。具体的には、ロジスティック回帰分析を用い、特徴量から正解らしさ（０〜１）を推定する式を得る。学習部２２は、回答タイプ毎に構築された信頼度算出式３２を所定の記憶領域に記憶する。
【００４２】
次に、第１の実施の形態に係る質問応答装置１０の作用について説明する。質問応答装置１０に質問応答データ（テキストデータ）が入力されると、質問応答装置１０において、図２に示す信頼度算出式構築処理ルーチンが実行される。そして、信頼度算出式３２が構築された状態で、質問応答装置１０に質問文（テキストデータ）が入力されると、質問応答装置１０において、図３に示す質問応答処理ルーチンが実行される。以下、各処理について説明する。
【００４３】
信頼度算出式構築処理ルーチンでは、ステップ１００で、質問応答データを受け付け、次のステップ１０２で、特徴量抽出部２１が、質問応答データに含まれる各回答候補から特徴量を抽出する。
【００４４】
次に、ステップ１０４で、学習部２２が、上記ステップ１０２で抽出された特徴量、及び上記ステップ１００で受け付けた質問応答データに含まれる回答タイプ及び回答を用いて、各回答候補について、｛回答タイプ、特徴量、正解か否かを示すラベル｝という三つ組みの学習データを作成する。
【００４５】
次に、ステップ１０６で、学習部２２が、上記ステップ１０４で作成した学習データを回答タイプ毎に用いて、機械学習の枠組みにより回答タイプ毎の信頼度算出式３２を学習し、回答タイプ毎に構築された信頼度算出式３２を所定の記憶領域に記憶して、信頼度算出式構築処理ルーチンを終了する。
【００４６】
次に、質問応答処理ルーチンでは、ステップ１２０で、質問解析部１１が、質問文を受け付け、次のステップ１０２で、質問文を形態素解析し、質問文が、拡張固有表現の分類体系に従った複数のタイプのいずれに属するかを判定することにより、回答タイプを解析する。
【００４７】
次に、ステップ１２４で、文書検索部１２が、質問文の形態素解析結果から、質問文に含まれる重要な単語を抽出し、抽出した単語を検索キーワードとして検索条件を作成し、文書ＤＢ３１から文書を検索する。
【００４８】
次に、ステップ１２６で、回答候補抽出部１３が、上記ステップ１２４で検索された文書集合から、上記ステップ１２２で解析された回答タイプに対応する拡張固有表現を回答候補として抽出する。
【００４９】
次に、ステップ１２８で、回答評価部１４が、特徴量抽出部２１を呼び出して、上記ステップ１２６で抽出された回答候補の各々から特徴量を抽出させる。そして、この特徴量を、所定の記憶領域に記憶された回答タイプ毎の信頼度算出式３２のうち、上記ステップ１２２で解析された回答タイプの信頼度算出式に入力し、回答候補各々の信頼度を算出する。
【００５０】
次に、ステップ１３０で、回答評価部１４が、上記ステップ１２８で算出した信頼度によって回答候補をソートして出力し、質問応答処理ルーチンを終了する。
【００５１】
以上説明したように、第１の実施の形態に係る質問応答装置によれば、拡張固有表現の分類体系に従って詳細に分類した回答タイプに基づいて回答候補を十分に絞り込み、回答タイプ毎に構築した信頼度算出式を用いて回答候補に対して適切な信頼度を算出するため、質問文に対する回答を、少ない計算量で高精度に出力することができる。特に、非常に多くのユーザの質問に対し高速に回答候補の信頼度を求めたい場合や、高速ではない計算機において回答の信頼度を求めたい場合に極めて有効である。ユーザの質問に対し的確に答えを出力するシステムにつながり、ユーザの知的活動の効率を高めることができる。
【００５２】
＜第２の実施の形態＞
次に、第２の実施の形態について説明する。なお、第２の実施の形態に係る質問応答装置について、第１の実施の形態に係る質問応答装置１０と同様の構成については、同一符号を付して詳細な説明を省略する。
【００５３】
第２の実施の形態に係る質問応答装置は、ＣＰＵと、ＲＡＭと、信頼度算出式構築処理ルーチン、及び質問応答処理ルーチンを実行するためのプログラム及び各種データを記憶したＲＯＭとを備えたコンピュータで構成されている。また、記憶手段としてＨＤＤを設けてもよい。
【００５４】
質問応答装置２１０を構成するコンピュータは、機能的には、図１に示すように、質問解析部１１と、文書検索部１２と、回答候補抽出部１３と、回答評価部２１４と、特徴量抽出部２１と、学習部２２２とを含んだ構成で表すことができる。また、ＲＯＭまたはＨＤＤには、文書ＤＢ３１と、信頼度算出式２３２とを記憶する所定の記憶領域が設けられている。
【００５５】
学習部２２２は、学習データを作成し、作成した学習データを用いて、信頼度算出式２３２を学習する。第１の実施の形態のように、回答タイプ毎に信頼度算出式３２を構築する場合と異なり、第２の実施の形態では、一度の学習により回答タイプに応じた信頼度を算出するための信頼度算出式２３２を構築する。
【００５６】
学習データの作成は、まず、質問応答データに含まれる回答候補の各々について特徴量抽出部２１により抽出された特徴量に、回答タイプの情報を含めた特徴量を生成する。その回答タイプを含む特徴量と、その回答候補が正解か否かを示すラベルとをペアにする。これにより、各回答候補について｛回答タイプを含む特徴量、正解か否かを示すラベル｝という二つ組みの学習データを作成することができる。また、回答タイプを含む特徴量として、特徴量抽出部２１で抽出した特徴量と、抽出した特徴量と回答タイプとの組み合わせ特徴量とを合わせた特徴量としてもよい。こうすることで、回答タイプ全てに共通する重みと個々の回答タイプに特有の重みとを分けて学習することもできる。
【００５７】
学習部２２２は、上記のように作成した学習データを、回答タイプ毎に分けることなく用いて、一度にロジスティック回帰分析を用い、信頼度算出式２３２を得る。第１の実施の形態のように回答タイプ毎の信頼度算出式３２を構築する場合に比べて、回答タイプ毎の細かな信頼度は付与し難くなるが、信頼度算出式の学習が一度で済むため、信頼度算出式の構築のための計算量を削減することができる。学習部２２２は、回答タイプ毎に構築された信頼度算出式３２を所定の記憶領域に記憶する。
【００５８】
回答評価部２１４は、回答候補抽出部１３により抽出された回答候補の各々について、質問文に対する回答としての信頼度を算出し、回答候補を評価する。具体的には、まず、特徴量抽出部２１を呼び出して、回答候補の各々から特徴量を抽出させ、抽出された特徴量に、質問解析部１１により解析された回答タイプの情報を含めた特徴量を生成する。そして、この回答タイプを含む特徴量を、予め構築された信頼度算出式２３２に入力し、回答候補各々の信頼度を算出する。
【００５９】
次に、第２の実施の形態に係る質問応答装置２１０の作用について、第１の実施の形態における信頼度算出式構築処理ルーチン及び質問応答処理ルーチンと異なる処理について説明する。
【００６０】
信頼度算出式構築処理ルーチンのステップ１０４で、学習部２２２が、上記ステップ１０２で抽出された特徴量に、上記ステップ１００で受け付けた質問応答データに含まれる回答タイプを示す情報を含めた特徴量を生成する。そして、各回答候補について、｛回答タイプを含む特徴量、正解か否かを示すラベル｝という二つ組みの学習データを作成する。
【００６１】
ステップ１０６では、学習部２２２が、上記ステップ１０４で作成した学習データを、回答タイプ毎に分けることなく用いて、一度にロジスティック回帰分析により信頼度算出式２３２を学習し、構築された信頼度算出式２３２を所定の記憶領域に記憶して、信頼度算出式構築処理ルーチンを終了する。
【００６２】
また、質問応答処理ルーチンのステップ１２８では、回答評価部１４が、特徴量抽出部２１を呼び出して、上記ステップ１２６で抽出された回答候補の各々から特徴量を抽出させ、抽出された特徴量に、上記ステップ１２２で解析された回答タイプの情報を含めた特徴量を生成する。そして、この回答タイプを含む特徴量を、予め構築された信頼度算出式２３２に入力し、回答候補各々の信頼度を算出する。
【００６３】
以上説明したように、第２の実施の形態に係る質問応答装置によれば、拡張固有表現の分類体系に従って詳細に分類した回答タイプに基づいて回答候補を十分に絞り込み、回答タイプを含む特徴量を用いて学習された信頼度算出式を用いて回答候補に対して適切な信頼度を算出するため、質問文に対する回答を、少ない計算量で高精度に出力することができる。また、信頼度算出式を一度の学習で構築することができるため、第１の実施の形態に比べて、信頼度算出式の構築のための計算量を削減することができる。
【００６４】
ここで、上記実施の形態に係る質問応答装置における質問応答の一例について説明する。以下は「世界一高い山は」という質問文に対して、質問応答装置が出力した回答である。ここでは、質問文の回答タイプは「Ｍｏｕｎｔａｉｎ」と解析され、文書検索及び回答候補抽出の結果、１４の回答候補が得られた。回答候補の右側にある数字が信頼度である。括弧付けの中の数字は文書検索結果内での出現回数である。
【００６５】
Ｑ：世界一高い山は
１  エベレスト  0.969366（２２）
２  富士山  0.246514（３）
３  チョモランマ  0.226562（１）
４  Ｋ２  0.151517（２）
５  ハワイ島  0.13605（１）
６  エベレスト／チョモランマ  0.0898824（１）
７  ダウラギリ  0.0621022（３）
８  カンチェンジュンガ  0.0353058（５）
９  カメルーン山  0.0261512（２）
１０  マナスル  0.0173765（１）
１１  ローツェ  0.0152677（１）
１２  チョ・オユー  0.0152677（１）
１３  マカルー  0.00845766（１）
１４  アルプス  0.00446622（１）
【００６６】
一位のエベレストの信頼度が非常に高く、質問応答装置は高い確度で「エベレスト」と回答できていることが分かる。
【００６７】
以下は、回答タイプ「Ｍｏｕｎｔａｉｎ」に関する各特徴量の回帰係数である。ｅｎｅｔｙｐｅは回答タイプ名に付けられるｐｒｅｆｉｘである。
enetype_Mountain-cand_ratio 3.812258026357529
enetype_Mountain-score_dist 0.02188293329420078
enetype_Mountain-cand_count 0.006644647005094824
enetype_Mountain-rank -0.02508300268047375
【００６８】
ここで、一番左のカラムは回答タイプ名及び特徴量名（英語名）であり、次のカラムは回帰係数である。上記の各特徴量の回帰係数において、検索結果における回答候補の割合（ｃａｎｄ＿ｒａｔｉｏ）が最も大きな重みを持っていることが分かる。また、従来型スコア（ｓｃｏｒｅ＿ｄｉｓｔ）の重みも高いことから、「Ｍｏｕｎｔａｉｎ」については回答候補の割合が高く、また、周辺の検索キーワードを多く持った回答候補の信頼度を高めるように信頼度が付与されていることが分かる。
比較として、回答タイプ「Ｌａｋｅ」に関する各特徴量の回帰係数を以下に示す。
enetype_Lake-cand_ratio 3.260375594203147
enetype_Lake-cand_count 0.01467459091733951
enetype_Lake-rank -0.03125393707655315
enetype_Lake-score_dist -0.09606970225518727
【００６９】
これらの回帰係数は、「Ｍｏｕｎｔａｉｎ」と傾向が違うことが見て取れる。どちらも検索結果における回答候補の割合（ｃａｎｄ＿ｒａｔｉｏ）が効果的な特徴量であることは同じであるが、その重みは異なり、また、その他の特徴量の回帰係数の重みの順位も異なる。特に「Ｌａｋｅ」では従来型スコア（ｓｃｏｒｅ＿ｄｉｓｔ）の回帰係数がマイナスになっており、回帰係数の極性も異なる結果となっている。
【００７０】
このように、従来の回答タイプでは「地名」として扱われてきた「Ｍｏｕｎｔａｉｎ」と「Ｌａｋｅ」も、実際は信頼度の求め方は異なり、本実施の形態のように、拡張固有表現に基づく詳細な回答タイプに応じて異なる信頼度算出式を用いることで、高精度な信頼度付与が可能になる。なお、上記の「世界一高い山は」という質問文に対する回答候補は１４種類と少ない。このことから、拡張固有表現で回答タイプを絞り込むことで、計算量も低く抑えることができていることが分かる。
【００７１】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００７２】
例えば、上記実施の形態では、信頼度算出式を構築するための学習部も同一のコンピュータ上で構成する場合について説明したが、学習部と、信頼度算出式を構築するために必要な機能部とを合わせて別のコンピュータで構成するようにしてもよい。この場合、質問応答処理の際に、別のコンピュータで構築された信頼度算出式を読み込んで利用するようにするとよい。
【００７３】
また、上述の質問応答装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００７４】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。また、本発明は、周知のコンピュータに媒体もしくは通信回線を介して、プログラムをインストールすることによっても実現可能である。
【符号の説明】
【００７５】
１０、２１０  質問応答装置
１１   質問解析部
１２   文書検索部
１３   回答候補抽出部
１４、２１４  回答評価部
２１   特徴量抽出部
２２、２２２  学習部
３１   文書ＤＢ
３２、２３２  信頼度算出式
【図１】
2014120053.tif 000004
【図２】
2014120053.tif 000005
【図３】
2014120053.tif 000006