(57)【特許請求の範囲】
【請求項１】
質問に対する回答が実体によって異なる複数の実体に対する質問と回答の組合せを、前記実体に紐付けて記録した対話データベースと、
質問と質問の対象となる実体を特定する情報が入力される入力部と、
前記対話データベースに前記実体に対する前記質問が記録されていない場合に、前記対話データベースに記録された前記実体以外の実体に対する質問の中から最も類似度の高い質問を検索する質問検索部と、
前記質問検索部が検索した最も類似度の高い質問と組み合わせられている回答を、前記質問に対する回答として選択する回答選択部と、
を備え、
前記類似度は、実体同士が同時に出現しやすくはないということを帰無仮説として、各実体の個別の出現回数及び両方の実体が同時に出現する回数を用いて計算されるｐ値が小さいほど類似度が高くなる
ことを特徴とする質問応答装置。
【請求項２】
質問に対する回答が実体によって異なる複数の実体に対する質問と回答の組合せを、前記実体に紐付けて記録した対話データベースと、
質問と質問の対象となる実体を特定する情報が入力される入力部と、
前記対話データベースに前記実体に対する前記質問が記録されていない場合に、前記対話データベースに記録された前記実体以外の実体に対する質問の中から最も類似度の高い質問を検索する質問検索部と、
前記質問検索部が検索した最も類似度の高い質問と組み合わせられている回答を、前記質問に対する回答として選択する回答選択部と、
を備え、
前記回答選択部は、最も類似度の高い質問と組み合わせられている回答が複数存在する場合には、最も類似度の高い質問に紐付けられている実体と回答に含まれている個々の単語との関連の強さを示す関連度が最も低い回答を選択し、回答とする
ことを特徴とする質問応答装置。
【請求項３】
請求項１または２記載の質問応答装置であって、
前記類似度は、前記入力部に入力された質問に含まれる単語と、比較する質問に含まれる単語との類似度である
ことを特徴とする質問応答装置。
【請求項４】
請求項１〜３のいずれかに記載の質問応答装置であって、
前記対話データベースに記録された質問には、それぞれの質問の種別を表わす発話タイプ、質問タイプ、心的態度タイプ、人物属性タイプの４つのラベルからなる質問分類があらかじめ付与されており、
前記入力部は、入力された質問に対する質問分類も入力され、
前記質問検索部は、前記対話データベースに記録された前記実体以外の実体に対する質問であって、入力された質問分類と同じ質問分類の質問の中から最も類似度の高い質問を検索する
ことを特徴とする質問応答装置。
【請求項５】
質問に対する回答が実体によって異なる複数の実体に対する質問と回答の組合せを、前記実体に紐付けて記録した対話データベースを用いた質問応答方法であって、
入力部が、質問と質問の対象となる実体を特定する情報が入力される入力ステップと、
質問検索部が、前記対話データベースに前記実体に対する前記質問が記録されていない場合に、前記対話データベースに記録された前記実体以外の実体に対する質問の中から最も類似度の高い質問を検索する質問検索ステップと、
回答選択部が、前記質問検索ステップが検索した最も類似度の高い質問と組み合わせられている回答を、前記質問に対する回答として選択する回答選択ステップと、
を有し、
前記類似度は、実体同士が同時に出現しやすくはないということを帰無仮説として、各実体の個別の出現回数及び両方の実体が同時に出現する回数を用いて計算されるｐ値が小さいほど類似度が高くなる
ことを特徴とする質問応答方法。
【請求項６】
質問に対する回答が実体によって異なる複数の実体に対する質問と回答の組合せを、前記実体に紐付けて記録した対話データベースを用いた質問応答方法であって、
入力部が、質問と質問の対象となる実体を特定する情報が入力される入力ステップと、
質問検索部が、前記対話データベースに前記実体に対する前記質問が記録されていない場合に、前記対話データベースに記録された前記実体以外の実体に対する質問の中から最も類似度の高い質問を検索する質問検索ステップと、
回答選択部が、前記質問検索ステップが検索した最も類似度の高い質問と組み合わせられている回答を、前記質問に対する回答として選択する回答選択ステップと、
を有し、
前記回答選択ステップは、最も類似度の高い質問と組み合わせられている回答が複数存在する場合には、最も類似度の高い質問に紐付けられている実体と回答に含まれている個々の単語との関連の強さを示す関連度が最も低い回答を選択し、回答とする
ことを特徴とする質問応答方法。
【請求項７】
請求項５または６記載の質問応答方法であって、
前記類似度は、前記入力ステップで入力された質問に含まれる単語と、比較する質問に含まれる単語との類似度である
ことを特徴とする質問応答方法。
【請求項８】
請求項５〜７のいずれかに記載の質問応答方法であって、
前記対話データベースに記録された質問には、それぞれの質問の種別を表わす発話タイプ、質問タイプ、心的態度タイプ、人物属性タイプの４つのラベルからなる質問分類があらかじめ付与されており、
前記入力ステップでは、入力された質問に対する質問分類も入力され、
前記質問検索ステップは、前記対話データベースに記録された前記実体以外の実体に対する質問であって、入力された質問分類と同じ質問分類の質問の中から最も類似度の高い質問を検索する
ことを特徴とする質問応答方法。
【請求項９】
請求項１〜４のいずれかに記載の質問応答装置として、コンピュータを動作させる質問応答プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、質問に対する回答に個性を持たせた質問応答装置、質問応答方法、質問応答プログラムに関する。
【背景技術】
【０００２】
質問と応答を保持するデータベースを用いて未知の質問に対して応答する手法として、非特許文献１のように、入力された質問に類似した質問を検索し、その応答を用いる方法が知られている。また、対話システムのコンテストであるレブナー賞で優勝した対話システムの「A.L.I.C.E.」も、大量の＜入力，応答＞ペアを人手で作成し、ユーザ入力と最も類似した入力を持つペアを検索し、その応答を用いてシステム応答を行っている（非特許文献２）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Robin D. Burke, Kristian J. Hammond, Vladimir A.  Kulyukin, Noriko Tomuro, and S. Schoenberg, “Question answering from frequently asked question files: Experiences with the FAQFinder system”, Technical report, University of Chicago, 1997.
【非特許文献２】Richard S. Wallace, “The Anatomy of A.L.I.C.E”, A.L.I.C.E. Artificial Intelligence Foundation, Inc., 2004.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
対話システムがより人間らしく応答するためには、さまざまな質問に対して個性をもって振舞わなくてはならない。どのシステムも同じ入力に対して同じように振舞っていては、無個性でユーザはシステムに愛着もわかないと考えられる。個性を持ったシステムは、ユーザからの入力に対しそのシステムらしい応答をする必要がある。しかし、そのような応答のための知識源はこれまで大量の＜入力，応答＞ペアを人手で作成することによってなされてきた。例えば，非特許文献２のシステム「A.L.I.C.E.」は約４万もの＜入力，応答＞ペアを記録している。
【０００５】
これまでいくつもの対話システムが作られてきており、これらシステムはそれぞれある程度の量の＜入力，応答＞ペアを保持している。しかしながら、このような＜入力，応答＞ペアの作成も人手で行われるので網羅性に限界があり、必ずしも人間が行うような多様な入力を網羅しているわけではない。また、あるシステムに対する入力が、そのシステムの保持する＜入力，応答＞ペアに見つからず、うまく応答できないこともある。
【０００６】
さらに、個性を持つシステムの数が多くなれば、それぞれのシステムが保持しなければならない＜入力，応答＞ペアの数も多くなる。また、１つのシステムが保持する＜入力，応答>ペアの数を少なくすれば、そのシステムが、入力と同じ＜入力，応答＞ペアを保持していない確率が高くなってしまう。
【０００７】
本発明は、このような課題に鑑みてなされたものであり、複数のシステムがある場合にも、システムに保持させる＜入力，応答＞ペアの総数を増やさなくても、それぞれのシステムが適切な応答ができるようにする方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
システムに対してなされた質問が、そのシステムの保持する＜入力，応答＞ペアに見つからないとき、他のシステムが適切な＜入力，応答＞ペアを保持していれば、それを代用して応答することも可能であり、システムの応答能力が向上すると思われる。本発明の質問応答装置は、入力に対する応答に個性（例えば、人物の個性）がある複数の実体と、それぞれの実体に対する＜質問，応答＞ペアが一つ以上あるとする。そして、本発明は、ある個性を持った実体Ａ（対話システムなど）が未知の質問をされたときに、他の実体Ｂ（他の対話システムなど）の持つ＜入力，応答＞のペアを代用することで、Ａとして適切な応答をする。なお、本発明では＜入力，応答＞の代表として、＜質問，回答＞を対象とする。
【０００９】
本発明の質問応答装置は、対話データベース、入力部、質問検索部、回答選択部を備える。対話データベースは、質問に対する回答に個性を有する複数の実体に対する質問と回答の組合せを、実体に紐付けて記録する。入力部には、少なくとも質問と質問の対象となる実体を特定する情報が入力される。質問検索部は、対話データベースに質問を受けた実体に対する同様の質問が記録されていない場合に、対話データベースに記録された質問を受けた実体以外の実体に対する質問の中から最も類似度の高い質問を検索する。回答選択部は、質問検索部が検索した最も類似度の高い質問と組み合わせられている回答を、質問に対する回答として選択する。また、実体Ａらしい応答を行うために、検索に際して実体同士の類似度と実体と応答の関連度を考慮してもよい。
【発明の効果】
【００１０】
本発明の質問応答装置によれば、実体Ａに未知の質問がなされた場合、実体Ａ以外の実体の＜質問，回答＞ペアから類似した質問を持つペアを検索し、見つかったペアの回答を用いて応答する。したがって、あらかじめ回答を用意していない質問にも、対話システムが適切に応答でき、対話システムの会話能力が高まる。その結果、対話システムと人間とのやりとりが円滑となり、人間の生活が改善されたり、システムが行うさまざまなタスクの遂行が容易になったりすることが期待できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の質問応答装置の機能構成例を示す図。
【図２】実施例１から実施例４の質問応答装置の処理フローを示す図。
【図３】各実施例の変形例の質問応答装置の処理フローを示す図。
【図４】質問分類の各タイプが持つラベルを示す図。
【図５】「織田信長」に関する記事のページ数と、「豊臣秀吉」に関する記事のページ数の関係を示す図。
【図６】４つの質問応答装置を用いた実験での、３人の被験者による平均スコアを示す図。
【図７】コサイン類似度の閾値を変動させた場合の各質問応答装置の内容妥当性の推移を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１３】
本発明の質問応答装置は、入力に対する応答に個性（例えば、人物の個性）がある複数の実体と、それぞれの実体に対する＜質問，応答＞ペアが一つ以上あるとする。そして、本発明は、ある個性を持った実体Ａ（対話システムなど）が未知の質問をされたときに、他の実体Ｂ（他の対話システムなど）の持つ＜入力，応答＞のペアを代用することで、Ａとして適切な応答をする。なお、本発明では＜入力，応答＞の代表として、＜質問，回答＞を対象とする。
【００１４】
図１に実施例１の質問応答装置の機能構成例を、図２に実施例１の質問応答装置の処理フローを示す。質問応答装置１００は、対話データベース１９０、入力部１１０、質問検索部１２０、回答選択部１３０、出力部１４０を備える。対話データベース１９０は、質問に対する回答に個性を有する複数の実体に対する質問と回答の組合せ＜質問，回答＞を、実体に紐付けて記録する。入力部１１０には、少なくとも質問と質問の対象となる実体を特定する情報が入力される（Ｓ１１０）。質問検索部１２０は、対話データベース１９０に質問の対象の実体（指定された実体）に対する同様の質問が記録されているかを確認する（Ｓ１２１）。同様の質問とは、適した回答が得られる質問を意味しており、例えば閾値以上の類似度の質問とすればよい。質問の対象の実体に対する質問が記録されている場合（ステップＳ１２１がＹｅｓの場合）、質問検索部１２０は入力された質問と同一の＜質問，回答＞を出力する（Ｓ１２２）。
【００１５】
対話データベース１９０に質問を受けた実体に対する質問が記録されていない場合（ステップＳ１２１がＮｏの場合）、質問検索部１２０は対話データベース１９０に記録された質問の対象の実体以外の実体に対する質問の中から最も類似度の高い質問を検索し、＜質問，回答＞を出力する（Ｓ１２３）。さらに具体的に説明すると、対話データベース１９０に蓄積された質問のうち入力部１１０から受け取った実体以外の実体に紐付けられた質問Ｑ’について、質問Ｑと質問Ｑ’の類似度を下記の式により算出する。類似度の計算には、それぞれの質問に含まれる単語のセットのコサイン類似度を用いる。
【００１６】
【数１】
0005436152.tif 000002
【００１７】
ただし、wordsは質問中の単語のセットを抜き出し、バイナリのベクトルとして返す関数である。質問検索部１２０は、sim(Q,Q´)の値が最も大きい質問を含むペア＜質問，回答＞を出力する。
【００１８】
回答選択部１３０は、質問検索部１２０が出力した＜質問，回答＞の回答を、質問に対する回答として選択する（Ｓ１３１）。出力部１４０は、選択された回答を出力する（Ｓ１４０）。
【００１９】
本発明の質問応答装置によれば、実体Ａに未知の質問がなされた場合、実体Ａ以外の実体の＜質問，回答＞ペアから類似した質問を持つペアを検索し、見つかったペアの回答を用いて応答する。したがって、あらかじめ回答を用意していない質問にも、対話システムが適切に応答でき、対話システムの会話能力が高まる。その結果、対話システムと人間とのやりとりが円滑となり、人間の生活が改善されたり、システムが行うさまざまなタスクの遂行が容易になったりすることが期待できる。
【００２０】
なお、類似した質問を検索し、その回答を用いて応答する手法の先例として、非特許文献１がある。しかし、本発明は質問の対象の実体以外の実体に紐付いた＜質問，回答＞の中から検索する点が異なり、質問の対象の実体の回答としてあらかじめ回答が用意されていない場合でも、応答できるという効果が得られる点も異なる。
【００２１】
［変形例］
実施例１では、＜質問，回答＞は１つの質問に１つの回答が対応していることが前提であった。本変形例では、１つの質問に対して複数の回答が対応している場合を説明する。例えば、実体がマリーアントワネットである場合の＜質問，回答＞のデータの例を下に示す。
【００２２】
―――――――――――――――――――――――――――――――――――――――
実体：マリーアントワネット
質問：ふりかえってみて貴女の一生はどうでしたか。
回答：（１）貴方たちが思うほど不幸でもなかったわ
（２）幸福でした。子供たちに感謝しているの
（３）とても楽しかったわ
質問：結婚相手を選べるとしたら誰と結婚したいですか
回答：（１）やっぱりフェルゼンかしら。あの方は私の命でした。夫には申し訳ないけど
（２）結婚相手は誰でもよかった、楽しく毎日が送れるならね
質問：マカロンってどうしてあんなに高いの
回答：（１）そんなこと知らないわよ！関係ないし
（２）おフランスですもの
（３）歯が良いうちに沢山頂きましょう  ころりん  ぽくぽく
（４）手間がかかっているのかしら
（５）作るのが面倒なのよ
―――――――――――――――――――――――――――――――――――――――
【００２３】
本変形例では、このように１つの質問に対して複数の回答が対応している場合があることを前提としている。
【００２４】
図１に本変形例の質問応答装置の機能構成例を、図３に本変形例の質問応答装置の処理フロー例を示す。質問応答装置１００’は、対話データベース１９０、入力部１１０、質問検索部１２０、回答選択部１３０’、出力部１４０を備える。質問応答装置１００’は、回答選択部１３０’以外は質問応答装置１００と同じである。また、ステップＳ１２２，Ｓ１２３までの処理は実施例１と同じである。
【００２５】
回答選択部１３０’は、ステップＳ１２２の後（ステップＳ１２１がＹｅｓの場合）は、回答が複数あるかを確認する（Ｓ１３２）。回答が１つしかない場合（ステップＳ１３２がＮｏの場合）、その回答を入力された質問に対する回答とする（Ｓ１３１）。回答が複数の場合（ステップＳ１３２がＹｅｓの場合）、それらの回答のいずれかを入力された質問に対する回答とする（Ｓ１３３）。この場合は、どの回答も質問の対象の実体の回答として記録されているものだから、最も関連度の高い回答を選ぶこととしても、ランダムにいずれかを選ぶこととしても問題ない。どの回答を選択するかは、適宜決めればよい。
【００２６】
回答選択部１３０’は、ステップＳ１２３の後（ステップＳ１２１がＮｏの場合）も、回答が複数あるかを確認する（Ｓ１３４）。回答が１つしかない場合（ステップＳ１３４がＮｏの場合）、その回答を入力された質問に対する回答とする（Ｓ１３１）。回答が複数の場合（ステップＳ１３４がＹｅｓの場合）、それらの回答の中で、その＜質問，回答＞が紐付いている実体との関連度が最も低い回答を、入力された質問に対する回答とする（Ｓ１３５）。この場合は、異なる実体の＜質問，回答＞から回答を選んでいるので、関連度が高い回答は異なる実体と関連が深い固有の単語が入ることが多い。したがって、不適切な回答となってしまう可能性が高いからである。
【００２７】
ここでは、ユーザが入力した質問Ｑと類似する質問Ｑ’が見つかったとして、質問Ｑ’に対する回答が複数ある場合があるとする。回答選択部１３０’は、具体的には、次のように実体と回答の関連度を決めればよい。
【００２８】
【数２】
0005436152.tif 000003
【００２９】
ここで、Ａ’は質問Ｑ’に対応付けられた個々の回答である。maxpmiは、人物名と回答に含まれる個々の単語との関連の強さをPointwise Mutual Information (PMI)という尺度で計算し、その最大値を返す関数であり、personは質問または回答に紐付けられた実体名（人物名）を返す関数である。式（２）で求められる関連度をあらかじめ計算しておき、＜質問，回答＞と一緒に対話データベースに記録しておいてもよい。また、ステップＳ１３５の処理を数式で表現すると、
【００３０】
【数３】
0005436152.tif 000004
【００３１】
となる。ここで、Ａは質問Ｑ’に対応付けられた複数の回答のセットであり、Ａ’はその要素である。なお、ＰＭＩは、人物名と回答中の機能語（助詞，助動詞，接尾，非自立）以外の単語(wi ∈ A')との間で、下記の式により計算する。
【００３２】
【数４】
0005436152.tif 000005
【００３３】
ここで、docsは特定のテキスト文書中における引数の人物名または単語を含む文書数である。Ｎはテキスト文書中の総文書数である。例えば、テキスト文書群としてウィキペディアデータを用いてもよい。
【００３４】
本変形例はこのような構成なので、実施例１と同様の効果が得られる。さらに、＜質問，回答＞に複数の回答が含まれている場合にも、適切な回答を選択できる。
【実施例２】
【００３５】
実施例２の質問応答装置は、質問検索部が類似度の高い質問を検索する際に、質問分類が同じもののみを検索対象とする。ここで、質問分類とは、質問がどういうことを聞いているかを分類するもので、４種類のラベルによって分類される。４種類のラベルとは、「発話タイプ」、「質問タイプ」、「心的態度タイプ」、「人物属性タイプ」である。各タイプは図４に示すラベルを持つ。そして、対話データベースに格納された全ての質問には、予め上記の質問分類が付与されているものとする。質問分類は人手で付与しても良いし、ある程度の分量のデータがあれば、機械学習などを利用して自動でラベル付けも行っても良い。
【００３６】
例えば、実体『男性発明家Ｔ』に対してなされた「今なら何をしたいですか？」という質問には、以下のようなラベルを付与することができる。
【００３７】
―――――――――――――――――――――――――――――――――――――――
実体：男性発明家Ｔ
質問：今なら何をしたいですか？
発話タイプ: 質問
質問タイプ: 物事
心的態度タイプ: 欲求
人物属性タイプ: 仕事，趣味
―――――――――――――――――――――――――――――――――――――――
【００３８】
そして、各質問に対し、発話タイプ、質問タイプとしては一つのラベルしか付与されない。心的態度タイプは、信念−認識，信念−分析，信念−予想，信念−評価のうちの一つ以上、または、知識，欲求，計画，その他のうちのどれかのラベルが付与される。人物属性タイプには一つ以上のラベルが付与される。なお、質問分類が同じ質問とは、発話タイプ，質問タイプ，心的態度タイプのラベルが完全に一致し、人物属性のラベルが一つでも一致している質問のことを指す。
【００３９】
実施例２の質問応答装置の機能構成例も図１に示す。また、実施例２の質問応答装置の処理フローを図２に示す。実施例２の質問応答装置２００は、対話データベース２９０、入力部２１０、質問検索部２２０、回答選択部１３０、出力部１４０を備える。回答選択部１３０と出力部１４０は実施例１の質問応答装置１００と同じである。対話データベース２９０は、質問に対する回答に個性を有する複数の実体に対する質問と回答の組合せ＜質問，回答＞と質問分類を、実体に紐付けて記録する。入力部２１０には、質問、質問分類、質問の対象となる実体を特定する情報が入力される（Ｓ２１０）。なお、質問分類は、機械学習などを利用して自動でラベル付けも行っても良い。質問検索部２２０は、対話データベース２９０に質問の対象の実体（指定された実体）に対する同様の質問が記録されているかを確認する（Ｓ１２１）。質問の対象の実体に対する質問が記録されている場合（ステップＳ１２１がＹｅｓの場合）、質問検索部２２０は入力された質問と同一の＜質問，回答＞を出力する（Ｓ１２２）。対話データベース２９０に質問を受けた実体に対する質問が記録されていない場合（ステップＳ１２１がＮｏの場合）、質問検索部２２０は対話データベース２９０に記録された質問の対象の実体以外の実体に対する質問であって、質問分類が一致する質問の中から最も類似度の高い質問を検索し、＜質問，回答＞を出力する（Ｓ２２３）。ステップＳ１３１とステップＳ１４０は、実施例１の質問応答装置１００と同じである。
【００４０】
実施例２の質問応答装置２００は、このような構成なので実施例１と同じ効果を得ることができ、さらに、質問分類が一致する質問の中から類似する質問を検索するので、より適切な回答が得られやすい。
【００４１】
［変形例］
実施例２では、＜質問，回答＞は１つの質問に１つの回答が対応していることが前提であった。本変形例では、実施例１変形例と同じように、１つの質問に対して複数の回答が対応している場合を説明する。
【００４２】
図１に本変形例の質問応答装置の機能構成例を、図３に本変形例の質問応答装置の処理フロー例を示す。本変形例の質問応答装置２００’は、対話データベース２９０、入力部２１０、質問検索部２２０、回答選択部１３０’、出力部１４０を備える。質問応答装置２００’は、回答選択部１３０’以外は質問応答装置２００と同じであり、ステップＳ１２２，Ｓ２２３までの処理は実施例２と同じである。また、質問応答装置２００’の回答選択部１３０’は、実施例１変形例の質問応答装置１００’と同じである。
【００４３】
したがって、回答選択部１３０’は、ステップＳ１２２の後（ステップＳ１２１がＹｅｓの場合）は、回答が複数あるかを確認する（Ｓ１３２）。回答が１つしかない場合（ステップＳ１３２がＮｏの場合）、その回答を入力された質問に対する回答とする（Ｓ１３１）。回答が複数の場合（ステップＳ１３２がＹｅｓの場合）、それらの回答のいずれかを入力された質問に対する回答とする（Ｓ１３３）。
【００４４】
回答選択部１３０’は、ステップＳ２２３の後（ステップＳ１２１がＮｏの場合）も、回答が複数あるかを確認する（Ｓ１３４）。回答が１つしかない場合（ステップＳ１３４がＮｏの場合）、その回答を入力された質問に対する回答とする（Ｓ１３１）。回答が複数の場合（ステップＳ１３４がＹｅｓの場合）、それらの回答の中で、その＜質問，回答＞が紐付いている実体との関連度が最も低い回答を、入力された質問に対する回答とする（Ｓ１３５）。
【００４５】
本変形例はこのような構成なので、実施例２と同様の効果が得られる。さらに、＜質問，回答＞に複数の回答が含まれている場合にも、適切な回答を選択できる。
【実施例３】
【００４６】
実施例１では、単語類似度だけを用いて類似度の高い質問を検索した。実施例３では、質問を検索する際に実体同士の類似度も利用する。例えば、織田信長に対する質問と類似した質問を探す際には、俳優やタレントへの質問からではなく、明智光秀や石田光成といった武将に対する質問を重視して検索するということである。
【００４７】
図１に実施例３の質問応答装置の機能構成例を、図２に実施例３の質問応答装置の処理フローを示す。実施例３の質問応答装置３００は、対話データベース１９０、入力部１１０、質問検索部３２０、回答選択部１３０、出力部１４０を備える。質問応答装置３００は、質問検索部３２０が実施例１の質問応答装置１００と異なる。その他の構成は質問応答装置１００と同じである。また、処理フローでは、ステップＳ３２３が実施例１のステップＳ１２３と異なり、その他のステップは質問応答装置１００と同じである。
【００４８】
対話データベース１９０に質問を受けた実体に対する質問が記録されていない場合（ステップＳ１２１がＮｏの場合）、質問検索部３２０は、実体同士の類似度を考慮しながら、対話データベース１９０に記録された質問の対象の実体以外の実体に対する質問の中から最も類似度の高い質問を検索し、＜質問，回答＞を出力する（Ｓ３２３）。
【００４９】
さらに具体的に説明すると、対話データベース１９０に蓄積された質問のうち入力部１１０から受け取った実体以外の実体に紐付けられた質問Ｑ’について、質問Ｑと質問Ｑ’の類似度を下記の式により算出する。
【００５０】
【数５】
0005436152.tif 000006
【００５１】
ここで、distは実体間の距離を返す関数で、テキストデータ（例えば、ウィキペディアデータ）における人物名の共起から計算される。distは、質問Ｑに紐付けられた実体と質問Ｑ’に紐付けられた実体が近ければ近いほど小さくなる。具体的には、distは、共起性の高さをフィッシャー直接検定（フィッシャーの正確確率検定、ＦＥＴ：Fisher’s Exact Test）によって検定し、検定結果であるｐ値（非類似度に相当）を元に計算している。ＦＥＴについては、Agresti A, “A Survey of Exact Inference for Contingency Tables”, Statistical Science,7,131-153, 1992. に記載されている。また、人名間の類似度は、参考文献に示されている方法を用い、FETのｐ値から人物名をノードとする２次元上のグラフとして表現し、このグラフ上の人物名に対応するノード間の距離によって求める。distはこのグラフ上の実体間（人名間）のユークリッド距離の１０を底とした対数を返す。
【００５２】
［参考文献］Tatsushi Matsubayashi and Takeshi Yamada, “A force-directed graph drawing based on the hierarchical individual timestep method”, International Journal of Electronics, Circuits and Systems, 1(2):116-121, 2007. 
【００５３】
例えば、質問の対象の実体が「織田信長」で、検索の対象となっている質問の実体が「豊臣秀吉」の場合を考える。「織田信長」に関する記事のページ数Ｅと、「豊臣秀吉」に関する記事のページ数Ｇと、対象とする人物事典のページ数Ｎとが、図５に示すように求められた場合には、ＦＥＴのｐ値は式（６）で示される。
【００５４】
【数６】
0005436152.tif 000007
【００５５】
なお、類似度の算出は、ＦＥＴに限定されるものではなく、統計量の検定に用いられるカイ二乗値（χ2）、カイ二乗値を０〜１の範囲に正規化した値であるφ2などを用いることができる。そして、算出されたｐ値が所定の閾値以下の場合に、人物名に対応するノード（上記の例では織田信長に対応するノードと豊臣秀吉に対応するノード）をリンクで繋げて、共起ネットワークを作成する。その後、ノード間の引力・斥力を考慮してエネルギーを最小にするようなノード配置を求める（詳細は参考文献を参照）。
【００５６】
実施例３の質問応答装置３００は、このような構成なので実施例１と同じ効果を得ることができ、さらに、質問の類似度を求める際に実体同士の類似度も考慮するので、より適切な回答が得られやすい。
【００５７】
［変形例］
実施例３では、＜質問，回答＞は１つの質問に１つの回答が対応していることが前提であった。本変形例では、実施例１変形例や実施例２変形例と同じように、１つの質問に対して複数の回答が対応している場合を説明する。
【００５８】
図１に本変形例の質問応答装置の機能構成例を、図３に本変形例の質問応答装置の処理フロー例を示す。本変形例の質問応答装置３００’は、対話データベース１９０、入力部１１０、質問検索部３２０、回答選択部１３０’、出力部１４０を備える。質問応答装置３００’は、回答選択部１３０’以外は質問応答装置３００と同じであり、ステップＳ１２２，Ｓ３２３までの処理は実施例３と同じである。また、質問応答装置３００’の回答選択部１３０’は、実施例１変形例の質問応答装置１００’と同じである。
【００５９】
したがって、回答選択部１３０’は、ステップＳ１２２の後（ステップＳ１２１がＹｅｓの場合）は、回答が複数あるかを確認する（Ｓ１３２）。回答が１つしかない場合（ステップＳ１３２がＮｏの場合）、その回答を入力された質問に対する回答とする（Ｓ１３１）。回答が複数の場合（ステップＳ１３２がＹｅｓの場合）、それらの回答のいずれかを入力された質問に対する回答とする（Ｓ１３３）。
【００６０】
回答選択部１３０’は、ステップＳ３２３の後（ステップＳ１２１がＮｏの場合）も、回答が複数あるかを確認する（Ｓ１３４）。回答が１つしかない場合（ステップＳ１３４がＮｏの場合）、その回答を入力された質問に対する回答とする（Ｓ１３１）。回答が複数の場合（ステップＳ１３４がＹｅｓの場合）、それらの回答の中で、その＜質問，回答＞が紐付いている実体との関連度が最も低い回答を、入力された質問に対する回答とする（Ｓ１３５）。
【００６１】
本変形例はこのような構成なので、実施例３と同様の効果が得られる。さらに、＜質問，回答＞に複数の回答が含まれている場合にも、適切な回答を選択できる。
【実施例４】
【００６２】
実施例４は、実施例２と実施例３とを組み合わせた例である。実施例４の質問応答装置の機能構成例も図１に示す。また、実施例４の質問応答装置の処理フローを図２に示す。実施例４の質問応答装置４００は、対話データベース２９０、入力部２１０、質問検索部４２０、回答選択部１３０、出力部１４０を備える。対話データベース２９０、入力部２１０、回答選択部１３０、出力部１４０は実施例２の質問応答装置２００と同じである。
【００６３】
質問検索部４２０は、対話データベースに記録された質問の対象の実体以外の実体に対する質問であって、質問分類が一致する質問の中から、実体同士の類似度を考慮しながら最も類似度の高い質問を検索し、＜質問，回答＞を出力する（Ｓ４２３）。具体的には、対話データベースに記録された質問の対象の実体以外の実体に対する質問であって、質問分類が一致する質問の中から、式（５）にしたがって最も類似度の高い質問を検索する。
【００６４】
実施例４の質問応答装置４００は、このような構成なので実施例２と同じ効果を得ることができ、さらに、質問の類似度を求める際に実体同士の類似度も考慮するので、より適切な回答が得られやすい。
【００６５】
［変形例］
実施例４では、＜質問，回答＞は１つの質問に１つの回答が対応していることが前提であった。本変形例では、実施例１変形例、実施例２変形例、実施例３変形例と同じように、１つの質問に対して複数の回答が対応している場合を説明する。
【００６６】
図１に本変形例の質問応答装置の機能構成例を、図３に本変形例の質問応答装置の処理フロー例を示す。本変形例の質問応答装置４００’は、対話データベース２９０、入力部２１０、質問検索部４２０、回答選択部１３０’、出力部１４０を備える。質問応答装置４００’は、回答選択部１３０’以外は質問応答装置４００と同じであり、ステップＳ１２２，Ｓ４２３までの処理は実施例４と同じである。また、質問応答装置４００’の回答選択部１３０’は、実施例１変形例の質問応答装置１００’と同じである。
【００６７】
したがって、回答選択部１３０’は、ステップＳ１２２の後（ステップＳ１２１がＹｅｓの場合）は、回答が複数あるかを確認する（Ｓ１３２）。回答が１つしかない場合（ステップＳ１３２がＮｏの場合）、その回答を入力された質問に対する回答とする（Ｓ１３１）。回答が複数の場合（ステップＳ１３２がＹｅｓの場合）、それらの回答のいずれかを入力された質問に対する回答とする（Ｓ１３３）。
【００６８】
回答選択部１３０’は、ステップＳ４２３の後（ステップＳ１２１がＮｏの場合）も、回答が複数あるかを確認する（Ｓ１３４）。回答が１つしかない場合（ステップＳ１３４がＮｏの場合）、その回答を入力された質問に対する回答とする（Ｓ１３１）。回答が複数の場合（ステップＳ１３４がＹｅｓの場合）、それらの回答の中で、その＜質問，回答＞が紐付いている実体との関連度が最も低い回答を、入力された質問に対する回答とする（Ｓ１３５）。
【００６９】
本変形例はこのような構成なので、実施例４と同様の効果が得られる。さらに、＜質問，回答＞に複数の回答が含まれている場合にも、適切な回答を選択できる。
【００７０】
［実験例］
上記の実施例に記載した質問応答装置の性能を検証するため、被験者による評価実験を行った。実験で用いた質問応答装置は、各実施例の変形例の質問応答装置１００’，２００’，３００’，４００’である。実験では、まず著名人やアニメキャラクターなどについて、ユーザが自由に質問を入力したり、ユーザがこれらの人物になりきって自由に質問に対する回答を入力したりできるＷｅｂサイトを構築し、各人物に紐付けられた＜質問，回答＞のデータを収集した。５０ユーザによる３週間のデータ収集の結果、３９７の実体（人物）について合計２５０２の質問と３８３８の回答を収集し、収集された全データを対話ＤＢに蓄積されるデータとして利用した。
【００７１】
得られた全質問のうち、実際に実験において回答がユーザによってなされ、かつ、上記の質問応答装置のすべてが何らかの応答を返すことができた９６７の質問に対して、各質問応答装置の出力した回答を３人の被験者が評価した。具体的には、被験者は質問とその質問がなされた実体（人物）を提示され、４つの質問応答装置が出力した回答のそれぞれについて、内容妥当性（内容がその人らしいかどうか）、および、表現妥当性（表現がその人らしいかどうか）という観点から、１から７の７段階で評価した。また、４つの質問応答装置に加え、対象の質問に対し実際の実験においてユーザが行った回答（オリジナル回答）のうち一つについても評価してもらった。オリジナル回答が複数ある場合、対象の人物名と最もPMIの高い単語を含む回答を選んだ。
【００７２】
下記は１００’，２００’，３００’，４００’の出力例である．
【００７３】
―――――――――――――――――――――――――――――――――――――――
質問対象：米国大統領Ａ      質問：影武者はいますか？
1  それは答えられないな。 (オリジナル回答)
2  危なくなったときに、かくまってくれそうな人なら何人か。（２００’)
(※「女性芸能人Ｂ」に対する「仲のいい友達はいますか？」という質問への回答を利用。)
3  えー作るヒマないですよぉー (１００’)
(※「女性スポーツ選手Ｃ」への「彼氏はいますか？」という質問への回答を利用。)
4  決してゆだんできぬヤツだな！ (３００’)
(※「英国首相Ｄ」への「米国大統領Ｅをどう思いますか？」という質問への回答を利用。)
5  敵が多すぎて特定は出来無い。 (４００’)  
(※「米国大統領Ｆ」に対する「あなたを撃った人間に心当たりはありますか…？」という質問への回答を利用。)
―――――――――――――――――――――――――――――――――――――――
質問対象：男性プロスポーツ選手Ｇ 質問：10年後は何をしていたいですか。
【００７４】
1  子どもたちにサッカーを教える立場に立ちたいね。 (オリジナル回答)
2  ショッピングです。 (１００’)  
(※「女性スポーツ選手Ｃ」への「オフは何をしていますか」という質問への回答を利用。)
3  もちろん大統領です。 (２００’)
(※ 「男性政治家Ｈ」への「州知事を辞めたら次は何をしたいですか。」という回答を利用。)
4  スポンサー契約。 (３００’)
(※「男性プロスポーツ選手Ｉ」への「持っている時計はかなり派手ですが、何をポイントに選んでいますか」への回答を利用。)
5  この地球を戦乱のないひとつの国にまとめることさ。 (４００’) 
(※「男性政治家Ｊ」への「いまの時代に生きることができたら何をしたいですか。」という質問への回答を利用。)
―――――――――――――――――――――――――――――――――――――――
【００７５】
図６に３人の被験者による平均スコアを示す。オリジナル回答のスコアの高さから、実験に参加したユーザの回答が適切なものであったことが分かる。４つの質問応答装置についてはまだまだ改善の余地があることが分かるが、統計的検定（Steel-Dwass の多重検定）を行った結果、質問分類による制約を用いると内容妥当性が有意に改善し(実施例２変形例のｐ値は、p<0.005)、人物間類似度を導入すると表現妥当性が有意に改善することが分かった(実施例３変形例のｐ値は、p<0.02)。ここで、オラクルとは、各質問について４つの質問応答装置から一番いい回答を選択できたとした場合のスコアを指す。オラクルのスコアは４に近い。このことから、質問によって高精度に手法を選択できれば、比較的適切な回答が自動的に行えることが分かる。
【００７６】
図７は、コサイン類似度の閾値(Cosine Similarity Threshold)を変動させた場合の内容妥当性(Averaged Content Score)の推移を示すグラフである。質問を検索する際にほとんど単語が重複していない質問を用いても見当違いの回答をしてしまう恐れがある。そのため、質問類似度の閾値を設定し、ある一定以上の類似度を持つ質問からしか検索しないようにした場合に内容妥当性のスコアがどう変化するかを調べたものである。このグラフから、閾値を上げていくと回答可能な質問数が減少する（例えば、閾値が０．６の場合、質問分類制約＋人物類似度は９６７の質問の内１０５のみにしか回答が出力できない）。しかし、閾値を０．６程度に設定することで４に近いスコアを実現できることが分かり、４つの質問応答装置と閾値の変動を組み合わせることで、自動応答を比較的高精度に行うことが可能であることが分かった。
【００７７】
［プログラムなど］
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００７８】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００７９】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００８０】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００８１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００８２】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００８３】
本発明は、入力に対し自動で応答する対話型のシステムに利用できる。
【符号の説明】
【００８４】
１００、１００’、２００、２００’、３００、３００’、４００、４００’  質問応答装置
１１０、２１０  入力部
１２０、２２０、３２０、４２０  質問検索部
１３０、１３０’  回答選択部
１４０  出力部
１９０、２９０  対話データベース
【図１】
0005436152.tif 000008
【図２】
0005436152.tif 000009
【図３】
0005436152.tif 000010
【図４】
0005436152.tif 000011
【図５】
0005436152.tif 000012
【図６】
0005436152.tif 000013
【図７】
0005436152.tif 000014