説明

名称検索装置

【課題】カーナビの目的地検索機能において、検索結果のヒット件数と文字の次候補を表示する絞込み検索機能を実現する際に、ヒット件数・次候補文字データを持つインデクスを保持しておき、検索時に参照する事で高速化すると、検索条件のパターン数が膨大なため、インデクスサイズが大きくなる。
【解決手段】1件1件参照すると検索時間が長くなるようなヒット件数が多い絞込み検索結果についてのみ、予め絞込み検索結果であるヒット件数と次候補文字を算出したインデクスを格納しておき、絞込み検索を行う際は、ヒット件数が少なくインデクスに登録されていない場合は1件1件ヒット件数を数え、インデクスに登録されている場合には、その結果を使用することで絞込み検索結果を算出する。これによりインデクスのサイズを抑え、かつ絞込み検索を高速に行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地名や施設情報の名称検索装置に関するものであり、地図データが更新可能なナビゲーションシステムを初めとした技術分野において適用可能である。
【背景技術】
【0002】
ユーザの嗜好や目的に合わせた施設を検索する機能は、カーナビや通信端末などに提供されており、重要な機能となっている。カーナビの施設検索機能においては、ユーザが検索条件を入力して目的地となる施設の候補を絞り込む絞込み検索機能と、施設の候補を絞り込んだ後にこの絞り込んだ施設一覧を表示するという2つが主な機能となる。
【0003】
この内、絞込み検索機能では、ユーザが入力した検索条件から、施設のヒット件数と次候補となる文字を表示する。ユーザが入力する検索条件とは、キーボードで入力する施設の名称読みカナや、施設のある地域や施設の種類を示すカテゴリといった条件である。次候補文字とは、ユーザが入力した施設の名称文字の次に続く文字の候補一覧である。絞込み検索機能で、施設の名称読みカナをキーで入力する度に、入力文字から始まる施設のヒット件数と次候補文字を更新する。絞込み検索では、表示部の画面上にキーボードが表示され、最初は画面上のキーボードの全てのキーが白く表示され、全てのキーがユーザによる入力を受け付ける状態になる。そして文字が入力されて行くと、入力文字が追加されるごとに施設のヒット件数が更新され、次候補文字も最後の入力文字の次に続く次候補文字のキーのみが白く表示され、入力可能な状態となる。そして絞り込んだ施設一覧を表示する機能では、絞込み検索機能で絞り込んだ施設を一覧表示する場合に、施設の持つIDの順に表示する。
【0004】
この様な、絞込み検索機能を高速に実現するためにはヒット件数と次候補文字データを持つインデクスをナビのデータとして予め保持しておき、検索時に参照する方法がある。しかしながら、全ての検索条件に対するヒット件数と次候補文字データを持つと、検索条件のパターン数が膨大なため、インデクスサイズが大きくなるという問題があった。
【0005】
この問題に対応する手法として、特開2007−11438号公報に記載の技術では、インデクスに格納するヒット件数と次候補文字を、例えば1文字目までといった特定の文字数までのみに絞る事でインデクスサイズを削減している。またインデクスに格納されていないヒット件数と次候補文字を求める場合は、検索時にレコードを1件1件参照してヒット件数と次候補文字を算出している。
【0006】
また特開2008−191798号公報に記載の技術では、カーナビに施設名称等の目的地を入力する際に、次候補文字・ヒット件数を1件1件施設データを参照して算出し、その件数の割合によって次候補の文字の大きさ等の表示態様を変える技術が開示されている。
【0007】
さらに特開2003−316784号公報に記載の技術ではヒット件数に関するインデクスデータを持たず、検索時にレコードを1件1件参照してヒット件数と次候補文字を算出するが、ヒット件数が非常に多い場合はヒット件数の算出を打ち切ることで、正確なヒット件数の算出を犠牲にユーザの待ち時間を軽減している。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2007−11438号公報
【特許文献2】特開2008−191798号公報
【特許文献3】特開2003−316784号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特定の文字数までヒット件数と次候補文字を格納する特許文献1では、インデクスに格納されていない文字数まで絞り込んだ時に、まだヒット件数が多いと、施設データを数える時間および絞り込んだ施設一覧を表示する際のソートにかかる時間が長くなってしまう問題がある。
【0010】
また特許文献2においては、ヒット件数が多い場合の対策は行っていないため、ヒット件数が多い場合は検索時間が長くなる問題がある。
【0011】
さらに特許文献3においては、ヒット件数が特定の数以上になったときには数え上げをしないことで検索時間の表示を早くしているが、従来のカーナビが提供している正確なヒット件数が出ないという問題がある。
【0012】
そこで本発明ではインデクスサイズを抑えつつ、絞込み検索の高速化を可能にする検索方式を提供する。
【課題を解決するための手段】
【0013】
上記の課題を解決するために、本発明による名称検索装置は、名称データと名称データの検索部及び入力部に加え、絞込み検索結果を記録した絞込みインデクス,検索データ切替え部を備え、絞込み検索の検索時間の大小によって、予め絞込み検索結果を持つインデクスを参照する処理と、名称データを逐次参照して絞込み検索結果を算出する処理とを切り替える。
【発明の効果】
【0014】
施設のヒット件数算出時間が一定値以上になる検索条件のみに対してヒット件数と次候補文字のデータを備えることにより、絞込み検索の検索時間が一定値を超える検索条件のみ格納することにより、インデクスのサイズを抑えながら絞込み検索を高速化できる。また主記憶装置や補助記憶装置等のシステムリソース上の制約と検索結果の表示時間の制約を考慮した設計を可能とする。
【0015】
本発明における名称検索装置は、カーナビ等の目的地検索の絞込み検索において、検索処理を高速化し、ユーザへの検索結果回答時間を短縮することができる。
【図面の簡単な説明】
【0016】
【図1】本発明を用いたカーナビゲーションシステムのシステム構成図である。
【図2】実施例で説明する各テーブルのデータ構造を示す図である。
【図3】絞込み検索処理のフローチャートである。
【図4】表示部における表示の例を示す図である。
【図5】表示処理1のフローチャートである。
【図6】一時記憶部における各テーブルのデータ構造を示す図である。
【図7】表示処理2のフローチャートである。
【図8】実施例で説明する各テーブルのデータ構造を示す図である。
【図9】絞込み検索結果データ作成処理のフローチャートである。
【図10】サブルーチンSUB01のフローチャートである。
【図11】サブルーチンSUB02のフローチャートである。
【図12】サブルーチンSUB03のフローチャートである。
【図13】サブルーチンSUB04のフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態について、図面を参照して説明する。
【実施例1】
【0018】
図1は本発明に基づく名称検索技術を用いたカーナビゲーションシステムの全体構成を示した図面である。このカーナビゲーションシステムでは、検索対象となる名称として、目的地設定の際などに指定される施設の名称を対象として検索を行う。
【0019】
施設情報記憶部100には、図2に示すテーブルのようなデータ構造で施設情報T1が記憶されている。施設情報T1のテーブル内の1行に1つの施設に関する各種情報が記憶されており、1つの情報から他の情報を取得できるようになっている。この施設情報は、少なくとも施設を一意に特定するための施設ID,ユーザが検索を行うための施設名称読みカナ、その他に検索結果を表示する際に使う施設名称,施設一覧を提示する際の提示する順序を示すソートID,施設の住所,施設の種類を示すカテゴリなどの情報が含まれる。
【0020】
そして施設カテゴリ240や住所237の値から、ソートID225,施設名称235,施設名称読みカナ235を参照したり、あるいは逆に施設名称読みカナ235からソートID225や施設カテゴリ240を参照するといったように相互に情報が参照可能になっている。この機能により施設名称読みカナやソートID,施設カテゴリの値を検索条件として、施設情報の検索やそのヒット件数を取得できる。なお、施設情報T1のテーブルに含まれる情報のうち施設名の読みカナ235は、1つの施設に対して正式名称と別名称といった複数の読みカナを持ってもよい。施設名の読みカナ235が複数ある場合には、施設名の読みカナを検索する際に別名称でも正式名称でも所望する施設を検索して見つける事ができる。例えば施設情報T1のテーブルの1行目にある施設IDがp1の“トラテム東海店”は、「トラテムトウカイテン」という正式名称でも「トウカイトラテム」という別名称でも検索することができる。
【0021】
施設情報T1のテーブルの1,2行目のように、1つの施設に対して複数の読みカナが登録されている場合、施設情報記憶部100に記憶されているデータついて、検索キーに読みカナを使用して施設の絞込み検索を行った際に、施設が重複して見つかり、読みカナのヒット件数と実際の施設の件数とが一致しない状態が起こりうる。例えば図2における施設情報記憶部100の施設データに対し、「ト」で始まる読みカナについて絞込み検索すると、「ト」で始まる読みカナとして「トラテムトウカイテン」「トウカイトラテム」「トウデンショボウ」「トウショウ」の4件が見つかる。これら4件の読みカナに対応する施設名称を取得すると、それぞれ「トラテム東海店」「トラテム東海店」「東電書房」「東電書房」となり、重複した施設が検索結果に含まれる。そこで施設のヒット件数を求めるには、検索結果から重複した施設IDを持つ施設を除く重複排除処理を行った結果、残った施設の件数を数える必要がある。上記の例ではそれぞれの施設IDがp1,p1,p2,p2となるため、重複を排除した施設IDはp1,p2となり、施設のヒット件数は2件となる。
【0022】
ただし、絞込み検索でヒットした読みカナが重複した施設に対応付けられていない場合は、読みカナによる検索結果の件数と施設の件数が一致するため、重複排除処理が不要になる。例えば検索条件が「ヒ」から始まる読みカナ235の検索結果は「ヒガシデンショボウ」「ヒタチエキ」の2件であり、対応する施設の件数も施設IDがp2,p4の2件であるため、重複排除は不要である。
【0023】
重複排除処理では重複排除する施設IDを1件1件参照し他の検索結果の施設IDと比較する必要があるので、重複排除前の施設IDの数(=入力文字列によりヒットした読みカナの数)に比例した処理時間が必要になる。
【0024】
絞込み施設検索結果記憶部110は、電源が無くとも記憶を保持できる大容量のハードディスクなどの記憶媒体によって構成され、施設情報記憶部100を絞込み検索した際の、絞込み検索の条件を示すデータと、その検索条件に割り振られた検索条件ID、さらに検索条件を満たす施設のヒット件数と、次候補文字のデータが登録されている。絞込み施設検索結果記憶部110には、図2に示すテーブルのようなデータ構造で絞込み検索結果データT2が記憶される。この絞込み検索結果データT2により、絞込み検索の検索条件となる絞込み検索入力文字200,住所205,施設カテゴリ210から、絞込み検索の結果としてヒット件数212,次候補文字214と検索条件ID215が参照できるようになっている。
【0025】
例えば、絞込み検索結果データT2の1行目は、絞込み検索条件の入力文字が「ア」の場合に、施設情報記憶部100に記憶されている施設情報には「ア」から始まる施設名の読みカナを持った施設が627825件あり、かつその中に含まれる施設の読みカナで「ア」の次に続く文字は「ア,イ,ウ,エ,…,ン」であることを意味している。同様に、2行目では絞込み検索条件の入力文字が「ア」の場合でかつ住所が茨城にある施設が、施設情報記憶部100に記憶されている施設情報に21456件あり、その中に含まれる施設の読みカナで「ア」の次に続く読みカナの文字は「カ,キ,…,ヲ」であることを意味している。
【0026】
絞込み検索結果データT2では、入力文字以外の検索条件項目である住所205や施設カテゴリ210を指定しない結果の場合には、検索条件が指定されていないことを意味するデータ「−」を、住所205や施設カテゴリ210の項目に格納している。絞込み検索で、住所や施設カテゴリといった検索条件項目を指定する場合と指定しない場合の両方の検索条件のパターンがある場合は、「−」のように検索条件として指定しないことを意味するデータを格納しておく必要がある。
【0027】
また、絞込み施設検索結果記憶部110には、施設情報記憶部100の施設情報T1を1件1件参照して絞込み検索すると、要求される上限値を超える時間がかかるような絞込み検索について検索結果を予め作成し、絞込み検索結果データT2として格納しておく。絞込み検索の時間は施設ヒット件数を求める際の処理時間であり、施設情報T1の入力文字による検索でヒットする全ての施設名の読みカナ235の参照時間と、さらに重複排除が必要な場合は重複排除処理に要する処理時間の合計値である。施設名の読みカナ235の参照時間と重複排除処理の処理時間は、施設名の読みカナ235のヒット件数に比例して処理時間が長くなる。ここで施設名の読みカナ235の参照時間に対するヒット件数の比例係数をa、重複排除処理の処理時間に対するヒット件数の比例係数をbとすると、比例係数a,bの値は施設情報検索部145の検索性能によって決まり、検索性能が高いほど小さな値になる。この比例係数a,bを使うと、重複排除が不要な場合の検索時間は「a×施設名の読みカナのヒット件数」、重複排除が必要な場合は「(a+b)×施設名の読みカナのヒット件数」となる。
【0028】
絞込み検索結果を絞込み検索結果データT2に格納する条件は、絞込み検索の時間の上限値をtとすると、重複排除が不要な場合は「施設名の読みカナのヒット件数>t/a」、重複排除が必要な場合は「施設名の読みカナのヒット件数>t/(a+b)」となる。今後、t/aを重複排除無しのヒット件数上限値、t/(a+b)を重複排除有りのヒット件数上限値と呼ぶことにし、絞込み施設検索結果記憶部110には絞込み検索結果データT2の作成時に重複排除有りのヒット件数上限値を格納しておく。施設のヒット件数を算出する際に重複排除が必要かどうかは、絞込み検索結果データT2を作成する際に、施設情報T1を検索して判断する必要がある。
【0029】
以下に施設情報記憶部100の施設情報T1から、絞込み検索結果データT2のテーブルを作成する処理を、図9〜図11を用いて説明する。
【0030】
図9の処理フローは、絞込み施設検索結果記憶部110に絞込み検索結果データT2のテーブルを作成するための処理を表している。まず処理S1000では、施設情報記憶部100にある施設情報T1に格納されている施設カテゴリ210の値を読み出して、重複を除いた施設カテゴリの全種類を一時記憶部130の施設カテゴリテーブルT7に格納する。図8に、一時記憶部130に格納した施設カテゴリテーブルT7のデータ構造を示す。次に処理S1005では、施設情報記憶部100にある施設情報T1から住所205の項目に格納されている値から重複を除いた全種類の住所を一時記憶部130の施設住所テーブルT8に格納する。図8に施設住所テーブルT8のデータ構造を示す。
【0031】
処理S1010では、絞込み施設検索結果記憶部110の絞込み検索結果データT2のテーブルに格納する絞込み検索入力文字200を抽出するため、抽出する文字列長nの初期値を一時記憶部130に格納する。文字列長nは続く処理ループの中で1,2,3,…と増やしていくため、初期値には1を格納する。
【0032】
以下は、入力文字の文字列長nについての処理ループである。処理S1015では抽出する文字列長nの値に従い、施設情報記憶部100の施設情報T1から施設名の読みカナの値として格納されている全ての文字列について、その先頭n文字のみを対象として検索し、検索結果から重複した文字列を除いて、一時記憶部130の施設名の読みカナの先頭n文字のテーブルT9に格納する。図8に、施設名の読みカナの先頭n文字のテーブルT9として、施設名の読みカナの先頭1文字を格納したテーブルのデータ構造を示す。
【0033】
処理S1020では、処理S1015における検索で、施設名の読みカナが先頭からn文字以上ある文字列が見つかったかどうかを判断し、見つかった場合はS1023に進み、見つからなかった場合は、先頭からn文字以上ある施設の名称は無いものとして本処理を終了する。
【0034】
処理S1023では、一時記憶部130にある絞込み検索条件格納テーブルT11の施設カテゴリ922と住所923のデータをクリアする。この絞込み検索条件格納テーブルT11は、絞込み検索条件として指定する施設カテゴリと住所を格納するデータテーブルである。施設カテゴリ922と住所923のデータをクリアした状態は、「−」はとして表し、データがクリアされていて、その項目は検索条件に指定しない事を意味する。図8のE110,E115,E120,E125は、絞込み検索条件格納テーブルT11に検索条件の値を格納した例を示しており、E110は施設カテゴリと住所をクリアした状態、E115は施設カテゴリ922のみ検索条件を設定している場合、E120は施設の住所923のみ検索条件を設定している場合、E125は施設カテゴリと住所の両方を検索条件に設定している場合を表している。処理S1023では、絞込み検索条件格納テーブルT11の施設カテゴリと住所のデータをクリアするので、E110の状態になる。よって次の処理S1025では施設カテゴリと住所を絞込み検索条件に入れずに検索する事になる。
【0035】
処理S1025は、施設名の読みカナの先頭n文字のデータについて検索を行う処理であり、検索結果を絞込み施設検索結果記憶部110に格納するサブルーチンSUB01をコールする。
【0036】
SUB01の処理を図10に示す。図10に示すSUB01の処理では、処理S1100において、絞込み検索条件格納テーブルT11に設定された施設カテゴリ922と住所923のデータと一致する施設を対象に、施設名の読みカナの先頭n文字のテーブルT9から読み出した文字列について、施設情報T1の施設名の読みカナ235に対する検索を行い、そのヒット件数と次候補文字を取得して、一時記憶部130の絞込み検索結果格納テーブルT14の施設名読みカナのヒット件数935と次候補文字945にそれぞれ格納する。T14は一時記憶部130にある絞込み検索結果を格納するテーブルである。次候補文字は、施設名読みカナの先頭n文字の次に来る文字、即ち施設名の読みカナに先頭からn+1文字目の文字が存在すればその文字の一覧を取得する。例えば検索条件にあてはまる施設が、施設情報T1のソートIDがf1〜f4である4件の施設ならば、図8に示す施設名の読みカナの先頭n文字のテーブルT9から読み出した施設名の読みカナの先頭n文字が「ト」だった場合、読みカナのヒット件数は4件、次候補文字は「ラ」と「ウ」になる。
【0037】
処理S1105では、処理S1100で検索した読みカナが対応付けられている施設のヒット件数を算出する。施設のヒット件数は、S1100で検索した読みカナが対応付けられている施設IDを検索し、重複を除いた施設IDの件数とする。施設のヒット件数は、一時記憶部130の絞込み検索結果格納テーブルT14の施設のヒット件数940に格納する。
【0038】
処理S1110では、処理S1100で求めた施設名読みカナのヒット件数と処理S1105で求めた施設のヒット件数が等しいかどうかを判別する。絞込み検索結果格納テーブルT14の施設名読みカナのヒット件数935と施設のヒット件数940を比較して、両者の値が等しければS1117に、そうでなければS1115に移行する。
【0039】
処理S1115では、処理S1105で算出した施設のヒット件数の算出時間が検索時間の上限値tを越えるならば処理を分岐する。そのために絞込み検索結果格納テーブルT14の読みカナのヒット件数935が、重複排除有りのヒット件数上限値(t/(a+b))を超えるならばS1120に、そうでないならば、絞込み検索結果データT2のテーブルに絞込み検索結果を登録しておく処理をスキップして処理S1140に移行する。また処理S1117では、処理S1100で算出した施設名の読みカナのヒット件数の算出時間が検索時間の上限値tを越えるならば、処理を分岐する。そのために絞込み検索結果格納テーブルT14の読みカナのヒット件数935が、重複排除無しのヒット件数上限値(t/a)を超えるならばS1120に、そうでないならば、絞込み検索結果データT2のテーブルに絞込み検索結果を登録しておく処理をスキップして処理S1140に移行する。
【0040】
処理S1120では、絞込み施設検索結果記憶部110の絞込み検索結果データT2のテーブルに行を追加し、その行に絞込み検索入力文字に対応するヒット件数と次候補文字を格納する。そのために絞込み検索結果格納テーブルT14に格納しておいた施設のヒット件数940と次候補文字945を、それぞれ絞込み検索結果データT2に追加した行のヒット件数212と次候補文字214に格納する。
【0041】
処理S1125では、絞込み検索条件とした施設名の読みカナを絞込み施設検索結果記憶部110に格納する。そのために処理S1100において絞込み検索条件として使った施設名の読みカナの先頭n文字を、絞込み検索結果データT2の処理S1120で追加した行の絞込み検索入力文字200に格納する。同様にして、処理S1130では絞込み検索条件である施設カテゴリと住所を絞込み施設検索結果記憶部110に格納する。そのために絞込み検索条件格納テーブルT11に格納された施設カテゴリ922と住所923の値を、それぞれ絞込み検索結果データT2に追加した行の施設カテゴリ210と住所205に格納する。
【0042】
処理S1135では、絞込み検索結果データT2に格納されている検索結果を求めた際の絞込み検索条件を一意に特定する検索条件IDを絞込み施設検索結果記憶部110の絞込み検索結果データT2に格納する。この検索条件IDは、絞込み検索結果データT2に絞込み検索結果を1つ格納するごとにその絞込み検索条件へ通し番号を割り当てる。そのために、検索条件IDを一時記憶部130に格納しておく。処理S1135では、一時記憶部130に格納された検索条件IDの値に+1して更新した値を、絞込み施設検索結果記憶部110の絞込み検索結果データT2の処理S1120で追加した行の検索条件ID215に格納し、この更新された検索条件IDの値を一時記憶部130にも格納して検索条件IDを上書きする。
【0043】
処理S1140では、絞込み検索の終了判定を行う。ここでは施設名の読みカナの先頭n文字のテーブルT9に格納された施設名の読みカナ先頭n文字の全てを検索条件にして絞込み検索を行ったかを判別する。全文字について絞込み検索を行ったならSUB01の呼び出し元の処理に戻る。そうでないならS1100に戻る。
【0044】
図9における処理で、SUB01を呼び出した処理S1025が終了すると、処理S1030に移行する。処理S1030ではサブルーチンSUB02を実行する。サブルーチンSUB02は、施設カテゴリを指定した絞込み検索結果を絞込み施設検索結果記憶部110の絞込み検索結果データT2に格納する。SUB02の処理フローを図11に示す。
【0045】
図11に示すSUB02の処理S1200では、絞込み検索条件に施設カテゴリを設定する。そのために絞込み検索条件格納テーブルT11にまだ格納していない施設カテゴリを施設カテゴリテーブルT7から1つ読み出し、E115のように絞込み検索条件格納テーブルT11の施設カテゴリ922にのみ検索条件を格納する。
【0046】
処理S1210ではサブルーチンSUB01をコールして、処理S1200で指定した絞込み検索条件格納テーブルT11の施設カテゴリに該当する施設を対象にして施設名の読みカナの先頭n文字のデータで絞込み検索を行い、検索時間の上限値tを越えるならばその検索結果を絞込み施設検索結果記憶部110の絞込み検索条件格納テーブルT11に格納する。SUB01の処理が終了したら処理S1220に移行する。
【0047】
処理S1220では絞込み検索の終了判定を行うために、施設カテゴリテーブルT7に格納されている全ての施設カテゴリについて絞込み検索が終了したかを判別する。検索が終了していればSUB02を終了して呼び出し元の処理に戻る。そうでなければ処理S1200に戻る。
【0048】
図9における処理でSUB02を呼び出した処理S1030が終了すると、処理S1035に移行する。処理S1035ではサブルーチンSUB03を実行する。サブルーチンSUB03は、施設の住所を指定した絞込み検索結果を絞込み施設検索結果記憶部110の絞込み検索結果データT2に格納する。SUB03の処理フローを図12に示す。
【0049】
図12に示すSUB03の処理S1300では、絞込み検索条件に施設の住所を設定する。そのために絞込み検索条件格納テーブルT11にまだ格納していない住所を施設住所テーブルT8から1つ読み出し、E120のように絞込み検索条件格納テーブルT11の住所923にのみ検索条件を格納する。
【0050】
処理S1305ではサブルーチンSUB01をコールして、処理S1300で指定した絞込み検索条件格納テーブルT11の住所に該当する施設を対象にして施設名の読みカナの先頭n文字のデータで絞込み検索を行い、検索時間の上限値tを越えるならばその検索結果を絞込み施設検索結果記憶部110の絞込み検索条件格納テーブルT11に格納する。SUB01の処理が終了したら処理S1310に移行する。
【0051】
処理S1310では絞込み検索の終了判定を行うために、施設住所テーブルT8に格納されている全ての住所について絞込み検索が終了したかを判別する。検索が終了していればSUB03を終了して呼び出し元の処理に戻る。そうでなければ処理S1300に戻る。
【0052】
図9における処理で、SUB03を呼び出した処理S1035が終了すると、処理S1040に移行する。処理S1040ではサブルーチンSUB04を実行する。サブルーチンSUB04は、施設の施設カテゴリと住所を指定した絞込み検索を行い、検索結果を絞込み施設検索結果記憶部110の絞込み検索結果データT2に格納する。図13ではSUB04の処理フローを説明する。
【0053】
図13の処理S1400では、絞込み検索条件に施設のカテゴリと住所を設定する。そのために絞込み検索条件格納テーブルT11にまだ格納していない施設カテゴリと住所の組み合わせを、施設カテゴリテーブルT7と施設住所テーブルT8から1つ読み出して、E125のように絞込み検索条件格納テーブルT11の施設カテゴリ922と住所923へ格納する。
【0054】
処理S1405ではサブルーチンSUB01をコールして、処理S1400で指定した絞込み検索条件格納テーブルT11の施設カテゴリと住所に該当する施設を対象に施設名の読みカナの先頭n文字のデータで絞込み検索を行い、検索時間の上限値tを越えるならばその検索結果を絞込み施設検索結果記憶部110の絞込み検索条件格納テーブルT11に格納する。SUB01の処理が終了したら処理S1410に移行する。
【0055】
処理S1410は絞込み検索の終了判定を行うために、施設カテゴリテーブルT7の施設カテゴリ900および施設住所テーブルT8の施設住所905に格納されているそれぞれの全ての値についての組み合わせについて絞込み検索が終了したかを判別する。検索が終了していればSUB04を終了して呼び出し元の処理に戻る。そうでなければS1400に戻る。
【0056】
図9における処理で、SUB04を呼び出した処理S1040が終了すると、処理S1045に移行する。処理S1045では次の絞込み検索を行うために、抽出する絞込み検索入力文字の文字列長を+1増やし、処理S1015に戻る。
【0057】
以上のようにして、絞込み施設検索結果記憶部110に格納する絞込み検索結果データT2が予め生成される。
【0058】
施設情報記憶部100に格納されている施設情報T1のうち、絞込み施設検索結果記憶部110に格納されている絞込み検索結果データT2に登録された、絞込み検索入力文字200,住所205,施設カテゴリ210の値の組み合わせからなる各絞込み検索条件を満たす全ての施設データを、該当する検索条件の検索条件ID別に施設のソートID順にソートして、ソート済み施設リスト記憶部115に、図2に示す施設リストデータT3として格納する。施設データのソート済みリストを施設リストデータT3から取得するには、施設リストデータT3の検索条件ID250に対応付けられている施設リストを取得する。施設リストデータT3の検索条件ID250は、絞込み検索結果データT2の検索条件ID215と同じIDが格納される。このため、絞込み施設検索テーブルT2における絞込み検索入力文字200,住所205,施設カテゴリ210に対応した検索条件ID215を取得し、そのIDで施設リストデータT3の検索条件ID250を検索すれば、絞込み施設検索テーブルT2における絞込み検索入力文字200,住所205,施設カテゴリ210に設定された検索条件を満たすソート済みの施設データのリスト260を取得することができる。
【0059】
絞込み施設検索結果記憶部110の絞込み検索結果データT2には、絞込み検索を行った場合の処理時間が検索時間の上限値tを越えるような場合についてその検索結果を予め格納しておくため、全ての絞込み検索結果が格納されているとは限らない。そこで検索データ切替え部135は、絞込み検索を行う際に絞込み検索結果取得部150が絞込み施設検索結果記憶部110の絞込み検索結果データT2を検索して検索結果が見つからなかった場合に、施設情報検索部145に施設情報記憶部100を検索させるように指令を出す。
【0060】
表示部140はユーザが入力部125によって設定した検索条件や、絞込み検索の結果を提示情報としてユーザに提示する装置である。表示に用いる装置は液晶ディスプレイやブラウン管などの視覚ディスプレイでもよいし、音声による提示ならスピーカを用いてもよい。提示情報の生成には、視覚提示の場合は文字データを画面に表示可能な形式に変換するビデオカード、音声提示の場合は文字データを音声に変換する音声合成ソフトウェアなどを用いる。
【0061】
入力部125は、絞込み検索で入力する文字や施設のカテゴリ,住所などのユーザによる入力を受け付けて電気信号に変換する装置である。入力には機械式のスイッチや表示部に表示されたボタンを押すことで入力を行うタッチパネルなどの装置、あるいはユーザの音声を認識する装置などを用いるのがよい。タッチパネルの場合、表示部140で施設の検索条件が表示された箇所を手で触れることで、検索条件を本装置に入力できる。機械式スイッチの場合で選択を行う場合は、物理的なボタンを押すことで検索条件を入力する。音声を認識する装置の場合は、入力部125にはマイクを備え、ユーザの音声を電気信号に変換し、さらに音声認識用のソフトウェアを用いて電気信号からユーザが音声を介して入力した検索条件を抽出する必要がある。
【0062】
一時記憶部130は、施設情報記憶部100や絞込み施設検索結果記憶部110から読み出された情報を一時的に記憶するために設けられた記憶領域であり、図示されない主記憶装置上に設けてもよいし、専用の半導体記憶素子により構成してもよい。また本発明で用いる一時記憶部130は、不揮発性のメモリで構成してもよいが、電源を落としたらデータが消去されるメモリでも良く、施設情報記憶部100を構成するハードディスクなどの大容量記憶媒体と比較して、高速に読み書きできることが望ましい。
【0063】
施設情報検索部145は、施設情報記憶部100を検索して、絞込み検索における入力文字や住所,施設カテゴリなどの検索条件から絞込み検索結果を算出する機能を持つ。図2に示す、施設情報記憶部100が持つ施設情報T1を用いて具体的に説明すると、施設情報検索部145は施設情報T1の住所237,施設カテゴリ240,施設名称の読みカナ235を参照し、ユーザが入力した住所や施設カテゴリが一致する施設の内、入力文字から始まる施設読みカナと一致する全施設の件数(ヒット件数)を数える。さらに施設名の読みカナ235を参照する際には、ユーザの入力文字の後に続く読みカナの次候補文字を、ユーザが入力した検索条件に合致する全施設に対して取得する。例えば、施設情報T1におけるソートIDがf1〜f4の4件の施設を対象に絞込み検索を行うと、ユーザによる検索条件の入力文字が「ト」だった場合、施設のヒット件数は2件、次候補文字は「ラ」と「ウ」になる。
【0064】
絞込み検索結果取得部150は、絞込み施設検索結果記憶部110の絞込み検索結果データT2を検索して、データ作成時に予め算出しておいた絞込み検索結果を取得する。図2の絞込み検索結果データT2を用いて取得方法を具体的に説明すると、絞込み検索でユーザが入力した入力文字や住所,施設カテゴリによって絞込み検索結果データT2を検索し、該当する検索結果のヒット件数と次候補文字のデータを1件取得する。ただし、前述のように、絞込み検索結果データT2には全ての絞込み検索結果が格納されているとは限らないため、該当する検索結果が0件の場合が起こりうる。
【0065】
制御部155は、カーナビゲーションシステム10の各部を制御する機能を持つ。具体的には各部間のデータ送受信の管理や各部をタイミング通りに機能させる制御を行う。例えば、施設情報検索部145で検索された結果のデータを一時記憶部130に転送したり、一時記憶部130に記憶されている施設データを提示のために表示部140に転送したりする際の制御を行う。
【0066】
ソート処理部170は、施設情報検索部145から検索して一時記憶部130にコピーした施設データである抽出施設データT4を、ソートID600の値を基準にソートする。ソート結果は一時記憶部130にソート済み抽出施設データT5として記憶され、このソート結果を表示部で提示可能である。
【0067】
ソート済み施設リスト取得部180は、ソート済み施設リスト記憶部115から施設リストデータT3の検索条件ID250を検索キーにして施設のソートID順にソート済みの施設リストを取得し、一時記憶部130にコピーする。
【0068】
以下では図1の制御部155による制御の元での絞込み検索の処理を図3,図5,図7のフローチャートを用いて説明する。
【0069】
図3は、絞込み検索処理の全体の流れを示すフローチャートである。処理S100では、入力部125が絞込み検索結果取得部150に対して、絞込み検索結果の取得を要求する処理である。入力部125は検索実行の要求と共に、ユーザが設定した住所や施設カテゴリ,入力文字といった検索条件を絞込み検索結果取得部150に送信する。入力部125からの要求は、ユーザが検索条件である入力文字を入力部125で入力して検索条件を絞り込んだ瞬間などの、絞込み検索結果の表示が必要なタイミングで出される。
【0070】
処理S105では、入力部125から与えられた検索条件に基づき、絞込み検索結果取得部150を用いて絞込み施設検索結果記憶部110を検索し、絞込み検索結果データT2に検索結果がある場合は絞込み検索結果のヒット件数212と次候補文字214、および施設一覧を表示する際に使用する検索条件ID215の各値を取得する。
【0071】
処理S110では、処理S105で検索結果が見つかったかどうかを調べ、検索結果がある場合は、絞込み検索結果データT2から検索結果に対応する検索結果の検索条件IDを取得して一時記憶部130にコピーした後、処理S160に進み、検索結果が見つからない場合は処理S120に進む。
【0072】
処理S120は、処理S105で絞込み検索結果が見つからなかった場合の処理であり、ヒット件数が閾値より小さい検索条件で絞込み検索を行う場合に該当する。絞込み施設検索結果記憶部110の絞込み検索結果データT2に検索結果が見つからなかった場合は、検索データ切替え部135が、施設情報検索部145に処理S100で求めた検索条件による絞込み検索の実行とその検索結果の取得を要求する。
【0073】
処理S130では、施設情報検索部145が要求された検索条件に従って施設情報記憶部100の施設情報T1を検索し、1件1件の施設データを参照して、絞込み検索結果データT2作成時の処理と同様の処理で、施設名の読みカナ235のヒット件数と次候補文字を算出して一時記憶部130に格納する。
【0074】
処理S133では処理S130で算出したヒット件数に重複排除の必要があり、かつ重複排除しても検索時間が上限値を超えないかを判定して処理を分岐する。そのため読みカナのヒット件数が、重複排除有りのヒット件数上限値t/(a+b)を超えていれば処理S140に移行し、そうでないなら処理S136に移行する。なお、重複排除有りのヒット件数上限値の値は、予め絞込み検索結果データT2を作成した際に絞込み施設検索結果記憶部110に格納しておくものとし、絞込み施設検索結果記憶部110から読み出して使用する。
【0075】
処理S136では、重複排除処理を行って施設のヒット件数を算出する。そのために処理S130で検索した施設名の読みカナに対応した施設IDを取得し、施設IDに関する重複排除処理を行って施設のヒット件数を求める。求めた施設のヒット件数は、処理S130で一時記憶部130に格納した読みカナのヒット件数に上書きして格納する。
【0076】
処理S140では、処理S130と処理S136で一時記憶部130に格納したヒット件数と次候補文字の値を表示部140に表示する。図4のD1〜D3は、表示部140によって絞込み検索結果の提示を視覚的に行った例である。図4では絞込み検索の際に、ユーザが表示部140の画面上に表示されたタッチパネルで構成されるキーボードを押して検索したい文字列を1文字ずつ入力していく例を示している。絞込み検索を開始した直後は、図4のD1のように最初は全てのキーが白く表示され、任意の文字の入力を受け付ける。キーをタッチして入力文字を1文字追加するごとに、D2→D3の画面のように施設のヒット件数を更新し、次候補文字も入力文字の次に続く次候補文字のみが白く表示されてキー入力可能にし、他のキーは暗表示にして入力を受け付けないように更新する。
【0077】
処理S145では、処理S140で表示された絞込み検索結果のヒット件数を見たユーザが、絞込み検索結果の施設の一覧表示を要求したかどうかを判定している。施設一覧の表示が要求された場合には処理S150に進み、要求されなかったならば処理S100に戻り、ユーザからの入力を待つ。なお、一覧表示の要求は、例えば図4に示したD1〜D3の画面右下の「表示」ボタン410を押すことによって入力部125に要求する。一覧表示の要求する手段は、「表示」ボタン410のようなタッチパネルでも良いし、機械式のスイッチあるいは音声による要求でも良い。
【0078】
処理S150では、検索時間が短い場合に施設の一覧表示を行う表示処理1のサブルーチンを呼び出す。図5に表示処理1のフローチャートを示す。
【0079】
図5に示す表示処理1のフローチャートにおいて、処理S500では、図3の処理S100でユーザが入力した絞込み検索の検索条件で施設情報T1を検索し、検索条件を満たす施設データを一時記憶部130にコピーして図6に示すような抽出施設データT4を生成する。抽出施設データT4は一時記憶部130にコピーした施設データを示す図で、ソートに必要なソートIDと、表示に使う施設名称や住所,施設カテゴリのデータなどを施設情報T1から一時記憶部130にコピーしている。
【0080】
処理S510では、抽出施設データT4の各施設データをソート処理部170を用いてソートID600の順に並び替え(=ソート)する。ソートに用いる方法は、ソートID600の値を比較して昇順・降順の順に並び替える方法のうち、クイックソートなどのできる限り高速なソート方法を用いたほうが検索時間を削減できる。ソートした結果、ソートIDの順にソートし終わった施設データは、図6に示すソート済み抽出施設データT5として一時記憶部130に格納する。
【0081】
処理S520では処理S510でソートしたソート済み抽出施設データT5における表示で使う施設名称や施設の存在する住所や施設カテゴリといった施設データを表示部140に送り、ユーザに提示する。提示方法は図4のD4で示したような画面に、ソート順に施設名称をリストとして提示する方法や、ソート順に施設データを音声で提示しても良い。処理S520の処理終了後、表示処理1を終了して元のルーチンに戻った後、本処理を終了する。
【0082】
一方、処理S160では、予め絞込み施設検索結果記憶部の絞込み検索結果データT2に格納されていた絞込み検索結果に基づき、処理S105で得られたヒット件数と次候補文字を表示部に表示する。ヒット件数と次候補文字の表示に関しては、前述の処理S140における処理と同様にして行う。
【0083】
処理S165では、処理S160で表示された絞込み検索結果のヒット件数を見たユーザが、絞込み検索結果の施設の一覧表示を要求したかどうかを判定している。施設一覧の表示が要求された場合には処理S170に進み、要求されなかったならば、処理S100に戻り、再びユーザからの入力を待つ。なお一覧表示の要求についても、前述の処理S145の説明と同様である。
【0084】
処理S170は、ヒット件数が多い場合に施設の一覧表示を行う表示処理2のサブルーチンを呼び出す。図7に表示処理2のフローチャートを示す。
【0085】
図7に示す表示処理2のフローチャートにおいて、処理S700では、一時記憶部130にコピーした検索条件IDを検索キーにして、ソート済み施設リスト取得部180によりソート済み施設リスト記憶部115の施設リストデータT3を検索し、施設リストデータT3で検索条件ID250に対応したソート済みの施設データのリスト260に格納されている施設データを一時記憶部130にコピーする。
【0086】
処理S720では、処理S700で一時記憶部130にコピーした、ソート済みの施設データのリストの情報を表示部140によりユーザに提示する。ユーザへの提示処理は、前述の図4のD4で示したような画面に、ソート済みの施設データのリストに基づくソート順に並んだ施設名称をリストとして提示する方法や、ソート順に施設名称を音声で提示方法を採用しても良い。処理S720の処理終了後、表示処理2を終了して呼び出し元の処理に戻った後、本処理を終了する。
【0087】
以上のようにして、検索時間が大きくなるような検索条件については予め絞込み検索結果を作成しておき、対話的に絞込み検索を行う際に、検索時間が大きくなる場合には、この予め作成した検索結果を使用し、検索時間が大きくならない場合には、実際に検索を行うことで、応答時間の低下を防ぐと共に、検索結果の増大も抑えることができる。
【0088】
この実施例で説明した施設名称の検索技術は、単に車両に搭載されるカーナビゲーションにシステムに留まらず、施設名称の検索を行うPNDや携帯電話に代表されるような持ち運び可能な携帯端末においても適用可能である。
【産業上の利用可能性】
【0089】
本発明は、車載用のナビゲーションシステムや、据え置き型の計算機,持ち運び可能な携帯端末などに用いることができる。
【符号の説明】
【0090】
100 施設情報記憶部
110 絞込み施設検索結果記憶部
115 ソート済み施設リスト記憶部
125 入力部
130 一時記憶部
135 検索データ切替え部
140 表示部
145 施設情報検索部
150 絞込み検索結果取得部
155 制御部
170 ソート処理部
180 ソート済み施設リスト取得部
T1 施設情報
T2 絞込み検索結果データ
T3 施設リストデータ
T4 抽出施設データ
T5 ソート済み抽出施設データ
T7 施設カテゴリテーブル
T8 施設住所テーブル
T9 施設名の読みカナの先頭n文字のテーブル
T11 絞込み検索条件格納テーブル
T14 絞込み検索結果格納テーブル

