(57)【特許請求の範囲】
【請求項１】
事象と、該事象に対する連想知識と、該事象と該連想知識との連想関係の種別とを対応付けて記憶する第１のデータベースと、
前記連想関係の種別毎に、少なくとも１つの応答の種別及び該応答の種別に対応したテンプレートを前記連想関係の種別に対応付けて記憶する第２のデータベースと、
入力された発話文から事象を抽出する事象抽出手段と、
前記第１のデータベースを参照して、前記事象抽出手段により抽出された事象に対応する前記連想知識及び前記連想関係の種別を特定する知識照合手段と、
前記知識照合手段により特定された前記連想関係の種別に対応する前記応答の種別のうち、いずれか１つを選択する応答分類決定手段と、
前記知識照合手段により特定された前記連想知識を、前記応答分類決定手段により選択された前記応答の種別に対応した前記テンプレートに適用することにより、前記発話文に対する応答文を生成する応答文生成手段と
を有し、
前記応答分類決定手段は、所定の環境下における、前記応答の種別に属する表現の発生頻度に基づいて選択する
対話処理装置。
【請求項２】
前記応答分類決定手段は、所定の環境下における、前記応答の種別に属する表現の発生頻度と、前記応答の種別に属する表現についての、前記対話処理装置がユーザと対話した際の実際の使用頻度とに基づいて選択する
請求項１に記載の対話処理装置。
【請求項３】
前記応答分類決定手段は、前記発生頻度が大きいほどより選択されやすく、かつ、前記使用頻度が小さいほどより選択されやすくなるよう予め定められた選択ルールに従って選択する
請求項２に記載の対話処理装置。
【請求項４】
前記連想関係の種別は、目的、利用、共起、効果、条件、習慣、又は用途のうち少なくとも１つを含む、前記事象と前記連想知識との関係の種別である
請求項１乃至３のいずれか１項に記載の対話処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は対話処理装置に関し、特に連想知識を用いる対話処理装置に関する。
【背景技術】
【０００２】
近年、ユーザとの会話を実現する対話処理装置の開発が求められている。例えば、特許文献１では、ユーザの発話を認識し、認識された発話と応答知識とに基づいて、ユーザの発話に対する応答用の発話を生成し、生成した応答用の発話を音声合成して出力する対話処理装置について開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１８６０２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、一般的に、対話処理装置の応答文は、発話文に対して短絡的となりがちである。このため、話題が広がり難く、ユーザとの間で会話を継続させるという点において改善の余地がある。
【課題を解決するための手段】
【０００５】
上記目的を達成するための本発明の一態様は、事象と、該事象に対する連想知識と、該事象と該連想知識との連想関係の種別とを対応付けて記憶する第１のデータベースと、前記連想関係の種別毎に、少なくとも１つの応答の種別及び該応答の種別に対応したテンプレートを前記連想関係の種別に対応付けて記憶する第２のデータベースと、入力された発話文から事象を抽出する事象抽出手段と、前記第１のデータベースを参照して、前記事象抽出手段により抽出された事象に対応する前記連想知識及び前記連想関係の種別を特定する知識照合手段と、前記知識照合手段により特定された前記連想関係の種別に対応する前記応答の種別のうち、いずれか１つを選択する応答分類決定手段と、前記知識照合手段により特定された前記連想知識を、前記応答分類決定手段により選択された前記応答の種別に対応した前記テンプレートに適用することにより、前記発話文に対する応答文を生成する応答文生成手段とを有する対話処理装置である。
この対話処理装置では、抽出された事象に対応する連想知識を用いて応答文が生成される。また、その際、連想関係の種別に応じた応答種別のうち選択されたものに対応するテンプレートが用いられて応答文が生成される。このため、この対話処理装置によれば、多様な応答を行うことが可能となり、話題が広がりやすくなる。したがって、会話を継続しやすくなる。
【発明の効果】
【０００６】
本発明によれば、本発明の構成を用いない場合に比較して、話題が広がりやすく、ユーザとの間で会話を継続しやすい対話処理装置を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１にかかる対話処理装置の構成の一例を示すブロック図である。
【図２】実施の形態１にかかる連想知識データベースに記憶される対応関係の一例を示す表である。
【図３】実施の形態１にかかる応答知識データベースに記憶される対応関係の一例を示す表である。
【図４】実施の形態１にかかる対話処理装置の動作の一例を示すフローチャートである。
【図５】実施の形態２にかかる応答知識データベースに記憶される対応関係の一例を示す表である。
【発明を実施するための形態】
【０００８】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。図１は、実施の形態１にかかる対話処理装置１の構成の一例を示すブロック図である。図１に示されるように、対話処理装置１は、連想知識データベース１０と、応答知識データベース２０と、事象抽出部３０と、知識照合部４０と、応答分類決定部５０と、応答テンプレート結合部６０とを有する。連想知識データベース１０及び応答知識データベース２０は、それぞれ、例えば図示しない記憶装置により実現される。また、事象抽出部３０、知識照合部４０、応答分類決定部５０、及び、応答テンプレート結合部６０は、それぞれ、例えば、対話処理装置１が有する図示しないＣＰＵが、プログラムを実行することにより実現される。
【０００９】
連想知識データベース１０は、事象と、この事象に対する連想知識と、この事象とこの連想知識との連想関係（因果関係）の種別とを対応付けて記憶するデータベースである。なお、「事象」には、例えば、事物の状態若しくは意味、又は人若しくは動物の行為などが含まれる。図２は、連想知識データベース１０に記憶される対応関係の一例を示す表である。図２に示すように、連想知識データベース１０は、予め定められた複数の事象毎に、当該事象から連想される知識である連想知識と、連想関係の種別である知識分類とを対応付けて記憶している。例えば、事象「ゴルフを練習する」に対し、連想知識「ゴルフが上達する」が対応付けられている。また、ゴルフの練習の目的がゴルフの上達であることから、知識分類として「目的」が対応付けられている。
【００１０】
図２に示した例では、連想関係として「目的」以外に、「利用」、「共起」、「効果」、「条件」、「習慣」、「用途」が挙げられているが、連想関係はこれらに限られず、他の連想関係が定義されてもよい。なお、本実施の形態では、例えば、事象の内容が、連想知識の内容を発生させる目的で行うものである場合、知識分類として「目的」が用いられる。また、例えば、事象の内容が行われている際に、連想知識の内容の物が利用される場合、知識分類として「利用」が用いられる。また、例えば、事象の内容が行われている際に、連想知識の内容が行われやすい場合、知識分類として「共起」が用いられる。また、例えば、事象の内容の結果、連想知識の内容が効果として現れる場合、知識分類として「効果」が用いられる。また、例えば、連想知識の内容が、事象の内容を発生させるために満たすべき条件である場合、知識分類として「条件」が用いられる。また、例えば、事象の内容が発生する場合、連想知識の内容が習慣的に発生するならば、知識分類として「習慣」が用いられる。また、例えば、事象の内容の用途として、連想知識の内容が発生する場合、知識分類として「用途」が用いられる。
【００１１】
応答知識データベース２０は、連想関係の種別毎に、少なくとも１つの応答の種別及びこの応答の種別に対応したテンプレートを、連想関係の種別に対応付けて記憶するデータベースである。図３は、実施の形態１にかかる応答知識データベース２０に記憶される対応関係の一例を示す表である。図３に示すように、応答知識データベース２０は、知識分類毎に、応答の種別である応答分類と、応答に用いられるテンプレートとを対応付けて記憶している。各知識分類において、応答分類のそれぞれに１つのテンプレートが対応付けられている。ここで、応答知識データベース２０では、各知識分類に対し、１以上の応答分類が対応付けられている。つまり、応答知識データベース２０では、各知識分類に対し、応答分類に応じた１以上のテンプレートが対応付けられている。例えば、図３に示した例では、知識分類「習慣」に対し、４つの応答分類が対応付けられている。また、この４つの応答分類のそれぞれに、応答分類に応じたテンプレートが対応付けられている。
【００１２】
図３に示した例では、応答の種別として「確認」、「感想」、「提案」、「習慣」が挙げられているが、応答分類はこれらに限られず、他の応答分類が定義されてもよい。なお、本実施の形態では、例えば、応答の種別「確認」に対して、連想知識の内容について対話相手に確認するための応答文のテンプレートが対応付けられている。また、例えば、応答の種別「感想」に対して、連想知識の内容で示される感想を対話相手に伝えるための応答文のテンプレートが対応付けられている。また、例えば、応答の種別「提案」に対して、連想知識の内容を対話相手に提案するための応答文のテンプレートが対応付けられている。また、例えば、応答の種別「習慣」に対して、連想知識の内容で示される習慣が対話相手にあるのかを聞くための応答文のテンプレートが対応付けられている。
【００１３】
テンプレートは、言葉を埋め込むためのスロットを有している。なお、図３のテンプレートにおいて、＜…＞で示される部分がスロットを示している。テンプレートのこのスロットに、連想知識に基づく言葉が埋め込まれることで応答文が完成することとなる。なお、スロットに挿入される言葉は、図３に示されるように、例えば、名詞、サ変名詞、述語、全文、述語項などのパターンのうちのいずれかであり、各スロットには、挿入すべきパターンが定義づけられている。このように、テンプレートのスロットには、例えば、連想知識データベース１０に示される連想知識の語句から抽出される名詞、連想知識データベース１０に示される連想知識の語句から抽出されるサ変名詞、連想知識データベース１０に示される連想知識の語句から抽出される述語、連想知識データベース１０に示される連想知識の語句の全文、連想知識データベース１０に示される連想知識の語句から抽出される述語項などが挿入される。
【００１４】
事象抽出部３０（事象抽出手段）は、入力された発話文から事象を抽出する。事象抽出部３０には、例えば、対話相手であるユーザの発話音声に音声認識等の予め定められた処理を施すことにより言語化された発話文が入力される。事象抽出部３０は、入力された発話文に対し、予め定められた構文解析処理を施し、単語又は述語項などにより特定される事象を抽出する。構文解析処理は、例えば、公知の形態素解析エンジン及び公知の係り受け解析エンジンを用いることで実行される。なお、事象抽出部３０は、入力された発話文からの事象の抽出のみならず、さらに、例えば、図示しないカメラなどから得られた画像情報から画像情報に示される事象を抽出してもよい。事象抽出部３０は、抽出した事象を、知識照合部４０に通知する。
【００１５】
知識照合部４０（知識照合手段）は、連想知識データベース１０を参照して、事象抽出部３０により抽出された事象に対応する連想知識及び知識分類（連想関係の種別）を特定する。なお、事象抽出部３０により抽出された事象が複数存在する場合には、知識照合部４０は、予め定められた選択規則（例えばランダムな選択）に従って複数の事象の中から１つを選択した上で、連想知識及び知識分類を特定する。知識照合部４０は、特定した知識分類を応答分類決定部５０に通知し、特定した連想知識を応答テンプレート結合部６０に通知する。
【００１６】
応答分類決定部５０（応答分類決定手段）は、知識照合部４０により特定された知識分類（連想関係の種別）に対応する応答分類（応答の種別）のうち、いずれか１つを選択する。応答分類決定部５０は、応答知識データベース２０を参照し、知識照合部４０により特定された知識分類に対応する応答分類を抽出する。抽出された応答分類が１つである場合、応答分類決定部５０は、この抽出された応答分類を選択する。抽出された応答分類が複数である場合、応答分類決定部５０は、予め定められた選択規則に従って、この抽出された複数の応答分類の中から１つの応答分類を選択する。例えば、応答分類決定部５０は、抽出された複数の応答分類の中からランダムに１つの応答分類を選択する。応答分類決定部５０は、選択した応答分類に応答知識データベース２０において対応付けられているテンプレートを、応答テンプレート結合部６０に通知する。
【００１７】
応答テンプレート結合部６０（応答文生成手段）は、知識照合部４０により特定された連想知識を、応答分類決定部５０により選択された応答の種別に対応したテンプレートに適用することにより、発話文に対する応答文を生成する。より具体的には、応答テンプレート結合部６０は、知識照合部４０により特定された知識分類に対応付けられたテンプレートのうち、応答分類決定部５０により選択された応答の種別に対応したテンプレートに、知識照合部４０により特定された連想知識を適用することにより、発話文に対する応答文を生成する。応答テンプレート結合部６０は、応答分類決定部５０から通知されたテンプレートにおけるスロットに、知識照合部４０により特定された連想知識を当てはめることにより、応答文を生成する。応答テンプレート結合部６０は、テンプレートにおけるスロットに定義づけられたパターンに沿うよう、知識照合部４０により特定された連想知識から言葉を抽出する。なお、この抽出は、例えば、連想知識の構文構造を解析することで可能である。また、応答テンプレート結合部６０は、パターンが、述語、全文、述語項などの場合には、活用語変換（例えば、「行く」から「行き」への変換）を行い、テンプレートのスロットに言葉を挿入する。応答テンプレート結合部６０は、このようにして、事象抽出部３０に入力された発話文に対する応答文を生成する。
【００１８】
このように、対話処理装置１は、ユーザの発話文に関連する連想知識を、応答分類に応じた加工方法により加工して、応答文を生成する。
次に、対話処理装置１の動作の一例について説明する。図４は、対話処理装置１の動作の一例を示すフローチャートである。以下、図４に示すフローチャートに沿って、対話処理装置１の動作について説明する。
【００１９】
ステップ１０（Ｓ１０）において、ユーザの発話（例えば、「歌を歌うことが好きなんだ」）が検出される。この検出は、例えば、図示しないマイクによりユーザの発話音声を取得することにより行われる。ステップ１１（Ｓ１１）において、ステップ１０において検出された発話音声に対する音声認識が、図示しない音声認識部により行われる。音声認識部は、例えば、公知の音声認識ソフトウェアにより実現される。ステップ１１による音声認識により、音声がテキストに変換され、ユーザの発話文が取得される。
【００２０】
事象抽出部３０は、ステップ１２（Ｓ１２）において、ステップ１１で取得された発話文に対し構文解析処理を行い、ステップ１３（Ｓ１３）において、発話文から事象を抽出する。例えば、事象抽出部３０は、構文解析処理を行うことで、「歌うことが好き」などの述語項、及び、「歌」などの品詞別単語を事象として抽出する。そして、ステップ１４（Ｓ１４）において、知識照合部４０は、連想知識データベース１０を参照して、事象抽出部３０により抽出された事象に対応する連想知識及び知識分類を特定する。ステップ１４では、例えば、事象「歌うことが好き」に対して、連想知識「カラオケに行く」及び知識分類「習慣」が特定される。
【００２１】
ステップ１５（Ｓ１５）において、応答分類決定部５０は、応答知識データベース２０を参照して、ステップ１４で特定された知識分類に対応する応答分類を１つ選択する。ステップ１５では、例えば、知識分類「習慣」に対して、４つの応答分類のうち、「感想」が選択される。ステップ１６（Ｓ１６）において、応答テンプレート結合部６０は、ステップ１４で特定された連想知識を、ステップ１５で選択された応答分類に対応したテンプレートに適用することにより、発話文に対する応答文を生成する。例えば、ステップ１５において応答分類「感想」が選択された場合、応答テンプレート結合部６０は、知識分類「習慣」に対応付けられているテンプレートのうち、応答分類「感想」に対応したテンプレート「＜述語項＞たいね」を用いて、応答文を生成する。このとき、応答テンプレート結合部６０は、連想知識「カラオケに行く」の述語項である「カラオケに行く」を、テンプレートのスロットに挿入することで応答文を生成する。なお、応答テンプレート結合部６０は、挿入に際し、述語項の接続部を活用（変形）した上でスロットへの挿入を行う。これにより、応答文「カラオケに行きたいね」が生成されることとなる。
【００２２】
ステップ１７（Ｓ１７）において、ステップ１６で生成された応答文を音声として出力するための音声合成処理が行われ、図示しないスピーカ等により応答文が音声出力される。
【００２３】
以上、対話処理装置１について説明した。対話処理装置１によれば、抽出された事象に対応する連想知識を用いて応答文が生成される。そして、その際、連想関係の種別に応じた応答種別のうち選択されたものに対応するテンプレートが用いられて応答文が生成される。このため、対話処理装置１によれば、ユーザの発話の語彙から飛躍した応答が可能となる。つまり、ユーザの発話に対し、多様な応答を行うことが可能となり、話題が広がりやすくなる。したがって、対話処理装置１によれば、会話を継続しやすくなる。また、上述の通り、連想知識データベース１０及び応答知識データベース２０によって、応答文生成に必要とする知識を２段構成で汎化している。このため、多様な応答を容易に生成することが可能となっている。また、データベースから選ばれた連想知識の知識分類に複数の応答分類が対応している場合には、選択する応答分類を変更することで種々の応答パターンを実現できるので、データベースに予め格納しておく文の数を抑制することができる。
【００２４】
＜実施の形態２＞
実施の形態２にかかる対話処理装置１では、応答分類決定部５０が知識照合部４０により特定された知識分類に対応する応答分類のうちいずれか１つを選択する際、応答分類決定部５０が発生頻度及び履歴頻度に基づいて選択を行う点で実施の形態１にかかる対話処理装置１と異なる。以下、実施の形態２にかかる対話処理装置１について、実施の形態１にかかる対話処理装置１と異なる構成及び動作について説明し、重複する説明については省略する。
【００２５】
図５は、実施の形態２にかかる応答知識データベース２０に記憶される対応関係の一例を示す表である。図５に示されるように、実施の形態２にかかる応答知識データベース２０は、各知識分類における応答分類それぞれに対し、さらに、発生頻度及び履歴頻度を対応付けて記憶している。ここで、発生頻度とは、対話処理装置１以外の所定の環境下における、所定の応答分類に属する表現の発生頻度をいう。この発生頻度は、応答分類ごとの応答の一般的な利用頻度に相当する。発生頻度は、例えば、ある応答分類に分類される表現が、ウェブ上にどれだけ存在するかを検索することにより得られる。また、履歴頻度とは、所定の応答分類に属する表現についての、対話処理装置１がユーザと対話した際の実際の使用頻度である。
【００２６】
本実施の形態にかかる応答分類決定部５０は、応答知識データベース２０に記憶された発生頻度及び履歴頻度に基づいて、知識照合部４０により特定された知識分類に対応する応答分類のうち、いずれか１つを選択する。ここで、本実施の形態にかかる応答分類決定部５０は、発生頻度が大きいほどより選択されやすく、かつ、履歴頻度が小さいほどより選択されやすくなるよう予め定められた選択ルールに従って、応答分類を選択する。本実施の形態にかかる応答分類決定部５０は、知識照合部４０により特定された知識分類に対応する応答分類のうち、例えば以下の算出式（式（１））による値ｙｉが最大となるｉを選択する。なお、ｉは、知識照合部４０により特定された知識分類に対応する各応答分類を識別するためのインデックスである。
【００２７】
【数１】
0006730090.tif 000002
【００２８】
ここで、ａ１及びａ２は、重み係数であり、ａ１＋ａ２＝１である。また、ｘ１ｉは、発生頻度についての評価値であり、以下の式（２）により定義される。なお、式（２）において、ｒｉは、インデックスがｉである応答分類の発生頻度である。ただし、式（２）において、分母の値が０となる場合には、ｘ１ｉの算出が不能とならぬよう、分母を例えば０．１とするものとする。
【００２９】
【数２】
0006730090.tif 000003
【００３０】
さらに、ｘ２ｉは、履歴頻度についての評価値であり、以下の式（３）により定義される。なお、式（３）において、ｓｉは、インデックスがｉである応答分類の履歴頻度である。ただし、式（３）において、分母の値が０となる場合には、ｘ２ｉの算出が不能とならぬよう、分母を例えば０．１とするものとする。
【００３１】
【数３】
0006730090.tif 000004
【００３２】
例えば、上述のステップ１４において、知識照合部４０によって知識分類「習慣」が特定された場合、本実施の形態にかかる応答分類決定部５０は、次のように応答分類を決定する。なお、ここでは、ａ１＝０．１であり、ａ２＝０．９であるものとする。図５に示されるように、知識分類「習慣」には、応答分類「確認」、「習慣」、「感想」、「提案」が対応していることがわかる。ここで、応答分類「確認」の発生頻度は３であり、履歴頻度は０である。また、応答分類「習慣」の発生頻度は１０であり、履歴頻度は１である。また、応答分類「感想」の発生頻度は５であり、履歴頻度は０である。また、応答分類「提案」の発生頻度は１であり、履歴頻度は０である。
【００３３】
上記式（１）〜（３）によれば、各応答分類に対する評価値（ｙｉの値）は、次のようになる。すなわち、応答分類「確認」についての評価値は０．９１５であり、応答分類「習慣」についての評価値は０．０５２であり、応答分類「感想」についての評価値は０．９２６であり、応答分類「提案」についての評価値は０．９０５である。本実施の形態にかかる応答分類決定部５０は、このように、各応答分類について評価値を算出した上で、評価値が最大である応答分類「感想」を選択する。このように、所定の環境下において応答分類「習慣」に分類される応答が比較的多く使用されている場合であっても、そのような応答が既にユーザとの対話で利用されている場合には他の応答種別が選択されうる。
【００３４】
本実施の形態にかかる対話処理装置１によれば、発生頻度に基づいて応答分類が選択されるため、一般的な利用頻度に応じた応答を行うことが可能となる。また、履歴頻度に基づいて応答分類が選択されるため、変化に富んだ多様な応答を行うことが可能となる。なお、本実施の形態では、応答分類決定部５０が、発生頻度及び履歴頻度に基づいて応答分類を選択する構成について説明したが、応答分類決定部５０は、発生頻度又は履歴頻度のいずれか一方に基づいて応答分類を選択してもよい。
【００３５】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、ユーザの発話に対する意図解析処理結果を利用して応答文が生成されてもよい。
【符号の説明】
【００３６】
１            対話処理装置
１０            連想知識データベース
２０            応答知識データベース
３０            事象抽出部
４０            知識照合部
５０            応答分類決定部
６０            応答テンプレート結合部
【図１】
0006730090.tif 000005
【図２】
0006730090.tif 000006
【図３】
0006730090.tif 000007
【図４】
0006730090.tif 000008
【図５】
0006730090.tif 000009