(57)【要約】  ウェブリソースのサービスエリアをアドレス、クエリコンテンツ、およびビジネスカテゴリにより判定する方法およびシステムを提供する。ロケーションシステムは、ウェブリソースにアクセスしたユーザのアドレスに基づいて、ウェブリソースのサービスエリアを判定することができる。ロケーションシステムは、ウェブサイトに対するクリックスルーとなったクエリ項目に基づいて、ウェブサイト（または他のウェブリソース）に対するサービスエリアを判定することができる。ロケーションシステムは、ウェブサイトのビジネスカテゴリおよびそのウェブサイトに関連付けた「プロバイダロケーション」に基づいてウェブサイト（または他のウェブリソース）のサービスエリアを判定することができる。
2009531773.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのアドレスに基づいてウェブリソースのサービスエリアを判定するコンピュータシステムであって、
前記ウェブリソースのそれぞれのアクセスに対して、前記ウェブリソースにアクセスしたユーザのアドレスを含むアクセス情報ストアと、
前記アクセス情報のアドレスをロケーション階層内のロケーションにマップするアドレスマッピングコンポーネントと、
前記階層のロケーションを、前記ロケーション内のユーザによる前記ウェブリソースのアクセス数に基づいて、および前記ロケーション内に階層的に存在するロケーション内のユーザによる前記ウェブリソースのアクセス数の広がりに基づいて、前記ウェブリソースのサービスエリアとして特定する特定コンポーネントと
を備えることを特徴とするコンピュータシステム。
【請求項２】
前記アドレスはＩＰアドレスであることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記アクセス情報はクリックスルーログから導出されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
前記識別コンポーネントはロケーションに対する重みを計算し、前記重みは前記ロケーションの親ロケーションのアクセス率に対する前記ロケーションのアクセス率の比に基づくことを特徴とする請求項１に記載のコンピュータシステム。
【請求項５】
前記重みは、
【数１】
2009531773.tif 000009
で表され、ここでＷｅｉｇｈｔ（ｗ，ｌ）はウェブリソースｗに対するロケーションｌの重みを表し、Ｃｌｉｃｋ（ｗ，ｌ）はロケーションｌからウェブサイトｗへのクリックスルー数を表し、Ｐｏｐｕｌａｔｉｏｎ（ｌ）はロケーションｌの人口を表し、Ｐａｒｅｎｔ（ｌ）はロケーションｌの親ロケーションを表すこと
を特徴とする請求項４に記載のコンピュータシステム。
【請求項６】
前記識別コンポーネントはロケーションに対する広がりを計算し、前記広がりはその子ロケーション間の前記ロケーションのアクセス分布を示すことを特徴とする請求項１に記載のコンピュータシステム。
【請求項７】
前記広がりは、
【数２】
2009531773.tif 000010
で表され、ここでＳｐｒｅａｄ（ｗ，ｌ）はウェブリソースｗに対するロケーションｌの広がりを表し、Ｗｅｉｇｈｔ（ｗ，ｌ）はウェブリソースｗに対するロケーションｌの重みを表し、ｌxはロケーションｌの子ロケーションを表し、ｎはロケーションｌの子ロケーションの数を表すことを特徴とする請求項６に記載のコンピュータシステム。
【請求項８】
前記アドレスはＩＰアドレスであり、前記アクセス情報はクリックスルーログから導出され、前記識別コンポーネントはロケーションに対する重みを計算し、前記重みは前記ロケーションの親ロケーションのアクセス率に対する前記ロケーションのアクセス率の比に基づき、および前記識別コンポーネントはロケーションに対する広がりを計算し、前記広がりはその子ロケーション間の前記ロケーションのアクセス分布を示すことを特徴とする請求項１に記載のコンピュータシステム。
【請求項９】
クエリ項目に基づいてウェブリソースのサービスエリアを判定するコンピュータシステムであって、
ユーザが選択したウェブリソースに対する参照を検索結果が含んだクエリを示すクリックスルーストアと、
ロケーション項目である前記クエリの項目を特定するロケーション項目特定コンポーネントと、
コンテンツロケーション検出アルゴリズムを前記特定項目に適用することでサービスエリアを特定し、コンテンツロケーションを前記サービスエリアとして特定するサービスエリア特定コンポーネントと
を備えることを特徴とするコンピュータシステム。
【請求項１０】
前記特定ロケーション項目を含むドキュメントを生成するコンポーネントを含み、前記サービスエリア特定コンポーネントは前記コンテンツロケーション検出アルゴリズムを前記生成ドキュメントに適用することを特徴とする請求項９に記載のコンピュータシステム。
【請求項１１】
ロケーション項目の曖昧性を除去する曖昧性除去コンポーネントを含む請求項９に記載のコンピュータシステム。
【請求項１２】
前記ロケーションは階層内で定義され、ならびに前記コンテンツロケーション検出アルゴリズムは、ロケーション項目に対する重みに基づいて、および前記ロケーション内に階層的に存在するロケーション内の前記重みの広がりに基づいて前記階層のロケーションを特定することを特徴とする請求項９に記載のコンピュータシステム。
【請求項１３】
前記重みは、前記ロケーションのエイリアスの重みに基づくことを特徴とする請求項１２に記載のコンピュータシステム。
【請求項１４】
前記コンテンツロケーション検出アルゴリズムは、先祖ロケーションおよび子孫ロケーションの前記重みを考慮に入れるそれぞれのロケーションに対する強度を生成することを特徴とする請求項１２に記載のコンピュータシステム。
【請求項１５】
ロケーション項目の曖昧性除去コンポーネントと、前記特定ロケーション項目を含むドキュメントを生成するコンポーネントとを含み、前記サービスエリア特定コンポーネントは前記コンテンツロケーション検出アルゴリズムを前記生成ドキュメントに適用し、前記ロケーションは階層内で定義され、ならびに前記コンテンツロケーション検出アルゴリズムは、ロケーション項目に対する重みに基づいて、および前記ロケーション内に階層的に存在するロケーション内の重みの広がりに基づいて前記階層のロケーションを特定することを特徴とする請求項９に記載のコンピュータシステム。
【請求項１６】
ビジネスカテゴリに基づいてウェブリソースのサービスエリアを判定するコンピュータシステムであって、
前記ウェブリソースをビジネスカテゴリに分類する分類器コンポーネントと、
ビジネスカテゴリを、前記ビジネスカテゴリ内のビジネスにより提供した前記エリアの範囲にマップするビジネスカテゴリ−範囲（ｂｕｓｉｎｅｓｓ  ｃａｔｅｇｏｒｙ−ｔｏ−ｓｃｏｐｅ）マッピングと、
前記ウェブリソースのコンテンツからプロバイダロケーションを判定するロケーションプロバイダコンポーネントと、
前記プロバイダロケーションを含み、前記ウェブリソースの前記ビジネスカテゴリの前記範囲に対応するロケーション階層内のロケーションを特定するサービスエリア特定コンポーネントと
を備えることを特徴とするコンピュータシステム。
【請求項１７】
前記ロケーションプロバイダコンポーネントは分類器を使用して、プロバイダロケーションを、前記ウェブリソースから抽出したコンテンツから特定することを特徴とする請求項１６に記載のコンピュータシステム。
【請求項１８】
エリアの前記範囲は都市、州、および国を含むことを特徴とする請求項１６に記載のコンピュータシステム。
【請求項１９】
前記範囲は、前記サービスエリアの半径を表す距離に対応することを特徴とする請求項１６に記載のコンピュータシステム。
【請求項２０】
前記ロケーションプロバイダコンポーネントは分類器を使用して、前記ウェブリソースから抽出したコンテンツからプロバイダロケーションを特定し、およびエリアの前記範囲は都市、州、および国を含むことを特徴とする請求項１６に記載のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
ウェブページおよびウェブサイトのようなウェブリソースは、それらに関連付けた地理的サービスエリアを有する。サービスエリアは、ウェブリソースに関心があるユーザの地理的分布を表す。あるいは、サービスエリアはウェブリソースが及ぶ地理的領域を表すと考えることができる。例えば、都市内の売家を列挙するウェブページはその都市を含む郡のサービスエリアを有することができる。別の例として、数学序論のような一般的情報を有するウェブページは任意のロケーションからのユーザにとって興味深い可能性があり、従って全世界のサービスエリアを有する。
【０００２】
多数のロケーションベースのウェブアプリケーションが開発され、モバイル装置および局所的な検索ニーズをサポートしてきた。上記のロケーションベースのウェブアプリケーションにはナビゲーションシステム、ロケーションベースの検索システム、ローカル通知システム、地理的検索システム、等が含まれる。これらのウェブアプリケーションは一般にウェブリソースのサービスエリアを検出して、それをユーザの現在のロケーションとマッチさせる必要がある。例えば、携帯電話のユーザが地元のカーディーラーを見つけたいかもしれない。ウェブアプリケーションは携帯電話が示すユーザの現在のロケーションをカーディーラーのサービスエリアとマッチさせて、どのカーディーラーをユーザに提案することが適切でありうるかを特定することができる。
【０００３】
【非特許文献１】ジョン・プラット、「Sequential Minimal Optimization」［online］、平成１５年９月１７日、マイクロソフト・リサーチ、［平成２０年９月２９日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｒｅｓｅａｒｃｈ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／〜ｊｐｌａｔｔ／ｓｍｏ．ｈｔｍｌ＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般に、ウェブアプリケーションはロケーション情報（例えば、都市名）を求めてウェブリソースを検索し、ウェブリソースがユーザのロケーションにマッチするかどうかを判定するときにその情報を使用する。上記ウェブアプリケーションの難点は、ウェブリソースのロケーション情報は異なる目的を有し、従って異なる意味を有する可能性があることである。例えば、中国料理のレストランに関するウェブページは地理的ロケーション「Ｐｅｋｉｎｇ」および「Ｒｅｄｍｏｎｄ」を含む可能性がある。Ｐｅｋｉｎｇという地理的ロケーションは、ウェブページの対象が中国に幾らか関連することを示すが、Ｒｅｄｍｏｎｄという地理的ロケーションはそのレストランが米国ワシントン州のレドモンドに位置することを示す。ウェブアプリケーションが、北京にありうるユーザの現在のロケーションをウェブページのロケーションにマッチさせようと試みる場合、ウェブアプリケーションはサービスエリアが北京であると誤って判定する恐れがある。上記の場合、ウェブアプリケーションは北京にいるユーザに対し、ワシントン州レドモンドにあるレストランを提案する恐れがある。
【課題を解決するための手段】
【０００５】
ウェブリソースのサービスエリアをアドレス、クエリコンテンツ、およびビジネスカテゴリにより判定する方法およびシステムを提供する。ロケーションシステムはウェブリソースのサービスエリアを、ウェブリソースにアクセスするユーザのアドレスに基づいて判定することができる。ロケーションシステムはウェブリソースに対するアクセスを、ウェブアクセスログ、クリックスルーログ、等のようなウェブアクセス情報を分析することで特定することができる。ロケーションシステムはアドレスをウェブアクセス情報から取り出し、次いでそのアドレスに関連付けた地理的ロケーションを判定する。ロケーションシステムがウェブサイトに対するそれぞれのユーザアクセスのロケーションを特定した後、ロケーションシステムは特定したロケーションを分析してウェブリソースのサービスエリアを判定する。ロケーションシステムは大陸、国、州および都市により編成したもののようなロケーション階層を使用することができる。ロケーションシステムはサービスエリアに対するロケーションを、そのロケーション内のユーザによるウェブリソースのアクセス数に基づいて、およびロケーション内に階層的に存在するロケーション内のユーザによるウェブリソースのアクセス数分布に基づいて、選択することができる。
【０００６】
ロケーションシステムはウェブサイト（または他のウェブリソース）に対するサービスエリアを、ウェブサイトに対するクリックスルーとなったクエリ項目に基づいて判定することができる。ロケーションシステムは、クリックスルーとなったクエリを分析してそのクエリ内の「ロケーション項目」を特定する。「ロケーション項目」は何らかの方法でロケーションを特定する。ロケーションシステムは次いで、特定したロケーション項目により表したロケーションを含むドキュメントを生成する。ロケーションシステムは次いでコンテンツロケーション検出アルゴリズムを生成したドキュメントに適用して、そのドキュメントの「コンテンツロケーション」を特定する。ロケーションシステムはその「コンテンツロケーション」を使用してサービスエリアを表す。
【０００７】
ロケーションシステムはウェブサイト（または他のウェブリソース）のサービスエリアを、そのウェブサイトのビジネスカテゴリおよびそのウェブサイトに関連付けた「プロバイダロケーション」に基づいて判定することができる。ロケーションシステムはウェブサイトのカテゴリを、そのウェブサイトのコンテンツを分類器に提供することで判定することができる。その分類器は、ウェブサイトをそのコンテンツに基づいてビジネスカテゴリにより分類するようにトレーニングしてある。ロケーションシステムはそれぞれのビジネスカテゴリに対する範囲を定義する。その範囲は、そのビジネスカテゴリ内のウェブサイトに対するサービスエリアの一般的な大きさを示す。ウェブサイトに対するサービスエリアを判定するため、ロケーションシステムはそのウェブサイトを分析してプロバイダロケーションを特定する。ロケーションシステムは次いでそのウェブサイトに対するサービスエリアを、特定したプロバイダロケーションに関連付けた範囲として表す。
【０００８】
本「課題を解決するための手段」は選択した概念を簡潔な形態で導入するために与える。その概念は「発明を実施するための最良の形態」でさらに後述する。本「課題を解決するための手段」は請求項に記載された主題の主要な特徴または本質的な特徴を特定するようには意図しておらず、請求項に記載された主題の範囲の決定における支援として使用することも意図していない。
【発明を実施するための最良の形態】
【０００９】
ウェブリソースのサービスエリアを判定する方法およびシステムを提供する。一実施形態では、ロケーションシステムはウェブリソース（例えば、ウェブサイトまたはｆｔｐサーバ）のサービスエリアを、そのウェブリソースにアクセスするユーザのアドレス（例えば、ＩＰアドレス）に基づいて判定する。ロケーションシステムは、ウェブアクセスログ、クリックスルーログ、等のようなウェブアクセス情報を分析することで、ウェブリソースに対するアクセスを特定することができる。ウェブアクセスログをウェブサイトにより生成することができ、ウェブアクセスログは、ユーザによるそのウェブサイトへのそれぞれのアクセスに対するエントリを含むことができる。それぞれのエントリはユーザのＩＰアドレスを含むことができる。クリックスルーログを検索エンジンにより生成することができ、クリックスルーログは、一般に「クリックスルー」と呼ばれる、クエリ結果に含まれるウェブサイトへの参照のそれぞれの選択に対するエントリを含むことができる。ロケーションシステムはＩＰアドレスをウェブアクセス情報から取り出し、次いでＩＰアドレスに関連付けた地理的ロケーションを判定する。Ｈｅｘａｓｏｆｔ  ＤｅｖｅｌｏｐｍｅｎｔによるＩＰ２ＬｏｃａｔｉｏｎおよびＱｕｏｖａ  ＣｏｒｐによるＧｅｏＰｏｉｎｔのような、ＩＰアドレスから地理的ロケーションへのマッピングを提供する多くの商用製品が利用可能である。ロケーションシステムがウェブサイトへのそれぞれのユーザアクセスのロケーションを特定した後、ロケーションシステムは特定したロケーションを分析してウェブリソースのサービスエリアを判定する。ロケーションシステムは、大陸、国、州および都市により編成したもののようなロケーション階層を使用することができる。ロケーションシステムはサービスエリアに対するロケーションを、そのロケーション内のユーザによるウェブリソースのアクセス数に基づいて、およびロケーション内に階層的に存在するロケーション内のユーザによるウェブリソースのアクセス数分布に基づいて、選択することができる。例えば、ウェブサイトへのアクセスの９０％がワシントン州のキング郡のユーザによる場合、キング郡がそのウェブサイトに対する可能なサービスエリアである。しかしながら、それらのアクセスの９５％がシアトル市のユーザによる場合、シアトルがより適切なサービスエリアである可能性がある。キング郡のユーザによるアクセスの５％だけがシアトル外のユーザによるので、キング郡よりむしろシアトルがサービスエリアである方がより正確にそのサービスエリアを説明する。しかしながら、キング郡のユーザによるアクセス数がその郡内の都市間で等しく分布する（都市人口の差異に対して調整される）場合、キング郡は実際にそのウェブサイトに対する適切なサービスエリアであるとしてもよい。このように、ロケーションシステムはウェブリソースに対する正確なサービスエリアを特定することができる。
【００１０】
一実施形態では、ロケーションシステムはウェブサイト（または他のウェブリソース）に対するサービスエリアを、ウェブサイトに対するクリックスルーとなったクエリ項目に基づいて判定する。ロケーションシステムは、クリックスルーとなったクエリを分析してそのクエリ内の「ロケーション項目」を特定する。「ロケーション項目」は何らかの方法でロケーションを特定する。例えば、クエリ「Ｌｏｍｂａｒｄｉ‘ｓ  ｐｉｚｚａ  Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ」はロケーション項目「Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ」を含み、クエリ「ｐｉｚｚａ  ｎｙｃ」はロケーション項目「ｎｙｃ」を含み、この項目はロケーション「Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ」を表す。ロケーションシステムは次いで、特定したロケーション項目が表すロケーションを含むドキュメントを生成する。例えば、そのドキュメントはクエリにおいて、ロケーション項目「Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ」の１３回の出現、ロケーション項目「Ｎｅｗ  Ｙｏｒｋ」の４回の出現、およびロケーション項目「ｎｙｃ」の３回の出現に対応する、ニューヨーク市のロケーションの２０回の出現を含むことができる。ロケーションシステムは次いで、生成したドキュメントにコンテンツロケーション検出アルゴリズムを適用してそのドキュメントの「コンテンツロケーション」を特定する。ロケーションシステムはその「コンテンツロケーション」を使用してサービスエリアを表す。コンテンツロケーションはドキュメントの対象である地理的ロケーションを特定する。例えば、中国の万里の長城に関するウェブページは、そのウェブページの対象が中国であるのでコンテンツロケーションとして「Ｃｈｉｎａ」を有するであろう。ロケーションシステムはウェブサイトに対するクリックスルーのロケーション項目からドキュメントを生成するので、そのドキュメントのコンテンツロケーションは正確にそのウェブサイトのサービスエリアを特定することができる。
【００１１】
一実施形態では、ロケーションシステムはウェブサイト（または他のウェブリソース）のサービスエリアを、そのウェブサイトのビジネスカテゴリおよびそのウェブサイトに関連付けた「プロバイダロケーション」に基づいて判定する。ロケーションシステムはウェブサイトのカテゴリを、そのウェブサイトのコンテンツを分類器に提供することで判定することができる。その分類器は、ウェブサイトをそのコンテンツに基づいてビジネスカテゴリにより分類するようにトレーニングされている。例えば、ビジネスカテゴリはバンキングサービス、運送サービス、レストラン、等を含むことができる。ロケーションシステムはそれぞれのビジネスカテゴリに対する範囲を定義する。その範囲は、そのビジネスカテゴリ内のウェブサイトに対するサービスエリアの一般的な大きさを示す。例えば、バンキングサービスまたはレストランに関するウェブサイトは一般に同じ都市内にいるユーザにサービスを提供することができる。対照的に空港に関するウェブサイトは、同じ州内といったより広範囲のユーザにサービスを提供することができる。ソフトウェア開発会社に関するウェブサイトは、同じ国内といったさらに広範囲のユーザにサービスを提供することができる。従って、ロケーションシステムは範囲を都市、州、または国として表すことができる。あるいは、ロケーションシステムは範囲を半径（例えば、レストランに対して１０マイルおよび空港に対して１００マイル）により表すことができる。ウェブサイトに対するサービスエリアを判定するため、ロケーションシステムはそのウェブサイトを分析してプロバイダロケーションを特定する。プロバイダロケーションはエンティティ（例えば、組織、企業、または個人）の地理的ロケーションを特定する。プロバイダロケーションは通常は所在地住所、都市名、州名、郵便番号、国、等を含む連続的な住所の文字列である。例えば、或る特定の企業により提供されるウェブサイトのプロバイダロケーションは、その企業の本社住所であることができる。ロケーションシステムは次いで、そのウェブサイトに対するサービスエリアを、特定したプロバイダロケーションに関連付けた範囲として表す。例えば、ウェブサイトが空港のビジネスカテゴリを有し、そのプロバイダロケーションがシアトルである場合、空港のビジネスカテゴリの範囲は州でありシアトルはワシントン州に位置するので、そのウェブサイトのサービスエリアはワシントン州である。
【００１２】
一実施形態では、ロケーションシステムはウェブサイトのサービスエリアを、そのウェブサイトにアクセスするユーザのアドレスに基づいて、および（そのＩＰアドレスから特定した）それぞれのロケーションに関連付けたアクセス数に基づいて判定する。ロケーションシステムは重み測定基準（メトリック）および広がり測定基準を使用して、サービスエリアに対する適切なロケーションを特定することができる。大きな重みおよび大きな広がりを有するロケーションはそのサービスエリアを正確に表すことができる。重み測定基準は親ロケーション（例えば、キング郡）と比較した、ウェブサイトに関心がある或る特定のロケーション（例えば、シアトル）のユーザの割合を測定する。上で与えた例では、キング郡のユーザによるウェブサイトへのアクセスの９５％がシアトルのユーザによる場合、シアトルに対する重みはキング郡の重みと比較して大きくあるべきである。ロケーションシステムはロケーションに対する重みを、そのロケーション内のユーザアクセス率の、親ロケーション内のユーザアクセス率に対する比率に基づいて計算することができる。例えば、都市に対するアクセス率が９５％で、その都市を含む国に対するアクセス率が９０％である場合、その都市に対する重みは１．０６（即ち、９５％を９０％で割ったもの）である。別の都市に対するアクセス率が９％である場合、その都市に対する重みは．１（即ち、９％を９０％で割ったもの）であろう。ロケーションシステムは上記の重みを次式のように表すことができる。
【００１３】
【数１】
2009531773.tif 000003
【００１４】
ここで、Ｗｅｉｇｈｔ（ｗ，ｌ）はウェブリソースｗに対するロケーションｌの重みを表し、Ｃｌｉｃｋ（ｗ，ｌ）はロケーションｌからウェブサイトｗへのクリックスルー数を表し、Ｐｏｐｕｌａｔｉｏｎ（ｌ）はロケーションｌの人口を表し、Ｐａｒｅｎｔ（ｌ）はロケーションｌの親ロケーションを表す。ロケーションの人口はそのロケーションに住む人々の実際の数、そのロケーションに住むウェブユーザの数、等とすることができる。
【００１５】
広がり測定基準は或る特定のロケーション内の子ロケーション間の重み分布を測定する。均一な重みを伴う子ロケーションを有する親ロケーションは、その任意の子ロケーションよりも正確なサービスエリア表現である可能性がある。対照的に、その任意の兄弟ロケーションよりも非常に大きな重みを有する子ロケーションは、その親ロケーションより正確なサービスエリア表現である可能性がある。ロケーションシステムはロケーションの広がりを次式のように表すことができる。
【００１６】
【数２】
2009531773.tif 000004
【００１７】
ここで、Ｓｐｒｅａｄ（ｗ，ｌ）はウェブリソースｗに対するロケーションｌの広がりを表し、Ｗｅｉｇｈｔ（ｗ，ｌ）はウェブリソースｗに対するロケーションｌの重みを表し、ｌxはロケーションｌの子ロケーションｘを表し、ｎはロケーションｌの子ロケーションの数を表す。
【００１８】
ロケーションシステムは、ロケーション階層をトップダウン方式で走査することでサービスエリアを表すロケーションを特定する。ロケーションシステムがロケーション階層内のロケーションを訪問すると、ロケーションシステムはそのロケーションに対する重みと広がりを判定する。ロケーションの重みが重み閾値より大きい場合、そのロケーションはサービスエリアの候補である。ロケーションの広がりが低い場合、ロケーションシステムは子ロケーションの１つがサービスエリアのより良い表現であろうと仮定し、その子ロケーションを訪問する。しかしながら、ロケーションの広がりが大きい（即ち、子ロケーションの重みが均一に分布していることを意味する）場合、ロケーションシステムはそのロケーションをサービスエリアとして印付けする。走査が完了すると、印付けしたロケーションがサービスエリアを表す。
【００１９】
一実施形態では、ロケーションシステムは検索ログまたはクエリログ内のロケーション項目の分析に基づいて、ウェブサイトのサービスエリアを特定する。ウェブサイトに対するクリックスルーとなったクエリからロケーション項目を抽出した後、ロケーションシステムはロケーション項目をそのエイリアスで置き換える（例えば、「ｎｙｃ」を「Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ」で置き換える）。ロケーションシステムは曖昧であるロケーション項目の曖昧性も除去する（例えば、「ｎｙ」を「Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ」よりむしろ「Ｎｅｗ  Ｙｏｒｋ」で置き換える）ことができる。ロケーションシステムは次いでそのロケーション項目を含むロケーション項目ドキュメントを生成し、生成したドキュメントに対するコンテンツロケーションを、コンテンツロケーション検出アルゴリズムを用いて特定する。ロケーションシステムはロケーションの地理的階層を用いてコンテンツロケーションを特定し、重みをそれぞれのロケーションに割り当ててそのロケーションがそのウェブサイトの対象でありうるかどうかを示し、それぞれのロケーションに対する強度と広がりを計算する。それぞれのロケーションに対する強度と広がりを計算した後、ロケーションシステムは、強度が強度閾値を満たし広がりが広がり閾値を満たすロケーションをコンテンツロケーションとして特定する。強度はロケーションのウェブサイトに対する関連性の大きさであり、広がりは地理的階層の兄弟ロケーション間の強度均一性の大きさである。ロケーションシステムは強度を次式により表すことができる。
【００２０】
【数３】
2009531773.tif 000005
【００２１】
ここで、Ｐｏｗｅｒ（ｗ，ｌ）は地理的階層内のロケーションｌにあるウェブリソースｗの強度であり、Ｗｔ（ｗ，ｌ）はウェブリソースｗに対するロケーションｌの重みであり、Ｃｈｉｌｄj（ｌ）はロケーションｌの子孫ロケーションであり、ｎはロケーションｌの全ての子孫ロケーションの数であり、Ａｎｃｅｓｔｏｒi（ｌ）はロケーションｌの先祖ロケーションであり、ｍはロケーションｌの全ての先祖ロケーションの数であり、｜Ｓｉｂｌｉｎｇi（ｌ）｜はＡｎｃｅｓｔｏｒi（ｌ）をルートとしたサブツリー内の、ロケーションｌと同じレベルにあるロケーションの数である。強度に関するこの式は、現在のロケーションの重みに加えて先祖ロケーションおよび子孫ロケーションの両方の重みを考慮する。ロケーションシステムはロケーション階層をボトムアップ方式で走査して子孫ロケーションの重みを合計することができる。ロケーションシステムはロケーション階層をトップダウン方式で走査して、先祖ロケーションの重みを合計することもできる。この式では、ロケーションの強度は、兄弟ロケーション間で等分割した先祖ロケーションの強度を含む。当業者は、兄弟ロケーションの地理的領域または人口密度を考慮したより複雑な戦略を使用して先祖ロケーションの強度を配分できることを理解するであろう。
【００２２】
一実施形態では、ロケーションシステムはコンテンツロケーションを特定するときに、ロケーション項目に基づいてロケーションの重みを計算する。そのロケーション項目はクエリから抽出し、生成したロケーションドキュメントに含まれる。例えば、ロケーション項目は地理的名称（例えば、レドモンド）、郵便番号（例えば、９８０５２）、電話番号（例えば、４２５−５５５−５５５５）、等を含むことができる。ロケーションシステムは郵便番号および電話番号に対して、より大きな重みを割り当てることができる。なぜならば、それらは地理的名称より正確にコンテンツロケーションを示すものでありうるからである。例えば、幾つかの地理的名称は、異なる地理的ロケーションに曖昧に言及している場合がある。例えば、「Ｗａｓｈｉｎｇｔｏｎ」はワシントン州またはワシントンＤＣに言及している場合がある。また、幾つかの地理的名称は地理的ロケーションおよび個人に曖昧に言及している場合がある。例えば、「Ｗａｓｈｉｎｇｔｏｎ」はジョージワシントンまたはワシントン州に言及している場合がある。ロケーションシステムはロケーションの重みを次式により定義することができる。
【００２３】
【数４】
2009531773.tif 000006
【００２４】
ここでＷｔ（ｇｋ）は地理的ロケーション項目ｇｋの重みを表し、Ｗｔ（ｚｔ）は郵便番号および電話番号の共通的な重みを表し、ｌｄｆ（ｇｎ）は地理的ロケーション項目としてのそれぞれの地理的名称（ｇｎ）のドキュメント頻度であり、ｉｄｆ（ｇｎ）は汎用的な項目としてのｇｎのドキュメント頻度である。一意な地理的ロケーションの正確な特定において郵便番号および電話番号の信頼度が高いため、ロケーションシステムはそれらを区別せず、同じ定数Ｗｔ（ｚｔ）（例えば、零より大きいが１より小さい）を使用してそれらの共通的な重みを表す。ロケーションシステムは共通因子（１−Ｗｔ（ｚｔ））を受ける全ての地理的名称の重みを割り当てる。ロケーションシステムはＷｔ（ｚｔ）を使用して郵便番号／電話番号と地理的名称との間の重みのバランスを制御する。それぞれの個々の地理的名称の重みをｌｄｆ（ｇｎ）／ｉｄｆ（ｇｎ）により調整する。ｌｄｆ（ｇｎ）およびｉｄｆ（ｇｎ）に対する値を２つのコーパスから計算する。１つは地理的関連ドキュメントコーパスであり、ロケーションシステムはｇｎのそれぞれの参照が地理的観点からでありｌｄｆ（ｇｎ）がそれぞれの地理的名称の参照頻度を表すと仮定する。他方はｉｄｆ（ｇｎ）の計算に使用する汎用ドキュメントコーパスである。それぞれの地理的名称をｌｄｆ（ｇｎ）のｉｄｆ（ｇｎ）に対する比率で重み付けする背後にある論拠は、地理的名称が汎用コーパスにおいてよりも地理的コーパスにおいてより頻繁に参照される場合、その地理的名称が地理的ロケーションについて真である可能性が高いという所見から来る。
【００２５】
それぞれのロケーション項目に対する重みを計算した後、ロケーションシステムはそれぞれのロケーションの重みを、そのロケーション項目に対するエイリアスであるロケーション項目の重みを合計することで計算する。例えば、レドモンドのロケーションはＲｅｄｍｏｎｄ、郵便番号９８０５２、およびエリアコード４２５といったエイリアスを有することができる。ロケーションシステムはロケーションの重みを次式により表す。
【００２６】
【数５】
2009531773.tif 000007
【００２７】
ここでＷｔ（ｗ，ｌ）はウェブリソースｗに対するロケーションｌの重みを表し、ｇｋ（即ち、地理的キーワード）は任意の可能な表現またはロケーションｌのエイリアスを表し、ｒｆ（ｗ、ｇｋ）はウェブリソースｗ内のｇｋの参照頻度を表し、Ｗｔ（ｇｋ）はｇｋの重みである。
【００２８】
一実施形態では、ロケーションシステムは、コンテンツロケーションを特定する目的でロケーションの広がりを次式により定義する。
【００２９】
【数６】
2009531773.tif 000008
【００３０】
ここで、Ｓｐｒｅａｄ（ｗ，ｌ）はウェブリソースｗのロケーションｌに対する広がりであり、ロケーションｌi、またはロケーションｌjはロケーションｌの直接的な子孫ロケーションであり、ｎはｌの全ての直接的な子孫の数である。ＰｏｗｅｒおよびＳｐｒｅａｄをロケーションに対して計算した後、ロケーションシステムはルートロケーションから開始してロケーション階層をトップダウン方式で走査することにより、コンテンツロケーションを特定する。ロケーションシステムは任意のサブツリーを、そのルートロケーションのＳｐｒｅａｄまたはＰｏｗｅｒ比（即ち、ｐｏｗｅｒ（ｌｏｃａｔｉｏｎ）／ｐｏｗｅｒ（ｐａｒｅｎｔ  ｌｏｃａｔｉｏｎ））がそれぞれ所与の閾値ＴｓまたはＴｐを超えないときに枝刈りする。走査が完了すると、地理的階層内に残るロケーションはコンテンツロケーションを表す。
【００３１】
一実施形態では、ロケーションシステムはウェブサイトのビジネスカテゴリおよびそのウェブサイトに関連付けたプロバイダロケーションに基づいてウェブサイトのサービスエリアを特定する。ロケーションシステムにビジネスカテゴリを提供することができ、そのビジネスカテゴリをユーザにより手動で指定しておくことができる。ロケーションシステムはそれぞれのビジネスカテゴリの範囲を、クリックスルーデータを分析することにより、またはユーザが提供した範囲を用いることにより、特定することができる。ロケーションシステムは分類器をトレーニングして、ビジネスカテゴリに従ってウェブサイトを分類することができる。ロケーションシステムは、ウェブサイトおよびその対応するビジネスカテゴリを含むトレーニングデータを用いて分類器をトレーニングする。ロケーションシステムは「ＳＶＭ」（ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ）ベースの分類器を使用することができる。サポートベクトルマシンは可能な入力空間内に超曲面を見つけることで動作する。超曲面は、その超曲面に対する最近傍の正例と最近傍の負例との間の距離を最大化することで、負例から正例を分離することを試みる。これにより、トレーニングデータと同様だが同一ではないデータを正確に分類することができる。様々な技術を使用してサポートベクトルマシンをトレーニングすることができる。１つの技術は逐次最小最適化アルゴリズムを使用する。逐次最小最適化アルゴリズムは、大規模な二次プログラミング問題を、分析的に解くことができる一連の小規模な二次プログラミング問題に分割する（非特許文献１にある逐次最小最適化を参照）。
【００３２】
一実施形態では、プロバイダロケーションの候補を特定し、次いで分類器を用いてプロバイダロケーションであるかまたはプロバイダロケーションでないとしてプロバイダロケーションの候補を分類することで、ロケーションシステムはプロバイダロケーションを特定する。ロケーションシステムは最初にトレーニングデータを生成することで分類器をトレーニングすることができる。そのトレーニングデータは、プロバイダロケーションの候補、特徴ベクトルとしての関連するウェブリソースの特徴、および分類を含む。トレーニングデータをウェブリソースのコーパスから導出することができる。例えば、ロケーションシステムは、プロバイダロケーションである可能性のある文字列をウェブリソースから抽出することができる。例えば、ロケーションシステムはウェブリソース内の所在地住所、都市名、州名、郵便番号、国を探すことができる。ロケーションシステムは次いでウェブリソースの特徴を抽出する。その特徴は、抽出した文字列がプロバイダロケーションであるか否かを示すことができる。抽出した特徴はＵＲＬ、タイトル、アンカーテキスト、ページコンテンツ、参照頻度、ウェブサイト内のウェブページのレベル、およびウェブページ上の抽出文字列の空間的位置を含むことができる。タイトル、ＵＲＬ、またはアンカーテキスト内の幾つかの項目（例えば、「当社について」および「当社にご連絡下さい」）は、ウェブページがプロバイダロケーションを含むというヒントとすることができる。参照頻度は、ロケーションがウェブサイト内で参照された回数を示す。プロバイダのアドレスは一般にウェブサイトの複数のウェブページ上で提供されるので、高い参照頻度は、抽出文字列がプロバイダロケーションであることを示す傾向がありうる。また、プロバイダロケーションは一般にウェブサイトの第１レベルまたは第２レベルのウェブページ上で提供されるので、ロケーション文字列が抽出されるウェブページのレベルは、抽出したロケーション文字列がプロバイダロケーションであるかどうかを示すことができる。プロバイダロケーションはウェブページのフッターに配置されることがしばしばあるので、ウェブページ内のロケーション文字列の配置を使用して、ロケーション文字列がプロバイダロケーションであるかどうかを特定するのを支援することができる。
【００３３】
図１は、一実施形態におけるロケーション階層を示す図である。ロケーション階層１００は大陸レベル１０１、国レベル１０２、州レベル１０３、郡レベル１０４、および都市レベル１０５を含む。当業者は多数の異なるレベルを使用できることを理解するであろう。例えば、国を北部、南部、東部、および西部のような領域に分割することができる。本例では、ワシントン州は北アメリカおよび合衆国といった先祖ロケーションを有し、キングおよびピアス郡ならびにシアトルおよびレドモンド市といった子孫ロケーションを有する。キングおよびピアス郡はその直接的な先祖（または親）ロケーションであるワシントン州の直接的な子孫（または子）ロケーションであり、兄弟ロケーションである。
【００３４】
図２は、一実施形態におけるロケーションシステムのコンポーネントを示すブロック図である。ロケーションシステム２３０は通信リンク２２０経由でウェブサイト２１０およびユーザ装置２１５に接続されている。ロケーションシステムはアドレスコンポーネント２４０、クエリコンテンツコンポーネント２５０、およびビジネスカテゴリコンポーネント２６０を含む。アドレスコンポーネントはＩＰアドレスによるサービスエリア特定コンポーネント２４１、アクセス伝播コンポーネント２４２、走査コンポーネント２４３、およびロケーション取り出しコンポーネント２４４を含む。ＩＰアドレスによるサービスエリア特定コンポーネントは、アクセス伝播コンポーネント、走査コンポーネント、およびロケーション取り出しコンポーネントを起動して、ウェブサイトに対するサービスエリアを特定する。クエリコンテンツコンポーネントはクエリコンテンツによるサービスエリア特定コンポーネント２５１およびロケーション特定コンポーネント２５２を含む。クエリコンテンツによるサービスエリア特定コンポーネントはロケーション項目を特定し、ロケーション項目の曖昧性を除去し、ロケーション特定コンポーネントを起動してコンテンツロケーションを特定する。ビジネスカテゴリコンポーネントはビジネスカテゴリによるサービスエリア特定コンポーネント２６１、分類器トレーニングコンポーネント２６２、アドレス文字列および特長抽出コンポーネント２６３、ならびにビジネスカテゴリ分類器トレーニングコンポーネント２６４を含む。ビジネスカテゴリによるサービスエリア特定コンポーネントはウェブサイトのビジネスカテゴリを判定し、そのウェブサイトのウェブページからプロバイダロケーションを判定し、ビジネスカテゴリおよびプロバイダロケーションの範囲に基づいてサービスエリアを設定する。分類器トレーニングコンポーネントを使用して分類器をトレーニングし、ウェブページのプロバイダロケーションを特定する。アドレス文字列および特徴抽出コンポーネントはウェブページに対する特徴ベクトルを生成する。その特徴ベクトルは分類器に対する入力である。ビジネスカテゴリ分類器トレーニングコンポーネントは分類器をトレーニングして、ビジネスカテゴリに従ってウェブサイトを分類する。ロケーションシステムはクリックスルーデータストア２７１およびロケーション階層データストア２７２も含む。
【００３５】
ロケーションシステムが実装されるコンピューティング装置は中央演算処理装置、メモリ、入力装置（例えば、キーボードおよびポインティングデバイス）、出力装置（例えば、表示装置）、および記憶装置（例えば、ディスクドライブ）を含むことができる。メモリおよび記憶装置は、ロケーションシステムを実装する命令を含みうるコンピュータ可読媒体である。加えて、データ構造およびメッセージ構造を、通信リンク上の信号のような、データ送信媒体経由で格納または送信することができる。インターネット、ローカルエリアネットワーク、広域ネットワーク、ポイントツーポイントダイヤルアップ接続、携帯電話ネットワーク、等のような様々な通信リンクを使用することができる。
【００３６】
ロケーションシステムの実施形態を様々な動作環境で実装することができる。その動作環境にはパーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能家庭用電化製品、デジタルカメラ、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたは装置の任意を含む分散コンピューティング環境、等が含まれる。コンピュータシステムは携帯電話、携帯情報端末、スマートフォン、パーソナルコンピュータ、プログラム可能家庭用電化製品、デジタルカメラ等とすることができる。
【００３７】
ロケーションシステムを、プログラムモジュールのような、１つまたは複数のコンピュータあるいは他の装置により実行されるコンピュータ実行可能命令の一般的なコンテクストで説明することができる。一般に、プログラムモジュールは特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含む。一般に、プログラムモジュールの機能性を、様々な実施形態で望ましいように組合せることまたは分散させることができる。
【００３８】
図３は、一実施形態における、ロケーションシステムのＩＰアドレスによるサービスエリア特定コンポーネントの処理を示すフロー図である。コンポーネントにウェブサイトを渡し、そのウェブサイトにアクセスしたユーザのＩＰアドレスに基づいてそのサービスエリアを特定する。ブロック３０１では、コンポーネントはそのウェブサイトにアクセスしたユーザのＩＰアドレスを示すアクセス情報を収集する。ブロック３０２では、コンポーネントはそれぞれのＩＰアドレスに関連付けた地理的ロケーションを特定する。ブロック３０３では、コンポーネントはそれぞれのロケーションに対するアクセス数を判定する。ブロック３０４では、コンポーネントはアクセス伝播コンポーネントを起動してアクセス数をロケーション階層の上に向かって伝播する。ブロック３０５では、コンポーネントは走査コンポーネントを起動してロケーション階層を走査し、十分な重みと広がりを有するロケーションを特定する。ブロック３０６では、コンポーネントはロケーション取り出しコンポーネントを起動して、十分な重みと広がりを有するリーフロケーションを取り出す。コンポーネントは取り出したロケーションをサービスエリアとして使用し、次いで終了する。
【００３９】
図４は、一実施形態における、ロケーションシステムのアクセス伝播コンポーネントの処理を示すフロー図である。コンポーネントは自身を再帰的に起動して、ロケーション階層のリーフロケーションからルートロケーションにアクセス数を伝播する。コンポーネントは、ルートノードから始まるロケーションノードを渡される。決定ブロック４０１では、渡されたノードが子ノードである場合、コンポーネントはブロック４０２に続き、そうでなければコンポーネントはリーフノードにあり、戻る。ブロック４０２−４０５では、コンポーネントはループして、渡されたノードのそれぞれの子ノードを選択し、アクセス伝播コンポーネントを再帰的に起動してロケーション階層を深さ優先方式で走査する。ブロック４０２では、コンポーネントは渡されたノードの次の子ノードを選択する。決定ブロック４０３では、全ての子ノードを既に選択した場合、コンポーネントは戻り、そうでなければコンポーネントはブロック４０４に続く。ブロック４０４では、コンポーネントは再帰的にアクセス伝播コンポーネントを起動する。ブロック４０５では、コンポーネントは選択した子ノードのアクセス数を、渡されたノードのアクセス数に累積する。コンポーネントは次いでブロック４０２にループして、次の子ノードを選択する。
【００４０】
図５は、一実施形態における、ロケーションシステムの走査コンポーネントの処理を示すフロー図である。コンポーネントはノードを渡され、そのノードからロケーション階層を深さ優先方式で走査する。コンポーネントは自身を再帰的に起動することで、十分な重みおよび十分な広がりを有するロケーションを表すノードを検索する。決定ブロック５０１では、渡されたノードが重み閾値より大きな重みを有する場合、コンポーネントはブロック５０２に続き、そうでなければコンポーネントは戻ることで、渡されたノードにより表したサブツリーを枝刈りする。ブロック５０２では、コンポーネントは渡されたノードを、十分な重みを有するとして印付けする。決定ブロック５０３では、渡されたノードが子ノードを有する場合、コンポーネントはブロック５０４に続き、そうでなければ渡されたノードは、サービスエリアを表すのに十分な重みを有するリーフノードを表し、コンポーネントは戻る。ブロック５０４−５０６では、コンポーネントはループしてそれぞれの子ノードの重みを計算する。ブロック５０４では、コンポーネントは渡されたノードの次の子ノードを選択する。決定ブロック５０５では、全ての子ノードを既に選択した場合、コンポーネントはブロック５０７に続き、そうでなければコンポーネントはブロック５０６に続く。ブロック５０６では、コンポーネントは重み計算コンポーネントを起動して選択した子ノードを渡し、次いでブロック５０４にループして次の子ノードを選択する。ブロック５０７では、コンポーネントは広がり計算コンポーネントを起動して、子ノードの重みに基づいて渡されたノードに対する広がりを計算する。決定ブロック５０８では、広がりが広がり閾値より大きい場合、渡されたノードはサービスエリアを表すのに十分な重みと広がりを有し、コンポーネントは戻る。そうでなければ、コンポーネントはブロック５０９に続く。ブロック５０９−５１１では、コンポーネントはループして、どの子ノードがサービスエリアを表すのに十分な重みと広がりを有するかを判定する。ブロック５０９では、コンポーネントは次の子ノードを選択する。決定ブロック５１０では、全ての子ノードを既に選択した場合、コンポーネントは戻り、そうでなければコンポーネントはブロック５１１に続く。ブロック５１１では、コンポーネントは再帰的に自身を起動し、次いでブロック５０９にループして次の子ノードを選択する。
【００４１】
図６は、一実施形態における、ロケーションシステムのロケーション取り出しコンポーネントの処理を示すフロー図である。コンポーネントは、走査コンポーネントにより印付けしたノードのリーフノードに関連付けたロケーションを取り出す。コンポーネントはロケーション階層を深さ優先方式で走査する。決定ブロック６０１では、渡されたノードが任意の印付けした子ノードを有する場合、コンポーネントはブロック６０２に続き、そうでなければコンポーネントはブロック６０５に続く。ブロック６０２−６０４では、コンポーネントはそれぞれの印付けした子ノードに対して再帰的に自身を起動する。ブロック６０２では、コンポーネントは次の印付けした子ノードを選択する。決定ブロック６０３では、全ての印付けした子ノードを既に選択した場合、コンポーネントは戻り、そうでなければコンポーネントはブロック６０４に続く。ブロック６０４では、コンポーネントは再帰的に自身を起動して選択したノードを渡す。コンポーネントは次いでブロック６０２にループして次の印付けした子ノードを選択する。ブロック６０５では、渡されたノードが印付けした子ノードを有さないとき、コンポーネントは渡されたノードのロケーションをサービスエリアリストに加える。そして、コンポーネントは戻る。
【００４２】
図７は、一実施形態における、ロケーションシステムのクエリコンテンツによるサービスエリア特定コンポーネントの処理を示すフロー図である。コンポーネントを起動して、クエリコンテンツに基づいて、渡されたウェブサイトに対するサービスエリアを判定する。ブロック７０１では、コンポーネントはクエリ内のロケーション項目を特定する。ブロック７０２では、コンポーネントは任意の曖昧なロケーション項目の曖昧性を除去する。例えば、クエリは「ｎｙ」を含むことができる。「ｎｙ」はニューヨーク市またはニューヨーク州に曖昧に言及している。コンポーネントは、他のクエリがニューヨーク市に言及しているので曖昧な「ｎｙ」もニューヨーク市に言及している可能性があると判定する。ブロック７０３では、コンポーネントは特定したロケーション項目のドキュメントを作成する。ブロック７０４では、コンポーネントはロケーション特定コンポーネントを起動して、作成したドキュメント内のコンテンツロケーションを特定する。コンポーネントは次いで、渡されたウェブサイトに対するサービスエリアとして、特定したコンテンツロケーションを戻す。
【００４３】
図８−１５は、一実施形態における、コンテンツロケーションコンポーネントのコンポーネントの処理を示すフロー図である。図８は、一実施形態における、コンテンツロケーションコンポーネントのロケーション特定コンポーネントの処理を示すフロー図である。コンポーネントは、対象ウェブページのコンテンツロケーションを特定する全体プロセスを制御する。ブロック８０１では、コンポーネントは重み計算コンポーネントを起動して、対象ウェブページに対するロケーション階層内のロケーションの重みを計算する。ブロック８０２では、コンポーネントは強度計算コンポーネントを起動してロケーション階層内のロケーションに対する強度をその重みに基づいて計算する。ブロック８０３では、コンポーネントは広がり計算コンポーネントを起動してロケーション階層内のロケーションに対する広がりをその強度に基づいて計算する。ブロック８０４では、コンポーネントは走査コンポーネントを起動してロケーション階層を走査し、対象ウェブページに対するコンテンツロケーションを特定する。そして、コンポーネントは終了する。
【００４４】
図９は、一実施形態における、コンテンツロケーションコンポーネントの重み計算コンポーネントの処理を示すブロック図である。コンポーネントはループして対象ウェブページの地理的ロケーションを選択し、その重みを計算する。ブロック９０１では、コンポーネントはロケーション階層の次の地理的ロケーションを選択する。決定ブロック９０２では、全ての地理的ロケーションを既に選択した場合、コンポーネントは戻り、そうでなければコンポーネントはブロック９０３に続く。ブロック９０３では、コンポーネントは地理的ロケーション重み計算コンポーネントを起動して、選択した地理的ロケーションを渡し、対象ウェブページに対する地理的ロケーションの重みを計算する。コンポーネントは次いでブロック９０１にループして次の地理的ロケーションを選択する。当業者は重み計算コンポーネントの処理は、ロケーション階層のそれぞれのロケーションを最初に選択するのではなく、代替的に最初に対象ウェブページの地理的ロケーションを特定し、次いでロケーション階層のロケーションに対する重みを計算してもよいことを理解するであろう。一般に、これらのフロー図はコンポーネントの機能的処理を示して本技術の説明を促進する。当業者はこれらのコンポーネントを様々な方法で最適化できることを理解するであろう。
【００４５】
図１０は、一実施形態における、コンテンツロケーションコンポーネントの地理的ロケーション重み計算コンポーネントの処理を示すフロー図である。コンポーネントは地理的ロケーションを渡され、対象ウェブページに対する地理的ロケーションの重みを計算する。コンポーネントはループして、渡された地理的ロケーションに対するエイリアスの寄与を合計する。ブロック１００１では、コンポーネントは対象ウェブページ上の渡されたロケーションの次のエイリアスを選択する。決定ブロック１００２では、対象ウェブページ上の全てのエイリアスを既に選択した場合、コンポーネントは戻り、そうでなければコンポーネントはブロック１００３に続く。決定ブロック１００３では、選択したエイリアスが郵便番号または電話番号である場合、コンポーネントはブロック１００５に続き、そうでなければコンポーネントはブロック１００４に続く。ブロック１００４では、コンポーネントは地理的名称に対する重みを計算する。ブロック１００５では、コンポーネントは郵便番号または電話番号に対する重みを計算する。ブロック１００６では、コンポーネントは、選択したエイリアスが対象ウェブページ上で参照される回数を判定する。ブロック１００７では、コンポーネントは選択したエイリアスの重み寄与を計算する。ブロック１００８では、コンポーネントは選択したエイリアスの重み寄与を、渡された地理的ロケーションの重みに加える。コンポーネントは次いでブロック１００１にループして次のエイリアスを選択する。
【００４６】
図１１は、一実施形態における、コンテンツロケーションコンポーネントの強度計算コンポーネントの処理を示すフロー図である。コンポーネントはループしてロケーション階層のそれぞれの地理的ロケーションに対する強度をボトムアップ方式で計算する。ブロック１１０１では、コンポーネントはロケーション階層の次の地理的ロケーションを選択する。決定ブロック１１０２では、全ての地理的ロケーションを既に選択した場合、コンポーネントは戻り、そうでなければコンポーネントはブロック１１０３に続く。ブロック１１０３では、コンポーネントは選択した地理的ロケーションの重みを取り出す。ブロック１１０４では、コンポーネントは子孫の寄与計算コンポーネントを起動して、強度に対するその子孫の寄与を計算する。ブロック１１０５では、コンポーネントは先祖の寄与計算コンポーネントを起動して、強度に対する先祖の寄与を計算する。ブロック１１０６では、コンポーネントは強度を、取り出した重みおよび上記の寄与の組合せとして計算する。コンポーネントは次いでブロック１１０１にループして次の地理的ロケーションを選択する。
【００４７】
図１２は、一実施形態における、コンテンツロケーションコンポーネントの子孫の寄与計算コンポーネントの処理を示すフロー図である。コンポーネントはループして渡された地理的ロケーションの子孫を選択し、渡された地理的ロケーションの強度に対するその重みの寄与を計算する。ブロック１２０１では、コンポーネントは次の子孫を選択する。決定ブロック１２０２では、全ての子孫を既に選択した場合、コンポーネントは戻り、そうでなければコンポーネントはブロック１２０３に続く。ブロック１２０３では、コンポーネントは選択した子孫に対する重みを取り出す。ブロック１２０４では、コンポーネントは取り出した重みを、渡された子孫の地理的ロケーションに対する現在の重み合計に加える。コンポーネントは次いでブロック１２０１にループして次の子孫を選択する。
【００４８】
図１３は、一実施形態における、コンテンツロケーションコンポーネントの先祖の寄与計算コンポーネントの処理を示すフロー図である。コンポーネントはループして、渡された地理的ロケーションのそれぞれの先祖ロケーションを選択し、渡された地理的ロケーションの強度に対するその重みの寄与を集計する。ブロック１３０１では、コンポーネントは渡された地理的ロケーションの次の先祖ロケーションを選択する。決定ブロック１３０２では、全ての先祖ロケーションを既に選択した場合、コンポーネントはブロック１３０５に続き、そうでなければコンポーネントはブロック１３０３に続く。ブロック１３０３では、コンポーネントは選択した先祖ロケーションの重みを取り出す。ブロック１３０４では、コンポーネントは取り出した重みを、先祖ロケーションの現在の重み合計に追加する。コンポーネントは次いでブロック１３０１にループして次の先祖ロケーションを選択する。ブロック１３０５では、コンポーネントは重み合計を、渡された地理的ロケーションの兄弟ロケーションの数で割り、そして戻る。
【００４９】
図１４は、一実施形態における、コンテンツロケーションコンポーネントの広がり計算コンポーネントの処理を示すフロー図である。コンポーネントはループして、ロケーション階層のそれぞれの地理的ロケーションに対する広がりを計算する。ブロック１４０１では、コンポーネントはロケーション階層の次の地理的ロケーションを選択する。決定ブロック１４０２では、全ての地理的ロケーションを既に選択した場合、コンポーネントは戻り、そうでなければコンポーネントはブロック１４０３に続く。ブロック１４０３では、コンポーネントは選択した地理的ロケーションの全ての子孫ロケーションの強度を合計する。ブロック１４０４−１４０７では、コンポーネントはループして、選択した地理的ロケーションのそれぞれの直接的な子孫ロケーションの広がりに対する寄与を計算する。ブロック１４０４では、コンポーネントは選択した地理的ロケーションの次の直接的な子孫ロケーションを選択する。決定ブロック１４０５では、選択した地理的ロケーションの全ての直接的な子孫ロケーションを既に選択した場合、コンポーネントはブロック１４０１にループして次の地理的ロケーションを選択し、そうでなければコンポーネントはブロック１４０６に続く。ブロック１４０６では、コンポーネントは選択した直接的な子孫ロケーションに対する強度を取り出す。ブロック１４０７では、コンポーネントは取り出した強度を、選択した地理的ロケーションに対する広がりに追加し、次いでブロック１４０４にループして、選択した地理的ロケーションの次の直接的な子孫ロケーションを選択する。
【００５０】
図１５は、一実施形態における、コンテンツロケーションコンポーネントの走査コンポーネントの処理を示すフロー図である。コンポーネントを、ロケーション階層をトップダウン方式で走査する再帰的コンポーネントとして示してある。コンポーネントは、現在訪問している地理的ロケーションを渡される。ブロック１５０１−１５０６では、コンポーネントはループして、渡されたロケーションのそれぞれの直接的な子孫ロケーションを選択し、そのロケーションを枝刈りすることまたはコンテンツロケーションであるとしてそのロケーションを印付けすることのいずれかを行い、走査コンポーネントを再帰的に起動する。ブロック１５０１では、コンポーネントは渡されたロケーションの次の直接的な子孫ロケーションを選択する。決定ブロック１５０２では、全ての直接的な子孫ロケーションを既に選択した場合、コンポーネントは戻り、そうでなければコンポーネントはブロック１５０３に続く。決定ブロック１５０３では、選択した直接的な子孫ロケーションの広がりが広がり閾値より大きい場合、コンポーネントはブロック１５０４に続き、そうでなければコンポーネントは選択した直接的な子孫ロケーションをそのルートとして有するサブツリーをブロック１５０１にループすることで枝刈りし、渡された地理的ロケーションの次の直接的な子孫ロケーションを選択する。決定ブロック１５０４では、選択した直接的な子孫ロケーションの強度比が強度比閾値より大きい場合、コンポーネントはブロック１５０５に続き、そうでなければコンポーネントは選択した直接的な子孫ロケーションをそのルートとして有するサブツリーをブロック１５０１にループすることで枝刈りし、渡された地理的ロケーションの次の直接的な子孫ロケーションを選択する。ブロック１５０５では、コンポーネントは渡された地理的ロケーションをコンテンツロケーションであるとして印付けする。ブロック１５０６では、コンポーネントは再帰的に走査コンポーネントを起動して、選択した直接的な子孫ロケーションを渡す。コンポーネントは次いでブロック１５０１にループして次の直接的な子孫ロケーションを選択する。
【００５１】
図１６は、一実施形態における、ロケーションシステムのビジネスカテゴリによるサービスエリア特定コンポーネントの処理を示すフロー図である。コンポーネントは渡されたウェブサイトのサービスエリアを、そのビジネスカテゴリとそのプロバイダロケーションとに基づいて特定する。ブロック１６０１では、コンポーネントはトレーニングした分類器を用いてビジネスカテゴリによりウェブサイトを分類する。ブロック１６０２では、コンポーネントはウェブサイトのウェブページを取り出す。ブロック１６０３では、コンポーネントはアドレス文字列および特徴抽出コンポーネントを起動して、プロバイダロケーションの特定に使用する特徴を生成する。ブロック１６０４では、コンポーネントは分類器を起動してウェブサイトのプロバイダロケーションを特定する。ブロック１６０５では、コンポーネントはウェブサイトのビジネスカテゴリの範囲を取り出す。ブロック１６０６では、コンポーネントはその範囲に対応するプロバイダロケーションの先祖ロケーションを求めてロケーション階層を検索する。プロバイダロケーション自身がその範囲に対応する場合、コンポーネントは検索する必要はない。コンポーネントは検索したロケーション（またはプロバイダロケーション）を、そのウェブサイトに対するサービスエリアとして戻す。
【００５２】
図１７−１８は、一実施形態における、ロケーションシステムのプロバイダロケーションコンポーネントの処理を示すフロー図である。図１７は、一実施形態における、プロバイダロケーションコンポーネントの分類器トレーニングコンポーネントの処理を示すフロー図である。コンポーネントはループして、トレーニングデータのウェブページストアにあるウェブサイトのウェブページに対するプロバイダロケーション文字列および特徴ベクトルを抽出する。コンポーネントは次いで分類器をトレーニングする。ブロック１７０１では、コンポーネントはウェブページストアの次のウェブサイトを選択する。決定ブロック１７０２では、全てのウェブサイトを既に選択した場合、コンポーネントはブロック１７０６に続き、そうでなければコンポーネントはブロック１７０３に続く。ブロック１７０３では、コンポーネントは選択したウェブサイトのウェブページを取り出す。ブロック１７０４では、ロケーション文字列および特徴抽出コンポーネントを起動することで、コンポーネントは選択したウェブページに対するロケーション文字列および特徴ベクトルを抽出する。ブロック１７０５では、コンポーネントは抽出したロケーション文字列に対する分類を入力する。例えば、コンポーネントはユーザに、それぞれのロケーション文字列がプロバイダロケーションを表すかどうかを示すよう促すことができる。コンポーネントは次いでブロック１７０１にループしてウェブページストアの次のウェブサイトを選択する。ブロック１７０６では、コンポーネントは特徴および分類を用いて分類器をトレーニングする。
【００５３】
図１８は、一実施形態における、プロバイダロケーションコンポーネントのロケーション文字列および特徴抽出コンポーネントの処理を示すフロー図である。コンポーネントはループして、選択したウェブサイトのウェブページ内のロケーション文字列を検索する。ブロック１８０１では、コンポーネントはウェブページ内の次のロケーション文字列を見つける。決定ブロック１８０２では、全てのロケーション文字列を既に見つけた場合、コンポーネントは戻り、そうでなければコンポーネントはブロック１８０３に続く。ブロック１８０３−１８０４では、コンポーネントは見つけたロケーション文字列に対応する特徴ベクトルを生成し、次いでブロック１８０１にループして次のロケーション文字列を選択する。上述のように、特徴ベクトルは、ロケーション文字列を抽出したウェブページの様々な特徴を含むことができる。その特徴とは例えば、ウェブページ上のロケーション文字列のロケーション、ウェブサイト内のウェブページの階層レベル、ウェブページ内のロケーション文字列の頻度、等である。
【００５４】
主題を構造的特徴および／または方法論的動作に固有な言葉で説明したが、当然のことながら、添付の請求項で定義した主題は必ずしも上述の特定の特徴または動作に限定されない。寧ろ、上述した特定の特徴および動作は添付の請求項を実装する形態の例として開示している。ロケーションシステムは上述した技術の組合せを使用してウェブリソースのサービスエリアを特定することができる。例えば、ロケーションシステムは通常、ウェブサイトに対するサービスエリアをアドレスにより、またはクエリコンテンツにより特定することができる。しかしながら、ロケーションシステムがウェブサイトに対する十分なアクセス情報を有さない場合（例えば、新規に開始したウェブサイト）、ロケーションシステムはビジネスカテゴリ技術を使用してサービスエリアを判定することができる。また、任意の単一の範囲により良く表されない幾つかのビジネスカテゴリがある可能性がある。例えば、政府のビジネスカテゴリは都市、州、または国の範囲に対応する場合がある。上記の場合、ロケーションシステムはサービスエリアを、範囲およびプロバイダロケーションに依存するのではなく、コンテンツロケーションに基づいて判定することができる。ロケーションシステムはユーザの電子メールアドレスのようなアドレスを使用してユーザのロケーションを特定することができる。ウェブサイトがユーザのデータベースを維持する場合、ロケーションシステムはユーザのロケーションを、データベースに格納した住所（例えば、都市）に基づいて取り出すことができる。上記の場合、ロケーションシステムはアクセス要求とともにユーザの識別子（例えば、クッキーに格納したもの）を受信することができる。また、ウェブサイトに対するアドレスツーロケーションマッピングが正確でない場合（ＩＰアドレスではしばしば発生するように）、ロケーションシステムはアドレスによってではなく、クエリコンテンツによりサービスエリアを特定することができる。従って、本発明は添付の請求項によるものを除いて限定されない。
【図面の簡単な説明】
【００５５】
【図１】一実施形態におけるロケーション階層を示す図である。
【図２】一実施形態におけるロケーションシステムのコンポーネントを示すブロック図である。
【図３】一実施形態における、ロケーションシステムのＩＰアドレスによるサービスエリア特定コンポーネントの処理を示すフロー図である。
【図４】一実施形態における、ロケーションシステムのアクセス伝播コンポーネントの処理を示すフロー図である。
【図５】一実施形態における、ロケーションシステムの走査コンポーネントの処理を示すフロー図である。
【図６】一実施形態における、ロケーションシステムのロケーション取り出しコンポーネントの処理を示すフロー図である。
【図７】一実施形態における、ロケーションシステムのクエリコンテンツによるサービスエリア特定コンポーネントの処理を示すフロー図である。
【図８】一実施形態における、コンテンツロケーションコンポーネントのコンポーネントの処理を示すフロー図である。
【図９】一実施形態における、コンテンツロケーションコンポーネントのうち、重み計算コンポーネントの処理を示すブロック図である。
【図１０】一実施形態における、コンテンツロケーションコンポーネントのうち、地理的ロケーション重み計算コンポーネントの処理を示すフロー図である。
【図１１】一実施形態における、コンテンツロケーションコンポーネントのうち、強度計算コンポーネントの処理を示すフロー図である。
【図１２】一実施形態における、コンテンツロケーションコンポーネントのうち、子孫の寄与計算コンポーネントの処理を示すフロー図である。
【図１３】一実施形態における、コンテンツロケーションコンポーネントのうち、先祖の寄与計算コンポーネントの処理を示すフロー図である。
【図１４】一実施形態における、コンテンツロケーションコンポーネントのうち、広がり計算コンポーネントの処理を示すフロー図である。
【図１５】一実施形態における、コンテンツロケーションコンポーネントのうち、走査コンポーネントの処理を示すフロー図である。
【図１６】一実施形態における、ロケーションシステムのビジネスカテゴリによるサービスエリア特定コンポーネントの処理を示すフロー図である。
【図１７】一実施形態における、ロケーションシステムのプロバイダロケーションコンポーネントの処理を示すフロー図である。
【図１８】一実施形態における、ロケーションシステムのプロバイダロケーションコンポーネントのロケーション文字列および特徴抽出コンポーネントの処理を示すフロー図である。
【図１】
2009531773.tif 000011
【図２】
2009531773.tif 000012
【図３】
2009531773.tif 000013
【図４】
2009531773.tif 000014
【図５】
2009531773.tif 000015
【図６】
2009531773.tif 000016
【図７】
2009531773.tif 000017
【図８】
2009531773.tif 000018
【図９】
2009531773.tif 000019
【図１０】
2009531773.tif 000020
【図１１】
2009531773.tif 000021
【図１２】
2009531773.tif 000022
【図１３】
2009531773.tif 000023
【図１４】
2009531773.tif 000024
【図１５】
2009531773.tif 000025
【図１６】
2009531773.tif 000026
【図１７】
2009531773.tif 000027
【図１８】
2009531773.tif 000028
【国際調査報告】
2009531773.tif 000029
2009531773.tif 000030
2009531773.tif 000031