【特許請求の範囲】
【請求項1】
検索結果を絞り込むための対象名称を順次入力を受け付ける入力手段と、検索結果の件数を出力する出力手段とを備えた施設名称を検索する名称検索装置において、
少なくとも検索対象施設の施設名称と施設名称の読みカナの情報を記憶する施設情報記憶手段と、
前記入力手段でユーザの入力に基づき、前記施設情報記憶手段を検索して、入力された文字を含む検索条件による検索結果の件数と施設名称の次候補文字を算出する施設情報検索手段と、
前記施設情報記憶手段について、施設の絞込み検索の検索時間が一定値以上になる検索条件について予め検索して求めた検索結果の件数と施設名称の次候補文字とを当該検索条件と対応付けて登録した絞込み施設検索結果記憶手段と、
前記入力手段でユーザが入力した情報に基づき、前記絞込み施設検索結果記憶手段を検索して、前記ユーザが入力した情報に該当する検索条件に対応した検索結果の件数と施設名称の次候補文字を検索結果として取得する絞込み検索結果取得手段と、
前記絞込み検索結果取得手段による前記絞込み施設検索結果記憶手段の検索結果が取得できなかった場合は、前記施設情報検索手段に前記施設情報記憶手段を検索させる検索データ切替え手段と、
入力手段によって入力された検索条件に基づいて求めた、施設情報検索手段による検索結果の件数と次候補文字または絞込み検索結果取得手段により取得した検索結果の件数と次候補文字をユーザに提示する表示手段とを備えること
を特徴とする名称検索装置。
【請求項2】
請求項1に記載の名称検索装置において、前記絞込み施設検索結果記憶手段は、施設の絞込み検索の検索時間が一定値以上になる検索条件を識別する検索条件IDと当該検索条件IDに対応する次候補文字及びヒット件数を記憶することを特徴とする名称検索装置。
【請求項3】
請求項1に記載の名称検索装置において、前記検索データ切替え手段は、絞込み検索を行う際に、検索時間が一定値以下の場合には前記施設情報検索手段で前記施設情報記憶手段を検索して絞込み検索結果を算出し、検索時間が一定値を超える場合は前記絞込み検索結果取得手段が前記絞込み施設検索結果記憶手段を検索して絞込み検索結果を取得することを特徴とする名称検索装置。
【請求項4】
請求項1の名称検索装置において、
前記施設情報記憶手段は更に、検索対象施設の住所,施設の種類を示すカテゴリ、及び施設を提示する際の順序を示すソート順を記憶し、
施設情報検索手段では、前記入力手段から入力された情報として、施設の住所またはカテゴリを含む場合には、前記検索条件に該施設の住所またはカテゴリを含めて前記施設情報記憶手段を検索し、
更に、
前記絞込み検索結果取得手段で登録した検索結果に対応する施設リストをソートした結果を検索条件毎に登録したソート済み施設リスト記憶手段と、
前記ソート済み施設リスト記憶手段からソートした施設リストのデータを取得するソート済み施設リスト取得部と
前記施設情報記憶手段から検索した施設データについてソート順にソートする機能を持つソート処理部とを備え、
入力手段によって検索結果に対する施設名称の表示要求が入力された場合には、前記ソートした施設リストのデータまたは前記ソート処理部によるソート結果を前記表示部に表示すること
を特徴とする名称検索装置。
【請求項5】
請求項4に記載の名称検索装置において、前記検索データ切替え手段において、検索結果に対する施設一覧のソート結果を前記表示部に表示する際に、
施設一覧のソート時間が一定時間以下となる場合には前記施設情報検索手段で前記施設情報記憶手段から検索した施設データを前記ソート処理手段により前記ソート順でソートした結果を表示し、
施設一覧のソート時間が一定値を超える場合は前記ソート済み施設リスト取得部により前記ソート済み施設リスト記憶手段を検索して取得された前記ソートした施設データのリストを表示すること
を特徴とする名称検索装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2011−13705(P2011−13705A)
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願番号】特願2009−154509(P2009−154509)
【出願日】平成21年6月30日(2009.6.30)
【出願人】(000001487)クラリオン株式会社 (1,722)
【Fターム(参考)】