(57)【要約】  検索エンジンによって返された検索結果を順序付ける際にユーザインタラクションに依拠するプログラム製品及び方法が開示される。データベースの複数のレコードのそれぞれが、ユーザが検索結果の特定のレコードにアクセスする継続時間に関連付けられているユーザインタラクションパラメータに関連付けられる。ユーザがレコードにアクセスする継続時間が所定の関連時間枠よりも大きい場合、ユーザインタラクションパラメータは、検索要求に応じて生成された結果セットにおいて識別されたレコードを順序付ける際に使用される関連時間枠の間アクセスされなかったレコードと比較して、このレコードの関連性を増加させるように重み付けされる。【選択図】  図３
2009500718.tif 000002
【特許請求の範囲】
【請求項１】
データベースにアクセスする方法であって、
（ａ）検索要求に応じて、１つ又は２つ以上のレコードを含む結果セットを生成するステップ、
（ｂ）ユーザが前記結果セットのレコードにアクセスすることに応じて、前記ユーザによるアクセスの継続期間を計時するクロックを起動するステップ、
（ｃ）前記１つ又は２つ以上のレコードのそれぞれについて、該１つ又は２つ以上のレコードのそれぞれが前記ユーザによってアクセスされた継続期間に応じて、前記１つ又は２つ以上のレコードのそれぞれに関連付けられているユーザインタラクションパラメータを作成するステップ、及び
（ｄ）前記結果セットの前記１つ又は２つ以上のレコードに関連付けられている前記ユーザインタラクションパラメータを使用して、前記結果セットの前記レコードの識別情報を順序付けるステップ
を含む、データベースにアクセスする方法。
【請求項２】
請求項１に記載の方法であって、さらに
（ｅ）ユーザが第１のレコードにアクセスする継続時間が関連性時間枠を超えるとの判断に応じて、前記第１のレコードに関連付けられている前記ユーザインタラクションパラメータを選択的に更新するステップ
を含む、方法。
【請求項３】
請求項１に記載の方法であって、さらに
第１のレコードがアクセスされる継続時間が所定の関連性時間枠を超えることに応じて、前記第１のレコードに関連付けられている前記ユーザインタラクションパラメータを増加させるステップを含む、方法。
【請求項４】
請求項１に記載の方法であって、さらに
前記結果セットの前記１つ又は２つ以上のレコードのランクを検出するステップ、及び第１のレコードがアクセスされる継続時間が所定の関連性時間枠を超えることに応じて、前記関連性時間枠を満たさなかったより高いランクを有するレコードの前記ユーザインタラクションパラメータに対して、前記第１のレコードに関連付けられている前記ユーザインタラクションパラメータを増加させるステップを含む、方法。
【請求項５】
請求項４に記載の方法において、
前記満たされなかった関連性時間枠は、前記レコードがアクセスされなかったことによるものである、方法。
【請求項６】
請求項１に記載の方法において、
前記ユーザによるアクセスの継続期間を計時するクロックを起動するステップは、検索エンジンを有するサーバによって実現される、方法。
【請求項７】
請求項６に記載の方法において、
前記結果セットを生成するステップは、複数のハイパーテキストリンクを生成するステップを含み、該複数のハイパーテキストリンクのそれぞれは、前記サーバにアクセスして、前記関連付けられているレコードがユーザによってアクセスされたことの通知を生成し、前記関連付けられているレコードの前記クロックを起動するように構成される、方法。
【請求項８】
請求項１に記載の方法において、
前記ユーザによるアクセスの継続期間を計時するクロックを起動するステップは、前記ユーザのブラウザによって実現される、方法。
【請求項９】
請求項８に記載の方法において、
前記ブラウザは、クロックと、第１のレコードから離れる前記ユーザのナビゲーションを検出するための手段とを備え、前記ブラウザは、前記ユーザが、バック（back）キーの起動まで前記第１のレコードにアクセスしている継続時間を測定する、方法。
【請求項１０】
請求項９に記載の方法において、
前記ブラウザは、前記第１のレコードの前記継続時間データを保持するためのメモリをさらに備え、前記ユーザによるアクセスの継続期間を計時するクロックを起動するステップは、前記継続時間データを前記検索エンジンに定期的に通知するステップをさらに含む、方法。
【請求項１１】
（ａ）検索要求に応じて、該検索要求と一致する、データベースにおける複数のレコードのサブセットの識別情報を含んだ結果セットを生成すると共に、該結果セットの前記複数のレコードのそれぞれに関連付けられているユーザインタラクションパラメータを使用して前記結果セットの前記複数のレコードの前記識別情報を順序付けるように構成されている第１のプログラムと、
（ｂ）前記複数のレコードのアクセスされた各レコードについて、該複数のレコードのアクセスされた各レコードのユーザによるアクセスの継続時間を求めるように構成されている第２のプログラムと、
（ｃ）前記第１のプログラム及び前記第２のプログラムを担持する信号担持媒体と
を備える、プログラム製品。
【請求項１２】
請求項１１に記載のプログラム製品において、
前記信号担持媒体は、記録可能媒体及び伝送型媒体のうちの少なくとも一方を含む、プログラム製品。
【請求項１３】
請求項１１に記載のプログラム製品において、
前記第２のプログラムは、検索要求を行うためにユーザのブラウザ上で実施される、プログラム製品。
【請求項１４】
検索エンジンにサブミットされた検索要求を処理する方法であって、
（ａ）複数のキーワードを指定する検索要求を受信するステップ、
（ｂ）識別されたレコードのサブセットを識別する結果セットを生成するステップ、
（ｃ）データベースにおける前記識別されたレコードのそれぞれについて、該識別されたレコードのそれぞれとのユーザインタラクションの継続期間が所定の関連性時間枠を超えることに応じて、前記識別されたレコードのそれぞれに関連付けられているユーザインタラクションパラメータを選択的に更新するステップ、及び
（ｄ）前記結果セットの各レコードに関連付けられている前記ユーザフィードバックパラメータを使用して前記結果セットのレコードの前記サブセットの前記識別情報を順序付けるステップ
を含む、検索エンジンにサブミットされた検索要求を処理する方法。
【請求項１５】
請求項１４に記載の方法であって、さらに
前記結果セットの１つ又は２つ以上のレコードのランクを検出するステップ、及び第１のレコードがアクセスされる継続時間が所定の関連性時間枠を超えることに応じて、前記関連性時間枠を満たさなかったより高いランクを有するレコードの前記ユーザインタラクションパラメータに対して、前記第１のレコードに関連付けられている前記ユーザインタラクションパラメータを増加させるステップを含む、方法。
【請求項１６】
請求項１５に記載の方法において、
前記満たされなかった関連性時間枠は、前記レコードがアクセスされなかったことによるものである、方法。
【請求項１７】
請求項１に記載の方法において、
前記レコードとのユーザインタラクションの継続期間が所定の関連性時間枠を超えることに応じて、前記レコードに関連付けられているユーザインタラクションパラメータを選択的に更新する前記ステップは、ユーザによるアクセスの継続期間を計時するクロックを起動するステップをさらに含む、方法。
【請求項１８】
請求項１７に記載の方法において、
前記クロックを起動するステップは、検索エンジンを有するプログラムによって実施される、方法。
【請求項１９】
請求項１７に記載の方法において、
前記クロックを起動するステップは、ユーザベースアプリケーションによって実施される、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、コンピュータ及びコンピュータソフトウェアに関する。より具体的には、本発明は、包括的に、検索エンジン、及び、検索エンジンによって生成された結果セットとのユーザのインタラクションに関する。
【背景技術】
【０００２】
検索エンジンは、一般に、ユーザによってサブミット（submit:提示）されたクエリに応じて情報のデータベースにアクセスするのに使用されるコンピュータプログラムである。検索エンジンは、通例、検索クエリに応じて、多種多様なデータベースにアクセスし、情報を取捨選択して関連情報を見つけるのに使用される。
【０００３】
検索エンジンは、インターネットからの情報にアクセスする際に広く適用されている。たとえば、検索エンジンは、多くの場合、特定の主題についての情報を含む文書を識別するディレクトリサービスにアクセスするのに使用される。ディレクトリサービスでは、文書は、通常、主題によって分類され、それらの文書のアドレスだけでなく、それらの文書の基本的な要約も、検索エンジンによって検索可能なレコードに記憶されている。
【０００４】
また、検索エンジンは、多くの場合、インターネットからのできるだけ多くの文書について索引の作成を試みるインデックスサービスにアクセスするのにも使用される。ほとんどのインデックスサービスは、通常、インターネット上の文書を読み出して、それらの文書から重要な用語及び単語の索引を作成し、そして、各文書に設けられたあらゆるリンクに従って追加の文書を突き止めることにより、文書レコードのデータベースを構築する。
【０００５】
突き止められた文書の数が増加するにつれて、文書の「ランキング」とも呼ばれる、それらの文書をユーザに提示する順序がより重要となってくるが、それは、ユーザは、通常、検索結果の後ろの方で識別される文書を見る前に、検索結果のリストの先頭で識別される文書を見ることになるからである。
【０００６】
初期の検索エンジンは、通常、一般に初歩的な検索アルゴリズムに依拠していた。これら初歩的な検索アルゴリズムは、各文書で見つかった検索用語の個数、各文書における各検索用語の出現数、各文書における検索用語の近接性、及び／又は各文書における検索用語のロケーション（たとえば、文書の先頭又はタイトル若しくは見出しにある検索用語にはより大きな重みを与える）等のファクタに基づいて、クエリの結果をランキングするものである。しかしながら、単に検索用語の配置及び頻度によって結果をランキングすると、多くの場合、ランキングが不十分なものとなることが判明している。一例として、いくつかの従来の検索エンジンは、文書の著者が、「スパミング」として知られているプロセスを通じて操作することが可能であり、このスパミングでは、検索用語は、単に、検索エンジンによって与えられる相対的なランキングを向上させるだけの目的で、文書の見えない部分において文書に挿入される。
【０００７】
このような懸案事項に対処するために、いくつかの従来の検索エンジンは、結果をランキングする追加情報に依拠している。たとえば、いくつかのインデックスサービス用の検索エンジンは、文書が、関連付けられているディレクトリサービスにもリストされているかどいうかに基づいて文書の重み付けを変えている。他の検索エンジンは、「リンクポピュラリティ」を使用して結果をランキングし、他の文書によってリンクされている文書に対してより高いランキングを与える。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の検索エンジンに対する上述した機能強化は、より関連のある結果をユーザに提供する点では成功してきたが、検索結果を順序付けてユーザに返す方法においてはさらなる改良の必要性が存在し続けている。特に、検索エンジンによって返される結果の関連性及びユーザビリティにおけるさらなる進歩が、検索結果の順序付けにおいて、特定の文書とのユーザのインタラクションを拠り所として得ることができるものと信じられている。
【課題を解決するための手段】
【０００９】
本発明は、検索エンジンによって返された検索結果をランキングする際に前のユーザインタラクションに依拠する複数のプログラム製品及び方法を提供することによって、従来技術に関連付けられているこれらの問題及び他の問題に対処する。本発明によれば、データベースにおける複数のレコードのそれぞれは、ユーザインタラクションパラメータに関連付けられる。このユーザインタラクションパラメータは、検索要求に応じて生成された結果セットにおいて識別されたレコードを順序付ける際に使用される。一方、ユーザインタラクションパラメータが構成され、更新され、検索結果をランキングする際に利用される際の方法は、アプリケーションが異なると変化する可能性がある。
【００１０】
たとえば、本発明の一態様によれば、ユーザが特定のレコードにアクセスする時間の長さを検出したことに応じて、所与のレコードのユーザインタラクションパラメータを選択的に更新することができる。このタイプのインタラクションメカニズムが有用であるのは、特定のレコードが、特定の検索要求に関係した関連情報を有する場合に、ユーザはその特定のレコードにより長く留まるという仮定に基づいている。
【００１１】
本発明のさらなる態様によれば、ユーザが特定のレコードにアクセスする時間の長さが所定の関連時間枠を超えることを検出したことに応じて、所与のレコードのユーザインタラクションパラメータを選択的に更新することができる。このタイプのインタラクションメカニズムが有用であるのは、ユーザが、所定の関連時間枠よりも長い間、特定のレコードに留まっている場合に、そのことは、その特定のレコードが特定の要求に関係した関連情報を有することの良い指標であるという仮定に基づいている。
【００１２】
本発明の別の態様によれば、低いランキングのレコードが、所定の関連時間長の間アクセスされたことを検出したことに応じて、所与のレコードのユーザインタラクションパラメータを選択的に更新することができる。このタイプのインタラクションメカニズムが有用であるのは、後にアクセスされたレコードが所定の時間長の間アクセスされる場合に、それより高くランキングされたがアクセスされていないレコード、又は、それより高くランキングされたが所定の時間長の間アクセスされなかったレコードが、後にアクセスされたレコードよりも関連性が少ないという仮定に基づいている。
【００１３】
本発明を特徴付けるこれらの利点及び他の利点並びにこれらの特徴及び他の特徴は、本明細書に添付されて本明細書のさらに別の部分を形成する特許請求の範囲に明記されている。しかしながら、本発明並びにその使用を通じて得られる利点及び目的をより良く理解するには、図面及び添付した記述物を参照すべきである。これらには、本発明の例示的な実施形態が記述されている。
【発明を実施するための最良の形態】
【００１４】
ハードウェア／ソフトウェア環境
図面を参照する。図面において、同じ番号は、いくつかの図を通じて同じ部分を示している。図１は、本発明によるコンピュータシステム１０を示している。コンピュータシステム１０は、ネットワーク接続コンピュータシステムとして示されている。このネットワーク接続コンピュータシステムは、マルチユーザコンピュータ環境を規定し、且つ、ネットワーク１８を通じてサーバ１６（たとえば、ＰＣベースサーバ、ミニコンピュータ、ミッドレンジコンピュータ、メインフレームコンピュータ等）に結合された１つ又は２つ以上のクライアントコンピュータ１２、１４、及び２０（たとえば、デスクトップコンピュータ又はＰＣベースコンピュータ、ワークステーション等）を含む。また、ネットワーク１８ａによってサーバ１６とインターフェースされた追加のサーバ１６ａも示されている。このサーバ１６ａには、クライアントコンピュータ１２ａが結合されている。ネットワーク１８及び１８ａは、実用的には、任意のタイプのネットワーク相互接続を表すことができる。この任意のタイプのネットワーク相互接続には、ローカルエリアネットワーク、ワイドエリアネットワーク、無線ネットワーク、及び公衆ネットワーク（たとえば、インターネット）が含まれるが、これらに限定されるものではない。その上、たとえば追加のクライアントコンピュータ及び／又はサーバといった任意の個数のコンピュータ及び他のデバイスを、ネットワーク１８、１８ａを通じてネットワーク接続することができる。
【００１５】
クライアントコンピュータ２０は、コンピュータ１２、１２ａ、及び１４と同様のものとすることができ、通常、特に、中央処理装置（ＣＰＵ）２１と、コンピュータディスプレイ２２、記憶装置２３、プリンタ２４等の複数の周辺コンポーネントと、さまざまな入力デバイス（たとえば、マウス２６及びキーボード２７）とを含む。サーバコンピュータ１６、１６ａは、一般的ではあるが、この技術分野で既知のように、より大きな処理性能及びストレージ容量で同様に構成することができる。
【００１６】
図２は、ネットワーク４８を介してサーバ装置５０とインターフェースされたクライアント装置３０を含む装置２８を含む、ネットワーク接続コンピュータシステム１０の１つの例示的なハードウェア／ソフトウェア環境を別の方法で示している。本発明において、クライアント装置３０は、デスクトップコンピュータ、ポータブルコンピュータ、埋め込みコントローラ等を含み、実用的には、クライアントとして動作できる任意のタイプのコンピュータ、コンピュータシステム、又は他のプログラマブル電子デバイスを表すことができる。同様に、サーバ装置５０も、実用的には、任意のタイプのマルチユーザコンピュータシステム又はホストコンピュータシステムを表すことができる。各装置２８、３０、及び５０は、以下では、「コンピュータ」又は「コンピュータシステム」とも呼ばれる場合がある。ただし、「装置」という用語は、本発明による他の適切なプログラマブル電子デバイスも含むことができることが十分理解されるべきである。
【００１７】
コンピュータ３０は、通常、メモリ３２に結合された少なくとも１つのプロセッサ３１を含み、コンピュータ５０も、同様に、メモリ５２に結合された少なくとも１つのプロセッサ５１を含む。各プロセッサ３１、５１は、１つ又は２つ以上のプロセッサ（たとえば、マイクロプロセッサ）を表すことができ、各メモリ３２、５２は、各コンピュータ３０、５０の主記憶装置を構成するランダムアクセスメモリ（ＲＡＭ）デバイスだけでなく、たとえば、キャッシュメモリ、不揮発性メモリ又はバックアップメモリ（たとえば、プログラマブルメモリ又はフラッシュメモリ）、読み出し専用メモリ等のあらゆる補完レベルのメモリをも表すことができる。加えて、各メモリ３２、５２は、各コンピュータ３０、５０内の他の場所に物理的に位置する、たとえば任意のキャッシュメモリといったメモリストレージ、又は、外部ネットワークを介して各コンピュータ３０、５０に結合された大容量記憶装置内及び別のコンピュータ上等の仮想メモリとして使用される任意のストレージ容量を含むものと考えることができる。
【００１８】
また、各コンピュータ３０、５０は、通常、外部と情報を通信するための複数の入力及び出力も収容する。たとえば、ユーザ又はオペレータとインターフェースするために、コンピュータ３０は、通常、１つ又は２つ以上のユーザ入力デバイス３３（特に、たとえば、キーボード、マウス、トラックボール、ジョイスティック、タッチパッド、及び／又はマイク）及びディスプレイ３４（特に、たとえば、ＣＲＴモニタ、ＬＣＤディスプレイパネル、及び／又はスピーカ）を含む。さらに、コンピュータ５０とのユーザインターフェースは、通常、端末インターフェース５４に結合された端末を介してハンドリングされる。
【００１９】
追加ストレージについて、各コンピュータ３０、５０は、１つ又は２つ以上の大容量記憶装置３６、５６も含むことができ、特に、たとえば、フロッピー（登録商標）ディスクドライブ若しくは他の着脱可能ディスクドライブ、ハードディスクドライブ、直接アクセス記憶装置（ＤＡＳＤ）、光ドライブ（たとえば、ＣＤドライブ、ＤＶＤドライブ等）、及び／又はテープドライブも含むことができる。さらに、各コンピュータ３０、５０は、ネットワークに結合された他のコンピュータとの情報の通信を可能にするために、ネットワークインターフェース３８、５８を介した１つ又は２つ以上のネットワーク（特に、たとえば、ＬＡＮ、ＷＡＮ、無線ネットワーク、及び／又はインターネット）とのインターフェースも含むことができる。
【００２０】
コンピュータ３０は、オペレーティングシステム４０の制御下で動作し、さまざまなコンピュータソフトウェアアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、データ構造体等（たとえば、ブラウザ４２）を実行するか、そうでない場合には、それらに依拠する。
【００２１】
同様に、コンポーネント５０は、オペレーティングシステム６０の制御下で動作し、さまざまなコンピュータソフトウェアアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、データ構造体等（たとえば、検索エンジン６２、検索データベース６３、結果キャッシュ６４、選択リンクステージングテーブル（taken link staging table）６８、及び検索要求ステージングテーブル６９）を実行するか、そうでない場合には、それらに依拠する。その上、さまざまなアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール等は、たとえば分散コンピューティング環境又はクライアント・サーバコンピューティング環境において、コンピュータ３０、５０のいずれかに結合された別のコンピュータの１つ又は２つ以上のプロセッサで実行することもできる。
【００２２】
一般に、本発明の実施形態を実施するために実行されるルーチンは、オペレーティングシステムの一部として実施されようと、特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、又は命令シーケンスとして実施されようと、本明細書では、「コンピュータプログラム」又は単に「プログラム」と呼ばれる。コンピュータプログラムは、通常、１つ又は２つ以上の命令を含む。これらの命令は、さまざまな時間にコンピュータのさまざまなメモリ及び記憶装置に存在し、コンピュータの１つ又は２つ以上のプロセッサによって読み出されて実行されると、本発明のさまざまな態様を実施するステップ又は要素を実行するのに必要なステップをそのコンピュータに遂行させる。その上、本発明は、完全に機能するコンピュータ及びコンピュータシステムを有し、以下では、完全に機能するコンピュータ及びコンピュータシステムの状況で説明されるが、本発明のさまざまな実施形態が、さまざまな形のプログラム製品として説明できること、及び、本発明が、配布を実際に行うのに使用される特定のタイプの信号担持媒体にかかわらず等しく適用されることが当業者には十分理解されよう。信号担持媒体の例には、特に、揮発性メモリデバイス及び不揮発性メモリデバイス、フロッピー（登録商標）ディスク及び他の着脱可能ディスク、ハードディスクドライブ、磁気テープ、光ディスク（たとえば、ＣＤ−ＲＯＭ、ＤＶＤ等）等の記録可能型媒体、並びに、デジタル通信リンクやアナログ通信リンク等の伝送型媒体が含まれるが、これらに限定されるものではない。
【００２３】
加えて、以下で説明するさまざまなプログラムは、それらのプログラムが本発明の特定の実施形態で実施されるアプリケーションに基づいて識別することができる。しかしながら、以下のどの特定のプログラム用語も、単に便宜のためだけに使用されており、したがって、本発明は、このような用語によって識別及び／又は暗示されるどの特定のアプリケーションについても、そのアプリケーションで使用することのみに限定されるべきでないことが十分理解されるべきである。
【００２４】
当業者は、図１及び図２に示す例示的な環境が、本発明を限定することを意図していないことを認識するであろう。確かに、当業者は、他の代替的なハードウェア環境及び／又はソフトウェア環境を本発明の範囲から逸脱することなく使用できることを認識するであろう。
ユーザインタラクションに基づく検索結果の順序付け
本明細書に示す実施形態は、一般に、検索結果を含むレコードとのユーザインタラクションに応じて、検索エンジンからの検索結果の生成及び順序付けを機能強化することによって動作する。さらに、示した実施形態では、検索エンジンによってアクセスされるデータベースは、インターネットベース（Internet-base）を表す。このインターネットベースは、インデックスアルゴリズムとともに利用され、ハイパーテキストマークアップ言語を反映した複数のレコード（インターネット及び／又はプライベートネットワーク等のネットワーク上に記憶されたＨＴＭＬ互換文書）を記憶する。当業者には容易に明白であるように、データベースの各レコードは、通常は統一資源位置指定子（ＵＲＬ）の形で、ネットワーク上に記憶された関連付けられている文書の少なくともアドレスを含む。
【００２５】
示した実施形態は、上述したインターネットベースのアプリケーションに的を絞っているが、本明細書で説明する技法は、任意のタイプのデータベースからのデータの検索を機能強化することに関して利用できることが十分理解されよう。したがって、本発明は、本明細書で解説する特定のＨＴＭＬベースの実施態様に限定されるものではない。
【００２６】
示した実施態様は、「ユーザインタラクションパラメータ」に依拠する。このユーザインタラクションパラメータは、データベースの各レコードに、１人又は２人以上のユーザのそのレコードとのインタラクションに関する情報を関連付けるものである。各レコードに関連付けられているユーザインタラクションパラメータは、１つ又は２つ以上の重みを含む。これらの重みは、検索要求に応じて突き止められたレコードの、他のレコードに対するランキングを提供するのに使用される。
【００２７】
たとえば、結果セットのレコードの相対的な重みは、結果セットのメンバーのランキング及び順序付けのための唯一の基礎とすることができる。すなわち、ユーザインタラクションは、検索結果を順序付ける際に使用される唯一のコンポーネントとすることができる。具体的には、検索結果を順序付ける第１次方法は、各レコードが検索要求と一致する度合いという点からの、各レコードの感覚的な関連性（perceived relevance）である。第１次の順序付けオペレーションでは、たとえば、一致する検索用語の個数、検索用語の近接性、検索用語の配置、各検索用語の出現頻度等の任意の個数の検索エンジンパラメータを使用することができる。ユーザインタラクションは、同様の関連性を有するレコードの順序付けを助ける、追加された、すなわち第２次の順序付けパラメータとして利用される。
【００２８】
さらに、ユーザインタラクションに関してさらなるパラメータを利用して、結果セットのレコードの順序付けを助けることができることも十分理解されよう。たとえば、リンクポピュラリティ、関連付けられているディレクトリリストに存在すること等の他の従来のパラメータも使用することができる。
【００２９】
本明細書には、ユーザインタラクションパラメータの実施態様として、サーバ側の実施態様及びユーザ側の実施態様の２つの例示的な実施態様がある。
サーバ側の実施態様
サーバ側の実施態様では、検索エンジン又はウェブサーバは、ユーザインタラクションに基づく検索結果の順序付けを行う際に使用するための２つの第１次オペレーションを一般にサポートする、本発明による追跡機能を含むことができる。一方のオペレーションは、検索要求を開始して、検索要求と一致したデータベースからの１つ又は２つ以上のレコードを識別する結果セットを返すことである。第２のオペレーションは、結果セットのレコードとのユーザインタラクションであり、今後の結果セットを順序付ける際に使用するユーザインタラクション情報のデータベースを構築する目的でこのようなレコードとのユーザインタラクションを追跡するのに使用される。
【００３０】
図３は、ユーザが操作するブラウザ４２からの要求に応じて、検索エンジン６２によりハンドリングされる一般的なオペレーションを示している。ブロック７０に示すように、たとえば、ユーザは、検索要求を開始して、検索エンジン６２に検索要求を送信することができる（７２）。検索要求に応じて、検索エンジン６２は、検索を行い、結果をランキングし、７６に表すように、結果の第１のサブセットをユーザに返す。この結果のサブセットは、７８に表すように、ブラウザ４２においてユーザに表示される。この結果のサブセットは、検索エンジンが、結果のサブセットにおける特定のリンクのユーザ選択を検出できるように、検索エンジン６２のサーバを指し示すハイパーテキストリンクを含む。サーバは、要求された結果文書をユーザへ自動的に転送する。
【００３１】
結果キャッシュ６４は、通常、検索要求に応じて返される結果のサブセットを記憶するのに利用され、ユーザが結果セットから他の結果の視認を要求するたびに検索データベースに再び問い合わせる必要がないようにされている。示した実施態様では、検索エンジンは、結果のサブセットを表すハイパーテキスト文書を構成し、たとえば、各ハイパーテキスト文書は、検索要求に応じて識別されたレコードのサブセットへのハイパーテキストリンクを含む。
【００３２】
特定のリンクへのリダイレクト時に、検索エンジンは、クロックを起動するか、代替的にリンクにタイムスタンプを付けて、ユーザが特定の文書とのインタラクトする開始時刻を関連付け、さらに、アクセスされたリンクの数値ランキング（たとえば、２５個の関連文書のうちの検索結果番号４）を求める。検索エンジン６２は、ユーザによる代わりのリンクの選択まで、そのリンクのクロックを続ける。結果セットから代わりのハイパーテキストリンクが選択されると、サーバは、前のリンクへのリダイレクトと、その後続のリンクへのリダイレクトとの間の時間差を計算して、レコードがレビューされた継続時間を実質的に求める。さらに、クロックが、後続のリンクのアクセス時間データを取得するために後続の結果リンクについて起動され、後続のリンクのランキングが記憶される。これは、結果キャッシュとのインタラクションが完了するまで続けられる。
【００３３】
サーバは、重みの値を求めて、各レコードに関連付けられているユーザインタラクションパラメータデータに重みを割り当て、後続の検索結果の順序付けを助ける。サーバは、所定の時間（たとえば、５分）より長い間アクセスされた各レコードについて関連性重み（relevancy weight）を割り当てる。さらに、「アクセスされた関連レコード」（すなわち、所定の時間基準を超えた時間枠の間アクセスされたレコード）よりも高いランキング番号を有するがアクセスされなかった各レコード、又は、上記高いランキング番号を有し、アクセスされたが、所定の関連性時間基準を満たさなかった各レコードは、そのランキングを下げることができ、或いは、非関連重み付けパラメータを得ることになる。これらのパラメータは、検索データベース６３に記憶される。しかしながら、検索データベースに記憶されるユーザインタラクションパラメータデータは、代替形態では、別個のデータ構造体に記憶できることも十分理解されよう。
【００３４】
検索エンジン６２は、検索データベース６３に記憶されたユーザインタラクション情報を定期的に更新する。その結果、時間と共に、検索データベース６３は、検索データベースのレコードによって表された文書であって、最も長くアクセスされ且つおそらく最も関連のある文書のより役に立つ指標を作成することなることが十分理解される。
ユーザ側の実施態様
ユーザインタラクションパラメータは、さらに、ユーザのブラウザ等のユーザベースアプリケーションを通じて実施することもできる。ユーザのブラウザ上のコンピュータプログラム９０は、レコードとのユーザインタラクションを追跡するのに利用することができ、このコンピュータプログラムは、検索エンジンに通知を定期的に提供する。このプログラムは、ユーザのコンピュータに常駐することもできるし、たとえばブラウザのプラグイン又はカスタマイズとしてブラウザに統合することもできるし、ユーザのコンピュータにダウンロードすることもできる。
【００３５】
この実施態様では、ユーザは、検索要求を開始して検索エンジン６２へ送信することができる（７２）。検索要求に応じて、検索エンジン６２は、検索を行って、結果をランキングし、７６に表すように、それらの結果の第１のサブセットをユーザに返す。結果のサブセットは、７８に表すように、ブラウザ４２においてユーザに表示され、関連文書へのハイパーテキストリンクを含む。特定のリンクが選択されると、ユーザのブラウザ４２は、内部計時デバイス又はクロックを起動し、アクセスされたリンクの数値ランキング（たとえば、２５個の関連文書のうちの検索結果番号４）を求める。ユーザが、たとえば「バック」アイコンのクリック、別のリンクのクリック、ホーム（home）のクリック、又はブラウザを閉じることによってリンクから離れるナビゲーションを行うと、ブラウザは、クロックを停止し、レコードがアクセスされた継続時間を記憶する。これは、結果キャッシュ６４とのインタラクションが完了するまで続けられる。このように、ブラウザは、結果キャッシュにおいてアクセスされた各レコードについてユーザインタラクションデータを記憶する。インタラクションデータは、レコードがアクセスされた継続時間と、結果キャッシュにおいてアクセスされた１つ又は２つ以上の文書のランキングとから成る。
【００３６】
ユーザが、アクセスされた文書内のリンクをクリックした場合、ブラウザは、内部計時デバイスを起動する。ユーザがそのリンクから離れるナビゲーションを行った時又はその後の或る時刻において、この２次レコードがアクセスされた継続時間が求められ、ブラウザは、２次レコード識別情報を及び継続時間情報をサーバへアップロードする。サーバは、この２次レコードが結果キャッシュ６４の結果と一致するか否かを判断する。一致する場合、この２次レコードがアクセスされた継続時間は、所定の関連インタラクション時間枠と比較される。そして、この２次レコードのインタラクションデータセットが作成され、後続の検索クエリに対するその関連性重みが増減される。
【００３７】
ブラウザは、結果キャッシュとのユーザのインタラクションの終了時等、定期的に、インタラクションデータをサーバに通知する。サーバは、重みの値を求め、重みを各記録に関連付けられているユーザインタラクションパラメータに割り当てて、後続の検索結果の順序付けを助ける。サーバは、所定の時間（たとえば、５分）よりも長い間アクセスされた各レコードについて関連性重みを割り当てる。さらに、「アクセスされた関連レコード」（すなわち、所定の時間基準を超えた時間枠の間アクセスされたレコード）よりも高いランキング番号を有するがアクセスされなかった各レコード、又は、上記高いランキング番号を有し、アクセスされたが、所定の関連性時間基準を満たさなかった各レコードは、そのランキングを下げることができ、或いは、非関連重み付けパラメータを得ることになる。これらのパラメータは、検索データベース６３に記憶される。しかしながら、検索データベースに記憶されるユーザインタラクションパラメータデータは、代替形態では、別個のデータ構造体に記憶できることも十分理解されよう。
【００３８】
検索エンジン６２は、検索データベース６３に記憶されたユーザインタラクション情報を定期的に更新する。その結果、時間と共に、検索データベース６３は、検索データベースのレコードによって表された文書であって、最も長くアクセスされ且つおそらく最も関連のある文書のより役に立つ指標を作成することなることが十分理解される。
【００３９】
本発明による上述した実施形態に対してさまざまな変更を行うことができる。本明細書で説明した検索エンジン技法は、検索エンジンのすべてのユーザによる前のインタラクションに依拠するのではなく、所与のユーザ又は特定のユーザのグループにローカルに使用することもできる。その上、検索エンジンは、内部ネットワーク上で実施することもでき、したがって、たとえば、関係した職務機能を有する従業員のグループが唯一のユーザとなることが可能であり、そのグループを通じてユーザインタラクションデータが追跡される。関連ユーザインタラクション情報を得るための関連のある一組のユーザを選択する他の方法を代替形態では使用することができる。
【００４０】
他の変更は、当業者に明白であろう。したがって、本発明は、添付の特許請求の範囲の裡にあるものである。
【図面の簡単な説明】
【００４１】
【図１】本発明によるネットワーク接続コンピュータシステムのブロック図である。
【図２】図１のネットワーク接続コンピュータシステムの１つの例示的なハードウェア／ソフトウェア環境のブロック図である。
【図３】図２のコンピュータシステムの検索エンジンとのインタラクション中に行われるオペレーションのブロック図である。
【図４】本発明をサーバ実施した場合の図２のブラウザのメインルーチンのプログラムフローを示すフローチャートである。
【図５】本発明をサーバ実施した場合の図２の検索エンジンのメインルーチンのプログラムフローを示すブロック図である。
【図６】本発明をブラウザ実施した場合の図２のブラウザのメインルーチンのプログラムフローを示すフローチャートである。
【図７】クリックスルーユーザインタラクションを有する本発明をブラウザ実施した場合の図２のブラウザのメインルーチンのプログラムフローを示すフローチャートである。
【図１】
2009500718.tif 000003
【図２】
2009500718.tif 000004
【図３】
2009500718.tif 000005
【図４】
2009500718.tif 000006
【図５】
2009500718.tif 000007
【図６】
2009500718.tif 000008
【図７】
2009500718.tif 000009