(57)【特許請求の範囲】
【請求項１】
ユーザからのキーワードを取得するキーワード取得手段と、
自立語およびこの自立語の概念を記憶した概念辞書から、前記キーワードの概念を検索する概念検索手段と、
概念が付与された応答文テンプレートを記憶した応答文テンプレート辞書から、前記概念検索手段で検索された概念を含む応答文テンプレートを検索する応答文検索手段と、
前記応答文検索手段で検索された応答文テンプレート中の自立語と前記キーワードとの組み合わせを生成する組み合わせ生成手段と、
複数の自立語の組み合わせ及びこの自立語が共起する尤もらしさを表す共起スコアを記憶した共起辞書を利用して、前記組み合わせ生成手段で生成された組み合わせに共起スコアを付与する共起スコア付与手段と、
前記キーワードと、前記応答文検索手段で検索された応答文テンプレートと、前記共起スコア付与手段で付与された共起スコアとを利用して、ユーザに提示する応答文を生成する応答文生成手段と、
を備える対話装置。
【請求項２】
前記応答文生成手段が、前記共起スコア付与手段で付与された共起スコアを利用して、前記応答文検索手段で検索された応答文テンプレートに応答文テンプレート全体の共起性を表すテンプレートスコアを付与し、このテンプレートスコアが最も高くなる応答文テンプレートに付与された概念を前記キーワードで置換してユーザに提示する応答文を生成する請求項１記載の対話装置。
【請求項３】
前記応答文生成手段が、前記共起スコア付与手段で付与された共起スコアを利用して、前記応答文検索手段で検索された応答文テンプレートに応答文テンプレート全体の共起性を表すテンプレートスコアを付与し、このテンプレートスコアが予め決められた閾値を超える応答文テンプレートを利用して応答文を生成する請求項１乃至請求項２記載の対話装置。
【請求項４】
前記キーワード取得手段が音声認識を利用してユーザの音声からキーワードを取得する請求項１から請求項３の何れか１項に記載の対話装置。
【請求項５】
前記応答文生成手段で生成された応答文を音声合成により音声波形に変換して出力する応答文出力手段を更に備える請求項１から請求項４の何れか１項に記載の対話装置。
【請求項６】
前記音声認識の認識結果の信頼度を予め決められた閾値と比較し、前記信頼度が前記閾値以上の場合は、前記認識結果に含まれる自立語をキーワードとして取得し、前記信頼度が前記閾値を下回る場合は、前記応答文生成手段が以前生成した応答文に含まれる自立語をキーワードとして取得する請求項４記載の対話装置。
【請求項７】
前記共起辞書に記憶された複数の自立語の組み合わせおよびこの自立語の共起スコアが、テキスト情報を利用して予め学習される請求項１から請求項６の何れか１項に記載の対話装置。
【請求項８】
前記共起辞書に記憶された複数の自立語の前記テキスト情報での出現頻度が、予め決められた閾値より低い請求項７記載の対話装置。
【請求項９】
ユーザからのキーワードを取得するキーワード取得工程と、
自立語およびこの自立語の概念を記憶した概念辞書から、前記キーワードの概念を検索する概念検索工程と、
概念が付与された応答文テンプレートを記憶した応答文テンプレート辞書から、前記概念検索工程で検索された概念を含む応答文テンプレートを検索する応答文検索工程と、
前記応答文検索工程で検索された応答文テンプレート中の自立語と前記キーワードとの組み合わせを生成する組み合わせ生成工程と、
複数の自立語の組み合わせおよびこの自立語が共起する尤もらしさを表す共起スコアを記憶した共起辞書を利用して、前記組み合わせ生成工程で生成された組み合わせに共起スコアを付与する共起スコア付与工程と、
前記キーワードと、前記応答文検索工程で検索された応答文テンプレートと、前記共起スコア付与工程で付与された共起スコアとを利用して、ユーザに提示する応答文を生成する応答文生成工程と、
を備える、コンピュータが実行する対話方法。
【請求項１０】
対話装置に、
ユーザからのキーワードを取得するキーワード取得工程と、
自立語およびこの自立語の概念を記憶した概念辞書から、前記キーワードの概念を検索する概念検索工程と、
概念が付与された応答文テンプレートを記憶した応答文テンプレート辞書から、前記概念検索工程で検索された概念を含む応答文テンプレートを検索する応答文検索工程と、
前記応答文検索工程で検索された応答文テンプレート中の自立語と前記キーワードとの組み合わせを生成する組み合わせ生成工程と、
複数の自立語の組み合わせおよびこの自立語が共起する尤もらしさを表す共起スコアを記憶した共起辞書を利用して、前記組み合わせ生成工程で生成された組み合わせに共起スコアを付与する共起スコア付与工程と、
前記キーワードと、前記応答文検索工程で検索された応答文テンプレートと、前記共起スコア付与工程で付与された共起スコアとを利用して、ユーザに提示する応答文を生成する応答文生成工程と、
を実現させるための対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、対話装置、対話方法および対話プログラムに関する。
【背景技術】
【０００２】
ユーザと対話する対話装置は、ユーザの意図に即した応答を行う必要がある。対話装置には、予め記憶した複数の文を利用して応答文を生成するものがある。この方法では、ユーザが入力したキーワードに適合する文を予め記憶した複数の文から検索し、適合の度合いに応じたランク付けを行う。そして、高ランクの文を利用して応答文を生成する。
【０００３】
しかしながら、上述した方法では、予め記憶した文に含まれないキーワードが入力された場合、ユーザの意図に即した応答文を生成することができなかった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１９３２１９号公報
【特許文献２】特開２００１−１７５６５７号公報
【特許文献３】特開２００８−２８２３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
発明が解決しようとする課題は、予め記憶した文に含まれないキーワードが入力された場合でもユーザの意図に即した応答文を生成する対話装置を実現することである。
【課題を解決するための手段】
【０００６】
実施形態の対話装置におけるキーワード取得手段は、ユーザからのキーワードを取得する。概念検索手段は、概念辞書から前記キーワードの概念を検索する。応答文検索手段は、応答文テンプレート辞書から前記概念検索手段で検索された概念を含む応答文テンプレートを検索する。組み合わせ生成手段は、前記応答文検索手段で検索された応答文テンプレート中の自立語と前記キーワードとの組み合わせを生成する。共起スコア付与手段は、共起辞書を利用して前記組み合わせ生成手段で生成された組み合わせに共起スコアを付与する。応答文生成手段は、前記キーワードと、前記応答文検索手段で検索された応答文テンプレートと、前記共起スコア付与手段で付与された共起スコアとを利用して、ユーザに提示する応答文を生成する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態の対話装置を示すブロック図。
【図２】実施形態の対話装置のハードウェア構成を示す図。
【図３】実施形態の対話装置のフローチャート。
【図４】実施形態の概念辞書を示す図。
【図５】実施形態の応答文テンプレート辞書を示す図。
【図６】実施形態の共起辞書を示す図。
【図７】実施形態の応答文テンプレートとテンプレートスコアを示す図。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面を参照しながら説明する。
【０００９】
（第１の実施形態） 
第１の実施形態の対話装置は、ユーザが入力したキーワードに適合する応答文を出力する対話装置である。例えば、ユーザが入力した「京都」「お土産」というキーワードに対して「京都のお土産は八橋がお勧めだよ」という応答文を出力する。これにより、ユーザとのインタラクティブなやり取りを実現する。
【００１０】
本実施形態の対話装置は、予め記憶した文に含まれないキーワードに対応するために、動詞、名詞、形容詞、形容動詞などの自立語に対する概念が付与されたテンプレート（応答文テンプレート）を利用して応答文を生成する。ここで、概念とは自立語の総括的な意味を表すものであり、例えば、自立語「京都」「大阪」に対しては、「場所」という概念が付与される。
【００１１】
本実施形態の対話装置は、まず、ユーザからのキーワードを取得すると、このキーワードが持つ概念を用いて応答文テンプレートを検索する。そして、検索された応答文テンプレート中の自立語とキーワードとが共起する尤もらしさ（共起スコア）を利用して検索された応答文テンプレートの順位付けを行う。最後に、順位が最も高くなった応答文テンプレートを利用してユーザに出力する応答文を生成する。ここで、共起とは自立語とキーワードが同一の文中に出現することをいう。
【００１２】
このように、本実施形態の対話装置は、自立語に対する概念が付与された応答文テンプレートを利用して応答文を生成する。これにより、予め記憶された文（応答文テンプレート）をキーワードそのものではなく概念を用いて検索することができ、被検索対象となる文の数を増加させることができる。結果として、予め記憶した文に含まれないキーワードが入力された場合でも適切な応答文を生成することができる。
【００１３】
（全体のブロック構成）
図１は、第１の実施形態にかかる対話装置を示すブロック図である。本実施形態の対話装置は、ユーザからキーワードを取得するキーワード取得部１０１と、ユーザに提示する応答文を生成する応答文生成処理部１０２と、応答文生成処理部１０２で生成された応答文をユーザに提示する応答文出力部１０３とを備える。
【００１４】
応答文生成処理部１０２は、キーワードに対する概念を概念辞書１１１から検索する概念検索部１１２と、検索された概念を含む応答文テンプレートを応答文テンプレート辞書１１３から検索する応答文検索部１１４と、検索された応答文テンプレート中の自立語とキーワードの組み合わせを生成する組み合わせ生成部１１５と、共起辞書１１６を用いて、生成された組み合わせに共起スコアを付与する共起スコア付与部１１７と、応答文検索部１１４で検索された応答文テンプレートと、共起スコア付与部１１７で付与された共起スコアと、ユーザのキーワードを利用して、ユーザに提示する応答文を生成する応答文生成部１１８を備える。
【００１５】
（ハードウェア構成）
本実施形態の対話装置は、図２に示すような通常のコンピュータを利用したハードウェアで構成されており、装置全体を制御するＣＰＵ（Central Processing Unit）等の制御部２０１と、各種データや各種プログラムを記憶するＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）等の記憶部２０２と、各種データや各種プログラムを記憶するＨＤＤ（Hard Disk Drive）やＣＤ（Compact Disk）ドライブ装置等の外部記憶部２０３と、ユーザの指示入力を受け付けるキーボードやマウスなどの操作部２０４と、外部装置との通信を制御する通信部２０５と、ユーザの発声を取得するマイク２０６と、音声波形を再生して再生音を発生させるスピーカ２０７と、映像を表示するディスプレイ２０９と、これらを接続するバス２０８とを備えている。
【００１６】
このようなハードウェア構成において、制御部２０１がＲＯＭ等の記憶部２０２や外部記憶部２０３に記憶された各種プログラムを実行することにより以下の機能が実現される。
【００１７】
（各ブロックの説明）
キーワード取得部１０１は、対話中におけるユーザのキーワードを取得する。具体的には、ユーザが操作部２０４のキーボードを介して入力した自立語をキーワードとして取得できる。また、対話中の話題に関するテキストを、通信部２０５を介してＷｅｂサイトから取得し、このテキストに含まれる自立語をキーワードとして利用することもできる。テキストからの自立語の抽出には、形態素解析を用いる。
【００１８】
応答文生成処理部１０２は、ユーザに提示する応答文を生成する。
【００１９】
応答文出力部１０３は、応答文生成処理部１０２が生成した応答文をユーザに提示する。本実施形態では、ディスプレイ２０９に応答文を表示する。
【００２０】
応答文生成処理部１０２を構成する各ブロックの機能を説明する。概念検索部１１２は、キーワードが持つ概念を概念辞書１１１から検索する。
【００２１】
概念辞書１１１は、自立語およびその概念を複数個記憶した辞書である。概念辞書１１１は、自立語に対して人手で概念を付与することにより作成できる。ただし、大量の自立語全てに対して概念を人手で付与することは困難であるので、予め少量の自立語に人手で概念の付与を行い、概念が付与されていない自立語については、人手での付与結果を利用して概念を付与することができる。例えば、「京都」の概念として「場所」が人手で付与されていた場合、「京都に行ったことある？」、「四条河原町に行ったことある？」という２つの文に対する形態素解析結果は以下のようになる。
【００２２】
「京都に行ったことある？」：  名詞（京都）/助詞(に)/動詞（行く）/助動詞（た）/名詞（こと）/動詞（ある）
「四条河原町に行ったことある？」：  名詞（四条河原町）/助詞(に)/動詞（行く）/助動詞（た）/名詞（こと）/動詞（ある）
この結果より、「京都」と「四条河原町」は同じ使われ方をしているので、「四条河原町」には「京都」と同じ概念の「場所」を付与することができる。このような手法を用いることにより、大量な自立語に自動で概念を付与することができる。なお、概念辞書１１１は、記憶部２０２、外部記憶部２０３や通信部２０５を介して接続された外部サーバの記憶部に保持することができる。
【００２３】
応答文検索部１１４は、応答文テンプレート辞書１１３から、概念検索部１１２で検索された概念を含む応答文テンプレートを検索する。本実施形態では、キーワードそのものではなく、キーワードの概念を用いて応答文テンプレートを検索する。キーワードの総括的な意味を表す概念を用いることにより、検索によって見つかる文の数を増加させることができる。
【００２４】
応答文テンプレート辞書１１３は、複数の応答文テンプレートを記憶した辞書である。応答文テンプレートは、種となる文に含まれる自立語に概念を付与したものである。応答文テンプレートは、種となる文を形態素解析してこの文に含まれる自立語を検索し、検索された自立語に対して概念辞書１１１を用いて概念を付与することで作成できる。ここで、応答文テンプレートの種となる文は、Ｗｅｂ上のブログ、ニュースサイトなどの随時更新される文章を逐次ダウンロードし、一文ずつに切り分ることで取得できる。例えば、「京都は金閣寺が有名です。」という種となる文を形態素解析した結果は以下のようになる。
【００２５】
「京都は金閣寺が有名です。」：  名詞（京都）/助詞(は)/名詞（金閣寺）/助詞（が）/名詞（有名）/動詞（です）
この文には、「京都」「金閣寺」「有名」という３つの自立語が含まれる。そこで、これらの概念を概念辞書１１１で検索すると、「京都」（場所）、「金閣寺」（建物名）、「有名」（評判）を取得できる。そして文に含まれる自立語を概念で置き換えることにより、以下のような発話文テンプレートを作成することができる。
【００２６】
[場所]は金閣寺が有名です。
【００２７】
京都は[建物名]が有名です。
【００２８】
京都は金閣寺が[評判]です。
【００２９】
[場所]は[建物名]が有名です。
【００３０】
京都は[建物名]が[評判]です。
【００３１】
[場所]は金閣寺が[評判]です。
【００３２】
[場所]は[建物名]が[評判]です。
【００３３】
なお、応答文テンプレート辞書１１３は、記憶部２０２、外部記憶部２０３や通信部２０５を介して接続された外部サーバの記憶部に保持することができる。
【００３４】
組み合わせ生成部１１５は、応答文検索部１１４で検索された応答文テンプレート中の自立語とキーワードの組み合わせを生成する。
【００３５】
共起スコア付与部１１７は、組み合わせ生成部１１５生成された組み合わせを共起辞書１１６から検索し、この組み合わせに対して共起スコアを付与する。
【００３６】
共起辞書１１６は、Ｎ個（Ｎは自然数）の自立語から構成される組み合わせとこの組み合わせの共起スコアを記憶部２０２や外部記憶部２０３に記憶する。例えば、Ｎが２の場合は自立語Ａと自立語Ｂの共起スコアが、Ｎが３の場合は自立語Ａと自立語Ｂと自立語Ｃの共起スコアが共起辞書１０５に記憶される。共起スコアは、対話履歴等のテキスト情報から学習する。例えば、Ｎが２の場合、テキスト情報から自立語Ａの頻度、自立語Ｂの頻度、自立語Ａおよび自立語Ｂが同じ文中に出現する頻度（自立語ＡＢの共起頻度）を計算する。共起スコアは、これらの頻度を利用した以下の係数のいずれかから計算できる。
【数１】
0005620349.tif 000002
【００３７】
共起スコアは、上記の係数のように自立語Ａと自立語Ｂが組み合わせて使用される頻度が表現された指標であればよい。また、共起辞書１０５を、通信部２０５を介して接続された外部サーバの記憶部に保持するようにしてもよい。
【００３８】
応答文生成部１１８は、対話装置からユーザへの応答文を生成する。ここでは、共起スコア付与部１１７で付与された共起スコアから各応答文テンプレート全体の共起性を表すテンプレートスコアを算出する。そして、このテンプレートスコアが最も高い応答文テンプレートとキーワードを利用して、ユーザに提示する応答文を生成する。
【００３９】
（フローチャート）
図３のフローチャートを利用して、本実施形態にかかる対話装置の処理を説明する。まず、ステップＳ３０１では、キーワード取得部１０１は、対話中におけるユーザのキーワードを取得する。取得するキーワードの数は２つ以上でもよい。本実施形態では、「京都」、「お土産」という２つのキーワードを取得したものとする。
【００４０】
次に、ステップＳ３０２では、概念検索部１１２は、「京都」「お土産」の概念を概念辞書１１１から検索する。概念辞書１１１には図４に示すように、自立語と自立語に対する概念が記憶されている。検索は文字列マッチングで実現できる。本実施形態では、「京都」の概念として「場所」が、「お土産」の概念として「物品」が検索される。
【００４１】
ステップＳ３０３では、ステップＳ３０２での検索結果に応じて処理を分岐する。１つ以上のキーワードについて概念がみつかった場合はステップＳ３０４へ、その他の場合はステップＳ３１４へ移行する。ステップＳ３１４では、応答文として予め用意しておいた定型文（例えば、「よかったね」「そうなんだ」「なるほど」）を出力する。
【００４２】
次に、ステップＳ３０４では、応答文検索部１１４は、応答文テンプレート辞書１１３からステップＳ３０２で検索された概念のみを含む応答文テンプレートを検索する。応答文テンプレート辞書１１３には図５に示すように、文の一部が概念で置き換えられた応答文テンプレートが記憶されている。図５では（[ ]）で囲まれた箇所が概念にあたる。本実施形態では、「場所」および「物品」の双方を含む応答文テンプレート、「場所」のみを含む応答文テンプレート、「物品」のみを含む応答文テンプレートを検索する。検索は、文字列マッチングで実現する。本実施形態では、下記３つの応答文テンプレートが検索されたものとする。
【００４３】
[場所]の[物品]は八橋がお勧めだよ
[場所]の[物品]が盗まれたらしいよ
[場所]の[物品]にカニを買ってきてね 
このように、本実施形態ではキーワードの総括的な意味を表す概念を用いて応答文テンプレートを検索する。これにより、ステップＳ３０４で検索される文（発話文テンプレート）の数を増加させることができる。
【００４４】
ステップＳ３０５では、ステップＳ３０４での検索結果に応じて処理を分岐する。応答文テンプレートが１つ以上みつかった場合はステップＳ３０６へ、みつからなかった場合はステップＳ３１４へ移行する。
【００４５】
次に、ステップＳ３０６では、組み合わせ生成部１１５は、ステップＳ３０４で検索された応答文テンプレート中の自立語とキーワードの組み合わせを生成する。本実施形態では、２個（Ｎ＝２）の自立語で組み合わせを生成する。ステップＳ３０６では、まず応答文テンプレート中の自立語を取得するために、応答文テンプレートを形態素解析する。具体的には、応答文テンプレートを形態素ごとに分割し、それぞれの形態素に対して品詞と読みを付与する。そして形態素解析の結果、動詞、名詞、形容詞、形容動詞に該当するものを自立語として取得する。以下の３つの応答文テンプレートでは、下線部が自立語に該当する。
【００４６】
[場所]の[物品]は八橋がお勧めだよ
[場所]の[物品]が盗まれたらしいよ
[場所]の[物品]にカニを買ってきてね 
ここで、自立語を動詞、名詞、形容詞、形容動詞に限定するのは、助詞・助動詞等の意味を持たない品詞はどんな単語とも共起する蓋然性が高いため、これらの品詞が含まれる組み合わせはキーワードに対応する応答文の生成に寄与しないからである。なお、応答文テンプレートに含まれる自立語が、形態素の基本形でない場合は基本形に変換したものを応答文テンプレートの自立語として用いる。上述した例であれば、「盗まれた」は「盗む」に、「買って」は「買う」のように、形態素の基本形に変換したものを自立語として用いる。また、発話文テンプレート中の自立語は、オフラインで形態素解析を実施することで予め特定することもできる。
【００４７】
次に、ステップＳ３０６では、応答文テンプレート中の自立語とステップＳ３０１で取得したキーワードの組み合わせを生成する。本実施形態では、以下の組み合わせが生成される。
【００４８】
（京都  八橋）
（京都  お勧め）
（京都  盗む）
（京都  カニ）
（京都  買う）
（お土産  八橋）
（お土産  お勧め）
（お土産  盗む）
（お土産  カニ）
（お土産  買う）
ステップＳ３０７では、ステップＳ３０６での結果に応じて処理を分岐する。応答文テンプレート中に自立語が含まれていなかった等の理由により組み合わせが１つも生成されなかった場合はステップＳ３１４へ、組み合わせが１つ以上生成された場合はステップＳ３０８移行する。
【００４９】
次に、ステップＳ３０８では、ステップＳ３０６で生成された組み合わせと同じ組み合わせを共起辞書１１６から検索する。検索は文字列マッチングで実現できる。
【００５０】
ステップＳ３０９では、ステップＳ３０８で組み合わせが１つ以上検索された場合はステップＳ３１０へ、組み合わせが検索されなかった場合はステップＳ３１４へ移行する。
【００５１】
ステップＳ３１０では、共起辞書１１６で検索された組み合わせに共起スコアを付与する。共起辞書１１６は、図６に示すように自立語から構成される組み合わせとこの組み合わせの共起スコアを記憶している。本実施形態では、各共起について以下の共起スコアが付与されたものとする。
【００５２】
（京都  八橋）        0.2
（京都  お勧め）      0.1
（京都  盗む）        0.002
（京都  カニ）        0.01
（京都  買う）        0.005
（お土産  八橋）      0.05
（お土産  お勧め）    0.1
（お土産  盗む）      0.00002
（お土産  カニ）      0.04
（お土産  買う）      0.1
次に、ステップＳ３１１では、応答文生成部１１８は、ステップＳ３１０で付与した共起スコアから各応答文テンプレートの共起性を表すテンプレートスコアを算出する。まず、各応答文テンプレート中の自立語を含む組み合わせの中で、各キーワードに対して最大の共起スコアを示す組み合わせを選択する。次に、各応答文テンプレートについて、選択された共起スコアの平均値を計算し、この値を各応答文テンプレートのテンプレートスコアとする。
【００５３】
図７の７０１は、各発話文テンプレートにおいて、キーワード「京都」に対して最大の共起スコアを示した組み合わせを表している。同図の７０２は、キーワード「お土産」に対して最大の共起スコアを示した組み合わせを表している。同図の７０３は、選択された共起スコアの平均値（テンプレートスコア）を表している。なお、平均値ではなく各共起スコアの最大値をテンプレートスコアとして用いてもよい。
【００５４】
次に、ステップＳ３１２では、最大のテンプレートスコアを持つ応答文テンプレートとキーワードを使って応答文を生成する。図７の例では、「[場所]の[物品]は八橋がお勧めだよ」が最大のスコアを持つことから、この応答文テンプレート中の概念をキーワードで置換して「京都のお土産は八橋がお勧めだよ」を生成する。
【００５５】
最後に、ステップＳ３１３では、応答文出力部１０３は、ディスプレイ２０９を介して生成された応答文「京都のお土産は八橋がお勧めだよ」をユーザに提示する。
【００５６】
（効果）
このように、本実施形態の対話装置は、自立語に対する概念が付与された応答文テンプレートを利用して応答文を生成する。これにより、予め記憶された文をキーワードそのものではなく概念を用いて検索することができ、被検索対象となる文の数を増加させることができる。結果として、予め記憶した文に含まれないキーワードが入力された場合でも適切な応答文を生成することができる。
【００５７】
（変形例１）
応答文生成部１１８で計算されたテンプレートスコアに閾値を適用して、ユーザに提示する応答文を制御することもできる。例えば、予め設定した閾値と各発話文テンプレートのテンプレートスコアを比較し、テンプレートスコアが閾値以上であれば発話文テンプレートを使用して応答文を生成し、閾値を下回る場合は定型文を応答文として用いる等の制御を行うことができる。これにより、不適切な応答文が出力されることを防止する。
【００５８】
例えば、図７で閾値を０．０１に設定した場合、「[場所]の[物品]にカニを買ってきてね」が応答文テンプレートとして選択されることはない。これにより、「[京都]の[お土産]にカニを買ってきてね」という不適切な応答文が生成されることを回避できる。
【００５９】
また、本実施形態では、２つの自立語の組み合わせを用いたが、３つ以上の自立語の組み合わせ（Ｎ≧３）を用いても同様な処理を実行できる。
【００６０】
（変形例２）
共起辞書１１６は、複数の自立語からなる組み合わせを含む辞書であるためサイズが膨大になり、共起スコア付与部１１７における検索時間が長くなることがある。検索時間を短くするためには、必要のない組み合わせを共起辞書１１６から排除する必要がある。
【００６１】
共起辞書１１６の作成に使用したテキスト情報における出現頻度が高い自立語については、その自立語を含む組み合わせが多く生成される。例えば、「する」という動詞は、「予定する」「使用する」「参加する」のように名詞と接続して頻繁に使用される。そのため、（予定  する）、（使用  する）、（参加  する）のような「する」を含む組み合わせが共起辞書１１６に多数登録される。また、「する」のようにテキスト情報での出現頻度が高い自立語は、実際の対話での使用頻度も高く、認識結果にも多く出現する。そのため、「する」を含む組み合わせが生成され共起辞書１１６で検索される機会は非常に多い。しかし、このように出現頻度が高い自立語は、特定の自立語と組み合わされて使用されるよりも、様々な単語と組み合わされて使用されることが多いため、共起スコア自体はあまり高くならない。そのため、このような自立語から生成される組み合わせは、応答文生成部１１８での応答文生成に寄与しない。そこで、本変形例では、出現頻度が所定の閾値より高い自立語から構成される組み合わせを共起辞書１１６から予め除外しておくことで検索時間の短縮を図る。
【００６２】
また、テキスト情報での出現頻度ではなくidfを用いて除外対象となる組み合わせを決定することもできる。idfは、共起辞書１１６を生成する際に使用したテキスト情報から（１）式で算出できる。
【００６３】
idf ＝ log（全文数／自立語Aを含む文数）  …（１）
idfが低い自立語は、どのような文でもまんべんなく使われる自立語である。そこで、idfが所定の閾値より低い自立語を含む組み合わせを共起辞書１１６から予め除外しておくことで検索時間の短縮を図ることができる。
【００６４】
（変形例３）
キーワード取得部１０１を音声認識で、応答文出力部１０３を音声合成で実現することもできる。この場合、キーワード取得部１０１は、マイク２０６に入力されたユーザの音声を認識し、この認識結果に含まれる自立語をキーワードとして取得する。認識結果から自立語を取得する際は形態素解析を用いる。また、応答文出力部１０３は、応答文生成処理部１０２で生成されたテキストの応答文を音声合成により音声波形に変換し、スピーカ２０７から再生する。これにより、人と人とが対話するような自然なインターフェースでユーザとの対話を進行させることができる。
【００６５】
また、音声認識は認識誤りが発生することがあるため、認識結果の信頼度に応じて使用するキーワードを制御することもできる。例えば、信頼度が所定閾値以上の場合は認識結果中の自立語をキーワードとして使用し、信頼度が所定閾値より低い場合は対話装置が以前出力した応答文に含まれる自立語をユーザのキーワードとして使用することができる。また、信頼度が所定閾値より低い場合は、認識結果中の自立語および以前出力した応答文に含まれる自立語の両方をキーワードとして用いるようにしてもよい。このように、音声認識の信頼度に応じて使用するキーワードを制御することにより、認識誤りによって意図しない応答文が出力されることを防止することができる。
【００６６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６７】
１０１  キーワード取得部
１０２  応答文生成処理部
１０３  応答文出力部
１１１  概念辞書
１１２  概念検索部
１１３  応答文テンプレート辞書
１１４  応答文検索部
１１５  組み合わせ生成部
１１６  共起辞書
１１７  共起スコア付与部
１１８  応答文生成部
２０１  制御部
２０２  記憶部
２０３  外部記憶部
２０４  操作部
２０５  通信部
２０６  マイク
２０７  スピーカ
２０８  バス
２０９  ディスプレイ
７０１  キーワード「京都」に対して最大の共起スコアを示した組み合わせ
７０２  キーワード「お土産」に対して最大の共起スコアを示した組み合わせ
７０３  共起スコアの平均値（テンプレートスコア）
【図１】
0005620349.tif 000003
【図２】
0005620349.tif 000004
【図３】
0005620349.tif 000005
【図４】
0005620349.tif 000006
【図５】
0005620349.tif 000007
【図６】
0005620349.tif 000008
【図７】
0005620349.tif 000009