(58)【調査した分野】(Int.Cl.,DB名)
予め設定されたグリッド化された第1位置領域、及び、グリッドと最適検索半径との間の予め設定された対応関係は、定期的に更新される請求項1に記載の目標位置検索方法。
【発明を実施するための形態】
【0011】
本願の実施形態の目的、技術的スキーム、及び利点を、実施形態及び添付図面とともに説明するために、本願の実施形態のより詳細な説明を以下に示す。ここで、本願の実施形態の例示的な形態及びその説明は、本願の実施形態を説明するために使用され、本願の実施形態に対する限定を構成するものではない。
【0012】
添付図面と併せて、本願の実施形態のいくつかの実装のより詳細な説明を以下に示す。
【0013】
図1に示すように、本願の実施形態の目標位置検索方法は、以下のステップを含む。
【0014】
ステップS101において、目標検索要求によって指定された位置(location)を決定する。
【0015】
本願の実施形態では、目標検索要求は、パーソナルコンピュータまたはモバイル端末(例えば、スマートフォンまたはタブレット)によって、ユーザによって開始され得る。
【0016】
例えば、目標検索要求は、ビジネス検索要求とすることができる。一般に、目標検索要求は、指定された位置を含む。
【0017】
本願の一実施形態では、指定された位置は特定の緯度及び経度データであってもよい。本願の別の実施形態では、指定された位置は、場所(位置)の名称または識別子(例えば、北京地下鉄1号線のXidan駅)であってもよく、この場所(位置)の名称または識別子に基づいて詳細な緯度及び経度データを取得することができる。
【0018】
ステップS102において、予め設定されたグリッド化された位置領域内の位置に対応するグリッドを決定する。
【0019】
本願の実施形態では、グリッド化された位置領域は、以下の方法で予め得ることができる。
【0020】
1)設定された領域内で、設定された履歴時間範囲内でシステムによって受信されたすべての目標検索要求によって指定された緯度及び経度情報を決定する。例えば、ODPS(Open Data Processing Service)システムを使用して、オフラインで過去7日間内の北京のすべてのビジネス検索に対するPV(ページビュー)ログを取得し、7日間のPVログ(即ち、過去の検索データ)から、その期間中の北京のすべてのビジネス検索に対する指定された緯度及び経度情報を集計する。
【0021】
2)ジオハッシュアルゴリズムに基づいて、緯度及び経度情報を等しい長さ及び幅の正方形のグリッドを有するグリッド化された位置領域にマッピングする。
【0022】
本願の一実施形態では、
図2に示すように、設定された履歴時間範囲内にシステムによって受信された目標検索要求で指定された設定された領域内の人気のある位置の緯度及び経度情報は、等しい長さ及び幅の正方形のグリッドを有するグリッド化された位置領域にマッピングすることができる。このようにして、ほとんどの位置に対する目標検索要求は、わずかなシステムオーバーヘッドを用いて満たされる。ここでは、人気のある位置は検索量の高い場所である。実装中、人気のある位置は、設定されたしきい値を使用して決定できる。
【0023】
本願の別の実施形態では、設定された領域のマップは、設定された規則に従って均一にグリッド化されることができる。しかし、このアプローチを使用すると、人気のない位置のグリッドを格納すると、ストレージスペースなどのシステムリソースが無駄になる。ここで、人気のない位置は、検索されていないか、検索量が非常に低い場所である。実装時に、人気のない位置は、設定されたしきい値を使用して決定できる。
【0024】
ステップS103において、グリッドと最適検索半径との間の予め設定された対応関係から、グリッドの対応する最適検索半径を決定する。
【0025】
本願の実施形態では、以下のようにして、最適検索半径を予め求めておく。
【0026】
グリッドのそれぞれに対して、グリッド化された位置領域内のグリッドの中心点を円の中心にして、漸増的に増加する半径を使用して目標の検索を実行し、予め設定された返された数の閾値に到達した時に返される結果に対応するグリッドの最小検索半径を取得して、最小検索半径をグリッドの最適検索半径として用いる。
【0027】
例として
図2のグリッドWX4G0を使用すると、WX4G0は、グリッド化された位置領域内の特定のグリッドのジオハッシュコードである。このグリッドの中心点を原点として使用すると、検索半径(
図3に示すように)として、小から大へと漸増的に増加する100m、200m、300m等を用いて、巡回検索を行うことが可能である。従って、グリッドWX4G0が予め設定された返された数の閾値に到達すると、返された結果に対応する最小検索半径を計算して、このグリッドの最適検索半径として最小検索半径を使用することが可能である。同様のやり方で、
図2のすべてのジオハッシュコード(即ち、グリッド化された位置領域内の全てのグリッド)が予め設定された返された数の閾値に到達すると、返された結果に対応する最適検索半径を計算することができる。したがって、本願の実施形態では、グリッド化された位置領域内の予め設定された領域内全てのグリッドとそれらの最適検索半径との対応関係を、即ち、表1に示すように、ジオハッシュコードがキーであり、最適検索半径が値であるデータを、予め取得することができる。
【0029】
本願の別の実施形態では、巡回検索を実行するために別のモード(例えば、検索半径が大から小)を採用することが可能である。しかし、このアプローチでは、最適検索半径を見つけるにはより多くの数の巡回検索が必要になることがあり、効率の点では一般的に小から大への前述の漸増的な増加ほど良くはない。
【0030】
ステップS104では、最適検索半径を用いて目標の検索を行って、返された結果を得る。
【0031】
本願の実施形態では、最適検索半径を用いて検索を行うことは、検索される目標の指定された位置を円の中心として使用して、検索される目標の最適検索半径を検索半径として用いて検索を行うことを意味する。
【0032】
人気のある位置の最適半径範囲内のビジネスセットは変更できるので、ステップS104の後、この本願の別の実施形態は、以下のステップを含むことができる。
【0033】
返された結果の数が、返された数の予め設定された下限よりも小さいかどうかを判定するステップと、返された結果の数が返された数の下限を下回る場合、返された結果の数が返された数の下限に到達するまで、検索される目標に対して徐々に拡大する検索半径を使用して検索を実行して、返された結果の正確さを向上するステップ。
【0034】
更に、本願の別の実施形態では、予め設定されたグリッド化された位置領域と、予め設定されたグリッド化された位置領域内のグリッドとそれらの最適検索半径との対応関係は、定期的に更新して(例えば、日に一度、又は、週に一度等)、人気のある位置の近くの目標情報の変化に適合して(例えば、ショッピングモール、スーパーマーケット、レストランなどのビジネスの変化など)、返された結果の正確さを向上させることを支援する。
【0035】
本願の実施形態では、人気のある位置が、履歴検索データに基づいてグリッド化された位置領域として予めマッピングされ、グリッド化された位置領域内の各長方形のグリッドについて最適検索半径が計算されるので、長方形のグリッドのそれぞれに対して、最適検索半径は、その長方形のグリッド内のすべての位置に対する最適検索半径を表す。このように、人気のある位置とその最適検索半径との対応関係が予め定められているので、ある人気のある位置の検索を受信すると、この対応関係に基づいて人気のある位置の最適検索半径を迅速に決定することができる。これにより、この最適検索半径を用いて検索を行う場合に理想的な検索結果を得ることが可能となる。したがって、本願の実施形態は、返された検索結果セットのサイズを効果的に制御し、ユーザエクスペリエンスを改善して、検索エンジンの性能を大幅に改善する。
【0036】
前述の文章によって説明されたプロセスフローは、所与のシーケンス内に現れる複数の工程を含むが、これらのプロセスは、より多いかまたはより少ない工程を含むことができることが明確に理解されるべきであり、これらの工程は、順次又は平行して実行され得る(例えば、並列プロセッサまたはマルチスレッド環境を用いて)。
【0037】
図4に示すように、本願の実施形態の目標位置検索装置は、目標検索要求によって指定された位置を決定するように構成された位置決定モジュール41を備える。
【0038】
本願の実施形態では、目標検索要求は、パーソナルコンピュータまたはモバイル端末(例えば、スマートフォンまたはタブレット)に基づいて、ユーザによって開始され得る。
【0039】
例えば、目標検索要求は、ビジネス検索要求とすることができる。一般に、目標検索要求は、指定された位置(location)を含む。
【0040】
本願の一実施形態では、指定された位置は特定の緯度及び経度データであってもよい。本願の別の実施形態では、指定された位置は、場所(位置)の名称または識別子(例えば、北京地下鉄1号線のXidan駅)であってもよく、この場所(位置)の名称または識別子に基づいて特定の緯度及び経度データを取得することができる。
【0041】
グリッド決定モジュール42は、予め設定されたグリッド化された位置領域内に位置に対応するグリッドを決定するように構成される。
【0042】
本願の実施形態では、グリッド化された位置領域は、以下の方法で予め得ることができる。
【0043】
1)設定された領域内で、設定された履歴時間範囲内にシステムによって受信されたすべての目標検索要求によって指定された緯度及び経度情報を決定する。例えば、ODPSシステムを使用して、オフラインで過去7日間内の北京のすべてのビジネス検索に対するPV(ページビュー)ログを取得し、7日間のPVログ(即ち、過去の検索データ)から、その期間中の北京でのすべてのビジネス検索に対する指定緯度及び経度情報を集計する。
【0044】
2)ジオハッシュアルゴリズムに基づいて、緯度及び経度情報を、長さおよび幅が等しい正方形のグリッドを有するグリッド化された位置領域にマッピングする。
【0045】
本願の一実施形態では、
図2に示すように、設定された履歴時間範囲内にシステムによって受信された目標検索要求で指定された設定領域内の人気のある位置(場所)の緯度及び経度情報は、等しい長さ及び幅の正方形のグリッドを有するグリッド化された位置領域にマッピングすることができる。このようにして、ほとんどの場所に対する目標検索の要求は、わずかなシステムオーバーヘッドを用いて満たされる。ここでは、人気のある位置は検索量の高い場所である。実装中、人気のある位置は、設定されたしきい値を使用して決定できる。
【0046】
本願の別の実施形態では、設定された領域のマップは、設定された規則に従って均一にグリッド化されることができる。しかし、このアプローチを使用すると、人気のない位置のグリッドを格納すると、ストレージスペースなどのシステムリソースが無駄になる。ここで、人気のない位置は、検索されていないか、検索量が非常に低い場所である。実装時に、人気のない位置は、設定されたしきい値を使用して決定できる。
【0047】
検索範囲決定モジュール43は、グリッドと最適検索半径との間の予め設定された対応関係からグリッドの対応する最適検索半径を決定するように構成される。
【0048】
本願の実施形態では、以下のようにして、最適検索半径を予め求めておく。
【0049】
グリッドのそれぞれに対して、グリッド化された位置領域内のグリッドの中心点を円の中心にして、漸増的に増加する半径を使用して目標の検索を実行し、予め設定された返された数の閾値に到達した時に返される結果に対応するグリッドの最小検索半径を取得して、最小検索半径をグリッドの最適検索半径として用いる。
【0050】
例として
図2のグリッドWX4G0を使用すると、WX4G0は、グリッド化された位置領域内の特定のグリッドのジオハッシュコードである。このグリッドの中心点を原点として使用すると、検索半径(
図3に示すように)として、小から大へと漸増的に増加する100m、200m、300m等を用いて、巡回検索を行うことが可能である。従って、グリッドWX4G0が予め設定された返された数の閾値に到達すると、返された結果に対応する最小検索半径を計算して、このグリッドの最適検索半径として最小検索半径を使用することが可能である。同様のやり方で、
図2のすべてのジオハッシュコード(即ち、グリッド化された位置領域内の全てのグリッド)が予め設定された返された数の閾値に到達すると、返された結果に対応する最適検索半径を計算することができる。したがって、本願の実施形態では、グリッド化された位置領域内の予め設定された領域内全てのグリッドとそれらの最適検索半径との対応関係を、即ち、表2に示すように、ジオハッシュコードがキーであり、最適検索半径が値であるデータを、予め取得することができる。
【0052】
本願の別の実施形態では、巡回検索を実行するために別のモード(例えば、検索半径が大から小)を採用することが可能である。しかし、このアプローチでは、最適検索半径を見つけるにはより多くの数の巡回検索が必要になることがあり、効率の点では一般的に小から大への前述の漸増的な増加ほど良くはない。
【0053】
返された結果取得モジュール44は、最適検索半径を使用して目標の検索を実行し、返された結果を取得するように構成される。
【0054】
本願の実施形態では、最適検索半径を用いて検索を行うことは、検索される目標の指定された位置を円の中心として使用して、検索される目標の最適検索半径を検索半径として用いて検索を行うことを意味する。
【0055】
本願の別の実施形態では、目標位置検索装置は、また、返された結果取得モジュール44が返された結果を取得した後に、返された結果の数が、返された数の予め設定された下限よりも小さいかどうかを判定して、返された結果の数が返された数の下限を下回る場合、返された結果の数が返された数の下限に到達するまで、検索される目標に対して徐々に拡大する検索半径を使用して検索を実行するように構成された、返された結果を最適化するモジュール45を備える。
【0056】
更に、本願の別の実施形態では、予め設定されたグリッド化された位置領域と、予め設定されたグリッド化された位置領域内のグリッドとそれらの最適検索半径との対応関係は、定期的に更新して(例えば、日に一度、又は、週に一度等)、人気のある位置の近くの目標情報の変化に適合して(例えば、ショッピングモール、スーパーマーケット、レストランなどのビジネスの変化など)、返された結果の正確さを保証することを支援する。
【0057】
本願の実施形態では、人気のある位置が、履歴検索データに基づいてグリッド化された位置領域として予めマッピングされ、グリッド化された位置領域内の各長方形のグリッドについて最適検索半径が計算されるので、長方形のグリッドのそれぞれに対して、最適検索半径は、その長方形のグリッド内のすべての位置に対する最適検索半径を表す。このように、人気のある位置とその最適検索半径との対応関係が予め定められているので、ある人気のある位置の検索を受信すると、この対応関係に基づいて人気のある位置の最適検索半径を迅速に決定することができる。これにより、この最適検索半径を用いて検索を行う場合に理想的な検索結果を得ることが可能となる。したがって、本願の実施形態は、返された検索結果セットのサイズを効果的に制御し、ユーザエクスペリエンスを改善して、検索エンジンの性能を大幅に改善する。
【0058】
当業者であれば、本願の実施形態に列挙された様々な例示的な論理ブロック、要素、及びステップが、ハードウェア、ソフトウェア、またはその2つの組み合わせによって達成され得ることも理解できる。ハードウェアまたはソフトウェアが実装に使用されるかどうかの問題は、特定のアプリケーション及び全体的なシステム設計要求に依存する。当業者は、これらの機能を達成するための特定の用途に様々な方法を用いることができるが、これらの実施形態は、本出願の実施形態の保護の範囲を超えるものとして理解されるべきではない。
【0059】
本願の実施形態に記載された様々な例示的な論理ブロックまたは要素のすべては、一般的なプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ、または他のプログラマブルロジック装置、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアユニット、または上記の任意の組み合わせを用いて、上述した機能を達成又は演算することができる。一般的なプロセッサは、マイクロプロセッサであってもよく、従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。任意選択的に、プロセッサは、例えば、デジタル信号プロセッサ及びマイクロプロセッサ、複数のマイクロプロセッサ、デジタル信号プロセッサコアと結合された1つまたは複数のマイクロプロセッサ、または他の類似の構成の演算装置の組み合わせによっても達成され得る。
【0060】
本出願の実施形態に記載された方法またはアルゴリズムのステップは、ハードウェアまたはプロセッサによって実行されるソフトウェアモジュール、またはその2つの組み合わせに直接埋め込むことができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードドライブ、リムーバブルディスク、CD−ROM、またはこの分野の任意のフォーマットの記憶媒体に格納することができる。一例として、記憶媒体をプロセッサにリンクすることができ、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことが可能になる。必要に応じて、記憶媒体はプロセッサに統合することができる。プロセッサ及び記憶媒体は、ASICに実装することができ、ASICは、ユーザ端末に実装することができる。任意選択的に、プロセッサ及び記憶媒体は、ユーザ端末の異なるユニットに実装することができる。
【0061】
1つまたは複数の例示的な設計では、本願の実施形態によって説明される機能は、ハードウェア、ソフトウェア、ファームウェア、または3つの任意の組み合わせによって達成され得る。ソフトウェアによって達成される場合、これらの機能は、コンピュータ可読媒体に格納されてもよく、または1つまたは複数の命令またはコードの形態でコンピュータ可読媒体に転送されてもよい。コンピュータ可読媒体は、ある場所から別の場所へコンピュータプログラムを転送することを可能にするコンピュータ記憶媒体及び通信媒体を含む。記憶媒体は、一般的なコンピュータまたは特殊なコンピュータによってアクセス可能な任意の媒体とすることができる。例えば、このタイプのコンピュータ可読媒体は、RAM、ROM、EEPROM、CD(登録商標)−ROM、または他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶装置、または、命令またはデータ構造の形式及び一般的または特殊化されたコンピュータまたは一般的または特殊なプロセッサによって読み取り可読な他の形式でプログラムコードを搬送または格納するために使用される他の媒体を含むが、これらに限定されるものではない。さらに、任意の接続は、コンピュータ可読媒体として適切に定義することができる。例えば、ソフトウェアの一部が、同軸ケーブル、光ファイバケーブル、ツイストペア、またはDSLを介して、または赤外線、無線、またはマイクロ波無線モードを使用して、ウェブサイト、サーバ、または他のリモートリソースから送信される場合、これも定義されたコンピュータ可読媒体として含まれる。ディスク及び磁気ディスクは、ジップ(登録商標)ディスク、レーザーディスク(登録商標)、光ディスク、DVD(登録商標)、フロッピーディスク(登録商標)、及びブルーレイディスク(登録商標)を含む。磁気ディスクは通常、データの磁気複製を使用するが、ディスクは、通常、データの光学複製を実行するためにレーザーを使用する。上記の組み合わせは、コンピュータ可読媒体として含められ得る。
【0062】
前述の実施形態は、本願の目的、技術的スキーム及び有益な効果の詳細な説明を提供する。上記は、本願の実施形態の特定の実施形態に過ぎず、本願の保護範囲を限定するために使用されるものではないことを理解されたい。本願の精神及び原理の範囲内でなされた全ての修正、均等な置換及び改良は、本願の保護の範囲内に入るものとする。