(57)【特許請求の範囲】
【請求項１】
質問文に対する回答文のテンプレートであって、第１及び第２の２つの変数部分をもつテンプレートを記憶するためのテンプレート記憶手段と、
質問文の入力を受けたことに応答し、前記テンプレート記憶手段に記憶されたテンプレートのうち、当該質問文に対する回答文の原型となる１又は複数のテンプレートを推定し、質問文のうちで各テンプレートの前記第１の変数部分に相当する単語を示す制約条件と共に出力するためのテンプレート推定手段と、
前記テンプレート推定手段により出力されたテンプレートのうち、当該テンプレートの制約条件を構成する単語の単語クラスに基いて選択されたテンプレートに対し、予め準備されたテンプレート拡張規則を適用することにより、単語又は文の構造が修正された１又は複数の拡張テンプレートを生成するためのテンプレート拡張手段とを含み、
前記拡張テンプレートの各々は、前記質問文に対する回答候補の位置を示す第１及び第２の２つの変数を含み、当該２つの変数は、前記テンプレート記憶手段に記憶されたテンプレートの前記第１及び第２の２つの変数部分とそれぞれ関係付けられており、かつそれぞれには当該変数が満たすべき属性が指定されており、
前記テンプレート拡張手段は、前記制約条件を構成する単語の属性が前記第１の変数の属性と所定の関係を持つ拡張テンプレートを選択し、
前記テンプレート拡張手段により出力された拡張テンプレートの各々と、予め準備された複数の文とをマッチングすることにより、拡張テンプレートの前記第２の変数と交換可能な候補を１又は複数個出力するためのマッチング手段と、
前記マッチング手段により出力された候補に対し、当該候補が得られるまでの経過、または当該候補にマッチした拡張テンプレートに含まれる単語と当該候補との共起頻度に基づいて、前記質問文に対する回答としての適格性を示すスコアを算出し、当該スコアの高いものの順番に前記候補を出力するためのスコアリング及び選択手段とを含む、質問回答装置。
【請求項２】
前記属性は対応する変数に代入される単語の単語クラスである、請求項１に記載の質問回答装置。
【請求項３】
さらに、前記質問文を通信により音声信号で受信し、音声認識によりテキスト列に変換して前記テンプレート推定手段に入力するための質問文受信手段を含む、請求項１または請求項２に記載の質問回答装置。
【請求項４】
さらに、前記スコアリング及び選択手段により出力される候補を音声合成により音声に変換するための音声合成手段を含む、請求項１から請求項３のいずれかに記載の質問回答装置。
【請求項５】
さらに、
前記質問文を通信により音声信号で受信し、音声認識によりテキスト列に変換して前記テンプレート推定手段に入力するための質問文受信手段と、
前記スコアリング及び選択手段により出力される候補を音声合成により音声信号に変換して、前記質問文を送信してきた端末に返信するための音声合成手段とを含む、請求項１または請求項２に記載の質問回答装置。
【請求項６】
コンピュータを、
質問文に対する回答文のテンプレートであって、第１及び第２の２つの変数部分をもつテンプレートを記憶するためのテンプレート記憶手段と、
質問文の入力を受けたことに応答し、前記テンプレート記憶手段に記憶されたテンプレートのうち、当該質問文に対する回答文の原型となる１又は複数のテンプレートを推定し、質問文のうちで各テンプレートの前記第１の変数部分に相当する単語を示す制約条件と共に出力するためのテンプレート推定手段と、
前記テンプレート推定手段により出力されたテンプレートの各々に対し、当該テンプレートの制約条件を構成する単語の単語クラス、及び予め準備されたテンプレート拡張規則を適用することにより、単語又は文の構造が修正された１又は複数の拡張テンプレートを生成するためのテンプレート拡張手段とを含み、
前記拡張テンプレートの各々は、前記質問文に対する回答候補の位置を示す第１及び第２の２つの変数を含み、当該２つの変数は、前記テンプレート記憶手段に記憶されたテンプレートの前記第１及び第２の２つの変数部分とそれぞれ関係付けられており、かつそれぞれには当該変数が満たすべき属性が指定されており、
前記テンプレート拡張手段により出力された拡張テンプレートの各々と、予め入手可能なように準備された多数の文とをマッチングすることにより、拡張テンプレートの前記第２の変数と交換可能な候補を１又は複数個出力するためのマッチング手段と、
前記マッチング手段により出力された候補に対し、当該候補が得られるまでの経過、または若しくは当該候補にマッチした拡張テンプレートに含まれる単語と当該候補との共起頻度に基づいて、前記質問文に対する回答としての適格性を示すスコアを算出し、当該スコアの高いものの順番に前記候補を出力するためのスコアリング及び選択手段として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自然言語の質問文を受けて回答を生成するシステムに関し、特に、自然言語で発せられた任意の質問に対する高精度な回答を自動的に生成する質問応答装置に関する。
【背景技術】
【０００２】
種々の質問に対して回答を与える質問応答システムの開発が進んでいる。たとえば後掲の非特許文献１には、ある関係にある単語対を取り出す技術が開示されている。非特許文献１に開示された技術では、取り出したい関係の単語を少量準備し、その単語対からパターンを学習する。回答時には、このパターンを利用して、その関係の単語対を取り出す。
【０００３】
しかしこの非特許文献１に記載された技術では、目的の単語対の抽出精度に問題があるとされている。
【０００４】
一方、上記したようなパターンをさらに言い換えによって拡張して質問応答システムで利用しようとする試みが、非特許文献２に開示されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】パトリック・パンテル他、Ｅｓｐｒｅｓｓｏ：  意味的関係を自動的に獲得するための、一般パターンの拡大、第２１回計算機言語に関する国際大会及び第４４回計算機言語学会第４４回年次大会（Ｃｏｌｉｎｇ−ＡＣＬ−０６）、１１３−１２０ページ、２００６年（Patric Pantel et al., Espresso: Leveraging generic patterns forautomatically harvesting semantic relations. In Proceedings of the 21stInternational Conference on Computational Linguistics and 44thAnnual Meeting of the Association for Computational Linguistics(Coling-ACL-06), pages 113-120, 2006.）
【非特許文献２】デカン・リング他、質問応答に関する推論の発見、自然言語工学、７（４）：３４３−３６０ページ、２００１年（Dekang Ling et al, Discovery of Inference Rules for QuestionAnswering. Natural Language Engineering, 7(4): 343-360, 2001.）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記した特許文献２に開示された技術は、十分に学習した分野の質問文に対する回答を推定することはできるものの、対応可能な分野に制限があるという問題がある。
【０００７】
特定の分野に予め質問を限定することは、ある特定の使途にのみ使用するシステムでは有用ではあるが、できればより広い範囲の質問に自動的に回答できる質問応答システムがあると望ましい。
【０００８】
それゆえに本発明の目的は、幅広い分野の、自然言語文による質問に対して精度よく、自動的に回答文を生成できる質問応答システムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の第１の局面にかかる質問回答装置は、質問文に対する回答文のテンプレートであって、第１及び第２の２つの変数部分をもつテンプレートを記憶するためのテンプレート記憶手段と、質問文の入力を受けたことに応答し、テンプレート記憶手段に記憶されたテンプレートのうち、当該質問文に対する回答文の原型となる１又は複数のテンプレートを推定し、質問文のうちで各テンプレートの第１の変数部分に相当する単語を示す制約条件と共に出力するためのテンプレート推定手段と、テンプレート推定手段により出力されたテンプレートのうち、当該テンプレートの制約条件を構成する単語の単語クラスに基づいて選択されたテンプレートに対し、予め準備されたテンプレート拡張規則を適用することにより、単語又は文の構造が修正された１又は複数の拡張テンプレートを生成するためのテンプレート拡張手段とを含む。拡張テンプレートの各々は、質問文に対する回答候補の位置を示す第１及び第２の２つの変数を含み、当該２つの変数は、前記テンプレート記憶手段に記憶されたテンプレートの前記第１及び第２の２つの変数部分とそれぞれ関係付けられており、かつそれぞれには当該変数が満たすべき属性が指定されている。テンプレート拡張手段は、前記制約条件を構成する単語の属性が前記第１の変数と所定の関係を持つ拡張テンプレートを選択する。質問回答装置はさらに、テンプレート拡張手段により出力された拡張テンプレートの各々と、予め入手可能なように準備された多数の文とをマッチングすることにより、拡張テンプレートの第２の変数と交換可能な候補を１又は複数個出力するためのマッチング手段と、マッチング手段により出力された候補に対し、当該候補が得られるまでの経過、または当該候補にマッチした拡張テンプレートに含まれる単語と当該候補との共起頻度に基づいて、質問文に対する回答としての適格性を示すスコアを算出し、当該スコアの高いものの順番に候補を出力するためのスコアリング及び選択手段とを含む。
【００１０】
変数の属性は、変数に代入される単語の単語クラスであってもよい。
【００１１】
好ましくは、質問回答装置はさらに、質問文を通信により音声信号で受信し、音声認識によりテキスト列に変換してテンプレート推定手段に入力するための質問文受信手段を含む。
【００１２】
より好ましくは、質問回答装置はさらに、スコアリング及び選択手段により出力される候補を音声合成により音声に変換するための音声合成手段を含む。
【００１３】
質問回答装置は、さらに、質問文を通信により音声信号で受信し、音声認識によりテキスト列に変換してテンプレート推定手段に入力するための質問文受信手段と、スコアリング及び選択手段により出力される候補を音声合成により音声信号に変換して、質問文を送信してきた端末に返信するための音声合成手段とを含んでもよい。
【００１４】
本発明の第２の局面にかかるコンピュータプログラムは、コンピュータを、質問文に対する回答文のテンプレートであって、第１及び第２の２つの変数部分をもつテンプレートを記憶するためのテンプレート記憶手段と、質問文の入力を受けたことに応答し、テンプレート記憶手段に記憶されたテンプレートのうち、当該質問文に対する回答文の原型となる１又は複数のテンプレートを推定し、質問文のうちで各テンプレートの第１の変数部分に相当する単語を示す制約条件と共に出力するためのテンプレート推定手段と、テンプレート推定手段により出力されたテンプレートの各々に対し、当該テンプレートの制約条件を構成する単語の単語クラス、及び予め準備されたテンプレート拡張規則を適用することにより、単語又は文の構造が修正された１又は複数の拡張テンプレートを生成するためのテンプレート拡張手段とを含み、拡張テンプレートの各々は、質問文に対する回答候補の位置を示す第１及び第２の２つの変数を含み、当該２つの変数は、前記テンプレート記憶手段に記憶されたテンプレートの前記第１及び第２の２つの変数部分とそれぞれ関係付けられており、テンプレート拡張手段により出力された拡張テンプレートの各々と、予め入手可能なように準備された多数の文とをマッチングすることにより、拡張テンプレートの第２の変数と交換可能な候補を１又は複数個出力するためのマッチング手段と、マッチング手段により出力された候補に対し、当該候補が得られるまでの経過、または若しくは当該候補にマッチした拡張テンプレートに含まれる単語と当該候補との共起頻度に基づいて、質問文に対する回答としての適格性を示すスコアを算出し、当該スコアの高いものの順番に候補を出力するためのスコアリング及び選択手段として機能させる。
【図面の簡単な説明】
【００１５】
【図１】本発明の１実施の形態に係る質問応答システムのブロック図である。
【図２】シードパターン集合の例を示す図である。
【図３】拡張パターン集合の例を示す図である。
【図４】シードパターンを拡張するためのプログラムの制御構造を示すフローチャートである。
【図５】Ｗｅｂコーパスからパターンに合致する単語を抽出するためのプログラムの制御構造を示すフローチャートである。
【図６】本発明の１実施の形態に係る質問回答システム実現するコンピュータシステムの外観図である。
【図７】図６に示すコンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００１７】
［構成］
図１を参照して、本発明の１実施の形態に係る質問応答装置３０は、Ｗｅｂから収集した文からなるＷｅｂコーパス３２に含まれる自然言語文を用い、幅広い分野に関する自然言語文の入力質問文２０に対する適切な回答文３４を精度よく生成するためのものである。なお、Ｗｅｂコーパス３２に代えて、通常のコーパスを用いても何ら問題がないことについては当業者には明らかであろう。
【００１８】
質問応答装置３０は、質問文に対する回答文のテンプレートを多数記憶するテンプレート集合記憶部４６と、入力質問文２０に対する回答文としてそのパターンがもっともマッチするテンプレートをテンプレート集合記憶部４６に記憶されたテンプレートの中で推定し抽出するためのテンプレート推定部４８とを含む。テンプレート推定部４８により抽出されるテンプレートは、通常は複数個ある。これらの各々をシードテンプレートと呼び、それらをまとめてシードテンプレート集合と呼ぶ。テンプレート推定部４８によるテンプレートの推定では、予め入力文と、それに対応するテンプレートとの間の関係を教師付機械学習により学習した推定装置を用いることができる。テンプレート推定部４８は、入力質問文から得られる単語のうち、シードテンプレートに含まれる変数のうちのいずれかに入るものを特定し、それをシードテンプレートに対する制約条件としてシードテンプレートと共に出力する。したがって、シードテンプレートのうち、いずれかの変数にどのような値を入れるべきかは定まっている。
【００１９】
質問応答装置３０はさらに、テンプレート推定部４８の出力したシードテンプレート集合を記憶するためのシードテンプレート集合記憶部５０と、シードテンプレートに含まれる単語の単語クラス、単語と単語との意味的関係等を記憶するためのシソーラス５８と、シードテンプレート集合記憶部５０内のシードテンプレートの各々を拡張してさらに多数のテンプレートを形成するために予め準備されたテンプレート拡張規則を記憶するためのテンプレート拡張規則記憶部５４と、テンプレート拡張規則記憶部５４に記憶されたテンプレート拡張規則、及びシソーラス５８を用い、シードテンプレート集合記憶部５０に記憶されたシードテンプレートの各々から、シードテンプレートと異なる形の拡張テンプレートを多数生成するためのテンプレート拡張処理部５２と、テンプレート拡張処理部５２により出力される拡張テンプレート集合を記憶するための拡張テンプレート集合記憶部５６とを含む。
【００２０】
テンプレート集合記憶部４６に記憶されたテンプレートは、質問に回答するための文パターンである。学習のために種々の文を収集し、それらから質問の形を作成しておき、それらをテンプレートとしてテンプレート集合記憶部４６に用意しておく。
【００２１】
テンプレート推定部４８は、入力質問文２０を解析し、それに回答するテンプレートをテンプレート集合記憶部４６中から抽出するためのものである。入力質問文２０を構成する文字列との類似性に基づき、テンプレート集合記憶部４６に記憶されたテンプレートの中からもっとも近いテンプレートを特定すること等により、テンプレート推定部４８はシードテンプレートを抽出する。推定結果は複数個用いることが可能である。すなわち、シードテンプレート集合記憶部５０には複数個のシードテンプレートが格納され得る。
【００２２】
図２にシードテンプレートの例を示す。図２の例では、入力質問文２０が「ウルトラマンの敵は何？」というようなものであった場合を想定している。この質問文にマッチするテンプレートとしては、Ｘを変数として、「Ｙの敵はＸ」、「ＸがＹの敵」等というテンプレートが得られる。なお、入力質問文２０から、上記テンプレートを抽出するにあたり、「ウルトラマン」が変数Ｙに相当し、変数Ｘが入力質問文２０に対する回答となり得る部分を示す。
【００２３】
テンプレートは、自然言語文から自動的に生成することも可能である。本実施の形態では、人間が手作業で準備するものとする。テンプレートは、本実施の形態ではいわゆる正規表現で記述するものとする。正規表現としては種々のものが知られているが、ここではそれらのいずれも用いるようにしてもよい。
【００２４】
シソーラス５８は、各単語について、その属性として単語クラスを対応付けたものである。
【００２５】
テンプレート拡張規則記憶部５４に記憶されたテンプレート拡張規則は、シードテンプレート集合記憶部５０に記憶されたシードテンプレートを拡張し、拡張テンプレートを生成するための規則である。テンプレート拡張規則も正規表現を用いて記述できる。本実施の形態では、各拡張規則は構文解析情報（典型的には構文解析木）を含み、構文解析木中に配置された単語または単語列（以下「単語等」と呼ぶ。）の集合を含む。これら単語等の集合は２つの変数を持つ。変数とは、べつの単語に入れ替えることが可能な箇所を表す。本実施の形態では、各変数にはいずれもその属性（単語クラス）がクラス制限として指定されている。テンプレート拡張規則は、単語の置換、文構造の修正等を含むものでもよい。単語の置換でも、たとえば同じ単語クラスの他の単語に置換する、その単語のより下位の概念の単語に置換する、その単語の類義語に置換する、等の種々の規則を用いることができる。
【００２６】
シードテンプレートにテンプレート拡張規則を適用する際には、シードテンプレートに含まれる単語のうち、質問文から得られ、テンプレートのうち変数に相当する部分に挿入された単語の単語クラスと、テンプレート拡張規則の変数部分に付された単語クラスとのマッチングが行なわれる。両者が一致した場合にそのテンプレート拡張規則がシードテンプレートに適用される。この結果得られる拡張テンプレートには２箇所の変数があり、それら変数にはその属性（単語クラス）がクラス制限として付されることになる。
【００２７】
図３を参照して、拡張テンプレート集合の内容の一例として、図２に示すシードテンプレートに拡張規則を適用することで、変数Ｙ＝「ウルトラマン」という制約のもと、「Ｘ＜怪獣／妖怪＞はＹ＜ヒーロー＞のライバル」、「Ｘ＜怪獣／妖怪＞がＹ＜ヒーロー＞の宿敵」、「Ｙ＜ヒーロー＞の敵がＸ＜怪獣／妖怪＞だった」、等という拡張テンプレートが得られる。Ｘ，Ｙは変数を表す。拡張テンプレートも２つの変数を持ち、それぞれに単語クラスが付されている。ここで、「ウルトラマン」という、入力質問文に含まれる単語から、シソーラスを用いて＜ヒーロー＞という単語クラスが得られるものとする。
【００２８】
再び図１を参照して、質問応答装置３０はさらに、拡張テンプレート集合記憶部５６に記憶された拡張テンプレートの各々と、Ｗｅｂコーパス３２に含まれる文とのマッチングを、シソーラス５８から得られる単語クラスを用いて行ない、Ｗｅｂコーパス３２から、拡張テンプレートのいずれかに合致する部分を持つ単語列（「マッチ単語列」と呼ぶ。）を抽出するマッチング部６０と、マッチング部６０によりＷｅｂコーパス３２から抽出されたマッチ単語列からなるマッチ単語列集合を記憶するマッチ単語列集合記憶装置６２と、マッチ単語列集合記憶装置６２に記憶されたマッチ単語列から、質問に対する答えとなりそうな部分を収集するための回答候補収集部６６と、回答候補収集部６６の出力するマッチ単語列の各々に対し、テンプレート推定部４８で適用されたテンプレート、テンプレート拡張処理部５２でのテンプレートの拡張に使用されたテンプレート拡張規則及び単語クラス、回答に相当する部分の単語とその周囲に含まれる単語との共起頻度等に基づき、各マッチ単語列に対してスコアを付与し、スコアの高いマッチ単語列から順番に回答文３４として出力するためのスコアリング・選択部６８とを含む。
【００２９】
マッチング部６０におけるマッチングでは、拡張テンプレートに含まれる構文解析木を使用し、構文解析木の中の部分木の各々と、Ｗｅｂコーパス３２に含まれる文とのマッチングを行なう。例えばＷｅｂコーパス３２からの文の構文解析木中のあるノードを省略した部分が拡張テンプレートの構文解析木と一致するのであれば、それ以外の条件（変数部分の単語クラスの一致、それ以外の単語列の一致）が満たされさえすればその一致する部分がマッチ単語列として抽出される。したがって、１次元的な単語列の配列を見るだけでは得られないような単語列（Ｗｅｂコーパス３２には実際には含まれないような単語列）もマッチ単語列として抽出できる。
【００３０】
図４を参照して、図１のテンプレート拡張処理部５２をコンピュータにより実現するためのプログラムは、以下のような制御構造を有する。このプログラムは、全シードテンプレートの変数部分のうち、入力質問文により補充された部分の単語の単語クラスをシソーラス５８を参照して割当てるステップ９８と、テンプレート拡張規則記憶部５４に記憶されたテンプレート拡張規則を全てコンピュータの主記憶装置に読込むステップ１００と、ステップ１００で読込まれた各規則に対し、以下に説明するステップ１０４を実行して拡張テンプレート集合に拡張テンプレートを追加するステップ１０２と、ステップ１０２の処理が完了した後、ステップ１０２の処理で得られた拡張テンプレート集合を出力して処理を終了するステップ１０６とを含む。
【００３１】
ステップ１０４は、シードテンプレート集合記憶部５０に記憶された全てのシードテンプレートに対し変数の単語クラスのうち、入力質問文により補充されたものが拡張規則の変数のいずれかの単語クラスと一致するものがあるか否かを判定するステップ１１０を含む。ステップ１１０の判定が否定であればこの拡張規則に対する処理を終了し、次の拡張規則に処理を進める。
【００３２】
ステップ１０４はさらに、ステップ１１０の判定が肯定のときに、条件を充足するシードテンプレートに対し、以下のステップ１１４を実行するステップ１１２を含む。
【００３３】
ステップ１１２は、現在処理対象となっている拡張規則を対象のシードテンプレートに適用し、新たなテンプレート（拡張テンプレート）を生成するステップ１２０と、新たに作成された拡張テンプレートに、基となったシードテンプレートの重みと、適用された拡張規則の重みとの積を計算し、重みとして付すステップ１２２と、ステップ１２２で作成された拡張テンプレートを、ステップ１２２で計算された重みとともに、拡張テンプレート集合にマージするステップ１２４とを含む。なお、ステップ１２０で作成された拡張テンプレートが既に拡張テンプレート集合にマージされている場合、そのテンプレートは拡張テンプレート集合に追加されない。
【００３４】
図５を参照して、図１に示すマッチング部６０を実現するためのプログラムは、Ｗｅｂコーパス３２に記憶されている各文に対して以下のステップ１３２を実行するステップ１３０を含む。
【００３５】
ステップ１３０は、処理対象となっている文に対して形態素解析を行なうステップ１４０と、形態素解析処理により単語クラス、活用形等を示すタグが付された単語列（形態素列）を受け、当該単語列を構文解析し、構文解析木からなる単語列パターンを出力するステップ１４１と、拡張テンプレート集合記憶部５６に記憶された各テンプレートについて、以下のステップ１４４を実行するステップ１４２とを含む。なお、ここでは対象言語を日本語としているため、ステップ１４０では形態素解析を行っている。対象言語が英語のように単語を空白で区切る言語の場合、ここでは形態素解析ではなく品詞解析等の解析処理を実行すればよい。形態素解析には、既存の形態素解析プログラムを使用すればよい。形態素解析プログラムとして、例えば、ＪＵＭＡＮ (URL＝http://nlp.kuee.Kyoto-u.ac.jp/nl-resource/juman.html)、またはＣｈａＳｅｎ(URL=http://chasen-legacy.sourceforge.jp/)を用いることができる。
【００３６】
ステップ１４４は、処理対象となっている単語列パターン中で、処理対象となっているテンプレートに木構造を含めてマッチする箇所があるか否かを判定するステップ１５０と、ステップ１５０の判定が肯定のときに、そのマッチする箇所の各々に対して以下のステップ１５４の処理を実行するステップ１５２とを含む。
【００３７】
ステップ１５４は、、マッチした箇所のうち処理対象となっているものの変数部分（変数Ｘ等）に、処理対象となっているテンプレートの重みを付すステップ１６０と、得られたテンプレートに出現する単語等の共起頻度に基づく重みを、このテンプレートの重みにさらに乗じてテンプレートに付して出力し、処理を次のマッチ箇所に移動させるステップ１６２とを含む。ステップ１５０の判定が否定のときには何もされず、処理は次のテンプレートに移動する。
【００３８】
既に述べたように、ステップ１５０の判定では対象となる文の構文解析木の全部分木と、テンプレートの構文解析木との比較を行ない、一致する場合にはそれをステップ１５２以下の処理の対象とする。例えば、入力される文の構文解析木のうち、一部のノードを省略したものと、拡張テンプレートの構文解析木とが一致する場合、それ以外の条件が満たされて入れば、その一致した部分のみがマッチ箇所として抽出される。したがって、Ｗｅｂコーパス３２には実際には存在しない単語列もマッチ文字列として抽出できる。
【００３９】
［動作］
図１〜図５に示した質問応答装置３０は以下のように動作する。予め、Ｗｅｂから多数の文を収集し、Ｗｅｂコーパス３２に記憶させておく。テンプレート集合記憶部４６には、予め手作業又は自動処理により、回答文のテンプレートを準備しておく。シソーラス５８も予め準備する。テンプレート拡張規則記憶部５４には、テンプレート拡張規則を予め手作業又は自動処理により準備しておく。これらはいずれも機械可読な形でハードディスク等に記憶される。
【００４０】
入力質問文２０が質問応答装置３０に与えられると、テンプレート推定部４８がテンプレート集合記憶部４６に記憶されたテンプレートの中から入力質問文２０の回答文として最もふさわしいものを１又は複数個抽出し、シードテンプレートとしてシードテンプレート集合記憶部５０に出力する（図２を参照）。この抽出には、機械学習結果に基づく判別器が使用される。
【００４１】
シードテンプレートがシードテンプレート集合記憶部５０に記憶されると、テンプレート拡張処理部５２が動作し、シードテンプレート集合記憶部５０に記憶されたシードテンプレートの各々に、テンプレート拡張規則記憶部５４に記憶されたテンプレート拡張規則を適用することにより、シードテンプレートを拡張する。この拡張により多数の拡張テンプレートが生成され拡張テンプレート集合記憶部５６に記憶される。
【００４２】
拡張テンプレート集合記憶部５６に格納された拡張テンプレートはマッチング部６０に読み出され、図示しない主記憶部に記憶される。マッチング部６０は、Ｗｅｂコーパス３２に記憶された多数の文を順次読出し、各々について形態素解析及び構文解析を行なう（図５のステップ１４０及び１４１）。さらにマッチング部６０は、形態素解析及び構文解析により得られた単語列（単語クラス、意味クラス等のタグが付された形態素列）が付された構文解析木について、主記憶部に記憶された拡張テンプレートにマッチする部分を持つか否かを判定する（ステップ１５０）。拡張テンプレートのいずれかとマッチする部分がある場合（ステップ１５０の判定が肯定）、マッチング部６０はその構造により表される単語列のうち、回答に相当する部分（変数Ｘ）を、マッチしたテンプレートに付された重みとともにマッチ単語列集合記憶装置に出力する（ステップ１５２）。マッチ単語列集合記憶装置６２は、これらの単語列を、単語に付されたタグ及び重みとともに記憶する。マッチング部６０は、Ｗｅｂコーパス３２に記憶された全ての文についてこれを繰返す。
【００４３】
回答候補収集部６６は、マッチ単語列集合記憶装置６２に記憶されたマッチ単語列の各々について、その回答を得るために使用されたテンプレート、拡張規則、単語クラス等の情報と、その単語と、その周囲の単語との共起頻度とに基づいて、各回答候補にスコアを付与し、スコアリング・選択部６８に与える。
【００４４】
スコアリング・選択部６８は、回答候補収集部６６からの回答候補をそのスコアの昇順に並べて保持する。スコアリング・選択部６８は、回答候補収集部６６からの回答候補の出力がすべて終了すると、スコアの上位のものから順番に所定個数を回答文３４として出力する。
【００４５】
このようにして回答文３４が作成される。回答文３４は、最初に準備したテンプレートから選択されたシードテンプレートと、シードテンプレートから拡張した拡張テンプレートとに適合した文から生成された多数の回答候補の中から選択される。シードテンプレートは、入力質問文２０に対する回答文として最も可能性の高いものである。拡張テンプレートは、そのシードテンプレートに含まれる単語の類義語への置換、シードテンプレートの表現の言い換え等からなる。したがって、回答文３４は、入力質問文２０に対する多数の回答候補の中から選択されたものとなる。しかもシードテンプレートは、テンプレート拡張規則により拡張されるため、拡張テンプレート集合記憶部５６には非常に多数のテンプレートが記憶される。しかもこのテンプレートには正規表現が用いられるため、テンプレートとＷｅｂコーパス３２に含まれる文とのマッチングにより非常に多くの回答候補がＷｅｂコーパス３２から抽出される。さらにこのマッチングでは、構文解析木の部分木まで含めてマッチング箇所が検索される。したがって、ここでは「抽出」という語を用いているが、Ｗｅｂコーパス３２には含まれない表現もマッチング部６０の処理により抽出（生成）されることになる。
【００４６】
Ｗｅｂコーパス３２は、入手可能なコーパスとしては、最も多数の表現を含むと考えられる。しかし、Ｗｅｂコーパス３２に含まれる表現は、人間により作成されたものであり、そのためにその数にはどうしても限りがある。それに対し、本実施の形態では、テンプレートを拡張して様々な拡張テンプレートでＷｅｂコーパス３２とマッチングを行なうことにより、マッチ単語列として、人手で作成されたものよりもはるかに幅広い表現が格納されることになる。したがって、それら表現の中からスコアリング・選択部６８により選択された回答文３４は、入力質問文２０に対する回答としてふさわしいものとなる確率が高くなる。その結果、種々の入力質問文２０に対して、精度よく、回答文を自動的に生成し出力できる。ただし、既に述べたとおり、Ｗｅｂコーパス３２に代えて別のコーパスを使用してもよいことはもちろんである。
【００４７】
上記実施の形態では、シードテンプレートの変数には、単語タグ等、単語の属性を示すものは付されていない。しかし本発明はそのような実施の形態に限定されず、変数に単語タグが付されたものをシードテンプレートして用いても良い。また、シードテンプレートの変数の数は２個であったが、シードテンプレートに３個以上の変数を含むようにしてもよい。
【００４８】
なお、上記した実施の形態では、テンプレート拡張処理部５２によるテンプレートの拡張はシードテンプレートに対するもののみであった。しかし本発明はそのようなものには限定されない。シードテンプレートに対してテンプレート拡張規則を適用して得られた拡張テンプレートに、さらにテンプレート拡張規則を適用することでさらにテンプレート数を増加させるようにしてもよい。この場合、所定の繰返し回数だけテンプレート拡張の処理を行なっても良いし、新たな拡張テンプレートが出現しなくなるまで、テンプレート拡張の処理を再帰的に繰返し実行するようにしてもよい。
【００４９】
上記実施の形態では、シードテンプレートに予め種々の重みを付与している。しかし本発明はそのような実施の形態には限定されない。シードテンプレートに付与している重みを一定とし、どのテンプレート拡張規則が用いられたかのみにより、テンプレートの重みを決定するようにしてもよい。または、Ｗｅｂコーパス３２に含まれる単語列について、適用可能なテンプレートが複数個ある場合には、その個数に応じて大きくなる重みを与えるようにしてもよい。テンプレート拡張規則をシードテンプレートだけでなく拡張テンプレートにも適用してテンプレートを作成するようにした場合には、テンプレート拡張規則を適用するごとに、テンプレートの重みが軽くなるようにすることが望ましい。
【００５０】
上記実施の形態では、各規則はいずれも正規表現を用いて記述されている。しかし本発明はそのような実施の形態には限定されない。目的に応じて規則を的確に記述できるものであれば、どのような記述方式に従うものであってもよい。
【００５１】
上記実施の形態では、Ｗｅｂコーパス３２としてＷｅｂから収集した文を用いている。現在のところ、Ｗｅｂ上には非常に多数の文があるため、Ｗｅｂコーパス３２はＷｅｂそのものを用いることが望ましい。しかし、もちろん、Ｗｅｂ以外のコーパスをＷｅｂコーパス３２として用いることもできる。
【００５２】
［動作例］
この実施の形態による具体的な動作例について説明する。質問応答装置３０は、さまざまな質問にＷＷＷで答えることができる質問応答システムのサーバ側の装置である。この例では、非特許文献１に記載された類似関係パターンの抽出手法を数億のＷＷＷページに適用し、予め多数の関係パターンを抽出する。同様にして、テンプレート推定部４８においてシードテンプレートを抽出するためのデータも予め準備する。
【００５３】
具体的な例として、入力質問文２０が「ウルトラマンの敵は誰」というものである場合を想定する。この入力に対して、テンプレート推定部４８が、テンプレート集合記憶部４６から「ＸはＹの敵」及び「ＸがＹの敵」（Ｙ＝ウルトラマン）というテンプレートを推定したものとする。テンプレート推定部４８は、この２つのテンプレートをシードテンプレートとしてシードテンプレート集合記憶部５０に記憶させる。
【００５４】
テンプレート拡張処理部５２は、シードテンプレート集合記憶部５０に記憶されたこの２つのシードテンプレートを拡張する。その結果、「ＸはＹのライバル」、「ＸがＹの宿敵」、「Ｙの敵がＸだった」等のテンプレートが得られる。さらに、（Ｙ＝ウルトラマン）という制約に基づき、Ｙに＜ヒーロー＞という単語クラスを割当てて、この単語クラスに一致する変数を持つ拡張規則を適用して拡張テンプレートを作成する。このようにして得られた拡張テンプレートが拡張テンプレート集合記憶部５６に記憶される。
【００５５】
マッチング部６０は、Ｗｅｂコーパス３２内の多数の文と、拡張テンプレート集合記憶部５６に記憶された拡張テンプレートとの間で、構造解析木の部分木まで考慮してマッチングし、変数Ｘに相当する表現を求める。これらが回答候補である。すなわち、回答候補の集合＝「ピグモン、ジャミラ、バルタン星人、ゼットン…」となる。この回答候補の集合の中から、もととなったテンプレート、拡張テンプレート、元の単語と置換された単語との関係、回答候補の単語とテンプレート中のその単語以外の単語との共起関係等に基づいてスコアリング・選択部６８が各候補にスコアを付与し、スコアの高い所定個数、たとえば「ピグモン」及び「バルタン星人」を回答文３４として出力する。
【００５６】
回答文３４は、図示しない音声合成装置により音声として出力されてもよい。
【００５７】
［コンピュータによる実現］
この実施の形態に係る質問応答装置３０は、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現できる。
【００５８】
図６を参照して、質問応答装置３０を含む質問応答システムは、上記した質問応答装置３０として機能するコンピュータシステム３３０と、コンピュータシステム３３０に質問文（図１に示す入力質問文２０）を音声信号として送信し、コンピュータシステム３３０からその回答文（図１に示す回答文３４）を音声信号により受信する携帯電話３００とを含む。本実施の形態では、携帯電話３００とコンピュータシステム３３０との間の通信のうち、質問文と回答文との送信は音声で行なわれる。したがって携帯電話３００は通常のキャリアとの間で音声通信が可能なものであればよい。一方、コンピュータシステム３３０は、電話からの音声信号を受信する機能と、その音声信号を音声認識によりテキスト列に変換し、入力質問文２０としてテンプレート推定部４８に与える機能と、スコアリング・選択部６８の出力する回答文３４を音声合成により音声信号に変換し、電話により携帯電話３００に返信する機能を持つ必要がある。これらはいずれも既存の機能であるため、ここにはその詳細は説明しない。もちろん、携帯電話３００がデータ通信の機能を持っていれば、コンピュータシステム３３０からの回答文をテキスト形式で携帯電話３００に送信したり、回答と、その回答に関係したＵＲＬとから合成したＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書を携帯電話３００に返信し、携帯電話３００でブラウザを起動させたりしてもよい。
【００５９】
図６を参照して、このコンピュータシステム３３０は、ＦＤ（フレキシブルディスク）ドライブ３５２およびＣＤ−ＲＯＭ（コンパクトディスク読出専用メモリ）ドライブ３５０を有するコンピュータ３４０と、キーボード３４６と、マウス３４８と、モニタ３４２とを含む。
【００６０】
図７を参照して、コンピュータ３４０は、ＦＤドライブ３５２およびＣＤ−ＲＯＭドライブ３５０に加えて、ＣＰＵ（中央処理装置）３５６と、ＣＰＵ３５６、ＦＤドライブ３５２およびＣＤ−ＲＯＭドライブ３５０に接続されたバス３６６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）３５８と、バス３６６に接続され、プログラム命令、システムプログラム、および作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）３６０とを含む。コンピュータシステム３３０はさらに、インターネットへの接続を提供するネットワークインターフェイス（Ｉ／Ｆ）３４４を含む。図示しないが、コンピュータ３４０はネットワークＩ／Ｆ３４４を介して携帯電話ネットワークと接続されており、携帯電話３００とデータ通信を行なうことができる。
【００６１】
コンピュータシステム３３０に質問応答装置３０としての動作を行なわせるためのコンピュータプログラムは、ＣＤ−ＲＯＭドライブ３５０またはＦＤドライブ３５２に挿入されるＣＤ−ＲＯＭ３６２またはＦＤ３６４に記憶され、さらにハードディスク３５４に転送される。または、プログラムは図示しないネットワークを通じてコンピュータ３４０に送信されハードディスク３５４に記憶されてもよい。プログラムは実行の際にＲＡＭ３６０にロードされる。ＣＤ−ＲＯＭ３６２から、ＦＤ３６４から、またはネットワークを介して、直接にＲＡＭ３６０にプログラムをロードしてもよい。
【００６２】
このプログラムは、コンピュータ３４０にこの実施の形態の質問応答装置３０として動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ３４０上で動作するオペレーティングシステム（ＯＳ）もしくはサードパーティのプログラム、またはコンピュータ３４０にインストールされる各種ツールキットのモジュールにより提供される。従って、このプログラムはこの実施の形態のシステムおよび方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」（プログラムライブラリ）を呼出すことにより、上記した質問応答装置３０としての動作を実行する命令のみを含んでいればよい。
【００６３】
なお、図１に示すＷｅｂコーパス３２、テンプレート集合記憶部４６、シードテンプレート集合記憶部５０、テンプレート拡張規則記憶部５４、拡張テンプレート集合記憶部５６、マッチ単語列集合記憶装置６２等は、いずれも図７に示すハードディスク３５４またはＲＡＭ３６０により実現される。特に、例えばＷｅｂコーパス３２、テンプレート拡張規則記憶部５４等は通常はハードディスク３５４に記憶されており、プログラムの実行時、必要に応じてＲＡＭ３６０にロードされる。シードテンプレート集合記憶部５０、拡張テンプレート集合記憶部５６、マッチ単語列集合記憶装置６２等はワークファイル的な性格を持つ。したがって、これらは生成時にはＲＡＭ３６０に生成され、保存の必要があればハードディスク３５４に保存される。
【００６４】
コンピュータシステム３３０の動作は周知であるので、ここでは繰返さない。
【００６５】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００６６】
２０  入力質問文
３０  質問応答装置
３２  Ｗｅｂコーパス
３４  回答文
４６  テンプレート集合記憶部
４８  テンプレート推定部
５０  シードテンプレート集合記憶部
５２  テンプレート拡張処理部
５４  テンプレート拡張規則記憶部
５６  拡張テンプレート集合記憶部
６０  マッチング部
６２  マッチ単語列集合記憶装置
６６  回答候補収集部
６８  スコアリング・選択部
【図１】
0005540335.tif 000002
【図２】
0005540335.tif 000003
【図３】
0005540335.tif 000004
【図４】
0005540335.tif 000005
【図５】
0005540335.tif 000006
【図６】
0005540335.tif 000007
【図７】
0005540335.tif 000008