JP3715470B2 - 応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体 - Google Patents
応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP3715470B2 JP3715470B2 JP18679999A JP18679999A JP3715470B2 JP 3715470 B2 JP3715470 B2 JP 3715470B2 JP 18679999 A JP18679999 A JP 18679999A JP 18679999 A JP18679999 A JP 18679999A JP 3715470 B2 JP3715470 B2 JP 3715470B2
- Authority
- JP
- Japan
- Prior art keywords
- expression
- response
- sentence
- partial
- response sentence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Machine Translation (AREA)
Description
【発明の属する技術分野】
本発明は、応答生成装置、対話管理装置、応答生成方法、および応答生成プログラムを格納するコンピュータ読みとり可能な記録媒体に関する。特に、自然言語による対話型の問題解決システムにおいて、複雑な問い合わせ文に対して、問題文に対する正確な応答が得られたか否かを、ユーザに実時間内で容易に把握させることのできる対話技術に関する。
【0002】
【従来の技術】
音声を入力チャネルとする対話システム(以下、「音声対話システム」と称する)を、問題解決型システムのインターフェースに採用する場合について考える。
【0003】
例えば、カーナビゲーションシステム(以下、単に「カーナビ」と称する)のインターフェースを音声対話システムにすることができる。
【0004】
このカーナビを利用して問題解決を図るためには、音声対話システムに以下の仕様が求められる。
【0005】
(1)簡単な質問から複雑な質問まで、多様な質問に対して解答が得られることを要する。
【0006】
(2)得られた解答がユーザの意図を満たしているかを、ユーザ自身が簡単に確認できることを要する。
【0007】
(3)ユーザの問題解決のための解答が実時間で得られることを要する。例えば、カーナビの場合であれば、この回答は、経路の選択を助ける内容となる。
【0008】
これらの仕様のうち、(1)に示す多様な質問に対する解答の提示という点に関しては、既に様々な研究が行われている。
【0009】
次に、上記の(2)および(3)の要求仕様に関する従来技術の問題点を、カーナビの場合を例として具体的に説明する。
【0010】
例えば、ユーザが、図13に示す経路を走行中であって、現在地として示される地点を通過中であるとする。ユーザは、摩耶出口までに複数のサービスエリアが存在することを知っており、これからどこで休憩するかを決めたいと考えたとする。ここで、ユーザは、カーナビに対して、以下の入力文により質問する。
【0011】
「出口の前の最後のサービスエリアまでどれくらい?」
この質問に応答するためには、例えば以下の手順が必要となる。
【0012】
a.「出口の前の最後のサービスエリア」に該当するサービスエリアをデータベースから検索する。
【0013】
b.現在地から「出口の前の最後のサービスエリア」までの距離を算出する。
c.算出された距離を含む応答文を生成する。
【0014】
この手順cにおいて、生成される文には、以下の2つのパターンがある。
【0015】
第1に、カーナビによる推論の過程を全く示さずに、推論結果のみを解答として生成する方法がある。図13の例では、手順aでの解は「魚崎サービスエリア」、手順bでの解は「15キロメートル」である。従って、この第1の方法は、以下の応答文を生成する。
【0016】
「魚崎サービスエリアまでの距離は約15キロです」
しかし、ユーザは、上記の応答文が応答された場合、カーナビシステムが、発話された質問文で提示された問題を正しく認識し、正しいプロセスで問題解決したのか否かを確認することができない。すなわち、ユーザは、得られた応答が正しいか否かを検証することができない。一般に、カーナビに対して音声で入力を行うと、音声の認識誤りが一定程度発生する。このため、ユーザは、期待する解答が得られず、要求が達成されない場合がある。
【0017】
例えば、カーナビが、上記の入力文中の「最後」を「最初」と誤認識した場合、手順aの解は「吹田サービスエリア」、手順bの解は「5キロメートル」となる。になり、以下の応答文が生成される。
【0018】
「吹田サービスエリアまでの距離は約5キロです」
ユーザは、できるだけ高速上の摩耶出口付近で休憩したかったにも拘わらず、この要求が達成されないことになる。
【0019】
第2に、カーナビによる推論の過程を全てユーザへの応答文に含める方法がある。例えば、(「文部省科学研究費補助金重点領域研究 音声・言語・概念の統合的処理による対話の理解と生成に関する研究」pp.223−240,平成8年3月)に開示されている公知の手法を、この第2の方法に適用することができる。この手法においては、音声対話システムからの応答によってユーザによる発想を促すことを主眼として、システムが行なった推論が全てユーザに提示される。
【0020】
この第2の方法では、ユーザは、応答文に提示されたカーナビの全推論過程を把握することによって、正しい解答が得られたか否かを検証することができる。
【0021】
しかし、一般に第2の方法で得られる応答文は冗長となってリアルタイム処理には適さない。すなわち、第2の方法は、例えば料理の献立を考えることを支援するシステムなどのように、ユーザに問題解決のための時間が十分に与えられている場合には有効である。他方、カーナビのようなユーザに問題解決、即ち、経路や休憩場所などについて正しい判断をするための時間と余裕がほとんどないような場合には不向きである。
【0022】
第2の方法において、例えば手順aでは、以下の推論が行われる。
【0023】
・「出口」とは「現在走行中の有料道路の終点」である。
【0024】
・「前」とは「現在走行中の経路において、経路の出発点からある基準点までの部分経路」である。
【0025】
・「最後」とは「複数候補のうち最も現在地から遠いもの」である。
【0026】
これらの推論過程を含めた応答文は、例えば以下のように大変長く生成されてしまう。
【0027】
「出発地から現在走行中の有料道路終点である摩耶出口までの間にあるサービスエリアで現在地から最も遠いものは、魚崎サービスエリアです。」
この長い応答文を聞いている間にユーザの現在地は大きく変わってしまう。例えば魚崎サービスエリアを通過してしまうと、カーナビからの応答文はユーザにとって無意味な情報となってしまう。また、応答文が長いため、走行中のユーザがその内容を把握するのも困難となる。
【0028】
【発明が解決しようとする課題】
音声インターフェースを用いる対話システムにおいては、100%の認識率が得られないことを前提とする必要がある。このため、ユーザは、対話の応答文において、
・自分の発話が間違って認識されていないか、
・システムから得られた問題解決結果は正しいか、
の2点を確認する必要がある。さらに、これらの2点は迅速に確認されなければならない。
【0029】
ここで、単純な問題解決を実行するシステム、例えば地点の検索のみを行うカーナビシステムとの対話の場合、ユーザは、システムから得られた応答文を聞くだけで上記の2点を確認することができる。
【0030】
一方、複雑な問題解決を実行するシステム、例えば、2地点間の距離の問い合わせに応答するカーナビシステムとの対話の場合、ユーザは、システムから得られた応答文を聞くだけでは上記の2点を確認することができない。すなわち、システムがユーザの意図する動作を実行したのか否か、実行しなかった場合にはどこで誤りが生じたのか、などを上記の第1の方法では、確認することができない。あるいは、第2の方法により、これらの情報を含む応答文を出力すると、この応答文は非常に冗長となり、ユーザが実用的時間内で確認することができない。
【0031】
以上説明したように、本発明は、従来技術の自然言語による問題解決型の対話システムにおいて、複雑な問い合わせ文の入力に対して、ユーザが問い合わせ文を正しく認識され、処理されたかを、実時間内で容易に確認、検証することができなかったという問題点を解決するためになされたものである。
【0032】
そして、その目的とするところは、部分的な解から入力文に対する解を抽出する必要のある複雑な問題解決が要求される場合に、ユーザが問い合わせ文が正しく認識され、処理されたか否かを、実用的時間内で容易に確認、検証することのできる応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納する記録媒体を提供することにある。
【0033】
また、本発明の他の目的は、生成された応答文の冗長性を排除してユーザに苦痛を与えない簡潔な応答を実現する点にある。
【0034】
【課題を解決するための手段】
上記の課題を解決するための本発明の特徴は、ユーザが複雑な問題解決を要求する発話を行った場合に、対話システムがユーザの発話をどのような部分的な問題の組み合わせとして認識し、かつ発話に対する解がどのように得られたのか、に関する情報を含む、簡潔な応答文を生成する点にある。この応答文は、問い合わせ文に対する全体的な解を得るために、それぞれの解を得る必要のある部分問題の表現と、この部分問題に対する部分的な解の表現とを対応付けて生成される。
【0035】
かかる機能を実現するための、本発明の第1の特徴は、自然言語の対話により、与えられた問い合わせ文に対する解を含む応答文を生成する応答生成装置であって、前記解を導出するために1つ以上の解決すべき部分問題がある場合に、導出された前記解とともに、前記部分問題のそれぞれに対応する問い合わせ文の要素である部分問題表現と、前記部分問題のそれぞれへの解の表現である部分解表現とを対とする部分問題表現対を含む応答文を生成する応答文生成部を具備することを特徴とする応答生成装置を提供する点にある。
【0036】
上記構成によれば、ユーザの問い合わせ文の発話が正しく認識され、かつ正しいプロセスで解が導出されたか否かを、ユーザに実時間内で容易に把握させることのできる簡潔な応答文を生成することができる。
【0037】
また、本発明の第2の特徴は、上記応答生成装置は、さらに、各文型に対応し、前記部分問題ごとに解スロットを定義する応答文のテンプレートを記憶する応答文テンプレート記憶部を具備し、前記応答文生成部は、前記部分問題表現対を、対応する前記解スロットにバインドする点にある。
【0038】
上記構成によれば、簡易な構成で、上記の簡潔な応答文を生成することができる。
【0039】
また、本発明の第3の特徴は、上記応答生成装置は、さらに、前記生成された応答文に関して、前記部分問題表現対中の前記部分問題表現と、対応する前記部分解表現との同一性を判定する同一性判定部を具備し、前記応答文生成部は、前記同一性が判定された部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択する点にある。
【0040】
上記構成によれば、意味的な冗長性を応答文から排除して、ユーザに苦痛を与えない自然かつ簡潔な応答文を生成することができる。
【0041】
また、本発明の第4の特徴は、上記応答生成装置は、さらに、各発話表現と、該発話表現が示す概念の抽象度との関係を規定する概念階層を記憶する概念階層記憶部を具備し、前記同一性判定部は、前記概念階層に基づいて、前記部分問題表現と、対応する前記部分解表現との同一性を判定する点にある。
【0042】
また、本発明の第5の特徴は、前記同一性判定部は、前記部分問題表現と、対応する前記部分解表現との発話表現上の差異に基づいて、前記同一性を判定する点にある。
【0043】
上記構成によれば、表層的な表現に着目して同一性を判定するので、より簡易な構成で、応答文から冗長性を排除することができる。
【0044】
また、本発明の第6の特徴は、上記応答生成装置は、さらに、前記生成された応答文の長さが所定の第1の閾値を越えるか否かを判定する第1の判定部を具備し、前記応答文生成部は、前記応答文の長さが所定の閾値を超える場合に、部分問題表現対から、前記部分解表現を選択する点にある。
【0045】
上記構成によれば、応答文の長さを適宜調節することができる。
【0046】
また、本発明の第7の特徴は、上記応答生成装置は、さらに、各部分問題表現対の長さが所定の第2の閾値を越えるか否かを判定する第2の判定部を具備し、前記応答文生成部は、前記部分問題表現対の長さが所定の閾値を越える場合に、前記部分問題表現対から、前記部分解表現を選択する点にある。
【0047】
上記構成によれば、応答文の長さを適宜調節することができる。
【0048】
また、本発明の第8の特徴は、自然言語の対話により、問い合わせ文に対する問題解決を遂行する対話管理装置であって、問題に対する解を導出するために1つ以上の解決すべき部分問題がある場合に、各部分問題を抽出する意味解析部と、前記部分問題のそれぞれに対応する部分解を導出するとともに、該部分解から前記問い合わせ文に対する解を導出する問題解決部と、導出された前記解とともに、前記部分問題のそれぞれに対応する問い合わせ文の要素である部分問題表現と、前記部分問題のそれぞれへの解の表現である部分解表現とを対とする部分問題表現対を含む応答文を生成する応答文生成部を具備することを特徴とする対話管理装置を提供する点にある。
【0049】
上記構成によれば、ユーザの問い合わせ文の発話が正しく認識され、かつ正しいプロセスで解が導出されたか否かを、ユーザに実時間内で容易に把握させることのできる簡潔な応答文を生成することができる。
【0050】
また、本発明の第9の特徴は、自然言語の対話により、与えられた問い合わせ文に対する解を含む応答文を生成する応答生成方法であって、前記解を導出するために1つ以上の解決すべき部分問題がある場合に、導出された前記解とともに、前記部分問題のそれぞれに対応する問い合わせ文の要素である部分問題表現と、前記部分問題のそれぞれへの解の表現である部分解表現とを対とする部分問題表現対を含む応答文を生成する応答文生成ステップと、前記生成された応答文を出力制御する出力ステップとを含むことを特徴とする応答生成方法を提供する点にある。
【0051】
上記構成によれば、ユーザの問い合わせ文の発話が正しく認識され、かつ正しいプロセスで解が導出されたか否かを、ユーザに実時間内で容易に把握させることのできる簡潔な応答文を生成することができる。
【0052】
また、本発明の第10の特徴は、上記応答生成方法は、さらに、各文型に対応し、前記部分問題ごとに解スロットを定義する応答文のテンプレートを選択する応答文テンプレート選択ステップを含み、前記応答文生成ステップは、前記部分問題表現対を、対応する前記解スロットにバインドする点にある。
【0053】
また、本発明の第11の特徴は、上記応答生成方法は、さらに、前記生成された応答文に関して、前記部分問題表現対中の前記部分問題表現と、対応する前記部分解表現との同一性を判定する同一性判定ステップを含み、前記応答文生成ステップは、前記同一性が判定された部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択する点にある。
【0054】
また、本発明の第12の特徴は、上記応答生成方法は、さらに、前記生成された応答文または前記部分問題表現対の長さが所定の閾値を越えるか否かを判定する判定ステップを含み、前記応答文生成ステップは、前記応答文または前記部分問題表現対の長さが所定の閾値を超える場合に、部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択する点にある。
【0055】
また、本発明の第13の特徴は、自然言語の対話により、与えられた問い合わせ文に対する解を含む応答文を生成する応答生成処理をコンピュータに実行させるプログラムを格納するコンピュータ読みとり可能な記録媒体であって、前記解を導出するために、1つ以上の解決すべき部分問題がある場合に、導出された前記解とともに、前記部分問題のそれぞれに対応する問い合わせ文の要素である部分問題表現と、前記部分問題のそれぞれへの解の表現である部分解表現とを対とする部分問題表現対を含む応答文を生成する応答文生成処理を含むことを特徴とするコンピュータ読みとり可能な記録媒体を提供する点にある。
【0056】
上記構成によれば、ユーザの問い合わせ文の発話が正しく認識され、かつ正しいプロセスで解が導出されたか否かを、ユーザに実時間内で容易に把握させることのできる簡潔な応答文を生成することができる。
【0057】
また、本発明の第14の特徴は、上記コンピュータ可能な記録媒体は、さらに、各文型に対応し、前記部分問題ごとに解スロットを定義する応答文のテンプレートを選択する応答文テンプレート選択処理を含み、前記応答文生成処理は、前記部分問題表現対を、対応する前記解スロットにバインドする点にある。
【0058】
また、本発明の第15の特徴は、上記コンピュータ読みとり可能な記録媒体は、さらに、前記生成された応答文に関して、前記部分問題表現対中の前記部分問題表現と、対応する前記部分解表現との同一性を判定する同一性判定処理を含み、前記応答文生成処理は、前記同一性が判定された部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択する点にある。
【0059】
また、本発明の第16の特徴は、上記コンピュータ読みとり可能な記録媒体は、さらに、前記生成された応答文または前記部分問題表現対の長さが所定の閾値を越えるか否かを判定する判定処理を含み、前記応答文生成処理は、前記応答文または前記部分問題表現対の長さが所定の閾値を超える場合に、部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択する点にある。
【0060】
【発明の実施の形態】
第1の実施形態
以下、図1から図5を参照して本発明に係る応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体の第1の実施形態を詳細に説明する。第1の実施形態は、複雑な問題解決を要求する問い合わせ文に対して、問い合わせ文中から部分問題を抽出し、この部分問題の発話表現と、この部分問題に対する部分解の発話表現とを含む応答文を生成する機能を提供する。
【0061】
尚、以下の実施形態においては、自動車を目的地まで誘導するカーナビゲーション・システム(以下、単にカーナビと略称する)を用いる具体例で説明を行うが、本発明の実施形態の適用対象はカーナビに限定されない。以下の実施形態は、自然言語を用いた対話システム一般に適用することができる。
【0062】
図1は、本発明の第1の実施形態に係る応答生成装置を含む対話処理システムの構成を示すブロック図である。第1の実施形態は、音声入力部110と、音声認識部120と、構文解析部130と、意味解析部102と、問題解決部104と、応答生成部106とから構成される。
【0063】
音声入力部110は、各種マイクなどにより実現され、ユーザからの発話を音声信号に変換し、この音声信号を音声認識部120に送出する。
【0064】
音声認識部120は、音声信号を処理し、音声信号中の音声区間を検出する。次に、音声認識部120は、認識語彙辞書(図示せず)を参照して、検出された音声区間中に存在するキーワードを検出する。このキーワード検出には、例えばキーワードスポッティングなどの一般に知られる手法を用いることができる。音声認識部120は、検出されたキーワードから、単語のグラフである単語ラティスを生成する。具体的には、この単語ラティスは、このキーワードの各候補であるノードと、これらのノードの間の接続関係であるリンクとから構成される。音声認識部120は、これらの生成された単語ラティスを構文解析部130へ送出する。
【0065】
構文解析部130は、入力された単語ラティスから、文として受理可能な単語の系列を文として抽出することにより構文を解析する。尚、この構文解析の手法には、一般に知られる手法を適用することができる。構文解析部130は、抽出された受理可能な単語の系列である文の集合を意味解析部102に送出する。
【0066】
意味解析部102は、意図表現辞書140などを参照することにより、入力された文の発話表現から発話者の意図を抽出する。意図表現辞書140は、各文型ごとに、ユーザの発話表現のどの部分をどのように加工して意図表現述語のスロットにバインドするかを記述する意図表現のデータを記憶する。意味解析部102は、抽出された意図表現を、問題解決部104が解釈可能なデータ構造である意図表現に変換し、この変換された意図表現を問題解決部104に送出する。尚、意図表現は、どのようなデータ構造でもよいが、第1の実施形態では、後述するように述語表現を採用する例で説明する。また、意図表現辞書140は、意味解析部102に組み込まれて構成されてもよい。意味解析部102は、入力された文が、1または複数の部分問題を含む場合には、意図表現辞書140に基づいて、各部分問題を抽出する。
【0067】
問題解決部104は、問題解決手順定義150を参照して、入力された意図表現を処理することにより、ユーザが意図した問題解決を実行する。この際、入力された意図表現が1または複数の部分問題を含む場合には、各部分問題ごとの解を導出する。問題解決手順定義150は、この問題解決のための手順を記憶する。問題解決部104は、この問題解決結果を応答生成部106に送出する。
【0068】
応答生成部106は、応答文テンプレート160を参照して、入力された問題解決結果をユーザへの回答とする応答文を生成する。応答文テンプレート160は、第1の実施形態に係る応答文を生成するためのテンプレートを記憶する。生成された応答文は、音声などにより出力される。応答生成部106は、1または複数の部分問題を含む場合には、各部分問題ごとに部分問題の発話表現とこの部分問題の解の発話表現とを、応答文中にバインドする。
【0069】
次に、第1の実施形態のハードウエア構成を説明する。
【0070】
第1の実施形態に係る応答生成装置および対話管理装置は、各種ハードウエアに実装されてもよく、また第1の実施形態の処理を実現するプログラムを作成することにより、ソフトウエアに実装されてもよい。
【0071】
第1の実施形態のハードウエア部分は、CPUと、主記憶部と、入力部と、出力部と、大容量外部記憶装置と、ドライブ装置と、通信部とにより構成される。これらの各装置は、バスを解して相互に接続される。
【0072】
尚、図1に示す各部は、それぞれの処理手順を記述したプログラムにより構成されてもよい。これらの処理手順を記述したプログラムは、上記のハードウエアを具備するコンピュータシステムを制御するためのプログラムとして主記憶部に格納され、CPUによりプログラムに記述された手順に従って実行されことにより、第1の実施形態の機能を実現する。
【0073】
また、これらのプログラムは、コンピュータ読み取り可能な記録媒体に記録することができる。この記録媒体を、ドライブ装置を用いて読み出すことにより、これらのプログラムが主記憶部に格納される。あるいは、予めドライブ装置等にインストールしておき、実行時にどう装置から主記憶部に格納してもよい。ここで、記録媒体とは、例えば、半導体メモリ・磁気ディスク(フロッピーディスク・ハードディスク)・光ディスク(CD−ROM・DVD)等、プログラムを記録することができる装置全般を含む。
【0074】
次に、第1の実施形態における問題解決の処理手順を説明する。図2は、第1の実施形態におけるユーザの発話による問い合わせ文に基づく問題解決および応答文生成処理の処理手順を示すフローチャートである。
【0075】
一般に、1つの単語ラティスから複数の文候補が発生する。このため、音声対話システムは、図2に示すアルゴリズムのように、複数の文候補を全て処理するまで手順を繰り返す。尚、図2では、「Howmuch1」という識別子を持つ文型を例として説明しており、この文型以外の処理については表記を省略している。この「Howmuch1」の文型に属する問い合わせ文の例としては、例えば、高速道路を走行中のユーザが、カーナビに対して発話する「現在地から出口までどれくらい?」という問い合わせ文がある。この問い合わせ文は、2地点間の距離と所要時間とについての問題解決を要求する文である。また、図2のアルゴリズムは、単語ラティスの1処理例である。この例の他、例えばスコアが最高のもの1つだけでなく複数の解決済み文について回答文を生成する処理を行なってもよい。
【0076】
まず、1つのユーザ発話に対応して、S20以下の問題解決処理で用いる入力文の候補集合を初期化する(ステップS10)。次に、入力文候補集合が空であるか否かが判定される(ステップS20)。入力文候補集合が空であれば(ステップS20Y)、ステップS130に進む。一方、入力文候補集合が空でなければ(ステップS20N)、入力文候補集合から1つの文が取り出される(ステップS30)。この1つの文から、ユーザ発話に対応するユーザ意図表現が生成される(ステップS40)。このユーザ意図表現に対応する入力文型が判定される(ステップS50)。図2では、「Howmuch1」の識別子を持つ文型の場合に、ステップS70に進み、他の文型であればその文型に対応する解の生成処理に進む(ステップS60)。「Howmuch1」の識別子を持つ文型の場合、上記の問い合わせ文に対応するユーザの意図表現から部分問題が抽出される(ステップS70)。上記の問い合わせ文には、「計測始点」がどこか、と「計測終点」がどこか、の2つの部分問題が抽出される。次に、第1の部分問題である「計測始点」が、「計測始点」の場所述語表現を用いて解決される(ステップS80)。第2の部分問題である「計測終点」が、「計測終点」の場所述語表現を用いて解決される(ステップS90)。これら2つの部分問題の解から、上記の問い合わせ文に対する解が導出される。具体的には、「計測始点」と「計測終点」の解から2地点間の距離と所要時間が解決される(ステップS100)。次に、ステップS100で得られた解決結果に音響的観点、意味的観点からスコアが与えられ、このスコアが解決済み文リストに蓄積される(ステップS110)。ステップS40からステップS110までの処理が終わった文は、入力文候補集合から削除され、次の1文が選択される(ステップS120)。入力文候補集合がすべて処理されると、解決済み文リストからスコアが最高の文が取り出される(ステップS130)。次に、この最高スコアを持つ文に基づいて、応答文が生成される(ステップS140)。具体的には、解決結果の表現述語の各スロット値と、文型ごとに定義された応答文生成テンプレートを対応づけることにより、応答文を生成する。最後に、1回のユーザ発話に対応して、1つの応答文が出力される(ステップS150)。
【0077】
システムに対するユーザの発話は、システムに対して問題解決を要求するものである。例えば、カーナビシステムに対する「出口はどこ」という発話は、カーナビシステムに「出口」と呼べる場所を検索することを要求する。この問題解決には、単純なものだけでなく、複数の部分的な部分問題を解決することで初めて問い合わせに対する解を得ることができる複雑な処理を要求するものも含まれる。図2の例では、文型Howmuch1に属する発話「現在地から出口までどれくらい」は、ステップS80の計測始点を表す場所の解決と、ステップS90の計測終点を表す場所の解決の2つの地点問題解決を要求する。第1の実施形態では、入力された問い合わせ文に対する解を導出する前提として、解決することが必要となる問題を、部分問題と称する。
【0078】
第1の実施形態に係る応答生成部106は、ユーザ発話文が複数の副問題から構成されている場合に、ユーザ発話中の部分問題に相当する部分を含むような応答文を生成する。具体的には、応答生成部106は、図2のステップS140において、入力文全体が表す問題の解決においてその部分問題を解決する場合には、少なくとも入力文全体についての解決結果と、入力文中の部分問題のそれぞれに対応する部分入力文と、それぞれの部分入力文に対応する部分解決結果とを含めた応答文を生成する。ユーザは、システムから出力されるこの応答文を聞くことにより、自身の発話がシステムによってどのような部分問題に分割され、それぞれの部分問題が解決されたかを把握することができる。
【0079】
次に、第1の実施形態に係る問題解決処理の詳細を、図3、図4および図5を参照して具体的に説明する。ここでは、入力文候補集合の1つが上記の問い合わせ文(1)
「現在地から出口までどれくらい」 (1)
であった場合を例として説明する。
【0080】
まず、図1に示す構文解析部130および意味解析部102は、入力された発話文を、問題解決部104が処理可能なデータ構造である意図表現に変換する。図3は、入力発話文の意図表現への変換過程を示す。図3の1行目から11行目までは、問題解決部104が問題解決時に参照するユーザ意図表現の構造を示す。尚、「/* 」 と「* /」で囲まれた部分はコメントであって、問題解決部104の処理とは関係しない。また、図3のデータ構造は、一例であって、第1の実施形態を適用するシステム毎に異なって構成されてよい。
【0081】
意味解析部102は、意図表現辞書140を参照することによって意図表現を初期化する。上記の発話「現在地から出口までどれくらい」の場合、ユーザ意図表現は図3の14行目から17行目に記載の述語表現に初期化される。具体的にはまず、構文解析部103によってユーザ発話表現が「HowMuch1」の文型であることが導出され、意図表現のスロットであるSentenceTypeの値が「HowMuch1」に初期化される。意味解析部102は、このSentenceTypeの値をキーとして、意図表現辞書140を探索する。この探索結果から、ユーザの意図が、「現在地」から「出口」と呼ばれる地点までの2地点の間の距離を測定することであることが導出される。この距離の測定をするために、まず「現在地」や「出口」と呼ばれる地点が現在のユーザの状況に対してどこであるのかをそれぞれ導出する。これらを導出した上で2地点間の距離を計算する必要がある。そこで、意味解析部102は、ユーザの発話中の「現在地」と「出口」を、それぞれ問題解決部104が処理可能な形式に加工し、スロットStartPosPredとDestPosPredにそれぞれバインドする。すなわち、それぞれを部分問題として抽出する。最後に、文のスコアを初期化する。この文のスコアは、音響的観点と意味的観点から加工されて最終的に決定されるが、意味解析部102が受け取るのは音響的観点からのスコアのみである。図3では、このスコアの値が1000であることを示している。尚、第1の実施形態において、述語中の”−”は、そのスロットが値を持たないことを示す。以上の意図表現生成の手順は、図2のフローチャート中、ステップS40、S50、S70に相当する。
【0082】
次に、図3の14行目から17行目までに示す意図表現は、20行目から23行目に示す述語に変換される。すなわち、「現在地」と「出口」がユーザの状況に合わせて解決される。(図2のステップS80,S90)。さらに、2地点間の距離が算出され(ステップS100)、スコアも修正される(ステップS110)。解を含む最終的な意図表現は、図3の26行目から29行目に記載の内容となる。
【0083】
全ての文候補に対して上記の問題解決が実行されると(ステップS20Y)、問題解決済み文のリストからスコアが最高のものが選ばれる(ステップS130)。この選択された文に対する解決結果をユーザに提示するための応答文が生成される(ステップS140)。第1の実施形態では、「現在地から出口までどれくらい」が発話候補文中で最高のスコアを持ったものであった場合を例として説明する。
【0084】
次に、図2のステップS140における応答文生成処理の詳細を説明する。図4は、第1の実施形態に係る応答生成部106が行う応答文生成処理の詳細を示すフローチャートである。図5は、図3の意図表現を、図4のアルゴリズムに従って処理して得られる応答文の生成過程を示す。
【0085】
上述したように、応答文の生成対象である文候補の意図表現は、図3の13行目から16行目に示す内容である。この意図表現では文型識別子が「How Much1」であることから、応答文生成用のテンプレートとして図5の1行目から11行目に示すものが選択される。尚、この応答文テンプレート160は、適当なデータベースにあらかじめ保存しておくのが望ましいが、動的に生成するプログラムコードとして実現されてもよい。
【0086】
まず、「How Much1」の文型に適合する応答文テンプレートが選択される(ステップS141)。このテンプレートに基づいて、候補文中のすべての部分問題(この場合は場所表現)について、発話表現対が生成される(ステップS142)。ユーザ発話「現在地から出口までどれくらい」には、2つの場所表現がある。これらでそれぞれの場所表現について、それぞれ発話表現対が生成される。尚、発話表現対とは、3つ組のデータ構造であり、ユーザが発話時に使用した表現であるユーザ発話表現と、ユーザ発話表現に基づいてシステムが問題解決を実行した結果の表現である解発話表現と、システムが応答文で用いる表現をバインドするスロットの名称である解スロット名称とからなる。すなわち、この発話表現対の一般形は、次のように表記される。
【0087】
(ユーザ発話表現、解発話表現、解スロット名称)
これら、複数の発話表現対は、リスト状に加工される(ステップS143)。図5の18行目に、生成される発話表現対リストを示す。例えば、「現在地」というユーザの発話表現について、その解決結果の表現が「吹田サービスエリア付近」であり、これらの発話表現から生成される応答文としての表現がスロットStartExpにバインドされている。この「現在地」の発話表現は、以下のように表現される。
【0088】
(現在地、吹田SA付近、StartExp)
同様に、「出口」の発話表現対は、以下のように表現される。
【0089】
(出口、摩耶出口、DestExp)
図5の18行目は、これら2つの発話表現対をリストにしたものを示す。
【0090】
次に、応答生成部106は、この発話表現対リストを参照して、応答文生成テンプレートの解スロットを埋める(ステップS144〜S146)。応答文テンプレートの解スロットにStartExpには、[ユーザ発話表現、”である”、解発話表現]の表現がバインドされる(ステップS145)。
【0091】
具体的には、まず発話表現対リストの先頭要素である、
(現在地、吹田SA付近、StartExp)
が参照される。この発話表現対においては、ユーザ発話表現=現在地、解発話表現=吹田SA付近となる。このため、応答文生成テンプレートの解スロットであるStartExpには値「現在地である吹田SA付近」がバインドされる。
【0092】
同様に、「出口」の発話表現対、
(出口、摩耶出口、DestExp)
が参照され、応答文生成テンプレートの解スロットであるDestExpには値「出口である摩耶出口」がバインドされる。処理された発話表現対は、発話表現対リストから削除される(ステップS146)。
【0093】
ステップS145の処理を、発話表現対リストが空になるまで繰り返し行う(ステップS144)。
【0094】
図5の21行目から31行目は、上記の処理により初期化された応答文テンプレートの内容を示す。応答生成部106は、この初期化された応答文生成テンプレートを参照して、出力すべき応答文を生成する(図2のステップS140)。図5の図6の33行目から34行目に、最終的にユーザに出力される応答文(1)を示す。
【0095】
「現在地である吹田SA付近から出口である摩耶出口までの距離は25キロメートル、所要時間はおよび19分です。」 (1)
この応答文(1)は、ユーザの発話表現と、各部分問題に対する解表現と、問い合わせに対する全体の解表現とを含む。
【0096】
このため、ユーザは、システムから音声の形で提供されるこの1文の応答文を聞くだけで、
・ユーザ自身の意図した発話が、正しくシステムに認識されたこと、
・システムが現在地、および、出口という2つの表現に対して問題解決を行なったこと、
また、その結果
・2つの地点間の距離と所要時間がどの程度であるか、
の3点を容易に確認することができる。また、応答文(1)を確認することで、システムが意図しなかった問題解決を実行してしまった場合にもこの誤りを確認できる。例えば、ユーザが「出口」という表現を用いたことに対して、上記では、「現在走行中の有料道路の終点」と解釈して問題解決を行なった。しかし、本来のユーザの意図は「次に高速道路から出ることができるインター」であったかもしれない。ユーザは、上記の応答文1を聞くことによってシステムが「出口」という表現に対してどのような問題解決を行なうかを推論することができる。このように、ユーザは、問題解決に誤りがあった場合にも、自身の発話文がシステムにとって曖昧であったことを認識し、条件を付加した発話表現「現在地から次の出口までどれくらい」などを再度発話することによって、本来意図する回答をシステムから得ることができる。
【0097】
第1の実施形態によれば、以下の効果が得られる。
【0098】
すなわち、応答文生成部106は、応答文テンプレート160の定義に基づいて、問い合わせに対する解を導出するために必要となる部分問題に関する発話表現対を、応答文にバインドする。このため、ユーザは、1つの応答文を聞くだけで、ユーザの発話がシステムに正しく認識され、かつ正しいプロセスで解が導出されたことを、実時間内で確認、検証することができる。尚、第1の実施形態は、応答文テンプレート160を付加しただけの非常に簡易な構成で実現可能であり、対話システムに大きな計算能力を要求しない。
【0099】
第2の実施形態
以下、図6から図9を参照して、本発明の第2の実施形態に係る応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体を詳細に説明する。第2の実施形態は、ユーザに対する応答文から意味的な冗長性を排除する機能を提供するものである。
【0100】
図6は、本発明の第2の実施形態に係る応答生成装置を含む対話処理システムの構成を示すブロック図である。第2の実施形態は、図1の第1の実施形態の構成に、さらに図6の同一性検証部108を具備する点において、第2の実施形態の修正である。第2の実施形態の音声入力部110,音声認識部120,構文解析部130,意味解析部102,問題解決部104の構成は、第1の実施形態と同様である。
【0101】
第1の実施形態は、簡易な構成で応答文を生成することができる。しかし、場合によっては同じ意味の表現を繰り返す冗長な応答文を生成してしまうため、応答文を聞くユーザに苦痛を与える場合がある。第2の実施形態は、第1の実施形態が生成する応答文から、意味的な冗長性を排除してユーザの苦痛を取り除く。
【0102】
第2の実施形態に係る同一性検証部108は、ユーザの発話表現とその発話表現に基づく問題解決結果を最終的に応答文にバインドする前に、ユーザの発話表現とその発話表現に対する解との間の意味的な同一性を検証し、検証結果を応答文生成部106に受け渡す。第2の実施形態に係る応答文生成部106は、この同一性検証結果に基づいて、意味的な同一性があると判定された部分を冗長な部分と判断し、生成された応答文中でこの冗長な部分を提示しない。
【0103】
具体的には、問題解決部104が、入力文全体が表す問題の解決においてその部分問題を解決する場合に、同一性検証部108は、少なくとも入力文全体についての解決結果とあらかじめ定義された概念階層知識に基づいて比較した場合に、ユーザ発話の部分入力文が表現する概念と、その部分入力文表現に対応する部分的解決結果(解)に対応する概念とが属する概念階層の差異に応じて、その意味的同一性の有無を判定する。応答文生成部106は、意味的同一性があると判定れた発話表現対に関して、ユーザ発話の部分入力文を非提示とする応答文に変換する。すなわち、変換後の応答文は、少なくとも入力文全体についての解決結果と、提示すると判定された部分入力文と、全ての部分入力文についての部分的解決結果とが含まれることとなる。
【0104】
次に、第2の実施形態に係る応答生成部106及び同一性検証部108が行う応答文生成処理の手順を説明する。図7は、第2の実施形態に係る応答生成処理の詳細の処理手順を示すフローチャートである。ここでは、ユーザ発話表現が、
「現在地から摩耶出口までどれくらい」 (2)
であった場合を例として説明する。尚、音声入力から意図表現の生成までのアルゴリズムは、図2のステップS10〜S130に従う。このユーザ発話文(2)も、第1の実施形態と同様に「HowMuch1」に属する。
【0105】
図8の13行目から16行目に、発話文(2)を、図2のアルゴリズムに従ってユーザ発話文中に含まれる問題解決も実行した結果得られる意図表現を示す。
【0106】
第1の実施形態がこの意図表現を、図4の応答文生成処理のアルゴリズムにしたがって生成する応答文は、以下の表現となる。
【0107】
「現在地である吹田SA付近から摩耶出口である摩耶出口までの距離は25キロメートル、所要時間はおよそ19分です」 (2−1)
このように、摩耶出口という表現が重複して応答文が無駄に長くなってしまう。 第2の実施形態は、図7のアルゴリズムを用いてユーザ発話の抽象度と解表現の抽象度とを比較することにより、この冗長性を解消する。
【0108】
図4との差は、ステップS1405からS1409によって応答用の表現を生成する際にユーザ発話の抽象度と回答表現の抽象度を比較し、生成する応答表現を変更することである。
【0109】
ステップS1401〜ステップS1404までの処理は、図4に示す第1の実施形態の処理と同様である。
【0110】
図8の13行目から16行目に示す意図表現に対して、ユーザ発話「現在地」と「摩耶出口」に対する発話表現対リストが図8の18行目に示す通りに生成される(ステップS1401〜ステップS1403)。次に、発話表現対リストの先頭要素が発話表現対Tpにコピーされる(ステップS1405)。ここで、
Tp=(現在地、吹田SA付近、StartExp)
となる。尚、Tpとは、発話表現対を一時的に保持する変数を表す。この発話表現対Tpに関して、概念階層知識111が参照され、ユーザ発話表現の抽象レベルが算出される(ステップS1406)。
【0111】
図9は、概念階層知識の一例を示す。概念階層知識は少なくとも、対話時に用いられる発話表現と、発話表現とその発話表現が表す概念とを結び付けたノードと、ノード同士の階層関係を含む。例えば、ユーザ発話表現である「現在地」は、概念「現在地」と結びつけられ、その抽象度が2であることが導出される。
【0112】
次に、ユーザの発話表現に対して行なった問題解決結果(解)の表現について、概念階層知識111を参照して、同様に抽象レベルが算出される(ステップS1407)。図9に示すように、「吹田SA付近」の抽象度は3と算出される。ステップS1406およびS1407で得られた2つの表現の抽象レベルが比較される(ステップS1408)。この比較の結果、表現「現在地」と「吹田SA付近」はその抽象レベルが違うため(ステップS1408N)、解スロットStartExpに、
「現在地である吹田SA付近」がバインドされる。
【0113】
発話表現リストの次の先頭要素が取り出され(ステップS1411,S1404)、
Tp=(摩耶出口、摩耶出口、DestExp)
と設定される(ステップS1405)。
【0114】
ここで、ユーザ発話表現と問題解決結果の表現について、概念階層知識111を参照してそれぞれ抽象度が算出される。ここでユーザ発話表現と解表現との抽象度レベルは、ともに抽象度は3で等しいため(ステップS1408Y)、解スロットであるDestExpには発話表現「摩耶出口」のみがバインドされる(ステップS1409)。
【0115】
図8の21行目から31行目までに、以上の処理で生成される応答文生成テンプレートの表現を示す。応答生成部106は、このテンプレートを参照して、図8の33行目から34行目の通り、
「現在地である吹田SA付近から摩耶出口までの距離は25キロメートル、所要時間はおよそ19分です」 (2−2)
との応答文(2−2)を生成する。
【0116】
上記の応答文(2−1)と比較して、「摩耶出口」という表現を冗長に繰り返す説明文ではなくなっている。
【0117】
第2の実施形態によれば、さらに以下の効果が得られる。
【0118】
すなわち、同一性検証部108は、生成された応答文から、互いに意味的な同一性を持つ発話表現を、概念階層知識111を用いて抽出する。応答生成部106は、この同一性を持つ発話表現を含む応答文を、冗長性を排除した応答文に変換する。このため、ユーザに苦痛を与えることのない、自然な表現の応答文を出力することができる。
【0119】
あるいは、第2の実施形態の変形例として、発話表現の意味的同一性を、表層的表現の差異に基づいて判定してもよい。
【0120】
意味的に同じ表現の多くは、その表層的表現同士も同一である。第2の実施形態の変形例は、この点に着目し、意味的に同じ表現の多くを、第2の実施形態よりも簡易な構成で排除する。
【0121】
具体的には、第2の実施形態の変形例に係る図6の同一性検証部108は、入力文中の部分問題に対応する部分入力文と、この部分入力文に対応する部分解の表層表現の差異に応じて、両者の同一性を判定する。
【0122】
第2の実施形態の変形例においては、図7の応答文生成処理において、ステップS1407およびS1408が削除され、ステップS1408では、単に発話表現と問題解決結果の解表現との表現の同一性が文字列比較により判定される。ステップS1409以降の処理は、上記の第2の実施形態と同様である。
【0123】
第2の実施形態では、概念階層知識111に、あらかじめ概念と表現との結びつきおよびこれらの間の関係を定義し、応答生成部106は、この概念階層知識111を参照して意味的同一性を判定する必要がある。一方、第2の実施形態の変形例によれば、概念などの定義と構築に関するコスト、および参照処理の負荷が不要となる。意味的に同一であるが表現が異なる発話表現を排除することはできないが、表層的な表現上で冗長な発話表現を完全に排除することができる。このため、第2の実施形態に近い機能が、より低コストで実現できる。
【0124】
第3の実施形態
以下、図10から図12を参照して、本発明の第3の実施形態に係る応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体を詳細に説明する。第3の実施形態は、ユーザに出力される応答文の長さを調節する機能を提供するものである。
【0125】
図10は、本発明の第3の実施形態に係る対話処理システムの構成を示すブロック図である。第2の実施形態は、図1の第1の実施形態の構成に、さらに図10の応答文長判定部110を具備する点において、第1の実施形態の修正である。第2の実施形態の音声入力部110,音声認識部120,構文解析部130,意味解析部102,問題解決部104の構成は、第1および第2の実施形態と同様である。
【0126】
応答文生成部106により生成された応答文から、第2の実施形態によって冗長な表現を排除しても、なお対話システム全体が要求する実時間性を満たさない場合がある。例えば、カーナビなど実時間性が高く要求される音声対話システムでは、長すぎる応答文はユーザの注意を奪い、安全運転を妨げることにもなりかねない。
【0127】
第3の実施形態に係る応答文長判定部109は、短い応答文を生成するために、最終的にユーザに対して出力する応答文の長さあるいは個々のユーザ発話の部分入力文の長さとの関係に応じて、応答文の長さを調節するため、発話表現対の一部を非提示とするか否かを判定する。
【0128】
次に、第3の実施形態に係る応答生成部106および応答文長判定部109の行う応答文生成処理の手順を説明する。図11は、第3の実施形態に係る応答生成処理の詳細の処理手順を示すフローチャートである。ここでは、ユーザ発話表現が、
「現在地から目的地の前の最後のレストランがあるSAまでどれくらい?」(3)
であった場合を例として説明する。尚、音声入力から意図表現の生成までのアルゴリズムは、図3のステップS10〜S130に従う。このユーザ発話文(3)も、第1の実施形態と同様に「HowMuch1」に属する。
【0129】
図12の13行目から19行目に、発話文(3)を、図2のアルゴリズムに従ってユーザ発話文中に含まれる問題解決も実行した結果得られる意図表現を示す。
【0130】
第1の実施形態がこの意図表現を、図4の応答文生成処理のアルゴリズムにしたがって生成する応答文は、以下の表現となる。
【0131】
「現在地である吹田SA付近から目的地の前の最後のレストランがあるSAである吹田SAまでの距離は5キロメートル、所要時間はおよそ3分です」 (3−1)
このように、生成される応答文(3−1)は、非常に長いものとなる。例えばカーナビを利用しているユーザにとって、長過ぎる回答文は必要以上にユーザの気を引いてしまい、車の運転に対する集中力を奪うことになりかねない。一方、長い文によって表現される複雑な質問をするユーザは、自分が質問した内容を良く理解しているとも考えられる。この考えに基づけば、質問の表現を改めて逐一応答文に含める必要はない場合もある。
【0132】
第3の実施形態は、図11のアルゴリズムを用いて応答文の長さを調節する。
【0133】
ステップS1401〜ステップS1404までの処理は、図4に示す第1の実施形態の処理および図7に示す第2の実施形態の処理と同様である。
【0134】
図12の13行目から19行目に示す意図表現に対して、図12の21行目および22行目に示す通りに生成される(ステップS1401〜ステップS1403)。次に、発話表現対リストの先頭要素が発話表現対Tpにコピーされる(ステップS1405)。ここで、
Tp=(現在地、吹田SA付近、StartExp)
となる。
【0135】
この発話表現対Tpに関して、ユーザ発話表現の語長が導出される(ステップS1406b)。ここで、語長の定義としては、構成単語数、キーワードのみの語数など様々なものを用いることができる。第3の実施形態では、一例として、表現を構成する文字の数とする。1数字、1漢字、1記号についてもそれぞれの語長は1と数える。上記のTpについてはユーザ発話表現は、「現在地」であり、その語長は「3」である。
【0136】
次に、ユーザ発話を解スロットにバインドした場合の回答文長が求められる(ステップ1406c)。ここで、回答文長の定義としては、やはり様々なものを用いることができる。第3の実施形態では、一例として、出力することが確定している文を構成する文字の数と定義する。ステップS1406cまでに確定している出力応答文は、
「現在地からまでの距離はキロメートル、所要時間はおよそ分です」であり、文の長さは「29」となる。
【0137】
得られた応答文長が、所定の閾値と比較される(ステップS1408)。この閾値は、任意であるが、第3の実施形態では50とする。一方、ステップS1406cで得られた確定している応答文長は、「29」であるので(ステップS14089N)、ステップS1410に進む。
【0138】
ここでは、応答表現である
「現在地である吹田SA付近」
が解スロットであるStartExpにバインドされる。次に、発話表現対リストの次の先頭要素が処理対象として選択される(ステップS1411,S1404)。ここで、発話表現対リストの先頭は、
(目的地の前の最後のレストランがあるSA、吹田SA、DestExp)
となる。すなわち、
Tp=(目的地の前の最後のレストランがあるSA、吹田SA、DestExp)
となる(ステップS1405)。ここで、ユーザ発話表現の語長が、上記の定義に従い算出される(ステップS1406b)。確定している発話表現が、
「現在地である吹田SA付近から目的地の前の最後のレストランがあるSAまでの距離は5キロメートル、所要時間はおよそ3分です」
であり、その語長は「59」である。
【0139】
従って、発話表現を含めた応答文の長さは閾値「50」を越えている(ステップS1408Y)。このため、Tpの解スロットであるDestExpには値「吹田SA」のみがバインドされる。
【0140】
図12の25行目から35行目までに、上記の処理によって生成される応答文テンプレートを示す。この応答文テンプレートを用いて最終的に生成される応答文は、図12の37行目から38行目までに示すように、
「現在地である吹田SA付近から吹田SAまでの距離は5キロメートル、所要時間はおよそ3分です」 (3−2)
となる。このように、応答文長判定部109は、図11のアルゴリズムを用いて必要以上に長い応答文が生成されることを抑制する。尚、図11のステップS1406b、S1406c、S1408において、確定している全体の応答文長ではなく、個々の発話表現対Tpについてそのユーザ発話表現の長さを閾値と比較してもよい。この発話表現対に関して、長さを調節することによって、ユーザ発話文中の適当な部分問題についてのみ問題定義を示し、長過ぎる部分問題定義についてはシステムによる解の表現のみを提示する、と言った処理も可能となる。さらに、上記の文全体の長さを考慮する方式と、個々の部分問題についての長さのみを考慮する方式を適宜組み合わせもよい。
【0141】
第3の実施形態によれば、以下の効果が得られる。
【0142】
すなわち、応答文長判定部109は、所定の閾値に基づいて、応答文の長さを調節する。このため、ユーザが長い応答文を聞くことが困難であるような、実時間性の高い対話システムにおいて、応答文の長さを適宜調節することができる。
【0143】
尚、上記の3つの実施形態においては、カーナビゲーションシステムを例として説明したが、本発明はカーナビゲーションシステム特有の問題解決方式に依存するものではない。従って、自然言語による複雑な問い合わせを行なう他のシステムに適用することも可能である。特に、応答内容や、応答生成に要する時間長に制約があるシステムにおいては、得られる効果が高い。また、カーナビの場合には運転者は画面を見ることができないため、応答文のみで必要な情報を提示させる方式を説明したが、他のシステム、例えば駅前での道案内システムに本発明を適用する場合には、グラフィック表現などを組み合わせることによってさらに複合的にシステムの効果を高めることも可能である。この他、上記の実施形態は、本発明の要旨を逸脱しない範囲内で適宜変更、変形が可能である。
【0144】
【発明の効果】
以上説明したように、本発明によれば、以下に記載されるような効果を奏する。
【0145】
すなわち、本発明に係る応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体は、複雑な問題解決を要求する問い合わせ文に対して、部分問題要素とこの部分問題要素に対する部分解との発話表現対を含んだ応答文を生成する機能を提供する。また、生成された応答文から意味的な冗長性を排除して簡潔な応答文に変換する機能を提供する。
【0146】
これにより、ユーザは、問い合わせに対するシステムの認識および回答の正確性を、実用的時間内に容易に確認することが可能となる。
【0147】
このように、本発明を用いれば、対話における問題解決が容易かつ迅速に実現され、自然言語を用いた対話処理システムの可用性が大幅に向上する。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る応答生成装置を含む対話処理システムの構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る応答生成の概略処理のアルゴリズムを示すフローチャートである。
【図3】発話文から問題解決部に入力される意図表現への変換過程を説明する図である。
【図4】第1の実施形態における図2のステップS140での応答文生成処理の詳細のアルゴリズムを示すフローチャートである。
【図5】第1の実施形態で用いられる応答文テンプレートおよび応答文生成の過程の一例を説明する図である。
【図6】本発明の第2の実施形態に係る応答生成装置を含む対話処理システムの構成を示すブロック図である。
【図7】第2の実施形態における図2のステップS140での応答文生成処理の詳細のアルゴリズムを示すフローチャートである。
【図8】第2の実施形態で用いられる応答文テンプレートおよび応答文生成の過程の一例を説明する図である。
【図9】第2の実施形態における概念階層知識の構成を示す図である。
【図10】本発明の第3の実施形態に係る応答生成装置を含む対話処理システムの構成を示すブロック図である。
【図11】第3の実施形態における図2のステップS140での応答文生成処理の詳細のアルゴリズムを示すフローチャートである。
【図12】第3の実施形態で用いられる応答文テンプレートおよび応答文生成の過程の一例を説明する図である。
【図13】カーナビゲーションシステムにおける設定経路とユーザの現在位置との関係を説明する図である。
【符号の説明】
102 意味解析部
104 問題解決部
106 応答生成部
108 同一性検証部
109 応答文長判定部
110 音声入力部
111 概念階層知識
120 音声認識部
130 構文解析部
140 意図表現辞書
150 問題解決手順定義
160 応答文テンプレート
Claims (15)
- 自然言語の対話により、与えられた問い合わせ文に対する解を含む応答文を生成する応答生成装置であって、
意図表現辞書を記憶する意図表現辞書記憶手段を参照して、前記問い合わせ文から、発話者の意図表現を抽出するとともに、前記解を導出する前に解決されるべき部分問題を抽出する解析部と、
問題解決手順定義を記憶する問題解決手順定義手段を参照して、前記意図表現を処理し、前記部分問題ごとの解である部分解を導出した後、該部分解に基づいて、前記問い合わせ文に対する解である全体解を導出する問題解決部と、
前記全体解とともに、前記部分問題のそれぞれに対応する前記問い合わせ文の要素である部分問題表現と、前記部分解の表現である部分解表現とを対とする部分問題表現対を含む応答文を生成する応答文生成部を具備する
ことを特徴とする応答生成装置。 - 上記応答装置は、さらに、
各文型に対応し、前記部分問題ごとに解スロットを定義する応答文のテンプレートを記憶する応答文テンプレート記憶部を具備し、
前記応答文生成部は、前記部分問題表現対を、対応する前記解スロットにバインドする
ことを特徴とする請求項1に記載の応答生成装置。 - 上記応答装置は、さらに、
前記生成された応答文に関して、前記部分問題表現対中の前記部分問題表現と、対応する前記部分解表現との同一性を判定する同一性判定部を具備し、
前記応答文生成部は、前記同一性が判定された部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択して前記部分問題表現対に替えて出力すべき応答文に含める
ことを特徴とする請求項1または2に記載の応答生成装置。 - 上記応答生成装置は、さらに、
各発話表現と、該発話表現が示す概念の抽象度との関係を規定する概念階層を記憶する概念階層記憶部を具備し、
前記同一性判定部は、前記概念階層に基づいて、前記部分問題表現と、対応する前記部分解表現との同一性を判定する
ことを特徴とする請求項3に記載の応答生成装置。 - 前記同一性判定部は、
前記部分問題表現と、対応する前記部分解表現との発話表現上の差異に基づいて、前記同一性を判定する
ことを特徴とする請求項3または4に記載の応答生成装置。 - 上記応答装置は、さらに、
前記生成された応答文の長さが所定の第1の閾値を超えるか否かを判定する第1の判定部を具備し、
前記応答文生成部は、前記応答文の長さが所定の閾値を超える場合に、部分問題表現対から、前記部分解表現を選択して前記部分問題表現対に替えて出力すべき応答文に含める
ことを特徴とする請求項1乃至5のいずれか記載の応答生成装置。 - 上記応答生成装置は、さらに、
各部分問題表現対の長さが所定の第2の閾値を超えるか否かを判定する第2の判定部を具備し、
前記応答文生成部は、前記部分問題表現対の長さが所定の閾値を超える場合に、前記部分問題表現対から、前記部分解表現を選択して前記部分問題表現対に替えて出力すべき応答文に含める
ことを特徴とする請求項1乃至5のいずれか記載の応答生成装置。 - 自然言語の対話により、与えられた問い合わせ文に対する解を含む応答文を生成するために、解析部と、問題解決部と、応答文生成部とを具備する応答文生成 装置が実行する応答生成方法であって、
前記解析部により、意図表現辞書を記憶する意図表現辞書記憶手段を参照して、前記問い合わせ文から、発話者の意図表現を抽出するとともに、前記解を導出する前に解決されるべき部分問題を抽出する解析ステップと、
前記問題解決部により、問題解決手順定義を記憶する問題解決手順定義手段を参照して、前記意図表現を処理し、前記部分問題ごとの解である部分解を導出した後、該部分解に基づいて、前記問い合わせ文に対する解である全体解を導出する問題解決ステップと、
前記応答文生成部により、前記全体解とともに、前記部分問題のそれぞれに対応する前記問い合わせ文の要素である部分問題表現と、前記部分解の表現である部分解表現とを対とする部分問題表現対を含む応答文を生成する応答文生成ステップと、
前記生成された応答文を出力制御する出力ステップとを含む
ことを特徴とする応答生成方法。 - 上記応答生成方法は、さらに、
応答文テンプレート選択部により、各文型に対応し、前記部分問題ごとに解スロットを定義する応答文にテンプレートを選択する応答文テンプレート選択ステップを含み、
前記応答文生成ステップは、前記部分問題表現対を、対応する前記解スロットにバインドする
ことを特徴とする請求項8に記載の応答生成方法。 - 上記応答生成方法は、さらに、
同一性判定部により、前記生成された応答文に関して、前記部分問題表現対中の前記部分問題表現と、対応する前記部分解表現との同一性を判定する同一性判定ステップを含み、
前記応答文生成部は、前記同一性が判定された部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択して前記部分問題表現対に替えて出力すべき応答文に含める
ことを特徴とする請求項8または9に記載の応答生成方法。 - 上記応答生成方法は、さらに、
閾値判定部により、前記生成された応答文または前記部分問題表現対の長さが所定の閾値を超えるか否かを判定する判定ステップを含み、
前記応答文生成部は、前記応答文または前記部分問題表現対の長さが所定の閾値を超える場合に、部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択して前記部分問題表現対に替えて出力すべき応答文に含める
ことを特徴とする請求項8乃至10のいずれか記載緒応答生成方法。 - 自然言語の対話により、与えられた問い合わせ文に対する解を含む応答文を生成する応答生成処理をコンピュータに実行させるプログラムを格納するコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、前記コンピュータに、
意図表現辞書を記憶する意図表現辞書記憶手段を参照して、前記問い合わせ文から、発話者の意図表現を抽出するとともに、前記解を導出する前に解決されるべき部分問題を抽出する解析処理と、
問題解決手順定義を記憶する問題解決手順定義手段を参照して、前記意図表現を処理し、前記部分問題ごとの解である部分解を導出した後、該部分解に基づいて、前記問い合わせ文に対する解である全体解を導出する問題解決処理と、
前記全体解とともに、前記部分問題のそれぞれに対応する前記問い合わせ文の要素である部分問題表現と、前記部分解の表現である部分解表現とを対とする部分問題表現対を含む応答文を生成する応答文生成処理を含む
処理を実行させるためのものであることを特徴とするコンピュータ読み取り可能な記録媒体。 - 上記コンピュータ読み取り可能な記録媒体に格納されるプログラムは、さらに、
各文型に対応し、各部分問題ごとに解スロットを定義する応答文のテンプレートを選択する応答文テンプレート選択処理を前記コンピュータに実行させ、
前記応答文生成処理は、前記部分問題表現対を、対応する前記解スロットにバインドする
ことを特徴とする請求項12に記載のコンピュータ読み取り可能な記録媒体。 - 上記コンピュータ読み取り可能な記録媒体に格納されるプログラムは、さらに、
前記生成された応答文に関して、前記部分問題表現対中の前記部分問題表現と、対応する前記部分解表現との同一性を判定する同一性判定処理を前記コンピュータに実行させ、
前記応答文生成処理は、前記同一性が判定された部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択して前記部分問題表現対に替えて出力すべき応答文に含める
ことを特徴とする請求項12または13に記載のコンピュータ読み取り可能な記録媒体。 - 上記コンピュータ読み取り可能な記録媒体に格納されるプログラムは、さらに、
前記生成された応答文または前記部分問題表現対の長さが所定の閾値を超えるか否かを判定する判定処理を前記コンピュータに実行させ、
前記応答文生成処理は、前記応答文または前記部部問題表現対の長さが所定の閾値を超える場合に、部分問題表現対から、前記部分問題表現または前記部分解表現のいずれか一方を選択して前記部分問題表現対に替えて出力すべき応答文に含める
ことを特徴とする請求項12乃至14のいずれか記載のコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18679999A JP3715470B2 (ja) | 1999-06-30 | 1999-06-30 | 応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18679999A JP3715470B2 (ja) | 1999-06-30 | 1999-06-30 | 応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001014165A JP2001014165A (ja) | 2001-01-19 |
JP3715470B2 true JP3715470B2 (ja) | 2005-11-09 |
Family
ID=16194797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18679999A Expired - Fee Related JP3715470B2 (ja) | 1999-06-30 | 1999-06-30 | 応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3715470B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7328155B2 (en) | 2002-09-25 | 2008-02-05 | Toyota Infotechnology Center Co., Ltd. | Method and system for speech recognition using grammar weighted based upon location information |
US7184957B2 (en) | 2002-09-25 | 2007-02-27 | Toyota Infotechnology Center Co., Ltd. | Multiple pass speech recognition method and system |
US9626966B2 (en) * | 2013-12-18 | 2017-04-18 | Harman International Industries, Incorporated | Voice recognition query response systems and methods for generating query responses using information from a vehicle |
JP6390264B2 (ja) * | 2014-08-21 | 2018-09-19 | トヨタ自動車株式会社 | 応答生成方法、応答生成装置及び応答生成プログラム |
JP6851491B2 (ja) * | 2017-09-20 | 2021-03-31 | 三菱電機株式会社 | 音声対話制御装置および音声対話制御方法 |
CN109492221B (zh) * | 2018-10-31 | 2023-06-30 | 广东小天才科技有限公司 | 一种基于语义分析的信息回复方法及可穿戴设备 |
JP2022079010A (ja) * | 2020-11-15 | 2022-05-26 | 株式会社Personal AI | 情報選択支援システム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10260976A (ja) * | 1997-03-18 | 1998-09-29 | Ricoh Co Ltd | 音声対話方法 |
-
1999
- 1999-06-30 JP JP18679999A patent/JP3715470B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001014165A (ja) | 2001-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3454897B2 (ja) | 音声対話システム | |
JP2963463B2 (ja) | 対話型言語解析装置 | |
WO2019046463A1 (en) | SYSTEM AND METHOD FOR THE DEFINITION OF DIALOGUE INTENTIONS AND THE CONSTRUCTION OF INTENTION RECOGNITION MODELS WITHOUT PRIOR KNOWLEDGE | |
WO2016067418A1 (ja) | 対話制御装置および対話制御方法 | |
US20020087310A1 (en) | Computer-implemented intelligent dialogue control method and system | |
JP2000112938A5 (ja) | ||
Bateman et al. | Systemic Functional Linguistics and computation: New directions, new challenges | |
CN112185361B (zh) | 一种语音识别模型训练方法、装置、电子设备及存储介质 | |
Skantze | Galatea: A discourse modeller supporting concept-level error handling in spoken dialogue systems | |
JP2001022779A (ja) | 対話型情報検索装置、コンピュータを用いた対話型情報検索方法及び対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体 | |
JP3715470B2 (ja) | 応答生成装置、対話管理装置、応答生成方法および応答生成プログラムを格納するコンピュータ読み取り可能な記録媒体 | |
CN113343692B (zh) | 搜索意图的识别方法、模型训练方法、装置、介质及设备 | |
Caschera et al. | From modal to multimodal ambiguities: a classification approach | |
CN109885835B (zh) | 一种获取用户语料中词语之间的关联关系的方法和系统 | |
JP2000067047A (ja) | 対話制御装置および対話制御方法 | |
Adewoyin et al. | RSTGen: imbuing fine-grained interpretable control into long-FormText generators | |
CN115545013A (zh) | 用于对话场景的音似纠错方法及装置 | |
JP3581044B2 (ja) | 音声対話処理方法、音声対話処理システムおよびプログラムを記憶した記憶媒体 | |
CN111798847A (zh) | 语音交互方法、服务器和计算机可读存储介质 | |
Zhang et al. | Partial parse selection for robust deep processing | |
JP4893655B2 (ja) | 応答生成装置およびプログラム | |
JPH07160712A (ja) | 話題構造認識方法および装置 | |
KR102147670B1 (ko) | 복합 문장 분석 장치, 이를 위한 기록매체 | |
JP7378103B2 (ja) | 自然語モデルに基づいた質問-応答ペア生成方法およびこのような方法を遂行する装置 | |
Sinha et al. | Transforming interactions: mouse-based to voice-based interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050517 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050719 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050816 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050825 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080902 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090902 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090902 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100902 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110902 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |