広域ネットワーク検索エンジンに提出された不適切な検索照会の検出
検索リストを評価するために使用される検索照会を選別して、残った検索照会が検索エンジンで情報を純粋に検索する人間のユーザの挙動をより正確に表わすようにする。認識されないユーザエージェントから到来する検索照会、または同一ネットワークアドレスからまとめてあまりにも近接して、またはあまりにも規則的に到来する検索照会は除去される。ある時間枠内の所与の検索用語に対する検索照会の量が予想量を超える場合、その用語の検索照会は廃棄される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索照会の分析の分野に関し、さらに詳しくは、広域ネットワーク検索エンジンに提出された不適切な検索照会を自動的に除去し、よって検索エンジンの性能および分析を改善するためのメカニズムに関する。
【背景技術】
【0002】
インターネットは、世界中のコンピュータを相互接続する真に世界的な範囲を有する広域ネットワークである。ワールドワイドウェブとして一般的に知られるインターネットの部分は、相互関連データの集合であり、その大きさは実に驚異的である。ワールドワイドウェブ(時々「ウェブ」と呼ばれる)のコンテンツは、とりわけ、既知のHTML(ハイパーテキストマークアップ言語)フォーマットの文書を含み、それは既知のプロトコル、HTTP(ハイパーテキスト転送プロトコル)に従ってインターネットを通して転送される。
【0003】
ウェブのコンテンツの広さおよび深さは、そこで特定の情報を見つけることを希望する者にとって驚異的かつ圧倒的である。したがって、ウェブの極めて重要な構成要素は検索エンジンである。本書で使用する場合、検索エンジンとは、集合的に検索照会を表わす一つまたはそれ以上のユーザ指定検索用語に関連するコンテンツを探し出すための会話型システムである。既知のコモンゲートウェイインタフェース(CGI)を通して、ウェブは会話型であるコンテンツ、つまりウェブに接続されたコンピュータの人間のユーザによって指定されたデータに応答するコンテンツを含むことができる。検索エンジンは、ユーザから一つまたはそれ以上の検索用語の検索照会を受信し、検索照会に関連すると決定された文書に対する一つまたはそれ以上の参照のリストをユーザに提示する。
【0004】
検索エンジンは、ユーザがウェブ上で所望の情報を探し出すことのできる効率を劇的に改善する。その結果、検索エンジンは、インターネットの最も一般的に使用される資源の一つである。効果的な検索エンジンは、ウェブ内に現在表わされる何十億もの文書内で、非常に特定的な情報をユーザが探し出すのを支援することができる。検索エンジンの重要な機能および存在理由は、数個の検索用語のユーザの照会を前提として、何十億もの利用可能な文書の中から幾つかのの最も関連性の高い結果を識別することであり、かつできるだけわずかな時間でそうすることである。
【0005】
一般的に、検索エンジンは、検索用語をウェブ上の情報資源と関連付けるレコードのデータベースを維持する。検索エンジンは、ウェブのコンテンツに関する情報を主に幾つかの一般的な方法で取得する。最も一般的なのは一般的にウェブのクローリングとして知られており、二番目は、そのような情報の提供者または第三者(つまり、情報の提供者でもなく、検索エンジンの提供者でもない)がそのような情報を提供することによる。検索エンジンがウェブのコンテンツに関する情報を取得するための別の一般的な方法は、人間のエディタが彼らの校閲に基づいて情報の索引を作成することである。
【0006】
クローリングを理解するためには、最初にHTML文書が、一般的にリンクと呼ばれる他の情報への参照を含むことを理解しなければならない。文書の一部分を「クリック」して参照された文書の表示を引き起こした者は、そのようなリンクを起動したことになる。ウェブのクローリングとは一般的、一つの文書によって参照された文書が検索されて分析され、かつこれらの文書によって参照された文書が検索されて分析され、かつ検索および分析が再帰的に繰り返される自動化プロセスをさす。したがって、ウェブ全体を自動的に動き回り、ウェブのコンテンツ全体をカタログ化しようとする試みが為される。
【0007】
ウェブの文書は絶えず追加および/または変更されるので、かつまたウェブの全くの広大さのため、ウェブ全体のカタログ化に成功したウェブクローラーはいなかった。したがって、自分のコンテンツを検索エンジンデータベースに含めさせることを希望するウェブコンテンツの提供者は、自分のコンテンツを検索エンジンの提供者に直接提出する。インターネットを介して利用可能なコンテンツおよび/またはサービスの他の提供者は、彼らのコンテンツを定期的にクロールさせ、現在の情報が検索結果に含まれるように更新させるべく、検索エンジンの運用者と契約する。カリフォルニア州パサデナのOverture,Inc.(http://www.overture.com)によって提供され、かつ参照によって本書に組み込まれる米国特許第6,269,361号に記載された検索エンジンのような一部の検索エンジンは、インターネットのコンテンツおよび/またはサービスの提供者が、彼らのコンテンツおよび/またはサービスに関連付けられる簡潔な表題および説明を作成して提出することを可能にする。そのような表題、説明、および関連情報のアドレスは、集合的に検索リストと呼ばれる。検索リストは一般的に、受信され処理された検索照会に対応するここの結果として返される。インターネットが成長し、インターネットを通して行なわれる商業活動も成長するにつれて、一部の検索エンジンは、情報結果とは別個に提示される、インターネットによる商取引を促進する付加利益を持つ商業的検索結果を提供することを専門とするようになってきた。
【0008】
検索エンジンの活動に関する情報は、様々な目的のために収集される。そのような目的は、公的および私的目的の両方を含む。私的目的の一例として、検索エンジン提供者は、サーバの資源要件および提供される検索サービスの様々な側面に対する一般の反応のような事柄を評価するために、検索活動に関する情報を収集することができる。公的目的の一例として、検索エンジン提供者は、様々な時間に、かつ様々な検索用語に対して実行される合計検索件数に関する情報を発表する意向があるかもしれない。検索エンジン性能の内部監査および評価のためであろうと、あるいは検索エンジンの人気の外部宣伝のためであろうと、あるいは全く別の目的であろうと、そのような収集される情報の精度は最重要事項である。
【0009】
しかし、そのような情報は一般的に、検索エンジンによって保持される特定の情報を探し出そうと純粋に試みる人間のユーザの検索活動を表わすように意図される。検索照会は往々にして、純粋に情報を探し出そうとする試み以外の理由から提出される。例えば、情報の提供者は、そのような情報が検索エンジンによってどのように提示されるかを調べるために、その情報を定期的に検索するかもしれない。時々、一当事者または複数の当事者が、多数の検索照会を提出し、提出と結果の受信との間の遅延の時間を計測することによって、一つまたはそれ以上の検索エンジンの応答の即時性を計測することに関心を持つかもしれない。加えて、一部の当事者は、現状より好評な外観を呈すべく作成された検索照会を定期的に提出するようにプログラムを構成することによって、検索リストをそのような外観にしようとするかもしれない。これらの事例の全て、および関心情報を探し出す以外の目的で検索照会が提出されるその他の事例は、そのような情報が人間の検索者の活動を表わすように意図される限り、検索エンジンの活動の情報に影響を及ぼす。
【0010】
必要なものは、人間の検索の活動に関して収集される情報の精度が劇的に改善されるように、純粋な情報検索の結果でない検索活動を、人間のユーザが識別することができるようにするメカニズムである。
【発明の開示】
【課題を解決するための手段】
【0011】
本発明では、記録された検索活動から収集される情報が非正統的な検索活動を反映しないように、非正統的な検索のレコードは検出されて除去される。非正統的な検索とは、自動的に、つまり人間のユーザによらず提出される検索、または検索エンジンによって供される情報を探し出そうとする純粋な試み以外の目的で人間のユーザによって提出される検索のいずれかである。非正統的な検索の例は、検索エンジンによる応答の即時性を決定するために提出される検索、結果セットにおける特定の検索リストの特定の場所を決定するための提出される検索、および主として検索エンジンに関連して収集される検索活動データに影響を及ぼすために提出される検索を含む。
【0012】
検索レコードは、個別にかつ他の検索に関連して個々の検索の分析によって、かつ検索の総量の分析によって、選別される。
【0013】
個々の検索の分析で、ユーザエージェントつまり個々の検索照会を提出するための使用されるプログラムは、正当と認識される予め定められたユーザエージェントと比較される。検索照会が、検索照会を自動的に提出するように構成された自動化スクリプトまたはプログラムによって提出されると、検索照会は検索エンジンから情報を探し出そうとするユーザによる純粋な試みとはみなされず、したがって、検索エンジンの活動報告に影響しないように、廃棄される。
【0014】
同一ネットワークアドレス(例えばインターネットプロトコルアドレスつまりIPアドレス)から提出される他の検索照会に対する検索照会のタイミングを分析して、情報を探し出そうと純粋に試みる人間のユーザの挙動とは思われない挙動を検出する。特に、他の検索照会の後あまりにも直ぐに、例えば2秒未満以内に後続する検索照会は、人間のユーザによって提出されるには、速すぎる提出とみなされる。加えて、規則的すぎる時間間隔で提出される検索照会は、検索エンジンを通して情報を探し出そうとする人間のユーザによる純粋な試みの結果のようではないとみなされる。検索照会間の時間間隔の規則性を決定するために、時間間隔が収集され、これらの時間間隔の標準偏差が予め定められた最小閾値、例えば2秒と比較される。例えば、多数の検索照会が相互に大まかに60秒離して提出され、60秒平均からの標準偏差が1秒未満である場合、これらの検索照会は自動化プロセスによって提出されたものであって、人間のユーザによってではないと推測される。したがって、そのような検索照会は検索照会のデータストリームから除去されるので、データストリームは正当な検索活動をより正確に表わす。
【0015】
検索照会量の分析では、異常な検索活動を検出し、かつそれによって、情報を探し出そうとする人間のユーザの純粋な試みとは思われない検索活動を識別するために、統計分析が実行される。そのような統計分析の一例は、インターネットの多数のチャネルを通して、例えば検索照会を所与の検索エンジンに転送する多数の系列サーバから、到来する検索を含む。検索活動は特には予測できないが、複数のチャネル間に分散される検索活動の相対比率は、かなり安定し、予測可能であり続ける傾向がある。
【0016】
そのような異常性を検出するために、所与の用語に対する検索照会は、15分間のその用語の検索照会の量を表わす15分集計検索レコードに蓄積される。同様の集計は24時間の期間に対しても実行される。各集計検索レコードは、同一時間枠内のその用語の検索照会の予想量と比較される。予想量は、インターネットのそれぞれの経路間の相対量に基づく。集計検索量が予想量より著しく大きい場合、集計検索量が予想量を超える量が記録され、その量の検索照会は、個別に非正統的と決定された検索照会を差し引いた上で、検索リスト性能評価に使用される検索照会のデータストリームから除去される。
【0017】
各用語の検索照会の予想量は、現在の匹敵する時間枠内の検索リスト性能評価に送ることが許可された、選別済み検索照会の量に従って決定される。
【発明を実施するための最良の形態】
【0018】
本発明では、コンピュータネットワークで情報を探し出そうとするユーザによる正当な試みではない検索要求を検出して、検索データから除去する。したがって、アカウントまたは検索エンジン活動の評価のための検索データの使用が、そのような非正統的な検索によって不適切に影響されることはない。非正統的な検索は、検索エンジン102(図1)の応答時間を試験するために使用される検索、検索結果の組内の特定の検索リストの配置を試験するために使用される検索、および検索活動分析に影響を及ぼすことを意図した検索を含む。そのような検索は、ウェブ内で情報を突き止めようとするユーザの正真正銘の試みを表わすように意図されたいかなる情報にも、影響を及ぼすべきではない。
【0019】
図1は、この例示的実施形態ではインターネットである広域ネットワーク104に結合され、それにサービスを供する検索エンジン102を示す。多数のホストコンピュータシステム106A〜Dがインターネット104に結合され、例えば人間のユーザのためにコンテンツを検索しかつ表示する多数のクライアントコンピュータシステム108A〜Cに、そのようなコンテンツを提供する。言うまでもなく、図1は解説のために大幅に簡素化されている。例えば、四つのホストコンピュータシステムおよび三つのクライアントコンピュータシステムしか図示されていないが、(i)インターネットに結合されるホストコンピュータシステムおよびクライアントコンピュータシステムは総合すると何百万ものコンピュータシステムに及ぶこと、および(ii)ホストコンピュータシステムはクライアントコンピュータと応用に情報を検索することができ、かつクライアントコンピュータシステムはホストコンピュータシステムと同様にホストとして情報を提供することができることを理解されたい。
【0020】
検索エンジン102は、ホストコンピュータシステム106A〜Dによって提供された情報をカタログ化し、かつホストコンピュータ106A〜Dのいずれかによって提供される情報に対するクライアントコンピュータシステム108A〜Cの検索要求に対し、サービスを供するコンピュータシステムである。そのような要求に応答して、検索エンジン102は、検索要求で指定された一つまたはそれ以上の検索用語と合致するカタログ化された情報の報告を生成する。ホストコンピュータシステム106A〜Dによって提供される情報は、一般的にウェブサイトと呼ばれる形の情報を含む。そのような情報は、ワールドワイドウェブとして広く知られるインターネットの一部分で、周知で広く使用されているハイパーテキスト転送プロトコル(HTTP)を通して検索される。ユーザに提示される単一のマルチメディア文書は一般的にウェブページと呼ばれ、単一の人間、グループ、または組織の管理下にある相互関連ウェブページは一般的にウェブサイトと呼ばれる。本書では関連ウェブページおよびウェブサイトの検索について記載するが、本書に記載する技術の一部は、コンピュータネットワークに格納された他の形の情報の検索にも同等に適用可能であることを理解されたい。
【0021】
検索エンジン102を図2により詳細に示す。検索エンジン102は、クライアントコンピュータシステム108A〜Cのいずれかからの検索要求を受信し、検索データベース208を使用してそれにサービスを供する検索サーバ206を含む。加えて、検索エンジン102は、一つまたはそれ以上の他の検索エンジンの代わりに検索照会を受信し、それにサービスを供することができる。そのような他の検索エンジンは時々ソースと呼ばれる。
【0022】
検索エンジン102はまた、ホストコンピュータ108A〜Dのいずれかから検索リストのサブミッションを受信するためのサブミッションサーバ202をも含む。各サブミッションは、ホストコンピュータ108A〜Dのいずれかによって提供された情報を検索データベース208内でカタログ化し、したがって検索サーバ206を通して検索結果として利用できるようにすることを要求する。
【0023】
望まれていない検索結果をクライアントコンピュータシステム108A〜Cに提供することを回避するために、検索エンジン102は、提出された検索リストを検索データベース208に含める前にそのような検索リストを評価する、編集エバリュエータ204を含む。
【0024】
この例示的実施形態では、検索エンジン102、ならびにサブミッションサーバ202、編集エバリュエータ204、および検索サーバ206の各々は、一つまたはそれ以上のコンピュータにおけるコンピュータプロセスの全てまたは一部分を実行する。簡単に言うと、サブミッションサーバ202は、検索データベース208内に情報をリストする要求を受け取り、編集エバリュエータ204は提出された検索リストを検索データベース208に含める前にそれらを選別する。そのような検索リストを選別するプロセスは、Dominic Cheungらによって2002年9月13日に出願された「Automated Processing of Appropriateness Determination of Content for Search Listings in Wide Area Network Searches」と称する米国特許出願第10/244,051号により完全に記載されており、その記述をありとあらゆる目的のために参照によって本書に組み込む。
【0025】
検索エンジン102はまた、情報を探し出そうとする純粋な試みにおける人間のユーザによる検索活動を表わすデータを含む、検索活動データベース210をも含む。加えて、検索エンジン102は、検索エンジン102によって処理された検索活動を分析するための検索活動分析モジュール212を含む。検索活動分析モジュール212もまた、一つまたはそれ以上のコンピュータで一つまたはそれ以上のコンピュータプロセスの全てまたは一部を実行する。
【0026】
本書で使用する場合の検索は、(i)集合的に検索照会と呼ばれる一つまたはそれ以上の検索用語、および(ii)検索照会に応答して検索結果として返される一つまたはそれ以上の検索リストの組を含む検索要求を含む。言うまでもなく、検索照会に関連する検索リストが見つからず、照会に応答して返される検索結果の組が検索リストを含まないこともあり得る。一般的に、検索要求は、上述の通り、検索活動データベース210(図2)に提示される。検索活動分析モジュール212は、非正統的な検索要求を表わすデータを除去する検索要求フィルタ302を含む。
【0027】
検索要求フィルタ302を図4により詳細に示す。検索要求フィルタ302は、検索サーバ206(図2)を通して受け取った検索要求を表わす生検索データフィード402を含む。生検索データフィード402は図6および7により詳細に示され、多数の検索レコード602を含み、その各々が、クライアントコンピュータシステム108A〜C(図1)のいずれかのようなクライアントコンピュータシステムによって提出された検索要求を表わす。
【0028】
各検索レコード602(図6および7)は、多数のフィールド702〜710を含む。検索照会フィールド702は、一つまたはそれ以上の検索用語の集合としての検索要求の検索照会を表わす。例えば、「experimental aircraft engine(実験的航空機エンジン)」の検索照会は、三つの個別の検索用語、すなわち「experimental」、「aircraft」、および「engine」に関連する情報を要求する。
【0029】
ソースフィールド704は検索要求のソースを指定する。この例示的実施形態では、検索エンジン102は他の検索エンジンの代わりに検索を実行し、そのような他の検索エンジンはソースと呼ばれ、ソースフィールド704は、検索レコード602によって表わされる検索がそのために実行される特定のソースを識別する。代替実施形態では、検索エンジン102は、クライアントコンピュータシステムから直接検索要求を受信するだけであり、ソースフィールド704は省かれる。
【0030】
市場フィールド706は、検索要求が提出される市場を表わす。本書で使用する場合の市場とは、各検索リスト個別に利用可能になる地理的領域を指す。この例示的実施形態では、検索エンジン102は検索リストの所有者に、検索照会の結果としてリストを利用可能にする一つまたはそれ以上の市場を指定させる。したがって、特定の市場の検索活動が希望される限り、そのような市場情報を検索レコードに関連付ける必要がある。同様に、検索要求に関係するいずれかの他の情報を検索レコード602に含めることができる。
【0031】
CGI(コモンゲートウェイインタフェース)環境フィールド708は、検索要求が提出される環境の多数の特性を表わす。この例示的実施形態で検索要求に特に関係するものは、CGI環境変数HTTP_USER_AGENTおよびREMOTE_ADDRである。これらの変数および検索要求フィルタ302によるそれらの使用については下でより完全に説明する。
【0032】
タイムスタンプフィールド710は、検索照会が提出された日付および時刻を表わす。
【0033】
生検索データフィード402(図4)は、生検索フィルタ404、一つまたはそれ以上の異常分析モジュール406A〜B、および検索データ分析モジュール408によって受け取られる。生検索フィルタ404は、生検索データフィード402の個々の検索レコードを分析して、非正統的な検索を検出し、非正統的な検索を表わす検索レコードにそういうものとしてのマークを付ける。一つまたはそれ以上の異常分析モジュール406A〜Bの各々は、生検索データフィード402の検索データを予想検索データと比較して、検索データの異常性を検出する。検索データ分析モジュール408は、異常分析モジュール406A〜Bからの異常分析、生検索フィルタ404からの情報、および生検索データフィード402を使用して、非正統的な検索を生検索データフィード402から除去して、選別済み検索データフィード410を生成する。
【0034】
生検索フィルタ404による処理を論理流れ図800(図8)に示す。ステップ802および804は相互に独立しており、一般的にどんな順序でも、同時にさえ、実行することができる。ステップ802で、生検索フィルタ404はユーザエージェントフィルタを適用して、生検索データフィード402における非正統的な検索を検出する。ステップ804で、生検索フィルタ404はネットワークアドレスフィルタを適用して、生検索データフィード402における非正統的な検索を検出する。
【0035】
ステップ802を論理流れ図802(図9)により詳細に示す。検査ステップ902で、生検索フィルタ404は、検索のユーザエージェントが正統的なユーザエージェントと認識されるかどうかを決定する。ユーザエージェントは、各検索のCGI環境フィールド708に格納されたCGI環境変数HTTP_USER_AGENTによって表わされ、ユーザがそこを通して検索照会を提出したウェブブラウザまたは他のコンピュータプログラムを識別する。HTTP_USER_AGENT CGI環境変数を表わすデータの一例として、Linuxオペレーティングシステムで実行するMozillaウェブブラウザのバージョン1.0.1を識別する「Mozilla/5.0(X11;U;Linux i686;en−US;rv:1.0.1)Gecko/20020918」がある。生検索フィルタ404は、広域ネットワーク104を通して情報を探し出そうとする正直な試みで検索照会を提出するユーザによって使用されることが知られている、多数のコンピュータプログラムのユーザエージェント識別を表わすデータを格納する。一般的に、そのようなコンピュータプログラムはウェブブラウザであり、それらは既知であり、本書では説明しない。識別されたコンピュータプログラムを本書では時々認識ユーザエージェントと呼ぶ。認識ユーザエージェントの集合はできるだけ完全であり、できるだけ多くの正統的なユーザエージェントを含むことが好ましい。
【0036】
生検索フィルタ404は、検査ステップ902で生検索データフィード402の各検索のユーザエージェント識別を認識ユーザエージェントと比較する。特定の検索のユーザエージェント識別が認識ユーザエージェントのどれとも合致しない場合、その検索はステップ904で非正統的とマークされる。逆に、検索のユーザエージェント識別が認識ユーザエージェントのいずれかと合致した場合、ステップ904を飛ばすことによって、検索は非正統的とマークされない。
【0037】
検索要求が非認識ユーザエージェントによって提出され得る多数のシナリオがある。例えば、スクリプトまたはプログラムは、検索エンジン102の応答時間を測定するため、かつ/または一組の検索結果における一つまたはそれ以上の検索リストの配置を決定するために、検索エンジン102に多数の検索要求を周期的に提出するように構成することができる。スクリプトまたはプログラムは、特定の検索照会を有する検索要求を繰返し提出し、その後検索活動分析モジュール212(図3)によって決定される見掛けの検索活動に影響を及ぼそうとして検索リストのユーザ選択をエミュレートするように構成することもできる。そのようなスクリプトおよびプログラムは一般的に、それら自体を認識ユーザエージェントとして識別しない。
【0038】
したがって、そのような検索要求は、情報を探し出そうと正直に試みるユーザによる正統的な検索要求であるか否かに関係なく、生検索フィルタ404によって非正統的とマークされる。検索は、検索レコード602(図7)に有効フィールド(図示せず)を含め、かつ/または非正統的な検索照会のリストに検索レコード602の一意の識別子を含めるなど、様々な方法のいずれかで、非正統的とマークすることができる。
【0039】
ステップ804を論理流れ図804(図10)としてより詳細に示す。ステップ1002で、生検索フィルタ404(図4)は、新近性の窓内に検索レコードを収集する。例えば、新近性の窓は、それぞれ最新近の1時間、12時間、または24時間内に提出された検索照会がステップ1002〜1014のループで処理されるように、1時間または12時間または24時間の新近性の窓とすることができる。
【0040】
ステップ1004で、生検索フィルタ404は、ユーザIP/ソース対に従って新近性の窓の全ての検索記録をグループ化する。言い換えると、同一ユーザIPおよび同一ソースに対応する全ての検索レコードは、ひとまとめにグループ化される。ユーザIPとは、検索レコードによって表わされる検索照会がそれを通して提出される、IP(インターネットプロトコル)ネットワークアドレスである。検索レコード602(図7)で、ユーザIPはCGI環境フィールド708に表わされる。特に、ユーザIPは既知のCGI環境変数REMOTE_ADDRによって提示され、それを通して検索要求が提示されるIPアドレスを提示する。一部のユーザは彼らの照会を単一IPアドレスを通して経路指定することができるが、大部分のIPアドレスは個々のユーザを識別する。したがって、単一IPアドレスに関連付けられる活動を評価することは、個々のユーザの活動を評価するのに役立つ。
【0041】
この例示的実施形態では、検索エンジン102は検索照会に直接サービスを供し、したがって唯一のソースであり、したがって全てのソースは全く同一物である。代替実施形態では、検索エンジン102は、他の検索エンジンによって転送された検索要求をも受信し、応答して、結果的に得られた検索リストをそのような他の検索エンジンに送信する。他のそのような各検索エンジンはソースである。複数ユーザの検索要求が単一IPアドレスを通して経路指定される限り、異なるソースを通して提出される要求を分離することは、複数ユーザの検索照会を隔離するのに役立つ。
【0042】
ステップ1006で、生検索フィルタ404(図4)は、ステップ1004(図10)で収集された検索レコードを分析する。ステップ1006を論理流れ図1006としてより詳細に示す(図11)。ステップ1102で、生検索フィルタ404(図4)は、ステップ1004(図10)で形成された収集の検索間の時間間隔を測定する。時間間隔は、入力時間順で隣接する検索レコードのタイムスタンプフィールド710(図7)の間の時間差として測定される。
【0043】
検査ステップ1104(図11)で、生検索フィルタ404は各感覚を予め定められた最小閾値と比較する。予め定められた最小閾値は、一ユーザによる連続検索照会の間の間隔を合理的に表わすには一般的に短すぎるように選択される。この例示的実施形態では、人間のユーザは連続検索照会を提出する間に少なくとも約2秒かかると推定する。したがって、検査ステップ1102に関連する予め定められた最小閾間隔は、この例示的実施形態では2秒である。
【0044】
検索レコードが他の検索レコードの後に近接し過ぎる状態で続く場合、つまり、予め定められた最小閾値未満の検索間間隔の直後に続く場合、処理はステップ1106(図11)に移り、そこでそのようなレコードは生検索フィルタ404によって非正統的とマークされる。別の検索レコードに近接し過ぎる状態では続かない検索レコードの場合、ステップ1106は飛ばされる。
【0045】
ステップ1108で、生検索フィルタ404は、集合の検索間の間隔の統計的標準偏差を決定する。検査ステップ1110で、生検索フィルタ404は該標準偏差を予め定められた最小閾値と比較する。一般的に、ステップ1108〜1110で、生検索フィルタ404は検索照会の間隔の規則性を測定して、人間のユーザによって提出される検索より一般的にずっと規則正しい自動生成検索照会を検出する。例えば、同一ソースを通しかつ同一ネットワークアドレスからの多数の検索が1秒未満の標準偏差で平均して60秒の間隔を持つ場合、人間のユーザがこれらの検索照会を発生した可能性はむしろ低い。この例示的実施形態では、検査ステップ1110に関連付けられる予め定められた最小閾値は2秒である。
【0046】
測定された標準偏差が予め定められた最小閾値より低ければ、処理はステップ1112に移り、そこで生検索フィルタ404は、集合の全ての検索レコードを非正統的とマークする。逆に、測定された標準偏差が少なくとも予め定められた最小閾値である場合、生検索フィルタ404はステップ1112を飛ばす。
【0047】
ステップ1110〜1112の後、論理流れ図1006による処理、およびしたがってステップ1006(図10)は完了する。したがって、ステップ1006で、検索レコードが相互に時間的に近接し過ぎる状態で続く場合、または人間のユーザによって提出された正真正銘の検索照会を合理的に表わすには間隔が規則的過ぎる場合、生検索フィルタ404は検索レコードを非正統的とマークする。
【0048】
ステップ1008で、生検索フィルタ404はユーザIPに従って、ソースとは関係なく、新近性の窓の検索レコードをグループ化する。ステップ1010で、生検索フィルタ404は、ステップ1006に関連して上述した方法で、グループ化された検索レコードを分析する。ステップ1008〜1010は、生検索フィルタ404が複数のソースにまたがる非正統的な検索を検出することを可能にする。単一ソースだけが使用される場合、つまり検索エンジン102が他の検索エンジンによって転送された検索照会にサービスを供しない場合、ステップ1008〜1010は、ステップ1004〜1006の観点から冗長であり、したがって省かれる。
【0049】
ステップ1012で、生検索フィルタ404は、ソースに従って、ユーザIPとは関係なく、新近性の窓の検索レコードをグループ化する。ステップ1014で、生検索フィルタ404は、ステップ1006および1010に関連して上述した方法で、グループ化された検索レコードを分析する。ステップ1012〜1014は生検索フィルタ404が複数のユーザIPにまたがる非正統的な検索を検出することを可能にする。
【0050】
ステップ1014の後、論理流れ図804による処理、およびしたがってステップ804(図8)は完了する。したがって、生検索フィルタ404(図4)は、検索リストの性能評価に不適切に影響するおそれのある非正統的な検索を示すパターンが無いか、生検索データフィード402を分析する。異常分析モジュール406A〜Bは検索照会挙動の異常性を検出して、ユーザ検出活動の異常な疑わしい変化を検出する。
【0051】
異常分析モジュール406Aを図5により詳細に示す。この例示的実施形態では、一つの異常分析モジュールだけが使用される。つまり、異常分析モジュール406Bは図示する通り存在しないかまたは含まれず、空動作であり、何も行なわない。しかし、検索データ分析モジュール408は複数の異常分析モジュールからの異常分析結果を処理することができるので、代替実施形態は、異常分析モジュール406A以外の異常分析モジュールを含む。
【0052】
異常分析モジュール406Aは、生検索データフィード402(図4)からの検索データを15分集計検索レコードに集計する、生検索アグリゲータ502を含む。例えば、集計検索レコード1204(図13)はカウントフィールド1302、用語フィールド1304、ソースフィールド1306、および市場フィールド1308を含む。集計検索レコード1204は、同一検索用語、ソース、および市場を有する個々の検索照会の数を表わす。カウントフィールド1302は、集計検索レコード1204によって表わされる検索レコードの数を指定する。用語フィールド1304は、集計検索レコード1204によって表わされる検索レコードの検索用語を指定する。ソースフィールド1306は、集計検索レコード1204によって表わされる検索レコードの数を指定する。市場フィールド1308は、集計検索レコード1204によって表わされる検索レコードの市場を指定する。
【0053】
生検索アグリゲータ502は検索レコードを集計して、検索用語、ソース、および市場の全ての組合せの集計検索レコードを形成し、そのような集計検索レコードは集合的に集計検索データ1202(図12)を形成する。15分集計検索データは、生検索第二段階アグリゲータ504(図5)および検索データ分析モジュール408(図4)の両方に利用可能になる。生検索第二段階アグリゲータ504(図5)は96個の最新近の15分集計検索データ、例えば集計検索データ1202(図12)を集めて、図12〜13に関連して上述したのと全く類似の方法で編成された24時間集計検索データを形成する。24時間集計検索データもまた、検索データ分析408に利用可能になる。
【0054】
検索挙動における予想外の変化を検出するための比較を目的として、異常分析モジュール406Aは、クリーン検索集計窓508を形成するクリーン検索アグリゲータ506をも含む。クリーン検索アグリゲータ506はクリーン検索データフィード410(図4)を受け取り、そこから非正統的な検索が除去され、生検索アグリゲータ502(図5)に関連して上述したのと同様の方法でクリーン検索データフィード410の検索レコードが集計され、クリーン検索集計窓508が形成される。この例示的実施形態では、一日の時間帯によって変動するかもしれない検索トラフィックパターンを回避するために、クリーン検索集計窓508が最新近の24時間にわたって集計される。
【0055】
検索データ解析モジュール408(図4)は、(i)生検索データフィード402、(ii)生検索フィルタ404からの個々の非正統的な検索照会の識別、および(iii)異常分析モジュール406Aからの15分および24時間集計検索データならびに24時間集計クリーン検索データを受け取る。追加の異常分析モジュールが含まれる実施形態では、検索データ分析モジュール408はこれらの追加の異常分析モジュールからもデータを受け取る。検索データ分析モジュール408はこの情報を全て使用して、生検索データフィード402から非正統的な検索照会を除去し、選別済み検索データフィード410を生成する。選別済み検索データフィード410は上述した方法で異常分析モジュール406Aによって使用され、人間のユーザによる実際の検索活動を、生検索データフィード402よりずっと正確に表わす。
【0056】
検索分析モジュール408(図4)による処理を、論理流れ図1400(図14)に示す。ループステップ1402および次のステップ1414は、検索用語、ソース、および市場の各組合せ、例えば各集計検索レコード1204(図12〜13)がステップ1404〜1412(図14)に従って処理されるループを画定する。ステップ1402〜1414のループ内で、特定の集計検索レコードの特定の検索用語、ソース、および市場は時々それぞれ対象用語、対象ソース、対象市場と呼ばれる。検索データ分析モジュール408は、全ての集計検索レコードに対しステップ1404〜1412を実行するが、ステップ1404〜1412をここでは集計検索レコード1204(図13)を処理する文脈で説明する。
【0057】
ステップ1404で、検索データ分析モジュール408は、生検索アグリゲータ502(図5)および生検索第二段階アグリゲータ504から受け取った集計生検索データをクリーン検索集計窓508と比較する。検査ステップ1406で、検索データ分析モジュール408は、15分または24時間集計生検索データが統計的にクリーン検索集計窓508と異なるかどうかを決定する。
【0058】
検索データ分析モジュール408は、第一に集計生検索データの予想最大値を計算することによって、集計生検索データが統計的に異なるかどうかを決定する。この例示的実施形態では、予想最大値は、次式に従って算出される。
【0059】
【数1】
式(1)で、予想最大量EVは、EVs,EVs/t、およびEvt/sの加重平均である。EVsは、対象ソースに帰属可能な検索量の比率に基づく計算予想量である。EVs/tは、対象用語に対する対象ソースに帰属可能な検索量の比率に基づく計算予想量である。EVt/sは、対象ソースに対する対象用語に帰属可能な検索量比率に基づく計算予想量である。加重ws、ws/t、およびwt/sはそれぞれEVs、EVs/t、およびEvt/sに対応する。この例示的実施形態では、各予想量が相互に対して均等に加重されるように、加重ws、ws/t、およびwt/sは全て1(1.0)に設定される。
【0060】
予想量EVsは、次式に従って検索データ分析モジュール408によって計算される。
【0061】
【数2】
式(2)で、CVtmは、比較される集計生検索データと同一時間枠のクリーン検索集計窓508内の全てのソースからの対象用語および対象市場の検索の量を表わす。特に、生検索アグリゲータ502からの15分窓の集計生検索データの比較では、15分窓のクリーン検索集計窓508がCVtmによって表わされる。同様に、生検索第二段階アグリゲータ504からの24時間窓の集計生検索データの比較では、24時間窓のクリーン検索集計窓508がCVtmによって表わされる。
【0062】
CVsmは、最新近の24時間のクリーン検索集計窓内の対象ソースおよび対象市場の検索の量を表わす。CVmは、最新近の24時間のクリーン検索集計窓508内の全ての検索用語および全てのソースを含む対象市場の検索の量を表わす。したがって比率CVsm/CVmは、最新近の24時間に対象ソースから到来する対象市場における全ての検索の比率を表わす。個々の検索用語の検索量は1時間毎に予測不能に変動するかもしれないが、特定のソースから到来する検索の比率は比較的安定に維持される傾向がある。したがって、検索用語の検索量にそのような比率を乗算すると、対象ソースからの対象用語の正統的な検索の真の量の合理的に信頼できる予想がもたらされる。
【0063】
この合理的に信頼できる予想にチューニング係数ksを乗算することにより、対象ソースから受け取る検索量の部分の日毎の変化を、検索量の非正統的な増加と知覚することなく許容することができる。この例示的実施形態では、ksは1.1であり、対象ソースの検索量の比率は日によって10パーセント成長することが許容される。
【0064】
予想量EVs/tは、次式に従って検索データ分析モジュール408によって計算される。
【0065】
【数3】
式(3)で、Observedtmは、全てのソースからの対象用語および対象市場の全ての集計生検索レコードを表わす。この例示的実施形態では、同一持続時間(この実施形態では15分間または24時間のいずれか)の集計生検索レコードだけを集計してObservedtmが形成される。
【0066】
CVtmは、24時間窓全体のクリーン検索データを網羅する以外は、式(2)に関連して上述した通りである。CVtsmは、最新近の24時間のクリーン検索集計窓508内の対象用語、対象ソース、および対象市場の検索の量を表わす。したがって、比率CVtsm/CVtmは、全てのソースに対し対象ソースから到来する対象用語および対象市場の対策の比率を表わす。そのような比率は、対象用語の人気の変動にも拘わらず、安定に維持される傾向がある。したがって、全てのソースからの対象用語に対する観察検索量にそのような比率を乗算することにより、対象ソースからの対象用語に対する正統的な検索の真の量の合理的に信頼できる予想が得られる。
【0067】
この合理的に信頼できる予想にチューニング係数ks/tを乗算することにより、対象ソースから受け取る検索量の部分の日毎の変化を、検索の非正統的なあふれと知覚することなく許容することができる。この例示的実施形態では、ks/tは1.1であり、対象用語に対する対象ソースの検索量の比率は日によって10パーセント成長することが許容される。
【0068】
予想量EVt/sは、次式に従って検索データ分析モジュール408によって計算される。
【0069】
【数4】
式(3)で、Observedsmは、対象市場の全てのソースからの対象用語の全ての集計生検索レコードを表わす。この例示的実施形態では、同一持続時間(この実施形態では15分間または24時間のいずれか)の集計生検索レコードだけを集計してObservedsmが形成される。
【0070】
CVsmは、対象ソースおよび対象市場に関連するクリーン検索集計窓の部分を表わし、したがって、対象市場の全てのソースからの全ての用語の正統的な検索の量を表わす。CVtsmは、式(3)に関連して上述した通りである。したがって、比率CVtsm/CVsmは、最新近の24時間の対象ソースからの対象市場における全ての検索用語に対する対象用語の検索の比率を表わす。対照ソースからの全ての検索用語に対する観察検索量にそのような比率を乗算することにより、対象市場における対象ソースからの対象用語に対する正統的な検索の真の量の予想が推定される。
【0071】
この合理的な予想にチューニング係数kt/sを乗算することにより、対象ソースから受け取る検索量の部分の日毎の変化を、検索の非正統的なあふれと知覚することなく許容することができる。この例示的実施形態では、kt/sは1.1であり、対象ソースの全ての検索用語に対する対象用語の検索量の比率は日によって10パーセント成長することが許容される。
【0072】
上記の式(1)の加重平均は特定の単一計算予想に対する依存性を回避し、上述した加重およびチューニング係数は、検索量の経験が累積されるにつれて正統的な検索の最大予想トラフィックをより正確に表わすように調整することができる。
【0073】
集計検索レコード1204が統計的に予想検索活動と異ならない場合、つまり式(1)に従って決定された最大予想検索量以下である場合、処理は次のステップ1414(図14)に移り、次の集計検索レコードが、ステップ1402〜1414のループに従って、検索データ分析モジュール408によって処理される。逆に、集計検索レコード1204(図13)が統計的に予想検索活動とは異なる場合、つまり式(1)に従って決定された最大予想検索量を超える場合、処理はステップ1408に移る。
【0074】
ステップ1408で、検索データ分析モジュール408は、非正統的な検索照会に帰属可能な集計検索レコード1204の部分を推定する。この例示的実施形態では、推定部分は、カウント1302が式(1)に従って決定された最大予想検索量を超える数値差分である。
【0075】
ステップ1410で、検索データ分析モジュール408は、ステップ1408からの推定部分を、生検索フィルタ404によって非正統的とマークされた個々の検索の個数だけ低減する。ステップ1412で、検索データ分析モジュール408は、生検索データフィード402の多数の検索レコードを無作為に選択して非正統的とマークする。その個数は、ステップ1408で推定され、ステップ1410で調整された非正統的な検索の数に等しい。調整された推定部分が非正数の場合、ステップ1412は飛ばされる。さらに、検索データ分析モジュール408は、生検索フィルタ404によってまだ非正統的とマークされていない検索レコードだけを無作為に選択する。
【0076】
以下の例は解説である。クリーン検索集計ウィンドウ508および上記の式(1)は、所与の市場で所与のソースから所与の用語に対し2000件の検索が予想されることを想定していると考慮する。その用語、ソース、および市場の組合せに対し3000件以上の検索が集計され、かつ検査ステップ1406で差が統計的に有意であると決定されたと考慮する。したがって1000件の検索は非正統的であると推定される。生検索フィルタ404が600件の個別検索を非正統的として識別したと想定する。したがって、400件の検索は非正統的であると推定されるが、識別されていない。ステップ1412で、検索データ分析モジュール408は、生検索フィルタ404によってまだ非正統的と識別されていない2400件の検索から400件の検索を無作為に選択し、これら400件の無作為に選択された検索を非正統的とマークする。
【0077】
ステップ1412で、処理は次のステップ1414(図14)に移り、次の集計検索レコードが、ステップ1402〜1414のループに従って検索データ分析モジュール408によって処理される。用語、ソース、および市場の全ての組合せがステップ1402〜1414のループに従って処理されると、処理はステップ1416に移り、非正統的とマークされた全ての検索レコードが生検索データフィード402から除去され、選別済み検索データフィード410が生成される。
【0078】
したがって、個別に識別された非正統的な検索は、検索活動の異常が検出されたときに多数の無作為に選択された他の検索と同様に、生検索データフィード402から除去される。したがって、選別済み検索データフィード410は、正真正銘の検索照会を提出するユーザの実際の活動をより正確に反映する。
【0079】
上述の通り、選別済み検索データフィード410は、検索活動の予想レベルを決定するために異常分析モジュール406Aによって使用され、かつ検査活動分析モジュールの適用で説明した方法で個々の検索リストの性能を評価するために検索リストカラー(list culler)304によって使用される。その結果、個々の検索リストの性能評価は非正統的な検索によって不当に影響されない。
【0080】
上記の説明は単なる例示であって、限定ではない。本発明は請求の範囲およびそれらの全範囲の均等物によってのみ定義される。
【図面の簡単な説明】
【0081】
【図1】図1は、相互に広域ネットワークに接続されたホストコンピュータ、クライアントコンピュータ、および本発明に係る検索エンジンを示すブロック図である。
【図2】図2は、検索エンジンをより詳細に示すブロック図である。
【図3】図3は、図2の検索エンジンの検索活動分析モジュールを示すブロック図である。
【図4】図4は、図3の検索活動分析モジュールの検索要求フィルタをより詳細に示すブロック図である。
【図5】図5は、図4の検索要求フィルタの異常分析モジュールをより詳細に示すブロック図である。
【図6】図6は、図4の検索要求フィルタによって分析される生検索データのブロック図である。
【図7】図7は、図6の生検索データの検索レコードのより詳細なブロック図である。
【図8】図8は、本発明に係る図4の検索要求フィルタによる生検索データの処理を示す論理流れ図である。
【図9】図9は、図8の論理流れ図の一部分のより詳細な論理流れ図である。
【図10】図10は、図8の論理流れ図の一部分のより詳細な論理流れ図である。
【図11】図11は、図10の論理流れ図の一部分のより詳細な論理流れ図である。
【図12】図12は、図4の検索要求フィルタによって分析された集計検索データのブロック図である。
【図13】図13は、図12の生検索データの集計検索レコードのより詳細なブロック図である。
【図14】図14は、本発明に係る図4の検索要求フィルタによる、選別済み生検索データおよび集計検索データの処理を示す論理流れ図である。
【技術分野】
【0001】
本発明は、検索照会の分析の分野に関し、さらに詳しくは、広域ネットワーク検索エンジンに提出された不適切な検索照会を自動的に除去し、よって検索エンジンの性能および分析を改善するためのメカニズムに関する。
【背景技術】
【0002】
インターネットは、世界中のコンピュータを相互接続する真に世界的な範囲を有する広域ネットワークである。ワールドワイドウェブとして一般的に知られるインターネットの部分は、相互関連データの集合であり、その大きさは実に驚異的である。ワールドワイドウェブ(時々「ウェブ」と呼ばれる)のコンテンツは、とりわけ、既知のHTML(ハイパーテキストマークアップ言語)フォーマットの文書を含み、それは既知のプロトコル、HTTP(ハイパーテキスト転送プロトコル)に従ってインターネットを通して転送される。
【0003】
ウェブのコンテンツの広さおよび深さは、そこで特定の情報を見つけることを希望する者にとって驚異的かつ圧倒的である。したがって、ウェブの極めて重要な構成要素は検索エンジンである。本書で使用する場合、検索エンジンとは、集合的に検索照会を表わす一つまたはそれ以上のユーザ指定検索用語に関連するコンテンツを探し出すための会話型システムである。既知のコモンゲートウェイインタフェース(CGI)を通して、ウェブは会話型であるコンテンツ、つまりウェブに接続されたコンピュータの人間のユーザによって指定されたデータに応答するコンテンツを含むことができる。検索エンジンは、ユーザから一つまたはそれ以上の検索用語の検索照会を受信し、検索照会に関連すると決定された文書に対する一つまたはそれ以上の参照のリストをユーザに提示する。
【0004】
検索エンジンは、ユーザがウェブ上で所望の情報を探し出すことのできる効率を劇的に改善する。その結果、検索エンジンは、インターネットの最も一般的に使用される資源の一つである。効果的な検索エンジンは、ウェブ内に現在表わされる何十億もの文書内で、非常に特定的な情報をユーザが探し出すのを支援することができる。検索エンジンの重要な機能および存在理由は、数個の検索用語のユーザの照会を前提として、何十億もの利用可能な文書の中から幾つかのの最も関連性の高い結果を識別することであり、かつできるだけわずかな時間でそうすることである。
【0005】
一般的に、検索エンジンは、検索用語をウェブ上の情報資源と関連付けるレコードのデータベースを維持する。検索エンジンは、ウェブのコンテンツに関する情報を主に幾つかの一般的な方法で取得する。最も一般的なのは一般的にウェブのクローリングとして知られており、二番目は、そのような情報の提供者または第三者(つまり、情報の提供者でもなく、検索エンジンの提供者でもない)がそのような情報を提供することによる。検索エンジンがウェブのコンテンツに関する情報を取得するための別の一般的な方法は、人間のエディタが彼らの校閲に基づいて情報の索引を作成することである。
【0006】
クローリングを理解するためには、最初にHTML文書が、一般的にリンクと呼ばれる他の情報への参照を含むことを理解しなければならない。文書の一部分を「クリック」して参照された文書の表示を引き起こした者は、そのようなリンクを起動したことになる。ウェブのクローリングとは一般的、一つの文書によって参照された文書が検索されて分析され、かつこれらの文書によって参照された文書が検索されて分析され、かつ検索および分析が再帰的に繰り返される自動化プロセスをさす。したがって、ウェブ全体を自動的に動き回り、ウェブのコンテンツ全体をカタログ化しようとする試みが為される。
【0007】
ウェブの文書は絶えず追加および/または変更されるので、かつまたウェブの全くの広大さのため、ウェブ全体のカタログ化に成功したウェブクローラーはいなかった。したがって、自分のコンテンツを検索エンジンデータベースに含めさせることを希望するウェブコンテンツの提供者は、自分のコンテンツを検索エンジンの提供者に直接提出する。インターネットを介して利用可能なコンテンツおよび/またはサービスの他の提供者は、彼らのコンテンツを定期的にクロールさせ、現在の情報が検索結果に含まれるように更新させるべく、検索エンジンの運用者と契約する。カリフォルニア州パサデナのOverture,Inc.(http://www.overture.com)によって提供され、かつ参照によって本書に組み込まれる米国特許第6,269,361号に記載された検索エンジンのような一部の検索エンジンは、インターネットのコンテンツおよび/またはサービスの提供者が、彼らのコンテンツおよび/またはサービスに関連付けられる簡潔な表題および説明を作成して提出することを可能にする。そのような表題、説明、および関連情報のアドレスは、集合的に検索リストと呼ばれる。検索リストは一般的に、受信され処理された検索照会に対応するここの結果として返される。インターネットが成長し、インターネットを通して行なわれる商業活動も成長するにつれて、一部の検索エンジンは、情報結果とは別個に提示される、インターネットによる商取引を促進する付加利益を持つ商業的検索結果を提供することを専門とするようになってきた。
【0008】
検索エンジンの活動に関する情報は、様々な目的のために収集される。そのような目的は、公的および私的目的の両方を含む。私的目的の一例として、検索エンジン提供者は、サーバの資源要件および提供される検索サービスの様々な側面に対する一般の反応のような事柄を評価するために、検索活動に関する情報を収集することができる。公的目的の一例として、検索エンジン提供者は、様々な時間に、かつ様々な検索用語に対して実行される合計検索件数に関する情報を発表する意向があるかもしれない。検索エンジン性能の内部監査および評価のためであろうと、あるいは検索エンジンの人気の外部宣伝のためであろうと、あるいは全く別の目的であろうと、そのような収集される情報の精度は最重要事項である。
【0009】
しかし、そのような情報は一般的に、検索エンジンによって保持される特定の情報を探し出そうと純粋に試みる人間のユーザの検索活動を表わすように意図される。検索照会は往々にして、純粋に情報を探し出そうとする試み以外の理由から提出される。例えば、情報の提供者は、そのような情報が検索エンジンによってどのように提示されるかを調べるために、その情報を定期的に検索するかもしれない。時々、一当事者または複数の当事者が、多数の検索照会を提出し、提出と結果の受信との間の遅延の時間を計測することによって、一つまたはそれ以上の検索エンジンの応答の即時性を計測することに関心を持つかもしれない。加えて、一部の当事者は、現状より好評な外観を呈すべく作成された検索照会を定期的に提出するようにプログラムを構成することによって、検索リストをそのような外観にしようとするかもしれない。これらの事例の全て、および関心情報を探し出す以外の目的で検索照会が提出されるその他の事例は、そのような情報が人間の検索者の活動を表わすように意図される限り、検索エンジンの活動の情報に影響を及ぼす。
【0010】
必要なものは、人間の検索の活動に関して収集される情報の精度が劇的に改善されるように、純粋な情報検索の結果でない検索活動を、人間のユーザが識別することができるようにするメカニズムである。
【発明の開示】
【課題を解決するための手段】
【0011】
本発明では、記録された検索活動から収集される情報が非正統的な検索活動を反映しないように、非正統的な検索のレコードは検出されて除去される。非正統的な検索とは、自動的に、つまり人間のユーザによらず提出される検索、または検索エンジンによって供される情報を探し出そうとする純粋な試み以外の目的で人間のユーザによって提出される検索のいずれかである。非正統的な検索の例は、検索エンジンによる応答の即時性を決定するために提出される検索、結果セットにおける特定の検索リストの特定の場所を決定するための提出される検索、および主として検索エンジンに関連して収集される検索活動データに影響を及ぼすために提出される検索を含む。
【0012】
検索レコードは、個別にかつ他の検索に関連して個々の検索の分析によって、かつ検索の総量の分析によって、選別される。
【0013】
個々の検索の分析で、ユーザエージェントつまり個々の検索照会を提出するための使用されるプログラムは、正当と認識される予め定められたユーザエージェントと比較される。検索照会が、検索照会を自動的に提出するように構成された自動化スクリプトまたはプログラムによって提出されると、検索照会は検索エンジンから情報を探し出そうとするユーザによる純粋な試みとはみなされず、したがって、検索エンジンの活動報告に影響しないように、廃棄される。
【0014】
同一ネットワークアドレス(例えばインターネットプロトコルアドレスつまりIPアドレス)から提出される他の検索照会に対する検索照会のタイミングを分析して、情報を探し出そうと純粋に試みる人間のユーザの挙動とは思われない挙動を検出する。特に、他の検索照会の後あまりにも直ぐに、例えば2秒未満以内に後続する検索照会は、人間のユーザによって提出されるには、速すぎる提出とみなされる。加えて、規則的すぎる時間間隔で提出される検索照会は、検索エンジンを通して情報を探し出そうとする人間のユーザによる純粋な試みの結果のようではないとみなされる。検索照会間の時間間隔の規則性を決定するために、時間間隔が収集され、これらの時間間隔の標準偏差が予め定められた最小閾値、例えば2秒と比較される。例えば、多数の検索照会が相互に大まかに60秒離して提出され、60秒平均からの標準偏差が1秒未満である場合、これらの検索照会は自動化プロセスによって提出されたものであって、人間のユーザによってではないと推測される。したがって、そのような検索照会は検索照会のデータストリームから除去されるので、データストリームは正当な検索活動をより正確に表わす。
【0015】
検索照会量の分析では、異常な検索活動を検出し、かつそれによって、情報を探し出そうとする人間のユーザの純粋な試みとは思われない検索活動を識別するために、統計分析が実行される。そのような統計分析の一例は、インターネットの多数のチャネルを通して、例えば検索照会を所与の検索エンジンに転送する多数の系列サーバから、到来する検索を含む。検索活動は特には予測できないが、複数のチャネル間に分散される検索活動の相対比率は、かなり安定し、予測可能であり続ける傾向がある。
【0016】
そのような異常性を検出するために、所与の用語に対する検索照会は、15分間のその用語の検索照会の量を表わす15分集計検索レコードに蓄積される。同様の集計は24時間の期間に対しても実行される。各集計検索レコードは、同一時間枠内のその用語の検索照会の予想量と比較される。予想量は、インターネットのそれぞれの経路間の相対量に基づく。集計検索量が予想量より著しく大きい場合、集計検索量が予想量を超える量が記録され、その量の検索照会は、個別に非正統的と決定された検索照会を差し引いた上で、検索リスト性能評価に使用される検索照会のデータストリームから除去される。
【0017】
各用語の検索照会の予想量は、現在の匹敵する時間枠内の検索リスト性能評価に送ることが許可された、選別済み検索照会の量に従って決定される。
【発明を実施するための最良の形態】
【0018】
本発明では、コンピュータネットワークで情報を探し出そうとするユーザによる正当な試みではない検索要求を検出して、検索データから除去する。したがって、アカウントまたは検索エンジン活動の評価のための検索データの使用が、そのような非正統的な検索によって不適切に影響されることはない。非正統的な検索は、検索エンジン102(図1)の応答時間を試験するために使用される検索、検索結果の組内の特定の検索リストの配置を試験するために使用される検索、および検索活動分析に影響を及ぼすことを意図した検索を含む。そのような検索は、ウェブ内で情報を突き止めようとするユーザの正真正銘の試みを表わすように意図されたいかなる情報にも、影響を及ぼすべきではない。
【0019】
図1は、この例示的実施形態ではインターネットである広域ネットワーク104に結合され、それにサービスを供する検索エンジン102を示す。多数のホストコンピュータシステム106A〜Dがインターネット104に結合され、例えば人間のユーザのためにコンテンツを検索しかつ表示する多数のクライアントコンピュータシステム108A〜Cに、そのようなコンテンツを提供する。言うまでもなく、図1は解説のために大幅に簡素化されている。例えば、四つのホストコンピュータシステムおよび三つのクライアントコンピュータシステムしか図示されていないが、(i)インターネットに結合されるホストコンピュータシステムおよびクライアントコンピュータシステムは総合すると何百万ものコンピュータシステムに及ぶこと、および(ii)ホストコンピュータシステムはクライアントコンピュータと応用に情報を検索することができ、かつクライアントコンピュータシステムはホストコンピュータシステムと同様にホストとして情報を提供することができることを理解されたい。
【0020】
検索エンジン102は、ホストコンピュータシステム106A〜Dによって提供された情報をカタログ化し、かつホストコンピュータ106A〜Dのいずれかによって提供される情報に対するクライアントコンピュータシステム108A〜Cの検索要求に対し、サービスを供するコンピュータシステムである。そのような要求に応答して、検索エンジン102は、検索要求で指定された一つまたはそれ以上の検索用語と合致するカタログ化された情報の報告を生成する。ホストコンピュータシステム106A〜Dによって提供される情報は、一般的にウェブサイトと呼ばれる形の情報を含む。そのような情報は、ワールドワイドウェブとして広く知られるインターネットの一部分で、周知で広く使用されているハイパーテキスト転送プロトコル(HTTP)を通して検索される。ユーザに提示される単一のマルチメディア文書は一般的にウェブページと呼ばれ、単一の人間、グループ、または組織の管理下にある相互関連ウェブページは一般的にウェブサイトと呼ばれる。本書では関連ウェブページおよびウェブサイトの検索について記載するが、本書に記載する技術の一部は、コンピュータネットワークに格納された他の形の情報の検索にも同等に適用可能であることを理解されたい。
【0021】
検索エンジン102を図2により詳細に示す。検索エンジン102は、クライアントコンピュータシステム108A〜Cのいずれかからの検索要求を受信し、検索データベース208を使用してそれにサービスを供する検索サーバ206を含む。加えて、検索エンジン102は、一つまたはそれ以上の他の検索エンジンの代わりに検索照会を受信し、それにサービスを供することができる。そのような他の検索エンジンは時々ソースと呼ばれる。
【0022】
検索エンジン102はまた、ホストコンピュータ108A〜Dのいずれかから検索リストのサブミッションを受信するためのサブミッションサーバ202をも含む。各サブミッションは、ホストコンピュータ108A〜Dのいずれかによって提供された情報を検索データベース208内でカタログ化し、したがって検索サーバ206を通して検索結果として利用できるようにすることを要求する。
【0023】
望まれていない検索結果をクライアントコンピュータシステム108A〜Cに提供することを回避するために、検索エンジン102は、提出された検索リストを検索データベース208に含める前にそのような検索リストを評価する、編集エバリュエータ204を含む。
【0024】
この例示的実施形態では、検索エンジン102、ならびにサブミッションサーバ202、編集エバリュエータ204、および検索サーバ206の各々は、一つまたはそれ以上のコンピュータにおけるコンピュータプロセスの全てまたは一部分を実行する。簡単に言うと、サブミッションサーバ202は、検索データベース208内に情報をリストする要求を受け取り、編集エバリュエータ204は提出された検索リストを検索データベース208に含める前にそれらを選別する。そのような検索リストを選別するプロセスは、Dominic Cheungらによって2002年9月13日に出願された「Automated Processing of Appropriateness Determination of Content for Search Listings in Wide Area Network Searches」と称する米国特許出願第10/244,051号により完全に記載されており、その記述をありとあらゆる目的のために参照によって本書に組み込む。
【0025】
検索エンジン102はまた、情報を探し出そうとする純粋な試みにおける人間のユーザによる検索活動を表わすデータを含む、検索活動データベース210をも含む。加えて、検索エンジン102は、検索エンジン102によって処理された検索活動を分析するための検索活動分析モジュール212を含む。検索活動分析モジュール212もまた、一つまたはそれ以上のコンピュータで一つまたはそれ以上のコンピュータプロセスの全てまたは一部を実行する。
【0026】
本書で使用する場合の検索は、(i)集合的に検索照会と呼ばれる一つまたはそれ以上の検索用語、および(ii)検索照会に応答して検索結果として返される一つまたはそれ以上の検索リストの組を含む検索要求を含む。言うまでもなく、検索照会に関連する検索リストが見つからず、照会に応答して返される検索結果の組が検索リストを含まないこともあり得る。一般的に、検索要求は、上述の通り、検索活動データベース210(図2)に提示される。検索活動分析モジュール212は、非正統的な検索要求を表わすデータを除去する検索要求フィルタ302を含む。
【0027】
検索要求フィルタ302を図4により詳細に示す。検索要求フィルタ302は、検索サーバ206(図2)を通して受け取った検索要求を表わす生検索データフィード402を含む。生検索データフィード402は図6および7により詳細に示され、多数の検索レコード602を含み、その各々が、クライアントコンピュータシステム108A〜C(図1)のいずれかのようなクライアントコンピュータシステムによって提出された検索要求を表わす。
【0028】
各検索レコード602(図6および7)は、多数のフィールド702〜710を含む。検索照会フィールド702は、一つまたはそれ以上の検索用語の集合としての検索要求の検索照会を表わす。例えば、「experimental aircraft engine(実験的航空機エンジン)」の検索照会は、三つの個別の検索用語、すなわち「experimental」、「aircraft」、および「engine」に関連する情報を要求する。
【0029】
ソースフィールド704は検索要求のソースを指定する。この例示的実施形態では、検索エンジン102は他の検索エンジンの代わりに検索を実行し、そのような他の検索エンジンはソースと呼ばれ、ソースフィールド704は、検索レコード602によって表わされる検索がそのために実行される特定のソースを識別する。代替実施形態では、検索エンジン102は、クライアントコンピュータシステムから直接検索要求を受信するだけであり、ソースフィールド704は省かれる。
【0030】
市場フィールド706は、検索要求が提出される市場を表わす。本書で使用する場合の市場とは、各検索リスト個別に利用可能になる地理的領域を指す。この例示的実施形態では、検索エンジン102は検索リストの所有者に、検索照会の結果としてリストを利用可能にする一つまたはそれ以上の市場を指定させる。したがって、特定の市場の検索活動が希望される限り、そのような市場情報を検索レコードに関連付ける必要がある。同様に、検索要求に関係するいずれかの他の情報を検索レコード602に含めることができる。
【0031】
CGI(コモンゲートウェイインタフェース)環境フィールド708は、検索要求が提出される環境の多数の特性を表わす。この例示的実施形態で検索要求に特に関係するものは、CGI環境変数HTTP_USER_AGENTおよびREMOTE_ADDRである。これらの変数および検索要求フィルタ302によるそれらの使用については下でより完全に説明する。
【0032】
タイムスタンプフィールド710は、検索照会が提出された日付および時刻を表わす。
【0033】
生検索データフィード402(図4)は、生検索フィルタ404、一つまたはそれ以上の異常分析モジュール406A〜B、および検索データ分析モジュール408によって受け取られる。生検索フィルタ404は、生検索データフィード402の個々の検索レコードを分析して、非正統的な検索を検出し、非正統的な検索を表わす検索レコードにそういうものとしてのマークを付ける。一つまたはそれ以上の異常分析モジュール406A〜Bの各々は、生検索データフィード402の検索データを予想検索データと比較して、検索データの異常性を検出する。検索データ分析モジュール408は、異常分析モジュール406A〜Bからの異常分析、生検索フィルタ404からの情報、および生検索データフィード402を使用して、非正統的な検索を生検索データフィード402から除去して、選別済み検索データフィード410を生成する。
【0034】
生検索フィルタ404による処理を論理流れ図800(図8)に示す。ステップ802および804は相互に独立しており、一般的にどんな順序でも、同時にさえ、実行することができる。ステップ802で、生検索フィルタ404はユーザエージェントフィルタを適用して、生検索データフィード402における非正統的な検索を検出する。ステップ804で、生検索フィルタ404はネットワークアドレスフィルタを適用して、生検索データフィード402における非正統的な検索を検出する。
【0035】
ステップ802を論理流れ図802(図9)により詳細に示す。検査ステップ902で、生検索フィルタ404は、検索のユーザエージェントが正統的なユーザエージェントと認識されるかどうかを決定する。ユーザエージェントは、各検索のCGI環境フィールド708に格納されたCGI環境変数HTTP_USER_AGENTによって表わされ、ユーザがそこを通して検索照会を提出したウェブブラウザまたは他のコンピュータプログラムを識別する。HTTP_USER_AGENT CGI環境変数を表わすデータの一例として、Linuxオペレーティングシステムで実行するMozillaウェブブラウザのバージョン1.0.1を識別する「Mozilla/5.0(X11;U;Linux i686;en−US;rv:1.0.1)Gecko/20020918」がある。生検索フィルタ404は、広域ネットワーク104を通して情報を探し出そうとする正直な試みで検索照会を提出するユーザによって使用されることが知られている、多数のコンピュータプログラムのユーザエージェント識別を表わすデータを格納する。一般的に、そのようなコンピュータプログラムはウェブブラウザであり、それらは既知であり、本書では説明しない。識別されたコンピュータプログラムを本書では時々認識ユーザエージェントと呼ぶ。認識ユーザエージェントの集合はできるだけ完全であり、できるだけ多くの正統的なユーザエージェントを含むことが好ましい。
【0036】
生検索フィルタ404は、検査ステップ902で生検索データフィード402の各検索のユーザエージェント識別を認識ユーザエージェントと比較する。特定の検索のユーザエージェント識別が認識ユーザエージェントのどれとも合致しない場合、その検索はステップ904で非正統的とマークされる。逆に、検索のユーザエージェント識別が認識ユーザエージェントのいずれかと合致した場合、ステップ904を飛ばすことによって、検索は非正統的とマークされない。
【0037】
検索要求が非認識ユーザエージェントによって提出され得る多数のシナリオがある。例えば、スクリプトまたはプログラムは、検索エンジン102の応答時間を測定するため、かつ/または一組の検索結果における一つまたはそれ以上の検索リストの配置を決定するために、検索エンジン102に多数の検索要求を周期的に提出するように構成することができる。スクリプトまたはプログラムは、特定の検索照会を有する検索要求を繰返し提出し、その後検索活動分析モジュール212(図3)によって決定される見掛けの検索活動に影響を及ぼそうとして検索リストのユーザ選択をエミュレートするように構成することもできる。そのようなスクリプトおよびプログラムは一般的に、それら自体を認識ユーザエージェントとして識別しない。
【0038】
したがって、そのような検索要求は、情報を探し出そうと正直に試みるユーザによる正統的な検索要求であるか否かに関係なく、生検索フィルタ404によって非正統的とマークされる。検索は、検索レコード602(図7)に有効フィールド(図示せず)を含め、かつ/または非正統的な検索照会のリストに検索レコード602の一意の識別子を含めるなど、様々な方法のいずれかで、非正統的とマークすることができる。
【0039】
ステップ804を論理流れ図804(図10)としてより詳細に示す。ステップ1002で、生検索フィルタ404(図4)は、新近性の窓内に検索レコードを収集する。例えば、新近性の窓は、それぞれ最新近の1時間、12時間、または24時間内に提出された検索照会がステップ1002〜1014のループで処理されるように、1時間または12時間または24時間の新近性の窓とすることができる。
【0040】
ステップ1004で、生検索フィルタ404は、ユーザIP/ソース対に従って新近性の窓の全ての検索記録をグループ化する。言い換えると、同一ユーザIPおよび同一ソースに対応する全ての検索レコードは、ひとまとめにグループ化される。ユーザIPとは、検索レコードによって表わされる検索照会がそれを通して提出される、IP(インターネットプロトコル)ネットワークアドレスである。検索レコード602(図7)で、ユーザIPはCGI環境フィールド708に表わされる。特に、ユーザIPは既知のCGI環境変数REMOTE_ADDRによって提示され、それを通して検索要求が提示されるIPアドレスを提示する。一部のユーザは彼らの照会を単一IPアドレスを通して経路指定することができるが、大部分のIPアドレスは個々のユーザを識別する。したがって、単一IPアドレスに関連付けられる活動を評価することは、個々のユーザの活動を評価するのに役立つ。
【0041】
この例示的実施形態では、検索エンジン102は検索照会に直接サービスを供し、したがって唯一のソースであり、したがって全てのソースは全く同一物である。代替実施形態では、検索エンジン102は、他の検索エンジンによって転送された検索要求をも受信し、応答して、結果的に得られた検索リストをそのような他の検索エンジンに送信する。他のそのような各検索エンジンはソースである。複数ユーザの検索要求が単一IPアドレスを通して経路指定される限り、異なるソースを通して提出される要求を分離することは、複数ユーザの検索照会を隔離するのに役立つ。
【0042】
ステップ1006で、生検索フィルタ404(図4)は、ステップ1004(図10)で収集された検索レコードを分析する。ステップ1006を論理流れ図1006としてより詳細に示す(図11)。ステップ1102で、生検索フィルタ404(図4)は、ステップ1004(図10)で形成された収集の検索間の時間間隔を測定する。時間間隔は、入力時間順で隣接する検索レコードのタイムスタンプフィールド710(図7)の間の時間差として測定される。
【0043】
検査ステップ1104(図11)で、生検索フィルタ404は各感覚を予め定められた最小閾値と比較する。予め定められた最小閾値は、一ユーザによる連続検索照会の間の間隔を合理的に表わすには一般的に短すぎるように選択される。この例示的実施形態では、人間のユーザは連続検索照会を提出する間に少なくとも約2秒かかると推定する。したがって、検査ステップ1102に関連する予め定められた最小閾間隔は、この例示的実施形態では2秒である。
【0044】
検索レコードが他の検索レコードの後に近接し過ぎる状態で続く場合、つまり、予め定められた最小閾値未満の検索間間隔の直後に続く場合、処理はステップ1106(図11)に移り、そこでそのようなレコードは生検索フィルタ404によって非正統的とマークされる。別の検索レコードに近接し過ぎる状態では続かない検索レコードの場合、ステップ1106は飛ばされる。
【0045】
ステップ1108で、生検索フィルタ404は、集合の検索間の間隔の統計的標準偏差を決定する。検査ステップ1110で、生検索フィルタ404は該標準偏差を予め定められた最小閾値と比較する。一般的に、ステップ1108〜1110で、生検索フィルタ404は検索照会の間隔の規則性を測定して、人間のユーザによって提出される検索より一般的にずっと規則正しい自動生成検索照会を検出する。例えば、同一ソースを通しかつ同一ネットワークアドレスからの多数の検索が1秒未満の標準偏差で平均して60秒の間隔を持つ場合、人間のユーザがこれらの検索照会を発生した可能性はむしろ低い。この例示的実施形態では、検査ステップ1110に関連付けられる予め定められた最小閾値は2秒である。
【0046】
測定された標準偏差が予め定められた最小閾値より低ければ、処理はステップ1112に移り、そこで生検索フィルタ404は、集合の全ての検索レコードを非正統的とマークする。逆に、測定された標準偏差が少なくとも予め定められた最小閾値である場合、生検索フィルタ404はステップ1112を飛ばす。
【0047】
ステップ1110〜1112の後、論理流れ図1006による処理、およびしたがってステップ1006(図10)は完了する。したがって、ステップ1006で、検索レコードが相互に時間的に近接し過ぎる状態で続く場合、または人間のユーザによって提出された正真正銘の検索照会を合理的に表わすには間隔が規則的過ぎる場合、生検索フィルタ404は検索レコードを非正統的とマークする。
【0048】
ステップ1008で、生検索フィルタ404はユーザIPに従って、ソースとは関係なく、新近性の窓の検索レコードをグループ化する。ステップ1010で、生検索フィルタ404は、ステップ1006に関連して上述した方法で、グループ化された検索レコードを分析する。ステップ1008〜1010は、生検索フィルタ404が複数のソースにまたがる非正統的な検索を検出することを可能にする。単一ソースだけが使用される場合、つまり検索エンジン102が他の検索エンジンによって転送された検索照会にサービスを供しない場合、ステップ1008〜1010は、ステップ1004〜1006の観点から冗長であり、したがって省かれる。
【0049】
ステップ1012で、生検索フィルタ404は、ソースに従って、ユーザIPとは関係なく、新近性の窓の検索レコードをグループ化する。ステップ1014で、生検索フィルタ404は、ステップ1006および1010に関連して上述した方法で、グループ化された検索レコードを分析する。ステップ1012〜1014は生検索フィルタ404が複数のユーザIPにまたがる非正統的な検索を検出することを可能にする。
【0050】
ステップ1014の後、論理流れ図804による処理、およびしたがってステップ804(図8)は完了する。したがって、生検索フィルタ404(図4)は、検索リストの性能評価に不適切に影響するおそれのある非正統的な検索を示すパターンが無いか、生検索データフィード402を分析する。異常分析モジュール406A〜Bは検索照会挙動の異常性を検出して、ユーザ検出活動の異常な疑わしい変化を検出する。
【0051】
異常分析モジュール406Aを図5により詳細に示す。この例示的実施形態では、一つの異常分析モジュールだけが使用される。つまり、異常分析モジュール406Bは図示する通り存在しないかまたは含まれず、空動作であり、何も行なわない。しかし、検索データ分析モジュール408は複数の異常分析モジュールからの異常分析結果を処理することができるので、代替実施形態は、異常分析モジュール406A以外の異常分析モジュールを含む。
【0052】
異常分析モジュール406Aは、生検索データフィード402(図4)からの検索データを15分集計検索レコードに集計する、生検索アグリゲータ502を含む。例えば、集計検索レコード1204(図13)はカウントフィールド1302、用語フィールド1304、ソースフィールド1306、および市場フィールド1308を含む。集計検索レコード1204は、同一検索用語、ソース、および市場を有する個々の検索照会の数を表わす。カウントフィールド1302は、集計検索レコード1204によって表わされる検索レコードの数を指定する。用語フィールド1304は、集計検索レコード1204によって表わされる検索レコードの検索用語を指定する。ソースフィールド1306は、集計検索レコード1204によって表わされる検索レコードの数を指定する。市場フィールド1308は、集計検索レコード1204によって表わされる検索レコードの市場を指定する。
【0053】
生検索アグリゲータ502は検索レコードを集計して、検索用語、ソース、および市場の全ての組合せの集計検索レコードを形成し、そのような集計検索レコードは集合的に集計検索データ1202(図12)を形成する。15分集計検索データは、生検索第二段階アグリゲータ504(図5)および検索データ分析モジュール408(図4)の両方に利用可能になる。生検索第二段階アグリゲータ504(図5)は96個の最新近の15分集計検索データ、例えば集計検索データ1202(図12)を集めて、図12〜13に関連して上述したのと全く類似の方法で編成された24時間集計検索データを形成する。24時間集計検索データもまた、検索データ分析408に利用可能になる。
【0054】
検索挙動における予想外の変化を検出するための比較を目的として、異常分析モジュール406Aは、クリーン検索集計窓508を形成するクリーン検索アグリゲータ506をも含む。クリーン検索アグリゲータ506はクリーン検索データフィード410(図4)を受け取り、そこから非正統的な検索が除去され、生検索アグリゲータ502(図5)に関連して上述したのと同様の方法でクリーン検索データフィード410の検索レコードが集計され、クリーン検索集計窓508が形成される。この例示的実施形態では、一日の時間帯によって変動するかもしれない検索トラフィックパターンを回避するために、クリーン検索集計窓508が最新近の24時間にわたって集計される。
【0055】
検索データ解析モジュール408(図4)は、(i)生検索データフィード402、(ii)生検索フィルタ404からの個々の非正統的な検索照会の識別、および(iii)異常分析モジュール406Aからの15分および24時間集計検索データならびに24時間集計クリーン検索データを受け取る。追加の異常分析モジュールが含まれる実施形態では、検索データ分析モジュール408はこれらの追加の異常分析モジュールからもデータを受け取る。検索データ分析モジュール408はこの情報を全て使用して、生検索データフィード402から非正統的な検索照会を除去し、選別済み検索データフィード410を生成する。選別済み検索データフィード410は上述した方法で異常分析モジュール406Aによって使用され、人間のユーザによる実際の検索活動を、生検索データフィード402よりずっと正確に表わす。
【0056】
検索分析モジュール408(図4)による処理を、論理流れ図1400(図14)に示す。ループステップ1402および次のステップ1414は、検索用語、ソース、および市場の各組合せ、例えば各集計検索レコード1204(図12〜13)がステップ1404〜1412(図14)に従って処理されるループを画定する。ステップ1402〜1414のループ内で、特定の集計検索レコードの特定の検索用語、ソース、および市場は時々それぞれ対象用語、対象ソース、対象市場と呼ばれる。検索データ分析モジュール408は、全ての集計検索レコードに対しステップ1404〜1412を実行するが、ステップ1404〜1412をここでは集計検索レコード1204(図13)を処理する文脈で説明する。
【0057】
ステップ1404で、検索データ分析モジュール408は、生検索アグリゲータ502(図5)および生検索第二段階アグリゲータ504から受け取った集計生検索データをクリーン検索集計窓508と比較する。検査ステップ1406で、検索データ分析モジュール408は、15分または24時間集計生検索データが統計的にクリーン検索集計窓508と異なるかどうかを決定する。
【0058】
検索データ分析モジュール408は、第一に集計生検索データの予想最大値を計算することによって、集計生検索データが統計的に異なるかどうかを決定する。この例示的実施形態では、予想最大値は、次式に従って算出される。
【0059】
【数1】
式(1)で、予想最大量EVは、EVs,EVs/t、およびEvt/sの加重平均である。EVsは、対象ソースに帰属可能な検索量の比率に基づく計算予想量である。EVs/tは、対象用語に対する対象ソースに帰属可能な検索量の比率に基づく計算予想量である。EVt/sは、対象ソースに対する対象用語に帰属可能な検索量比率に基づく計算予想量である。加重ws、ws/t、およびwt/sはそれぞれEVs、EVs/t、およびEvt/sに対応する。この例示的実施形態では、各予想量が相互に対して均等に加重されるように、加重ws、ws/t、およびwt/sは全て1(1.0)に設定される。
【0060】
予想量EVsは、次式に従って検索データ分析モジュール408によって計算される。
【0061】
【数2】
式(2)で、CVtmは、比較される集計生検索データと同一時間枠のクリーン検索集計窓508内の全てのソースからの対象用語および対象市場の検索の量を表わす。特に、生検索アグリゲータ502からの15分窓の集計生検索データの比較では、15分窓のクリーン検索集計窓508がCVtmによって表わされる。同様に、生検索第二段階アグリゲータ504からの24時間窓の集計生検索データの比較では、24時間窓のクリーン検索集計窓508がCVtmによって表わされる。
【0062】
CVsmは、最新近の24時間のクリーン検索集計窓内の対象ソースおよび対象市場の検索の量を表わす。CVmは、最新近の24時間のクリーン検索集計窓508内の全ての検索用語および全てのソースを含む対象市場の検索の量を表わす。したがって比率CVsm/CVmは、最新近の24時間に対象ソースから到来する対象市場における全ての検索の比率を表わす。個々の検索用語の検索量は1時間毎に予測不能に変動するかもしれないが、特定のソースから到来する検索の比率は比較的安定に維持される傾向がある。したがって、検索用語の検索量にそのような比率を乗算すると、対象ソースからの対象用語の正統的な検索の真の量の合理的に信頼できる予想がもたらされる。
【0063】
この合理的に信頼できる予想にチューニング係数ksを乗算することにより、対象ソースから受け取る検索量の部分の日毎の変化を、検索量の非正統的な増加と知覚することなく許容することができる。この例示的実施形態では、ksは1.1であり、対象ソースの検索量の比率は日によって10パーセント成長することが許容される。
【0064】
予想量EVs/tは、次式に従って検索データ分析モジュール408によって計算される。
【0065】
【数3】
式(3)で、Observedtmは、全てのソースからの対象用語および対象市場の全ての集計生検索レコードを表わす。この例示的実施形態では、同一持続時間(この実施形態では15分間または24時間のいずれか)の集計生検索レコードだけを集計してObservedtmが形成される。
【0066】
CVtmは、24時間窓全体のクリーン検索データを網羅する以外は、式(2)に関連して上述した通りである。CVtsmは、最新近の24時間のクリーン検索集計窓508内の対象用語、対象ソース、および対象市場の検索の量を表わす。したがって、比率CVtsm/CVtmは、全てのソースに対し対象ソースから到来する対象用語および対象市場の対策の比率を表わす。そのような比率は、対象用語の人気の変動にも拘わらず、安定に維持される傾向がある。したがって、全てのソースからの対象用語に対する観察検索量にそのような比率を乗算することにより、対象ソースからの対象用語に対する正統的な検索の真の量の合理的に信頼できる予想が得られる。
【0067】
この合理的に信頼できる予想にチューニング係数ks/tを乗算することにより、対象ソースから受け取る検索量の部分の日毎の変化を、検索の非正統的なあふれと知覚することなく許容することができる。この例示的実施形態では、ks/tは1.1であり、対象用語に対する対象ソースの検索量の比率は日によって10パーセント成長することが許容される。
【0068】
予想量EVt/sは、次式に従って検索データ分析モジュール408によって計算される。
【0069】
【数4】
式(3)で、Observedsmは、対象市場の全てのソースからの対象用語の全ての集計生検索レコードを表わす。この例示的実施形態では、同一持続時間(この実施形態では15分間または24時間のいずれか)の集計生検索レコードだけを集計してObservedsmが形成される。
【0070】
CVsmは、対象ソースおよび対象市場に関連するクリーン検索集計窓の部分を表わし、したがって、対象市場の全てのソースからの全ての用語の正統的な検索の量を表わす。CVtsmは、式(3)に関連して上述した通りである。したがって、比率CVtsm/CVsmは、最新近の24時間の対象ソースからの対象市場における全ての検索用語に対する対象用語の検索の比率を表わす。対照ソースからの全ての検索用語に対する観察検索量にそのような比率を乗算することにより、対象市場における対象ソースからの対象用語に対する正統的な検索の真の量の予想が推定される。
【0071】
この合理的な予想にチューニング係数kt/sを乗算することにより、対象ソースから受け取る検索量の部分の日毎の変化を、検索の非正統的なあふれと知覚することなく許容することができる。この例示的実施形態では、kt/sは1.1であり、対象ソースの全ての検索用語に対する対象用語の検索量の比率は日によって10パーセント成長することが許容される。
【0072】
上記の式(1)の加重平均は特定の単一計算予想に対する依存性を回避し、上述した加重およびチューニング係数は、検索量の経験が累積されるにつれて正統的な検索の最大予想トラフィックをより正確に表わすように調整することができる。
【0073】
集計検索レコード1204が統計的に予想検索活動と異ならない場合、つまり式(1)に従って決定された最大予想検索量以下である場合、処理は次のステップ1414(図14)に移り、次の集計検索レコードが、ステップ1402〜1414のループに従って、検索データ分析モジュール408によって処理される。逆に、集計検索レコード1204(図13)が統計的に予想検索活動とは異なる場合、つまり式(1)に従って決定された最大予想検索量を超える場合、処理はステップ1408に移る。
【0074】
ステップ1408で、検索データ分析モジュール408は、非正統的な検索照会に帰属可能な集計検索レコード1204の部分を推定する。この例示的実施形態では、推定部分は、カウント1302が式(1)に従って決定された最大予想検索量を超える数値差分である。
【0075】
ステップ1410で、検索データ分析モジュール408は、ステップ1408からの推定部分を、生検索フィルタ404によって非正統的とマークされた個々の検索の個数だけ低減する。ステップ1412で、検索データ分析モジュール408は、生検索データフィード402の多数の検索レコードを無作為に選択して非正統的とマークする。その個数は、ステップ1408で推定され、ステップ1410で調整された非正統的な検索の数に等しい。調整された推定部分が非正数の場合、ステップ1412は飛ばされる。さらに、検索データ分析モジュール408は、生検索フィルタ404によってまだ非正統的とマークされていない検索レコードだけを無作為に選択する。
【0076】
以下の例は解説である。クリーン検索集計ウィンドウ508および上記の式(1)は、所与の市場で所与のソースから所与の用語に対し2000件の検索が予想されることを想定していると考慮する。その用語、ソース、および市場の組合せに対し3000件以上の検索が集計され、かつ検査ステップ1406で差が統計的に有意であると決定されたと考慮する。したがって1000件の検索は非正統的であると推定される。生検索フィルタ404が600件の個別検索を非正統的として識別したと想定する。したがって、400件の検索は非正統的であると推定されるが、識別されていない。ステップ1412で、検索データ分析モジュール408は、生検索フィルタ404によってまだ非正統的と識別されていない2400件の検索から400件の検索を無作為に選択し、これら400件の無作為に選択された検索を非正統的とマークする。
【0077】
ステップ1412で、処理は次のステップ1414(図14)に移り、次の集計検索レコードが、ステップ1402〜1414のループに従って検索データ分析モジュール408によって処理される。用語、ソース、および市場の全ての組合せがステップ1402〜1414のループに従って処理されると、処理はステップ1416に移り、非正統的とマークされた全ての検索レコードが生検索データフィード402から除去され、選別済み検索データフィード410が生成される。
【0078】
したがって、個別に識別された非正統的な検索は、検索活動の異常が検出されたときに多数の無作為に選択された他の検索と同様に、生検索データフィード402から除去される。したがって、選別済み検索データフィード410は、正真正銘の検索照会を提出するユーザの実際の活動をより正確に反映する。
【0079】
上述の通り、選別済み検索データフィード410は、検索活動の予想レベルを決定するために異常分析モジュール406Aによって使用され、かつ検査活動分析モジュールの適用で説明した方法で個々の検索リストの性能を評価するために検索リストカラー(list culler)304によって使用される。その結果、個々の検索リストの性能評価は非正統的な検索によって不当に影響されない。
【0080】
上記の説明は単なる例示であって、限定ではない。本発明は請求の範囲およびそれらの全範囲の均等物によってのみ定義される。
【図面の簡単な説明】
【0081】
【図1】図1は、相互に広域ネットワークに接続されたホストコンピュータ、クライアントコンピュータ、および本発明に係る検索エンジンを示すブロック図である。
【図2】図2は、検索エンジンをより詳細に示すブロック図である。
【図3】図3は、図2の検索エンジンの検索活動分析モジュールを示すブロック図である。
【図4】図4は、図3の検索活動分析モジュールの検索要求フィルタをより詳細に示すブロック図である。
【図5】図5は、図4の検索要求フィルタの異常分析モジュールをより詳細に示すブロック図である。
【図6】図6は、図4の検索要求フィルタによって分析される生検索データのブロック図である。
【図7】図7は、図6の生検索データの検索レコードのより詳細なブロック図である。
【図8】図8は、本発明に係る図4の検索要求フィルタによる生検索データの処理を示す論理流れ図である。
【図9】図9は、図8の論理流れ図の一部分のより詳細な論理流れ図である。
【図10】図10は、図8の論理流れ図の一部分のより詳細な論理流れ図である。
【図11】図11は、図10の論理流れ図の一部分のより詳細な論理流れ図である。
【図12】図12は、図4の検索要求フィルタによって分析された集計検索データのブロック図である。
【図13】図13は、図12の生検索データの集計検索レコードのより詳細なブロック図である。
【図14】図14は、本発明に係る図4の検索要求フィルタによる、選別済み生検索データおよび集計検索データの処理を示す論理流れ図である。
【特許請求の範囲】
【請求項1】
非正当な検索照会を検出するための方法であって、該方法が、
一つまたはそれ以上の受信した検索照会のうちの各対象照会に対し、
対象検索照会を提出したユーザエージェントを識別することと、
該ユーザエージェントを一つまたはそれ以上の予め定められた正当なユーザエージェントと比較することと、
該ユーザエージェントが該予め定められた正当なユーザエージェントのいずれにも合致しない条件下で、該対象検索照会を非正当とマークすることと、
を含む方法。
【請求項2】
前記識別することが、
前記対象検索照会の提出と共にユーザによって提出されるフォームデータに関連付けられる環境変数を表わすデータを検索すること、
を含む、請求項1に記載の方法。
【請求項3】
検索照会のデータベースから非正当とマークされた検索照会を除去し、それによって前記データベースを人間のユーザの検索挙動をより正確に表わすものとすること、
をさらに含む、請求項1に記載の方法。
【請求項4】
それぞれのネットワークアドレスから各々受信された非正当な検索照会を検出するための方法であって、
検索照会のうちの一つまたはそれ以上の選択された検出照会およびそれぞれ該検索照会の前に提出された検出照会が該同一ネットワークアドレスから受信された場合に、該検索照会が各々、該それぞれ前に提出された検出照会の提出時間で予め定められた時間未満内に提出されたかどうかを決定すること、および
該選択された検索照会を非正当とマークすること、
を含む方法。
【請求項5】
前記決定することが、
前記対象検索照会の提出と共にユーザによって提出されたフォームデータに関連付けられる環境変数を表わすデータを検索することによって、前記検索照会がどのネットワークアドレスから受信されたかを決定すること、
を含む、請求項4に記載の方法。
【請求項6】
前記選択された検索照会を検索照会のデータベースから除去し、それによって前記データベースを人間のユーザの検索挙動をより正確に表わすものとすること、
をさらに含む、請求項4に記載の方法。
【請求項7】
それぞれのネットワークアドレスから各々受信された非正当な検索照会を検出するための方法であって、
検索照会のうちの一つまたはそれ以上の選択された検出照会およびそれぞれ該検索照会の前に提出された検出照会が該同一ネットワークアドレスから受信された場合に、該選択された検索照会が各々、予め定められた量未満で変動する時間間隔で提出されたかどうかを決定すること、および
該選択された検索照会を非正当とマークすること、
を含む方法。
【請求項8】
前記決定することが、
前記対象検索照会の提出と共にユーザによって提出されたフォームデータに関連付けられる環境変数を表わすデータを検索することによって、前記検索照会がどのネットワークアドレスから受信されたかを決定すること、
を含む、請求項7に記載の方法。
【請求項9】
前記選択された検索照会を検索照会のデータベースから除去し、それによって前記データベースを人間のユーザの検索挙動をより正確に表わすものとすること、
をさらに含む、請求項7に記載の方法。
【請求項10】
前記決定することが、
前記選択された検索照会の受信間の時間間隔の標準偏差を決定すること、
を含む、請求項7に記載の方法。
【請求項11】
検索照会のデータベースが人間の検索挙動を表わす精度を改善するための方法であって、該方法が、
検索照会の数量を検索照会の予想数量と比較することと、
該検索照会の数量が該検索照会の予想数量を少なくとも予め定められた限界量だけ超えることを決定することと、
前記検索が該予想数量を超える量に従って、該数量の検索照会の回数を選択することと、
該選択された回数の検索照会を該数量から除去すること、
を含む方法。
【請求項12】
前記数量および前記予想数量が、特定の検索用語を含む検索照会に対応する、請求項11に記載の方法。
【請求項13】
前記数量および前記予想数量が、特定の地理的領域に特定の検索照会に対応する、請求項11に記載の方法。
【請求項14】
前記数量が時間窓にわたって標本抽出される、請求項11に記載の方法。
【請求項15】
前記時間窓が15分である、請求項14に記載の方法。
【請求項16】
前記時間窓が24時間である、請求項14に記載の方法。
【請求項17】
検索照会の前記予想数量を決定すること、
をさらに含む、請求項11に記載の方法。
【請求項1】
非正当な検索照会を検出するための方法であって、該方法が、
一つまたはそれ以上の受信した検索照会のうちの各対象照会に対し、
対象検索照会を提出したユーザエージェントを識別することと、
該ユーザエージェントを一つまたはそれ以上の予め定められた正当なユーザエージェントと比較することと、
該ユーザエージェントが該予め定められた正当なユーザエージェントのいずれにも合致しない条件下で、該対象検索照会を非正当とマークすることと、
を含む方法。
【請求項2】
前記識別することが、
前記対象検索照会の提出と共にユーザによって提出されるフォームデータに関連付けられる環境変数を表わすデータを検索すること、
を含む、請求項1に記載の方法。
【請求項3】
検索照会のデータベースから非正当とマークされた検索照会を除去し、それによって前記データベースを人間のユーザの検索挙動をより正確に表わすものとすること、
をさらに含む、請求項1に記載の方法。
【請求項4】
それぞれのネットワークアドレスから各々受信された非正当な検索照会を検出するための方法であって、
検索照会のうちの一つまたはそれ以上の選択された検出照会およびそれぞれ該検索照会の前に提出された検出照会が該同一ネットワークアドレスから受信された場合に、該検索照会が各々、該それぞれ前に提出された検出照会の提出時間で予め定められた時間未満内に提出されたかどうかを決定すること、および
該選択された検索照会を非正当とマークすること、
を含む方法。
【請求項5】
前記決定することが、
前記対象検索照会の提出と共にユーザによって提出されたフォームデータに関連付けられる環境変数を表わすデータを検索することによって、前記検索照会がどのネットワークアドレスから受信されたかを決定すること、
を含む、請求項4に記載の方法。
【請求項6】
前記選択された検索照会を検索照会のデータベースから除去し、それによって前記データベースを人間のユーザの検索挙動をより正確に表わすものとすること、
をさらに含む、請求項4に記載の方法。
【請求項7】
それぞれのネットワークアドレスから各々受信された非正当な検索照会を検出するための方法であって、
検索照会のうちの一つまたはそれ以上の選択された検出照会およびそれぞれ該検索照会の前に提出された検出照会が該同一ネットワークアドレスから受信された場合に、該選択された検索照会が各々、予め定められた量未満で変動する時間間隔で提出されたかどうかを決定すること、および
該選択された検索照会を非正当とマークすること、
を含む方法。
【請求項8】
前記決定することが、
前記対象検索照会の提出と共にユーザによって提出されたフォームデータに関連付けられる環境変数を表わすデータを検索することによって、前記検索照会がどのネットワークアドレスから受信されたかを決定すること、
を含む、請求項7に記載の方法。
【請求項9】
前記選択された検索照会を検索照会のデータベースから除去し、それによって前記データベースを人間のユーザの検索挙動をより正確に表わすものとすること、
をさらに含む、請求項7に記載の方法。
【請求項10】
前記決定することが、
前記選択された検索照会の受信間の時間間隔の標準偏差を決定すること、
を含む、請求項7に記載の方法。
【請求項11】
検索照会のデータベースが人間の検索挙動を表わす精度を改善するための方法であって、該方法が、
検索照会の数量を検索照会の予想数量と比較することと、
該検索照会の数量が該検索照会の予想数量を少なくとも予め定められた限界量だけ超えることを決定することと、
前記検索が該予想数量を超える量に従って、該数量の検索照会の回数を選択することと、
該選択された回数の検索照会を該数量から除去すること、
を含む方法。
【請求項12】
前記数量および前記予想数量が、特定の検索用語を含む検索照会に対応する、請求項11に記載の方法。
【請求項13】
前記数量および前記予想数量が、特定の地理的領域に特定の検索照会に対応する、請求項11に記載の方法。
【請求項14】
前記数量が時間窓にわたって標本抽出される、請求項11に記載の方法。
【請求項15】
前記時間窓が15分である、請求項14に記載の方法。
【請求項16】
前記時間窓が24時間である、請求項14に記載の方法。
【請求項17】
検索照会の前記予想数量を決定すること、
をさらに含む、請求項11に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公表番号】特表2006−525603(P2006−525603A)
【公表日】平成18年11月9日(2006.11.9)
【国際特許分類】
【出願番号】特願2006−513434(P2006−513434)
【出願日】平成16年4月30日(2004.4.30)
【国際出願番号】PCT/US2004/013228
【国際公開番号】WO2004/100046
【国際公開日】平成16年11月18日(2004.11.18)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
Linux
【出願人】(500240036)オーバーチュア サービシズ インコーポレイテッド (15)
【Fターム(参考)】
【公表日】平成18年11月9日(2006.11.9)
【国際特許分類】
【出願日】平成16年4月30日(2004.4.30)
【国際出願番号】PCT/US2004/013228
【国際公開番号】WO2004/100046
【国際公開日】平成16年11月18日(2004.11.18)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
Linux
【出願人】(500240036)オーバーチュア サービシズ インコーポレイテッド (15)
【Fターム(参考)】
[ Back to top ]