システムの概要
図1は、ソーシャルネットワーキング・システムに関連する例示的なネットワーク環境100を示す。ネットワーク環境100は、ネットワーク110によって互いに接続されたユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサード・パーティ・システム170を含む。図1はユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サード・パーティ・システム(third-party system)170、およびネットワーク110の特定の構成を示すが、本開示は、ユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110の任意の適切な構成を企図する。限定ではなく例として、ネットワーク110を迂回して、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサード・パーティ・システム170のうちの2つ以上を互いに直接的に接続することができる。別の例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサード・パーティ・システム170のうちの2つ以上を、物理的または論理的に、全体的または部分的に共に配置することができる。さらに、図1は特定の数のユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110を示すが、本開示は、任意の適切な数のユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110を企図する。限定ではなく例として、ネットワーク環境100は、複数のユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110を含むことができる。
特定の実施形態においては、ユーザ101は、ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、ビジネスもしくはサード・パーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループとすることができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス可能なコンピューティング・システムである。ソーシャルネットワーキング・システム160は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャルグラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャル・ネットワーキング・データを生成すること、格納すること、受け取ること、および送信する。ソーシャルネットワーキング・システム160は、ネットワーク環境100のその他のコンポーネントによって直接、またはネットワーク110を介してアクセスされることが可能である。特定の実施形態において、ソーシャルネットワーキング・システム160は、ユーザ101に、自分のアクションをソーシャルネットワーキング・システム160によって記録させるか、またはその他のシステム(たとえば、サード・パーティ・システム170)と共有させることを、たとえば、適切なプライバシー設定を設定することによりオプトインまたはオプトアウトを行うことのできる認証サーバ(または他の適したコンポーネント)を含むことができる。ユーザのプライバシー設定は、ユーザに関連付けられている情報のどれを記録するか、ユーザに関連付けられている情報をどのように記録するか、ユーザに関連付けられている情報をいつ記録するか、ユーザに関連付けられている情報を誰が記録するか、ユーザに関連付けられている情報を誰と共有するか、およびユーザに関連付けられている情報をどのような目的で記録もしくは共有するかを決定することができる。認証サーバを使用して、ソーシャルネットワーキング・システム160のユーザの1つまたは複数のプライバシー設定を、適切な場合、ブロッキング、データハッシング、匿名化、またはその他適切な技法により実施することができる。特定の実施形態においては、サード・パーティ・システム170はネットワークアドレス可能なコンピューティング・システムとすることができる。サード・パーティ・システム170は、ネットワーク環境100のその他のコンポーネントによって直接またはネットワーク110を介してアクセスすることができる。特定の実施形態においては、1人または複数人のユーザ101は1つまたは複数のクライアント・システム130を使用して、ソーシャルネットワーキング・システム160またはサード・パーティ・システム170にアクセスし、ソーシャルネットワーキング・システム160またはサード・パーティ・システム170とデータを送受信することができる。クライアント・システム130は、ソーシャルネットワーキング・システム160またはサード・パーティ・システム170に直接、ネットワーク110を介して、またはサード・パーティ・システムを介してアクセスすることができる。限定ではなく、例として、クライアント・システム130はソーシャル・ネットワーク・システム160を介してサード・パーティ・システム170にアクセスする。クライアント・システム130は、たとえば、パーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、またはタブレット・コンピュータなど、任意の適切なコンピューティング・デバイスである。
本開示は任意の適切なネットワーク110を企図する。限定ではなく例として、ネットワーク110のうちの1つまたは複数の部分は、アドホック・ネットワーク(ad hoc network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(virtual private network:VPN)、ローカル・エリア・ネットワーク(local area network:LAN)、ワイヤレスLAN(wireless LAN:WLAN)、広域ネットワーク(wide area network:WAN)、ワイヤレスWAN(wireless WAN:WWAN)、大都市圏ネットワーク(metropolitan area network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、またはこれらの2つ以上の組合せを含むことができる。ネットワーク110は1つまたは複数のネットワーク110を含むことができる。
リンク150は、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサード・パーティ・システム170を通信ネットワーク110に接続するか、または互いに接続することができる。本開示は任意の適切なリンク150を企図する。特定の実施形態では、1つまたは複数のリンク150は、1つまたは複数のワイヤーライン(wireline)(例えば、デジタル加入者線(Digital Subscriber Line:DSL)またはData Over Cable Service Interface Specification(DOCSIS)など)、ワイヤレス(例えば、Wi−FiまたはWorldwide Interoperability for Microwave Access(WiMAX)など)、または光(例えば、同期光ネットワーク(Synchronous Optical Network:SONET)または同期デジタル階層(Synchronous Digital Hierarchy:SDH)など)リンクを含む。特定の実施形態では、1つまたは複数のリンク150はそれぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部、PSTNの一部、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク150、または2つ以上のそのようなリンク150の組合せを含む。リンク150は、必ずしもネットワーク環境100全体を通じて同一である必要はない。1つまたは複数の第1のリンク150は、1つまたは複数の点で1つまたは複数の第2のリンク150と異なることがある。
ソーシャルグラフ
図2は、例示的なソーシャルグラフ200を示す。特定の実施形態では、ソーシャルネットワーキング・システム160は、1つまたは複数のデータ・ストア(data store)内に1つまたは複数のソーシャルグラフ200を格納することができる。特定の実施形態では、ソーシャルグラフ200は、複数のノード(これは複数のユーザ・ノード202または複数のコンセプト・ノード(concept node)204を含むことができる)と、ノードを接続する複数のエッジ(edge)206とを含むことができる。図2に示される例示的なソーシャルグラフ200は、説明のために、2次元視覚マップ表現で示されている。特定の実施形態では、ソーシャルネットワーキング・システム160、クライアント・システム130、またはサード・パーティ・システム170は、ソーシャルグラフ200および適切なアプリケーションについての関連するソーシャルグラフ情報にアクセスすることができる。ソーシャルグラフ200のノードおよびエッジを、データ・オブジェクトとして、例えばデータ・ストア(ソーシャルグラフ・データベースなど)内に格納することができる。そのようなデータ・ストアは、ソーシャルグラフ200のノードまたはエッジの1つまたは複数の検索可能または照会可能な索引を含むことができる。
特定の実施形態では、ユーザ・ノード202は、ソーシャルネットワーキング・システム160のユーザに対応することができる。限定ではなく例として、ユーザは、ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(例えば、企業、ビジネス、またはサード・パーティ・アプリケーション)、または(例えば、個人またはエンティティの)グループでよい。特定の実施形態では、ユーザがソーシャルネットワーキング・システム160にアカウントを登録するとき、ソーシャルネットワーキング・システム160は、ユーザに対応するユーザ・ノード202を作成し、1つまたは複数のデータ・ストア内にユーザ・ノード202を格納することができる。本明細書で説明するユーザおよびユーザ・ノード202は、適切な場合、登録されたユーザおよび登録されたユーザに関連するユーザ・ノード202を指す。追加または代替として、本明細書で説明するユーザおよびユーザ・ノード202は、適切な場合、ソーシャルネットワーキング・システム160に登録していないユーザを指す。特定の実施形態では、ユーザによって提供される情報、またはソーシャルネットワーキング・システム160を含む様々なシステムによって収集される情報に、ユーザ・ノード202を関連付けることができる。限定ではなく例として、ユーザは、ユーザの名前、プロファイル写真、連絡先情報、誕生日、性別、結婚状況、家族状況、職業、学歴、好み、関心、または他の人口統計情報を提供することができる。特定の実施形態では、ユーザに関連する情報に対応する1つまたは複数のデータ・オブジェクトにユーザ・ノード202を関連付けることができる。特定の実施形態では、ユーザ・ノード202は、1つまたは複数のウェブページに対応することができる。
特定の実施形態では、コンセプト・ノード204はコンセプト(concept)に対応することができる。限定ではなく例として、コンセプトは、場所(例えば、映画館、レストラン、ランドマーク、または都市など)、ウェブサイト(例えば、ソーシャル・ネットワーク・システム160に関連するウェブサイトまたはウェブ・アプリケーション・サーバに関連するサード・パーティ・ウェブサイトなど)、エンティティ(例えば、人、会社、グループ、スポーツ・チーム、または有名人など)、ソーシャルネットワーキング・システム160内またはウェブ・アプリケーション・サーバなどの外部サーバ上に位置することのできるリソース(例えば、オーディオ・ファイル、ビデオ・ファイル、デジタル・フォト、テキスト・ファイル、構造化された文書、またはアプリケーションなど)、物的または知的財産(例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著作物など)、ゲーム、活動、アイデアまたは理論、他の適切なコンセプト、あるいは2つ以上のそのようなコンセプトに対応することができる。ユーザによって提供されるコンセプトの情報、またはソーシャルネットワーキング・システム160を含む様々なシステムによって収集される情報にコンセプト・ノード204を関連付けることができる。限定ではなく例として、コンセプトの情報は、名前またはタイトル、1つまたは複数のイメージ(例えば、本のカバー・ページのイメージ)、位置(例えば、住所または地理的位置)、ウェブサイト(それをURLに関連付けることができる)、連絡先情報(例えば、電話番号またはeメール・アドレス)、他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態では、コンセプト・ノード204に関連する情報に対応する1つまたは複数のデータ・オブジェクトにコンセプト・ノード204を関連付けることができる。特定の実施形態では、コンセプト・ノード204は1つまたは複数のウェブページに対応することができる。
特定の実施形態では、ソーシャルグラフ200内のノードは、ウェブページ(「プロファイル・ページ」と呼ばれることがある)を表すこと、またはウェブページによって表すことができる。プロファイル・ページは、ソーシャルネットワーキング・システム160によってホストすること、またはソーシャルネットワーキング・システム160にとってアクセス可能にすることができる。プロファイル・ページはまた、サード・パーティ・サーバ170に関連するサード・パーティ・ウェブサイト上でホストすることもできる。限定ではなく例として、特定の外部ウェブページに対応するプロファイル・ページは、特定の外部ウェブページでよく、プロファイル・ページは、特定のコンセプト・ノード204に対応することができる。プロファイル・ページは、他のユーザのすべてまたは選択された一部分によって閲覧可能とすることができる。限定ではなく例として、ユーザ・ノード202は、対応するユーザがその中でコンテンツを追加し、宣言を行い、あるいはユーザ自身を表現することのできる、対応するユーザ・プロファイル・ページを有することができる。限定ではなく別の例として、コンセプト・ノード204は、特にコンセプト・ノード204に対応するコンセプトに関連して、1人または複数のユーザがその中でコンテンツを追加し、宣言を行い、またはユーザ自身を表現することのできる、対応するコンセプトプロファイル・ページを有することができる。
特定の実施形態では、コンセプト・ノード204は、サード・パーティ・システム170によってホストされるサード・パーティ・ウェブページまたはリソースを表すことができる。サード・パーティ・ウェブページまたはリソースは、他の要素において、コンテンツ、選択可能な、もしくは他のアイコン、またはアクションもしくは活動を表す(例えば、JAVA(登録商標)Script、AJAX、またはPHPコードで実装することのできる)他の対話型オブジェクトを含むことができる。限定ではなく例として、サード・パーティ・ウェブページは、「いいね」、「チェックイン(check in)」、「食べる(eat)」、「レコメンド(recommend)」、または別の適切なアクションもしくは活動などの、選択可能なアイコンを含むことができる。サード・パーティ・ウェブページを閲覧するユーザは、アイコンのうちの1つ(例えば、「食べる」)を選択し、クライアント・システム130に、ユーザのアクションを示すメッセージをソーシャルネットワーキング・システム160に送信させることによってアクションを実施することができる。メッセージに応答して、ソーシャルネットワーキング・システム160は、ユーザに対応するユーザ・ノード202と、サード・パーティ・ウェブページまたはリソースに対応するコンセプト・ノード204との間のエッジ(例えば、「食べる」エッジ)を作成し、1つまたは複数のデータ・ストア内にエッジ206を格納することができる。
特定の実施形態では、1つまたは複数のエッジ206によってソーシャルグラフ200内の1対のノードを互いに接続することができる。1対のノードを接続するエッジ206は、その1対のノード間の関係を表すことができる。特定の実施形態では、エッジ206は、1対のノード間の関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むか、または表すことができる。限定ではなく例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを示すことができる。この表示に応答して、ソーシャルネットワーキング・システム160は、第2のユーザに「友達要求」を送信することができる。第2のユーザが「友達要求」を確認した場合、ソーシャルネットワーキング・システム160は、第1のユーザのユーザ・ノード202をソーシャルグラフ200内の第2のユーザのユーザ・ノード202に接続するエッジ206を作成し、データ・ストアのうちの1つまたは複数の中にエッジ206をソーシャルグラフ情報として格納することができる。図2の例では、ソーシャルグラフ200は、ユーザ「A」とユーザ「B」のユーザ・ノード202間の友達関係を示すエッジ206と、ユーザ「C」とユーザ「B」のユーザ・ノード202間の友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード202を接続する特定の属性を有する特定のエッジ206を説明するかまたは図示するが、本開示は、ユーザ・ノード202を接続する任意の適切な属性を有する任意の適切なエッジ206を企図する。限定ではなく例として、エッジ206は、友達関係、家族関係、ビジネスまたは雇用関係、ファン関係(fan relationship)、フォロワ関係、ビジター関係(visitor relationship)、加入者関係、上位/従属関係、相互関係、非相互関係、別の適切なタイプの関係、または2つ以上のそのような関係を表すことができる。さらに、本開示は一般にノードが接続されているものとして説明するが、本開示はまた、ユーザまたはコンセプトが接続されているものとして説明する。本明細書では、接続されているユーザまたはコンセプトに対する参照は、適切な場合、1つまたは複数のエッジ206によってソーシャルグラフ200内で接続されているユーザまたはコンセプトに対応するノードを指すことがある。
特定の実施形態では、ユーザ・ノード202とコンセプト・ノード204との間のエッジ206は、コンセプト・ノード204に関連するコンセプトに対する、ユーザ・ノード202に関連するユーザによって実施される特定のアクションまたは活動を表すことができる。限定ではなく例として、図2に示されるように、ユーザは、コンセプトに対して「いいね」を表明し、コンセプトに「通う」、コンセプトを「プレイする」、コンセプトを「聞く」、コンセプトを「料理する」、コンセプトに「勤務する」、またはコンセプトを「観る」ことができ、そのそれぞれは、エッジ・タイプまたはサブタイプに対応することができる。コンセプト・ノード204に対応するコンセプトプロファイル・ページは、例えば、選択可能な「チェックイン」アイコン(例えば、クリッカブル(clickable)「チェックイン」アイコンなど)または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャルネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して、「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく別の例として、ユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して、特定の歌を聴取することができる(「イマジン」)。この場合、ソーシャルネットワーキング・システム160は、(図2に示すように)ユーザに対応するユーザ・ノード202と、歌およびアプリケーションに対応するコンセプト・ノード204との間の「聞いた(listened)」エッジ206および「使用した(used)」エッジを作成し、ユーザが歌を聴取し、アプリケーションを使用したことを示すことができる。さらに、ソーシャルネットワーキング・システム160は、(図2に示すように)歌およびアプリケーションに対応するコンセプト・ノード204間の「プレイした(played)」エッジ206を作成し、特定の歌が特定のアプリケーションによって再生されたことを示すことができる。この場合、「プレイした」エッジ206は、外部アプリケーション(SPOTIFY)によって外部オーディオ・ファイル(歌「イマジン」)に対して実施されたアクションに対応する。本開示は、ユーザ・ノード202およびコンセプト・ノード204を接続する特定の属性を有する特定のエッジ206を説明するが、本開示は、ユーザ・ノード202およびコンセプト・ノード204を接続する任意の適切な属性を有する任意の適切なエッジ206を企図する。さらに、本開示は単一の関係を表すユーザ・ノード202とコンセプト・ノード204との間のエッジを説明するが、本開示は、1つまたは複数の関係を表すユーザ・ノード202とコンセプト・ノード204との間のエッジを企図する。限定ではなく例として、エッジ206は、ユーザが特定のコンセプトを好むこと、および特定のコンセプトを使用したことの両方を表すことができる。あるいは、別のエッジ206は、(図2の、ユーザ「E」に関するユーザ・ノード202と、「SPOTIFY」に関するコンセプト・ノード204との間で示されるように)ユーザ・ノード202とコンセプト・ノード204との間の各タイプの関係(または複数の単一の関係)を表すことができる。
特定の実施形態では、ソーシャルネットワーキング・システム160は、ソーシャルグラフ200内のユーザ・ノード202とコンセプト・ノード204との間のエッジ206を作成することができる。限定ではなく例として、(例えば、ユーザのクライアント・システム130によってホストされるウェブ・ブラウザまたは専用アプリケーションを使用することによって)コンセプトプロファイル・ページを閲覧するユーザは、「いいね」アイコンをクリックまたは選択することにより、ユーザがコンセプト・ノード204によって表されるコンセプトを好むことを示すことができ、それによって、ユーザのクライアント・システム130に、ユーザがコンセプトプロファイル・ページに関連するコンセプトを好むことを示すメッセージをソーシャルネットワーキング・システム160に送信させることができる。メッセージに応答して、ソーシャルネットワーキング・システム160は、ユーザとコンセプト・ノード204との間の「いいね」エッジ206で示されるように、ユーザに関連するユーザ・ノード202と、コンセプト・ノード204との間のエッジ206を作成することができる。特定の実施形態では、ソーシャルネットワーキング・システム160は、1つまたは複数のデータ・ストア内にエッジ206を格納することができる。特定の実施形態では、特定のユーザ・アクションに応答して、エッジ206をソーシャルネットワーキング・システム160によって自動的に形成することができる。限定ではなく例として、第1のユーザが写真をアップロードし、映画を視聴し、または歌を聴取する場合、第1のユーザに対応するユーザ・ノード202と、これらのコンセプトに対応するコンセプト・ノード204との間のエッジ206を形成することができる。本開示は、特定の方式で特定のエッジ206を形成することを説明するが、本開示は、任意の適切な方式で任意の適切なエッジ206を形成することを企図する。
ソーシャルグラフの親密度および係数
特定の実施形態において、ソーシャルネットワーキング・システム160は、さまざまなソーシャル・グラフ・エンティティ同士のソーシャルグラフの親密度(本明細書において「親密度」ともいう)を判定することができる。親密度は、オンライン・ソーシャル・ネットワークに関連付けられているユーザ、コンセプト、コンテンツ、アクション、広告、その他のオブジェクト、またはそれらの任意の適切な組合せなど、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さまたは関心のレベルを表すことができる。親密度は、サード・パーティ・システム170またはその他の適切なシステムに関連付けられているオブジェクトに関しても判定することができる。コンテンツの各ユーザ、内容、または種類について、ソーシャル・グラフ・エンティティの総合的な親密度を確立することができる。総合的な親密度は、ソーシャル・グラフ・エンティティに関連付けられているアクションまたは関係の継続的なモニタリングに基づいて変更することができる。本開示は特定の方式で特定の親密度を判定することについて記述しているが、本開示は任意の適切な方式で任意の適切な親密度を判定することを想定している。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、親密度係数(本明細書においては「係数」という)を用いて、ソーシャルグラフの親密度を測定または定量化することができる。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト同士の関係の強さを表し、または定量化することができる。係数は、ユーザの特定のアクションへの関心に基づいてユーザがそのアクションを行う予測確率を測定する確率または関数も表すことができる。このように、ユーザの将来のアクションはユーザの過去のアクションに基づいて予測することができ、少なくとも部分的にユーザのアクションの履歴で係数を計算することができる。係数を用いて、オンライン・ソーシャル・ネットワーク内でも、またはオンライン・ソーシャル・ネットワーク外でもよい任意の数のアクションを予測することができる。限定ではなく、例として、これらのアクションは、メッセージの送信、コンテンツの投稿、またはコンテンツに対するコメント投稿などのさまざまな種類の通信、プロフィール・ページ、媒体、もしくはその他の適切なコンテンツへのアクセスもしくは閲覧などのさまざまな種類の観察アクション、同じグループになること、同じ写真にタグ付けされること、同じ場所でチェックインすること、もしくは同じイベントに出席するなど、2つまたはそれ以上のソーシャル・グラフ・エンティティに関するさまざまな種類の共起情報、またはその他適切なアクションを含むことができる。本開示は特定の方式で親密度を測定することについて記述しているが、本開示は任意の適切な方式で親密度を測定することを想定している。
特定の実施形態において、ソーシャルネットワーキング・システム160は、係数の計算に多様な要因を使用することができる。これらの要因は、たとえば、ユーザのアクション、オブジェクト同士の関係の種類、場所情報、その他の適切な要因、またはこれらの任意の組合せを含むことができる。特定の実施形態においては、係数を計算するときに、異なる要因に異なる重みを付けることができる。各要因の重みは静的なものであってもよく、または、たとえば、ユーザ、関係の種類、アクションの種類、ユーザの場所などに応じて重みが変わってもよい。要因の段階評価をその重みに応じて組み合わせて、ユーザの総合的な係数を判定することができる。限定ではなく、例として、特定のユーザアクションには段階評価と重みの両方が割り当てられるのに対し、特定のユーザアクションに関連付けられている関係には段階評価と相関する重みとが割り当てられる(たとえば、そのため重みは合計で100%になる)。特定のオブジェクトに対するユーザの係数を計算するためには、ユーザのアクションに割り当てられた段階評価は、たとえば、係数全体の60%を構成するのに対し、ユーザとオブジェクトとの関係は係数全体の40%を構成することができる。特定の実施形態において、ソーシャルネットワーキング・システム160は、係数の計算に用いられるさまざまな要因の重みを判定するとき、たとえば、情報がアクセスされてからの時間、減衰因子、アクセス頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトにつながれているソーシャル・グラフ・エンティティとの関係、ユーザアクションの短期間もしくは長期間平均、ユーザフィードバック、その他の適切な変数、またはこれらの任意の組合せなど、多様な変数を考慮することができる。限定ではなく、例として、係数は、特定のアクションによって提供される信号の強度を時間とともに減衰させて、係数を計算するときにより最近のアクションをより関連性があるようにする減衰因子を含むことができる。段階評価および重みは、係数が基にしたアクションの継続的な追跡に基づいて継続的に更新することができる。各要因の段階評価およびその要因に割り当てられる重みを割り当て、組合せ、平均化などをするために任意の種類のプロセスまたはアルゴリズムを採用することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、履歴アクションおよび過去のユーザの応答、またはそれらをさまざまなオプションに露出して応答を測定することによりユーザから提供されたデータを仕込んだ機械学習アルゴリズムを用いて係数を判定することができる。本開示は特定の方式で係数を計算することについて記述しているが、本開示は任意の適切な方式で係数を計算することを想定している。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ユーザのアクションに基づいて係数を計算することができる。ソーシャルネットワーキング・システム160は、当該アクションを、オンライン・ソーシャル・ネットワーク、サード・パーティ・システム170、その他の適切なシステム、またはこれらの任意の組合せで監視することができる。任意の適切な種類のユーザアクションを追跡または監視することができる。典型的なユーザのアクションは、プロフィール・ページを閲覧すること、コンテンツを作成または投稿すること、コンテンツと対話すること、イメージにタグ付けするかまたはタグ付けされること(または他の種類のタグ履歴情報)、グループに参加すること、イベントへの出席をリスト化し確認すること、場所にチェックインすること、特定のページに「いいね!」を表明すること、ページを作成すること、ソーシャルアクションを促進するその他のタスクを行うことを含む。特定の実施形態においては、ソーシャルネットワーキング・システム160は、特定の種類のコンテンツに対するユーザのアクションに基づいて係数を計算することができる。コンテンツはオンライン・ソーシャル・ネットワーク、サード・パーティ・システム170、または別の適切なシステムに関連付けることができる。コンテンツはユーザ、プロフィール・ページ、ポスト、ニュース記事、見出し、インスタントメッセージ、チャットルームの会話、電子メール、広告、ピクチャ、ビデオ、音楽、その他の適切なオブジェクト、またはこれらの任意の組合せを含むことができる。ソーシャルネットワーキング・システム160はユーザのアクションを分析して、アクションのうちの1つまたは複数が内容、コンテンツ、他のユーザなどの親密度を示すかどうかを判定することができる。限定ではなく、例として、ユーザが「コーヒー」またはその変種に関連するコンテンツを頻繁に投稿する場合、ソーシャルネットワーキング・システム160はそのユーザが「コーヒー」のコンセプトに関して高い係数を有すると判定することができる。特定のアクションまたは特定の種類のアクションには他のアクションよりも高い重みおよび段階評価または重みもしくは段階評価を割り当てることができ、それが、計算する総合的な係数に影響する。限定ではなく、例として、第1のユーザが第2のユーザに電子メールを送る場合、そのアクションの重みまたは段階評価は、第1のユーザが第2のユーザのユーザプロフィール・ページをただ閲覧するだけの場合よりも高くすることができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、特定のオブジェクト同士の関係の種類に基づいて係数を計算することができる。ソーシャルグラフ200を参照して、ソーシャルネットワーキング・システム160は、係数を計算するとき、特定のユーザ・ノード202およびコンセプト・ノード204をつなげるエッジ206の数および種類または数もしくは種類を分析することができる。限定ではなく、例として、(その2名のユーザが結婚していることを表す)配偶者型のエッジによってつなげられているユーザ・ノード202には、友達型のエッジによってつなげられているユーザ・ノード202よりも高い係数を割り当てることができる。言い換えれば、特定のユーザのアクションおよび関係に割り当てられる重みに応じて、総合的な親密度はユーザの配偶者に関するコンテンツの方がユーザの友達に関するコンテンツよりも高いと判定することができる。特定の実施形態においては、ユーザが有する別のオブジェクトとの関係は、そのオブジェクトの係数の計算に関するユーザのアクションの重みおよび段階評価または重みもしくは段階評価に影響を及ぼすことができる。限定ではなく、例として、ユーザが第1の写真ではタグ付けされているが、第2の写真には「いいね!」を表明しているだけの場合、コンテンツとタグ付け型の関係を有することにはコンテンツとの「いいね!」型の関係を有するよりも高い重みおよび段階評価または重みもしくは段階評価が割り当てられるので、ソーシャルネットワーキング・システム160は、ユーザが第2の写真よりも第1の写真に関して高い係数を有すると判定することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1人または複数人の第2のユーザが有する特定のオブジェクトとの関係に基づいて、第1のユーザの係数を計算することができる。言い換えれば、他のユーザが有するあるオブジェクトとのつながりおよび係数は、そのオブジェクトに関する第1のユーザの係数に影響を与えることができる。限定ではなく、例として、第1のユーザが1人または複数の第2のユーザにつなげられ、または1人または複数の第2のユーザに関して高い係数を有し、その第2のユーザが特定のオブジェクトにつなげられ、または特定のオブジェクトに関して高い係数を有する場合、ソーシャルネットワーキング・システム160は、第1のユーザもその特定のオブジェクトに関して比較的高い係数を有するはずだと判定することができる。特定の実施形態においては、係数は特定のオブジェクト同士の隔たりの次数に基づくことができる。低い係数は、第1のユーザがソーシャルグラフ200内で第1のユーザに間接的につながるユーザのコンテンツ・オブジェクトへの関心を共有する可能性が低下することを表す。限定ではなく、例として、ソーシャルグラフ200内でより近い(すなわち、隔たりの次数がより小さい)ソーシャル・グラフ・エンティティは、ソーシャルグラフ200内で遠く離れたエンティティよりも高い係数を有することができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は場所情報に基づいて係数を計算することができる。地理的に互いに近いオブジェクトは、遠いオブジェクトよりも互いにより関係があるか、またはより関心があると考えられる。特定の実施形態においては、特定のオブジェクトに対するユーザの係数は、ユーザに関連付けられている現在の場所(またはユーザのクライアント・システム130の場所)へのオブジェクトの場所の近さに基づくことができる。第1のユーザは、その第1のユーザにより近い他のユーザまたはコンセプトにより関心を持つかもしれない。限定ではなく、例として、ユーザが空港から1マイル、ガソリンスタンドから2マイルのところにいる場合、ソーシャルネットワーキング・システム160は、空港のユーザへの近さに基づいて、ユーザはガソリンスタンドよりも空港に関する係数が高いと判定する。
特定の実施形態において、ソーシャルネットワーキング・システム160は、係数情報に基づいて、ユーザに関する特定のアクションを行うことができる。係数を用いて、ユーザの特定のアクションへの関心に基づいてユーザがそのアクションを行うかどうかを予測することができる。広告、検索結果、ニュース記事、媒体、メッセージ、通知、またはその他の適切なオブジェクトなど、任意の種類のオブジェクトを生成し、またはユーザに提示するとき、係数を用いることができる。適切な場合、かかるオブジェクトをランク付けし、順序付けするためにも係数を利用することができる。このように、ソーシャルネットワーキング・システム160は、ユーザの関心および現状に関わる情報を提供することができるので、ユーザが関心のあるかかる情報を見つける可能性を高める。特定の実施形態において、ソーシャルネットワーキング・システム160は、係数情報に基づいて、コンテンツを生成することができる。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて提供または選択されることができる。限定ではなく、例として、係数を用いて、ユーザ向けの媒体を生成することができ、そのユーザが媒体オブジェクトに関して高い総合的な係数を有する媒体をユーザに提示することができる。限定ではなく、別の例として、係数を用いてユーザ向けの広告を生成することができ、広告されるオブジェクトに関してそのユーザが高い総合的な係数を有する広告をユーザに提示することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は係数情報に基づいて検索結果を生成することができる。特定のユーザ向けの検索結果は、問い合わせるユーザに関する検索結果に関連付けられている係数に基づいてスコア付けまたはランク付けすることができる。限定ではなく、例として、検索結果ページには、より高い係数を持つオブジェクトに対応する検索結果を、より低い係数を持つオブジェクトに対応する結果よりも高いランクにすることができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、特定のシステムまたはプロセスからの係数の要求に応答して、係数を計算することができる。ある所与の状況においてユーザが取りうる(または対象になりうる)有望なアクションを予測するために、任意のプロセスは、計算したユーザの係数を要求することができる。その要求は係数を計算するために用いられるさまざまな要因に関して使用する重みのセットも含むことができる。この要求は、オンライン・ソーシャル・ネットワーク上で実行しているプロセス、サード・パーティ・システム170(たとえば、APIもしくは他の通信チャネルを介して)、または別の適切なシステムから発することができる。この要求に応答して、ソーシャルネットワーキング・システム160は係数を計算する(または、以前にすでに計算および格納されていた場合には、係数情報にアクセスする)ことができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、特定のプロセスに関する親密度を測定することができる。異なるプロセス(オンライン・ソーシャル・ネットワークの内部および外部の両方)が特定のオブジェクトまたはオブジェクトのセットの係数を要求することができる。ソーシャルネットワーキング・システム160は、親密度の尺度を要求したその特定のプロセスに関連性のある親密度の尺度を提供することができる。このように、各プロセスは、そのプロセスが親密度の尺度を使用するさまざまな状況に合わせた親密度の尺度を受信する。
ソーシャルグラフの親密度および親密度係数に関連して、特定の実施形態は、2006年8月11日に提出された米国特許出願公開第11/503093号明細書、2010年12月22日に提出された米国特許出願公開第12/976859号明細書、2010年12月22日に提出された米国特許出願公開第12/977027号明細書、2010年12月23日に提出された米国特許出願公開第12/978265号明細書、および2012年10月1日に提出された米国特許出願公開第13/632869号明細書に開示される1つまたは複数のシステム、コンポーネント、要素、機能、方法、演算、または工程を利用することができ、上記特許出願のそれぞれは参照により組み込まれる。
先行入力プロセス
特定の実施形態において、クライアント側プロセスおよびバックエンド(サーバ側)プロセスの両方または一方の1つまたは複数は、ソーシャルネットワーキング・システム160によるホストまたはソーシャルネットワーキング・システム160におけるアクセスが可能な要求ウェブページ(たとえば、ユーザプロフィール・ページ、コンセプトプロフィール・ページ、検索結果ウェブページ、またはオンライン・ソーシャル・ネットワークの別の適当なページ等)と併せてレンダリングされた入力フォームにユーザが現在入力している情報に対して、ソーシャルグラフ要素(たとえば、ユーザ・ノード202、コンセプト・ノード204、またはエッジ206)の照合を自動的に試行可能な「先行入力」機能を実装して利用するようにしてもよい。特定の実施形態において、ユーザがテキストを入力して言明(declaration)を行っている際、先行入力機能は、ソーシャルグラフ200におけるユーザ、コンセプト、またはエッジに対応した文字列(たとえば、名称、説明文)およびそれぞれの対応する要素に対して、言明に入力されているテキスト文字列の照合を試行するようにしてもよい。特定の実施形態において、一致が確認された場合、先行入力機能は、既存のソーシャルグラフ要素のソーシャルグラフ要素の参照(たとえば、ノード名/種類、ノードID、エッジ名/種類、エッジID、または別の適当な参照もしくは識別子等)をフォームに自動で追加するようにしてもよい。
特定の実施形態において、ユーザのプロフィール・ページ、ホーム・ページまたは他のページのさまざまな項目においてコンテンツの追加または言明を行う際に使用するフォームにユーザがテキストをタイプまたは他の方法で入力すると、先行入力プロセスは、ソーシャルネットワーキング・システム160(または、その内部)(たとえば、サーバ162内)で実行されているフロントエンド(クライアント側)プロセスおよびバックエンド(サーバ側)先行入力プロセス(以下、単に「先行入力プロセス」と称する)の両方または一方の1つまたは複数と併せて動作することにより、ユーザがテキスト文字を入力する際に、ユーザが入力したテキスト文字と最も関連または一致すると判定された既存のソーシャルグラフ要素の名称に対応した1つもしくは複数の用語または既存のソーシャルグラフ要素に関連付けられた用語のフォームへの自動追加を対話形式で仮想的に瞬時に(ユーザに見えるように)試行するようにしてもよい。ノードおよびエッジに関連付けられた情報を含めて、ソーシャルグラフ・データベース中のソーシャルグラフ情報またはソーシャルグラフ・データベースから抽出されて索引付けされた情報を利用することにより、先行入力プロセスは、 ソーシャルグラフ・データベースからの情報のほか、可能性として、ソーシャルネットワーキング・システム160内にて配置または実行されているその他さまざまなプロセス、アプリケーション、またはデータベースと併せて、ユーザの意図した言明を高い精度で予測可能であってもよい。ただし、ソーシャルネットワーキング・システム160では、ユーザが望む本質的に任意の言明をユーザが自由に入力することもできるため、ユーザは、自身を自由に表現することができる。
特定の実施形態において、ユーザがフォーム・ボックスまたは他のフィールドにテキスト文字を入力すると、先行入力プロセスは、ユーザが文字を入力している際に、ユーザの言明に入力された文字列と一致する既存のソーシャルグラフ要素(たとえば、ユーザ・ノード202、コンセプト・ノード204、またはエッジ206)の特定を試行するようにしてもよい。特定の実施形態において、ユーザがフォーム・ボックスに文字を入力すると、先行入力プロセスは、入力されたテキスト文字列を読み出すようにしてもよい。また、各キーストロークがなされると、フロントエンド先行入力プロセスは、入力された文字列を要求(または、呼び出し)として、ソーシャルネットワーキング・システム160内で実行されているバックエンド先行入力プロセスに送信するようにしてもよい。特定の実施形態において、先行入力プロセスは、AJAX(Asynchronous JavaScript and XML)または他の適当な技術、特に、非同期技術によって通信するようになっていてもよい。特定の実施形態において、要求は、結果の高速かつ動的な送信およびフェッチが可能なXMLHTTPRequest(XHR)であってもよいし、またはこれを含んでいてもよい。また、特定の実施形態において、先行入力プロセスは、ユーザが言明を行っている特定のページの特定の項目を識別する項目識別子(項目ID)を、要求の前、後、または要求と同時に送信するようにしてもよい。特定の実施形態においては、ユーザIDパラメータも送信されるようになっていてもよいが、これは、いくつかの実施形態では不要となる場合がある。ユーザは、ソーシャルネットワーキング・システム160にログイン済み(または、他の方法で認証済み)であることに基づいて、すでに「既知」となっている場合があるためである。
特定の実施形態において、先行入力プロセスは、1つまたは複数の照合アルゴリズムを用いて、一致するソーシャルグラフ要素の識別を試行するようにしてもよい。特定の実施形態において、1つまたは複数の一致が確認された場合、先行入力プロセスは、たとえば一致するソーシャルグラフ要素の名称(名称文字列)または記述のほか、可能性として、一致するソーシャルグラフ要素に関連付けられた他のメタデータを含み得る応答(AJAXまたは他の適当な技術を利用可能)をユーザのクライアント・システム130に送信するようにしてもよい。限定ではなく一例として、ユーザがクエリ・フィールドに文字「pok」を入力している場合、先行入力プロセスは、「poker(ポーカー)」または「pokemon(ポケモン)」という名称またはテーマのプロフィール・ページ等、一致する既存のプロフィール・ページの名称およびそれぞれのユーザ・ノード202またはコンセプト・ノード204を表すドロップダウン・メニューを表示するようにしてもよく、ユーザがこれをクリックするかまたは他の方法で選択することにより、選択したノードに対応する一致ユーザまたはコンセプト名を言明したいという要望を確認することができる。限定ではなく別の例として、「poker」がクリックされると、先行入力プロセスは、言明「poker」をクエリ・フィールドに自動追加するか、またはウェブ・ブラウザ132に自動追加を行わせるようにしてもよい。特定の実施形態において、先行入力プロセスは、ドロップダウン・メニューを表示するのではなく、単に、最も一致する名称または他の識別子をフィールドに自動追加するようにしてもよい。そして、ユーザは、単に自身のキーボード上で「エンター」キーを押すか、または自動追加された言明をクリックすることによって、該自動追加された言明を確認するようにしてもよい。
先行入力プロセスに関する詳細な情報は、2010年4月19日に出願された米国特許出願公開第12/763162号明細書および2012年7月23日に出願された米国特許出願公開第13/556072号明細書で得ることができ、それぞれの内容を参考として援用する。
デジタル画像およびタグ付け画像
特定の実施形態において、ソーシャルネットワーキング・システム160は、そのユーザが他の人が閲覧するためのデジタル画像をシステムにアップロードすることを可能にすることができる。デジタル画像は、デジタル写真、イラストレーション、地図、スクリーンショット、ビデオ、その他の適切なデジタル画像、またはこれらの任意の組合せを含むことができる。ユーザはオンライン・ソーシャル・ネットワークが管理するサーバに、格納または他のユーザとの共有のために、1つまたは複数のデジタル画像をアップロードすることができる。たとえば、ユーザはクライアント・システム130に格納されている画像のセットを選択し、そのクライアント・デバイス130に対して、ソーシャルネットワーキング・システム160とのネットワーク接続を確立して、その画像のセットをオンライン・ソーシャル・ネットワークにアップロードするよう指示することができる。ユーザはそのデジタル画像をオンライン・ソーシャル・ネットワーク上のユーザのアカウントに関連付けられている特定のファイルまたはアルバムにアップロードすることができる。次いで、オンライン・ソーシャル・ネットワークの1人または複数の他のユーザは、ソーシャルネットワーキング・システム160を介して、そのデジタル画像を閲覧することができる。ユーザは1つまたは複数の画像を非公開として指定し(もしくはその他の形でアクセスを制限し)、または少なくとも部分的にユーザのプライバシー設定に基づいて、オンライン・ソーシャル・ネットワークの一定の他のユーザに1つまたは複数の画像へのアクセス権を付与することができる。
特定の実施形態においては、第1のユーザに関連付けられている画像のセットは、オンライン・ソーシャル・ネットワークの他のユーザに閲覧可能にすることができる。限定ではなく、例として、第2のユーザが第1のユーザのユーザ・プロフィールを訪問する場合、第1のユーザに関連付けられている画像のセットは第2のユーザが閲覧するために利用可能にすることができる(たとえば、第1のユーザの許可またはプライバシー設定、および第1のユーザと第2のユーザとの関係による)。ソーシャルネットワーキング・システムのユーザへの画像の提示は、2012年12月14日に提出された米国特許出願公開第13/715636号明細書に詳細に述べられており、上記特許出願は参照により本明細書に組み込まれる。特定の実施形態においては、第1のユーザに関連付けられている画像は、一連のアルバムとして第2のユーザに提示することができる。限定ではなく、例として、第2のユーザは、第1のユーザのユーザ・プロフィールに関連付けられていて、一連のアルバムを含むウェブページを閲覧することができる。ウェブページの一番下に、第2のユーザは他のアルバム、たとえば、第1のユーザに関連付けられている追加アルバム、別のユーザに関連付けられているアルバム、または第2のユーザ自身のユーザ・プロフィールに関連付けられているアルバムをブラウジングする選択肢を見ることができる。第2のユーザに提示されるアルバムは、たとえば、アルバムのタイトル、アルバムの簡単な説明、またはそのアルバムもしくはその中の写真に関連付けられている任意のその他の情報などの追加情報を含む。特定の実施形態においては、第2のユーザがアルバムの上で(たとえば、マウスを用いて)「ホバーする(hover)」と、第2のユーザはそのアルバムに「いいね!」を表明すること、またはコメントすることができる。さらに、特定の実施形態においては、第2のユーザがアルバムの上でホバーすると、第2のユーザがそのアルバムの上でホバーし続ける間、第2のユーザに提示されるアルバムの代表的な画像として、そのアルバム内の最初のN枚(たとえば、5枚)の写真を自動的に繰り返し表示することができる。第1のユーザは、別のユーザがそのアルバムの上をホバーするときに、自分のアルバムにどの写真を自動サイクルで提示するかを決めることができる。
特定の実施形態においては、画像は特定の種類のメタデータに関連付けることができる。画像に関連付けられるメタデータは(たとえば、画像のソースであるカメラにより)自動生成することができる。画像に関連付けられている自動生成メタデータは、たとえば、画像に関する情報を含むことができ、EXIF(Exchangeable Image File Format)データとして格納することができる。メタデータは、画像を撮影した日時、画像を撮影した場所(たとえば、GPS座標)、画像に適用される圧縮、カメラの型式、およびカメラの設定(たとえば、解像度、色情報、フラッシュの使用、露出、シャッター速度、絞り、焦点距離、またはISO速度)などの情報を含むことができる。特定の実施形態においては、画像に関連付けられているメタデータは自動生成することができるが、ソーシャルネットワーキング・システム160にアップロードする前に手動で編集することができる(たとえば、クライアント・システム130上の写真アプリケーションで編集する)。他の実施形態においては、画像に関連付けられているメタデータは、ソーシャルネットワーキング・システムにアップロードする前に、(たとえば、カメラのユーザまたはクライアント・システム130のユーザにより)手動で生成することができる。
特定の実施形態においては、画像を特定のサイズに拡大縮小することができる。比較的高い解像度の画像、したがって比較的大きいサイズの画像を比較的小さいエリア内に表示する必要がある場合がある。実際上、より大きなスクリーンを有する他のシステムでも同じニーズが生じることがあるが、これは、モバイル・クライアント・システム(たとえば、スマートフォン、携帯電話、タブレット・コンピュータ、ラップトップ・コンピュータ)のスクリーンなど、画像を表示するデバイスのスクリーンが比較的小さいときによく起こる。限定ではなく、例として、クライアント・システム130のビューポート(viewport)によってサポートされる解像度よりも大きい解像度を有する画像は、そのビューポートに画像全体が表示できるようにズームアウト(すなわち、縮小)することができる。同様に、画像の一部のみをビューポートに表示できるように、画像をズームイン(すなわち、拡大)することができる。表示されたときに画像が大きくなるように、さらにズームインすることも可能である。特定の実施形態においては、モバイル・デバイスのディスプレイはしばしば画像とは異なるアスペクト比(たとえば、幅と長さの比)を有することが可能である。さらに、モバイル・デバイスのディスプレイのアスペクト比は、モバイル・デバイスの向き(たとえば、ポートレートモード(portrait mode)、またはランドスケープモード(landscape mode))に依存することができる。たとえば、ソーシャルネットワーキング・システム160に格納されている画像は多くのサイズおよびアスペクト比を有することができるが(たとえば、1920×1080画素、1064×1600画素、1600×1200画素、1200×1200画素、2592×1936画素、3264×2448画素等)、モバイル・デバイスのディスプレイの解像度は、ランドスケープモードでは960×640画素とすることができ、またはポートレートモードでは640×960画素にすることができる。加えて、モバイル・デバイスの(異なるメーカー製の)異なる型式は、異なるディスプレイ解像度およびディスプレイアスペクト比を有することができる。特定の実施形態においては、画像はビューポートのサイズまたは寸法に基づいて1つまたは複数の寸法に拡大縮小することができる。特定の実施形態においては、拡大縮小する画像がビューポートよりも「横長」である(たとえば、画像のアスペクト比がビューポートのアスペクト比よりも大きい)場合、画像をビューポートの高さに等しくなるように拡大縮小することができる。特定の実施形態において、拡大縮小する画像がビューポートよりも「縦長」である(たとえば、画像のアスペクト比がビューポートのアスペクト比よりも小さい)場合、画像をビューポートの幅と等しくなるように拡大縮小することができる。特定の実施形態においては、画像は特定のサイズ(たとえば、ビューポートのサイズ)に切り取られる前に拡大縮小することができる。
図3は、タグを含む例示的な写真を示している。特定の実施形態において、ソーシャルネットワーキング・システム160は、デジタル画像のタグ付けを可能にするものであってもよい。画像を投稿したユーザまたは該画像にアクセス可能なオンライン・ソーシャル・ネットワークの他のユーザは、該画像を閲覧し、画像内の点または領域を選択することによって、該画像のある位置を選択してタグ付けを行うようにしてもよい。また、タグ付けを行うユーザは、画像に描写されたオブジェクトを説明可能なタグの説明文(たとえば、画像に描写されたユーザまたはオブジェクトの名称または他の記述子)を入力するようにしてもよい。画像内の複数の位置をタグ付けするようにしてもよい。タグは、画像内の領域に対応している場合、デジタル画像に重なるボーダー(border)で示されるようになっていてもよい。限定ではなく一例として、特定の画像では、1人または複数の人物を描写していてもよい。画像に描写された人物のうちの1人または複数は、オンライン・ソーシャル・ネットワークの特定のユーザに対応するものとしてタグ付けされていてもよい。通常は、人物の顔を描写した画像内の位置がタグに対応するものとして選択されるようになっていてもよい。特定の実施形態において、タグの説明文は、タグラベルとして画像とともに表示されるようになっていてもよい。限定ではなく一例として、図3は、画像中で4人のユーザがタグ付けされたデジタル写真を示している。ここで、ユーザ「ポール・トーマス(Paul Thomas)」、「カイル・スミス(Kyle Smith)」、「アーシシ・K(Aashish K.)」、および「アシュリー・ブラウン(Ashley Brown)」が写真中でタグ付けされている。また、図3に示す画像は、該画像中でタグ付けされていない他の3人を描写している。各タグに対応したタグラベルは、各タグの位置に対応した画像上にレンダリングされており、この場合は、画像に描写されたユーザの位置である。図3において、タグラベルの説明文は、タグ付けされたユーザの氏名であり、画像中でユーザがタグ付けされた位置の下方に(すなわち、画像に描写されたユーザの顔の下方に)隣接して表示されている。本開示では、特定の画像に対する特定の様態でのタグ付けを説明しているが、任意適当な画像に対する任意適当な様態でのタグ付けも考えられる。
特定の実施形態において、タグはソーシャルグラフ200の特定のエッジ206に対応付けることができる。ソーシャルグラフ200の特定のノードは、タグ付け型エッジ206によって、画像に対応するコンセプト・ノード204につなげることができる。このように、特定のタグはオンライン・ソーシャル・ネットワークに関連付けられている特定のユーザまたはコンセプトに対応付けることができる。さらに、タグに関連付けられているタグラベルは、タグに対応するソーシャル・グラフ・エンティティに関連付けられている名前またはその他の記述子とすることが可能である。特定の実施形態において、タグは画像に関連付けられている一種のメタデータと考えることができる。限定ではなく、例として、画像がソーシャルネットワーキング・システム160の1人または複数人のユーザを含む写真である場合、その写真は写真に描写されている1人または複数人のユーザの名前または識別子を示すメタデータで「タグ付け」することができる。限定ではなく、別の例として、画像が特定の場所または時刻に撮影された写真である場合、その写真は場所を含むメタデータ(特定の実施形態においては、ソーシャルグラフ200のコンセプト・ノード204に対応することができる)、または日付もしくは時刻情報でタグ付けすることもできる。同様に、画像がソーシャルグラフ200内のコンセプト・ノード204に関連付けられている建物、ロゴもしくはブランド、またはその他の任意のコンセプトを含む写真である場合、その写真はその対応するコンセプト・ノードの識別子を含むメタデータでタグ付けすることができる。特定の実施形態において、画像に関連付けられているメタデータはソーシャルネットワーキング・システム160によって自動的に生成してもよい。限定ではなく、例として、ソーシャルネットワーキング・システム160は、画像のタグ付けを、その画像をアップロードしたユーザの識別子を含むメタデータを用いて自動的に行うことができる。限定ではなく、別の例として、ソーシャルネットワーキング・システム160はアップロードされた画像内の1つまたは複数の顔を自動的に検出することができる。これは、たとえば、顔認識アルゴリズムを用いて行うことができる。アップロードされた画像内で検出された顔に基づいて、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160の1人または複数人のユーザが画像内に存在することを自動的に判定し、(ユーザの個々のプライバシー設定に応じて)その画像のタグ付けをその画像に存在するユーザの識別子を含むメタデータを用いて行い、さらに識別されたユーザのユーザ・ノード202を画像に対応するコンセプト・ノード204につなげるタグ付け型エッジ206を生成することができる。限定ではなく、別の例として、ソーシャルネットワーキング・システム160は、アップロードされる画像内において、ソーシャルグラフ内のコンセプト・ノードに関連付けられている場所、建物、ロゴもしくはブランド、またはその他の任意のコンセプトを(たとえば、コンピュータビジョンアルゴリズムを用いて)自動的に検出することができる。ソーシャルネットワーキング・システム160は画像のタグ付けを、自動検出したアイテムに対応するソーシャルグラフ内のコンセプト・ノードの識別子を含むメタデータを用いて自動的に行うことができる。
顔認識を用いたタグ付けの提案
特定の実施形態において、ソーシャルネットワーキング・システム160は、顔認識プロセスを用いることにより、画像に対するタグ付けの提案を生成するようにしてもよい。ソーシャルネットワーキング・システム160は、画像中の人物の描写等の画像情報を比較し、該画像情報を顔紋集合と比較することにより、画像に描写された人物がオンライン・ソーシャル・ネットワークの任意のユーザの顔紋(face signature)と一致するか否かを試行および予測するようにしてもよい。これらの顔紋は、たとえばオンライン・ソーシャル・ネットワークの特定のユーザがタグ付けされた他の画像を解析することにより該ユーザに対してソーシャルネットワーキング・システム160が生成した顔表現であってもよい。したがって、標準的なタグ付けの提案のアルゴリズムは、f(n,i)という形式であってもよく、ここで、nはオンライン・ソーシャル・ネットワークの特定のユーザの顔紋、iは画像情報である。ただし、数千人、場合により数百万人ものユーザの顔紋を調べるのは、効果的ではなく、予測が不十分となる場合もある。タグ付けの提案のアルゴリズムは、ソーシャルグラフ情報、先行入力情報、またはオンライン・ソーシャル・ネットワーク上で利用できるその他適当な情報等の付加的な情報を用いて改善可能である。言い換えると、タグ付けの提案のアルゴリズムは、関数がf(n,i,s)となるように修正可能であり、ここで、sはオンライン・ソーシャル・ネットワーク上で利用できる付加的な情報である。特定の実施形態において、付加的な情報には、たとえばソーシャルグラフ親密度情報、タグ履歴情報、またはユーザ入力(たとえば、先行入力フィールドにユーザが入力した文字列)を含んでいてもよい。また、タグ付けの提案のアルゴリズムに用いる因子のうちの1つまたは複数には、時間減衰因子(time-decay factor)が適用されるようになっていてもよい。限定ではなく一例として、タグ付けの提案のアルゴリズムにおいては、より新しいタグにより大きな重み付けがなされるように、時間減衰がタグ履歴情報に関して考慮されるようになっていてもよい。そして、この予測がユーザにタグ付けの提案として送信され、ユーザは、これを選択することにより、特定のユーザの画像にタグ付けを行うようにしてもよい。タグ付けの提案は、ユーザがタグラベル・フィールドに文字を入力する際に提示されるようになっていてもよく、ユーザが該フィールドにさらに文字を入力すると、先行入力機能によりリアルタイムで絞り込まれる。本開示では、特定の様態でのタグ付けの提案の生成を説明しているが、任意適当な様態でのタグ付けの提案の生成も考えられる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークに関連付けられている第1のユーザから、オンライン・ソーシャル・ネットワークに関連付けられている画像の閲覧要求を受信することができる。要求は、たとえば、第1のユーザに関連付けられているクライアント・システム130から受信することができる。要求に応答して、ソーシャルネットワーキング・システム160は画像にアクセスすることができる。画像は、オンライン・ソーシャル・ネットワークに関連付けられている複数のオブジェクトにそれぞれ対応する1つまたは複数のタグを備えることができる。各オブジェクトは、たとえば、特定のソーシャル・グラフ・エンティティ(たとえば、ソーシャルグラフ200のユーザ・ノード202またはコンセプト・ノード204)に対応付けることができる。各タグは画像内の特定の位置(例、ある点またはエリア)に関連付けることができる。限定ではなく、例として、図3を参照すると、画像は写真内に「ポール・トーマス」、「カイル・スミス」、「アーシシ・K」、「アシュリー・ブラウン」の4人のユーザがタグ付けされている写真の一部を示す。これらのユーザのそれぞれのタグは写真内の特定の位置に対応しており、この場合、各ユーザの顔を描写している写真の領域である。その名前の付いたタグラベルはそれぞれの顔の真下に表示されている。特定の実施形態においては、タグのうちの1つは第1のユーザ(すなわち、要求するユーザ)に対応付けることができる。限定ではなく、例として、要求するユーザを画像が描写する場合(たとえば、第1のユーザがたまたま図3の「アシュリー・ブラウン」である場合)、要求するユーザが描写される位置は、要求するユーザに対応する識別情報(たとえば、ユーザの名前または識別子)でタグ付けすることができる。本開示は特定の方式で画像を要求し、画像にアクセスすることについて記述しているが、本開示は任意の適切な方式で画像を要求し、画像にアクセスすることを想定している。
特定の実施形態において、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークの1人または複数のユーザのソーシャルグラフ親密度を決定するようにしてもよい。ソーシャルグラフ親密度は、任意適当な様態で決定されるようになっていてもよい。特定のユーザに対する画像のソーシャル・コンテキストの関連性または第2のユーザに対する第1のユーザの関連性は、ソーシャルグラフ200から集められた情報に基づいて決定されるようになっていてもよい。限定ではなく一例として、(たとえば、ユーザが相手のプロフィールを閲覧している場合に)ユーザへの表示に利用可能な画像は、該ユーザに対する関連もしくは描写があるソーシャル・コンテキストを有する画像、ソーシャルグラフにおいて該ユーザにつながっている他のユーザに対する関連もしくは描写があるソーシャル・コンテキストを有する画像(ソーシャルグラフは、特定の分離度の範囲内で該ユーザにつながっているユーザ、タグ付けされたオブジェクトに対応するノードとユーザ・ノード202との間の分離度が該画像にアクセスするユーザに対応した特定のグループもしくは組織内のユーザ、該ユーザと特定の関心もしくは親密度を共有しているユーザ、該ユーザと類似のプロフィールもしくはターゲット層のプロフィールを有するユーザ、または同じ時間に同じ場所にいるものと識別されたユーザに限られていてもよい)、該ユーザがフォローしている特定のユーザもしくはコンセプトに対する関連もしくは描写があるソーシャル・コンテキストを有する画像、該ユーザが出席したイベントに対する関連もしくは描写があるソーシャル・コンテキストを有する画像、ソーシャルグラフにおいて該ユーザにつながっているユーザが招待されたかもしくは出席したイベントに対する関連もしくは描写があるソーシャル・コンテキストを有する画像、ユーザが頻繁に訪れる場所もしくは企業に対する関連もしくは描写があるソーシャル・コンテキストを有する画像、特定のユーザを示す他の画像を閲覧するソーシャル・コンテキストを有する画像、同じアルバムの他の画像もしくは画像集合において描写されたソーシャル・コンテキストを有する画像、特定のユーザに関連付けられたプロフィール・ページにアクセスするソーシャル・コンテキストを有する画像、特定のユーザに関連付けられたタグ(もしくは、その他適当なタグ履歴情報)を選択もしくは作成するソーシャル・コンテキストを有する画像、その他適当なソーシャル・コンテキストを有する画像、またはこれらの任意の組み合わせを含んでいてもよい。ソーシャルネットワーキング・システム160は、上掲の因子のうちの1つもしくは複数、または本明細書に記載のその他任意の関連因子に基づいて、ソーシャルグラフ親密度を決定するようにしてもよい。さらに、ソーシャルグラフ親密度の決定においては、より新しいアクションの場合にソーシャルグラフ親密度計算時の関連性がより高くなるように、上掲の因子のうちの1つまたは複数の時間減衰をさらに考慮するようにしてもよい。限定ではなく一例として、ソーシャルグラフにおいて該ユーザにつながっている画像中に示す多くのユーザは、ソーシャルグラフ親密度に影響を及ぼす場合がある。別の例としては、該ユーザと画像に示すユーザとの間のつながりの種類がソーシャルグラフ親密度に影響を及ぼす場合がある。また、ソーシャルネットワーキング・システム160は、ユーザの関心に少なくとも部分的に基づいて、ユーザに対する画像のソーシャル・コンテキストの関連性を決定するようにしてもよい。関心値(interest value)は、ユーザの関心に関連付けられた1つまたは複数のカテゴリに対して画像のソーシャル・コンテキストが一致するか否かに少なくとも部分的に基づいていてもよい。たとえば、関心値は、ユーザの関心に関連付けられた1つまたは複数のカテゴリに対して、画像に示す人、場所、オブジェクト、またはアクションが一致するか否かに少なくとも部分的に基づいていてもよい。本開示では、特定のユーザに対する特定の様態でのソーシャルグラフ親密度の決定を説明しているが、任意適当なユーザに対する任意適当な様態でのソーシャルグラフ親密度の決定も考えられる。
図4Aは、ソーシャルグラフ情報を用いた顔認識の一例を示している。顔認識には、顔表現の生成と、その後の複数の顔表現の比較とを含んでいてもよい。ソーシャルグラフ情報を用いた顔認識には、多次元コンテキストを採用した関係マッピング機能の使用を含んでいてもよい。特定の実施形態において、ソーシャルネットワーキング・システム160は、描写された少なくとも1人の人物が既知である(すなわち、描写された少なくとも1人の人物がタグ付けされている)画像に対するタグ付けの提案を提供するようにしてもよい。限定ではなく一例として、この機能は、少なくとも1人が既知である複数の人物の画像を含む、画像400として表されている画像から始めることによって、理解および視覚化が可能である。画像400に示す例において、画像に描写された1人の人物(ここでは、ジョン(John)と標識)は、既知である(すなわち、この画像は、オンライン・ソーシャル・ネットワークのユーザ「ジョン」に対応したタグを含む)。画像に描写された第2の人物(ここでは、「未知」と標識)は、未知である(すなわち、この人物に対応したタグは存在しない)。この例においては、画像400として表されている写真を撮った人物も既知であり、オンライン・ソーシャル・ネットワークのユーザ「グレッグ(Greg)」として識別されている。
特定の実施形態においては、画像に描写された未知の人物を識別するため、特に画像400に含まれる視覚分別可能な情報と、画像に出現するかまたは他の形で関連付けられた上記人物に関する追加の視覚分別不可能な情報とに基づいて、反復関係マップ(iterative relationship map)を生成する。特定の実施形態において、視覚分別不可能な情報には、画像データに添付または関連付けられたメタデータを含んでいてもよい。画像データには通常、JPEGまたはPNG形式の画像を含むが、任意適当な画像形式を使用するようにしてもよい。メタデータは、XMLデータまたはソーシャルネットワーキング・システム160から派生したその他適当な形式のほか、XML、EXIFタグ、またはその他の標準的な画像コンテキスト・データ等、画像データに従来添付されているデータであってもよい。通常、本例において、ジョンおよびピーター(Peter)は、オンライン・ソーシャル・ネットワーク上で一意に既知であり、それぞれ、ソーシャルグラフ200の特定のユーザ・ノード202に対応していてもよい。画像400として表されている画像を含む写真を撮った人物は、(たとえば、画像400の画像データに添付されたXMLデータによって)グレッグとして識別されている。また、グレッグは、ソーシャルグラフ200の特定のユーザ・ノード202に対応していてもよい。
特定の実施形態において、関係マップの生成は、線図402として表され、画像中の1人または複数の既知の人物(この場合はジョン)の関係に関する情報を含む既存の反復関係マップ(ここでは、先行関係マップと称する)から始めるようになっていてもよい。関係マップの生成においては、未知の個人とともにジョンが画像に出現していること等、画像400からの情報を採用する。また、先行関係マップは、ソーシャルグラフ200等のソーシャルネットワーキング・システム160から受信した人物間関係データのほか、他の画像の解析に基づく特定の実施形態の関係マッピング機能の動作の初期のインスタンスから派生した人物間関係データに基づく。
特定の実施形態において、ソーシャルグラフ親密度は、タグ履歴情報に基づいていてもよい。タグ履歴情報には、たとえば特定の画像において一緒にタグ付けされたユーザ、特定のユーザがタグ付けされた画像、これらのタグを作成したユーザを記述する情報、特定の画像中のタグ数、タグ位置、その他適当なタグ関連情報、またはこれらの任意の組み合わせを含んでいてもよい。線図402は、ソーシャルグラフ200の一部に基づいていてもよいし、ソーシャルグラフ200の一部を表していてもよいが、男性であるユーザ「ジョン」が女性であるユーザ「シャロン(Sharon)」につながり、ユーザ「シャロン」が男性であるユーザ「マイク(Mike)」につながっていることを示している。また、ジョンは、男性であるユーザ「ピーター」につながっている。関係マップに採用する記号は、親密度係数として測定可能な2人のユーザ間の関係の強度(すなわち、2人のユーザ間のソーシャルグラフ親密度)等、さまざまなパラメータを示す。図4Aに示す例において、ユーザ間のつながりに挿入した数字は、2人のユーザ間の矢印の方向で示すように、ユーザの別のユーザに対する計算した親密度係数を示す。親密度係数が高いほど、図示の例における関係は強くなる。限定ではなく一例として、線図402の例において、ジョンとマイクとの間の親密度係数は、シャロンを介した間接的なつながりであるにも関わらず、ジョンとシャロンとの間の関係(85)およびシャロンとマイクとの間の関係(100)によって、相対的に強くなるものと予想される。この強度は、たとえばシャロンがマイクとともに出現し、ジョンと別個に出現する複数の画像によって証明可能である。言い換えると、マイクおよびジョンは、過去に写真で一緒にタグ付けされていないという事実にも関わらず、両者とも、過去の写真において、共通の友人であるシャロンとともにタグ付けされていることから、互いの親密度係数が相対的に弱くなる場合がある。限定ではなく別の例として、ジョンとピーターとの間の関係は、直接的な関係であるにも関わらず、相対的に弱い(10)。たとえば、ジョンおよびピーターは両者とも、一緒に出現しているのが1つの画像のみであり、該画像は、その他多くの人物を含んでいる場合がある。言い換えると、ジョンおよびピーターは両者とも、過去に1つの写真でしか一緒にタグ付けされていないことから、互いの親密度係数が相対的に弱くなる場合がある。本開示では、特定のタグ履歴情報に基づく特定の様態でのソーシャルグラフ親密度の決定を説明しているが、任意適当なタグ履歴情報に基づく任意適当な様態でのソーシャルグラフ親密度の決定も考えられる。
特定の実施形態においては、画像に描写された未知の人物と一致する可能性のある候補ユーザとして、オンライン・ソーシャル・ネットワークの第1のユーザ集合が選択されるようになっていてもよい。そして、ソーシャルネットワーキング・システム160は、各候補ユーザについて、画像に描写された未知の人物に関する顔認識スコアを決定するようにしてもよい。顔認識スコアは、本明細書において論じる通り、多様な因子に基づいて計算されるようになっていてもよい。各ユーザの前記顔認識スコアは、画像に描写された未知のユーザと該ユーザが一致する確率を評価していてもよい。ユーザは、ソーシャルグラフ情報またはタグ履歴情報等の多様な因子に基づいて選択されるようになっていてもよい。特定の実施形態において、候補人物のリストは、先行関係マップ(たとえば、ソーシャルグラフ200)に出現する人物の関係を解析することにより、優先順位を付けるようにしてもよい。実際のところ、先行関係マップは、数百万人の人物を含む場合がある。このようにして、先行関係マップに出現する人物の優先順位を付けるようにしてもよい。この優先順位付けには、たとえば画像中の未知の人物の性別以外の性別の人物を除外する画像属性フィルタリングを含んでいてもよい。限定ではなく一例として、図4Aを参照すると、線図402において出現しているユーザは、マイクおよびシャロンである。画像400の未知の人物が男性であると画像属性認識が示していることから、画像属性フィルタリングを使用すると、シャロンが除外される。また、優先順位付けは、ユーザ間の分離度に基づいていてもよい。ソーシャルグラフ200における他の関連ノードの閾値分離度の範囲内のユーザ・ノード202に対応したユーザが選択されるようになっていてもよい。限定ではなく一例として、画像を作成したユーザに対する第1もしくは第2級のつながり、または画像中でタグ付けされたユーザのうちの1人または複数が選択されるようになっていてもよい。同様に、画像に対応したコンセプト・ノード204の閾値分離度の範囲内のユーザ・ノード202に対応したユーザが選択されるようになっていてもよい。特定の実施形態においては、画像中の既知の人物に対して少なくとも1つの所定の関係にあるユーザが用いられるようになっていてもよい。限定ではなく一例として、図4Aを参照すると、画像400において、ユーザであるジョンが既にタグ付けされていることから、ジョンと所定の関係にあるユーザを選択して解析することにより、画像400に描写された未知の人物とこれらのユーザが一致するか否かを確認するようにしてもよい。特定の実施形態において、ソーシャルネットワーキング・システム160は、画像に含まれる視覚分別可能な情報のほか、視覚分別不可能な情報に基づいて、画像中のタグ付けされたユーザと一時的な関連のある候補ユーザのリストを生成するようにしてもよい。このような情報には、たとえばソーシャルグラフ情報、タグ履歴情報、画像メタデータ、画像中でタグ付けされたオンライン・ソーシャル・ネットワークのユーザ、画像が作成された時間および地理的位置(たとえば、デジタル写真が撮られたGPS座標)、画像が関連付けられたオンライン・ソーシャル・ネットワーク上のアルバム、画像を作成したオンライン・ソーシャル・ネットワークのユーザ、画像内で特定のタグを作成したユーザ、画像中の各タグが作成されてからの時間、その他適当な情報、またはこれらの任意の組み合わせを含んでいてもよい。限定ではなく一例として、ソーシャルネットワーキング・システム160は、解析している画像と同じアルバムの他の画像において出現する(すなわち、タグ付けされている)1人もしくは複数のユーザまたは同じ時間に同じ地理的位置で撮られた他のアルバムに出現するユーザを識別するようにしてもよい。これらのユーザは通常、候補ユーザの初期リストに存在することになる。本開示では、顔認識解析を行う特定のユーザの特定の様態での選択を説明しているが、顔認識解析を行う任意適当なユーザの任意適当な様態での選択も考えられる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、候補ユーザのうちの1人または複数のソーシャルグラフ親密度に少なくとも部分的に基づいて、顔認識スコアを計算するようにしてもよい。このように、優先順位付けは、既知の人物(たとえば、写真中でタグ付けされたユーザまたは写真を作成したユーザ)と先行関係マップにおけるその他さまざまなユーザ(たとえば、ソーシャルグラフ200において該ユーザとつながっている他のユーザ)との間の関係の強度(たとえば、ソーシャルグラフ親密度または計算した親密度係数)に依拠していてもよい。優先順位付けによって、既知の人物と最も強い関係(すなわち、最も強いソーシャルグラフ親密度)を有するユーザに、より高い優先順位(すなわち、より高い顔認識スコア)が与えられるようになっていてもよい。限定ではなく一例として、図4Aを参照すると、マイクは、既知のユーザであるジョンに対する親密度係数がより高いことから、ピーターより優先されるようになっていてもよい。優先順位付けは、優先順位が最も高い(すなわち、顔認識スコアが最も高い)人物の画像に関する顔認識を最初に行うことによって、動作時に表現される。したがって、候補となる人物の数が数百万の場合は、優先順位付けが非常に重要となる。特定の実施形態において、上記タグ履歴情報は、決定したソーシャルグラフ親密度とは別に、または決定したソーシャルグラフ親密度の一部として考慮されるようになっていてもよい。言い換えると、顔認識スコアを計算する場合、タグ履歴情報は、独立した信号または決定したソーシャルグラフ親密度の一部として考慮されるようになっていてもよい。本開示では、特定の様態での顔認識スコアの計算を説明しているが、任意適当な様態での顔認識スコアの計算も考えられる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、画像中の人物の描写との比較により、オンライン・ソーシャル・ネットワークのユーザに関連付けられた顔表現に少なくとも部分的に基づいて、顔認識スコアを計算するようにしてもよい。ユーザに関連付けられた顔表現は、画像との比較(たとえば、画像に描写された人物の顔との比較)が行われるようになっていてもよい。顔表現の生成は、全面的に従来技術であってもよいが、画像中の未知の人物について行われるようになっていてもよい。その結果としての顔表現は、上記優先順位付けに従い、それにより確立された順序で、候補ユーザの過去に生成された顔表現(たとえば、各候補ユーザに関連付けられたそれぞれのユーザプロフィール情報との関係でソーシャルネットワーキング・システム160により格納されたものであってもよい)と比較されるようになっていてもよい。比較の結果は、2つの異なる顔表現の類似性を示す測定基準であってもよい。所与の候補人物に関して、優先順位/類似性組み合わせ閾値に到達した場合は、比較を終了して、候補を選択するようにしてもよい。優先順位/類似性閾値には、画像に描写された未知の人物の顔表現に対する候補ユーザの顔表現の類似性を考慮するようにしてもよい。前述の優先順位付けおよび測定基準により確立された候補ユーザの優先順位は、該候補ユーザの顔表現のクオリティを示す。この測定基準は、たとえばソーシャルネットワーキング・システム160により解析された該候補ユーザの画像の数および過去のユーザ・フィードバック等のさまざまなパラメータの関数であってもよい。例示的なクオリティ測定基準Qiは、以下の式により与えられる。
ここで、nは顔表現を含む画像の数、fpはユーザ・フィードバックにより過去に示された偽陽性の割合、tpはユーザ・フィードバックにより過去に示された真陽性の割合、fnはユーザ・フィードバックにより過去に示された偽陰性の割合、qは顔表現を構成する画像を表すベクトルの分散の重み付けである。そして、画像に描写された未知の人物と選択した候補ユーザとの間の照合を採用することにより、図4Aの線図404に示すような最初の改訂関係マップを提供するようにしてもよい。図4Aに示す例において、未知の人物は暫定的にマイクと識別され、マイクとジョンとの間の関係は最初、相対的に弱い関係として示される(すなわち、計算した親密度係数が低い)。そして、マイクは、タグ付けの提案として、該画像を閲覧または投稿したユーザに送信されるようになっていてもよい。なお、線図404においては、グレッグもジョンと弱い単方向関係にあるものとして出現しているが、これは、グレッグがデジタル画像400を撮ったことに基づく。画像がマイクと考えられる人物が実際にマイクである(たとえば、画像中でマイクとしてタグ付けされたユーザ)ことを確認する任意の正のユーザ・フィードバックがソーシャル・ネットワークを介して受信された場合には、このフィードバックを用いて、次の改訂関係マップ(図示せず)で表されるようにマイクとジョンとの間の関係を強化するとともに、マイクの顔表現のクオリティを示す測定基準を強化するようにしてもよい。逆に、画像がマイクと考えられる人物がマイクではない(たとえば、画像中で他の誰かとしてタグ付けされたユーザ)ことを示す負のユーザ・フィードバックの受信により、次の改訂関係マップで表されるようにマイクとジョンとの間の関係が弱められ、マイクの顔表現のクオリティを示す測定基準も弱められるようになっていてもよい。また、これは、将来的な顔表現の比較の否定的な例としての役割を果たすようになっていてもよい。本開示では、画像に対する特定の様態での顔認識の実施を説明しているが、画像に対する任意適当な様態での顔認識の実施も考えられる。
また、上述の先行関係マップには、従来の顔表現生成技術により生成可能な顔表現を含んでいてもよい。この顔表現は、マップ中の人物それぞれを識別するベクトルの形態であってもよい。顔認識に関連して、特定の実施形態では、1992年11月17日に発行された米国特許第5164992号明細書、2001年9月18日に発行された米国特許第6292575号明細書、および2011年3月31日に出願されたPCT出願第PCT/IL2011/000287号明細書に開示の1つまたは複数のシステム、コンポーネント、要素、機能、方法、動作、またはステップを利用するようにしてもよく、それぞれの内容を参考として援用する。また、先行関係マップには、マップ中の各人物が男性または女性のいずれであるかの示唆(図4Aおよび図4Bの例では、文字MおよびFで示す)を含んでいてもよい。この示唆は、ソーシャルネットワーキング・システム160が提供するソーシャルグラフ情報等のさまざまな情報源または画像属性認識の働きによってもたらされるようになっていてもよい。限定ではなく一例として、画像属性解析を画像400に適用することにより、未知の個人が男性または女性のいずれであるかを判定するようにしてもよい。画像属性認識によって別の属性が生成されるようになっていてもよく、先行関係マップに含めることができる。これらには、肌の色、目の色、および髪の色を含んでいてもよい。従来の画像属性認識は、性別判定において90%を超える精度を有することが知られている。画像属性認識に関連して、特定の実施形態では、2006年1月24日に発行された米国特許第6990217号明細書に開示の1つまたは複数のシステム、コンポーネント、要素、機能、方法、動作、またはステップを利用するようにしてもよく、その内容を参考として援用する。また、先行関係マップおよび後続の関係マップには、視覚背景解析による情報を含んでいてもよい。特定の実施形態において、顔認識スコアは、デバイス情報(たとえば、画像が作成されたデバイスの種類(異なる人物の撮影に異なるデバイスを使用してもよい))または時間および位置情報(ユーザおよび画像写真の両者)等の付加的な信号に部分的に基づいていてもよい。時間および位置情報に関連して、特定の実施形態では、米国特許出願公開第12/763171号明細書および米国特許出願公開第13/042357号明細書に開示の1つまたは複数のシステム、コンポーネント、要素、機能、方法、動作、またはステップを利用するようにしてもよく、それぞれの内容を参考として援用する。
図4Bは、ソーシャルグラフ情報を用いた顔認識の別の例を示している。特定の実施形態において、ソーシャルネットワーキング・システム160は、描写されたいずれの人物も未知である画像に対するタグ付けの提案を提供するようにしてもよい。言い換えると、ソーシャルネットワーキング・システム160は、画像中でタグ付けされたユーザがいなくても、該画像に描写された未知の人物の識別を試行するようにしてもよい。限定ではなく一例として、この機能は、複数の人物の画像を含む、画像450として表された画像から始めることによって、理解および視覚化が可能である。画像450により例示する本例においては、「未知1」、「未知2」、および「未知3」と標識された3人の人物が出現している。全員が未知である(すなわち、1人もタグ付けされていない)。本例において、画像450として表された写真をソーシャル・ネットワーク・サイトにアップロードしたユーザは、ジョンであることが分かっている。特定の実施形態において、ソーシャルネットワーキング・システム160は、(上述の)関係マッピングを採用することにより、画像中の未知の人物のうちの1人または複数を識別するようにしてもよい。関係マップの生成は、線図404と同一の線図452として表された既存の反復関係マップ(たとえば、先行関係マップ)から始めるようになっていてもよい。この先行関係マップは、過去に解析された画像中の1人または複数の既知の人物、この場合はジョン、ピーター、グレッグ、およびシャロン、の関係に関する情報を含む。この情報は、1つまたは複数のオンライン・ソーシャル・ネットワーク(たとえば、ソーシャルグラフ200)から受信した人物間関係データのほか、他の画像の解析に基づく本発明の関係マッピング機能の動作の初期のインスタンスから派生した人物間関係データに基づいていてもよい。
線図452は、男性であるジョンが女性であるシャロンとの強い社会的関係(すなわち、高い親密度係数)を有することが知られており、シャロンが男性であるマイクとの強い社会的関係を有することを示している。また、ジョンは、男性であるピーター、グレッグ、およびマイクと弱い社会的関係(すなわち、低い親密度係数)を有することが示されている。特定の実施形態においては、画像450として表された写真をアップロードした既知のユーザであるジョンに対して少なくとも1つの所定の関係を有する候補ユーザを探索する。これは、先行関係マップ452に出現しているユーザまたはソーシャルグラフ200においてこれらのユーザとつながっているユーザから始めるようにしてもよい。そして、上述の通り、ソーシャルネットワーキング・システム160は、先行関係マップに出現している選択ユーザに優先順位を付けることによって、画像に描写された未知の人物に対する1つまたは複数のタグ付けの提案を生成するようにしてもよい。本例において、優先順位付けは、関係マップ452中の既知のユーザであるジョンと他のユーザとの間の関係の強度に基づいていてもよく、既知の人物であるジョンと最も強い関係(すなわち、最も高い親密度係数)を有するユーザに対して、はるかに高い優先順位を付ける。このように、本例においては、ジョンが自身と最も強い関係にあるものとして、とりわけ優先される。言い換えると、ジョンが自身を描写した写真を投稿した可能性が高い。シャロンがその性別に基づいてソーシャルネットワーキング・システム160により除外されると仮定すると、次に高い優先順位を有するのはマイクである。マイクの次に、ピーターおよびグレッグの関係矢印はともに同じスコア値となっているが、ジョンとグレッグとの間の関係が単方向にしか分かっていないことから、ピーターの優先順位がグレッグよりも高い。
特定の実施形態において、優先順位付けは、上述の通り、顔認識スコア等の確実性測定基準に基づいていてもよい。限定ではなく一例として、図4Bに示す例においては、最初、ジョンが画像450中の未知の人物のうちの1人である確率が特に高くなくてもよい。この点から、ジョンとの関係が相対的に弱いピーターおよびグレッグが候補として考慮されなくてもよい(そして、後々タグ付けの提案として生成されなくてもよい)ように、優先順位付けが打ち切られるようになっていてもよい。上述の通り、優先順位付けは、ジョンから始めて優先順位が最も高い人物に関する顔認識を最初に行うことによって、特定の実施形態の動作時に表現されるようになっていてもよい。言い換えると、ソーシャルグラフ親密度は、次に顔認識解析を行うユーザを判定するための閾値因子として使用可能である。あるいは、ソーシャルグラフ親密度は、顔認識解析の尺度と併せて、顔認識スコアを計算する際の独立した信号として使用可能である。顔表現の生成は、画像450中の未知の人物について行われるようになっていてもよい。そして、その結果としての顔表現は、上記優先順位付けに従い、それにより確立された順序で、候補ユーザの過去に生成された顔表現と比較されるようになっていてもよい。限定ではなく一例として、顔表現の生成は、画像450内の3つの未知の画像について行われるようになっていてもよい。その後、上記生成された優先順位リストに従って、画像450に描写された3人の未知の人物の顔表現の比較が行われるようになっていてもよい。それぞれの優先順位/類似性閾値の評価により、「未知1」がジョンとして認識される一方、「未知2」および「未知3」はまだ認識されていなくてもよい。「未知1」をジョンと認識したのに続き、画像中のその他未知の人物を認識するため、ソーシャルネットワーキング・システム160によって、付加的な優先順位付けの反復が実行されるようになっていてもよい。この付加的な優先順位付けの反復においては、「未知1」をジョンとして識別したことにより、ジョンと関係がある(たとえば、ソーシャルグラフ200においてジョンとつながっている)ことが知られているユーザの顔認識スコアが高くなるため、ピーターを候補と考えることができる。グレッグは、ジョンとの関係が単方向であるため、依然として候補と考えられない。マイクについても、生成された未知の顔表現との過去の比較によって、低い類似性測定基準が生成されていることから、考えられない。新たな優先順位リストには、画像450においてタグ付けがなされたピーターを、そのジョンとの関係に基づいて含めるようにしてもよい。画像450中のその他未知の人物の顔表現は、改訂した優先順位付けに従い、それにより確立された順序で、候補ユーザの過去に生成された顔表現と比較されるようになっていてもよい。限定ではなく一例として、「未知2」がピーターとして認識される一方、「未知3」はまだ認識されていなくてもよい。「未知2」をピーターと認識したのに続き、画像中の最後の未知の人物を認識するため、さらに別の優先順位付けの反復が実行されるようになっていてもよい。このさらに別の優先順位付けの反復においては、「未知2」をピーターとして識別したことにより、候補リストの生成には、両者とも画像450においてタグ付けがなされたジョンおよびピーターという2つの始点が存在することが示されていてもよい。このように、2つの候補リストの一部分を提供および使用することにより、重み付けグラフ組み合わせ技術を用いて、単一の優先順位リストを生成するようにしてもよい。この段階では、線図454に示すように、さらに別の関係マップが生成されてもよい。この関係マップにおいては、ジョンとピーターとの間の表示関係が強化されている。また、「未知3」、ジョン、およびピーター間の関係についても、画像450に基づいて示されている。そして、「未知3」は、ジョンと関係を有することが後々示される人物の顔表現または関係マップ454に出現しているその他ユーザに対する「未知3」の顔表現の比較によって、将来的に認識されるようになっていてもよい。
図5は、ソーシャルグラフ情報を用いた顔認識を行う例示的なシステムを示している。このシステムは、ソーシャルネットワーキング・システム160のサブシステムであってもよいし、ソーシャルネットワーキング・システム160から独立していてもよい。特定の実施形態において、このシステムは、Facebook、Myspace、Google、Flickr、Twitter、またはその他適当なシステムが提供するアプリケーションプログラム・インターフェース(API)等、1つまたは複数の公的に入手可能なソーシャル・ネットワークAPI500を利用していてもよい。このシステムは、たとえばアプリケーションに埋め込み可能なウィジェット(widget)502またはローカル・アルバム・インデクサ(local album indexers)504等のスタンドアロン・アプリケーションを介して、API500と対話形式で通信するようにしてもよい。また、このシステムは、たとえばスパマが用いるような画像クローラ、ビデオ・クローラ、または関係クローラ等のクローラ(crawler)506を介して、API500からの更新を自動的に受信するようにしてもよい。要素502、504、および506は、ユーザ・インターフェース機能を含んでいてもよい。特定の実施形態において、このシステムは、API500を含まず、その代わり、たとえばソーシャルネットワーキング・システム160内のサブシステムであることによって、ソーシャルネットワーキング・システム160に直接アクセスするようにしてもよい。また、ユーザ・インターフェース機能を用いることにより、認識した人物が実際に指名された人物であるか否かに関する正または負のフィードバックを提供するようにしてもよい。言い換えると、ユーザ・インターフェース機能を用いることによって、特定のタグ付けの提案が正しいか否かを示すフィードバックを提供するか、またはユーザが複数の提案から1つの提案を選定できるようにしてもよい。このフィードバックは、関係マッピング調整機能510に伝達されて使用されることにより、顔表現、決定したソーシャルグラフ親密度、または決定した顔認識スコアを強化または弱化するようになっていてもよい。別のユーザ・インターフェース機能として、生成された関係マップまたはソーシャルグラフ200を検索するように動作する検索機能を含んでいてもよい。検索語には、たとえば1つまたは複数の文字を含む簡単な文字列、一意に識別可能な人物(たとえば、ユーザ識別子)、人物の付加的な画像、さまざまな人物間の関係、性別もしくは顔表現の類似性等の他のシステム生成属性、その他適当な検索語、またはこれらの任意の組み合わせを含んでいてもよい。検索機能は、ユーザ・インターフェースを介して直接提供されていてもよいし、関係マッパー(relationship mapper)522の情報をオンライン・ソーシャル・ネットワークから見えるようにして間接的に提供されていてもよい。特定の実施形態において、スタンドアロン・アプリケーションは、エンドユーザ・マシン上で動作するとともに、画像属性解析、顔表現生成、または顔表現比較の一部または全部を行うようにしてもよい。ローカル・アルバム・インデクサ504は、画像属性解析、顔表現生成、または顔表現比較動作を行うとともに、関係マッピング調整機能510と通信して、単一の人物の複数の画像から統合された顔表現を生成するようにしてもよい。特定の実施形態において、関係マッピング調整機能は、API500からのAPIソース情報およびウィジェット502、ローカル・アルバム・インデクサ504、またはクローラ506等のコミュニケータを介して受信したユーザ入力の両者に応答するものであってもよく、システムのさまざまな要素の動作を調整する。特定の実施形態において、このシステムは、関係マッパー522と連動可能な予想エンジン520を具備していてもよく、関係マッパー522は、関係マップ・データベース524と連動可能であってもよい。これらの要素は、画像解析エンジン530を介して顔認識機能526および属性解析機能528から機能510により取得された情報を利用するようにしてもよい。ビデオ解析エンジン532は、ビデオ・コンテンツの時系列のフレームに基づいて情報を提供するフレーム間解析機能534およびフレーム内解析機能536と協働するようにしてもよい。特定の実施形態において、関係マッパー522機能は、ソーシャルグラフ200(すなわち、関係マップ)へのアクセスおよびオンライン・ソーシャル・ネットワークのさまざまなユーザ間の関係の強度に関する情報等のソーシャルグラフ情報(たとえば、ソーシャルネットワーキング・システム160が決定した親密度係数のデータ・ストア)へのアクセスを提供するようにしてもよい。ソーシャルグラフ200は、少なくとも一部がメモリに格納されていてもよく、関係データベース524を介して持続的に利用可能であってもよい。本開示および図5では、特定の様態で顔認識を行う特定のシステムを説明および図示しているが、任意適当な様態で顔認識を行う任意適当なシステムも考えられる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、第1のユーザ集合の各ユーザについて決定した顔認識スコアに基づいて、画像に描写された未知の人物に対する1つまたは複数のタグ付けの提案を生成するようにしてもよい。各タグ付けの提案は、第1のユーザ集合の特定のユーザに対応していてもよい。限定ではなく一例として、予想エンジン520は、画像、その関連データ、およびソーシャル・ネットワーク・データに出現することが予想される人物を一覧化した候補人物の優先順位リストを生成するようにしてもよい。また、予想エンジン520は、ソーシャルグラフ200にアクセスすることにより、第1の候補ユーザ集合を識別するようにしてもよい。言い換えると、予想エンジン520は、候補ユーザについて過去に決定した顔認識スコアに基づいて、画像に描写された未知の人物に対する1つまたは複数のタグ付けの提案を生成するようにしてもよい。予想エンジンは、画像に含まれる視覚分別可能な情報、通常はメタデータとして利用できる視覚分別不可能な情報、先行入力、ソーシャルグラフ情報、タグ履歴情報、その他適当な情報、またはこれらの任意の組み合わせに基づいて、ソーシャルグラフ200に直接またはオンライン・ソーシャル・ネットワークAPI500を介してアクセスすることにより、既知の人物と一時的な関連のある候補ユーザのリストを得るようにしてもよい。その後、予想エンジン520は、関係マッパー522と連動するとともに画像解析エンジン530が提供する画像属性フィルタリングを利用することによって、画像に出現することが予想される候補人物の優先順位付けを行うようにしてもよい。優先順位付けは、関係マップ中の既知の人物と他の人物との間の関係の強度に依拠していてもよく、既知の人物と最も強い関係(たとえば、最も高いソーシャルグラフ親密度/親密度係数)を有する人物に対して、はるかに高い優先順位を付ける。たとえば、優先順位付けは、各候補ユーザについて決定したソーシャルグラフ親密度および各候補ユーザに関連付けられた顔表現に部分的に基づいて決定された顔認識スコアに依拠していてもよい。予想エンジン520は、重み付けグラフ組み合わせアルゴリズムを利用することにより、関係マッパー522が提供する、画像中の既知のユーザに関連付けられた重み付けグラフを組み合わせるようにしてもよい。特定の実施形態において、ソーシャルネットワーキング・システム160は、閾値顔認識スコアよりも大きな顔認識スコアを有するユーザに対してのみ、タグ付けの提案を生成するようにしてもよい。そして、閾値スコアよりも大きな顔認識スコアを有するユーザは、ソーシャルネットワーキング・システム160により識別され、タグ付けの提案として生成されるようになっていてもよい。本開示では、特定の様態での特定のタグ付けの提案の生成を説明しているが、任意適当な様態での任意適当なタグ付けの提案の生成も考えられる。
図6A〜図6Eは、タグ付けの提案を含む例示的な写真を示している。限定ではなく一例として、図6Aを参照すると、ユーザは、画像にアクセスしている場合、画像上の位置を選択することによって画像にタグを付けるようにしてもよい。図6Aに示す例において、ユーザは、画像の右側に描写された人物の顔を選択している。ここで図6Bを参照して、「これは誰ですか?」と尋ねるタグラベル・フィールドをユーザが選択している場合、ソーシャルネットワーキング・システム160は、タグラベル・フィールドの下方でドロップダウン・メニューにてタグ付けの提案のリストを生成することにより応答する。これらのタグ付けの提案は、上述の通りに生成されていてもよい。特定の実施形態において、ソーシャルネットワーキング・システム160は、ユーザが提供する文字列に部分的に基づいて、顔認識スコアを決定するようにしてもよい。顔認識スコアの計算は、ユーザ入力および先行入力機能を用いて改善可能であり、ユーザがタグラベル・フィールドに入力した文字列を用いることによって、該文字列をユーザの氏名と照合することにより候補ユーザを識別するようにしてもよい(同様に、候補ユーザは、文字列に基づいて、その氏名と一致しない場合ははじかれるようになっていてもよい)。そして、一致するユーザが、画像を閲覧しているユーザにタグ付けの提案として送信され、ユーザは、これを選択することにより、特定のユーザの画像にタグ付けを行うようにしてもよい。タグ付けの提案は、ユーザがタグラベル・フィールドに文字を入力した際に提示されるようになっていてもよく、ユーザが該フィールドにさらに文字を入力すると、先行入力機能によりリアルタイムで改訂される。特定の実施形態において、ソーシャルネットワーキング・システム160は、画像に関連付けられたウェブページのグラフィカル・ユーザ・インターフェースにクライアント・システム130の第1のユーザが文字列を入力する際に、該文字列の1つまたは複数の文字を受信するようにしてもよい。そして、ソーシャルネットワーキング・システムは、ソーシャルグラフ200において、該文字列と実質的に一致する1つまたは複数のノードを検索するようにしてもよい。識別した一致ノードに基づいて、ソーシャルネットワーキング・システムは、クライアント・システム130にタグ付けの提案のうちの1つまたは複数を送信して、クライアント・システム130に表示するようにしてもよい。タグ付けの提案は、ユーザが文字列をグラフィカル・ユーザ・インターフェースに入力する際に表示されるようになっていてもよい。タグ付けの提案の表示により、第1のユーザは、タグ付けの提案のうちの1つを選択してグラフィカル・ユーザ・インターフェースに自動入力可能であってもよい。一例として、図6Cを参照すると、ユーザがタグラベル・フィールドに文字「ka」を入力する場合、ソーシャルネットワーキング・システム160は、ソーシャルグラフ200を検索して、氏名が文字列「ka」と実質的に一致するユーザを識別するようにしてもよい。顔表現比較およびソーシャルグラフ親密度と併せて、ソーシャルネットワーキング・システム160は、氏名が「ka」と一致するユーザの新たな顔認識スコアを計算した後、これらのユーザをランク付けして、タグラベル・フィールドの下方でドロップダウン・メニューにて提示するようにしてもよい。ここでは、ユーザ「Kathy Chai(キャシー・チャイ)」、「Kathryn Downey(キャスリン・ダウニー)」、「Katie Smith(ケイティー・スミス)」、およびその他がタグ付けの提案として生成されている。図6Dを参照して、ユーザが文字の入力を継続すると(ここでは、「kath」)、タグ付けの提案が再度絞り込まれて、ここではユーザ「Katie Smith」がはじかれ、ユーザ「Katherine Chao(キャサリン・チャオ)」および「Katherine Smith(キャサリン・スミス)」がタグ付けの提案に追加されている。特定の実施形態において、ソーシャルネットワーキング・システム160は、第1のユーザからタグ付けの提案のうちの1つの選択を受信するようにしてもよい。これに応答して、ソーシャルネットワーキング・システム160は、選択されたタグ付けの提案に対応した特定のユーザに対応するタグを生成するようにしてもよい。限定ではなく一例として、図6Dを参照すると、ユーザがたとえば「Kathy Chai」を選択した場合、ソーシャルネットワーキング・システム160は、画像中の該位置に対して、ユーザ「Kathy Chai」に関連付けられたタグを生成することにより応答するようにしてもよい。さらに、ソーシャルネットワーキング・システム160はその後、Kathy Chaiのユーザ・ノード202および該画像のコンセプト・ノード204をつなげるタグ付け型エッジ206を生成するようにしてもよい。特定の実施形態において、画像内でタグ付けする特定の位置をユーザが選択した場合は、該画像の非選択部分を目立たなくすることにより、該画像の選択部分が強調されるようになっていてもよい。画像の非選択部分は、たとえば減光、暗色化、白とび、網掛け、または他の方法で該画像の非選択部分を不明確にすることにより目立たなくしてもよい。言い換えると、画像にタグ付けする場合は、ユーザがタグ付けをするために選択した位置に焦点が当たるように、画像のレンダリングが変更されるようになっていてもよい。これにより、画像にタグを付けるユーザは、タグ付けを行っている画像の位置または領域をより明確に視認可能である。限定ではなく一例として、図6Eを参照すると、画像の右側に描写された特定の人物の顔をユーザが選択して(図6Dのように)テキスト「kath」を入力した場合、ソーシャルネットワーキング・システム160は、画像のその他部分が暗色化される一方、画像中の選択位置の周囲の領域およびドロップダウン・メニューは暗色化されることのないように、画像を再レンダリングするようにしてもよい。本開示では、画像に対する特定の様態での顔認識の実施を説明しているが、画像に対する任意適当な様態での顔認識の実施も考えられる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、画像中でユーザがタグ付け済みであることを該ユーザに知らせるようにしてもよい。第1のユーザが画像中の第2のユーザにタグ付けを行う場合、ソーシャルネットワーキング・システム160は、たとえば電子メール送信、メッセージ送信、または他の方法でのタグの通知によって、該画像中で第2のユーザがタグ付け済みであることを該ユーザに知らせるようにしてもよい。そして、この第2のユーザが該画像にアクセスした場合、ソーシャルネットワーキング・システム160は、第2のユーザに関して、1人または複数のユーザの顔認識スコアを計算することにより、第2のユーザに関して上述した顔認識プロセスを繰り返すようにしてもよい。言い換えると、第2のユーザに関して新たな候補ユーザ集合が識別された後、これらの候補ユーザそれぞれについて第2のユーザに対する顔認識スコアが計算されるとともに、新たなタグ付けの提案の集合が生成されて第2のユーザに表示されるようになっていてもよい。これにより、たとえば第1のユーザが第2のユーザをタグ付け可能であり、第2のユーザが第3のユーザをタグ付け可能であり、以下同様であって、各ユーザがタグ付けごとに通知を受ける連鎖タグ付け効果が効果的に創出または促進されるようになっていてもよい。
特定の実施形態において、ソーシャルネットワーキング・システム160は、画像中でタグ付けされた各ユーザについて、タグラベルを含む画像をレンダリングするようにしてもよい。タグラベルには、タグに関連付けられたオブジェクトの説明文を含んでいてもよい。限定ではなく一例として、図3を参照すると、画像の左側に描写された4人の人物について、画像のレンダリングにより、画像中でタグ付けされた4人のユーザの4つのタグラベル、すなわちユーザ「ポール・トーマス」、「カイル・スミス」、「アーシシ・K」、「アシュリー・ブラウン」のタグが示されている。本開示では、特定の画像に対する特定の様態でのレンダリングを説明しているが、任意適当な画像に対する任意適当な様態でのレンダリングも考えられる。画像のタグ付けおよびタグ付け画像のレンダリングに関する詳細は、2013年5月15日に出願された米国特許出願公開第13/894640号明細書で得ることができ、その内容を参考として援用する。
特定の実施形態において、ソーシャルネットワーキング・システム160は、第1のユーザに関連付けられたブラウザ・クライアントにレンダリング画像を送信して、第1のユーザに表示するようにしてもよい。ブラウザ・クライアントは、第1のユーザのクライアント・システム130上に存在していてもよい。画像は、クライアント・システム(たとえば、ディスプレイ)の観点で表示可能となるようにレンダリングされるようになっていてもよい。各タグに関連付けられたタグラベルは、該タグに関連付けられた位置に近接する領域において、画像に重ねて表示されていてもよい。特定の実施形態においては、ユーザがタグを選択(たとえば、クリック)するようにしてもよく、ソーシャルネットワーキング・システム160は、選択タグのユーザプロフィール・ページへの閲覧ユーザの誘導または選択タグ上での拡大等により、特定の様態で応答するようにしてもよい。本開示では、特定の様態での特定の画像の送信を説明しているが、任意適当な様態での任意適当な画像の送信も考えられる。
図7は、顔認識を用いたタグ付けの提案の例示的な方法700を示している。この方法は、ステップ710で開始するようになっていてもよく、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークに関連付けられた画像にアクセスするようにしてもよい。該画像は、少なくとも1人の第1の人物を描写していてもよく、場合によっては、1人または複数の第2のユーザも描写していてもよい。画像に描写された人物のうちの1人または複数は、オンライン・ソーシャル・ネットワークの特定のユーザに対応するものとしてタグ付けされていてもよい。ステップ720において、ソーシャルネットワーキング・システム160は、複数のノードおよび該ノードをつなげる複数のエッジを含むソーシャルグラフ200にアクセスするようにしてもよい。ソーシャルグラフ200は、該画像に対応した第1のノードを含んでいてもよい。また、ソーシャルグラフ200は、オンライン・ソーシャル・ネットワークに関連付けられた複数のユーザにそれぞれ対応した複数の第2のノードを含んでいてもよい。これらノードのうちの2つの間の各エッジはそれぞれ、両者間の単一の分離度を表していてもよい。ステップ730において、ソーシャルネットワーキング・システム160は、複数のユーザのうちの第1のユーザ集合の各ユーザについて、ソーシャルグラフ親密度を決定するようにしてもよい。ソーシャルグラフ親密度は、該画像、画像を投稿したユーザ、画像中でタグ付けされた他のユーザ、オンライン・ソーシャル・ネットワークのその他任意適当なコンセプトもしくはユーザ、またはこれらの任意の組み合わせに関して決定されるようになっていてもよい。ソーシャルグラフ親密度は、多様な因子に基づいて決定されるようになっていてもよい。ステップ740において、ソーシャルネットワーキング・システム160は、第1のユーザ集合の各ユーザについて、画像に描写された第1の人物に関する顔認識スコアを決定するようにしてもよい。顔認識スコアは、たとえば第1のユーザ集合の各ユーザについて決定したソーシャルグラフ親密度または第1のユーザ集合の各ユーザに関連付けられた顔表現等の多様な因子に基づく。各ユーザに関連付けられた顔表現は、該画像との比較によって、画像に描写された第1の人物との一致の厳密度が決定されるようになっていてもよい。ステップ750において、ソーシャルネットワーキング・システム160は、決定した顔認識スコアに基づいて、画像に描写された第1の人物に対する1つまたは複数のタグ付けの提案を生成するようにしてもよい。各タグ付けの提案は、第1のユーザ集合の特定のユーザに対応する。特定の実施形態では、必要に応じて、図7の方法の1つまたは複数のステップを繰り返すようにしてもよい。本開示では、図7の方法の特定のステップが特定の順序で行われるものとして説明および図示しているが、図7の方法の任意適当なステップが任意適当な順序で行われることも考えられる。さらに、本開示では、図7の方法の特定のステップを特定のコンポーネント、デバイス、またはシステムが実行するものとして説明および図示しているが、図7の方法の任意適当なステップを任意適当なコンポーネント、デバイス、またはシステムの任意適当な組み合わせが実行することも考えられる。
システムおよび方法
図8は、例示的なコンピュータ・システム800を示す。特定の実施形態では、1つまたは複数のコンピュータ・システム800は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータ・システム800は、本明細書で説明または図示される機能を提供する。特定の実施形態では、1つまたは複数のコンピュータ・システム800上で実行中のソフトウェアが、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施しまたは本明細書で説明または図示される機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム800の1つまたは複数の部分を含む。本明細書では、適切な場合、コンピュータ・システムに対する参照はコンピューティング装置を包含し、逆も同様である。さらに、適切な場合、コンピュータ・システムに対する参照は、1つまたは複数のコンピュータ・システムを包含する。
本開示は、任意の適切な数のコンピュータ・システム800を企図する。本開示は、任意の適切な物理的形態を取るコンピュータ・システム800を企図する。限定ではなく例として、コンピュータ・システム800は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングル・ボード・コンピュータ・システム(SBC)(例えば、コンピュータ・オン・モジュール(COM)やシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話型キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2つ以上の組合せでよい。適切な場合、コンピュータ・システム800は、1つまたは複数のコンピュータ・システム800を含むことができ、一体型または分散型でよく、複数の場所にわたるものでよく、複数のマシンにわたるものでよく、複数のデータセンタにわたるものでよく、またはクラウド内に常駐することができ、クラウドは、1つまたは複数のネットワーク内の1つまたは複数のクラウド構成要素を含むことができる。適切な場合、1つまたは複数のコンピュータ・システム800は、実質的な空間的または時間的な限定なしに、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施することができる。限定ではなく例として、1つまたは複数のコンピュータ・システム800は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップをリアル・タイムに、またはバッチ・モードで実施することができる。適切な場合、1つまたは複数のコンピュータ・システム800は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを異なる時刻または異なる場所で実施することができる。
特定の実施形態では、コンピュータ・システム800は、プロセッサ802、メモリ804、ストレージ806、入力/出力(I/O)インターフェース808、通信インターフェース810、およびバス812を含む。本開示は、特定の構成の、特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明および図示するが、本開示は、任意の適切な構成の、任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータ・システムを企図する。
特定の実施形態では、プロセッサ802は、コンピュータ・プログラムを構成するような命令を実行するハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ802は、内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806から命令を取り出し(またはフェッチし)、その命令を復号化および実行し、次いで内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806に1つまたは複数の結果を書き込むことができる。特定の実施形態では、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ802を企図する。限定ではなく例として、プロセッサ802は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(translation lookaside buffer:TLB)を含むことができる。命令キャッシュ内の命令は、メモリ804またはストレージ806内の命令のコピーでよく、命令キャッシュは、プロセッサ802によるそうした命令の検索を加速することができる。データ・キャッシュ内のデータは、プロセッサ802で実行中の命令が演算するためのメモリ804またはストレージ806内のデータ、プロセッサ802で実行中の後続の命令によるアクセスのために、またはメモリ804もしくはストレージ806に書き込むために、プロセッサ802で実行された以前の命令の結果、あるいは他の適切なデータのコピーでもよい。データ・キャッシュは、プロセッサ802による読取りまたは書込み演算を加速することができる。TLBはプロセッサ802のための仮想アドレス変換(virtual-address translation)を加速することができる。特定の実施形態では、プロセッサ802は、データ、命令、またはアドレス用の1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ802を企図する。適切な場合、プロセッサ802は、1つまたは複数の演算論理装置(arithmetic logic unit:ALU)を含むことができ、マルチコア・プロセッサでよく、または1つまたは複数のプロセッサ802を含むことができる。本開示は特定のプロセッサを説明および図示するが、本開示は任意の適切なプロセッサを企図する。
特定の実施形態では、メモリ804は、プロセッサ802が実行するための命令、またはプロセッサ802が演算するためのデータを格納するメイン・メモリを含む。限定ではなく例として、コンピュータ・システム800は、ストレージ806または別のソース(例えば、別のコンピュータ・システム800など)からメモリ804に命令をロードすることができる。次いでプロセッサ802は、メモリ804から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ802は、内部レジスタまたは内部キャッシュから命令を取り出し、その命令を復号化することができる。命令の実行中または実行後に、プロセッサ802は、1つまたは複数の結果(これは中間結果または最終結果でよい)を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ802は、そうした結果の1つまたは複数をメモリ804に書き込むことができる。特定の実施形態では、プロセッサ802は、(ストレージ806または他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ804内の命令のみを実行し、(ストレージ806または他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ804内のデータのみに対して演算する。1つまたは複数のメモリ・バス(これはそれぞれアドレス・バスおよびデータ・バスを含むことができる)が、プロセッサ802をメモリ804に結合することができる。バス812は、以下で説明するように、1つまたは複数のメモリ・バスを含むことができる。特定の実施形態では、1つまたは複数のメモリ管理ユニット(memory management unit:MMU)が、プロセッサ802とメモリ804との間に常駐し、プロセッサ802によって要求されたメモリ804へのアクセスを可能にする。特定の実施形態では、メモリ804はランダム・アクセス・メモリ(RAM)を含む。適切な場合、このRAMは揮発性メモリでよい。適切な場合、このRAMはダイナミックRAM(DRAM)またはスタティックRAM(SRAM)でよい。さらに、適切な場合、このRAMは、単一ポートまたはマルチポートRAMでよい。本開示は任意の適切なRAMを企図する。適切な場合、メモリ804は、1つまたは複数のメモリ804を含むことができる。本開示は特定のメモリを説明および図示するが、本開示は任意の適切なメモリを企図する。
特定の実施形態では、ストレージ806は、データまたは命令用のマス・ストレージを含む。限定ではなく例として、ストレージ806は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、あるいはこれらのうちの2つ以上の組合せを含むことができる。ストレージ806は、適切な場合、取外し可能または取外し不能(または固定)媒体を含むことができる。ストレージ806は、適切な場合、コンピュータ・システム800の内部または外部でよい。特定の実施形態では、ストレージ806は不揮発性固体メモリである。特定の実施形態では、ストレージ806は読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムされたROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気消去可能PROM(EEPROM)、電気書換え可能ROM(EAROM)、またはフラッシュ・メモリ、あるいはこれらのうちの2つ以上の組合せでよい。本開示は、任意の適切な物理的形態を有するマス・ストレージ806を企図する。適切な場合、ストレージ806は、プロセッサ802とストレージ806との間の通信を可能にする1つまたは複数のストレージ制御ユニットを含むことができる。適切な場合、ストレージ806は、1つまたは複数のストレージ806を含むことができる。本開示は特定のストレージを説明および図示するが、本開示は任意の適切なストレージを企図する。
特定の実施形態では、I/Oインターフェース808は、コンピュータ・システム800と1つまたは複数のI/O装置との間の通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム800は、適切な場合、これらのI/O装置のうちの1つまたは複数を含むことができる。これらのI/O装置のうちの1つまたは複数は、人とコンピュータ・システム800との間の通信を可能にすることができる。限定ではなく例として、I/O装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なI/O装置、またはこれらのうちの2つ以上の組合せを含むことができる。I/O装置は1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/O装置およびそのための任意の適切なI/Oインターフェース808を企図する。適切な場合、I/Oインターフェース808は、プロセッサ802がこれらのI/O装置のうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。I/Oインターフェース808は、適切な場合、1つまたは複数のI/Oインターフェース808を含むことができる。本開示は特定のI/Oインターフェースを説明および図示するが、本開示は任意の適切なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース810は、コンピュータ・システム800と、1つまたは複数の別のコンピュータ・システム800あるいは1つまたは複数のネットワークとの間の通信(例えば、パケット・ベースの通信など)用の1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、通信インターフェース810は、イーサネット(登録商標)または他のワイヤ・ベースのネットワークと通信するネットワーク・インターフェース・コントローラ(network interface controller:NIC)またはネットワーク・アダプタ、あるいはWi−Fiネットワークなどのワイヤレス・ネットワークと通信するワイヤレスNIC(wire-based network or a wireless:WNIC)またはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワークおよびそのための任意の適切な通信インターフェース810を企図する。限定ではなく例として、コンピュータ・システム800は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、大都市圏ネットワーク(metropolitan area network:MAN)、またはインターネットの1つもしくは複数の部分、あるいはこれらのうちの2つ以上の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスでよい。1例を挙げると、コンピュータ・システム800は、ワイヤレスPAN(WPAN)(例えば、BLUETOOTH WPANなど)、Wi−Fiネットワーク、WI−MAXネットワーク、携帯電話網(例えば、Global System for Mobile Communication(GSM(登録商標))ネットワークなど)、または他の適切なワイヤレス・ネットワーク、あるいはこれらのうちの2つ以上の組合せと通信することができる。コンピュータ・システム800は、適切な場合、これらのネットワークのいずれかに関する任意の適切な通信インターフェース810を含むことができる。通信インターフェース810は、適切な場合、1つまたは複数の通信インターフェース810を含むことができる。本開示は特定の通信インターフェースを説明および図示するが、本開示は任意の適切な通信インターフェースを企図する。
特定の実施形態では、バス812は、コンピュータ・システム800の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、バス812は、アクセラレーテッド・グラフィックス・ポート(Accelerated Graphics Port:AGP)または他のグラフィックス・バス、Enhanced Industry Standard Architecture(EISA)バス、フロント・サイド・バス(FSB)、HYPERTRANSPORT(HT)相互接続、Industry Standard Architecture(ISA)バス、INFINIBAND相互接続、低ピン・カウント(low-pin-count:LPC)バス、メモリ・バス、Micro Channel Architecture(MCA)バス、Peripheral Component Interconnect(PCI)バス、PCI−Express(PCIe)バス、serial advanced technology attachment(SATA)バス、Video Electronics Standards Association local(VLB)バス、または別の適切なバス、あるいはこれらのうちの2つ以上の組合せを含むことができる。バス812は、適切な場合、1つまたは複数のバス812を含むことができる。本開示は特定のバスを説明および図示するが、本開示は、任意の適切なバスまたは相互接続を企図する。
本明細書では、コンピュータ可読非一時的記憶媒体は、適切な場合、1つまたは複数の半導体ベースの、または他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切なコンピュータ可読非一時的記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。
雑則
本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「または」は排他的ではなく包含的である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「AまたはB」は「A、B、またはその両方」を意味する。さらに、別段に明記されていない限り、または文脈によって示されていない限り、「および」は協同および個々の両方である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「AおよびB」は、「AおよびBが一緒に、または個別に」を意味する。
本開示の範囲は、当業者なら理解するはずである、本明細書で説明または図示される例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または図示される例示的実施形態に限定されない。さらに、本開示は、本明細書のそれぞれの実施形態が特定の構成要素、要素、機能、動作、またはステップを含むものとして説明および図示するが、これらの実施形態のいずれも、当業者なら理解するはずである、本明細書のどこかで説明または図示される構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは置換を含むことができる。さらに、特定の機能を実施するように適合され、配置され、実施することが可能であり、実施するように構成され、実施することが可能にされ、実施するように動作可能である装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲での参照は、その装置、システム、または構成要素がそのように適合され、配置され、可能であり、構成され、可能にされ、動作可能にされる限り、その装置、システム、構成要素またはその特定の機能が活動化され、オンにされ、またはロック解除されるか否かに関わらず、その装置、システム、構成要素を包含する。