(57)【特許請求の範囲】
【請求項１】
自然言語形式で入力された指示文を解析して検索条件を抽出する指示文解析手段と、
前記指示文解析手段によって抽出された検索条件に基づき、相当する情報を検索する検索実行手段と、
前記検索条件とそれに基づき前記検索実行手段が実行した検索結果とを時系列で並べた検索過程を文脈構造データとして保持、管理し、当該文脈構造データの内容にしたがってユーザ・装置間の対話の流れを制御する対話制御手段と、
前記検索結果に応じて自然言語形式の応答文を生成する応答文生成手段とを備え、
前記指示文の解析から前記応答文の生成に至る一連の処理を繰り返し実行することにより、車両搭載機器の制御、操作または管理に必要な情報をユーザとシステムとの対話形式で検索する対話型情報検索装置において、
前記対話制御手段は、予め検索条件の論理的な排反関係を定義しておき、新たに入力された指示文に対して前記指示文解析手段の抽出した検索条件が、前記文脈構造データ中にすでに記録されている検索条件の１つと論理的に排反である場合には、この排反である文脈構造データ中の検索条件より時系列上後方の検索結果及び検索条件を前記文脈構造データより削除し、かつ前記排反である文脈構造データ中の検索条件を前記新たに抽出された検索条件に書き換えることにより、過去の相当する時点まで遡って新たに対話を進めるように制御するものであることを特徴とする対話型情報検索装置。
【請求項２】
前記対話制御手段は、新たに入力された指示文に対して前記指示文解析手段の抽出した検索条件が、あらかじめまたは状況に応じて定められた条件限定性の指標を満足せず、当該検索条件に基づいて前記検索実行手段が検索を実行しても検索対象を所定範囲まで絞り込むことができないと判断される場合には、前記検索実行手段に処理を移さず、さらに検索条件を限定するようにユーザに促す旨の応答文を生成するように前記応答文生成手段に指示するものであることを特徴とする請求項１に記載の対話型情報検索装置。
【請求項３】
前記対話制御手段は、前記検索実行手段の検索結果に応じて前記応答文生成手段に処理を移す際に、当該検索結果として相当する検索対象が全く得られなかった場合に、検索条件を緩和するようにユーザに促す旨の応答文生成を前記応答文生成手段に指示し、かつ、当該検索結果とこれを規定するに至った直近の検索条件とを前記文脈構造データより削除することによって直近の指示文入力直前の時点まで遡って新たに対話を進めるように制御するものであることを特徴とする請求項１に記載の対話型情報検索装置。
【請求項４】
ナビゲーションシステムにおける地点検索処理を行なうことを特徴とする請求項１〜３のいずれかに記載の対話型情報検索装置。
【請求項５】
自然言語形式で入力された指示文を解析して検索条件を抽出し、抽出された検索条件に基づき、相当する情報を検索し、前記検索条件とそれに基づく検索結果とを時系列で並べた検索過程を文脈構造データとして保持、管理し、当該文脈構造データの内容にしたがってユーザ・コンピュータ間の対話の流れを制御し、前記検索結果に応じて自然言語形式の応答文を生成する一連の処理を前記コンピュータによって繰り返し実行することにより、車両搭載機器の制御、操作または管理に必要な情報をユーザとコンピュータとの対話形式で検索するコンピュータを用いた対話型情報検索方法において、
前記コンピュータに予め検索条件の論理的な排反関係を定義しておき、前記コンピュータが、新たに入力された指示文を解析して抽出した検索条件が、前記文脈構造データ中にすでに記録されている検索条件の１つと論理的に排反である場合には、この排反である文脈構造データ中の検索条件より時系列上後方の検索結果及び検索条件を前記文脈構造データより削除し、かつ前記排反である文脈構造データ中の検索条件を前記新たに抽出された検索条件に書き換えることにより、過去の相当する時点まで遡って新たに対話を進めることを特徴とするコンピュータを用いた対話型情報検索方法。
【請求項６】
新たに入力された指示文を解析して抽出した検索条件が、あらかじめまたは状況に応じて定められた条件限定性の指標を満足せず、当該検索条件に基づいて前記検索を実行しても検索対象を前記コンピュータによって所定範囲まで絞り込むことができない場合には、前記コンピュータは、前記検索処理を行なわず、さらに検索条件を限定するようにユーザに促す旨の応答文を生成することを特徴とする請求項５に記載のコンピュータを用いた対話型情報検索方法。
【請求項７】
前記コンピュータは、前記検索結果に応じて前記応答文を生成する処理に移る際に、当該検索結果として相当する検索対象が全く得られなかった場合に、検索条件を緩和するようにユーザに促す旨の応答文生成を指示し、かつ、当該検索結果とこれを規定するに至った直近の検索条件とを前記文脈構造データより削除することによって直近の指示文入力直前の時点まで遡って新たに対話を進めることを特徴とする請求項５に記載のコンピュータを用いた対話型情報検索方法。
【請求項８】
自然言語形式で入力された指示文を解析して検索条件を抽出し、抽出された検索条件に基づき、相当する情報を検索し、前記検索条件とそれに基づく検索結果とを時系列で並べた検索過程を文脈構造データとして保持、管理し、当該文脈構造データの内容にしたがってユーザ・コンピュータ間の対話の流れを制御し、前記検索結果に応じて自然言語形式の応答文を生成する一連の処理を前記コンピュータによって繰り返し実行させることにより、車両搭載機器の制御、操作または管理に必要な情報をユーザとコンピュータとの対話形式で検索する対話型情報検索処理であって、前記コンピュータに予め検索条件の論理的な排反関係を定義しておき、前記コンピュータに、新たに入力された指示文を解析して抽出した検索条件が、前記文脈構造データ中にすでに記録されている検索条件の１つと論理的に排反である場合には、この排反である文脈構造データ中の検索条件より時系列上後方の検索結果及び検索条件を前記文脈構造データより削除させ、かつ前記排反である文脈構造データ中の検索条件を前記新たに抽出された検索条件に書き換えさせることにより、過去の相当する時点まで遡って新たに対話を進めさせることを特徴とする対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体。
【請求項９】
新たに入力された指示文を解析して抽出した検索条件が、あらかじめまたは状況に応じて定められた条件限定性の指標を満足せず、当該検索条件に基づいて前記検索を実行しても検索対象を前記コンピュータによって所定範囲まで絞り込むことができない場合には、前記コンピュータに、前記検索処理を行なわさせず、さらに検索条件を限定するようにユーザに促す旨の応答文を生成させることを特徴とする請求項８に記載の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体。
【請求項１０】
前記コンピュータに、前記検索結果に応じて前記応答文を生成する処理に移る際に、当該検索結果として相当する検索対象が全く得られなかった場合に、検索条件を緩和するようにユーザに促す旨の応答文生成を指示させ、かつ、当該検索結果とこれを規定するに至った直近の検索条件とを前記文脈構造データより削除させることによって直近の指示文入力直前の時点まで遡って新たに対話を進めさせることを特徴とする請求項８に記載の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、検索条件を与えてその条件を満足するユーザ所望の情報を検索する対話型情報検索装置、コンピュータを用いた対話型情報検索方法及び対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体に関する。
【０００２】
【従来の技術】
従来、対話形式で検索作業を進める対話型情報検索装置として、例えば、特開平７−７８１７１号公報に記載されたものが知られている。この従来の情報検索装置では、検索の過程を自然言語により入出力された対話文の履歴と検索により作成された検索対象集合の履歴という形式で記録、管理しておき、ユーザ発話の中に以前の検索の中間結果に対する言及がある場合には、その時点での検索対象集合に遡った状態で検索を再開することにより、効率的な検索作業を実現しようとするものである。例えば、図１２に示すような対話例において、Ｑ１〜Ａ５までの検索過程により、検索対象集合は図１３のネットワーク構造に示されるように、｛ＸＸ，ＹＹ，ＺＺ｝から｛ＡＡ｝へと絞り込まれていくが、ここでＱ６「ＹＹ町のはどんなですか」という発話がユーザよりなされると、システムは「ＹＹ」が以前の出力文Ａ１の中にあることを見つけだし、この状態まで遡ってそこから検索作業が再開されることになる。したがって、「ＹＹ」を絞り込むに至るまでの検索過程を再度繰り返す必要がなく、また、単に「ＹＹ」に言及するだけでその情報を取り出すことができる。
【０００３】
【発明が解決しようとする課題】
しかしながら、この従来の対話型情報検索装置では、次のような問題点があった。すなわち、以前の状態まで遡るバックトラックの処理をユーザが新たな発話入力と以前の入出力文との双方に出現した語句の符合により行っているため、入出力文中に出現する語句をユーザが明示的に言及できなければ、そのような状態まで簡易な対話でバックトラックすることは難しい。
【０００４】
例えば、図１４に示した対話例では、Ｑ１〜Ａ３に至る検索で、検索対象は３３件に絞り込まれ、次の問い「中華のは」では、先の３３件の中からさらに中華のファミリーレストラン２件に絞り込まれる。この様子を図１５に示してある。ここで、ユーザは３３件の内、とりあえず中華レストラン２件は分かったが、イタリアンレストランについても調べたいと考えたとする。このとき、人間同士の自然な対話であれば、Ｑ４に続けて、Ｑ５で「イタリアンのは」と聞いた場合、Ｑ４とＱ５との内容は検索条件として独立排反であるから、相手はＱ４とその検索結果を棄却し、直前のＡ３の状態に戻って３３件の中からイタリアンレストランを絞り込んだ結果を答えるはずである。
【０００５】
ところが、従来の装置では、このような対話を成立させるためには、まずＡ３の回答においてシステムは検索結果である３３件のファミリーレストランを「○○店、…、××店、以上３３件あります」と列挙しなければならず、さらに、Ｑ５においてユーザはこれを受ける形で、「○○店、…、××店の中でイタリアンのは」と発話しなければ、システムはユーザの望むバックトラックの位置を語句の符合によって見つけだすことができない。このため、簡易な対話でバックトラックすることが難しい問題点があった。
【０００６】
本発明は、このような従来の問題点に鑑みてなされたもので、装置が所定の判断基準にしたがって対話の流れを自動的に制御することにより、簡易な対話でバックトラックを可能にし、より自然な対話形式での情報検索が可能な対話型情報検索技術を提供することを目的とする。
【０００７】
【課題を解決するための手段】
請求項１の発明の対話型情報検索装置は、自然言語形式で入力された指示文を解析して検索条件を抽出する指示文解析手段と、前記指示文解析手段によって抽出された検索条件に基づき、相当する情報を検索する検索実行手段と、前記検索条件とそれに基づき前記検索実行手段が実行した検索結果とを時系列で並べた検索過程を文脈構造データとして保持、管理し、当該文脈構造データの内容にしたがってユーザ・装置間の対話の流れを制御する対話制御手段と、前記検索結果に応じて自然言語形式の応答文を生成する応答文生成手段とを備え、前記指示文の解析から前記応答文の生成に至る一連の処理を繰り返し実行することにより、車両搭載機器の制御、操作または管理に必要な情報をユーザとシステムとの対話形式で検索する対話型情報検索装置において、前記対話制御手段は、予め検索条件の論理的な排反関係を定義しておき、新たに入力された指示文に対して前記指示文解析手段の抽出した検索条件が、前記文脈構造データ中にすでに記録されている検索条件の１つと論理的に排反である場合には、この排反である文脈構造データ中の検索条件より時系列上後方の検索結果及び検索条件を前記文脈構造データより削除し、かつ前記排反である文脈構造データ中の検索条件を前記新たに抽出された検索条件に書き換えることにより、過去の相当する時点まで遡って新たに対話を進めるように制御するものである。
【０００８】
請求項１の発明の対話型情報検索装置では、自然言語形式で入力された指示文を指示文解析手段によって解析して検索条件を抽出し、抽出された検索条件に基づき、検索実行手段により相当する情報を検索し、対話制御手段により、検索条件とそれに基づく検索結果とを時系列で並べた検索過程を文脈構造データとして保持、管理し、当該文脈構造データの内容にしたがってユーザ・装置間の対話の流れを制御し、検索結果に応じて自然言語形式の応答文を応答文生成手段によって生成する。
【０００９】
そして対話制御手段は、新たに入力された指示文を解析して抽出した検索条件が、文脈構造データ中にすでに記録されている検索条件の１つと論理的に排反である場合には、この排反である文脈構造データ中の検索条件より時系列上後方の検索結果及び検索条件を文脈構造データより削除し、かつ排反である文脈構造データ中の検索条件を新たに抽出された検索条件に書き換えることにより、過去の相当する時点まで遡って新たに対話を進めるように制御する。
【００１０】
これにより、対話の進行上、明らかに以前の状態に話題が遡っていると判断される場合には、ユーザが明示的に指示しなくてもその状態まで自動的に文脈を戻すことができ、人間同士のような自然な対話を装置とユーザとの間で進めながら、情報検索を行うことができる。
【００１１】
請求項２の発明の対話型情報検索装置は、請求項１に記載の対話型情報検索装置であって、前記対話制御手段は、新たに入力された指示文に対して前記指示文解析手段の抽出した検索条件が、あらかじめまたは状況に応じて定められた条件限定性の指標を満足せず、当該検索条件に基づいて前記検索実行手段が検索を実行しても検索対象を所定範囲まで絞り込むことができないと判断される場合には、前記検索実行手段に処理を移さず、さらに検索条件を限定するようにユーザに促す旨の応答文を生成するように前記応答文生成手段に指示するものである。
【００１２】
請求項２の発明の対話型情報検索装置では、自然言語形式で入力された指示文を指示文解析手段によって解析して検索条件を抽出し、抽出された検索条件に基づき、検索実行手段により相当する情報を検索し、対話制御手段により、検索条件とそれに基づく検索結果とを時系列で並べた検索過程を文脈構造データとして保持、管理し、当該文脈構造データの内容にしたがってユーザ・装置間の対話の流れを制御し、検索結果に応じて自然言語形式の応答文を応答文生成手段によって生成する。
【００１３】
そして対話制御手段は、新たに入力された指示文に対して指示文解析手段の抽出した検索条件が、あらかじめまたは状況に応じて定められた条件限定性の指標を満足せず、当該検索条件に基づいて検索実行手段が検索を実行しても検索対象を所定範囲まで絞り込むことができないと判断される場合には、検索実行手段に処理を移さず、さらに検索条件を限定するようにユーザに促す旨の応答文を生成するように応答文生成手段に指示する。
【００１４】
これにより、ある程度検索対象を絞り込める見通しを立ててから検索処理を実行することができ、無駄な処理を省いて情報検索の実行効率を向上させることができる。
【００１５】
請求項３の発明の対話型情報検索装置は、請求項１に記載の対話型情報検索装置であって、前記対話制御手段は、前記検索実行手段の検索結果に応じて前記応答文生成手段に処理を移す際に、当該検索結果として相当する検索対象が全く得られなかった場合に、検索条件を緩和するようにユーザに促す旨の応答文生成を前記応答文生成手段に指示し、かつ、当該検索結果とこれを規定するに至った直近の検索条件とを前記文脈構造データより削除することによって直近の指示文入力直前の時点まで遡って新たに対話を進めるように制御するものである。
【００１６】
請求項３の発明の対話型情報検索装置では、自然言語形式で入力された指示文を指示文解析手段によって解析して検索条件を抽出し、抽出された検索条件に基づき、検索実行手段により相当する情報を検索し、対話制御手段により、検索条件とそれに基づく検索結果とを時系列で並べた検索過程を文脈構造データとして保持、管理し、当該文脈構造データの内容にしたがってユーザ・装置間の対話の流れを制御し、検索結果に応じて自然言語形式の応答文を応答文生成手段によって生成する。
【００１７】
そして対話制御手段は、検索実行手段の検索結果に応じて応答文生成手段に処理を移す際に、当該検索結果として相当する検索対象が全く得られなかった場合に、検索条件を緩和するようにユーザに促す旨の応答文生成を応答文生成手段に指示し、かつ、当該検索結果とこれを規定するに至った直近の検索条件とを文脈構造データより削除することによって直近の指示文入力直前の時点まで遡って新たに対話を進めるように制御する。
【００１８】
これにより、検索結果に応じて以降の検索を効率的に進めることができるようユーザを誘導すると共に、次のユーザの発話に備えて文脈を適切な状態に保持しておくことができ、人間同士の対話のような自然な対話を装置とユーザとの間で進めながら情報検索することができる。
【００１９】
請求項４の発明の対話型情報検索装置は、請求項１〜３において、ナビゲーションシステムにおける地点検索処理を行なうものであり、ナビゲーションシステムにおける地点検索処理がユーザと装置との間の自然な対話によって実行できる。
【００２０】
請求項５の発明のコンピュータを用いた対話型情報検索方法は、自然言語形式で入力された指示文を解析して検索条件を抽出し、抽出された検索条件に基づき、相当する情報を検索し、前記検索条件とそれに基づく検索結果とを時系列で並べた検索過程を文脈構造データとして保持、管理し、当該文脈構造データの内容にしたがってユーザ・コンピュータ間の対話の流れを制御し、前記検索結果に応じて自然言語形式の応答文を生成する一連の処理を前記コンピュータによって繰り返し実行することにより、車両搭載機器の制御、操作または管理に必要な情報をユーザとコンピュータとの対話形式で検索するコンピュータを用いた対話型情報検索方法において、前記コンピュータに予め検索条件の論理的な排反関係を定義しておき、前記コンピュータが、新たに入力された指示文を解析して抽出した検索条件が、前記文脈構造データ中にすでに記録されている検索条件の１つと論理的に排反である場合には、この排反である文脈構造データ中の検索条件より時系列上後方の検索結果及び検索条件を前記文脈構造データより削除し、かつ前記排反である文脈構造データ中の検索条件を前記新たに抽出された検索条件に書き換えることにより、過去の相当する時点まで遡って新たに対話を進めるものである。
【００２１】
請求項６の発明のコンピュータを用いた対話型情報検索方法は、請求項５に記載の対話型情報検索方法であって、新たに入力された指示文を解析して抽出した検索条件が、あらかじめまたは状況に応じて定められた条件限定性の指標を満足せず、当該検索条件に基づいて前記検索を実行しても検索対象を前記コンピュータによって所定範囲まで絞り込むことができない場合には、前記コンピュータは、前記検索処理を行なわず、さらに検索条件を限定するようにユーザに促す旨の応答文を生成するものである。
【００２２】
請求項７の発明のコンピュータを用いた対話型情報検索方法は、請求項５に記載の対話型情報検索方法であって、前記コンピュータは、前記検索結果に応じて前記応答文を生成する処理に移る際に、当該検索結果として相当する検索対象が全く得られなかった場合に、検索条件を緩和するようにユーザに促す旨の応答文生成を指示し、かつ、当該検索結果とこれを規定するに至った直近の検索条件とを前記文脈構造データより削除することによって直近の指示文入力直前の時点まで遡って新たに対話を進めるものである。
【００２３】
請求項８の発明の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体は、自然言語形式で入力された指示文を解析して検索条件を抽出し、抽出された検索条件に基づき、相当する情報を検索し、前記検索条件とそれに基づく検索結果とを時系列で並べた検索過程を文脈構造データとして保持、管理し、当該文脈構造データの内容にしたがってユーザ・コンピュータ間の対話の流れを制御し、前記検索結果に応じて自然言語形式の応答文を生成する一連の処理を前記コンピュータによって繰り返し実行させることにより、車両搭載機器の制御、操作または管理に必要な情報をユーザとコンピュータとの対話形式で検索する対話型情報検索処理であって、前記コンピュータに予め検索条件の論理的な排反関係を定義しておき、前記コンピュータに、新たに入力された指示文を解析して抽出した検索条件が、前記文脈構造データ中にすでに記録されている検索条件の１つと論理的に排反である場合には、この排反である文脈構造データ中の検索条件より時系列上後方の検索結果及び検索条件を前記文脈構造データより削除させ、かつ前記排反である文脈構造データ中の検索条件を前記新たに抽出された検索条件に書き換えさせることにより、過去の相当する時点まで遡って新たに対話を進めさせることを特徴とする対話型情報検索処理を行うプログラムを記録したものである。
【００２４】
請求項９の発明の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体は、請求項８に記載の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体であって、新たに入力された指示文を解析して抽出した検索条件が、あらかじめまたは状況に応じて定められた条件限定性の指標を満足せず、当該検索条件に基づいて前記検索を実行しても検索対象を前記コンピュータによって所定範囲まで絞り込むことができない場合には、前記コンピュータに、前記検索処理を行なわさせず、さらに検索条件を限定するようにユーザに促す旨の応答文を生成させることを特徴とする請求項８に記載の対話型情報検索処理を行うプログラムを記録したものである。
【００２５】
請求項１０の発明の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体は、請求項８に記載の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体であって、前記コンピュータに、前記検索結果に応じて前記応答文を生成する処理に移る際に、当該検索結果として相当する検索対象が全く得られなかった場合に、検索条件を緩和するようにユーザに促す旨の応答文生成を指示させ、かつ、当該検索結果とこれを規定するに至った直近の検索条件とを前記文脈構造データより削除させることによって直近の指示文入力直前の時点まで遡って新たに対話を進めさせることを特徴とする請求項８に記載の対話型情報検索処理を行うプログラムを記録したものである。
【００２６】
【発明の効果】
請求項１の発明の対話型情報検索装置によれば、対話の進行上、明らかに以前の状態に話題が遡っていると判断される場合には、ユーザが明示的に指示しなくてもその状態まで自動的に文脈を戻すことができ、人間同士のような自然な対話を装置とユーザとの間で進めながら、情報検索を行うことができる。
【００２７】
請求項２の発明の対話型情報検索装置によれば、ある程度検索対象を絞り込める見通しを立ててから検索処理を実行することができ、無駄な処理を省いて情報検索の実行効率を向上させることができる。
【００２８】
請求項３の発明の対話型情報検索装置によれば、検索結果に応じて以降の検索を効率的に進めることができるようユーザを誘導すると共に、次のユーザの発話に備えて文脈を適切な状態に保持しておくことができ、人間同士の対話のような自然な対話を装置とユーザとの間で進めながら情報検索することができる。
【００２９】
請求項４の発明の対話型情報検索装置によれば、ナビゲーションシステムにおける地点検索処理がユーザと装置との間の自然な対話によって実行できる。
【００３０】
請求項５の発明のコンピュータを用いた対話型情報検索方法によれば、対話の進行上、明らかに以前の状態に話題が遡っていると判断される場合には、ユーザが明示的に指示しなくてもその状態まで自動的に文脈を戻すことができ、人間同士のような自然な対話を装置とユーザとの間で進めながら、情報検索を行うことができる。
【００３１】
請求項６の発明のコンピュータを用いた対話型情報検索方法によれば、ある程度検索対象を絞り込める見通しを立ててから検索処理を実行することができ、無駄な処理を省いて情報検索の実行効率を向上させることができる。
【００３２】
請求項７の発明のコンピュータを用いた対話型情報検索方法によれば、検索結果に応じて以降の検索を効率的に進めることができるようユーザを誘導すると共に、次のユーザの発話に備えて文脈を適切な状態に保持しておくことができ、人間同士の対話のような自然な対話を装置とユーザとの間で進めながら情報検索することができる。
【００３３】
請求項８の発明の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体は、それに記録されている対話型情報検索処理のプログラムをコンピュータに読み取らせて実行させることにより、対話の進行上、明らかに以前の状態に話題が遡っていると判断される場合には、ユーザが明示的に指示しなくてもその状態まで自動的に文脈を戻すことができ、人間同士のような自然な対話を装置とユーザとの間で進めながら、情報検索を行うことができる。
【００３４】
請求項９の発明の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体は、それに記録されている対話型情報検索処理のプログラムをコンピュータに読み取らせて実行させることにより、ある程度検索対象を絞り込める見通しを立ててから検索処理を実行することができ、無駄な処理を省いて情報検索の実行効率を向上させることができる。
【００３５】
請求項１０の発明の対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体は、それに記録されている対話型情報検索処理のプログラムをコンピュータに読み取らせて実行させることにより、検索結果に応じて以降の検索を効率的に進めることができるようユーザを誘導すると共に、次のユーザの発話に備えて文脈を適切な状態に保持しておくことができ、人間同士の対話のような自然な対話を装置とユーザとの間で進めながら情報検索することができる。
【００３６】
【発明の実施の形態】
以下、本発明の実施の形態を図に基づいて詳説する。本発明の対話型情報検索装置は、コンピュータに対話型情報検索処理を行うプログラムを組み込み、それを実行させることによってコンピュータ全体で当該対話型情報検索装置として作用するものであるが、これを処理機能ごとに分割すると、図１に示したような構成となる。図１は本発明の１つの実施の形態の対話型情報検索装置の構成を示している。この装置は、指示文を自然言語形式で入力する入力部１と、入力された指示文に自然言語解析処理を施し、検索条件を抽出する指示文解析処理部２と、検索過程を管理しながら、ユーザ・装置間の対話の流れを制御する対話制御部３と、検索条件に基づき、情報を検索する検索実行部４と、検索対象のデータベースを保持する記憶装置５と、検索結果に応じて自然言語形式の応答文を生成する応答文生成処理部６と、生成された応答文をユーザに対して出力する出力部７とから構成されている。
【００３７】
入力部１は、指示文を音声で入力する場合にはマイクのような音声入力装置であり、またテキストで入力する場合にはキーボードのような文字入力装置である。しかし、特に本装置を車両に搭載して使用する場合には、前者のような音声入力装置とすることにより、ユーザの指示文入力にかかる負担を軽減することができる。
【００３８】
指示文解析処理部２は、指示文が音声で与えられる場合には、まずその音素解析処理を行い、さらに形態素解析、構文解析、意味解析といった一連の自然言語解析処理を行った後、解析された指示文の意味に照らして検索条件を抽出する。本実施の形態の装置は、ナビゲーションシステムの地点検索処理における対話型情報検索を行うが、この場合の検索条件の例を、図２の表に示してある。ここでの検索条件は、地点属性、地点間距離、地点間方位、隣接道路、地点発着時間、地点発着頻度、地点間発着関係の７種に大別されるが、各条件を構成する要素の違いによってさらにア〜トの２０種に細分される。図２の表において、最右列には各条件に相当する指示文中の具体的な表現の例が示してあるが、指示文解析処理部２は入力された指示文がこれら２０種のどれに当てはまるかを判別し、相当する基準地点、制約値などの各条件構成要素を抽出する。
【００３９】
対話制御部３はさらに細かく機能構成を分けると、文脈情報管理部３０１、排反条件判断部３０２、対象限定性判断部３０３、検索結果判断部３０４から構成される。
【００４０】
文脈情報管理部３０１は、指示文解析処理部２により抽出された検索条件とこれに基づき検索実行部４が検索した検索結果とを検索過程を表す文脈構造データとして保持し、必要に応じて内容の追記、削除、更新を行う。この文脈構造データは、例えば、図３の左側に示した形態で保持されるものとする。なお、同図の右側には、左側のようなデータが構築されるに至った装置とユーザとの対話例を示している。
【００４１】
排反条件情報管理部３０２は、指示文解析処理部２により抽出された検索条件がすでに文脈情報管理部３０１に保持されている文脈構造データ中の各条件と論理的に排反であるかどうかを判断する。対象限定性判断部３０３は、指示文解析処理部２により抽出された検索条件が、検索を実行したときに検索対象を十分に絞り込むことができるかどうかを検索実行前に判断する。検索結果判断部３０４は、検索実行部４が検索を実行した結果として、検索対象がまだ絞り切れていないか、十分に絞り込まれているか、あるいは検索対象が全く得られなかったかを判断して以降の処理を振り分ける。
【００４２】
検索実行部４は、抽出され、文脈構造データに書き込まれた検索条件にしたがって、記憶装置５に記憶されているデータベースからこの検索条件を満足する地点などを検索する。記憶装置５は、ＣＤ、ＤＶＤ、ＨＤＤその他の大容量記憶媒体とその読取り装置であり、本実施の形態の装置の場合、例えば、図４に示すような地点の名称、位置、属性などを記録した地点データのリスト、及び車両走行に応じて蓄積された走行履歴データのリストをデータベース化して記憶するものとする。なお、地点は、あらかじめ装置により提供されるものの他に、ユーザが自分で登録した地点も含んでいてもよい。また、ユーザ登録地点や走行履歴データは車両の走行に伴い、自動的に追加されるようにし、これらの情報については、装置側の提供する地点とは別に書き込み可能なフラッシュメモリなどの記憶媒体に記憶させる構成にしてもよい。そしてその場合でも、検索実行部４からはユーザ登録地点も装置側提供の地点と区別なく認識できるものとする。
【００４３】
応答文作成処理部６は、検索結果に応じて対話制御部３の指示にしたがい、装置からユーザに伝達すべき応答文を生成する。応答文は、所定のテンプレートと対話制御部３より与えられる検索結果などの具体的情報にしたがってテキスト合成される。さらに、応答文を音声出力する場合には、合成された応答文テキストに基づく音声合成も応答文生成処理部６が実行する。
【００４４】
出力部７は、応答文が音声で出力する場合にはスピーカなどの音声出力装置であり、テキスト出力する場合には液晶モニタやＣＲＴなどの表示装置である。またこれらの両者を同時に備えていてもよい。
【００４５】
ここで、上記の指示文解析処理部２、対話制御部３、検索実行部４、応答文作成処理部６は、ＣＰＵ、内部メモリ、また必要に応じてサウンドチップなどから成る一体のコンピュータで構成されていてもよく、またそれぞれ個別のプロセッサによって構成されていてもよい。
【００４６】
次に、上記構成の対話型情報検索装置の動作を説明する。図５に指示文入力から応答文の生成に至る一連の処理のフローチャートを示してある。この図５に示すフローチャートを繰り返し実行することにより、ユーザは本装置と対話形式で検索を進め、所望の地点を発見することができる。
【００４７】
まずステップＳ５０１では、指示文解析処理部２が入力部１から新たに入力された指示文を解析して検索条件を抽出する。この処理は、前述したように与えられた指示文が図２に示す２０種の検索条件のいずれに当てはまるかを判別し、該当する条件の構成要素を抽出することにより実行する。
【００４８】
例えば、「それから２ｋｍ以内にあるレストラン」という指示文が入力された場合、指示文解析処理部２は自然言語処理によって、これが「基準点とそこからの距離の上限値を指定した距離制約を満足する対象地点の検索」を指示していることを認識する。したがって、これは図２の検索条件ウに当たるものとして、まず基準地点に当たる情報として「そこ」を抽出する。この場合、「そこ」は代名詞であり、一連の対話の中でこの指示文が入力される直前に話題となっていた場所を指すものであるから、その情報はすでに文脈情報管理部３０１が保持している文脈構造データ中に記述されているはずである。そこで、さらに「そこ」が照応する文脈構造データ中の情報を参照してこれを基準地点とする。
【００４９】
また、対象地点はこの指示文においては検索の対象であり、検索を実行した後、その結果が回答として埋め込まれることになる。これを図中では＜回答＞と表記して示してある。ただし、この指示文では、「レストラン」が対象地点を規定する属性として指定されている。これは、厳密には図２のアに挙げた、指定した地点属性に帰属することを規定する検索条件に相当するが、このように他の検索条件と組み合わせて対象地点を直接示す名詞として使われた地点属性については、特に検索対象を一義的に規定する属性として、アの場合とは区別して扱うことにする。以降、これを「第一義属性」と呼ぶことにする。図２の最右列に示した表現例の中で、形容詞句＋体言の形態をとる例文の末尾の名詞「ファミリーレストラン」、「ディーラー」、「スタンド」などはすべて、第一義属性である。また、他の検索条件と組み合わされていなくても、例えば、「ガソリンスタンド」とだけ入力された場合にも、第一義属性のみが指定されたものとしてよい。ただし、それまでの対話の中ですでに第一義属性が規定されている場合もあるため、後段の処理において、文脈構造データに検索条件を追記する際に、改めてアの地点属性帰属条件として処理されることもある。
【００５０】
さて、前述の「そこから２ｋｍ以内にあるレストラン」の例に戻ると、検索条件の構成要素のうちの制約値については、この場合、具体的な数値で示された距離の上限値である「２ｋｍ」を抽出する。また制約形態とは、先の７種の条件種別をさらに細かく識別するためのフラグであり、細分された検索条件ア〜トのどれに相当するかで一意的に決まる。この場合は、前述の通り「上限」である。
【００５１】
なお、以上の処理において必要となる構文解析、意味解析、あるいは代名詞の照応先の同定などの自然言語処理については、一般に知られている自然言語処理手法をここで述べた処理に特化、限定して適用している。
【００５２】
また、図２に示した検索条件の中には、対象地点では制約値に＜回答＞の表記があるものがある。これは、本実施の形態の目的である地点の検索を直接進める指示文ではないが、そのための参考情報を得るための指示文である。例えば、対話が進む中である程度、対象地点が絞られた状況にあって、「こことの距離は」という指示文が入力されたとする。この場合には、図２の検索条件オに相当すると判断され、基準地点としては「ここ」という語が現在地を指すものと解釈されて現在地情報が抽出される。対象地点には、直前まで話題となっていた場所を指すものとして、先の例の「そこ」の照応先と同じく文脈構造データ中の情報が参照される。
【００５３】
また制約形態は、距離の具体値を照会する指示であるとして「照会」と定められる。そして、地点ではなく、制約値を検索対象とする検索が実行されることになる。このような制約値照会指示をも受理することにより、ユーザは地点を検索する手がかりとなる情報を自然な対話によって得ることができる。図２に示すように、制約値照会指示においては、制約形態はすべて「照会」であり、また対象地点は必ず指示文中で明示的に若しくは暗黙に指定されていなければならない。
【００５４】
さらに、図２のア〜トを基本型として、さらにこれらを組み合わせた形の指示文を受理するようにしてもよい。例えば、「厚木街道沿いにある日石以外のスタンド」という指示文は、「厚木街道」を制約値とする隣接道路条件クと、「日石」を制約値とする地点属性除外条件イとの組み合わせである。また「先月５回以上行ったコンビニ」という指示文は、「先月」を制約値とする到着時間条件サと、「５」を制約値とする頻度下限条件ソとの組み合わせである。ただし、この場合には「先月行ったコンビニ」と「５回以上行ったコンビニ」の単純な組み合わせとは意味が異なるため、これらを１つの条件として受理するような条件種別を図２の２０種以外に設けておくことにしてもよい。
【００５５】
またさらに、図２には挙げていないが、直接地点名称を指示する指示文も一種の地点検索指示と考えてもよい。例えば、「戸塚駅」という指示文が入力された場合、これは名称が「戸塚駅」である地点を検索する指示であると考えることもできる。各地点の名称が一意に与えられているのであれば、実際には検索処理を実行しなくても対象地点が直接求められるが、これを、便宜上、名称を指定した地点検索条件が抽出されたものとして以降の処理を進めるようにしてもよい。
【００５６】
図５に戻って、指示文を解析し、検索条件を抽出した後、ステップＳ５０２では、指示文解析処理部２は入力指示文から検索条件が抽出されたかどうかを確認する。入力される文は、実際には地点検索指示、制約値照会指示以外の場合もあり、その場合には、ステップＳ５０２でＮＯに分岐する。
【００５７】
例えば、検索が進んで対象地点が１点のみに絞られた場合は、これを経路誘導の目的地に設定するために、「目的地に設定して」というような指示が入力されるかもしれない。この場合は、装置は指示通り該当地点を目的地に設定して、さらに経路探索などに処理を移す。また、ユーザ所望の地点が検索できなかった場合、最初から検索をやり直すために、「やり直し」といった指示が入力されてもよい。そしてこの場合には、それまでの文脈構造データをすべて消去し、初期状態に戻すことにする。さらにユーザは地点検索や制約値照会を指示するつもりだったにもかかわらず、入力された指示文に文法上の誤りや必要な情報の欠落があったため、指示文解析処理部２が検索条件を抽出できないということもあり得る。そのような場合には、条件抽出の失敗をユーザに応答し、その指示文を入力する前の状態に戻すことになる。このように地点検索や制約値照会以外の指示が入力された、あるいは地点検索や制約値照会の検索条件が抽出できなかった場合は、それらの状況に応じた処理に移るものとする。このような別処理については、本発明の目的とするところではないので、以降では、検索条件が抽出できた場合の処理に限って説明する（ステップＳ５０２でＹＥＳに分岐）。
【００５８】
ステップＳ５０３では、排反条件判断部３０２が抽出された検索条件をすでに文脈情報管理部３０１に保持されている文脈情報データに照らして合わせて、両者に論理的に排反である条件が含まれていないかどうか判断する。ここでいう論理的に排反であるとは、「２つの検索条件の各々を満足する２つの地点集合をとったときに両集合の積集合が空集合であることが明らかである」という意味である。本実施の形態で考慮する図２に示した２０種の検索条件に基づいて、論理的に排反であるような検索条件の一覧を図６に示してある。（１）の場合について説明すると、例えば、『「中華」と「イタリアン」と「和食」とは互いに共通項を持たないものとして扱う』というように、あらかじめ排反関係にある地点属性を定義しておく。本実施の形態では、より明示的に地点属性を階層的に定義し、共通の親属性を持つ２つの子属性は排反であると見なすことにしている。例えば、「飲食店」という親属性を定めて、その子属性として「中華」、「イタリアン」、「フレンチ」、「和食」などを定義する。また「自動車販売店」という親属性の下には、「日産」、「トヨタ」、「ホンダ」などの系列名を子属性として定義する。これにより、地点属性の排反性と地点属性検索の際の属性継承処理に必要な情報とを一度に定義できることになる。
【００５９】
図６における（５）の場合、２つの検索条件に指定された回数に差があってもその差が小さい場合、状況によっては２条件が排反であるとは見なさない。例えば、「５回行ったゴルフ場」という指示文が入力された場合、ユーザが個々の地点について行った回数を正確に記憶しているとは考えにくく、５という回数を必ずしも厳密に規定しているとはいえない。そこで本実施の形態では、頻度条件に指定された回数を概数として扱い、指定回数ｎに対して、例えば上下０．２ｎ以内の許容差を持たせることにしている。すなわち、「５回行った」という条件の検索指示に対しては、実際には４〜６回行った地点を検索するというように処理するのである。したがって、（５）における２つの検索条件が排反であるためには、各々の指定回数をｎ，ｍ（ｎ＜ｍ）としたとき、許容差を上述のように定義して、
ｎ＋［０．２ｎ］＜ｍ−［０．２ｍ］
が必要条件となる。図６における（６）の場合も同様である。なお、許容差の定義は上記に限定されることはなく、それに応じて排反性の判定条件も適宜に定められる。
【００６０】
図５のフローチャートに戻って、すでに保持されている文脈構造データ中のすべての検索条件が、新たに抽出された検索条件ｐと排反でない場合には、ステップＳ５０４に進み、文脈情報管理部３０１が文脈構造データにｐを追記する。対話の初期状態において、まだ文脈構造データが獲得されていない場合も同様である。文脈構造データは、例えば図３の左側に示すように、異なる２種類の構造型データが互いに参照ポインタで連結された形態で記憶されるものとする。
【００６１】
図３中に二重枠で示した構造型データＡ及びＢは、与えられた検索条件にしたがって検索した結果、得られる地点の集合を記述するものである。以降、これを「地点集合フレーム」と呼ぶ。また、単線枠で示した構造型データａ及びｂは、検索条件そのものを記述するものであり、これを「検索条件フレーム」と呼ぶことにする。この検索条件フレームａ，ｂは、図２に示した検索条件構成要素を格納する各スロットを保持する。これらのうち、「基準地点」スロットと「対象地点」スロットには、相当する地点集合フレームを参照するポインタ（例えば、「Ａ」とか「Ｂ」）、若しくは何も参照しないことを示す無効値「−」が書き込まれる。また、地点集合フレームＡ，Ｂは、「地点集合」、「属性」、「名称」、「検索条件」の各スロットを保持する。そして、「地点集合」スロットは、例えば｛１２１４９，１１５９５｝というように、各地点に一意に定められたＩＤ番号のリストの形で相当する地点集合を格納する。また「属性」スロットには、例えば「スタンド」というように、入力された指示文中で前述した第一義属性が指定された場合にこれが書き込まれる。また、指示文が直接地点名称を指定した場合には、これを「名称」スロットに書き込む（例えば、「戸塚駅」）。さらに「検索条件」スロットには、その地点集合を規定するに至った検索条件を記述する検索条件フレームへの参照ポインタが、条件を与えられた順に時系列で並べられたリストとして格納される。１つの指示文により複数の検索条件が同時に与えられた場合には、それが明示される形で記録されるものとする。例えば、最初の指示文で検索条件ｐ１が与えられ、次にｐ２とｐ３が１つの指示文で与えられ、最後にｐ４が与えられた場合には、検索条件スロットには｛（ｐ１），（ｐ２，ｐ３），（ｐ４）｝のように記録する。すなわち、検索条件スロットの値を、個々のリスト要素がさらに検索条件ポインタのリストであるような二重構造のリストとするのである。さらに、これらの連結されたフレームの中で、現在対話の中で検索対象として着目されている地点集合フレームに対しては、着目点であることを示すマークＭＫを付与する。図３では、地点集合フレームＢが着目点である。
【００６２】
図３に示した文脈構造データの成立過程を、同図右側に示した対話例に沿って説明する。まず、「戸塚駅」という指示文が入力されると、前段の処理によってこれは地点名称を直接指定したものであり、検索条件は与えられていないことが分かる。したがって、検索条件フレームは生成されず、地点集合Ａのみが生成される。また検索を実行しなくても、戸塚駅のＩＤ番号１３０４２は一意的に定まるので、地点集合スロットにはこれをただ１つの要素とするリストが格納される。さらにこの段階では、地点集合フレームはＡただ１つのみであるので、これを着目点とする。
【００６３】
次に、「それから１ｋｍ以内にあるスタンド」が入力されると、地点間距離に関する検索条件と第一義属性「スタンド」が抽出される。一般的にには、指示文解析処理において、第一義属性と判断された地点属性であっても、これがすでに文脈中に存在する地点集合フレーム（通常は着目点）と照応し、かつ照応した地点集合フレームの属性スロットにすでに値が記述されているならば、先の地点属性は第一義属性ではなく、地点属性帰属条件（図２のア）として文脈構造データに追記されることになる。いまの場合も、形式的には「スタンド」は着目点である「戸塚駅」の地点属性帰属条件となる可能性がある。しかし、ここでは検索条件の中に「そこ」という指示代名詞が入っており、着目点と照応する優先度は指示代名詞の方が第一義属性よりも高いため、結局「スタンド」と照応するものは現在の文脈中には存在しないと判断される。したがって、「スタンド」を第一義属性として属性スロットに記述した地点集合フレームＢが新たに生成される。
【００６４】
一方、地点間距離の上限条件（図２のウ）として検索条件フレームａも生成される。基準地点は指示代名詞「そこ」が照応する地点集合フレームＡとなり、対象地点は新たに生成されたＢである。着目地点ＭＫは最新の検索条件の対象地点を示すことになるため、ＡからＢに移動する。また、地点集合フレームＢの検索条件スロットにはａがリスト要素として加えられ、検索条件フレームａと地点集合フレームＢとは双方向の参照ポインタを保持することになる。Ａは条件ａの検索対象ではないので、Ａの検索条件スロットにはａは記録されない。この後、後段の検索処理が実行されると、該当条件を満足する地点として５地点が検索されたことが、図３の対話例のシステム応答によって示されている。この時点で、地点集合フレームＢの地点集合スロットには、この５地点のＩＤ番号のリストが書き込まれることになる。
【００６５】
さらに、「国道１号沿いにあるのは」の指示文が入力されると、前段処理により隣接道路条件が抽出される。第一義属性がない場合、抽出された検索条件はすべて現在の着目点を規定するものと見なされる。そこで新たに検索条件フレームｂが生成され、その対象地点は現在の着目点Ｂとなる。一方、地点集合フレームＢの検索条件スロットにはｂが追加される。Ｂは依然として最新検索条件の対象地点であるため、着目点ＭＫは変わらない。
【００６６】
この後、Ｂについて検索を実行した結果、対話例に示すように２地点が検索されたとすると、地点集合フレームＢの地点集合スロットは書き換えられ、文脈構造データは図３に示した形態となる。このように、検索条件については、後述する排反条件の処理が行われない限り与えられたすべての条件が時系列にしたがって保持されるが、検索結果である地点集合については、着目点ＭＫが移動しない限り、最新の検索結果のみが保持される。
【００６７】
抽出された検索条件の文脈構造データへの追記処理として、もう１つ、第一義属性として抽出された地点属性が、地点属性帰属条件に振り替えられる例を説明する。図３に示す状態において、さらに「戸塚駅より西の日石」という指示文が入力されたとする。この場合、前段の処理によれば、この指示文からは地点間方位条件と第一義属性「日石」が抽出される。地点間方位条件の基準地点は「戸塚駅」という地点名称で与えられており、現在の着目点と照応する指示代名詞はないため、今度は「日石」が着目点Ｂと照応する。地点集合フレームＢの属性スロットには、すでに第一義属性として「スタンド」が与えられているため、「日石」は地点属性帰属条件に振り替えられる。したがって図７に示すように、新たに２つの検索条件フレームｃ，ｄが生成され、どちらも対象地点として地点集合フレームＢを参照することになる。
【００６８】
地点集合フレームＢの検索条件スロットには、ｃ，ｄが同時に規定されたということで、（ｃ，ｄ）として追加される。なお、再び地点名称で指定された「戸塚駅」については、一意的に定まる定数として扱えるため、文脈構造データ中で重複させてもかまわない。そこで図７の例では、新たに地点集合フレームＣを生成したが、もちろん、文脈構造データ中で照応する地点集合フレームＡを探し出し、検索条件フレームｃの基準地点スロットでＡを参照するようにしてもよい。
【００６９】
以上のようにして、ステップＳ５０４においては新たに抽出された検索条件が文脈構造データに追記されるが、一方、ステップＳ５０３において排反条件が見つけられた場合は、ステップＳ５０５以降に処理を移して、文脈構造データの修正を行う。
【００７０】
検索条件の排反性は、新たに抽出された検索条件と、文脈構造データ中の着目点である地点集合フレームの検索条件スロットに記述された各条件との間で判断されるものとする。いま、着目点の検索条件スロットに二重リスト構造で記述された検索条件を、｛（ｐ１１，ｐ１２，…），（ｐ２１，ｐ２２，…），…，（…，ｐｉｊ，ｐｉj+1，…），…｝とする。ここに、検索条件ｐｉｊは、当該着目点に対してｉ番目の時点に少なくともｊ個以上同時に与えられた検索条件のうち、便宜上ｊ番目に記述されたものを指す。また、新たに抽出された検索条件も一般には複数あるため、これをｐ１，ｐ２，…，ｐｋとする。
【００７１】
ステップＳ５０５では、検索条件ｐ１，ｐ２，…，ｐｋの各条件と排反であるｐｉｊのうちもっとも早い時点で与えられたもの、すなわち、ｉが最小であるものを見つけだす。以降、排反条件の与えられた時点のことを「排反時点」と呼ぶ。
【００７２】
もし、新たに与えられる検索条件が１つのみであれば、すなわちｋ＝１ならば、以下に説明する処理により排反であるｐｉｊはたかだか１個であることが保証されている。しかし、複数の検索条件が同時に与えられた場合は、そのそれぞれについて排反であるｐｉｊが存在する可能性があるため、排反時点の最小値を同定する必要がある。いま新たな検索条件のうち、ｐk1がｐｉｌｊ′と、またｐk2がｐｉ２ｊ″と排反であり、かつ、i1≦i2であるならば、最も早く排反条件が与えられた時点はi1である。
【００７３】
そこでステップＳ５０６では、着目点の検索条件スロットから、最も早い排反時点i1以降に与えられた検索条件、すなわちｉ＞i1なるｐｉｊをすべて削除する。また、これら削除されたポインタにより参照される検索条件フレームも、他のフレームから参照されていない限りすべて削除する。
【００７４】
そしてステップＳ５０７では、新たに得られたｐ１，ｐ２，…，ｐｋを時点i1に与えられた検索条件として着目点の地点集合フレームの検索条件スロットに追加する。このとき、すでに書き込まれている検索条件ｐｉ１ｊと排反であるものについては、その排反条件と置き換えられるもとする。例えば、時点i1に与えられた検索条件として（ｐｉ１１，ｐｉ１２，ｐｉ１３，ｐｉ１４）が書き込まれていて、新たに得られた検索条件ｐ１，ｐ２，ｐ３のうち、ｐ１がｐｉ１３と、ｐ３がｐｉ１２と排反であるならば、時点i1に与えられた検索条件は（ｐｉ１１，ｐ３，ｐ１，ｐｉ１４，ｐ２）と書き換えられる。このとき置き換えられた検索条件ポインタｐｉ１２，ｐｉ１３が参照する検索条件フレームも削除される。また時点i1以前に与えられた検索条件｛（ｐ１１，ｐ１２，…），（ｐ２１，ｐ２２，…），…，（ｐｉ１−１１，ｐｉ１−１２，…）｝は、本段の処理により影響を受けない。これによって、対話文脈は時点i1まで遡られたことになる。
【００７５】
さらにステップＳ５０８では、検索条件の書き換えられた着目点の地点集合フレームの地点集合スロットが空リストにクリアされる。これは、それまで保持していた地点集合が、書き換えられた検索条件との連関を失ったことを明示し、地点集合フレーム内の一貫性を損なわないようにするためである。
【００７６】
以上の排反条件の処理について、図１４、図１５に示した対話例を用いて説明する。図１４おけるＡ４までの対話で、文脈構造データは図８に示した状態になっている。すなわち、第一義属性として、「ファミリーレストラン」を指定した着目点の地点集合フレームＡに対して、「大和駅より東」、「鶴ヶ峰より西」、「中華」という３つの検索条件ａ，ｂ，ｃが与えられている。
【００７７】
ここで新たに、「イタリアンのは」という指示文が入力されると、図９に検索条件フレームｄとして示すような検索条件が抽出される。そしてｄとそれまでに与えられた検索条件フレームａ，ｂ，ｃとの排反性が調べられ、「中華」、「イタリアン」という地点属性の排反性から検索条件フレームｄはｃと排反であることが分かる。検索条件フレームｃは着目点の地点集合フレームＡに対して最も新しく与えられた条件であるため、ステップＳ５０６に相当する排反時点以前の検索条件の削除は行われず、排反条件ｃは新たな検索条件ｄに書き換えられる。そして、地点集合フレームＡの地点集合スロットがクリアされ、結局、文脈構造データは図９に示すようになる。すなわち、着目点の地点集合フレームＡは、「大和駅より東で、かつ、鶴ヶ峰駅より西にあるイタリアンのファミリーレストラン」を示すことになり、文脈構造データは図１４のＡ３まで正しく遡った後、改めてＱ５が条件として与えられることになる。
【００７８】
こうしてステップＳ５０４またはステップＳ５０８を終了すると、次に、ステップＳ５０９に移行する。ここでは、対象限定性判断部３０３が、与えられた検索条件により検索対象を十分に絞り込むことができるかどうか判断する。そのためには、判断の指標をあらかじめ定めておく必要がある。以下では、この指標を条件限定性の指標と呼ぶことにする。本実施の形態では、次の２つの指標を定める。
【００７９】
まず１つは、対話開始状態において、地点属性条件（図２のアまたはイ）がただ１つ与えられる場合である。地点属性帰属条件（図２のア）の場合、これは第一義属性を与えたことになる。一般にある地点属性に帰属する若しくは帰属しない地点は相当数あることが予想される。例えば、図１４の対話例において、最初の指示文Ｑ１「ファミリーレストラン」が入力された場合、「ファミリーレストラン」はデータベース中にきわめて多数存在するため、もう少し条件が限定されてから検索を実行する方が効率がよい。そこでこのような場合、ステップＳ５０９においては条件限定性が十分でないと判断される。
【００８０】
条件限定の他の１つの指標は、着目点の地点集合フレームの地点集合スロットに記述された地点の要素数がある一定値を超えている場合において、新たに入力された検索条件がそれまでに与えられた検索条件に照らしてわずかの限定性しか持たないと判断される場合である。例えば図１４の対話例において、対話がＡ２まで進んだ段階では、「大和駅から東にあるファミリーレストラン」は２５９件存在することが分かっている。ここで、Ｑ３として「デニーズ以外のは」の指示文が入力されたとすると、「デニーズ」は「ファミリーレストラン」の子属性であり、同じファミリーレストランを親属性に持つ地点属性には「スカイラーク」、「ロイヤルホスト」など多数が存在する。したがって、地点属性について「ファミリーレストラン」しか規定していない状態で、「デニーズ以外」を検索しても地点を十分には絞り切れないことが予想されるため、条件限定性は十分ではないと判断することにする。しかし、仮にＡ２の段階で地点集合が２５９件ではなく、例えば１０件程度に絞られていたとすれば、「デニーズ以外」で検索してもこれ以上に地点集合数が増えることはないので、そのような場合には条件限定性は十分であると判断する。
【００８１】
なお、条件限定性の指標はここに挙げた例に限られるものではなく、適宜別の指標を定めてもよい。例えば先の第１の指標の例では、第一義属性のみを指定した場合は条件限定性は十分でないとしたが、仮に最初に「自宅」を入力した場合、これに帰属する地点は明らかに少数である。そこで、例えば図４に示すユーザ登録地点にのみ与えられる地点属性については、第一義属性として指定した場合であっても、条件限定性は十分であるとすることとしてもよい。
【００８２】
ステップＳ５０９において、条件限定性が十分であると判断された場合、続くステップＳ５１０の処理に移り、検索実行部４が着目点の地点集合フレームに与えられた検索条件にしたがって、相当する地点を検索する。このとき、着目点の地点集合フレームにおける地点集合スロットに与えられた前回までの検索結果を適宜利用してもよい。例えば、図１４のＱ３によって新たな検索条件が抽出された後、検索実行部４は全地点データに対して「大和駅から東にあって、鶴ヶ峰駅から西にあるファミリーレストラン」を調べるのではなく、「大和駅から東にあるファミリーレストラン」２５９件の中で、「鶴ヶ峰駅より西にある」ものを調べることによって検索の高速化が図れる。ただし、同図のＱ５のように、排反条件の存在により検索条件が書き換えられてしまった場合には、ステップＳ５０８により地点集合スロットもクリアされてしまうので、この場合には、「大和駅から東にあって鶴ヶ峰駅から西にあるイタリアンのファミリーレストラン」を改めて全地点データより検索することになる。いずれの場合でも、検索結果は改めて着目点の地点集合フレームの地点集合スロットに書き込まれるものとする。
【００８３】
なお、ここで、特に地点属性に関する検索について、属性継承の処理方法について補足する。前述のように本実施の形態では、各地点属性は階層構成をとるものとして定義される。そこで、地点属性の検索では、指定した属性の下位にあるすべての属性のどれか１つでもある地点に対して付与されていれば、その地点は指定された属性を付与されているものと見なされる。例えば、図４に示されたＩＤ＝１１５９５やＩＤ＝１２１４９の地点には、地点属性として「昭和シェル」、「日石」しか与えられていない。しかし、これらは地点属性「ガソリンスタンド」の下位属性（子属性）であるため、検索条件として「ガソリンスタンド」が指定された場合に、これらの地点は検索されることになる。逆に、「ガソリンスタンド以外」と地点属性除外条件が与えられた場合には、これらの地点は検索されない。
【００８４】
一方、ステップＳ５０９において条件限定性が十分でないと判断された場合は、ステップＳ５１１において、新たに入力された検索条件にまだ検索が実行されていないことを示すフラグが付与され、続くステップに処理を移す。これは、ステップＳ５０８と同様、着目点である地点集合フレーム内の地点集合スロットと検索条件スロットとの一貫性を保つためである。これ以降、新たに検索条件が与えられ、条件限定性が十分であると判断されてステップＳ５１０に進んだ場合、検索実行部４は地点集合スロットに記述された各地点の中から、最も新しく与えられた検索条件に加えて、検索未実行のフラグを与えられた検索条件をも満足するものを探し出すことになる。例えば、図１４の対話例では、Ｑ３において「デニーズ以外」という条件が与えられた場合、先に述べた条件限定性の判断にしたがって検索が行われなかったとすると、着目点の地点集合フレームの検索条件スロットに「デニーズ以外」の条件が加えられたにもかかわらず、地点集合スロットはＡ２で得られた２５９件が保持されている。そこで、この「デニーズ以外」という条件に検索未実行フラグを与えておけば、次のＱ４で、例えば「鶴ヶ峰駅から５ｋｍ以内」の条件を与え、条件限定性が確認されて検索を実行しようとするときに、検索実行部４は検索未実行の条件と最も新しい条件とを合わせて、先の２５９件の中から「鶴ヶ峰駅から５ｋｍ以内にあるデニーズ以外」のものを検索することができるようになる。
【００８５】
ステップＳ５１０によって検索が実行され、検索結果が着目地点の地点集合フレームに書き込まれると、ステップＳ５１２では検索結果判断部３０４が検索された地点数を調べ、地点数に応じて以降の処理を振り分ける。ここでは、処理を、
（ｉ）地点数が多く、対象が十分に絞り切れていない場合、
（ii）地点数が０ではないが、ある程度対象が絞り込まれている場合、
（iii）地点数が０の場合
の３通りに分ける。
【００８６】
（ｉ）と（ii）の区別については、具体的な基準を明確に定めておく必要がある。それには、あらかじめ地点数の閾値を定数で定めておき、例えば地点数が１０以上の場合には（ｉ）、９以下の場合には（ii）としてもよい。あるいは、前段のステップＳ５１０において新たに検索された結果を着目点の地点集合フレームの地点集合スロットに書き込む前に、検索前に得られていた地点数ｎを保持しておいて、これに１より小さい一定比率を乗じたものを（ｉ）と（ii）との判別の閾値としてもよい。例えば、一定比率を０．７に定め、検索前の地点数が仮に２００であれば、新たに検索された地点数が１４０以上なら（ｉ）、１３９以下なら（ii）とするのである。なお、これらの両者を組み合わせるなど、閾値の定め方は例示したものに限定されるものではない。
【００８７】
ステップＳ５１２において対象地点がある程度絞り込まれ、上記の（ii）の場合に相当すると判断された場合にはステップＳ５１３に進み、応答文生成処理部６が得られた地点をユーザに伝えるための応答文を生成し、出力部７を通じてユーザに知らせる。そしてこの後、システムは指示文の入力待ち状態に入る。
【００８８】
ステップＳ５１２において対象地点が十分に絞り切れない場合、すなわち（ｉ）に相当すると判断された場合、若しくはステップＳ５０９において条件限定性が十分でないと判断され、ステップＳ５１１の処理を終えた場合には、ステップＳ５１４の処理に移る。ここでは、応答文生成処理部６が、対象地点が絞り込まれていないので、検索条件をより限定するようにユーザに促す旨の応答文を生成する。このとき併せて、より限定された検索条件の具体例を作成し、次にどのような指示文を入力すべきかをユーザに提案するようにしてもよい。例えば、「対象が絞り切れません。戸塚駅から５００ｍ以内で検索してはいかがですか？」のような応答文を作成して出力するのである。条件限定の具体例としては、直近に入力された検索条件、すなわち、着目点の地点集合フレームの検索条件スロットにおいてリストの末尾に記述された検索条件をもとにして、その十分条件（十分ではあるが必要ではない条件）を作成すればよい。直近の検索条件が複数存在する場合には、その中の１つを適宜に選択する。図１０には、条件種別ごとの十分条件の作成法を例示している。このようにして条件の限定を促す応答文を作成した後、ステップＳ５１３と同様にこれを出力して次の指示文の入力待ち状態に入る。
【００８９】
また、ステップＳ５１２において対象地点が１つも得られなかった（iii）の場合には、ステップＳ５１５に処理を進め、文脈情報管理部３０１が着目点の地点集合フレームの検索条件スロットにおいて、リストの末尾に記述された直近の検索条件を削除する。これは、今回の検索処理を無効として、文脈構造データを今回の指示文が入力される前の状態に戻すための処理である。これにより、次に入力される指示文は以前の対話文脈とスムーズにつながられ、対話の流れを自然なものにすることができる。例えば、図１４の対話例において、Ｑ４にしたがって検索した結果、対象地点が得られなかったものとする。この場合の文脈構造データは、図８に示したものにあって、さらに着目点の地点集合フレームＡの地点集合スロットが空リストであるものとなる。これは、ステップＳ５１０において検索した結果、対象地点が１つも得られず、当該スロットには空リストが書き込まれるためである。そこで、本段の処理においては、地点集合フレームＡの検索条件スロットのリストの末尾要素である検索条件フレームｃが削除され、検索条件スロットのリストは｛（ａ），（ｂ）｝となる。このような状態で、次にＱ５の「イタリアンのは」が入力されると、これが当該スロットに書き加えられ、結局、図９に示したものと同じ文脈構造データを得る。なお、着目点の地点集合フレームにおける地点集合スロットは空リストのままでなく、それ以前の状態に戻すように本段を処理してもよい。そのためには、ステップＳ５１０において検索結果を書き込む際、その前の検索結果を一時的に保持しておくようにすればよい。いまの例では、図１４においてＱ４が入力され、ステップＳ５１０において検索した結果、対象地点が１つも得られなかったとすれば、着目点の地点集合フレームの地点集合スロットを空リストにクリアする前にそこに保持されていた地点ＩＤのリスト、すなわち、対話例のＡ３が示している３３件の地点集合を一時記憶に保持しておく。そしてその後に、本段の処理において直近の検索条件ｃを削除してから、一時記憶に待避していた３３件の地点集合を着目点の地点集合フレームにおける地点集合スロットに戻すようにする。このような処理によって、続くＱ５に相当する検索では、検索実行部４は「大和駅から東にあって、鶴ヶ峰駅より西にあるファミリーレストラン」３３件の中から、「イタリアンの」地点を探せばよく、実行速度の向上が図れる。
【００９０】
さらにステップＳ５１６では、応答文生成処理部６が、対象地点が得られないので検索条件をさらに緩和するようにユーザに促す旨の応答文を生成する。このとき、併せてより緩和された検索条件の具体例を作成し、次にどのような指示文を入力すべきかをユーザに提案するようにしてもよい。例えば、「対象が検索できません。戸塚駅から５ｋｍ以内で検索してはいかがですか？」のような応答文である。条件緩和の具体例としては、前段において削除された直近の検索条件をもとに、その必要条件（必要であるが十分ではない条件）を作成すればよい。直近の検索条件が複数存在する場合には、その中の１つを適宜に選択する。条件種別ごとの必要条件は、図１０に示す操作と逆の操作（矢印を逆向きにした操作）により作成する。このようにして条件の緩和を促す応答文を作成した後、ステップＳ５１３と同様にこれを出力して次の指示文の入力待ち状態に入る。
【００９１】
このようにして、図５の一連の手続きを終了して指示文の入力待ち状態に入った後、さらに指示文が入力された場合には、再びステップＳ５０１からの手続きを繰り返し、対話形式で検索処理を進めていくことになる。なお、入力された指示文の内容が地点検索の指示ではなく、例えば「こことの距離は」などの制約値照会の指示文であった場合も、地点検索指示と同様に、ステップＳ５０４において検索条件フレームが生成され、文脈構造データに追記される。またステップＳ５１０においては、生成された検索条件フレームの制約値スロットを求めるような形で検索が実行される。条件の排反性や限定性の判断は行われない。また検索結果に応じて応答を適宜変化させることはあっても、条件の限定や緩和の提案は行わない。
【００９２】
例として、図３の右側に示した対話例において、さらに「こことの距離は」が入力された場合の文脈構造データの様子を図１１に示してある。新たに作成された検索条件フレームｃの制約形態スロットは、図２のところで説明したように必ず「照会」となる。また、対象地点スロットにより着目点である地点集合フレームＢが参照されているが、逆に地点集合フレームＢの検索条件スロットにｃが追記されることはない。これは、検索条件フレームｃが地点集合フレームＢの地点集合を規定する条件ではないからである。さらに、着目点も地点集合フレームＢから移動しないため、次の指示文入力で地点検索が指示された場合には、検索条件フレームｃが存在しない場合と全く同様に以降の検索処理を継続することができる。
【００９３】
このようにして、本実施の形態の対話型情報検索装置では、人間同士の自然な対話形式で効率よく迅速に検索作業を進めることができ、したがってユーザが大きな負担を強いられることなく、車両での使用に適した情報検索機能を実現することができる。
【００９４】
なお、上記の実施の形態ではカーナビゲーションシステムにおける地点検索処理を取り上げたが、本発明装置の応用システムはこれに限定されることはなく、例えばカーステレオにおける番組検索処理など、図４に示したような相応のデータベースとこれを検索する図２に示したような検索条件の仕様が与えられ、さらに図６に示したような検索条件の排反性や図１０に示した包含関係が明確に定義できるならば、任意の情報検索処理に適用することができる。
【図面の簡単な説明】
【図１】本発明の対話型情報検索装置の１つの実施の形態の機能構成を示すブロック図。
【図２】上記の実施の形態の装置が利用する検索条件の仕様を示す表。
【図３】上記の実施の形態の装置における文脈構造データの構成と対応する対話例を示す説明図。
【図４】上記の実施の形態の装置における地点データ及び走行履歴データの記憶形態を示す説明図。
【図５】上記の実施の形態の装置が実行する対話形式の情報検索処理のフローチャート。
【図６】上記の実施の形態の装置における排反である検索条件の一覧を示す表。
【図７】上記の実施の形態の装置における文脈構造データの他の例を示す説明図。
【図８】上記の実施の形態の装置における文脈構造データのさらに他の例を示す説明図。
【図９】上記の実施の形態の装置における文脈構造データのさらに他の例を示す説明図。
【図１０】検索条件の十分条件の作成方法の一覧を示す表。
【図１１】制約値照会指示を含む文脈構造データの例を示す説明図。
【図１２】従来例において正しく理解される対話例の説明図。
【図１３】従来例において理解される対話文脈のネットワーク構造を示す説明図。
【図１４】従来例において正しく理解されない対話例の説明図。
【図１５】従来例において理解されない対話文脈のネットワーク構造を示す説明図。
【符号の説明】
１  入力部
２  指示文解析処理部
３  対話制御部
４  検索実行部
５  記憶装置
６  応答文生成処理部
７  出力部
３０１  文脈情報管理部
３０２  排反条件判断部
３０３  対象限定性判断部
３０４  検索結       果判断部
【図１】
0003765202.tif 000002
【図２】
0003765202.tif 000003
【図３】
0003765202.tif 000004
【図４】
0003765202.tif 000005
【図５】
0003765202.tif 000006
【図６】
0003765202.tif 000007
【図７】
0003765202.tif 000008
【図８】
0003765202.tif 000009
【図９】
0003765202.tif 000010
【図１０】
0003765202.tif 000011
【図１１】
0003765202.tif 000012
【図１２】
0003765202.tif 000013
【図１３】
0003765202.tif 000014
【図１４】
0003765202.tif 000015
【図１５】
0003765202.tif 000016