ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)ナビゲーション装置の構成:
(2)新規登録処理:
(3)経路探索処理:
(4)他の実施形態:
(1)ナビゲーション装置の構成:
図1は、本発明の一実施形態である携帯端末10の構成を示すブロック図である。携帯端末10は、CPU、RAM、ROM等を備える制御部20を備えており、制御部20は、当該ROMや記録媒体30に記録された所望のプログラムを実行することができる。本実施形態においては、このプログラムの一つとしてナビゲーションプログラム21を実行可能である。当該ナビゲーションプログラム21は、表示部に現在地と現在地周辺の地図を表示する機能と目的地までの経路を探索して案内する機能を制御部20に実現させることができる。すなわち、携帯端末10においてナビゲーションプログラム21が実行されることにより、携帯端末10がナビゲーション装置として機能する。
なお、本実施形態においては経路を構成する道路区間毎にコストが定義されており、経路におけるコストを最小化する手法によって経路探索が実現される。このような経路探索においては、コストの算出法や演算に寄与する重みを変更するなどによって探索条件を変更することが可能であり、探索条件として複数の条件を設定可能である。具体的には、デフォルトのコストで探索を行う推奨経路探索や、経路の距離を短くすることを重視した距離優先、有料道路を優先的に使用することを重視した有料優先、有料ではない一般道路を優先的に使用することを重視した一般優先、これらの経路と別のルートを探索するための条件となる別ルート等が探索条件として設定可能である。
さらに、ナビゲーションプログラム21は、ナビゲーション機能に付随する機能として、目的地の入力を支援する機能と発話によって入力されたコマンドを認識する音声認識機能とを制御部20に実現させることができる。本実施形態にかかる携帯端末10は、GPS受信部41とユーザI/F部42と通信部43とを備えている。GPS受信部41は、GPS衛星からの電波を受信し、図示しないインタフェースを介して携帯端末10の現在地を算出するための信号を出力する。制御部20は、当該GPS受信部41の出力信号に基づいて携帯端末10の現在地を取得する。
ユーザI/F部42は、利用者の指示を入力し、また利用者に各種の情報を提供するためのインタフェース部であり、図示しないタッチパネルディスプレイからなる入力部を兼ねた表示部やスピーカー等の出力音の出力部、マイクからなる音声入力部を備えている。ユーザI/F部42は制御信号を制御部20から受信し、各種案内を行うための画像をタッチパネルディスプレイに表示し、各種案内を行うための出力音をスピーカーから出力する。また、ユーザI/F部42は、タッチパネルを介した入力内容を示す信号やマイクを介して入力された音声を示す信号を制御部20に送信し、制御部20は当該信号に基づいて利用者の入力内容を特定する。
通信部43は、携帯端末10の外部に存在する各種の装置と無線によって通信を行うための回路を備えている。本実施形態において、携帯端末10は、音声認識を行うサーバと無線通信を行うことが可能であり、当該サーバにおいては、携帯端末10から送信された音声データを解析して音声データの元になった発話の内容を示す文字列を返信する機能を備えている。制御部20は、通信部43を介して音声データの送信と文字列を示すデータの受信を行うことが可能である。
記録媒体30には地図情報30aが予め記録されている。地図情報30aは、道路区間の端点に対応するノードの位置等を示すノードデータ、ノード間の道路の形状を特定するための形状補間点の位置等を示す形状補間点データ、ノード同士の連結を示すリンクデータ、店舗や公共施設等の位置および名称を示す施設データ、携帯端末10の利用者の自宅の位置を示すデータ、位置毎の住所を示す住所データ等を含んでいる。なお、本実施形態において、各データには各データが示す地物の属性を示す属性情報が対応づけられている。例えば、リンクデータにはリンクデータが示す道路区間の属性(有料道路、一般道路など)が対応付けられており、施設データには複数の属性が対応づけられており、地物が施設であることを示す属性や施設の種類を示す属性(店舗、公共施設、飲食店、イタリア料理店など)等が対応づけられている。
誤認識発生判定情報30bは、新規登録対象の音声コマンドと既存の音声コマンドとの誤認識が発生し得るか否かを判定するために参照される情報である。本実施形態においては、誤認識が発生しやすい読みや音を予め特定し、これらを示す情報を誤認識発生判定情報30bとして予め定義してある。本実施形態においては、同音異義語が存在する文字列や音が類似する文字列を誤認識が発生しやすい読みや音として予め特定してある。例えば、人名Aと製造メーカ名Aに含まれる「A」は同音異義語であるため、Aを示す文字列が予め特定されて誤認識発生判定情報30bに登録される。また、母音と子音の構成が一部異なる文字列であるカキとカイなど、類似している文字列も予め特定されて誤認識発生判定情報30bに登録される。
目的地情報30cは、携帯端末10の運用過程において利用者が登録する情報であり、目的地を選択肢として表示するための情報が含まれている。本実施形態においては、目的地毎に目的地の座標、属性、名称、目的地への経路探索条件、音声コマンドおよび音声コマンドで特定されるプログラムへの命令を規定した情報である。なお、ここで、音声コマンドは音声コマンドを発話する際の音声を示す文字列でありテキスト形式で記述される。また、音声コマンドで特定されるプログラムへの命令はナビゲーションプログラム21に対して受け渡すパラメータ(検索条件等)を含む命令であり、本実施形態においてはURL形式で記述される。また、後述するように、既存の音声コマンドと新規登録対象の音声コマンドとの誤認識が発生し得る場合、目的地情報30cに追加音声コマンドが追加され得る。
本実施形態におけるナビゲーションプログラム21は、目的地の入力を支援する機能と発話によって入力されたコマンドを認識する音声認識機能とを制御部20に実現させるため、新規登録受付部21aと誤認識発生判定部21bと追加音声コマンド登録部21cと表示対象決定部21dと選択肢表示部21eと音声コマンド認識部21fとを備えている。
新規登録受付部21aは、記録媒体30に対する音声コマンドの新規登録を受け付ける機能を制御部20に実現させるためのプログラムモジュールであり、音声コマンドの入力態様は種々の入力態様を採用可能であるが、本実施形態において制御部20は、経路探索対象となる目的地から音声コマンドを生成し、記録媒体30に対して当該音声コマンドを含む目的地情報30cを追加することによって音声コマンドを新規登録する。
すなわち、ユーザI/F部42の表示部にスクロール可能な地図を表示させた状態において、ユーザI/F部42は、利用者が地図をスクロールさせる操作を受け付ける。これと同時に、ユーザI/F部42は、地図上での位置の指定を受け付ける。そして、ユーザI/F部42は、指定された内容を示す情報を制御部20に対して出力する。制御部20は、新規登録受付部21aの処理によって、利用者による地図のスクロールと、地図上での位置の指定とを受け付け、目的地の座標を特定する。さらに、制御部20は、利用者の指定を受け付け、または、自動で、当該目的地の名称を特定する。すなわち、ユーザI/F部42を介して利用者が目的地の名称(例えば、人名等)を指定した場合、制御部20は、指定された名称を目的地の名称とする。また、このとき、制御部20は、ユーザI/F部42を介して利用者が指定する目的地の属性(例えば、人)を受け付け、目的地に対応づける。一方、ユーザI/F部42を介して自動で名称を決定することを指定した場合、制御部20は、地図情報30aを参照し、目的地の座標で指定される位置に存在する施設を特定し、当該施設の施設データに対応づけられた名称を目的地の名称とする。この場合、制御部20は、地図情報30aの施設データに対応づけられた属性を取得し、目的地に対応づける。
さらに、制御部20は、同一の目的地に対して複数の経路探索条件を対応づける。本実施形態においては、デフォルトで目的地情報30cに登録される経路探索条件と、表示対象決定部21dでの処理結果に応じて目的地情報30cに登録される経路探索条件とが存在する。一例としては、前者が推奨経路の探索、距離優先の探索、別ルートの探索であり、後者が有料優先の探索、一般優先の探索である例が挙げられる。ここでは、この例について説明する。
さらに、制御部20は、目的地の名称と属性と経路探索条件に基づいて音声コマンドの読みを示す文字列を生成する。ここで、当該文字列は目的地の名称と属性と経路探索条件とに応じて変化する部分と規定の部分とによって構成され、変化する部分を目的地の名称と属性と経路探索条件とによって適宜変化させた複数個の文字列が生成される。例えば、制御部20は、名称が人名Aである場合「A」の読みを示す文字列を取得し、属性が人である場合、「さんの家」の読みを示す文字列を取得し、経路探索条件が「推奨経路の探索」である場合、「推奨経路」の読みを示す文字列を取得する。そして、制御部20は、これらの文字列に、規定の部分である「に」「で行きたい」を加えた「Aさんの家に推奨経路で行きたい」という文字列を生成して音声コマンドの読みを示す文字列とする。さらに、制御部20は、各文字列で指定される経路探索条件によって目的地への経路を探索するためにプログラムに与えるべき命令をURL形式で生成する。制御部20は、以上のようにして取得された目的地の座標、属性、名称、経路探索条件、音声コマンドを目的地情報30cとして記録媒体30に記録することにより、音声コマンドの新規登録を行う。
誤認識発生判定部21bは、新規登録対象の音声コマンドと既存の音声コマンドとの誤認識が発生し得るか否かを判定する機能を制御部20に実現させるためのプログラムモジュールである。すなわち、音声コマンドの読みが類似している場合や異なる読みであっても音が類似している場合などにおいては、音声コマンドの誤認識が発生しやすい。そこで、制御部20は、新規登録対象の音声コマンドと、誤認識発生判定情報30bとを比較することによって、当該新規登録対象の音声コマンドと、既存の音声コマンドとで誤認識が発生し得るか否かを判定する。
すなわち、誤認識発生判定情報30bには、誤認識が発生しやすい読みや音が登録されているため、新規登録対象の音声コマンドの文字列に含まれる目的地の名称が誤認識発生判定情報30bに規定された読みや音と同一あるいは類似している場合、既存の音声コマンドとの誤認識が発生し得ると判定することができる。この構成により、新規登録対象の音声コマンドと既存の音声コマンドとを直接比較することなく、新規登録対象の音声コマンドと既存の音声コマンドとの誤認識が発生し得るか否かを判定することができる。
追加音声コマンド登録部21cは、誤認識発生判定部21bの処理によって誤認識が発生し得ると判定された場合において、新規登録対象の音声コマンドと既存の音声コマンドとを区別するための追加音声コマンドを記録媒体30に登録する機能を制御部20に実現させるプログラムモジュールである。
本実施形態において制御部20は、既存の音声コマンドには追加音声コマンドを追加せず、新規登録対象の音声コマンドに追加音声コマンドを追加して記録媒体30に登録する。すなわち、新規登録受付部21aの処理によって目的地情報30cに追加された情報に対して、追加音声コマンドの読みを示す文字列を追加する。この構成によれば、既存の音声コマンドに関するデータに修正や追記は必要ないため、既存の音声コマンドをバグ等によって削除したり、データを破損させたりすることを防止することができる。
追加音声コマンドは、既存の音声コマンドと新規登録対象の音声コマンドとを区別するためのコマンドであれば良く、本実施形態において、制御部20は、音声コマンドによって指定される指定対象の属性に応じて追加音声コマンドを決定する。すなわち、追加音声コマンドも発話によって入力されるため、追加音声コマンドが追加される新規登録対象の音声コマンドの内容が追加音声コマンドから想起されるような読みであることが好ましい。そして、本実施形態において、新規登録対象の音声コマンドによって指定される指定対象は目的地および目的地までの経路探索条件である。従って、利用者が追加音声コマンドを発話する場合、当該目的地を意識しながら発話するはずである。
そこで、本実施形態においては、新規登録対象の音声コマンドによって指定される目的地の属性に応じた追加音声コマンドを記録媒体30に登録する。この構成によれば、利用者が容易に想起可能なコマンドによって追加音声コマンドを定義することができる。具体的には、制御部20は、追加音声コマンド登録部21cの処理により、新規登録対象の音声コマンドが対応づけられた目的地情報30cを参照し、当該新規登録対象の音声コマンドによって指定される目的地の属性を特定する。そして、当該属性に応じて予め決められた決定手法によって追加音声コマンドを決定する。
本実施形態においては、属性自体で追加音声コマンドを規定する場合と、属性に関連する事項によって追加コマンドを規定する場合とがある。より具体的には、新規登録対象の音声コマンドによって指定される目的地の属性が施設である場合、制御部20は、目的地の属性を発話する際の音声で追加音声コマンドを規定する。すなわち、目的地自体を指す目的地の名称は音声コマンドの読みを示す文字列として登録済みであるため、目的地の属性を発話する際の音声を追加音声コマンドとする。例えば、制御部20は、目的地の属性である「店舗」の読みを示す文字列を取得し、当該文字列を追加音声コマンドとし、目的地情報30cに追加する。この構成によれば、指定対象である目的地自体ではないが指定対象を強く想起させ得る音声を追加音声コマンドとすることができる。
さらに、新規登録対象の音声コマンドによって指定される目的地の属性が人である場合、制御部20は、人に関する住所を発話する際の音声で追加音声コマンドを規定する。具体的には、制御部20は、目的地情報30cに基づいて目的地である人の座標を特定し、地図情報30aに基づいて当該座標の住所を特定する。そして、住所の少なくとも一部(例えば、X国Y県Z市、、、という住所の中の「Z市」を抽出し、その読みを示す文字列を取得する。そして、制御部20は、当該文字列を追加音声コマンドとして目的地情報30cに追加する。すなわち、人に関連する要素を想起しながら人を指定することは極めて容易であるため、人に関連する要素の一つである住所を発話する際の音声で追加音声コマンドを規定する。この構成によれば、指定対象である人を極めて容易に想起することが可能な音声を追加音声コマンドとすることができる。むろん、追加音声コマンドを音声コマンドに追加するためには、規定の文字列(例えば、「に」や「の」等)を加えても良い。さらに、
選択肢表示部21eは、表示すべき経路探索条件と当該経路探索条件によって経路探索が行われる目的地とを対応づけた選択肢をユーザI/F部42の表示部に表示する機能を制御部20に実現させるプログラムモジュールである。本実施形態においては、以上のようにして音声コマンドを含む目的地情報30cが記録媒体30に追加された状態において、利用者が目的地を設定するための処理を開始することが可能であり、当該処理が開始されると、制御部20は、目的地と経路探索条件とを選択するための選択肢を表示するための制御信号をユーザI/F部42の表示部に対して出力し、表示部に選択肢を表示させる。
図4A,4Bは、携帯端末10の表示部10aに表示された選択肢の例であり、これらの図においては、内部に音声コマンドを表示した矩形によって各選択肢が示されている。表示部に表示された選択肢は、当該選択肢が選択されることによって目的地および経路探索条件の指定を受け付けるように構成されていれば良く、入力手段としては種々の手段を想定可能である。本実施形態においては、ユーザI/F部42の表示部がタッチパネルであることを利用し、利用者が表示部に表示された選択肢に触れることによって出力される信号を制御部20が受け付けて、利用者が指示した選択肢を特定することが可能である。さらに、利用者がユーザI/F部42のマイクに対して音声コマンドを発話し、制御部20が音声コマンドを認識することにより、利用者が指示した選択肢を特定することが可能である。
なお、表示部に選択肢を表示させる際に、制御部20は、記録媒体30に目的地情報30cとして記録された、経路探索条件と目的地との組み合わせの全てを選択肢とする。そして、制御部20は、ユーザI/F部42に対して選択肢のアイコンを規定の順序(例えば、目的地の名称のアルファベット順)で表示するための制御信号を出力する。選択肢のアイコンは、ユーザI/F部42の表示部に規定の個数だけ表示されるような大きさで定義されているため、選択肢の数が規定の個数より多ければ選択肢の一部が表示され、選択肢の数が規定の個数より少なければ選択肢の全てが表示される。むろん、前者の場合、表示内容をスクロールさせることによって表示対象の選択肢を切り替え、選択肢の全てを表示し得る。
本実施形態においては、上述の様に5つの探索条件によって経路探索を行うことが可能であり、ユーザI/F部42の表示部に探索条件の全てを選択可能に表示すると、同一の目的地についての選択肢が多岐にわたり、選択肢の表示が極めて見づらくなってしまう。また、目的地の名称としての人名は同一の人名が存在し得るし、実社会では店舗名と人名とが同一あるいは類似であるような場合も多く、目的地の名称である人名と施設の名称とが同一あるいは類似である場合が多い。従って、目的地の選択肢は類似してしまうことが多い。さらに、施設を名称で目的地を特定する際に、同一系列の施設(例えば、支店名が異なる施設)が複数個存在すれば、類似した選択肢が複数個になり得る。このような類似は、目的地の選択肢を簡略化した場合(例えば、目的地の名称を選択肢として表示する場合)に特に多く発生する。いずれにしても、類似した目的地のいずれかを選択するための選択肢が多く表示されると、選択作業が繁雑になってしまう。
そこで、本実施形態においては、制御部20は、表示対象決定部21dの処理により、目的地と基準の位置との距離に応じて、目的地とともに表示すべき経路探索条件を決定する。すなわち、制御部20は、目的地と基準の位置との距離に応じて、経路探索に使用される頻度が多い経路探索条件を表示すべき経路探索条件とし、経路探索に使用される頻度が少ない経路探索条件を表示すべきではない経路探索条件とする。この結果、コマンドの選択肢を選択する作業が煩雑化することを防止することができる。
なお、本実施形態においては、有料優先の探索と一般優先の探索について表示すべきか否かが表示対象決定部21dによって決定される。具体的には、目的地と基準の位置との距離が遠い場合、距離が近い場合と比較して、有料道路を優先的に使用する経路を探索する経路探索条件(有料優先)が利用される頻度が相対的に多い。また、経路を決定する前に有料道路を利用した場合の時間や料金が知りたいと思う利用者は多い。一方、目的地と基準の位置との距離が近い場合、距離が遠い場合と比較して、有料ではない一般道路を優先的に使用する経路を探索する経路探索条件(一般優先)が利用される頻度が相対的に多い。また、経路を決定する前に有料の道路を利用した場合の時間や料金が知りたいと思う利用者は少ない。
そこで、本実施形態において制御部20は、目的地と基準の位置との距離が所定距離以上である場合、有料優先を表示すべき経路探索条件とし、一般優先は表示しないように構成する。さらに、制御部20は、目的地と基準の位置との距離が所定距離よりも小さい場合、一般優先を表示すべき経路探索条件とし、有料優先は表示しないように構成する。これらの構成によれば、利用頻度が高く、利用価値が高い経路探索条件を表示対象とすることができる。
なお、表示すべき経路探索条件の制御は種々の手法によって実現可能であるが、本実施形態においては、上述のように、目的地情報30cとして記録された、経路探索条件と目的地との組み合わせの全てが選択肢となる。そして、目的地情報30cとして経路探索条件が記録されていなければ、当該経路探索条件と目的地との組み合わせは選択肢とはならない。従って、本実施形態において、制御部20は、表示すべき経路探索条件と目的地との組み合わせを目的地情報30cとして記録媒体30に記録し、表示すべきでない経路探索条件と目的地との組み合わせを目的地情報30cとして記録媒体30に記録しないことによって、表示すべき経路探索条件を決定していることになる。すなわち、目的地と基準の位置との距離に応じて選択肢を限定して表示していることになる。
また、基準の位置は、目的地への経路探索条件を限定するために参照し得る位置であれば良く、本実施形態においては地図情報30aに自宅データとして記録された自宅の位置である。本実施形態において、目的地への経路は携帯端末10の現在地を起点として定義される。従って、基準の位置である自宅の位置は必ずしも経路探索の起点とはならないが、多くの利用者は自宅にほぼ毎日帰宅する生活の中で携帯端末10を使用するため、自宅の位置を基準にして表示すべき経路探索条件を決定すれば、多くの場合、経路探索に使用される頻度が多い経路探索条件を表示すべき経路探索条件とし、経路探索に使用される頻度が少ない経路探索条件を表示すべきではない経路探索条件とすることができる。
音声コマンド認識部21fは、音声コマンドを認識する機能を制御部20に実現させるプログラムモジュールであり、本実施形態においては、さらに、追加音声コマンドに基づいて新規登録対象の音声コマンドと既存の音声コマンドとを区別して認識する機能を制御部20に実現させる。すなわち、利用者は、選択肢に対応づけられた目的地への経路探索を選択肢に対応づけられた経路探索条件によって実行する指示を、音声コマンドを発話することによって携帯端末10に与えることが可能である。すなわち、利用者は、ユーザI/F部42のマイクに対して音声コマンド(あるいは追加音声コマンドと音声コマンドとの組み合わせ)を発話することによって指示を行う。発話が行われると、制御部20は、音声コマンド認識部21fの処理により、ユーザI/F部42のマイクから出力される信号に基づいて発話内容を示す音声データを生成する。そして、通信部43を介して外部のサーバに当該音声データを送信する。当該サーバは当該音声データを受信して当該音声データを解析することによって音声データの内容を認識し、発話内容を文字列化する。そして、サーバは当該文字列を示すデータを携帯端末10に対して返信する。制御部20は、音声コマンド認識部21fの処理により、通信部43を介して当該文字列を示すデータを受信することにより、発話内容を示す文字列を取得する。
制御部20は、当該発話内容を示す文字列と目的地情報30cに規定された音声コマンド(あるいは追加音声コマンドと音声コマンドとの組み合わせ)とが一致し、または、類似する場合には、当該音声コマンドが入力されたと判定する。そして、制御部20は、現在地から音声コマンドが示す目的地に到達するための経路を音声コマンドが示す経路探索条件で探索する。
本実施形態においては、複数の目的地についての目的地情報30cが登録可能であるとともに、目的地の名称が同一である、あるいは類似している状況が発生し得る。すなわち、既存の音声コマンドに類似している音声コマンドが新規登録対象となることがあり得る。この場合に、単に、既存の音声コマンドを維持した状態で、新規登録対象の音声コマンドを登録すると、類似した音声コマンドが併存し、音声認識における誤認識を誘発してしまう。しかし、本実施形態においては、新規登録対象の音声コマンドと既存の音声コマンドとの誤認識が発生し得る場合に両者を区別するための追加音声コマンドが目的地情報30cとして記録媒体30に登録される。
そこで、制御部20は、追加音声コマンドに基づいて新規登録対象の音声コマンドと既存の音声コマンドとを区別して認識する。具体的には、目的地の名称が同一である複数の目的地情報30cが存在する場合、先に登録された目的地情報30cに含まれる音声コマンドが既存の音声コマンドであり、後に登録された目的地情報30cに含まれる音声コマンドは新規登録対象の音声コマンドとして登録された音声コマンドである。このため、発話内容を示す文字列に含まれる目的地の名称が、2カ所の目的地についての目的地情報30cとして記録されている場合、制御部20は、後に登録された目的地情報30cに含まれる追加音声コマンドを抽出する。そして、発話内容を示す文字列に追加音声コマンドが含まれていなければ、既存の音声コマンドが入力されたと見なす。一方、制御部20は、発話内容を示す文字列に追加音声コマンドが含まれていれば、新規登録された音声コマンドが入力されたと見なす。このような構成によれば、新規登録対象の音声コマンドと既存の音声コマンドとが区別され、両者において誤認識が発生することを防止することができる。従って、音声認識の精度を低下させることなく類似する音声コマンドを併存させることが可能である。
さらに、本実施形態においては、選択肢を指定する音声コマンドを発話することによって選択肢を指定する構成であるため、長い音声コマンドよりも短く簡易な音声コマンドである方が好ましい。そして、選択肢が簡易であると、同一の目的地への経路を異なる経路探索条件で探索させるための選択肢が多数存在する本実施形態においては音声コマンド同士が類似することになり、音声コマンド同士を区別するのが煩雑になる。しかし、本発明にかかる入力支援システムにおいては目的地と基準の位置との距離によって選択肢が限定されるため、音声コマンド同士を容易に区別することが可能である。
例えば、本実施形態においては、デフォルトの経路探索条件が3個であり、目的地と基準の位置との距離によって表示すべきか否か決定される経路探索条件が1個であるため、各目的地について4個の経路探索条件が目的地情報30cに記録される。従って、図4A,4Bに示す表示部10aのように8個の選択肢を同時に表示する対応においては、同時に2カ所の目的地の経路探索条件の全てを一覧表示することができる。このように、本実施形態においては、同時に表示される経路探索条件を限定することができるため、限られた大きさの表示部に表示される選択肢の扱いが煩雑になる可能性を抑制することができる。
さらに、本実施形態においては、表示すべきでない経路探索条件と目的地との組み合わせは目的地情報30cとして記録媒体30に記録されない。従って、表示対象になっていない経路探索条件は、利用者の入力した発話内容を示す文字列と比較される対象にならない。このため、発話の音と比較すべきデータが少なくなるため、誤認識が発生する可能性を抑制することができる。
(2)新規登録処理:
次に、新規登録処理について詳細に説明する。図2は、新規登録処理のフローチャートである。本実施形態において、制御部20は、ナビゲーションプログラム21の実行に伴って新規登録処理を実行する。新規登録処理において、制御部20は、まず、新規登録受付部21aの処理により、新規登録指示があったか否かを判定する(ステップS100)。すなわち、制御部20は、ナビゲーションプログラム21の処理によって地図や現在地等を示す画像と各種の入力を受け付けるためのUIとをユーザI/F部42の表示部に表示する。さらに、この状態において、制御部20は、ユーザI/F部42からUIに対する操作が行われたことを示す信号が出力されたか否かを判定している。そして、当該UIに対する操作が地図上の一地点を目的地情報30cに新規登録する指示であった場合、制御部20は、新規登録指示があったと判定する。
ステップS100において、新規登録指示があったと判定された場合、制御部20は、新規登録受付部21aの処理により、デフォルトの経路探索条件で目的地までの経路を探索するための目的地情報30cを記録媒体30に登録する(ステップS105)。すなわち、制御部20は、ユーザI/F部42におけるUIの操作で指定された目的地の座標を取得する。また、UIによって目的地の属性および名称が入力された場合、制御部20は、当該属性および名称を目的地の属性および名称とする。UIによって属性および名称の自動登録が指定された場合、制御部20は、地図情報30aに基づいて目的地の座標に位置する施設を特定し、当該施設の属性および名称を特定する。
さらに、制御部20は、デフォルトの経路探索条件である推奨経路の探索、距離優先の探索、別ルートの探索を特定する。さらに、制御部20は、目的地の名称および属性と各経路探索条件との組み合わせによって、デフォルトの各経路探索条件で目的地までの経路を探索するための音声コマンド(文字列)を生成する。さらに、制御部20は、音声コマンドで特定されるプログラムへの命令を生成する。そして、制御部20は、目的地の座標、属性、名称、経路探索条件、音声コマンド、音声コマンドで特定されるプログラムへの命令を対応づけた目的地情報30cを記録媒体30に追加することによって新規の音声コマンドを登録する。以上の処理によれば、新規登録対象の目的地についての音声コマンドがデフォルトの経路探索条件について目的地情報30cとして定義済になる。従って、Aさんの家を新規登録するのであれば、ステップS105までの処理によって、図4Aにおける表示部10aに示された「Aさんの家に推奨経路で行きたい」「Aさんの家に距離優先で行きたい」「Aさんの家に別ルートで行きたい」という各音声コマンドは選択肢として表示可能な状態となる。
次に、制御部20は、誤認識発生判定情報30bの処理により、ステップS105において新規に登録した音声コマンドが示す目的地の名称が誤認識発生判定情報30bに規定された読みや音と同一あるいは類似の名称であるか否かを判定する(ステップS110)。ステップS110において、目的地の名称が誤認識発生判定情報30bに規定された読みや音と同一あるいは類似の名称であると判定されない場合(すなわち、誤認識が発生しない場合)、制御部20は、ステップS115をスキップする。一方、ステップS110において、目的地の名称が誤認識発生判定情報30bに規定された読みや音と同一あるいは類似の名称であると判定された場合(すなわち、誤認識が発生し得る場合)、制御部20は、追加音声コマンド登録部21cの処理により、新規登録対象の音声コマンドに追加音声コマンドを追加して登録する(ステップS115)。
すなわち、制御部20は、ステップS105において新規登録された目的地の属性に基づいて追加音声コマンドを生成し、目的地情報30cに既に記録されている音声コマンドに追加音声コマンドを追加記録する。従って、新規登録対象の目的地である人名「a」と既存の目的地である人名「A」とに誤認識が発生し得るのであれば、ステップS115までの処理によって、新規登録対象の目的地である人名「a」の目的地情報30cに住所を示す追加音声コマンドが追加される。そして、ステップS115までの処理が完了すると、追加音声コマンドが含まれる選択肢が表示可能な状態となる。例えば、図4Bに示す例であれば表示部10aに示された「Z市のaさんの家に推奨経路で行きたい」「Z市のaさんの家に距離優先で行きたい」「Z市のaさんの家に別ルートで行きたい」という各音声コマンド(Z市が追加された音声コマンド)が選択肢として表示可能な状態となる。
次に、制御部20は、表示対象決定部21dの処理により、目的地と基準の位置との距離が所定距離以上であるか否かを判定する(ステップS120)。すなわち、制御部20は、ステップS105で登録された目的地の座標と基準の位置である自宅との距離を取得し、当該距離が所定距離以上であるか否かを判定する。なお、当該距離は直線距離であっても良いし、経路上の走行距離であっても良い。
そして、ステップS120において、目的地と基準の位置との距離が所定距離以上であると判定された場合、制御部20は、表示対象決定部21dの処理により、新規登録受付部21aの処理を起動し、当該新規登録受付部21aの処理により、有料優先で目的地までの経路を探索する音声コマンドを追加登録する(ステップS125)。すなわち、制御部20は、ステップS105において登録された(あるいはステップS105およびS115において登録された)音声コマンドの中の経路探索条件を有料優先に変更した音声コマンドを生成し、目的地情報30cとして記録媒体30に記録する。この結果、経路探索条件がデフォルトの3個と有料優先とである目的地情報30cが記録媒体30に記録された状態になる。図4Aにおける目的地「A」「B」および図4Bにおける目的地「A」はステップS125が実行された場合に表示される選択肢の例である。
ステップS120において、目的地と基準の位置との距離が所定距離以上であると判定されない場合、制御部20は、表示対象決定部21dの処理により、新規登録受付部21aの処理を起動し、当該新規登録受付部21aの処理により、一般優先で目的地までの経路を探索する音声コマンドを追加登録する(ステップS130)。すなわち、制御部20は、ステップS105において登録された(あるいはステップS105およびS115において登録された)音声コマンドの中の経路探索条件を一般優先に変更した音声コマンドを生成し、目的地情報30cとして記録媒体30に記録する。この結果、経路探索条件がデフォルトの3個と一般優先とである目的地情報30cが記録媒体30に記録された状態になる。図4Bにおける目的地「a」はステップS130が実行された場合に表示される選択肢の例である。以上の処理の結果、記録媒体30には、既存の音声コマンドと区別可能な状態で新規登録対象の音声コマンドが登録される。
(3)経路探索処理:
次に、経路探索処理について詳細に説明する。図3は、経路探索処理のフローチャートである。本実施形態においては、少なくとも1カ所の目的地についての目的地情報30cが記録媒体30に記録された後に、利用者がユーザI/F部42によって経路探索処理の開始を指示し、当該指示に応じて制御部20が経路探索処理を実行する。経路探索処理において、制御部20は、選択肢表示部21eの処理により、まず、選択肢を表示部に表示する(ステップS200)。すなわち、制御部20は、記録媒体30に目的地情報30cとして記録された、経路探索条件と目的地との組み合わせの全てを選択肢とし、ユーザI/F部42に対して選択肢のアイコンを規定の順序(例えば、目的地の名称のアルファベット順)で表示するための制御信号を出力する。例えば、図4A,4Bにおいては、目的地の名称のアルファベット順に表示部10aに対して選択肢を表示した場合の例を示しており、図4Aはアルファベット順で目的地としての人名「A」の次に「B」が記録されている場合の表示例、図4Bはアルファベット順で目的地としての人名「A」の次に「a」が記録されている場合の表示例である。
本実施形態においては、表示すべき経路探索条件が目的地と基準の位置との距離によって決定され、図4A,4Bに示す目的地としての人名「A」「B」は、目的地と基準の位置との距離が所定距離以上であることにより、デフォルトの経路探索条件と有料優先とによる音声コマンドが選択肢として表示されている。図4Bに示す目的地としての人名「a」は、目的地と基準の位置との距離が所定距離より小さいことにより、デフォルトの経路探索条件と一般優先とによる音声コマンドが選択肢として表示されている。さらに、図4Bに示す目的地としての人名「a」は目的地としての人名「A」に類似しているため、追加音声コマンドである「Z市の」が追加されて表示されている。むろん、これらの例において、表示されている選択肢以外の目的地についての目的地情報30cが記録媒体30に記録されている場合、利用者はユーザI/F部42に対する操作で表示対象の選択肢を切り替えることができる。
次に、制御部20は、選択肢がタッチされたか否かを判定する(ステップS205)。すなわち、制御部20は、ユーザI/F部42からいずれかの選択肢がタッチされたことを示す出力信号が出力されたか否かを判定する。ステップS205において、選択肢がタッチされたと判定された場合、制御部20は、確認画面を表示部に表示する(ステップS240)。すなわち、制御部20は、タッチされた選択肢の音声コマンドおよび音声コマンドで特定されるプログラムへの命令を表示する確認画面を描画するための制御信号をユーザI/F部42の表示部に対して出力する。この結果、ユーザI/F部42の表示部に確認画面が表示される。図4Cは、当該確認画面の例を示しており、表示部10aにおいて、上部のボックスB1に音声コマンド(および追加音声コマンド)の内容が示され、ボックスB2にナビゲーションプログラム21の経路探索モジュールに対して与えるべき命令(の一部)が示されている。ボックスB2に示すように、本実施形態においては目的地までの経路を所定の経路探索条件で探索するためのコマンドをURL形式でナビゲーションプログラム21の経路探索モジュールに対して与えるように構成されている。
次に、制御部20は、戻るがタッチされたか否かを判定する(ステップS245)。すなわち、確認画面においては、例えば、図4Cに示すように確認画面より前の画面に戻るためのボタンB3が表示されており、制御部20は、ユーザI/F部42から当該ボタンB3がタッチされたことを示す出力信号が出力されたか否かを判定する。ステップS245において、戻るがタッチされたと判定された場合、制御部20は、ステップS200以降の処理を繰り返す。
一方、ステップS245において、戻るがタッチされたと判定されない場合、制御部20は、経路探索コマンドがタッチされたか否かを判定する(ステップS250)。すなわち、制御部20は、ユーザI/F部42から図4Cに示すボックスB1あるいはボックスB2がタッチされたことを示す出力信号が出力されたか否かを判定する。ステップS250において、経路探索コマンドがタッチされたと判定されない場合、制御部20は、ステップS245以降の処理を繰り返す。
一方、ステップS250において、経路探索コマンドがタッチされたと判定された場合、制御部20は、選択肢に対応づけられた経路探索条件で目的地への経路を探索する(ステップS255)。すなわち、制御部20は、URLで指示された目的地までの経路を所定の経路探索条件で探索するためのコマンドを、ナビゲーションプログラム21の経路探索モジュールに対して与えて経路を探索する。
一方、ステップS205において、選択肢がタッチされたと判定されない場合、制御部20は、音声コマンド認識部21fの処理により、利用者によって発話されたか否かを判定する(ステップS210)。すなわち、制御部20は、ユーザI/F部42のマイクによって取得された音声データがユーザI/F部42から出力されたか否かを判定する。ステップS210において、利用者によって発話されたと判定されない場合、制御部20は、ステップS200以降の処理を繰り返す。
一方、ステップS210において、利用者によって発話されたと判定された場合、制御部20は、音声コマンド認識部21fの処理により、通信部43を介して発話内容を示す音声データをサーバに対して送信する(ステップS215)。当該送信が行われるとサーバにおいて音声データを解析し、発話内容を示す文字列を送信するため、制御部20は、音声コマンド認識部21fの処理により、通信部43を介して発話内容を示す文字列を受信する(ステップS220)。
次に、制御部20は、音声コマンド認識部21fの処理により、発話内容を示す文字列と同一または類似するコマンドが存在するか否かを判定する(ステップS225)。すなわち、制御部20は、目的地情報30cを参照し、ステップS220にて受信された文字列と目的地情報30cに記録された文字列とを比較する。このとき、追加音声コマンドを含む目的地については追加音声コマンドと音声コマンドによって構成される文字列とステップS220にて受信された文字列とを比較する。追加音声コマンドを含まない目的地については音声コマンドによって構成される文字列とステップS220にて受信された文字列とを比較する。
そして、同一のコマンドが存在する場合、当該コマンドが指示されたと見なす。また、同一のコマンドが存在しない場合、類似と見なせるコマンドの中の最も類似するコマンドが指示されたと見なす。類似するコマンドがない場合には、発話内容を示す文字列と同一または類似するコマンドが存在するとは判定しない。なお、図4Bに示す「A」「a」のように、目的地としての人名が類似する場合であっても一方には追加音声コマンドが追加されている。従って、ステップS220にて受信した発話内容を示す文字列が「A」についてのコマンドと「a」についてのコマンドとの双方に類似することはなく、誤認識が発生することを防止することができる。
ステップS225において、文字列と同一または類似するコマンドが存在すると判定されない場合、制御部20は、ステップS200以降の処理を繰り返す。一方、ステップS225において、文字列と同一または類似するコマンドが存在すると判定された場合、制御部20は、ステップS220で受信した文字列と同一のコマンドまたは最も類似するコマンドが示す経路探索条件で目的地への経路を探索する(ステップS230)。すなわち、制御部20は、ステップS220で受信した文字列と同一のコマンドまたは最も類似するコマンドを、ナビゲーションプログラム21の経路探索モジュールに対して与えて経路を探索する。以上のようにして、ステップS230あるいはS255において経路が探索されると、制御部20は、当該経路を表示し、また、当該経路に沿った案内を行うなどして経路を利用する。
(4)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、目的地と基準の位置との距離に応じて表示すべき経路探索条件を決定する限りにおいて、他にも種々の実施形態を採用可能である。例えば、汎用的な携帯端末10ではなく専用端末によって本発明の実施形態を構成しても良い。さらに、本発明の適用対象はナビゲーション装置に限定されず、他の各種の音声認識システムに本発明を適用可能である。例えば、料理のレシピなど、各種の検索対象を検索するコマンドを音声によって入力するシステムに本発明を適用しても良い。
さらに、目的地の名称や経路探索条件を示す目的地情報30cは、携帯端末10において複数のアプリケーションによって利用される情報であっても良い。例えば、携帯端末10によって電話をかける相手の電話番号等を登録するための住所録情報に目的地情報30cと同様の内容を含めるように構成しても良い。むろん、この場合、ナビゲーションプログラム21が起動されていない状態で住所録のプログラムを起動し、住所録の画面で目的地としての人名が選択されたことによってナビゲーションプログラム21が起動される構成であっても良い。
さらに、音声認識はサーバでなく携帯端末10で行ってもよい。さらに、目的地と基準の位置との距離が比較されるべき所定距離は、複数個設定されていても良い。例えば、目的地と基準の位置との距離が第1の所定距離以上であれば有料優先を表示すべき対象とし、目的地と基準の位置との距離が第2の所定距離より小さい場合に一般優先を表示すべき対象とする構成等を採用可能である。
さらに、デフォルトで目的地情報30cに登録される経路探索条件が推奨経路の探索、距離優先の探索、別ルートの探索である構成は一例であり、他の条件がデフォルトであっても良いし、デフォルトの数がより少なくても良い。さらに、2個以上の経路探索条件を表示すべきか否かを目的地と基準の位置との距離に応じて決定しても良い。さらに、ステップS205において択肢がタッチされたと判定された場合、確認画面を表示せず、直接ステップS255を実行しても良い。
さらに、上述の実施形態においては、地図を介して音声コマンドによって指定される指定対象である目的地の指定を受け付け、当該指定対象に対して予め対応づけられている文字列を音声コマンドとしたが、他の手法で音声コマンドの指定を受け付けても良い。例えば、新規登録対象の音声コマンドを受け付ける際に、制御部20が、音声コマンドの読みを示す文字列や発話の入力を受け付けることによって音声コマンドの文字列を取得し、記録媒体30に新規登録する構成であっても良い。
さらに、誤認識が発生し得るか否かを判定する際には、既存の音声コマンド、新規登録対象の音声コマンドの少なくとも一方が当該データベース内の読みや音と一致する場合に誤認識が発生し得ると判定する構成であってもよく、当該誤認識が発生し得るか否かを既存の音声コマンドに基づいて(例えば、既存の音声コマンドと誤認識発生判定情報30bとを比較することにより)判定しても良いし、新規登録対象の音声コマンドと既存の音声コマンドとを比較することによって判定してもよい。
さらに、追加音声コマンドは、新規登録対象の音声コマンドと既存の音声コマンドとの少なくとも一方に追加されれば良く、既存の音声コマンドに追加音声コマンドを追加しても良い。また、新規登録対象の音声コマンドと既存の音声コマンドとの一方に追加音声コマンドを追加するのであれば、追加音声コマンドが追加されない音声コマンドと追加音声コマンドとが類似しないように追加音声コマンドが選択される。そして、追加音声コマンドを含む発話がなされた場合に、追加音声コマンドが追加された音声コマンドが入力されたことを認識する構成となる。新規登録対象の音声コマンドと既存の音声コマンドとの双方に追加音声コマンドを追加するのであれば、それぞれに追加される追加音声コマンドが互いに類似せず、かつ、追加音声コマンドが新規登録対象の音声コマンドと既存の音声コマンドとに類似しないようにコマンドが選択される。そして、発話された内容から追加音声コマンドを認識し、認識した追加音声コマンドが追加された音声コマンドが入力されたことを認識する構成となる。
さらに、目的地の属性が人である場合に人に関する住所を追加音声コマンドとする構成において、当該住所は、人の居住地であっても良いし、所属会社の所属地であってもよい。また、目的地の属性としての人は、指定対象の名称(人名)であってもよいし、役職であってもよい。
さらに、目的地と基準の位置との距離を比較する際に参照される当該基準の位置は、携帯端末10の利用者が経路探索の起点としてよく利用する位置であれば良く、勤務先の位置や現在地等であってもよい。
さらに、目的地と基準の位置との距離に応じて表示すべき経路探索条件を限定するための構成としては、種々の構成が採用可能である。例えば、制御部20が表示対象決定部21dの処理により、目的地に対して複数の経路探索条件を対応づけて記録媒体30に記録するとともに、表示すべき経路探索条件には表示対象であることを示すフラグを対応付けることによって、表示すべき経路探索条件を決定する構成としても良い。この場合、制御部20は、選択肢表示部21eの処理により、フラグが対応づけられた経路探索条件と目的地との組み合わせの全てを選択肢とし、選択肢の少なくとも一部を表示部に表示する構成とする。すなわち、表示すべき経路探索条件に表示対象であることを示すフラグを対応付け、表示すべきではない経路探索条件に表示対象であることを示すフラグを対応づけないことによって表示対象を制御する構成とする。この構成によれば、容易に表示対象を制御することができるとともに、表示すべきではない経路探索条件について、表示させるべき理由が生じた場合(例えば、利用者の特殊な嗜好に応じるためなど)当該経路探索条件を表示させることが可能になる。