本発明の実施例について、次の項目に分けて説明する。 A.実施例 A1.ナビゲーションシステム A2.処理(シナリオ)DBのデータ構造 A3.音声認識による情報入力処理 A4.キャラクタ容姿DBのデータ構造 A5.ログDBのデータ構造 A6.ナビゲーション処理 A7.目的地特定処理 A8.評価結果入力処理 A9.飲食店検索処理 B.変形例 B1〜B15.変形例1〜変形例15
A.実施例 以下の実施例では、本発明を経路探索および経路案内を行うためのナビゲーションシステムとして構成した場合を例にとって説明する。本発明は、ナビゲーションシステムに限らず、種々の装置に適用可能である。
A1.ナビゲーションシステム 図1は、ナビゲーションシステムの構成を説明する説明図である。本ナビゲーションシステムは、ナビゲーション装置100と、処理(シナリオ)DB200、キャラクタ容姿DB300と、地図DB400、ログDB500とを備えている。本ナビゲーションシステムは、車両に搭載され、車両の運転者(以下、ナビゲーションシステムを利用する者の総称として、「利用者」という)に対し、ナビゲーション機能を果たす。各DB200,300,400,500は、ナビゲーション装置100が読み取り可能な記録媒体の形式で提供してもよいし、無線のネットワーク等を介して提供してもよい。
本ナビゲーションシステムの構成要素うち、ナビゲーション装置100は、内部にCPU、ROM、RAM等を備えたマイクロコンピュータを搭載しており、複数の機能ブロックから構成される。これらの機能ブロックは、このコンピュータ内において、ソフトウェア的に構成されているものとする。なお、もちろん、各機能ブロックを、適宜ハードウェア的に構成することも可能である。
ナビゲーション装置100の各機能ブロックのうち、現在地取得手段110は、車両の現在地を取得する。現在地の取得には、種々の方法を適用可能であり、たとえば、GPS(Global Positioning System)を利用して検出する方法を適用することができる。この場合、GPSは、DGPS(Differential GPS)、RTK−GPS(Real Time Kinematic−GPS)、VRS(Virtual Reference Station)、VRS−RTK−GPS(Virtual Reference Station−Real Time Kinematic−GPS)を利用する方法も可能である。
目的地特定手段120は、入力手段150、出力手段160、処理(シナリオ)DB200、キャラクタ容姿DB300、地図DB400、ログDB500との協働により、目的地を特定する。また、目的地特定手段120は、目的地の特定結果やその際に利用された検索条件などを、次回の特定時に利用可能にログDB500に格納する。
目的地の特定は、利用者とキャラクタとの一連の会話を通じて行われる。具体的には、まず、入力手段150の音声認識部152により、マイク151から入力された利用者の音声が認識される。音声の認識結果は、目的地特定手段120に送られる。エージェント制御部122は、送られた認識結果に基づいて、処理(シナリオ)DB200に用意された複数の処理(シナリオ)データのいずれかを選択する。
ここで、処理(シナリオ)データとは、キャラクタによる質問に対し、利用者が回答すると想定される回答群、およびこの回答群に対する更なる質問という、シナリオ的に用意されたデータをいう。処理(シナリオ)データの詳細については後述する。本実施例では、目的地特定手段120内に、処理(シナリオ)データの種類に応じて、処理を実現するためのエージェントが複数設けられているが、図の煩雑化を回避するため、図1では図示を省略した。エージェントの構成についても処理(シナリオ)データと併せて後述する。上記処理(シナリオ)データの選択時には、併せて、その処理(シナリオ)データに対応したエージェントが選択される。
処理(シナリオ)データの選択結果は、キャラクタ表示制御部124に受け渡される。キャラクタ表示制御部124は、ディスプレイ164に表示すべきキャラクタの容姿を変更(決定)する機能を奏する。この機能としては、第1に、キャラクタ表示処理(シナリオ)データの選択結果に応じて、キャラクタの服装を決定する機能が含まれる。第2に、シナリオの実行中に、その処理過程に応じて、キャラクタの表情や動作を決定する機能が含まれる。
エージェント制御部122からの処理(シナリオ)データの選択結果、各シナリオの実行状況、およびキャラクタ表示制御部124からのキャラクタの容姿の決定結果は、データ取得手段126に受け渡される。データ取得手段126は、これらの情報に応じて、処理(シナリオ)DB200およびキャラクタ容姿DB300から、それぞれ処理(シナリオ)データおよびキャラクタ容姿データを取得し、出力手段160に受け渡す。データ取得手段126は、エージェントによる目的地の検索結果や、特定された目的地の表示に必要な地図データを、地図DB400等から取得し、出力手段160に受け渡す。
出力手段160の映像/音声出力部162は、送られた処理(シナリオ)データおよびキャラクタ容姿データに基づき、ディスプレイ164にキャラクタ映像を表示するとともに、スピーカ163から音声による質問を発する。また、後述する通り、これらの質問に対する回答例や、目的地を検索する処理において利用者が従前に指定した条件なども併せて表示する。更に、目的地の検索結果の一覧や、目的地を示す地図なども表示する。
経路探索手段130は、現在地取得手段110が取得した現在地に関する情報と、目的地特定手段120が特定した目的地に関する情報を受けて、地図DB400を参照しつつ、現在地から目的地までの経路を探索する。探索された経路に関するデータは、出力手段160に送られる。出力手段160は、送られた経路データに基づき、経路を出力(表示)する。
経路誘導手段140は、経路探索手段130により探索された経路を受けて、地図DB400を参照しつつ、経路に関する誘導データを取得する。取得された誘導データは、出力手段160に送られる。
出力手段160の映像/音声出力部162は、送られた誘導データに基づき、映像や音声により、利用者を目的地まで誘導する。
A2.処理(シナリオ)DBのデータ構造 図2は、処理(シナリオ)DB200のデータ構造を説明する説明図である。本実施例の処理(シナリオ)DB200のデータには、目的地特定処理(シナリオ)データ220が用意されている。
ここで、目的地特定処理(シナリオ)データ220は、利用者の要求を確認し、経路探索の目的地の設定を支援することを目的とした処理(シナリオ)データであり、キャラクタによる質問とその質問への想定される回答群が、いわばシナリオ的に用意されているデータである。
本目的地特定処理(シナリオ)データ220は、具体的には、「どのお店にしますか?」との質問に対し、「お腹がすいた」、「ゴルフがしたい」、「宿泊先を探したい」、「温泉に行きたい」・・・などといった回答群で構成される。これらの回答のそれぞれには、グルメ処理(シナリオ)データ240、レジャー処理(シナリオ)データ260、ホテル処理(シナリオ)データ280、温泉処理(シナリオ)データ290が関連付けされており、利用者からの回答に応じて、関連付けされた処理(シナリオ)データが選択されるようになっている。
上記グルメ処理(シナリオ)データ240と、レジャー処理(シナリオ)データ260と、ホテル処理(シナリオ)データ280と、温泉処理(シナリオ)データ290は、目的地特定処理(シナリオ)データ220に、並列的に用意されている。
このうち、グルメ処理(シナリオ)データ240は、利用者の要求する食事(料理)のジャンルを確認することを目的の一つとした処理(シナリオ)データであり、キャラクタによる質問とその質問への想定される回答群が、いわばシナリオ的に用意されたデータである。グルメ処理(シナリオ)データ240内には、更に、料理のジャンルに応じて、ラーメン店検索処理(シナリオ)データ242、中華店検索処理(シナリオ)データ244、洋食店検索処理(シナリオ)データ246、和食店検索処理(シナリオ)データ248、イタリアン店検索処理(シナリオ)データ250などが用意されている。これらのデータ242〜250は、料理のメニュー等に応じて更に細分化したものを用意するようにしてもよいし、データ242〜250を省略し、グルメ処理(シナリオ)データ240で全ての料理店を統一的に扱うようにしても良い。
グルメ処理(シナリオ)データ240は、具体的には、「何かお店で買いますか?それともお店で食べますか?」との質問に対し、「買う」、「食べる」といった回答群で構成される。さらに、「食べる」との回答を得た場合に用意された、「ファーストフード、ファミリーレストラン、それともその以外」といった質問に対し、「ファーストフード」、「ファミリーレストラン」、「ラーメンが食べたい」、「中華がいい」、「洋食」・・・などといった回答群で構成される。なお、「ラーメンが食べたい」、「中華がいい」、「洋食」・・・などの回答のそれぞれには、ファーストフード店検索処理(シナリオ)、ファミリーレストラン検索処理(シナリオ)(いずれも図示省略)、ラーメン店検索処理(シナリオ)データ242、中華店検索処理(シナリオ)データ244、洋食店検索処理(シナリオ)データ246・・・が関連付けされており、利用者からの回答に応じて、関連付けされたデータが選択されるようになっている。
このうち、ラーメン店検索処理(シナリオ)データ242は、利用者の要求するラーメン店を確認することを目的とした処理(シナリオ)データであり、キャラクタによる質問とその質問への想定される回答群が、いわばシナリオ的に用意されたデータである。
本ラーメン店検索処理(シナリオ)データ242は、具体的には、「自分で探す?それともおまかせ?」との質問に対し、「自分」、「おまかせ」といった回答群である。さらに、「おまかせ」との回答を得た場合に用意された、「近くにする?それともちょっと遠くでもいい?」といった質問に対し、「近く」、「遠くでもいい」・・・などといった回答群で構成される。中華店検索処理(シナリオ)データ244など、その他の処理(シナリオ)データも同様に、各ジャンルに応じた料理店を検索するための質問と回答群から構成されている。
図の上方に示す通り、各処理(シナリオ)データ240、260、280、290には、それぞれグルメ処理エージェント240a、レジャー処理エージェント260a、ホテル処理エージェント280a、温泉処理エージェント290aが設けられている。これらのエージェント群240a〜290aは、図1で示した目的地特定手段120の内部に個別のモジュールとして設けられている。
グルメ処理エージェント240aは、グルメ処理(シナリオ)データ240に沿って、利用者からの要望に沿う飲食店を検索する処理を実行するモジュールである。その他のエージェント260a、280a、290aもそれぞれ、対応する処理(シナリオ)データを用いてレジャー施設、ホテル、温泉などの検索処理を実行する。本実施例では、このように検索のジャンルごとに処理(シナリオ)データおよびエージェントを個別に用意することにより、それぞれのジャンルに沿った検索処理を実現することができ、利用者の要望をより適切にかなえることが可能となっている。図中に示したエージェントの構成は一例に過ぎず、ジャンル等に応じ
て、ここに示した以外のエージェントを設けても良いし、図示したエージェントの一部を単一のエージェントで兼ね備える構成としてもよい。
後述する通り、本実施例では、利用者との情報授受を音声によって行う。この際、ナビゲーションシステムのディスプレイ164には、コンピュータグラフィックスで生成された女性(以下、「キャラクタ」と称する)の画像が表示される。このキャラクタは、目的地の検索処理の過程で、所定の条件下で、服装および表情を変化させる。本実施例では、図中に示すエージェントの選択時に、各エージェントのジャンルに応じた服装に変化させるものとした。図中に示す通り、グルメ処理エージェント240aに対してはレストランのウェイトレス風の服装、レジャー処理エージェント260aに対してはカジュアルな服装、ホテル処理エージェント280aに対してはホテルのコンシェルジュ風の服装、温泉処理エージェント290aに対しては温泉旅館の女将風の服装となっている。服装だけでなくアクセサリや帽子などを併せて変化させてもよいし、キャラクタの背景画像を変化させてもよい。キャラクタの画像を変化させるための処理方法については、後述する。
A3.音声認識による情報入力処理 図3は音声認識による情報入力過程の処理を示す説明図である。図1の目的地特定手段120の構造において、音声認識部152からエージェント制御部122に情報を伝達するインタフェース部分のモジュール構成を詳細に示したものに相当する。このインタフェース部分には、ワード変換部127a、およびコード生成部128aというモジュールが用意されている。また、これらのモジュールが利用するテーブルとして、ワード変換テーブル127b、およびコード変換テーブル128bが用意されている。
ワード変換テーブル127bは、規定ワードとキーワードとを対応付けるテーブルである。規定ワードとは、エージェント制御部122および各エージェント240a〜290aでの処理に用いられる予め固定的に設定されたキーワードである。本発明における広義のコードに相当する。図の例では、グルメ処理エージェント240aが利用するキーワードである「ラーメン」を規定ワードの例として示した。
キーワードには、規定ワードの類義語が登録されている。この例では、「ラーメン」自体の他、「ヌードル」、「替え玉」などが登録されている。音声による情報入力では、利用者の回答に自由度が高いため、利用者は、必ずしも規定ワードに一致する回答を行うとは限らない。本実施例のワード変換テーブル127bを用いることにより、利用者が回答し得る広汎な用語を、規定ワードに関連づけることが可能となる。
コード変換テーブル128bは、規定ワードと、データ区分およびコードとを対応づけるテーブルである。データ区分とは、エージェント制御部122および各エージェント240a〜290aの処理中のどの過程で用いられるべきかを表す情報である。「menu」はグルメ処理エージェント240aが、料理店を特定するために用いられるべき情報であることを意味する。「genre」は、エージェント制御部122がエージェント240a〜290aの選択に使用すべき情報であることを意味する。コードは、規定ワードを表す符号である。データ区分およびコードは、本発明における狭義のコードに相当する。
図示する通り、音声認識部152からは、利用者の音声に対応した情報が「文字列」の形で入力される。ワード変換部127aは、この文字列から、ワード変換テーブル127bに存在するキーワードを抽出し、これに対応する規定ワードを出力する。この機能により、例えば、利用者が、「替え玉ができる店がいいなぁ」と応えた場合には、「替え玉」というキーワードに基づいて、「ラーメン」という規定ワードが出力されることになる。つまり、利用者は、人間同士の自然な会話をする感覚で必要な情報をナビゲーションシステムに入力することが可能となる。
こうして設定された規定ワードは、コード生成部128aに受け渡される。コード生成部128aは、コード変換テーブル128bを参照し、規定ワードに対応するデータ区分、コードを特定し、エージェント制御部122および各エージェント240a〜290aに受け渡す。もっとも、ここで生成されるデータ区分、コードは、エージェント制御部122および各エージェント240a〜290aの処理の便宜上設定するものであるため、コード生成部128aを省略し、全て規定ワードで処理を実現するようにしてもよい。
上述したワード変換部127aおよびコード生成部128aは、音声認識部152内に設ける構成を採ることも可能であるが、本実施例では、図示する通り、目的地特定手段120の内部に、音声認識部152とは別モジュールとして設けた。こうすることにより、音声認識と並行して、規定ワードへの変換、およびコードの生成を実行することができるため、音声認識のリアルタイム性を保証しやすくなる利点がある。
図の下方には、グルメ処理(シナリオ)データ240を例にとって、その内部構造を示した。既に説明した通り、グルメ処理(シナリオ)データ240は、利用者に発せられるべき質問内容と、それに対する回答群とから構成されている。この例では、質問#1「何かお店で買いますか?」に対する回答群として、「お店で食べる」、「お店で買う」が規定されている。この回答群が、先に説明した規定ワードに対応する。この回答群の文字列と併せて、コード変換テーブル128b中に示したコードも設定されており、エージェント内での処理は、このコードに基づいて行われる。
各回答群には、それぞれ分岐先が設定されている。図の例によれば、利用者が「お店で食べる」と回答した場合には、分岐先である質問#2「ファーストフード、ファミリーレストラン、その他?」の質問が展開されることになる。他の各エージェント260a〜290aが利用する処理(シナリオ)データ260〜290でも同様に、質問、回答、分岐先がそれぞれ対応づけられている。また、図示を省略したが、回答群には、分岐先と併せて各エージェントが実行すべき処理を指定するコマンドも設定されている。これらのコマンドに応じて、エージェントは、利用者から選択された「回答」を、料理店などの検索条件として入力したり、後述する通り、ログDB500の検索を行ったりすることができる。処理(シナリオ)データは、図中に示した構造に限らず、質問、回答、分岐先の対応関係が特定可能な種々の構造を採ることが可能である。
図4は検索項目の指定方法を示す説明図である。グルメ処理(シナリオ)データについて、料理店の検索項目として、図の右側に示す各項目が指定可能である場合を例示した。例えば、「何が食べたい?」という質問に対し、利用者が「こってりしたもの」という回答をした場合を考える。この回答の「こってり」というキーワードは、ワード変換テーブル127bで予め対応づけられた規定ワード「脂っこいもの」に変換されるものとする。
グルメ処理エージェント240aは、グルメ処理(シナリオ)データ240のうち、「脂っこいもの」という回答に対応する分岐先#21を参照する。この回答に対しては、単に「次の質問を発する」というコマンドが対応づけられているものとする。「脂っこいもの」という回答は、検索項目の入力条件としては不十分な情報だからである。
グルメ処理エージェント240aは、次に#21欄に規定された質問を発する。この質問に対する回答群では、次の分岐先として#31が指定されるとともに、結果を検索項目のメニュー欄に入力する動作コマンドが設定されているとする。利用者が回答群にある「焼き肉、しゃぶしゃぶ、ステーキ」のいずれかを選択すると、グルメ処理エージェント240aは、上述の設定に従い、選択された結果を検索項目のメニュー欄に入力し、#31欄の質問を発する。
#31欄の質問に対する回答群には、次の分岐先として#41が指定されるとともに、結果を検索項目の「目的」欄に入力する動作コマンドが設定されているとする。利用者が、「ファミリー」等の回答を選択すると、グルメ処理エージェント240aは、利用者が選択した結果を検索項目の目的欄に入力する。このように、グルメ処理(シナリオ)データにおいて、ある質問に対する回答群に、次の分岐先および動作コマンドを設定しておくことにより、ナビゲーション装置100と利用者との会話を通じて、目的地特定処理に必要な情報を順次、入力することが可能となる。
本実施例のグルメ処理(シナリオ)データでは、回答群に用意された回答ごとに、分岐先および動作コマンドを設定可能である。例えば、図中の#11の質問に対する回答群のように、各回答で異なる分岐先が指定可能である。同様にして、回答ごとに異なる動作コマンドも指定可能である。この結果、#11の質問に対して、利用者が、「フレンチ」や「イタリアン」のように、検索項目に直接入力可能な回答をした場合には、#21などのような詳細な質問をするまでなく、検索項目への入力を行うことができる。このように、回答群の中で、回答に応じてその後の処理を柔軟に制御することが可能となり、無用な質問および回答を省略できるため、利便性を向上することができる。
先に説明した通り、各回答群における規定ワードには、ワード変換テーブル127bにおいて複数のキーワードを対応づけることが可能であるため、利用者の広汎な回答に対処可能となり、それぞれの回答に対して適切な処理を実現することが可能となる。この結果、より自然な会話による円滑な情報入力を実現することができる。ここでは、グルメ処理(シナリオ)データ240を例示したが、他の処理(シナリオ)データも同様である。
A4.キャラクタ容姿DBのデータ構造 図5は、実施例にかかるキャラクタ容姿DB300のデータ構造を説明する説明図である。本実施例のキャラクタ容姿DB300のデータには、顔データ、手データ、体(服装)データ、足データといった、キャラクタ容姿を構成する構成要素が用意されている。
ここで、顔データには、我々人間が会話を通じて意思疎通を図るときに行なうしぐさ(表情)、たとえば、「普通の表情」はもちろん、「笑ったり」、「怒ったり」、「うなづいたり」などの表情を表したデータが用意されている。図5では、このうち、パターン1として「普通の表情」、パターン2として、「笑った表情」・・・が示されている。
また、手データには、我々人間が会話を通じて意思疎通を図るときに行なう手を用いたジェスチャー、たとえば、質問をする場合や何かを提案するの意を表現する「手を広げたジェスチャー」、喜びや祝福の意を表現する「拍手」、困難に直面している場合や受け入れ難いの意を表現する「腕組み」などのデータが用意されている。図5では、このうち、パターン1として「手を広げたジェスチャー」、パターン2として、「拍手」・・・が示されている。
また、体(服装)データには、利用者にナビゲーションサービスを提供する場面として相応しい服装(姿)、たとえば、図2中に示した各服装や、「レースクイーン服姿」、「チャイナ服姿」、「和服姿」・・・などのデータが用意されている。図5では、このうち、パターン1として「レースクイーン服姿」、パターン2として、「チャイナ服姿」・・・が示されている。
さらに、足データには、我々人間が会話を通じて意思疎通を図るときに行なう足によるジェスチャー、たとえば、「直立姿」はもちろん、「片足上げ姿」を表したデータが用意されている。図5では、このうち、パターン1として「直立姿」、パターン2として、「片足上げ姿」・・・が示されている。
キャラクタ容姿は、これらの部品の組み合わせで自然人の全身または半身が構成され、映像として映し出されるため、あたかもキャラクタに内在する感情を利用者に感じ取らせるような視覚的な表
現を指すことができる。
なお、上記顔データ、手データ、体(服装)データ、足データの各部品はその外形(静止画)であってもよいが、本実施例においては、よりキャラクタ容姿をより自然人のしぐさに近づけるため、顔の表情、手、足の動きを含むもの(動画)としている。
図5では、体(服装)データも含めて各パターンを構成する例を示した。これに対し、顔データ、手データ、足データで各パターンを構成し、体(服装)データはこれらと独立に扱うようにしてもよい。こうすることにより、各パターン、即ち顔データ、手データ、足データの組み合わせを、それぞれの服装で流用することができるため、データ容量を抑制することが可能となる。
A5.ログDBのデータ構造 図6はログDB500のデータ構造を示す説明図である。ログDB500には、利用者が検索し、訪問した店舗についてのデータが格納されている。本実施例では、検索日、店情報、検索条件の各データを保存するものとした。店情報としては、店名、電話番号、住所、および緯度、経度などの位置情報を保存する。検索条件としては、図4で例示した検索項目を保存する。もっとも、これらは例示に過ぎず、更に詳細な情報を保存するようにしてもよいし、これらの情報の一部を省略してもよい。また、ログDB500には、利用者が訪問した店舗のみならず、検索した全結果を保存するようにしてもよい。
図中には、ログDB500の管理方法について併せて示した。ログDB500は、各エージェント240a〜290aによって管理される。ここでは、グルメ処理エージェント240aが管理する場合を例示した。各エージェント240a〜290aとは別に、ログDB500の管理専用のエージェントを設ける方法を採ってもよい。但し、本実施例の構成によれば、検索条件など、保存すべきデータを、各エージェント240a〜290aによって共通にする必然性がなくなるため、必要なデータを効率的に管理することが可能となる利点がある。
本実施例では、ログDB500のデータの有用性を高めるため、店舗利用後に、店舗に対する評価等を入力可能とした。グルメ処理エージェント240aは、店舗利用後に、グルメ処理(シナリオ)データ240を参照して、スピーカ163から、検索条件のうち未入力の項目を入力するための質問や、店舗に対する評価等に関する質問を発する。図中では質問のみを示したが、グルメ処理(シナリオ)データ240の構造は、先に図4で示したのと同様、質問、回答群、分岐先から構成されている。
図中に示した質問の内、例えば、「誰と行ったの?」という質問は、検索条件の「目的」を埋めるために使用される。同様に、「雰囲気はどうだった?」、「おいしかった?」、「店員さんの感じは?」という質問は、それぞれ検索条件の「雰囲気」、「味」、「接客」を埋めるために使用される。これらの質問は、検索条件のうち未入力となっている全ての項目について行うようにしてもよいし、一部の項目を選択して行うようにしてもよい。利用者がマイク151を通じて音声入力した回答は、ワード変換部127aで規定ワードに変換され、グルメ処理エージェント240aによって、ログDB500に格納される。店舗評価等の入力処理およびログDB500の利用方法については、後述する。
A6.ナビゲーション処理 図7は、ナビゲーション処理のフローチャートである。ナビゲーション装置100のCPUが実行する処理である。本処理は、利用者からナビゲーションシステムにナビゲーション実行の要求があった場合に起動し、現在地の取得から目的地の特定、現在地から目的地までの経路の誘導までの一連のナビゲーションが行われる。
まず、ステップS100において、現在地取得手段110を用いた車両の現在地取得処理が行われる。ステップS100において、車両の現在地が取得されると、次に、ステップS200において、目的地特定手段120、入力手段150、出力手段160、処理(シナリオ)DB200、キャラクタ容姿DB300、地図DB400、ログDB500の協働により目的地特定処理が行われる。本目的地特定処理(ステップS200)においては、目的地の特定が、キャラクタ映像と音声による質問を発し、利用者の音声を認識するという一連の会話を通じて行われる。目的地特定処理の内容は後で詳述する。
ナビゲーション装置100は、目的地特定処理によって目的地が特定されると、ステップS300にて、経路探索手段130により、現在地取得手段110により取得された現在地から、目的地特定手段120により特定された目的地までの経路を探索する。この探索においては、地図DB400が参照される。参照される地図DB400には、道の繋がりを、ノードとリンクで表現した、いわゆる道路ネットワークデータが含まれている。また、探索のアルゴリズムとしては、周知のダイクストラ法を採用することができる。
最後に、ナビゲーション装置100は、ステップS400にて、経路誘導手段140により、経路探索手段130にて探索された経路の利用者に対する経路の誘導を行う。
この誘導においても、地図DB400が参照される。参照される地図DB400には、上記道路ネットワークのノードとリンクにそれぞれ関連づけされた音声や映像(画像)などの誘導データが含まれている。
A7.目的地特定処理 以下、最初に、図5図8を用いて目的地特定処理(図7中のステップS200)で用いられる画面表示例について説明した後、図9〜図11のフローチャートを用いて、キャラクタと利用者との一連の会話を通じて、目的地が特定されるまでを、詳細に説明する。
図5図8は目的地特定処理時の画面表示例である。ナビゲーション装置100のディスプレイ164の表示内容を例示した。図示する通り、目的地特定処理時に使用される表示は、地図の周囲に配置されたウィンドウWa1〜Wa4を用いて行われる。ウィンドウWa1〜Wa4は、全てを備えている必要はなく、その一部を省略したり、利用者が表示/非表示を切換可能としたりしてもよい。ウィンドウWa1は、処理中に音声で発せられる質問の内容を表示する。ウィンドウWa2は、この質問に対する回答例を表示する。図の例では、ウィンドウWa1に表示された「ご希望のお料理ジャンルは?」という質問に対し、「フレンチ/イタリアン…」が回答例となることを表している。
回答例とは、グルメ処理(シナリオ)データ240に用意された回答群の一部を例示したものを意味する。先に説明した通り、本実施例のナビゲーション装置100は、ワード変換テーブル127bにキーワードとして登録されている単語も含めると、非常に広汎な語を認識可能となっている。回答例は、このように広汎な語の一部に相当する。図4に例示した通り、この回答例には、検索項目に直接入力可能な種類の回答、更に質問を重ねることで段階的な絞り込みが要求される種類の回答など、概念範囲が異なる回答が混在している。このように概念範囲が広狭混じった回答例を示すことにより、利用者は、ナビゲーション装置100が理解可能な語の範囲を概ね把握することができ、こうした把握に基づいて自然な感覚で回答することが可能となる。
ウィンドウWa3は、利用者が従前に入力済みの条件を表示する。この例では、ジャンル、メニュー、施設サービスなどについての条件が表示されている。利用者が未指定の項目については、表示されない。ウィンドウWa3は、これらの項目に対応した個別の表示枠を設ける構成とすることも可能であるが、本実施例では、敢えてこれら全体を一つのウィンドウ内にまとめて表示する態様を採用した。各項目は、ジャンル、メニュー等の項目ラベルと、指定内容の組み合わせで表示される。
こうすることにより、例えば、施設サービスのように、複数指定される可能性がある条件について、表示枠の制約を受けずに漏れなく表示することができる利点がある。また、表示枠を用いた場合には、ブランクの項目について、入力を強制する心理的圧迫が利用者に与えられるが、本実施例の態様では未指定の項目は表示されないため、こうした心理的圧迫を緩和することができる。かかる観点から、例えば、入力済みのいずれかの項目が、処理の途中で利用者によってキャンセルされた場合には、ウィンドウW3から、その項目の内容のみならず項目ラベル自体も削除することが好ましい。
一般に音声での情報授受では、利用者は従前に指定した条件を忘れがちであり、検索処理の現状を誤解する可能性がある。ウィンドウWa3に表示される情報は、こうした誤解を回避し、効率的な検索処理を支援することができる。
ウィンドウWa4には、キャラクタの画像が表示される。先に図2で説明した通り、キャラクタの服装は、検索処理の過程で、特にエージェント240a〜290aの選択に伴って変更される。いずれかのエージェントが選択された後は、他のエージェントが改めて選択されない限り、服装は変化しない。本実施例では、このようにキャラクタの服装を制限的に変化させるものとしている。こうすることにより、利用者は、各服装の意味を容易に理解することができ、自己が意図した通りのエージェントによる処理が実行されていることを容易に認識することが可能となる。もっとも、服装の変化は、エージェントの選択時にのみ制限する必要はなく、例えば、音声認識に使用されるデータベースや検索処理に使用されるデータベースの変更に伴って変化させるようにしてもよい。以下で示すフローチャートは、以上で説明した表示を併用して実行される。
図9は、目的地特定処理(シナリオ)のフローチャートである。ナビゲーション装置100は、まず、ステップS202にて、初期状態のキャラクタ容姿データ(映像データ)と最初の質問を発するための処理データ(音声データ)を取得し、ステップS204にて、キャラクタ映像と音声を出力する。この場合、出力される映像は、初期状態の容姿であり、例えば、顔「普通の表情」、手「手を広げたジャスチャー」、体(服装)「レースクイーン服姿」、足「直立姿」であるものとする。また、最初の質問は、「どんなお店に行きますか?」であるものとする。
この質問内容は、ナビゲーション装置100のウィンドウWa1に表示されるとともに、「グルメ」、「レジャー」などの回答例がウィンドウWa2に表示される。この時点では、入力済みの情報は存在しないため、ウィンドウWa3はブランクの状態である。
これを受けて、利用者が音声で回答を行うと、ナビゲーション装置100は、ステップS206にて、利用者の音声を入力する。この場合、「お腹がすいたなー」が入力されたものとする。入力された音声データは、ステップS208にて、ナビゲーション装置100の音声認識部152に受け渡される。音声認識部152は、この音声データの音声認識を行い(ステップS210)、認識の結果に基づいて処理(シナリオ)DB200に用意されたいずれかのシナリオおよびそれに対応するエージェントの選択を行う(ステップS212)。
例えば、「お腹がすいたなー」との回答を受けた場合には、ナビゲーション装置100は、利用者が空腹であると判断し、グルメ処理(シナリオ)データ240およびグルメ処理エージェント240aを選択する。先に図3で説明した手順に即して、この処理を説明する。まず、「お腹がすいたなー」という文字列を受け、ワード変換部127aが、これを規定ワードに変換する。例えば、「お腹がすいた」というフレーズをキーワードとして、「グルメ」という規定ワードに変換する態様を採ることができる。次に、コード生成部128aは、この規定ワード「グルメ」に対して、データ区分およびコードを設定する。図3に示した通り、データ区分としては「genre」が設定されるため、この規定ワードに対応するコードは、エージェントの選択に使用されることになる。
エージェ
ント制御部122による処理(シナリオ)データの選択結果を受け、キャラクタ表示制御部124が作動して、選択結果に応じた容姿を決定する。例えば、グルメ処理(シナリオ)が選択された場合には、顔「笑い表情」、手「拍手」、体(服装)「ウェイトレス姿」、足「片足上げ姿」の容姿に変更(決定)される。また、利用者の回答に応じて、処理(シナリオ)データに従って、次に発すべき質問が決定される。ナビゲーション装置100は、こうして決定された容姿を表示するための画像データ、および質問内容に相当する音声データを取得し(ステップS214)、出力する(ステップS216)。
ここで、顔が「笑い表情」、手が「拍手」、足が「片足上げ姿」に変更されたのは、ナビゲーション装置100が、利用者の回答に同意していることを意味する。このキャラクタの容姿の変更により、利用者は、自己の要望に対して適切な検索結果が得られると期待してもよいと推測することができる。
こうした同意の表情および動作は、例えば、利用者の要望を実現するための困難度を指標化し、この困難度指標に基づいて制御する方法を採ることができる。困難度指標は、一例として、利用者の要望に添う目的地までの距離、目的地の混雑予想、目的地までの混雑予想などの項目と、指標との関係を予めマップとして用意しておくことにより、求めることができる。混雑予想は、例えば、時間帯との関係で設定することができる。困難度指標が所定値を超える場合には、キャラクタに、非同意の表情や動作をさせるようにしてもよい。
上述の処理に引き続いて、図9のステップS212で選択された各エージェントの処理が実行される。ここでは、グルメ処理(シナリオ)が選択された場合を例にとって、処理内容を説明する。他の処理が選択された場合も、処理(シナリオ)データの内容に応じて質問内容等が相違するのみであり、フローチャートとしては同等である。
図10は、グルメ処理(シナリオ)のフローチャートである。まず、ステップS232にて、ナビゲーション装置100は、キャラクタ容姿データ(映像データ)と処理データ(音声データ)を取得し、ステップS234にて、キャラクタ映像と音声を出力する。ここで、出力される映像は、顔「笑いの表情」、手「手を広げたジェスチャー」、体(服装)「ウェイトレス姿」、足「直立姿」であり、出力される音声は、「何かお店で買いますか?それともお店で食べますか?」である。
これを受けて、ステップS236にて、利用者の音声が入力される。この場合、「お店で食べる」が入力されたものとする。ナビゲーション装置100の音声認識部152は、入力された音声を受け取り(ステップS238)、音声認識を行う(ステップS240)。認識の結果、利用者はお店で食べることを要求していると判断されるため、グルメ処理(シナリオ)データ240に用意された次の質問「ファーストフード、ファミリーレストラン、それともそれ以外」が出力される(ステップS242)(図3参照)。
これを受けて、ステップS244にて、ナビゲーション装置100は、利用者の音声を入力する。この場合、「ラーメン」が入力されたものとする。音声認識部152は、入力された音声データを、ステップS246にて受け取り、音声認識を行う(ステップS248)。認識の結果、利用者はラーメンを食べることを要求していると判断されるため、ナビゲーション装置100は、グルメ処理(シナリオ)DB240に用意された処理(シナリオ)のうち、ラーメン検索処理(シナリオ)データ242を選択する(ステップS250)。ナビゲーション装置100は、この処理に応じて、キャラクタの表情、動作および次の質問事項を決定し、それに対応するデータを取得して、キャラクタの画像および質問を出力する(ステップS252、S254)。
本実施例では、ラーメン検索処理への移行時には、検索に使用されるデータベースが変更されていないため、服装は変化させないものとした。これに対し、ラーメン店検索用のデータベースが用意されている場合には、「チャイナ服姿」など、ラーメン検索処理(シナリオ)に相応しい服装に変更させてもよい。これにより、利用者は、自分がラーメンを食べたいという要望がキャラクタに伝わったと認識することができる。
図11は、ラーメン店検索処理(シナリオ)のフローチャートである。なお、図11においては、キャラクタ容姿データや処理(シナリオ)データの取得方法は、図9、図10と同じであり、ここで繰り返し説明すると冗長となり、かえって分かりにくくなるため、説明の便宜上、省略することとする。
まず、ステップS252にて、ナビゲーション装置100は、キャラクタ映像と音声による質問を出力する。質問は、「自分で探す?それともおまかせ?」であり、ここでは、会話の主導権をどちらが握るかを確認している。
これを受けて、ステップS254にて、利用者の音声が入力される。この場合、「おまかせ」が入力されたものとする。ナビゲーション装置100は、入力された音声を認識し、次の「近くにする?それともちょっと遠くでもいい?」という質問を出力する(ステップS256)。
これを受けて、ステップS258にて、利用者の音声が入力される。この場合、「近くでお願い」が入力されたものとする。ナビゲーション装置100は、入力された音声を認識し、近くのラーメン店の検索を開始する。ナビゲーション装置100は、まず、現在地を取得し(ステップS260)、地図DB400に用意されたラーメン店のうち、近くのラーメン店を検索し(ステップS262)、その店の映像(たとえば、店舗の雰囲気、メニュー、実際のラーメンの写真)を現在地に近い順に表示する(ステップS264)。利用者が、表示されたラーメン店から好みを選んで指定すると(ステップS266)、目的地の設定が完了する(ステップS268)。
図11では、ラーメン店の検索条件として、「近く」という条件のみを指定する場合を例示したが、複数の検索条件を指定可能としてもよい。例えば、施設サービスに関する条件として、「個室有り」、「駐車場有り」、「クレジットカード利用可能」などの条件を並行して指定する態様が考えられる。このように多彩な条件を指定可能とする場合、指定内容によっては、データベースの検索項目として不適当な条件が含まれるおそれがある。このような例としては、検索項目として「クレジットカードの使用可否」が登録されていないデータベースを用いているにもかかわらず、利用者から「クレジットカード使用可能」という条件が指定されるという態様が挙げられる。
本実施例では、処理(シナリオ)データに、「その条件には対応しておりません」などのデフォルトの応答を用意しておくものとした。この応答は、処理(シナリオ)データに規定されている内容以外の回答がなされた場合に行われる。こうしておくことにより、利用者は、自己の指定した条件が認識されない場合、音声認識の不良が原因ではなく、指定した条件自体が不適切である点に原因があることを容易に知ることができる。従って、再度、同じ条件を発声するという無駄な操作を回避することができ、円滑に条件入力を完了させることができる。
本実施例においては、検索結果は、「近い順」に提示されるものとしたが、このようなソート条件は、検索が完了した後、検索条件とは別に指定可能としてもよい。かかる態様では、現在地点から○○m以内など、距離に関する条件は検索条件から削除し、検索条件とソート条件との重複を回避することが好ましい。こうすることにより、検索条件による検索と、ソート条件によるソートを用いた2段階での評価を効率的に行うことができ、所望の目的地を比較的容易に見つけることが可能となる。ソート条件としては、利用者の重要度が比較的低い条件や、許容度が比較的緩やかな条件を用いることが好ましい。かかる条件としては、上述の「近い順」という条件や、「値段の安い順」という条件などが挙げられる。
A8.評価結果入力処理 図12は評価結果入力処理のフローチャートである。ナビゲーション装置100のCPUが実行する処理である。本処理は、利用者から評価結果入力の要求があった場合に起動する。また、現在地取得手段110によって、ナビゲーション装置100が案内した店舗から利用者が移動したことを検出した時点で自動的に起動するようにしてもよい。
この処理が開始されると、ナビゲーション装置100は、ログDB500を読み込み(ステップS300)、処理対象となっている店舗の検索条件を点検する。そして、この中に未入力の項目がある場合には(ステップS301)、検索項目に該当する質問を出力する(ステップS302)。そして、この質問に対して利用者が入力した回答を音声認識し(ステップS303)、処理の終了指示でなければ(ステップS304)、回答に応じて検索項目を入力し、ログDB500に保存する(ステップS305)。例えば、先に図6で示した通り、検索項目「目的」が未入力となっている場合には、「誰と行ったの?」という質問を発する。利用者が、これに対し、「家族と」というような回答をすれば、ナビゲーション装置100は、「目的」の項目に「ファミリー」と入力することになる。
ナビゲーション装置100は、上述の処理を、未入力の検索項目が無くなるか(ステップS301)、利用者が処理の終了を指示する間で(ステップS304)、繰り返し実行する。もっとも、検索項目は必ずしも全てを入力する必要はないため、未入力の検索項目のうち一定数または一定割合の項目の入力が完了した時点で、未入力の検索項目が残っているか否かに関わらず処理を終了するようにしてもよい。
A9.飲食店検索処理 図13は飲食店検索時におけるログDB500の活用方法を示す説明図である。目的地特定処理(図9)の過程で、グルメ処理エージェント240aが飲食店の検索を行う際の処理、即ち図10のステップS240以降の処理(以下、「飲食店検索処理」と呼ぶ)での活用方法に相当する。
ワード変換テーブル127b、グルメ処理(シナリオ)データ240において、飲食店検索処理に用いられる情報を例示した。ワード変換テーブル127bには、規定ワード「先日」、「付近」、「似たお店」などに対して、「この前」など、それぞれ図示するキーワードが登録されている。グルメ処理(シナリオ)データ240には、「どんなお店がいい?」などの質問に対し、上述の規定ワードが回答群として登録されている。グルメ処理エージェント240aは、グルメ処理(シナリオ)データ240に従って、質問を発し、それに対する回答に応じて、分岐先に規定された次の質問を発するという処理を繰り返す。この過程で、「先日」、「付近」という回答がなされた場合には、ログDB500を検索して、最近訪れた店舗や現在位置に近い店舗の情報を、利用者に適宜、表示する。
図14は飲食店検索処理のフローチャートである。グルメ処理エージェント240aが、図13で示したワード変換テーブル127b、グルメ処理(シナリオ)データ240に沿って、ログDB500を有効活用しながら、飲食店検索を実行する処理である。
処理が開始されると、グルメ処理エージェント240aは、グルメ処理(シナリオ)データ240の#51の質問「どんなお店がいい?」を発し(ステップS400)、利用者の回答を音声認識する(ステップS401)。例えば、ユーザが「この前、行ったお店がいいなあ」と回答すれば、ワード変換テーブル127bの規定ワード「先日」が回答されたものとして扱われる。「この辺にいいお店がなかったかなあ」と回答すれば、規定ワード「付近」が回答されたものとして扱われる。図の例では、「先日」と「付近」を回答群として例示したが、図4に示した「フレンチ/イタリアン・・・」など飲食店のメニューを特定するための回答を回答群に含めても良い。
「先日」が回答された場合は(ステップS402)、グルメ処理エージェント240aは、検索日をキーとしてログDB500を検索し、訪れた日が近い順に5つデータを抽出する(ステップS403)。「付近」が回答された場合には(ステップS402)、グルメ処理エージェント240aは、現在地取得手段110(図1参照)を用いて、現在位置を取得し(ステップS404)、ログDB500から、現在位置に近い順に5つデータを抽出する(ステップS405)。ステップS403、S405において、抽出するデータ数は5つに限らず任意に設定可能である。
こうしてログDB500からのデータ抽出が完了すると、グルメ処理エージェント240aは、その結果を表示して、分岐先#61の質問「このお店?」を発し(ステップS406)、利用者の回答を音声認識する(ステップS407)。ログDB500から複数のデータを抽出している場合、本実施例では、これらのデータを一定時間おきに順次表示しながら、「このお店?」という質問を発する方法を採った。他の方法として、複数のデータを番号その他のインデックスとともに、一覧表示し、利用者にはインデックスで店舗を指定させるようにしてもよい。
ユーザが「このお店」と回答すれば、目的地が決定するため(ステップS408)、飲食店検索処理を終了する。上述のインデックス等で店舗を指定した上で、「このお店」と回答した場合も同様である。
一方、「似たお店」と回答すれば(ステップS408)、表示された検索条件を流用して、別の店舗を検索することになる。先に、ステップS402で、「先日」や「付近」以外の回答をした場合も同様である。店舗の検索時には、ナビゲーション装置100は、目的地特定処理(図9〜11)と同様の会話を通じて、検索条件を入力する(ステップS409)。ログDB500から店舗のデータが抽出されている時は、検索条件の全てを新規に指定する必要はなく、利用者は、そのデータに登録された検索条件の変更指示を行えばよい。例えば、「この条件で検索する?」という質問に対し、「今度は家族じゃなくてデートなんだ」と回答することにより、検索項目の「目的」を「ファミリー」から「デート」に変更することができる。こうした変更指示も、グルメ処理(シナリオ)データ240およびワード変換テーブル127bの設定によって実現することができる。
グルメ処理エージェント240aは、指定された検索条件で店舗の検索を行って(ステップS410)、目的地が決定するまで、ステップS406以降の処理を繰り返し実行する。以上の説明では、グルメ処理エージェント240aによる処理例を例示したが、ログDB500の活用は、他のエージェントでも同様に可能である。
以上で説明した本実施例においては、キャラクタの動きは極めて人間的となり、音声解析結果のオウム返しを回避することができる。また、エージェントの選択をトリガとして、キャラクタの服装が変化するため、利用者は複数の処理(シナリオ)のうち、自己の意図した処理が実行されていることを容易に認識することができる。こうした作用の少なくとも一部による効果として、本実施例によれば、利用者は、音声による情報入力を円滑に行うことができる。
B.変形例B1.変形例1 上記実施例(特に、図1)において、ナビゲーションシステムの全ての構成要素、すなわち、ナビゲーション装置100、処理(シナリオ)DB200、キャラクタ容姿DB300、地図DB400を車両に搭載するようにしたが、これに限らず、頻繁に更新処理がなされる処理(シナリオ)DB200、キャラクタ容姿DB300、地図DB400を車両から切り離し、車両外に設置する構成とすることも可能である。すなわち、図1に示すナビゲーションシステムについて、処理(シナリオ)DB200、キャラクタ容姿DB300、地図DB400に格納されたデータを車両外のサーバ装置等から無線通信により、提供するのである。こうすることにより、各利用者が、処理(シナリオ)DB200、キャラクタ容姿DB300、地図DB400のデータを個別に管理する必要がなくなるとともに、常に最新のデータを利用可能となるメリットがある。
B2.変形例2 変形例1に加え、更に、目的地特定手段120、経路探索手段130、経路誘導手段140の少なくとも一部を車両から切り離し、車両外に設置する構成とすることも可能である。すなわち、図1に示すナビゲーションシステムについて、目的地特定手段120、経路探索手段130、経路誘導手段140の少なくとも一部を車両外のサーバ装置等に用意し、ナビゲーション装置100に対して、無線通信により、ナビゲーションサービスを提供するのである。こうすることにより、各ナビゲーション装置の処理能力が低くても本発明を実現することができるとともに、常に最新の状態に機能アップされた目的地特定手段120、経路探索手段130、経路誘導手段140を利用することができるメリットがある。
B3.変形例3 キャラクタの容姿を表すためのデータは、実施例で例示した顔データ、手データ、足データからなる構成よりも、さらに細分化してもよい。たとえば、顔データを、目データ、鼻データ、口データ、耳データ、輪郭データ、髪型データなど、自然人の顔を構成する要素をそれぞれ部品に細分化して用意するのである。これにより、さらに、キャラクタの表情・動作を多様に変化させることができる。
B4.変形例4 上記実施例(特に、図5)において、キャラクタ容姿DB300によって用意されるデータは、全て自然人をモデルとしたものであったが、これに限らず、意志疎通を図るモデルとして利用者に好適なものであれば、動物、植物、その他有名なキャラクタであっても構わない。
B5.変形例5 上記実施例(特に、図9)の目的地特定処理(シナリオ)において、キャラクタは、最初から店舗を案内する目的で、「どのお店にしますか?」と質問しているが、お店以外、たとえば、勤務する会社、通学する学校、その他駅などの具体的な施設であることも想定し、「どこに行きますか?」と質問するよう構成してもよい。この場合、想定される回答群としても、「会社」、「学校」、「○○」・・・などの回答群を用意しておくことが好ましい。このような構成にすることにより、利用者の多様な要求に応えることができる。
B6.変形例6 上記実施例(特に、図11)のラーメン店検索処理(シナリオ)において、利用者がラーメン店の選択を「おかませ」とした場合、キャラクタは、車両の現在地近辺のラーメン店を現在地に近い順に推奨する構成としたが、これに限らず、特定の広告料が支払われたラーメン店を優先して推奨してもよい。推奨の基準は、広告料のみに限らず、商品の割引率、駐車場の有無など、多数の利用者が好むものを採用することができる。このような構成であれば、利用者に対し、適切な店舗を案内できるメリットがある。
B7.変形例7 変形例3において、キャラクタが行う案内は、店舗の推奨に限らず、店舗の忌避であってもよい。忌避の基準は、渋滞が予想経路や地域のほか、店舗自体の込み具合など、多数の利用者が嫌がるものを採用することができる。このような構成であれば、利用者に対し、不適切な店舗を案内せずにすむメリットがある。
B8.変形例8 特定の店舗の推奨および忌避の基準は、多数の利用者の好みに限らず、車両の利用者個人の好みであってもよい。この場合、利用者個人の好みは、実際に店舗に行った後に感想を質問し、その回答内容に応じてポイントを関連づけておき、この関連づけられたポイントを基準として推奨や忌避を行う構成を採用することができる。このような構成であれば、利用者個人に応じた店舗を案内することができる。
B9.変形例9 上記実施例(特に、図9〜7)において、キャラクタが発する質問は、「〜しますか?」のように丁寧な言葉であったが、これに限らず、「〜する?」のように親しい間柄で用いられる言葉(俗に言う、ため口)としてもよい。これらの言葉は、同伴者の有無によって使い分けることが効果的であり、たとえば、ナビゲーション処理の開始時や、処理中に適宜問い合わせる構成を採ることができる。このような構成であれば、利用者との会話が、より自然なものとなるし、同伴者に不愉快を与えることもない。
B10.変形例10 上記実施例において、会話の主導権をどちらが握るかの確認は、ラーメン店検索処理(シナリオ)におけるステップS252で行うよう構成したが、これに限らず、ナビゲーション処理の開始時や、処理中に適宜問い合わせる構成を採ることができる。また、会話の主導権の確認は、どちらか一方といったような両極端のものだけでなく、その中間的なものを組み込む構成を採ることもできる。たとえば、食事をとれるお店を決める場面でも、そのようなお店が近づいた場合に知らせるのみの利用者主導と、食事をとるお店がラーメン店であり、しかも二番目に近いお店であることまでを決めるキャラクタ主導(いわゆる、おかませモード)の両極端があった場合に、その中間として、食事をとるお店としてラーメン店が相応しいことを決めるまでのものを組み込むのである。このような構成であれば、キャラクタとの会話に過不足が発生することなく、利用者の要求を満たすような会話を成立させることができる。
B11.変形例11 上記実施例(特に、図9〜7)において、キャラクタ表示制御部による容姿の変更(決定)は、実行中の処理(シナリオ)または実行予定の処理(シナリオ)などといったような、単一の処理(シナリオ)に基づく処理判定手段の判定結果に応じて行う構成としたが、これに限らず、実行中と実行予定の処理(シナリオ)の両者を加味し、複数の処理(シナリオ)に基づく処理判定手段の判定結果に応じて行う構成を採ることもできる。たとえば、グルメ処理(シナリオ)を実行中であって、主導権がキャラクタにあることが確認され、さらにラーメン店検索処理(シナリオ)を実行予定といった場面においては、キャラクタは、自信満々の表情を継続させ、反対に、グルメ処理(シナリオ)を実行中であって、主導権が利用者にあることが確認され、さらにラーメン店検索処理(シナリオ)を実行予定といった場面においては、キャラクタは、普通の表情を継続させるなどである。このような構成であれば、利用者との会話を、より自然なものとすることができる。
B12.変形例12 上記実施例において、ナビゲーションシステムは、車両用に特化して説明したが、これに限らず、歩行者用とすることも可能である。この場合、経路探索手段130、経路誘導手段140、処理(シナリオ)DB200、キャラクタ容姿DB300、地図DB400を車両外の一箇所に集約し、集約したシステムをサーバ装置として構成し、ナビゲーション装置100に対して、無線通信により、ナビゲーションサービスを提供する変形例2の方式が好適である。このような構成であれば、歩行者が持ち運ぶナビゲーション装置100を小型、軽量でき、歩行者が持ち運び易いメリットがあるからである。
B13.変形例13 上記実施例において、本発明に係る情報処理装置は、ナビゲーションシステムとして実現された態様で説明したが、これに限らず、利用者の要求を確認しつつ目的としている情報処理を確実に逐行することが必要な装置、たとえば、地図表示装置などにも適用可能である。
図15は地図表示装置に適用した場合の表示画面例を示す説明図である。この例では、地図表示装置の表示画面DSPbにおいて、地図の左側に、情報授受用のウィンドウWb1〜Wb4をまとめて表示する構成とした。ウィンドウWb1はキャラクタからの質問を表示し、ウィンドウWb2はその回答例を表示する。ウィンドウWb3は従前に指定された条件を表示し、ウィンドウWb4はキャラクタの画像を表示する。このように地図の表示部と、情報授受のための表示部とを並列的に配置することにより、従来の地図表示
装置に対して比較的容易に、情報授受用のウィンドウWb1〜Wb4を付加することが可能となる。
B14.変形例14 本実施例は、ナビゲーションシステムとしての構成例を説明した。本発明は、複数種類のデータベースを使い分けて検索処理を行う種々のシステムに適用可能である。例えば、いわゆるオンラインショッピングにおいて、商品のジャンルに応じて商品カタログを使い分けて、所望の商品を検索するシステムとして構成してもよい。
B15.変形例15 図16は変形例15における画面表示例を示す説明図である。図の左側に、表示画面DISPcの一部を示した。この例では、先に図15で示した表示画面と同様のウィンドウWb1〜Wb4に加え、キャラクタの属性を示すウィンドウWc5を設けた。この属性は、ナビゲーション装置100が理解可能な言語の範囲を表している。図中の例では、ウィンドウSc5に「大人/関西」と表示されており、この表示は、関西にいる成人が用いる言語を理解可能であることを意味する。
図の右側に、変形例における目的地特定手段120a、およびワード変換テーブル127b1の構成を示した。ワード変換部127aその他の機能ブロックについては、実施例と同様である。変形例では、図示する通り、ワード変換テーブル127b1において、「モード」欄が設けられており、動作モードに応じて、登録されたデータの有効/無効が切換可能となっている。図の例では、「油揚げ入りそば」という規定ワードに対して登録された各種キーワードのうち、「油揚げ入りそば」、「揚げ入りそば」は全モードに関わらず有効となる。「きつね」、「きつねそば」は関西以外のモードが選択されている時に有効となる。「たぬき」は関西モードで有効となる。
図16の例では、「関西」モードが設定されているから、利用者が「たぬき」と回答すれば、「油揚げ入りそば」という規定ワードを意味するものと理解されることになる。一方、「きつね」または「きつねそば」と回答しても、このようには理解されないことになる。従って、関西モードにおいては、例えば、「きつね」というキーワードは、混乱無く「油揚げ入りうどん」を意味する用語としてワード変換テーブル127b1に登録することが可能となる。
このように、ナビゲーション装置100の音声認識についての動作モードを可変とし、その動作モードをウィンドウWc5に表示することにより、利用者は、より普段なじみの深い用語を用いることが可能となり、自然な会話が可能となる。動作モードは、「関西」などの地域による指定に限らず、「大人/子供」、「男性/女性」、「日本語/英語」など種々の態様での指定が可能である。
本発明は、更に、検索処理に限らず、複数種類のエージェントを使い分けて、種々のサービスを提供するシステムとして構成してもよい。例えば、複数種類の家電製品をネットワークで接続し、各家電製品に対応したエージェントを使い分けてその制御を実現する家電製品ネットワークシステムに適用することもできる。
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。
100・・・ナビゲーション装置110・・・現在地取得手段120,120a・・・目的地特定手段122・・・エージェント制御部124・・・キャラクタ表示制御部126・・・データ取得手段127a…ワード変換部127b,127b1…ワード変換テーブル128a…コード生成部128b…コード変換テーブル130・・・経路探索手段140・・・経路誘導手段150・・・入力手段151…マイク152・・・音声認識部160・・・出力手段162・・・映像/音声出力部163…スピーカ164…ディスプレイ200・・・処理(シナリオ)DB220・・・目的地特定処理(シナリオ)データ240・・・グルメ処理(シナリオ)データ240a…グルメ処理エージェント242・・・ラーメン店検索処理(シナリオ)データ244・・・中華店検索処理(シナリオ)データ246・・・洋食店検索処理(シナリオ)データ248・・・和食店検索処理(シナリオ)データ250・・・イタリアン店検索処理(シナリオ)データ260・・・レジャー処理(シナリオ)データ260a…レジャー処理エージェント280・・・ホテル処理(シナリオ)データ280a…ホテル処理エージェント290・・・温泉処理(シナリオ)データ290a…温泉処理エージェント300・・・キャラクタ容姿DB
400・・・地図DB
500・・・ログDB