(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
実施の形態1.
以下、図面を参照して本発明の実施の形態について説明する。
図1は音声認識を用いた質問応答システムのブロック図である。質問応答システム10は、音声入力部11と、音声認識部12と、音響モデル13と、言語モデル14と、質問タイプ同定部15と、焦点解析部16と、回答文生成部17と、文例データベース18と、知識データベース19と、音声合成部20を備える。
【0013】
音声入力部11は、マイク等により音声入力を行う質問入力手段である。例えば、音声入力部11には「風邪にはりんごがいいの?」が入力される。利用者により音声入力部11に入力された音声は、アナログ信号又はデジタル信号として、音声認識部12に伝送される。
【0014】
音声認識部12は、音声入力部11により入力された音声信号の認識を行う構造解析手段である。音声認識部12は、音響モデル13と言語モデル14を参照し、入力された音声信号の構造解析を行うことで質問を認識する。すなわち音声認識部12は、音声入力部11に音声が入力された場合には、入力された質問をテキスト化する。
【0015】
音響モデル13は、単語の音響特徴についての統計モデルを格納する記憶部である。例えば音響モデル13は、音韻を単位として、前後につながる音韻の種類およびその発生確率を記憶する。これにより音声認識部12は、例えば次に入力される音声を予測して、音声認識を行うことができる。
【0016】
言語モデル14は、言語の語順の統計モデルや規則を格納する記憶部である。音声認識部12は、言語モデル14に格納されたデータを用いることにより、次に入力される単語を予測することができる。これにより音声認識部12は、認識対象となる語彙を絞り込んで音声認識を行う。
【0017】
質問タイプ同定部15は、入力された質問を、あらかじめ定めた数種類の質問タイプに分類する質問判定手段である。
図2に、質問タイプ同定部15による質問タイプの分類例を示す。質問タイプ同定部15はこの分類例に基づき、音声認識部12においてテキスト化された質問中に、「何」という言葉が使用されていれば質問タイプはWhatであると分類し、「どうして」という言葉が使用されていれば質問タイプはWhyであると分類し、「どうやって」という言葉が使用されていれば質問タイプはHowであると分類し、「いくら」という言葉が使用されていれば質問タイプはHowmuchであると分類し、「いつ」という言葉が使用されていれば質問タイプはWhenであると分類し、いずれのキーワードも使用されていなければ質問タイプはYes/No質問であると分類する。
なお、質問タイプの分類例は文例データベース18に記憶されている。
【0018】
焦点解析部16は、質問タイプ同定部15により入力された質問のタイプがYes/No質問であると分類された場合に焦点解析を行い、焦点の位置を決定する焦点決定手段である。より具体的には、焦点解析部16は入力された質問について、入力された質問の最終文節の役割と、最終文節に直接係る文節の機能語(助詞と助動詞)のパターンに基づき、焦点となる文節の位置と、深層質問タイプ(利用者が本当に知りたいのは5W1Hのどの質問か、以下WH質問)を推定する。
例えば焦点解析部16に入力された「風邪にはりんごがいいの?」が解析され、「りんごが」が焦点として抽出される。焦点解析部16による焦点解析の方法については、後に詳述する。
【0019】
回答文生成部17は、入力された質問に対する適切な回答を生成する回答文生成手段である。具体的には回答文生成部17は、入力された質問がYes/No質問であれば、質問をWH質問に変換する。次に回答文生成部17は、変換したWH質問を、あらかじめ知識データベース19に記憶されている複数の文と比較し、最も類似している平叙文を抽出する。
また回答文生成部17は、入力された質問がYes/No質問でなく、5W1Hを問う質問であれば、入力された質問を知識データベース19に記憶されている複数の文と比較し、最も類似している平叙文を抽出する。回答文生成部17による回答文の生成方法については、後に詳述する。
【0020】
文例データベース18は、質問タイプの同定や焦点解析に用いるデータを記憶するデータベースある。文例データベース18は、
図2に示した質問タイプの分類と文末例を記憶する。また文例データベース18は、解析済み文を記憶する。ここで文例データベース18が記憶する解析済み文は、典型的には数百文である。
なお、文例データベース18で記憶するものは、上記のものに限られない。
【0021】
知識データベース19は、回答文生成部17からの入力に基づき、文を抽出可能なデータベースである。例えば知識データベース19には、百科事典やWEB上の文章が記録されている。なお知識データベース19は、質問応答システム10の外部に備えられ、WEB全体から文を抽出するものとしてもよい。
【0022】
音声合成部20は、生成した回答文を読み上げる音声合成部である。例えば音声合成部20はスピーカーを備えており、回答文生成部17が生成した回答文を、音声によって利用者に伝える。例えば音声合成部20は、「風邪にはみかんがいいそうです」と発話する。
【0023】
次に、文の焦点位置を推定する方法について説明する。
図3は、焦点を推定するためのフローチャートである。ここで焦点とは、文の中でWH質問に置き換え可能であり、質問の答えがNoの場合に、回答となる文節である。
【0024】
利用者は、音声入力部11に質問文を入力する(ステップS1)。ここで利用者は、質問文として「インドネシアの考古学では遺跡を発見した方にクレジットや評価がいくんですか。」を入力したものとする。以下、入力された質問を分析対象質問文とする。また、分析対象質問文はs
tとする。
【0025】
音声認識部12において、音声入力部11に分析対象質問文の音声認識を行う(ステップS2)。ここで音声認識部12は、音響モデル13及び言語モデル14を参照して音声認識を行う。これにより音声入力部11に分析対象質問文は、テキスト形式に変換され、質問タイプ同定部15に出力される。
【0026】
質問タイプ同定部15は、分析対象質問文のタイプを決定する(ステップS3)。質問タイプ同定部15による質問タイプの決定は、
図2に示したように、文例データベース18に記憶された質問タイプの分類とキーワードに基づいて行う。
【0027】
次に質問タイプ同定部15は、質問がYes/No質問であるか否かを判定する(ステップS4)。質問がYes/No質問でない場合には(ステップS4でNo)、他のタイプの質問の応答処理に移行する(ステップS5)。
【0028】
分析対象質問文がYes/No質問である場合には(ステップS4でYes)、質問タイプ同定部15は、分析対象質問文を焦点解析部16に出力する。焦点解析部16は、分析対象質問文の最終文節の役割を決定する(ステップS6)。
図4に、質問文の最終文節の役割と文末例の対応表を示す。最終文節は、動詞、存在、可能、名詞+助動詞、形容詞、その他の6種類に分類されており、それぞれの分類には複数の文末例が登録されている。なお、判定不能の文末の場合はその他に分類される。
典型的には、最終文節の役割と文末例の対応表は、あらかじめ文例データベース18に記憶されている。
図5は、機能語のパターンを利用した焦点解析方法を示す図である。「インドネシアの考古学では遺跡を発見した方にクレジットや評価がいくんですか。」という質問が入力されると、焦点解析部16は「いくんですか」の役割を決定する。
【0029】
次に焦点解析部16は、文例データベース18に記憶されている解析済み文を読み込む(ステップS7)。解析済み文の集合は{s
a(i)}とする。ここで
図5に示すように、解析済み文として「それじゃ掘った人にクレジットや評価がいくのでしょうか。」が読み込まれたものとする。
【0030】
焦点解析部16は、読み込まれた解析済み文の最終文節の役割が、分析対象質問文の最終文節の役割と一致しているか否かを判定する(ステップS8)。
例えば
図5に示すように、焦点解析部16は、解析済み文の「それじゃ掘った人にクレジットや評価がいくのでしょうか。」の「いくのでしょうか」が、前述の「いくんですか」の役割と一致するか否かを判定する。ここで、「いくのでしょうか」と「いくんですか」の役割は一致したものとする。
分析対象質問文の最終文節と、解析済み文の最終文節の役割が一致していない場合には、ステップS12に進む(ステップS8でNo)。
【0031】
分析対象質問文の最終文節と、解析済み文の最終文節の役割が一致している場合には(ステップS8でYes)、焦点解析部16は、入力文書の最終文節に直接係る文節のうち、最終文節に最も近く、かつ、機能語のパターンを比較していない文節について、機能語のパターンを抽出する(ステップS9)。
入力文書の最終文節に直接係る文節とは、
図5における、「考古学では」「方に」「評価が」が相当する。機能語とは助詞と助動詞であるので、「では」「に」「が」が相当する。ここで機能語の比較は、構文木の根から上に向かって行うため、「が」、「に」、「では」の順番になる。
【0032】
次に焦点解析部16は、ステップS9で抽出した入力文書の機能語のパターンと、解析済み文の機能語のパターンが一致するかを比較する(ステップS10)。パターンが一致していれば(ステップS10でYes)、焦点解析部は一致した文節数のカウントをインクリメントして記録し(ステップS11)、一段上の文節についてステップ9の動作に戻る。
図5において焦点解析部16は、分析対象質問文の「評価が」の「が」と、解析済み文の「評価が」の「が」を比較する。比較の結果、パターンが一致しているので、焦点解析部16は、一致した文節数のカウントをインクリメントする。その後、焦点解析部16はステップS9〜ステップS11のループにより、分析対象質問文の「方に」の「に」と解析済み文の「人に」の「に」の比較を行う。さらに焦点解析部16は、分析対象質問文の「考古学では」の「では」と、解析済み文の「それじゃ」の「じゃ」の比較を行う。したがって焦点解析部16では、一致した文節数の2がカウントされ、その後「では」と「じゃ」の機能語パターンの比較結果が不一致となる。
機能語パターンが不一致となった場合には(ステップS10でNo)、ステップS12に進む。
【0033】
次に焦点解析部16は、まだ解析済み文があるか否かを判定する。焦点解析部16は、解析済み文が他にあれば(ステップS12でYes)、ステップS7に戻る。
解析済み文が他に無ければ(ステップS12でNo)、ステップS13に進む。このとき典型的には、1つの分析対象質問文に対し、複数の解析済み文が比較された状態である。したがって、焦点解析部16にはそれぞれの解析済み文について、ステップS11で行われた文節数のカウントが記録されている。機能語のパターンの一致率をN
f(s
t,s
a(i))とする。
【0034】
焦点解析部16は、複数の解析済み文のうち、ステップS11でカウントされた文節数が最大である解析済み文を収集する(ステップS13)。ここで解析済み文には、それぞれ焦点の位置があらかじめ設定されている。
焦点解析部16は、複数の解析済み文の焦点の位置の多数決により、分析対象質問文の焦点の位置を推定する(ステップS14)。例えば、解析済み文「それじゃ掘った人にクレジットや評価がいくのでしょうか。」が、焦点の位置の推定に用いられる場合であって、あらかじめ焦点の位置が「人に」であると設定されている場合には、分析対象質問文の「方に」の箇所に焦点があるものとして投票される。
【0035】
焦点解析部16は、ステップS14で推定された焦点の位置を、分析対象質問文の焦点の位置として出力する(ステップS15)。
【0036】
以上の方法により、分析対象質問文と解析済み文を比較する際に、最終文節とこれに係る文節の機能語の一致率に着目して、分析対象質問文の焦点の位置を決定することができる。
【0037】
次に、回答文生成部17が回答文を生成する方法について説明する。
図6は、回答文を生成する処理のフローチャートである。なお、分析対象質問文は、Yes/No質問の形式であるものとする。
【0038】
回答文生成部17は、焦点位置および深層質問タイプが解析済みの分析対象質問文を、焦点解析部16から入力する。
回答文生成部17は、入力された分析対象質問文をYes/No質問の形式から、深層質問タイプに応じたWH質問に変換する(ステップS21)。次に、回答文生成部17は、WH質問に変換された分析対象質問文を、自立語(疑問詞、名詞、形容詞、形容動詞、動詞)の列に変換する(ステップS22)。
【0039】
回答文生成部17は、知識データベース19に記憶されている文より、分析対象質問文と最も近い平叙文を検索して選択する。具体的には、回答文生成部17は、知識データベース19に記憶されている文と、分析対象質問文を、順序を考えずにそれぞれ自立語の集合として比較する。
この比較により一致する自立語の数を、文の自立語の数で除算することで正規化したものを類似度とする。回答文生成部17は、分析対象質問文を複数の文と比較し、もっとも類似度が高い文を選択する(ステップS23)。
【0040】
次に、ステップS23で選択された平叙文を、回答文とする(ステップS24)。ここで音声合成部20は、焦点に当たる語が見つけられた回答と一致しない場合は、「いいえ」と前につけて発話し、一致すれば「はい」と前につけて発話する。
【0041】
次に、文例データベース18における解析済み文の生成法について述べる。
【0042】
図7は、解析済み文の学習のフローチャートである。
質問応答システム10は、人間同士の会話から質問文を抽出し、Yes/No質問を収集する(ステップS31)。次に質問応答システム10は、収集した質問文から、順番に一つの質問文を選択する(ステップS32)。
【0043】
質問応答システム10は形態素解析を行う。すなわち質問応答システム10は、入力文の単語列を認識し、個々の単語に品詞情報を付与する(ステップS33)。次に質問応答システム10は係り受け解析を行う(ステップS34)。ここで係り受け解析とは、各文節間の係り受け構造を構築する処理である。
質問応答システム10が自動で形態素解析と係り受け解析を実施した後、解析誤りがあれば、手動で修正を行う。
【0044】
次に、人手により、焦点の箇所と深層質問タイプを決定する(ステップS35)。入力された各文から前提となる情報を除き、残った箇所のうち、疑問符に置き換えても不自然でないものを焦点とする。さらに、この焦点がどのような疑問詞に置き換えられるかによって、深層質問タイプを決定する。
文例データベース18は、決定された焦点の箇所と深層質問タイプを登録する。
【0045】
質問応答システム10は、全ての文について解析が終了したか否かを確認する(ステップS36)。全ての文について解析が終了していれば、学習を終了する(ステップS36でYes)。全ての文について解析が終了していなければステップS32に戻る。
【0046】
以上の方法により、文例データベース18に解析済み文を追加することができる。
【0047】
これにより質問応答システム10は、入力された質問と文例データベース18に記憶された解析済み文の比較において、最終文節と最終文節に係る文節の機能語の一致率に着目して利用者の深層質問タイプと焦点を判定することができる。したがって質問応答システム10は、利用者の質問に対して適切に回答することができる。
また質問応答システム10は、文例データベース18に解析済み文の学習データを蓄積することができ、これにより質問応答の精度を高めることができる。
【0048】
実施の形態2.
実施の形態1では、分析対象質問文と解析済み文を比較する際に、最終文節と、最終文節にかかる文節の機能語の一致率について注目した。実施の形態2では、各文節の内容的な類似度に注目する。
以下に、焦点解析部16における焦点解析の具体的な手法を述べる。
図8は、実施の形態2にかかる焦点解析のフローチャートである。なお、
図3の焦点解析のフローチャートと同様の処理を行う箇所については、同一のステップ番号を付し、説明を省略する。
【0049】
利用者が音声入力部11に質問文を入力する(ステップS1)。音声認識部12は、音声認識を行う(ステップS2)。質問タイプ同定部15は、分析対象質問文の質問タイプを決定する(ステップS3)。質問タイプ同定部15において、質問がYes/No質問であるか否かを判定する(ステップS4)。質問がYes/No質問でない場合には(ステップS4でNo)、他のタイプの質問の応答処理に移行する(ステップS5)。
【0050】
ステップS4において、入力文書がYes/No質問である場合には、焦点解析部16解析済み文を読み込む(ステップS46)。
【0051】
焦点解析部16は、最終文節間の類似度を計算する(ステップS47)。ここで最終文節間の類似度は以下の方法により求める。
分析対象質問をs
t、解析済み文の集合を{s
a(i)}とする。焦点解析部16はs
tの最終文節と、これに直接係る最終文節から文節番号を付与する。ここで、文節番号jの文節をp
t(j)とする。s
a(i)の最終文節と、これに直接係る最終文節から文節番号を付与し、文節番号jの文節をp
a(i,j)とする。
次にp
t(j)の形態素数をN
uni-gram(p
t(j))とする。また、p
t(j)とp
a(i,j)の形態素一致数をN
uni-gram(p
t(j),p
a(i,j))とする。
p
t(j)とp
a(i,j)の形態素一致率Sim(p
t(j),p
a(i,j))は以下の式で求められる。
【数1】
これを文節間類似度とする。
【0052】
図9は、類似度を利用した焦点解析方法の図である。ステップS47により、
図9における焦点解析部16は入力文の「いくんですか」と、解析済み文の「いくのでしょうか」の文節間類似度(形態素一致率)の計算が行われる。ここで、文節間類似度は0.7であったものとする。
【0053】
次に焦点解析部16は、文節間類似度(形態素一致率)が0か否かを判断する(ステップS48)。最終文節間の文節間類似度が0ならば(ステップS48でYes)、ステップS53に進む。
【0054】
文節間類似度が0でなければ(ステップS48でNo)、焦点解析部16は、それぞれの質問文の最終文節に直接係る文節のうち、最終文節に最も近く、かつ、文節間類似度をまだ計算していない文節同士の文節間類似度を計算する(ステップS49)。
ここで入力文書の最終文節に直接係る文節とは、
図9において、「考古学では」「方に」「評価が」が相当する。比較は構文木の根から上に向かう順序で行い、「が」、「に」、「では」の順序となる。ここでは、入力文の「評価が」と解析済み文の「評価が」が比較される。
【0055】
焦点解析部16は、文節間類似度が0か、最終文節に直接係る文節がまだあるかを確認する(ステップS50)。文節間類似度が0でなく最終文節に直接係る文節があれば(ステップS50でNo)、焦点解析部16は、全体文節数のカウントをインクリメントし(ステップS51)、一段上の文節についてステップS49の動作を行う。
図9において、入力文の「いくんですか」と解析済み文の「いくのでしょうか」は類似度が0でなく文節が終了していないので、焦点解析部16ではカウントをインクリメントし、ステップS49に戻る。その後ステップS49〜ステップS51のループにより、焦点解析部16において、入力文の「評価が」と解析済み文の「評価が」および、入力文の「方に」と解析済み文の「人に」の類似度の計算と、カウントのインクリメントが行われる。さらに焦点解析部16では、入力文の「考古学界では」と解析済み文の「それじゃ」の類似度を計算する。ここで、類似度はそれぞれ1、0.5、0であるものとする。
【0056】
焦点解析部16は、文節間類似度が0か、または最終文節に係る文節が無ければ(ステップS50でYes)、各文節間類似度の積を計算して文間類似度を計算する(ステップS52)。したがって焦点解析部16は、入力文の「考古学界では」と解析済み文の「それじゃ」の類似度の計算後、文間類似度の計算を行う。
【0057】
文間類似度は以下の方法により求める。
焦点解析部16は、s
tとs
a(i)の最終文節とこれに直接係る文節の文節間について、それぞれ最終文節から順に形態素一致率Sim(p
t(j),p
a(i,j))を計算し、0でなかった文節数N
b(s
t,s
a(i))と、そこまでの形態素一致率の積Sim(s
t,s
a(i))を求める。
すなわち
【数2】
である。これを文間類似度とする。
次にステップS53に進む。
【0058】
焦点解析部16は、まだ解析済み文があるか否かを確認する(ステップS53)。まだ解析済みの文があればステップS47に戻る(ステップS53でYes)。
【0059】
解析済みの文が無ければ(ステップS53でNo)、焦点解析部16は、文節数が最大、文間類似度が最大の文を収集する(ステップS54)。すなわち焦点解析部16は、N
b(s
t,s
a(i))が最大となる解析済み文の中から、Sim(p
t(j),p
a(i,j))が最大の解析済み文を収集する。
【0060】
焦点解析部16は、収集した解析済み文にあらかじめ設定された焦点の位置から、多数決で焦点位置を推定する。例えば
図9において、解析済み文では「に」の位置が焦点に設定されているため、対応する入力文の「方に」の文節を、焦点であるとして投票する(ステップS55)。
その後、焦点解析部16は、焦点位置の投票結果に基づいて焦点位置を決定して出力する(ステップS56)。
【0061】
これにより焦点解析部16は、各文節の内容的な類似度を用いて、入力された質問の焦点を決定することができる。したがって質問応答システム10は、文節の類似度に基づいて決定された焦点に基づいて、利用者への応答を行うことができる。
【0062】
実施の形態3.
実施の形態3では、実施の形態1で述べた最終文末および最終文末に係る文節の機能語の一致率に注目した焦点解析の方法と、実施の形態2で述べた各文節の内容的な類似度に注目した焦点解析の方法を、組み合わせた方法によって焦点解析を行う方法について述べる。
【0063】
まず、分析対象質問文をs
t、解析済み文の集合を{s
a(i)}とする。
焦点解析部16は、s
tの最終文節と、これに直接かかる文節に最終文節から文節番号を付与し、文節番号jの文節をp
t(j)とする。また、s
a(i)の最終文節と、最終文節に直接係る文節に、最終文節から文節番号を付与し、文節番号jの文節をp
a(i,j)とする。
【0064】
次に、p
t(j)の形態素数をN
uni-gram(p
t(j))とする。p
t(j)とp
a(i,j)の形態素一致数をN
uni-gram(p
t(j),p
a(i,j))とする。ただし、機能語が一致しない場合は0とする。
p
t(j)とp
a(i,j)の形態素一致率Sim(p
t(j),p
a(i,j))は、以下の式で求められる。
【数3】
これを機能語に着目した文節間類似度と定義する。
【0065】
焦点解析部16は、この機能語に着目した文節間類似度を使って、s
tとs
a(i)の文間類似度を以下のように計算する。
焦点解析部16は、s
tとs
a(i)の最終文節と、最終文節に直接係る文節の文節間について、それぞれ最終文節から順に機能語に着目した形態素一致率Sim(p
t(j),p
a(i,j))を計算し、0でなかった文節数N
b(s
t,s
a(i))とそこまでの機能語に着目した形態素一致率の積Sim(s
t,s
a(i))を求める。すなわち、
【数4】
である。ただし最終文節に関しては、役割が異なるか、形態素一致率が0ならば、文節間類似度を0とする。
【0066】
焦点解析部16は、N
b(s
t,s
a(i))が最大の解析済み文の中からSim(s
t,s
a(i))が最大の解析済み文を収集し、多数決で焦点位置を決定する。
【0067】
これにより焦点解析部16は、入力された質問と解析済み文の最終文節と最終文節に係る文節の機能語の一致率に注目しつつ、各文節の類似度を用いて、焦点の位置を決定することができる。
したがって質問応答システム10は、機能語と類似度の両方を利用した焦点解析によって決定された焦点に基づいて、利用者の質問に回答することができる。
【0068】
なお、質問応答システム10における任意の処理を、ハードウェアによって実現することも可能であり、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0069】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、1つの文例データベース18に、質問タイプの分類と文末例や、解析済み文等が記憶されているものとして説明したが、複数の文例データベースを用いても良い。