(57)【要約】 【課題】ユーザの発話に基づいて音声認識率を維持したままシチュエーションを切り替える方法等の提供。【解決手段】    複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルと、語彙の集合である切り替え言語モデルを備え、ユーザの発話の意図を、上記シチュエーション言語モデルと切り替え言語モデルを参照して解釈し、前記ユーザの発話の意図とシチュエーション言語モデルに基づいて発話を生成する、コンピュータによる対話方法であって、ユーザの発話の中に、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙がある場合、現在のシチュエーションに代えて当該語彙に対応するシチュエーションに応じた発話を生成するコンピュータによる対話方法。【選択図】図３
2009036998.tif 000002
【特許請求の範囲】
【請求項１】
複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルと、語彙の集合である切り替え言語モデルを備え、
ユーザの発話の意図を、上記シチュエーション言語モデルと切り替え言語モデルを参照して解釈し、
前記ユーザの発話の意図とシチュエーション言語モデルに基づいて発話を生成する、コンピュータによる対話方法であって、
ユーザの発話の中に、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙がある場合、現在のシチュエーションに代えて当該語彙に対応するシチュエーションに応じた発話を生成するコンピュータによる対話方法。
【請求項２】
前記切り替え言語モデルは、語彙を逆ツリー状に階層構造化したものであり、該語彙構造における少なくとも最上位の語彙にはシチュエーションが対応付けられている請求項１に記載のコンピュータによる対話方法。
【請求項３】
前記語彙構造において、ユーザの発話の中の、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙にはシチュエーションが対応付けられていない場合、前記語彙構造を上位方向に遡り、最初に発見されたシチュエーションの対応付けを有する語彙に対応するシチュエーションに応じた発話を生成する請求項２に記載のコンピュータによる対話方法。
【請求項４】
ユーザの発話およびコンピュータによって生成された発話はいずれも音声情報である請求項１ないし３のいずれかに記載のコンピュータによる対話方法。
【請求項５】
複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルと、語彙の集合である切り替え言語モデルとを記憶した記憶媒体と、
ユーザの発話の意図を、上記シチュエーション言語モデルと切り替え言語モデルとを参照して解釈する意図解釈部と、
前記ユーザの発話の意図とシチュエーション言語モデルに基づいて発話を生成する発話生成部と、
ユーザの発話の中に、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙がある場合、現在のシチュエーションに代えて当該語彙に対応するシチュエーションに切り替えるシチュエーション設定部とを備え、
シチュエーションに応じた発話を生成すると共に、ユーザの発話に基づいてシチュエーションの切り替えを行う対話システム。
【請求項６】
前記切り替え言語モデルは、語彙を逆ツリー状に階層構造化されたものであり、該語彙構造における少なくとも最上位の語彙にはシチュエーションが対応付けられている請求項５に記載の対話システム。
【請求項７】
前記語彙構造において、ユーザの発話の中の、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙にはシチュエーションが対応付けられていない場合、前記語彙構造を上位方向に遡り、最初に発見されたシチュエーションの対応付けを有する語彙に対応するシチュエーションに切り替える請求項６に記載の対話システム。
【請求項８】
ユーザの発話およびコンピュータによって生成された発話はいずれも音声情報である請求項５ないし７のいずれかに記載の対話システム。
【請求項９】
前記意図解釈部は、ユーザの発話を文字列に変換した後にシチュエーション言語モデルと切り替え言語モデルとを参照して解釈する請求項８に記載の対話システム。
【請求項１０】
コンピュータに対して請求項１ないし４のいずれかに記載の方法を実行させるように、コンピュータによって読み取り可能に記載されたコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納した、コンピュータに読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータによる対話方法、対話システム、同方法を実行するためのコンピュータプログラムおよび同プログラムを格納したコンピュータに読み取り可能な記憶媒体に関するものであり、特に、ユーザによる話題の変更にスムーズに追従することができる対話方法等に関するものである。
【背景技術】
【０００２】
ユーザがコンピュータに会話を入力した場合、コンピュータは、それまでの会話の内容などから、その会話のシチュエーションは何であるかを特定し、当該シチュエーションで専ら用いられる語彙を参照して会話の内容を解釈することが行われる。これは、シチュエーションを特定することによって、ユーザーが入力した会話のコンピュータによる解釈がより正確なものになり、したがって、ユーザに応答してコンピュータが返す質問等がより適切になるからである。
このようなシステムによれば、例えば、コンピュータとユーザとが、入出力インターフェースを通じて以下のような対話を行うようなことが可能になる。
コンピュータ：「昨日はどこでゴルフをしたのですか？」
ユーザ：「○○カントリーでしたよ。」
コンピュータ：「成績はいかがでしたか？」
ユーザ：「イマイチでしたね。」
【０００３】
上記のコンピュータとユーザとの対話は、「ゴルフ」というシチュエーションにおいて行われたものの例である。この場合、質問および返事のやり取りが「ゴルフ」の範疇であれば問題はないが、シチュエーションを変えて例えば、次の休暇に予定している予定について、「旅行」というシチュエーションで対話を行おうとすると、従来方法では話題の変更がスムーズに行われない。つまり、上記の対話に続いて仮にユーザが旅行の話題を持ち出したとしても、コンピュータはシチュエーション「ゴルフ」を維持したままで、その範囲内で対話を行なおうとするからである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、従来技術が有する上記のような問題点を改善するために案出されたものであり、ユーザの発話に基づいてシチュエーションの変更を随時行うことによって、ユーザの話題の変更にスムーズに追従することのできる対話方法、対話システム、同方法を実行するためのコンピュータプログラムおよび同プログラムを格納したコンピュータに読み取り可能な記憶媒体を提供することを目的としたものである。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために、本発明は、複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルと、語彙の集合である切り替え言語モデルを備え、
ユーザの発話の意図を、上記シチュエーション言語モデルと切り替え言語モデルを参照して解釈し、
前記ユーザの発話の意図とシチュエーション言語モデルに基づいて発話を生成する、コンピュータによる対話方法であって、
ユーザの発話の中に、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙がある場合、現在のシチュエーションに代えて当該語彙に対応するシチュエーションに応じた発話を生成するコンピュータによる対話方法を提案する。
【０００６】
ここで、シチュエーションとは、例えば、「ゴルフクラブ」、「ゴルフコース」、「ゴルフスウィング」というような複数の話題を包含する上位概念である。シチュエーション言語モデルは、上記の例の場合であれば、「ゴルフクラブ」、「ゴルフコース」、「ゴルフスウィング」等のそれぞれに関連する語彙の集合である。例えば、話題「ゴルフクラブ」には、「ドライバー」、「アイアン」、「パター」、「ウッド」等の語彙が含まれる。
【０００７】
本発明の対話方法によれば、ユーザの発話の意図を解釈するに際して、上記シチュエーション言語モデルと切り替え言語モデルを参照する。さらに、併せて一般言語の語彙を参照するものであってもよい。特に、一般言語の語彙を併せて参照する場合には、現在のシチュエーション言語モデルを一般言語の語彙に優先して用いることが望ましい。シチュエーション言語モデルは、ユーザの発話の意図を解釈する際と、コンピュータによる発話を生成する際に参照される。
本明細書に於いて、発話とは、文書を提示すること一般の意味で用いており、ユーザがキーボードを通じて文字入力を行うこと、マイクを使って音声入力すること、コンピュータが文字列を画面に表示すること、スピーカを使って発音することを含む概念として用いる。
【０００８】
切り替え言語モデルは、特定のシチュエーションにおいて典型的に試用される語彙の集合である。例えば、「頭痛」、「映画」、「恋人」のような語彙である。特定のシチュエーション言語モデルと共に使用される切り替え言語モデルは、当該シチュエーション言語モデルに含まれる語彙を含むものであってもよいし、含まないものであってもよい。前者の場合、シチュエーションにかかわらず同一の切り替え言語モデルを使用することが可能になる。
【０００９】
本発明の方法によれば、ユーザの発話中に、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙がある場合、現在のシチュエーションに代えて当該語彙に対応するシチュエーションに応じた発話を生成する。つまり、特定のシチュエーションにおいてユーザの発話が行われている間は、コンピュータによって、当該シチュエーション言語モデルに基づいて発話が行われるが、ユーザの発話の中に、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙がある場合、コンピュータはユーザが話題を変更しようとしていると判断して、ユーザの発話中に発見された切り替え言語モデルに対応付けられたシチュエーション言語モデルに基づいて発話する。
【００１０】
シチュエーションの切り替えは、「切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙」が１つ認識されたことによって行われてもよいし、複数認識されることを条件として行われるものであってもよい。あるいは、複数認識された前記語彙が最も多く関連付けられたシチュエーションを選択するように、認識比率に基づくものであってもよい、さらには、最近設定されたことのあるシチュエーションを優先的に選択することであってもよい。
【００１１】
従来技術に関して例示した対話に基づいて本発明による話題の変更を例示すると、典型的には以下のようになる。
コンピュータ：「昨日はどこでゴルフをしたのですか？」
ユーザ：「○○カントリーでしたよ。」
コンピュータ：「成績はいかがでしたか？」
ユーザ：「イマイチでしたね。途中で頭痛がするようになったので集中力が足りませんでした。」
コンピュータ：「それはいけませんね。風邪をひいたのかもしれません。のどの痛みはありますか？」
ユーザ：「今日は、のどは痛くないけれど、熱がありそうです。」
【００１２】
上記の対話例では、途中までシチュエーションは「ゴルフ」が設定されていたが、ユーザの発話中に、切り替え言語モデルに含まれが現在のシチュエーション言語モデルに含まれない「頭痛」という語彙が含まれていたため、コンピュータは、シチュエーションを「病気」に切り替え、病気に関するシチュエーション言語モデルに基づいて次の発話「それはいけませんね。風邪をひいたのかもしれません。のどの痛みはありますか？」を発話した。
このようにして、ユーザの発話に基づき対話のシチュエーションが変化したことを感知して、コンピュータが自動的に新しいシチュエーションの基で発話を行うので、対話が非常にスムーズで違和感がない。
また、ユーザが、「頭痛がする」ではなく、「仕事のことが気になって」と発話すれば、シチュエーションは「仕事」に切り替わって、シチュエーション「仕事」の下で対話が続くことになる。
【００１３】
本発明においては、切り替え言語モデルは、語彙を逆ツリー状に階層構造化したものであり、該語彙構造における少なくとも最上位の語彙にはシチュエーションが対応付けられているのが望ましい。図１は、本発明に基づく切り替え言語モデルの階層構造を例示したものである。この例では、「ヘルスケア」という概念には「損ねる」「維持」という属性があり、その属性と関連付けられる概念として「病気」「ダイエット」「運動」が存在する。また「症例」という概念には、その概念の実体として「発熱」「咳」「頭痛」が存在することを意味している。また、実体は認識辞書の見出し語と同じである。すみ括弧で括ったメモの図がシチュエーションを表している。
図１に例示したように、上層の語彙に対してその下の層の１つまたは複数の語彙が関連付けられるが、下層の語彙から見ると関連付けられたその上の層の語彙は１つのみである構造をここでは、逆ツリー状に階層構造と称する。
【００１４】
前記語彙構造において、ユーザの発話の中の、「切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙」にはシチュエーションが対応付けられていない場合、前記語彙構造を上位方向に遡り、最初に発見されたシチュエーションの対応付けを有する語彙に対応するシチュエーションに応じた発話を生成する。図１に示した例では、例えば、ユーザに対してゴルフコースの質問をした場合、ユーザの回答に「発熱」のキーワードを認識した場合、「発熱」に直接対応付けられたシチュエーションがないので、「症例」、「病気」の順で、逆ツリー状の階層構造を上に辿り、最終的には「ヘルスケア」に対応付けられた、「健康」のシチュエーションに切り替わることになる。
【００１５】
ユーザの発話およびコンピュータによって生成された発話のうちの少なくとも一方、好ましくは両方が音声情報であるのが望ましい。
【００１６】
本発明はさらに、複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルと、語彙の集合である切り替え言語モデルとを記憶した記憶媒体と、
ユーザの発話の意図を、上記シチュエーション言語モデルと切り替え言語モデルとを参照して解釈する意図解釈部と、
前記ユーザの発話の意図とシチュエーション言語モデルに基づいて発話を生成する発話生成部と、
ユーザの発話の中に、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙がある場合、現在のシチュエーションに代えて当該語彙に対応するシチュエーションに切り替えるシチュエーション設定部とを備え、
シチュエーションに応じた発話を生成すると共に、ユーザの発話に基づいてシチュエーションの切り替えを行う対話システムを提案する。
【００１７】
ここで、意図解釈部と、発話生成部と、シチュエーション設定部とは物理的に独立した構成要素であってもよいし、物理的には同一のコンピュータに含まれる各部に対応した機能であってもよい。また、シチュエーション設定部は、前記シチュエーションと語彙の対応関係を参照して、「切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙」から、対応するモデルシチュエーションの検索を行うシチュエーション探索部と、対話におけるシチュエーションを制御する対話シチュエーション制御部とから構成されていてもよい。
【００１８】
この場合も、切り替え言語モデルは、語彙を逆ツリー状に階層構造化されたものであり、該語彙構造における少なくとも最上位の語彙にはシチュエーションが対応付けられているのが好ましい。このような語彙構造を前提とすれば、ユーザの発話の中の、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙にはシチュエーションが対応付けられていない場合、前記語彙構造を上位方向に遡り、最初に発見されたシチュエーションの対応付けを有する語彙に対応するシチュエーションに切り替えることが可能であり好ましい。ユーザの発話およびコンピュータによって生成された発話はいずれも音声情報であることが好ましい。
【００１９】
前記意図解釈部は、ユーザの発話を文字列に変換した後にシチュエーション言語モデルと切り替え言語モデルとを参照する音声認識処理部と、音声認識処理に基づいて意図を解釈する意図解釈処理部から構成されていてもよい。上記において、音声認識処理部、意図解釈処理部、シチュエーション探索部、対話シチュエーション制御部はそれぞれハードウェアに対応するものであってもよいし、それらの一部又は全体が１つのハードウェアにまとめられており各部はそれぞれ当該ハードウェアが実行する機能に対応するものであってもよい。
【００２０】
好ましくは、前記方法はコンピュータによって読み取り可能に記載されたコンピュータプログラムによって実行される。また、このようなコンピュータプログラムを格納した、コンピュータに読み取り可能な記憶媒体も本発明の対象である。
【発明の効果】
【００２１】
本発明のコンピュータによる対話方法、対話システム、同方法を実行するためのコンピュータプログラムおよび同プログラムを格納したコンピュータに読み取り可能な記憶媒体によれば、ユーザとコンピュータが対話を行うに当たって、ユーザによる話題の変更にスムーズに追従することができるので、対話がきわめて自然でユーザがストレスを感じることが少ない。
また、本発明が提案する逆ツリー状に階層構造化された語彙構造を用いれば、新しいシチュエーションへの対応が迅速かつ適切であり、対話が一層速やかかつ自然になる。本発明が有するその他の効果については、明細書の記載から当業者に自明であろう。
【発明の実施例】
【００２２】
図２に、本発明のシステム構成の１例を示す。図示したものは本発明に基づくシステムの概念を説明するために例示したものであって、本発明がこの実施例に限定されるわけではない。
図２に示した実施例に基づくシステム構成によれば、音声認識処理部１００は、話題言語モデル（シチュエーション言語モデル）と切替え言語モデルとから構成される音声認識辞書６００を参照して、ユーザの発話を音声認識し、その結果を意図理解処理部（意図解釈処理部）２００に伝える。意図理解処理部２００では、ユーザの発話の意図を解釈し、発話の中に切り替え言語モデルに含まれる語彙が、シチュエーションの切り替えを必要としているか否かを決定する。シチュエーションの切り替えが不要と判断されれば、処理は対話シチュエーション制御部４００に移動して、次の発話が行われる。意図理解処理部２００が、シチュエーションの切り替えを必要と判断した場合、シチュエーション探索部３００が、シチュエーションと概念関係対応データ７００を参照して新たなシチュエーションを設定してこの情報を対話シチュエーション制御部に伝える。最後に、対話シチュエーション制御部４００からの情報に基づき、応答／質問文生成処理部５００が応答文または質問文を生成して、音声出力する。
意図理解処理部２００が、シチュエーションの切り替えを必要と判断した場合であっても、シチュエーション探索部３００が、シチュエーションと概念関係対応データ７００を参照して設定した新たなシチュエーションが、前のシチュエーションと同じであることも起こりえるし、これは本発明において特に問題にはならない。
【００２３】
発話に基づいて行われるシチュエーションの切り替えプロセスについて、１つの実施例を図示した図３に基づいて説明する。
音声認識が行われ、音声認識されたユーザの発話の意図を理解した結果、意図理解処理部が現在のシチュエーションを継続すべきか否かを判断する（意図理解処理）。ここで、現在のシチュエーションを継続すべきと判断されれば、処理はシチュエーション制御部に移動して（対話シチュエーション制御）、シチュエーション制御部が質問／応答文を生成する（応答／質問文生成）。
【００２４】
意図理解処理部が現在のシチュエーションを維持すべきではないと判断した場合、認識語句の概念を参照して、当該概念に関連するシチュエーションが存在しているか否かを判断する。当該概念に関連するシチュエーションが存在すれば、そのシチュエーションを採用してシチュエーション制御部がシチュエーション制御を行う。概念に関連するシチュエーションが存在していないときは、逆ツリー状の階層構造化された語彙構造を遡り、親概念（上位の語彙）に関連するシチュエーションが存在するか否かを判断する。関連するシチュエーションが存在すれば、該シチュエーションを採用してシチュエーション制御部がシチュエーション制御を行う。親概念に関連するシチュエーションが存在しなければ、関連するシチュエーションが見つかるまで語彙構造を遡る。関連するシチュエーションが発見されれば当該シチュエーションを採用してシチュエーション制御を行うが、語彙構造の最上位まで遡及しても関連シチュエーションが見つからないときはエラー処理を行う（シチュエーション探索）。
【００２５】
上記は本発明の１つの実施例に基づいて本発明の構成を明らかにしたものであるが、本発明は、特許請求の範囲および明細書の記載全体を参照して理解されるべきものである。
【図面の簡単な説明】
【００２６】
【図１】本発明の１実施例に基づく語彙構造を示す図である。
【図２】本発明の１実施例に基づくシステム構成を示す図である。
【図３】本発明の１実施例に基づくシチュエーションの設定処理を示すフローを示す図である。
【図１】
2009036998.tif 000003
【図２】
2009036998.tif 000004
【図３】
2009036998.tif 000005