(57)【要約】 【課題】ユーザの発話に基づいて多義語を正確に理解して外部情報を検索することに基づく対話方法等の提供。【解決手段】    複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルを備え、ユーザの発話中のキーワードを選出し、前記キーワードとシチュエーションに基づいて外部情報源を検索し、前記外部情報源から得られた外部情報とシチュエーション言語モデルに基づいて発話を生成することを含む、コンピュータによる対話方法であって、前記外部情報源に含まれる外部情報にはそれぞれ当該情報が所属する概念を表すメタ情報が関連付けられており、前記検索においては、キーワードが多義語である場合に、メタ情報とシチュエーションとが適合することを条件に外部情報を選別することを含む対話方法。【選択図】図３
2009036999.tif 000002
【特許請求の範囲】
【請求項１】
複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルと、複数のシチュエーションのそれぞれを代表する語彙の集合からなる切替え言語モデルを備え、
ユーザの発話中のキーワードを選出し、
前記キーワードとユーザの発話時のシチュエーションに基づいて外部情報源を検索し、
前記外部情報源から得られた外部情報とシチュエーション言語モデルに基づいて発話を生成することを含む、コンピュータによる対話方法であって、
前記外部情報源に含まれる外部情報にはそれぞれ当該情報が所属する概念を表すメタ情報が関連付けられており、前記検索においては、キーワードが多義語である場合に、メタ情報とシチュエーションに対応する概念もしくは上位概念とが適合することを条件に外部情報を選別することを含む対話方法。
【請求項２】
前記シチュエーション言語モデルは、認識語彙を概念ごとにグルーピングし、概念を逆ツリー状に階層構造化し、概念のうちの少なくとも１つにシチュエーションが対応付けられた語彙概念構造を有し、
ユーザが発話したときのシチュエーションに対応する概念もしくは上位概念と外部情報のメタ情報が一致するときにメタ情報とシチュエーションとが適合すると判断する請求項１に記載の対話方法。
【請求項３】
前記外部情報のメタ情報は、そのキーワードを、語彙および概念に基づき逆ツリー状に階層構造化し、該語彙概念構造における少なくとも最上位の概念にはメタ情報が対応付けられた語彙概念構造と比較することによって決定される請求項１又は２に記載の対話方法。
【請求項４】
ユーザの発話およびコンピュータによって生成された発話はいずれも音声情報である請求項１ないし３のいずれかに記載のコンピュータによる対話方法。
【請求項５】
複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルを記憶した記憶媒体と、
ユーザの発話中のキーワードを選出する音声認識処理部と、
前記キーワードについてシチュエーション継続を判断および外部情報取得を判断する意図理解処理部と、
前記キーワードとユーザ発話時のシチュエーションに対応する概念もしくは上位概念に基づいて外部情報源を検索する外部情報検索部と、
前記外部情報源から得られた外部情報とシチュエーション言語モデルに基づいて発話を生成する対話シチュエーション制御部を含む、コンピュータによる対話システムであって、
前記外部情報源に含まれる外部情報にはそれぞれ当該情報が所属する概念を表すメタ情報が関連付けられており、前記検索においては、キーワードが多義語である場合に、メタ情報とユーザ発話時のシチュエーションに対応する概念もしくは上位概念とが適合することを条件に外部情報を選別する対話システム。
【請求項６】
前記シチュエーション言語モデルは、認識語彙を概念ごとにグルーピングし、概念を逆ツリー状に階層構造化し、概念のうちの少なくとも１つにシチュエーションが対応付けられた語彙概念構造を有し、
前記外部情報検索部は、ユーザ発話時のシチュエーションに対応する概念もしくは上位概念と外部情報のメタ情報が一致するときにメタ情報とシチュエーションとが適合すると判断する請求項５に記載の対話システム。
【請求項７】
前記外部情報検索部は、外部情報のキーワードを、語彙および概念を逆ツリー状に階層構造化し、該語彙概念構造における複数の概念に対応するメタ情報が対応付けられたデータと比較することによってメタ情報を決定する請求項５又は６に記載の対話システム。
【請求項８】
ユーザの発話およびコンピュータによって生成された発話はいずれも音声情報である請求項５ないし７のいずれかに記載の対話システム。
【請求項９】
前記意図理解処理部は、ユーザの発話を文字列に変換した後にシチュエーション言語モデルと切り替え言語モデルとを参照して解釈する請求項８に記載の対話システム。
【請求項１０】
コンピュータに対して請求項１ないし４のいずれかに記載の方法を実行させるように、コンピュータによって読み取り可能に記載されたコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納した、コンピュータに読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータによる対話方法、対話システム、同方法を実行するためのコンピュータプログラムおよび同プログラムを格納したコンピュータに読み取り可能な記憶媒体に関するものであり、特に、ユーザの発話に含まれるキーワードが多義語の場合にも適切な対話を実行することができる対話方法等に関するものである。
【背景技術】
【０００２】
ユーザがコンピュータに会話を入力した場合、コンピュータそれまでの会話の内容などから、その会話のシチュエーションは何であるかを特定し、当該シチュエーションで専ら用いられる語彙を参照して会話の内容を解釈することが行われる。これは、シチュエーションを特定することによって、ユーザーが入力した会話のコンピュータによる解釈がより正確なものになり、したがって、ユーザの発話に応答してコンピュータが返す質問等がより適切になるからである。
このようなシステムによれば、例えば、コンピュータとユーザとが、入出力インターフェースを通じて以下のような対話を行うようなことが可能になる。
【０００３】
コンピュータ：「昨日はどこでゴルフをしたのですか？」
ユーザ：「○○カントリーでしたよ。」
コンピュータ：「成績はいかがでしたか？」
ユーザ：「イマイチでしたね。」
【０００４】
上記のコンピュータとユーザとの対話は、「ゴルフ」というシチュエーションにおいて行われたものの例である。この場合、ユーザの発話に含まれるキーワードが１つの語義のみを有するのであれば問題ないが、キーワードが多義語の場合には、その意図を適切に理解することは困難になる。例えば、ゴルフ大会の名称にスポンサー企業の名称が用いられているような場合に、キーワードはゴルフ大会の意味と、スポンサー企業の意味を持つことになるが、発話中に用いられたキーワードをどちらの意味と理解するかによって、以後の対話はかなり違ったものになる。つまり、ユーザがゴルフ大会の意味でキーワードを使用した場合にも、システムは企業の名称と解釈して、当該企業に関連する話題を発話する可能性がある。その結果、例えば、以下のようなちぐはぐな対話になる。
【０００５】
ユーザ：「イマイチでしたね。あのゴルフ場は○○○（企業名）オープンが行われたばかりで、コース設定も難しかったようです。」
コンピュータ：「○○○（企業名）は最近株を増配しましたね。××オープン投資も好調なようです。」
【０００６】
これは、コンピュータが、複数の語義を有する○○○（ゴルフ大会の名称と企業名）や「オープン」（ゴルフ大会の名称と投資に関する固有名詞）をキーワードとして用いて外部情報を検索する際、多義語のうちの何れを選択すべきかについて適切な選択が行われていないからである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、従来技術が有する上記のような問題点を改善するために案出されたものであり、ユーザの発話に基づいて外部情報の検索を行う際に、キーワードが多義語である場合に、対話が行われている際のシチュエーションと無関係に外部情報から発話が行われることによる弊害を解消することを目的としたものである。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明は、複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルを備え、
ユーザの発話中のキーワードを選出し、
前記キーワードとユーザ発話時のシチュエーションに対応する概念もしくは上位概念に基づいて外部情報源を検索し、
前記外部情報源から得られた外部情報とシチュエーション言語モデルに基づいて発話を生成することを含む、コンピュータによる対話方法であって、
前記外部情報源に含まれる外部情報にはそれぞれ当該情報が所属する概念を表すメタ情報が関連付けられており、前記検索においては、キーワードが多義語である場合に、メタ情報とユーザ発話時のシチュエーションに対応する概念もしくは上位概念とが適合することを条件に外部情報を選別することを含む対話方法を提案する。
【０００９】
ここで、シチュエーションとは、例えば、「ゴルフクラブ」、「ゴルフコース」、「ゴルフスウィング」というような複数の話題を包含する上位概念である。シチュエーション言語モデルは、上記の例の場合であれば、「ゴルフクラブ」、「ゴルフコース」、「ゴルフスウィング」等のそれぞれに関連する語彙の集合である。例えば、話題「ゴルフクラブ」には、「ドライバー」、「アイアン」、「パター」、「ウッド」等の語彙が含まれる。
【００１０】
キーワードとは、発話の中に含まれる語彙であって、対話の意図を理解するために着目すべき名詞、動詞等である。  
本発明の対話方法によれば、キーワードとユーザ発話時のシチュエーションに対応する概念もしくは上位概念に基づいて外部情報源を検索して、その結果に基づき適切な発話を行う。
外部情報源に含まれる情報には、それぞれ当該情報が所属する概念を表すメタ情報が関連付けられているが、メタ情報は予め関連付けられていてもよいし、検索を行う際に関連付けを行うものであってもよい。
検索においては、キーワードが多義語である場合に、外部情報が関連付けられたメタ情報とユーザ発話時のシチュエーションに対応する概念もしくは上位概念とが適合することを条件に外部情報を選別する。
ここで、多義語とは、全く異なる意味を有するいわゆる同音異義語であってもよいし、企業名を冠したゴルフ大会と企業名のように意味としては同じであるが、会話において用いられる場合に、一方はゴルフの話題、他方は企業業績の話題のように話題として異なる場合も含む意味で用いる。
本明細書に於いて、発話とは、文書を提示すること一般の意味で用いており、ユーザがキーボードを通じて文字入力を行うこと、マイクを使って音声入力すること、コンピュータが文字列を画面に表示すること、スピーカを使って発音することを含む概念として用いる。
シチュエーション言語モデルは、話題言語モデルと切り替え言語モデルの両者を包含したものであってもよい。ここで、話題言語モデルは、もっぱら現在の話題に関連する語彙を認識するために用いられるものである。
【００１１】
本発明によって外部情報が適切に選別された結果、対話は以下のようになる。
ユーザ：「イマイチでしたね。あのゴルフ場は○○○（企業名）オープンが行われたばかりで、コース設定も難しかったようです。」
コンピュータ：「○○○（企業名）オープンは先週行われたばかりですが、優勝スコアは＋３でしたから、プロにとっても非常に難しい設定ですね。」
このようにして、シチュエーションとメタ情報の対応関係に基づいて外部情報を選別するので、対話が非常にスムーズで違和感がない。
【００１２】
前記シチュエーション言語モデルは、認識語彙を一定のルールに従ってグルーピングし、そのグループすなわち概念に呼称を与え、当該概念を逆ツリー状に階層構造化し、概念のうちの少なくとも１つにシチュエーションが対応付けられた語彙概念構造を有するのが望ましい。一定のルールとは、例えば、上位概念の下に当該上位概念に含まれる複数の下位概念を位置づけるというルール、「ヘルスケア」という概念が有する複数の属性それぞれに対応させて「病気」、「ダイエット」、「運動」というような概念を設定するルールや、「ゴルフ」という概念に対して「ゴルフ」という言葉を含む「ゴルフコース」、「ゴルフクラブ」、「ゴルファー」（英語では本来「golfer」は「golf」を含む）などを設定するルール等を挙げることができる。ただし、一定のルールは、逆ツリー状に階層構造化に適合するものであれば、これらに限定されるわけではない。
【００１３】
図１は、本発明に基づくシチュエーション言語モデルの階層構造を例示したものである。この例では、「ヘルスケア」という概念には「損ねる」「維持」という属性があり、その属性と関連付けられる概念として「病気」「ダイエット」「運動」が存在する。また「症例」という概念には、その概念の実体として楕円で表示した「発熱」「咳」「頭痛」が存在することを意味している。楕円で示した実体と概念は何れも語彙である。角の丸い長方形が「概念」を、すみ括弧で括ったメモの図が「シチュエーション」を表している。
図１に例示したように、上層の概念に対してその下の層の１つまたは複数の概念が関連付けられるが、下層の概念から見ると関連付けられたその上の層の概念は１つのみである構造をここでは、逆ツリー状に階層構造と称する。また、概念には一定のルールに従ってシチュエーションを代表する認識語彙を持つ。認識語彙は切替え言語モデルに含まれる語彙であるが、シチュエーション言語モデルに含まれる認識語彙であってもよい。
【００１４】
ユーザ発話時のシチュエーションに対応する概念もしくは上位概念と外部情報のメタ情報が一致するときにメタ情報とシチュエーションとが適合すると判断するのが好ましい。
例えば、上記の例において、ユーザ発話時のシチュエーションが「ゴルフクラブ」であり、外部情報にはメタ情報として「クラブ」が関連付けられている場合、両者は一致するので、メタ情報とシチュエーションが一致すると判断することになる。
あるいは、ユーザ発話時のシチュエーションに対応する概念と外部情報のメタ情報が直接一致しない場合であっても、前記語彙概念構造において概念をさかのぼって最初のメタ情報と一致するときにメタ情報とシチュエーションとが適合すると判断してもよい。こうすることによって、より広い判断基準に基づいて対話を進めることができるので、対話が途切れることがない。
さらに、ユーザ発話時のシチュエーションに対応する概念についてどの程度まで語彙概念構造をさかのぼって概念とメタ情報が一致するものを選択すべきかについて事前に設定しておくことで、対話にどの程度広範な話題を含ませるかを設定することができる。
【００１５】
ユーザの発話およびコンピュータによって生成された発話のうちの少なくとも一方、好ましくは両方が音声情報であるのが望ましい。
【００１６】
本発明はまた、複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルを記憶した記憶媒体と、
ユーザの発話中のキーワードを選出する音声認識処理部と、
前記キーワードについてシチュエーション継続を判断および外部情報取得を判断する意図理解処理部と、
前記キーワードとユーザ発話時のシチュエーションに対応する概念もしくは上位概念に基づいて外部情報源を検索する外部情報検索部と、
前記外部情報源から得られた外部情報とシチュエーション言語モデルに基づいて発話を生成する対話シチュエーション制御部を含む、コンピュータによる対話システムであって、
前記外部情報源に含まれる外部情報にはそれぞれ当該情報が所属する概念を表すメタ情報が関連付けられており、前記検索においては、キーワードが多義語である場合に、メタ情報とシチュエーションに対応する概念もしくは上位概念とが適合することを条件に外部情報を選別する対話システムを提案する。
上記意図理解処理部と、外部情報検索部と、対話シチュエーション制御部は物理的なハードウェアであってもよいし、それぞれに対応する機能を有するソフトウェアであってもよい。
【００１７】
前記対話システムは、前記シチュエーション言語モデルは、語彙および概念を逆ツリー状に階層構造化し、該語彙概念構造における少なくとも１つの概念にはシチュエーションが対応付けられた語彙概念構造を有し、
前記意図理解処理部は、ユーザの発話中のキーワードに基づいて、外部情報を取得するかどうかの判断をし、
前記外部情報検索部は、ユーザ発話時のシチュエーションに対応する概念もしくは上位概念と外部情報のメタ情報が一致するときにメタ情報とシチュエーションとが適合すると判断するものであることが好ましい。
【００１８】
また、前記外部情報検索部は、外部情報のキーワードを、語彙および概念を逆ツリー状に階層構造化し、該語彙概念構造における少なくとも最上位の概念にはメタ情報が対応付けられた語彙概念構造と比較することによってメタ情報を決定するのが好ましい。
【００１９】
ユーザの発話およびコンピュータによって生成された発話はいずれも音声情報であってよい。また、前記意図理解処理部は、ユーザの発話を文字列に変換した後にシチュエーション言語モデルと切り替え言語モデルとを参照して解釈するものであることができる。
【００２０】
本発明は、さらに、コンピュータに対して上記の方法を実行させるように、コンピュータによって読み取り可能に記載されたコンピュータプログラムおよび同コンピュータプログラムを格納した、コンピュータに読み取り可能な記憶媒体をも提案するものである。
【発明の効果】
【００２１】
本発明のコンピュータによる対話方法、対話システム、同方法を実行するためのコンピュータプログラムおよび同プログラムを格納したコンピュータに読み取り可能な記憶媒体によれば、ユーザとコンピュータが対話を行うに当たって、ユーザの発話に多義語が含まれている場合にも、外部情報の中から多義語のシチュエーションに対応した意味に関係のある話題を選別して発話が行われるので、対話がきわめて自然でユーザがストレスを感じることが少ない。
また、本発明が提案する逆ツリー状に階層構造化された語彙概念構造を用いれば、多義語の解釈が適切であり、対話が一層速やかかつ自然になる。本発明が有するその他の効果については、明細書の記載から当業者に自明であろう。
【発明の実施例】
【００２２】
図２に、本発明のシステム構成の１例を示す。図示したものは本発明に基づくシステムの概念を説明するために例示したものであって、本発明がこの実施例に限定されるわけでない。
図２に示した実施例に基づくシステム構成によれば、音声認識処理部１００は、話題言語モデル（シチュエーション言語モデル）と切り替え言語モデルとから構成される音声認識辞書６００を参照して、ユーザの発話を音声認識し、その結果を意図理解処理部（意図解釈処理部）２００に伝える。意図理解処理部２００では、ユーザの発話の意図を解釈し、発話の中に切り替え言語モデルに含まれる語彙が、シチュエーションの切り替えを必要としているか否かを決定する。また、外部情報の取得を必要としているか否かを決定する。シチュエーションの切り替えの要否および外部情報の取得の要否に関する情報とともに、処理は直接外部情報検索部３００に進む。意図理解処理部２００が、外部情報の取得を必要と判断した場合、外部情報検索部３００が、ユーザ発話時のシチュエーションと概念の関係対応データ７００を参照して、概念に基づいて外部情報の検索を行う。
【００２３】
外部情報検索部３００は、ユーザ発話時のシチュエーションに対応する概念もしくは上位概念と発話のキーワードに基づき外部情報を検索する。その際、シチュエーションに対して与えられた概念において、その上位に位置する概念と外部情報に関連付けられたメタ情報の比較を行うことによって当該外部情報を採用するか否かを判断する。採用の判断基準は固定されていても良いし変更可能であっても良いが、例えば、キーワードまたはそのすぐ上位の概念とメタ情報が一致した場合にのみ当該外部情報を選択するものであっても良い。他の方法としては、シチュエーションに対応する概念から何段階上位の概念がメタ情報またはメタ情報の何段階上位の概念と一致するかに基づいて採用の順位を決定するものであっても良い。
【００２４】
採用すべき外部情報が決定されたら、外部情報検索部３００は、採用された外部情報とシチュエーションを対話シチュエーション制御部４００に伝える。最後に、対話シチュエーション制御部４００からの情報に基づき、応答／質問文生成処理部５００が応答文または質問文を生成して、音声出力する。
【００２５】
発話に基づいて行われる外部情報の検索プロセスについて、１つの実施例を図示した図３に基づいて説明する。
音声認識が行われ、音声認識されたユーザの発話の意図を理解した結果、外部情報を検索すべき対象であるか否かを判断する（意図理解処理）。ここで、外部情報の検索が不要と判断されれば、処理はシチュエーション制御部に移動して（対話シチュエーション制御）、シチュエーション制御部が質問／応答文を生成する（応答／質問文生成）。
【００２６】
意図理解処理部が外部情報を検索する対象であると判断した場合、外部情報から発話のシチュエーションに対応する概念もしくは上位概念と関連する外部情報を検索することになる。そのためには、まず、発話のシチュエーションと関連する概念を設定する。ここで、概念の設定は、システムが管理把握しているシチュエーション言語モデルを用いて行われる。最初に設定される概念は、シチュエーション言語モデルにおいて直近の概念ものとする。次に、外部情報の中に、当該概念と一致するメタ情報を有するものが存在しているか否かを判断する。
【００２７】
検索の結果、前記概念と一致するメタ情報を有する外部情報がない場合、前記シチュエーション言語モデルを情報に遡り、より上位の概念を新概念として、新概念と一致するメタ情報を有する外部情報の有無を検索する。このようにして新概念と一致するメタ情報を有する外部情報が発見されるまでこの検索を繰り返し、最終的にシチュエーション言語モデルの最上位の概念まで遡っても、概念と一致する外部情報がない場合、対象となる外部情報は存在しないと判断して（エラー処理）、シチュエーション制御に移行する。
【００２８】
概念と一致するメタ情報を有する外部情報が発見された場合、さらに、絞込検索を行う（検索結果から発話したキーワードを含むデータを絞込検索）。絞込検索を行った結果が０件であれば、絞込み前の検索結果を作成日時の順にソートして、最新の１件を抽出し、データからキーワードを含む文を抽出する。抽出された文に基づいてシチュエーション制御を行い質問／応答文を生成する。ソートの順序は、作成日時以外にも、キーワードとどの程度近い概念に対して対応するメタ情報が発見されるかに基づいて規定される外部文献の関連度の高さ等を手がかりにしても良い。
絞込検索の結果が１件であれば、その結果である文をデータから抽出してシチュエーション制御を開始する。
【００２９】
絞込検索の結果が複数存在する場合、検索結果を作成日順にソートして最新の１件を抽出し、データからキーワードを含む文を抽出して、シチュエーション制御を開始する。このとき、ソートについては日付以外にも、関連度等他の考えがあり得ることは既に述べたとおりである。
【００３０】
上記は本発明の１つの実施例に基づいて本発明の構成を明らかにしたものであるが、本発明は、上記の実施例に限定されるものではなく、特許請求の範囲および明細書の記載全体を参照して理解されるべきものである。
【図面の簡単な説明】
【００３１】
【図１】本発明の１実施例に基づく語彙構造を示す図である。
【図２】本発明の１実施例に基づくシステム構成を示す図である。
【図３】本発明の１実施例に基づくシチュエーションの設定処理を示すフローを示す図である。
【図１】
2009036999.tif 000003
【図２】
2009036999.tif 000004
【図３】
2009036999.tif 000005