(57)【要約】      （修正有）【課題】ユーザとの自然な対話を継続的に行う場合に、ユーザの意図に対してより的確な応答を実現する。【解決手段】音声対話システム１００は、ユーザ２００からの発話と当該発話に対する応答との組み合わせである対話を複数回連続して行うものであり、応答の候補を示す複数の応答文を予め記憶した応答文データベース１７０と、ユーザとの過去の対話内容を所定回数分記録する対話記録部１６０と、対話記録部１６０から対話内容におけるキーワードを抽出するキーワード抽出部１１０と、ユーザから新たに発話が入力された場合に、当該発話に含まれる単語を抽出する単語抽出部１３０と、応答文データベース内に記憶された複数の応答文のうち、抽出された単語と抽出されたキーワードとに対応する応答文を選択する選択部１４０と、ユーザへ選択した応答文を発話に対する応答として音声により出力する出力部１５０と、を備える。【選択図】図１
2015148758.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの発話と当該発話に対する応答との組み合わせである対話を複数回連続して行う音声対話システムであって、
前記応答の候補を示す複数の応答文を予め記憶した応答文データベースと、
前記ユーザとの過去の対話内容を所定回数分記録する対話記録部と、
前記対話記録部から前記対話内容におけるキーワードを抽出するキーワード抽出部と、
前記ユーザから新たに発話が入力された場合に、当該発話に含まれる単語を抽出する単語抽出部と、
前記応答文データベース内に記憶された複数の応答文のうち、前記抽出された単語と前記抽出されたキーワードとに対応する応答文を選択する選択部と、
前記ユーザへ前記選択した応答文を前記発話に対する応答として音声により出力する出力部と、
を備える音声対話システム。
【請求項２】
前記複数の応答文の一部を記憶可能な部分記憶部をさらに備え、
前記選択部は、
前記ユーザからの発話が新たに入力される前に、前記応答文データベースの中から前記抽出されたキーワードを含む複数の応答文を選択し、
前記選択した複数の応答文を前記部分記憶部に格納し、
前記ユーザからの発話が新たに入力された後に、前記部分記憶部の中から当該発話に含まれる単語を含む応答文を選択する
請求項１に記載の音声対話システム。
【請求項３】
複数の単語のそれぞれについて所定の基準に基づく重要度が定義された単語重要度データベースをさらに備え、
前記キーワード抽出部は、前記対話記録部から複数の単語が前記キーワードとして抽出された場合、前記単語重要度データベースを参照し、当該抽出された複数の単語のうち、前記重要度が所定値以上の単語を前記キーワードとする
請求項１又は２に記載の音声対話システム。
【請求項４】
前記選択部は、前記抽出された単語又は前記抽出されたキーワードに関連する他の単語を特定し、前記抽出された単語又は前記抽出されたキーワードのいずれかを含まず、前記特定された他の単語を含む応答文を、前記複数の応答文のうち前記対応する応答文として選択する
請求項１乃至３のいずれか１項に記載の音声対話システム。
【請求項５】
ユーザからの発話と当該発話に対する応答との組み合わせである対話を複数回連続して行う音声対話システムを用いた音声対話方法であって、
前記音声対話システムは、
前記応答の候補を示す複数の応答文を予め記憶した応答文データベースと、
前記ユーザとの過去の対話内容を所定回数分記録した対話記録部とを備え、
前記対話記録部から前記対話内容におけるキーワードを抽出し、
前記ユーザから新たに発話が入力された場合に、当該発話に含まれる単語を抽出し、
前記応答文データベース内に記憶された複数の応答文のうち、前記抽出された単語と前記抽出されたキーワードとに対応する応答文を選択し、
前記ユーザへ前記選択した応答文を前記発話に対する応答として音声により出力する
音声対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声対話システム及び音声対話方法に関し、特に、ユーザと連続した対話を行うための音声対話システム及び音声対話方法に関する。
【背景技術】
【０００２】
ユーザとロボットが音声で対話する音声対話システムとしては、例えば、特許文献１に係る技術がある。特許文献１に係る技術は、ユーザの発話内容からキーワードを抽出し、抽出されたキーワードにより会話データベース等を検索し、ヒットしたコンテンツを応答として音声により出力するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１７１７１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、人間同士がある話題に対して複数回の会話のやり取りを行う場合には、それまでの会話で出現した単語等を踏まえて次の発話が行われることが一般的である。そのため、会話における話題において重要な単語であっても、後続の発話においては省略されることもある。
【０００５】
特許文献１では、対話の対象となる発話に含まれる表現のみを解析し、解析により得られた単語をキーワードとして検索をしているため、ユーザの意図とは異なるコンテンツが応答としてヒットしてしまう可能性がある。
【０００６】
例えば、ユーザが「木星って何でできてるの？」と発話し、ロボットが「木星はガスで出来ていて、太陽系最大の惑星です。」と応答した後、続けてユーザが「直径を教えて」と発話した場合に、ロボットは、「土星の直径は約ＸＸキロメートルです。」等と応答してしまう可能性がある。しかし、ユーザの２番目の発話「直径を教えて」における「直径」は、本来「木星の直径」を意図したものであったが、それまでの対話の続きであることから「木星の」という言葉が省略されたものである。そのため、検索キーワードに「木星」が含まれず、何らかの直径に関する応答がデータベースからヒットしてしまったことを示す。このように、特許文献１に係る技術では、ユーザからの入力に、特定の話題における重要なキーワードが省略されている場合に、省略されたキーワードを考慮していないために、ユーザの意図を正確に把握することができないという問題点がある。
【０００７】
本発明は、このような問題を解決するためになされたものであり、ユーザとの自然な対話を継続的に行う場合に、ユーザの意図に対してより的確な応答を実現するための音声対話システム及び音声対話方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明の第１の態様にかかる音声対話システムは、
ユーザからの発話と当該発話に対する応答との組み合わせである対話を複数回連続して行う音声対話システムであって、
前記応答の候補を示す複数の応答文を予め記憶した応答文データベースと、
前記ユーザとの過去の対話内容を所定回数分記録する対話記録部と、
前記対話記録部から前記対話内容におけるキーワードを抽出するキーワード抽出部と、
前記ユーザから新たに発話が入力された場合に、当該発話に含まれる単語を抽出する単語抽出部と、
前記応答文データベース内に記憶された複数の応答文のうち、前記抽出された単語と前記抽出されたキーワードとに対応する応答文を選択する選択部と、
前記ユーザへ前記選択した応答文を前記発話に対する応答として音声により出力する出力部と、
を備える。
【０００９】
本発明の第２の態様にかかる音声対話方法は、
ユーザからの発話と当該発話に対する応答との組み合わせである対話を複数回連続して行う音声対話システムを用いた音声対話方法であって、
前記音声対話システムは、
前記応答の候補を示す複数の応答文を予め記憶した応答文データベースと、
前記ユーザとの過去の対話内容を所定回数分記録した対話記録部とを備え、
前記対話記録部から前記対話内容におけるキーワードを抽出し、
前記ユーザから新たに発話が入力された場合に、当該発話に含まれる単語を抽出し、
前記応答文データベース内に記憶された複数の応答文のうち、前記抽出された単語と前記抽出されたキーワードとに対応する応答文を選択し、
前記ユーザへ前記選択した応答文を前記発話に対する応答として音声により出力する。
【００１０】
このように、本発明の各態様では、ユーザの発話時における発話内容に含まれる単語だけでなく、直近における対話内容に含まれる単語（キーワード）も含めて、これらの単語に対応する応答文を選択する。そのため、ユーザがそれまでの対話内容を踏まえて重要なキーワードを省略した発話を行った場合であっても、ユーザの意図を把握することができ、それまでの対話内容に沿った応答文を出力することができる。
【発明の効果】
【００１１】
本発明により、ユーザとの自然な対話を継続的に行う場合に、ユーザの意図に対してより的確な応答を実現するための音声対話システム及び音声対話方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１にかかる音声対話システムの構成を示す図である。
【図２】本発明の実施の形態１にかかる応答処理の流れを示すフローチャートである。
【図３】本発明の実施の形態２にかかる音声対話システムの構成を示す図である。
【図４】本発明の実施の形態２にかかる応答処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下では、上述した各態様を含む本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１４】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１にかかる音声対話システム１００の構成を示す図である。音声対話システム１００は、ユーザ２００との対話を複数回連続して行う情報システムである。ここで、対話とは、ユーザからの発話とその発話に対する応答との組み合わせを指すものとする。音声対話システム１００は、例えば、対話型のロボット等であってもよい。音声対話システム１００は、キーワード抽出部１１０と、発話受付部１２０と、単語抽出部１３０と、選択部１４０と、出力部１５０と、対話記録部１６０と、応答文データベース（ＤＢ）１７０とを備える。
【００１５】
対話記録部１６０は、ユーザ２００との過去の対話内容を所定回数分記録する。ここで、対話内容とは、ユーザ２００から音声対話システム１００への発話をテキストデータに変換したものと、音声対話システム１００からユーザ２００への応答であるテキストデータとを含む。つまり、対話記録部１６０は、特定の話題に関してユーザ２００と連続して行われている対話の過去数回分の履歴データを記録し、保持している。
【００１６】
応答文ＤＢ１７０は、ユーザ２００からの発話に対する応答の候補を示す複数の応答文を予め記憶したデータベースである。対話記録部１６０及び応答文ＤＢ１７０は、音声対話システム１００にかかるロボット等の内部の記憶装置（不図示）により実現されている。但し、対話記録部１６０及び応答文ＤＢ１７０は、当該ロボット等の外部の記憶装置内で実現しても構わない。
【００１７】
キーワード抽出部１１０は、対話記録部１６０から過去の対話内容におけるキーワードを抽出する。ここで、キーワード抽出部１１０は、対話記録部１６０に記録された過去の対話内容に含まれる単語のうち、一連の対話における話題に関して代表的な単語をキーワードとするものとする。つまり、キーワード抽出部１１０は、対話記録部１６０内の全ての単語ではなく一部の単語、しかも連続する対話における特徴的な単語をキーワードとすることが望ましい。例えば、過去の対話内容のうち、直近の数回で頻出する単語を次回の発話におけるキーワードとしてもよい。または、過去の対話内容のうち所定の基準において重要性の高い単語をキーワードとしてもよい。
【００１８】
発話受付部１２０は、ユーザ２００からの発話の入力を受け付け、発話をテキストデータに変換し、対話記録部１６０へ格納する。単語抽出部１３０は、ユーザ２００から新たに発話が入力された場合に、当該発話に含まれる単語を抽出する。ここで、単語抽出部１３０は、入力された発話に含まれる全て又は一部の単語を抽出するものとする。一部の単語を抽出する場合には、単語抽出部１３０は、所定の基準において重要性の高い単語を抽出してもよい。選択部１４０は、応答文ＤＢ１７０内に記憶された複数の応答文のうち、抽出された単語と抽出されたキーワードとに対応する応答文を選択する。ここで、抽出された単語と抽出されたキーワードとに対応する応答文としては、単語及びキーワードそのものを含む応答文、または、単語又はキーワードのいずれかを含まないとしても当該単語又はキーワードに関連する他の単語を含む応答文としてもよい。例えば、選択部１４０は、上記単語又はキーワードに関連する他の単語を特定し、特定した単語を含む応答文を選択しても構わない。
出力部１５０は、選択した応答文を発話に対する応答として音声に変換してユーザ２００へ出力する。
【００１９】
尚、単語に関連する他の単語の特定としては、例えば、述語項構造解析の技術を用いてもよい。その場合、選択部１４０は、解析した構造が類似した文章を選択することとなる。ここで、述語項構造解析としては、例えば、“吉野幸一郎等、「述語項の類似度に基づく情報推薦を行う音声対話システム」、情報処理学会研究報告、Vol. 2011-SLP-87, No. 11”に開示された技術を適用することができる。その場合、単語抽出部１３０は、対象のテキストデータを形態素解析し、テキストデータに含まれる複数の単語を抽出する。そして、選択部１４０は、まず、抽出された複数の単語とキーワードとである検索語を全て含む応答文を、応答文ＤＢ１７０の中から検索する。検索できない場合、選択部１４０は、検索語の一部を選択し、選択した検索語を含む応答文を応答文ＤＢ１７０の中から検索する。このとき、選択部１４０は、例えば、各検索語について所定の手法により要素間の関連度を算出し、関連度のより高い検索語を一部の検索語として選択するとよい。これにより、選択される応答文の精度を向上させることができる。尚、上記において単語抽出部１３０をキーワード抽出部１１０に置き換えても同様となる。但し、述語項構造解析以外の技術を適用してもよい。
【００２０】
図２は、本発明の実施の形態１にかかる応答処理の流れを示すフローチャートである。前提として、既にユーザ２００と音声対話システム１００との間で、特定の話題に関する複数回の対話（発話と応答）の記録が対話記録部１６０に保持されているものとする。
【００２１】
まず、キーワード抽出部１１０は、対話記録部１６０を参照し、過去の対話記録からキーワードを抽出する（Ｓ１１）。また、発話受付部１２０は、新たな発話を受け付け、受け付けた発話から変換されたテキストデータを対話記録部１６０に記録する（Ｓ１２）。続いて、単語抽出部１３０は、受け付けた発話のテキストデータから形態素解析等により単語を抽出する（Ｓ１３）。尚、実施の形態１では、ステップＳ１１と、ステップＳ１２及びＳ１３との順序は問わない。
【００２２】
次に、選択部１４０は、ステップＳ１１により抽出されたキーワード及びステップＳ１３により抽出された単語に対応する応答文を応答文ＤＢ１７０の中から選択する（Ｓ１４）。そして、選択部１４０は、選択した応答文を対話記録部１６０へ記録する（Ｓ１５）。また、出力部１５０は、選択した応答文を音声に変換してユーザ２００へ出力する（Ｓ１６）。
【００２３】
このように、本発明の実施の形態１では、ステップＳ１２でユーザ２００から受け付けた発話内容に含まれる単語だけでなく、それ以前に対話記録部１６０に記録済みの対話内容に含まれる単語も含めて、これらに対応する応答文を選択する。そのため、ユーザがそれまでの対話内容を踏まえて重要なキーワードを省略した発話を行った場合であっても、ユーザの意図を正確に把握することができ、それまでの対話内容に沿った応答文を出力することができる。
【００２４】
＜発明の実施の形態２＞
本発明の実施の形態２は、上述した実施の形態１を改良したものである。実施の形態１では、ユーザ２００からの発話を受け付けてから都度、応答文ＤＢ１７０を検索して応答文を取得している。つまり、単語が入力される度に、入力された単語と応答文ＤＢ１７０内の応答文との照合を行う必要がある。そのため、発話を受け付けてから応答するまでにある程度の処理時間を要することになる。ユーザ２００とのより自然な会話を継続するには、応答時間を短縮することが望ましい。
【００２５】
ここで、図１の応答文ＤＢ１７０には、ユーザ２００との様々な話題における発話に対応するために、多数の応答文が格納されている。しかし、特定の話題について連続して対話を行う場合には、実際に選択される応答文は当該特定の話題に関係するものに限られる。そこで、本発明の実施の形態２では、ユーザ２００から新たな発話を受け付けるより前の段階で、既に行われた対話の履歴に基づいて予め応答文ＤＢ１７０から応答文の候補を選択しておくものである。例えば、直前の応答処理と並行して次に受け付けるであろう発話の応答文の候補を検索し、キャッシュとして保存しておくものである。これにより、新たな発話を受け付けてから大量のデータが保存された応答文ＤＢ１７０と照合を行う必要がなくなり、応答処理時間を短縮することができる。
【００２６】
図３は、本発明の実施の形態２にかかる音声対話システム１００ａの構成を示す図である。図３は、上述した音声対話システム１００を改良したものであり、音声対話システム１００と同一の構成には同一の符号を付し、詳細な説明を省略する。
【００２７】
音声対話システム１００ａは、音声対話システム１００との違いとして、キーワード抽出部１１０がキーワード抽出部１１０ａ、選択部１４０が選択部１４０ａに置き換わり、単語重要度ＤＢ１８０及びキャッシュ１９０が追加されたものである。
【００２８】
単語重要度ＤＢ１８０は、複数の単語のそれぞれについて所定の基準に基づく重要度が定義されたデータベースである。所定の基準とは例えば、複数の話題やテーマのそれぞれに応じた基準である。また、重要度は、ある話題における文書集合の中に含まれる各単語について、単語の出現頻度等に基づいて算出されたものである。例えば、ｔｆ−ｉｄｆ（tf : Term Frequency, idf : Inverse Document Frequency）といった公知の技術を用いて重要度を算出することができる。または、各単語の重要度を話題ごとに人間が判断して予め設定したものであってもよい。
【００２９】
キャッシュ１９０は、複数の応答文の一部を記憶可能な部分記憶部である。つまり、キャッシュ１９０に記憶されるデータ量は、応答文ＤＢ１７０に保存されるデータ量より少ない。また、キャッシュ１９０は、応答文ＤＢ１７０を実現する記憶装置よりも高速な記憶装置、例えば、一次記憶装置等により実現しても構わない。
【００３０】
キーワード抽出部１１０ａは、キーワード抽出部１１０の機能に加え、対話記録部１６０から複数の単語がキーワードとして抽出された場合、単語重要度ＤＢ１８０を参照し、当該抽出された複数の単語のうち、重要度が所定値以上の単語をキーワードとする。尚、所定値は任意に設定可能である。また、キーワード抽出部１１０ａは、ユーザからの発話が新たに入力される前に実行される。例えば、直前の発話により選択部１４０ａや出力部１５０の処理と並行して実行される。または、ユーザ２００が次の発話を行う前、一定時間以上、間が空いている際に実行してもよい。
【００３１】
選択部１４０ａは、関連文選択部１４１と、応答文選択部１４２とを備える。関連文選択部１４１は、ユーザからの発話が新たに入力される前に、応答文ＤＢ１７０の中から抽出されたキーワードを含む複数の応答文（関連文）を選択する。そして、関連文選択部１４１は、選択した複数の応答文をキャッシュ１９０に格納する。応答文選択部１４２は、ユーザ２００からの発話が新たに入力された後に、キャッシュ１９０の中から当該発話に含まれる単語に対応する応答文を選択する。尚、応答文選択部１４２における単語に対応する応答文の選択の仕方は、上記実施の形態１と同様に、単語に関連する他の単語を特定し、特定した他の単語を含む応答文を選択するようにしてもよい。
【００３２】
尚、本実施の形態においては、キーワード抽出部１１０ａ及び単語重要度ＤＢ１８０は、必須ではない。その場合であっても処理時間を短縮できる。そして、キーワード抽出部１１０ａ及び単語重要度ＤＢ１８０を用いることにより、応答文を選択する精度を向上させることができる。
【００３３】
図４は、本発明の実施の形態２にかかる応答処理の流れを示すフローチャートである。尚、以下では図２と同等の処理については説明を省略する。キーワード抽出部１１０ａは、過去の対話記録と単語の重要度からキーワードを抽出する（Ｓ１１ａ）。すなわち、キーワード抽出部１１０ａは、直前の発話についての応答処理中又は応答処理後であって、次の発話が入力される前に、対話記録部１６０から複数の単語を抽出する。そして、キーワード抽出部１１０ａは、抽出された各単語について重要度が所定値以上のものをキーワードとする。
【００３４】
次に、関連文選択部１４１は、応答文ＤＢ１７０の中から、キーワードを含む複数の応答文を関連文として選択する（Ｓ１１ｂ）。尚、関連文選択部１４１は、応答文ＤＢ１７０内に応答文の一部を選択するものとする。そして、関連文選択部１４１は、選択した関連文をキャッシュ１９０に格納する（Ｓ１１ｃ）。
【００３５】
その後、図２と同様にステップＳ１２及びＳ１３が実行される。そして、応答文選択部１４２は、キャッシュ１９０からステップＳ１３により抽出された単語に対応する応答文を選択する（Ｓ１４ａ）。その後、図２と同様にステップＳ１５及びＳ１６が実行される。
【００３６】
このように、本実施の形態では、過去の対話記録に基づき応答文の候補を予めリストアップしておき、その後、発話された際にはリストアップされた（絞り込まれた）候補の中から応答文を選択することとなるため、処理時間を短縮できる。そのため、これまでの対話内容に基づき重要なキーワードが省略された発話がされた場合であっても、ユーザの意図を短時間で正確に把握できる。
【００３７】
＜その他の発明の実施の形態＞
尚、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００３８】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ(Blu-ray(登録商標) Disc)、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００３９】
１００  音声対話システム
１００ａ  音声対話システム
１１０  キーワード抽出部
１１０ａ  キーワード抽出部
１２０  発話受付部
１３０  単語抽出部
１４０  選択部
１４０ａ  選択部
１４１  関連文選択部
１４２  応答文選択部
１５０  出力部
１６０  対話記録部
１７０  応答文ＤＢ
１８０  単語重要度ＤＢ
１９０  キャッシュ
２００  ユーザ
【図１】
2015148758.tif 000003
【図２】
2015148758.tif 000004
【図３】
2015148758.tif 000005
【図４】
2015148758.tif 000006