(57)【要約】  ユーザ検索を個別化するためのシステム、方法およびコンピュータ読み取り可能媒体。ユーザによって選択されたコンテンツのセットを示す情報が保持される。この情報を使用することによって、検索マクロが生成される。検索クエリを定義するユーザ入力が受け取られ、検索クエリをさらに定義するために検索マクロが使用される。【選択図】図３
2010508579.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ検索を個別化する方法を実行するために具体化されたコンピュータ使用可能命令を有する１つまたは複数のコンピュータ読み取り可能媒体であって、前記方法は、
ユーザによって選択されたコンテンツのセットを示す情報にアクセスするステップ（２０２）と、
前記情報の少なくとも一部を使用することにより検索マクロを生成するステップ（２０４）と、
検索クエリを定義するユーザ入力を受け取るステップ（２０６）と、
前記索クエリをさらに定義するために前記検索マクロを使用するステップ（２０８）とを備えることを特徴とする媒体。
【請求項２】
前記方法は、前記ユーザ入力および前記検索マクロによって定義された前記検索クエリを使用することによりデータストアを検索するステップをさらに備えることを特徴とする請求項１に記載の媒体。
【請求項３】
前記検索するステップはインターネット検索エンジンによって実行されることを特徴とする請求項２に記載の媒体。
【請求項４】
コンテンツの前記セットは前記ユーザによって選択された１つまたは複数のＷｅｂページを含むことを特徴とする請求項１に記載の媒体。
【請求項５】
前記マクロはクエリ構文に従ってフォーマットされたテキストを含むことを特徴とする請求項１に記載の媒体。
【請求項６】
前記方法は、前記検索マクロが生成されることを要求する入力を受け取るステップをさらに備えることを特徴とする請求項１に記載の媒体。
【請求項７】
前記生成するステップは、ユーザの介入をさらに必要とすることなく前記入力に応答して実行されることを特徴とする請求項６に記載の媒体。
【請求項８】
前記方法は、前記情報の１つまたは複数の変更に応答して前記検索マクロを更新するステップをさらに備えることを特徴とする請求項１に記載の媒体。
【請求項９】
検索結果を探し出してユーザに提供するためのシステムであって、
ユーザによって選択されたコンテンツのセットを示す情報を格納するユーザ情報データストア（３０８）と、
前記ユーザに関連付けられた１つまたは複数のマクロを格納するマクロデータストア（３１２）と、
前記ユーザ情報データストア内の前記情報にアクセスすることにより、およびコンテンツのセットの少なくとも一部に関連付けられた１つまたは複数の情報ソースを特定することにより、前記１つまたは複数のマクロを生成するように構成されたマクロ生成コンポーネント（３１４）と、
検索クエリ入力および前記１つまたは複数のマクロのうちの少なくとも１つを使用して、前記検索クエリ入力に応答して検索結果を探し出すように構成された検索コンポーネント（３１０）とを備えることを特徴とするシステム。
【請求項１０】
前記マクロ生成コンポーネントはさらに、前記１つまたは複数のマクロの少なくとも一部の各々についてクエリ構文に従ってフォーマットされたテキストを生成するように構成されることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記マクロ生成コンポーネントは、前記情報の少なくとも一部の変更に応答して前記１つまたは複数のマクロの少なくとも一部を更新するように構成されたマクロ更新コンポーネントを備えることを特徴とする請求項９に記載のシステム。
【請求項１２】
前記検索コンポーネントは、前記検索クエリ入力および前記１つまたは複数のマクロのうちの少なくとも１つを使用することにより検索クエリを定義するように構成されることを特徴とする請求項９に記載のシステム。
【請求項１３】
前記検索コンポーネントはインターネット検索エンジンを含むことを特徴とする請求項９に記載のシステム。
【請求項１４】
コンテンツの前記セットは、Ｗｅｂページ、前記ユーザの個人連絡先、ブログサイト、およびコンテンツフィードを含むリストからの１つまたは複数の項目を含むことを特徴とする請求項９に記載のシステム。
【請求項１５】
個別化検索を提供する方法を実行するために具体化されたコンピュータ使用可能命令を有する１つまたは複数のコンピュータ読み取り可能媒体であって、前記方法は、
ユーザによって選択されたコンテンツのセットを示す情報にアクセスすることにより検索マクロを生成するステップ（５０２）であって、前記検索マクロは、前記マクロに関連付けられたクエリテキストを含むステップと、
コンテンツの前記セットに対する変更の通知を受け取るステップ（５０４）と、
コンテンツの前記セットの前記変更に応答して前記マクロを修正するステップ（５０６）とを備えることを特徴とする媒体。
【請求項１６】
前記修正するステップは前記マクロに関連付けられた前記クエリテキストを更新するステップを含むことを特徴とする請求項１５に記載の媒体。
【請求項１７】
前記更新するステップはユーザの介入なしで実行されることを特徴とする請求項１６に記載の媒体。
【請求項１８】
前記方法は、前記マクロを使用して検索を実行するよう求めるユーザ要求を受け取るステップをさらに備えることを特徴とする請求項１５に記載の媒体。
【請求項１９】
前記方法は、前記ユーザ要求に応答して検索クエリを定義するために前記マクロを使用するステップをさらに備えることを特徴とする請求項１８に記載の媒体。
【請求項２０】
前記マクロはコンテンツの前記セットに関連付けられた１つまたは複数の情報ソースを特定することを特徴とする請求項１５に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
インターネットは、多数のコンピュータにわたり配信される膨大な量の情報へのアクセスを可能にする。膨大な量の情報はインターネット上で利用することができるが、望ましいコンテンツを見つけ出すことが簡単または迅速にできない場合もある。ユーザが興味のあるコンテンツを容易に探し出せるようにするため、検索エンジンが開発された。標準的なインターネット検索エンジンは、ネットワーク上の電子文書にアクセスして、それを「読み取り」、Ｗｅｂサイト内の他の電子文書へのリンクをたどるクローラ（スパイダまたはボットとも呼ばれる）を含む。クローラは、変更がないか探すために、定期的にＷｅｂサイトに戻る。検索エンジンのもう１つの部分である索引は、クローラが見つけ出した電子文書に関する情報を格納する。１つまたは複数のユーザ指定の検索語に応答して、検索エンジンは、ユーザ指定の検索語に関連する電子文書を含むと検索エンジンが判別したネットワークロケーション（たとえば、ＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ））のリストおよびメタデータを返す。一部の検索エンジンは、情報のカテゴリ（たとえば、ニュース、Ｗｅｂ、画像など）、およびユーザが選択するためのそれらのカテゴリ内のカテゴリを提供して、ユーザは関心領域を絞り込むことができる。
【０００２】
検索エンジンソフトウェアは一般に、それらの計算された適合性に従ってサブミットされた検索要求を満たす電子文書をランク付けし、それらのランクに従って検索結果をユーザに表示する手段を提供する。通常の適合性ランク付けとは、所定のネットワークロケーションにおける電子文書がその他の電子文書と比較してユーザ指定の検索語に関連している尤度の相対推定値である。たとえば、標準的な検索エンジンは、電子文書内に特定の検索語が出現する回数に基づいて、または電子文書内のその配置（たとえば、タイトルに出現する語は、電子文書の最後に出現する語よりも重要であると見なされることが多い）などに基づいて、適合性ランク付けを提供することができる。リンク分析、アンカーテキスト分析、Ｗｅｂページ構造分析、重要語リストの使用、およびＵＲＬテキストは、Ｗｅｂページおよびその他のハイパーリンク文書をランク付けするためのその他の既知の技法である。
【０００３】
Ｗｅｂ上には多くの検索エンジンがあり、それらのエンジンの多くは、キーワード検索を実行することにより検索結果を提供する。一般に、キーワード検索は、検索クエリで指定されたキーワードおよびフレーズに関連する情報を有するＷｅｂサイトを見つけ出す。検索エンジンＷｅｂサイトは、ユーザがキーワードを入力するボックスと、押して検索を開始するボタンを有することができる。
【０００４】
最新の検索プロセスは、ユーザの意図される結果についての知識をもたらす可能性のある要因を考慮するのではなく、検索クエリ内の明示的なコマンドのみを考慮するように設計される。つまり、検索エンジンは、さまざまなユーザの必要性および状況とは無関係に、すべてのユーザに対して同様に動作する。したがって、２人のユーザが同一の検索クエリを入力した場合、ユーザの個々の関心および好みには関わりなく、両者は同一の結果を受け取る。
【０００５】
より個別化された検索結果を受け取るために、ユーザは、クエリのフォーマット設定に高度クエリ構文を使用することができる。たとえば、ユーザは、ユーザのお気に入りのＷｅｂサイトを指定するクエリを定義することができる。そのようなクエリを使用することで、検索結果は、指定されたＷｅｂサイトからの関連項目のみに限定されうる。Ｗｅｂサイトを定義するこのクエリの一部は、今後の使用に備えて検索マクロとして格納されうる。検索マクロは、ユーザの検索入力をさらに定義／変更する規則またはクエリ言語を含むことができる。しかし、そのような高度クエリ技法の使用は、多大な時間を要するおそれもあり、また一時的な検索エンジンユーザの能力を超える場合もある。
【発明の概要】
【０００６】
本発明は、ユーザの検索を個別化するためのシステムおよび方法を提供する。ユーザによって選択されたコンテンツのセットを示す情報が保持される。たとえば、この選択されたコンテンツは、Ｗｅｂページ、社会的接点、および／またはコンテンツフィードを含むことができる。この情報を使用することによって、検索マクロが生成される。検索クエリを定義するユーザ入力が受け取られ、検索クエリをさらに定義するために検索マクロが使用される。たとえば、検索マクロを使用して検索クエリを定義することにより、検索結果は、ユーザが選択したコンテンツに関連付けられた項目のみを含むことができる。
【０００７】
この［発明の概要］は、以下の発明を実施するための形態において説明される１つまたは複数の選ばれた概念を簡略化された形で読者に広く示すために提供されることに留意されたい。この［発明の概要］は、請求項に係る主題の重要および／または必須の特徴を識別することを意図されるものではなく、また請求項に係る主題の範囲を決定する際の補助として使用されることを意図されるものでもない。
【０００８】
本発明は、添付の図を参照して以下で詳細に説明される。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態の実施において使用に適した例示のネットワーク環境を示すブロック図である。
【図２】ユーザの検索を個別化するための本発明の１つの実施形態による方法を示す図である。
【図３】本発明の１つの実施形態による個別化検索を提供するためのシステムを示すブロック図である。
【図４】検索マクロを生成して使用するための本発明の１つの実施形態による方法を示す図である。
【図５】最新の検索マクロを保持するための本発明の１つの実施形態による方法を示す図である。
【発明を実施するための形態】
【００１０】
本発明の主題は、法定要件を満たすために限定性をもって説明される。ただし、説明自体は、本発明の範囲を限定することを意図されてはいない。むしろ、発明者は、他の現在または将来の技術と併せて、本明細書に説明されているステップと類似するさまざまなステップまたはステップの組み合わせを含めるように、請求項に係る主題が他の方法により具現されうることも考慮した。さらに、採用された方法のさまざまな要素を示すために本明細書において「ステップ」という用語が使用されうるが、この用語は、個々のステップの順序が明示的に記述される場合を除き、本明細書に開示されるさまざまなステップの間の特定の順序を含意するものとして解釈されるべきではない。
【００１１】
最初に図１を参照すると、特に、本発明を実施するための例示的なネットワーク環境が、ネットワーク環境１００として全体を通じて示され指定される。ネットワーク環境１００は、適切な環境の一例に過ぎず、本発明の使用または機能の範囲に関していかなる限定を意味することも意図されていない。また、ネットワーク環境１００は、示される要素のいずれか、または組み合わせに関連するいかなる依存関係または要件を有するものとして解釈されるべきではない。
【００１２】
本発明は、コンピュータまたは携帯情報端末もしくはその他のハンドヘルド装置などの他のマシンによって実行される、プログラムモジュールのようなコンピュータ実行可能命令を含む、コンピュータコードまたは機械使用可能命令の一般的なコンテキストに即して説明されうる。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラムモジュールとは、特定のタスクを実行するか、または特定の抽象データ型を実施するコードを示す。本発明は、ハンドヘルド装置、消費電化製品、汎用コンピュータ、専門コンピューティング装置、サーバなどを含む、さまざまなシステム構成において実施されうる。本発明はまた、タスクが、通信ネットワーク経由でリンクされるリモート処理装置によって実行される分散コンピューティング環境において実施することもできる。
【００１３】
ここで、図１を参照すると、クライアントコンピュータシステム１０２は、インターネット（またはワールドワイドウェブ）のような通信ネットワーク１０４に結合される。１つまたは複数のサーバは、情報を交換するためにインターネットで一般に使用されるプロトコルであるハイパーテキスト転送プロトコル（ＨＴＴＰ）などのプロトコルを使用して、ネットワーク１０４を介してクライアントコンピュータシステム１０２と通信する。示される実施形態において、フロントエンドサーバ１０６およびバックエンドサーバ１０８（たとえば、Ｗｅｂサーバまたはネットワークサーバ）は、ネットワーク１０４に結合される。クライアントコンピュータシステム１０２は、ネットワーク１０４、フロントエンドサーバ１０６、およびバックエンドサーバ１０８を用いて、たとえば、中央データ索引（索引）１１０に格納されたＷｅｂページデータにアクセスする。
【００１４】
本発明の実施形態は、ユーザ指定の検索要求（たとえば、検索クエリ）に応答して検索結果をユーザ１１２に表示できるようにすることにより、関連データの検索を提供する。１つの実施形態において、ユーザ１１２は、クライアントコンピュータシステム１０２を使用して、ユーザ１１２が関連する電子文書（たとえば、Ｗｅｂページ）を特定したいと考える特定の関心トピックに関する１つまたは複数の語を含む検索要求を入力する。たとえば、フロントエンドサーバ１０６は、クライアントコンピュータシステム１０２に応答して、ユーザ１１２を認証し、ユーザ１１２からの要求をバックエンドサーバ１０８にリダイレクトすることができる。
【００１５】
バックエンドサーバ１０８は、索引１１０を使用してサブミットされたクエリを処理することができる。このようにして、バックエンドサーバ１０８は、ユーザに関連する可能性のある電子文書のデータ（つまり、検索結果）を取り出すことができる。索引１１０は、インターネットを介して利用できるＷｅｂページのような電子文書に関する情報を含む。さらに、索引１１０は、場所（たとえば、リンク、またはＵＲＬ）、メタタグ、テキスト、および文書カテゴリなどの電子文書に関連付けられたさまざまなその他のデータを含むことができる。図１の例において、ネットワークは、検索結果を分配し、分配された検索結果をクライアントコンピュータシステム１０２経由でユーザ１１２に表示するというコンテキストで説明される。特に、フロントエンドサーバ１０６およびバックエンドサーバ１０８は、別個のコンポーネントとして説明されるが、単一のサーバが両方の機能を実行できることを理解されたい。
【００１６】
検索エンジンアプリケーション（アプリケーション）１１４は、クライアントコンピュータシステム１０２から受信された検索要求に応答して、Ｗｅｂページなど（つまり電子文書）を特定するために、バックエンドサーバ１０８によって実行される。さらに詳細には、アプリケーション１１４は、検索要求に含まれる１つまたは複数の語に対応する索引１１０から関連文書を特定し、クライアントコンピュータシステム１０２を介してユーザ１１２に表示されるべき最も関連するＷｅｂページを選択する。
【００１７】
環境１００はまた、ユーザ情報データストア１１６を含む。１つの実施形態において、ユーザ１１２に関連付けられたプロファイルおよびその他の情報は、ユーザ情報データストア１１６に格納されうる。たとえば、この情報は、お気に入りのＷｅｂサイト、連絡先、お気に入りのブログサイト、および／または購読されるコンテンツフィードを含むことができる。ユーザ１１２がＷｅｂポータルサイトにログインすると、データストア１１６内のユーザ情報は、個別化コンテンツをユーザに提示するために使用されうる。さらに、説明されるように、データストア１１６内のユーザ情報は、さらに個別化された検索を提供するように活用されうる。
【００１８】
図２は、ユーザの検索を個別化するための方法２００を示す。２０２において、ユーザによって選択されたコンテンツを示す情報がアクセスされる。１つの実施形態において、方法２００は、コンテンツポータルに関連付けられたユーザのアカウントに関して実行されうる。そのようなコンテンツポータルは一般に、ユーザが関心のあるコンテンツを定義できるようにする。たとえば、ユーザは、ユーザのお気に入りのＷｅｂサイトを示すリンクのセットを定義することができる。また、ユーザは、コンテンツフィードおよびブログサイトを購読することができる。もう１つの例として、ユーザは、インターネット上の他のユーザのセット（つまり、連絡先リスト）を定義することができる。当業者に明らかとなるように、ユーザは、そのユーザアカウントに関連付けられた多種多様なコンテンツを選択することができる。さらに、本発明は、Ｗｅｂベースのコンテンツを使用する実施形態に限定されることはなく、ユーザ選択のコンテンツを示す情報は、さまざまなプラットフォームにおいてさまざまな理由で格納されうる。
【００１９】
検索マクロは、２０４において、ユーザによって選択されたコンテンツを示す情報の少なくとも一部を使用することにより生成される。前述のように、検索マクロは、さまざまな検索結果をもたらすために、ユーザの検索入力をさらに定義／変更する規則またはクエリ構文を含むことができる。たとえば、検索マクロは、より個別化された／関連する検索結果を提供するように、ユーザの検索クエリと組み合わされる追加のクエリ言語を提供することができる。検索マクロは、ユーザが入力するには困難であるかまたは時間を要する可能性のある高度クエリ構文を含むことができる。そのようにして、検索マクロは、ユーザが、長いかまたは複雑な検索クエリの入力に膨大な時間を費やすことなく、その検索を効率的に絞り込むことができるようにする。
【００２０】
検索マクロを生成するため、ユーザ選択のコンテンツは、多種多様な方法で使用されうる。１つの実施形態において、ユーザは、自分のお気に入りのＷｅｂサイトを定義してある場合がある。この実施形態において、ユーザは、自分のお気に入りのサイトのみにわたって特定の検索を実行したいと望むことができ、マクロはこの目的で生成されうる。そのようなマクロは、実施される場合、検索をユーザのお気に入りのサイトのみに限定するオペレータを持つ検索クエリを増補することができる。したがって、この「ｍｙ  ｆａｖｏｒｉｔｅ  Ｗｅｂ  ｓｉｔｅ」マクロは、ユーザのお気に入りサイトの個別化検索を可能にすることができる。
【００２１】
もう１つの例として、「ｍｙ  ｓｏｃｉａｌ  ｎｅｔｗｏｒｋ」マクロは、ユーザに関連付けられた連絡先を使用することにより作成されうる。このマクロは、ユーザが各自のソーシャルネットワークに検索を限定する便利な方法を提供することができる。たとえば、ユーザは、その友人たちに関連付けられたＷｅｂサイト（たとえば、ブログ）を検索したいと望むこともできる。同様に、「ｍｙ  ｆａｖｏｒｉｔｅ  ｂｌｏｇｓ」マクロ、または「ｍｙ  ｆａｖｏｒｉｔｅ  ｆｅｅｄｓ」マクロは、ユーザが購読するブログ／フィードのセットにわたり検索するために使用されうる。これらの例を考慮して、また当業者によって理解されるように、２０２においてアクセスされる情報の種類に応じて、方法２００は、個別化検索のための検索マクロを生成するために、さまざまな方法でそのような情報を活用することができる。
【００２２】
２０６において、検索入力がユーザから受け取られる。１つの実施形態において、検索入力は、望ましいコンテンツを示すキーワードのセットである。前述のように、方法２００は、任意の数の検索プラットフォームと併せて実行されうる。たとえば、現在、多数のインターネット検索エンジンがあるが、ハードドライブおよびデータベースを検索するその他の検索ユーティリティも存在する。
【００２３】
ユーザは、サブミットされたクエリと共に検索マクロを使用するように選択することができる。たとえば、ユーザは、検索結果を自分のお気に入りのサイトからの結果に限定するために「ｆａｖｏｒｉｔｅ  Ｗｅｂ  ｓｉｔｅ」マクロを使用するように選択することができる。１つの実施形態において、そのようなマクロの選択は、検索インターフェイスで提示されるビジュアル要素を選択することによって行われる。
【００２４】
検索クエリおよび検索マクロの使用要求を受け取ると、２０８において、検索クエリが再定義される。たとえば、検索マクロは、（高度クエリ構文に従ってフォーマットされたテキストを含む）追加のクエリテキストを含むことができる。クエリパーサは、ユーザが入力した検索語と共に処理するためのマクロのクエリテキストを受け取ることができる。次いで、ユーザ入力およびマクロによって定義されたクエリは、解析されて、検索結果を配置するために使用されうる。それに応じて、検索結果は部分的に検索マクロによって定義され、検索結果はマクロによって定義されたコンテンツを反映する。
【００２５】
図３は、個別化検索を提供するためのシステム３００を示す。システム３００は、通信ネットワーク３０４と通信するユーザコンピュータシステム３０２を含む。ネットワーク３０４は、任意の数のパブリックおよび／またはプライベートネットワークを含むことができるが、ユーザコンピュータシステム３０２とネットワーク３０４間の通信は有線および／または無線接続を使用することができる。ユーザコンピュータシステム３０２は、ネットワーク３０４と通信することができる任意の数のコンピュータシステムのうちの１つであってもよい。たとえば、ユーザコンピュータシステム３０２は、デスクトップまたはラップトップコンピュータであってもよい。ユーザコンピュータシステム３０２はまた、モバイル装置および／またはハンドヘルド装置（たとえば、携帯電話または携帯情報端末）であってもよい。１つの実施形態において、ユーザコンピュータシステム３０２は、ユーザが、インターネットを介して使用可能なコンテンツおよびＷｅｂサイトを表示できるようにするインターネットブラウザアプリケーションを提供する。
【００２６】
システム３００はまた、リモートコンピュータシステム３０６を含む。図３はリモートコンピュータシステム３０６を単一のエンティティとして示すが、リモートコンピュータシステム３０６はさまざまなコンピューティング装置を含むことができることに留意されたい。そのようなものとして、リモートコンピュータシステム３０６は、図３に示される単一要素ではなく、コンピューティング装置の分散されたセットであってもよい。１つの実施形態において、リモートコンピュータシステム３０６は、コンテンツポータルのようなＷｅｂサイトを提供することができる。
【００２７】
リモートコンピュータシステム３０６は、ユーザによって選択されたコンテンツを示す情報を格納するユーザ情報データストア３０８を含む。たとえば、データストア３０２は、ユーザアカウントに関連付けられたコンテンツを格納することができる。そのようなコンテンツは、さまざまなプラットフォームにおいてさまざまな理由で格納されうる。たとえば、ユーザは、自分のお気に入りのＷｅｂページ、ブログ、コンテンツフィード、および社会的接点を定義することができる。これらの選択は、ユーザ情報データストア３０８に格納されうる。加えて、ユーザの検索履歴、ブラウズ履歴、およびその他のアクティビティを示すコンテンツは、データストア３０８に格納されうる。実際に、ユーザに関連する多種多様なコンテンツは、システム３０６によってデータストア３０８に格納されうる。
【００２８】
検索コンポーネント３１０はまた、リモートコンピュータシステム３０６に含まれる。検索コンポーネントは、インターネットまたはその他の媒体の検索を可能にするさまざまな機能を提供することができる。１つの実施形態において、検索コンポーネント３１０は、インターネット検索エンジンに関連付けられる。この実施形態において、コンピュータシステム３０２のユーザは、検索コンポーネント３１０による処理のために通信ネットワーク３０４にわたりクエリとしてキーワードをサブミットすることができる。このユーザクエリに応答して、検索コンポーネント３１０は、サブミットされたキーワードに関連があると特定されたＷｅｂページを示す検索結果を返すことができる。
【００２９】
リモートコンピュータシステム３０６はまた、マクロデータストア３１２を含む。マクロデータストア３１２は、システム３００のユーザに関連付けられた検索マクロを格納することができる。そのようなマクロについては上記で説明されており、そのようなさまざまなマクロはデータストア３１２に格納されうる。ユーザがマクロの使用を要求すると、要求されたマクロは、ユーザ定義の検索クエリと共に処理するために検索コンポーネント３１０にサブミットされうる。
【００３０】
マクロを生成するために、コンピュータシステム３０６はマクロ生成コンポーネント３１４を含む。マクロ生成コンポーネント３１４は、ユーザ情報データストア３０８に格納された情報にアクセスすることによりマクロを生成するように構成されうる。１つの実施形態において、ユーザは、マクロ生成コンポーネント３１４によってマクロが自動的に生成されるオプションを提示されうる。たとえば、マクロは、検索結果を、ユーザのお気に入りのサイトとしてデータストア３０８内で定義されたＷｅｂサイト上で検出されたヒットに限定することができる。そのようなマクロが作成されることになるユーザ選択が受け取られると、マクロ生成コンポーネント３１４は、データストア３０８内のお気に入りＷｅｂサイト情報にアクセスして、マクロを生成することができる。マクロ生成コンポーネント３１４は、マクロが使用される場合、検索コンポーネント３１０によって解析されるべきクエリテキストを生成することができる。マクロ生成コンポーネント３１４がマクロを完了した後、マクロはマクロデータストア３１２に格納される。１つの実施形態において、ユーザは、検索要求を入力すると、選択のために各自の保存されたマクロのリストを提示される。
【００３１】
時間の経過に伴って、ユーザ情報データストア３０８内の情報は変化することがある。たとえば、ユーザは、自分の「ｆａｖｏｒｉｔｅｓ」にＷｅｂサイトを追加および／または削除することができる。ユーザ情報データストア３０８内のそのような変更は、ユーザ情報の現在の状態を反映するように、関連するマクロが更新されることを要求することができる。「ｍｙ  ｆａｖｏｒｉｔｅ  Ｗｅｂ  ｓｉｔｅ」マクロの例に戻ると、ユーザは、お気に入りとしてどのサイトが格納されるかを頻繁に変更することができ、「ｍｙ  ｆａｖｏｒｉｔｅ  Ｗｅｂ  ｓｉｔｅ」マクロを最新の状態にしておきたいと望むことができる。マクロを更新するために、マクロ生成コンポーネント３１４は、更新コンポーネント３１６を含む。この更新コンポーネント３１６は、さまざまなマクロを多種多様な方法で最新の状態に保つことができる。１つの実施形態において、マクロが検索で使用されるごとに、更新コンポーネント３１６は、リアルタイムで、データ整合性を確認するためにユーザ情報データストア３０８にアクセスすることができる。もう１つの実施形態において、ユーザ情報データストア３０８内の情報とマクロとの間にはリンクが存在することができる。この実施形態において、更新コンポーネント３１６は、情報データストア３０８内の情報に変更が生じた場合に通知されうる。そのような通知に応答して、更新コンポーネント３１６は、新しいユーザ情報を反映するように、リンクされたマクロを更新することができる。
【００３２】
図４は、検索マクロを生成して使用するための方法４００を示す。４０２において、コンテンツ選択がユーザから受け取られる。多岐にわたるコンテンツが、任意の数のさまざまなインターフェイスを介してユーザによって選択されうる。たとえば、ユーザは、コンテンツのセットを明示的に定義することができる。代替として、コンテンツ選択は、ユーザのアクションから暗示されてもよい。１つの実施形態において、ユーザは、さまざまなソースからのコンテンツが特定されて選択されうるＷｅｂベースのインターフェイスを提供される。
【００３３】
４０４において、検索マクロの作成要求が受け取られる。前述のように、検索マクロは、ユーザの検索入力をさらに定義／変更する規則またはクエリ構文を含むことができる。たとえば、ユーザは、前述の「ｍｙ  ｆａｖｏｒｉｔｅ  Ｗｅｂ  ｓｉｔｅｓ」マクロが作成されるよう要求することができる。１つの実施形態において、ユーザは、さまざまなマクロのオプションが提示されるインターフェイスを（たとえばＷｅｂページを介して）提示されうる。たとえば、ユーザは、検索クエリの結果を、選択されたコンテンツの項目に関連付けられたコンテンツに限定するマクロを作成するオプションを提示されうる。１つの実施形態において、ユーザは、同時に複数のマクロの作成（たとえば、異なるコンテンツソースに関連付けられたマクロ）を許可することができる。
【００３４】
４０６において、４０４において受け取られた要求に応答して検索マクロが生成される。たとえば、マクロは、サードパーティサーバからのコンテンツまたはクライアントからのコンテンツ（たとえば、ブラウザ履歴またはユーザのコンピュータに格納されたＯＰＭＬファイルから）を使用して自動的に作成されうる。１つの実施形態において、マクロは、検索クエリ構文に従ってテキストを定義することができる。この場合、マクロの作成は、自動的にそのようなテキストを生成することを伴うことができる。
【００３５】
４０８において、検索入力が受け取られる。たとえば、インターネット検索エンジンは、ユーザが検索語を入力できるユーザインターフェイスを提供することができる。代替として、ローカルまたはリモートのデータストアに関連付けられた検索ユーティリティは、そのようなインターフェイスを提供することができる。検索入力を入力することに加えて、ユーザは、検索マクロが検索クエリに適用されるよう求める要望を示すことができる。
【００３６】
４１０において、検索クエリは、検索マクロおよび検索入力の両方により定義される。１つの実施形態において、検索クエリパーサは、検索マクロおよび検索入力の両方を使用して検索クエリを定義する。検索クエリを使用して、４１２において、データストアは検索される。続いて、４１４において、クエリ実行の結果がユーザに提示されうる。たとえば、「ｍｙ  ｆａｖｏｒｉｔｅ  Ｗｅｂ  ｓｉｔｅ」マクロが使用された場合、検索結果はユーザに選択されたＷｅｂサイトからのヒットのみを含むことができる。１つの実施形態において、マクロからの情報は、ユーザが明示的にマクロを選択する必要なく検索結果を自動的に再配列／変更するために使用されうる。
【００３７】
図５は、最新の検索マクロを保持するための方法５００を示す。５０２において、検索マクロが生成される。１つの実施形態において、検索マクロは、ユーザによって選択されたコンテンツのセットに関連付けられうる。選択されたコンテンツを定義する情報は、マクロを生成するためにアクセスされうる。そのような情報はまた、検索マクロの存在を記録することもできる。時間の経過に伴って、検索マクロを生成するために使用される情報は変化することがある。たとえば、検索マクロがユーザによって選択されたＷｅｂサイトのセットに関連付けられている場合、ユーザはそのようなサイトをセットに追加するかまたはセットから削除することができる。
【００３８】
５０２において、検索マクロを生成するために使用される情報の変更に関する通知が受け取られる。たとえば、ユーザが選択したコンテンツを変更する場合、このコンテンツと共に格納されたリンク情報は、そのような変更に応答して通知が提供されることを要求することができる。
【００３９】
５０６において、検索マクロは、変更に応答して修正される。たとえば、ユーザは、コンテンツの追加項目を、自分の選択したコンテンツのセットに追加することができる。それに応じて、検索マクロは、選択されたコンテンツ内のこの変更を反映するように修正される。続いて、５０８において、検索マクロは検索クエリと共に使用される。当業者に理解されるように、方法５００は、検索マクロが、ユーザ選択のコンテンツの変更にも関わらず最新の状態を保持することができるようにする。
【００４０】
本発明の代替の実施形態および実施態様は、図面を含む明細書を検討すれば、関連技術の当業者に明らかとなろう。したがって、本発明の範囲は、上記の説明ではなく添付の特許請求の範囲によって定義される。
【図１】
2010508579.tif 000003
【図２】
2010508579.tif 000004
【図３】
2010508579.tif 000005
【図４】
2010508579.tif 000006
【図５】
2010508579.tif 000007
【国際調査報告】
2010508579.tif 000008
2010508579.tif 000009