(57)【要約】【課題】質問タイプを用いることなく、質問に対する解答を文書群の中から自動的に抽出できるようにする。【解決手段】モデル作成方法は、学習用ＱＡ集６０内の質問に対する解答を含む文書５０内の各単語に対し、当該解答との関連を示すクラスラベルを所定のクラスラベル集合から選択し付与するステップ６３と、学習用の質問の各々に対し、当該質問に対する解答を含む文書に含まれる各単語について、当該質問と当該文書とから算出される所定の特徴量と、クラスラベルを付与するステップにおいて当該各単語に付与されたクラスラベルとからなる学習用データ６６を準備するステップ６４と、学習用データ６６に基づき、所定の特徴量が与えられると、クラスラベル集合の要素の各々に対する評価値として確率を与えるような確率モデル３４を機械学習により構築するステップ６８とを含む。【選択図】      図１
2006072787.tif 000002
【特許請求の範囲】
【請求項１】
学習用の質問・解答集および文書データセットを用いて質問に対する自動応答システムのためのモデルを作成するようコンピュータを制御するモデル作成方法であって、前記質問・解答集はコンピュータ読取可能な複数の学習用質問データを含み、前記学習用質問データの各々は、質問と、当該質問に対する解答と、前記文書データセット中の当該解答を含む文書を特定する情報とを含み、
前記方法は、
前記学習用質問データの解答を含む文書内の各単語に対し、当該解答との関連を示すクラスラベルを所定のクラスラベル集合から選択し付与するステップと、
前記学習用質問データの各々に対し、当該質問に対する解答を含む文書に含まれる各単語について、当該質問と当該文書とから算出される所定の特徴量と、前記クラスラベルを付与するステップにおいて当該各単語に付与されたクラスラベルとからなる学習用データを準備するステップと、
前記学習用データに基づき、前記所定の特徴量が与えられると、前記クラスラベル集合の要素の各々に対する評価値を与えるようなモデルを機械学習により構築するステップとを含む、モデル作成方法。
【請求項２】
単語に関する所定の特徴量が与えられると、当該単語に対し所定のクラスラベル集合の要素であるクラスラベルの各々に対する評価値を与える所定のモデルと、所定の文書データセットとを用い、与えられる質問に対する解答を出力するようにコンピュータを制御する自動質問解答方法であって、
与えられた質問に対して最も高い関連を有する所定個数の文書を前記文書データセットから検索するステップと、
前記検索するステップで検索された文書の各単語について、前記質問と、当該文書とに基づいて所定の特徴量を算出するステップと、
前記検索するステップで検索された文書の各単語について、前記所定のモデルを用いて前記所定の特徴量に対する前記クラスラベルの評価値を算出するステップと、
前記検索するステップで検索された文書内の単語に対し前記評価値を算出するステップで算出されたクラスラベルの評価値に基づいて、前記検索するステップで検索された文書内から前記質問に対する解答となる単語列を選択する第１の選択ステップとを含む、自動質問解答方法。
【請求項３】
前記第１の選択ステップは、
前記検索するステップで検索された文書内の単語に対し前記評価値を算出するステップで算出されたクラスラベルの評価値に基づいて、当該単語に対するクラスラベルを推定するステップと、
前記検索するステップで検索された文書内の単語に対し、前記推定するステップで推定されたクラスラベルからなるクラスラベル列のうち、所定の条件を充足するクラスラベル列に対応する単語列を前記質問に対する解答として選択する第２の選択ステップとを含む、請求項２に記載の自動質問解答方法。
【請求項４】
前記クラスラベル集合は、単語が解答に含まれることを示す第１の種類のクラスラベルと、解答以外の単語であることを示す第２の種類のクラスラベルとを含み、
前記第２の選択ステップは、
前記検索するステップで検索された文書内の単語に対し、前記推定するステップで推定されたクラスラベルからなるクラスラベル列のうち、前記第１の種類のクラスラベルのみからなる連続するクラスラベル列を特定し、当該連続するクラスラベル列内のクラスラベルに対し前記評価値を算出するステップで算出された評価値の関数であるスコアを割当てて、当該連続するクラスラベル列に対応する単語列を抽出するステップと、
前記単語列を抽出するステップで抽出された単語列のうち、上位のスコアを持つ所定個数の単語列を前記質問に対する解答として出力するステップとを含む、請求項３に記載の自動質問解答方法。
【請求項５】
コンピュータにより実行されると、当該コンピュータが請求項１に記載のモデル作成方法を実行するように当該コンピュータを制御する、コンピュータプログラム。
【請求項６】
コンピュータにより実行されると、当該コンピュータが請求項２〜請求項４のいずれかに記載の自動質問解答方法を実行するように当該コンピュータを制御する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は質問応答の自動化技術に関し、特に、質問タイプを用いず、質問と文書との特徴とに基づいて、予め準備した文書群から質問に対する解答を直接抽出する質問応答システムに関する。
【背景技術】
【０００２】
従来、大量の文書を用いて自然文によるユーザからの質問に答える質問応答（ＱＡ：Question Answering）システムは、以下に示す４つのコンポーネントからなっている。
【０００３】
質問解析  質問文を解析し、質問文の質問タイプ（または解答タイプ）を同定する。
【０００４】
文書検索  質問文に関連する文書を大量の文書データから取出す。
【０００５】
解答候補抽出  文書から質問タイプに合った表現を解答候補として取出す。
【０００６】
解答選択  質問タイプ、検索語などの特徴を利用して、解答候補から解答を優先度付きで選択する。
【０００７】
質問タイプとしては、主としてＰＥＲＳＯＮ、ＯＲＧＡＮＩＺＡＴＩＯＮのような固有表現、および質問の対象になりやすいＦＩＳＨ、ＢＩＲＤなどというクラス名が用いられている。しかし、このような構成をとることにより、ＱＡシステムが解答できる答の対象が、質問タイプという中間表現によって限定されてしまうという欠点がある。
【０００８】
また、多くのシステムでは、質問タイプの体系は、固有表現抽出を中心とした解答候補の抽出の体系としても利用される。一方、今後は多言語でのＱＡシステムに対する必要性が増してくると思われる。そうしたシステムでは、各言語について、ＱＡシステム独自の質問タイプの体系にあった表現を抽出する必要がある。しかしそうしたツールの構築には、労力と時間とを大量に必要とする。
【０００９】
これに対し近年、非特許文献１に記載のＳＡＩＱＡ−ＩＩなど、機械学習技術によりＱＡシステムの各コンポーネントを構築する研究も行なわれている（例えば非特許文献２）。しかし、このようなアプローチをとったとしても、各システムの質問タイプの体系に合わせた大量の学習データを作成する必要があり、多大な労力が必要であることには変わりがない。さらに、質問タイプを追加したり変更したりすることも考えられるが、それは大量の学習データ全体の修正変更を意味する。
【００１０】
例えば、中国語の質問文とそれに対する正解とのペアが１０，０００組あるものとする。この場合、中国語の質問文に対して、各システム独自の質問タイプの体系に合わせて、人手により質問文の分類を行なう必要がある。加えて、その質問タイプの体系に合わせて、解答候補抽出のために、中国語の文書にタグを付した学習データも必要となる。
【００１１】
もし質問タイプの変更を行なう必要が生じた場合には、大量のデータ全体を見直すことが必要になる。例えば、質問タイプＯＲＧＡＮＩＺＡＴＩＯＮを、ＣＯＭＰＡＮＹ、ＳＣＨＯＯＬ、およびその他組織の三種の分類に詳細化するという修正を行なう場合を考えてみる。この場合、以下の作業が必要になる。すなわち、ＯＲＧＡＮＩＺＡＴＩＯＮに関する質問文を人手により再分類する。次に解答候補抽出のための学習データの中からＯＲＧＡＮＩＺＡＴＩＯＮタグを全て抽出し、この三種のいずれかに人手で修正する。
【非特許文献１】佐々木裕、磯崎秀樹、鈴木潤、国領弘治、平尾努、賀沢秀人、前田英作、「ＳＶＭを用いた学習型質問応答システムＳＡＩＱＡ−ＩＩ」、情報処理学会論文会誌、第４５巻第２号、ｐｐ．６３５−６４６、２００４年
【非特許文献２】鈴木潤、佐々木裕、前田英作、「単語属性Ｎ−ｇｒａｍと統計的機械学習による質問タイプ同定」、情報処理学会論文会誌、第４４巻第１１号、ｐｐ．２８３９−２８５３、２００３年
【発明の開示】
【発明が解決しようとする課題】
【００１２】
このように質問タイプという中間表現を用いることにより、ＱＡシステムが解答できる答の対象が限定されてしまうという問題がある。さらに、多言語のＱＡシステムを構築しようとする場合、各言語について質問タイプの体系にあった表現を抽出することが必要になるという問題がある。さらに、質問タイプの体系に変化または追加があると、各言語の学習データに対して、質問タイプの変更に応じた修正を行なう必要がある。そのため、質問タイプを用いないＱＡシステムを構築し、それを利用して質問に対する自動応答が可能なシステムが望まれている。
【００１３】
それゆえに本発明の目的は、質問タイプを用いることなく、質問に対する解答を文書群の中から抽出できる、コンピュータを用いた自動質問解答方法、およびそのためのモデル作成方法を提供することである。
【課題を解決するための手段】
【００１４】
本発明の第１の局面にかかる方法は、学習用の質問・解答集および文書データセットを用いて質問に対する自動応答システムのためのモデルを作成するようコンピュータを制御するモデル作成方法である。質問・解答集はコンピュータ読取可能な複数の学習用質問データを含み、学習用質問データの各々は、質問と、当該質問に対する解答と、文書データセット中の当該解答を含む文書を特定する情報とを含む。この方法は、学習用質問データの解答を含む文書内の各単語に対し、当該解答との関連を示すクラスラベルを所定のクラスラベル集合から選択し付与するステップと、学習用質問データの各々に対し、当該質問に対する解答を含む文書に含まれる各単語について、当該質問と当該文書とから算出される所定の特徴量と、クラスラベルを付与するステップにおいて当該各単語に付与されたクラスラベルとからなる学習用データを準備するステップと、学習用データに基づき、所定の特徴量が与えられると、クラスラベル集合の要素の各々に対する評価値を与えるようなモデルを機械学習により構築するステップとを含む。
【００１５】
学習用の質問には、質問タイプは不要である。質問タイプの体系にあわせて学習用データを準備したり、質問タイプの体系の変化にあわせて学習用データを再準備したり学習を再度行なったりする必要はない。その結果、自動質問応答システムのためのモデルを容易に準備できる。
【００１６】
所定の特徴量としての入力記号の集合をＸ、クラスラベル集合をＹとすると、学習用データを準備するステップは、学習用質問データの各々に対し、当該学習用質問データの解答を含む文書から、集合Ｘに属する記号からなる入力ｘを特徴量として作成し、当該入力ｘに対応する単語に対して割当てられた、クラスラベル集合Ｙに属するクラスラベルｙとの組（ｘ，ｙ）を作成するステップを含み、構築するステップは、入力ｘが与えられたときの出力ｙに関する条件付確率をｐ（ｙ｜ｘ）とすると、所定の制約を満たす確率分布の集合Ｃから、ｐ（ｙ｜ｘ）に関するエントロピーＨ（ｐ）が最大になる確率モデル
【００１７】
【数１】
2006072787.tif 000003
を求めるステップを含む。
【００１８】
最大エントロピー法を用いることにより、学習用の質問・解答集以外の質問に対しても確率値が一様に配分され、未知の質問についてもある程度の信頼性で自動的に解答を出すことが可能な確率モデルを準備できる。
【００１９】
本発明の第２の局面にかかる方法は、単語に関する所定の特徴量が与えられると、当該単語に対し所定のクラスラベル集合の要素であるクラスラベルの各々に対する評価値を与える所定のモデルと、所定の文書データセットとを用い、与えられる質問に対する解答を出力するようにコンピュータを制御する自動質問解答方法である。この方法は、与えられた質問に対して最も高い関連を有する所定個数の文書を文書データセットから検索するステップと、検索するステップで検索された文書の各単語について、質問と、当該文書とに基づいて所定の特徴量を算出するステップと、検索するステップで検索された文書の各単語について、所定のモデルを用いて所定の特徴量に対するクラスラベルの評価値を算出するステップと、検索するステップで検索された文書内の単語に対し評価値を算出するステップで算出されたクラスラベルの評価値に基づいて、検索するステップで検索された文書内から質問に対する解答となる単語列を選択する第１の選択ステップとを含む。
【００２０】
本局面で使用するモデルには質問タイプに関する情報が不要である。そのため、与えられる質問についてそのタイプを推定する必要がない。
【００２１】
好ましくは、第１の選択ステップは、検索するステップで検索された文書内の単語に対し、評価値を算出するステップで算出されたクラスラベルの評価値に基づいて、当該単語に対するクラスラベルを推定するステップと、検索するステップで検索された文書内の単語に対し、推定するステップで推定されたクラスラベルからなるクラスラベル列のうち、所定の条件を充足するクラスラベル列に対応する単語列を質問に対する解答として選択する第２の選択ステップとを含む。
【００２２】
さらに好ましくは、クラスラベル集合は、単語が解答に含まれることを示す第１の種類のクラスラベルと、解答以外の単語であることを示す第２の種類のクラスラベルとを含み、第２の選択ステップは、検索するステップで検索された文書内の単語に対し、推定するステップで推定されたクラスラベルからなるクラスラベル列のうち、第１の種類のクラスラベルのみからなる連続するクラスラベル列を特定し、当該連続するクラスラベル列内のクラスラベルに対し評価値を算出するステップで算出された評価値の関数であるスコアを割当てて、当該連続するクラスラベル列に対応する単語列を抽出するステップと、単語列を抽出するステップで抽出された単語列のうち、上位のスコアを持つ所定個数の単語列を質問に対する解答として出力するステップとを含む。
【００２３】
本発明の第３の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータが上記したいずれかのモデル作成方法を実行するように当該コンピュータを制御するものである。
【００２４】
また本発明の第４の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータが上記したいずれかの自動質問解答方法を実行するように当該コンピュータを制御するものである。
【発明を実施するための最良の形態】
【００２５】
［概略］
以下に説明する本発明の一実施の形態に係るＱＡシステムは、学習データの質問と正解との特徴に基づいて、質問に対する正解を所定の文書群から直接に抽出する機能を持つ。そのためにこのＱＡシステムでは、新たなアプローチとして質問応答を「質問文によりバイアスされた用語抽出（ＱＢＴＥ：Question-Biased Term Extraction）問題」として捉え、質問タイプという中間表現を用いることなく、質問文と文書との特徴に基づいて、質問に対する解答を文書から直接に抽出する。
【００２６】
本実施の形態では、最大エントロピー法という機械学習の手法を用いることにより、質問文の特徴、文書の特徴、および両者の特徴の組合せを素性（特徴）としたデータから、解答を直接抽出するための学習を行なう方法を用いてモデルの学習を行なう。さらに、質問が与えられると、このモデルを用いて文書群中から解答として評価値（本実施の形態では確率）の高い単語または単語群を抽出する。
【００２７】
［最大エントロピー法］
本実施の形態に係る学習型ＱＡシステムの説明のための準備として、機械学習アルゴリズム「最大エントロピー法」の概要、および最大エントロピー法のためにどのような学習データを準備するかについて述べる。
【００２８】
全ての入力記号の集合をＸ、全てのクラスレベルの集合をＹとする。入力ｘ＝｛x1,…,xm｝（xi∈Χ）と出力ｙ∈Ｙの対（ｘ，ｙ）により事例を表現する。
【００２９】
入力ｘが与えられた時の出力ｙに関する条件付き確率をｐ（ｙ｜ｘ）とすると、最大エントロピー原理は、ｐ（ｙ｜ｘ）に関するエントロピーＨ（ｐ）が最大になる確率モデル
【００３０】
【数２】
2006072787.tif 000004
を、制約を満たす確率モデルの集合Ｃから求める最適化問題である。本実施の形態では、エントロピーとして言語モデルのエントロピーＨ（ｐ）＝−Σx,yＰ（ｘ，ｙ）lｏgＰ（ｘ，ｙ）を用いる。
【００３１】
データ(ｘ(1),ｙ(1)),…,(ｘ(n),ｙ(n))が与えられたとき、本報告では素性関数ｆiを以下のように定義する。
【００３２】
【数３】
2006072787.tif 000005
とする。すなわち、ｘに含まれる各入力記号とそのクラスラベルの組合せをそのまま最大エントロピー法の素性（関数）とする。
【００３３】
ラグランジュ乗数λ＝λ1,…,λmを用いて、Ｈの双対関数Ψを考える。
【００３４】
【数４】
2006072787.tif 000006
双対な最適化問題
【００３５】
【数５】
2006072787.tif 000007
は制約のない最適化問題として効率的に解くことができ、目的の確率モデルｐ*＝ｐλ*を以下の式で求めることができる。本実施の形態では、この式を用いてモデル構築を行なう。
【００３６】
【数６】
2006072787.tif 000008
なお、この確率モデル自体は、最大エントロピー法に限らず、ＨＭＭ（隠れマルコフモデル）、ＳＶＭ（Support Vector Machine）などを用いて構築することもできる。
【００３７】
［構成］
図１に、本発明の一実施の形態に係るＱＡシステム２０の概略ブロック図を示す。図１を参照して、ＱＡシステム２０は、毎日新聞１９９５年の記事からなる文書集合３０を用いて質問文３６に対する解答４０を文書集合３０から抽出するためのものである。文書集合３０は、学習用データセット５０と、実行時用データセット５２とを含む。学習時には学習用データセット５０を用いる。実行時には、実行時用データセット５２とともに学習用データセット５０も用いる。
【００３８】
ＱＡシステム２０は、与えられた単語（または単語群）の各々に対し、質問文３０に対する解答である可能性を示す値を出力するように訓練される確率モデル３４と、確率モデル３４を学習用データセット５０を用いて訓練するためのモデル構築部３２と、モデル構築部３２により訓練された確率モデル３４を用いて、質問文３６に対する解答としての可能性の高い単語または単語群を文書集合３０から抽出し、解答４０として出力するための自動解答装置３８とを含む。
【００３９】
モデル構築部３２は、質問および解答と、学習用データセット５０内でその解答が現れる記事へのリンクとからなる組を所定個数（本実施の形態の場合には２０００個）含む学習用ＱＡ集６０と、学習用ＱＡ集６０内のＱＡとリンクされた学習用データセット５０内の記事を抽出するための記事抽出部６２と、記事抽出部６２により抽出された記事に含まれる各単語に対し、後述するようなクラスラベルを自動的に割当てる処理を行なうためのラベル付け部６３とを含む。
【００４０】
本実施の形態では、学習用ＱＡ集６０として、ＣＲＬ（Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｒｅｓｅａｒｃｈ  Ｌａｂｏｒａｔｏｒｙ）ＱＡデータセットを用いる。このデータセットは、質問文２０００問からなる。各質問文には、質問タイプと正解、および正解の出現する新聞記事へのリンク（実際は記事のＩＤ）が与えられている。ＣＲＬ  ＱＡデータセットの各質問タイプに属する文の数について表１に示す。
【００４１】
【表１】
2006072787.tif 000009
学習用ＱＡ集６０は、図２に示すように、質問および解答、ならびに学習用データセット５０内でその解答を含む記事へのリンクを含む２０００個の学習用ＱＡ１１０，１１２，１１４，…，１２０，１２２，１２４を含む学習用ＱＡ群１００と、学習用ＱＡ１１０，１１２，１１４，…，１２０，１２２，１２４とリンクにより関連付けられている記事に含まれる各単語に対し、それぞれ割当てられたクラスラベルを含む２０００個のラベルデータ１３０，１３２，１３４，…，１４０，１４２，１４４を含むラベルデータ群１０２とを含む。
【００４２】
図３を参照して、クラスラベルについて説明する。第１の質問Ｑ１に対する解答を含む記事が記事５０Ａであるものとする。記事５０Ａが単語列Ｗ１１Ｗ１２…Ｗ１ｋＷ１（ｋ＋１）Ｗ１（ｋ＋２）…Ｗ１（ｋ＋ｉ）Ｗ１（ｋ＋ｉ＋１）…Ｗ１ｎ１からなるものとし、これらの単語のうち、単語列Ｗ１（ｋ＋１）Ｗ１（ｋ＋２）…Ｗ１（ｋ＋ｉ）が質問Ｑ１に対する解答であるものとする。この場合、本実施の形態では、ラベル付け部６３は、この単語列Ｗ１（ｋ＋１）Ｗ１（ｋ＋２）…Ｗ１（ｋ＋ｉ）を記事抽出部６２が抽出した記事５０Ａの中で検索し、その先頭の単語Ｗ１（ｋ＋１）に対してはクラスラベル「Ｂ」（以下「Ｂラベル」と呼ぶ。）を、他の単語列Ｗ１（ｋ＋２）…Ｗ１（ｋ＋ｉ）に対してはクラスラベル「Ｉ」（以下「Ｉラベル」と呼ぶ。）を、それぞれ割当てる。また、記事５０Ａのうち、質問Ｑ１に対する解答以外の単語列にはクラスラベル「Ｏ」（以下「Ｏラベル」と呼ぶ。）を割当てる。こうして、質問Ｑ１に対するラベルデータ１３０が作成される。他の質問に対するラベルデータも同様にして作成される。
【００４３】
再び図１を参照して、モデル構築部３２は、学習用ＱＡ集６０内の学習用ＱＡ群１００とラベルデータ群１０２とを用いて確率モデル３４の学習のための学習用データを作成するための学習用データ作成部６４と、学習用データ作成部６４により作成された学習用データを格納するための学習用データ記憶部６６と、学習用データ記憶部６６に記憶された学習用データを用いて確率モデル３４の学習を行なうためのモデル学習部６８とを含む。
【００４４】
図４に、学習用データ作成部６４が作成する学習用データの概略を示す。図４を参照して、学習用データは、各質問（Ｑ１，…，ＱＫとする。）と、当該質問に対する解答を含む記事内の各単語（Ｗ１−１，…，Ｗ１−ｑ１，Ｗ２−１，…，Ｗ２−ｑ２，…，ＷＫ，…，ＷＫ−ｑＫとする。）との組合せの各々（Ｑ１Ｗ１−１，Ｑ１Ｗ１−２，…，ＱＫＷＫ−１，…，ＱＫＷＫ−ｑＫ）に対し、その単語に対しラベル付け部６３が割当てたクラスラベルと、以下のような特徴とを抽出し、並べたものである。
【００４５】
学習データとして、大きく分けて質問文の特徴（質問特徴集合）、文書の特徴（文書特徴集合）、および特徴の組合せ（組合せ特徴集合）という３グループの特徴を学習データに採用した。
【００４６】
従来のＱＡシステムで行なわれてきた、質問文の分類または解答の選択に相当する機能を機械学習により実現するためには、質問文集合に含まれる質問文とその質問タイプ、文書中での正解の現れ方に関する特徴をベクトルまたは集合で表現する必要がある。一般的には、素性の値をベクトル化した素性ベクトルとクラスラベルとを学習データとするが、最大エントロピー法においては、素性関数が素性に相当し、素性関数の値が素性の値に相当する。
【００４７】
本実施の形態では、入力に含まれる入力記号とクラスラベルの組合せがそのまま素性関数を決定する。したがって、まず入力記号集合の作成法を説明する。例えば、ある子供の特徴を表す場合について考える。この子供が、特徴として「身長１２５ｃｍ、体重３５ｋｇ、兄弟姉妹なし、好きな色は黄色」という特徴をもっているものとする。数値はいくつかの区間に分けて表現する。例えば、身長は、１５０ｃｍ未満をＳ、１５０ｃｍ以上１７０ｃｍ未満をＭ、１７０ｃｍ以上をＬで表す。体重なども同様に表すことができる。それ以外の特徴については、所定の表現を用いる。するとこの子供に関する入力データｘは、例えばｘ＝｛身長：Ｓ，体重：Ｓ，兄弟姉妹：無，色：黄色｝と表すことができる。なお、ここで記載した入力記号の表現法は単なる一例であり、入力記号集合において一意であればよい。
【００４８】
本実施の形態で用いる３グループの特徴は、以下のようなものである。
【００４９】
［質問特徴集合］
質問特徴集合（ｑｅｓｔｉｏｎ  ｆｅａｔｕｒｅ  ｓｅｔ）は、質問文のみから得られる特徴である。１つの質問文に対して、１種類の質問特徴集合が定まるので、ある質問文に対する解答単語列を抽出する場合、各単語に与えられる質問特徴集合は同一である。
【００５０】
作成される質問特徴集合の各特徴は以下の通りである。なお、品詞体系は形態素解析ツールＣｈａＳｅｎが出力するＩＰＡ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｐｈｏｎｅｔｉｃ  Ａｓｓｏｃｉａｔｉｏｎ）の最大４階層の品詞体系を用いている。例えば、「多岐川」の品詞は「名詞―固有名詞―人名―姓」であり、助詞「が」の品詞は「助詞―格助詞―一般」である。以下、最左の品詞から順に、品詞１、品詞２、品詞３、品詞４と呼ぶ。
−（ｑｗ）質問中の単語のｎ−ｇｒａｍ（１≦ｎ≦Ｎ、ｎは整数）の列挙（例：「首相は誰」に対し、Ｎ＝２の場合、「ｑｗ：首相、ｑｗ：は、ｑｗ：誰、ｑｗ：首相は、ｑｗ：は誰」を特徴とする。）
−（ｑｑ）質問中の疑問詞（「誰」「どこ」「何」「いつ」等）
−（ｑｍ１）質問中の単語の品詞１の異なりの列挙（例：「首相は誰」に対し、「ｑｍ１：名詞、ｑｗ１：助詞」を特徴とする）
−（ｑｍ２）質問中の単語の品詞２の異なりの列挙
−（ｑｍ３）質問中の単語の品詞３の異なりの列挙
−（ｑｍ４）質問中の単語の品詞４の異なりの列挙
本実施の形態では、ｑｗについては、４−ｇｒａｍまで作成している。
【００５１】
［文書特徴集合］
文書特徴集合（ｄｏｃｕｍｅｎｔ  ｆｅａｔｕｒｅ  ｓｅｔ）は、文書のみから得られる特徴である。
−（ｄｗ-Ｋ，…，ｄｗ+０，…，ｄｗ+Ｋ）単語ｗｉとその前後Ｋ単語の出現形
−（ｄｍ１-Ｋ，…，ｄｍ１+０，…，ｄｍ１+Ｋ）単語ｗｉとその前後Ｋ単語の品詞１
−（ｄｍ２-Ｋ，…，ｄｍ２+０，…，ｄｍ２+Ｋ）単語ｗｉとその前後Ｋ単語の品詞２
−（ｄｍ３-Ｋ，…，ｄｍ３+０，…，ｄｍ３+Ｋ）単語ｗｉとその前後Ｋ単語の品詞３
−（ｄｍ４-Ｋ，…，ｄｍ４+０，…，ｄｍ４+Ｋ）単語ｗｉとその前後Ｋ単語の品詞４
各単語ｗｉについて、以上の各特徴を抽出する。
【００５２】
［組合せ特徴集合］
組合せ特徴集合（ｃｏｍｂｉｎｄｅｄ  ｆｅａｔｕｒｅ  ｓｅｔ）は、文書のみから得られる特徴である。各単語ｗｉについて、作成される特徴集合の各特徴は以下の通りである。
−（ｃｗ-Ｋ，…，ｃｗ+０，…，ｃｗ+Ｋ）質問文のいずれかの単語と単語ｗｉおよびその前後Ｋ単語の出現形一致の有無
−（ｃｍ１-Ｋ，…，ｃｍ１+０，…，ｃｍ１+Ｋ）質問文のいずれかの単語と単語ｗｉおよびその前後Ｋ単語の品詞１の一致の有無
−（ｃｍ２-Ｋ，…，ｃｍ２+０，…，ｃｍ２+Ｋ）質問文のいずれかの単語と単語ｗｉおよびその前後Ｋ単語の品詞２の一致の有無
−（ｃｍ３-Ｋ，…，ｃｍ３+０，…，ｃｍ３+Ｋ）質問文のいずれかの単語と単語ｗｉおよびその前後Ｋ単語の品詞３の一致の有無
−（ｃｍ４-Ｋ，…，ｃｍ４+０，…，ｃｍ４+Ｋ）質問文のいずれかの単語と単語ｗｉおよびその前後Ｋ単語の品詞４の一致の有無
−（ｃｑ-Ｋ，…，ｃｑ+０，…，ｃｑ+Ｋ）質問文の疑問詞と単語ｗｉおよびその前後Ｋ単語の組合せ（例：ｃｑ+１：誰＆さん）
学習用データ作成部６４が作成し、学習用データ記憶部６６が格納する学習用データは、このように、各質問と、各質問に対する解答を含む記事内の単語との組合せに対し、それぞれ上記した単語Ｎ−グラムまたは単語属性のＮ−グラムからなる特徴を求め、クラスラベルと、求められた特徴とを並べたもの（特徴ベクトル）である。
【００５３】
モデル学習部６８は、学習用データ記憶部６６に記憶されたデータを学習用データとし、最大エントロピー法によって、質問文の特徴ベクトルが与えられると、文書集合３０内の各記事の単語の各々に対し、前述したクラスラベル（Ｂ，Ｉ，Ｏ）がそれぞれ割当てられる確率を出力するような確率モデル３４の学習を行なう。
【００５４】
再び図１を参照して、自動解答装置３８は、質問文３６が与えられると、情報検索技術を用いて質問文３６に最も高い関連を有するＮ個（本実施の形態ではＮ＝１）の文書を文書集合３０中から検索するための関連記事抽出部８０と、関連記事抽出部８０が抽出した各記事について、形態素解析を行ない単語に分解するための形態素解析部８２と、形態素解析部８２が形態素解析に使用する辞書８４と、質問文３６と形態素解析部８２が出力する各単語との組合せの各々に対し、学習用データ作成部６４と同様にして単語特徴量を算出するための単語特徴量算出部８６と、単語特徴量算出部８６が算出した単語特徴量を特徴ベクトルとして確率モデル３４に基づいて各単語に対するクラスラベル（Ｂ，Ｉ，Ｏ）の確率を単語ごとに算出するためのモデル参照部８８と、モデル参照部８８が算出した各単語のクラスラベルの確率にしたがって、関連記事抽出部８０により抽出された記事の中で質問文３６に対する解答候補となる単語または単語列を抽出するための候補抽出部９０と、候補抽出部９０が抽出した候補の中から所定の基準にしたがって質問文３６に対する解答を所定個数（本実施の形態では５個）選択し、解答４０として出力するための選択部９２とを含む。
【００５５】
本実施の形態では、関連記事抽出部８０は、ｉｄｆ値を用いた文書検索により、質問文３６の関連記事を抽出する。ｉｄｆ値は文書頻度の逆数とも呼ばれ、単語をｗｉとして次の式のｇｉで定義される。
【００５６】
【数７】
2006072787.tif 000010
ただしｎは文書集合３０に含まれる文書（記事）の総数を表し、ｎｉは文書集合３０中の文書のうち、単語ｗｉを含む文書の数（文書頻度）を表す。予め索引語を定め、それら索引語の各々に対し上記したｉｄｆ値を算出しておく。さらに、各文書がどのような索引語を含むかを調べ、文書ベクトルを作成しておく。文書ベクトルとは、各文書がある索引語を含む場合にはその索引語のｉｄｆ値を、含まない場合には０を、それぞれ要素として所定の順番で配列したベクトルである。
【００５７】
質問文に含まれる単語のうち、索引語を抽出して検索質問ベクトル（文書ベクトルと同様のベクトル）を作成する。検索質問ベクトルと各文書ベクトルとの間でコサイン尺度を算出し、コサイン尺度の上位の文書を抽出すればよい。もちろん、関連記事抽出部８０が用いる情報検索技術はｉｄｆ値を用いるものに限らず、情報検索技術において有効とされているものであれば、どのようなものを用いてもよい。
【００５８】
形態素解析部８２としては、本実施の形態では既に述べたＣｈａＳｅｎを利用する。単語特徴量算出部８６による単語の特徴量の算出方法は、学習用データ作成部６４による学習用データ作成処理で行なわれるのと同様である。
【００５９】
モデル参照部８８および候補抽出部９０による解答候補の抽出処理の概略を図５に示す。なお、以下の説明では、関連記事抽出部８０が抽出する関連記事の個数をＮ（本実施の形態ではＮ＝１）、関連記事をＡ１〜ＡＮ、記事Ａｉに含まれる単語の数をｎｉ、記事Ａｉ中のｊ番目の単語をＷｉ−ｊのように表すものとする。
【００６０】
図５を参照して、例えば記事Ａ１中の最初の単語Ｗ１−１に対し、単語特徴量算出部８６によって素性が算出され、モデル参照部８８がその値に基づいて記事Ａ１と単語Ｗ１−１との組合せＡ１Ｗ１−１の特徴ベクトルを作成する。モデル参照部８８はこの特徴ベクトルを確率モデル３４に与えることにより、この組合せＡ１Ｗ１−１に対するクラスラベル（Ｂ，Ｉ，Ｏ）の確率を算出し、その確率の値に基づいてこの組合せＡ１Ｗ１−１に対するラベル推定値を決定する。本実施の形態では、関連記事から質問に対する正解解答部分のみを切出すような学習をしている。そのため、解答を上位５つ出力する場合には、解答候補の抽出範囲を広げておく必要がある。そこで、候補抽出部９０では、Ｏラベルの確率が９９％以上の場合にＯラベルをラベル推定値とし、それ以外の場合にはＢまたはＩラベルのいずれかを確率値にしたがって与えている。
【００６１】
図５に示す例では、組合せＡ１Ｗ１−１に対しては「Ｏ」がラベル推定値として割当てられている。モデル参照部８８はこのとき、ラベル推定値に対し確率モデル３４を用いて算出された確率をＰＲＯＢ１として割当てる。
【００６２】
同様にして、各記事と、その記事内の各単語との組合せの各々に対し、単語特徴量算出部８６が特徴量を算出し、確率モデル３４がラベル推定値とその確率とを割当てていく。こうして、モデル参照部８８の出力として、ラベル推定値とその確率との組合せの集合１５２が得られ、候補抽出部９０に与えられる。
【００６３】
候補抽出部９０は、ラベル推定値とその確率との組合せの集合１５２のラベル推定値を先頭から順に調べ、「Ｂ」で始まり「Ｂ」または「Ｉ」が連続するクラスラベル列を特定する。候補抽出部９０はさらに、そのクラスラベル列に対応する単語列を抽出し、選択部９２に解答候補群１８０として与える。このとき、各単語列には先頭の単語（Ｂラベルを持つもの）の確率がその単語列のスコアとして割当てられる。図５に示す例では、クラスラベル列１６０および１６２が候補抽出部９０により特定される。さらに、これらクラスラベル列に対応する単語列１７０および１７２が抽出され解答候補群１８０として選択部９２に与えられる。単語列１７０のスコアはＰＲＯＢＡ、単語列１７２のスコアはＰＲＯＢＢである。
【００６４】
選択部９２は、候補抽出部９０から与えられた解答候補群１８０のうち、スコアが上位の５つを選択し解答４０として出力する機能を持つ。
【００６５】
［動作］
上記したＱＡシステム２０は以下のように動作する。ＱＡシステム２０の動作には２つのフェーズがある。第１のフェーズは文書集合３０からモデル構築部３２が確率モデル３４を構築するモデル構築フェーズである。第２のフェーズは質問文３６が与えられると確率モデル３４を用いて文書集合３０中から質問文３６に対する解答４０を抽出する実行フェーズである。以下、順に説明する。
【００６６】
−モデル構築フェーズ−
モデル構築フェーズに先立ち、予め文書集合３０と学習用ＱＡ群１００とが準備されているものとする。また図２に示すように、学習用ＱＡ群１００中の各学習用ＱＡ１１０，１１２，１１４，…，１２０，１２２，１２４には、学習用データセット５０中の記事のうち、その質問に対する解答を含む記事がリンクされているものとする。
【００６７】
記事抽出部６２は、学習用ＱＡ集６０から学習用ＱＡ１１０，１１２，１１４，…，１２０，１２２，１２４を順に読出すと、当該学習用ＱＡにリンクされている記事を学習用データセット５０から読出し、ラベル付け部６３に与える。ラベル付け部６３は、記事抽出部６２から与えられた記事内の各単語に対し、対応する学習用ＱＡの解答を参照しながらＢ，Ｉ，Ｏのラベル付けを行ない、学習用データ作成部６４に与える。
【００６８】
学習用データ作成部６４は、各単語にクラスラベルが付された記事と、学習用ＱＡとを用いて、各質問と当該質問に関連する記事中の各単語との組合せの各々に対し、特徴量を算出し、クラスラベルと組合せて特徴ベクトルを作成して学習用データ記憶部６６に学習用データとして蓄積する。
【００６９】
学習用データ記憶部６６への学習用データの蓄積が終了すると、モデル学習部６８が前述した最大エントロピー法にしたがい確率モデル３４の構築を行なう。以上でモデル構築フェーズは終了し、ＱＡシステム２０による自動解答処理が可能になる。
【００７０】
−実行フェーズ−
実行フェーズでは、質問文３６が自動解答装置３８に与えられると、関連記事抽出部８０が質問文３６に含まれる単語について検索質問ベクトルを作成する。関連記事抽出部８０はさらに、この検索質問ベクトルと文書集合３０に含まれる各文書の文書ベクトルとの間でコサイン尺度を算出し、さらにその値の最も大きなＮ個（本実施の形態ではＮ＝１）の文書を抽出して形態素解析部８２に与える。形態素解析部８２は、辞書８４を参照してこの文書の形態素解析を行ない、その結果を単語特徴量算出部８６に与える。
【００７１】
単語特徴量算出部８６は、質問文３６と、形態素解析部８２から与えられた関連記事の単語とに基づいて、単語特徴量を各文書の各単語に対し算出し、モデル参照部８８に与える。モデル参照部８８は、これら単語特徴量に基づいて各文書の各単語に対し特徴ベクトルを作成する。モデル参照部８８はさらに、この特徴ベクトルを用い、確率モデル３４を参照して当該特徴ベクトルに対する各クラスラベル（Ｂ，Ｉ，Ｏ）の確率を算出し、Ｏラベルの確率が９９％以上であればＯラベルとその確率を、それ以外の場合にはＢラベルとＩラベルとのうち確率の高い方とその確率を、それぞれ当該特徴ベクトルに対応する単語のラベル推定値および確率として割当てる。モデル参照部８８は、関連記事抽出部８０が読出した全ての文書の全ての単語に対しこの処理を行なう。その結果、図５の右に示すとおり、関連記事抽出部８０が抽出した全ての文書の全ての単語に対し、ラベル推定値とその確率との組合せの集合１５２が得られる。モデル参照部８８はラベル推定値とその確率との組合せの集合１５２を候補抽出部９０に与える。
【００７２】
候補抽出部９０は、ラベル推定値とその確率との組合せの集合１５２のラベル推定値を先頭から調べ、先頭のラベル推定値がＢでＢまたはＩが続くクラスラベル列を探す。ラベル推定値とその確率との組合せの集合１５２は、そのようにして得られたクラスラベル列に対応する単語列を抽出して解答候補群１８０とし、それらにスコア（先頭の単語のラベル推定値の確率）を割当てて選択部９２に与える。
【００７３】
選択部９２は、候補抽出部９０から与えられた解答候補群１８０のうち、スコアが上位のもの５つを質問文３６に対する解答として選択し、解答４０として出力する。
【００７４】
［実施の形態の評価］
本実施の形態に係るＱＡシステム２０の性能評価を行なうために、ＣＲＬ  ＱＡデータセット２０００問の質問文・正解を１０のセットに分割し、１０分割交差検定を行なった。ＱＡシステム２０の最終的な出力として得られた解答を、標準的に用いられる次の２つの評価値により評価した。
【００７５】
−ＴＯＰ５スコア  ５位以内に正解が含まれた質問の割合
−ＭＲＲ（Ｍｅａｎ  Ｒｅｃｉｐｒｏｃａｌ  Ｒａｎｋ）  各質問について、ランクの１位から５位まで順に正解かどうかチェックしてきき、最初に正解と判定されたランクｎのポイント１／ｎを与え、質問数で平均したもの。
【００７６】
正解の判定については、「完全文字列一致」と「文字列の包含」の２つの基準による自動評価と人手による評価とを行なった。
【００７７】
全体の評価結果を表２に示す。表２を参照して、本実施の形態によれば、人手による評価で、全体でＭＲＲ＝０．３５，ＴＯＰ５＝５０％の質問応答が実現できることが確認された。
【００７８】
【表２】
2006072787.tif 000011
この実施の形態に係るＱＡシステム２０によれば、質問タイプの体系を必要としない。そのため、質問タイプの体系にあわせた学習データの準備や、質問タイプの体系の変化に対応するための学習データの作り直しなどが必要となることはなく、システムの構築はシンプルなものになる。それにもかかわらず、ＭＲＲ＝０．３５、ＴＯＰ５＝５０％という性能が得られた。この性能は、評価用のデータセットは異なるが、人名、地名などの８種類の固有表現のみを対象にしたＳＡＩＱＡ−ＩＩ（非特許文献１）によるＭＲＲ＝０．４、ＴＯＰ５＝５５％という性能に近い。
【００７９】
なお、上記した実施の形態では、候補抽出部９０による解答候補の抽出では、Ｂラベルから始まりＩラベルが続く単語列だけでなく、Ｂラベルから始まり途中Ｂラベルが続く単語列も解答候補としている。その理由は、一般の用語抽出とは異なり、質問の解答となる文字列を取出す学習が行なわれた場合、ある質問の解答の候補が２つ連続して現れることは少なく、一連の単語列として扱う方が良いことが予備実験の結果判明したためである。
【００８０】
もちろん、解答として抽出される単語列を決定する方法は本実施の形態における方法と異なっていてもよい。
【００８１】
また、ラベル推定値の割当方法も上記した実施の形態に限定されるわけではない。例えば、上記した実施の形態のＢラベルとＩラベルとを区別することなく、同じクラスラベルを用いるようにしてもよい。この場合、単語が連続している場合のみ、後続の単語の先頭を別のクラスラベルとするようにしてもよい。また、単語列の最後の単語に、Ｂラベル、Ｉラベルのいずれとも異なるクラスラベルを付与するようにしてもよい。この場合、単語列に含まれる単語数が１のときとそれ以外とで、最後のクラスラベルを別々のものにしてもよい。
【００８２】
また、上記した実施の形態では、質問文３６が与えられたときに１個の関連記事を抽出している。実験では、抽出する関連記事の数を多くすると、正解率が低下する傾向が見られた。これは、正解を含む文から解答の切出しを学習しているため、正解を含まない文に対する学習が十分ではないためと考えられる。したがって上記したような学習を行なう場合であれば、抽出する関連記事の数は１個が最善である。しかし、正解を含まない文に対する学習を十分に行なえるようであれば、抽出する関連記事の数を多くすることも可能である。
【００８３】
［コンピュータによる実現］
上記した実施の形態に係るＱＡシステム２０は、コンピュータハードウェアおよび当該コンピュータにより実行されるソフトウェアにより実現可能である。モデル構築部３２、および自動解答装置３８をコンピュータにより実現するためのコンピュータプログラムの概略フローチャートを図６および図７にそれぞれ示す。
【００８４】
図６を参照して、図１に示すモデル構築部３２を実現するためのコンピュータプログラムは、以下のような制御構造を有する。まずステップ２００において、学習用ＱＡ集から質問ｑ、それに対する正解ａ、および正解ａを含む記事ｄを読出す。記事ｄを単語列Ｗ１，…，Ｗｊ，…，Ｗｋ，…，Ｗｍとし、このうち単語列Ｗｊ，…，Ｗｋが正解ａと一致するものとする。
【００８５】
ステップ２０２では、ステップ２００で学習用ＱＡの読出しを試みた結果、学習用ＱＡ集の全てのＱＡについて処理が完了したことが判明したか否かを判定する。もし完了していればステップ２１２に進み、それ以外の場合にはステップ２０４に進む。
【００８６】
ステップ２０４では、記事ｄ中の正解ａと一致する単語列の前後にタグ＜ａ＞＜／ａ＞を挿入する。記事ｄの単語列はＷ１，…，＜ａ＞，Ｗｊ，…，Ｗｋ，＜／ａ＞，…，Ｗｍとなる。
【００８７】
ステップ２０６では、記事ｄを形態素解析する。形態素解析には前述したとおりＣｈａＳｅｎなど、既存のツールを利用できる。ステップ２０８では、記事ｄの単語列Ｗ１，…，Ｗｍに対しそれぞれ特徴ｘ(1)，…，ｘ(m)を抽出する。
【００８８】
さらにステップ２１０において、単語列のうち、タグ＜ａ＞および＜／ａ＞に挟まれている単語列Ｗｊ，…，Ｗｋの先頭単語ＷｊにＢラベルを、後続にＩラベルを、それぞれ付与し、それ以外の単語にＯラベルを付与する。この後、制御はステップ２００に戻り、次の学習用ＱＡの読出しを試みる。以下同様である。
【００８９】
全ての学習用ＱＡに対しステップ２００〜２１０の処理が完了すると、ステップ２１２で上記した各質問ｑと対応する記事ｄの各単語Ｗ１〜Ｗｍの各々との組合せに対し、そのクラスラベルと、特徴量とから特徴ベクトルを作成する。これらを入力データとして、最大エントロピー法により確率モデルｐλ＊を求め、処理を終了する。
【００９０】
一方、図１に示す自動解答装置３８をコンピュータにより実現するためのコンピュータプログラムは、図７に示すような制御構造を有する。図７を参照して、自動解答の実行フェーズでは、まずステップ２３０で質問ｑを受ける。ステップ２３２でこの質問ｑに対し、情報検索技術を用いて文書集合３０から最も関連するＮ個（本実施の形態ではＮ＝１）の記事を検索し読出す。読出された記事ｄ＝単語列Ｗ１，…，Ｗｊ，…，Ｗｋ，…，Ｗｍであるとする。
【００９１】
ステップ２３４で、記事ｄを形態素解析する。この形態素解析にも、前述したとおりＣｈａＳｅｎなど、容易に入手可能なツールを利用できる。ステップ２３６で、形態素解析により得られた単語Ｗ１，…，Ｗｍに対し、それぞれ特徴ｘ(1)，…，ｘ(m)を算出する。続いてステップ２３８では、各クラスラベルｙ(j)∈Ｙ＝｛Ｂ，Ｉ，Ｏ｝について、確率モデル３４にしたがってｐλ＊（ｙ(j)｜ｘ(i)）を算出する。
【００９２】
そしてステップ２４０において、確率モデル３４を用いて算出された確率に基づいてクラスラベルをクラスラベル集合｛Ｂ，Ｉ，Ｏ｝から選択し、対応の単語Ｗｉのラベル推定値とする。なお本実施の形態では、前述したとおり、Ｏラベルの確率が９９％以上のときに単語Ｗｉのラベル推定値をＯラベルとし、それ以外のときにはＢラベルまたはＩラベルのうち確率の大きい方をラベル推定値とする。この処理を、記事ｄの全ての単語について実行する。
【００９３】
ステップ２４２において、ステップ２４０の処理で形成されるクラスラベル列のうち、Ｂラベルで始まりＩラベルまたはＢラベルが連続するクラスラベル列を探す。ステップ２４４でそのようなクラスラベル列が存在するか否かを判定する。存在すればステップ２４４に進み、それ以外の場合にはステップ２４６に進む。
【００９４】
ステップ２４４では、見出されたクラスラベル列に対応する単語列に、その先頭単語の確率をスコアとして付与し、記憶する。その後ステップ２４２に戻り、条件を満たす次のクラスラベル列を検索する。
【００９５】
条件を満たすクラスラベル列が全て見出されると、それらに対応する単語列のうち、スコアの上位５位までをステップ２４６において質問ｑに対する解答として選択し出力する。
【００９６】
以上のような制御構造を有するコンピュータプログラムをコンピュータにおいて実行することにより、図１に示すＱＡシステム２０を実現することができる。
【００９７】
上記したとおり、この実施の形態のシステムは、図６および図７に制御構造を示すコンピュータプログラムを、コンピュータハードウェアにより実行することにより実現可能である。図８はそのためのコンピュータシステム３３０の外観を示し、図９はコンピュータシステム３３０の内部構成を示す。
【００９８】
図８を参照して、このコンピュータシステム３３０は、ＦＤ（フレキシブルディスク）ドライブ３５２およびＣＤ−ＲＯＭ（コンパクトディスク読出専用メモリ）ドライブ３５０を有するコンピュータ３４０と、キーボード３４６と、マウス３４８と、モニタ３４２とを含む。
【００９９】
図９を参照して、コンピュータ３４０は、ＦＤドライブ３５２およびＣＤ−ＲＯＭドライブ３５０に加えて、ＣＰＵ（中央処理装置）３５６と、ＣＰＵ３５６、ＦＤドライブ３５２およびＣＤ−ＲＯＭドライブ３５０に接続されたバス３６６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）３５８と、バス３６６に接続され、プログラム命令、システムプログラム、および作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）３６０とを含む。コンピュータシステム３３０はさらに、プリンタ３４４を含んでいる。
【０１００】
ここでは示さないが、コンピュータ３４０はさらにローカルエリアネットワーク（ＬＡＮ）への接続を提供するネットワークアダプタボードを含んでもよい。
【０１０１】
コンピュータシステム３３０に図１に示すＱＡシステム２０として動作を行なわせるためのコンピュータプログラムは、ＣＤ−ＲＯＭドライブ３５０またはＦＤドライブ３５２に挿入されるＣＤ−ＲＯＭ３６２またはＦＤ３６４に記憶され、さらにハードディスク３５４に転送される。または、プログラムは図示しないネットワークを通じてコンピュータ３４０に送信されハードディスク３５４に記憶されてもよい。プログラムは実行の際にＲＡＭ３６０にロードされる。ＣＤ−ＲＯＭ３６２から、ＦＤ３６４から、またはネットワークを介して、直接にＲＡＭ３６０にプログラムをロードしてもよい。
【０１０２】
このプログラムは、コンピュータ３４０にこの実施の形態のＱＡシステム２０としての動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ３４０上で動作するオペレーティングシステム（ＯＳ）またはサードパーティのプログラム、もしくはコンピュータ３４０にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のＱＡシステム２０を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記したＱＡシステム２０として動作を実行する命令のみを含んでいればよい。コンピュータシステム３３０の動作は周知であるので、ここでは繰り返さない。
【０１０３】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味および範囲内でのすべての変更を含む。
【図面の簡単な説明】
【０１０４】
【図１】本発明の一実施の形態に係るＱＡシステム２０のブロック図である。
【図２】学習用ＱＡ集６０の構成を模式的に示す図である。
【図３】ラベルデータ群１０２の構成およびクラスラベル付与の方法を模式的に示す図である。
【図４】学習用データの構成を示す図である。
【図５】質問に対する解答候補抽出処理の概略を模式的に示す図である。
【図６】図１に示すモデル構築部３２を実現するためのコンピュータプログラムの概略フローチャートである。
【図７】図１に示す自動解答装置３８を実現するためのコンピュータプログラムの概略フローチャートである。
【図８】図１に示すＱＡシステム２０を実現可能なコンピュータシステムの外観図である。
【図９】図８に示すコンピュータのブロック図である。
【符号の説明】
【０１０５】
２０  ＱＡシステム、  ３０  文書集合、３２  モデル構築部、３４  確率モデル、３６  質問文、３８  自動解答装置、４０  解答、６０  学習用ＱＡ集、６２  記事抽出部、６４  学習用データ作成部、６６  学習用データ記憶部、６８  モデル学習部、８０  関連記事抽出部、８２  形態素解析部、８４  辞書、８６  単語特徴量算出部、８８  モデル参照部、９０  候補抽出部、９２  選択部
【図１】
2006072787.tif 000012
【図２】
2006072787.tif 000013
【図３】
2006072787.tif 000014
【図４】
2006072787.tif 000015
【図５】
2006072787.tif 000016
【図６】
2006072787.tif 000017
【図７】
2006072787.tif 000018
【図８】
2006072787.tif 000019
【図９】
2006072787.tif 000020