(57)【要約】【課題】ユーザとの音声対話を利用して発話テンプレートを生成する音声対話装置を提供する。【解決手段】特定の話題に関する複数のキーワードと、前記各キーワードにそれぞれ対応した概念とを格納したキーワード辞書１７１と、ユーザの発話文を音声認識する音声認識部１３と、音声認識した前記発話文中に、前記キーワード辞書に格納された前記キーワードが含まれていた場合、前記キーワードを前記キーワードに対応する前記概念に置き換えて、置き換えた前記発話文を新しい発話テンプレートに設定し、テンプレート辞書１８１に格納するテンプレート生成部１２とを有する。【選択図】      図１
2012037790.tif 000002
【特許請求の範囲】
【請求項１】
テンプレート辞書に格納した発話テンプレートを用いてユーザと音声対話を行う音声対話装置において、
特定の話題に関する複数のキーワードと、前記各キーワードにそれぞれ対応した概念を示す情報とを格納したキーワード辞書格納部と、
ユーザの発話文を音声認識する音声認識部と、
前記音声認識部が音声認識した前記発話文中に、前記キーワード辞書に格納された前記キーワードが含まれていた場合、前記キーワードを前記キーワードに対応する前記概念を示す情報に置き換えて、置き換えた前記発話文を新しい発話テンプレートに設定し、前記テンプレート辞書に格納するテンプレート生成部と、
を有することを特徴とする音声対話装置。
【請求項２】
前記テンプレート生成部は、
音声認識した複数の前記発話文に関して、前記キーワード以外の部分を単位文字でそれぞれ分割し、
前記各発話文の前記各単位文字に関して、前記発話文間で前記キーワードを基準にして対応付けを行い、
対応付けされた前記単位文字の中で、音声認識された回数が絶対的、又は、相対的に多い前記単位文字をつなげた文字列から、前記発話テンプレートを生成する、
ことを特徴とする請求項１に記載の音声対話装置。
【請求項３】
前記ユーザに発話を出力する発話生成部をさらに有し、
前記発話生成部は同じ発話を複数回出力し、
前記テンプレート生成部は、複数の前記同じ発話に対する前記ユーザの回答した前記各発話文を用いて前記発話テンプレートを生成する、
ことを特徴とする請求項２に記載の音声対話装置。
【請求項４】
前記ユーザに発話を出力する発話生成部をさらに有し、
前記発話生成部は、前記ユーザが回答として同じ前記発話文を繰り返して発話するような質問文を複数回出力し、
前記テンプレート生成部は、複数回の前記質問文に対する前記ユーザが回答した前記各発話文を用いて前記発話テンプレートを生成する、
ことを特徴とする請求項３に記載の音声対話装置。
【請求項５】
前記テンプレート生成部は、
前記音声認識部が音声認識した前記各発話文の中で、互いの類似度が閾値より高い発話文のみを用いて、前記発話テンプレートを生成する、
ことを特徴とする請求項１に記載の音声対話装置。
【請求項６】
前記テンプレート生成部は、
前記発話テンプレートに関して形態素解析を行い、
前記形態素解析の結果に基づいて、元の前記発話テンプレートを変更して、新たな発話テンプレートを生成する、
ことを特徴とする請求項２に記載の音声対話装置。
【請求項７】
前記テンプレート生成部は、
前記形態素解析の結果に基づいて、前記発話テンプレートの文体を肯定文、否定文、又は、質問文に変更し、あるいは、前記発話テンプレートの時制を変更して、新たな発話テンプレートを生成する、
ことを特徴とする請求項６に記載の音声対話装置。
【請求項８】
前記テンプレート生成部は、
前記形態素解析の結果に基づいて、元の前記発話テンプレート中における前記キーワード以外の単語を、当該単語と同じ概念の単語に置き換えた文に変更して、新たな発話テンプレートを生成する、
ことを特徴とする請求項６に記載の音声対話装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、音声によって対話を行う音声対話装置に関する。
【背景技術】
【０００２】
音声対話装置がユーザと対話するためには対話内容に即した発話を行う必要がある。しかし、多種多様な発話を行うためには、高度な言語処理と膨大なデータベースが必要となる。そこで、実際の対話履歴を元にシステムの発話内容を生成する方法が提案されている。例えば、その中の一つの方法は、音声対話におけるユーザとの対話履歴を使用するものであり、ユーザの発話音声を音声認識し、認識結果を対話履歴として使用する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２８８１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
音声対話ではユーザの発話にはゆらぎが大きい。意味的には同じ内容の発話でも、言い回しや語尾が変化し、いつも同じ文章を発話するとは限らない。そのような環境下においても、音声対話を用いて新しい発話テンプレートを生成する必要がある。
【０００５】
そこで、本発明の実施形態は、上記問題点に鑑み、ユーザとの音声対話を利用して発話テンプレートを生成する音声対話装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施形態は、テンプレート辞書に格納した発話テンプレートを用いてユーザと音声対話を行う音声対話装置において、特定の話題に関する複数のキーワードと、前記各キーワードにそれぞれ対応した概念を示す情報とを格納したキーワード辞書格納部と、ユーザの発話文を音声認識する音声認識部と、前記音声認識部が音声認識した前記発話文中に、前記キーワード辞書に格納された前記キーワードが含まれていた場合、前記キーワードを前記キーワードに対応する前記概念を示す情報に置き換えて、置き換えた前記発話文を新しい発話テンプレートに設定し、前記テンプレート辞書に格納するテンプレート生成部と、を有することを特徴とする音声対話装置である。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施例１の音声対話装置のブロック図。
【図２】実施例１の発話文生成のフローチャート。
【図３】実施例１の発話テンプレート格納のフローチャート。
【図４】実施例２の発話テンプレート格納のフローチャート。
【図５】実施例２の音声認識結果から正解の発話文生成例。
【図６】実施例２の音声認識結果から正解の発話文生成例。
【図７】実施例３の発話テンプレート格納のフローチャート。
【図８】実施例３の対話例。
【図９】実施例４の発話テンプレートの第１の変換例。
【図１０】実施例４の発話テンプレートの第２の変換例。
【発明の実施するための形態】
【０００８】
以下、本発明に係る音声対話装置１の実施の形態を図面に基づいて説明する。
【実施例１】
【０００９】
本発明の実施例１の音声対話装置１について図１〜図３に基づいて説明する。
【００１０】
本実施例の音声対話装置１は、図１（ａ）に示すように、例えば、ユーザ２と音声によって対話を行うロボット３に内蔵された装置である。
【００１１】
まず、音声対話装置１の構成について図１（ｂ）のブロック図に基づいて説明する。
【００１２】
音声対話装置１は、ユーザ２の音声を入力するためのマイク１５、ユーザ２の音声を音声認識してテキストの発話文に変換する音声認識部１３、ユーザ２の発話内容に応じて発話文を生成する発話生成部１１、ユーザに対する発話文を音声に変換する音声合成部１４、音声を出力するスピーカ１６、発話プレートを生成するテンプレート生成部１２、キーワード辞書データベース１７、テンプレート辞書データベース１８、概念辞書１９を有する。
【００１３】
キーワード辞書データベース１７には、複数のキーワード辞書１７１が格納されている。キーワード辞書１７１は、図１に示すように複数のキーワードが登録されたファイルであり、各キーワード辞書１７１には、特定の話題について関連性の高い単語がキーワードとして格納されている。例えば、図１のキーワード辞書１７１は、「京都旅行」に関する辞書であり、キーワードは、「京都」「新幹線」「舞妓」「湯豆腐」などである。また、各キーワードには、そのキーワードの概念が付与されている。例えば、「京都」の概念は「場所」であり、「新幹線」の概念は「乗り物」であり、「舞妓」の概念は「人」であり、「湯豆腐」の概念は「食べ物」である。キーワード辞書１７１中の各キーワードの概念は、概念辞書１９から引いて付与されている。概念辞書１９にはさまざまな単語が数十個から数百個の概念に分類されている。なお、「概念」とは、事物の本質的な特徴を意味する。
【００１４】
各キーワード辞書１７１は、上記したように特定の話題に関するものであり、それぞれの話題に関する対話記録や関連情報などのテキストから生成されている。その生成方法は、次の通りである。
【００１５】
第１に、キーワード辞書データベース１７は、各テキストから助詞・助動詞等を除いた単語だけを抽出する。
【００１６】
第２に、キーワード辞書データベース１７は、各単語の該当テキスト中での頻度（ｔｆ）、該当テキスト以外で、その単語を含むテキストの数Ｎを算出する。さらに、テキストの総数Ｎａｌｌを用いて、評価値ｉｄｆ＝ｌｏｇ（Ｎａｌｌ／Ｎ）を算出する。
【００１７】
第３に、キーワード辞書データベース１７は、ｔｆ−ｉｄｆを算出し、ｔｆ−ｉｄｆが基準より高い単語を、キーワードとして抽出する。
【００１８】
なお、キーワード辞書１７１は話題毎に予め生成されているが、リアルタイムに生成することも可能である。
【００１９】
テンプレート辞書データベース１８には、複数のテンプレート辞書１８１が格納されている。テンプレート辞書１８１は「旅行」「ＴＶ」「本」「映画」等の対話の種類の数だけ格納されている。テンプレート辞書１８１は、図１（ｂ）に示すように概念辞書１９中の各概念を使用した発話テンプレートが複数記述されたファイルである。例えば、発話プレートしては、「［場所］に行く」、「［食べ物］を食べる」などであり、発話テンプレート中の概念が記述されている［］の部分を、その概念を持つキーワード（例えば、「京都」）に置換すれば発話文が生成できる。なお、キーワードを挿入すべき位置と挿入されるキーワードの概念を特定できれば、発話テンプレートのデータ構造は任意の形式で構わない。
【００２０】
音声対話装置１が、ユーザ２に対する発話文を生成する方法について図２のフローチャートに基づいて説明する。
【００２１】
音声対話装置１は、ユーザ２と対話を始める前に、何の話題について発話するかを予め決めておく。音声対話装置１は、その話題に応じてキーワード辞書１７１とテンプレート辞書１８１を選択する。音声対話装置１は、図２に示すように「京都旅行」という話題について発話するため、「京都旅行」に関するキーワードを格納したキーワード辞書１７１と「旅行」に関する発話テンプレートを格納したテンプレート辞書１８１を選択する。発話生成部１１は、この選択したキーワード辞書データベース１７とテンプレート辞書データベース１８を使用して発話文を生成する。
【００２２】
ステップｓ１では、ユーザ２が発話を行う。
【００２３】
ステップｓ２では、音声認識部１３が、ユーザ２の発話文を音声認識する。
【００２４】
ステップｓ３では、発話生成部１１は、ユーザ２と現在対話している話題「京都旅行」用のキーワード辞書１７１中からキーワード「京都」を選択する。キーワードの選択方法としては、例えば、発話生成部１１が、音声認識した発話文中にキーワード辞書１７１で格納しているキーワードが存在すれば、そのキーワードを選択してもよいし、ランダムに選択してもよい。
【００２５】
ステップｓ４では、発話生成部１１は、ユーザ２と現在対話している話題の種類「旅行」に対応したテンプレート辞書１８１中で、選択したキーワード「京都」の概念「場所」を含む発話テンプレートを選択する。
【００２６】
ステップｓ５では、発話生成部１１は、選択したキーワード辞書１７１中のキーワードとテンプレート辞書１８１中の発話テンプレートを組み合わせて発話文を生成する。例えば、発話生成部１１は、「京都」というキーワードと、「［場所］に行く」という発話テンプレートを組み合わせて「京都に行く」という発話文を生成する。
【００２７】
ステップｓ６では、音声合成部１４がスピーカ１６を用いて、生成した発話文を発話する。
【００２８】
このようにキーワード辞書１７１とテンプレート辞書１８１の組み合わせで、音声対話装置１は発話を行う。
【００２９】
次に、音声対話装置１が、ユーザ２との対話履歴を用いて、テンプレート辞書１８１に新しく発話テンプレートを格納する方法について説明する。例えば、音声対話装置１とユーザ２が以下のような対話を行ったとする。
【００３０】
音声対話装置１：「京都はいつ行くのがいいの？」
ユーザ２      ：「京都は秋がお勧めだよ」
音声対話装置１が、この対話例から発話テンプレートを生成する方法について図３のフローチャートに基づいて説明する。
【００３１】
ステップｓ２１では、音声対話装置１が「京都はいつ行くのがいいの？」と発話したことに対して、ユーザ２が「京都は秋がお勧めだよ」と発話する。
【００３２】
ステップｓ２２では、音声認識部１３は、音声認識を行い、これにより、音声認識結果「京都は秋がお勧めだよ」を得る。
【００３３】
ステップｓ２３では、テンプレート生成部１２は、音声認識した発話文中にキーワード辞書１７１に格納しているキーワードが含まれているかどうか検索を行う。キーワードが含まれていればステップｓ２４に進み（ｙｅｓの場合）、含まれていなければ処理を終了する（ｎｏの場合）。ここで、ユーザ２の発話には、キーワード「京都」が含まれているのでステップｓ２４に進む。
【００３４】
ステップｓ２４では、テンプレート生成部１２は、検索の結果キーワードが含まれているので、その部分をキーワードの概念に置換する。ここでは、テンプレート生成部１２は、「京都」の概念「場所」に置換する。
【００３５】
ステップｓ２５では、テンプレート生成部１２は、置換された文章「［場所］は秋がお勧めだよ」を新たな発話テンプレートに設定し、テンプレート辞書データベース１８のテンプレート辞書１８１「旅行」に格納する。
【００３６】
本実施例によれば、音声対話装置１は、新しい発話テンプレート「［場所］は秋がお勧めだよ」を使用して発話を今後行うことができる。この発話テンプレートはテンプレート辞書１８１「旅行」に格納されているので「旅行」の対話であれば他のキーワード辞書１７１と組み合わせて使用できる。例えば、音声対話装置１は、「北海道旅行」のキーワード辞書１７１中のキーワード「小樽」を使用して「小樽は秋がお勧めだよ」という発話文を生成できる。
【実施例２】
【００３７】
本発明の実施例２の音声対話装置１について図４〜図６に基づいて説明する。
【００３８】
ユーザ２の発話文を使用して新しい発話テンプレートを生成する際、実施例１のようにユーザ２の発話文を正確に音声認識できるとは限らない。そこで、本実施例では、複数のユーザ２の発話の音声認識した発話文を使用して一つの発話テンプレートを生成する。
【００３９】
なお、実施例１ではユーザ２の発話直後にリアルタイムに発話テンプレートを生成したが、本実施例の音声対話装置１では、ユーザ２との対話終了後に発話テンプレートを生成する。
【００４０】
本実施例の音声対話装置１が発話テンプレートを生成する第１の具体例について、図４のフローチャートと図５に基づいて説明する。
【００４１】
ステップｓ３１では、テンプレート生成部１２は、実施例１と同じように、ユーザ２の複数の発話の音声認識である発話文中に、キーワード辞書１７１に格納されたキーワードが含まれるかどうかをそれぞれ検索する。キーワードが含まれていればステップｓ３２に進み（ｙｅｓの場合）、含まれていなければ処理を終了する（ｎｏの場合）。ここで、ユーザ２の各発話には、キーワード「京都」が含まれているのでステップｓ３２に進む。
【００４２】
ステップｓ３２では、テンプレート生成部１２が同じキーワードを含む複数の発話文を使用して正しい音声認識の発話文を、図５の記載を例示として、次の順番で生成する。なお、図５は、テンプレート生成部１２は、５個の「京都」を含む音声認識した発話文を取得した場合を示し、図５（ａ）の右側の文章中の（）内はユーザ２の実際の発話文であり、左側の文章における下線部は音声認識部１３が誤認識している部分である。
【００４３】
第１に、テンプレート生成部１２は、図５（ｂ）に示すように、各音声認識した５個の発話文に関して「京都」以外をひらがなに変換する。
【００４４】
第２に、テンプレート生成部１２は、図５（ｂ）に示すように、キーワード「京都」を中心に、かつ、単位文字（すなわち、ひらがな単位）で、５個の発話文を可能な限り重なる部分が多くなるように対応付けを行う。
【００４５】
第３に、テンプレート生成部１２は、対応付けを行ったひらがなの中で、音声認識された回数が多いひらがなを選択する。テンプレート生成部１２は、絶対的に回数が多いひらがなを選択しても構わないし、相対的に回数が多いひらがなを選択しても構わない。絶対的に回数が多いか否かは、閾値を用いて判断する。相対的に回数が多いか否かは、音声認識された回数の多さの順位に基づいて判断する（例えば、最も回数が多いか否か）。
【００４６】
第４に、テンプレート生成部１２は、図５（ｃ）に示すように、選択したひらがなとキーワード「京都」をつなげて文字列を生成して、「京都にいった」という文章を正解文章として生成する。
【００４７】
第５に、テンプレート生成部１２は、図５（ｄ）に示すように、正解文章に、元の音声認識結果から漢字を割り当てて「京都に行った」という文章を生成する。
【００４８】
ステップｓ３３では、テンプレート生成部１２は、「京都」を概念［場所］に置換して「［場所］に行った」という文章を、新たな発話テンプレートに設定する。
【００４９】
ステップｓ３４では、テンプレート生成部１２は、新たな発話テンプレート「［場所］に行った」をテンプレート辞書データベース１８のテンプレート辞書１８１「旅行」に格納する。
【００５０】
この第１の具体例では、ユーザ２の異なる５個の発話文を統合して１つの発話文を生成している。そのため、誤認識した部分を削除できる。また、１回しか発話しなかった「清水寺」も削除され、ユーザ２がよく発話した部分だけが残るようになる。そのため、ユーザ２の発話の癖も取得できる。
【００５１】
本実施例の音声対話装置１が発話テンプレートを生成する第２の具体例について、図６に基づいて説明する。
【００５２】
図６は、音声対話装置１が、「〜じゃん」という口癖を持ったユーザ２の音声認識結果から発話テンプレートを生成する例を示している。口癖は発話される頻度が高いので、認識結果に出てくる確率も高く、図６に示すように発話テンプレートに残る可能性が高い。図６（ａ）に示すように、テンプレート生成部１２は、４個の「新幹線」を含む音声認識した発話文を取得する。図６（ａ）の右側の文章の（）内はユーザ２の実際の発話文で、左側の文章の下線部は音声認識部１３が誤認識している部分である。
【００５３】
第１に、テンプレート生成部１２は、図６（ｂ）に示すように、各音声認識した発話文に関してキーワード「新幹線」以外をひらがなに変換する。
【００５４】
第２に、テンプレート生成部１２は、図６（ｂ）に示すように、キーワード「新幹線」を中心にひらがな単位で、４個の発話文を可能な限り重なる部分が多くなるように対応付けを行う。
【００５５】
第３に、テンプレート生成部１２は、対応付けを行ったひらがなの中で、音声認識された回数が多いひらがなを選択する。テンプレート生成部１２は、絶対的に回数が多いひらがなを選択しても構わないし、相対的に回数が多いひらがなを選択しても構わない。絶対的に回数が多いか否かは、閾値を用いて判断する。相対的に回数が多いか否かは、音声認識された回数の多さの順位に基づいて判断する（例えば、最も回数が多いか否か）。
【００５６】
第４に、テンプレート生成部１２は、図６（ｃ）に示すように、選択したひらがなとキーワード「新幹線」をつなげて文字列を生成して、「新幹線ははやいじゃん」という文章が正解文章として生成する。
【００５７】
第５に、テンプレート生成部１２は、図６（ｄ）に示すように、元の音声認識結果から漢字を割り当てて「新幹線は早いじゃん」という文章を生成する。
【００５８】
第６に、テンプレート生成部１２は、キーワード「新幹線」を概念［乗り物］に置換して「［場所］は早いじゃん」という文章を、新たな発話テンプレートに設定する。
【００５９】
第７に、テンプレート生成部１２は、新たな発話テンプレート「［乗り物］は早いじゃん」を、テンプレート辞書データベース１８のテンプレート辞書１８１「旅行」に格納する。
【００６０】
第２の具体例によれば、音声対話装置１は、言語的な解析をしないため、言語的に意味を持たない「〜じゃん」のような口癖も発話テンプレートとして格納できる。
【００６１】
この方法によって発話テンプレートを大量に生成して、これを使用して音声対話装置１が発話を行うと、ユーザ２のしゃべり方に似たしゃべり方をする音声対話装置１を構築できる。
【００６２】
本実施例によれば、音声対話装置１を内蔵したロボット３は、無味乾燥な発話ではなく、キャラクタを持った発話を行うことができ、さらにユーザ２と同じようなしゃべり方なので、ユーザ２に親近感を持ってもらうことができる。
【実施例３】
【００６３】
本発明の実施例３の音声対話装置１について図７〜図８に基づいて説明する。
【００６４】
実施例２では、複数の音声認識した発話文を使用して発話テンプレートを生成した。しかし、この方法だと、同じキーワード辞書１７１に格納されたキーワードを含む全ての音声認識した発話文を使用して１つの発話テンプレートしか生成されない。また、ユーザ２が同じような文章を発話しているとは限らないので、全く異なる発話の音声認識した発話文を対応付けしても、正しい発話テンプレートを得るのは難しい。
【００６５】
そこで、本実施例では、同じキーワード辞書１７１に格納されたキーワードを含む音声認識した発話文の中で、互いの類似度が高いものだけでグルーピングし、同じグループ内の発話文のみで、実施例２で説明した対応付けを行って発話テンプレートを生成する。
【００６６】
本実施例の音声対話装置１が発話テンプレートを生成する第１の具体例について、図７のフローチャートに基づいて説明する。
【００６７】
ステップｓ４１では、テンプレート生成部１２は、実施例１と同じように、音声認識した各発話文中に、キーワード辞書１７１に格納されたキーワードが含まれるかどうかを検索する。キーワードが含まれていればステップｓ３２に進み（ｙｅｓの場合）、含まれていなければ処理を終了する（ｎｏの場合）。
【００６８】
ステップｓ４２では、テンプレート生成部１２は、キーワード辞書１７１に格納されたキーワードを含む音声認識した発話文について、同じキーワードを含む発話文を類似度の高い発話文毎にグルーピングする。このグルーピング方法については後から詳しく説明する。
【００６９】
ステップｓ４３では、テンプレート生成部１２は、グループ分けを行った後、同じグループの発話文を使って発話テンプレートを生成する。これ以降の処理は実施例２と同じなので省略する。
【００７０】
次に、テンプレート生成部１２が、ステップｓ４２で行う発話文のグルーピング方法について詳しく説明する。
【００７１】
第１のグルーピング方法は、ユーザ２との対話履歴を使用する方法である。音声対話装置１が同じ発話をした際のユーザ２の発話は、同じような発話をしている可能性が高い。図８（ａ）（ｂ）は音声対話装置１が同じ質問を複数回行った際のユーザ２の回答例であり、これを用いて説明する。
【００７２】
図８（ａ）の例では、音声対話装置１が、「京都はいつ行くのがいいの？」と２回質問すると、ユーザ２が「京都は秋がお勧めだよ」、「京都はそうだねえ、秋がお勧めだと」とそれぞれ回答したとする。
【００７３】
図８（ｂ）の例では、音声対話装置１が、「京都はどうやって行くの？」と２回質問すると、ユーザ２が「そうだねえ、新幹線に乗るんじゃないかな」、「新幹線に乗るといいよ」とそれぞれ回答したとする。
【００７４】
同じ質問に対する回答同士は、図８の文章の下線部のように重複する文字列が多いので、音声認識結果も重複する文字列が多くなる。このように、対話を何度も行ったり、長時間行った際に、音声対話装置１が同じ質問をした際のユーザ２の回答は類似度が高い文章とみなし、テンプレート生成部１２は同じグループに分ける。なお、第１のグルーピング方法では、音声対話装置１が行う同じ質問は、対話として連続してなくてよく、最初の質問と次の質問との間に他の対話があってもよい。
【００７５】
第２のグルーピング方法は、音声対話装置１が、ユーザ２に同じ発話文を繰り返して発話させるような質問文を用いて聞き直す方法である。ユーザ２が何か発話した後に、「え？なんて言ったの？」のような聞き返す発話を音声対話装置１が行う。するとユーザ２は先ほど発話した文章に似た内容を発話する可能性が高い。ユーザ２自身も一度発話した内容を正確に覚えてはいないので、全く同じ文章を発話するとは限らないが、似たような内容の文章を発話する可能性が高い。そこで、音声対話装置１がこのような発話をした際の前後のユーザ２の発話は類似度が高い文章とみなし、同じグループに分ける。このような同じグループの文章を増やすために、音声対話装置１は意図的に聞き返す発話を行ってもよい。なお、第２のグルーピング方法では、音声対話装置１が行う聞き直しは、対話として連続している必要がある。
【００７６】
第３のグルーピング方法は、音声認識された各発話文の互いの類似度を用いる方法であり、類似度として編集距離を使用する。テンプレート生成部１２は同じキーワード辞書１７１に格納されたキーワードを含む音声認識された発話文同士の編集距離を算出する。テンプレート生成部１２は編集距離の近い文章は類似度が高いとみなし、編集距離が閾値以下である２つの発話文を同じグループに分ける。なお、「編集距離」とは、２つの文字列がどの程度異なっているかを示す数値であって、例えば、文字の挿入や削除、置換によって、１つの文字列を別の文字列に変形するのに必要な手順の最小回数を意味する。
【００７７】
本実施例によれば、類似度の高い発話文同士を対応付けて発話テンプレートを作ることで、発話テンプレートに残る文字列が多くなり、より長くて複雑な発話文を生成できる。
【実施例４】
【００７８】
本発明の実施例４の音声対話装置１について図９〜図１０に基づいて説明する。
【００７９】
本実施例では、生成された発話テンプレートはそのまま格納するだけでなく、一定の変換ルールに基づいて発話テンプレートを変換した文章を発話テンプレートとして格納する。
【００８０】
以下、第１の変換ルールの例を説明する。
【００８１】
第１の変換ルールは、元の発話テンプレートの文体を肯定文、否定文、又は、疑問文に変更する。例として肯定文から疑問文への変換を行う際のルールを説明する。肯定文から疑問文への変換は、主に文末の語句を変換させればよい。以下は発話テンプレートを形態素解析した際の文末の形態素１つ、又は、２つの種類に応じた変換ルールである。文末に助詞が入る場合は助詞は無視される。
【００８２】
・名詞＋助動詞  →名詞＋「なの？」
・名詞          →名詞＋「なの？」
・動詞＋助動詞  →動詞基本形＋「の？」
・動詞          →動詞基本形＋「の？」
・形容詞＋助動詞→形容詞基本形＋「の？」
・形容詞        →形容詞基本形＋「の？」
図９（ａ）に示すように、テンプレート生成部１２が、例として「［場所］は秋がお勧めだよ」という発話テンプレートを疑問文に変換する方法を説明する。図９はその変換過程を示したものである。
【００８３】
まず、テンプレート生成部１２は、図９（ｂ）に示すように、発話テンプレートを形態素解析する。すると、この発話テンプレートは、助詞以外の形態素だけに注目すると、文末は「名詞＋助動詞」から構成されている。
【００８４】
次に、テンプレート生成部１２は、図９（ｃ）に示すように、上記ルールの「名詞＋助動詞→名詞＋「なの？」」を適用し、「お勧めだ」が「お勧めなの？」に変換する。
【００８５】
次に、テンプレート生成部１２は、「［場所］は秋がお勧めなの？」という新しい発話テンプレートを生成する。
【００８６】
以下、第２の変換ルールの例を説明する。
【００８７】
第２の変換ルールは、発話テンプレートの時制を変更する。以下は現在形から過去形に変換するルールである。
【００８８】
・名詞          →名詞＋「だった」
・名詞＋助動詞  →名詞＋「だった」
・動詞＋助動詞  →動詞連用形＋「た」
・動詞          →動詞連用形＋「た」
・形容詞＋助動詞→形容詞連用形＋「た」
・形容詞        →形容詞連用形＋「た」
テンプレート生成部１２は、「［場所］は秋がお勧めだよ」という発話テンプレートに、図９（ｄ）に示すように、「名詞＋助動詞→名詞＋「だった」」というルールを適用して、「［場所］は秋がお勧めだった」と変換する。
【００８９】
以下、第３の変換ルールの例を説明する。
【００９０】
第３の変換ルールは、発話テンプレート中の語句を一部変更する。
【００９１】
音声対話装置１中には概念辞書１９があり、この中にはさまざまな単語が同じ概念に分類されていて、基本的に同じ概念の単語は文中で同じような用法で使用される。
【００９２】
例えば、時間的頻度を概念にもつ「ときどき」と「よく」を例にとると「図書館にときどき行く」と「図書館によく行く」のように同じ文章中でその部分だけ入れ替えても日本語文章として使用できる。
【００９３】
そこで、まず、テンプレート生成部１２は、発話テンプレートを形態素解析し、各形態素を概念辞書１９で検索し、各形態素の概念を見つける。次に、テンプレート生成部１２は、同じ概念中の単語と置換したものも新しい発話テンプレートとして使用する。
【００９４】
図１０（ａ）に示すように、例として「［場所］は秋がお勧めだよ」という発話テンプレートを変換する場合について説明する。
【００９５】
テンプレート生成部１２は、図１０（ｂ）に示すように、形態素解析し、各形態素を概念辞書１９で検索すると「秋」という単語は「季節」という概念を持つことがわかる。
【００９６】
そこで、テンプレート生成部１２は、図１０（ｂ）に示すように、「秋」を同じ概念を持つ他の単語を抽出し、図１０（ｄ）に示すように、その抽出した単語で置換した発話テンプレート「［場所］は春がお勧めだよ」「［場所］は早春がお勧めだよ」「［場所］は梅雨時がお勧めだよ」などを生成する。
【００９７】
上記のいくつかの例を組み合わせた変換も可能である。
【変更例】
【００９８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の主旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９９】
１・・・音声対話装置、１１・・・発話生成部、１２・・・テンプレート生成部、１３・・・音声認識部、１４・・・音声合成部、１７１・・・キーワード辞書、１８１・・・テンプレート辞書
【図１】
2012037790.tif 000003
【図２】
2012037790.tif 000004
【図３】
2012037790.tif 000005
【図４】
2012037790.tif 000006
【図５】
2012037790.tif 000007
【図６】
2012037790.tif 000008
【図７】
2012037790.tif 000009
【図８】
2012037790.tif 000010
【図９】
2012037790.tif 000011
【図１０】
2012037790.tif 000012