(57)【特許請求の範囲】
【請求項１】
使用者から自然言語により入力された質問文が命題の真偽値を問う真偽値質問である場合に、前記質問文を解析して被検索単位である複数の属性に分割し、該属性のそれぞれを記憶装置内のスロットに格納して第１の質問情報を得る入力解析手段と、
前記記憶装置内に格納された変換式を参照して、前記第１の質問情報に、前記使用者がいずれの属性に対する真偽値を要求しているかを示す質問意図を付与すると共に、真偽値が要求されている属性を格納するスロットを空白化することにより、第２の質問情報を得る変換手段と、
前記記憶装置内に予め設定された設定情報を参照して、空白化されたスロットに格納すべき属性の値を前記第２の質問情報に対する解として求めて前記スロットに代入することにより、回答情報を得る問題解決手段と、
前記回答情報に基づき、前記質問意図に応答する回答文を生成して出力する出力手段と
を具備することを特徴とする自然言語対話装置。
【請求項２】
前記記憶装置内に格納された前記変換式は、
空白化すべきスロットおよび前記質問意図の対を空白化情報として格納し、
前記変換手段は、前記第１の質問情報中の動作を規定する属性を検索のキーとして、前記空白化情報を検索する
ことを特徴とする請求項１に記載の自然言語対話装置。
【請求項３】
前記記憶装置内に格納された前記変換式は、
前記第１の質問情報中の動作を規定する属性ごとに、該動作に対応する属性のスロットおよび前記質問意図の対を空白化情報として格納し、
前記変換手段は、前記第１の質問情報中の動作を規定する属性を検索のキーとして、前記空白化情報を検索する
ことを特徴とする請求項１に記載の自然言語対話装置。
【請求項４】
前記記憶装置内に格納された前記変換式において、
動作に対応する属性のスロットおよび前記質問意図の対に優先順位が付与され、
前記変換手段は、前記優先順位に基づき前記空白化情報を検索する
ことを特徴とする請求項２または３に記載の自然言語対話装置。
【請求項５】
前記変換手段は、さらに、
前記空白化された前記スロットに代入すべき解が求められないと判定された場合には、所定の回数に至るまで、前記空白化情報に基づき、第１の質問情報中の他のスロットを空白化する
ことを特徴とする請求項１乃至４のいずれか記載の自然言語対話装置。
【請求項６】
前記問題解決手段は、
前記空白化された前記スロットに代入すべき解が求められないと判定された場合には、前記真偽値が偽であることを示す真偽値情報を含む回答情報を生成する
ことを特徴とする請求項１乃至５のいずれか記載の自然言語対話装置。
【請求項７】
入力解析手段と、変換手段と、問題解決手段と、出力手段とを備える自然言語対話装置が実行する自然言語対話方法であって、
前記入力解析手段により、使用者から自然言語により入力された質問文が命題の真偽値を問う真偽値質問である場合に、前記質問文を解析して被検索単位である複数の属性に分割し、該属性のそれぞれを記憶装置内のスロットに格納して第１の質問情報を得る入力解析ステップと、
前記変換手段により、前記記憶装置内に格納された変換式を参照して、前記第１の質問情報に、前記使用者がいずれの属性に対する真偽値を要求しているかを示す質問意図を付与すると共に、真偽値が要求されている属性を格納するスロットを空白化することにより、第２の質問情報を得る変換ステップと、
前記問題解決手段により、前記記憶装置内に予め設定された設定情報を参照して、空白化されたスロットに格納すべき属性の値を前記第２の質問情報に対する解として求めて前記スロットに代入することにより、回答情報を得る問題解決ステップと、
前記出力手段により、前記回答情報に基づき、前記質問意図に応答する回答文を生成して出力する出力ステップと
を含むことを特徴とする自然言語対話方法。
【請求項８】
自然言語対話処理をコンピュータに実行させる自然言語対話プログラムを格納するコンピュータ読み取り可能な記録媒体であって、
使用者から自然言語により入力された質問文が命題の真偽値を問う真偽値質問である場合に、前記質問文を解析して被検索単位である複数の属性に分割し、該属性のそれぞれを記憶装置内のスロットに格納して第１の質問情報を得る入力解析モジュールと、
前記記憶装置内に格納された変換式を参照して、前記第１の質問情報に、前記使用者がいずれの属性に対する真偽値を要求しているかを示す質問意図を付与すると共に、真偽値が要求されている属性を格納するスロットを空白化することにより、第２の質問情報を得る変換モジュールと、
前記記憶装置内に予め設定された設定情報を参照して、空白化されたスロットに格納すべき属性の値を前記第２の質問情報に対する解として求めて前記スロットに代入することにより、回答情報を得る問題解決モジュールと、
前記回答情報に基づき、前記質問意図に応答する回答文を生成して出力する出力モジュールと
を含む処理をコンピュータに実行せしめる自然言語対話プログラムを格納することを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自然言語対話装置及び自然言語対話方法に関する。特に、自然言語を用いて利用者とコンピュータとの間のデータの授受を行う自然言語対話環境において、ある命題の真偽値を問う真偽値質問に基づく応答を簡易かつ効率的に行うことで、自然で円滑な対話を実現するための技術に関する。
【０００２】
【従来の技術】
近年、音声やテキストなどの自然言語入力を受けつける自然言語インターフェースが実現された。この自然言語インターフェースを用いるエキスパートシステムなどが多数開発されている。このエキスパートシステムの他にも、人間同士の会話と同レベルのインターフェースを目指した、音声・テキストなどによる入力を受理する装置が一般向けにも利用可能となっている。これらの一例としてカーナビゲーションシステムが挙げられる。このカーナビゲーションシステムにおいては、利用者が運転中に音声で操作できる利点が注目され、自然言語による音声入力可能なシステムが開発されている。
【０００３】
こうした音声・テキストなどの自然言語入力を受け付ける場合、コンピュータ側は、多様な種類の質問形式を受け付ける必要がある。この多様な質問形式の中で使用頻度の高い形式として、利用者が何らかの命題を確認する真偽値質問が挙げられる。この真偽値質問は、利用者が確認したい命題を提示し、その真偽を問う質問である。この命題の内容は利用者自身の信念や、利用者の行動などが挙げられる。具体的には、カーナビゲーションタスクの場合、例えば
「この車線を走ればいいの？」
という質問が挙げられる。この質問は、複数の車線を持つ道路を走行中に、現在走行中の車線が、右折・左折等の次の動作に適した車線であるかどうかを確認する意図がある。最適な車線を早期に確認できれば、次の動作の直前に慌てて車線変更する必要がなくなる。このため、自動車走行における利用者の安全性が向上する。また、利用者も安心して運転できる。
【０００４】
ここで、上記の質問を例として、真偽値質問に対してシステムが応答する手順を、図９を用いて説明する。
【０００５】
図９に示すように、真偽値質問に対してシステムが応答するためには、以下のステップが必要となる。
【０００６】
（１）まず、「この車線」がどの車線であるかを理解するために現在走行中の車線を確認する。即ち、現在の状態を認識する（ステップＳ２００）。
【０００７】
（２）現在地情報と設定経路情報とに基づき、次の動作に適した車線を計算する。即ち、質問に対する解を計算する（ステップＳ２１０）。
【０００８】
（３）ステップＳ２００で得られた現在の車線と、ステップＳ２１０で得られた最適の車線とが、等しいか否かを確認する。この確認結果に従い、真・偽いずれかの真偽値を得る（ステップＳ２２０）。
【０００９】
（４）ステップＳ２２０で得られた真偽値、および必要に応じてステップＳ２１０で得られた解を応答情報として出力する（ステップＳ２３０）。
【００１０】
しかしながら、上記の従来技術には、以下の問題点があった。
【００１１】
即ち、従来技術においては、上記の真偽値質問に応答することは困難であった。以下にその理由を説明する。
【００１２】
第１に、（１）の処理における「車線を確認する」という処理の負荷が高い。一般にカーナビゲーションシステムは、ＧＰＳ（Global Positioning System）を、自車の位置を認識するために利用している。現在のＧＰＳの精度では、誤差が約数メートル〜数十メートル生じる。このためＧＰＳによって車線を認識することは不可能である。従って、現在のカーナビゲーションシステムだけでは、上記の真偽値質問に応答することができない。この車線を確認するために、現在のカーナビゲーションの構成に加えて、別途センサなどを備えることも可能である。しかし、センサなどの別構成別構成を備えるとすると、真偽値質問に対応可能な対話装置が実現可能になるとしても、装置構成に非常にコストがかかり、購入する利用者に多大な負担を与えることになる。他方、自然言語対話システムが真偽値質問を受理しないとすると、利用者が確認したいタイミングで確認の質問が出来ない。従って、利用者に多大な負担を与え、対話インターフェースが低下する。
【００１３】
第２に、（２）のステップＳ２１０で動作すべき回答（解）を検索して出力するだけでなく、更に（３）のステップＳ２２０で得られた回答が、質問文の命題とする真偽値のいずれの値に対応するかを計算するという処理を行わなければならない。このため、応答文生成が複雑化する。
【００１４】
これらの問題点は、上記のカーナビゲーションシステムに限定されることなく生じる。例えば、路上に設置される道案内システムに対して、指を差す動作を伴いつつ「（目的地に行くためには、）こっちにいけばいいの？」という真偽値質問を入力する場合が挙げられる。この真偽値質問に応答するためには、ステップＳ２００で「こっち」の方向を理解する必要がある。この「こっち」の方向を認識するためには、画面認識等の技術を用いた様々なセンサ等が必要となる。他の例として、ある装置のヘルプシステムに対して、「このボタンを押すの？」という真偽値質問を入力する場合など、多様な装置に対して、同様の真偽値質問に付随する問題が頻発する。
【００１５】
上記のように、従来技術においては、自然言語対話環境において、システムに入力される真偽値質問に対して応答を生成するためには、まず当該装置の置かれている状況を認識する必要があった。このため、入力される自然言語の認識の他にも現在の状況を理解するための高額なセンサなどの機器が別途必要であり、その装置構成が複雑化してコストがかかるという問題点があった。あるいは、必要とする情報によっては、センサをもってしても状況の理解が実用的には不可能である場合もあった。
【００１６】
また、質問に対する解を得ても、与えられた真偽値質問に応答するためには、上記の現在の状況と得られた解とを比較し、この比較結果に従い真偽値を計算しなければならず、処理が煩雑であるという問題点があった。
【００１７】
他方、真偽値質問を受理しない自然言語対話装置とした場合には、利用者が確認したい命題の真偽値質問が不可能となる。このため、ユーザーインターフェースが大幅に低下し、利用者に多大な負担を与えるという問題点があった。
【００１８】
【発明が解決しようとする課題】
以上説明したように、本発明は、自然言語による対話インターフェースにおいて、真偽値質問に対応する応答を行うことが実用的に困難であったという問題点を解決するためになされたものである。
【００１９】
そして、その目的とするところは、自然言語対話処理システムにおいて、現在の状況の認識を不要とすることによって、システムへ付加される状況認識のための構成を不要として、真偽値質問に対して簡易な構成で応答可能な自然言語対話装置及び自然言語対話方法を提供することにある。
【００２０】
また、他の目的は、自然言語対話処理システムにおいて、真偽値の判断を不要とすることによって、真偽値質問に対して容易に応答可能とする点にある。
【００２１】
【課題を解決するための手段】
上記の課題を解決するための本発明の特徴は、真偽値質問への応答を、真偽値の判断をすることなく、真偽値質問の対象要素への解から直接応答すべき応答文を生成する点にある。
【００２２】
かかる機能を実現するための、本発明の第１の特徴は、使用者からの自然言語による入力を解析する入力解析手段と、前記入力が命題の真偽値を問う真偽値質問である場合に、前記真偽値の判断対象となる少なくとも１つの質問要素を推定し、推定された前記質問要素に対して求められる解に基づいて、前記真偽値への回答を含まない応答情報を生成する対話管理手段とを具備することを特徴とする自然言語対話装置を提供する点にある。
【００２３】
上記構成によれば、真偽値質問を受理する自然言語対話装置において、真偽値を考慮せず常に利用者の所望する事実を返答することができる。これにより、真偽値確認のための状況認識が不要となる。同時に、真偽値質問であっても真偽値を確認するというステップを省略し、応答することができる。従って、従来真偽値質問のために必要であった装置に付加する別途構成を不要とし、装置のコストを抑えることが可能となる。このため、簡易な構成で真偽値質問に対する応答が可能となる。
【００２４】
また、本発明の第２の特徴は、前記対話管理手段は、さらに、真偽値を問う第１の質問情報中の真偽値の判断対象となる質問要素を空白化するための空白化情報を格納する空白化情報記憶手段と、前記第１の質問情報を、前記空白化情報に基づき前記質問要素を空白化した第２の質問情報に変換する質問情報変換手段とを具備し、前記第２の質問情報中の空白化された前記質問要素に対する解を検索することにより、前記応答情報を生成する点にある。
【００２５】
上記構成によれば、真偽値質問中の真偽値の判断の対象要素中にある現在の値を判断することなく、真偽値を含まない質問への変換を行うことができる。
【００２６】
また、本発明の第３の特徴は、前記空白化情報記憶手段は、質問情報の形式に対応して定められる空白化対象要素および質問意図要素の対を格納し、前記質問情報変換手段は、前記第１の質問情報中の動作要素に基づき、前記空白化情報を検索する点にある。
【００２７】
また、本発明の第４の特徴は、前記空白化情報記憶手段は、質問情報中の各動作要素ごとに、対応する動作の対象要素および質問意図要素の対を格納し、前記質問情報変換手段は、前記第１の質問情報中の動作要素に基づき、前記空白化情報を検索する点にある。
【００２８】
上記構成によれば、真偽値質問中の真偽値の判断の対象要素中にある現在の値を判断することなく、対象要素の空白化処理を行い、容易に真偽値を含まない質問への変換を行うことができる。
【００２９】
また、本発明の第５の特徴は、前記空白化情報記憶手段は、さらに、前記対象要素および前記質問意図要素の対に優先順位を付与し、前記質問情報変換手段は、前記優先順位に基づき前記空白化情報を検索する点にある。
【００３０】
上記構成によれば、質問情報検索手段は、優先順位に基づいて、解の得られる確率のより高い空白化対象要素を選択することができる。
【００３１】
また、本発明の第６の特徴は、前記質問情報変換手段は、さらに、前記空白化された前記質問要素に対する解が求められないと判定された場合には、所定の回数に至るまで、前記空白化情報に基づき、第１の質問情報中の他の質問要素を空白化する点にある。
【００３２】
上記構成によれば、対話管理手段は、利用者との不要な対話を排除した、より円滑かつ効率的な応答を出力することが可能となる。
【００３３】
また、本発明の第７の特徴は、前記対話管理手段は、前記空白化された前記質問要素に対する解が求められないと判定された場合には、前記真偽値が偽であることを示す真偽値情報を含む応答情報を生成する点にある。
【００３４】
上記構成によれば、真偽値を含まない質問情報に変換した場合には、解が得られない場合にのみ、命題が偽であることを利用者に通知して、利用者の考慮を促すことが可能となる。
【００３５】
また、本発明の第８の特徴は、使用者からの自然言語による入力を解析する入力解析ステップと、前記入力が命題の真偽値を問う真偽値質問である場合に、前記真偽値の判断対象となる少なくとも１つの質問要素を推定し、推定された前記質問要素に対して求められる解に基づいて、前記真偽値への回答を含まない応答情報を生成する応答生成ステップとを含むことを特徴とする自然言語対話方法を提供する点にある。
【００３６】
上記構成によれば、真偽値質問を受理する自然言語対話装置において、真偽値を考慮せず常に利用者の所望する事実を返答することができる。これにより、真偽値確認のための状況認識が不要となる。同時に、真偽値質問であっても真偽値を確認するというステップを省略し、応答することができる。従って、従来真偽値質問のために必要であった装置に付加する別途構成を不要とし、装置のコストを抑えることが可能となる。このため、簡易な構成で真偽値質問に対する応答が可能となる。
【００３７】
また、本発明の第９の特徴は、前記応答生成ステップは、さらに、真偽値を問う第１の質問情報中の真偽値の判断対象となる質問要素を空白化するための空白化情報に基づき前記質問要素を空白化するステップと、前記第１の質問情報を、前記質問要素を空白化した第２の質問情報に変換するステップと、前記第２の質問情報中の空白化された前記質問要素に対する解を検索するステップとを含む点にある。
【００３８】
上記構成によれば、真偽値質問中の真偽値の判断の対象要素中にある現在の値を判断することなく、真偽値を含まない質問への変換を行うことができる。
【００３９】
また、本発明の第１０の特徴は、使用者からの自然言語による入力を解析する入力解析モジュールと、前記入力が命題の真偽値を問う真偽値質問である場合に、前記真偽値の判断対象となる少なくとも１つの質問要素を推定し、推定された前記質問要素に対して求められる解に基づいて、前記真偽値への回答を含まない応答情報を生成する応答生成モジュールとを含むことを特徴とする自然言語対話プログラムを格納するコンピュータ読み取り可能な記録媒体を提供する点にある。
【００４０】
上記構成によれば、真偽値質問を受理する自然言語対話装置において、真偽値を考慮せず常に利用者の所望する事実を返答することができる。これにより、真偽値確認のための状況認識が不要となる。同時に、真偽値質問であっても真偽値を確認するというステップを省略し、応答することができる。従って、従来真偽値質問のために必要であった装置に付加する別途構成を不要とし、装置のコストを抑えることが可能となる。このため、簡易な構成で真偽値質問に対する応答が可能となる。
【００４１】
また、本発明の第１１の特徴は、前記応答生成モジュールは、さらに、真偽値を問う第１の質問情報中の真偽値の判断対象となる質問要素を空白化するための空白化情報に基づき前記質問要素を空白化するモジュールと、前記第１の質問情報を、前記質問要素を空白化した第２の質問情報に変換するモジュールと、前記第２の質問情報中の空白化された前記質問要素に対する解を検索するモジュールとを含む点にある。
【００４２】
上記構成によれば、真偽値質問中の真偽値の判断の対象要素中にある現在の値を判断することなく、真偽値を含まない質問への変換を行うことができる。
【００４３】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。本実施形態は、利用者からの自然言語による真偽値質問に対して、簡易かつ迅速に応答する機能を提供する。
【００４４】
図１は本発明の実施形態に係る自然言語対話装置の機能構成を示すブロック図である。図１に示すように、本実施形態に係る自然言語対話装置は、入力解析部１００と、対話管理部２００と、出力部３００と、問題解決部４００と、質問情報変換部５００と、空白化情報記憶部６００とから構成される。本実施形態に係る自然言語対話装置は、利用者から自然言語を用いて入力される質問を受理し、この質問に対して、問題解決部４００から得られる情報をもとに返答する処理を行う。
【００４５】
入力解析部１００は、利用者からの入力情報を解析し、利用者に対する各種業務を行う対象システム内で利用可能な情報に変換する。この解析および変換処理は、一般に知られるパターンマッチングによる音声・テキスト認識処理などの技術が適宜用いられてよい。尚、入力解析部１００は、請求項における入力解析手段に対応する。
【００４６】
対話管理部２００は、入力解析部１００から入力される変換後の入力情報に基づいて、対象システムの動作を定める。対話管理部２００は、同時に一連の入力情報からなる対話の文脈の把握および入力情報に基づく利用者の発話意図の推定などを行う。この入力情報に対する応答に際して、何らかの問題解決が必要な場合は、対話管理部２００は、問題に対する解を含んだ回答情報を生成すべく、質問情報を生成する。この質問情報は、質問情報変換部５００に出力される。
【００４７】
ここで、質問情報および回答情報の詳細を説明する。
【００４８】
図４（ａ）は、質問情報の一例を示す。図４（ｂ）は、図４（ａ）の質問情報に対応する問題解決部４００から得られる回答情報の一例を示す。図４に示すように、質問情報４０１は、質問文「Ｂ高速に乗りかえるのはどこ」から生成される質問情報である。一方、回答情報４０２は、回答文「Ｂ高速道路に乗りかえるのはＡインターチェンジです」に相当する回答情報である。質問情報および回答情報ともに、質問意図が付与され、テキストが各属性に分割される。「質問意図」は、利用者が必要とする情報が何かを示す情報である。この質問意図により、問題解決部４００は検索方式を定める。図４（ａ）に示すように、質問情報４０１の質問意図は「Where」なので、場所に関する質問を表している。尚、他の質問意図として、例えば、真偽値質問であることを示す「ＹＮ」、車線に関する質問を示す「WhichLine」、走行する道路に関する質問を示す「WhichWay」などが挙げられる。
【００４９】
また、「属性」は、その情報を検索するためのキーを表す。質問情報４０１及び回答情報４０２に示すように、コンマ（“，”）で区切られた一つの部分をスロットと呼ぶ。これらのスロットに、各属性（図４（ａ）及び図４（ｂ）の場合は動作属性、場所属性、対象属性）に対応する属性情報が格納される。質問情報４０１では、「動作」スロットには属性情報「乗り換える」が、「対象」スロットには属性情報「Ｂ高速道路」がそれぞれ格納されている。一方、質問情報４０１中の、「場所」スロットの下線（“＿”）は、該当する属性情報が与えられていないこと（すなわち、属性情報が空白であること）を示す。この質問情報４０１が問題解決部４００に与えられると、「場所」スロットに「Ａインターチェンジ」という属性情報が与えられた回答情報４０２が得られる。
【００５０】
次に、出力部３００は、対話管理部２００により指定される出力テキスト情報を指定された形式で出力する。
【００５１】
問題解決部４００は、各種タスクに関する知識を持ち、入力される質問に対する回答を出力する。問題解決部４００は、データベースの一種として構成されてよい。
【００５２】
質問情報変換部５００は、対話管理部２００から渡される質問情報を受け取り、当該質問情報が真偽値質問であれば、空白化情報記憶部６００に記憶されている空白化情報に基づき質問情報を変換する。この質問情報の変換処理の詳細は後述する。質問情報の変換後、質問情報変換部５００は、問題解決部４００に変換後の質問情報を与え、問題解決部４００から得られた回答を対話管理部２００に渡す。また、質問情報変換部５００は、入力された質問情報を適宜記憶するためのバッファと、空白化情報記憶部６００を検索する際に利用する検索インデックス情報とを有する。尚、質問情報変換部５００は、請求項における質問情報変換手段に対応する。
【００５３】
空白化情報記憶部６００は、質問情報変換部５００が検索可能な形式で空白化情報を記録する。尚、対話管理部２００、問題解決部４００、質問情報変換部５００、空白化情報記憶部６００は、請求項における対話管理手段に対応する。
【００５４】
図５は、空白化情報記憶部６００に登録される情報の一例を示す。図５中、５０１，５０２，５０３で与えられる式それぞれが空白化情報に対応する。図５の例では、検索のためのタグ情報として、「動作」情報及び当該空白情報の優先順位を表すインデックス情報が与えられている。各空白化情報は、質問情報の質問意図を変換し、かつあるスロットを空白にすることを指定している。例えば、空白化情報５０１は、”質問意図「ＹＮ」を「WhichLine」に変換し、かつ車線スロットの情報を空白にする”処理を指示している。
【００５５】
尚、検索のためのタグ情報は、常に「動作」情報であることを要しない。例えば、動作要素を含まない命題が与えられた場合に対応すべく、質問情報の形式に応じて他の属性が検索のためのタグとして用いられてよい。この検索のためのタグとなる要素が空白化の対象となる要素であってもよい。
【００５６】
次に、本実施形態のハードウエア構成を説明する。
【００５７】
本実施形態に係る自然言語対話装置は、各種ハードウエア装置に実装されてもよく、また本実施形態の処理を実現するプログラムを作成することにより、ソフトウエアに実装されてもよい。
【００５８】
図８に、本実施形態に係る自然言語対話処理をソフトウエアにより実現する場合の装置構成を示す。
【００５９】
図８は、第１の実施形態を汎用計算機に実装する場合のハードウエアの内部構成の一例を示す。本実施形態に係る自然言語対話装置のハードウェア部分はＣＰＵ２１と、プログラムや必要なデータを格納するためのＲＡＭ２２と、ディスクドライブ装置２４と、記憶装置２５と、入出力装置２６とにより構成される。これらの各装置は、それぞれバス２３を介して相互に接続される。
【００６０】
図１に示す入力解析部１００、対話管理部２００、出力部３００、問題解決部４００、質問情報変換部５００、空白化情報記憶部６００は、それぞれの処理手順を記述したプログラムにより構成される。
【００６１】
尚、空白化情報記憶部６００及び問題解決部４００などに格納される各データは、プログラムと一体化されて構成されてもよく、プログラムとは別個に格納されてプログラムからアクセスされるものであってもよい。
【００６２】
これらの処理手順を記述したプログラムは、図８のコンピュータシステムを制御するためのプログラムとしてＲＡＭ２２に格納され、ＣＰＵ２１により実行される。ＣＰＵ２１は、ＲＡＭ２２に格納されたプログラムの手順に従い、演算や、記憶装置２５・入出力装置２６の制御などを行って、本実施形態に係る自然言語対話装置及び自然言語対話方法の提供する機能を実現していく。
【００６３】
尚、プログラムをＲＡＭ２２にインストールするためには種々の方法を用いることができる。例えばまず、本発明の各種処理を実現するための上記プログラム、即ち入力解析部１００、対話管理部２００、出力部３００、問題解決部４００、質問情報変換部５００、空白化情報記憶部６００の処理手順を記述したプログラムであってコンピュータシステムを制御するためのプログラムを、コンピュータで読み取り可能な記憶媒体に記憶させておく。この記録媒体を、図８に示すように各記憶媒体に応じたディスクドライブ装置２４を用いて該プログラムをよみとり、ＲＡＭ２２に格納する。あるいは、いったんディスクドライブ装置２４等にインストールしておき、実行時に同装置からＲＡＭ２２に格納してもよい。ＲＡＭ２２に格納されたプログラムは、ＣＰＵ２１により読み出されて実行されることにより、本実施形態の機能が実現される。ここで、記録媒体とは、例えば、半導体メモリ・磁気ディスク（フロッピーディスク・ハードディスク等）・光ディスク（ＣＤ−ＲＯＭ・ＤＶＤ等）、プログラムを記録することができる装置全般を含む。例えば、プログラムを格納した記憶媒体がＩＣカードである場合は、ＩＣカードリーダを用いて該プログラムを読み取ることができる。さらに、ネットワークを介して所定のインターフェース装置からプログラムを受け取ることができる。
【００６４】
本実施形態は上記のように構成されており、以下、質問情報変換部５００が行う処理の流れを図２乃至図７を用いて順に説明する。
【００６５】
図２は、本実施形態の概略処理を説明するフローチャートである。図２に示すように、質問情報変換部５００は、対話管理部２００から入力される質問情報を、真偽値を含まない質問情報に変換する（ステップＳ１００）。この質問情報の変換により、現在の状況の認識および真偽値判断が不要となる。
【００６６】
この変換後の質問情報に基づき、質問情報変換部５００は、問題解決部４００を用いて、質問の命題の解に対する検索する（ステップＳ１１０）。
【００６７】
得られた解に基づき回答情報が生成され、出力部３００を介して出力される（ステップＳ１３０）。
【００６８】
図３は、質問情報変換部５００の行う質問変換処理の詳細を示すフローチャートである。以下、質問変換処理の詳細を、図３を参照して説明する。
【００６９】
ステップＳ１０は、質問情報変換部５００に入力された質問情報が真偽値質問であるか否かを判断する。真偽値質問でなければ（ステップＳ１０Ｎ）ステップＳ８０に進み、真偽値質問であれば（ステップＳ１０Ｙ）ステップＳ２０に進む。
【００７０】
ステップＳ２０は、入力された質問情報をバッファに記憶し、空白化情報記憶部６００を検索するための検索インデックス情報を初期化する。
【００７１】
ステップＳ３０は、検索インデックスを用いて空白化情報記憶部６００中の空白化情報を検索する。この際、ステップＳ３０は、空白化情報が得られるかどうかを確認する。空白化情報が得らなければ（ステップＳ３０Ｎ）、解なしのまま処理を終了し、空白化情報が得られれば（ステップＳ３０Ｙ）ステップＳ４０に進む。
【００７２】
ステップＳ４０は、質問情報変換部５００のバッファに記憶された質問情報のコピーを、得られた空白化情報に基づき、問題解決部４００に与える質問情報に変換する。
【００７３】
ステップＳ４０で行われる空白化情報に基づく質問情報変換処理の一例を、図６を用いて説明する。入力解析部１００に入力された質問文６０１「ここの車線を走るの」は、対話情報管理部２００から質問情報６０２として入力される。この質問情報６０２においては、質問意図は真偽値質問を示す「ＹＮ」である。質問情報変換部５００は、動作タグ：「走る」をキーとして、空白化情報記憶部６００を検索する。図５に示す空白化情報記憶部６００には、動作タグ：「走る」に対応する空白化情報として図６の空白化情報６０３が記憶されている。質問情報変換部５００は、この空白化情報６０３に基づき、質問情報６０２の質問意図を「ＹＮ」から「WhickLine」に変換するとともに、車線スロットを空白化する。これらの処理により、変換後の質問情報６０４が生成される。すなわち、図６に示す質問情報変換処理は、空白化情報に基づき質問テキスト中の質問意図を変換し、その質問意図で回答が与えられるスロットを空にする処理である。
【００７４】
変換後の質問情報６０３が得られると、ステップＳ５０は、変換後の質問情報を問題解決部４００に与えて回答を得る。
【００７５】
ステップＳ６０は、ステップＳ５０によって回答が得られたか否かを判断する。回答が得られていれば（ステップＳ６０Ｙ）ＲＥＴＵＲＮに、回答が得られていなければ（ステップＳ６０Ｎ）ステップＳ７０に進む。
【００７６】
ステップＳ７０は、空白化情報記憶部６００を検索するための検索インデックスを次のものを指すように更新する。
【００７７】
処理が終了すると（ＲＥＴＵＲＮ）、質問情報変換部５００は、問題解決部４００から得られた解および変換後の質問情報を対話管理部２００に渡す。この際受け渡される質問の形式は真偽値質問形式ではなく、別の意図の質問に変換されている。この入力を受け、対話管理部２００は変換された意図に基づいて回答情報を作成し、出力部３００に渡す。この回答情報は、変換後の質問情報の空白化されたスロットに得られた解を代入して生成される。尚、この回答情報生成処理は、単純な質問・応答であれば質問情報変換部５００で行って回答情報を対話管理部２００に受け渡してもよく、解及び変換後の質問情報に基づき対話管理部２００で行ってもよい。
【００７８】
以下、本実施形態の質問変換処理の具体例を説明する。
【００７９】
本具体例では、カーナビゲーションタスクを例にとり、図３、図５、図６、図７を参照して詳細に説明する。尚、利用者の自車位置はＧＰＳから与えられ、対話管理部２００で質問情報と統合されるものとする。また、空白化情報記憶部６００には図５の情報が登録さており、また設定経路情報として「地点Ｘを出発して、Ａインターチェンジ付近で左側車線に移動し、ＡインターチェンジからＣ高速道路を利用して、地点Ｙに到着する」という意味の図７の情報が与えられているものとする。
【００８０】
（１）質問文１「この車線を走るの」が入力された場合
この場合、対話管理部２００から与えられる質問情報は、ＧＰＳ情報が統合され、次の状態で質問情報変換部５００に与えられる。
【００８１】
ＹＮ（動作：走る，車線：ここ，場所：Ａインターチェンジ周辺）
以下、図３のフローチャートに従って、本実施形態の動作を説明する。
【００８２】
ステップＳ１０は、質問意図がＹＮであるので、真偽値質問であると判断する。ステップＳ２０に進む。
【００８３】
ステップＳ２０は、質問情報をバッファに格納し、空白化情報検索インデックスを１に初期化する。ステップＳ３０に進む。
【００８４】
ステップＳ３０は、空白化情報記憶部１０２から、質問情報の動作スロット「走る」と空白化情報検索インデックス「１」をキーとして、空白化情報を検索する。その結果空白化情報５０１が得られるので、ステップＳ４０に進む。
【００８５】
ステップＳ４０は、バッファに格納された質問情報及び空白化情報４０１を用いて質問情報変換処理を行う。この変換処理は前述した図６に示す処理である。その結果得られる質問情報は次のようになる。
【００８６】
WhichLine（動作：走る，車線：＿，場所：Ａインターチェンジ周辺）
ステップＳ５０は、変換された質問情報を問題解決部４００に与える。質問情報は、図７の７０２と照合され、以下の情報が回答情報として与えられる。
【００８７】
WhichLine（動作：走る，車線：左，場所：Ａインターチェンジ周辺）
ステップＳ６０は、解が得られたので、上記の回答情報を対話管理部２００に渡して、処理を終了する。
【００８８】
対話管理部２００は、回答情報を受け取る。この際、対話管理部２００は、質問情報変換部５００が行う質問情報変換処理を意識することなく対話処理の制御を行う。即ち、対話管理部２００は、質問情報変換部５００に当初から質問意図WhichLineの質問情報を与えてその情報に対応する回答情報が得られた場合と同様に処理を行うことができる。
【００８９】
この結果、
「Ａインターチェンジ付近では、左の車線を走行します。」
という真偽値を省略した応答を生成することができる。この応答は、利用者が右側の車線を走っているならば、左側車線に移動することを促す。一方、利用者が左側の車線を走っているのならば、その車線で良いことの確認と見ることができる。従って、真偽値に対して応答しなくても、利用者の所望する情報を提供することができる。
【００９０】
他方、上記の質問に対して真偽値を応答する場合は、命題が正しいかどうかを判定するステップが必要となる。またその判定の前提として、「ここ」の車線は左右どの車線かをシステムが理解する必要がある。そのためには、高度な画像認識など現在のカーナビゲーションシステムには存在しない新しいセンサなどの別構成が必要となる。
【００９１】
上述したように、質問情報変換部５００は、与えられた質問情報を、真偽値を含まない質問意図に変換するとともに、真偽値判断の対象となるスロットを空白化する。従って、応答の真偽値を考慮せず、与えられた質問に関連する事実を返答することが可能となる。このため、命題の確認ステップを省略し、更に、走行すべき車線の知識を問題解決部４００に与えるだけで、別構成を必要とすることなく真偽値を伴う応答と遜色ない応答を利用者に返すことが可能となる。
【００９２】
（２）質問文２「ＢインターでＣ高速に乗り換えるの」が入力された場合
この場合、対話管理部２００から与えられる質問情報は、次の状態で質問情報変換部５００に与えられる。
【００９３】
ＹＮ（動作：乗りかえる，場所：Ｂインターチェンジ，対象：Ｃ高速道路）
以下、図３のフローチャートに従って、本実施形態の動作を説明する。
【００９４】
ステップＳ１０は、質問意図が「ＹＮ」であるので、真偽値質問であると判断する。ステップＳ２０に進む。
【００９５】
ステップＳ２０は、質問情報をバッファに格納し、空白化情報検索インデックスを１に初期化する。ステップＳ３０に進む。
【００９６】
ステップＳ３０は、空白化情報記憶部１０２から、質問情報の動作スロット「乗り換える」と空白化情報検索インデックス「１」をキーとして、空白化情報を検索する。その結果動作タグ「乗り換える」の空白化情報の中で、インデックス（優先順位）の高い空白化情報５０２がまず得られるので、ステップＳ４０に進む。
【００９７】
ステップＳ４０は、バッファに格納された質問情報及び空白化情報５０２を用いて質問情報変換処理を行う。この変換処理は前述した図６に示す処理と同様に行われる。この結果得られる変換後の質問情報は次のようになる。
【００９８】
WhichWay（動作：乗りかえる，場所：Ｂインターチェンジ，対象：＿）
ステップＳ５０は、上記の変換された質問情報を問題解決部４００に与える。ここで、上記の質問情報は、図７のナビゲーション情報中の情報とは照合されず、解が得られない。
【００９９】
ステップＳ６０は、解が得られなかったのでＳ７０に進む。
【０１００】
ステップＳ７０は、空白化情報検索インデックスを２に進め、ステップＳ３０に進む。
【０１０１】
ステップＳ３０は、空白化情報記憶部６００から、質問情報の動作スロット「乗りかえる」と空白化情報検索インデックス「２」をキーとして、空白化情報を検索する。その結果空白化情報５０３が得られるので、ステップＳ４０に進む。
【０１０２】
ステップＳ４０は、バッファに格納された質問情報及び空白化情報５０３を用いて質問情報変換処理を行う。この処理は図６と同様に行われ、その結果得られる質問情報は次のようになる。
【０１０３】
Where（場所：乗りかえる，場所：＿，対象：Ｃ高速道路）
ステップＳ５０は、上記の変換された質問情報を問題解決部４００に与える。質問情報は、図７のナビゲーション情報７０３と照合され、以下の情報が解として与えられる。
【０１０４】
Where（動作：乗りかえる，場所：Ａインターチェンジ，対象：Ｃ高速道路）ステップＳ６０は、解が得られたので、上記の回答情報を対話管理部２００に渡して処理を終了する。
【０１０５】
対話管理部２００は、上記の回答情報を受け取る。この際、対話管理部２００は、質問情報変換部５００が行う質問情報変換処理を意識することなく対話処理の制御を行う。即ち、対話管理部２００は、質問情報変換部５００に当初から質問意図Whereの質問情報を与えてその情報に対応する回答情報が得られた場合と同様に処理を行うことができる。
【０１０６】
この結果、
「Ｃ高速に乗りかえるのはＡインターチェンジです。」
という真偽値を省略した応答を生成できる。この応答は、利用者がＢインターチェンジでＣ高速道路を利用すると勘違いしていたことを、ＡインターからＣ高速道路を利用することを通知することによって指摘している。ここで、一つ目の問題解決失敗時点で、解なしの情報を対話管理部に与えることによって、
「ＢインターチェンジではＣ高速に乗りかえません。」
という応答を返すことも本実施形態では可能である。
【０１０７】
ここで、本実施形態は、解が得られない場合も、別スロットを空にして再検索することによってＡインターチェンジを利用することを知らせることを同時に行う。このため、利用者にとって煩雑でない、より自然で使いやすいインターフェースが提供される。
【０１０８】
本実施形態によれば、以下の効果が得られる。
【０１０９】
すなわち、質問情報変換部５００は、与えられた質問情報を、真偽値を含まない質問意図に変換するとともに、真偽値判断の対象となるスロットを空白化する。質問情報変換部５００は、この変換後の真偽値を含まない質問情報に基づき回答情報を作成する。このため、真偽値質問を受け付ける自然言語対話処理装置において、真偽値質問のために必要となる当該装置に付加する別途構成を不要として、装置のコストを抑えることが可能となる。即ち複雑な構成を伴わずに真偽値質問に対する応答を行うことが可能となる。同時に、本実施形態は、真偽値質問であっても真偽値を確認するというステップを省略して応答することが可能となる。従って、システムへの負荷が軽減されるとともに、多様な種類の質問に柔軟に対応可能となり利用者との自然かつ円滑な対話が実現される。
【０１１０】
尚、上述の例では、カーナビゲーションシステムの形式で本実施形態を説明しているが、本発明に係る自然言語対話装置及び自然言語対話方法の実施形態はこれに限定されない。音声・テキストなどの入力形態を問わず、自然言語入力を受理する装置であれば、エキスパートシステムなど任意の装置において利用可能である。
【０１１１】
また、上述の例では、入力言語として日本語を使用しているが、入力解釈部１００によって対話管理部２００に理解可能な知識表現形式に変換されれば足り、任意の言語を対象とすることができる。
【０１１２】
また、上述の例では、利用者の入力するテキストに省略がない場合であり、必要な情報がすべて質問情報のスロットに収められていたが、本発明はそのような入力の他、多種多様な自然言語入力に対応することが可能である。例えば、対話管理部２００に文脈処理機構を具備することにより、入力テキストに省略が生じた場合に省略された情報を文脈から補完することが可能である。一方、対話管理部２００が文脈処理機構を持たない場合であっても、生成される質問情報のスロットを空白のまま質問情報変換部５００に渡し、問題解決部４００が少ないキーで回答を検索するなどの処理により対応することができる。この際、問題解決部４００が多数の回答情報を出力する場合には、質問情報変換部５００は、多数の回答情報が得られた旨を対話管理部２００に通知する。対話管理部２００は、この通知により、さらに必要な情報を問い返すなど様々な応用が可能である。
【０１１３】
また、上述の例では、図５に示すように、空白化情報が複数準備されているが、空白化情報を固定の情報に変更することも可能である。この空白化情報を固定する場合には、質問情報変換部５００は、問題解決に失敗した時に、次の空白化情報が検索できない状況と等価として処理を行うことが可能である。
【０１１４】
また、上述の説明では、理解の容易のため、質問変換部５００と空白化情報記憶部６００とは別個独立に定義されているが、これらは対話管理部２００の内部あるいは問題解決部４００の内部に埋め込まれていてもよい。
【０１１５】
さらに、上述の説明では、問題解決部４００がデータベース形式であり、自然言語対話装置の内部装置として構成されているが、本発明はこの構成に限定されない。問題解決部４００は外部にあるデータベースを検索する装置として構成されてもよく、また、問題解決部４００自体が自然言語対話装置の外部に存在して、ネットワークを通じて情報を得るように構成してもよい。
【０１１６】
尚、本発明は上述した実施形態に限定されるものではなく、本発明の本旨を逸脱することなく、種々変更・変形を成し得ることが可能であることは言うまでもない。また、これらの変更・変形はすべて本発明の範囲内に含まれるものである。
【０１１７】
【発明の効果】
以上説明したように、本発明によれば、以下に記載されるような効果を奏する。即ち、本発明に係る自然言語対話装置及び自然言語対話方法は、真偽値質問を受理する自然言語対話環境において、真偽値質問を真偽値を含まない質問意図に変換するとともに、真偽値判断の対象となる要素を空白化する機能を提供する。
【０１１８】
これにより、自然言語対話処理において、現在の状況の認識及び真偽値の判断を不要とし、常に質問意図に対応する事実を回答することが可能となる。
【０１１９】
このように、本発明を用いれば、自然言語対話環境において、真偽値質問に対する簡易な構成で効率的な応答が可能となり、ひいては利用者とコンピュータとの自然かつ円滑なインターフェースが実現される。
【図面の簡単な説明】
【図１】本発明の実施形態に係る自然言語対話装置の機能構成を示すブロック図である。
【図２】本発明の実施形態に係る自然言語対話装置に対して真偽値質問が入力された場合の応答までの手順を説明するフローチャートである。
【図３】本発明の実施形態に係る自然言語対話装置の質問情報変換部５００が行う処理手順を示すフローチャートである。
【図４】本発明の実施形態に係る質問情報及び回答情報の一例を説明する図である。
【図５】本発明の実施形態に係る自然言語対話装置の空白化情報記憶部６００に格納される空白化情報の一例を説明する図である。
【図６】質問情報変換部５００が行う質問変換処理の手順を説明する図である。
【図７】問題解決部４００が質問情報と照合する情報の一例としての、カーナビゲーションの設定経路を表す情報を説明する図である。
【図８】本発明の実施形態に係る自然言語対話装置及び自然言語対話方法が実装されるハードウエアの構成の一例を説明するブロック図である。
【図９】従来技術における真偽値質問が入力された場合の応答までの手順を説明するフローチャートである。
【符号の説明】
２１  ＣＰＵ
２２  ＲＡＭ
２３  バス
２４  ディスクドライブ装置
２５  記憶装置
２６  入出力装置
１００  入力解析部
２００  対話管理部
３００  出力部
４００  問題解決部
５００  質問情報変換部
６００  空白化情報記憶部
【図１】
0004176228.tif 000002
【図２】
0004176228.tif 000003
【図３】
0004176228.tif 000004
【図４】
0004176228.tif 000005
【図５】
0004176228.tif 000006
【図６】
0004176228.tif 000007
【図７】
0004176228.tif 000008
【図８】
0004176228.tif 000009
【図９】
0004176228.tif 000010