(57)【特許請求の範囲】
【請求項１】
コンピュータ装置で、検索サービスのユーザから検索クエリを受け取るステップと、
前記コンピュータ装置を使用して、前記検索クエリに応答する全般的な検索結果と、前記ユーザに関するユーザのソーシャルグラフの1人または複数のメンバによって生成されたコンテンツに関連する、前記検索クエリに応答するソーシャル検索結果とを含む検索結果を識別するステップであって、前記検索結果が、1つまたは複数のコンピュータ可読記憶媒体に格納されたデジタルコンテンツに対応するステップと、
第1のソーシャル検索結果が、前記ユーザのソーシャルグラフのメンバである第1のミュートされたメンバに関するものであると決定するステップと、
前記ソーシャル検索結果が前記第1のミュートされたメンバに関するものであると決定したことに応答して、フィルタリングされた検索結果を生成するステップと、
前記ユーザに対して表示するように前記フィルタリングされた検索結果をもたらすステップとを含む、コンピュータで実施される方法であって、
前記フィルタリングされた検索結果が、前記フィルタリングされた検索結果にソーシャル検索結果がないことを示すミュートアノテーションを含む、方法。
【請求項２】
前記コンピュータ装置で、前記ユーザに関連する識別子を受け取るステップと、
前記識別子に基づいてコンピュータ可読記憶装置から、コンタクトのインデックスおよびフィルタのインデックスを含むユーザプロファイルのデータを取得するステップとをさらに含む請求項1に記載の方法。
【請求項３】
ユーザプロファイルのデータを取得するステップが、前記検索クエリを受け取ったことに応答して行われる請求項2に記載の方法。
【請求項４】
前記コンタクトのインデックスが、前記ユーザのソーシャルグラフのメンバのリストを与える請求項2に記載の方法。
【請求項５】
前記ユーザのソーシャルグラフの各メンバが、前記ユーザから2以上の別個の分離度にある請求項4に記載の方法。
【請求項６】
前記フィルタのインデックスがミュートされたメンバのリストをもたらし、前記ミュートされたメンバのそれぞれが前記ユーザのソーシャルグラフのメンバである請求項2に記載の方法。
【請求項７】
前記コンピュータ装置で、前記ユーザのソーシャルグラフの選択されたメンバをミュートするコマンドを示すユーザ入力を受け取るステップと、
前記ユーザ入力を受け取ったことに応答して、前記選択されたメンバを、前記ユーザに関連するフィルタのインデックスへ第2のミュートされたメンバとして追加するステップとをさらに含む請求項1に記載の方法。
【請求項８】
前記フィルタリングされた検索結果から、前記第2のミュートされたメンバに関連する第2のソーシャル検索結果を除去して、修正済のフィルタリングされた検索結果をもたらすステップと、
前記ユーザに対して表示するように前記修正済みのフィルタリングされた検索結果をもたらすステップとをさらに含む請求項7に記載の方法。
【請求項９】
前記コンピュータ装置で、前記第1のミュートされたメンバのミュート解除のコマンドを示すユーザ入力を受け取るステップと、
前記ユーザ入力を受け取ったことに応答して、前記ユーザに関連するフィルタのインデックスから前記第1のミュートされたメンバを除去するステップとをさらに含む請求項1に記載の方法。
【請求項１０】
前記第1のソーシャル検索結果を前記フィルタリングされた検索結果に追加して、修正済のフィルタリングされた検索結果をもたらすステップと、
前記ユーザに対して表示するように前記修正済みのフィルタリングされた検索結果をもたらすステップとをさらに含む請求項9に記載の方法。
【請求項１１】
前記第1のソーシャル検索結果が、全般的な検索結果に関連するソーシャルアノテーションを含み、前記ソーシャルアノテーションが、前記第1のミュートされたメンバが前記全般的な検索結果とともに表示されたときには前記全般的な検索結果を共有していることを示す請求項1に記載の方法。
【請求項１２】
前記第1のソーシャル検索結果が、前記第1のミュートされたメンバによって共有されているデジタルコンテンツを含む請求項1に記載の方法。
【請求項１３】
前記デジタルコンテンツが、デジタル画像、デジタル映像およびテキストのうち少なくとも1つを含む請求項12に記載の方法。
【請求項１４】
前記第1のソーシャル検索結果が、特定の検索結果に対するソーシャルアノテーションを含み、前記フィルタリングされた検索結果に前記ソーシャルアノテーションがなく、前記フィルタリングされた検索結果には前記特定の検索結果が存在する請求項1に記載の方法。
【請求項１５】
命令を含むコンピュータプログラムで符号化されたコンピュータの記憶媒体であって、1つまたは複数のコンピュータが、前記命令を実行したとき、
検索サービスのユーザから検索クエリを受け取るステップと、
前記検索クエリに応答する全般的な検索結果と、前記ユーザに関するユーザのソーシャルグラフの1人または複数のメンバによって生成されたコンテンツに関連する、前記検索クエリに応答するソーシャル検索結果とを含む検索結果を識別するステップであって、前記検索結果が、1つまたは複数のコンピュータ可読記憶媒体に格納されたデジタルコンテンツに対応するステップと、
第1のソーシャル検索結果が、前記ユーザのソーシャルグラフのメンバである第1のミュートされたメンバに関するものであると決定するステップと、
前記ソーシャル検索結果が前記第1のミュートされたメンバに関するものであると決定したことに応答して、フィルタリングされた検索結果を生成するステップと、
前記ユーザに対して表示するように前記フィルタリングされた検索結果をもたらすステップとを含む操作を実施する、コンピュータの記憶媒体であって、
前記フィルタリングされた検索結果が、前記フィルタリングされた検索結果にソーシャル検索結果がないことを示すミュートアノテーションを含む、記憶媒体。
【請求項１６】
コンピュータ装置と、
前記1つまたは複数のコンピュータに結合され、命令を格納しているコンピュータ可読記憶媒体であって、前記1つまたは複数のコンピュータが、前記命令を実行したとき、
検索サービスのユーザから検索クエリを受け取るステップと、
前記検索クエリに応答する全般的な検索結果と、前記ユーザに関するユーザのソーシャルグラフの1人または複数のメンバによって生成されたコンテンツに関連する、前記検索クエリに応答するソーシャル検索結果とを含む検索結果を識別するステップであって、前記検索結果が、1つまたは複数のコンピュータ可読記憶媒体に格納されたデジタルコンテンツに対応するステップと、
第1のソーシャル検索結果が、前記ユーザのソーシャルグラフのメンバである第1のミュートされたメンバに関するものであると決定するステップと、
前記ソーシャル検索結果が前記第1のミュートされたメンバに関するものであると決定したことに応答して、フィルタリングされた検索結果を生成するステップと、
前記ユーザに対して表示するように前記フィルタリングされた検索結果をもたらすステップとを含む操作を実施するコンピュータ可読記憶媒体とを備えるシステムであって、
前記フィルタリングされた検索結果が、前記フィルタリングされた検索結果にソーシャル検索結果がないことを示すミュートアノテーションを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によってその開示が本明細書に組み込まれている、2011年8月5日に出願した「FILTERING SOCIAL SEARCH RESULTS」という名称の米国仮出願第13/204,155号の優先権を主張するものである。
【０００２】
本開示は検索に関するものである。
【背景技術】
【０００３】
検索エンジンは、ユーザのニーズに関連するリソース(例えば画像、音声、動画像、ウェブページ、テキスト、ドキュメント)を識別し、そのリソースに関する情報をユーザにとって最も役に立つように提示することを目的とする。検索エンジンは、ユーザが提示したテキストクエリに応答して1組の検索結果を返す。例えば、画像検索のテキストクエリに応答して、検索エンジンは、クエリに応答するリソースを識別する1組の検索結果を返す。
【０００４】
所与のクエリに対して多数の検索結果が返されることがある。したがって、検索するユーザに最も関連する結果、または検索するユーザが安心して頼れる助言を与えてくれる結果を検索するユーザが選択することが困難になることがある。検索するユーザは、検索するユーザのソーシャルグラフ(例えばユーザのコンタクト)および/または他のユーザに関連する論評、見解、または他のコンテンツに関連する検索結果を、より重視することがある。しかし、これらの検索結果は、他のユーザに関連するコンテンツによってあいまいになることがある。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書は、検索に関する技術を説明するものである。
【０００６】
ユーザのソーシャルグラフは、ユーザに対して、指定された分離度の範囲内の関係があると識別されたコネクション(例えばユーザまたはリソース)の集まりを含む。ユーザのソーシャルグラフは、ユーザのソーシャルグラフの1人または複数のメンバに関連するクエリに応答する検索結果を識別するのに用いることができる。検索結果は、ユーザの関心がないと思われる、ユーザのソーシャルグラフの1人または複数のメンバに関連する検索結果を除外するようにフィルタリングすることができる。
【０００７】
一般に、本明細書で説明される主題の一態様は、検索サービスのユーザから検索クエリを受け取るステップと、検索クエリに応答する全般的な検索結果と、ユーザに関するユーザのソーシャルグラフの1人または複数のメンバによって生成されたコンテンツに関連する、検索クエリに応答するソーシャル検索結果とを含む検索結果を識別するステップであって、検索結果が、1つまたは複数のコンピュータ可読記憶媒体に格納されたデジタルコンテンツに対応するステップと、第1のソーシャル検索結果が、ユーザのソーシャルグラフのメンバである第1のミュートされたメンバに関するものであると決定するステップと、ソーシャル検索結果が第1のミュートされたメンバに関するものであると決定したことに応答して、フィルタリングされた検索結果を生成するステップと、ユーザに対して表示するように、フィルタリングされた検索結果をもたらすステップとのアクションを含む方法で実施することができる。この態様の他の実施形態は、対応するシステム、装置、およびコンピュータプログラム製品を含む。
【０００８】
これらおよび他の実施形態には、任意選択で、アクションが、ユーザに関連する識別子を受け取るステップと、識別子に基づいてコンピュータ可読記憶装置からユーザプロファイルのデータを取得するステップであって、ユーザプロファイルのデータが、コンタクトのインデックスおよびフィルタのインデックスを含むステップとをさらに含み、ユーザプロファイルのデータを取得するステップが、検索クエリを受け取ったことに応答して行われ、コンタクトのインデックスが、ユーザのソーシャルグラフのメンバのリストをもたらし、ユーザのソーシャルグラフの各メンバが、ユーザから2以上の別個の分離度にあり、フィルタのインデックスがミュートされたメンバのリストをもたらし、ミュートされたメンバのそれぞれがユーザのソーシャルグラフのメンバであり、アクションが、ユーザのソーシャルグラフの選択されたメンバをミュートするコマンドを示すユーザ入力を受け取るステップと、ユーザ入力を受け取ったことに応答して、選択されたメンバを、ユーザに関連するフィルタのインデックスへ第2のミュートされたメンバとして追加するステップとをさらに含み、アクションが、フィルタリングされた検索結果から、第2のミュートされたメンバに関連する第2のソーシャル検索結果を除去して、修正済のフィルタリングされた検索結果をもたらすステップと、ユーザに対して表示するための修正済のフィルタリングされた検索結果を用意するステップとをさらに含み、アクションが、第1のミュートされたメンバのミュート解除のコマンドを示すユーザ入力を受け取るステップと、ユーザ入力を受け取ったことに応答して、ユーザに関連するフィルタのインデックスから第1のミュートされたメンバを除去するステップとをさらに含み、アクションが、第1のソーシャル検索結果をフィルタリングされた検索結果に追加して、修正済のフィルタリングされた検索結果をもたらすステップと、ユーザに対して表示するための修正済のフィルタリングされた検索結果を用意するステップとをさらに含み、フィルタリングされた検索結果が、フィルタリングされた検索結果にソーシャル検索結果がないことを示すミュートアノテーションを含み、第1のソーシャル検索結果が、全般的な検索結果に関連するソーシャルアノテーションを含み、ソーシャルアノテーションが、第1のミュートされたメンバが全般的な検索結果とともに表示されたときには全般的な検索結果を共有していることを示し、第1のソーシャル検索結果が、第1のミュートされたメンバによって共有されているデジタルコンテンツを含み、デジタルコンテンツが、デジタル画像、デジタル映像およびテキストのうち少なくとも1つを含み、第1のソーシャル検索結果が、特定の検索結果に対するソーシャルアノテーションを含み、フィルタリングされた検索結果にソーシャルアノテーションがなく、フィルタリングされた検索結果には特定の検索結果が存在する、といった特徴の1つまたは複数が含まれ得る。
【０００９】
本発明の特定の実施形態は、以下の利点の1つまたは複数を実現するために実施され得る。ユーザの検索経験を改善し、またユーザのソーシャルグラフに関連するコンテンツを、ユーザに対してより明らかにし、よりアクセス可能にするように、ユーザのソーシャルグラフを用いて検索結果を改良することができる。検索結果は、ユーザのソーシャルグラフの1人または複数のメンバに対応する検索結果を除去するようにフィルタリングすることができる。検索結果は、あらかじめフィルタリングされているはずの1つまたは複数のユーザのソーシャルグラフのメンバに対応する検索結果を含むように、メンバ毎の基準でフィルタリングなしにすることができる。このようにして、本開示により、ユーザの検索のコンテキストの範囲内のコンタクトをミュートすることが可能になる。
【００１０】
本発明の1つまたは複数の実施形態の詳細が、添付図面および以下の説明に示される。本発明の他の特徴、態様、および利点が、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】ソーシャルグラフ情報の例示的ソースの図である。
【図２】ソーシャルグラフ情報を用いる例示的方法の流れ図である。
【図３】ソーシャルグラフ情報を含む検索結果を示すための例示的方法の流れ図である。
【図４Ａ】ユーザのソーシャルグラフと関連した検索結果を含む例示的検索結果のページを示す図である。
【図４Ｂ】ユーザのソーシャルグラフに基づく検索結果をフィルタリングするための例示的インターフェースを含む図4Aの例示的検索結果のページを示す図である。
【図５】例示的フィルタリングが適用された図4Aおよび図4Bの例示的検索結果のページに対応する、例示の強化された検索結果のページを示す図である。
【図６】ユーザのソーシャルグラフに基づいて検索結果をフィルタリングするのに用いることができる例示的コンポーネントを示す図である。
【図７】検索結果をフィルタリングする例示的方法の流れ図である。
【図８】ユーザのソーシャルグラフに基づいてフィルタリングするべき検索結果を識別する例示的方法の流れ図である。
【発明を実施するための形態】
【００１２】
様々な図面における同じ番号および名称は同じ要素を示す。
【００１３】
本明細書の態様は、ソーシャル信号に基づいた検索結果のフィルタリングを対象とする。いくつかの実例では、ユーザのソーシャルグラフに基づいて検索結果をフィルタリングすることができる。本明細書の態様によれば、検索するユーザは、1人または複数の他のユーザを識別することができ、検索結果は、こういった1人または複数の他のユーザ向けにフィルタリングされることになっている。いくつかの実例では、1人または複数の他のユーザは、検索するユーザのソーシャルグラフのメンバを含むことができる。いくつかの実例では、検索するユーザによって与えられた検索クエリに基づいて検索結果を求めることができる。検索結果がソーシャル検索結果を含んでいるかどうか判定することができる。ソーシャル検索結果は、1人または複数のユーザによって生成されたデータを含むことができる。1人または複数のユーザは、検索するユーザのソーシャルグラフのメンバを含むことができる。ソーシャル検索結果が、ミュートされたユーザに対応しているかどうか、そうでなければ検索するユーザによってフィルタリングされているかどうか、判定することができる。検索結果がミュートされたユーザに対応していれば、検索結果と関連したソーシャルアノテーションは、検索するユーザに表示されない。このようにして、本開示により、検索するユーザの検索のコンテキストの範囲内のコンタクトを選択的にミュートすることが可能になる。
【００１４】
本明細書で用いられたとき、ソーシャルグラフは、単一のソーシャルグラフまたは複数の相互接続されたソーシャルグラフを指すことができる。ユーザが有する別々のタイプのコネクションに対して別個のソーシャルグラフを生成することができる。例えば、ユーザは、1つのソーシャルグラフの中のチャットコンタクト、第2のソーシャルグラフの中の電子メールコンタクト、および第3のソーシャルグラフの中の特定のソーシャルネットワーキングサービスからのコネクション(またはコンタクト)と接続することができる。各ソーシャルグラフは、ユーザからのより高い分離度で、追加の個人またはエンティティへのエッジを含むことができる。これらのコンタクトは、次にユーザからの別の分離度で追加のコンタクトを有することができる。次いで、同様に、特定のソーシャルネットワークの中のある人へのユーザのコネクションは、その人のコネクションに基づく新たなコネクションを識別するのに用いることができる。別個のソーシャルグラフが、1つまたは複数のソーシャルグラフを1つまたは複数の他のソーシャルグラフに接続するエッジを含むことができる。
【００１５】
コネクションおよびソーシャルグラフのタイプは、それだけではないが、ユーザが直接接触する(例えばユーザメール、チャットコンタクト、ソーシャルサイトに直接接触する)他のユーザ、およびユーザが間接的に接触するユーザ(例えば友人の友人、およびユーザへの直接コネクションを有するユーザのコネクション)を含むことができる。いくつかの実装形態では、ソーシャルグラフは、ユーザへのコネクションとして個人が生成したコンテンツ(例えばブログの投稿、論評)を含む。ソーシャルグラフは、単一のネットワークの範囲内のコネクション、または(分離可能な、もしくは一体型の)複数のネットワークにわたるコネクションを含むことができる。公開のソーシャルグラフの関係も考慮に入れることができる。いくつかの実例では、公開のプロファイルおよび/または公開のソーシャルネットワーキングサービスによって公開の関係を確立することができる。
【００１６】
図1は、ソーシャルグラフ情報の例示的ソースの図100である。ユーザのソーシャルグラフは、ユーザに対して、指定された分離度の範囲内の関係があると識別されたコネクション(例えばユーザ、リソース)の集まりである。ユーザのソーシャルグラフは、人および特定のコンテンツを別々の分離度で含むことができる。例えば、ユーザのソーシャルグラフには、友人、友人の友人(例えばユーザによって定義されたソーシャルグラフのサイトまたは他のメトリック)、ユーザのソーシャルサークル、ユーザが興味を持って見ている人(people followed by the user)(例えば購読しているブログ、フィード(feeds)、またはウェブサイト)、同僚、およびユーザが興味を持っている他の特別に識別されたコンテンツ(例えば特定のウェブサイト)が含まれ得る。
【００１７】
図100は、ユーザと、ユーザのソーシャルグラフを人およびコンテンツへ拡張する例示的コネクションとを示しており、人およびコンテンツは、どちらもあるシステムの内部にあって、1つまたは複数の外部ネットワークにまたがり、別々の分離度で示されている。例えば、ユーザが有することができるプロファイルまたはコンタクトのリストには、1組の識別された友人、外部リソース(例えばウェブページ)への1組のリンク、およびシステム(例えば電子メール、チャット、動画、写真アルバム、フィード、またはブログを含む種々のコンテンツおよびアプリケーションを提供するシステム)のコンテンツの購読が含まれる。これらのグループのそれぞれが、他のユーザまたはリソースに対して、ユーザから別の分離度で接続することができる。例えば、ユーザの友人のそれぞれが、リソースならびにそれぞれの友人の友人へのリンクを含んでいる独自のプロファイルを有する。指定数の範囲内の分離度のユーザへのコネクションを、ユーザのソーシャルグラフと見なすことができる。いくつかの実装形態では、ユーザは、ユーザのソーシャルグラフを求めるのに用いられる分離度の数を指定することができる。いくつかの実装形態では、分離度のデフォルト数が用いられる。その上、例えばコネクションのタイプに基づく、分離度の動的な数を用いることができる。
【００１８】
いくつかの実装形態では、ソーシャルグラフの会員資格および分離度は相互作用の頻度を含む他の要因に基づくものである。例えばユーザによる相互作用の頻度(例えばユーザが特定のソーシャルグラフサイトを訪れる頻度)または相互作用のタイプ(例えば友人に関連する項目を支持するかまたは選択すること)がある。相互作用が変化するとき、ソーシャルグラフの中の特定のコンタクトの関係も動的に変化することができる。したがって、ソーシャルグラフは静的というよりむしろ動的であり得る。
【００１９】
いくつかの実装形態では、ソーシャルグラフに対して(例えば、ソーシャルグラフにおけるコネクション間の重み付きエッジまたは他の重みを用いて)ソーシャル信号を階層化することができる。これらの信号は、例えば相互作用の頻度またはユーザと特定のコネクションの間の相互作用のタイプであり、次いで、実際のソーシャルグラフのコネクションを修正することなく1つまたは複数のソーシャルグラフ(social graph or social graphs)の中の特定のコネクションに重み付けするのに用いることができる。これらの重みは、ユーザとの相互作用が変化するとき変化し得る。
【００２０】
図2は、ソーシャルグラフ情報を用いる例示的方法200の流れ図である。便宜上、方法200は、方法200を実施する1つまたは複数のコンピュータ装置を含むシステムに関して説明されることになる。
【００２１】
このシステムはユーザを識別する(202)。ユーザは、例えばシステムに関連するユーザプロファイルに基づいて識別され得る。ユーザプロファイルは、例えばユーザがユーザ名、電子メールアドレス、または他の識別子を用いてシステムにログインするとき識別され得る。
【００２２】
このシステムはユーザのソーシャルグラフを求める(204)。ユーザのソーシャルグラフが識別するのは、例えばユーザに関連する、ユーザが関心を示した人およびリソースである。いくつかの実装形態では、ソーシャルグラフは、ユーザからの指定された数の分離度またはユーザとの特定の関係もしくは相互作用のタイプに制限されている。いくつかの実装形態では、ユーザのソーシャルグラフは別のシステムによって生成され、要求に応じて供給される。いくつかの実例では、ユーザのソーシャルグラフの各メンバを識別し、ユーザおよびメンバを接続する（例えば電子メールのコンタクト、ソーシャルネットワーキングのコンタクトなどの）1つまたは複数のサービスを示すインデックスとして、ユーザのソーシャルグラフを用意することができる。
【００２３】
いくつかの実装形態では、ユーザのソーシャルグラフは、ユーザプロファイルのデータを用いて求められ、ユーザおよびユーザプロファイルのデータで識別されたリソースから情報を抽出することによっても求められる。例えば、ユーザプロファイルは、ユーザの友人のリストを含むことができる。ユーザの友人には、システムの範囲内の(例えばシステムの系列の同じ電子メールまたはチャットサービスを利用する)友人、またはシステムの外部(例えばサードパーティのアプリケーションまたはサービスプロバイダに関連するソーシャルグラフまたはコンタクトのリスト)の友人が含まれ得る。ユーザプロファイルは、ユーザが属する購読のリスト(例えば特定のブログまたはフィードといった、例えばユーザが興味を持って見ているコンテンツを識別する)も含むことができる。
【００２４】
ユーザプロファイルは、ユーザによって識別された外部リンクも含むことができる。これらのリンクは、興味のある特定のコンテンツを識別することができる。いくつかの実装形態では、ユーザプロファイルは、ユーザによって用いられる他の別名も(例えば特定のコンテンツのプロバイダまたはソーシャルグラフのソースに関連すると)識別する。例えば、ユーザは、チャットアプリケーション用の第1の識別情報およびレストラン論評ウェブサイト用の第2の識別情報を有してもよい。これら2つの識別情報は、そのユーザと関連したコンテンツを統一するために互いにリンクすることができる。
【００２５】
ソーシャルグラフは、ユーザプロファイルの中の識別された人およびコンテンツから情報を抽出することによってさらに拡張することができる。例えば、識別された友人に関して公開のプロファイル情報が存在し得て、ここから情報(例えば彼らの友人、リンク、および購読)を抽出することができる。いくつかの実装形態では、ユーザは、ソーシャルグラフのメンバを直接調整することができる。例えば、ユーザは、ユーザのソーシャルグラフを構築する際に、自分のコンタクト(例えば電子メールのコンタクト)を、システムによってアクセスされる特定のグループへとグループ化することができる。
【００２６】
同様に、ユーザは、例えば、オプトアウトオプションによって、またはシステムがソーシャルグラフを生成するのに用いる特定のグループとコンタクトしないことによって、システムがユーザのソーシャルグラフにメンバを追加するのを防ぐこともできる。他のいくつかの実装形態では、プライバシー機能により、ユーザは、他人のソーシャルグラフのメンバとして含まれる(またはユーザが既に含まれている場合に削除される)のを可能にするオプトインオプションまたはそれを防止するオプトアウトオプションを提供される。したがって、ユーザは、ソーシャルグラフに対して、含まれるとするならどのような個人情報またはコネクション情報が含まれるか、制御することができる。
【００２７】
このシステムは、ユーザのソーシャルグラフに関連する情報を識別する(206)。ユーザのソーシャルグラフに関する識別されたコンテンツには、例えばユーザが購読するリソース(例えば特定のブログ)のコンテンツまたはそれに対するユーザの投稿が含まれ得る。識別された情報には、ユーザのソーシャルグラフのメンバによって生成されたコンテンツも含まれ得る。例えば、ユーザのソーシャルグラフのメンバは、例えば地方の論評(例えばレストランまたはサービスに関するもの)、動画の論評および格付け、製品の論評、書評、ブログのコメント、ニュースのコメント、地図、公開ウェブのアノテーション、公文書、ストリーミングの更新、写真および写真アルバムを含むコンテンツを生成することができる。したがって、コンテンツには、ユーザのソーシャルグラフのメンバによって生成されたコンテンツならびにユーザのソーシャルグラフのメンバによって支持された、または論評されたコンテンツの両方が含まれ得る。
【００２８】
このシステムは、情報検索で用いられる識別されたソーシャルグラフ情報にインデックスを付ける(208)。例えば、ユーザのソーシャルグラフのメンバに関する関連した検索結果を識別するように受け取った検索クエリに応答して、インデックスを検索することができる。例えば、検索システムは、クエリを受け取って、全般的な検索結果ならびにインデックス付きのソーシャルグラフ情報に基づく検索結果の両方を識別することができる。いくつかの実装形態では、インデックス付きのソーシャルグラフ情報は、例えばユーザのソーシャルグラフに関連する最近追加された情報を含むように、定期的に更新される。
【００２９】
図3は、ソーシャルグラフ情報を含む検索結果を示すための例示的方法300の流れ図である。便宜上、方法300は、1つまたは複数のコンピュータ装置を含む、方法300を実施するシステムに関して説明されることになる。
【００３０】
このシステムは、ユーザから検索クエリを受け取る(302)。例えば、ユーザは、特定の検索システムの検索インターフェースに検索クエリを入力することができる。検索クエリは1つまたは複数の用語を含んでおり、全般的であるかまたは特定のタイプのリソースを対象とする(例えばウェブまたは画像を検索する)。
【００３１】
ユーザは、クライアントデバイスから検索クエリを提示することができる。クライアントは、ローカルエリアネットワーク(LAN)または例えばインターネットといった広域ネットワーク(WAN)によって検索システムに結合されたコンピュータであり得る。いくつかの実装形態では、検索システムおよびクライアントデバイスは単一のマシンである。例えば、ユーザはクライアントデバイス上にデスクトップの検索アプリケーションをインストールすることができる。ユーザは、検索システムの範囲内の検索エンジンに対して検索クエリを提示することができる。
【００３２】
ユーザが検索クエリを提示すると、検索クエリはネットワークを通じて検索システムに伝送される。検索システムは、例えばネットワークを介して互いに結合された、1つまたは複数の位置における1つまたは複数のコンピュータ上で動作するコンピュータプログラムとして実施することができる。
【００３３】
このシステムは、ユーザのソーシャルグラフと関連した検索結果を含む検索結果を受け取る(304)。例えば、検索エンジンは、検索クエリを受け取ると、インデックスを用いて、検索クエリに応答するリソースを識別する。検索エンジンは、一般に、コーパス(例えばコンテンツの集まりまたはリポジトリ)で見つかったリソース(例えばインターネット上のウェブページ、画像、またはニュース記事)にインデックスを付けるインデックス付けエンジンと、インデックス情報を格納するインデックスのデータベースと、クエリに対応するリソースをランク付けするためのランク付けエンジン(または他のソフトウェア)とを含むことになる。リソースのインデックス付けおよびランク付けは、通常の技法を用いて実施することができる。ソーシャルグラフ情報は、他のリソースとして同一のインデックスで、または別のインデックスで含まれ得る。したがって、クエリに応答した全般的な検索結果、ならびにユーザのソーシャルグラフと関連したリソースを識別する特定の検索結果に対して、個別の検索を実施することができる。
【００３４】
いくつかの実装形態では、ユーザのソーシャルグラフと関連した検索結果の提示およびランク付けは、1つまたは複数のソーシャル信号を含む1つまたは複数の要因によって調整される。例えば、ユーザのソーシャルグラフの特定のメンバからのコンテンツを示すべきかどうか、またはメンバのランク付けの昇格/降格を決定するのに親和性を用いることができる。親和性は、メンバのユーザへの親密性を識別する。例えば、ユーザに対して5人の共通の中間の友人を有する友人の友人は、共通の中間の友人を1人しか有しない友人の友人より高い親和性を有する。親和性を求める際の他の要因には、その友人はユーザとどのような関係にあるか(例えばコネクションのソース)、その友人はどのソーシャルグラフサイトのメンバか、友人なのかそれとも友人の友人なのか、その友人の友人に達する経路(例えば共通の中間の友人)がいくつあるか、といったことが含まれ得る。
【００３５】
親和性も、ユーザのソーシャルグラフのメンバとの相互作用に基づくもの(例えば頻度、タイプ)であり得る。例えば、特定のコンタクトによってポストを頻繁にクリックするユーザは、それぞれのポストをクリックする頻度がより低い他のコンタクトとの親和性より、そのコンタクトと高い親和性を有し得る。親和性は、特定のタイプの相互作用についても、より高くなり得て、例えばコンタクトのポストに対するコメントは、時折の支持より高い親和性をもたらすことができる。親和性は、時間が経つにつれて変化する可能性がある。例えば、相互作用のタイプまたは頻度がソーシャルグラフのメンバとともに変化するとき、結果としてもたらされる親和性も変化する可能性がある。
【００３６】
ランク付けも、例えば提示されたクエリに関するソーシャルグラフのコンテンツの情報検索スコア(例えばソーシャルグラフのコンテンツの適切さ)、内容のタイプ(例えばブログ対画像)、および関連するコンテンツの日付といった他の要因に基づいてもたらされ得る。
【００３７】
さらに、ユーザのソーシャルグラフに関する検索結果を全般的な検索結果とともにインタリーブするとき、ユーザのソーシャルグラフに関する検索結果に対して、それらの視認性を高めるために昇格を適用することができる。例えば、ユーザの友人と関連した検索結果のランク付けが、しばしば全般的な広範にわたる結果よりより低いことがある。したがって、ユーザのソーシャルグラフに関連する検索結果を昇格させると、それらが全般的な検索結果によって覆い隠されるのを防止することができる。
【００３８】
いくつかの実装形態では、ユーザは、支持されたものとして特定のリソースを示し(例えば検索結果を見つめている、またはリソースにおける表示をもたらす)、リソースを共有し、URLを引用するか、そうでなければ例えば特定のリソース、ウェブページ、もしくは検索結果といったコンテンツの関心または好みを示す。例えば、関連するリソースまたは検索結果の好み、共有、または他の評価を示すことをユーザに許す、アプリケーション、ウィジェット、またはスクリプトが、検索結果のページ、ウェブページ、またはブラウザアプリケーションに用意され得る。例えば、ユーザは、(例えばブラウザ制御または関連するコンテンツとともに与えられたユーザインターフェース要素によって)支持または他の評価を示すために、特定のリソース、ウェブサイト、または検索結果にマーキングすることができる。
【００３９】
ユーザのソーシャルグラフのメンバによって実施される相互作用は、対応する検索結果のランク付けを調整するソーシャル信号として用いることができる。例えば、検索クエリがユーザのソーシャルグラフのメンバによってそのように識別されたリソースを含んでいる結果を識別する場合には、この結果はユーザのクエリに応答する他の全般的な検索結果に対して増強され得る。増強する要因は、例えば識別されたリソースを支持した友人の数または識別されたリソースを支持した友人に対する最高の親和性に基づくものであり得る。増強は、出処(例えばリソースを支持した個人との関係または親和性がどのようなものであるかということ)、またはユーザのソーシャルグラフのメンバが与えた支持のタイプ(例えば結果もしくはページに星印を付けることによる明示的支持またはリソースを訪れることもしくは投稿に対してコメントすることによる暗示的支持)に基づくものでもあり得る。
【００４０】
このシステムは、ソーシャルグラフからの検索結果を含む1つまたは複数の検索結果を示す(306)。検索エンジンは、検索結果を、例えばクライアントデバイス上で動作しているウェブブラウザに表示される検索結果のウェブページとしてユーザに提示するために、ネットワークを通じてクライアントデバイスに伝送することができる。いくつかの実装形態では、システムは、ソーシャルグラフのメンバによるソーシャルグラフからの検索結果をクラスタにして、そのメンバ向けの応答の結果を一緒に示す。
【００４１】
例えば、受け取った検索クエリは、以下でさらに論じられる「タンザニアのサファリ」であり得る。このシステムは「タンザニアのサファリ」というクエリに応答する検索結果を受け取る。これには、タンザニアのサファリを提供する種々の旅行会社を識別する検索結果が含まれ得る。検索結果には、例えば友人による特定のサファリプロバイダの論評、または友人のタンザニアのサファリの写真といった、ユーザのソーシャルグラフと関連した検索結果も含まれ得る。
【００４２】
検索結果はいくつかの異なるように示すことができる。検索結果は、例えば全般的な検索結果およびユーザのソーシャルグラフに関する検索結果のうちの1つまたは複数を含んでいる検索結果のページとしてユーザに示すことができる。検索結果は、全般的な検索結果およびソーシャルグラフの結果をそれぞれが表示する別々の部分を用いて示すことができる。あるいは、ユーザのソーシャルグラフと関連した該当する検索結果を、全般的な検索結果とインタリーブすることができる。さらに、結果は、別々に表示されようとインタリーブされようと、コンテンツのタイプ(例えばウェブページのリスト、画像)によって分離することができる。
【００４３】
ユーザのソーシャルグラフと関連した検索結果は、内容のタイプ(例えば画像またはウェブページ)によって表示するか、またはソーシャルグラフのメンバによってクラスタにすることもできる。いくつかの実装形態では、ソーシャルグラフからの結果をソーシャルグラフのメンバによってクラスタにするとき、応答するコンテンツを有する各メンバからのコンテンツは、提示のためにグループ化されることになる(例えば友人1の写真および論評に友人2の写真が続く)。
【００４４】
このシステムは、表示された検索結果を改良するユーザ入力を受け取る(308)。例えば、ユーザは、示された検索結果を種々の基準に従ってフィルタリングすることができる。基準は、例えば、特定の友人または検索結果によって識別されたリソースのソースによるフィルタリングを含むことができる。フィルタリングは、日付によって実施することもできる(例えば、表示された結果を、指定時間内に投稿されたコンテンツと関連したものに限定する)。さらに、フィルタリングは、提示された検索結果をユーザのソーシャルグラフと関連したものに限定することができる。
【００４５】
このシステムは表示された検索結果を強化する(310)。例えば、ユーザ入力が、検索結果を特定の友人によってフィルタリングすると、提示されるのはその友人に関する検索結果(例えばその友人による写真、動画像、論評、およびコメント)のみとなる。同様に、受け取ったユーザ入力によって、表示された検索結果がユーザのソーシャルグラフと関連したものに制限される場合には、システムは、表示された検索結果を、それしか含まないように強化する。
【００４６】
本明細書の態様によれば、このシステムは、検索結果を除去する、または「ミュート」するために、ソーシャル検索結果および/または検索結果に対するソーシャルアノテーションを強化することができる。いくつかの実例では、検索結果および/または検索結果に対するソーシャルアノテーションは、ユーザのソーシャルグラフの1人または複数のメンバを考慮してミュートされ得る。例えば、本明細書でより詳細に論じられるように、ユーザは自分のソーシャルグラフの1人または複数のメンバを識別することができ、これに関して検索結果がミュートにされ得て、表示された検索結果から関連する検索結果が除去され得る。いくつかの実例では、ユーザは、以前にミュートされたメンバをミュート解除することができる。いくつかの実例では、ユーザは、検索結果のページにユーザ入力を与えることにより、ソーシャル検索結果および/または検索結果に対するソーシャルアノテーションをミュートすることができる。いくつかの実例では、ユーザは、非検索サービスにユーザ入力を与えることにより、ソーシャル検索結果および/または検索結果に対するソーシャルアノテーションをミュートすることができる。例えば、ユーザは、ソーシャルネットワーキングサービスに対してユーザ入力を与えることができ、ユーザ入力は、ソーシャル検索結果および/または検索結果に対するソーシャルアノテーションが、ソーシャルネットワーキングサービスの特定の他のユーザに関してミュートされるべきであることを示すことができる。
【００４７】
図4Aは、ユーザのソーシャルグラフと関連した結果を含んでいる例示的検索結果のページ400を表す。検索結果のページ400は、例示的クエリ「タンザニアのサファリ」に応答する例示的検索結果を表示する。示された実例では、表示された検索結果は、ウェブの結果402ならびにユーザのソーシャルグラフからの結果404を含む。ウェブの結果402は、検索結果402a、402b、402c、402dを含む。検索結果402a、402cは、それぞれのソーシャルアノテーション406a、406cを含む。例えば、ソーシャルアノテーション406aは、関連する検索結果が、ユーザのソーシャルグラフ(すなわち検索クエリを入力したユーザのソーシャルグラフ)のメンバによって、あるサービスを用いて共有されていたことを示す。示された実例では、「John Smith」はユーザのソーシャルグラフのメンバであり、ソーシャルネットワーキングサービス「Social Network」を用いて検索結果402aを共有していた。同様に、ソーシャルアノテーション406cは、関連する検索結果が、ユーザのソーシャルグラフのメンバによって、あるサービスを用いて共有されていたことを示す。示された実例では、「Jane Friend」はユーザのソーシャルグラフのメンバであり、別のソーシャルネットワーキングサービス「Network Social」を用いて検索結果402cを共有していた。示された実例では、ソーシャルアノテーションには、ユーザのソーシャルグラフのメンバに対応するサムネイル画像が与えられる。
【００４８】
友人からの結果404には、ユーザのソーシャルグラフに関連する応答する検索結果が含まれる。例えば、ユーザのソーシャルグラフからの結果404には、ユーザのソーシャルグラフの人からのブログ投稿、動画像、および写真が含まれる。さらに、いくつかの実装形態では、検索結果とともに友人の表示(例えば友人の写真および名前)も示される。いくつかの実装形態では、友人の特定の名前を選択すると、その友人に基づいて検索結果がフィルタリングされる。示された実例では、友人からの結果404は、結果404a、404b、404c、404dを含む。結果404bは、検索結果402cを共有したメンバ「Jane Friend」に対応する。結果404cは、検索結果402aを共有したメンバ「John Smith」に対応する。
【００４９】
図4Bは、ユーザのソーシャルグラフに基づく検索結果をフィルタリングするための例示的インターフェース410を含む図4Aの例示的検索結果のページ400を示す。示された実例では、ポインタ412は、検索結果のページ400上に表示することができ、ユーザによって(例えばマウスを用いて)制御され得る。ポインタ412は、ソーシャルアノテーション406a上に重ねるか、そうでなければその上で休止することができる。重ねるアクションに応答して、インターフェース410が表示され得る。インターフェース410は、ソーシャルアノテーションと関連したメンバに関する情報を含むことができ、ユーザに対して1つまたは複数のアクションの選択肢を提供することができる。示された実例では、インターフェース410は、メンバのサムネイル画像、メンバの名前、メンバがユーザのソーシャルグラフの中でユーザに対してどのようなつながりがあるかという説明を含み、複数のアクションの選択肢を提供する。
【００５０】
アクションの選択肢には、メンバのプロファイルを見る第1の選択肢(「View Profile」)および検索結果からメンバをフィルタリングする第2の選択肢(「Mute from search results」)が含まれる。ユーザが第1の選択肢をクリックしたことに応答して、ソーシャルネットワーキングサービスの範囲内のメンバのプロファイルを含む別のウェブページがユーザに表示され得る。ユーザが第2の選択肢をクリックしたことに応答して、メンバおよび対応するサービスが、ユーザに関連するミュートされたコンタクトのインデックスに追加される。示された実例では、ユーザが第2の選択肢をクリックしたことに応答して、メンバJohn SmithおよびサービスSocial Networkがフィルタのインデックスに追加される。いくつかの実例では、フィルタのインデックスは、ユーザプロファイルに直接リンクされ、ユーザに表示された検索結果からフィルタリングされることになっているメンバおよび対応するサービスのリストを含んでいる。
【００５１】
いくつかの実装形態では、フィルタのインデックスへのJohn Smithの追加のゆえに、John Smithに関連するすべてのコンテンツ項目(例えば共有された項目および/または投稿された項目)は、下層にあるサービス(例えばソーシャルネットワーキング、電子メール、画像共有、動画像共有)を考慮に入れることなく、ユーザに表示された検索結果からフィルタリングされることになる。いくつかの実装形態では、検索結果は、識別されたユーザとサービスの対に基づいてフィルタリングすることができる。例えば、ソーシャルネットワーキングサービスのコンテキストではJohn Smithと関連したコンテンツ項目はフィルタリングされ得るが、他のサービス(例えば別のソーシャルネットワーキングサービス、電子メール、画像共有、動画像共有)のコンテキストにおけるJohn Smithと関連したコンテンツ項目は、ユーザに表示された検索結果からフィルタリングされない。
【００５２】
図5は、例示的フィルタリングが適用された図4Aおよび図4Bの例示的検索結果のページに対応する、例示の強化された検索結果のページ500を示す。いくつかの実例では、ユーザが検索結果からメンバをミュートするためにアクションの選択肢を選択したことに応答して、強化された検索結果のページを表示することができる。示された実例では、ユーザがインターフェース410の第2の選択肢を選択したことに応答して、検索結果のページ500を表示することができる。
【００５３】
強化された検索結果のページ500の範囲内で、表示された検索結果は、ウェブの結果502ならびにユーザのソーシャルグラフからの結果504を含む。ウェブの結果502は、検索結果502a、502b、502c、502dを含み、これらはそれぞれ図4Aおよび図4Bの検索結果402a、402b、402c、402dに対応する。検索結果502cは、図4Aおよび図4Bのソーシャルアノテーション406cに対応するソーシャルアノテーション506cを含んでいる。いくつかの実例では、検索結果502aはミュートアノテーション510を含むことができる。例えば、ミュートアノテーション510は、検索結果502aがミュートされていることに関連し得るソーシャルアノテーションを示す。いくつかの実例では、ユーザは、ミュートされたメンバおよびサービスに関する情報を取得してメンバを選択的にミュート解除するために、ミュートアノテーション510をクリックすることができる。
【００５４】
示された実例では、友人504からの結果には、結果504a、504b、504c、504dが含まれる。結果504cが対応するのは、サービス「Social Network」のコンテキストにおいてユーザによってミュートされた、図4Aおよび図4Bの検索結果402aを共有するメンバの「John Smith」である。しかし、この実例では、メンバJohn Smithは、他のサービスのコンテキストではユーザによってミュートされていない。例えば、動画像共有サービス(「www.youtube.com」)に対応する結果504cは、ユーザによってミュートされていない。
【００５５】
いくつかの実例では、ミュートされたコンタクトに対応する検索結果のすべてを表示画面からフィルタリングすることができる。例えば、「John Smith」に対応する検索結果は、サービス「Social Network」のコンテキストではミュートされているが、「John Smith」に対応する検索結果のすべてを検索結果からフィルタリングすることができる(例えば図5の検索結果504cも表示されなくなる)。
【００５６】
いくつかの実装形態では、友人504からの結果は、ミュートアノテーション516を含むことができる。例えば、ミュートアノテーション516は、検索クエリに応答してもたらされた1つまたは複数の検索結果がミュートされていることを示す。いくつかの実例では、ユーザは、ミュートされた検索結果に関する情報を取得して特定のメンバに対応する検索結果を選択的にミュート解除するために、ミュートアノテーション516をクリックすることができる。
【００５７】
図6は、ユーザのソーシャルグラフに基づいて検索結果をフィルタリングするのに用いることができる例示的コンポーネントを示す。例示的コンポーネントには、検索コンポーネント602、コンテンツのデータソース604、ソーシャルコンテンツのデータソース606およびプロファイルのデータソース608が含まれる。いくつかの実例では、検索コンポーネント602は、1つまたは複数のコンピュータ装置(例えばサーバ)を使用して実行される1つまたは複数のコンピュータプログラムとして用意することができる。いくつかの実例では、データソース604、606、608のそれぞれが、1つまたは複数のコンピュータ可読記憶装置(例えばデータベース)として用意され得る。検索コンポーネント602は、ネットワーク(例えばローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)すなわちインターネット)を通じてデータソース604、606、608のそれぞれと通信することができる。検索コンポーネント602は、ユーザ入力を受け取り、データソース604、606、608から供給されたデータに基づいてユーザ入力を処理して検索結果を生成する。ユーザ入力はコンピュータ装置(例えばクライアントコンピュータ装置)によってもたらされ得て、検索結果は、ユーザに対して表示するようにコンピュータ装置に供給され得る。
【００５８】
いくつかの実例では、ユーザ入力は、ユーザが検索コンポーネント602によって用意された検索サービスにログインするのに用いられ得るユーザのログイン情報(例えばユーザ名およびパスワード)を含むことができる。検索コンポーネント602は、ユーザ入力に基づいてユーザプロファイルを識別することができ、プロファイルのデータソース608からユーザに対応するプロファイルデータを取得することができる。いくつかの実例では、ユーザプロファイルのデータは、コンタクトのインデックス610およびフィルタのインデックス612を含むことができる。コンタクトのインデックス610は、ユーザのソーシャルグラフのメンバを識別するのに用いることができる。例えば、ユーザのソーシャルグラフは、ユーザU1、...、Unを含むことができる。
【００５９】
フィルタのインデックス612は、ユーザ、ユーザによって検索結果からミュートされたサービスの対(フィルタの対)を識別するのに用いることができる。示された実例では、1つまたは複数のサービスのそれぞれに対応する検索結果およびそのコンタクトがユーザへの表示画面からフィルタリングされるように、コンタクト(U)に対応する1つまたは複数のサービス(S)が識別される。例えば、ユーザU2は、フィルタの対{U2、SA}、{U2、Sc}および{U2、SD}に対応するサービスSA、SC、SD(例えばソーシャルネットワーキングサービス、電子メールサービス、画像共有サービス、動画像共有サービスなど)に関連している。したがって、サービスSA、SC、SDのそれぞれのコンテキストの範囲内のU2に関連するコンテンツを含んでいる検索結果は、ユーザへの表示画面からフィルタリングされる。
【００６０】
ユーザ入力は、検索コンポーネント602が受け取った検索クエリを含むことができる。検索コンポーネント602は、検索結果を生成するために、検索クエリを受け取ったことに応答して、コンテンツのデータソース604およびソーシャルコンテンツのデータソース606によって供給されたデータを処理することができる。いくつかの実例では、検索コンポーネント602は、検索クエリを受け取ったことに応答して、(例えばユーザのログイン情報に基づいて)検索クエリを与えたユーザに対応するコンタクトのインデックス610およびフィルタのインデックス612を取得することができる。検索コンポーネント602は、フィルタのインデックス612に基づいて検索結果を処理して、強化された検索結果を生成し、これがユーザに対して表示される。
【００６１】
図7は、検索結果をフィルタリングする例示的方法700の流れ図である。便宜上、方法700は、方法700を実施する1つまたは複数のコンピュータ装置を含むシステムに関して説明する。
【００６２】
検索するユーザのIDが求められる(702)。いくつかの実例では、検索するユーザ(すなわち検索を実施しているユーザ)のIDは、ユーザのログイン情報(例えばユーザ名およびパスワード)に基づいて求めることができる。検索クエリが受け取られる(704)。検索するユーザのIDに対応するコンタクトのインデックスが取得され(706)、また、検索するユーザのIDに対応するフィルタのインデックスが取得される(708)。検索結果が生成される(710)。
【００６３】
検索結果が、ユーザのソーシャルグラフの範囲内の1つまたは複数のコンタクトに関連する検索結果を含んでいるかどうか判定される(712)。検索結果が、ユーザのソーシャルグラフの範囲内の1つまたは複数のコンタクトに関連する検索結果を含んでいなければ、この検索結果が表示される(714)。検索結果が、ユーザのソーシャルグラフの範囲内の1つまたは複数のコンタクトに関連する検索結果を含んでいる場合には、これらの1つまたは複数のコンタクトがフィルタのインデックスで識別されているかどうか判定される(716)。これらの1つまたは複数のコンタクトがフィルタのインデックスで識別されていなければ、検索結果が表示される(714)。1つまたは複数のコンタクトのうち少なくとも1つのコンタクトがフィルタのインデックスで識別されている場合には、検索結果は、フィルタのインデックスで識別された各コンタクトに対応する検索結果を除去するようにフィルタリングされ(718)、この検索結果が表示される(714)。
【００６４】
図8は、ユーザのソーシャルグラフに基づいてフィルタリングされるべき検索結果を識別する例示的方法800の流れ図である。便宜上、方法800は、方法800を実施する1つまたは複数のコンピュータ装置を含むシステムに関して説明する。
【００６５】
検索結果が表示される(802)。ユーザ入力が受け取られているかどうか判定される(804)。ユーザ入力が受け取られていなければ、方法800はループバックする。ユーザ入力が受け取られていれば、このユーザ入力が検索結果からコンタクトをフィルタリングするコマンドであるかどうか判定される(806)。ユーザ入力が検索結果からコンタクトをフィルタリングするコマンドでなければ、ユーザ入力がコンタクトを検索結果に再格納するコマンドかどうか判定される(808)。ユーザ入力が検索結果からコンタクトをフィルタリングするコマンドであれば、識別されたコンタクトに対応するフィルタのインデックスにコンタクトとサービスの対が追加される(810)。表示された検索結果が、フィルタのインデックスに追加されたコンタクトとサービスの対の追加に基づいて改訂され(816)、改訂された検索結果が表示される(818)。
【００６６】
ユーザ入力が、検索結果にコンタクトを再格納するコマンドではないと決定された場合には、ユーザ入力に基づいてアクションが実施される(812)。例えば、ユーザ入力は、特定の検索結果の選択を含むことができ、選択された検索結果に対応するウェブページが表示され得る。ユーザ入力が、コンタクトを検索結果に再格納するコマンドであると決定された場合には、識別されたコンタクトに対応するフィルタのインデックスからコンタクトとサービスの対が除去される(814)。表示された検索結果が、フィルタのインデックスからのコンタクトとサービスの対の除去に基づいて改訂され(816)、改訂された検索結果が表示される(818)。
【００６７】
本明細書で説明された発明およびすべての機能操作の実施形態は、デジタル電子回路、もしくはコンピュータソフトウェア、ファームウェア、または本明細書で開示された構造体およびそれらの構造的等価物を含むハードウェア、あるいはそれらのうちの1つまたは複数の組合せで実施することができる。本発明の実施形態は、データ処理装置によって実行するために、あるいはデータ処理装置の動作を制御するように、1つまたは複数のコンピュータプログラム製品として、すなわちコンピュータ可読記憶媒体上に符号化されたコンピュータプログラムの命令の1つまたは複数のモジュールとして実施することができる。コンピュータ可読媒体は、機械可読の記憶装置、機械可読の記憶装置の基板、メモリデバイス、機械可読の伝搬信号に作用する組成物、またはそれらの1つまたは複数の組合せであり得る。用語「データ処理装置」は、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含めて、データ処理用のあらゆる装置、デバイス、およびマシンを包含する。この装置は、ハードウェアに加えて、例えばプロセッサのファームウェア、プロトコルのスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組合せを構成するコードといった、対象となるコンピュータプログラム用の実行環境を生成するコードを含むことができる。伝搬信号は、例えば適切な受信装置へ伝送するため情報を符号化するようにマシンで生成された電気信号、光信号、電磁気信号といった、人為的に生成された信号である。
【００６８】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル型言語またはインタープリタ型言語を含めて任意の形式のプログラミング言語で記述することができ、また、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、またはコンピュータ環境で用いる適切な他のユニットとして、任意の形式に展開することができる。コンピュータプログラムは、必ずしもファイルシステムのファイルに対応するものではない。プログラムは、他のプログラムまたはデータ(例えばマークアップ言語のドキュメントに格納された1つまたは複数のスクリプト)を保持するファイル、対象となるプログラム専用の単一ファイル、あるいは統合的な複数のファイル(例えば1つまたは複数のモジュール、サブプログラム、またはコードの諸部分を格納する諸ファイル)の一部分に格納することができる。コンピュータプログラムは、1つのコンピュータ、または1つのサイトに配置された、もしくは複数のサイトにわたって分散して通信網で相互に連結された複数のコンピュータ上で実行されるように展開することができる。
【００６９】
本明細書で説明されたプロセスおよび論理の流れは、入力データに対して動作して出力を生成することにより機能を実行する1つまたは複数のコンピュータプログラムを実施する1つまたは複数のプログラマブルプロセッサによって実行することができる。これらのプロセスおよび論理の流れは、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)でも実行することができ、装置もこれらで実施することができる。
【００７０】
コンピュータプログラムを実行するのに適切なプロセッサには、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、命令およびデータを、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から受け取ることになる。コンピュータの必須要素は、命令を実施するためのプロセッサならびに命令およびデータを格納するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、例えば磁気ディスク、光磁気ディスク、または光ディスクといったデータを格納するための1つまたは複数の大容量記憶デバイスも含むことになり、あるいは、これらからデータを受け取り、もしくはこれらへデータを転送し、またはその両方を行うために、これらに対して動作可能に結合される。しかし、コンピュータにはそのようなデバイスがなくてもよい。その上、コンピュータは、別のデバイス、例えばほんの少数を挙げると、移動電話、携帯情報端末(PDA)、移動式オーディオプレーヤ、全地球測位システム(GPS)受信器の中に組み込むことができる。コンピュータプログラムの命令およびデータを格納するのに適切なコンピュータ可読媒体には、例として、例えばEPROM、EEPROM、およびフラッシュメモリデバイスといった半導体メモリデバイスと、例えば内臓ハードディスク、取外し可能ディスクといった磁気ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含んでいるすべての形態の不揮発性記憶装置とが含まれる。プロセッサおよびメモリは、専用論理回路を追加することができ、あるいは専用論理回路に組み込むことができる。
【００７１】
本発明の実施形態は、ユーザとの対話をもたらすために、ユーザに情報を表示するための例えばCRT(ブラウン管)またはLCD(液晶ディスプレイ)のモニタといった表示装置、ならびにユーザがコンピュータに入力を与えることができるキーボード、および例えばマウスまたはトラックボールといったポインティングデバイスを有するコンピュータ上で実施することができる。ユーザとの対話をもたらすために、他の種類のデバイスも同様に用いることができ、例えば、ユーザにもたらされるフィードバックは、例えば視覚フィードバック、聴覚フィードバック、触覚フィードバックといった任意の形式の感覚フィードバックであり得て、また、ユーザからの入力は、音響、音声、または触覚の入力を含む任意の形式で受け取られ得る。
【００７２】
本発明の実施形態は、例えばデータサーバとしてのバックエンドコンポーネント、または例えばアプリケーションサーバであるミドルウェアコンポーネント、または例えばグラフィカルユーザインターフェースを有するクライアントコンピュータといったフロントエンドコンポーネント、またはユーザが本発明の一実装形態と情報をやりとりすることができるウェブブラウザ、あるいはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの1つまたは複数の任意の組合せを含むコンピュータシステムで実施することができる。システムのコンポーネントは、例えば通信ネットワークであるデジタルデータ通信の任意の形式または媒体によって相互に連結することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および例えばインターネットである広域ネットワーク(「WAN」)を含む。
【００７３】
コンピュータシステムは、クライアントおよびサーバを含むことができる。一般に、クライアントとサーバとは互いに遠く離れていて、典型的には通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作し互いにクライアント対サーバの関係を有する各コンピュータプログラムによって生じる。
【００７４】
本明細書は多くの詳細を含むが、これらは、本発明の範囲に対する限定または特許請求され得るものの限定としてではなく、本発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。本明細書の個別の実施形態の文脈で説明された特定の特徴は、1つの実施形態の中で組み合わせて実施することもできる。反対に、1つの実施形態の文脈で説明された様々な特徴は、複数の実施形態で別個に、もしくは任意の適切なサブ組合せで実施することもできる。その上、上記で各特徴が特定の組合せで作用するものとして説明され、また当初はそのようなものとして請求されたとしても、場合によっては請求された組合せの1つまたは複数の特徴を同組合せから削除することができ、また、請求された組合せは、サブ組合せまたはサブ組合せの変形形態を対象とすることができる。
【００７５】
同様に、図面では操作が特定の順序で示されているが、このことは、望ましい結果を達成するのに、示された特定の順序で、もしくは順番にそのような働きが実行される必要があるか、または示された働きがすべて実行される必要があるものと理解されるべきではない。特定の環境では、マルチタスクおよび並行処理が有利なことがある。その上、前述の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものと理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、一般に、1つのソフトウェア製品の中に一緒に組み込まれるか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【００７６】
このように、本発明の特定の実施形態が説明されてきた。他の実施形態は、以下の特許請求の範囲の範囲内にある。例えば、特許請求の範囲で列挙される作用は、異なる順序で実行しても、望ましい結果を達成することができる。
【符号の説明】
【００７７】
600  検索結果をフィルタリングするのに用いることができるコンポーネント
602  検索コンポーネント
604  データソース
606  データソース
608  データソース
610  コンタクトのインデックス
612  フィルタのインデックス
【図１】
0006030652.tif 000002
【図２】
0006030652.tif 000003
【図３】
0006030652.tif 000004
【図４Ａ−１】
0006030652.tif 000005
【図４Ａ−２】
0006030652.tif 000006
【図４Ｂ】
0006030652.tif 000007
【図５−１】
0006030652.tif 000008
【図５−２】
0006030652.tif 000009
【図６】
0006030652.tif 000010
【図７】
0006030652.tif 000011
【図８】
0006030652.tif 000012