(57)【特許請求の範囲】
【請求項１】
ｍ項の含意ペアからｎ項の含意ペアを生成することで含意ペアを拡張するための含意ペア拡張装置であって、ただしｍ及びｎは０以上でｍ＜ｎを満たす整数であり、前記含意ペアの各々は、第１の言語パターンと、前記第１の言語パターンが含意する第２の言語パターンとのペアを含み、
前記含意ペア拡張装置は、前記ｍ項の含意ペアから前記ｎ項の含意ペアを生成するための生成規則を記憶するための生成規則記憶手段を含み、当該生成規則は、当該生成規則を適用するために前記ｍ項の含意ペアが充足すべき条件と、当該条件が充足されたときに前記ｍ項の含意ペアを構成する言語パターンの各々に対するｎ−ｍ個の変数の追加を含む言語パターンの変形規則を規定し、
前記ｍ項の含意ペアを受け、当該ｍ項の含意ペアに対して、前記生成規則記憶手段に記憶された生成規則の各々について、当該生成規則の条件が前記ｍ項の含意ペアにより充足されるか否か判定するための判定手段と、
前記判定手段により前記条件が充足されると判定された生成規則の前記変形規則を前記ｍ項の含意ペアを構成する各言語パターンに適用することにより、前記ｎ項の含意ペアを生成するための規則適用手段とを含む、含意ペア拡張装置。
【請求項２】
前記ｍは０であり、
前記ｍ項の含意ペアは、各々が述語からなる述語の含意ペアである、請求項１に記載の含意ペア拡張装置。
【請求項３】
前記ｎは１である、請求項２に記載の含意ペア拡張装置。
【請求項４】
さらに、前記ｍ項の含意ペアについて推移律を適用することにより、前記ｍ項の含意ペアを拡張するための推移律適用手段を含む、請求項１〜請求項３のいずれかに記載の含意ペア拡張装置。
【請求項５】
コンピュータを、請求項１〜請求項４のいずれかに記載の全ての手段として機能させる、コンピュータプログラム。
【請求項６】
請求項１〜請求項４のいずれかに記載の含意ペア拡張装置により拡張された含意ペアを記憶するための含意ペア記憶手段と、
複数の文書を記憶した文書記憶手段と、
質問を受け、当該質問を構文解析することにより、当該質問に対する回答が持つべき言語パターンを抽出するためのパターン抽出手段と、
前記パターン抽出手段により抽出された言語パターンの各々を、前記含意ペア記憶手段に記憶された含意ペアを用いて拡張するためのパターン拡張手段と、
前記パターン拡張手段により拡張された言語パターンに合致する表現を前記文書記憶手段に記憶された文書から検索し、前記質問に対する回答としてのふさわしさを示すスコアを算出するための検索手段と、
前記検索手段により検索された回答候補のうち、検索時に合致した言語パターンに含まれる変数の数が多いものを優先して、前記スコアを用いて回答を選択するための選択手段とを含む、質問応答システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自然言語処理に関し、特に、あるパターンが他のパターンを含意しているような２つの言語パターンのペアを効率よく生成する技術に関する。
【背景技術】
【０００２】
質問応答システムにおいて、例えば「何が肺がんを引き起こすか？」という質問に対し、典型的には「公害が肺がんを引き起こす」という文が回答として得られる。これら２つの文は、「（肺がんを）引き起こす」という表現を共通して持っているためである。しかし、回答として適切なものはこのように質問と共通の表現を持っているものだけとは限らない。例えば、「喫煙は肺がんをもたらします」という表現も回答としてふさわしいものと考えられる。このような回答を得るためには、「ＡがＢを引き起こす」を「ＡがＢをもたらす」で言い換えることができるという知識が必要である。ここで、Ａ及びＢは変数であり、任意の単語に置き換えることができる。
【０００３】
本明細書では、このように複数の表現に共通して見られる類型を言語パターン又は単にパターンと呼ぶ。より詳しくは、本明細書では、述語と、ｎ個（ｎは０以上の整数）の項との組み合わせからなる表現のことをｎ項言語パターンと呼ぶ。「ＡがＢを引き起こす」は、「引き起こす」という述語と、変数項Ａ及びＢからなる２個の項との組み合わせからなる２項言語パターンである。
【０００４】
２つの言語パターン（パターンペア）が含意関係にある場合、本明細書ではそれらのパターンペアを含意パターンペア（簡単には「含意ペア」）と呼ぶ。質問応答システムでは、含意ペアを高い精度で多数収集することが望ましい。
【０００５】
含意ペアを獲得するための従来技術として、後掲の非特許文献１がある。非特許文献１に記載された技術は以下のようにして含意関係にあるパターンペアを収集する。予め含意関係にあるパターンペアを人手で集めることで学習データを構築する。この学習データに対してＮグラム、分布類似度等のスコアを特徴量として、２つの言語パターンが与えられたときに一方が他方を含意しているか否かを判定する判定器の機械学習を行う。判定器の学習が終わると、多数の文を含むコーパスから大量の含意ペアの候補をランダムに生成する。これら候補の各々に対して判定器による判定を行う。その結果、含意関係にあると判定されたパターンペアを集めることで、学習データにない新たな含意ペアを収集できる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】クロエツェー  ジュリアン、鳥澤  健太郎、デ・サーガ  ステイン、佐野  大樹、橋本力、後藤  淳、含意関係パターンペアの大規模獲得、２０１３年度情報処理学会関西支部  支部大会（２０１３年）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術によって、人手を介さずに非常に多くの含意ペアを収集できる。しかし、機械学習による判定器を用いる場合、具体的にどのようなペアが獲得できるか予測不可能で、精度の保証もできない。そのため、質問応答システムを開発する際に、必要な言い換えパターンペア（含意ペア）が網羅されていない場合の対処が難しいという問題がある。
【０００８】
それ故に本発明の目的は、既存の含意ペアを拡張して、どのような含意ペアを獲得できるか予測可能で、その精度もある程度保証できるような含意関係ペア拡張装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明の第１の局面に係る含意ペア拡張装置は、ｍ項の含意ペアからｎ項の含意ペアを生成することで含意ペアを拡張する。ただしｍ及びｎは０以上でｍ＜ｎを満たす整数である。含意ペアの各々は、第１の言語パターンと、第１の言語パターンが含意する第２の言語パターンとのペアを含む。含意ペア拡張装置は、ｍ項の含意ペアからｎ項の含意ペアを生成するための生成規則を記憶するための生成規則記憶手段を含む。当該生成規則は、当該生成規則を適用するためにｍ項の含意ペアが充足すべき条件と、当該条件が充足されたときにｍ項の含意ペアを構成する言語パターンの各々に対するｎ−ｍ個の変数の追加を含む言語パターンの変形規則を規定する。含意ペア拡張装置はさらに、ｍ項の含意ペアを受け、当該ｍ項の含意ペアに対して、生成規則記憶手段に記憶された生成規則の各々について、当該生成規則の条件がｍ項の含意ペアにより充足されるか否か判定するための判定手段と、判定手段により条件が充足されると判定された生成規則の変形規則をｍ項の含意ペアを構成する各言語パターンに適用することにより、ｎ項の含意ペアを生成するための規則適用手段とを含む。
【００１０】
好ましくは、ｍは０であり、ｍ項の含意ペアは、各々が述語からなる述語の含意ペアである。
【００１１】
より好ましくは、ｎは１である。
【００１２】
含意ペア拡張装置はさらに、ｍ項の含意ペアについて推移律を適用することにより、ｍ項の含意ペアを拡張するための推移律適用手段を含んでもよい。
【００１３】
好ましくは、含意ペア拡張装置はさらに、規則適用手段により生成されたｎ項の含意ペアについて推移律を適用することにより、ｎ項の含意ペアを拡張するための推移律適用手段を含む。
【００１４】
本発明の第２の局面に係るコンピュータプログラムは、コンピュータを、いずれかの含意ペア拡張装置の全ての手段として機能させる。
【００１５】
本発明の第３の局面に係る質問応答システムは、上記したいずれかの含意ペア拡張装置により拡張された含意ペアを記憶するための含意ペア記憶手段と、複数の文書を記憶した文書記憶手段と、質問を受け、当該質問を構文解析することにより、当該質問に対する回答が持つべき言語パターンを抽出するためのパターン抽出手段と、パターン抽出手段により抽出された言語パターンの各々を、含意ペア記憶手段に記憶された含意ペアを用いて拡張するためのパターン拡張手段と、パターン拡張手段により拡張された言語パターンに合致する表現を文書記憶手段に記憶された文書から検索し、質問に対する回答としてのふさわしさを示すスコアを算出するための検索手段と、検索手段により検索された回答候補のうち、検索時に合致した言語パターンに含まれる変数の数が多いものを優先して、スコアを用いて回答を選択するための選択手段とを含む。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態に係る含意パターンペア拡張装置のブロック図である。
【図２】図１に示すユナリペア生成部を実現するプログラムの制御構造を示すフローチャートである。
【図３】図１に示すユナリペア拡張部のブロック図である。
【図４】図３に示すユナリペア拡張部のうち、推移律ペア追加部を実現するプログラムの制御構造を示すフローチャートである。
【図５】図１に示すバイナリペア追加部を実現するプログラムの制御構造を示すフローチャートである。
【図６】図５に示すバイナリペアの生成処理の詳細を示すフローチャートである。
【図７】実験で得たユナリペア全体の評価を示すグラフである。
【図８】実験で得たユナリペアのうち５００例の評価を示すグラフである。
【図９】実験で得たバイナリ含意ペアのうち５００例の評価を示すグラフである。
【図１０】本発明の第２の実施の形態に係る質問応答システムの概略の構成を示す機能的ブロック図である。
【図１１】本発明の第１の実施の形態に係る含意パターン拡張装置及び第２の実施の形態に係る質問応答システムを実現するコンピュータシステムの外観図である。
【図１２】図１１に示すコンピュータの内部構成を示すハードウェアブロック図である。
【発明を実施するための形態】
【００１７】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００１８】
［用語の説明］
本明細書では、「ユナリパターン」とは、変数が１つと述語、及び日本語ではそれらを結ぶ助詞からなるパターンのことをいう。上に挙げた「Ａを引き起こす」、「Ａをもたらす」などがその例である。
【００１９】
「ユナリ含意パターンペア」とは、２つのユナリパターンであって、一方が他方を含意するような意味的関係になっているもののことをいう。「Ａを引き起こす」と「Ａをもたらす」のようなペアが一例である。単に「ユナリペア」とも呼ぶ。
【００２０】
「バイナリパターン」とは、変数が２つと述語、及び日本語の場合、それらを結ぶ助詞からなるパターンのことをいう。「ＡがＢを引き起こす」、「ＡがＢをもたらす」などがその例である。
【００２１】
「バイナリ含意パターンペア」とは、２つのバイナリパターンであって、一方が他方を含意するような意味的関係になっているもののことをいう。「ＡがＢをもたらす」と「ＡがＢを引き起こす」とからなるペアが一例である。単に「バイナリペア」とも呼ぶ。
【００２２】
「Ｎ−アリパターン」とは、一般的に変数がＮ項と、述語と、それらを結ぶ助詞とからなるパターンのことをいう。Ｎ−アリ含意パターンペア（「「Ｎ−アリペア」と呼ぶ）とはＮ−アリパターンのペアであって、一方が他方を含意しているようなもののことをいう。
【００２３】
［第１の実施の形態］
＜基本的考え方＞
第１の実施の形態は、動詞の間の含意関係を記述した既存の動詞含意データベース（ＤＢ）からユナリペアを生成する。こうして得たユナリペアに、さらに既存のユナリパターンＤＢから生成したユナリペアを加える。得られた複数のユナリペアを概略以下の手法でさらに拡張する。詳細については後述する。
【００２４】
（１）述部を受動態に変形
（２）述部を可能形に変形
これらの変形を、各ペアのうち一方のみ、他方のみ、及び双方に施すことができる。
【００２５】
さらに、各ペアを構成するユナリの各々について、それ自身と、それ自身に対して上記した変形を行って得られたものとを組み合わせ、新たなユナリペアを生成する。
【００２６】
次に、推移律を使用してユナリペアを拡張する。すなわち、２組のユナリペアＰ→ＱとＱ→Ｒとがある場合、これらからＰ→Ｒを生成する。
【００２７】
最後に、拡張されたユナリペアの各々について、双方のパターンに対して、新たな項を加えることでバイナリに拡張する。新たな項を加える方法としては、もとのユナリパターンが述部となるように新たな項を追加する方法と、もとのユナリパターンが連体節となるように新たな項を追加する方法とがある。前者の例としては、「Ａをもたらす」の先頭に「Ａが」を加え、「ＡがＢをもたらす」とする変形がある。後者の例としては、「Ａをもたらす」を連体節として、末尾に「Ａ」を加えて「ＢをもたらすＡ」のような例がある。詳細は後述する。
【００２８】
＜構成＞
図１に、本発明の一実施の形態に係る含意パターンペア拡張装置５０のブロック図を示す。図１を参照して、含意パターンペア拡張装置５０は、第１のユナリＤＢ５２、第２のユナリＤＢ５４、動詞含意ＤＢ５６、及び文脈類似度記憶部５８を用いて、拡張ユナリペアＤＢ６０及び拡張バイナリペアＤＢ６２を出力するためのものである。
【００２９】
第１のユナリＤＢ５２及び第２のユナリＤＢ５４は、いずれも既存のユナリペアを格納したデータベースである。これらはどのようにして得たものでもよい。手作業で作成したものでもよいし、何らかの処理により機械的に生成したものでもよい。なお、この実施の形態では、ユナリＤＢとして第１のユナリＤＢ５２及び第２のユナリＤＢ５４を用いているが、これらの数に制限があるわけではない。１つでもよいし、３個以上でもよい。仮に動詞含意ＤＢ５６を用いてユナリペアを生成する場合には、ユナリＤＢは全く使用しなくてもよい。
【００３０】
動詞含意ＤＢ５６は、予め準備された、含意関係にある動詞のペアを複数個記録している。動詞含意ペアの一例は、「もたらす→引き起こす」という動詞含意ペアである。このデータとしては、本実施の形態では、出願人が人手で構築した動詞含意データ（https://alaginrc.nict.go.jp/）を用いた。この動詞含意ＤＢ５６は５２，６８９ペアの動詞含意ペアを収録している。
【００３１】
文脈類似度記憶部５８に記録されているデータは、２つの単語の文脈類似度を算出するためのものである。文脈類似度とは、簡単にいえば、２つの単語が出現する文章上の位置がどの程度類似しているかを示す尺度である。文脈類似度は２つの単語共起度合いを用いて算出され、以下の手順で得られる。
【００３２】
単語ｖｉとその各文脈単語ｖｊとの間の共起度合いｆｉｊを求める。単語ｖｉの文脈単語とは、単語ｖｉの出現箇所の文脈内に出現する全単語のことをいう。文脈の範囲は任意に定めればよいが、例えばその単語が出現する文内、その文を中心とした前後所定数の文内、同段落内の文等が考えられる。この処理により得られる共起度合いｆｉｊを文脈単語ｖｊの順序にしたがって並べることによりベクトルが得られる。このベクトルは単語ｖｉに対する文脈ベクトルと考えることができる。この、単語ｖｉの文脈ベクトルをベクトルｆｉ＊と書く。ベクトルｆｉ＊は、共起度合いｆｉｊの中で、単語ｖｉとその文脈単語に対応する値の全てからなるベクトルである。全単語の集合Ｖ内の単語ｖｉと単語ｖｊの組合せの全てについて、このベクトルｆｉ＊及びｆｊ＊のコサイン類似度を計算し、その値を文脈類似度ωｉｊとする。
【００３３】
文脈類似度記憶部５８には、予め上記の手順で算出した、任意の２つの単語間の文脈類似度が記憶されている。
【００３４】
含意パターンペア拡張装置５０は、第１のユナリＤＢ５２及び第２のユナリＤＢ５４に格納されたユナリペアについて、含意パターンペア拡張装置５０で扱うフォーマットに変形し、かつ各ユナリペアのデータソースを表す値として、各ユナリＤＢの識別子を付加して出力するユナリペア追加部１００と、ユナリペア追加部１００の出力するユナリペアを格納するユナリペアＤＢ１０２と、動詞含意ＤＢ５６に格納された動詞含意ペアの各々から文脈類似度記憶部５８に記憶された文脈類似度を用いてユナリペアを生成しユナリペアＤＢ１０２に追加出力するユナリペア生成部１０４とを含む。
【００３５】
含意パターンペア拡張装置５０はさらに、単語の漢字とその読みとを機械可読な形式で格納した漢字辞書１０６と、ユナリペアＤＢ１０２に格納されたユナリペアの各々について、漢字辞書１０６を参照しながら拡張処理を行い、複数のユナリペアを出力するためのユナリペア拡張部１０８と、ユナリペアからバイナリペアを生成するための生成規則を記憶したバイナリペア生成規則記憶部１１０と、バイナリペア生成規則記憶部１１０に記憶された生成規則を拡張ユナリペアＤＢ６０に記録されたユナリペアの各々に対して適用することでバイナリペアを生成し、拡張バイナリペアＤＢ６２に出力するためのバイナリペア追加部１１２とを含む。
【００３６】
図２を参照して、図１に示すユナリペア生成部１０４はコンピュータプログラムにより実現できる。このプログラムは、プログラム開始とともに記憶領域の確保及び初期化等を行うステップ１４０と、動詞含意ＤＢ５６から動詞含意ペアを全て読み出すステップ１４２と、動詞含意ペアの各々について、処理１４６を実行するステップ１４４とを含む。
【００３７】
処理１４６は、処理対象の動詞含意ペアを構成する動詞の各々について、「Ａが」、「Ａに」、「Ａを」、及び「Ａで」をそれぞれ付与することで複数のユナリ含意パターンの候補ペアを生成するステップ１６０と、こうして得られた候補ペアの各々について、それを構成するペア同士の間で文脈類似度計算処理１６４を行うステップ１６２と、ペア同士の間の文脈類似度が最も高いペアを選択するステップ１６６と、選択されたペアを新たなユナリペアとしてユナリペアＤＢ１０２に追加するステップ１６８とを含む。このようにして得られたパターンペアについては、人手でその含意ペアとしての妥当性をチェックし、不適当なものを削除することが望ましい。この際、後の処理で得られるパターンペアのうちから不適当なものを削除するため、そのように削除すべきものは負例として保存しておくとより好ましい。なお、後述する各処理においては特に述べていないが、新たなユナリペア又はバイナリペアを登録する際には、このようにして予め保存されていた、又は予め準備されていた負例と照合し、負例は登録から除くようにする。
【００３８】
図３を参照して、図１に示すユナリペア拡張部１０８はコンピュータプログラムにより実現できる。このプログラムは、コンピュータを、ユナリペアＤＢ１０２からユナリペアのレコードを読み出すレコード読出部１８０と、レコード読出部１８０により読み出されたユナリペアの各々について、ペアを構成するパターンの各々に対して受動態への変形、及び可能形への変形を行い、それらの組み合わせで得られる新たなユナリペアをもとのユナリペアとともに拡張ユナリペアＤＢ６０に追加する受動態・可能形追加部１８２と、受動態・可能形追加部１８２による拡張ユナリペアＤＢ６０へのユナリペアの追加の完了後、拡張ユナリペアＤＢ６０に記憶されたユナリペアであって、第１のユナリペアの後半部が第２のユナリペアの前半部と一致するものを検索し、それらの組み合わせの各々について、第１のユナリペアの前半部と第２のユナリペアの後半部とを組み合わせて新たなユナリペアを生成し、拡張ユナリペアＤＢ６０に追加する推移律ペア追加部１８４として機能させる。
【００３９】
なお、本実施の形態では、受動態・可能形追加部１８２の処理前に、述語の表記ゆれ及び語尾の変形を各ユナリペアに適用することで、さらにユナリペアを拡張している。表記ゆれに対する対応としては、漢字辞書１０６を参照して、漢字で書かれた述語をかなに変換したパターンを作り、新たなパターンを持つユナリペアを加える。ここではまた、「Ａが起きる→Ａがおきる」及び「Ａがおきる→Ａが起きる」というような、「漢字→かな」、及び「かな→漢字」というユナリペアも同時に生成し、拡張ユナリペアＤＢ６０に追加する。このようなペアは、厳密には「含意」関係にあるとはいえない。しかし、質問応答における「言い換え」という文脈においてはそのようなペアがある方が有益と考えられる。
【００４０】
推移律ペア追加部１８４はコンピュータプログラムにより実現される。図４にそのようなコンピュータプログラムの制御構造をフローチャート形式で示す。このプログラムは、拡張ユナリペアＤＢ６０からユナリペアを全て読み出すステップ２２０と、読み出された各ユナリペアについて、処理２２４を実行するステップ２２２とを含む。
【００４１】
処理２２４は、処理対象のユナリペアの後半部と一致する前半部を持つユナリペアを全て拡張ユナリペアＤＢ６０から読み出すステップ２５０と、ステップ２５０で読み出されたユナリペアの各々について処理２５４を実行するステップ２５２とを含む。以下、説明のためにステップ２２２で処理対象として選択されたペアを第１のユナリペア、ステップ２５２で処理対象として選択されたペアを第２のユナリペアと呼ぶ。
【００４２】
処理２５４は、第１のユナリペアの述部が「漢字→かな」の組み合わせであり、第２のユナリペアの述部が「かな→漢字」の組み合わせとなっているか否かを判定し、判定結果が肯定であれば処理を終了し次の第２のユナリペアに処理を移すステップ２８０と、ステップ２８０の判定結果が否定のときに、第１のユナリペアの前半が第２のユナリペアの後半と一致しているか否かを判定するステップ２８２と、ステップ２８２の判定がＮＯのときに、第１のユナリペアの前半と第２のユナリペアの後半とからなるペアを新たなユナリペアとして拡張ユナリペアＤＢ６０に追加するステップ２８４と、ステップ２８２の判定が肯定のときに、第１及び第２のユナリペアの各々について、その対偶に相当するペアを拡張ユナリペアＤＢ６０に追加するステップ２８６とを含む。
【００４３】
ステップ２８４の処理の結果、Ｐ→ＱというペアとＱ→Ｒというペアから、いわゆる推移律によりＰ→Ｒというペアが生成され、拡張ユナリペアＤＢ６０に追加される。
【００４４】
ステップ２８６の処理は推移律によるものではない。ステップ２８６の処理が行われるのは、第１のユナリペアの後半と第２のユナリペアの前半とが等しく、かつ、第１のユナリペアの前半と第２のユナリペアの後半とが等しい、という場合である。すなわち、第１のユナリペアと第２のユナリペアとが互いの逆になっているケースである。すなわち、Ｐ→ＱとＱ→Ｐとの双方が存在している。これら２つのユナリペアがともに存在しているということは、これら２つのユナリペアの間に、いわゆる「同値」と同様の関係が成立していると考えられる。そこで、本実施の形態では、これら２つのユナリペアの双方について、論理学でいう「対偶」に相当するユナリペアを生成し、拡張ユナリペアＤＢ６０に追加する。すなわち、Ｐ→Ｑについては¬Ｑ→¬Ｐというユナリペア（「¬」は否定を表す）を追加し、Ｑ→Ｐというユナリペアについては¬Ｐ→¬Ｑというユナリペアを追加する。
【００４５】
なお、一般にある命題が真であればその対偶も真とされているので、Ｐ→Ｑというユナリペアがあれば、その対偶の¬Ｑ→¬Ｐというユナリペアを無条件で追加してもよいように思われる。しかし、本実施の形態で扱っているのは自然言語であり、あるユナリペアが存在していたとして、その対偶も実際に正しいとは限らない。そこで、ここでは２つのユナリペアが互いに同値であるときのみ、それらの対偶を追加することにしている。
【００４６】
図５を参照して、本実施の形態では、図１に示すバイナリペア追加部１１２もコンピュータプログラムにより実現される。このプログラムは、拡張ユナリペアＤＢ６０から全てのユナリペアを読み出すステップ３２０と、読み出されたユナリペアの各々について、そのユナリペアからバイナリペアを生成する処理３２４を実行するステップ３２２とを含む。
【００４７】
図６を参照して、図５の処理３２４を実現するプログラムは、図１に示すバイナリペア生成規則記憶部１１０からバイナリペアの生成規則を全て読み出すステップ３５０と、処理対象のユナリペアに対して、ステップ３５０で読み出された生成規則の各々を適用してバイナリペアを生成し拡張バイナリペアＤＢ６２に追加する処理３５４を実行するステップ３５２とを含む。ここで、各バイナリ生成規則は、そのバイナリ規則をユナリペアに適用するためにユナリペアが満たすべき条件と、条件が成立したときにユナリペアを構成するパターンペアをどのように変形してバイナリペアを生成するかを記述した命令部とからなっている。命令部は、実際には文の変形規則を記述したものである。
【００４８】
処理３５４は、処理対象のバイナリペア生成規則を適用すべき条件が処理中のユナリペアにより充足されるか否かを判定し、充足されていなければ規則の適用を終了するステップ３８０と、ステップ３８０の判定が肯定のときに、図５のステップ３２２で選択したユナリペアに対して、図６のステップ３５２で選択したバイナリペア生成規則を適用することにより、バイナリペアを生成するステップ３８２と、ステップ３８２で生成されたバイナリペアを拡張バイナリペアＤＢ６２に追加してこのバイナリペア生成規則の適用を終了するステップ３８４とを含む。
【００４９】
なお、バイナリペア生成規則記憶部１１０に記憶されているバイナリペア生成規則は、本実施の形態ではＩｆ―ｔｈｅｎ形式で記載されている。１つのバイナリペア生成規則は、１つのユナリペアに適用することで１つのバイナリペアを生成するように記載されている。
【００５０】
本実施の形態では、バイナリペア生成規則の主なものは以下のとおりである。
【００５１】
（１）もしもユナリペアの助詞が「が」でない場合、ユナリペアの双方に「Ａが」を付加する。この結果、例えば「Ａを使う→Ａを用いる」というユナリペアから「ＡがＢを使う→ＡがＢを用いる」というバイナリペアが生成される。なお、ここで規則適用前に「Ａ」として記載していた変数を「Ｂ」と記載しているが、これはバイナリペアの形をわかりやすくするためであって、Ｂで表されていた変数が別の変数に変わるわけではない。これは以下の記載でも同様である。
【００５２】
（２）もしもユナリペアの助詞が「が」でない場合、ユナリペアのうち前半のパターンに「Ａが」を付加し、後半のパターンの先頭に「Ａが」を付加して「Ｂを」を削除し、末尾に「Ｂ」を付加する。（１）と同じ例については、「ＡがＢを使う→Ａが用いるＢ」というバイナリペアが生成される。
【００５３】
（３）もしもユナリペアの助詞が「が」でない場合、前半の先頭に「Ａが」を付加し、後半の末尾に「Ａ」を付加する。上の例で言えば「ＡがＢを使う→Ｂを用いるＡ」というバイナリペアが生成される。
【００５４】
（４）もしもユナリペアの助詞が「が」でない場合、前半の先頭に「Ａが」を付加し、「Ｂを」を削除して末尾に「Ｂ」を付加する。後半の先頭には「Ａが」を付加する。上の例でいえば「Ａが使うＢ→ＡがＢを用いる」が得られる。
【００５５】
同様の変換規則をユナリペアの前半若しくは後半又はその双方に適用することで新たなバイナリペアが生成される。
【００５６】
適用の条件となる助詞について、「が」の代わりに「で」を条件とする場合も同様の生成規則を使ってバイナリペアを生成できる。
【００５７】
ここではまた、同じユナリパターンを組み合わせたユナリペアを作り、上と同様の操作を行ってバイナリペアを作成する。例えば、「Ａを使う」というパターンから「ＡがＢを使う→Ｂを使うＡ」のようなバイナリペアを生成し、拡張バイナリペアＤＢ６２に格納する。
【００５８】
なお、本実施の形態では、バイナリペア生成規則をプログラムの外部にデータとして持っているが、本発明はそのような実施の形態には限定されない。生成規則をプログラムの形式で記載し、プログラム実行時に動的にロードするようにしてもよい。又は、プログラムの本体に生成規則を命令形式で順次記載するようにしてもよい。外部から生成規則を読み込む場合、個々の規則を別々のファイルにして予め準備しておいてもよいし、規則の全体を一つのファイルにまとめておいてもよい。いずにせよ、各規則は条件部と、その条件部がユナリペアにより充足されたときに各パターンに適用すべき変形規則との組として予め準備され、何らかの形で準備しておけばよい。規則の形式としては、前述したとおり、データ形式でもよいし、プログラム形式でもよい。また、プログラム本体の中に規則をアルゴリズム形式で組み込んでもよいし、実行時に外部からインクルードする形で読み込むよう、プログラム形式で外部ファイルとして保存しておいてもよい。
【００５９】
＜動作＞
図１を参照して、上記した含意パターンペア拡張装置５０は以下のように動作する。なお、含意パターンペア拡張装置５０が以下の処理を実行するに先立って、第１のユナリＤＢ５２、第２のユナリＤＢ５４、動詞含意ＤＢ５６、文脈類似度記憶部５８、漢字辞書１０６及びバイナリペア生成規則記憶部１１０については予めその内容を準備しておく必要がある。
【００６０】
ユナリペア追加部１００は、第１のユナリＤＢ５２及び第２のユナリＤＢ５４からユナリペアを順次読み出し、各々について、含意パターンペア拡張装置５０で扱うフォーマットに変形し、かつ各ユナリペアのデータソースを表す値として、各ユナリＤＢの識別子を付加してユナリペアＤＢ１０２に出力する。
【００６１】
ユナリペア生成部１０４は、文脈類似度記憶部５８に記憶された文脈類似度を用いて以下のようにユナリペアを生成し、ユナリペアＤＢ１０２に追加出力する。図２を参照して、ユナリペア生成部１０４は、処理の開始とともに記憶領域の確保及び初期化等を行う（ステップ１４０）。ユナリペア生成部１０４は動詞含意ＤＢ５６から動詞含意ペアを全て読み出す（ステップ１４２）。ユナリペア生成部１０４は、読み出した動詞含意ペアの各々について、処理１４６を実行する（ステップ１４４）。
【００６２】
処理１４６では、ユナリペア生成部１０４は、処理対象の動詞含意ペアを構成する動詞の各々について、「Ａが」、「Ａに」、「Ａを」、及び「Ａで」をそれぞれ付与することで複数のユナリ含意パターンの候補ペアを生成する（ステップ１６０）。ユナリペア生成部１０４は、こうして得られた候補ペアの各々について、それを構成するユナリペア同士の間で文脈類似度計算処理１６４を行う（ステップ１６２）。ユナリペア生成部１０４は、計算した文脈類似度にもとづき、ユナリペアを構成するパターン同士の間の文脈類似度が最も高いユナリペアを選択して（ステップ１６６）新たなユナリペアとしてユナリペアＤＢ１０２に追加する（ステップ１６８）。このとき、新たなユナリペアのデータソースとして動詞含意ＤＢ５６の識別子が新たなユナリペアに付与され、さらにもとになった動詞含意ペアの識別子も付与される。ユナリペア生成部１０４は、このような処理を動詞含意ＤＢ５６から読み出した全ての動詞含意ペアについて行う。
【００６３】
ユナリペア追加部１００及びユナリペア生成部１０４によるユナリペアＤＢ１０２へのユナリペアの追加が完了すると、ユナリペア拡張部１０８が、ユナリペアＤＢ１０２に格納されたユナリペアの各々から複数のユナリペアを生成し拡張ユナリペアＤＢ６０に出力する。すなわち、図３を参照して、ユナリペア拡張部１０８のレコード読出部１８０は、ユナリペアＤＢ１０２からユナリペアのレコードを読み出す。受動態・可能形追加部１８２は、レコード読出部１８０により読み出されたユナリペアの各々について、ユナリペアを構成するユナリパターンの各々に対して受動態への変形、及び可能形への変形を行い、それらの組み合わせで得られる複数の新たなユナリペアをもとのユナリペアとともに拡張ユナリペアＤＢ６０に追加する。このとき、新たなユナリペアのもとになったユナリペアの識別子と、適用された変形を特定するフラグが新たなユナリペアに付与される。受動態・可能形追加部１８２による拡張ユナリペアＤＢ６０へのユナリペアの追加の完了後、推移律ペア追加部１８４は、述語の表記ゆれ及び語尾の変形を各ユナリペアに適用することで、さらにユナリペアを拡張する。すなわち、推移律ペア追加部１８４は、漢字で書かれた述語について、漢字辞書１０６を参照することでかなに変換したユナリパターンを作り、新たなパターンを持つユナリペアを加える。推移律ペア追加部１８４はさらに、また、「漢字→かな」、及び「かな→漢字」というユナリペアも同時に生成し、拡張ユナリペアＤＢ６０に追加する。この後、推移律ペア追加部１８４は、拡張ユナリペアＤＢ６０に記憶されたユナリペアの組み合わせであって、第１のユナリペアの後半部が第２のユナリペアの前半部と一致するものを検索する。検索されたユナリペアの組み合わせの各々について、推移律ペア追加部１８４は、第１のユナリペアの前半部と第２のユナリペアの後半部とを組み合わせて新たなユナリペアを生成し、拡張ユナリペアＤＢ６０に追加する。
【００６４】
図４を参照して、より具体的には、推移律ペア追加部１８４は、拡張ユナリペアＤＢ６０からユナリペアを全て読み出し（ステップ２２０）、読み出された各ユナリペアについて、処理２２４を実行する（ステップ２２２）。すなわち、ステップ２２２では、推移律ペア追加部１８４は、読み出されたユナリペアを所定の順番で順に処理対象として選択し、選択されたユナリペア（第１のユナリペア）に対して以下のように処理２２４を実行する。
【００６５】
処理２２４では、推移律ペア追加部１８４は、処理対象のユナリペアの後半部と一致する前半部を持つユナリペアを全て拡張ユナリペアＤＢ６０から読み出す（ステップ２５０）。推移律ペア追加部１８４は、ステップ２５０で読み出されたユナリペア（第２のユナリペア）の各々について以下の処理２５４を実行する（ステップ２５２）。処理２５４では、推移律ペア追加部１８４は、第１のユナリペアの述部が「漢字→かな」の組み合わせであり、第２のユナリペアの述部が「かな→漢字」の組み合わせであれば処理を終了し次の第２のユナリペアに処理を移す（ステップ２８０で肯定）。ステップ２８０の判定が否定のときには、推移律ペア追加部１８４は、第１のユナリペアの前半パターンが第２のユナリペアの後半パターンと一致しているか否かを判定する（ステップ２８２）。判定がＮＯのときには、推移律ペア追加部１８４は、第１のユナリペアの前半パターンと第２のユナリペアの後半パターンとからなるユナリペアを新たなユナリペアとして拡張ユナリペアＤＢ６０に追加する（ステップ２８４）。ステップ２８２の判定が肯定のときには、推移律ペア追加部１８４は、第１及び第２のユナリペアの各々について、その対偶に相当するユナリペアを拡張ユナリペアＤＢ６０に追加する（ステップ２８６）。
【００６６】
ステップ２８４の処理の結果、Ｐ→ＱというペアとＱ→Ｒというペアから、いわゆる推移律によりＰ→Ｒというペアが生成され、拡張ユナリペアＤＢ６０に追加される。ステップ２８６の処理では、Ｐ→Ｑについては¬Ｑ→¬Ｐというペアを追加し、Ｑ→Ｐというペアについては¬Ｐ→¬Ｑというペアを追加する。
【００６７】
推移律ペア追加部１８４による推移律ペアの登録が完了すると、拡張ユナリペアＤＢ６０には、第１のユナリＤＢ５２、第２のユナリＤＢ５４、及び動詞含意ＤＢ５６に記憶されたユナリペア及び動詞含意ペアから拡張したユナリペアが蓄積されており、利用することが可能になっている。なお、推移律により生成したユナリペアには、もとになった２組のユナリペアの識別子と推移律により追加されたことを示すフラグが付与され、同値により追加されたユナリペアには、元になった２組のユナリペアの識別子と、同値により追加されたことを示すフラグが付与される。
【００６８】
図１に戻って、拡張ユナリペアＤＢ６０へのユナリペアの蓄積が完了すると、バイナリペア追加部１１２が拡張ユナリペアＤＢ６０に格納されたユナリペアの各々について以下のように複数のバイナリペアを生成し、拡張バイナリペアＤＢ６２に格納する。具体的には、図５を参照して、バイナリペア追加部１１２は、拡張ユナリペアＤＢ６０から全てのユナリペアを読み出す（ステップ３２０）。バイナリペア追加部１１２は、読み出されたユナリペアを順番に選択し（ステップ３２２）、その各々について、そのユナリペアからバイナリペアを生成する処理３２４を実行する。
【００６９】
図６を参照して、バイナリペア追加部１１２は、図５の処理３２４において、図１に示すバイナリペア生成規則記憶部１１０からバイナリペアの生成規則を全て読み出す（ステップ３５０）。バイナリペア追加部１１２はさらに、選択した処理対象のユナリペアに対して、ステップ３５０で読み出された生成規則の各々を順番に選択し（ステップ３５２）処理３５４を実行する。処理３５４では、バイナリペア追加部１１２は、処理中のユナリペアが処理対象のバイナリペア生成規則を適用すべき条件を充足するか否かを判定する（ステップ３８０）。条件が充足されていなければこの規則の適用を終了し、次の生成規則の適用に処理を進める（ステップ３８０の判定がＮＯ）。ステップ３８０の判定が肯定のときには、バイナリペア追加部１１２は、処理対象のユナリペアに対して、処理中のバイナリペア生成規則を適用することにより、バイナリペアを生成する（ステップ３８２）。バイナリペア追加部１１２は、このようにして生成されたバイナリペアを拡張バイナリペアＤＢ６２に追加してこのバイナリペア生成規則の適用を終了する（ステップ３８４）。
【００７０】
本実施の形態では、「Ａを使う→Ａを用いる」というユナリペアからは、以下の様なバイナリペアが生成される。
【００７１】
【表１】
0006551968.tif 000002
バイナリペア追加部１１２が、拡張ユナリペアＤＢ６０に記憶された全てのユナリペアに対し、バイナリペア生成規則記憶部１１０に記憶された生成規則を適用し、生成された全てのバイナリペア（負例を除く）を拡張バイナリペアＤＢ６２に追加することにより、拡張バイナリペアＤＢ６２に、第１のユナリＤＢ５２、第２のユナリＤＢ５４、及び動詞含意ＤＢ５６から拡張して得られたバイナリペアが蓄積され、利用可能になる。このとき、各バイナリペアには、そのバイナリペアのもとになったユナリペアの識別子と、適用した生成規則の識別子とが情報として付加される。
【００７２】
通常、質問応答システムでは、ユナリペアは質問に対する回答としてヒットしやすい。しかし、ユナリペアは項を１つしか持たない。そのために、ユナリペアだけから回答を得ようとすると、回答精度に過度な期待はできない。そこで、回答を検索する際には、最初にバイナリペアを用い、バイナリペアでは回答が見つからない場合にユナリペアを用いる。こうした回答検索の方法により、回答の精度を高く維持しながらヒット率も高めることができる。その場合、上記実施の形態の方法にしたがってバイナリペアを充実させることで、回答の精度をさらに高めることが期待できる。
【００７３】
なお、上記手法で生成されたユナリペアも次のような方法で質問応答システムに利用できる。まず、ペアを構成する各パターンの、コーパス中の出現頻度を予め計算しておく。後述の実験では、ウェブから収集した多数の文書中における、各パターンが回答検索でヒットした場合には、ユナリパターンのデータの由来及び性質に応じ、以下の様な優先順位にしたがって優先的に言い換えパターンとしてユナリペアを利用する。
【００７４】
（１）同値関係（Ｐ→ＱとＱ→Ｐとが共に成立する場合）
（２）読み又は形態（可能形・受動態）が異なる同じ述語
（３）上記以外で第１のユナリＤＢ５２及び第２のユナリＤＢ５４から拡張されたユナリペア
そして、データの由来にかかわらず、上記ウェブから収集した文書中の頻度がある定数未満のパターンの優先順位は最も低くなるように設定した。後述の評価実験では、ウェブ上から収集した文書の数は６億であり、最も優先順位を低く設定するためのしきい値は１０とした。
【００７５】
＜評価＞
以上に構成を説明した第１の実施の形態による含意ペア（ユナリペア及びバイナリペア）の評価実験について述べる。この実験では、第１のユナリＤＢ５２及び第２のユナリＤＢ５４の代わりに、３つのユナリペアの集合を用いた。これらのうち第１のものは、既存のユナリペアから、ペアを構成するパターン間の文脈類似度が上位であるものを人手でチェックして構築したもので、８３，７０６例のユナリペアからなる。第２のものは、既存の述語対から助詞が「を」「に」「で」である述語を選択してユナリペアとしたものである。この際、意味があいまいなものは人手でチェックし、さらに正例と判断されたもののみを選択することにより構築したもので、７，３３４例のユナリペアからなる。第３のものは、出願人がこれまでに構築してきたいくつかのデータを基に得た２７，３６９例の正例からなるものである。
【００７６】
動詞含意ＤＢ５６としては、前記したとおり、出願人が人手で構築した動詞含意データ（https://alaginrc.nict.go.jp/）を用いた。この動詞含意ＤＢ５６は５２，６８９ペアの動詞含意ペアを収録している。これに対してユナリペア生成部１０４の処理を行い、得られたユナリペアを人手でチェックして正例を蓄積した。この結果得られたユナリペアは５１，５８９ペアであった。
【００７７】
以上から、処理の種として用いられたユナリペアの数は８３，７０６＋７，３３４＋２７，３６９＋５１，５８９＝１６９，９９８である。
【００７８】
上記実施の形態による手法を用いてこのようなユナリペア及びバイナリペアを生成した結果、次のような数のペアが得られた。まず、推移律を適用する前のユナリペアの数は９０１，２３２であった。これはもとのユナリペアの個数の８倍以上である。推移律による拡張で、あらたに２，８６４，４１５個のユナリペアが得られた。このペア数は推移律適用前の約３倍である。さらに同じユナリ表現からバイナリペアを拡張することにより、最終的には４２，０９６，３２７個のバイナリペアが生成された。元になるユナリペアの個数と比較して、約２８０倍となっている。
【００７９】
上記処理で生成されたペアはヒューリスティックスにより、以下のようにスコア付けした。
【００８０】
【数１】
0006551968.tif 000003
ここで、ｆは、あるペアを生成するもととなった２つのユナリパターンがウェブ６億文書中に現れた頻度の合計を表す。α、βの値は、元となるユナリパターンに応じて以下のように与えられる。
【００８１】
・同値関係にあるパターン：α＝２，β＝−０．２
・推移律で拡張したパターン：α＝−０．２、β＝−０．８
・上記以外のパターン：α＝０．１、β＝−０．３
図７はユナリペアの全体の評価を示すグラフである。このグラフは以下の様にして拡張ユナリペアＤＢ６０に得られたユナリペア全体（３，７６５，６４７個）を評価したものである。
【００８２】
（１）ユナリペアを構成する２つのパターンの、ウェブ６億文書中における出現頻度がいずれも１０以上のものを選択した。
【００８３】
（２）（１）で選択されたものからランダムサンプリングで、５００ペアを選択し、３名のアノテータによって各ユナリペアの正否を評価した。このアノテータはいずれも本願発明の発明者とは異なる。最終評価は、３名のアノテータによる評価の多数決によった。このときの一致率はKappa：0.46であり、中程度の一致率である。
【００８４】
（３）５００サンプルを、各サンプルを構成するパターンの出現頻度の積によってソートしてプロットした。
【００８５】
この図から、各パターンの出現頻度による差はあまり見られないことが分かる。
【００８６】
また、推移律で拡張したユナリペアとそれ以外で拡張したペアとについて別々に正例の評価をして、以下の結果を得た。
【００８７】
【表２】
0006551968.tif 000004
図８は、５００ペアのユナリペアをランダムサンプリングして評価し、その優先順位（スコア）の高い順にソートし、上位ｎ位の精度をプロットしたものである。全体としては０．６８程度の精度となった。しかし、テーブル１に示すように、推移律以外で生成したユナリペアについては、０．８を超える精度が得られた。
【００８８】
同様に、生成されたバイナリペア（４２，０９６，３２７個）から５００ペアをランダムサンプリングして評価し、そのスコア順にソートしてプロットした結果を図９に示す。図９のグラフが示すとおり、全体としての精度は０．６６となり、ユナリペアと同程度の精度となった。
【００８９】
質問応答システムにおける言い換えへの利用という観点からいえば、約４，２００万のバイナリペアでは上位３０％で約１，２００万ペア、約３８０万のユナリペアでは上位２０％で約７５万ペアに関して０．８程度の精度が得られた。この数でこの精度であれば、十分に実用的なデータが得られたと評価できる。
【００９０】
これらのペアにさらに機械学習により獲得したペアを含め、トータルで約１億の含意ペアを言い換え用の資源として、出願人が作成した質問応答システムに組み込み、「ビッグデータは何に使うか」という質問を入力した。その結果、「ビジネス」、「マーケティング」という、予想可能な回答に加えて、「輸送計画に役立つ」、「ビッグデータの活用が正確な政治的予測にいかに役立つかが盛んに報じられる」という回答が得られた。これらを得るには、いずれも「Ａに役立つ→Ａに使う」という推移律を基に得られたペアが使用されている。さらに、「信長は何を狙ったか」という質問に対しては、「天下統一」という常識的な回答だけではなく、「絶対王政を目指す」、「自由経済を目指す」という回答が得られた。これらは「ＡがＢを目指す→ＡがＢを狙う」「Ｂを目指すＡ→ＡがＢを狙う」という、推移律を基に得られたペアが言い換えに使用されている。したがって、上記した実施の形態の手法を用いて含意ペアを拡張して質問応答システムの言い換えに使用することにより、多様な回答が抽出されていることが確認できた。
【００９１】
＜変形例＞
本実施の形態では、推移律の適用を２段階にとどめている。これは、３段階以上になると、処理に時間を要するためである。原理的には、この推移律は何段階にでも適用できる。図４に示す処理２２４を入れ子形式で適用すればよい。もっとも、推移律の適用段階の数が多くなると精度の低下が予測される。実用的には３段階又は４段階程度が限度であると考えられる。しかし、処理の仕方によってはそれ以上の数の含意ペアの間で推移律を適用しても精度の低下を防止できるかも知れない。それらについては今後の検証が必要である。
【００９２】
さらに、上記実施の形態では、推移律の適用をユナリペアの拡張後に行っている。しかし、原理的には推移律の適用は、ユナリペアの拡張後ではなく、動詞含意ペアの段階、又はユナリペアの拡張前に行うことも考えられる。ただした、例えば動詞含意ペアの場合には、動詞自体の多義性のために、推移律の適用により得られる新たな動詞含意ペアが不適当なものになることも考えられる。したがって、推移律適用後のチェックにより不適切なペアを除去する必要がある。拡張前のユナリペアに対する推移律の適用時にはそのような危険性は低いが、推移律の適用により得られる新たなユナリペアの数は、拡張後に推移律を適用する場合よりも少なくなると考えられる。そのため、言い換え表現を獲得するという意味では、上記実施の形態より不利になる可能性はある。しかしそれでも、従来技術とは異なり、予測のできる形でユナリペアを拡張できるという効果が得られることは変わりない。したがってそのような実施の形態も十分に考えられる。
【００９３】
さらに、上記実施の形態ではユナリペアからバイナリペアへの拡張を行っている。しかし本発明はそのような実施の形態には限定されない。バイナリペアにさらに項を追加することにより、３項ペア（「ターナリペア」と呼ぶ）への拡張を行うこともできる。ターナリペアの例としては、「ＡがＢにＣを送る」がある。その手法としては、ユナリペアからバイナリペアへの拡張時と同様の生成規則による手法をそのまま用いることができる。ただし、ターナリパターンの生成時には、規則を適用できる条件の指定がバイナリペアの場合より複雑になること、得られるターナリペアのバラエティがバイナリペアの場合と比較して多くなること、したがって処理に要する時間も長くなることが考えられる。同様の考えで、４以上の自然数ｎに対し、ｍ＝ｎ―１としてｍ−アリパターンを拡張してｎ−アリパターンを得ることもできる。実装上の制約は、規則決定の作業量と、処理時間の問題とに過ぎない。
【００９４】
さらには、ユナリペアから直接にターナリペアに拡張することも可能である。この場合、条件が充足されたときに、ユナリペアに２項を追加するような規則を作成すればよい。ユナリペアからバイナリペアを作成する規則と、ユナリペアからターナリペアを作成する規則とを混合してユナリペアに適用することで、バイナリペアとターナリペアとを同時に生成することもできる。
【００９５】
以上のように、本発明によれば、単純な動詞の含意ペアから、項が１つ以上の複雑な言語パターン間の含意ペアを、簡便な規則を適用することで生成できる。この手法では、必要な動詞の含意ペアを準備すれば、それに関連する様々なパターンからなる含意ペアが自動的に生成される。従来のように機械学習で獲得したペアだけでは網羅できなかった含意ペアを大量に獲得できる。この結果、この含意ペアを質問応答システムにおける言い換えに適用することにより、得られる回答が大幅に増加するという効果を得ることができる。この拡張により得られる含意ペアがどのようなものかは、もとになる動詞の含意ペアから予測ができる。しかも、上記したように、最終的に採用するデータの精度がある程度の値になることが保証できる。したがって、従来の技術と比較して、質問応答システム等の自然言語を利用したシステムに利用可能な、精度の高い含意ペアの集合を効率よく収集できる。
【００９６】
［第２の実施の形態］
上記第１の実施の形態に係る含意パターンペア拡張装置５０により、拡張ユナリペアＤＢ６０及び拡張バイナリペアＤＢ６２のように、複数のＤＢを得ることができる。第２の実施の形態は、そのような複数のＤＢを用いて質問に対する回答をウェブアーカイブから検索する質問応答システムに関する。なお、この第２の実施の形態に係る質問応答システムは、一般的な例として、変数をｎ項まで含むパターンにまで拡張した含意ペアを記憶したＤＢ、すなわち拡張Ｎ−アリＤＢまで扱うものとする。拡張ユナリペア、拡張バイナリペア、及び一般的な拡張Ｎ−アリペアをまとめて、以下では拡張ペアと呼び、これらをそれぞれ記憶したＤＢ（拡張ユナリペアＤＢ６０、拡張バイナリペアＤＢ６２等）を総称して拡張ペアＤＢと呼ぶ。
【００９７】
図１０を参照して、この第２の実施の形態に係る質問応答システム５００は、音声による質問５０２を受けて、質問に対する回答５０４を音声で出力する。質問５０２は、この質問応答システム５００に設けられたマイクロフォン及び音声処理部によって受けてもよいし、ネットワークを通じて他の端末から受け取るようにしてもよい。
【００９８】
質問５０２に対して、音声認識部５２０が音声認識を行って、文法情報が付されたテキストからなる質問文を出力する。構文解析部５２２が、この質問文に対して予め準備した構文変換規則を適用することにより肯定文を得て、さらに係り受け解析及び構文解析を行い、単語間の意味的な係り受け関係を示すグラフ形式の係り受け情報を出力する。この係り受け情報をパターン抽出部５２６がスキャンして、グラフ上に存在する単語を結ぶパスからパターンを抽出する。このとき、そのパターンに含まれる変数の項数の上限をＮとする。この項数の最大値は最大項数記憶部５２４に記憶されており、パターン抽出部５２６はこの値を読みだして、係り受け情報から最大でＮ項の変数を含むパターンを抽出する。変数が１個のとき及び２個のときは、前述したとおりユナリ及びバイナリと呼んでいる。一般的に変数がＮ個のパターンをＮ−アリパターンと呼ぶことにする。したがって、パターン抽出部５２６が抽出するパターンは、ユナリパターン、バイナリパターン、…、Ｎ−アリパターンである。
【００９９】
より具体的には、パターン抽出部５２６は、グラフ上で名詞と述語とを結ぶパスにおいて、名詞を変数に置き換えることによりユナリパターンを抽出する。パターン抽出部５２６は同様に、グラフ上で２個の名詞と述語とを結ぶパスにおいて、２つの名詞をそれぞれ変数に置き換える事によりバイナリパターンを抽出する。以下同様である。なおここで、パターン抽出部５２６は、名詞を変数に置き換える際に、その名詞の意味クラスに対応した制約を変数に付す。例えば名詞が地名であれば「地名」、食物であれば「食物」等の制約が変数に付される。こうすることで、回答を検索する際に、構文形式はよく似ているが意味的には無関係な候補を除外できる。
【０１００】
質問応答システム５００はこのために、前述の拡張ユナリペアＤＢ６０及び拡張バイナリペアＤＢ６２に加えて、Ｎ−アリペアを格納した拡張Ｎ−アリＤＢ５３０までの拡張ペアＤＢを含む。もちろん、Ｎ＝２でもよく、その場合には質問応答システム５００は、含意ペアとして拡張ユナリペアＤＢ６０と拡張バイナリペアＤＢ６２のみを含むことになる。
【０１０１】
パターン抽出部５２６が抽出したパターンは、拡張ユナリペアＤＢ６０、拡張バイナリペアＤＢ６２、…、拡張Ｎ−アリペアＤＢ５３０を利用してパターン拡張部５２８により拡張される。パターン拡張部５２８は、拡張対象のパターンがユナリパターンであれば、拡張ユナリペアＤＢ６０を利用してパターンの拡張を行う。パターン拡張部５２８は同様に、拡張対象のパターンがバイナリパターンであれば、拡張バイナリペアＤＢ６２を利用してバターンの拡張を行う。以下同様である。ここではパターン拡張部５２８は、拡張ユナリペアＤＢ６０、拡張バイナリペアＤＢ６２、…、拡張Ｎ−アリペアＤＢ５３０を順番に利用して含意ペアの拡張を行う。そのために、質問応答システム５００は、パターン拡張部５２８により制御され、拡張ユナリペアＤＢ６０、拡張バイナリペアＤＢ６２、…、拡張Ｎ−アリペアＤＢ５３０のうち、パターン拡張部５２８により指定された拡張ペアＤＢを選択的にパターン拡張部５２８に接続するセレクタ５３２を含む。
【０１０２】
このように、パターン抽出部５２６により抽出されて得たユナリペア、バイナリペア、…、Ｎ−アリペアは、それぞれ拡張ユナリペアＤＢ６０、拡張バイナリペアＤＢ６２、…、拡張Ｎ−アリペアＤＢ５３０に格納された含意ペアを使用していずれも大幅に拡張される。その結果、パターン拡張部５２８からは、変数に制約が付された大量のパターンが出力される。
【０１０３】
質問応答システム５００は、ウェブ上の大量のデータを記憶したウェブアーカイブ５３４を含む。回答候補検索部５３６が、パターン拡張部５２８から出力された大量のパターンに合致する表現を持つ文をウェブアーカイブ５３４から検索し、それぞれどの拡張ペアＤＢに記憶されていたペアに合致するか否かにしたがって分類して出力する。回答候補検索部５３６の出力する回答候補は、ユナリ回答候補記憶部５３８、バイナリ回答候補記憶部５４０、…、Ｎ−アリ回答候補記憶部５４２にそれぞれ分類して記憶される。なお、回答候補検索部５３６は、予め学習用データによる機械学習を済ませた判別器を含む。この判別器は、パターンに含まれる単語の意味的クラス、その回答候補を検索する際に使用されたパターン、そのパターンともとの質問文との意味的な類似度、回答候補とそれを抽出する際に使用されたパターンとの関連度、等、様々な要因を含めて回答候補の検索をし、それぞれ質問５０２に対する回答としてのふさわしさを示すスコアを各回答候補に付す。
【０１０４】
質問応答システム５００はさらに、ユナリ回答候補記憶部５３８、バイナリ回答候補記憶部５４０、…、Ｎ−アリ回答候補記憶部５４２に記憶された回答候補の内から回答を選択するために予め準備されたしきい値を記憶するしきい値記憶部５４６と、しきい値記憶部５４６に記憶されたしきい値以上のスコアを持つ回答を１つだけユナリ回答候補記憶部５３８、バイナリ回答候補記憶部５４０、…、Ｎ−アリ回答候補記憶部５４２に記憶された回答候補のうちから選択する回答選択部５４８とを含む。
【０１０５】
回答選択部５４８はこの選択の際、最初に、回答候補のうちで、最も変数の多いパターンを用いて検索された回答候補があれば、そのうちで、スコアが最も高く、かつスコアがしきい値以上であるものを回答として選択する。もしその様な回答候補がなければ、回答選択部５４８は、変数の数が１少ないパターンを用いて検索された回答候補からの回答の選択を試みる。以下、変数の値が１になるまで同様の処理が行われる。回答選択部５４８は、このように変数の多いパターンを用いて検索された回答候補を優先して回答を選択する。したがって質問応答システム５００は、回答選択部５４８による制御にしたがって、Ｎ−アリ回答候補記憶部５４２、…、バイナリ回答候補記憶部５４０、ユナリ回答候補記憶部５３８のいずれかを選択して回答選択部５４８の入力に結合するセレクタ５４４をさらに含む。
【０１０６】
ユナリペアを用いて検索された回答候補まで全て調べても条件を充足する回答候補がみつからなかった場合には、予め定める基準によって選定された回答候補が選ばれる。
【０１０７】
なお、回答候補を選ぶ際のしきい値は、その回答候補を検索する際に使用されたパターンに含まれる変数の数にかかわらず一定でもよいし、変数の数が大きくなるにしたがってしきい値が小さくなるようにしてもよい。条件を充足する回答候補が見つからなかったときには、例えば見つかった回答候補のうちで最もスコアが高かったものを回答としてもよいし、検索の際に使用されたパターンの変数の項数が最も多いもののうちでスコアが最も高いものを選択するようにしてもよい。
【０１０８】
回答選択部５４８が選択した回答は回答出力部５５０に渡される。回答出力部５５０は、この回答を、質問５０２の入力経路に応じた経路に、入力形式に対応した形式で回答５０４として出力する。例えば質問５０２が質問応答システム５００に備えられたマイクロフォン等経由で入力された場合、回答出力部５５０は、回答５０４を音声に変換し、音声をスピーカで出力する。質問５０２がネットワーク経由で音声として送られてきたときには、回答出力部５５０は質問５０２を送信して来たアドレスに対して、音声として出力するよう加工したデータを送信する。
【０１０９】
以上のようにこの第２の実施の形態に係る質問応答システム５００は、第１の実施の形態による含意パターンペア拡張装置５０で拡張した拡張ユナリペアＤＢ６０、拡張バイナリペアＤＢ６２、…、拡張Ｎ−アリペアＤＢ５３０を用いて、質問５０２から得たパターンを拡張する。これら拡張ペアの数は非常に多く、質問５０２から得られるパターンの数も非常に多くなる。そのように大量のパターンを用いてウェブアーカイブ５３４から回答候補を検索する。したがって、構文の形式としては質問５０２とは大きく異なったものでも、回答としてふさわしいものを検索できる可能性が高くなる。さらに、推移律を用いてパターンペアが拡張されているので、質問５０２から得たパターンと異なる意外なパターンの回答が得られる可能性も高くなる。更に、回答を検索する際に使用されたパターンに含まれる変数の数が多い回答候補を優先して選択する。その結果、質問５０２に対してより具体的で適切な回答を得ることができる可能性が高くなるという効果がある。
【０１１０】
［コンピュータによる実現］
上記第１の実施の形態に係る含意パターンペア拡張装置５０、第２の実施の形態に係る質問応答システム５００及びその他の変形例は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図１１はこのコンピュータシステム９３０の外観を示し、図１２はコンピュータシステム９３０の内部構成を示す。
【０１１１】
図１１を参照して、このコンピュータシステム９３０は、メモリポート９５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ９５０を有するコンピュータ９４０と、キーボード９４６と、マウス９４８と、モニタ９４２とを含む。
【０１１２】
図１２を参照して、コンピュータ９４０は、メモリポート９５２及びＤＶＤドライブ９５０に加えて、ＣＰＵ（中央処理装置）９５６と、ＣＰＵ９５６、メモリポート９５２及びＤＶＤドライブ９５０に接続されたバス９６６と、ブートプログラム等を記憶する読出専用メモリ（ＲＯＭ）９５８と、バス９６６に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）９６０と、ハードディスク９５４を含む。コンピュータシステム９３０はさらに、他端末との通信を可能とするネットワーク９６８への接続を提供するネットワークインターフェイス（Ｉ／Ｆ）９４４を含む。
【０１１３】
ＲＡＭ９６０、ハードディスク９５４、及びメモリポート９５２に装着可能な着脱可能なリムーバブルメモリ９６４は、図１に示す第１のユナリＤＢ５２、第２のユナリＤＢ５４、動詞含意ＤＢ５６、文脈類似度記憶部５８、拡張ユナリペアＤＢ６０、拡張バイナリペアＤＢ６２、漢字辞書１０６、バイナリペア生成規則記憶部１１０、拡張Ｎ−アリＤＢ５３０、ウェブアーカイブ５３４、回答候補記憶部５３８、５４０、及び５４２、最大項数記憶部５２４並びにしきい値記憶部５４６のような記憶装置として機能する。情報の書き換えが不要なデータ、例えば漢字辞書１０６のようなものは、ＣＤ―ＲＯＭ又はＤＶＤ９６２に格納し、ＤＶＤドライブ９５０に装着して読み出すようにしてもよい。
【０１１４】
コンピュータシステム９３０を上記した実施の形態に係る含意パターンペア拡張装置５０又は質問応答システム５００の各機能部として機能させるためのコンピュータプログラムは、ＤＶＤドライブ９５０又はメモリポート９５２に装着されるＤＶＤ９６２又はリムーバブルメモリ９６４に記憶され、さらにハードディスク９５４に転送される。又は、プログラムはネットワーク９６８を通じてコンピュータ９４０に送信されハードディスク９５４に記憶されてもよい。プログラムは実行の際にＲＡＭ９６０にロードされる。ＤＶＤ９６２から、リムーバブルメモリ９６４から又はネットワーク９６８を介して、直接にＲＡＭ９６０にプログラムをロードしてもよい。
【０１１５】
このプログラムは、コンピュータ９４０を、上記実施の形態に係る含意パターンペア拡張装置５０又は質問応答システム５００の各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ９４０にこの動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ９４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ９４０にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供され、プログラムの実行時に動的にリンクされ実行される。したがって、このプログラム自体はこの実施の形態のシステム及び方法を実現するのに必要な機能を実現するためのオブジェクトコード又はスクリプトの全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供するようにしてもよい。
【０１１６】
また、含意パターンペア拡張装置５０又は質問応答システム５００の各機能部を別々のコンピュータに分散して処理したり、ネットワークを介して別々の地域に存在する別々のコンピュータで分散して処理したりするようにしてもよい。
【０１１７】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１１８】
５０  含意パターンペア拡張装置
５２  第１のユナリＤＢ
５４  第２のユナリＤＢ
５６  動詞含意ＤＢ
５８  文脈類似度記憶部
６０  拡張ユナリペアＤＢ
６２  拡張バイナリペアＤＢ
１００  ユナリペア追加部
１０２  ユナリペアＤＢ
１０４  ユナリペア生成部
１０６  漢字辞書
１０８  ユナリペア拡張部
１１０  バイナリペア生成規則記憶部
１１２  バイナリペア追加部
１６４  文脈類似度計算処理
１８０  レコード読出部
１８２  受動態・可能形追加部
１８４  推移律ペア追加部
５００  質問応答システム
５２２  構文解析部
５２６  パターン抽出部
５２８  パターン拡張部
５３４  ウェブアーカイブ
５３６  回答候補検索部
５４８  回答選択部
【図１】
0006551968.tif 000005
【図２】
0006551968.tif 000006
【図３】
0006551968.tif 000007
【図４】
0006551968.tif 000008
【図５】
0006551968.tif 000009
【図６】
0006551968.tif 000010
【図７】
0006551968.tif 000011
【図８】
0006551968.tif 000012
【図９】
0006551968.tif 000013
【図１０】
0006551968.tif 000014
【図１１】
0006551968.tif 000015
【図１２】
0006551968.tif 000016