JP2016042373A - ソーシャルグラフ情報に基づく構造化検索クエリ - Google Patents
ソーシャルグラフ情報に基づく構造化検索クエリ Download PDFInfo
- Publication number
- JP2016042373A JP2016042373A JP2015217580A JP2015217580A JP2016042373A JP 2016042373 A JP2016042373 A JP 2016042373A JP 2015217580 A JP2015217580 A JP 2015217580A JP 2015217580 A JP2015217580 A JP 2015217580A JP 2016042373 A JP2016042373 A JP 2016042373A
- Authority
- JP
- Japan
- Prior art keywords
- user
- node
- nodes
- query
- certain embodiments
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 265
- 230000004044 response Effects 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 19
- 238000000926 separation method Methods 0.000 claims description 14
- 238000002955 isolation Methods 0.000 claims description 9
- 230000006855 networking Effects 0.000 description 265
- 230000000875 corresponding effect Effects 0.000 description 201
- 230000008569 process Effects 0.000 description 195
- 238000003860 storage Methods 0.000 description 37
- 230000000694 effects Effects 0.000 description 32
- 230000002596 correlated effect Effects 0.000 description 19
- 230000009471 action Effects 0.000 description 16
- 238000009877 rendering Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000001914 filtration Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 239000002585 base Substances 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 241000287828 Gallus gallus Species 0.000 description 5
- 241000282372 Panthera onca Species 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000012458 free base Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 235000012054 meals Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 235000021116 parmesan Nutrition 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 244000187656 Eucalyptus cornuta Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241000879808 Felis chaus Species 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 101100009348 Mus musculus Depp1 gene Proteins 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 101100009350 Rattus norvegicus Depp gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000015228 chicken nuggets Nutrition 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【解決手段】n−グラムを含む、構造化されていないテキストクエリを、オンラインソーシャルネットワークの第1のユーザに関連付けられているクライアントデバイスから受け取る工程と、ソーシャルグラフに関連付けられている各ノードに対して決定された確率であってノードがn−グラムに対応する確率に少なくとも基づいてノードを識別する工程と、エッジを識別する工程と、構造化クエリを生成する工程と、テキストクエリの受信に応答して、構造化クエリを第1のユーザに関連付けられているクライアントデバイスに送信する工程と、を含む、方法が提供される。
【選択図】図14
Description
図1は、ソーシャルネットワーキングシステムを実装するための例示的なネットワーク環境100を示している。本明細書で説明されているさまざまな例示的な実施形態は、ネットワーク環境100内で動作する。特定の実施形態は、複数のネットワークアドレッシング可能システムを含む、インターネットなどの、ワイドエリアネットワーク環境内で、またはそれとともに動作する。ネットワーク環境100は、ソーシャルネットワーキングシステム20、クライアントデバイス30、ウェブアプリケーションサーバ40、およびネットワーククラウド60によって互いに接続されているエンタプライズサーバ50を含む。図1は、ソーシャルネットワーキングシステム20、クライアントデバイス30、ウェブアプリケーションサーバ40、エンタプライズサーバ50、およびネットワーククラウド60の特定の構成を示しているが、本開示では、ソーシャルネットワーキングシステム20、クライアントデバイス30、ウェブアプリケーションサーバ40、エンタプライズサーバ50、およびネットワーククラウド60の任意の好適な構成を企図する。例えば、限定されるものでないが、ソーシャルネットワーキングシステム20、クライアントデバイス30、ウェブアプリケーションサーバ40、およびエンタプライズサーバ50のうちの2以上を、ネットワーククラウド60をバイパスして、互いに直接に接続する。別の例として、ソーシャルネットワーキングシステム20、クライアントデバイス30、ウェブアプリケーションサーバ40、およびエンタプライズサーバ50のうちの2以上が、全体として、または一部だけ、互いに同じ場所に、物理的または論理的に配置される。さらに、図1は、特定の数のソーシャルネットワーキングシステム20、クライアントデバイ
ス30、ウェブアプリケーションサーバ40、エンタプライズサーバ50、およびネットワーククラウド60を示しているが、本開示では、任意の好適な数のソーシャルネットワーキングシステム20、クライアントデバイス30、ウェブアプリケーションサーバ40、エンタプライズサーバ50、およびネットワーククラウド60を企図する。例えば、限定されるものでないが、ネットワーク環境100は、複数のソーシャルネットワーキングシステム20、クライアントデバイス30、ウェブアプリケーションサーバ40、エンタプライズサーバ50、およびネットワーククラウド60を含む。
ライアントデバイス30、ウェブアプリケーションサーバ40、およびエンタプライズサーバ50を互いに、または通信ネットワーククラウド60と接続する。本開示では、任意の好適な接続70を企図する。特定の実施形態において、1または複数の接続70は、1または複数の有線接続(例えば、デジタル加入者回線(DSL)またはデータオーバーケーブルサービスインタフェース仕様(DOCSIS)など)、無線接続(例えば、Wi−FiまたはWiMAX(Worldwide Interoperability for Microwave Access)など)、または光接続(例えば、同期型光ネットワーク(SONET)または同期デジタルハイアラキー(SDH)など)を含む。特定の実施形態において、1または複数の接続70は、それぞれ、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部、PSTNの一部、携帯電話網、別の接続70、または2以上のそのような接続70の組み合わせを含む。接続70は、ネットワーク環境100全体を通して必ずしも同一でなくてよい。1または複数の第1の接続70は、1または複数の第2の接続70と1または複数の点で異なる。
ソーシャルネットワークをホストするネットワークアドレッシング可能なコンピューティングシステムであってもよい。ソーシャルネットワーキングシステム20は、例えば、ユーザプロファイルデータ、コンセプトプロファイルデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関係する他の好適なデータなどの、ソーシャルネットワーキングデータの生成、記憶、受信、および送信を行う。特定の実施形態において、本明細書で説明されているような1または複数のウェブページまたはウェブアプリケーションは、ソーシャルネットワーキングシステム20またはオンラインソーシャルネットワークに関連付けられる。ソーシャルネットワーキングシステム20は、直接的に、またはネットワーククラウド60を通じて、ネットワーク環境100の他の構成要素によってアクセスされる。例えば、限定されるものでないが、ソーシャルネットワーキングシステム20は、ユーザがクライアントデバイス30で、本明細書で説明されるように、互いに通信するか、または他の任意の形で双方向に対話し、ユーザプロファイルなどのコンテンツにアクセスすることを可能にするコンピューティングシステムを含む。特定の実施形態において、ソーシャルネットワーキングシステム20は、さまざまな例示的な実施形態において、1または複数の物理サーバ22、さらには本明細書でデータストア24と総称される1または複数のデータストア(さまざまな統合された、または分散されたコンピューティングシステム、データベース、またはデータサーバのうちの1または複数に実装されるか、またはそれらによって実装される)を含むネットワークアドレッシング可能なコンピューティングシステムを含む。物理サーバ22は、例えば、一組のルータまたはネットワーキングスイッチ26を通じて、コンピュータネットワーク60に動作可能に接続される。特定の実施形態において、1または複数の物理サーバ22によってホストされる機能は、ウェブまたはHTTPサーバ、FTPサーバ、さらには、限定されるものでないが、共通ゲートウェイインタフェース(CGI)スクリプト、PHPハイパーテキストプリプロセッサ(PHP)、アクティブサーバページ(ASP)、ハイパーテキストマークアップ言語(HTML)、拡張マークアップ言語(XML)、Java(登録商標)、JavaScript(登録商標)、AJAX(Asynchronous JavaScript and XML)、および同様のものを使用して実装されるウェブページおよびアプリケーションを含む。
ベースのうちの1または複数に対応する。構造に関して、データストア24は、一般的に、データストレージおよび管理システムの大きなクラスの1または複数を含む。特定の実施形態において、データストア24は、1または複数のデータベースサーバ、大容量記憶媒体、メディアライブラリシステム、ストレージエリアネットワーク、データストレージクラウド、および同様のものなどの、構成要素を含む任意の好適な物理システム(複数可)によって実装される。特定の実施形態において、データストア24は、1または複数のサーバ、データベース(例えば、MySQL)、および/またはデータウェアハウスを含む。データストア24は、異なるソーシャルネットワーキングシステム20のユーザ、クライアントデバイス30、ウェブアプリケーションサーバ40、またはエンタプライズサーバ50に関連付けられているデータ、さらには特定の実施形態において、さまざまなコンセプトに関連付けられているデータを含む。
コードセグメントもしくはリソース、画像データもしくはリソース、ビデオデータもしくはリソースなど)、またはそのようなリソースへの参照を含む。例えば、限定されるものでないが、HTMLドキュメント内に埋め込まれたリソースは、一般的に、リソースのタイプに応じて、とりわけスクリプト要素、画像要素、またはオブジェクト要素内に含まれるか、または指定される。リソースを参照または指定する要素は、サーバ22またはソーシャルネットワーキングシステム20内のデータストア24内に、またはウェブページを要求したクライアントデバイス30の1または複数の外部位置に配置される、リソースの位置を識別するソース属性(例えば、src)を含む。応答を受信した後、クライアントデバイス30で動作しているウェブブラウザ202または他のクライアントドキュメントレンダリングアプリケーションは、次いで、受信された構造化ドキュメントのドキュメントオブジェクトモデル(DOM)表現を構築することができ、ドキュメント内に埋め込まれたリソース(複数可)(1または複数の他の外部位置にある)を要求する。
図3は、例示的なソーシャルグラフ300を示す。特定の実施形態において、ソーシャルネットワーキングシステム20は、1または複数のデータストア24に1または複数のソーシャルグラフ300を記憶する。特定の実施形態において、ソーシャルグラフ300は、複数のユーザノード302および/または複数のコンセプトノード304を含む、複数のノードからなり、またこれらのノードを接続する複数のエッジ306も含む。図3に示されている例示的なソーシャルグラフ300は、教示を目的として、2次元の視覚的マップ表現で示されている。特定の実施形態において、ソーシャルネットワーキングシステム20、クライアントデバイス30、またはウェブアプリケーションサーバ40は、本明細書で説明されているいくつかのアプリケーションを含む、さまざまなアプリケーションに対するソーシャルグラフ300および関係するソーシャルグラフ情報にアクセスする。ソーシャルグラフ300の複数のノードおよびエッジは、データオブジェクトとして、例えば、データストア24、特にソーシャルグラフデータベース206内に記憶される。それに加えて、本明細書で説明されるように、データストア24は、ソーシャルグラフデータベース206のインデックス作成によって生成されるノードまたはエッジの1または複数の検索可能な、またはクエリされるインデックスをさらに含む。
ーシャルネットワーキングシステム20を対話的に操作するか、またはそれと通信するか、またはソーシャルネットワーキングシステム20経由で通信する個人(人間のユーザ)、エンティティ(例えば、企業、会社、またはサードパーティアプリケーション)、またはグループ(例えば、個人もしくはエンティティの)である。本明細書で使用されるように、「登録ユーザ」は、ソーシャルネットワーキングシステム20内に正式に登録したユーザを示す。特定の実施形態において、ユーザがソーシャルネットワーキングシステム20にアカウントを登録すると、ソーシャルネットワーキングシステム20は、そのユーザに対応するユーザノード302を作成し、ユーザノード302を1または複数のデータストア24内に記憶する。一般的に、本明細書で説明されているユーザおよびユーザノード302は、登録ユーザおよびこれらのユーザに関連付けられているユーザノード302を示すが、これは他の実施形態では必ずしも必要というわけではない。すなわち、特定の実施形態では、本明細書で説明されているユーザおよびユーザノード302は、ソーシャルネットワーキングシステム20に登録していないユーザを示す。本明細書で使用されるように、「認証ユーザ」は、ソーシャルネットワーキングシステム20によって、ユーザが管理者権限を有する対応するプロファイルページにおいて主張されているユーザ、あるいは主張されているユーザの好適な信頼できる代理であるものとして認証されているユーザを示す。特定の実施形態において、ユーザノード302は、ユーザによって提供される情報、およびソーシャルネットワーキングシステム20を含む、さまざまなシステムによって集められた情報に関連付けられる。例えば、限定されるものでないが、ユーザは、自分の名前、プロファイル画像、連絡先情報、誕生日、性別、配偶者の有無、家族の有無、職業、学歴、好み、関心事、および他の人口統計学情報を提供する。特定の実施形態において、それぞれのユーザノード302は、ユーザに関連付けられている情報に対応する1または複数のデータオブジェクトに関連付けられる。特定の実施形態において、それぞれのユーザノード302は、1または複数のウェブページまたは1または複数のユーザプロファイルページに対応する。例えば、限定されるものでないが、特定のユーザのユーザ識別子を含むリクエストに応答して、ソーシャルネットワーキングシステム20は、ユーザ識別子に基づき対応するユーザノード302にアクセスし、特定のユーザの名前、プロファイル画像、および関心事を含むユーザプロファイルページを構築する。
例えば、電話番号、電子メールアドレス)、他の好適なコンセプト情報、またはこのような情報の組み合わせを含む。特定の実施形態において、それぞれのコンセプトノード304は、コンセプトノード304に関連付けられている情報に対応する1または複数のデータオブジェクトに関連付けられる。特定の実施形態において、それぞれのコンセプトノード304は、1つのウェブページに対応する。例えば、限定されるものでないが、名前(またはURLアドレス)を含むリクエストに応答して、ソーシャルネットワーキングシステムは、名前に基づき対応するコンセプトノード(データストア24の1または複数に記憶される)にアクセスし、コンセプトの名前、1または複数の画像、および連絡先情報を含むウェブページを構築する。
Palo Alto, California)に関する「オールド・プロ(Old Pro)」に対するサードパーティウェブページは、図5Bに示されているウェブページ520のような「“いいね”と表明(Like)」または「チェックイン」などの選択可能なアイコンを含むか、または例えば「食事をする」、「推奨する」、または他の好適なアクションもしくはアクティビティなどの選択可能なアイコンを含む。サードパーティウェブページを閲覧しているユーザは、いくつかのアイコンのうちの1つ(例えば、「食事をする」)を選択することによってアクションを実行することができ、これによりクライアントデバイス30はソーシャルネットワーキングシステム20に、ユーザのアクション(例えば、「Old Pro」で食事をする)を示すメッセージを送信する。サードパー
ティウェブページまたはリソースに対応するコンセプトノード304が、ソーシャルグラフ300内に存在している場合、このメッセージに応答して、ソーシャルネットワーキングシステム20は、そのユーザに対応するユーザノード302とサードパーティウェブページまたはリソースに対応するコンセプトノード304との間にエッジ(例えば、「食事をする」エッジ)を作成し、このエッジ306をデータストア24の1または複数に記憶する。サードパーティウェブページまたはリソースに対応するコンセプトノード306が、ソーシャルグラフ300内に存在していない場合、このメッセージに応答して、ソーシャルネットワーキングシステム20は、サードパーティウェブページまたはリソースに対応するコンセプトノード304を作成し、新規作成されたコンセプトノードとそのユーザに対応するユーザノードとの間にエッジ306(例えば、「食事をする」エッジ)を作成し、コンセプトノード304およびエッジ306をデータストア24の1または複数に記憶する。
たはそれらを表す。例えば、限定されるものでないが、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを標識により示す。この標識に応答して、ソーシャルネットワーキングシステム20は、「友達リクエスト」を第2のユーザに送信し得る。第2のユーザが「友達リクエスト」を確認した場合、ソーシャルネットワーキングシステム20は、ソーシャルグラフ300内の第1のユーザのユーザノード302と第2のユーザのユーザノード302とを接続するエッジ306を作成し、エッジ306をソーシャルグラフ情報としてデータストア24の1または複数に記憶する。図3の例において、ソーシャルグラフ300は、ユーザ「A」およびユーザ「B」のユーザノード302の間の友達関係を示すエッジ306、およびユーザ「C」およびユーザ「B」のユーザノード302の間の友達関係を示すエッジを含む。本開示ではユーザノード302を接続する特定の属性を有するエッジ306を説明し、図3で図示しているが、本開示では、ユーザノード302を接続する任意の好適な属性を有するエッジ306を企図している。例えば、限定されるものでないが、エッジ306は、友達関係、家族関係、事業または雇用関係、ファン関係、フォロワー関係、訪問者関係、加入者関係、上位/下位関係、相互関係、非相互関係、別の好適なタイプの関係、または2以上のそのような関係を表す。さらに、本開示ではノード同士が接続されていることについて一般的に説明しているが、本開示ではユーザおよび/またはコンセプトが接続されていることについても説明する。ユーザおよび/またはコンセプトが接続されていることに言及した場合、これは、一般的に、文脈上そうでないことが示唆されていない限り、それらのユーザまたはコンセプトに対応するノードが1または複数のエッジ306によってソーシャルグラフ300内で接続されていることを示す。
エッジが接続する一対のノードの間の接続のタイプを記述するデータを記憶するか、またはそれとともに記憶されるということはない。さらに、これらの、または他の実施形態において、エッジによって接続されるノード間の接続または関係のタイプを示す標識となるデータは、ノードそれ自体とともに記憶される。特定の実施形態において、エッジ、さらには属性(例えば、エッジタイプおよびエッジによって接続されるノードに対応するノード識別子)、メタデータ、またはエッジを定義するか、または特徴付けるか、または関係する他の情報は、(例えば、データオブジェクトとして)ソーシャルグラフデータベース206内に記憶され、定期的に、またはさまざまなアクションまたは要因に応答して更新される(例えば、ユーザがさらにハブを対話的に操作するときに、各ユーザノードおよびコンセプトノード同士を接続するエッジは、この対話的な操作を反映するように更新され、次いで、以下でさらに詳しく説明されるようにエッジを特徴付ける親和性または接続の強度スコアに寄与し得る。)
特定の実施形態において、ユーザノード302とコンセプトノード304との間のエッジ306は、コンセプトノード304に関連付けられているコンセプトに向かうユーザノード302のユーザによって実行される特定のアクションまたはアクティビティを表す。例えば、限定されるものでないが、図3に示されるように、ユーザはコンセプトに対して「“いいね”と表明」、「通っていた」、「プレイした」、「視聴した」、「料理した」、「勤務した」、「見た」とすることができ、それぞれエッジタイプまたはサブタイプに対応する。コンセプトノード304に対応するコンセプトプロファイルページは、例えば、選択可能な「チェックイン」アイコン(例えば、図5Bに示されている「チェックイン」アイコン524など)または選択可能な「お気に入りに追加」アイコン(例えば、図5Bに示されているアイコン526など)を含む。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャルネットワーキングシステム20は、各アクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成する。別の例として、限定されるものでないが、ユーザ(ユーザ「C」)は、特定のアプリケーション(オンライン音楽アプリケーションのSPOTIFY)を使用して特定の曲(「イマジン」)を聴く。この場合、ソーシャルネットワーキングシステム20は、ユーザに対応するユーザノード302と曲およびアプリケーションに対応するコンセプトノード304との間に「視聴した」エッジ306および「利用した」エッジ(図3に示されているような)を作成し、ユーザがその曲を聴き、そのアプリケーションを使用したことを示す。さらに、ソーシャルネットワーキングシステム20は、曲およびアプリケーションに対応するコンセプトノード304の間に「プレイした」エッジ306(ここでもまた図3に示されているような)を作成し、特定の曲が特定のアプリケーションによって再生されたことを示す。この場合、「プレイした」エッジ306は、外部オーディオファイル(曲「イマジン」)に対して外部アプリケーション(SPOTIFY)によって実行されたアクションに対応する。本開示では、ユーザノード302とコンセプトノード304とを接続する特定の属性を有するエッジ306を説明しているが、本開示では、ユーザノードとコンセプトノードとを接続する任意の好適な属性を有するエッジ306も企図している。さらに、本開示では、ユーザノードとコンセプトノードとの間の単一の関係を表すエッジを説明しているが、本開示では、ユーザノードとコンセプトノードとの間の1または複数の関係を表すエッジも企図している。例えば、限定されるものでないが、エッジ306は、ユーザが特定のコンセプトについて「いいね」と表明することと、特定のコンセプトで利用したことの両方を表す。あるいは、ユーザ「E」に対するユーザノード302と「SPOTIFY」に対するコンセプトノード304との間で図3に示されるように、ユーザノード302とコンセプトノード304との間の関係(または単一の関係を複数にした関係)のそれぞれのタイプを表すように個別のエッジ306を生成することも可能である。
する。例えば、限定されるものでないが、コンセプトプロファイルページを(例えば、ウェブブラウザまたはユーザのクライアントデバイス30によってホストされている専用アプリケーションを使用することなどによって)閲覧しているユーザは、「“いいね”と表明」アイコン(例えば、図5Bまたは図5Cに示されている「Like」アイコン522など)をクリックするか、または選択することによって自分がコンセプトノード304によって表されるコンセプトについて「いいね」と表明することを示すことができ、これにより、ユーザのクライアントデバイス30は、コンセプトプロファイルページに関連付けられているコンセプトについてユーザが「いいね」と表明したことを示すメッセージをソーシャルネットワーキングシステム20に送信する。このメッセージに応答して、ソーシャルネットワーキングシステム20は、ユーザ「B」のユーザノードと図3のスポーツバー「Old Pro」のコンセプトノードとの間の「“いいね”と表明」エッジ306によって示されるように、ユーザに関連付けられているユーザノード302とコンセプトノード304との間にエッジ306を作成する。特定の実施形態において、ソーシャルネットワーキングシステム20は、データストア24の1または複数にエッジ306を記憶する。本開示では特定の様式でエッジ306を形成することを説明しているが、本開示は、任意の好適な様式でエッジ306を形成することを企図している。例えば、限定されるものでないが、ウェブページを訪問し、アイコンをクリックする代わりに、ユーザは、ユーザのユーザノード302とコンセプトノード304との間にエッジ306を形成するように動作可能であるモバイルアプリケーションまたは別の好適なアプリケーションを使用する。
図4A〜図4Dは、例示的なユーザプロファイルページを示す。特定の実施形態において、ソーシャルグラフ300内のユーザノード302は、ユーザプロファイルページに対応する。特定の実施形態において、ユーザプロファイルページは、ユーザ、ユーザの友達、およびユーザのユーザノードに関連付けられているプライバシ設定によっては友達でない他のユーザに対しても可視である。ユーザは、例えば、ユーザのユーザプロファイルページ、ユーザホームページ、アカウント設定ページ、プライバシ設定ページ、または別の好適なインタフェースを通じて自分のプライバシ設定を設定もしくは修正する。ユーザプロファイルページは、1または複数のタブ401を選択することを通じて閲覧可能な、またはアクセス可能な多数の異なるサブページを含む。例えば、限定されるものでないが、図4Aに示されている実施形態では、ユーザプロファイルページは、投稿のためウォール(フィード)にアクセスするためのウォール(フィード)タブ401a、ユーザに関する、またはユーザに関係する情報を入力し、表示するための情報タブ401b、写真をアップロードし、表示するための写真タブ401c、およびボックスタブ401dを含む。ユーザは、ユーザプロファイル画像403として表示するように写真タブ401cでアップロードされる特定の写真または画像を選択する。特定の実施形態において、ユーザのプロ
ファイル画像403、さらには例えば、メッセージを別のユーザに送信する、プロファイルページを編集する、ユーザの友達を閲覧する、またはユーザの写真を閲覧するオプションなどの他の特徴を、タブ401のいずれが選択されてるかに拘わらず、ページの「クローム(chrome)」(境界)領域に表示する。特定の実施形態において、検索バーまたは検索インタフェースをユーザプロファイルページ(さらには他のページも)のクローム内に入れることができ、これにより、ユーザは、例えばユーザが検索したいと思っている他のユーザまたはコンセプトの名前もしくは属性などのソーシャルネットワークデータに対するクエリを入力する。
ルアドレス、電話番号、自宅の住所、職場の住所、または他の好適な連絡先情報を含むさまざまな連絡先情報を入力する連絡先情報セクション424も含む。ユーザプロファイルページは、ユーザが自分の学歴または職歴を入力する学歴および職業セクション426を含む。例えば、限定されるものでないが、ユーザは、例えば、単純に「スタンフォード大学」とタイプ入力するか、または「私はスタンフォード大学に通っていました。」とタイプ入力するか、またはメニューインタフェースからスタンフォード大学を選択することによって、セクション426にスタンフォード大学に通っていたと宣言する。ユーザは、例えば、授与された学位、学位の分野、卒業日などのより具体的な情報を記述する。別の例として、セクション426では、ユーザがユーザの職歴を入力する。例えば、限定されるものでないが、ユーザは、例えば、単純に「Acme」とタイプ入力するか、または「私はAcmeに勤務しています。」とタイプ入力するか、またはメニューから会社「Acme」を選択することによって、自分が「Acme」社に勤めていると宣言する。
20上のコンテンツを検索する。次いで、ソーシャルネットワーキングシステム20は、データストア24(またはより具体的には、ソーシャルグラフデータベース206またはコンセプトデータベース216)を検索して、クエリと一致するコンテンツを識別する。識別されたコンテンツは、例えば、ソーシャルグラフエンティティ(すなわち、ユーザノード302、コンセプトノード304、エッジ306)、プロファイルページ、外部ウェブページ、またはこれらの組み合わせを含む。次いで、ソーシャルネットワーキングシステム20のページ生成プロセス200は、検索結果が識別されたコンテンツに対応している検索結果ウェブページを生成し得る。検索結果ウェブページは、テキストクエリと一致した識別されたコンテンツの一部または全部への参照を含む。次いで、ソーシャルネットワーキングシステム20は、検索結果ウェブページをユーザのクライアントデバイス30上のユーザのウェブブラウザ202に送信する。次いで、ユーザは、検索結果ウェブページからのコンテンツをクリックするか、または他の任意の形で選択することで、ソーシャルネットワーキングシステム20から、または外部システムから、適宜、コンテンツにアクセスする。本開示では特定の様式でソーシャルネットワーキングシステム20にクエリを実行することを説明しているが、本開示は、任意の好適な様式でソーシャルネットワーキングシステム20にクエリを実行することを企図している。
図5A〜図5Cは、例示的なコンセプトプロファイルページを示す。特定の実施形態において、ソーシャルグラフ300内のコンセプトノード304は、コンセプトプロファイルページに対応する。特定の実施形態において、コンセプトノード304およびそれらの各ハブは、ソーシャルネットワーキングシステム20のユーザによって明示的に作成されるか、またはソーシャルネットワーキングシステム20によって自動的に生成される。ユーザプロファイルページと同様に、コンセプトプロファイルページ(「ハブ」とも称される)は、対応するコンセプトノード304に関連付けられているコンセプトに関係する情報を共有する。特定の実施形態において、ソーシャルネットワーキングシステム20にログインし、ハブを閲覧している登録ユーザは、コンテンツをハブに追加する(例えば、ウィキ(wiki)サイトに似た様式などで)。例えば、限定されるものでないが、図5Aは、「ショーシャンクの空に(The Shawshank Redemption)」という映画の例示的なハブを示している。特定の実施形態において、図5Aに示されるように、ハブは、ユーザプロファイルページに似たウォール(フィード)タブ501a、情報タブ501b、写真タブ501c、およびボックスタブ501dを通じてアクセス可能なサブページを含む。ハブは、一般的に、基本情報セクション502、詳細情報セクション504、さらには潜在的に、他のセクションも含む。コンセプトプロファイルページに含まれる情報は、例えば、コンセプトまたはコンセプトノード304に関連付けられている管理者、ハブを閲覧しているユーザ(特定の実施形態では、ユーザ生成またはユーザ追加コンテンツがハブ内に見えるようになる前にコンテンツ承認または同期プロセスに関連付けられた時間遅延がある)、ソーシャルネットワーキングシステム20(内部または外部/サードパーティソース(例えば、ウィキペディア)から抽出された情報に基づく)、または別の好適なソースによって提供される。ハブは、写真タブ501cの下に写真または画像セクションも含むことができ、これにより、ユーザはコンセプト内の、またはコンセプトに関係する画像をアップロードすることができ、そのうちの1つはハブのプロファイル画像512として選択される。別の例として、限定されるものでないが、図5Bは、カリフォルニア州パロアルト(Palo Alto,California)のスポーツバーである「Old Pro」のウェブページを示している。このウェブページは、例えば、選択可能な「いいね」アイコン522、選択可能な「チェックイン」アイコン524、選択可能な「お気に入りに追加」アイコン526、他の好適な構成要素、またはこれらの任意の組み合わせを含む。さらに別の例として、限定されるものでないが、図5Cは、「マシュー(Matthew)」の画像に対するウェブページを示している。このウェブページは、例えば、選択可能な「いいね」アイコン522、選択可能な「コメント」アイ
コン534、フィールド536内のさまざまなユーザからのコメントおよび「いいね」の歴、フィールド538内のコンセプトノードに対応するアプリケーションを示す標識、他の好適な構成要素、またはこれらの任意の組み合わせを含む。本開示では特定のコンセプトノードに関連付けられている特定のウェブページを説明し、図5A〜図5Cでそれを示しているが、本開示では、任意の好適なコンセプトノードに関連付けられている任意の好適なウェブページを企図している。さらに、本開示ではコンセプトノードがウェブページに関連付けられていることを説明しているが、本開示ではウェブページに必ずしも関連付けられていないコンセプトノードを企図している。例えば、限定されるものでないが、コンセプトノードは、任意の特定のウェブページに関連付けられていない曲または他の音楽作品に対応する。
む。例えば、限定されるものでないが、そのようなユーザは、例えば、その映画について「いいね」と表明した、映画を見た、映画を見たいと思っている、映画で演じたなどを示すソーシャルグラフデータベース206に記憶されている接続、および関連付けられているエッジ306を有する。特定の実施形態において、ファンセクション508に表示されているユーザは、ハブを現在閲覧しているユーザと友達でもあるユーザのみを含む。
特定の実施形態は、ソーシャルネットワーキングシステム20のユーザによって現在入力されている情報に基づきソーシャルグラフ300内のノードおよびエッジを自動的に生成するための方法にさらに関する。特定の実施形態において、1または複数のクライアントサイドおよび/またはバックエンド(サーバサイド)プロセスは、各既存のコンセプトノード304に対応するコンセプトと、ソーシャルネットワーキングシステム20によって、ホストされるか、またはアクセス可能である、ユーザプロファイルページなどの、要求されたウェブページと併せてレンダリングされる入力形式でユーザによって現在入力されている情報とのマッチングを自動的に試みるために「タイプアヘッド」機能を実装し利用する。特定の実施形態において、一致が見つかった場合、これらの、または他のプロセスが、ユーザに対応するユーザノード302からコンセプトの一致に対応する既存のコンセプトノード304へのエッジを自動的に生成する。特定の実施形態は、既存のコンセプトおよび対応するノードへの一致が見つからないか、または少なくとも所望のレベルの確かさで見つからないときに新規ノードおよび新規ノードからユーザのノードへのエッジを自動的に作成する1または複数のプロセスにさらに関する。例えば、限定されるものでないが、以下で説明されるように、例えば、ユーザプロファイルページなどの、ソーシャルネットワーキングシステム20でホストされるか、またはアクセス可能なさまざまなウェブページによって、ユーザは、各プロファイルページまたは他のコンセプトプロファイルページを通じて、メディアコンテンツ(例えば、写真、ビデオ、音楽、テキストなど)、ユニフォームリソースロケータ(URL)、他のノードなどの、追加のコンテンツにリンクすること、または他の任意の形で参照することを含む方法により、コンテンツを追加すること、関心事を宣言すること、または他の任意の形で自己表現すること(これ以降「宣言」とも総称される)ができる。次いで、そのような宣言は、オーサリングするユーザ、さらには他のユーザによって閲覧される。特定の実施形態において、ユーザが宣言を行うためにテキストを入力しているときに、タイプアヘッド機能は、宣言で入力されているテキスト文字列と既存のコンセプト(またはユーザ)およびソーシャルグラフ300内の対応するコンセプト(またはユーザ)ノードに対応する文字列(例えば、名前)とのマッチングを試みる。特定の実施形態において、一致が見つかったときに、タイプアヘッド機能は、既存のノードのノードへの参照(例えば、ノード名、ノードID、または別の好適な参照もしくは識別子)をフォームに自動的に投入し、これにより、上記において説明したように、一致している既存のノードとユーザに関連付けられているユーザノード302との間のエッジ306が作成される。特定の実施形態において、ユーザがテキストを入力し続け、タイプアヘッド機能が、少なくとも確かさの静的に、または動的に所定のレベルに従って、宣言の全部または一部が任意の既存のノードと一致しないと決定するので、このタイプアヘッド機能により、ソーシャルネットワーキングシステム20がユーザによって入力された宣言に基づく新規ノード、さらにはユーザのノードから新規ノードへのエッジを自動的に作成する。
304へのエッジ306を自動的に生成する。特定の実施形態は、既知のコンセプトとの一致が見つかったが、その既知のコンセプトに対してコンセプトノード304が現在存在していない場合に、その既知のコンセプトに対する新規コンセプトノード304および新規コンセプトノード304からユーザに関連付けられているユーザノード302へのエッジ306を自動的に作成する1または複数のプロセスにさらに関する。特定の実施形態は、既知のコンセプトまたは既存のコンセプトノード304との一致が見つからないか、または少なくとも確かさの所望のレベルで見つからない場合、すでに入力されている情報に基づく新規コンセプトノード304および新規コンセプトノード304からユーザに関連付けられているユーザノード304へのエッジ306を自動的に作成する1または複数のプロセスにさらに関する。ノードおよびエッジを自動的に生成することについての詳細は、本願明細書に援用する2010年4月19日に出願した米国特許出願第12/763162号において説明されている。
れらの語は、クリックされるか、または他の任意の方法で選択されたときに、ユーザをノードまたはエッジに関連付けられているプロファイルページに導くハイパーリンクに関連付けられる。例えば、限定されるものでないが、既知のコンセプトまたは既存のコンセプトノード304は、クリックされたときに、ユーザのウェブブラウザ202をコンセプトノード304に対応するコンセプトプロファイルページに導くハイパーリンクに関連付けられる。特定の実施形態において、語は、語がノードもしくはエッジに関連付けられている名前もしくは識別子と同一であるか、または実質的に類似しているか、または他の任意の形でノードもしくはエッジに関連付けられていると識別可能である場合にノードもしくはエッジに一致し得る。例えば、限定されるものでないが、お気に入りのテレビ番組セクション414の「ファミリー・ガイ」に対応するハイパーリンクをクリックすると、ユーザはファミリー・ガイというテレビ番組専用のウェブページ(以下で説明されているようなコンセプトプロファイルページ/ハブ)に導かれる。
XHR)であるか、またはXMLHTTPRequest(XHR)を含む。特定の実施形態において、フロントエンドタイプアヘッドプロセス204は、そのリクエストの前、そのリクエストの後、またはそのリクエストとともに、ユーザが宣言を行っている特定のページの特定のセクションを識別するセクション識別子(セクションID)も送信する。特定の実施形態において、ユーザIDパラメータも送信されるが、これは、いくつかの実施形態においては不要な場合がある。それはユーザがソーシャルネットワーキングシステム20にログインすることに基づきユーザがすでに「既知」だからである。
定の実施形態において、1または複数の一致が見つかった場合、バックエンドタイプアヘッドプロセス208は、例えば一致しているノードの名前(名前文字列)、さらには潜在的に、一致しているノードに関連付けられている他のメタデータを含む応答(AJAXもしくは他の好適な技術を利用する)をユーザのクライアントデバイス30に送信する。例えば、限定されるものでないが、図4Dは、アクティビティセクション408に対応するフォームボックス409内に文字「wei」をユーザが入力した結果を示している。図4Dに示されている例では、フロントエンドタイプアヘッドプロセス204は、一致している既存のプロファイルページおよび各ユーザノード302またはコンセプトノード304(例えば、「ウエイトリフティング(weight lifting)」という名前を持つ、またはそれ専用のハブ)の名前を表示するドロップダウンメニュー442を表示し、ユーザは、これをクリックするか、または他の任意の形で選択して、選択されたノードに対応する一致したユーザまたはコンセプト名を宣言することを望んでいることを確認する。別の例として、限定されるものでないが、「weight lifting」をクリックした後、フロントエンドタイプアヘッドプロセス204は、フォームボックス409に宣言「weight lifting」を自動投入するか、またはウェブブラウザ202に自動投入させる。特定の実施形態において、フロントエンドタイプアヘッドプロセス204は、ドロップダウンメニューを表示する代わりに、単純に、最高位にランク付けされた一致の名前または他の識別子をフォームに自動投入する。次いで、ユーザは、単純に自分のキーボードで「enter」と打ち込むか、または自動投入された宣言をクリックすることによって自動投入された宣言を確認する。
、限定されるものでないが、バックエンドタイプアヘッドプロセス208は、ジャングルキャットであるジャガーに関連付けられているユーザノード304を識別する。さらに別の例として、バックエンドタイプアヘッドプロセス208は、ジャクソンビル・ジャガー(JACKSONVILLE JAGUARS)というプロフットボールチーム専用のさらに別のコンセプトノード304およびジャガー(JAGUAR)という高性能高級車メーカー専用のコンセプトノード304を識別する。そのような場合、これらのユーザノード302またはコンセプトノード304のすべてが、バックエンドタイプアヘッドプロセス208によってマッチングされ、したがって、いくつかの実施形態において、ノード名のすべてが送信されるが、他の実施形態では、バックエンドタイプアヘッドプロセス208は、例えば、上で説明されるように、ユーザのプロファイルから抽出されたセクションIDまたは他のパラメータを使用して最も関連性の高い一致するユーザノード302またはコンセプトノード304がインデックスを作成されるカテゴリを決定することに基づき最も関連性が高いと決定される1つの一致するノード名のみを送信する。
プトノードに対応するハブ上に表示されているコンテンツと、ユーザのプロファイルページ上に表示されている、他の宣言を含むコンテンツとの関係、なども含む。ここでもまた、以下で説明されるように、これらのノードのいずれかを接続するエッジ306に関連付けられている接続の強度を特徴付ける情報も、最も関連性の高い一致しているコンセプトノード304を決定する際の関連性に重みを付けるために使用される。再び「jaguar」の例に戻って考察すると、バックエンドタイプアヘッドプロセス208は、「私はフットボールを観ることが大好きです(I love watching football)」というユーザの別の宣言を識別することができ、そのようなものとして、この識別(さらには他の要因)に基づき、バックエンドタイプアヘッドプロセス208は、JACKSONVILLE JAGUARSというプロフットボールチームに対応するノードを最良の一致としてランク付けし、フロントエンドタイプアヘッドプロセス204は、ドロップダウンメニューの一番上にこのノードの名前を列挙するか、またはフォームに名前を自動的に自動投入する。
データベース206を含む、データ構造24を走査する。本明細書で説明されるように、ユーザのプロファイルページで入力され表示されているものを含む与えられたユーザに関する、または関連付けられている情報のすべてが、ソーシャルグラフデータベース206内のユーザのノード302とともに記憶される。特定の実施形態において、それぞれのユーザ(ただし、いくつかの実施形態において、潜在的に、対応するコンセプトノード304を有するそれぞれのハブも)について、ブートストラッピングプロセス214は、テキスト文字を含むユーザのノード302に関連付けられているフィールドまたはオブジェクトのすべてを識別する。そのようなフィールドは、ユーザのプロファイルページ内にセクション408、410、412、414、416、418、420、および422のうちのいずれか、さらには、いくつかの実施形態では、ユーザと他のユーザとの間で送信されるプライベートメッセージ中のテキスト、ウォール(フィード)セクションの投稿された公開メッセージ、ステータス更新、写真の下の説明文などを含む。
フデータベース206またはコンセプトデータベース216に記憶される。一般的に、コンセプトデータベース216は、候補ハブを既知のコンセプトとマッチングさせるためにブートストラッピングプロセス214がクエリを実行できるコンセプト情報のインデックス付きリポジトリとする。すなわち、特定の実施形態では、それぞれのハブ候補を単一の既知のコンセプトとマッチングさせることが望ましい。特定の実施形態において、コンセプトデータベース216は、1または複数の外部情報源もしくはデータリポジトリをクロールすること(例えばウィキペディア(www.wikipedia.org)またはフリーベース(www.freebase.com)などをクロールすること)、およびこれらのクロール結果を互いに組み合わせて、さらには、潜在的に、ソーシャルグラフデータベース206を含む、1または複数の内部情報源から抽出された情報と組み合わせることによって、既知のコンセプトを投入される。特定の実施形態において、インデックスを作成され、コンセプトデータベース216に記憶されているコンセプトは、必ずしも、ソーシャルグラフデータベース206内に対応する既存のコンセプトノード304(またはユーザノード302)を有しない。すなわち、コンセプトデータベース216は、一般的に、既知のコンセプト(それぞれ対応する文字列によって表される)のインデックス、さらにはこれらのコンセプト(上記において説明したものなどの外部データソースからクロールされる)に関する情報を記憶するが、これらの既知のコンセプトのすべてがソーシャルグラフデータベース206に記憶されている対応する既存のコンセプトノード304を有するとは限らない。特定の実施形態において、コンセプトデータベース216は、ソーシャルグラフデータベース206を含むか、またはその逆でもよい。特定の実施形態において、ノード候補とソーシャルグラフデータベース206またはコンセプトデータベース216においてインデックスを作成された既知のユーザまたはコンセプトとのマッチングを円滑にするため、既知のユーザまたはコンセプトのインデックスを、例えば、限定されるものでないが、人、場所、物、アクティビティ、スポーツ、スポーツチーム、著名人、都市、場所、映画、書籍、レストランなどのカテゴリに編成する。ブートストラッピングプロセス214によって検索される特定のカテゴリは、ノード候補が識別されたところに関連付けられているセクションIDまたは他のフィールド識別子によって決定される。
ry Potter)」を宣言する。ブートストラッピングプロセス214が「Twilight」に対応する映画を曖昧でなく識別することができなかった場合(例えば、単語「twilight」を含む複数の映画があるため)、ブートストラッピングプロセス214は、「Harry Potter」について「いいね」と表明する多くの他のユーザが「トワイライト:ニュー・ムーン(Twilight:New Moon)」(曖昧でない映画)について「いいね」と表明するという事実を使用し、したがって、ユーザ「A」が「Twilight」とタイプ入力したときに十分な確度でユーザ「A」は「Twilight: New Moon」を参照している(したがって、この映画に対応するコンセプトノード304を参照している)と決定する。同様に、ブートストラッピングプロセス214は、ユーザに関する人口統計学情報を使用することも可能である。例えば、限定されるものでないが、年配のユーザは、1958年版の「ロミオとジュリエット(Romeo and Juliet)」について「いいね」と表明するが、若い世代のユーザにとっては、1996年に公開されたより新しい版の「ロミオ+ジュリエット(Romeo+Juliet)」を意味する可能性が高い。
rton)」をもたらす宣言をタイプ入力している可能性がある。このプロセスを円滑に進めるために、ブートストラッピングプロセス214は、とりわけ「および(and)」、または「または(or)」などの「接続詞」のリストを維持する。特定の実施形態において、このような文字列に対する信頼できる一致が見つからない場合、ブートストラッピングプロセス214は、ノード候補に対応するn−グラムまたは文字列が分割可能であるか否かを決定する。特定の実施形態において、n−グラムまたは文字列が分割可能であると決定された(例えば、ブートストラッピングプロセス214が文字列内の接続詞を識別した)場合、ブートストラッピングプロセス214は、n−グラムまたは文字列を1または複数のノード候補に分割する。これらの分割ノード候補(例えば、「ジョニー・デップが出演する映画すべて(all movies with Johnny Depp)」および「エドワード・ノートンが出演する映画すべて(all movies with
Edward Norton)」)のそれぞれについて、ブートストラッピングプロセス214は、これまで通りに進行する。
フデータベース206内のエッジで)要求されたプロファイルページに接続されるが、必ずしも(ソーシャルグラフデータベース206内のエッジによって定義されるように)リクエストユーザの友達と接続されていないプロファイルページを含む。一般的に、特定のプロファイルページを現在閲覧しているか、または要求しているリクエストユーザに推奨されたプロファイルページを表示するための1つの目標または動機は、ユーザに、ユーザが閲覧または対話的に操作することに関心を有している推奨されたプロファイルページを提供し、さらに、現在閲覧されているプロファイルページからそのような推奨されたプロファイルページへのナビゲーションを円滑にし、特定の実施形態において、ユーザに対応するユーザノード302をユーザが関心のあることを証明するか、または示す推奨されたプロファイルページに対応するノードに接続するエッジ306の作成を円滑にすることである。
18は、その後、それぞれリクエストユーザ(例えば、リクエストユーザの友達、リクエストユーザに「いいね」と表明されているコンセプト)と接続され、また要求されたプロファイルページと接続されている1もしくは複数のユーザまたは1もしくは複数のコンセプト(例えば、要求されたプロファイルページについて「いいね」と表明するユーザ、リクエストユーザの友達に「いいね」と表明されているコンセプト)とそれぞれ接続されている(ソーシャルグラフデータベース206内のエッジ306を通じて)プロファイルページを含む第1のデータセットを決定するか、または識別する。特定の実施形態において、第1のデータセットを決定するのと並行して、またはその後に、推奨生成プロセス218は、要求されたプロファイルページと両方ともそれぞれ接続され(ソーシャルグラフデータベース206内のエッジ306を通じて)、また、その後(ソーシャルグラフデータベース206内のエッジ306を通じて)リクエストユーザ(例えば、リクエストユーザの友達)に接続される1もしくは複数のユーザまたは1もしくは複数のコンセプトとも接続されているプロファイルページを含む第2のデータセットを決定する。一般的に、第1および第2のデータセットは、同じプロファイルページのうちの1または複数を含む。
タセットは、第1および第2のデータセット内のデータを増やす際に、または第1および第2のデータセット内のプロファイルページにスコアを付けるための追加の基準(例えば、プロファイルページのそれぞれの全体的な人気度を示すグローバルフィルタ)を提供するために使用される。さらに、第3および第4のデータセットは、要求されたプロファイルページと接続されているユーザの友達が存在しない、または要求されたプロファイルページと接続されているプロファイルページのいずれもがリクエストユーザのいずれの友達にも接続されていない場合に特に役立つ。
要求されたプロファイルページとの間で共有されるコンテンツの量または質、他の好適な要因、またはこれらの任意の組み合わせなどに基づき得る。例えば、限定されるものでないが、組み合わされたデータセット内のそれぞれのプロファイルページに対する単一の相関するスコアを決定することは、推奨生成プロセス218が組み合わされたデータセット内のそれぞれのプロファイルページと各プロファイルページに接続されているリクエストユーザの友達のそれぞれとの間の1または複数の係数スコア、組み合わされたデータセット内のそれぞれのプロファイルページとリクエストユーザとの間の1または複数の係数スコア、組み合わされたデータセット内のそれぞれのプロファイルページと要求されたプロファイルページとの間の1または複数の係数スコア、またはリクエストユーザと組み合わされたデータセットからのプロファイルページと接続されているユーザのそれぞれとの間の1または複数の係数スコアを生成することを伴い得る。組み合わされたデータセット内のそれぞれのプロファイルページに対する単一の相関するスコアを決定することは、それに加えて、係数スコアのそれぞれを総和するか、または何らかの形で組み合わせてそれぞれのプロファイルページに対する単一の相関するスコアを生成することを伴い得る。
クエストユーザに送信する前にクライアントデバイス30にプロファイルページをレンダリングするために構造化ドキュメントの残りとともに推奨されたプロファイルページ名512またはプロファイルページ画像514を表示するためのコードもしくはリソースを含む。
特定の実施形態において、オンラインソーシャルネットワークのユーザは、「検索クエリ」と称されることが多い、検索対象を記述する短い語句を検索エンジンに提供することによって特定の検索対象(例えば、ユーザ、コンセプト、外部コンテンツ、またはリソース)に関係する情報を検索する。検索エンジンは、さまざまな検索アルゴリズムを使用してクエリ語句に基づき検索を実行し、検索クエリに関係する可能性が最も高いリソースまたはコンテンツ(例えば、ユーザプロファイルページ、コンテンツプロファイルページ、または外部リソース)を識別する検索結果を生成する。検索を実行するために、ユーザは、検索クエリを検索エンジンに入力するか、または送信し得る。それに応答して、検索エンジンは、検索クエリに対して識別された「検索結果」と総称される、検索クエリに関係
する可能性の高い1または複数のリソースを識別する。検索結果は、ユーザに対して、多くの場合に検索結果ウェブページ上のリンクのリストの形態で提示され、それぞれのリンクは識別されたリソースまたはコンテンツの一部を含む異なるウェブページに関連付けられる。特定の実施形態において、検索結果内のそれぞれのリンクは、対応するウェブページが配置される場所を指定するユニフォームリソースロケータ(URL)とそれを取り出すための機構の形態をとり得る。次いで、ユーザは、URLリンクをクリックすることで自分が望んでいるとおりに対応するウェブページ内に含まれる特定のリソースまたはコンテンツを閲覧する。リソースは、検索クエリとの相対的関連度に従ってランク付けされ、ユーザに提示される。検索結果も、ユーザとの相対的関連度に従ってランク付けされ、ユーザに提示される。言い換えると、検索結果は、例えば、ソーシャルグラフ情報、ユーザ情報、ユーザの検索もしくはブラウザ閲覧履歴、またはユーザに関係する他の好適な情報に基づきクエリを実行するユーザに対してパーソナライズされる。特定の実施形態において、これらのリソースのランク付けは、検索エンジンに実装されているランク付けアルゴリズムによって決定される。例えば、限定されるものでないが、検索クエリまたはユーザに対する相対的関連性がより高いリソースは、検索クエリまたはユーザに対する相対的関連性がより低いリソースより高くランク付けされる。特定の実施形態において、検索エンジンは、その検索をオンラインソーシャルネットワーク上のリソースをおよびコンテンツに制限する。しかし、特定の実施形態では、検索エンジンは、ウェブアプリケーションサーバ40、エンタプライズサーバ50、インターネットもしくはワールドワイドウェブ、または他の好適なソースなどの、他のソース上のリソースもしくはコンテンツについても検索する。
ることによって自動投入された宣言を確認する。一致しているノードおよびエッジをユーザが確認した後、フロントエンドタイプアヘッドプロセス204は、一致しているソーシャルグラフ要素を含むクエリをユーザが確認することをバックエンドタイプアヘッドプロセスに通知するリクエストをバックエンドタイプアヘッドプロセス208に送信する。リクエストが送信されたことに応答して、バックエンドタイプアヘッドプロセスは、一致しているソーシャルグラフ要素について、または一致しているソーシャルグラフ要素に接続されているソーシャルグラフ要素について、適宜、ソーシャルグラフデータベース206を検索するためにソーシャルネットワーキングシステム20を自動的に(あるいはリクエストの中の命令に基づき)呼び出すか、または他の任意の方法で命令する。本開示では特定の様式でタイプアヘッドプロセスを検索クエリに適用することを説明しているが、本開示は、任意の好適な様式でタイプアヘッドプロセスを検索クエリに適用することを企図している。
特定の実施形態において、ソーシャルネットワーキングシステム20は、クエリを実行している/第1のユーザ(第1のユーザノード302に対応する)から実質的に構造化されていないテキストクエリを受信する。例えば、限定されるものでないが、第1ユーザは、(1)第1のユーザの第1度の友達であり、(2)FACEBOOK(登録商標)という会社について「いいね」と表明し(すなわち、ユーザノード302は、フェースブック(登録商標)社(FACEBOOK INC.)に対応するコンセプトノード304にエッジ306によって接続される)、(3)ある年齢より若い他のユーザを検索することを望み得る。次いで、第1のユーザは、図6C〜図6Iに示されるように、「フェースブックに “いいね”と表明しているXXより若い友達(friends who like
facebook and are younger than)」というテキストクエリを検索フィールド450に入力する。別の例として、限定されるものでないが、その第1ユーザは、(1)「Old Pro」という場所について「いいね」と表明し、(2)「Acme」という会社について「いいね」と表明し、(3)パロアルト(Palo Alto)という市に居住している他のユーザを検索することを望み得る。次いで、第1のユーザは、図6K〜図6Oに示されるように、「パロアルトでold proとacmeについて“いいね”と表明する人(people who like old pro
and acme in palo alto)」というテキストクエリを検索フィールド450に入力する。上で説明されている例の両方において、第1のユーザがこのテキストクエリを検索フィールド450内に入力すると、ソーシャルネットワーキングシステム20は、ドロップダウンメニュー600に示されるように、さまざまな提案される構造化クエリを提供する。本明細書で使用されるように、実質的に構造化されていないテキストクエリは、ユーザによって入力されるシンプルテキスト文字列を含む。テキストクエリは、当然に、標準的な言語/文法の規則に関して構造化される。しかし、テキストクエリは、通常、ソーシャルグラフ要素に関しては構造化されない。言い換えると、シンプルテキストクエリは、通常、特定のソーシャルグラフ要素への埋め込まれた参照を含まない。したがって、本明細書で使用されるように、構造化クエリは、特定のソーシャルグラフ要素への参照を含むクエリを示し、これにより検索エンジンは識別された要素に基づき検索を実行する。本開示は特定の様式で特定のクエリを受信することを説明しているが、本開示は、好適な様式で好適なクエリを受信することも企図している。
alo)、パロアルトの(in palo also)、パロアルトの友達(friends in palo alto)を識別する。特定の実施形態において、それぞれのn−グラムは、テキストクエリからの連続するn個のアイテムのシーケンスを含む。別の例として、限定されるものでないが、ソーシャルネットワーキングシステム20は、テキストクエリ「フェースブックに“いいね”と表明している友達(friends who like facebook)」を構文解析し(図6Fに示されるように)、n−グラムである、友達(friends)、している(who)、“いいね”と表明(like)、フェースブック(facebook)、している友達(friends who)、“いいね”と表明している(who like)、フェースブックに“いいね”と表明(like facebook)、“いいね”と表明している友達(friends who
like)、フェースブックに“いいね”と表明している(who like facebook)を識別する。本開示は特定の様式で特定のクエリを構文解析することを説明しているが、本開示は、好適な様式で好適なクエリを構文解析することも企図している。
示では、検索クエリで識別されたn−グラムに対する確率スコアを計算する好適な方法を企図している。特定の実施形態において、ソーシャルネットワーキングシステム20は、n−グラムが特定のソーシャルグラフ要素に対応する確率pを決定する。確率pは、特定の検索クエリXが与えられたときに、特定のソーシャルグラフ要素kに対応する確率として計算される。言い換えると、この確率はp=(k|X)として計算される。例えば、限定されるものでないが、n−グラムがソーシャルグラフ要素に対応する確率は、pi,j,kと表される確率スコアとして計算される。入力は、テキストクエリX=(x1,x2,...,xN)、およびクラス(class)の集合である。それぞれの(i:j)およびクラスkについて、ソーシャルネットワーキングシステム20は、pi,j,k=p(class(xi:j)=k|X)を計算する。特定の実施形態において、ソーシャルネットワーキングシステム20は、言語モデルに基づき特定のn−グラムがソーシャルグラフ要素に対応する確率を決定する。好適な確率的言語モデルを使用して、特定のn−グラムが特定のソーシャルグラフ要素に対応する確率を決定する。例えば、限定されるものでないが、ソーシャルネットワーキングシステム20は、n−グラムモデル、セグメンタルマルコフモデル、文法言語モデル、別の好適な確率的言語モデル、またはこれらの組み合わせを使用する。特定の実施形態において、ソーシャルネットワーキングシステム20は、前向き後ろ向きアルゴリズムを使用して、特定のn−グラムが特定のソーシャルグラフ要素に対応する確率を決定する。テキストクエリ内の与えられたn−グラムについて、ソーシャルネットワーキングシステム20は、先行のn−グラムと後続のn−グラムの両方を使用して、どの特定のソーシャルグラフ要素が与えられたn−グラムに対応するかを決定する。特定の実施形態において、ソーシャルネットワーキングシステム20は、広告スポンサシップに基づき特定のn−グラムがソーシャルグラフ要素に対応する確率を決定する。広告主(例えば、特定のノードに対応する特定のプロファイルページのユーザまたは管理者など)は、特定のノードのスポンサになり、そのノードに、特定のn−グラムに対応するか否かを決定するときにより高い確率を与えられるようにするか、または決定された確率に関係なく特定のn−グラムに対応するものとして識別される。例えば、限定されるものでないが、n−グラム「スマートフォン(smart phone)」は、「iPhone」(スマートフォンの一種である)に対するコンセプトノード304に対応し、また「Android(登録商標)」(別の種類のスマートフォンである)に対するコンセプトノードにも対応する。これらのコンセプトノード304のうちの1つに対して、広告主がスポンサになった場合、ソーシャルネットワーキングシステム20は、n−グラム「smart phone」に対応するより高い確率のn−グラムを決定する。本開示では特定の様式でn−グラムがソーシャルグラフ要素に対応するか否かを決定することを説明しているが、本開示は、任意の好適な様式でn−グラムがソーシャルグラフ要素に対応するか否かを決定することを企図している。さらに、本開示では特定のタイプのスコアを使用してn−グラムがソーシャルグラフ要素に対応するか否かを決定することを説明しているが、本開示は、任意の好適なタイプのスコアを使用してn−グラムがソーシャルグラフ要素に対応するか否かを決定することを企図している。
えば、限定されるものでないが、図3を参照すると、ユーザ「B」が「チキン」のテキストクエリを入力した場合、これがエッジ306によってユーザ「B」に接続されているレシピ「チキンパルメザン」に対するコンセプトノード304に対応する計算された確率は、このn−グラムがソーシャルグラフ300内でユーザ「B」に接続されていないn−グラム「チキン」に関連付けられている他のノード(例えば、「チキンナゲット」または「ファンキー・チキン・ダンス」に対応するコンセプトノード304)に対応する計算された確率よりも高いことがわかる。特定の実施形態において、ソーシャルネットワーキングシステム20は、特定のn−グラムが第1のユーザ(すなわち、クエリを実行しているユーザ)に対応するユーザノード302の分離度のしきい値の範囲内のノードに対応する確率を決定することのみができる。したがって、この分離度のしきい値を超えるノードは、n−グラムに対応する確率としてゼロまたはヌルを割り当てられる。あるいは、クエリを解決するときに、ソーシャルネットワーキングシステム20は、分離度のしきい値の範囲内のノードにアクセスすることのみでき、またこれらのノードに対する確率を決定することのみできる。分離度のしきい値は、例えば、1、2、3、またはすべてであってよい。特定の実施形態において、n−グラムが特定のノードに対応する確率は、特定のノードに接続されている識別されたエッジ306に基づく。ソーシャルネットワーキングシステム20が、受信されたテキストクエリ内のn−グラムに対応する1または複数のエッジをすでに識別している場合、それらの識別されたエッジは、特定のノードがテキストクエリ内の特定のn−グラムに対応しているか否かを決定するときに考慮される。識別されたエッジのいずれにも接続されていないノードは、n−グラムに対応する確率としてゼロまたはヌルを割り当てられる。例えば、限定されるものでないが、ユーザが「ポーカーをプレイしたことがある友達(friends who have played poker)」を検索する場合、ソーシャルネットワーキングシステム20は、n−グラム「プレイしたことがある(have played)」がソーシャルグラフ300内の「プレイした」エッジ306に対応していると識別し、次いで1または複数の「プレイした」エッジ306に接続されているノードを検索する。引き続きこの例において、ソーシャルグラフ300は、オンラインソーシャルネットワークのユーザによってオンラインで対戦できる、図3に示されているような、アプリケーション「オンライン・ポーカー」に対応するコンセプトノード304を含み(したがって、「プレイした」エッジを形成する)、またオンラインソーシャルネットワークのユーザが(例えば、書籍に対応するコンセプトプロファイルページ上でちょうどそれだけ示すことなどによって)「読む」かまたは「いいね」と表明する、「ポーカー・フォー・ダミーズ(Poker for Dummies)」という書籍に対応するコンセプトノード304も含む。これらのノードのうちのいずれかがn−グラム「ポーカー(poker)」に対応している確率を決定するときに、ソーシャルネットワーキングシステム20は、「オンライン・ポーカー(online poker)」に対するコンセプトノード304は「プレイした」エッジ306に接続されているのでn−グラム「poker」に対応する比較的高い確率を有するが、「Poker for Dummies」に対するコンセプトノード304はどの「プレイした」エッジ306にも接続されていないのでn−グラム「poker」に対応する比較的低い確率を有すると決定する。特定の実施形態において、n−グラムが特定のノードに対応する確率は、特定のノードに接続されているエッジ306の数に基づく。より多くの接続エッジ306を有するノードは、人気度が高く、検索クエリのターゲットとなる可能性がより高い。例えば、限定されるものでないが、引き続き前の例において、「online poker」に対するコンセプトノード304が5つのエッジでのみ接続されているが、「Poker for Dummies」に対するコンセプトノード304は5000個のエッジで接続されている場合、n−グラム「poker」がこれらのノードのうちのいずれかに対応している確率を決定するときに、ソーシャルネットワーキングシステム20は、「Poker for Dummies」に対するコンセプトノード304が、そのコンセプトノード304に接続されているエッジの数が多いのでn−グラム「poker」に対応する比較的高い確率を有すると決定する。特定の実施形態において、n−グラムが特定の
ノードに対応する確率は、第1のユーザ(すなわち、クエリを実行しているユーザ)に関連付けられている検索履歴に基づく。第1のユーザがすでにアクセスしているか、または第1のユーザがすでにアクセスしているノードに関連するノードは、第1のユーザの検索クエリのターゲットとなる可能性が高い。例えば、限定されるものでないが、引き続き前の例において、第1のユーザが「online poker」プロファイルページをすでに訪問しているが、「Poker for Dummies」プロファイルページには訪問したことがない場合、n−グラム「poker」がこれらのページに対応するノードのいずれかに対応している確率を決定するときに、ソーシャルネットワーキングシステム20は、「online poker」に対するコンセプトノード304が、クエリを実行しているユーザがそのコンセプトノード304にすでにアクセスしている(また実際、「閲覧した」エッジ306でそのノードにすでに接続されている可能性がある)のでn−グラム「poker」に対応する比較的高い確率を有すると決定する。別の例として、限定されるものでないが、第1のユーザが「フェースブック賄い料理チーム(Facebook Culinary Team)」に対するコンセプトプロファイルページをすでに訪問している場合、n−グラム「フェースブック(facebook)」が特定のソーシャルグラフ要素に対応する確率を決定するときに、ソーシャルネットワーキングシステム20は、クエリを実行しているユーザがコンセプトノード304にすでにアクセスしているので「Facebook Culinary Team」に対応するコンセプトノード304が比較的高い確率を有すると決定する。本開示では特定の様式でn−グラムがソーシャルグラフ要素に対応するか否かを決定することを説明しているが、本開示は、任意の好適な様式でn−グラムがソーシャルグラフ要素に対応するか否かを決定することを企図している。
コンセプトノード304は、例えば、映画「ショーシャンクの空に」に対応しているコンセプトノード304などの、単一のエッジ306によってユーザ「B」のユーザノードに接続されるコンセプトノード304より関連性が低いとみなされる。さらに別の例として、限定されるものでないが、「オンライン・ポーカー」(オンラインマルチプレーヤゲームである)に対するコンセプトノードは、ソーシャルグラフ300内のいずれの経路によってもユーザ「B」に対するユーザノードに接続されず、したがって、コンセプト「オンライン・ポーカー」は、ユーザ「B」に関連しているとみなされない。特定の実施形態において、第2のノードは、第2のノードが第1のユーザノード302の分離度のしきい値の範囲内に存在する場合にのみ、第1のユーザノードとの関連性が高いとみなされる。例えば、限定されるものでないが、分離度のしきい値が3である場合、ユーザ「D」に対応しているユーザノード302は、図3に示されているソーシャルグラフ300上で互いに3度の範囲内に存在する、レシピ−「チキンパルメザン」に対応するコンセプトノード304に関連しているとみなされる。しかし、引き続きこの例を参照すると、アプリケーション「レシピすべて」に対応しているコンセプトノード304は、ユーザ「D」に対応しているユーザノード302に関連しているとみなされないが、それはこれらのノードがソーシャルグラフ300内で4度離れているからである。本開示は特定の様式で特定のノードが互いに関連しているか否かを決定することを説明しているが、本開示は、好適な様式で好適なノードが互いに関連しているか否かを決定することも企図している。さらに、本開示はユーザノード302およびコンセプトノード304が第1のユーザノード302に関連しているか否かを決定することを説明しているが、本開示は、特定のノードが他の特定のノードと関連しているか否かを決定することも同様に企図している。例えば、限定されるものでないが、ソーシャルグラフ300は、いずれのコンセプトノード304が他のコンセプトノード304に関連しているかを決定するために使用される。
るしきい値の確率より高い確率を有する1または複数のエッジ306を識別する。識別されたエッジ306のそれぞれは、n−グラムのうちの少なくとも1つに対応する。例えば、限定されるものでないが、n−グラムは、Pi,j,k>Pエッジ−しきい値の場合にエッジkに対応しているものとしてのみ識別される。さらに、識別されたエッジ306のそれぞれは、識別されたノードのうちの少なくとも1つに接続される(以下で説明される)。言い換えると、ソーシャルネットワーキングシステム20は、特定のn−グラムに対応しているものとしてすでに識別されているユーザノード302またはコンセプトノード304に接続されているエッジ306またはエッジタイプのみを識別する。すでに識別されているノードに接続されていないエッジ306またはエッジタイプは、典型的には、検索クエリ内の特定のn−グラムに対応しない。これらのエッジ306またはエッジタイプをフィルタで除去するか、または無視することによって、ソーシャルネットワーキングシステム20は、関連するソーシャルグラフ要素についてソーシャルグラフをより効率的に検索する。例えば、限定されるものでないが、図3を参照すると、「スタンフォードに通った(went to Stanford)」を含むテキストクエリについて、識別されたコンセプトノード304が学校「スタンフォード」である場合、ソーシャルネットワーキングシステム20は、「勤務していた」に対応するエッジ306および「通っていた」に対応するエッジ306を識別することができ、両方とも「スタンフォード」に対するコンセプトノード304に接続されていることがわかる。したがって、n−グラム「通った(went to)」は、これらのエッジ306に対応するものとして識別される。しかし、同じテキストクエリについて、ソーシャルネットワーキングシステム20は、「スタンフォード」ノードがそれに接続されているそのようなエッジを有していないのでソーシャルグラフ300内で「“いいね”と表明」または「ファン」に対応するエッジ306を識別し得ない。本開示では特定の様式でn−グラムに対応するエッジ306を識別することを説明しているが、本開示は、任意の好適な様式でn−グラムに対応するエッジ306を識別することを企図している。
が、n−グラムは、pi,j,k>pコンセプト−ノード−しきい値の場合にコンセプトノード304kコンセプトに対応しているものとして識別される。特定の実施形態において、ソーシャルネットワーキングシステム20は、第1のユーザ(すなわち、クエリを実行しているユーザ)に対応するユーザノード302の分離度のしきい値の範囲内のノードを識別することのみができる。分離度のしきい値は、例えば、1、2、3、またはすべてであってよい。本開示では特定の様式でn−グラムに対応するノードを識別することを説明しているが、本開示は、任意の好適な様式でn−グラムに対応するノードを識別することを企図している。
特定の実施形態において、ソーシャルネットワーキングシステム20は、それぞれ識別されたユーザノード302のうちの1または複数および識別されたエッジ306のうちの1または複数への参照を含む1または複数の構造化クエリを生成する。このタイプの構造化検索クエリは、識別されたユーザノード302および識別されたエッジ306に接続された、または他の任意の形で関係するコンテンツを検索することによってソーシャルネットワーキングシステム20がオンラインソーシャルネットワークに関係するリソースおよびコンテンツ(例えば、プロファイルページなど)をより効率的に検索することを可能に
する。例えば、限定されるものでないが、テキストクエリ「私のガールフレンドの友達を表示(show me friends of my girlfriend)」に応答して、ソーシャルネットワーキングシステム20は、構造化クエリ「ステファニの友達(Friends of Stephanie)」を生成するが、ただし、構造化クエリ内の「友達(Friends)」および「ステファニ(Stephanie)」は、特定のソーシャルグラフ要素に対応する参照である。「Stephanie」への参照は、特定のユーザノード302に対応するが、「friends」への参照は、そのユーザノード302を他のユーザノード302に接続する「友達」エッジ306(すなわち、「ステファニの(Stephanie’s)」の第1度の友達に接続するエッジ306)に対応する。この構造化クエリを実行するときに、ソーシャルネットワーキングシステム20は、「ステファニ」に対応するユーザノード302に「友達」エッジ306によって接続された1または複数のユーザノード302を識別する。特定の実施形態において、ソーシャルネットワーキングシステム20は、複数の構造化クエリを生成することができ、構造化クエリは、異なる識別されたユーザノード302または異なる識別されたエッジ306への参照を含む。例えば、限定されるものでないが、テキストクエリ「ネコの写真(photos of cat)」に応答して、ソーシャルネットワーキングシステム20は、第1の構造化クエリ「ケイティの写真(Photos of Catey)」および第2の構造化クエリ「キャサリンの写真(Photos of Catherine)」を生成することができ、構造化クエリ内の「写真(Photos)」は、特定のソーシャルグラフ要素に対応する参照であり、「ケイティ(Catey)」および「キャサリン(Catherine)」は、2つの異なるユーザノード302への参照である。これらの構造化クエリのいずれかを実行するときに、ソーシャルネットワーキングシステム20は、エッジ306によって識別されたユーザノード302に接続された写真に対応する1または複数のコンセプトノード304を識別する。本開示は特定の様式で特定の構造化クエリを生成することを説明しているが、本開示は、好適な様式で好適な構造化クエリを生成することも企図している。
ができ、構造化クエリ内の「フェースブック賄い料理チーム(Facebook Culinary Team)」は、さらに別のソーシャルグラフ要素に対応する参照である。本開示は特定の様式で特定の構造化クエリを生成することを説明しているが、本開示は、好適な様式で好適な構造化クエリを生成することも企図している。
のノードに接続される頻度に基づく。特定の実施形態において、ソーシャルネットワーキングシステム20は、受信されたテキストクエリに関する構造化クエリのテキストの関連性に基づき構造化クエリのそれぞれをランク付けする。特定の構造化クエリのテキストの関連性は、特定の構造化クエリ内の語および語の数がクエリを実行しているユーザから受信されたテキストクエリとどのように一致するかに基づき得る。例えば、限定されるものでないが、受信されたテキストクエリと比較して挿入された語が少ない構造化クエリは、挿入された語が多い構造化クエリに比べて高くランク付けされる。特定の実施形態において、ソーシャルネットワーキングシステム20は、構造化クエリの重要度または人気度に基づき構造化クエリのそれぞれをランク付けする。例えば、限定されるものでないが、「ユーザAの友達(Friends of User A)」を含む第1の構造化クエリは、「ユーザAの写真(Pictures of User A)」を含む第2の構造化クエリに比べて高くランク付けされるが、それは、「友達」エッジタイプを参照している構造化クエリは、「写真」エッジタイプを参照している構造化クエリに比べて、オンラインソーシャルネットワーク上で重要または人気があるからである。別の例として、限定されるものでないが、「スタンフォードの学生(Stanford students)」を含む第1の構造化クエリは、「スタンフォードの従業者(Stanford employees)」を含む第2の構造化クエリに比べて高くランク付けされるが、それは、「学生」エッジタイプを参照している構造化クエリは、「従業者」エッジタイプを参照している構造化クエリに比べて、オンラインソーシャルネットワーク上で重要または人気があるからである。特定の実施形態において、ソーシャルネットワーキングシステム20は、構造化クエリにおいて使用されている語の時制に基づき構造化クエリのそれぞれをランク付けする。特定の時制の語を使用する構造化クエリは、異なる時制の語を使用する構造化クエリに比べて高くランク付けされる。本開示は特定の様式で構造化クエリをランク付けすることを説明しているが、本開示は、好適な様式で構造化クエリをランク付けすることも企図している。
の「友達(Friends)」および「“いいね”と表明(like)」への参照も、特定のエッジ306に対応していることを示すように強調される。本開示は特定の様式で特定の構造化クエリを送信することを説明しているが、本開示は、好適な様式で好適な構造化クエリを送信することも企図している。
特定の実施形態において、構造化検索クエリへの応答として検索結果を生成するときに、ソーシャルネットワーキングシステム20は、オンラインソーシャルネットワークの特定のユーザに関連付けられているプライバシ設定に基づき検索結果をフィルタリングする。例えば、限定されるものでないが、構造化クエリが、クエリを実行しているユーザによって選択され、ソーシャルネットワーキングシステム20によって受信された後に、検索エンジンが、クエリ条件を満たすか、または一致するターゲットコンテンツ(例えば、ノードおよび/またはそれの対応するプロファイルページ)を識別する。ターゲットコンテンツ(およびより具体的には、ターゲットコンテンツに対応するターゲットノード)は、オンラインソーシャルネットワークのいずれのユーザがコンテンツを閲覧またはコンテンツにアクセスできるかを指定するプライバシ設定に関連付けられる。例えば、特定のソーシャルグラフ要素は、クエリを実行しているユーザにとって可視でなく、したがって、そのソーシャルグラフ要素(またはその関係する要素)を参照している構造検索クエリは、その要素に依存する検索結果を生成すべきでない。その結果、コンテンツに関連付けられているプライバシ設定により、特定のターゲットコンテンツが検索結果内に表示されない。図10は、例示的なソーシャルグラフ300を示している。図10に示されているソーシャルグラフ300が以下の例のいくつかで参照され、プライバシ設定が検索結果のフィルタリングにどのように使用されるかを示す。本開示では特定の様式でプライバシ設定に基づき検索結果をフィルタリングすることを説明しているが、本開示は、任意の好適な様式でプライバシ設定に基づき検索結果をフィルタリングすることを企図している。
スする能力を限定することによって制限される。例えば、限定されるものでないが、第1のユーザのプライバシ設定で、そのユーザのプロファイルページが「友達の友達」(すなわち、第2度の友達)しか閲覧またはアクセスされないように指定し、それにより、3度以上のユーザが第1のユーザのプロファイルページを閲覧またはそれにアクセスすることを防ぐ。別の例として、限定されるものでないが、図10を参照すると、ユーザ「9」に対するプライバシ設定で、そのユーザの教育情報が他のユーザに見えないように指定することができ、したがって、ユーザ「9」に対するユーザノード302を学校「スタンフォード」に対応するコンセプトノード304に接続する「通っていた」エッジ306は他のユーザにとって可視でないことがわかる。したがって、ユーザ「9」に対するプライバシ設定により、そのユーザのユーザノード302(または対応するユーザプロファイルページ)への参照がスタンフォード大学に通っていたユーザについて検索結果に表示されるのを防ぐことが可能であろう。本開示は特定の様式で特定のプライバシ設定にアクセスすることを説明しているが、本開示は、好適な様式で好適なプライバシ設定にアクセスすることも企図している。
有することができ、したがって、このエッジ306がクエリを実行しているユーザにとって可視である場合、生成された検索結果は、ユーザ「7」への参照を含む。特定の実施形態において、クエリを実行しているユーザに対するユーザノード302は、必ずしも、ターゲットノードヘの可視である経路によって接続される必要はないが、クエリを実行しているユーザにとって可視であるノード(ソースノード)とターゲットノードとの間に少なくとも1つの経路が存在するべきである。例えば、限定されるものでないが、引き続き前の例を参照すると、クエリを実行しているユーザは、必ずしも、ユーザ「4」またはユーザ「7」のいずれかへの経路で接続される必要はないが、クエリを実行しているユーザが、この場合にはユーザ「5」であってよい、ソースノードを閲覧できる限り、またクエリを実行しているユーザがユーザ「5」とターゲットノードとの間の経路を閲覧できる限り、ターゲットノードは検索結果内に出現する。クエリを実行しているユーザは、例えば、ノードが公開されアクセス可能であるか、またはクエリを実行しているユーザの分離度のしきい値の範囲内に存在するので、ソースノードを閲覧できる。本開示は特定の様式で検索結果を生成することを説明しているが、本開示は、好適な様式で検索結果を生成することも企図している。
friend:10(apply friend:(or friend:5 attended>6)))friend:11)であり、「Stanford」に対応するコンセプトノード304は、「6」として参照されている。ソーシャルネットワーキングシステム20は、内側の条件である(apply friend:(or friend:5 attended>6))を、内側の条件に依存する外側の条件が解決される前に解決される必要がある第1の条件として識別する。図10を参照すると、内側の条件は、ユーザ「5」の友達または「スタンフォード」に通っていたユーザのいずれかであるユーザを識別することによって解決されることがわかる。ユーザ「5」の友達はユーザ「4」および「7」であり、両者とも「友達」エッジ306によってユーザ「5」に対するノードに接続される。「スタンフォード」に通っていたユーザは、ユーザ「4」、「7」、および「9」である。したがって、これらの結果を組み合わせて、内側の条件は、ユーザ「4」、「7」、および「9」に対するユーザノード302を識別している。次に、これら3
つの結果は、apply演算子を使用して外側の条件に適用され、そこで、s−式(or(and friend:10(or friend:4 friend:7 friend:9)friend:11)として表現し直される。表現し直されたクエリは、ユーザ「11」の友達またはユーザ「10」およびユーザ「4」、「7」、または「9」のうちの1つの両方の友達のいずれかであるユーザを識別することによって解決される。ユーザ「11」の唯一の友達はユーザ「10」である。ユーザ「10」の友達はユーザ「3」および「8」を含むが、ユーザ「4」、「7」、および「9」の友達はユーザ「3」、「5」、および「8」を含み、したがって、ユーザ「3」および「8」は、両方の集合内の友達であり、この条件を満たす。したがって、外側の条件は、ユーザ「3」、「8」、および「10」に対するユーザノード302を、構造化クエリに対応するターゲットノードとして識別する。本開示は特定の様式で検索クエリを解決することを説明しているが、本開示は、好適な様式で検索クエリを解決することも企図している。
経路内のそれぞれの選択されたエッジは、第1のユーザにとって可視である可視性を有する。したがって、サブグラフがクエリを実行しているユーザとターゲットノードとの間に複数の終端経路を含む場合、サブグラフは、そのまま、サブグラフ内の少なくとも1つの終端経路がユーザにとって可視である限りプライバシ許可経路を有するものとして識別される。次いで、生成された検索結果は、少なくとも1つの可視である終端経路を有する識別されたサブグラフに対応するそれぞれのターゲットノードへの参照を含む。例えば、限定されるものでないが、図11Aを参照すると、クエリを実行しているユーザとユーザ「3」に対するターゲットノードとの間に終端経路は2つ存在する。2つの取りうる終端経路のうちの少なくとも一方がクエリを実行しているユーザにとって可視である限り、ユーザ「3」に対するターゲットノードは、そのクエリに対する検索結果に含まれる。特定の実施形態において、クエリを実行しているユーザに対するユーザノード302は、必ずしも、ターゲットノードヘの可視である経路によって接続される必要はないが、クエリを実行しているユーザにとって可視であるノード(ソースノード)とターゲットノードとの間に少なくとも1つの経路が存在するべきである。例えば、限定されるものでないが、引き続き前の例を参照すると、クエリを実行しているユーザは、必ずしも、ユーザ「3」、「8」、または「10」のいずれかへの経路で接続される必要はないが、クエリを実行しているユーザがソースノードおよびソースノードとターゲットノードとの間の経路を閲覧できる限り、ターゲットノードは検索結果内に出現し得る。本開示は特定の様式でプライバシ設定を解決することを説明し、図11A〜図11Cに示しているが、本開示は、好適な様式でプライバシ設定を解決することも企図している。
きい値の範囲内のターゲットノード(すなわち、ユーザノード302またはコンセプトノード304)への参照を含む検索結果のみを生成することのみができる。分離度のしきい値は、例えば、1、2、3、またはすべてであってよい。本開示は特定の様式で検索結果を生成することを説明しているが、本開示は、好適な様式で検索結果を生成することも企図している。
図13は、例示的なコンピュータシステム1300を示している。特定の実施形態において、1または複数のコンピュータシステム1300は、本明細書で説明されている、または図示されている1または複数の方法の1または複数のステップを実行する。特定の実施形態において、1または複数のコンピュータシステム1300は、本明細書で説明されているか、または図示されている機能を提供する。特定の実施形態において、1または複数のコンピュータシステム1300上で動作しているソフトウェアは、本明細書で説明されているか、または図示されている1または複数の方法の1または複数のステップを実行するか、または本明細書で説明されているか、または図示されている機能を提供する。特定の実施形態は、1または複数のコンピュータシステム1300の1または複数の部分を含む。
)、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステム網、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、またはこれらの2もしくはそれ以上の組み合わせであってよい。適宜、コンピュータシステム1300は、1または複数のコンピュータシステム1300を含むか、または一体型もしくは分散型であるか、または複数の場所にまたがるか、または複数のマシンにまたがるか、または複数のデータセンタにまたがるか、または1もしくは複数のネットワーク内に1もしくは複数のクラウド構成要素を含む、クラウド内に常駐する。適宜、1または複数のコンピュータシステム1300は、実質的に空間的な、または時間的な制限を受けることなく、本明細書で説明されている、または図示されている1または複数の方法の1または複数のステップを実行する。例えば、限定されるものでないが、1または複数のコンピュータシステム1300は、リアルタイムで、またはバッチモードで、本明細書で説明されている、または図示されている1または複数の方法の1または複数のステップを実行する。適宜、1または複数のコンピュータシステム1300は、異なる時点において、または異なる位置において、本明細書で説明されている、または図示されている1または複数の方法の1または複数のステップを実行する。
ュータシステム1300との間の通信が可能になる。例えば、限定されるものでないが、I/Oデバイスは、キーボード、キーパッド、マイクロホン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2もしくはそれ以上の組み合わせを含む。I/Oデバイスは、1または複数のセンサを含む。本開示では、好適なI/Oデバイスおよびそれらに適したI/Oインタフェース1308を企図している。適宜、I/Oインタフェース1308は、プロセッサ1302がI/Oデバイスのうちの1または複数を駆動できるようにする1または複数のデバイスもしくはソフトウェアドライバを含む。適宜、I/Oインタフェース1308は、1または複数のI/Oインタフェース1308を含む。本開示では特定のI/Oインタフェースを説明し、例示しているが、本開示は、任意の好適なI/Oインタフェースを企図している。
Standard Architecture)バス、インフィニバンド相互接続、LPC(Low−Pin−Count)バス、メモリバス、MCA(Micro Channel Architecture)バス、PCI(Peripheral Component Interconnect)バス、PCIe(PCI−Express)バス、SATA(Serial Advanced Technology Attachment)バス、VLB(Video Electronics Standards Associationローカル)バス、または他の好適なバス、またはこれらのうちの2
もしくは複数のものとの組み合わせを含む。バス1312は、適宜、1または複数のバス1312を含む。本開示では特定のバスを説明し、例示しているが、本開示は、任意の好適なバスもしくは相互接続を企図している。
ライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、無線LAN(WLAN)、ワイドエリアネットワーク(WAN)、無線WAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部、公衆交換電話網(PSTN)の一部、携帯電話網、またはこれらのネットワークの2以上のネットワークの組み合わせを含む。ネットワーク1410は、1または複数のネットワーク1410を含む。
タベース、フラットデータベース、階層型データベース、ネットワークデータベース、オブジェクト指向データベース、関係データベース、XMLデータベース、または他の好適なデータベース、またはこれらのうちの2以上の組み合わせとして記憶する。データストア1440(またはそれに結合されたサーバ1420)は、データストア1440のコンテンツを管理するためにデータベース管理システムまたは他のハードウェアもしくはソフトウェアを含む。データベース管理システムは、読み出しおよび書き込みオペレーションを実行する、データを削除もしくは消去する、データ複製を実行する、データストア1440のコンテンツについてクエリまたは検索を実行する、またはデータストア1440への他のアクセスを提供する。
本明細書では、「または」、「もしくは」は、特に断りのない限り、または文脈上そうでないことが示されていない限り、排他的でなく、包含的である。したがって、本明細書では、「AまたはB」、「AもしくはB」は、特に断りのない限り、または文脈上そうでないことが示されていない限り、「A、B、またはその両方」、「A、B、もしくはその両方」を意味する。さらに、「および」は、特に断りのない限り、または文脈上そうでないことが示されていない限り、連帯である。したがって、本明細書では、「AおよびB」は、特に断りのない限り、または文脈上そうでないことが示されていない限り、「連帯的にAおよびB」を意味する。さらに、英語原文中の「a」、「an」、または「the」が付いている語に対して日本語で「1つの」が付いていない語は、特に断りのない限り、または文脈上そうでないことが示されていない限り、「1または複数」を意味することを意図している。したがって、本明細書では、英語原文の「an A」、「the A」に対応する日本語の「A」、「そのA」は、特に断りのない限り、または文脈上そうでないことが示されていない限り、「1または複数のA」を意味する。
Claims (18)
- 1以上のコンピューティングデバイスが、
1以上のn−グラムを含む、構造化されていないテキストクエリを、オンラインソーシャルネットワークの第1のユーザに関連付けられているクライアントデバイスから受け取る工程であって、前記オンラインソーシャルネットワークは、複数のノードと前記ノード同士を接続する複数のエッジとを含むソーシャルグラフに関連付けられている、受け取る工程と、
各ノードに対して決定された確率であって前記ノードが前記n−グラムの少なくとも1つに対応する確率に少なくとも基づいて1以上の前記ノードを識別する工程であって、識別された前記ノードの各々は、1以上の前記n−グラムの少なくとも一部と一致している、識別する工程と、
1以上の前記エッジを識別する工程であって、識別された前記エッジの各々は、識別された前記ノードの少なくとも1つにつながっており、識別された前記エッジの各々は1以上の前記n−グラムの少なくとも一部と一致している、エッジを識別する工程と、
1以上の構造化クエリを生成する工程であって、前記構造化クエリの各々は、前記テキストクエリのn−グラムと、識別された1以上の前記ノードおよび識別された1以上の前記エッジへの参照とを含む、構造化クエリを生成する工程と、
前記テキストクエリの受信に応答して、1以上の前記構造化クエリを、前記第1のユーザに提示するために、前記第1のユーザに関連付けられているクライアントデバイスに送信する工程と、を含む、方法。 - 複数のノードと前記ノード同士を接続する複数のエッジとを含む前記ソーシャルグラフにアクセスする工程であって、前記ノードの2つの間の前記エッジの各々は、それらのノードの間における単一の分離度を表し、前記ノードは、
オンラインソーシャルネットワークに関連付けられている第1のユーザに対応する第1ノードと、
前記オンラインソーシャルネットワークに関連付けられているコンセプトまたは第2のユーザにそれぞれ対応する複数の第2ノードとを含む、アクセスする工程をさらに含む、請求項1に記載の方法。 - 前記構造化クエリの1つの選択を、前記第1のユーザから受け取る工程と、
前記構造化クエリの1つの前記選択に対応する検索結果を生成する工程であって、各検索結果は、識別された前記エッジの少なくとも1つを通じて、識別された前記ノードの少なくとも1つにつながっている前記複数のノードのうちの1つへの参照を含む、工程とをさらに含む、請求項1に記載の方法。 - 前記検索結果によって参照されている前記ノードの各々は、前記第1のユーザに対応する第1ノードから分離度のしきい値の範囲内に存在する、請求項3に記載の方法。
- 前記構造化クエリの各々を、前記第1のユーザに対応する第1ノードと、前記構造化クエリにおいて参照されている識別された前記ノードの少なくとも1つとの間の分離度に基づいて、ランク付けする工程をさらに含む、請求項1に記載の方法。
- 前記構造化クエリの各々を、前記第1のユーザに関連付けられている検索履歴に基づいて、ランク付けする工程をさらに含む、請求項1に記載の方法。
- 前記構造化クエリの各々を、前記構造化クエリにおいて参照されている、識別された前記ノードまたは識別された前記エッジのソーシャルな関連性に基づいて、ランク付けする工程をさらに含む、請求項1に記載の方法。
- 前記構造化クエリの各々を、前記構造化クエリのテキストの関連性に基づいて、ランク付けする工程をさらに含む、請求項1に記載の方法。
- 識別された前記ノードの各々は、前記第1のユーザに対応する第1ノードから分離度のしきい値の範囲内に存在する、請求項1に記載の方法。
- 1以上の前記ノードを識別する工程は、各n−グラムについて、
前記ノードが前記n−グラムに対応する確率を、各ノードについて決定する工程と、
しきい値の確率よりも高い確率を有する各ノードを識別する工程とを含む、請求項1に記載の方法。 - 構造化されていないテキストクエリを前記第1のユーザから受け取る工程は、前記第1のユーザがクライアントシステムにおいてクエリフィールドを備えるグラフィカルユーザインタフェースに文字列を入力するに際し、前記文字列の1以上の文字を受け取る工程を含み、前記文字列は、前記第1のユーザによって前記クエリフィールドに入力される、請求項1に記載の方法。
- 前記グラフィカルユーザインタフェースは、前記オンラインソーシャルネットワークに関連付けられているネイティブアプリケーションのユーザインタフェースに表示される、請求項11に記載の方法。
- 前記グラフィカルユーザインタフェースは、ブラウザクライアントによってアクセスされている前記オンラインソーシャルネットワークに関連付けられているウェブページに表示される、請求項11に記載の方法。
- 送信された1以上の前記構造化クエリを前記第1のユーザに提示する工程をさらに含み、送信された構造化クエリの各々について、送信された前記構造化クエリに対する1以上の前記参照は、識別されたノードまたは識別されたエッジに対応する参照を示すように表示される際に、強調される、請求項1に記載の方法。
- 前記構造化されていないテキストクエリは、前記オンラインソーシャルネットワークに関連付けられているアプリケーションプログラムインタフェースを通じた、前記第1のユーザに関連付けられているクライアントデバイスからの呼び出しによって、サードパーティシステムから受け取られる、請求項1に記載の方法。
- 前記構造化されていないテキストクエリは、前記オンラインソーシャルネットワークに関連付けられている通信チャネルを通じて前記第1のユーザに関連付けられているクライアントデバイスからサードパーティシステムから受け取られる、請求項1に記載の方法。
- 1以上のプロセッサと、
前記プロセッサに結合されるメモリとを備え、前記メモリは、前記プロセッサによって実行可能な命令を含み、前記プロセッサは前記命令を実行すると、
1以上のn−グラムを含む、構造化されていないテキストクエリをオンラインソーシャルネットワークの第1のユーザに関連付けられているクライアントデバイスから受け取る工程であって、前記オンラインソーシャルネットワークは、複数のノードと前記ノード同士を接続する複数のエッジとを含むソーシャルグラフに関連付けられている、受け取る工程と、
各ノードに対して決定された確率であって前記ノードが前記n−グラムの少なくとも1つに対応する確率に少なくとも基づいて1以上の前記ノードを識別する工程であって、識
別された前記ノードの各々は、1以上の前記n−グラムの少なくとも一部と一致している、識別する工程と、
1以上の前記エッジを識別する工程であって、識別された前記エッジの各々は、識別された前記ノードの少なくとも1つにつながっており、識別された前記エッジの各々は1以上の前記n−グラムの少なくとも一部と一致している、エッジを識別する工程と、
1以上の構造化クエリを生成する工程であって、前記構造化クエリの各々は、前記テキストクエリのn−グラムと、識別された1以上の前記ノードおよび識別された1以上の前記エッジへの参照とを含む、構造化クエリを生成する工程と、
前記テキストクエリの受信に応答して、1以上の前記構造化クエリを、前記第1のユーザに提示するために、前記第1のユーザに関連付けられているクライアントデバイスに送信する工程と、を行うように動作する、システム。 - 1以上の非一時的なコンピュータ可読記録媒体であって、実行されると、1以上のプロセッサに、
1以上のn−グラムを含む、構造化されていないテキストクエリをオンラインソーシャルネットワークの第1のユーザのクライアントデバイスから受け取る工程であって、前記オンラインソーシャルネットワークは、複数のノードと前記ノード同士を接続する複数のエッジとを含むソーシャルグラフに関連付けられている、受け取る工程と、
各ノードに対して決定された確率であって前記ノードが前記n−グラムの少なくとも1つに対応する確率に少なくとも基づいて1以上の前記ノードを識別する工程であって、識別された前記ノードの各々は、1以上の前記n−グラムの少なくとも一部と一致している、識別する工程と、
1以上の前記エッジを識別する工程であって、識別された前記エッジの各々は、識別された前記ノードの少なくとも1つにつながっており、識別された前記エッジの各々は1以上の前記n−グラムの少なくとも一部分と一致している、エッジを識別する工程と、
1以上の構造化クエリを生成する工程であって、前記構造化クエリの各々は、前記テキストクエリのn−グラムと、識別された1以上の前記ノードおよび識別された1以上の前記エッジへの参照とを含む、構造化クエリを生成する工程と、
前記テキストクエリの受信に応答して、1以上の前記構造化クエリを、前記第1のユーザに提示するために前記第1のユーザに関連付けられているクライアントデバイスに送信する工程と、を行わせるように動作するソフトウェアを具現化する、媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/556,060 US8732208B2 (en) | 2010-04-19 | 2012-07-23 | Structured search queries based on social-graph information |
US13/556,060 | 2012-07-23 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015524319A Division JP5837723B2 (ja) | 2012-07-23 | 2013-07-17 | ソーシャルグラフ情報に基づく構造化検索クエリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016042373A true JP2016042373A (ja) | 2016-03-31 |
JP5997350B2 JP5997350B2 (ja) | 2016-09-28 |
Family
ID=48832762
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015524319A Active JP5837723B2 (ja) | 2012-07-23 | 2013-07-17 | ソーシャルグラフ情報に基づく構造化検索クエリ |
JP2015217580A Expired - Fee Related JP5997350B2 (ja) | 2012-07-23 | 2015-11-05 | ソーシャルグラフ情報に基づく構造化検索クエリ |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015524319A Active JP5837723B2 (ja) | 2012-07-23 | 2013-07-17 | ソーシャルグラフ情報に基づく構造化検索クエリ |
Country Status (10)
Country | Link |
---|---|
EP (1) | EP2690569B1 (ja) |
JP (2) | JP5837723B2 (ja) |
KR (1) | KR101550327B1 (ja) |
CN (1) | CN104903886B (ja) |
AU (1) | AU2013293319B2 (ja) |
BR (1) | BR112015001467A2 (ja) |
CA (1) | CA2879417C (ja) |
IL (1) | IL236810A (ja) |
MX (2) | MX341781B (ja) |
WO (1) | WO2014018321A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019532422A (ja) * | 2016-09-20 | 2019-11-07 | フェイスブック,インク. | オンライン・ソーシャル・ネットワーク上での動画のキーフレームの表示 |
US11954137B2 (en) | 2019-12-09 | 2024-04-09 | Kabushiki Kaisha Toshiba | Data generation device and data generation method |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9342605B2 (en) * | 2011-06-13 | 2016-05-17 | Facebook, Inc. | Client-side modification of search results based on social network data |
US9367536B2 (en) * | 2013-05-03 | 2016-06-14 | Facebook, Inc. | Using inverse operators for queries on online social networks |
US20150317314A1 (en) * | 2014-04-30 | 2015-11-05 | Linkedln Corporation | Content search vertical |
US9572000B2 (en) * | 2014-09-30 | 2017-02-14 | Linkedin Corporation | Facilitating social networking service connections via an ad hoc peer-to-peer network of mobile devices |
US10409873B2 (en) | 2014-11-26 | 2019-09-10 | Facebook, Inc. | Searching for content by key-authors on online social networks |
CN105208214B (zh) * | 2015-10-22 | 2019-02-26 | 海信集团有限公司 | 一种来电处理方法及装置 |
US10055500B2 (en) | 2015-10-27 | 2018-08-21 | International Business Machines Corporation | Optimizing searches |
JP6917972B2 (ja) * | 2016-03-10 | 2021-08-11 | ヤフー株式会社 | 生成装置、生成方法、及び生成プログラム |
US10545945B2 (en) * | 2016-10-28 | 2020-01-28 | Microsoft Technology Licensing, Llc | Change monitoring spanning graph queries |
US10242223B2 (en) | 2017-02-27 | 2019-03-26 | Microsoft Technology Licensing, Llc | Access controlled graph query spanning |
CN107193926A (zh) * | 2017-05-17 | 2017-09-22 | 北京快友世纪科技股份有限公司 | Hadoop多管道数据处理分析方法 |
CN110546600A (zh) * | 2018-04-17 | 2019-12-06 | 深圳市大疆创新科技有限公司 | 用户资料的定制方法、电子装置和计算机可读存储介质 |
CN108829858B (zh) * | 2018-06-22 | 2021-09-17 | 京东数字科技控股有限公司 | 数据查询方法、装置及计算机可读存储介质 |
CN110968778A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 媒体物料的处理方法及装置、存储介质和服务器 |
JP7217018B2 (ja) | 2019-10-03 | 2023-02-02 | 株式会社リガク | X線測定装置およびシステム |
CN111966817B (zh) * | 2020-07-24 | 2022-05-20 | 复旦大学 | 基于深度学习及代码上下文结构和文本信息的api推荐方法 |
CN112487208B (zh) * | 2020-12-14 | 2023-06-30 | 杭州安恒信息技术股份有限公司 | 一种网络安全数据关联分析方法、装置、设备及存储介质 |
CN112784591B (zh) * | 2021-02-01 | 2024-07-05 | 北京百度网讯科技有限公司 | 数据的处理方法、装置、电子设备和存储介质 |
KR102411105B1 (ko) * | 2021-05-31 | 2022-06-23 | 주식회사 피플메이드 | 웹 기반 화상 수업 제공 방법 |
US20230267155A1 (en) * | 2022-02-23 | 2023-08-24 | The Knot Worldwide Inc. | Matching online accounts with overlapping characteristics based on non-homogenous data types |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012128479A (ja) * | 2010-12-13 | 2012-07-05 | Fuji Xerox Co Ltd | 検索装置及びプログラム |
JP2012532370A (ja) * | 2009-07-01 | 2012-12-13 | フェイスブック,インク. | ソーシャルネットワーキングサービスにおけるコネクションについての情報の収集 |
JP2013543157A (ja) * | 2010-08-18 | 2013-11-28 | フェイスブック,インク. | ソーシャルグラフ情報を用いるロケーションランキング |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100459832B1 (ko) * | 1995-04-10 | 2005-06-02 | 리버스 테크놀로지, 인크. | N-그램워드(n-gramword)분해원리를이용하여이식가능한문서를인덱싱하는시스템및방법 |
KR20070049426A (ko) * | 2005-11-08 | 2007-05-11 | 에스케이 텔레콤주식회사 | 개인 중심의 서비스 제공 방법 및 시스템 |
US8027943B2 (en) * | 2007-08-16 | 2011-09-27 | Facebook, Inc. | Systems and methods for observing responses to invitations by users in a web-based social network |
US8214883B2 (en) * | 2007-10-22 | 2012-07-03 | Microsoft Corporation | Using social networks while respecting access control lists |
KR20090072575A (ko) * | 2007-12-28 | 2009-07-02 | 주식회사 케이티 | 사용자 맞춤형 콘텐츠 추천 장치 및 그 방법 |
US20090228296A1 (en) * | 2008-03-04 | 2009-09-10 | Collarity, Inc. | Optimization of social distribution networks |
US8417698B2 (en) * | 2008-05-06 | 2013-04-09 | Yellowpages.Com Llc | Systems and methods to provide search based on social graphs and affinity groups |
US8667009B2 (en) * | 2009-07-21 | 2014-03-04 | Saambaa Llc | Systems and methods for utilizing and searching social network information |
US8185558B1 (en) * | 2010-04-19 | 2012-05-22 | Facebook, Inc. | Automatically generating nodes and edges in an integrated social graph |
US8180804B1 (en) * | 2010-04-19 | 2012-05-15 | Facebook, Inc. | Dynamically generating recommendations based on social graph information |
JP2012064151A (ja) * | 2010-09-17 | 2012-03-29 | Ntt Docomo Inc | 情報提供サーバ及び情報提供方法 |
US8892605B2 (en) * | 2010-12-03 | 2014-11-18 | Relationship Capital Technologies, Inc. | Systems and methods for managing social networks based upon predetermined objectives |
US9978022B2 (en) * | 2010-12-22 | 2018-05-22 | Facebook, Inc. | Providing context relevant search for a user based on location and social information |
JP5525433B2 (ja) * | 2010-12-24 | 2014-06-18 | Kddi株式会社 | ソーシャルグラフ更新システム、ソーシャルグラフ更新方法、およびプログラム |
US8504910B2 (en) * | 2011-01-07 | 2013-08-06 | Facebook, Inc. | Mapping a third-party web page to an object in a social networking system |
-
2013
- 2013-07-17 WO PCT/US2013/050781 patent/WO2014018321A1/en active Application Filing
- 2013-07-17 BR BR112015001467A patent/BR112015001467A2/pt not_active Application Discontinuation
- 2013-07-17 CN CN201380049215.6A patent/CN104903886B/zh active Active
- 2013-07-17 JP JP2015524319A patent/JP5837723B2/ja active Active
- 2013-07-17 CA CA2879417A patent/CA2879417C/en not_active Expired - Fee Related
- 2013-07-17 AU AU2013293319A patent/AU2013293319B2/en not_active Ceased
- 2013-07-17 KR KR1020157004265A patent/KR101550327B1/ko active IP Right Grant
- 2013-07-17 EP EP13176775.8A patent/EP2690569B1/en active Active
- 2013-07-17 MX MX2015001130A patent/MX341781B/es active IP Right Grant
-
2015
- 2015-01-19 IL IL236810A patent/IL236810A/en active IP Right Grant
- 2015-01-23 MX MX2016011227A patent/MX353716B/es unknown
- 2015-11-05 JP JP2015217580A patent/JP5997350B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012532370A (ja) * | 2009-07-01 | 2012-12-13 | フェイスブック,インク. | ソーシャルネットワーキングサービスにおけるコネクションについての情報の収集 |
JP2013543157A (ja) * | 2010-08-18 | 2013-11-28 | フェイスブック,インク. | ソーシャルグラフ情報を用いるロケーションランキング |
JP2012128479A (ja) * | 2010-12-13 | 2012-07-05 | Fuji Xerox Co Ltd | 検索装置及びプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019532422A (ja) * | 2016-09-20 | 2019-11-07 | フェイスブック,インク. | オンライン・ソーシャル・ネットワーク上での動画のキーフレームの表示 |
US11954137B2 (en) | 2019-12-09 | 2024-04-09 | Kabushiki Kaisha Toshiba | Data generation device and data generation method |
Also Published As
Publication number | Publication date |
---|---|
MX2015001130A (es) | 2015-09-08 |
AU2013293319B2 (en) | 2015-04-02 |
MX353716B (es) | 2018-01-25 |
AU2013293319A1 (en) | 2015-02-12 |
KR20150032586A (ko) | 2015-03-26 |
WO2014018321A1 (en) | 2014-01-30 |
EP2690569B1 (en) | 2019-11-13 |
JP2015531912A (ja) | 2015-11-05 |
CA2879417A1 (en) | 2014-01-30 |
MX341781B (es) | 2016-08-31 |
CA2879417C (en) | 2015-09-08 |
EP2690569A1 (en) | 2014-01-29 |
IL236810A (en) | 2016-09-29 |
JP5837723B2 (ja) | 2015-12-24 |
CN104903886B (zh) | 2016-10-12 |
BR112015001467A2 (pt) | 2017-07-04 |
CN104903886A (zh) | 2015-09-09 |
JP5997350B2 (ja) | 2016-09-28 |
KR101550327B1 (ko) | 2015-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5997350B2 (ja) | ソーシャルグラフ情報に基づく構造化検索クエリ | |
US11074257B2 (en) | Filtering search results for structured search queries | |
AU2016247154B2 (en) | Filtering structured search queries based on privacy settings | |
US10430477B2 (en) | Personalized structured search queries for online social networks | |
US20140025702A1 (en) | Filtering Structured Search Queries Based on Privacy Settings | |
JP6407968B2 (ja) | 可変検索クエリ・バーティカル・アクセス | |
KR20170087917A (ko) | 온라인 소셜 네트워크에서 주요 저자에 의한 컨텐츠 검색 | |
AU2015203474B2 (en) | Structured search queries based on social-graph information | |
JP5827449B2 (ja) | オンラインソーシャルネットワークのためのパーソナライズされた構造化検索クエリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160713 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160726 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160825 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5997350 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |