JP2012532388A - マップサーチのためのクエリパーシング - Google Patents

マップサーチのためのクエリパーシング Download PDF

Info

Publication number
JP2012532388A
JP2012532388A JP2012518721A JP2012518721A JP2012532388A JP 2012532388 A JP2012532388 A JP 2012532388A JP 2012518721 A JP2012518721 A JP 2012518721A JP 2012518721 A JP2012518721 A JP 2012518721A JP 2012532388 A JP2012532388 A JP 2012532388A
Authority
JP
Japan
Prior art keywords
token
location
score
query
term
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012518721A
Other languages
English (en)
Other versions
JP5462361B2 (ja
Inventor
ユ・ワン
Original Assignee
グーグル・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by グーグル・インコーポレーテッド filed Critical グーグル・インコーポレーテッド
Publication of JP2012532388A publication Critical patent/JP2012532388A/ja
Application granted granted Critical
Publication of JP5462361B2 publication Critical patent/JP5462361B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ユーザクエリパーシングに基づく、マップサーチのためのコンピュータベースのシステム、装置および方法の実装形態。例えば、コンピュータ実装されるマップサーチ方法が提供されて、マップサーチのためのユーザからの入力エントリを、入力検索エントリの中の位置情報を表すロケーション部と入力エントリの中のロケーション部に関連する検索対象を表すクエリ部へとパーシングするステップと、マップサーチを実施して、ロケーション部に基づいて地理的領域またはロケーションを取得し、また、クエリ部に関連し、かつ、取得された地理的領域またはロケーションの所に、中に、または近くに位置する1つまたは複数のエンティティに関する情報を検索するステップとを含む。

Description

この特許文書は、マップサーチのためのシステム、装置および方法を含む、マップサーチに関する。
マップサーチは、例えばインターネットなどの1つまたは複数の通信ネットワークの中の、1つまたは複数のコンピュータサーバによって提供される、デジタル地図(digital geographic map)およびデータベースにおける、コンピュータベースの検索である。コンピュータユーザは、文書、ファイルまたはデータをデジタル地図および関連したデータベースから検索(search and retrieve)するコンピュータプログラムである、マップサーチエンジンを使用することができる。
ユーザクエリのパーシングに基づくマップサーチのための、コンピュータベースのシステム、装置および方法のための、実装形態が提供される。
一態様においては、コンピュータ実装されるマップサーチ方法が提供されて、マップサーチのためのユーザからの入力エントリを、入力検索エントリの中の位置情報を表すロケーション部と入力エントリの中のロケーション部に関連する検索対象を表すクエリ部へとパーシングするステップと、マップサーチを実施して、ロケーション部に基づいて地理的領域またはロケーションを取得し、また、クエリ部に関連し、かつ、取得された地理的領域またはロケーションの所に、中に、または近くに位置する1つまたは複数のエンティティに関する情報を検索するステップとを含む。
別の態様においては、コンピュータ実装されるマップサーチ方法が提供されて、マップサーチのためにユーザから受信された入力エントリを、1つまたは複数のトークンを含むトークンシーケンスへと分離するステップであって、各トークンが入力エントリのセグメントを表すタームと、タームにアノテートされ、タームの種類を表すタイプとを含むステップと、トークンシーケンスの可能な分割位置を決定するステップであって、可能な分割位置が、トークンシーケンスを1つまたは2つのサブシーケンスへと分割するステップとを含む。この方法はさらに、可能な分割位置のそれぞれに対する可能な分割方法を決定するステップであって、各可能な分割方法が、トークンシーケンスを(1)位置情報を表す可能なロケーション部および(2)ロケーション部に関連する検索対象を表す可能なクエリ部の少なくとも1つへと分割するステップと、可能な分割方法のそれぞれの正しさの確率に対する分割スコアを決定するステップと、最も高い分割スコアを有する可能な分割方法を、結果として得られた分割方法として選択するステップとを含む。
別の態様においては、コンピュータ実装されるマップサーチを提供するシステムが提供され、マップサーチのためにユーザから受信された入力エントリをロケーション部およびクエリ部の少なくとも1つへとパーシングするパーシングモジュールと、パーシングモジュールから出力を受信し、パーシングされたロケーション部およびクエリ部を受信した後、パーシングされたロケーション部およびクエリ部に関連する情報を検索して、マップサーチ結果をユーザに返す検索モジュールとを含む。一実装形態においては、このシステムは、通信をパーシングモジュールおよび検索モジュール、およびコンピュータに提供するコンピュータネットワークと、コンピュータネットワークと通信しており、ユーザからのマップサーチのための入力エントリを受信し、検索モジュールから結果を受信するクライアントコンピュータとを含むことができる。コンピュータネットワークは、クライアントコンピュータからの入力エントリをパーシングモジュールへ、結果を検索モジュールからクライアントコンピュータへと向かわせる。
別の態様においては、コンピュータ実装されるマップサーチを提供するシステムが提供されて、マップサーチのためにユーザから受信された入力エントリを、少なくとも1つのトークンを含むトークンシーケンスへとトークン化するトークンモジュールであって、各トークンが、入力エントリのセグメントを表すタームと、タームにアノテートされたタイプとを含む、モジュールと、トークンシーケンスの可能な分割位置を決定する手段であって、可能な分割位置がトークンシーケンスを1つまたは2つのサブシーケンスへと分割する、手段と、可能な分割位置のそれぞれに対して可能な分割方法を決定する手段であって、各可能な分割方法が、トークンシーケンスを可能なクエリ部および可能なロケーション部の少なくとも1つへと分割する、手段と、可能な分割方法のそれぞれに対して分割スコアを決定する手段と、最も高い分割スコアを有する可能な分割方法を、結果として得られた分割方法として選択する手段と、トークンモジュールからの出力を受信してマップサーチを実施し、マップサーチ結果をユーザに対して生成する検索モジュールとを含む。
別の態様においては、コンピュータ実装されるマップサーチを提供するシステムが提供され、ユーザにより入力された入力エントリを受信するインターフェースと、処理装置であって、入力エントリをパーシングして入力エントリをロケーション部およびクエリ部の少なくとも1つへと分割し、入力エントリに関連する情報をパーシング結果に基づいて検索する、処理装置とを含む。入力エントリが、ロケーション部とクエリ部とに分割された場合は、処理装置が、地理的領域をロケーション部に基づいて決定し、クエリ部に関連し、かつ、地理的領域内に位置するエンティティに関する情報を検索する。
別の態様においては、コンピュータ実装されるマップサーチを提供するシステムが提供され、ユーザにより入力された入力エントリを受信するインターフェースと、入力エントリを、少なくとも1つのトークンを含むトークンシーケンスへとトークン化し、トークンシーケンスの可能な分割方法を決定する処理装置とを含む。各トークンが、入力エントリのセグメントを表すタームと、タームにアノテートされたタイプとを含み、可能な分割位置がトークンシーケンスを1つまたは2つのサブシーケンスへと分割する。この処理装置は、可能な分割位置のそれぞれに対する可能な分割方法を決定し、各可能な分割方法が、トークンシーケンスを可能なクエリ部および/または可能なロケーション部へと分割し、可能な分割方法のそれぞれに対する分割スコアを決定し、最も高い分割スコアを有する可能な分割方法を、結果として得られた分割方法として選択する。
別の態様においては、命令を格納する機械読み取り可能な記録媒体が提供される。命令は、機械により実行されると、機械に、マップサーチのためのユーザからの入力エントリを、入力エントリに基づくマップサーチの実施に先立って、入力検索エントリの中の位置情報を表すロケーション部および入力エントリの中のロケーション部に関連する検索対象を表すクエリ部へとパーシングするステップと、マップサーチを実施させて、ロケーション部に基づいて地理的領域またはロケーションを取得し、クエリ部に関連し、かつ、取得された地理的領域またはロケーションの所に、中に、または近くに位置する1つまたは複数のエンティティに関する情報を検索するステップとを実行させる。
別の態様においては、複数の命令を記録する機械読み取り可能な記録媒体が提供される。命令は、機械により実行されると機械に、ユーザから受信された入力エントリを、少なくとも1つのトークンを含むトークンシーケンスへとトークン化し、各トークンがタームを含み、タームが入力エントリのセグメントおよびタームにアノテートされたタイプを表す動作と、トークンシーケンスの可能な分割位置を決定し、可能な分割位置が、トークンシーケンスを1つまたは2つのサブシーケンスに分割する動作と、可能な分割位置のそれぞれに対する可能な分割方法を決定し、各可能な分割方法が、トークンシーケンスを可能なクエリ部および/または可能なロケーション部へと分割する動作と、可能な分割方法のそれぞれに対する分割スコアを決定する動作と、最も高い分割スコアを有する可能な分割方法を、結果として得られた分割方法として選択する動作とを実行させる。
さらなる別の態様においては、コンピュータ実装されるマップサーチ方法が提供されて、マップサーチのためのユーザからの入力エントリを、入力エントリに基づくマップサーチの実施に先立って、入力検索エントリの中の位置情報を表すロケーション部および入力エントリの中のロケーション部に関連する検索対象を表すクエリ部へとパーシングさせるステップを含む。入力エントリのパーシングが、入力エントリにより示されるロケーションに対応するジオコードをあらかじめ検索することなしに実行される。この方法は、マップサーチを実施させて、ロケーション部に基づいて地理的領域またはロケーションを取得し、クエリ部に関連し、かつ、取得された地理的領域またはロケーションの所に、中に、または近くに位置する1つまたは複数のエンティティに関する情報を検索させるステップとを含む。
本明細書の中に記載されたコンピュータ実装されるマップサーチのための上記および他の態様は、効率的なマップサーチ、高精度なマップサーチ結果およびユーザへの迅速なマップサーチ結果の配信を含む、1つまたは複数の利益を実現するために実装形態されてよい。
コンピュータ実装されるマップサーチのためのシステム、装置および方法の上記のおよび他の態様の例および実装形態は、図面、記述および請求項の中で、詳細に記述される。
マップサーチのシステムおよび方法を含む、ネットワークシステム100の模範的な図である。 入力エントリをロケーション部とクエリ部とに分割するパーシングシステム200の、概念図である。 図2に示される辞書240の模範的な構造を説明する略図である。 統計モデルを訓練する例を説明するフローチャートである。 図2に示すモデル250の模範的な構造を説明する略図である。 入力エントリをパーシングする模範的な処理を説明するフローチャートである。 入力エントリをパーシングする別の模範的な処理を説明するフローチャートである。 トークンシーケンスに対するロケーション統計スコアを計算する模範的な処理を説明する図である。 トークンシーケンスのタームロケーションスコアを決定する模範的な処理を説明する図である。 トークンシーケンスのタイプロケーションスコア決定する模範的な処理を説明する図である。 トークンシーケンスに対するクエリ統計スコアを計算する模範的な処理を説明する図である。 トークンシーケンスのタームクエリスコアを決定する模範的な処理を説明する図である。 トークンシーケンスのタイプクエリスコアを決定する模範的な処理を説明する図である。 マップサーチを実行する模範的な処理を説明するフローチャートである。 本明細書において記述される技術を実装するための模範的な装置1000のブロック図である。
種々の図面における同様の参照符号は、同様の要素を意味する。
本明細書で記述されるマップサーチにおいては、マップサーチエンジンが、ユーザにより入力されたクエリに対する入力エントリを処理し、ユーザの関心を反映する1つまたは複数の検索結果を、入力エントリ内の情報に基づいて提供する。例えば、ユーザは、特定の地理的ロケーションに、中に、または近くに位置する特定のエンティティ(例えば、企業)または特定の種類のエンティティについての情報を検索してもよい。本明細書の中に記載されたマップサーチ方法およびシステムは、ユーザに、単一のボックスの中に入力エントリを入力させ、入力エントリの中に含まれる地理的ロケーションを表す入力エントリのロケーション部と、エンティティまたは特定の種類のエンティティを検索対象として表すことができる入力エントリのクエリ部とを、知的に認識するように実装されてもよい。例えば、単一のボックスに入力されたユーザ入力エントリ
Figure 2012532388
(Yantai hotel)は、地理的ロケーションを規定するロケーション部
Figure 2012532388
(Yantai)と、地理的ロケーションの中または近傍に位置する検索対象を表すクエリ部「酒店」(hotel)とにパーシングするように処理されうる。従って、マップサーチエンジンは、ユーザがYantai市に、中に、または近くにホテルを見つけるつもりだということと、マップサーチを実行するということを認識する。
入力エントリのロケーション部とクエリ部への分割すなわちパーシングにおいて、 入力エントリは、まず、1つまたは複数のセグメントにパーシングされ、これらセグメントはグループ分けされてロケーション部とクエリ部を構成する。パーシング中に、アドレス関連情報を表す文字(character)、文字(letter)、語(word)または語句のシーケンスが、そのようなものとして認識され、結果的に本明細書で「ターム」と称する単一の意味のあるセグメントとしてパーシングされる。このアドレス関連情報の認識は、例えば、アドレス関連情報を包含する1つまたは複数の辞書またはデータベースを使って達成されうる。
入力エントリのパーシング中に、パラメータ「type」がタームに割り当てられ、すなわちアノテーションされて、タームがアドレス関連情報を包含するかどうか、および、包含する場合は、タームが表すアドレス関連情報のタイプを示す。このタイプアノテーションは、マップサーチの精度を向上させるために用いられてよい。タイプアノテーションは、例えば、パーシング動作の中で使用されるアドレス関連情報を包含する、1つまたは複数の辞書またはデータベースを参照することにより実行されてよい。
タームにアノテーションされるタイプは、あらかじめ定められてもよい。例えば、タイプは、例えば「省」(province)、「市」(city)、「区」(district)、
Figure 2012532388
(county)、
Figure 2012532388
、「村」(village)などの行政区のレベルを、このような行政区を表すアノテーションタームのために含むことができる。タイプは同様に、「Road」というタイプを、タームが道路(road)または街路(street)を表すことを示すために含んでもよい。タイプは同様に、アドレスサフィックスまたはプリフィックス例えば「アドレスネームサフィックス」、「方向サフィックス」(例えば、南、北など)、およびタームが特定のアドレスサフィックスまたはプリフィックスに対応することを示すための「数値化サフィックス(Quantifier Suffix)」などを含むことができる。特に、「None」というタイプは、アドレス関連情報を表さないタームをアノテーションするために定義される。このタイプ「None」がタームに割り当てられたかどうかの判定は、マップサーチエンジンにより使用されるアドレス関連情報を包含する1つまたは複数の辞書またはデータベースの中のエントリに依存し、タイプ「None」は、実際の地理的ロケーションを表すタームに割り当てられてもよいが、それでもなお、パーシング動作の中で使用されるアドレス関連情報を包含する1つまたは複数の辞書またはデータベースの中ではマッチはしない。タームをアノテーションするためのタイプは、言語の特性に基づいて、さまざまな言語に対して明確に定義することができる。
一部の実装形態においては、パーシングは、マップサーチを実行する前に実行されてよい。このように、関連付けられたタイプが、アドレス関連情報を示し、かつ、「None」でない場合は、検索エンジンは、例えば、パーシング動作の結果のロケーション部を、ジオコードデータベースを検索して、ジオコード(geocode)として知られ経度および緯度によりまたは他の方法により示される地理コード(geographic code)を取得することによりロケーションをまず決定するために、用いることができる。タームに対するタイプが「None」の場合は、例えばタームのジオコードを検索することによるロケーションの決定は実行されない。ロケーションが決定された後、例えば、ロケーション部に関連するジオコードが見つかった後に、例えば、ジオコードにより定義されたロケーションまたはその近くでのクエリ部の検索が実行され、検索結果がユーザに配信される。まず入力エントリをパーシングしてロケーション部とクエリ部を抽出および特定し、その後例えばロケーション部に対するジオコードを検索することによりロケーションを決定するこのアプローチの実装形態は、最初の入力エントリまたはそのセグメントに基づいて前処理することなしに、例えば、最初の入力エントリまたはそのセグメントを、前処理をすることなしに一致するジオコードを検索するためにジオコードデータベースへ送信することによってマップサーチを実行することに依存することを避けるため、用いられてよく、マップサーチが、関連するマップサーチ結果を見つける上で高精度を伴って効率的に、また短い検索時間で実行されかつ配信されることを可能にすることができる。
本明細書において、パーシングおよびタイプアノテーションの動作は、集合的に「トークン化」と称する。入力エントリをセグメントへとパーシングし、タイプを入力エントリのセグメントにアノテートする(annotating)パーシング動作は、入力エントリをトークンのシーケンス、またはトークンシーケンスへとトークン化すると記述されてもよく、ここで、各トークンは、入力エントリのセグメントを表すタームと、タームにアノテートされ、どんな種類のアドレス関連情報をタームが表すかを示す、タイプとにより定義される。入力エントリのロケーション部とクエリ部は、トークンシーケンスをロケーション部とクエリ部へと分割することにより決定することができる。
入力エントリのロケーション部とクエリ部へのパーシングする一部の実装形態においては、統計モデルを、統計的なスコア付けを提供して入力エントリの種々の可能性のあるセグメントのさまざまなグループ分けを評価するために使用することができ、最高の統計的スコアを有するセグメントをパーシング動作の結果として選択することができる。本明細書における統計モデルは、訓練モデルに基づいて、および、例えばデータプロバイダ、政府機関、イエローページその他などの電話帳などの異なるデータソースから取得された訓練データを使って訓練されてもよい。訓練データは、アドレスと、エンティティの名称であるタイトル(例えば、企業名など)とを含む。訓練モデルにおいては、タイトルとアドレスのそれぞれは、トークンシーケンスへとトークン化され、タイトルの発生頻度とアドレスの発生頻度とは、トークンシーケンスに包含される、ターム、タイプ、ならびに特定のタームシーケンスおよびタイプシーケンスに関連して記録される。トークンシーケンスをロケーション部とクエリ部に分割する場合、スコアが、それぞれの可能な分割ごとに、統計モデルの中で記録された頻度に基づいて計算される。統計モデルによってもたらされるスコアに基づいて、特定のフィルタリングルールが、不適切な分割を除去して、真の分割を選択するために適用されてよい。
図1は、本明細書の中に記載されたマップサーチのシステムおよび方法の実装に適した、ネットワークシステム100の一例である。ネットワークシステム100は、通信をクライアント110とサーバ120に提供するネットワーク130を介して、1つまたは複数のサーバ120に接続された、またはこれらと通信している1つまたは複数のクライアント110を含む。図1の例は、簡単にするために、2つのクライアント110と2つのサーバ120を例示している。種々の実装形態においては、ネットワークシステム100は、より多くのまたはより少ないクライアント110およびサーバ120を含んでもよい。一部の実装形態においては、クライアント110は、サーバ120の一部の機能を実行してもよく、またサーバ120は、クライアント110の一部の機能を実行してもよい。マップサーチエンジンは、ネットワークシステム100の中に、例えば、1つまたは複数のサーバ120の中に、または1つまたは複数のサーバ120と1つまたは複数のクライアント110との両方の中になど、種々の構成で実装されてもよい。
クライアント110は、例えば携帯電話、パーソナルコンピュータ、携帯情報端末(PDA)、ラップトップなどの装置、またはこれらの装置の1つの上で作動しているスレッドまたはプロセス、および/またはこれらの装置の1つにより実行可能なオブジェクトを含む、さまざまな形態で実装されうる。各クライアント110は、入力エントリをユーザから受信し、入力エントリに対する検索結果をユーザに提供するマップサーチインターフェースと、入力エントリを1つまたは複数のサーバ120へと送信し、検索結果をネットワーク130を介して1つまたは複数のサーバ120から受信する通信インターフェースとを含む。
図1の例においては、各サーバ120は、ネットワーク130を介して受信された入力エントリをパーシングするためのマップサーチエンジンのパーシングシステム200と、パーシングシステム200のパーシング結果に基づいてマップサーチを実行して検索結果を返すマップサーチエンジンのマップサーチシステム140とを含む、サーバエンティティを含む。検索結果は、ネットワーク130を介してクライアント110に送信される。一部の実装形態においては、パーシングシステム200とマップサーチシステム140は、別々のサーバの中に駐在する。他の実装形態においては、パーシングシステム200は、マップサーチシステム140の一部として統合される。クライアント110およびサーバ120のそれぞれは、例えば、有線および無線通信リンクおよび接続などの1つまたは複数の通信リンクを介して、ネットワーク130に接続されてよい。
ネットワーク130は、例えば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、都市規模ネットワーク(MAN)、電話ネットワーク、イントラネット、インターネット、またはこれらの2つ以上の組み合わせ、および他のネットワークなどの、種々の通信ネットワーク構成の中に実装されてよい。
図2は、ユーザからのクエリの入力エントリを、この入力エントリにより規定されるロケーションを表すロケーション部「where」と、このロケーションに関連する対象の検索要求を表すクエリ部「what」とに分割するすなわちパーシングする、パーシングシステム200の例を示す。例えば、入力エントリは、
Figure 2012532388
(「Shanghai Restaurant」)でもよく、ここで
Figure 2012532388
(「Restaurant」)はユーザ検索の対象がレストランであることを示すクエリ部であり、
Figure 2012532388
(「Shanghai」)は、検索対象のロケーションが上海市の中または近傍にあることを示すロケーション部である。パーシングシステム200によるこのパーシングに基づき、マップサーチシステム140は、「Shanghai」の中または近傍の「Restaurant」を検索して、ユーザに配信するための検索結果を返す。
パーシングシステム200は、入力エントリをより小さな要素へとパーシングし、これらのより小さな要素すなわちセグメントをロケーション部とクエリ部とを構成するように処理するように設計される。パーシングシステム200によりパーシングされたこれらのより小さな要素すなわちセグメントは、小さすぎて、セグメントが互いに統計的にほとんど関連性がなくなり、かつ、意味のあるロケーション部およびクエリ部をこのような小さな要素から構成するために、多大な処理、従って時間遅れが必要となるようではならない。例えば、上記の入力エントリ
Figure 2012532388
(「Shanghai Restaurant」)の例は、(1)個別の漢字「上」(up)、
Figure 2012532388
(sea)、「餐」(eatingまたはfood)、および
Figure 2012532388
(building)、(2)「上」、
Figure 2012532388
、および
Figure 2012532388
、(3)
Figure 2012532388
(Shanghai)および
Figure 2012532388
(Restaurant)のように、種々のセグメントに分割することができる。パーシングされたセグメントは、(1)および(2)の例においては、ロケーション部とクエリ部を構成するには有用性が低く、所望のロケーション部とクエリ部とを構成するためには、これら小さな要素の追加の区分けとグループ分けが必要となる。例(3)でパーシングされた要素は、対照的に、適切なロケーション部(Shanghaiに対する
Figure 2012532388
)とクエリ部(restaurantに対する
Figure 2012532388
)である。特定の言語は、その言語の特定の性質のためにユーザからの入力エントリをパーシングする上で、課題を提示する。例えば、英語のユーザクエリは、例えば、「Shanghai」と「Restaurant」がスペースで分離されている「Shanghai Restaurant」などのように、2つの隣接する単語間に間隔のある文字でできた英単語で構成される。英語の2つの隣接する単語間のこのようなスペーシングは、入力エントリを分割するための自然の境界を提供する。しかしながら、中国語、日本語、または韓国語のユーザクエリのための入力エントリは、例えば、
Figure 2012532388
(Shanghai Restaurant)のように、2つの隣接する文字の間にスペーシングのない連続的な文字のシーケンスでありうる。本明細書の中に記載されるパーシングシステム200は、アドレスおよび他のロケーションを表す上で使用される、ロケーション、名称、サフィックス、プリフィックスを含むアドレス関連情報の1つまたは複数の辞書と、入力エントリから位置情報を抽出し適切なロケーション部とクエリ部とを構成する名称データベースとに基づいてパーシング知能を有するように設計されてよい。
一例として、パーシングシステム200は、1つまたは複数のアドレス関連情報の辞書またはデータベースに基づくトークナイザを含むように実装されて、ユーザクエリの入力エントリを、入力エントリ内のロケーション名がトークナイザにより単一のセグメントとして維持されるようにするようにパーシングしてよい。このトークナイザは、入力エントリのパーシングを実行するための、行政団体(administration entity)名、地域名、道路名、および種々のサフィックス、プリフィックスを包含する辞書を使用して、ロケーション名である入力エントリ内の1つのセグメントの好ましくない分割を最小化することができる。例えば、中国語入力エントリの中に包含される中国語街路名「城府路」(Chengfu Road)は、小さい要素に分割される代わりに、パーシングシステム200により1つのセグメントとして維持されてよい。このようなアドレス情報で認識されるパーシングの検索精度および検索レスポンスタイムは、アドレス関連情報を認識せず、入力エントリに包含されるロケーション名を、例えば、中国語街路名「城府路」を個別の漢字の「城」(cheng)、「府」(fu)、および「路」(road)へなどのように、より小さい要素に分割するセグメンテータシステムを使うよりも優れている傾向がある。一部の実装形態においては、トークナイザは、タイプを入力エントリのセグメントにアノテートして、このセグメントがアドレス関連情報を表すかどうか、また、もしそうなら、セグメントが表すアドレス関連情報の種類を示すことができる。
図2のパーシングシステム200は、トークンベースのパーシングシステムであり、説明される例においては、トークン化モジュール210、モデル訓練モジュール220、パーシングモジュール230、辞書240およびモデル250を含む。これらのモジュールは集合的に動作して、パーシングモジュール230が、マップサーチを実行するために、入力エントリをロケーション部とクエリ部へとパーシングすることを可能にする。トークン化モジュール210は、ロケーション名の辞書240からの位置情報に基づいて、入力エントリをトークンへとトークン化する。パーシングモジュール230は、外部からの入力エントリを受信し、この入力エントリをトークン化のためにトークン化モジュール210に送信し、トークン化モジュール210からトークンを受信して、受信されたトークンをトークン、トークンのシーケンスおよびモデル250からの他の項目の統計的得点に基づいて処理して、パーシング動作を実行する。モデル250は、1つまたは複数のデータソースから取得される訓練データを受信および処理するモデル訓練モジュール220により生成され、かつ訓練される。
トークン化モジュール210は、例えば、辞書240から取得されうるアドレス関連およびロケーション関連情報に基づいて、入力エントリをトークンへとトークン化する。実装形態においては、トークンは、入力エントリのセグメントを表すタームと、このタームにアノテートされたタイプとを含むように定義されて、タームがアドレス関連情報を表すかどうか、もしそうなら、どんな種類のアドレス関連情報をタームが表すのかを示すことができる。トークン化モジュール210は、アドレス関連情報を認識することができ、アドレス関連情報を意味のあるトークンへとトークン化する。例えば、入力エントリの中の中国語の語句「成府路」は、トークン化モジュール210により、道路名として認識されて、語句「城府路」からなる単一のトークンをタームとして、かつ、タイプ「Road」を、語句「城府路」が道路名を表すことを示すパラメータとしてトークン化されてもよい。トークン化モジュール210は、アドレス関連またはロケーション関連情報の辞書240を使用してトークン化を実行することができる。辞書240は、アドレス関連情報を格納する。
図3は、辞書240の模範的な構造を説明する略図である。辞書240は、辞書エントリ(DE: dictionary entry)300を有し、各DE300は、タームフィールド310とタイプフィールド320の2つのフィールドを有する。タームフィールド310は、アドレス関連情報を表すタームすなわち語句を格納する。タームは、例えば、「北京市」(Beijing City)、
Figure 2012532388
(Chaoyan District)、
Figure 2012532388
(Chaoyan)などの行政区名、または、
Figure 2012532388
(Changde Road)および「城府路」(Chengfu Road)などの道路名などのアドレス名でありうる。タームは同様に、アドレス関連サフィックスまたはアドレス関連プリフィックスを表すことができる。例えば、タームは、例えば「省」(province)、「市」(city)、「区」(District)、
Figure 2012532388
(county)、
Figure 2012532388
、「村」(village)、「路」(road)、「道」(road)などのアドレスネームサフィックス、例えば
Figure 2012532388
(East)、「西」(West)、「南」(South)、「北」(North)、
Figure 2012532388
(Northeast)、
Figure 2012532388
(Southeast)、「西北」(Northwest)、「西南」(Southwest)などの方向プリフィックスもしくはサフィックス、または、例えば「号」(Number)などの数量サフィックスでありうる。タームは同様に、アドレス、例えば、番号を記述するために用いられうる他の単語や表現でもよい。DE300のタイプフィールド320は、タームが表すアドレス関連情報の種類を示すタイプを包含する。種々のタイプが、定義されてよい。例えば、タイプは、例えば「省」(province)、「市」(city)、「区」(District)、
Figure 2012532388
(county)、
Figure 2012532388
、「村」(village)などの行政区のレベル、例えば「アドレスネームサフィックス」、「方向サフィックス」などのアドレスサフィックスまたはプリフィックス、および「数量サフィックス」を含む。タイプは同様に、対応するタームが道路名を表すために定義された「Road」タイプ、および対応するタームが番号、例えば街路番号を表すために定義された「Number」タイプを含んでよい。他のタイプも同様に、必要に応じて定義されてよい。随意的に、辞書240のDE300はさらに、例えば、アラビア語、中国語、英語、ドイツ語、日本語、韓国語などのタームの言語を示す言語フィールド330を有する。一部の実装形態においては、辞書240は例えば既存のアドレス情報データベースなどの既存のデータ上に構築されてよい。一部の実装形態においては、辞書の辞書エントリは、必要に応じて事前に定義してもよい。
図2に戻ると、トークン化モジュール210は、入力エントリを受信し、入力エントリをトークンへとトークン化し、トークン化された結果をトークンシーケンスとして出力する。一部の実装形態においては、トークン化モジュール210はまず、辞書240に基づいてトークン化を実行し、入力エントリの中のアドレス関連単語すなわちセグメントを認識するようにする。一例として、トークン化モジュール210は、辞書240に基づいてトークン化を実行する、フォワードマキシマムマッチング(FMM: Forward Maximum Matching)を使用する。このFMM手法は、いくつかの文字(例えば、漢字)をイニシャル最大ストリング(initial maximum string)として包含しているストリングを選択し、イニシャル最大ストリングが辞書240の中のタームにマッチするかどうかを判断する。イニシャル最大ストリングが辞書240内の任意のタームにマッチしない場合は、イニシャル最大ストリングから1文字減らすことによりマッチングの判定が継続され、マッチするタームが辞書240の中に見つかるまで、またはストリングが空になるまで、残りの文字を包含するストリングが、辞書240内のタームにマッチするかどうかを判断する。辞書240の中で見つかったマッチするタームと、マッチしたタームに関連するタイプは、トークンのタームとタイプになる。FMM手法に加えて、例えば、バックワードマキシマムマッチング(BMM: Backward Maximum Matching)手法、およびバイディレクショナルマッチング(BM: Bi-direction Matching)手法などの他の方法を、使用してもよい。FMM手法、BMM手法およびBM手法を実装するための一部の例は、既刊文献の中で見つけることができる。
辞書240に基づく上記の処理は、ロケーションを表す可能性のある、入力エントリの1つまたは複数の部分を特定する。一部の実装形態においては、トークン化モジュール210は、数を認識し、もし特定の数字が辞書240の中にタームとして格納されていない場合でさえも、これを「Number」タイプを伴うトークンへとトークン化することができる。一部の実装形態においては、アドレス関連情報として認識されない入力エントリの一部、例えば、辞書240の中にマッチするタームのない入力エントリの一部に対して、トークン化モジュール210は、これらを単語に分割し、これらの単語をトークンのタームとし、トークンの種類を「None」としてアノテートすることができる。タイプ「None」は、対応するタームが、辞書240において定義されたいかなるタイプにも属しないことを示し、この対応するタームは、アドレス関連情報を表さない。例えば、中国語入力エントリの「城大灯具城」(「Chengda Lamps and Lanterns Market」)をトークン化する場合は、トークン化モジュール210は、「城大」(「Chengda」)に対する辞書エントリをロケーション名として持っていない辞書240を参照することにより、中国語の語句「城大」(「Chengda」)がロケーション名ではないということを判断することができる。
トークン化モジュール210により生成されたトークンは、統計モデル250によってもたらされる統計的スコアに結び付けられ、パーシングモジュール230は、入力エントリのロケーション部とクエリ部へのパーシングにおいてこの統計的スコアを考慮する。パーシングシステム200のモデル訓練モジュール220は、統計モデル250を訓練および更新するために提供される。
図4は、統計モデル250を訓練するためのモデル訓練モジュール220により実行される処理400の、一例を説明するフローチャートである。
モデル訓練モジュール220は、ステップS410で、訓練データを1つまたは複数のソースから取得する。一部の実装形態においては、訓練データは、2-ボックスクエリログから取得することができる。2-ボックスログの品質が高性能検索に対して不十分なアプリケーションにおいては、訓練データは、他のソースから取得されてよい。例えば、訓練データは、例えば企業体または政府部門などのデータプロバイダにより提供されうる。訓練データは同様に、例えばイエローページや地図データベース等の他のソースからも取得することができる。訓練データは、アドレスとタイトルとを含む。タイトルは、エンティティの名称、例えば、「Google」のような企業名、
Figure 2012532388
(Kejian Building)のようなビルディング名、「北京市政府」(Beijing City Government)のような官庁名を表す。アドレスの例には、
Figure 2012532388
(No.29 of Zhun Guan Cun Boulevard, Haidian District, Beijing City)が含まれる。一部の実装形態においては、もともと取得された生データは、訓練データとして使用される前に、前処理される必要がある。生データの前処理とは、例えば、タイトルの中の行政区のプリフィックス名、アドレスの中のトレーリングタイトル(trailing title)などの、データの不必要な部分を除去することである。
例えば、タイトルの生データの1個が
Figure 2012532388
(Haidian Hospital in Haidian District of Beijing City)であるとすると、前処理はこれを、プリフィックスしている行政区名
Figure 2012532388
((Haidian District of Beijing City)を除去することにより純粋なタイトル
Figure 2012532388
(Haidian Hospital)へとフィルタリングする。別の例としては、アドレスの生データの1個が
Figure 2012532388
(Haidian Hospital, No.29 of Zhun Guan Cun Boulevard, Haidian District, Beijing City)だとすると、前処理はこれを、サフィックスしている病院名
Figure 2012532388
(Haidian Hospital)を除去することにより純粋なアドレス
Figure 2012532388
(No. 29 of Zhun Guan Cun Boulevard, Haidian District, Beijing City)へとフィルタリングする。
ステップS420において、モデル訓練モジュール220は、前処理されている訓練データの中のタイトルおよびアドレスの中の1つをトークン化モジュール、例えば、トークン化モジュール210へと送信して、およびこのトークン化モジュールからトークン化結果としてのタームおよびタイプを伴うトークンのトークンシーケンスを受信して、トークン化を実行する。随意的に、タイプ修復(type fixing)がステップS430で実行され、トークンシーケンスの中の誤ってアノテートされたタイプを修復する。タイプ修復は、ある規定のルールに従って実行される。例えば、ルールは、「数量サフィックス」というタイプを持つタームが「Number」タイプを伴うタームに続かない場合は、タイプ「数量サフィックス」は、タイプ「None」に変更されるということを規定することができる。例えば、アドレス
Figure 2012532388
(No. 29 of Zhun Guan Cun Boulevard)をトークン化した後、ターム"29"がタイプ「Number」を伴って取得され、ターム「号」(number)がタイプ「数量サフィックス」を伴って取得される。「数量サフィックス」のタイプを伴うターム「号」(number)は、「Number」のタイプを伴うターム「29」に続いているので、「号」(number)のタイプは変更されない。しかしながら、タイトル
Figure 2012532388
(China Time-honored Brand Donglaishun)をトークン化した後では、ターム「号」は、「数量サフィックス」のタイプを伴って取得されてもよいが、同じ漢字「号」はもはや数を表さず、むしろ会社のブランド設定を表す。従って、タイプは、タイプ「None」に変更されることになる。随意的に、トークンシーケンスの中の、タームが同じサフィックスまたはプリフィックスタイプを持つ隣接するトークンは、ステップS440で、単一のトークンに結合されてよい。
ステップS450で、タイトルおよびアドレスにおける発生回数が、タイプおよびタームに関して、トークンシーケンスの中でそれぞれ数えられる。一部の実装形態においては、カウントは、トークンシーケンスの中の特定のタイプシーケンスおよびタームシーケンスに対して実行される。一実装形態においては、タイトルとアドレスにおける発生回数は、以下の項目、
-単一のタームである、タームユニグラム(term unigram)、
-2つの隣接するタームから成るタームシーケンスである、タームバイグラム(term bigram)、
-タイプ「None」を伴う隣接するタームのシーケンス、
-全てのタームのシーケンス、
-単一のタイプである、タイプユニグラム(type unigram)、
-2つの隣接するタイプから成るタイプシーケンスであるタイプバイグラム(type bigram)、および
-全てのタイプのシーケンス、に対してカウントされる。例えば、住所
Figure 2012532388
(Beijing, Chaoyang District, Datun Road)が、数個のトークン、[ターム:北京(Beijing)、タイプ:市(City)]、[ターム:
Figure 2012532388
(Chaoyang)、タイプ:区(District)]、および[ターム:
Figure 2012532388
(Datun Road)、タイプ:Road]を含むトークンシーケンスへとトークン化される場合は、以下の項目に対するアドレス中の発生のカウントは、
タームユニグラム:「北京」(Beijing)、
Figure 2012532388
(Chaoyang)、
Figure 2012532388
(Datun Road);
タームバイグラム:
Figure 2012532388
(Chaoyang of Beijing)、
Figure 2012532388
(Datun Road, Chaoyang);
全てのタームのシーケンス:
Figure 2012532388
(Datun Road, Chaoyang, Beijing);
タイプユニグラム:「市」(City)、「区」(District)、「路」(Road);
タイプバイグラム:「市、区」(City, District)、「区、路」(District, Road);
全てのタイプのシーケンス:「市、区、路」(City、District、Road);ということになる。
上述の項目において、タイプ「None」を伴う隣接するタームのシーケンスは、この例の中ではカウントされない。なぜなら、トークンシーケンス[ターム:北京(Beijing)、タイプ:市(City)]、[ターム:
Figure 2012532388
(Chaoyang)、タイプ:区(District)]、および[ターム:
Figure 2012532388
(Datun Road)、タイプ:路(Road)]の中には、タイプ「None」を伴うタームはないからである。
各カウントされる項目ごとに、タイトルの中でのその発生の回数およびアドレスの中でのその発生の回数が、ステップS460で、それぞれモデル250の中に格納される。
図5は、モデル250の模範的な構造を説明する。モデル250は、モデルエントリ(ME:model entry)500を含む。各カウントされる項目は、モデル250の中に、対応するモデルエントリを有する。1つの実装形態においては、モデルエントリは4つのフィールド:
-「項目」フィールド510であって、タームユニグラム、タイプユニグラム、ならびに、タイプ「None」を伴う隣接するタームのシーケンス、全てのタームのシーケンス、タイプバイグラム、および全てのタイプのシーケンスを含む、タームまたはタイプのシーケンス、の1つの内容を記録するフィールドと、
-「項目タイプ」フィールド520であって、項目が、タームユニグラム、タイプユニグラム、タイプバイグラム、タームバイグラム、タイプ「None」を伴う隣接するタームのシーケンス、全てのタームのシーケンス、および全てのタイプのシーケンス、という項目タイプの中の、どのタイプであるかを記録するフィールドと、
-「タイトルの中の発生回数」フィールド530であって、対応する項目がタイトルの中で何回発生するかを記録するフィールドと、
-「アドレスの中の発生回数」フィールド540であって、対応する項目がアドレスの中で何回発生するかを記録するフィールドとを有する。一部の実装形態においては、モデルエントリは同様に、5番目のフィールドであり、項目の言語を示す「言語」フィールド550を持つことができる。
アドレス
Figure 2012532388
(Beijing Chaoyang Datun Road)に対する項目
Figure 2012532388
(Chaoyang Datun Road)がステップS450でカウントされる例を考える。既存のモデルエントリであって、その「項目」フィールド、「項目タイプ」フィールド、および、もしあれば「言語」フィールドが、全て項目
Figure 2012532388
にマッチするものがない場合は、
Figure 2012532388
(Chaoyang Datun Road)に対するモデルエントリが、
Figure 2012532388
と値を付けられた「項目」フィールド、「タームバイグラム」と値を付けられた「項目タイプ」フィールド、0と値を付けられた「タイトルの中の発生回数」フィールド、1と値を付けられた「アドレスの中の発生回数」フィールド、および「中国語」と値を付けられた「言語」フィールド、を伴って生成される。
「項目」フィールド、「項目タイプ」フィールド、および「言語」フィールドが、全て項目
Figure 2012532388
(Chaoyang Datun Road)にマッチする既存のモデルエントリが既に存在する場合は、このモデルエントリの「アドレスの中の発生回数」フィールドの値は、1だけ増加され、このモデルエントリの他のフィールドの値は、依然として変えられない。具体例として、タイプが「全てのタイプのシーケンス」である、項目「市、区、路」(City、District、Road)が、アドレス
Figure 2012532388
(Beijing Chaoyang Datun Road)に対してカウントされる別の例を考える。「項目」フィールドが「市、区、路」(City, District, Road)であり、「項目タイプ」フィールドが「全てのタイプのシーケンス」であり、「言語」フィールドが「中国語」である既存のモデルエントリがある場合、すなわち、「項目」フィールド、「項目タイプ」フィールドおよび「言語」フィールドが全て項目「市、区、路」(City, District, Road)にマッチする既存のエントリがある場合は、モデルエントリの「タイトルの中の発生回数」の値および「言語」フィールドの値は、依然として変化せず、モデルエントリ「アドレスの中の発生回数」フィールドの値は、1だけ増加される。
ステップS470で、訓練モデルは全てのタイトルおよびアドレスが処理されているかどうかを調べる。全てのタイトルおよびアドレスが処理された場合は、統計モデル250を訓練する処理400は終了し、統計モデル250は、ユーザクエリからの入力エントリのパーシングにおいてパーシングモジュール230により使用されるために生成されるかまたは更新される。そうでなければ、処理400は、ステップS420に戻り、次のタイトルまたはアドレスを処理する。
モデル訓練モジュール220による統計モデル250の訓練は、さまざまな方法で実装されてよい。一部の実装形態においては、例えば、モデル訓練モジュール220は、統計モデル250をシステム200の動作の初めに訓練し、また統計モデル250を周期的にまたは特定の事象が発生したときに、例えば、訓練データが更新されたときに更新する。
モデル訓練モジュール220により生成された統計モデル250は、パーシングモジュール230が、項目、トークンまたはトークンシーケンスのためのロケーション統計スコアおよびクエリ統計スコアを決定するために使用されうる。ここで、「項目」は、それに対してタイトルおよびアドレスにおける発生回数がカウントされる項目、すなわち、タームユニグラム、タームバイグラム、タイプ「None」を伴う隣接するタームのシーケンス、全てのタームのシーケンス、タイプユニグラム、タイプバイグラム、または全てのタイプのシーケンスを示す。項目、トークンまたはトークンシーケンスのロケーション統計スコアは、項目、トークンまたはトークンシーケンスがロケーションに関連している確率を示す。項目、トークンまたはトークンシーケンスのクエリ統計スコアは、項目、トークンまたはトークンシーケンスがクエリに、すなわち、エンティティ名またはエンティティカテゴリに関連する確率を示す。
一部の実装形態においては、項目が、統計モデル250の中に対応するエントリを有する場合は、この項目のロケーション統計スコアおよびクエリ統計スコアは、方程式(1)および(2)を使ってそれぞれ計算される。
項目のロケーション統計スコア=log(l_count)*l_count/(l_count+q_count)
---方程式(1)
項目のクエリ統計スコア=log(q_count)*q_count/(l_count+q_count)
---方程式(2)
ここで、l_countおよびq_countは、アドレスおよびタイトルにおける項目の発生回数をそれぞれ表し、これらは、統計モデル250の中に格納される。例えば、タームユニグラム
Figure 2012532388
(Chaoyang)の項目のロケーションおよびクエリ統計スコアを計算する場合は、アドレスおよびタイトルにおけるタームユニグラム
Figure 2012532388
(Chaoyang)の発生回数が、それぞれN1およびN2ならば、この項目のロケーション統計スコアは、logN1*N1/(N1+N2)のように計算され、またこの項目のクエリ統計スコアは、logN2*N2/(N1+N2)のように計算される。項目が、統計モデル250の中に対応するエントリを有しない場合は、この項目のロケーション統計スコアおよびクエリ統計スコアは、「0」の値を与えられる。
一部の実装形態においては、トークンのロケーション統計スコアは、このトークンのターム(タームユニグラム)のロケーション統計スコアおよびこのトークンのタイプ(タイプユニグラム)のロケーション統計スコアの合計として定義される。
トークンシーケンスに対するロケーション統計スコアおよびクエリ統計スコアを、統計モデル250に基づいて計算する模範的な方法が、以下に記述される。
図7Aは、トークンシーケンスに対するロケーション統計スコアを計算する模範的な処理700Aを例示する。ステップS710において、トークンシーケンスに対するタームロケーションスコアが決定される。タームロケーションスコアは、トークンシーケンスのタームに関して、項目のロケーション統計スコアに基づいて決定された統計的スコアである。一実装形態における、トークンシーケンスのタームロケーションスコアを決定する処理が、図7Bの中で例示され、また以下で説明される。ステップS720で、タイプロケーションスコアがトークンシーケンスに対して決定される。タイプロケーションスコアは、トークンシーケンスのタイプに関して、項目のロケーション統計スコアに基づいて決定された統計的スコアである。一実装形態におけるトークンシーケンスのタイプロケーションスコアを決定する処理が、図7Cの中で例示され、以下に説明される。ステップS730で、トークンシーケンスのロケーション統計スコアが、トークンシーケンスのタームロケーションスコアおよびタイプロケーションスコアを合計することにより決定される。
図7Bは、トークンシーケンスのタームロケーションスコアを決定する模範的な処理700Bを示す。ステップS7102で、トークンシーケンスの中の第1のトークンをカレントトークン(current token)と定義する。ステップS7104で、統計モデル250を参照することにより、トークンシーケンスの以下の項目:カレントトークンのタームで始まる、カレントトークンの「タームユニグラム」、ならびに「タームバイグラム」および「タイプ「None」を伴う隣接するタームのシーケンス」(以上のような項目が存在する場合)、に対するロケーション統計スコアを決定する。ステップS7108では、ステップS7104において決定されたロケーション統計スコアの中で最も高いものが、カレントトークンのタームロケーションスコアとして選択される。ステップS7112では、トークンシーケンスの中にネクストトークン(next token)があるかどうかを決定し、この判定の結果がYes(ステップS7112でYes)の場合は、このネクストトークンが、カレントトークンのタームロケーションスコアを決定するときに考慮されたかどうかを、ステップS7114で判断する。このネクストトークンが考慮されていた場合は(ステップS7114でYes)、考慮されたトークンはスキップされ、処理700Bは、ステップS7112に進み、そうでなければ(ステップS7114でNo)、ネクストトークンがカレントトークンのタームロケーションスコアを決定するときに考慮されていない場合は、ネクストトークンは、カレントトークンと定義され(ステップS7116)、処理700BはステップS7104に戻る。ステップS7112で、トークンシーケンスの中にネクストトークンがないと判断された場合は(ステップS7112のNo)、処理700Bは、ステップS7118に進み、得られたトークンのタームロケーションスコアをスコアS1として合計する。次に、トークンシーケンスの項目「全てのタームのシーケンス」のロケーション統計スコア(スコアS2と呼ぶ)が、ステップS7120において、統計モデル250を参照することにより決定される。ステップS7126で、スコアS1および2を比較して、スコアS1がスコアS2に等しいかまたは大きい場合(ステップS7126でYes)は、トークンシーケンスのタームロケーションスコアは、スコアS1と決定され(ステップS7128)、そうでなければ、スコアS1がスコアS2より小さい場合は(ステップS7126でNo)、トークンシーケンスのタームロケーションスコアは、スコアS2と決定され(ステップS7130)、その後処理700Bは完了する。
次に、トークンシーケンスのタイプロケーションスコアを決定する模範的な処理700Cが、図7Cを参照して説明される。ステップS7202で、トークンシーケンスの中の第1のトークンをカレントトークンとして定義する。ステップS7204で、トークンシーケンスの以下の項目:カレントトークンの「タイプユニグラム」、および、もし存在するなら、カレントトークンのタイプで始まる「タイプバイグラム」、に対するロケーション統計スコアを、統計モデル250を参照することにより決定する。ステップS7208で、ステップS7204の中で決定された、より高いロケーション統計スコアが、カレントトークンのタイプロケーションスコアとして選択される。カレントトークンが、トークンシーケンスの中の最後のトークンの場合は、カレントトークンのタイプを伴って始まる"タイプバイグラム"は、もちろん存在せず、このカレントトークンのタイプロケーションは、「タイプユニグラム」のロケーション統計スコアである。ステップS7212で、トークンシーケンスの中にネクストトークンがあるかどうかを判定し、判定結果がYes(ステップS7212でYesの場合は)、ネクストトークンが、カレントトークンのタイプロケーションスコア決定するときに考慮されたかどうかをステップS7214で判定する。ネクストトークンが考慮されていた場合は(ステップS7214でYes)、考慮されたトークンはスキップされ、処理700CはステップS7212に進む。そうでなければ、ネクストトークンがカレントトークンのタイプロケーションスコアを決定するときに考慮されていない場合は(ステップS7214でNo)、ネクストトークンは、カレントトークンと定義され(ステップS7216)、処理700CはステップS7204に戻る。ステップS7212で、トークンシーケンスの中にネクストトークンがないと判断された場合は(ステップS7212でNo)、処理は、ステップS7218に進み、得られたトークンのタイプロケーションスコアを合計し、この結果はスコアS3と記される。次に、トークンシーケンスの項目「全てのタイプのシーケンス」のロケーション統計スコア(このスコアはスコアS4と記される)を、統計モデル250を参照することにより、ステップS7220で決定する。ステップS7226で、スコアS3および4を比較し、スコアS3がスコアS4に等しいかまたは大きい場合は(ステップS7226でYes)、トークンシーケンスのタイプロケーションスコアがスコアS3と決定される(ステップS7228)。そうでなければ、スコアS3がスコアS4より少ない場合は(ステップS7226でNo)、トークンシーケンスのタイプロケーションスコアは、スコアS4と決定される(ステップS7230)。その後、処理700Cは、完了する。
トークンシーケンスのクエリ統計スコアは、ロケーション統計スコアと同様に決定されてよい。図8Aは、トークンシーケンスに対するクエリ統計スコアを計算する、模範的な処理800Aを説明する。トークンシーケンスのクエリ統計スコアは、トークンシーケンスのタームクエリスコアおよびタイプクエリスコアを合計することにより決定することができる。ここで、タームクエリスコアは、項目のクエリ統計スコアに基づいてトークンシーケンスのタームに関して決定される統計的スコアであり、タイプクエリスコアは、項目のクエリ統計スコアに基づいてトークンシーケンスのタイプに関して決定される統計的スコアである。
図8Bは、トークンシーケンスのタームクエリスコアを計算する模範的な処理800Bを例示し、図8Cは、トークンシーケンスのタイプクエリスコアを計算する模範的な処理を例示する。図8A〜8Cの詳細な動作は、図7A〜7Cに対する関連のある説明を参照することにより理解することができる。
以下は、次のような3つのトークンを有する入力トークンシーケンスのクエリ統計スコアを決定する一例である。
ターム:北京(Beijing)、タイプ:市(City)
ターム:
Figure 2012532388
(Chaoyang)、タイプ:区(District)
ターム:
Figure 2012532388
(Datun Road)、タイプ:路(Road)
まず、トークンシーケンスのタームクエリスコアが計算される。計算は、第1のトークン「北京(Beijing)、タイプ:市(City)」をカレントトークンとして定義し、カレントトークンのタームクエリスコアを決定することで始まる。すなわち、カレントトークンのタームユニグラム北京(Beijing)のクエリ統計スコアおよびカレントトークンのタームで始まるタームバイグラム
Figure 2012532388
(Beijing Chaoyang)を統計モデル250を参照することにより決定し、2つの結果として得られたクエリ統計スコアを比較し、高い方の1つ、例えば、クエリ統計スコア
Figure 2012532388
(Beijing Chaoyang)を、スコアST1と記されるカレントトークンのタームクエリスコアとして選択する。次に、トークン「ターム:
Figure 2012532388
(Chaoyan)、タイプ:District」がスキップされる。なぜなら、このトークンのタームが、ターム北京(Beijing)を伴うカレントトークンのタームクエリスコアを決定するときに考慮されているからである。ネクストトークンは、「ターム:
Figure 2012532388
(Datun Road)、タイプ:路(Road)」であり、これはカレントトークンのタームクエリスコアを決定するときには、考慮されていない。従って、トークン「ターム:
Figure 2012532388
(Datun Road)、タイプ:路(Road)」は、カレントトークンとして定義され、このカレントトークンのタームクエリスコアは、モデルの中に格納されるユニグラムタームのクエリ統計スコアとして決定され、スコアST2と記される。スコアST1は、スコアST2と合計され、結果が全タームシーケンス(全てのタームのシーケンス)
Figure 2012532388
(Beijing Chaoyang Datun Road)のクエリ統計スコアと比較されて、高い方の1つがトークンシーケンスのタームクエリスコアとして選択される。
次に、入力トークンシーケンスのタイプクエリスコアが計算される。上述のように、トークンシーケンスの中の第1のトークン「ターム:北京、タイプ:City」がカレントトークンとして定義され、入力トークンシーケンスのタイプクエリスコアの計算がカレントトークン「北京(Beijing)、タイプ:市(City)」のタイプクエリスコアを決定することで始まる。すなわち、タイプユニグラム「City」およびカレントトークンのタイプを伴って始まるタイプバイグラム「City District」のクエリ統計スコアをモデル250を参照することにより決定し、取得されたクエリ統計スコアを比較して、高い方の1つ、例えば、クエリ統計スコア「City」、を第1のトークンのタイプクエリスコアとして選択し、これはスコアST3と記される。次に、ネクストトークン「ターム:
Figure 2012532388
(Chaoyang)、タイプ:区(District)」が、カレントトークンとして定義され、タイプユニグラム「District」およびタイプバイグラム「District Road」のクエリ統計スコアが統計モデル250を参照することにより決定され、高い方の1つが、例えば、タイプバイグラム「District Road」のクエリ統計スコアが、スコアST4と記される第2のトークンのタイプクエリスコアとして選択される。第3のトークンは、前のトークン「ターム:
Figure 2012532388
(Chaoyang)、タイプ:区(District)」のタイプクエリスコアを決定するときに考慮されていることから、スキップされる。スコアST3は、スコアST4と合計され、結果が全タイプシーケンス(全てのタイプのシーケンス)「City District Road」のクエリ統計スコアと比較され、高い方の1つがトークンシーケンスのタイプクエリスコアとして選択される。
このとき、トークンシーケンスのタームクエリスコアおよびタイプクエリスコアは、一緒に加えられ、結果がトークンシーケンスのクエリ統計スコアになる。
図2に戻ると、システム200のパーシングモジュール230は、入力エントリをロケーション部とクエリ部へとパーシングする。図6Aは、入力エントリをパーシングモジュール230によりパーシングする模範的な処理600Aを例示するフローチャートである。
ステップS610で、入力エントリが受信され、例えば、トークン化モジュール210を使ってトークン化され、トークンシーケンスが取得される。入力エントリは、タイプでアノテートされたトークンのシーケンスへとトークン化される。上述のように、入力エントリは、ユーザによりクライアント端末210において入力され、パーシングモジュール230にネットワーク230経由で送信されてよい。
随意的に、ステップS620で、事後処理を実行して、既定のタイプ修復ルールを使ってトークンシーケンスの中の明らかに誤ったタイプを修復することができる。タイプ修復ルールは、トークンにアノテートされた明らかに誤ったタイプを修復するためである。実装形態においては、ルールは、条件、および対象動作または対象値の、2つの部分により定義することができる。条件が満足された場合、対象動作が実行されるかまたは対象値が返される。例えば、タイプ修復ルールは、タイプ「数量サフィックス」を伴うトークンが、タイプ「Number」を伴うトークンに続かない場合は、タイプ「数量サフィックス」は、タイプ「None」へと変更されると規定できる。以前の例において述べたように、最初にアノテートされたタイトル
Figure 2012532388
(China Time-honored Brand Donglaishun)のターム「号」のタイプ「数量サフィックス」が、タイプ「None」へと変更される。なぜなら、ターム「号」は、「number」に対する漢字と同じものを使ってはいるが、ターム「号」は会社のブランド設定を表し、「由緒あるブランド(Time-honored Brand)」を意味するターム「老字」(Laozi)との組み合わせで使用される。
ステップS630で、トークンシーケンスの中の2つの隣接するトークンの間の全ての位置に対して、その位置が分割の可能な位置ということがありうるかどうかを、例えば、既定の不分割ルールを使って、またもし、それが明らかに不可能な位置であれば除去することにより、決定する。不分割ルールは、分割すべき位置ではない位置を規定するためのものである。例えば、不分割ルールは、「街路」のタイプを伴うトークンと「Number」のタイプを伴うトークンの間の位置が、分割すべき位置ではないということを規定することができる。明らかに誤った分割位置を除去する動作は、統計モデル250におけるノイズの影響を低減することができる。
ステップS640で、分割スコアが可能な分割方法ごとに計算される。分割スコアは、可能な分割方法の正しさについての統計的確率を示す。分割方法は、クエリ部およびロケーション部により定義される。それぞれの可能な分割方法は、1つの可能な分割位置に対応する。可能な分割位置は、トークンシーケンスを2つの部分に分割する、トークンシーケンスの中の2つの隣接するトークンの間の位置でありうる。可能な分割位置は同様に、トークンシーケンスを1つのサブ-トークンシーケンスに「分割」する、トークンシーケンスの第1のトークンの前または最後のトークンの後の位置でありうる。さらに具体的に言えば、トークンシーケンスの中の2つの隣接するトークンの間にあり、トークンシーケンスを2つの部分、すなわち2つのサブ-トークンシーケンス、に分割する可能な分割位置に関して、クエリ統計スコアおよびロケーション統計スコアが、例えば、図7A〜7Cおよび図8A〜8Cにおいて説明された処理を使って、これら2つのサブ-トークンシーケンスのそれぞれに対して決定される。サブ-トークンシーケンスのロケーション統計スコアは、サブ-トークンシーケンスがロケーション部である確率を示し、サブ-トークンシーケンスのクエリ統計スコアは、サブ-トークンシーケンスがクエリ部である確率を示す。可能な分割位置により分割される2つのサブ-トークンシーケンスの中で、より高いロケーション統計スコアを有する1つは、入力エントリの可能なロケーション部と見なされ、他の1つは入力エントリの可能なクエリ部と見なされる。対応する可能な分割のスコアは、この分割のロケーション部のロケーション統計スコアおよびこの分割のクエリ部のクエリ統計スコアに基づいて決定される。一例として、分割のスコアは、可能なロケーション部のロケーション統計スコアおよび可能なクエリ部のクエリ統計スコアを合計することにより決定される。その上、トークンシーケンスを1つのサブ-トークンシーケンスへと分割する可能な分割位置に関しては、ロケーション統計スコアおよびクエリ統計スコアが、全体のトークンシーケンスに対して決定される。この位置に対応する可能な分割方法は、全体のトークンシーケンスをロケーション部と見なすことにより決定され、および、全体のトークンシーケンスのロケーション統計スコアが全体のトークンシーケンスのクエリ統計スコアより高い場合は、分割スコアは全体のトークンシーケンスのロケーション統計スコアとして決定される。同様に、トークンシーケンスを1つのサブ-トークンシーケンスへと分割する位置に対応する可能な分割方法は、全体のトークンシーケンスをクエリ部と見なすことにより決定され、また、全体のトークンシーケンスのクエリ統計スコアが全体のトークンシーケンスのロケーション統計スコアより高い場合は、分割スコアは、全体のトークンシーケンスのクエリ統計スコアとして決定される。
随意的に、クエリ部のためのクエリ乗数およびロケーション部のためのロケーション乗数を含む2つの乗数を、クエリ部のクエリ統計スコアおよびロケーション部のロケーション統計スコアを調整するために決定することができる。可能な分割は、そのクエリ乗数およびロケーション乗数のうちのどちらかがゼロの場合は排除することができる。乗数は、以下のように決定することができる。まず、クエリ部のためのベースクエリ乗数およびロケーション部のためのベースのロケーション乗数を含む、2つのベース乗数が決定される。一実装形態においては、ベース乗数は、既定の値としてあらかじめ定義される。別の実装形態においては、ベース乗数は、これら2つの部分の項目および長さに基づいて決定される。ベース乗数は、そのまま、クエリ乗数およびロケーション乗数として使用されうる。代替的には、ロケーションベース乗数は、昇格する(promotion)か、または降格する(demotion)かにより調整し、調整されたロケーションベース乗数がロケーション乗数として使用されてもよい。例えば、ロケーション部のトークンシーケンスが、例えば[province + city + district + street]などの、階層順位におけるアドレス成分を包含する場合は、ロケーション乗数は、昇格されてよい。階層行政アドレス(例えば、city、district)の長さおよび階層一般アドレス(例えば、street、building)の長さが、計算されてよく、また重み付けされた値がロケーションベース乗数に加算されてよい。別の例としては、ロケーション部のトークンシーケンスが階層順位でないアドレス成分を包含する場合は、ロケーションベース乗数は降格される。さらに別の例としては、例えば「北京市 北京」などの、デュプリケートアドレス成分がトークンシーケンスの中にある場合は、ロケーションベース乗数は降格される。クエリ乗数およびロケーション乗数の決定後、クエリ部のクエリ統計スコアおよびロケーション部のロケーション統計スコアが、決定されたクエリ乗数およびロケーション乗数を使って調整される。具体的には、クエリ部のクエリ統計スコアが、クエリ乗数により乗じられ、ロケーション部のロケーション統計スコアが、ロケーション乗数により乗じられる。分割のスコアは、調整されたクエリおよびロケーション統計スコアを合計することにより決定することができる。
随意的に、ステップS650で、優先度が、可能な分割のそれぞれに割り当てられる。2つのレベルの優先度が、使用されてもよく、また2つの数字1および0により表されてもよい。ここで、1は高い優先度、および0は低い優先度である。優先度は、以下のように割り当てられてよい。例えば、トークンシーケンスの中の2つの隣接するトークンの間の分割位置に対応する分割に関しては、この分割が、例えば空白、コンマなどのセパレータにより分割される場合は、分割の優先度は1である。そうでなければ、分割が、セパレータによって分割されるのでない場合は、分割の優先度は0である。全体のトークンシーケンスがクエリ部またはロケーション部である分割に対しては、入力エントリがセパレータを包含する場合は、分割の優先度は1、そうでなければ、分割の優先度は0である。
ステップS660で、可能な分割はソートされ、最上位の可能な分割がパーシング結果として選択される。一実装形態においては、可能な分割は、分割スコアによりソートされる。優先度が可能な分割のそれぞれに割り当てられる別の実装形態においては、可能な分割は、まず優先度により、次にスコアによりソートされてもよい。上述のように、結果として得られた分割は、そのクエリ部およびロケーション部により表される。
随意的に、ステップS670で、全体の入力エントリが可能なロケーションかどうかが決定される。入力エントリは、それが以下の条件:1)入力エントリがある特定の状態を満たす、例えば、入力エントリが数で終わる、2)全体のロケーション分割(すなわち、全体のトークンシーケンスがロケーション部である)が、2番目に高いスコアを伴う分割であり、そのスコアの最高の分割スコアに対する比率が、既定の閾値より高い、のいずれかを満たす場合は、可能なロケーションと決定される。全体の入力エントリが可能なロケーションであると決定されると、全体の入力エントリがロケーション部である分割は、参考として出力できる付加的な結果として得られた分割と見なされる。
随意的に、ステップS680で、分割信頼スコア(splitting confidence score)が、結果として得られた分割ごとに決定される。分割信頼スコアは、分割の正しさの確かさを示す。一実装形態においては、分割信頼スコアは、以下のように定義される。まず、クエリ信頼スコアおよびロケーション信頼スコアが、項目(タームユニグラム、タームバイグラム、タイプNoneの隣接するタームのシーケンス、全てのタームのシーケンス、タイプユニグラム、タイプバイグラム、全てのタイプのシーケンスを含む)に対して、方程式(3)および(4)により定義される。
query_conf = query_score / (query_score + location_score)
...方程式(3)
location_conf = location_score / (query_score + location_score)
...方程式(4)
ここで、query_confおよびlocation_confは、それぞれ、項目のクエリ信頼スコアおよびロケーション信頼スコアであり、query_scoreおよびlocation_scoreは、それぞれ、項目のクエリ統計スコアおよびロケーション統計スコアである。次に、分割のクエリ部に対するクエリ信頼スコアは、クエリ部のタームクエリスコアを決定するために使用される、項目のクエリ信頼スコアの平均として定義され(図8B)、また分割のロケーション部に対するロケーション信頼スコアは、ロケーション部のタームロケーション信頼スコアを決定するために使用される、項目のロケーション信頼スコアの平均として定義される(図7B)。ある分割の分割信頼スコアは、この分割のロケーション部のロケーション信頼スコアと、この分割のクエリ部のクエリ信頼スコアとの平均として定義される。一例として、分割信頼スコアは、[0、1]の範囲内の値を有し、分割信頼スコアが高いほど、分割の正しさにおける信頼がある。分割信頼スコアは同様に、パーシングモジュール230により参考として出力することができる追加のパーシング結果である。
図6Aを参照すると、ステップS690で、パーシング結果がパーシングモジュール230により出力される。このパーシング結果は、ステップS660で取得された、結果としての分割を含む。模範的な処理600Aにおいて、パーシング結果は、ステップS670および680で取得された追加の結果も同様に含み、これは、参考としてシステム200のユーザにより使用されうる。システム200のユーザには、システム200の結果を使用する、モジュール、コンポーネントまたはシステムが含まれる。例えば、マップサーチシステム140は、システム200のユーザの1つである。
図6Aにおける上記の処理の種々の処理動作は、代替的処理により実装されうる。図6Bは、入力エントリをパーシングモジュール230によりパーシングする別の模範的な処理600Bを例示する、フローチャートである。処理600Bにおける処理ステップS610、640、660および690は、図6Aの処理600Aにおける同一の参照番号を伴うステップと実質的に同じである。
マップサーチのために入力エントリをロケーション部およびクエリ部へとパーシングするための、図2のパーシングシステム200の種々の特性を、図2〜8Cに関して説明したが、以下の章では、パーシングシステム200の出力に基づくマップサーチを説明する。図1の例においては、マップサーチは、サーバ120において、パーシングシステム200およびマップサーチシステム140により実行される。
図9はマップサーチを実行する模範的な処理を説明するフローチャートである。ステップS902で、入力エントリが、パーシングシステム200により受信される。入力エントリは、クライアント110においてユーザによりマップサーチインターフェースへと入力することができ、またパーシングシステム200へネットワーク130を介して送信することができる。ステップS904で、入力エントリは、パーシングシステム200によりパーシングされ、ロケーション部およびクエリ部の少なくとも1つを含むパーシング結果がマップサーチシステム140へと転送される。マップサーチシステム140は、パーシング結果に基づいてまたは参照して、マップサーチを実行する。一部の実装形態においては、マップサーチシステム140は、ステップS906で対象地理的領域(target geographic area)をロケーション部に基づいて決定する。例えば、マップサーチシステム140は、ロケーション部をジオコーディングして、対象地理的領域を得てもよい。対象地理的領域は、経度および緯度により定義されうる。ステップS908で、マップサーチシステム140は、対象地理的領域内のクエリ部により表される対象または複数の対象に関する情報を検索し、検索結果が、例えば、クライアント110に返され、ステップS910でユーザに提供される。
図10は、本明細書の中に記載されたマップサーチのシステムおよび方法を実装するために利用することができる、模範的な装置1000のブロック図である。装置1000は、処理装置1002、第1のデータストア1004、第2のデータストア1006、入力装置1008、出力装置1010、およびネットワークインターフェース1012を含む。データバスおよびマザーボードを例えば含むバスシステム1014が、コンポーネント1002、1004、1006、1008、1010および1012の間のデータ通信を確立および制御するために使用されうる。他の模範的なシステムアーキテクチャも同様に使用されうる。
処理装置1002は、例えば、1つまたは複数のマイクロプロセッサを含む。第1のデータストア1004は、例えば、ダイナミックランダムアクセスメモリ(DRAM)などのランダムアクセスメモリ(RAM)記憶装置、または他の種類のコンピュータ読み取り可能媒体メモリ装置などを含む。第2のデータストア1006は、例えば、1つまたは複数のハードドライブ、フラッシュメモリ、および/または読み出し専用メモリ(ROM)、または他の種類のコンピュータ読み取り可能媒体メモリ装置を含む。
一部の実装形態においては、装置1000は、例えば第2のデータストア1006などのデータストアの中にコードを含む。コードは、実行されると処理装置1002に、パーシングシステム200および/またはマップサーチシステム140の機能を実行させる命令により定義されうる。例えば第2のデータストア1006などのデータストアは、辞書240および/または統計モデル250を格納することができる。
模範的な入力装置1008は、キーボード、マウス、スタイラスなどを含み、模範的な出力装置1010は、ディスプレイ装置、オーディオ装置などを含む。一部の実装形態においては、入力装置1008は、統計モデル250を訓練するための訓練データを受信する。ネットワークインターフェース1012は、例えば、データを、例えば、ネットワーク130へおよびネットワーク130から伝えるように動作可能な、有線または無線のネットワーク装置を含む。ネットワークインターフェース1012は、入力エントリを遠隔装置から受信し、検索結果を遠隔装置に送信することができる。
装置1000は、処理装置1002が、例えば第1のデータストア1004などのコンピュータ読み取り可能媒体に包含されるソフトウェア命令を実行することに応答して、本明細書の中に記載された特定の動作または処理を実行してもよい。コンピュータ読み取り可能媒体は、物理的または論理的メモリ装置および/または搬送波として定義されうる。ソフトウェア命令は、例えばディスク(disc)などの別のコンピュータ読み取り可能媒体から、または別の装置からネットワークインターフェース1012経由で、第1のデータストア1004へと読み込むことができる。第1のデータストア1004の中に包含されたソフトウェア命令は、処理装置1002に本明細書の中に記載された処理を実行させてもよい。
実装形態においては、本明細書の中に記載された入力エントリをパーシングする処理およびマップサーチを実行する処理は、個別に、または他のマップサーチもしくはデータ処理技術と組み合わせて適用することができる。例えば、パーシングシステム200のパーシング結果は、入力エントリをパーシングまたは処理するための他のシステムからの追加の結果を同様に取得し、どちらの結果をマップサーチに用いるべきかを調停するシステムにより使用することができる。パーシングモジュール230により出力される分割信頼スコアは、調停のためのこの例のシステムにより使用することができる。別の例としては、マップサーチシステムは、本明細書の中に記載されたマップサーチ処理のみならず、他の技術を使う他のマップサーチ処理を実行して多数の検索結果を取得し、さまざまな処理の結果をユーザ配信するための最終検索結果に合成してもよい。
本明細書の中に記載された主題の実施形態および機能的動作は、本明細書で開示された構造およびこれらの構造的な均等物、またはこれらの1つまたは複数の組み合わせを含むデジタル電子回路の中に、またはコンピュータソフトウェア、ファームウェア、またはハードウェアの中に実装することができる。本明細書の中に記載された主題の実施形態は、1つまたは複数のコンピュータプログラム製品、すなわち、データ処理装置による実行のための、またはデータ処理装置を制御するための有形のプログラムキャリア上にコード化された、コンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。有形のプログラムキャリアは、伝搬信号またはコンピュータ読み取り可能媒体でありうる。伝搬信号は、人工的に生成された信号、例えば、マシンにより生成された電気的、光学的、または電磁気的信号であり、この信号は、コンピュータによる実行のために適切な受信装置に送信するための情報をコード化するために生成される。コンピュータ読み取り可能媒体は、機械可読な記憶装置、機械可読な記憶装置基板、メモリ装置、機械可読な伝搬信号をもたらす物質の構成、またはこれらの1つまたは複数の組み合わせでありうる。
「システム」という用語は、本明細書の中に記述された主題の機能を実行するための全てのシステム、装置、デバイス、およびマシンを網羅し、プログラム可能な1台のプロセッサ、1台のコンピュータ、または多数のプロセッサまたはコンピュータを例として含む。システムは、ハードウェアに加えて、問題のコンピュータプログラムに対する実行環境を生成するコード、例えば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つまたは複数の組み合わせ含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイルもしくはインタープリトされた言語、または宣言型もしくは手続き型言語を含む、プログラミング言語の任意の形態で書くことができ、また、スタンドアロンのプログラムとしてまたはモジュール、コンポーネント、サブルーチン、またはコンピュータ環境での使用に適している他のユニットとしてなどを含む、任意の形態で展開することができる。コンピュータプログラムは、ファイルシステムの中のファイルには必ずしも対応しない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語ドキュメントの中に格納された1つまたは複数のスクリプト)を保持するファイルの一部分の中に、問題になっているプログラム専用の単一のファイルの中に、または多数の組織化されたファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)の中に、格納することができる。コンピュータプログラムは、1つのコンピュータ上または1つのサイトに位置する、または多数のサイトにわたって分散され通信ネットワークにより相互接続された多数のコンピュータ上で、実行されるように展開することができる。
本明細書の中に記載された処理および論理の流れは、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なプロセッサにより実行されて、入力データに作用し出力を生成することにより、機能を実行することができる。処理および論理の流れは同様に、特殊用途の回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)により実行することができ、また装置もまた特殊用途の回路として実装することができる。
コンピュータプログラムの実行に適しているプロセッサには、例として、一般的マイクロプロセッサおよび特殊用途のマイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、リードオンリーメモリもしくはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの絶対不可欠な要素は、命令を実行するためのプロセッサおよび命令およびデータを格納するための1つまたは複数のメモリ装置である。一般に、コンピュータはまた、データを格納するための1つまたは複数の大容量記憶装置、例えば磁気ディスク、光磁気ディスク、または光ディスクなど、を含み、または、これらに動作可能に接続されて、データをこれらから受信またはデータをこれらに送信、または両方を行うことになる。しかしながら、コンピュータは、このような装置を有する必要はない。さらに、コンピュータは、例えば、少しだけ挙げると、携帯電話、携帯情報端末(PDA)、携帯オーディオまたはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信器などの別の装置に内蔵されてもよい。
コンピュータプログラム命令およびデータの格納に適しているコンピュータ読み取り可能媒体には、半導体メモリ装置、例えば、EPROM、EEPROM、およびフラッシュメモリ装置、磁気ディスク、例えば、内蔵ハードディスクまたは取り外し可能なディスク、光磁気ディスク、ならびにCDROMおよびDVDROMディスクを例として含む、全ての形態の不揮発性メモリ、媒体およびメモリ装置が含まれる。プロセッサおよびメモリは、特定用途ロジック回路により補完されるか、またはその中に組み込まれてもよい。
ユーザとの対話を提供するために、本明細書の中に記載された主題の実施形態は、情報をユーザに表示するディスプレイ装置、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびにキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボール、を有するコンピュータ上に実装することができ、これらによりユーザがコンピュータに入力を提供することができる。他の種類の装置が、ユーザとの対話を提供するために同様に使用される。例えば、ユーザに提供されるフィードバックは、例えば、視覚的なフィードバック、聴覚的フィードバック、または触覚的フィードバックなどの感覚的フィードバックの任意の形態でありうる、またユーザからの入力は、音響的、会話的、または触覚性入力を含む、任意の形成で受信されうる。
本明細書の中に記載された主題の実施形態は、バックエンドコンポーネントを、例えば、データサーバとして含むコンピュータシステム、または、例えばアプリケーションサーバなどのミドルウェアコンポーネントを含むコンピュータシステム、または、例えば、ユーザが、本明細書に記述された主題の実装形態と情報交換することができるグラフィカルユーザインターフェースまたはウエブブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピュータシステム、またはこのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの1つまたは複数の任意の組み合わせを含むコンピュータシステムの中に実装することができる。システムのコンポーネントは、デジタルデータ通信の任意の形態すなわち媒体、例えば、通信ネットワークにより相互接続されうる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、例えば、インターネットが含まれる。
コンピュータシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いに離れており、また、典型的には通信ネットワークを通して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で作動し、かつ、互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。
本明細書の中に記載されたマップサーチに関連する処理および動作の場所は、ユーザのマップサーチの実行に介在する単一のコンピュータネットワークまたは、接続されたコンピュータネットワークの中の、1つまたは複数の場所においてでありうる。ユーザのマップサーチのための入力エントリに応答して、マップサーチに関連する処理および動作の実行が、本明細書の中に記載されたパーシング動作の結果に基づくパーシング動作および検索動作を含む、マップサーチに関連する処理および動作のためのそれぞれのコンピュータプログラムにより、1つまたは複数のコンピュータにおいて始動または生起される。一例として、コンピュータ実装されるマップサーチ方法が提供されて、マップサーチのためのユーザからの入力エントリが、入力エントリに基づくマップサーチの実施に先立って、入力エントリの中の位置情報を表すロケーション部および入力エントリの中のロケーション部に関連する検索対象を表すクエリ部へとパーシングされることをもたらす。この方法は同様に、マップサーチの実施をもたらして、ロケーション部に基づいて地理的領域またはロケーションを取得し、また、クエリ部に関連し、かつ、取得された地理的領域またはロケーションの所に、中に、または近くに位置する1つまたは複数のエンティティに関する情報を検索する。
本明細書は、多くの特定の実装形態の詳細を包含するが、これらは、いかなる発明またはクレームされる可能性のあるものの範囲を制限するものとしてではなく、むしろ、特定の発明の特定の実施形態に特有であってもよい特性の説明と解釈されるべきである。別々の実施形態との関連で本明細書の中に記載された特定の機能は、同様に、単一の実施形態の中に組み合わせて実装することもできる。逆に、単一の実施形態との関連で記述された種々の機能は同様に、多数の実施形態の中で個別にまたは任意の適切なサブコンビネーションの中に実装することができる。その上、機能は、上記では特定の組み合わせの中で作動するものとして記述されてもよいし、また初めはこのようなものとして請求されてさえもよいが、請求される組み合わせからの1つまたは複数の機能は、一部のケースにおいては、この組み合わせから削除することができ、また請求される組み合わせは、サブコンビネーションまたはサブコンビネーションの変形を対象としてもよい。
同様に、動作は、特定の順序で図面の中に描かれているが、これは、望ましい結果を達成するために、このような動作が示された特定の順序で、すなわちシーケンシャルな順序に実行されること、または全ての例示された動作が実行されること、を要求しているものと理解されるべきではない。特定の状況においては、マルチタスクおよび平行処理が有利な可能性がある。さらに、上述の実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてこのような分離を要求していると理解されるべきではなく、また、記述されたプログラムコンポーネントおよびシステムは、全体として単一のソフトウェア製品に統合されるかまたは多数のソフトウェア製品へとパッケージ化されうるということが理解されるべきである。
マップサーチシステムの特定の実施形態、装置および方法が説明された。説明された実施形態および他の実施形態の変形および強化は、本明細書の中で記載されているものに基づいてなされうる。例えば、ここで説明された行為は、異なる順序で実行されて、依然として望ましい結果を達成することができる。一例として、添付の図の中に描かれた処理は、望ましい結果を達成するために、示された特定の順序、すなわちシーケンシャルな順序を必ずしも要求しない。特定の実装形態においては、マルチタスクおよび並列処理が有利な可能性がある。
110 クライアント
120 サーバ
130 ネットワーク
140 マップサーチシステム
200 パーシングシステム
210 トークン化モジュール
220 モデル訓練モジュール
230 パーシングモジュール
240 辞書
250 統計モデル
1002 処理装置
1004 第1のデータストア
1006 第2のデータストア
1008 入力装置
1110 出力装置
1012 ネットワークインターフェース

Claims (57)

  1. コンピュータ実装されるマップサーチ方法であって、
    マップサーチのためのユーザからの入力エントリを、入力検索エントリの中の位置情報を表すロケーション部と前記入力エントリの中の前記ロケーション部に関連する検索対象を表すクエリ部とにパーシングするステップと、
    マップサーチを実施して、前記ロケーション部に基づいて地理的領域またはロケーションを取得し、前記クエリ部に関連し、かつ、前記取得された地理的領域またはロケーションの所に、中に、または近くに位置する1つまたは複数のエンティティに関する情報を検索するステップとを含む、ことを特徴とするマップサーチ方法。
  2. 前記パーシングするステップが、前記入力エントリに基づく前記マップサーチの実施に先立って実行される、ことを特徴とする請求項1に記載のマップサーチ方法。
  3. 前記パーシングするステップが、
    前記入力エントリを1つまたは複数のトークンのトークンシーケンスへとパーシングするステップであって、各トークンが、前記入力エントリのセグメントを表すタームと、前記タームにアノテートされたタイプとを含むステップと、
    各タームに対する前記タイプを、前記タームがアドレス関連情報と前記アドレス関連情報のタイプを包含するかどうかを示すために用いるステップとを含む、ことを特徴とする請求項1に記載のマップサーチ方法。
  4. 前記タームがアドレス関連情報を包含しないということを示すタイプを有するトークンに関連する地理的領域またはロケーションの取得においては、なにも行動を起こさないステップを含む、ことを特徴とする請求項3に記載のマップサーチ方法。
  5. 前記入力エントリを前記トークンシーケンスへとパーシングする前記ステップは、
    前記入力エントリの中のアドレス関連単語を、トークンのタームとして特定するステップと、
    前記アドレス関連単語のタイプを、前記トークンの前記タイプとして特定するステップとを含む、ことを特徴とする請求項3に記載のマップサーチ方法。
  6. 前記入力エントリの中のアドレス関連単語を特定する前記ステップが、
    アドレス関連単語の辞書の中のエントリと、前記エントリのタイプとを、トークンの前記アドレス関連単語と前記タイプとを特定するために用いるステップを含む、ことを特徴とする請求項5に記載のマップサーチ方法。
  7. 前記辞書のアドレス関連単語が、行政区名、道路名、アドレス関連サフィックス、アドレス関連プリフィックス、および番号の、少なくとも1つを含む、ことを特徴とする請求項5に記載のマップサーチ方法。
  8. アドレス関連サフィックスおよびプリフィックスが、アドレスネームサフィックス、方向プリフィックスまたはサフィックス、および数量サフィックスの少なくとも1つを含む、ことを特徴とする請求項7に記載のマップサーチ方法。
  9. 前記入力エントリの中の単語を、アドレスに関連していないトークンのタームとして特定するステップと、
    「None」を、前記トークンの前記タイプとして割り当てて、前記トークンの前記タームがアドレス関連情報を包含しないことを示すステップとを含む、ことを特徴とする請求項5に記載のマップサーチ方法。
  10. 前記入力エントリの前記パーシングする前記ステップがさらに、
    前記トークンシーケンスの可能な分割位置を決定するステップであって、各可能な分割位置が前記トークンシーケンスを1つまたは2つのサブ-トークンシーケンスへと分割する、ステップと、
    前記可能な分割位置のそれぞれに対して可能な分割方法を決定するステップであって、各可能な分割方法が、前記トークンシーケンスを(1)可能なクエリ部および(2)可能なロケーション部の少なくとも1つへと分割する、ステップと、
    前記可能な分割方法のそれぞれの正しさについての統計的確率を示す分割スコアを決定するステップと、
    最も高い分割スコアを有する前記可能な分割方法を、結果として得られた分割方法として選択するステップとを含む、ことを特徴とする請求項3に記載のマップサーチ方法。
  11. 「Road」のタイプを伴うトークンと「Number」のタイプを伴うトークンとの間の前記位置が、分割位置であることから除外される、ことを特徴とする請求項10に記載のマップサーチ方法。
  12. 前記トークンシーケンスを2つのサブ-トークンシーケンスへと分割する可能な分割位置に対して、
    前記2つのサブ-トークンシーケンスのそれぞれに対してロケーション統計スコアおよびクエリ統計スコアを決定し、前記可能な分割位置に対応する前記可能な分割方法を、より高いロケーション統計スコアを伴う前記サブ-トークンシーケンスを、前記可能なロケーション部として、また、他のサブ-トークンシーケンスを前記可能なクエリ部として見なすことにより決定するステップと、
    前記トークンシーケンスを1つのサブ-トークンシーケンスに分割する、可能な分割位置に対して、
    前記可能な分割位置に対応する前記可能な分割方法を、前記サブ-トークンシーケンスの前記ロケーション統計スコアが、前記サブ-トークンシーケンスの前記クエリ統計スコアより高い場合に、前記サブ-トークンシーケンスを前記ロケーション部と見なし、前記サブ-トークンシーケンスの前記クエリ統計スコアが、前記サブ-トークンシーケンスの前記ロケーション統計スコアより高い場合は、前記サブ-トークンシーケンスを前記クエリ部と見なすことにより決定するステップとを含む、ことを特徴とする請求項10に記載のマップサーチ方法。
  13. 前記可能な分割方法のそれぞれの正しさの統計的確率を示す前記分割スコアを決定する前記ステップは、
    各可能な分割方法の正しさの確率を表す、各可能な分割方法に対する分割スコアを、前記ロケーション部の前記ロケーション統計スコアおよび前記クエリ部の前記クエリ統計スコアのどちらかまたは両方に基づいて決定するステップを含む、ことを特徴とする請求項12に記載のマップサーチ方法。
  14. トークンシーケンスの前記ロケーション統計スコアおよび前記クエリ統計スコアの少なくとも1つが、統計モデルを参照することにより決定され、トークンシーケンスの前記ロケーション統計スコアが、前記トークンシーケンスがロケーションである確率を示し、および前記トークンシーケンスのクエリ統計スコアが、前記トークンシーケンスがクエリである確率を示す、ことを特徴とする請求項12に記載のマップサーチ方法。
  15. 前記統計モデルが、タイトルおよびアドレスを含む訓練データに基づいて生成される、ことを特徴とする請求項14に記載のマップサーチ方法。
  16. 生アドレスが、前記生アドレスの中のテイリングタイトルを除去するために前処理され、および生タイトルが、前記生タイトルの中の接頭されている行政区名を除去するために、訓練データとして使用される前に前処理される、ことを特徴とする請求項15に記載のマップサーチ方法。
  17. 前記統計モデルが、
    タイトルおよびアドレスを含む前記訓練データのそれぞれを、1つまたは複数のトークンを含み、各トークンがタームと、前記タームにアノテートされ前記タームの特性を示すタイプとを含むトークンシーケンスへとパーシングするステップと、
    前記タイトルおよびアドレスの前記トークンシーケンスの中に含まれる各項目に対して、タイトルの中の発生回数と、アドレスの中の発生回数とを、それぞれカウントおよび格納するステップ、とにより生成され、
    各項目は、単一のタームを有するタームユニグラム、2つの隣接するタームのタームシーケンスを有するタームバイグラム、タイプ「None」を伴う隣接するタームのシーケンス、全てのタームのシーケンス、単一のタイプを意味するタイプユニグラム、2つの隣接するタイプシーケンスを意味するタイプバイグラム、および全てのタイプのシーケンス、の任意のものである、ことを特徴とする請求項15に記載のマップサーチ方法。
  18. 前記トークンシーケンスをロケーション部およびクエリ部へと分割する前記可能な分割方法に対する前記分割スコアは、前記ロケーション部のロケーション統計スコアと前記クエリ部のクエリ統計スコアとを合計することにより決定される、ことを特徴とする請求項13に記載のマップサーチ方法。
  19. 前記トークンシーケンスをロケーション部またはクエリ部へと分割する前記可能な分割方法に対する前記分割スコアが、前記ロケーション部の前記ロケーション統計スコアまたは前記クエリ部の前記クエリ統計スコアとして定義される、ことを特徴とする請求項13に記載のマップサーチ方法。
  20. 可能な分割方法ごとに、前記クエリ部のためのクエリ乗数および/または前記ロケーション部のためのロケーション乗数を決定するステップと、
    (1)前記ロケーション部の前記ロケーション統計スコアを、前記ロケーション乗数により乗算することにより、および(2)前記クエリ部の前記クエリ統計スコアを前記クエリ乗数により乗算することにより、調整するステップと、
    前記トークンシーケンスをロケーション部およびクエリ部へと分割する前記可能な分割方法に対する前記分割スコアを、前記ロケーション部の前記調整されたロケーション統計スコアと前記クエリ部の前記調整されたクエリ統計スコアとを合計することにより決定するステップと、
    前記トークンシーケンスをロケーション部またはクエリ部へと分割する前記可能な分割方法に対する前記分割スコアを、前記ロケーション部の前記調整されたロケーション統計スコアまたはクエリ部の前記調整されたクエリ統計スコアとして決定するステップとを含む、ことを特徴とする請求項13に記載のマップサーチ方法。
  21. 前記クエリ乗数を決定する前記ステップが、
    前記クエリ乗数を、前記項目および前記クエリ部の長さに基づいて決定するステップを含む、ことを特徴とする請求項20に記載のマップサーチ方法。
  22. 前記ロケーション乗数を決定する前記ステップが、
    前記ロケーション部に関連するベースロケーション乗数を決定するステップと、
    前記ベースロケーション乗数を既定のルールに従って調整するステップと、
    前記ロケーション乗数を、前記調整されたベースロケーション乗数として決定するステップとを含む、ことを特徴とする請求項20に記載のマップサーチ方法。
  23. 前記ベースロケーション乗数を既定のルールに従って調整する前記ステップが、
    前記ロケーション部が階層順でアドレス関連単語を包含する場合は、前記ベースロケーション乗数を昇格するステップを含む、ことを特徴とする請求項22に記載のマップサーチ方法。
  24. 前記ベースロケーション乗数を既定のルールに従って調整する前記ステップが、
    前記ロケーション部が階層順でないアドレス関連単語を包含する場合は、前記ベースロケーション乗数を降格するステップを含む、ことを特徴とする請求項22に記載のマップサーチ方法。
  25. 前記ベースロケーション乗数を既定のルールに従って調整する前記ステップが、
    前記ロケーション部が重複したアドレス関連単語を包含する場合は、前記ベースロケーション乗数を降格するステップを含む、ことを特徴とする請求項22に記載のマップサーチ方法。
  26. トークンシーケンスのためのロケーション統計スコアを決定する前記ステップが、
    前記トークンシーケンスのためのタームロケーションスコアを、項目のロケーション統計スコアに基づいて、前記トークンシーケンスのタームに関して決定するステップと、
    前記トークンシーケンスに対するタイプロケーションスコアを、項目のロケーション統計スコアに基づいて、前記トークンシーケンスのタイプに関して決定するステップと、
    前記トークンシーケンスに対する前記ロケーション統計スコアを、前記トークンシーケンスの前記タームロケーションスコアと前記タイプロケーションスコアとを合計することにより決定するステップとを含み、
    項目のロケーション統計スコアおよび項目のクエリ統計スコアは、それぞれ、
    項目のロケーション統計スコア= log(l_count)*l_count/(l_count+q_count)、および項目のクエリ統計スコア=log(q_count)*q_count/(l_count+q_count)、で定義され、ここでl_countおよびq_countは、アドレスおよびタイトルの中での前記項目の発生回数が前記統計モデルの中に格納される場合、アドレスおよびタイトルの中での前記項目の発生回数をそれぞれ表し、
    前記項目の前記ロケーション統計スコアおよび前記クエリ統計スコアは、前記項目が前記統計モデルの中に対応するエントリを有しない場合は、0と定義される、ことを特徴とする請求項17に記載のマップサーチ方法。
  27. 前記トークンシーケンスのための前記タームロケーションスコアを決定する前記ステップが、
    前記トークンシーケンスの中の最初のトークンを、カレントトークンとして選ぶステップと、
    前記カレントトークンの「タームユニグラム」の前記ロケーション統計スコア、および、前記カレントトークンの前記タームで始まる前記トークンシーケンスの項目「タームバイグラム」および「タイプ「None」を伴う隣接するタームのシーケンス」の前記ロケーション統計スコアを決定するステップと、
    最も高いロケーション統計スコアを、前記カレントトークンのタームロケーションスコアとして選択するステップと、
    前記カレントトークンの前記タームロケーションスコアを決定する際に考慮されなかったネクストトークンを、新規のカレントトークンとして扱って、1つまたは複数の新規カレントトークンを前記トークンシーケンスが終了するまで生成し、各新規カレントトークンのタームロケーションスコアを決定するステップと、
    取得された全ての前記タームロケーションスコアを合計して、第1の値を生成するステップと、
    前記トークンシーケンスの前記全てのタームのシーケンスのロケーション統計スコアを、第2の値として決定するステップと、
    前記第1の値および第2の値のうち、大きい値を前記トークンシーケンスの前記タームロケーションスコアとして選択するステップとを含む、ことを特徴とする請求項26に記載のマップサーチ方法。
  28. 前記トークンシーケンスに対する前記タイプロケーションスコアを決定する前記ステップが、
    前記トークンシーケンスの中の最初のトークンを、カレントトークンとして選ぶステップと、
    前記カレントトークンのタイプユニグラムの前記ロケーション統計スコア、および、前記カレントトークンの前記タイプで始まる前記トークンシーケンスの前記タイプバイグラムのロケーション統計スコアを決定するステップと、
    前記タイプユニグラムの前記決定されたロケーション統計スコアおよび前記タイプバイグラムの前記ロケーション統計スコアのうち、より高いロケーション統計スコアを、前記カレントトークンのタイプロケーションスコアとして選択するステップと、
    前記カレントトークンの前記タイプロケーションスコアを決定する際に考慮されなかったネクストトークンを、新規のカレントトークンとして扱って、1つまたは複数の新規カレントトークンを前記トークンシーケンスが終了するまで生成し、各新規カレントトークンのタイプロケーションスコアを決定するステップと、
    取得された全ての前記タイプロケーションスコアを合計して、第1の値を生成するステップと、
    前記トークンシーケンスの全てのタイプの前記シーケンスのロケーション統計スコアを、第2の値として決定するステップと、
    前記第1の値および第2の値のうち、大きい値を前記トークンシーケンスのタイプロケーションスコアとして選択するステップとを含む、ことを特徴とする請求項26に記載のマップサーチ方法。
  29. トークンシーケンスに対するクエリ統計スコア決定するステップが、
    f1)前記トークンシーケンスに対するタームクエリスコアを、項目のクエリ統計スコアに基づいて、前記トークンシーケンスのタームに関して決定するステップと、
    f2)前記トークンシーケンスに対するタイプクエリスコアを、項目のクエリ統計スコアに基づいて、前記トークンシーケンスのタイプに関して決定するステップと、
    f3)前記トークンシーケンスに対する前記クエリ統計スコアを、前記トークンシーケンスの前記タームクエリスコアと前記タイプクエリスコアとを合計することにより決定するステップとを含む、ことを特徴とする請求項26に記載のマップサーチ方法。
  30. 前記ステップf1)が、
    f11)前記トークンシーケンスの中の最初のトークンを、カレントトークンとして選ぶステップと、
    f12)前記カレントトークンの「タームユニグラム」の前記ロケーション統計スコア、および、前記カレントトークンの前記タームで始まる前記トークンシーケンスの項目「タームバイグラム」および「タイプ「None」を伴う隣接するタームのシーケンス」の前記クエリ統計スコアを決定するステップと、
    f13)最も高いクエリ統計スコアを、前記カレントトークンのタームクエリスコアとして選択するステップと、
    f14)前記カレントトークンの前記タームクエリスコアを決定するときに考慮されなかったネクストトークンを、新規カレントトークンとして扱い、ステップf11)〜f14)を、前記新規カレントトークンのタームクエリスコアを決定するために、前記トークンシーケンスの終了まで繰り返すステップと、
    f15)取得された全ての前記タームクエリスコアを合計するステップと、
    f16)前記トークンシーケンスの前記項目「全てのタームのシーケンス」のクエリ統計スコアを決定するステップと、
    f17)前記ステップf16)およびf17)で取得された前記結果の間でより大きい1つを、前記トークンシーケンスの前記タームクエリスコアとして決定するステップとを含む、ことを特徴とする請求項29に記載のマップサーチ方法。
  31. 前記ステップf2)が、
    f21)前記トークンシーケンスの中の最初のトークンを、カレントトークンとして選ぶステップと、
    f22)前記カレントトークンの「タイプユニグラム」の前記クエリ統計スコア、および前記カレントトークンの前記タイプで始まる前記トークンシーケンスの項目「タイプバイグラム」の前記クエリ統計スコアを決定するステップと、
    f23)最も高いクエリ統計スコアを前記カレントトークンのタイプクエリスコアとして選択するステップと、
    f24)前記カレントトークンの前記タイプクエリスコアを決定する際に考慮されなかったネクストトークンを、新規カレントトークンとして扱って、ステップf21)〜f24)を、前記新規カレントトークンの前記タイプクエリスコアを決定するために、前記トークンシーケンスの終了まで繰り返すステップと、
    f25)取得された全ての前記タイプクエリスコアを合計するステップと、
    f26)前記トークンシーケンスの前記項目「全てのタイプのシーケンス」のクエリ統計スコアを決定するステップと、
    f27)前記ステップf26)およびf27)で取得された前記結果の間でより大きい1つを、前記トークンシーケンスの前記タイプクエリスコアとして決定するステップとを含む、ことを特徴とする請求項29に記載のマップサーチ方法。
  32. 前記入力エントリの前記トークンシーケンスへの前記パーシングするステップは、
    前記トークンシーケンスの中で、誤ってアノテートされたタイプを修復するステップを含む、ことを特徴とする請求項3に記載のマップサーチ方法。
  33. 前記トークンシーケンスの中で、誤ってアノテートされたタイプを修復する前記ステップが、
    前記タームが前記タイプ「Number」を伴うタームに続かない場合は、タームの前記タイプ「数量サフィックス」を、前記タイプ「None」へと変更するステップを含む、ことを特徴とする請求項32に記載のマップサーチ方法。
  34. コンピュータ実装されるマップサーチ方法であって、
    マップサーチのためにユーザから受信された入力エントリを、1つまたは複数のトークンを含むトークンシーケンスへと分離するステップであって、各トークンが前記入力エントリのセグメントを表すタームと、前記タームにアノテートされ、前記タームの種類を表すタイプとを含む、ステップと、
    前記トークンシーケンスの可能な分割位置を決定するステップであって、可能な分割位置が、前記トークンシーケンスを1つまたは2つのサブシーケンスへと分割する、ステップと、
    前記可能な分割位置のそれぞれに対する可能な分割方法を決定するステップであって、各可能な分割方法が、前記トークンシーケンスを(1)位置情報を表す可能なロケーション部および(2)前記ロケーション部に関連する検索対象を表す可能なクエリ部の少なくとも1つへと分割する、ステップと、
    前記可能な分割方法のそれぞれの正しさの確率に対する分割スコアを決定するステップと、
    最も高い分割スコアを有する前記可能な分割方法を、結果として得られた分割方法として選択するステップとを含む、ことを特徴とするマップサーチ方法。
  35. 前記トークンシーケンスを2つのサブ-トークンシーケンスへと分割する可能な分割位置に対して、
    前記2つのサブ-トークンシーケンスのそれぞれに対してロケーション統計スコアおよびクエリ統計スコアを決定し、前記可能な分割位置に対応する前記可能な分割方法を、より高いロケーション統計スコアを伴う前記サブ-トークンシーケンスを、前記可能なロケーション部として、また、他のサブ-トークンシーケンスを前記可能なクエリ部として見なすことにより決定するステップと、
    前記トークンシーケンスを1つのサブ-トークンシーケンスに分割する、可能な分割位置に対して、
    前記可能な分割位置に対応する前記可能な分割方法を、前記サブ-トークンシーケンスの前記ロケーション統計スコアが、前記サブ-トークンシーケンスの前記クエリ統計スコアより高い場合に、前記サブ-トークンシーケンスを前記ロケーション部と見なし、前記サブ-トークンシーケンスの前記クエリ統計スコアが、前記サブ-トークンシーケンスの前記ロケーション統計スコアより高い場合は、前記サブ-トークンシーケンスを前記クエリ部と見なすことにより決定するステップとを含む、ことを特徴とする請求項34に記載のマップサーチ方法。
  36. 前記可能な分割方法のそれぞれの正しさの統計的確率を示す前記分割スコアを決定する前記ステップは、
    各可能な分割方法の正しさの確率を表す各可能な分割方法に対する分割スコアを、前記ロケーション部の前記ロケーション統計スコアおよび前記クエリ部の前記クエリ統計スコアのどちらかまたは両方に基づいて決定するステップを含む、ことを特徴とする請求項35に記載のマップサーチ方法。
  37. トークンシーケンスの前記ロケーション統計スコアおよび前記クエリ統計スコアの少なくとも1つが、統計モデルを参照するステップにより決定され、トークンシーケンスの前記ロケーション統計スコアが、前記トークンシーケンスがロケーションである確率を示し、および前記トークンシーケンスのクエリ統計スコアが、前記トークンシーケンスがクエリである確率を示す、ことを特徴とする請求項35に記載のマップサーチ方法。
  38. 前記統計モデルが、タイトルおよびアドレスを含む訓練データに基づいて生成される、ことを特徴とする請求項37に記載のマップサーチ方法。
  39. 生アドレスが、前記生アドレスの中のテイリングタイトルを除去するために前処理され、および生タイトルが、前記生タイトルの中の接頭されている行政区名を除去するために、訓練データとして使用される前に前処理される、ことを特徴とする請求項38に記載のマップサーチ方法。
  40. 前記統計モデルが、
    タイトルおよびアドレスを含む前記訓練データのそれぞれを、1つまたは複数のトークンを含み、各トークンがタームと、前記タームにアノテートされ、前記タームの特性を示すタイプとを含むトークンシーケンスへとパーシングするステップと、
    前記タイトルおよびアドレスの前記トークンシーケンスの中に含まれる各項目に対して、タイトルの中の発生回数と、アドレスの中の発生回数を、それぞれカウントおよび格納するステップとにより生成され、
    各項目は、単一のタームを有するタームユニグラム、2つの隣接するタームのタームシーケンスを有するタームバイグラム、タイプ「None」を伴う隣接するタームのシーケンス、全てのタームのシーケンス、単一のタイプを意味するタイプユニグラム、2つの隣接するタイプシーケンスを意味するタイプバイグラム、および全てのタイプのシーケンス、の任意のものである、ことを特徴とする請求項38に記載のマップサーチ方法。
  41. コンピュータ実装されるマップサーチを提供するシステムであって、
    マップサーチのためにユーザから受信された入力エントリをロケーション部およびクエリ部の少なくとも1つへとパーシングするパーシングモジュールと、
    前記パーシングモジュールから出力を受信し、前記パーシングされた前記ロケーション部および前記クエリ部を受信した後、前記パーシングされたロケーション部および前記クエリ部に関連する情報を検索して、マップサーチ結果を前記ユーザに返す検索モジュールとを含む、ことを特徴とするシステム。
  42. 前記パーシングモジュールが、
    前記入力エントリを1つまたは複数のトークンのトークンシーケンスへとパーシングし、各トークンが、前記入力エントリのセグメントを表すタームと、前記タームにアノテートされたタイプとを含む手段と、
    各タームに対する前記タイプを、前記タームがアドレス関連情報と前記アドレス関連情報のタイプを包含するかどうかを示すために用いる手段とを含む、ことを特徴とする請求項41に記載のシステム。
  43. 前記入力エントリを前記トークンシーケンスへパーシングする前記手段が、
    前記入力エントリの中のアドレス関連単語を、トークンのタームとして特定する手段と、
    前記アドレス関連単語のタイプを、前記トークンの前記タイプとして特定する手段とを含む、ことを特徴とする請求項42に記載のシステム。
  44. 前記入力エントリのアドレス関連単語を特定する前記手段が、
    アドレス関連単語の辞書の中のエントリと、前記エントリのタイプとを、トークンの前記アドレス関連単語と前記タイプとを特定するために用いる手段を含む、ことを特徴とする請求項43に記載のシステム。
  45. 前記辞書のアドレス関連単語が、行政区名、道路名、アドレス関連サフィックス、アドレス関連プリフィックス、および番号の、少なくとも1つを含む、ことを特徴とする請求項43に記載のシステム。
  46. 前記入力エントリの中の単語を、アドレスに関連していないトークンのタームとして特定する手段と、
    「None」を、前記トークンの前記タイプとして割り当てて、前記トークンの前記タームがアドレス関連情報を包含しないことを示す手段とを含む、ことを特徴とする請求項43に記載のシステム。
  47. 前記パーシングモジュールがさらに、
    前記トークンシーケンスの可能な分割位置を決定する手段であって、各可能な分割位置が前記トークンシーケンスを1つまたは2つのサブ-トークンシーケンスへと分割する、手段と、
    前記可能な分割位置のそれぞれに対して可能な分割方法を決定する手段であって、各可能な分割方法が、前記トークンシーケンスを、(1)可能なクエリ部および(2)可能なロケーション部の少なくとも1つへと分割する、手段と、
    前記可能な分割方法のそれぞれの正しさについての統計的確率を示す分割スコアを決定する手段と、
    最も高い分割スコアを有する前記可能な分割方法を、結果として得られた分割方法として選択する手段とを含む、ことを特徴とする請求項43に記載のシステム。
  48. 通信を前記パーシングモジュールおよび前記検索モジュール、およびコンピュータに提供するコンピュータネットワークと、
    前記コンピュータネットワークと通信しており、ユーザからのマップサーチのための前記入力エントリを受信し、前記検索モジュールから結果を受信するクライアントコンピュータとを含み、
    前記コンピュータネットワークが、前記クライアントコンピュータからの前記入力エントリを前記パーシングモジュールへ、前記結果を前記検索モジュールから前記クライアントコンピュータへと向かわせる、ことを特徴とする請求項43に記載のシステム。
  49. マップサーチのためにユーザから受信された入力エントリを、少なくとも1つのトークンを含むトークンシーケンスへとトークン化し、各トークンが、前記入力エントリのセグメントを表すタームと、前記タームにアノテートされたタイプとを含む、トークンモジュールと、
    前記トークンシーケンスの可能な分割位置を決定する手段であって、可能な分割位置が前記トークンシーケンスを1つまたは2つのサブシーケンスへと分割する、手段と、
    前記可能な分割位置のそれぞれに対して可能な分割方法を決定する手段であって、各可能な分割方法が、前記トークンシーケンスを可能なクエリ部および可能なロケーション部の少なくとも1つへと分割する、手段と、
    可能な分割方法のそれぞれに対して分割スコアを決定する手段と、
    最も高い分割スコアを有する前記可能な分割方法を、結果として得られた分割方法として選択する手段と、
    前記結果として得られた分割方法を受信してマップサーチを実施し、マップサーチ結果を前記ユーザに対して生成する検索モジュールとを含む、ことを特徴とするコンピュータ実装されるマップサーチを提供するシステム。
  50. 通信を前記トークンモジュール、全ての前記手段および前記検索モジュール、ならびにコンピュータに提供するコンピュータネットワークと、
    前記コンピュータネットワークと通信しており前記入力エントリをマップサーチのために前記ユーザから受信するクライアントコンピュータとを含み、
    前記コンピュータネットワークが、前記クライアントコンピュータからの前記入力エントリを前記トークンモジュールへ、前記結果を前記検索モジュールから前記クライアントコンピュータへと向かわせる、ことを特徴とする請求項49に記載のシステム。
  51. ユーザにより入力された入力エントリを受信するインターフェースと、
    処理装置であって、前記入力エントリをパーシングして、前記入力エントリをロケーション部およびクエリ部の少なくとも1つへと分割し、
    前記入力エントリに関連する情報を前記パーシングの結果に基づいて検索する、処理装置とを含み、
    前記入力エントリが、ロケーション部とクエリ部とに分割された場合は、前記処理装置が、地理的領域を前記ロケーション部に基づいて決定し、クエリ部に関連し、かつ、前記地理的領域内に位置するエンティティに関する情報を検索する、ことを特徴とするコンピュータ実装されるマップサーチを提供するシステム。
  52. 通信を前記処理装置に提供するコンピュータネットワークと、
    前記コンピュータネットワークと通信しており、前記入力エントリを前記ユーザからマップサーチのために受信するクライアントコンピュータとを含み、
    前記コンピュータネットワークが、前記インターフェースを介して、前記入力エントリを前記クライアントコンピュータから前記処理装置へと、および前記結果を前記処理装置から前記クライアントコンピュータへと向かわせる、ことを特徴とする請求項51に記載のシステム。
  53. ユーザにより入力された入力エントリを受信するインターフェースと、
    処理装置であって、
    前記入力エントリを、少なくとも1つのトークンを含むトークンシーケンスへとトークン化し、各トークンがタームを含み、前記タームが前記入力エントリのセグメントおよび前記タームにアノテートされたタイプを表し、
    前記トークンシーケンスの可能な分割位置を決定し、可能な分割位置が、前記トークンシーケンスを1つまたは2つのサブシーケンスに分割し、
    前記可能な分割位置のそれぞれに対する可能な分割方法を決定し、各可能な分割方法が、前記トークンシーケンスを可能なクエリ部および/または可能なロケーション部へと分割し、
    可能な分割方法のそれぞれに対する分割スコアを決定し、
    最も高い分割スコアを有する前記可能な分割方法を、結果として得られた分割方法として選択する処理装置とを含む、ことを特徴とするコンピュータ実装されるマップサーチを提供するシステム。
  54. 命令を格納する機械読み取り可能な記録媒体であって、前記命令は、機械により実行されるとき前記機械に、
    マップサーチのためのユーザからの入力エントリを、前記入力エントリに基づく前記マップサーチの実施に先立って、入力検索エントリの中の位置情報を表すロケーション部および前記入力エントリの中の前記ロケーション部に関連する検索対象を表すクエリ部へとパーシングするステップと、
    マップサーチを実施させて、前記ロケーション部に基づいて地理的領域またはロケーションを取得し、また、前記クエリ部に関連し、かつ、前記取得された地理的領域またはロケーションの所に、中に、または近くに位置する1つまたは複数のエンティティに関する情報を検索するステップとを実行させる、ことを特徴とする機械読み取り可能な記録媒体。
  55. 複数の命令を記録する機械読み取り可能な記録媒体であって、前記命令は、機械により実行されるとき前記機械に、
    ユーザから受信された入力エントリを、少なくとも1つのトークンを含むトークンシーケンスへとトークン化し、各トークンがタームを含み、前記タームが前記入力エントリのセグメントおよび前記タームにアノテートされたタイプを表す動作と、
    前記トークンシーケンスの可能な分割位置を決定する動作であって、可能な分割位置が、前記トークンシーケンスを1つまたは2つのサブシーケンスに分割する、動作と、
    前記可能な分割位置のそれぞれに対する可能な分割方法を決定する動作であって、各可能な分割方法が、前記トークンシーケンスを可能なクエリ部および/または可能なロケーション部へと分割する、動作と、
    可能な分割方法のそれぞれに対する分割スコアを決定する動作と、
    最も高い分割スコアを有する前記可能な分割方法を、結果として得られた分割方法として選択する動作とを実行させる、ことを特徴とする機械読み取り可能な記録媒体。
  56. マップサーチのためのユーザからの入力エントリを、前記入力エントリに基づく前記マップサーチの実施に先立って、入力検索エントリの中の位置情報を表すロケーション部および前記入力エントリの中の前記ロケーション部に関連する検索対象を表すクエリ部へとパーシングさせるステップであって、前記入力エントリの前記パーシングが、前記入力エントリにより示されるロケーションに対応するジオコードをあらかじめ検索するステップなしに実行されるステップと、
    マップサーチを実施させて、前記ロケーション部に基づいて地理的領域またはロケーションを取得し、また、前記クエリ部に関連し、かつ、前記取得された地理的領域またはロケーションの所に、中に、または近くに位置する1つまたは複数のエンティティに関する情報を検索させるステップとを含む、ことを特徴とするコンピュータ実装されるマップサーチ方法。
  57. マップサーチのためのユーザからの入力エントリをパーシングさせる前記ステップが、
    前記入力エントリを、1つまたは複数のトークンのトークンシーケンスへとパーシングし、各トークンがタームを含み、前記タームが前記入力エントリのセグメントおよび前記タームにアノテートされたタイプを表すステップと、
    各タームに対する前記タイプに、前記タームがアドレス関連情報および前記アドレス関連情報のタイプを包含するかどうかを示させるステップとを含む、ことを特徴とする請求項56に記載のマップサーチ方法。
JP2012518721A 2009-07-07 2009-07-07 マップサーチのためのクエリパーシング Active JP5462361B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2009/072667 WO2011003232A1 (en) 2009-07-07 2009-07-07 Query parsing for map search

Publications (2)

Publication Number Publication Date
JP2012532388A true JP2012532388A (ja) 2012-12-13
JP5462361B2 JP5462361B2 (ja) 2014-04-02

Family

ID=43428731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012518721A Active JP5462361B2 (ja) 2009-07-07 2009-07-07 マップサーチのためのクエリパーシング

Country Status (5)

Country Link
US (1) US8745065B2 (ja)
JP (1) JP5462361B2 (ja)
KR (1) KR101516858B1 (ja)
CN (1) CN102483748B (ja)
WO (1) WO2011003232A1 (ja)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150848B2 (en) * 2008-01-04 2012-04-03 Google Inc. Geocoding multi-feature addresses
US8255379B2 (en) * 2009-11-10 2012-08-28 Microsoft Corporation Custom local search
US8595812B2 (en) 2009-12-18 2013-11-26 Sabre Inc. Tokenized data security
US8473431B1 (en) 2010-05-14 2013-06-25 Google Inc. Predictive analytic modeling platform
CA2712028C (en) * 2010-08-25 2011-12-20 Ibm Canada Limited - Ibm Canada Limitee Geospatial database integration using business models
US8533224B2 (en) * 2011-05-04 2013-09-10 Google Inc. Assessing accuracy of trained predictive models
US20120317104A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Using Aggregate Location Metadata to Provide a Personalized Service
CN102426596B (zh) * 2011-11-03 2014-07-30 北京地拓科技发展有限公司 地图加载方法和装置
US9009183B2 (en) * 2011-11-03 2015-04-14 Microsoft Technology Licensing, Llc Transformation of a system change set from machine-consumable form to a form that is readily consumable by a human
CN102571910B (zh) 2011-11-16 2014-08-13 腾讯科技(深圳)有限公司 在社交网络中查找附近用户的方法和服务器
US9275147B2 (en) * 2012-06-18 2016-03-01 Google Inc. Providing query suggestions
US9268822B2 (en) * 2012-07-18 2016-02-23 Salesforce.Com, Inc. System and method for determining organizational hierarchy from business card data
EP2883152A4 (en) * 2012-08-10 2016-03-16 Nokia Technologies Oy METHOD AND DEVICE FOR PROVIDING A CROWD SOURCE-FINANCED GEOCODING
US9767121B2 (en) * 2013-02-12 2017-09-19 C/O Vmobo, Inc. Location-based mobile search
CN105532030B (zh) 2013-03-15 2019-06-28 美国结构数据有限公司 用于分析目标实体的移动的装置、系统和方法
CN105209858B (zh) * 2013-03-15 2018-11-16 邓白氏公司 企业场所数据的非确定性消岐和匹配
US9047325B2 (en) * 2013-04-08 2015-06-02 International Business Machines Corporation Modularizing complex XML data for generation and extraction
EP2989563B1 (en) * 2013-04-23 2018-09-19 Imosphere Ltd Database management system
US10204139B2 (en) * 2013-05-06 2019-02-12 Verizon Patent And Licensing Inc. Systems and methods for processing geographic data
CN103631839B (zh) * 2013-06-27 2017-08-29 西南科技大学 一种页面地域权重模型实现方法
US9619499B2 (en) 2013-08-07 2017-04-11 International Business Machines Corporation Hardware implementation of a tournament tree sort algorithm
US9495418B2 (en) 2013-08-07 2016-11-15 International Business Machines Corporation Scalable acceleration of database query operations
US9830354B2 (en) * 2013-08-07 2017-11-28 International Business Machines Corporation Accelerating multiple query processing operations
US9251218B2 (en) 2013-08-07 2016-02-02 International Business Machines Corporation Tunable hardware sort engine for performing composite sorting algorithms
US9727595B2 (en) * 2013-09-20 2017-08-08 Uber Technologies, Inc. Location searching with category indices
GB2522432A (en) * 2014-01-23 2015-07-29 Locpin Ltd Computer system and method
US9465811B2 (en) * 2014-03-20 2016-10-11 Facebook, Inc. Polygon-based indexing of places
US9582515B1 (en) * 2014-04-11 2017-02-28 Google Inc. Detecting queries for specific places
US9519802B2 (en) 2014-05-07 2016-12-13 American Express Travel Related Services Company, Inc. Systems and methods for document and data protection
WO2015191010A1 (en) * 2014-06-12 2015-12-17 Sun Vasan Searching for a map using an input image as a search query
US10127275B2 (en) 2014-07-11 2018-11-13 International Business Machines Corporation Mapping query operations in database systems to hardware based query accelerators
US9953171B2 (en) * 2014-09-22 2018-04-24 Infosys Limited System and method for tokenization of data for privacy
US10310813B2 (en) 2014-12-29 2019-06-04 International Business Machines Corporation Hardware implementation of a tournament tree sort algorithm using an external memory
US20160196349A1 (en) * 2015-01-07 2016-07-07 Microsoft Technology Licensing, Llc Geocoding multi-entity queries
US9881166B2 (en) * 2015-04-16 2018-01-30 International Business Machines Corporation Multi-focused fine-grained security framework
US10002128B2 (en) * 2015-09-09 2018-06-19 Samsung Electronics Co., Ltd. System for tokenizing text in languages without inter-word separation
US10268756B2 (en) 2015-12-18 2019-04-23 Here Global B.V. Method and apparatus for providing natural language input in a cartographic system
US10282466B2 (en) * 2015-12-31 2019-05-07 Samsung Electronics Co., Ltd. Machine processing of search query based on grammar rules
US10671932B1 (en) * 2017-01-27 2020-06-02 Intuit Inc. Software application selection models integration
US11640436B2 (en) * 2017-05-15 2023-05-02 Ebay Inc. Methods and systems for query segmentation
CN107491489A (zh) * 2017-07-18 2017-12-19 深圳天珑无线科技有限公司 一种地图搜索方法、装置及计算机可读存储介质
CN110019617B (zh) * 2017-12-05 2022-05-20 腾讯科技(深圳)有限公司 地址标识的确定方法和装置、存储介质、电子装置
US10606851B1 (en) * 2018-09-10 2020-03-31 Palantir Technologies Inc. Intelligent compute request scoring and routing
US10783175B2 (en) * 2018-09-28 2020-09-22 Microsoft Technology Licensing, Llc Expanding search queries using query term weighting
US11010376B2 (en) 2018-10-20 2021-05-18 Verizon Patent And Licensing Inc. Methods and systems for determining search parameters from a search query
CN109657034A (zh) * 2018-11-05 2019-04-19 阿里巴巴集团控股有限公司 地址相似度计算方法及其系统
US10409641B1 (en) 2018-11-26 2019-09-10 Palantir Technologies Inc. Module assignment management
US11120007B2 (en) 2018-11-26 2021-09-14 Palantir Technologies Inc. Module expiration management
US11293776B2 (en) * 2018-11-27 2022-04-05 Verizon Patent And Licensing Inc. Smart geocoding of road intersections
US20200183936A1 (en) * 2018-12-10 2020-06-11 Teradata Us, Inc. Predictive query parsing time and optimization
CN109783589B (zh) * 2018-12-13 2023-07-25 中国平安人寿保险股份有限公司 电子地图解析地址的方法、装置及存储介质
US11631047B2 (en) * 2019-04-12 2023-04-18 Flipkart Internet Pvt. Ltd. System and method of geocoding
CN111159239B (zh) * 2019-12-31 2024-03-05 北京四维图新科技股份有限公司 搜索方法和设备
CN113094600A (zh) * 2020-01-08 2021-07-09 百度在线网络技术(北京)有限公司 电子地图的搜索方法、装置、设备和介质
CN113849531B (zh) * 2021-09-23 2024-03-22 北京百度网讯科技有限公司 查询方法及装置
CN117786242B (zh) * 2024-02-26 2024-05-28 腾讯科技(深圳)有限公司 一种基于位置的搜索方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63226727A (ja) * 1987-03-16 1988-09-21 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置
JPH07160701A (ja) * 1993-12-13 1995-06-23 Sharp Corp 住所情報検索装置
JP2001249922A (ja) * 1999-12-28 2001-09-14 Matsushita Electric Ind Co Ltd 単語分割方式及び装置
JP2006162516A (ja) * 2004-12-09 2006-06-22 Fujitsu Ten Ltd 情報端末装置
JP2008152560A (ja) * 2006-12-18 2008-07-03 Mitsubishi Electric Corp 施設検索装置
JP2009501976A (ja) * 2005-07-13 2009-01-22 グーグル・インコーポレーテッド 位置識別方法
JP2009037316A (ja) * 2007-07-31 2009-02-19 Yahoo Japan Corp 地図上の領域を求める方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002003234A2 (en) 2000-06-30 2002-01-10 Troy Schultz Method and apparatus for a gis based search engine utilizing real time advertising
US20070027672A1 (en) * 2000-07-31 2007-02-01 Michel Decary Computer method and apparatus for extracting data from web pages
US7207012B1 (en) * 2003-01-30 2007-04-17 Sprint Communications Company L.P. System and method for mapping deployment status of high bandwidth metropolitan area networks
AU2004220880B2 (en) 2003-03-18 2010-09-23 Nokia Corporation Corpus clustering, confidence refinement, and ranking for geographic text search and information retrieval
US7257570B2 (en) * 2003-11-13 2007-08-14 Yahoo! Inc. Geographical location extraction
JP4246055B2 (ja) * 2003-12-19 2009-04-02 アルパイン株式会社 車載用ナビゲーション装置及び周辺施設検索表示方法
US20070168370A1 (en) * 2004-11-16 2007-07-19 Hardy Mark D System and methods for provisioning geospatial data
US7483881B2 (en) * 2004-12-30 2009-01-27 Google Inc. Determining unambiguous geographic references
US7506254B2 (en) * 2005-04-21 2009-03-17 Google Inc. Predictive conversion of user input
US20080086356A1 (en) * 2005-12-09 2008-04-10 Steve Glassman Determining advertisements using user interest information and map-based location information
WO2008005102A2 (en) * 2006-05-13 2008-01-10 Sap Ag Consistent set of interfaces derived from a business object model
CN101136028B (zh) * 2006-07-10 2012-07-04 日电(中国)有限公司 基于自然语言的位置查询系统以及基于关键词的位置查询系统
US8359309B1 (en) * 2007-05-23 2013-01-22 Google Inc. Modifying search result ranking based on corpus search statistics
US8015196B2 (en) * 2007-06-18 2011-09-06 Geographic Services, Inc. Geographic feature name search system
CN101350013A (zh) * 2007-07-18 2009-01-21 北京灵图软件技术有限公司 一种地理信息的搜索方法和系统
US7983913B2 (en) * 2007-07-31 2011-07-19 Microsoft Corporation Understanding spoken location information based on intersections
JP2009104450A (ja) 2007-10-24 2009-05-14 Nagoya Institute Of Technology Webチャットの観測に基づく商品推薦システム
US8364470B2 (en) * 2008-01-15 2013-01-29 International Business Machines Corporation Text analysis method for finding acronyms
US20090210388A1 (en) * 2008-02-20 2009-08-20 Microsoft Corporation Efficiently discovering and synthesizing maps from a large corpus of maps
GB2460045A (en) 2008-05-13 2009-11-18 Triad Group Plc Analysing multiple data sources for a user request using business and geographical data, with selected rule sets to filter the data on the databases.
US8364462B2 (en) * 2008-06-25 2013-01-29 Microsoft Corporation Cross lingual location search
US8521731B2 (en) * 2008-07-09 2013-08-27 Yahoo! Inc. Systems and methods for query expansion in sponsored search
US8666652B2 (en) * 2008-09-30 2014-03-04 Sas Institute Inc. System and method for running stored statistical processes using a web-based graphical information system
US8015172B1 (en) * 2009-07-03 2011-09-06 eBridge, Inc. Method of conducting searches on the internet to obtain selected information on local entities and provide for searching the data in a way that lists local businesses at the top of the results
KR101289082B1 (ko) 2009-09-02 2013-07-22 한국전자통신연구원 지역 정보 서비스 제공 시스템 및 그 방법
US8255379B2 (en) 2009-11-10 2012-08-28 Microsoft Corporation Custom local search

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63226727A (ja) * 1987-03-16 1988-09-21 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置
JPH07160701A (ja) * 1993-12-13 1995-06-23 Sharp Corp 住所情報検索装置
JP2001249922A (ja) * 1999-12-28 2001-09-14 Matsushita Electric Ind Co Ltd 単語分割方式及び装置
JP2006162516A (ja) * 2004-12-09 2006-06-22 Fujitsu Ten Ltd 情報端末装置
JP2009501976A (ja) * 2005-07-13 2009-01-22 グーグル・インコーポレーテッド 位置識別方法
JP2008152560A (ja) * 2006-12-18 2008-07-03 Mitsubishi Electric Corp 施設検索装置
JP2009037316A (ja) * 2007-07-31 2009-02-19 Yahoo Japan Corp 地図上の領域を求める方法

Also Published As

Publication number Publication date
CN102483748A (zh) 2012-05-30
CN102483748B (zh) 2016-04-20
US20120278339A1 (en) 2012-11-01
WO2011003232A1 (en) 2011-01-13
KR20120123241A (ko) 2012-11-08
KR101516858B1 (ko) 2015-05-04
JP5462361B2 (ja) 2014-04-02
US8745065B2 (en) 2014-06-03

Similar Documents

Publication Publication Date Title
JP5462361B2 (ja) マップサーチのためのクエリパーシング
US11514035B1 (en) Query refinements using search data
US10657460B2 (en) Systems and methods to facilitate local searches via location disambiguation
US7890493B2 (en) Translating a search query into multiple languages
US9201931B2 (en) Method for obtaining search suggestions from fuzzy score matching and population frequencies
EP2798540B1 (en) Extracting search-focused key n-grams and/or phrases for relevance rankings in searches
US20170357714A1 (en) Query Understanding Pipeline
US9928296B2 (en) Search lexicon expansion
KR101945749B1 (ko) 데이터베이스 검색방법, 네비게이션 장치 및 인덱스 구조 생성 방법
US20060212433A1 (en) Prioritization of search responses system and method
CN107203526B (zh) 一种查询串语义需求分析方法及装置
US20100191758A1 (en) System and method for improved search relevance using proximity boosting
US11640506B2 (en) Entity disambiguation
Luberg et al. Information retrieval and deduplication for tourism recommender sightsplanner
CN116738065B (zh) 一种企业搜索方法、装置、设备及存储介质
CN107818092B (zh) 文档处理方法及装置
CN116069897A (zh) 查询纠错方法、装置、计算机设备、存储介质及程序产品
KR20120009817A (ko) 검색 서비스 제공 시스템 및 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140116

R150 Certificate of patent or registration of utility model

Ref document number: 5462361

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250