(57)【要約】【課題】ユーザに負担をかけることなく、正確に所望の情報を検索することのできる検索システムを提供する。【解決手段】検索システムのサーバ装置に、解析部１１０および検索部１１１を設ける。解析部１１０は、入力文字列を含む入力データ１２０から複数のキーワードを抽出するとともに、入力文字列における各キーワードの出現順序に基づいて、キーワードデータ１２１を生成する。検索部１１１は、キーワードデータ１２１と、抽出文字列データ１２３とを参照して、すべてのキーワードが含まれるタグ文字列であって、かつ、入力文字列におけるキーワードの出現順序と、キーワードと一致した抽出文字列のタグ文字列における出現順序とが一致したタグ文字列を、候補となるタグ文字列として選択する。【選択図】図３
2005301514.tif 000002
【特許請求の範囲】
【請求項１】
複数の対象情報を蓄積しつつ、蓄積した前記複数の対象情報の中からユーザが所望する対象情報を提供する検索システムであって、
ネットワークに接続されるサーバ装置と、
前記サーバ装置との間で前記ネットワークを介して情報通信が可能な状態で接続され、入力文字列を含む入力情報を前記サーバ装置に送信する端末装置と、
を備え、
前記サーバ装置が、
前記複数の対象情報と、複数のタグ文字列とを一対一に関連づけて蓄積する蓄積手段と、
前記端末装置から受信した前記入力情報に基づいて、前記入力文字列から複数のキー文字列を抽出することにより、キーワード情報を生成する解析手段と、
前記解析手段により生成された前記キーワード情報に基づいて、前記複数のタグ文字列のうち候補となるタグ文字列を選択する検索手段と、
前記検索手段により選択された前記候補となるタグ文字列に関連づけられている対象情報を含む提供情報を生成する生成手段と、
前記生成手段により生成された前記提供情報を前記端末装置に送信するサーバ側通信手段と、
を備え、
前記端末装置が、
ユーザによる操作を受け付け、前記入力情報を生成する入力手段と、
前記入力手段により生成された前記入力情報を前記サーバ装置に送信するとともに、前記サーバ側通信手段により送信された前記提供情報を受信する端末側通信手段と、
前記端末側通信手段により受信された前記提供情報を表示する表示手段と、
を備え、
前記検索手段は、前記複数のキー文字列の全てを含むタグ文字列であって、かつ、当該タグ文字列における前記複数のキー文字列の出現順序が、前記入力文字列における前記複数のキー文字列の出現順序に一致する場合に、当該タグ文字列を、前記候補となるタグ文字列として選択することを特徴とする検索システム。
【請求項２】
請求項１に記載の検索システムであって、
前記蓄積手段は、前記複数のタグ文字列から抽出された複数の抽出文字列のそれぞれに、当該抽出文字列を含むタグ文字列を特定するための識別情報を関連づけて蓄積し、各抽出文字列に関連づけられた前記識別情報に、当該識別情報により特定されるタグ文字列における当該抽出文字列の出現順序を示す順位情報を関連づけて蓄積することを特徴とする検索システム。
【請求項３】
複数の対象情報を蓄積しつつ、蓄積した前記複数の対象情報の中からユーザが所望する対象情報を提供する検索システムであって、
ネットワークに接続されるサーバ装置と、
前記サーバ装置との間で前記ネットワークを介して情報通信が可能な状態で接続され、入力文字列を含む入力情報を前記サーバ装置に送信する１以上の端末装置と、
を備え、
前記サーバ装置が、
前記複数の対象情報と複数のタグ文字列とを一対一に関連づけて蓄積するとともに、各タグ文字列と、各タグ文字列から生成される複数の抽出文字列とを関連づけて蓄積する蓄積手段と、
前記端末装置から受信した前記入力情報に基づいて、前記入力文字列から複数のキー文字列を抽出し、前記入力文字列における前記複数のキー文字列の出現順序を入れ替えることなく結合して１つの検索文字列を生成することにより、キーワード情報を生成する解析手段と、
前記解析手段によって生成された前記キーワード情報に基づいて、複数の前記抽出文字列のうち前記検索文字列と一致する抽出文字列が存在する場合に、当該検索文字列と一致する抽出文字列を含んでいたタグ文字列を候補となるタグ文字列として選択する検索手段と、
前記検索手段により選択された前記候補となるタグ文字列に関連づけられている対象情報を含む提供情報を生成する生成手段と、
前記生成手段により生成された前記提供情報を前記端末装置に送信するサーバ側通信手段と、
を備え、
前記端末装置が、
ユーザによる操作を受け付け、前記入力情報を生成する入力手段と、
前記入力手段により生成された前記入力情報を前記サーバ装置に送信するとともに、前記サーバ側通信手段により送信された前記提供情報を受信する端末側通信手段と、
前記端末側通信手段により受信された前記提供情報を表示する表示手段と、
を備え、
前記抽出文字列は、元となるタグ文字列を分割することにより得られる複数の部分文字列から２以上の部分文字列を抽出し、前記元となるタグ文字列における抽出した２以上の部分文字列の出現順序を入れ替えることなく結合させて生成される文字列であることを特徴とする検索システム。
【請求項４】
請求項１ないし３のいずれかに記載の検索システムであって、
前記生成手段は、前記候補となるタグ文字列を前記提供情報に付加し、
前記表示手段は、前記提供情報に付加された前記候補となるタグ文字列を表示することを特徴とする検索システム。
【請求項５】
請求項１ないし４のいずれかに記載の検索システムであって、
前記入力手段が、
前記入力文字列を入力するための複数のキーを備え、
前記複数のキーのそれぞれに、所定の対応関係に従って１以上の文字が対応づけられるとともに、当該キーを操作することによって入力可能な文字として前記１以上の文字のうちの１つのみが割り当てられており、
前記検索手段は、前記抽出文字列を所定の変換規則に従って変換した変換文字列について、前記キー文字列との一致を判定することにより、前記抽出文字列と前記キー文字列との一致を判定することを特徴とする検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたキーワードから所望する情報を検索する技術に関する。
【背景技術】
【０００２】
昨今の情報通信技術の進歩を背景にして、ネットワークを通じて携帯電話などの端末装置からユーザが入力したキーワードによって、予めデータベースに蓄積しておいた情報を検索し、ユーザが所望する情報をレスポンスとして提供するシステムが知られている。
【０００３】
このようなシステムの代表例として電話番号案内システムを例に説明する。電話番号案内システムは、使用されている電話番号（検索の対象となるデータ）と、その電話番号の契約者の住所・氏名などの文字列からなる情報（タグ文字列）とを一対一で関連づけたデータベースを予め作成して、サーバ装置に蓄積しておくことでサービスを提供する。すなわち、ユーザが端末装置から電話をかけたい相手の住所・氏名を入力すると、入力された情報がサーバ装置に送信され、この住所・氏名と一致するタグデータを検索して、選択したタグデータに関連づけられている電話番号をユーザの端末装置に送信するのである。
【０００４】
しかし、入力された情報とタグデータとの完全一致を要求すると、ユーザが正確な住所・氏名を入力できた場合にしか電話番号を案内することができず、システムの利便性が低下する。また、すべての情報の入力を要求すると、ユーザの入力情報の正確性が低下し、誤りを含んだ情報に基づいて電話番号を案内することになるため、間違った電話番号を提供する事態が発生し、さらに不具合を生じる。
【０００５】
したがって、従来からこのようなシステムでは、ユーザの入力に多少の曖昧さを許容するように、システムを構築する技術が提案されている。図１４は、従来の電話番号案内システムのデータベース構造の例を示す図である。従来の電話番号案内システムのデータベースでは、第１階層において、電話番号とその契約者の住所・氏名とが一対一で関連づけられているとともに、それらに共通の識別番号を割り振る。また、第２階層において、タグ文字列を分割して得られた単語（部分文字列）と、その単語を含むタグ文字列の識別番号とを関連づけておく。このように文字列を分割して単語を作成する手法としては、いわゆる構文解析エンジンを使って自動的に作成する手法が提案されているが、もちろんオペレータが手動入力して作成してもよい。
【０００６】
図１４に示す例では、ユーザがキーワードとして「山田」を入力した場合には、第１階層のタグ文字列にはキーワードと一致するタグ文字列が存在しないが、第２階層の単語にはキーワードと一致する単語が存在する。したがって、検索システムは、キーワードと一致した単語「山田」に関連づけられている識別番号「０００１」のタグ文字列に、「山田」が含まれていることがわかる。これによって、システムは「番号Ａ」をユーザに案内することができる。すなわち、ユーザが、正確に「神戸市中央区北野町山田一郎」と入力することができない場合であっても、電話番号を案内することができるのである。これは、意味のある単語単位であれば、ユーザはキーワードを正確に入力できるであろうことを利用した検索手法である。
【０００７】
また、タグ文字列を「単語単位」に分割した文字列について、キーワード検索することにより、たまたまキーワードと一致する文字列を部分的に含んでいるタグ文字列を候補から除外することができるという効果もある。図１４に示す例では、「北野」という文字列は、すべてのタグ文字列に含まれているが、「番号Ｃ」を所望するユーザは、「北野原」という文字列をキーワードとして入力することはあっても「北野」という文字列をキーワードとして入力することはあまり考えられない。前述のような「単語単位」の検索を実行することにより、キーワードとして「北野」という文字列が入力された場合には、識別番号「０００３」のタグ文字列が候補とならないようにすることができる。
【０００８】
しかし、このような「単語単位」のキーワードを利用したとしても、曖昧検索では、提供すべき対象情報を適切に絞り込めない事態が頻発する。図１４に示す例で、ユーザがキーワードとして「神戸」を入力した場合には、いずれのタグ文字列にも「神戸」という文字列が含まれているため、システムは、１つの電話番号に絞ることができず、全ての電話番号を候補として提供することとなる。この場合、ユーザは提供された複数の候補から新たに絞り込みを行う必要があり、ユーザとシステムとの間のやり取りが増えるため、システムの利便性が低下する。特に、タグ文字列が住所・氏名である場合には、タグ文字列内に同じ文字列が含まれる頻度が高く、候補の数が膨大となるという問題がある。
【０００９】
そこで、従来の電話番号案内システムでは、キーワードを何度も入力させるのではなく、予め複数の単語の入力を受け付け、これらの単語をすべて含むタグ文字列を検索する手法（いわゆる「アンド検索」）が提案されている。アンド検索を図１４に示す例において説明すると、ユーザは例えばキーワードとして「札幌」と「神戸」とを入力することができ、システムは、入力された「札幌」を含むタグ文字列の識別番号と、「神戸」を含むタグ文字列の識別番号とを比較して、いずれにも含まれているタグ文字列の識別番号から候補となるタグ文字列を選択する。これにより、図１４に示す例では、識別番号「０００３」のタグ文字列が選択され、「番号Ｃ」がユーザに対して案内される。このように、従来の検索システムではアンド検索を用いることによって、ユーザに対して完全な情報を入力することを要求することなく、１回の入力で情報の絞り込みを行うことができ、システムの利便性の向上を図っている。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところが、蓄積している対象情報の数が膨大であって、これに関連づけられるタグ文字列が住所・氏名のように限られた情報である場合には、従来のシステムのように、アンド検索を用いて絞り込みを行ったとしてもなお、多くの候補が選択されるという問題があった。これを、図１４に示す例で説明すると、ユーザが「神戸」「北野」と入力した場合では「番号Ａ」と「番号Ｂ」とが候補となり、「神戸」「中央」と入力した場合では「番号Ａ」と「番号Ｃ」とが候補となる。その場合、ユーザは、予めこのような事態を予測して可能な限り多くのキーワードを入れておくか、提供された複数の候補から新たに絞り込みを行うかのいずれかを要求されるという問題があった。
【００１１】
本発明は、上記課題に鑑みなされたものであり、ユーザに負担をかけることなく、正確に所望の情報を検索することのできる検索システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、請求項１の発明は、複数の対象情報を蓄積しつつ、蓄積した前記複数の対象情報の中からユーザが所望する対象情報を提供する検索システムであって、ネットワークに接続されるサーバ装置と、前記サーバ装置との間で前記ネットワークを介して情報通信が可能な状態で接続され、入力文字列を含む入力情報を前記サーバ装置に送信する端末装置とを備え、前記サーバ装置が、前記複数の対象情報と、複数のタグ文字列とを一対一に関連づけて蓄積する蓄積手段と、前記端末装置から受信した前記入力情報に基づいて、前記入力文字列から複数のキー文字列を抽出することにより、キーワード情報を生成する解析手段と、前記解析手段により生成された前記キーワード情報に基づいて、前記複数のタグ文字列のうち候補となるタグ文字列を選択する検索手段と、前記検索手段により選択された前記候補となるタグ文字列に関連づけられている対象情報を含む提供情報を生成する生成手段と、前記生成手段により生成された前記提供情報を前記端末装置に送信するサーバ側通信手段とを備え、前記端末装置が、ユーザによる操作を受け付け、前記入力情報を生成する入力手段と、前記入力手段により生成された前記入力情報を前記サーバ装置に送信するとともに、前記サーバ側通信手段により送信された前記提供情報を受信する端末側通信手段と、前記端末側通信手段により受信された前記提供情報を表示する表示手段とを備え、前記検索手段は、前記複数のキー文字列の全てを含むタグ文字列であって、かつ、当該タグ文字列における前記複数のキー文字列の出現順序が、前記入力文字列における前記複数のキー文字列の出現順序に一致する場合に、当該タグ文字列を、前記候補となるタグ文字列として選択することを特徴とする。
【００１３】
また、請求項２の発明は、請求項１の発明に係る検索システムであって、前記蓄積手段は、前記複数のタグ文字列から抽出された複数の抽出文字列のそれぞれに、当該抽出文字列を含むタグ文字列を特定するための識別情報を関連づけて蓄積し、各抽出文字列に関連づけられた前記識別情報に、当該識別情報により特定されるタグ文字列における当該抽出文字列の出現順序を示す順位情報を関連づけて蓄積することを特徴とする。
【００１４】
また、請求項３の発明は、複数の対象情報を蓄積しつつ、蓄積した前記複数の対象情報の中からユーザが所望する対象情報を提供する検索システムであって、ネットワークに接続されるサーバ装置と、前記サーバ装置との間で前記ネットワークを介して情報通信が可能な状態で接続され、入力文字列を含む入力情報を前記サーバ装置に送信する１以上の端末装置とを備え、前記サーバ装置が、前記複数の対象情報と複数のタグ文字列とを一対一に関連づけて蓄積するとともに、各タグ文字列と、各タグ文字列から生成される複数の抽出文字列とを関連づけて蓄積する蓄積手段と、前記端末装置から受信した前記入力情報に基づいて、前記入力文字列から複数のキー文字列を抽出し、前記入力文字列における前記複数のキー文字列の出現順序を入れ替えることなく結合して１つの検索文字列を生成することにより、キーワード情報を生成する解析手段と、前記解析手段によって生成された前記キーワード情報に基づいて、複数の前記抽出文字列のうち前記検索文字列と一致する抽出文字列が存在する場合に、当該検索文字列と一致する抽出文字列を含んでいたタグ文字列を候補となるタグ文字列として選択する検索手段と、前記検索手段により選択された前記候補となるタグ文字列に関連づけられている対象情報を含む提供情報を生成する生成手段と、前記生成手段により生成された前記提供情報を前記端末装置に送信するサーバ側通信手段とを備え、前記端末装置が、ユーザによる操作を受け付け、前記入力情報を生成する入力手段と、前記入力手段により生成された前記入力情報を前記サーバ装置に送信するとともに、前記サーバ側通信手段により送信された前記提供情報を受信する端末側通信手段と、前記端末側通信手段により受信された前記提供情報を表示する表示手段とを備え、前記抽出文字列は、元となるタグ文字列を分割することにより得られる複数の部分文字列から２以上の部分文字列を抽出し、前記元となるタグ文字列における抽出した２以上の部分文字列の出現順序を入れ替えることなく結合させて生成される文字列であることを特徴とする。
【００１５】
また、請求項４の発明は、請求項１ないし３のいずれかの発明に係る検索システムであって、前記生成手段は、前記候補となるタグ文字列を前記提供情報に付加し、前記表示手段は、前記提供情報に付加された前記候補となるタグ文字列を表示することを特徴とする。
【００１６】
また、請求項５の発明は、請求項１ないし４のいずれかの発明に係る検索システムであって、前記入力手段が、前記入力文字列を入力するための複数のキーを備え、前記複数のキーのそれぞれに、所定の対応関係に従って１以上の文字が対応づけられるとともに、当該キーを操作することによって入力可能な文字として前記１以上の文字のうちの１つのみが割り当てられており、前記検索手段は、前記抽出文字列を所定の変換規則に従って変換した変換文字列について、前記キー文字列との一致を判定することにより、前記抽出文字列と前記キー文字列との一致を判定することを特徴とする。
【発明の効果】
【００１７】
請求項１，２および４，５に記載の発明では、検索手段は、複数のキー文字列の全てを含むタグ文字列であって、かつ、当該タグ文字列における複数のキー文字列の出現順序が、前記入力文字列における複数のキー文字列の出現順序に一致する場合に、当該タグ文字列を、候補となるタグ文字列として選択することにより、ユーザが入力した複数のキー文字列の順序を検索に利用することができる。したがって、ユーザの所望する対象情報が提供される確率が向上し、利便性が向上する。
【００１８】
請求項３ないし５に記載の発明では、抽出文字列として、元となるタグ文字列を分割することにより得られる複数の部分文字列から２以上の部分文字列を抽出し、元となるタグ文字列における抽出した２以上の部分文字列の出現順序を入れ替えることなく結合させて生成される文字列を蓄積し、端末装置から受信した入力情報に基づいて、入力文字列から複数のキー文字列を抽出し、入力文字列における複数のキー文字列の出現順序を入れ替えることなく結合して１つの検索文字列を生成し、複数の抽出文字列のうち検索文字列と一致する抽出文字列が存在する場合に、当該検索文字列と一致する抽出文字列を含んでいたタグ文字列を候補となるタグ文字列として選択することにより、ユーザが入力したキー文字列の順序を検索に利用することができる。したがって、ユーザの所望する対象情報が提供される確率が向上し、利便性が向上する。また、一回の検索処理によって候補となるタグ文字列を選択することができるため、処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
【００２０】
＜１．  第１の実施の形態＞
図１は、本発明に係る検索システム１の構成を示す図である。検索システム１は、ネットワーク８に接続されるサーバ装置１０と、携帯電話３０とを備えており、携帯電話３０は、ネットワーク８を介してサーバ装置１０との間で情報通信が可能な状態で接続されている。詳細は後述するが、本実施の形態における検索システム１は、提供する複数の電話番号（対象情報）と、各電話番号の契約者の住所・氏名（タグ文字列）とを、固有の識別番号によって一対一に関連づけて蓄積している。すなわち、検索システム１は、電話番号案内システムとしての機能を有しているが、本発明は、電話番号案内システムに限られるものではなく、これ以外のシステムにも適用可能である。例えば、電話番号の代わりにインターネットアドレス（ＵＲＬ）を案内するシステムであってもよいし、曲名をキーワードとして音声データが案内されるシステムなど様々な応用利用が可能である。
【００２１】
なお、ネットワーク８としては、インターネット、公衆電話網あるいはＬＡＮなどを用いることができる。また、ユーザがキーワードを入力する端末装置は、携帯電話３０に限られるものではなく、固定電話や小型携帯端末、あるいは一般的なパソコンであってもよい。すなわち、ネットワーク８に接続することができ（常時接続されていなくてもよい）、サーバ装置１０との間でデータ通信が可能な装置であれば、どのような装置が端末装置とされてもよい。また、図１では、端末装置として１台の携帯電話３０のみ図示しているが、端末装置の数はこれに限られるものではなく、一般に多数の端末装置がネットワーク８に接続される。また、各端末装置は、互いに同じ装置でなくてもよい。
【００２２】
図２は、サーバ装置１０の構成を示すブロック図である。サーバ装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、固定ディスク１４、ディスプレイ１５、操作部１６、読取装置１７、カードスロット１８、および通信部１９を備えており、これらの構成が適宜インタフェースＩ／Ｆを介してバス配線上に接続されている。
【００２３】
ＣＰＵ１１は、ＲＯＭ１２や固定ディスク１４に記憶されているプログラム（プログラム１４０など）に従って、ＲＡＭ１３をワークエリアとして使用しつつ動作することにより、後述する各種データの処理や演算を行う。また、適宜制御信号を生成して、サーバ装置１０の各構成を制御する。
【００２４】
図３は、主にＣＰＵ１１がプログラム１４０に従って動作することにより実現される機能構成をデータの流れとともに示す図である。図３に示す、解析部１１０、検索部１１１および生成部１１２がＣＰＵ１１によって実現される機能構成である。
【００２５】
解析部１１０は、通信部１９がネットワーク８を介して携帯電話３０から受信した入力データ１２０に基づいて、当該入力データ１２０に示されている入力文字列からキー文字列を抽出することにより、キーワードデータ１２１を生成する。入力データ１２０とは、携帯電話３０においてユーザが入力した文字列（以下、「入力文字列」と称する）を含むデータである。また、入力文字列とは、１以上のキー文字列（以下、「キーワード」と称する）と、複数のキーワードを入力した場合に各キーワードの間に挿入される区切り文字とから構成される文字列である。また、キーワードデータ１２１とは、区切り文字を目印にして、入力データ１２０の入力文字列を分割した１以上のキーワードと、入力データ１２０における各キーワードの出現順序を示す情報（出現順位）とを関連づけたテーブル構造のデータである。
【００２６】
図４は、本実施の形態における入力データ１２０およびキーワードデータ１２１の例を示す図である。図４に示す例において、入力文字列とは、「神戸＃北野」の５文字からなる文字列であり、キーワードとは、「神戸」および「北野」というそれぞれ２文字からなる２つの文字列である。また、区切り文字とは、「＃」である。解析部１１０は、区切り文字を検出しない場合には、入力文字列は１つのキーワードであるとみなす。
【００２７】
なお、本実施の形態における検索システム１では、図４に示す例のように、「＃」を区切り文字として規定しているが、区切り文字として、どの文字を規定するかは任意である。ただし、区切り文字は、ユーザと検索システム１との間で予め規定されることが必要であり、タグデータ１２２に使用されない文字であって、携帯電話３０などの簡易端末からでも容易に入力可能な文字であることが好ましい。
【００２８】
図４に示す例では、入力文字列におけるキーワードの出現順位は、「神戸」が１番目であるので「１」、「北野」が２番目であるので「２」が、それぞれのキーワードに関連づけられている。なお、キーワードの出現順序とは、おおよそユーザによるキーワードの入力順となるが、ユーザが入力後に修正することもあるので、より厳密には入力が完了した時点におけるキーワードの並び順である。また、キーワードデータ１２１には区切り文字は含まれない。
【００２９】
図３に戻って、検索部１１１は、キーワードデータ１２１に基づいて、複数のタグ文字列のうち候補となるタグ文字列を選択する。これは、キーワードデータ１２１に含まれるキーワードを用いて、抽出文字列データ１２３を検索することにより行うが、その手法の詳細は後述する。検索部１１１は、候補となるタグ文字列を選択した場合（入力されたキーワードに対してヒットする住所・氏名が存在していた場合）、その候補となるタグ文字列の識別番号を示す候補データ１２５を生成する。
【００３０】
生成部１１２は、候補データ１２５に示される識別番号に応じて、候補となるタグ文字列（タグデータ１２２）と、当該タグ文字列に関連づけられている電話番号（対象データ１２４）とを固定ディスク１４から読み出して、提供データ１２６を生成する。
【００３１】
図２に戻って、固定ディスク１４は、プログラム１４０や後述する各種データが蓄積される装置であって、例えば、ハードディスクなどが該当する。前述のように、本実施の形態における固定ディスク１４は、電話番号と、各電話番号の契約者の住所・氏名とを、共通の識別番号によって一対一に関連づけて蓄積している。
【００３２】
図５は、契約者の住所・氏名と、電話番号とが、共通の識別番号により関連づけられて蓄積される様子を示す図である。図５に示すデータ構造は、従来の装置において用いられている一般的なリレーショナルデータベースの構造であり、固定ディスク１４に構築される。
【００３３】
これにより、検索システム１では、１つの識別番号を指定することにより、１つの電話番号と、１つのタグ文字列とを特定することが可能となる。図５に示す例では、識別番号「０００２」を指定することにより、タグ文字列「札幌市南区北野神戸一郎」が特定されるとともに、電話番号「番号Ｂ」が特定される。
【００３４】
また、固定ディスク１４は、蓄積しているタグ文字列から抽出される複数の単語（抽出文字列）と、各単語を含んでいるタグ文字列を識別するための識別情報とを関連づけて蓄積している。さらに、各単語に関連づけられた識別番号に、当該識別番号により特定されるタグ文字列における当該単語の出現順序を示す順位情報を関連づけて、抽出文字列データ１２３として蓄積している。
【００３５】
図６は、図５に示す識別番号「０００１」のタグ文字列について抽出文字列データ１２３を作成した例を示す図である。識別番号「０００１」のタグ文字列からは、８個の単語が抽出されている。また、それぞれの単語には、その単語を含むタグ文字列を識別するための識別番号が関連づけられている。図６に示す単語は、全て識別番号「０００１」のタグ文字列から抽出されたものであるから、この状態では各単語に関連づけられる識別番号はすべて「０００１」となっている。
【００３６】
さらに、各単語に関連づけられている識別番号には、当該識別番号のタグ文字列における当該単語の出現順序を示す数字が関連づけられている。すなわち、図６に示す例では、識別番号「０００１」のタグ文字列を単語に分割した場合に、「中央」という単語は、「神戸」、「市」に次いで、「３」番目の単語であるので、「３」という数字が関連づけられる。
【００３７】
なお、図６に示すように、本実施の形態においては、タグ文字列を個々の単語に分割して抽出文字列を作成する。すなわち、各抽出文字列は１つの単語で構成されているもののみ存在している。しかし、ユーザがまとめて１つのキーワードとして入力する可能性のある文字列を抽出文字列としてもよい。例えば、ユーザがキーワードとして「神戸市」や「神戸市中央区」と入力することが想定される場合には、「神戸」という抽出文字列とともに、「神戸市」や「神戸市中央区」といった抽出文字列も作成しておくとよい。また、そのような複数の単語からなる抽出文字列を作成するに際しては、図６に示すような単語群を作成した後に、その出現順位に基づいて、隣り合う単語を結合させることによって作成してもよい。これにより、ユーザが「神戸」、「神戸市」、または「神戸市中央区」と入力したいずれの場合でも、単語の間に逐一区切り文字を使用することなく、識別番号「０００１」のタグ文字列をヒットさせることができる。また、１つのキーワードとして独立して入力される可能性の少ない文字列（「市」「区」「町」など）については、逆に抽出文字列として列挙することなく省略してもよい。すなわち、抽出文字列データ１２３を作成する際には、抽出文字列の特性や、ユーザの入力態様を予測して作成することが好ましい。
【００３８】
図７は、図５に示すタグ文字列から生成される抽出文字列データ１２３の例を示す図である。図７に示すように、単語「神戸」は、識別番号「０００１」「０００２」「０００３」のタグ文字列に含まれているため、それら複数の識別番号がそれぞれ関連づけられている。また、それらの識別番号には、それぞれのタグ文字列における単語「神戸」の出現順位を示す数字が関連づけられている。すなわち、単語「神戸」は、識別番号「０００２」のタグ文字列においては、「６」番目に出現する単語であり、識別番号「０００３」のタグ文字列においては、「７」番目に出現する単語であることが示されている。
【００３９】
本実施の形態における検索システム１では、固定ディスク１４に蓄積されるこれらのデータ（図５および図７に示すようなデータ）は、サーバ装置１０において作成されてもよいし、外部の装置で作成した後、メモリカード９１やディスク９２といった可搬性の記録媒体を介して、カードスロット１８や読取装置１７が読み取ることによって取得され、蓄積されてもよい。なお、図５に示すような複数のタグ文字列に基づいて、図７に示すような抽出文字列データ１２３を作成する作業は、既知の構文解析エンジンによって自動的に行ってもよい。あるいは、この処理はオペレータによって手動で行われてもよい。また、自動的に処理した後、オペレータによって修正されてもよい。
【００４０】
図２に戻って、ディスプレイ１５は、ＣＰＵ１１からの制御信号に応じて、各種データを画面表示する機能を有している。これにより、オペレータは、サーバ装置１０のメンテナンスや、各種データの作成などの作業において、画面を確認しつつ行うことができる。操作部１６は、図２に示すように、キーボード１６ａおよびマウス１６ｂなどから構成され、サーバ装置１０に対してオペレータが指示を入力する際に用いられる。
【００４１】
通信部１９は、ネットワーク８を介して携帯電話３０との間でデータ通信を行うための機能を有しており、主に本発明におけるサーバ側通信手段に相当し、携帯電話３０から送信される入力データ１２０を受信するとともに、提供データ１２６を携帯電話３０に送信する。
【００４２】
図８は、携帯電話３０の構成を示すブロック図である。携帯電話３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、ディスプレイ３５、操作ボタン３６、および通信部３９を備える。
【００４３】
ＣＰＵ３１は、ＲＯＭ３２に記憶されているプログラム３２０に従って、ＲＡＭ３３をワークエリアとして使用しつつ動作することにより、後述する各種データの処理や演算を行う。また、適宜制御信号を生成して、携帯電話３０の各構成を制御する。
【００４４】
ディスプレイ３５は、入力データ１２０に含まれる入力文字列や、提供データ１２６に含まれる各種データを画面に表示する。ディスプレイ３５に表示されるデータを確認することにより、ユーザは検索システム１によって提供される電話番号などを知得することができる。
【００４５】
操作ボタン３６は、複数のボタンから構成され、ユーザによる入力文字列の入力操作を受け付け、入力データ１２０を生成する。また、操作ボタン３６は、入力文字列の入力以外にも、携帯電話３０に対するユーザの指示を入力するためにも使用される。
【００４６】
通信部３９は、サーバ装置１０との間でネットワーク８を介したデータ通信を行う機能を有している。通信部３９は、入力データ１２０をサーバ装置１０に送信するとともに、サーバ装置１０から送信された提供データ１２６を受信する。
【００４７】
以上が本実施の形態における検索システム１の機能および構成の説明である。
【００４８】
次に、検索システム１の動作について説明する。なお、検索システム１が、ユーザに対して、サービスの提供を開始する前に、図５および図７に示すようなデータベースが固定ディスク１４に予め構築されており、各データが蓄積されているものとする。また、図４に示す入力文字列が入力される場合を例に、本実施の形態における検索システム１の動作を説明する。
【００４９】
ユーザが入力した「神戸＃北野」という入力文字列は、入力データ１２０として通信部３９によってサーバ装置１０に送信される。ネットワーク８を介して、この入力データ１２０を受信したサーバ装置１０の通信部１９は、受信した入力データ１２０をＲＡＭ１３上に転送する。
【００５０】
入力データ１２０がＲＡＭ１３に転送されると、サーバ装置１０の解析部１１０が入力データ１２０について前述の解析処理を行い、図４に示すキーワードデータ１２１を生成する。
【００５１】
入力データ１２０に対する解析処理が終了し、キーワードデータ１２１が作成されると、検索部１１１がキーワードデータ１２１に示されるキーワードを用いて、順序付きアンド検索を実行する。
【００５２】
まず、検索部１１１は、キーワード「神戸」によって抽出文字列データ１２３の各抽出文字列を検索することにより、「神戸」の文字列を含むタグ文字列の識別番号「０００１」「０００２」「０００３」を取得する。同様に、キーワード「北野」の文字列を含むタグ文字列の識別番号「０００１」「０００２」を取得する。
【００５３】
次に、取得したタグ文字列の識別番号のそれぞれについて、すべてのキーワードにおいて当該識別番号が取得されているか否かを判定し、すべてのキーワードにおいて取得されている識別番号を候補となるタグ文字列の識別番号として絞り込む。図７に示す例では、識別番号「０００３」が、「北野」という単語と関連づけられていないことから、識別番号「０００３」のタグ文字列は候補から除かれ、候補としては識別番号「０００１」および「０００２」のタグ文字列が残る。この処理は、ユーザが入力したすべてのキーワードを含むタグ文字列を候補として選択する処理となることから、従来のアンド検索にほぼ相当する処理である。
【００５４】
さらに、検索部１１１は、残った候補となるタグ文字列に対して、キーワードの出現順序による絞り込みを行う。まず、抽出文字列データ１２３において、候補のタグ文字列の識別番号に関連づけられている抽出文字列の出現順位を取得する。ここに示す例では、識別番号「０００１」における抽出文字列「神戸」の出現順位は「１」であり、抽出文字列「北野」の出現順位は「５」である。したがって、それぞれの抽出文字列「神戸」「北野」について取得される出現順位は「１」「５」である。
【００５５】
次に、それぞれの抽出文字列の出現順位の大小を判定することにより、キーワードと一致した抽出文字列の当該タグ文字列における出現順序を判定する。ここに示す例では、識別番号「０００１」のタグ文字列において、キーワードと一致した抽出文字列の出現順序は「神戸」「北野」の順であると判定される。
【００５６】
次に、検索部１１１は、キーワードデータ１２１を参照することにより、キーワードの出現順序（並び）を判定する。図４に示す例では、キーワード「神戸」の出現順位は「１」であり、キーワード「北野」の出現順位は「２」であるから、入力文字列におけるキーワードの出現順序は「神戸」「北野」の順であると判定される。
【００５７】
タグ文字列における出現順序および入力文字列における出現順序の判定が終了すると、検索部１１１は、これらが一致するか否かの判定を行う。図４に示す入力文字列の場合、図７に示す識別番号「０００１」のタグ文字列において、キーワードの出現順位と抽出文字列の出現順序は互いに一致する。したがって、検索部１１１は、識別番号「０００１」のタグ文字列を候補のタグ文字列として選択する。
【００５８】
一方、識別番号「０００２」のタグ文字列における抽出文字列「神戸」の出現順位は「６」であり、抽出文字列「北野」の出現順位は「５」である。そのため、検索部１１１は、当該タグ文字列における抽出文字列の出現順序は「北野」「神戸」の順であると判定する。したがって、入力文字列におけるキーワードの出現順序と一致しないことから、識別番号「０００２」のタグ文字列を候補のタグ文字列から除外する。
【００５９】
このように、本実施の形態における検索システム１では、検索部１１１が従来のアンド検索ではなく、タグ文字列に対して、ユーザが入力したキーワードの出現順序を利用した順序付きアンド検索を行うことにより、従来のシステムでは絞り込むことができなかった状況であっても、ユーザに負担をかけることなく、絞り込むことができる。したがって、システムの利便性が向上する。
【００６０】
特に、タグ文字列が住所・氏名などの固有名詞からなる文字列である場合には、同じ文字列が使用される頻度が高く、複数のキーワードを用いた従来のアンド検索では十分に候補を絞り込むことができないという事情があった。逆に、このようなタグ文字列について、ユーザは、「県」「市」「区」「町」「氏」「名」等の「意味」を理解していることから、入力する順序の正確性を要求されたとしても、煩わしさを感じることなく、正確に入力することができる。
【００６１】
検索部１１１は、アンド検索によって候補となったすべてのタグ文字列について、出現順序による絞り込みが終了すると、出現順序が一致したタグ文字列を候補のタグ文字列として選択し、当該タグ文字列の識別番号からなる候補データ１２５を生成する。
【００６２】
候補データ１２５が生成されると、生成部１１２が候補データ１２５を参照し、候補として選択されたタグ文字列に関連づけられている電話番号（対象データ１２４）を固定ディスク１４のデータベースから検索抽出して、提供データ１２６を生成する。このとき、本実施の形態における検索システム１は、提供データ１２６に当該電話番号に関連づけられているタグ文字列（タグデータ１２２）を付加する。
【００６３】
すなわち、提供データ１２６は、携帯電話３０から送信された入力データ１２０（キーワード）に対して、検索システム１が選択した対象データ１２４（電話番号）と、それに関連づけられたタグデータ１２２（契約者の住所・氏名）を含むデータである。ここで示す例では、提供データ１２６は、電話番号「番号Ａ」、契約者の住所・氏名「神戸市中央区北野町山田一郎」である。
【００６４】
このようにして生成部１１２により生成された提供データ１２６は、通信部１９によってネットワーク８を介して携帯電話３０に送信される。なお、携帯電話３０から送信された入力データ１２０に対して、提供データ１２６を送信すると、サーバ装置１０は、再び入力データ１２０を受信するまで待機状態となる。
【００６５】
一方、送信した入力データ１２０に対して、サーバ装置１０から提供データ１２６を受信した携帯電話３０は、受信した提供データ１２６を参照して、電話番号「番号Ｂ」と、そのタグ文字列「神戸市中央区北野町山田一郎」とをディスプレイ３５に表示する。
【００６６】
これにより、ユーザは、所望する電話番号を知得することが可能となるとともに、当該電話番号の契約者に関する住所・氏名（タグ文字列）が完全な状態で表示されることから、得られた電話番号が所望相手のものであるか否かの確認をすることができる。
【００６７】
以上のように、本実施の形態における検索システム１は、複数の対象情報と、複数のタグ文字列とを一対一に関連づけて蓄積し、ユーザが入力した複数のキーワードの全てを含むタグ文字列であって、かつ、当該タグ文字列におけるキーワードの出現順序が、ユーザが入力した入力文字列におけるキーワードの出現順序に一致する場合に、当該タグ文字列を、候補となるタグ文字列として選択することにより、ユーザが入力した複数のキーワードの順序を検索に利用することができる。したがって、ユーザの所望する対象情報が提供される確率が向上し、利便性が向上する。
【００６８】
また、固定ディスク１４は、複数のタグ文字列から抽出された複数の抽出文字列のそれぞれに、当該抽出文字列を含むタグ文字列を特定するための識別情報を関連づけて蓄積し、各抽出文字列に関連づけられた識別情報に、当該識別情報により特定されるタグ文字列における当該抽出文字列の出現順序を示す順位情報を関連づけて蓄積することにより、順序付きアンド検索を容易に実現することができる。
【００６９】
また、生成部１１２が、候補となるタグ文字列を提供データ１２６に付加して携帯電話３０に送信し、携帯電話３０のディスプレイ３５が、提供データ１２６に付加された候補となるタグ文字列を表示することにより、ユーザは提供された対象データ１２４について完全な状態のタグ文字列を確認することができるため、提供された対象データ１２４が本当に自分の所望する情報であるかを確認することができる。
【００７０】
なお、本実施の形態における検索システム１では、区切り文字を使用しない入力文字列（１つのキーワードしか含まない入力文字列）をも受け付けることができるようにされている。その場合、キーワードの出現順序は定義できないので、順序付きアンド検索ではなく、従来の単一キーワードによる検索処理と同様の処理が行われる。
【００７１】
また、検索システム１では、抽出文字列データ１２３に対する検索のみ行うよう説明したが、従来の検索手法と併用することによって、さらに、ユーザが所望する対象情報を提供できる確率を向上させるように構成してもよい。例えば、まず、入力文字列とタグ文字列との完全一致を検索し、一致するタグ文字列が存在しない場合にのみ、抽出文字列データ１２３に対する検索を行うようにしてもよい。
【００７２】
＜２．  第２の実施の形態＞
第１の実施の形態では、抽出文字列データ１２３において、各抽出文字列（単語）に、それぞれのタグ文字列における当該抽出文字列の出現順序を示す情報（出現順位）を関連づけて蓄積していた。しかし、順序付きアンド検索を実現する手法は、このように、直接出現順序を示す情報を付加しておく手法に限られるものではない。例えば、タグ文字列から抽出される各抽出文字列そのものが、入力されるキーワードの出現順序に関する情報を保持していてもよい。
【００７３】
図９は、このような原理に基づいて構成した第２の実施の形態における検索システム１の固定ディスク１４に蓄積される抽出文字列データ１２３ａの構造を示す図である。第２の実施の形態における検索システム１において、第１の実施の形態における検索システム１と同様のものについては、適宜説明を省略する。
【００７４】
第１の実施の形態における抽出文字列データ１２３は、図７に示すように、各タグ文字列を単語単位に分割して、この単語を構成する文字列を抽出文字列として管理するデータベース構造であった。しかし、本実施の形態における抽出文字列データ１２３ａは、各タグ文字列を単語単位の部分文字列に分割した後、当該タグ文字列におけるそれら部分文字列の出現順序を入れ替えることなく、任意に組み合わせることにより生成される文字列を抽出文字列として管理するデータベース構造を有している。これは、抽出文字列における文字の並び順そのものによって、キーワードの出現順序が表現されていることを意味する。なお、図９に示す抽出文字列は、例示であって、これ以外の単語の組合せによる抽出文字列が作成されてもよい。また、検索システム１が運用されることにより、ユーザによって入力される頻度の少ない組合せから作成されている抽出文字列については、データを間引くようにしてもよい。
【００７５】
図９に示すように、識別番号「０００１」のタグ文字列も、識別番号「０００２」のタグ文字列も、ともに「神戸」「北野」という２つの単語（部分文字列）を含んでいるため、この２つの単語の組合せから、「神戸」と「北野」とを結合させた抽出文字列が作成される。しかし、作成される抽出文字列は単語の出現順序を保存するように（出現順序を入れ替えることなく）結合されるため、識別番号「０００１」に関連づけられる抽出文字列として、「北野神戸」という文字列から構成されるものは作成されず、識別番号「０００２」に関連づけられる抽出文字列として、「神戸北野」という文字列から構成されるものは作成されない。
【００７６】
以上のような抽出文字列データ１２３ａがデータベースとして構築されている第２の実施の形態における検索システム１の動作について、上記実施の形態において説明したのと同様に、ユーザがキーワード「神戸」と「北野」とを入力する場合を例に説明する。
【００７７】
ユーザは、携帯電話３０の操作ボタン３６を操作して、「神戸北野」という文字列を入力する。これにより、入力文字列「神戸北野」を含む入力データ１２０が生成され、通信部３９によってサーバ装置１０に送信される。
【００７８】
サーバ装置１０の通信部１９がこの入力データ１２０を受信すると、解析部１１０が入力データ１２０に基づいて、キーワードデータ１２１を生成する。本実施の形態におけるキーワードデータ１２１は、検索文字列として入力文字列が示されているだけのデータとなるので、ここで示す例では入力文字列「神戸北野」が、そのまま検索文字列「神戸北野」となる。なお、検索文字列は、ユーザによって入力された複数のキーワードを、入力文字列における出現順序を入れ替えることなく結合した文字列である。以下、検索文字列も「キーワード」と称する。
【００７９】
このように、本実施の形態における検索システム１は、ユーザが複数のキーワードによる検索をする場合であっても、当該複数のキーワードをつなげた検索文字列がキーワードとして使用される。すなわち、検索システム１は入力文字列に複数のキーワードが含まれているか否かを意識する必要がないため、ユーザは区切り文字を入力する必要がない。なお、ユーザとの間で区切り文字が規定されている場合には、ユーザは複数のキーワードを区切り文字で区切って入力してもよい。その場合、解析部１１０は、入力文字列から当該区切り文字を単に取り除いた文字列をキーワードとしてキーワードデータ１２１を生成する。
【００８０】
次に、検索部１１１がキーワードデータ１２１に基づいて、抽出文字列データ１２３ａを検索する。すなわち、キーワードと一致する抽出文字列に関連づけられている識別番号を取得し、取得した識別番号のタグ文字列を候補となるタグ文字列として選択する。
【００８１】
ここに示す例では、キーワード「神戸北野」によって検索することにより、抽出文字列「神戸北野」に関連づけられている識別番号「０００１」が取得され、候補となるタグ文字列は、「神戸市中央区北野山田一郎」となる。
【００８２】
一方、従来のアンド検索では候補となるタグ文字列として選択されることとなる識別番号「０００２」のタグ文字列についてみると、識別番号「０００２」には、抽出文字列「北野神戸」が関連づけられているが、抽出文字列「神戸北野」は関連づけられていない。したがって、キーワード「神戸北野」による完全一致検索によって、識別番号「０００２」のタグ文字列が候補となることはない。すなわち、本実施の形態における検索システム１においても、第１の実施の形態における検索システム１と同様に、候補となるタグ文字列を絞り込むことができる。
【００８３】
なお、第２の実施の形態における検索システム１において、候補となるタグ文字列が選択された後の動作は、第１の実施の形態における検索システム１の場合とほぼ同様であるため、説明を省略する。
【００８４】
以上のように、第２の実施の形態における検索システム１は、第１の実施の形態における検索システム１と同様の効果を得ることができる。
【００８５】
また、複数の電話番号と複数のタグ文字列とを一対一に関連づけて蓄積するとともに、複数のタグ文字列のそれぞれに、当該タグ文字列を分割することにより得られる複数の部分文字列（単語）から２以上の部分文字列を抽出し、当該タグ文字列における２以上の部分文字列の出現順序を入れ替えることなく結合させて生成される抽出文字列を関連づけることにより、１回の検索動作で候補となるタグ文字列を選択することができるため、検索処理を高速化することができる。また、ユーザは複数のキーワードを入力するにあたって、区切り文字を使用する必要がないため、入力する際の操作を軽減することができる。
【００８６】
＜３．  第３の実施の形態＞
上記実施の形態では、タグ文字列が日本語文字列であって、キーワードとして入力される入力文字列も日本語文字列である例について説明したが、これらの文字列は日本語文字列に限られるものではない。例えば、アルファベットや数字列であってもよい。
【００８７】
図１０は、このような原理に基づいて構成した第３の実施の形態における検索システム１の抽出文字列データ１２３ｂを示す図である。図１０に示す抽出文字列データ１２３ｂは、第１の実施の形態における検索システム１のデータベースである抽出文字列データ１２３の各単語（抽出文字列）のそれぞれを、当該単語を所定の「変換規則」に従って数字に変換した変換文字列に置き換えた構造となっている。
【００８８】
ここで、前述の変換規則について説明する。図１１は、携帯電話３０の操作ボタン３６を示す図である。操作ボタン３６は、１０個の数字キー３６ａ（数字キー３６１ないし３７０）と２個の機能キー３６ｂ（機能キー３７１，３７２）とを備えており、ユーザがこれら数字キー３６ａと機能キー３６ｂとを操作することにより所望する文字列を入力することが可能とされている。
【００８９】
一般の携帯電話では、１２個のキーで様々な文字を入力するために、１つの数字キーに複数の文字が割り当てられている。そして、ユーザは、予め入力する文字種に関するモードを切り換えたり、該当する数字キーを所定回数分操作することによって、１つの数字キーに割り当てられている複数の文字から、所望する文字を選択して入力する。
【００９０】
しかし、本実施の形態における携帯電話３０の各数字キー３６ａには、複数の文字が割り当てられるが、１つの数字キー３６ａを操作して入力できる文字は、割り当てられた複数の文字のうちの１つの文字のみである。
【００９１】
図１２は、各数字キー３６ａに対応づけられる複数の文字と、当該数字キー３６ａが操作されることによって入力される入力文字と関係を示す図である。図１２に示すように、数字キー３６１には、対応文字「１、あ、い、う、え、お」の複数の文字が対応づけられており、当該数字キー３６１が操作されることによって入力される文字として入力文字「１」が割り当てられている。
【００９２】
すなわち、ユーザが文字「こ」を入力しようとする場合には、図１２に示す対応関係に従って、数字キー３６２を操作するのであるが、そのときに入力される文字は「２」となる。したがって、本実施の形態における検索システム１を利用するユーザは、図１２に示す変換規則（１つのキーに対応づけられている対応文字を、当該キーに割り当てられている入力文字に変換する規則）に従って変換しつつ、入力操作を行うこととなる。
【００９３】
これによって、ユーザが操作ボタン３６を操作する回数が通常の入力手法に比べて、大幅に減少し、ユーザの利便性が向上する。特に、キーワードを入力する端末装置が携帯電話である場合には、装置の小型化などの要請から、文字入力における操作性がキーボードなどに比べて悪く、操作回数を減らすことは、優れた効果を発揮する。
【００９４】
本実施の形態における検索システム１では、各数字キー３６ａに割り当てる入力文字は、図１２に示すように、すべて数字であるので、ユーザによって入力される入力文字列は数字列となる。
【００９５】
したがって、図１０に示す抽出文字列データ１２３ｂの各変換文字列は、図７に示す抽出文字列データ１２３の各抽出文字列を構成する文字を、図１２に示す変換規則に従って入力文字に変換した文字列である。なお、抽出文字列が漢字である場合には、一旦、仮名に変換した後に、前述の変換規則による変換を行う。すなわち、抽出文字列「神戸」は、仮名文字「こうべ」に変換された後、さらに「２１６」に変換される。
【００９６】
次に、図１０に示す抽出文字列データ１２３ｂのようなデータベース構造を有する第３の実施の形態における検索システム１の動作について説明する。なお、図４に示す例と同様に、ユーザが「神戸」「北野」という２つのキーワードによって検索する場合を例に説明する。
【００９７】
図１３は、本実施の形態における入力データ１２０およびキーワードデータ１２１を示す図である。ユーザは、図１２に示す変換規則に従って「神戸」を「２１６」、「北野」を「２４５」として入力する。したがって、入力文字列は、「２１６＃２４５」となっている。
【００９８】
このような入力文字列を含む入力データ１２０を受信したサーバ装置１０では、第１の実施の形態と同様に、解析部１１０がキーワードデータ１２１を生成する。すなわち、区切り文字「＃」を目印にして、キーワード「２１６」と「２４５」とを抽出し、その出現順位「１」「２」をそれぞれ関連づける。
【００９９】
キーワードデータ１２１が生成されると、検索部１１１による検索処理が実行される。本実施の形態における検索部１１１による検索処理も第１の実施の形態における検索部１１１とほぼ同様であるので、簡単に説明する。
【０１００】
すなわち、キーワードデータ１２１に基づいて、抽出文字列データ１２３ｂの変換文字列のうち、キーワード「２１６」「２４５」にそれぞれ一致する変換文字列を選択し、一致した変換文字列に関連づけられている識別番号を参照することにより、キーワード「２１６」と「２４５」のいずれをも含むタグ文字列を選択する。これにより、識別番号「０００１」「０００２」のタグ文字列が、一旦候補として選択される。
【０１０１】
次に、選択した識別番号に関連づけられている出現順位を参照して、各タグ文字列におけるキーワードと一致した変換文字列の出現順序を判定する。また、キーワードデータ１２１に示されているキーワードの出現順位を参照して、キーワードの出現順序を判定する。さらに、これらの出現順序が一致するか否かを判定して、出現順序が一致したタグ文字列を候補となるタグ文字列として選択する。
【０１０２】
このようにして、候補となるタグ文字列が選択され、検索部１１１により当該候補となるタグ文字列の識別番号を示す候補データ１２５が生成される。なお、候補データ１２５が生成された後の処理は、第１の実施の形態における処理と同様であるので説明を省略する。
【０１０３】
以上のように、第３の実施の形態における検索システム１も上記実施の形態における検索システム１と同様の効果を得ることができる。
【０１０４】
また、検索部１１１が、抽出文字列を、所定の変換規則に従って変換した変換文字列について、ユーザが入力したキーワードとの一致を判定して、この結果に応じて、抽出文字列とキーワードとの一致を判定することにより、入力されるキーワードと、タグ文字列とが、直接一致しない文字で表現される場合であっても、順序付きアンド検索を行うことができる。
【０１０５】
なお、本実施の形態において示したように、複数の文字を１つの入力文字で表現することにより、異なる文字から構成される抽出文字列が、同じ文字から構成される変換文字列に変換されてしまい、結果として、通常の入力手法によってキーワードが入力される場合に比べて候補となるタグ文字列の数が増加する。したがって、このような候補となるタグ文字列の数が比較的多くなる入力手法を採用する場合に、本実施の形態における検索システム１を適用して、順序付きアンド検索を実行することにより、効果的に候補となるタグ文字列を絞り込むことができる。
【０１０６】
＜４．  変形例＞
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【０１０７】
例えば、入力文字列に含まれる複数のキーワードについて、出現順序が先のキーワードによって、タグ文字列を先頭の文字から最後の文字に向かって検索を行い、検索しているキーワードと一致する文字列が見つかった場合には、その文字列の次の文字から、さらに後ろに向けて、次のキーワードによる検索を行うようにしてもよい。この場合、タグ文字列を構成する最後の文字に到達するまでに、すべてのキーワードと一致する文字列が見つかったタグ文字列を、候補となるタグ文字列として選択すればよい。
【０１０８】
また、上記実施の形態では、キーワードが単語単位に入力される場合について説明したが、キーワードは略語や、愛称などであってもよい。例えば、タグ文字列の氏名として「エリザベス」という文字列が含まれている場合に、抽出文字列として「ベス」という文字列を作成するようにしてもよい。
【０１０９】
また、上記実施の形態における検索システム１では、対象情報に関連づけられるタグ文字列が１つである場合について説明したが、１つの対象情報に関連づけられるタグ文字列は複数であってもよい。例えば、契約者の住所に関するタグ文字列と、契約者の氏名に関するタグ文字列のように複数のフィールドに対応したタグ文字列が１つの対象情報に関連づけられていてもよい。その場合には、フィールドの順序に応じて、順序付きアンド検索を実行するように構成してもよい。
【０１１０】
また、サーバ装置１０は、１つの装置で構成されていなくてもよい。すなわち、検索システム１のデータベースは複数の装置に分散して蓄積されていてもよい。
【図面の簡単な説明】
【０１１１】
【図１】本発明に係る検索システムの構成を示す図である。
【図２】サーバ装置の構成を示すブロック図である。
【図３】主にサーバ装置のＣＰＵがプログラムに従って動作することにより実現される機能構成をデータの流れとともに示す図である。
【図４】入力データおよびキーワードデータの例を示す図である。
【図５】契約者の住所・氏名（タグ文字列）と、電話番号（対象情報）とが、共通の識別番号により関連づけられて蓄積される様子を示す図である。
【図６】第１の実施の形態における抽出文字列データが作成される過程を示す図である。
【図７】第１の実施の形態における抽出文字列データの構造を示す図である。
【図８】携帯電話の構成を示すブロック図である。
【図９】第２の実施の形態における抽出文字列データの構造を示す図である。
【図１０】第３の実施の形態における抽出文字列データの構造を示す図である。
【図１１】携帯電話の操作ボタンを示す図である。
【図１２】第３の実施の形態における変換規則を説明する図である。
【図１３】第３の実施の形態における入力データおよびキーワードデータとを示す図である。
【図１４】従来の検索システムにおけるデータベースの構造を示す図である。
【符号の説明】
【０１１２】
１  検索システム
１０  サーバ装置
１１０  解析部
１１１  検索部
１１２  生成部
１２０  入力データ
１２１  キーワードデータ
１２２  タグデータ
１２３，１２３ａ，１２３ｂ  抽出文字列データ
１２４  対象データ
１２５  候補データ
１２６  提供データ
１４  固定ディスク
１９，３９  通信部
３０  携帯電話（端末装置）
３５  ディスプレイ
３６  操作ボタン
３６ａ，３６１〜３７０  数字キー
３６ｂ，３７１，３７２  機能キー
８  ネットワーク
【図１】
2005301514.tif 000003
【図２】
2005301514.tif 000004
【図３】
2005301514.tif 000005
【図４】
2005301514.tif 000006
【図５】
2005301514.tif 000007
【図６】
2005301514.tif 000008
【図７】
2005301514.tif 000009
【図８】
2005301514.tif 000010
【図９】
2005301514.tif 000011
【図１０】
2005301514.tif 000012
【図１１】
2005301514.tif 000013
【図１２】
2005301514.tif 000014
【図１３】
2005301514.tif 000015
【図１４】
2005301514.tif 000016