CN104903886B - 基于社交图谱信息的结构化搜索查询 - Google Patents

基于社交图谱信息的结构化搜索查询 Download PDF

Info

Publication number
CN104903886B
CN104903886B CN201380049215.6A CN201380049215A CN104903886B CN 104903886 B CN104903886 B CN 104903886B CN 201380049215 A CN201380049215 A CN 201380049215A CN 104903886 B CN104903886 B CN 104903886B
Authority
CN
China
Prior art keywords
user
node
edge
data
specific
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.)
Active
Application number
CN201380049215.6A
Other languages
English (en)
Other versions
CN104903886A (zh
Inventor
约费·卡里·李
迈克尔·本杰明·柯亨
马克西姆·布谢
阿利松·古萨蒂·阿索利尼
李肖
拉斯·艾尔斯特鲁普·拉斯马森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to US13/556,060 priority Critical
Priority to US13/556,060 priority patent/US8732208B2/en
Application filed by Facebook Inc filed Critical Facebook Inc
Priority to PCT/US2013/050781 priority patent/WO2014018321A1/en
Publication of CN104903886A publication Critical patent/CN104903886A/zh
Application granted granted Critical
Publication of CN104903886B publication Critical patent/CN104903886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Abstract

在具体实施方式中,方法包括接收非结构化文本查询、识别社交图谱中对应于文本查询中的N元语法的节点和矢线;并且然后生成包括对所识别节点和矢线的引用的结构化查询。

Description

基于社交图谱信息的结构化搜索查询
技术领域
[0001 ]本公开整体涉及社交图谱及在社交网络环境中执行对对象的搜索。
背景技术
[0002]诸如社交网络网站等社交网络系统能够使其用户与其交互并且通过该系统彼此交互。社交网络系统可创建并且存储通常被称之为与用户连接的用户资料的记录。用户资料可包括用户的联系信息、背景信息、雇佣信息、人口统计信息、通信渠道信息、个人兴趣、或者其他合适的信息。社交网络系统还可创建并且存储用户与社交网络系统(例如,社交图谱)中的其他用户的关系的记录,以及提供服务(例如,壁纸、照片分享、活动组织、消息、游戏、或者广告)以便于社交网络系统中的用户之间的社交交互。社交网络系统可存储社交图谱,其中,个体、团体、实体、或者组织表示为图谱中的节点,并且其中,由可代表一种或者多种特定类型的相互依赖性的矢线(edge,边)连接节点。社交网络系统通过网络可将与其服务有关的内容和消息发送给用户的客户端设备。
[0003]就由节点和矢线构成的网络理论方面而言,社交图谱分析概括了社交关系。节点代表网络中的各个角色,并且矢线代表角色之间的关系。所产生的基于图谱的结构通常非常复杂。可能存在多种类型的节点和用于连接节点的多种类型的矢线。社交图谱以其最简单的形式成为正在研究的所有节点之间的所有相关矢线的布局图。
附图说明
[0004]图1示出了用于实现社交网络系统的网络系统100的示例性网络环境。
[0005]图2A示出了示例性社交网络系统的示例性部件。
[0006]图2B示出了示例性社交网络系统的示例性架构和示例性客户端设备的示例性架构。
[0007]图3示出了示例性社交图谱。
[0008]图4A至图4D示出了示例性用户资料页面。
[0009]图5A至图5C示出了示例性概念资料页面。
[0010] 图6A至图6R示出了社交网络的示例性查询。
[0011]图7示出了用于检测结用于构化搜索查询的社交图谱元素的示例性方法。
[0012]图8示出了用于生成个性化结构化搜索查询的示例性方法。
[0013]图9示出了用于基于社交图谱信息生成结构化查询的示例性方法。
[0014]图10示出了示例性社交图谱。
[0015]图1lA至图1lC示出了用于解析隐私设置的示例性子图谱。
[0016]图12示出了用于基于隐私设置过滤结构化搜索查询的搜索结果的示例性方法。
[0017]图13示出了示例性计算机系统。
[0018] 图14示出了示例性网络环境。
具体实施方式
[0019]系统概述
[0020]图1示出了用于实现社交网络系统的示例性网络环境100。此处所描述的各种示例性实施方式可在网络环境100中操作。具体实施方式可在诸如因特网等广域网环境中或者结合广域网环境操作,其中包括多个网络可寻址系统。网络环境100可包括社交网络系统
20、客户端设备30、网络应用服务器40、以及通过网络云60彼此连接的企业服务器50。尽管图1示出了社交网络系统20、客户端设备30、网络应用服务器40、企业服务器50、以及网络云60的具体布置,然而,本公开设定了社交网络系统20、客户端设备30、网络应用服务器40、企业服务器50、以及网络云60的任意合适的布置。作为实施例但并不作为限制,社交网络系统
20、客户端设备30、网络应用服务器40、以及企业服务器50中的两种或者多种可绕过网络云60直接连接至彼此。作为另一实施例,社交网络系统20、客户端设备30、网络应用服务器40、以及企业服务器50中的两种或者多种可整体或者部分地实体或者逻辑地彼此共置。而且,尽管图1示出了具体数目的社交网络系统20、客户端设备30、网络应用服务器40、企业服务器50、以及网络云60,然而,本公开设定了任意合适数目的社交网络系统20、客户端设备30、网络应用服务器40、企业服务器50、以及网络云60。作为实施例但并不作为限制,网络环境100可包括多个社交网络系统20、多个客户端设备30、多个网络应用服务器40、多个企业服务器50、以及多个网络云60。
[0021] 在具体实施方式中,网络应用服务器40可以是承载第三方网站(例如,http://WWW.espn.com、http: //www.youtube.com)的网络可寻址计算系统。例如,网络应用服务器40可生成、存储、接收、并且发送用户数据和网页信息。网络应用服务器40可以被网络环境100中的其他部件直接或者经由网络云60访问。在具体实施方式中,企业服务器50可以是承载一种或者多种企业系统的网络可寻址计算系统。企业服务器50可生成、存储、接收、并且发送任意合适的企业数据。企业服务器50可以被网络环境100中的其他部件直接或者经由网络云60访问。
[0022]在具体实施方式中,用户可使用一个或多个客户端设备30访问数据、将数据发送至社交网络系统20或者网络应用服务器40、并且从社交网络系统20或者网络应用服务器40接收数据。客户端设备30可直接、经由网络云60、或者经由第三方系统访问社交网络系统20或者网络应用服务器40。作为实施例但并不作为限制,客户端设备30可经由社交网络系统20访问网络应用服务器40或者企业服务器50。客户端设备30可以是任意合适的计算设备,诸如,个人计算机、膝上型电脑、蜂窝电话、智能手机或者其他蜂窝或移动设备、个人数字助理、车内或者车外导航系统、移动游戏设备、或者计算平板电脑。
[0023]在具体实施方式中,网络云60可包括此处所描述的各种系统和主机通过其可通信的一个或多个互连网络。本公开设定了任意合适的网络云60。作为实施例但并不作为限制,网络云60的一个或多个部分可包括自组网、内网、专用网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线网、无线LAN(WLAN)、广域网(WAN)、无线WAN(WffAN)、城域网(MAN)、因特网的一部分、基于分组的广域网、公用电话交换网(PSTN)的一部分、蜂窝电话网、卫星网、寻呼网、或者其中两种或者多种的组合。网络云60可包括一个或多个网络云60。
[0024]在具体实施方式中,连接70可连接社交网络系统20、客户端设备30、网络应用服务器40、以及企业服务器50以通信网络云60或者彼此通信。本公开设定了任意合适的连接70。在具体实施方式中,一个或多个连接70包括一个或多个有线线路(诸如,数字用户线路(DSL)或者有线传输数据业务接口规范(DOCSIS))、无线(诸如,W1-Fi或者微波存取全球互通(WiMAX))、或者光纤(诸如,同步光纤网络(SONET)或者同步数字体系(SDH))连接。在具体实施方式中,一个或多个连接70中的每个均包括自组网、内网、外联网、VPN、LAN、WLAN、WAN、WffAN、MAN、因特网的一部分、PSTN的一部分、蜂窝电话网、另一连接70、或者连接70中的两个或者多个的组合。网络环境100中的连接70不一定必须相同。就一个或多个第二连接70的一个或多个方面而言,一个或多个第一连接70可以不同。
[0025] 在具体实施方式中,客户端设备30可执行诸如网络浏览器(例如,微软视窗IE浏览器、火狐浏览器、苹果浏览器、谷歌浏览器、以及欧朋浏览器等)一种或者多种客户端应用程序或者专用客户端应用程序(例如,iPhone的Facebook等),以通过网络云60访问并且查看内容。在具体实施方式中,客户端应用程序可允许客户端设备30的用户输入被检索的特定网络资源的地址,诸如,通过社交网络系统20、网络应用服务器40、企业服务器50、或者任何合适的主机承载的资源。这些地址可以是统一资源定位符(URL)或者其他合适的地址类型。一旦检索网页或者其他资源,则当用户“点击”超链接或者其他资源时,客户端应用程序可提供对其他网页或者资源的访问。作为实施例但并不作为限制,超链接可以位于网页内并且提供使用户输入另一页面的URL和检索该页面的自动化方式。
[0026]更具体地,当客户端设备30的用户希望查看通过社交网络系统20承载的具体网页(以下也被称之为“目标结构化文档”)或者通过网络应用服务器40承载的(并且结合社交网络系统20可能获得的)网络应用程序时,用户的网络浏览器、或者另一客户端结构化文档渲染引擎或合适的客户端应用程序制定请求并且将请求发送至社交网络系统20。该请求可包括URL或者其他文档标识符以及元数据或者其他信息。作为实施例但并不作为限制,该请求可包括识别用户的信息(诸如,用户ID)以及识别或者表征在用户客户端设备30上运行的网络浏览器或者操作系统的信息。该请求还可包括识别用户的客户端设备30的地理位置或者用户的客户端设备30的逻辑网络位置的位置信息,以及在发送该请求时进行识别的时间戳。
[0027]图2A示出了示例性社交网络系统20的示例性部件。在具体实施方式中,社交网络系统20可以是承载在线社交网络的网络可寻址计算系统。社交网络系统20可生成、存储、接收、并且发送社交网络数据,诸如,用户资料数据、概念资料数据、社交图谱信息、或者与在线社交网络有关的其他合适数据。在具体实施方式中,诸如此处所描述的一个或多个网页或者网络应用程序可以与社交网络系统20或者在线社交网络相关联。社交网络系统20可被网络环境100中的其他部件直接或者经由网络云60访问。作为实施例但并不作为限制,社交网络系统20可包括允许客户端设备30的用户彼此通信或者以其他方式交互并且访问诸如用户资料等此处所描述内容的计算系统。在具体实施方式中,社交网络系统20可包括网络可寻址计算系统,而在各种示例性实施方式中,网络可寻址计算系统包括一个或多个物理服务器22以及此处统称为数据存储24的一个或多个数据存储(在或者通过一系列合并或者分布式计算系统、数据库、或者数据服务器中的一种或者多种可以实现数据存储)。例如,物理服务器22经由一组路由器或者网络交换机26能操作地连接至计算机网络60。在具体实施方式中,通过一个或多个物理服务器22承载的功能可包括网络或者HTTP服务器、FTP服务器、以及但不限于使用公共网关接口(CGI)脚本、PHP超文本预处理器(PHP)、动态服务器页面(ASP)、超文本标记语言(HTML)、可扩展标记语言(XML)、Java JavaScript、异步JavaScript和XML(AJAX)实现的网页和应用程序。
[0028]在具体实施方式中,物理服务器22可承载面向社交网络系统20的操作的功能。作为实施例但并不作为限制,社交网络系统20可承载允许一个或多个客户端设备30的一个或多个用户查看并且发布信息以及经由网站彼此通信的网站。在下文中,如上所述,尽管(多个)服务器22可被称之为服务器22,然而,服务器22可包括例如承载在社交网络系统20中的多个服务器以及其他内容分布式服务器、数据存储、或者数据库。数据存储24可存储与社交网络系统20有关并且能够支持社交网络系统20的操作的内容和数据作为包括内容对象的数字数据对象。在具体实施方式中,数据对象可以是通常存储和嵌入在数据文件、数据库、或者记录中的数字信息的项。内容对象可呈现多种形式,包括:文本(例如,ASCI1、SGML、HTML)、图像(例如,jpeg、tif、以及gif)、图形(基于矢量或者位图)、音频、视频(例如,mpeg)、或者其他多媒体、以及其组合。内容对象数据还可包括可执行的代码对象(例如,在浏览器窗口或者框架内可执行的游戏)、播客等。逻辑上,数据存储24对应于诸如相关数据库或者面向对象数据库等一系列独立或者集成数据库中的一个或多个,该一系列独立或者集成数据库将信息保存为存储在一个或多个物理系统上的逻辑相关记录或者文件的集成集合。结构上,数据存储24可整体包括一大类数据存储器和管理系统中的一个或多个。在具体实施方式中,通过包括诸如一个或多个数据库服务器、大容量存储媒体、媒体库系统、存储区域网络、数据存储云等各个部件的任意合适的物理系统可以实现数据存储24。在具体实施方式中,数据存储24可包括一个或多个服务器、数据库(例如,MySQL)、和/或数据仓库。在具体实施方式中,数据存储24可包括与社交网络系统20中的不同用户、客户端设备30、网络应用服务器40、或者企业服务器50相关联的数据以及与各个概念相关联的数据。
[0029]图2B示出了示例性社交网络系统20的示例性架构和示例性客户端设备30的示例性架构。在具体实施方式中,客户端设备30可包括网络浏览器202和前端预键入过程204。在具体实施方式中,社交网络系统20可包括数据存储24,数据存储24包括社交图谱数据库206和概念数据库216。在具体实施方式中,社交网络系统20可包括物理服务器22,物理服务器22包括页面生成过程200、后端预键入过程208、矢线生成API 210、节点生成API 212、引导过程214、推荐生成过程218、以及索引过程220。
[0030]在具体实施方式中,就包括社交图谱信息的社交图谱方面描述或者实现了社交网络系统20。在具体实施方式中,数据存储24可包括社交图谱数据库206,在实现此处所描述的社交网络系统20时使用的社交图谱信息存储在社交图谱数据库206中。在具体实施方式中,通过社交网络系统20存储在数据存储24中(具体地,存储在社交图谱数据库206中)的社交图谱信息可包括多个节点和限定相应节点之间的连接的多条矢线。在具体实施方式中,节点或者矢线本身是包括有关其对应用户或者概念的标识符、属性、以及信息(包括有关其对应资料页面的信息)的数据对象,实际上,在对应的资料或者其他页面上渲染其中的一些数据对象。节点还可包括用于结合渲染对应于相应节点的资料页面而渲染内容时所使用的其他对象、数据结构、或者资源的指针或者引用。
[0031]在具体实施方式中,当通过社交网络系统20接收对由社交网络系统20承载的网页或者结构化文档的请求时,在社交网络系统20内执行的一个或多个页面生成过程200可生成超文本标记语言(HTML)、可扩展标记语言(XML)、或者其他网络浏览器支持的结构化文档形式的基本网页。然后,经由超文本传输协议(HTTP)或者用于通过客户端设备30中的网络浏览器202选择的其他合适连接响应(其可包括一个或多个部分或者局部响应)请求客户端30可发送生成的结构化文档。结构化文档可包括嵌入在发送文档中的一种或者多种资源(例如,JavaScript脚本、代码片段、或者资源、级联样式表(CSS)代码片段或者资源、图像数据或者资源、视频数据或者资源等)或者资源的引用。作为实施例但并不作为限制,根据资源的类型,嵌入在HTML文档中的资源可整体包括在或者列入脚本元素、图像元素、或者对象元素、一起其他元素中。引用或者指定资源的元素可包括识别该资源位置的源属性(例如,src),该资源可位于社交网络系统20的服务器22或者数据存储24中或者位于请求该网页的客户端设备30的一个或多个外部位置处。一旦接收该响应,渲染在客户端设备30上运行的应用程序的网络浏览器202或者其他客户端文档则可构造所接收的机构化文档和文档中嵌入的请求资源(可以位于一个或多个其他外部位置处)的文档对象模型(DOM)表示。
[0032]在具体实施方式中,当社交网络系统20的注册用户在给定用户会话中首先请求来自社交网络系统20的网页时,从社交网络系统20发送至用户的客户端设备30的响应可包括通过页面生成过程200生成的用于渲染客户端设备的登录页面的结构化文档。然后,用户可输入其用户登录凭证(例如,用户ID和密码),然后,用户登录凭证从用户的客户端设备30被发送至社交网络系统20。一旦用户认证成功,社交网络系统20则可发送响应至用户客户端设备30中的用户网络浏览器202,用户网络浏览器202包括包括通过页面生成过程200生成的用于渲染用户客户端设备30中的用户主页、用户资料页面、或者另一登录页面的结构化文档。而且,在具体实施方式中,如此处进一步描述的,该或者一个序列响应可进一步包括在由用户的客户端设备30接收时实施结合用户的网络浏览器202执行的前端(客户端)预键入过程204的一个或多个可执行代码片段(例如,JavaScript)。
[0033] 社交图谱
[0034]图3示出了示例性社交图谱300。在具体实施方式中,社交网络系统20可将一个或多个社交图谱300存储在一个或多个数据存储24中。在具体实施方式中,社交图谱300可包括多个节点(其可包括多个用户节点302和/或多个概念节点304)并且还可包括连接节点的多条矢线306。出于教导之目的,以二维可视图表示示出了图3中所示出的示例性社交图谱300。在具体实施方式中,社交网络系统20、客户端设备30、或者网络应用服务器40可访问有关各种应用的社交图谱300及相关的社交图谱信息,其中包括此处所描述的一些应用。例如,社交图谱300中的多个节点和矢线作为数据对象存储在数据存储24中,并且具体地,存储在社交图谱数据库206中。此外,如此处所描述的,数据存储24可进一步包括通过索引社交图谱数据库206而生成的一个或多个可搜索或者可查询的节点或者矢线索引。
[0035]在具体实施方式中,每个用户节点302均可对应于社交网络系统20中的用户。作为实施例但并不作为限制,用户可以是与社交网络系统20或者经由社交网络系统20交互或者通信的个体(人类用户)、实体(例如,企业、公司、或者第三方应用)、或者团体(例如,个体或者实体)。如此处使用的,“注册用户”指在社交网络系统20中已经进行官方注册的用户。在具体实施方式中,当用户在社交网络系统20注册账户时,社交网络系统20可创建对应于该用户的用户节点302并且将用户节点302存储在一个或多个数据存储24中。通常,尽管在其他实施方式中这并不是必须的要求,然而,此处所描述的用户和用户节点302指注册用户和与用户相关联的用户节点302,即,在具体实施方式中,此处所描述的用户和用户节点302可指在社交网络系统20中未注册的用户。如此处使用的,“认证用户”指通过社交网络系统20认证的用户,即,成为用户具有管理权的相应资料页面中或者可替代地要求保护用户的合适可信表示中要求保护的用户。在具体实施方式中,用户节点302可以与由用户提供的信息和通过各个系统收集的信息相关联,其中包括社交网络系统20。作为实施例但并不作为限制,用户可提供其姓名、形象图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、喜好、兴趣、或者其他人口统计信息。在具体实施方式中,每个用户节点302均可与对应于与用户相关联的信息的一个或多个数据对象相关联。在具体实施方式中,每个用户节点302均可对应于一个或多个网页或者一个或多个用户资料页面。作为实施例但并不作为限制,社交网络系统20响应包括具体用户的用户标识的请求可基于用户标识访问对应的用户节点302、并且构造包括具体用户的姓名、形象图片、以及兴趣的用户资料页面。
[0036]在具体实施方式中,每个概念节点304均可对应于一个概念。作为实施例但并不作为限制,概念可对应于地方(诸如,电影院、餐馆、地标、或者城市)、网站(诸如,与社交网络系统20相关联的网站或者与网络应用服务器40相关联的第三方网站)、实体(诸如,人、公司、团体、体育团队、或者名人)、资源(诸如,音频文件、视频文件、数字照片、文本文件、结构化文档、或者应用程序;资源可以位于社交网络系统20或者外部服务器上,诸如,网络应用服务器40)、不动产或者知识产权(诸如,雕塑、油画、电影、游戏、歌曲、理念、照片、或者书写作品)、游戏、活动、理念或者理论、另一合适的概念、或者两个或多个概念。概念的管理用户(诸如,概念的所有人或者管理人员)通过提供与概念有关的信息(例如,通过填写在线表格)可创建概念节点304,从而致使社交网络系统20创建存在在一个或多个数据存储24中的相应概念节点304。概念节点304可以与由概念的管理用户提供的概念信息和通过包括社交网络系统20的各个系统收集的信息相关联。作为实施例但并不作为限制,概念信息可包括名称或者标题、一个或多个图像(例如,书籍的封面图像)、位置(例如,地址、地理位置)、网站(例如,URL地址)、联系信息(例如,电话号码、电子邮件地址)、其他合适的概念信息、或者该信息的任一组合。在具体实施方式中,每个概念节点304均可与对应于与概念节点304相关联的信息的一个或多个数据对象相关联。在具体实施方式中,每个概念节点304均可对应于一个网页。作为实施例但并不作为限制,社交网络系统响应包括名称(或者URL地址)的请求可基于该名称访问(存储在一个或多个数据存储24中的)对应概念节点并且构造包括该概念的名称、一个或多个图像、以及联系信息的网页。
[0037]在具体实施方式中,社交图谱300中的每个节点均可代表对应的网站(“资料页面”)或者以对应的网站(“资料页面”)表示。资料页面可由社交网络系统20承载或者访问。资料页面还可承载在与网络应用服务器40相关联的第三方网站上。作为实施例但并不作为限制,对应于具体外部网页的资料页面可以只是具体的外部网页,并且该资料页面可对应于具体的概念节点304。通过其他用户的所有或者选择的子集可以查看资料页面。作为实施例但并不作为限制,用户节点302可具有其中对应用户可添加内容、发表公告、或者以其他方式表达其自身的对应用户资料页面。通常,用户对其拥有的相应用户资料页面的全部或者一部分以及潜在地由特定用户创建或者为特定用户创建的其他页面(例如,包括主页、承载网络应用程序的页面、以及其他可能)具有管理权。作为实施例但并不作为限制,概念节点304可具有其中一个或多个用户具体地针对该概念可添加内容、发表公告、或者表达其自身的对应概念资料页面(“中枢”)。尽管本公开整体描述了连接的节点,然而,本公开还描述了连接的资料页面。连接的资料页面的引用整体指对应于社交图谱300中通过一条或者多条矢线306连接的资料页面的节点,除非上下文另有说明。
[0038] 在具体实施方式中,概念节点304可表示由网络应用服务器40承载的第三方网页或者资源。第三方网页或者资源可包括表示动作或者活动(例如,以JavaScript、AJAX、或者PHP码实现的)的可选择图标。作为实施例但并不作为限制,如同图5B中所示出的网页520,有关加利福尼州亚帕洛阿尔托市中的老行家体育酒吧的“老行家”的第三方网页可包括诸如“喜欢”或者“登记”等可选择的图标,或者可包括诸如“吃饭”、“推荐”、或者任何其他合适的动作或者活动的可选择图标。查看第三方网站的用户可通过选择图标中的一个(例如,“吃饭”)可执行动作,从而致使客户端设备30将指示用户动作(例如,在“老行家”吃饭)的消息发送给社交网络系统20。如果对应于第三方网页或者资源的概念节点304存在于社交图谱300中,社交网络系统200响应该消息可在对应于用户的用户节点302与对应于第三方网页或者资源的概念节点304之间创建矢线(例如,“吃”矢线)并且将矢线306存储在一个或多个数据存储24中。如果对应于第三方网页或者资源的概念节点306不存在于社交图谱300中,社交网络系统20则响应该消息可创建对应于第三方网页或者资源的概念节点304、在新仓IJ建的概念节点与对应于用户的用户节点之间创建矢线306(例如,“吃”矢线)、并且将概念节点304和矢线306存储在一个或多个数据存储24中。
[0039]在具体实施方式中,具体概念可对应于一个或多个概念节点304。社交图谱300可包括对应于同一概念(例如,现实世界中的同一实体)的多个概念节点304。即,若干概念节点304中的每个概念节点304均可对应于有关同一概念的不同网页。作为实施例但并不作为限制,受欢迎的名人或者餐馆可具有若干个网页,诸如,由各个用户编写的“粉丝页面”、“官方页面”、或者“公告页面”。
[0040]在具体实施方式中,多个用户节点302和概念节点304可分别表示管理节点和非管理节点。管理节点(即,用户节点302)可以是每个均对应于相应用户和该用户的相应用户资料页面的用户管理节点。在具体实施方式中,对应于用户节点302的用户资料页面可被并且仅被其相应所有者(注册)用户修改、写入、或者以其他方式管理(除非例如由于对注册用户的该部分的小心谨慎或者其他不适当的动作,社交网络系统20的官方管理人员整体希望或者要求访问以修改或者删除用户资料页面)。非管理节点(即,概念节点304)可以是每个均对应于相应概念和贡献于该相应概念的相应构思资料页面(以下也被称之为“中枢”)的非用户管理节点。在具体实施方式中,非管理节点是具有通常不由任一用户管理的相应概念资料页面(中枢)的节点;更确切地,在具体实施方式中,通常,社交网络系统20中的任一注册用户可至少部分地管理、创建、编写、贡献于、或者修改中枢,其中包括具体实施方式中与概念节点304不具有连接的用户(S卩,其用户节点302不一定必须以社交图谱数据库206中的社交图谱300中的矢线与概念节点304连接的用户)。在某种意义上,可通过社交网络系统20中的注册用户的社区管理或者贡献于中枢。
[0041 ]在具体实施方式中,通过一条或者多条矢线306可连接社交图谱300中的一对节点。连接一对节点的矢线306可表示该对节点之间的关系。在具体实施方式中,每条矢线306均可包括或者表示对应于一对节点之间的关系的一个或多个数据对象或者属性。作为实施例但并不作为限制,第一用户可指示第二用户作为第一用户的“朋友”。社交网络系统20响应该指示可向第二用户发送“朋友请求”。如果第二用户确认“朋友请求”,则社交网络系统20可在社交图谱300中创建连接第一用户的用户节点302与第二用户的用户节点302的矢线306,并且将矢线306作为社交图谱信息存储在一个或多个数据存储24中。在图3的实施例中,社交图谱300包括指示用户“A”与用户“B”的用户节点302之间的朋友关系的矢线306和指示用户“C”与用户“B”的用户节点302之间的朋友关系的矢线。尽管本公开描述了并且图3示出了具有连接用户节点302的特定属性的矢线306,然而,本公开设定了具有连接用户节点302的任意合适属性的矢线306。作为实施例但并不作为限制,矢线306可表示朋友关系、家庭关系、业务或者雇佣关系、粉丝关系、伙伴关系、访问者关系、客户关系、上级/下级关系、互惠关系、非互惠关系、另一合适类型的关系、或者这些关系中的两种或者多种。而且,尽管本公开整体描述了连接的节点,然而,本公开该描述了连接的用户和/或概念。连接的用户和/或概念的引用整体指对应于社交图谱300中通过一条或者多条矢线306连接的用户或者概念的节点,除非上下文另有说明。
[0042]在具体实施方式中,每种矢线类型均可包括添加描述相应对的节点之间的连接的特定类型的更多细节或者元数据的一种或者多个矢线子类型。至少部分基于社交图谱300中的矢线连接的节点类型,每条矢线306均可以是多种矢线类型中的一种。而且,在一些实施方式中,可以自动或者动态地限定或者生成新的矢线类型。作为实施例但并不作为限制,输入到第三方网络应用程序中或者与第三方网络应用程序有关的信息可以致使限定和生成新的矢线类型。作为实施例但并不作为限制,NETFLIX的网络应用程序可导致产生表示“我想要看的电影”的矢线类型。在矢线306具有或者被分配相关联的矢线类型的实施方式中,矢线306本身可存储限定矢线306连接的该对节点之间的连接类型的数据或者与限定矢线306连接的该对节点之间的连接类型的数据一起被存储,诸如,描述矢线连接的节点类型的数据(例如,用户、中枢、中枢的类别或者分类)、限定矢线306对各个用户的能见度的隐私设置、通过矢线306连接的该对节点中的一个的管理员对矢线306连接的另一节点的访问特权(例如,一个节点的管理员对由矢线306连接的另一节点的读或者写访问)、描述如何或者为何首先初始化或者创建矢线306的数据(例如,响应明确的用户动作或者公告、或者没有明确的用户动作自动地)、通过由矢线306连接的节点(或者更具体地,与相应连接节点相关联的用户或者概念)相关或者共享的各种因素而确定的连接强度、或者其他合适的相关数据。
[0043]在具体实施方式中,每条矢线306可简单地限定或者表示节点之间的连接,无需考虑矢线连接的节点的类型。矢线本身可存储矢线306连接的节点的标识符或者与矢线306连接的节点的标识符一起被存储,但是,矢线本身不可存储描述矢线连接的该对节点之间的连接类型的数据或者不可与描述矢线连接的该对节点之间的连接类型的数据一起被存储。而且,在这些或者其他实施方式中的任一种中,指示通过矢线连接的节点之间的连接类型或者关系的数据可与节点本身一起被存储。在具体实施方式中,矢线、以及属性(例如,对应于通过矢线连接的节点的矢线类型和节点标识符)、元数据、或者限定、表征、或者与矢线有关的其他信息(例如,作为数据对象)可被存储在社交图谱数据库206中并且周期性地更新或者响应各种动作或者因素(例如,如下面更为详细描述的,当用户与中枢交互更多时,可以更新连接相应用户与概念节点之间的矢线以反映该交互,从而可贡献于表征矢线的亲和度或者连接强度)。
[0044] 在具体实施方式中,用户节点302与概念节点304之间的矢线306可表示由用户节点302的用户对与概念节点304相关联的概念执行的特定动作或者活动。作为实施例但并不作为限制,如图3所示,用户可能“喜欢”、“参与”、“播放”、“收听”、“烹煮”、“任职于”、或者“观看”概念,其中每种均可对应于矢线类型或者子类型。例如,对应于概念节点304的概念资料页面可包括可选择的“登记”图标(诸如,图5B中所示出的“登记”图标524)或者可选择的“添加到喜好”图标(诸如,图5B中所示出的图标526)。同样,在用户点击这些图标之后,社交网络系统20可响应对应于相应动作的用户动作创建“喜好”矢线或者“登记”矢线。作为实施例但并不作为限制,用户(用户“C”)可使用特定的应用程序(SPOTIFY,S卩,在线音乐应用程序)收听特定的歌曲(“Imagine”)。在这种情况下,社交网络系统20可在对应于用户的用户节点302与对应于歌曲和应用程序的概念节点304之间创建“收听”矢线306和“使用”矢线(如图3所示),以指示该用户收听该歌曲并且使用该应用程序。而且,社交网络系统20可在对应于歌曲和应用程序的概念节点304之间创建“播放”矢线306(再次,如图3所示),以指示通过特定应用程序播放特定歌曲。在这种情况下,“播放”矢线306对应于外部音频文件(歌曲“Imagine”)中的外部应用程序(SP0TIFY)所执行的动作。尽管本公开描述了具有连接用户节点302与概念节点304的特定属性的矢线306,然而,本公开设定了具有连接用户节点与概念节点的任意合适属性的矢线306。而且,尽管本公开描述了用户节点与概念节点之间表示单一关系的矢线,然而,本公开设定了用户节点与概念节点之间表示一种或者多种关系的矢线。作为实施例但并不作为限制,矢线306可同时表示用户喜欢特定的概念并且已经使用该特定概念。可替代地,可以生成表示用户节点302与概念节点304之间的各种类型的关系(或者多种单一关系)的独立矢线306,如图3所示,用户“E”的用户节点302与“SP0TIFY”的概念节点304之间的独立矢线306。
[0045]在具体实施方式中,社交网络系统20可在社交图谱300中创建用户节点302与概念节点304之间的矢线306。作为实施例但并不作为限制,(诸如,通过使用承载在用户的客户端设备30中的网络浏览器或者专用应用程序)查看概念资料页面的用户可通过点击或者选择“喜欢”图标(诸如,图5B或者图5C中所示的“喜欢”图标52)指示其喜欢以概念节点304表示的概念,从而可致使用户的客户端设备30将指示用户喜欢与概念资料页面相关联的概念的消息发送给社交网络系统20。如图3中的用户“B”的用户节点与体育酒吧“老行家”的概念节点之间的“喜欢”矢线306所示,社交网络系统20响应该消息可在与用户相关联的用户节点302与概念节点304之间创建矢线306。在具体实施方式中,社交网络系统20可将矢线306存储在一个或多个数据存储24中。尽管本公开描述了以特定方式形成矢线306,然而,本公开设定了以任意合适的方式形成矢线306。作为实施例但并不作为限制,用户可使用操作为在用户的用户节点302与概念节点304之间形成矢线306的移动应用程序或者另一合适的应用程序,而非访问网页或者点击图标。
[0046]在具体实施方式中,通过社交网络系统20响应特定的用户动作可自动形成矢线306。作为实施例但并不作为限制,如果第一用户上产图片、观看电影、或者收听歌曲,则可在对应于第一用户的用户节点302与对应于这些概念的概念节点304之间形成矢线306。作为实施例但并不作为限制,社交网络系统20基于社交网络系统20中的用户当前输入的信息可自动生成节点和矢线。作为另一实施例但并不作为限制,社交网络系统20基于社交网络系统20中的用户之前输入的信息可自动生成节点和矢线。在2010年4月19日提交的美国专利申请第12/763162号中可以查找有关自动生成节点和矢线的更多信息,通过引用将其结合在此。
[0047]用户资料页面
[0048]图4A至图4D示出了示例性用户资料页面。在具体实施方式中,社交图谱300中的用户节点302可对应于用户资料页面。在具体实施方式中,根据与用户的用户节点相关联的隐私设置,用户资料页面对用户、用户的朋友、以及甚至其他不是朋友的用户可见。例如,用户经由用户的用户资料页面、用户主页、账户设置页面、隐私设置页面、或者经由另一合适的界面可设置或者修改其隐私设置。用户资料页面可包括经由选择一个或多个选项卡401查看或者访问的多个不同子页面。作为实施例但并不作为限制,在图4A中所示的实施方式中,用户资料页面包括用于访问帖子墙(馈送)的墙(馈送)选项卡401a、用于输入和显示有关用户或者与用户有关的信息的信息选项卡401b、用于上传和显示照片的照片选项卡401c、以及盒子选项卡401d。用户可选择上传到照片选项卡401c中用于显示的特定照片或者图片作为用户资料图片403。在具体实施方式中,无论选择选项卡401中的哪一个,用户的资料图片403以及诸如发送消息给另一用户、编辑资料页面、查看用户的朋友、或者查看用户照片的选项等其他特征可以显示在该页面的“谷歌浏览器”(边界)区域中。在具体实施方式中,搜索栏或者搜索界面可以包括在用户资料页面(以及其他页面)的谷歌浏览器中,从而能够使用户输入对社交网络数据的查询,诸如,其他用户的姓名或者属性或者用户希望搜索的概念。
[0049]在具体实施方式中,可以自行公告用户和其他用户经由用户资料页面可访问或者看见的信息的一部分或者全部。当创建用户资料页面时,用户可将信息或者内容键入或者以其他方式输入到可或者不可自动默认出现的各部分或者表格中。在具体实施方式中,用户可在用户登录社交网络系统20中的任意时间编辑器用户资料页面。作为实施例但并不作为限制,用户资料页面可包括描述由社交网络系统20支持的在线社交网络中的相应用户的数据,例如,其中可包括正确地的姓名(人的第一名称、中间名称、以及最后名称,业务实体的商品名或者公司名称等)、昵称、传记、人口统计、以及信息选项卡401b下基本信息不符402中其他类型的描述性信息。基本信息不符402可进一步包括用户的性别、当前居住城市、生日、故乡、关系状况、政治面貌、用户正在寻找或者用户如何使用社交网络(例如,寻找友谊、关系、约会、网络等)等。
[0050]在具体实施方式中,用户资料页面还可包括其中用户可输入更多个人公告的个人信息部分406。作为实施例但并不作为限制,个人信息部分406可包括其中用户可公告其参与或者喜爱的诸如体育或者音乐等各种活动的子部分408。作为实施例但并不作为限制,在部分408中,例如,用户可通过简单地收听活动而公告这些活动。作为实施例但并不作为限制,用户可列出“举重、徒步旅行、打乒乓球、以及踢足球”、或者可使用诸如“我喜欢举重、我喜欢徒步旅行、我喜欢打乒乓球、我擅长踢足球“等短句。例如,用户可以(通过下面所述预键入或者引导过程可以识别的)逗号、分号、虚线、或者回车公告其活动(和下面所描述的其他公告)。个人信息部分406还可包括其中用户可公告各种兴趣的子部分410。再次,用户可通过诸如键入“阅读和摄影”或者通过使用诸如“我喜欢阅读,我喜欢摄影”等短句简单地列出该等兴趣。作为另一实施例,兴趣部分406可包括喜爱的音乐子部分412(其中,用户可公告其喜欢或者感兴趣的音乐)、喜爱的电视节目子部分418、喜爱的报价子部分420、以及甚至整体“关于我”的子部分422(其中,用户可输入有关其自身的不可填写到之前描述部分中的全部公告)。
[0051]在具体实施方式中,用户资料页面还可包括其中用户可输入各种联系信息的联系信息部分424,例如,其中包括电子邮件地址、电话号码、居住地址、工作地址、或者其他合适的联系信息。用户资料页面还可包括其中用户可输入其教育或者就业历史的教育和工作部分426。作为实施例但并不作为限制,例如,用户通过简单地键入“斯坦福大学”、通过键入“我就读于斯坦福大学”、或者通过从菜单界面选择斯坦福大学可在部分426中公告其就读于斯坦福大学。用户还可描述更为具体的信息,诸如,授予学位、学位领域、毕业日期等。作为另一实施例,部分426能够使用户输入用户的工作经验。作为实施例但并不作为限制,例如,用户通过简单地键入“Acme”、通过键入“我就职于Acme”、或者通过从菜单中选择公司“Acme”可公告其在“Acme”公司工作。
[0052]在具体实施方式中,用户资料页面还包括朋友部分428(在该页面的谷歌浏览器或者其他区域中可见),朋友部分428显示由存储社交图谱数据库206中的社交图谱300中的矢线306限定的用户朋友的全部或者子集。在具体实施方式中,用户可点击与朋友相关联的姓名或者缩略图图像429,从而致使用户进入所选择朋友的用户资料页面。在具体实施方式中,用户对另一第二用户所采取的任一动作,无论第二用户是否是该用户的朋友,在具体实施方式中,可以在最近活性部分430中显示用户对各个概念节点所采取的动作,最近活动部分430可被观察为墙(馈送)选项卡401a下墙(馈送)部分432内的子部分。通常,墙(馈送)部分432是每个用户资料页面上的空间,其允许用户和朋友经由输入框434发布消息,以使用户和朋友查看墙(馈送)上的帖子以及就墙(馈送)上帖子做出公告或者以其他方式表达自身。
[0053]在具体实施方式中,用户通过点击或者以其他方式选择对应于用户希望编辑或者作出公告的部分的编辑链接440可以编辑器用户资料页面而作出公告。作为实施例但并不作为限制,图4C示出了在用户选择对应于个人信息部分406的编辑链接440之后显示给用户客户端设备30的用户的生成渲染网页。如图4(:所示,多个表格框409、411、413、415、417、419、421、以及423被渲染,从而能够使用户将公告分别键入或者以其他方式输入到对应的部分408、410、412、414、416、418、420、以及422中。当用户将文本字符输入到表格框中时,前端预键入过程204和后端预键入过程208可尝试识别在用户输入字符时与输入到用户公告中的字符的字符串匹配的现有概念节点304 (或者用户节点304,例如,尤其是对应于名人、公司、或者组织的用户节点)。
[0054]在具体实施方式中,用户通过将文本查询输入到搜索字段450中可将查询提交给社交网络系统20。该查询可以是非结构化文本查询并且可包括一个或多个文本字符串或者一个或多个N元语法。总之,用户可将任意字符输入到搜索字段450中以搜索社交网络系统20中与文本查询匹配的内容。然后,社交网络系统20可搜索数据存储24(或者更具体地,社交图谱数据库206或者概念数据库216)以识别与查询匹配的内容。例如,所识别的概念可包括社交图谱实体(即,用户节点302、概念节点304、矢线306)、资料页面、外部网页、或者其任意组合。然后,社交网络系统20的页面生成过程200可生成具有对应于所识别内容的搜索结果的搜索结果网页。搜索结果网页可包括与文本查询匹配的识别内容的一些或者全部的引用。社交网络系统20则可将搜索结果网页发送给用户客户端设备30中的用户网络浏览器202。然后,用户根据需要点击或者以其他方式性搜索结果网页中选择内容以从社交网络系统20或者从外部系统访问内容。尽管本公开描述了以特定方式查询社交网络系统20,然而,本公开设定了以任意合适方式查询社交网络系统20。
[0055]概念资料页面
[0056]图5A至图5C示出了示例性概念资料页面。在具体实施方式中,社交图谱300中的概念节点304可对应于概念资料页面。在具体实施方式中,可由社交网络系统20中的用户明确创建或者通过社交网络系统20可自动生成概念节点304及其相应的中枢。与用户资料页面相似,概念资料页面(也被称之为“中枢”)分享与相应概念节点304相关联的概念有关的信息。在具体实施方式中,登录到社交网络系统20中并且查看中枢的任意注册用户可(诸如,以类似于wik1-site的方式)将内容添加到中枢。作为实施例但并不作为限制,图5A示出了有关电影“肖申克的救赎”的示例性中枢。在具体实施方式中,并且如图5A所示,与用户资料页面相似,中枢可包括经由墙(馈送)选项卡501a、信息选项卡501b、照片选项卡501c、以及盒子选项卡501d可访问的子页面。通常,中枢还可包括基本信息部分502、详细信息部分504、以及潜在的其他部分。例如,可由与概念或者概念节点304相关联的管理员、由查看中枢的用户(尽管在具体实施方式中,在中枢中可见用生成内容或者用户添加内容之前,可能存在与内容审核或者同步过程相关联的时延)、通过社交网络系统20(基于从内部或者外部/第三方雷源(例如,WIKIPEDIA)提取的信息)、或者通过另一合适的来源可提供概念资料页面中包括的信息。中枢还可包括照片选项卡501c中的照片或者图片部分,从而允许用户上传概念中或者与概念有关的图像,中枢可以选择图像中的一个作为资料图片512。作为另一实施例但并不作为限制,图5B示出了有关加利福尼亚州帕洛阿尔托市中的体育酒吧的“老行家”的网页。例如,网页可包括可选择的“喜欢”图标522、可选择的“登记”图标524、可选择的“添加到喜好中”图标526、其他合适的部件、或者其任意组合。作为又一实施例并且并不作为限制,图5C示出了有关“马太(Matthew)”图片的网页。例如,网页可包括可选择的“喜欢”图标522、可选择的“评论”图标534、字段536中来自各个用户的历史评论和“喜欢”、字段538中对应于概念节点的应用指示、其他合适的部件、或者其任意组合。尽管本公开描述了并且图5A至图5C示出了与具体概念节点相关联的具体网页,然而,本公开设定了与任意合适的概念节点相关联的任意合适的网页。而且,尽管本公开描述了与网页相关联的概念节点,然而,本公开设定了不一定必须与网页相关联的概念节点。作为实施例但并不作为限制,概念节点可对应于不与任意合适的网页相关联的歌曲或者其他音乐作品。
[0057]在具体实施方式中,墙(或者新闻馈送/活动馈送)部分501a或者中枢的其他馈送或者活动部分显示评论、状态更新、壁纸、以及与查勘中枢的用户和用户朋友相关联的其他用户活动。墙(或者新闻馈送/活动馈送)部分501a或者中枢的其他馈送或者活动部分还可显示评论、状态更新、壁纸、以及与创建中枢概念有关的其他用户活动和用户生成内容。更具体地,社交网络系统20中的一个或多个过程可对评论、状态更新、壁纸、以及与通过概念过滤的请求用户和请求用户朋友相关联的其他用户生成内容和用户活动执行搜索;即,对与这些用户馈送流中的当前请求或者查看中枢的概念有关的关键词(以及潜在地,与推荐中枢相关联的概念有关的关键词)或者与请求用户和请求用户朋友有关的活动的关键词搜索,并且在当前请求或者查看中枢的墙或者馈送部分50 Ia中显示用户内容或者活动的子集。作为实施例但并不作为限制,于2010年2月11日提交的美国专利申请序号12/704400描述了用于执行搜索、过滤、以及显示的方法、过程、或者系统,并且通过引用将其结合在此。墙或者馈送部分501a还可包括与刚刚描述独立的部分的部分,该部分显示社交网络系统20中与所创建的中枢概念有关的任何及全部用户、而不仅查看中枢的用户和用户朋友的评论、状态更新、壁纸、以及其他用户活动。
[0058]在具体实施方式中,一旦创建中枢,则特定中枢中显示的默认部分可取决于概念本身;即,通过社交网络系统20可对概念节点304进行分类,并且这些分类(例如,人、地方、事物、活动、体育、体育团队、名人、城市、位置、电影、演员、书籍、餐馆等)可至少部分指定在特定中枢中显示哪些部分。作为实施例但并不作为限制,如图5A所示,电影中枢可包括用于输入在电影中领衔主演的演员的部分或者子部分以及用于输入诸如导演、编辑、发行工作室、发布日期等信息的部分或者子部分。在具体实施方式中,中枢还可包括列出或者显示连接至概念(及其对应的概念节点304)或者与概念(及其对应的概念节点304)具有连接(和社交图谱300中的对应矢线306)的用户的部分508(在具体实施方式中,无论当前选择选项卡501中的哪一个,均可以看见部分508),诸如,图5A中所示的实施例中的粉丝部分508。作为实施例但并不作为限制,例如,该等用户可具有存储在社交图谱数据库206中的连接及相关联的矢线306,从而指示用户喜欢该电影、看过该电影、希望观看该电影、演过该电影等。在具体实施方式中,在粉丝部分508中显示的用户仅可包括与当前查看中枢的用户是朋友的用户。
[0059]在具体实施方式中,中枢可包括推荐部分510(在具体实施方式中,无论当前选择tabs 501中的哪一个,均可以看见推荐部分510),推荐部分510包括或者显示姓名512的列表或者集合、缩略图图像514、或者与其他中枢相关联的其他标识符,其中每种均可包括与相应的其他中枢的超链接。作为实施例但并不作为限制,如图5A所示,中枢中对应于电影的推荐部分510可显示对应于由同一导演执导的电影、共用一些或者相同演员的电影、同一流派的电影、或者用户朋友喜欢的电影等的中枢。在具体实施方式中,推荐部分510中显示或者列出的中枢可被视为与从社交图谱数据库206提取的有效信息相关、与从社交图谱数据库206提取的有效信息具有某种确定关系、或者基于从社交图谱数据库206提取的有关下列一项或者多项的有效信息而确定:请求或者当前查看特定中枢(以下也被称之为“请求中枢”)的特定用户(以下也被称之为“请求用户)、请求中枢、其用户节点302也可或者也不可通过相应矢线连接至请求中枢的概念节点304的用户朋友、具有也连接至请求中枢的概念节点304的相应概念节点304的其他中枢、或者其任一组合。作为实施例但并不作为限制,推荐部分510中显示的推荐中枢可包括请求用户的朋友(由社交图谱数据库206中的矢线306限定)喜欢或者以其他方式连接(通过社交图谱数据库206中的矢线306)至请求用户的朋友的中枢,并且具体地,也(以社交图谱数据库206中的矢线306)连接至请求中枢的朋友。作为另一实施例,推荐部分510中显示的推荐中枢可包括用户(并且具体地,(由社交图谱数据库206中的矢线306限定的)请求用户的朋友)也喜欢或者以其他方式连接(具有社交图谱数据库206中的矢线306)、但不一定必须与请求中枢(以社交图谱数据库206中的矢线306)连接的中枢。作为又一实施例,推荐部分510中显示的推荐中枢可包括(以社交图谱数据库206中的矢线306)连接至请求中枢以及请求用户的一个或多个朋友(由社交图谱数据库206中的矢线306限定)的中枢。作为又一实施例,推荐部分510中显示的推荐中枢可包括(以社交图谱数据库206中的矢线306)连接至请求中枢、但并不一定必须与请求用户的朋友连接(由社交图谱数据库206中的矢线306限定)的中枢。
[0060]在具体实施方式中,社交网络系统20可提供有关对应于概念节点304的中枢的实际情况(或者对应于未认证用户节点302b的未认证用户资料页面)的方式或者过程(例如,可选择的链路或者用户界面),诸如,之前已经创建概念节点304的实际名人或者业务),以宣布这些概念节点304,从而假设对其的管理权并且在社交图谱300中将其重新定义为例如注册认证用户节点302a(或者可替代地,认证概念节点304)。
[0061 ] 预键入过程
[0062]具体实施方式进一步涉及基于当前由社交网络系统20的用户输入的信息用于自动生成社交图谱300中的节点和矢线的方法。在具体实施方式中,一个或多个客户端和/或后端(服务器端)过程实现并且利用“预键入”特征而尝试自动匹配对应于相应的现有概念节点304的概念与用户当前结合请求网页渲染的输入形式输入的信息,诸如,可承载在社交网络系统20中或者通过社交网络系统20可访问的用户资料页面。在具体实施方式中,当找出匹配时,这些或者其他过程则可自动生成从对应于用户的用户节点302至对应于概念匹配的现有概念节点304的矢线。具体实施方式进一步涉及下列一个或多个过程,S卩,当未找出现有概念与对应节点的匹配时,或者当至少未找出希望的确定性等级时,自动创建新节点和从新节点至用户节点的矢线。作为实施例但并不作为限制,如下面描述的,诸如用户资料页面等承载在社交网络系统20中或者在社交网络系统20中可访问的各个网页能够使用户经由其相应的资料页面或者其他概念资料页面添加内容、公告兴趣、或者以其他方式表达其自身(以下也被称统称为“公告”),其中包括链接至额外的内容或者以其他方式引用额外的内容,诸如,媒体内容(例如,照片、视频、音乐、文本等)、同一资源定位符(URL)、其他节点。然后,通过授权用户以及其他用户可以查看该等宣称。在具体实施方式中,当用户输入文本以做出公告时,预键入特征尝试匹配在公告中输入的文本字符的字符串与对应于社交图谱300中的现有概念(或者用户)和对应概念(或者用户)节点的字符的字符串(例如,姓名)。在具体实施方式中,如上所述,当找出匹配时,预键入特征可引用现有节点的节点(诸如,节点名称、节点ID、或者另一合适的引用或者标识符)填充表格并且致使在匹配的现有节点和与该用户相关联的用户节点302之间创建矢线306。在具体实施方式中,至少根据静态或者动态确定的确定性等级,当用户继续输入文本并且预键入特征可确定公告的全部或者一部分不与任意现有的节点匹配时,预键入特征可致使社交网络系统20基于由用户输入的公告创建新的节点以及创建从用户节点至新节点的矢线。
[0063]具体实施方式进一步涉及基于由社交网络系统20中的用户之前输入的信息用于自动生成节点和矢线的一种方法。在具体实施方式中,一个或多个后端(服务器端)过程可实现并且利用“引导”特征而尝试自动匹配数据存储中加索引的已知概念与由用户之前以一种或者多种不同形式或者格式输入并且存储在社交网络系统20中的信息,已知概念中的每个均可或者不可与社交图谱300中的相应现有概念节点304相关联或者对应于社交图谱300中的相应的现有概念节点304。在具体实施方式中,当找出与已知概念的匹配时,这些或者其他过程则可自动生成从对应于用户的节点(匹配之前输入的信息)值对应于概念节点的现有概念节点304的矢线306。具体实施方式进一步涉及下列一个或多个过程,S卩,当找出与已知概念的匹配,但是,其中当前不存在有关已知概念的任何概念节点304,则自动创建有关已知概念的新概念节点304并且创建从新概念节点304至与用户相关联的用户节点302的矢线。具体实施方式进一步涉及下列一个或多个过程,即,当未找出与已知概念哈现有概念的匹配时,或者至少未找出希望的确定性等级时,则基于之前输入的信息和从新概念节点304至与用户相关联的用户节点304的矢线306自动创建新的概念节点304。在2010年4月19日提交的美国专利申请第12/763162号中可以获得与自动生成节点和矢线有关的更多信息,通过引用将其结合在此。
[0064]具体实施方式进一步涉及用于使用从一种或者多种内部或者外部来源获得的数据填充概念数据库216的一种方法。在具体实施方式中,概念数据库216可包括已知概念的索引,在一些实施方式中,概念数据库216还包括各种属性、元数据、或者与相应概念相关联的其他信息。在具体实施方式中,一个或多个后端(服务器端)过程可搜寻(crawl) —种或者多种外部数据源(例如,通常,WIKIPEDIA(www.wikipedia.0rg)、FREEBASE(www.freebase.com,available from METAWEB)、或者因特网)以便于或者助于生成或者填充概念数据库216。在具体实施方式中,还可利用从此处所描述的社交网络喜用20中的用户提取的信息扩充概念数据库216。
[0065]具体实施方式进一步涉及用于生成一个或多个推荐以用于显示给社交网络系统20中当前查看至少承载在社交网络系统20中的具体网页或者结构化文档的用户的一种方法。在具体实施方式中,一个或多个服务器端推荐生成过程218可至少部分基于从社交图谱300中提取的信息生成用于显示给当前查看页面的用户的推荐。更具体地,一个或多个服务器端推荐生成过程218可利用包括与用户、当前查看页面、以某种方式也连接至当前查看页面的用户的朋友、以及以某种方式连接至当前查看页面的其他网页或者结构化文档有关的信息的社交图谱信息来确定用户希望连接的一个或多个其他网页或者结构化文档并且随后则生成用于以某种方式显示给当前查看页面的用户的推荐页面的列表或者集合。
[0066]在具体实施方式中,如此处更为详细描述的,可以不同颜色、下划线、或者可点击的方式高亮、渲染输入到之前描述的在线社交网络的网页的一个或多个部分或者子部分中的公告的一个或多个术语。作为实施例但并不作为限制,(在用户输入术语时或者在输入术语之后)可以不同颜色、下划线、或者可点击的方式通过社交网络系统20高亮、渲染由匹配于社交图谱300中的节点或者矢线的用户所输入的术语,以指示该术语与社交图谱300中的元素匹配。在具体实施方式中,网页上的特定术语可与特定节点和矢线匹配,并且这些术语可与在被点击或者以其他方式选择时将用户导向与节点或者矢线相关联的资料页面的超链接相关联。作为实施例但并不作为限制,已知概念或者现有概念节点304可与在被点击时将用户网络浏览器202导向至对应于概念节点304的内容资料页面的超链接相关联。在具体实施方式中,当术语与节点或者实现相关联的名称或者标识符相同或者大致相似或者以其他方式识别为与该节点或者矢线相关联时,该术语可匹配于该节点或者矢线。作为实施例但并不作为限制,点击喜爱的电视节目部分414中对应于“居家男人”的超链接可将用户导向至贡献于居家男人电视节目的网页(如下所述的概念资料页面/中枢)。
[0067]在具体实施方式中,当用户在用户资料页面或者其他页面的各部分中将文本键入或者以其他方式输入到用于添加内容或者作出公告的表格中时,前端预键入过程204可与在社交网络系统20处或者中(例如,服务器22中)执行的一个或多个后端(服务器端)预键入过程208(以下简称为“后端预键入过程208”)一起工作,以交互或者虚拟地即时(对用户看上去如此)尝试使用对应于现有中枢的名称的一个或多个术语、与现有中枢相关联的术语自动填充表格,这些术语被确定为与用户输入文本字符时由用户输入的文本字符最为相关或者最为匹配。利用社交图谱数据库206中的社交图谱信息或者从社交图谱数据库206中提取或者加索引的信息,其中包括与节点以及矢线306、前端预键入过程204和后端预键入过程208、结合社交图谱数据库206中的信息、以及潜在地结合各个其他过程、应用程序、或者位于社交网络系统20中或者在社交网络系统20中执行的数据库相关联的信息,能够以高精度预测用户的目的性公告。然而,社交网络系统20还为用户提供输入任何公告的自由度,其希望能够使用户自由地表达自己。因此,社交网络系统20能够创建与任何虚拟概念有关的新的中枢及对应概念节点304。
[0068]在具体实施方式中,当用户将文本字符输入到表格框或者其他字段中时,嵌段预键入过程204和后端预键入过程208可尝试识别匹配在用户输入字符时输入到用户公告中的字符的字符串的现有用户节点302或者概念节点304。在具体实施方式中,当用户将字符输入到表格框中时,前端预键入过程204可读取所输入的文本字符的字符串。当按下每个按键时,前端预键入过程204可将输入的字符串作为请求(或者调用)发送给在社交网络系统20中执行的后端预键入过程208。在具体实施方式中,前端预键入过程204和后端预键入过程208可经由AJAX(异步JavaScript和XML)或者其他合适的技术通信,具体地,异步技术。在一种具体实施方式中,该请求是或者包括能够快速并且动态发送和获取结果的XMLHTTPRequest (XHR)。在具体实施方式中,前端预键入过程204还在请求之前、之后、或者与请求一起发送识别其中用户正在做出公告的具体页面的具体部分的部分标识符(部分ID)。在具体实施方式中,还可发送用户ID参数,但是,在一些实施方式中,不一定必须如此,因为基于其正在登录社交网络系统20而已经“获知”该用户。
[0069]在具体实施方式中,当后端预键入过程208接收包括用户输入的字符数据或者部分标识符的字符串的请求或者调用时,后端过程208(例如,结合社交网络系统20中执行的一个或多个其他搜索过程)可执行或者致使执行字符串搜索,以识别具有匹配所输入文本的相应名称或者其他标识符的现有用户节点302或者概念节点304,在具体实施方式中,匹配社交图谱数据库206中至少部分由具体部分标识符确定的具体节点分类。分类粒度可以不同。作为实施例但并不作为限制,对应于演员、导演、制片人、电影类型或者流派的中枢可被全部分组到“电影”类别。作为实施例但并不作为限制,对应于演员、导演、制片人、电影类型或者流派的中枢均可代表其自身的类别。同样,在一种实施例中,对应于足球、篮球、英式足球、橄榄球、以及网球的中枢可全部被分组到“体育”类别中,而在另一实施例中,这些中的每种均可代表其自身的类别。在具体实施方式中,后端预键入过程208可执行字符串匹配。后端预键入过程208可尝试匹配从前端预键入过程204中接收的字符的最后字符串与字符串中每个均对应于社交图谱数据库206中的节点名称的索引。在具体实施方式中,周期性地更新字符串的索引或者将用户节点302和概念节点304添加到社交图谱数据库206中或者从社交图谱数据库206生成的其他索引中。后端预键入过程208在尝试匹配所输入文本的字符串时可使用一种或者多种不同的因素并且由此可检查社交图谱数据库206中现有节点的一个或多个各种不同的方面或者属性。作为实施例但并不作为限制,除尝试匹配所输入文本与现有节点的名称(名称字符串)之外,后端预键入过程208可使用部分标识符确定公告的类别,然后,可使用公告的类别搜索与该类别相关联的现有概念节点304的子集。在具体实施方式中,后端预键入过程208搜索或者查询从社交图谱数据库206中生成的节点的索弓丨,其中,通过中枢类别可加索引于或者可搜索(或者可查询)节点。后端预键入过程208还可使用有关输入包括输入到用户资料页面中的信息的文本的用户的信息、有关用户朋友的信息、有关与用户连接的其他用户节点302或者概念节点304的信息等,以使用户公告与现有用户或者概念及其相应的用户节点302或者概念节点304最为匹配。后端预键入过程208还可尝试校正用户输入字符的同义字的拼写或者匹配或者输入字符的外推法。
[0070]在具体实施方式中,后端预键入过程208可使用一种或者多种匹配算法来尝试识别匹配节点。在具体实施方式中,例如,当找出一个或多个匹配时,后端预键入过程208可将包括匹配节点的名称(名称字符串)以及潜在地与匹配节点相关联的其他元数据的响应(可利用AJAX或者其他合适的技术)发送至用户的客户端设备30。作为实施例但并不作为限制,图4D示出了将字符“wei”输入到对应于活动部分408的表格框409中的用户的结果。在图4D所示的实施例中,前端预键入过程204显示下拉菜单442,下拉菜单442显示匹配的现有资料页面和相应的用户节点302或者概念节点304的名称(例如,命名为或者贡献于“举重”的中枢),用户则可点击或者以其他方式选择该名称,从而确认希望公告对应于选择节点的匹配用户或者概念名称。作为另一实施例但并不作为限制,一旦点击“举重”,前端预键入过程204则使用公告“举重”自动填充或者致使网络浏览器202自动填充表格框409。在具体实施方式中,前端预键入过程204可使用最佳匹配名称或者其他标识符简单地自动填充表格而非现实下拉菜单。用户仅通过其键盘上的按键“回车”或者通过点击自动填充公告则可确认自动填充的公告。
[0071] 在具体实施方式中,一旦用于确认匹配的节点,前端预键入过程204则可将通知后端预键入过程的用户确认匹配资料页面的请求发送至后端预键入过程208。在具体实施方式中,后端预键入过程响应发送的请求可自动(或者可替代地,基于请求指令)调用或者以其他方式命令矢线生成API(应用程序编程界面)210在社交图谱数据库206中存储的社交图谱300中创建具体用户的节点302与对应于确认公告的具体用户节点302或者概念节点304之间的矢线306。在具体实施方式中,前端预键入过程204可不生成和发送已发送的请求,直至用户选择保存更改(或者其他提交)按钮444,指示用户希望做出公告(或者以任一或者全部显不的表格框做出公告)的确认。
[0072]在具体实施方式中,例如,后端预键入过程208可以使用至少部分基于由用于其中做出公告的部分的对应部分标识符(例如,朋友、喜爱的电影)识别的部分类别或者基于存储在社交图谱数据库206中的社交图谱信息而确定的现有节点的节点类型或者类别,以使公告的输入字符的字符串与现有节点(可以是用于匹配节点的候选项)更好地匹配。作为实施例但并不作为限制,考虑其中用户将“美洲虎”键入到用户资料部分中的实施例。在该实施例中,后端预键入过程208可识别具有至少包括名称“美洲虎”或者其词源(例如,“美洲虎”)的对应名称的多个现有节点(及其相关联的资料页面)。作为实施例但并不作为限制,后端预键入过程208可识别与用户名称“维多利亚捷豹”相关联的用户节点302。作为实施例但并不作为限制,后端预键入过程208可识别与丛林猫美洲虎相关联的概念节点304。作为又一实施例,后端预键入过程208可识别贡献于杰克逊维尔美洲虎专业足球对的概念节点304以及贡献于捷豹奢华性能汽车制造商的又一概念节点304。在这种情况下,通过后端预键入过程208可以匹配这些用户节点302或者概念节点304中全部,因此,在一些实施方式中,可以发送所有的名称节点,而在其他实施方式中,例如,如上所述,后端预键入过程208基于使用从用户资料提取的部分ID或者其他参数仅可发送被确定为最为相关的一个匹配节点名称,以确定其中最为相关的匹配用户节点302或者概念节点304被加索引的类别。
[0073]可替代地,在一些实施方式中,还可使用其他因素确定匹配的概念节点304的强度或者相关性,例如,包括具有与匹配概念节点304连接的相应用户节点302的用户朋友的数目、具有与匹配概念节点304连接的相应用户节点302的全部用户的数目、与匹配概念节点304连接的其他概念节点304的数目、通过分析连接至用户节点30 2和匹配概念节点304的其他概念节点304而获得的信息、或者连接至对应于用户的朋友的节点302以及匹配概念节点304的其他概念节点304。而且,如下所述,在确定最为相关的匹配概念节点304时,还可使用表征与连接这些节点中任一个的矢线相关联的连接强度的信息来权衡其相关性。
[0074] 在具体实施方式中,后端预键入过程208可在前端预键入过程204利用对应于匹配资料页面及其相应用户节点302或者概念节点304的名称自动填充表格框之前可做出一个或多个决定。首先,基于上述实施例,在识别与现有节点的多项匹配的情况下,后端预键入过程208则可确定指示匹配节点每个名称的绝对或者相对质量的各项匹配的置信得分、匹配节点自身的质量、或者后端预键入过程208具有正确匹配的置信等级(用户输入或者尝试驶入的目的概念)。该决定还可产生或者包括匹配分级(在下拉菜单442中显示的匹配顺序中可反映出匹配分级)。
[0075]在具体实施方式中,可以使用一种或者多种因素确定匹配节点的置信得分、概率、质量、或者分级。作为实施例但并不作为限制,这些因素可再次包括具有与匹配概念节点304连接的相应用户节点302的用户朋友的数目、具有与匹配概念节点304连接的相应用户节点302的全部用户的数目、与匹配概念节点304连接的其他概念节点304的数目、通过分析连接至用户节点302和匹配概念节点304的其他概念节点304而获得的信息、连接至对应于用户朋友的节点302以及匹配概念节点304的其他概念节点304、其他合适的因素、或者其任意组合。其他合适的因素还可包括对应候选项匹配中枢上填写的部分数目、中枢中显示的对应于用户资料页面上显示的包括其他公告的内容的匹配概念节点的内容关系等。再次,如下所述,在确定最为相关的匹配概念节点304时,还可使用表征与连接这些节点中任一个的矢线306相关联的连接强度的信息来权衡其相关性。返回参考“美洲虎”实施例,后端预键入过程208可识别发表“我喜欢看足球”的用户的另一公告,因此,后端预键入过程208可基于该识别(以及其他因素)将对应于杰克逊维尔美洲虎专业足球对的节点分级为最佳匹配,并且前端预键入过程204可在下拉菜单的顶部列出该节点的名称或者使用该名称自动填充表格。
[0076] 在具体实施方式中,后端预键入过程208则可在前端预键入过程204使用对应于分级的匹配节点的名称自动填充表格框之前作出一个或多个第二决策。作为实施例但并不作为限制,基于置信得分,在供选择或者自动填充在表格框中的下拉菜单形式将匹配显示给用户之前,前端预键入过程204和后端预键入过程208中的一个或者两个可确定是否存在有关每项匹配的确定概率、确定性、或者置信(置信得分)等级。即,在具体实施方式中,即使从社交图谱数据库206中的现有节点已经识别一个或多个匹配,由其确定置信得分显示的(用户意欲公告的实际概念)其相应确定性可能低于第一预定阈值,因此,不可将任一匹配显示给用户并且通过前端预键入过程204不可自动填充任一匹配。即,前端预键入过程204可允许用户完成键入其自身的公告,并且然后发送请求,而非向用户显示和提供具有低于阈值的置信得分的匹配。后端过程208可确定对应于用户公告的最佳匹配。
[0077]在具体实施方式中,基于比较确定的预期匹配的相应置信得分与低于下面所述第一预定阈值的第二预定阈值可以确定能够找出匹配。即,当确定能否找出匹配时可以使用第二预定阈值,而当确定是否自动填充用于显示给用户的匹配时可以使用第一预定阈值。
[0078]在具体实施方式中,如果未识别与预定特定等级(例如,基于置信得分与第二阈值的比较)的任何合适匹配,或者用户放弃选择所提供或者自动填充的匹配,则当用户继续将文本字符输入到公告中时,前端预键入过程204可等待,直至在将字符串部分标识符、或者其他信息/数据发送给后端预键入过程208之前,用户最后输入例如通过用户点击或者以其他方式选择保存更改按钮444所指示的公告。
[0079]在具体实施方式中,引导过程214可对所输入或者以其他方式与社交网络系统20中的每个用户相关联或者由社交网络系统20中的每个用户存储的文本的数据结构24(包括社交图谱数据库206)进行扫描。如此处所描述的,关于或者与包括输入并且显示用户资料页面的给定用户相关联的所有信息可与用户节点302—起存储在社交图谱数据库206中。在具体实施方式中,对于每个用户(但是,在一些实施方式中,以及具有对应概念节点304的潜在每个中枢),引导过程214可识别与包含文本字符的用户节点302相关联的所有对象字段。字段可包括用户资料页面中的部分408、410、412、414、416、418、420、以及422中的任一个以及(一些实施方式中)用户与其他用户之间的隐私消息中发送的文本、墙(馈送)部分中发布的公共消息、状态更新、照片下面标题等。
[0080]在具体实施方式中,对于包含文本的每个字段或者对象,引导过程214可对文本执行一定量的预处理。作为实施例但并不作为限制,给定字段中文本的一些或者全部可被视为单一字符串。作为另一实施例但并不作为限制,给定字段中的文本的一些或者全部可被视为一个或多个N元语法。在具体实施方式中,字符串的预处理器可包括应用一组一个或多个启发式规则,以将字符串解析、分离、或者界定成独立的单词、短语、或者与不同的节点(即,用户或者中枢/概念)相关的N元语法。更具体地,预处理可包括字句过程214通过界定符(例如,逗号、分号、回车等)分离给定字段中的字符串。作为实施例但并不作为限制,图4A中的部分408所示的字符串可被界定成四个不同的概念或者中枢候选项,第一不同的中枢候选项为“举重”,第二不同的中枢候选项为“徒步旅行”,第三不同的中枢候选项为“打乒乓球”,并且第四不同中枢候选项为“足球”。此外,预处理可包括识别每个不同中枢候选项中的单词或者多个单词的同义字;识别拼错的单词;识别潜在正确的拼写;展开短句或者将单词添加到短句中(例如,无意识丢落的单词或者出于简便丢落的单词);移除URL;移除元数据;基于语言使单词或者多个单词规范化(例如,从其中被输入成用户通常使用的语言的语言转换单词,或者从其中被输入成可能找出有关中枢候选项最佳匹配的语言的语言转换单词)等。作为实施例但并不作为限制,视为用户可在喜爱的电影部分416中输入“教父1、11、III”。引导过程214可识别用户实际上意在表示三部电影:教父1、教父I1、以及教父III。在这种情况下,引导过程214可将每部电影视为独立的中枢候选项,因为用户明确键入了所有的三部电影名称。
[0081]在具体实施方式中,可使用一系列合适的字符串匹配算法中的一种或者多种使每个识别的不同节点候选项(例如,N元语法或者字符串)与已知用户节点302或者概念节点304(或者用户和概念)的列表匹配或者相比较。在具体实施方式中,将节点候选项与其相比较的已知用户或者概念可以对应的N元语法或者字符串形式加索引或者存储在社交图谱数据库206或者概念数据库216中。通常,概念数据库216可以是概念信息的索引仓库,以使得引导过程214可查询与已知概念匹配的候选中枢。即,在具体实施方式中,希望使每个中枢候选项与单一已知概念匹配。在具体实施方式中,通过搜寻一种或者多种外部信息源或者数据仓库(诸如,通过搜寻 WIKIPEDIA(www.wikipedia.0rg)或者 FREEBASE(w冊.freebase.com))并且将这些搜寻结果彼此组合以及潜在地从包括社交图谱数据库206的一种或者多种内部信息源提取的信息,可利用已知概念填充概念数据库216。在具体实施方式中,概念数据库216中加索引和存储的概念在社交图谱数据库206中并不一定具有对应的现有概念节点304(或者用户节点302)。即,概念数据库216可通常存储已知概念(每个均以对应字符串表示)的索引以及有关这些概念的信息(从诸如刚刚描述的来源等外部数据来源搜寻的信息),但并非所有这些已知的概念可具有社交图谱数据库206中存储的对应现有概念节点304。在具体实施方式中,概念数据库216可包括社交图谱数据库206,反之亦然。在具体实施方式中,为了便于节点候选项与社交图谱数据库206或者概念数据库216中加索引的已知用户或者概念匹配,可以将已知用户或者概念的索引组织成各个分类,作为实施例但并不作为限制,诸如,人、地方、事物、活动、体育、体育团队、名人、城市、位置、电影、书籍、餐馆等。通过与识别节点候选项相关联的部分ID或者其他字段标识符可确定通过引导过程214搜索的具体分类。
[0082]在具体实施方式中,由于预处理,每个节点候选项可具有与其相关联的一个或多个N元语法或者字符串,其中每个均尝试与社交图谱数据库206或者概念数据库216中的已知用户或者概念匹配。作为实施例但并不作为限制,对应于用户输入文本的界定字符串也可与其中已经做出拼写更改、单词添加、单词移除、以及其他更改的其他字符串匹配。在具体实施方式中,引导过程214则可识别与节点候选项匹配的最佳匹配已知用户或者概念的“候选名单”。在具体实施方式中,引导过程214则可生成或者确定候选名单中每项匹配的置信得分或者置信值(与参考上述预键入过程描述的置信得分相似)。作为实施例但并不作为限制,每个已知用户或者概念的置信得分可以基于下列一项或者多项:节点候选项中字符串的文本与每个已知用户或者概念的字符串中的文本匹配程度的确定;节点候选项N元语法或者字符串中任一单词的拼写是否更改以获得匹配;是否将任一字符或者单词添加到节点候选项N元语法或者字符串中或者移除节点候选N元语法或者字符串中的任一字符或者单词以获得匹配等。
[0083]在具体实施方式中,在识别潜在节点候选项的列表之后,通过使用有关该用户的已知其他信息可以进一步缩小该列表。作为实施例但并不作为限制,用户“A”可在用户资料页面上的喜爱电影部分416中公告“暮光之城、哈利波特”。如果引导过程214(例如,因为存在具有单词“暮光之城”的多部电影)不能明确地识别对应于“暮光之城”的电影,则引导过程214可使用喜欢“哈利波特”、也喜欢电影“暮光之城、哈利波特”(明确电影)的许多其他用户的情形,并且因此当用户“A”键入“暮光之城”时,确定用户“A”引用具有充分确定度的“暮光之城.新月”(并且因此引用对应于该电影的概念节点304)。同样,引导过程214可使用有关该用户的人口统计信息。作为实施例但并不作为限制,老用户可能喜欢1958版“罗密欧与朱丽叶”,而年轻用户可能更喜欢1996年发布的新版本“罗密欧+朱丽叶”。
[0084]在具体实施方式中,引导过程214可反复地重新查询概念数据库216,以找出具有相同置信得分的匹配作为之前识别匹配列表中的匹配。可以执行第二轮、第三轮、以及更多轮的匹配以降低或者排除假阳性的概率。作为实施例但并不作为限制,引导过程214可找出具有相同置信得分的多个匹配的已知用户或者概念,而非通过执行第二轮匹配简单地选择具有最佳置信得分(看似比较高,从而指示较高的匹配置信度)的匹配,从而发送错误理解匹配并且不可接受该批评的质量或者置信度的事实。
[0085]在具体实施方式中,引导过程214则可基于之前确定的结果确定对于给定节点候选项是否存在与已知用户或者概念的合适匹配。如果确定社交图谱数据库206或者概念数据库216中存在匹配,则引导过程214可确定社交图谱数据库206中是否存在现有的用户节点302或者概念节点304。可替代地,首先,在诉诸于或者尝试匹配节点候选项与在社交图谱数据库206中不具有对应的现有节点的已知用户或者概念之前,引导过程214可尝试匹配节点候选项与社交图谱数据库206中的现有节点。
[0086]在具体实施方式中,根据希望或者预定的概率或者置信等级,如果确定不能找出有关与节点候选项相关联的N元语法或者字符串的匹配,引导过程214则可确定节点候选项是否可分裂,即,N元语法或者字符是否可被分裂成独立的节点候选项。作为实施例但并不作为限制,由于各种原因,不能找出从节点候选项至已知用户或者概念的匹配,最简单的原因可能是节点候选项过于通用以致于不能识别具有置信度的已知用户或者概念、是常见名称、拼写完全错误或输入错误、或者被视为通常涉及短语并且甚至两个或者多个概念的“高阶”概念。作为实施例但并不作为限制,即使在预处理之后,用户也可键入导致产生高阶节点候选项字符串“约翰尼.德普或者爱德华.诺顿的全部电影”的公告。为了便于该过程,引导过程214可保存诸如“和”、或“或者”等“连接词”的列表。在具体实施方式中,如果不能找出有关诸如“该”等字符串的置信匹配,引导过程214可就对应于节点候选项的N元语法或者字符串是否可分裂做出确定。在具体实施方式中,如果确定N元语法或者字符串可分裂(例如,引导过程214识别字符串中的连接词),引导过程214可将N元语法或者字符串分裂成一个或多个节点候选项。对于这些分裂节点候选项中的每个(例如,“约翰尼.德普的全部电影”和“爱德华.诺顿的全部电影”),可如之前一样继续执行引导过程214。
[0087]在具体实施方式中,引导过程214可使用“常见词语”中的第二列表来确定节点候选项是否可分裂,或者更具体地,是否可化简。作为实施例但并不作为实施例,在上述实施例中,读作“…的全部电影”的字符串的该部分可被识别为常见词语并且被移除,从而产生简单的“约翰尼.德普”和“爱德华.诺顿”等独立节点候选项。
[0088]在具体实施方式中,推荐生成过程218可确定有关请求或者当前查看具体资料页面(“请求页面”)的特定用户(“请求用户”)的推荐资料页面,并且可进一步致使在资料页面的推荐部分(诸如,图5A中所示的推荐部分510)中显示或者列出推荐资料页面的引用。在具体实施方式中,推荐生成过程218可基于从社交图谱数据库206中提取的信息确定推荐资料页面,其中包括优选下列中的一项或者多项的信息:请求用户、请求资料页面、其用户节点302可能也或者可能也不以相应矢线连接至请求资料页面的节点的用户的朋友、具有也连接至请求资料页面节点的相应节点的其他资料页面、其他合适的社交网络数据、或者其任意组合。作为实施例但并不作为限制,推荐部分510中显示的推荐资料页面可包括为“喜欢”、“朋友”、或者以其他方式连接(通过社交图谱数据库206中的矢线)至(由社交图谱数据库206中的矢线限定的)请求用户的朋友的资料页面,具体地,(通过社交图谱数据库206中的矢线)也连接至请求资料页面的朋友。作为另一实施例但并不作为限制,推荐部分510中显示的推荐资料页面可包括也“喜欢”或者以其他方式连接(通过社交图谱数据库206中的矢线)至用户(具体地,(由社交图谱数据库206中的矢线限定的)请求用户的朋友)、但其不一定必须与请求资料页面(通过社交图谱数据库206中的矢线)连接的资料页面。作为又一实施例但并不作为实施例,推荐部分510中显示的推荐资料页面可包括(通过社交图谱数据库206中的矢线)连接至请求资料页面以及(由社交图谱数据库206中的矢线限定的)请求用户的一个或多个朋友的资料页面。作为又一实施例但并不作为限制,推荐部分510中显示的推荐资料页面可包括(通过社交图谱数据库206中的矢线)连接至请求资料页面、但不一定必须与(由社交图谱数据库206中的矢线限定的)请求用户的朋友连接的资料页面。通常,用于将推荐资料页面显示给当前查看或者请求具体资料页面的请求用户的一个目标或者动机是为用户提供用户在查看或者与其交互时感兴趣的推荐资料页面,而且,便于从当前查看的资料页面导航至该推荐资料页面,并且在具体实施方式中,便于创建连接对应于用户的用户节点302至对应于用户表示或者表明感兴趣的推荐资料页面的节点的矢线306。
[0089]在具体实施方式中,该方法可在社交网络系统20从特定用户(请求用户)接收对特定资料页面(请求资料页面)的请求时开始。在具体实施方式中,社交网络系统20(具体地,页面生成过程200)响应该请求可生成用于在请求用户的客户端设备30处渲染资料页面的结构化文档并且将包括结构化文档的初始响应发送至请求用户的客户端设备30。发送给请求用户的结构化文档可以是包括标记语言代码以及各个代码片段、脚本、资源、或者用于将请求资料页面发送至客户端以由客户端网络浏览器202进行渲染的其他信息或者内容的基本结构化文档。在具体实施方式中,基本结构化文档可包括用于渲染请求资料页面的一个或多个部分的代码,其中包括用于显示推荐部分510的各部分的代码,但基本结构化文档不可包括其自身为资料页面名称或者其他标识符512和图像514形式的推荐资料页面;S卩,在一种实施方式中,社交网络系统20可在通过推荐生成过程218确定推荐资料页面之前的初始响应中发送结构化文档。同样,当推荐生成过程218完成其对推荐资料页面的确定时,客户端网络浏览器202可开始渲染结构化文档并且下载用于渲染请求资料页面的资源。
[0090]在具体实施方式中,在生成基本结构化文档或者发送初始响应的同时或者之后,推荐生成过程218可生成推荐资料页面,然后,在一个或多个随后响应中将推荐资料页面发送至请求用户的客户端设备30以用于客户端网络浏览器202进行渲染。在具体实施方式中,在社交网络系统20接收对资料页面的请求之后,社交网络系统20中执行的页面生成过程200或者其他过程可向推荐生成过程218发送指令或者查询,以请求用于在推荐部分510中显示的一个或多个推荐资料页面。在具体实施方式中,指令或者查询可包括诸如用户(例如,识别请求用户的用户节点302的用户ID)的标识符和请求资料页面(例如,识别请求资料页面的用户节点302或者概念节点304)的标识符等信息。
[0091]在具体实施方式中,推荐生成过程218响应该指令或者查询则可确定或者识别包括资料页面的数据集,资料页面中的每个均(经由社交图谱数据库206中的矢线306)与一个或多个用户或者概念连接,反之,该一个或多个用户或者概念中的每个均与请求用户(例如,请求用户的朋友、请求用户喜欢的概念)连接并且还与请求资料页面(例如,也喜欢请求资料页面的用户、请求用户的朋友喜欢的概念)连接。在具体实施方式中,在确定第一数据集的同时或者之后,推荐生成过程218可确定包括每个均(经由社交图谱数据库206中的矢线306)与请求资料页面连接并且还与一个或多个用户或者概念连接的资料页面的第二数据集,反之,该一个或多个用户或者概念(经由社交图谱数据库206中的矢线306)连接至请求用户(例如,请求用户的朋友)。通常,第一数据集和第二数据集可包括相同资料页面中的一个或多个。
[0092]在具体实施方式中,社交图谱数据库206可包括通过使社交图谱数据库206中的数据加索引而生成的一个或多个可查询(可搜索)索引(可替代地,在另一实施方式中,索引可存储在社交图谱数据库206外部的一个或多个数据存储或者数据库中)。在具体实施方式中,索引过程220可周期性地(例如,每小时、每天、每周)生成或者更新索引。此外或者可替代地,响应在社交图谱数据库206中创建新的节点或者新的矢线以及响应其他动作(例如,响应用户与资料页面之间的交互或者响应对用户资料页面或者中枢的编辑),可动态更新索引。在具体实施方式中,索引过程220可生成多个索引以便于确定。作为实施例但并不作为限制,索引过程220可生成并且保持所有注册用户的索引,该索引通过用户ID(例如,社交图谱数据库206中的用户和相应用户节点302的标识符)而加索引并且每个用户ID均包括通过其相应用户ID而识别的其他用户集,其相应用户ID的相应用户节点302连接至对应于索引中具体用户ID的用户节点302。作为另一实施例但并不作为限制,索引过程220可生成并且保持所有注册用户的另一索引,再次,该另一索引通过用户ID而加索引但是每个用户ID均包括通过其相应资料页面ID(例如,社交图谱数据库206中的资料页面和相应概念节点304的标识符)而识别的中枢或者相应概念节点304的集合,其相应资料页面ID连接至对应于索引中具体用户ID的用户节点302。作为又一实施例但并不作为限制,索引过程220可生成并且保持通过资料页面ID而加索引的所有资料页面的另一索引,并且每个资料页面ID均包括通过连接至对应于索引中具体资料页面ID的概念节点304的资料页面ID而识别的其他资料页面和相应概念节点304的集合。作为又一实施例但并不作为限制,索引过程220可生成并且保持通过资料页面ID而加索引的所有资料页面的另一索引,并且每个资料页面ID均包括通过连接至对应于索引中具体资料页面ID的概念节点304的用户ID而识别的用户和相应用户节点302的集合。
[0093]在具体实施方式中,推荐生成过程218通过查询由索引过程220生成的索引可分别确定第一数据集和第二数据集。这可包括基于搜索一个或多个索引查询索引过程220自身或者被配置为接收查询并且返回结果的一些其他过程。作为实施例但并不作为限制,在第一嵌套查询的第一部分和步骤中,推荐生成过程218通过将第一嵌套查询发送至索引过程220可确定第一数据集,第一嵌套查询命令索引过程220识别对应于与请求用户连接的用户(例如,朋友)的所有用户ID。在嵌套查询的第二部分中,可以命令索引过程220识别在第一部分中识别的哪些用户ID对应于也与请求资料页面连接的用户。在第一嵌套查询的第三部分中,可以命令索引过程220使对应于与查询第二部分中识别的用户ID连接的资料页面的资料页面ID(但是,在具体实施方式中,不包括对应于已经连接至请求用户的资料页面的资料页面ID)以及自身与各个资料页面ID匹配的用户ID返回至推荐生成过程218。同样,推荐生成过程218通过将第二嵌套查询发送至索引过程220可确定第二数据集,第二嵌套查询命令索引过程确定对应于与请求资料页面链接的资料页面的所有资料页面ID,然后,使对应于也与请求用户链接的一个或多个用户链接的识别资料页面中的一些的资料页面ID(但是,在具体实施方式中,不包括对应于已经连接至请求用户的资料页面的资料页面ID)以及自身与各个资料页面ID匹配的用户ID返回至推荐生成过程218。
[0094]在具体实施方式中,通过资料页面类别(例如,用户、团体、关联性、电影、音乐、活动、运动等)可加索引于、布置、或者以其他方式搜索通过索引过程220生成的资料页面索弓丨。在具体实施方式中,第一数据集和第二数据集中返回的资料页面仅可包括与请求资料页面共享同一类别的资料页面。然而,在具体实施方式中,不同类别的资料页面可包括在返回数据集中。
[0095]在具体实施方式中,第一数据集和第二数据集中的每个均可包括(例如,通过资料页面ID识别的)资料页面的列表或者索引以及各个资料页面中与相应资料页面连接的(例如,通过用户ID识别的)用户和/或(例如,通过概念ID识别的)概念的集合。推荐生成过程218则可生成在第一数据集和第二数据集中识别的各个资料页面的得分并且随后基于其相应得分将资料页面分级,以生成为推荐资料页面候选项(以下也称之为“候选页面”)的分级资料页面的单一组合或者关联列表。在具体是始发站中,推荐生成过程218可至少部分基于利用第一数据集或者第二数据集中的相应资料页面返回的用户(即,请求用户的朋友)或者概念(即,请求用户或者其朋友喜欢的概念)的数目为第一数据集和第二数据集中的每个的各个资料页面打分。
[0096]在具体实施方式中,推荐生成过程218可为第一数据集和第二数据集中的每个的资料页面打分并且然后组合所生成的得分。作为实施例但并不作为限制,如果第一集合中的资料页面与请求用户的五个朋友连接,则通过推荐生成过程218可为该资料页面分配得分或者权重五。同样,如果第二集合中的资料页面与请求用户的四个朋友连接,则通过推荐生成过程218可为该资料页面分配得分或者权重四。在具体实施方式中,推荐生成过程则可生成包括第一数据集和第二数据集中每个的所有资料页面的组合数据集并且基于第一数据集和第二数据集中的每个将得分结果组合或者相关联以生成组合数据集中各个资料页面的单一关联得分。在为资料页面的相关联分级列表中的资料页面分级时可以使用相应候选页面的单一关联得分。在具体实施方式中,通过推荐生成过程218分配给第一数据集和第二数据集中的资料页面的权重自身加权相等。作为实施例但并不作为限制,第一数据集中具有权重五的资料页面在单一关联分级列表中可被分配得分五。同样,第二数据集中具有权重四的资料页面在单一关联分级列表中可被分配得分四。此外,因为第一数据集和第二数据集可共享共用资料页面,所以如果在第一数据集和第二数据集中返回的资料页面被分配基于第一数据集的权重六并且被分配基于第二数据集的权重三,则推荐生成过程218可对各个权重求和并且在单一关联分级列表中分配资料页面得分九(6+3 = 9)。然而,因为在第一数据集和第二数据集中可以共享用于生成权重的朋友,所以推荐生成过程218出于此可减少组合得分。作为实施例但并不作为限制,继续上述实施例,假设两个数据集中找出的资料页面在每个数据集中也共享两个朋友,则该资料页面的生成关联得分可被计算为七(6+3-2 = 7)。然而,在具体实施方式中,推荐生成过程218可首先组合第一数据集和第二数据集以生成一个组合数据集,然后,为所生成的组合数据集中的每个资料页面打分。同样,如果需要,在生成资料页面得分之前,可以将在数据集之间共享的资料页面及相关联用户计算在内。
[0097]在具体实施方式中,推荐生成过程218基于除与相应资料页面链接的请求用户的朋友的简单数目之外的因素可确定组合数据集中每个资料页面的得分。作为实施例但并不作为限制,推荐生成过程218可查询一个或多个其他数据集的索引过程220。作为实施例但并不作为限制,推荐生成过程218可确定包括与请求资料页面连接的所有资料页面或者与请求资料页面连接但不连接至请求用户的任一朋友的所有资料页面的第三数据集。作为另一实施例但并不作为限制,推荐生成过程218可确定包括与请求用户的朋友连接的所有资料页面或者与请求用户的朋友连接但不连接至请求资料页面的所有资料页面的第四数据集。在扩充第一数据集和第二数据集中的数据时或者提供利用其对第一数据集和第二数据集中的资料页面打分的额外标准时(例如,指示各个资料页面的整体受欢迎度的全局过滤器)可以使用第三数据集或者第四数据集。而且,在其中不存在与请求资料页面链接的用户的任意朋友或者其中与请求资料页面链接的任意资料页面均不链接至请求用户的任意朋友的情况下,第三数据集和第四数据集尤其有用。
[0098] 在具体实施方式中,推荐生成过程218对第三数据集或者第四数据集中的资料页面的加权不同于第一数据集和第二数据集中的资料页面的加权。作为实施例但并不作为限制,根据与相应资料页面的用户节点302或者概念节点304连接的用户节点302的总数目对第三数据集或者第四数据集中的每个资料页面加权。然而,当将第一数据集、第二数据集、 第三数据集、以及第四数据集组合并且计算组合数据集中的每个资料页面的关联得分时, 与第三数据集和第四数据集中的每个资料页面链接的全部用户的数目在单一关联得分中占据较小的比例。作为实施例但并不作为限制,如果在第一数据集、第二数据集、第三数据集、以及第四数据集中的每个中找出“资料页面A”并且“资料页面A”与第一数据集中的5个用户、第二数据集中的4个非共享用户、第三数据集中的50个用户、以及第四数据集中的75 个用户相关联,则推荐生成过程可将该资料页面的关联得分计算为5a+4b+50c+75d,其中, a、b、c、以及d是相应用户数目相乘的权重。作为实施例但并不作为限制,在一种实施方式中,a = 1、b = 1、c = 0.01、并且d = 0.01,因此,资料页面A的关联得分为5+4+0.5+0.75 = 10.25〇
[0099] 在具体实施方式中,通过针对组合数据集中的每个资料页面求和或者以其他方式组合反之生成组合数据集中每个资料页面和与相应资料页面连接的每个用户的一系列系数得分,推荐生成过程218可确定第一数据集和第二数据集中每个资料页面的单一关联得分(在一些实施方式中,第三数据集和第四数据集中、但也不在第一数据集或者第二数据集的一个或多个中的资料页面不得分)。在具体实施方式中,这种意义上的系数得分称为(由矢线306限定或者表示的)连接或者多个连接的强度。可以基于各种因素通过推荐生成过程 218生成特定资料页面及相关联用户的系数得分,诸如,用户与资料页面的关系;用户与请求用户(例如,朋友、亲戚、配偶等)的关系;资料页面与用户之间的交互等级或者频率(例如,用户查看资料页面的次数或者用户在一段时间内向资料页面中添加多少内容);用户与请求用户之间的交互等级或者频率(例如,用户在一段时间内查看另一个的资料页面的次数或者用户发表评论、墙(馈送)、帖子、发送消息、或者以其他方式与另一个的资料页面交互的次数);连接至资料页面和用户、或者连接至用户和请求用户、或者连接至资料页面和请求资料页面、或者连接至资料页面和请求用户的用户节点302、概念节点304、或者总节点的数目;资料页面与请求资料页面之间共享内容的数量或者质量;其他合适的因素;或者其任意组合。作为实施例但并不作为显示,确定组合数据集中每个资料页面的单一关联得分可包括:推荐生成过程218生成组合数据集中的每个资料野蛮与连接至请求资料页面的请求用户的每个朋友之间的一个或多个系数得分;生成组合数据集中的每个资料页面与请求用户之间的一个或多个系数得分;生成组合数据集中的每个资料页面与请求资料页面之间的一个或多个系数得分;或者生成请求用户和与组合数据集中的资料页面连接的每个用户之间的一个或多个系数得分。确定组合数据集中每个资料页面的单一关联得分可额外地包括求和或者以其他方式组合每个系数得分,以生成每个资料页面的单一关联得分。
[0100] 在具体实施方式中,为了计算组合数据集中每个资料页面的系数得分以及随后的单一关联得分,通过推荐生成过程(或者直接从索引过程220)可首先将第一数据集和第二数据集(并且在第三实施方式中,以及第三数据集和第四数据集)中返回的数据结果发送至数据挖掘系统,诸如,HIVE(建立在HAD00P顶部上的数据仓库基础设施),其中,HAD00P则运行或者执行一系列MapReduce工作或者处理数据,以生成推荐生成过程218使用的系数得分并且生成每个资料页面的单一关联得分。
[0101] 在具体实施方式中,推荐生成过程218通过其相应的关联得分将资料页面分级并且生成资料页面的分级列表(例如,资料页面ID的分级列表),且资料页面具有代表最为相关资料页面的最高关联得分。在具体实施方式中,推荐生成过程218则可选择具有最高关联得分的前x个(例如,图5A中所示的实施例中,四个)作为在推荐部分510中显示的推荐资料页面。
[0102] 在具体实施方式中,推荐生成过程218则可将推荐资料页面的资料页面ID通信至页面生成过程200或者其他过程,然后,页面生成过程200或者其他过程生成包括例如HTML 代码或者其他标记语言代码、以及(在一些实施方式中)各种其他代码片段或者资源,例如, 包括在渲染推荐资料页面名称512时使用的图像资源或者推荐部分510中的图像514,并且在一些实施方式中,页面生成过程200或者其他过程还生成在点击或者以其他方式选择推荐的资料页面名称文本字段512或者资料页面图像514时用于实现将用户导向至推荐资料页面的超链接的代码片段。然后,在随后响应客户端网络浏览器202进行的渲染时,可以将代码和资源发送至用户的客户端设备30。在具体实施方式中,因为在初始响应中可能已经发送用于渲染请求资料页面的基本结构化文档,所以使用AJAX或者其他异步技术发送随后响应。在具体实施方式中,社交网络系统20可等待推荐生成过程218提供推荐资料页面的资料页面ID,资料页面ID包括用于显示推荐资料页面名称512或者资料页面图像514的代码或者资源以及在将结构化文档发送至请求用户之前用于在客户端设备30处渲染资料页面的结构化文档其余部分。
[0103] 在具体实施方式中,也一起发送将用于渲染的随后响应与用于渲染与推荐资料页面和请求用户中的每个连接的选择子集用户或者节点的节点名称(例如,文本)516或者节点图像518(例如,用户资料图片、替身、或者概念资料图片)的代码并且在推荐部分510中显示相应推荐资料页面的下一页。此外或者可替代地,发送的随后响应可包括用于限制接近于读作例如“您的n个朋友也喜欢这个”的相应推荐资料页面的各个推荐资料页面的文本字符串的代码,其中,n是连接至相应推荐资料页面或者“也喜欢这个的这些朋友”的请求用户朋友的数目,其中,“这些朋友”以相应推荐资料页面下一页或者“您n个也喜欢这个的朋友包括:”中显示的节点名称516或者节点图像518表示。
[0104] 在具体实施方式中,资料页面的墙(或者新闻馈送/活动馈送)部分501a、或者其他馈送或者活动部分可显示与正在查看资料页面的用户和用户朋友相关联的评论、状态更新、壁纸、或者其他用户活动。资料页面的墙(或者新闻馈送/活动馈送)部分50 la或者其他馈送或者活动部分还可显示与创建其资料页面的概念以及(在一些实施方式中)与确定为当前请求或者查看资料页面的推荐资料页面相关联的用户/概念有关的评论、状态更新、壁纸、或者其他用户活动、以及用户生成内容。推荐生成过程218可对与通过用户或者概念过滤的请求用户或者请求用户的朋友相关联的评论、状态更新、壁纸、以及其他用户生成内容和用户活动执行搜索;即,在与请求用户和请求用户的朋友有关的用户馈送或者活动的这些流中对与当前请求或者查看资料页面的用户或者概念有关的关键词的关键词搜索(以及与推荐资料页面相关联的用户或者概念有关的潜在关键词),并且在当前请求或者查看资料页面的墙或者馈送部分中显示用户内容或者获得的子集。[〇1〇5]结构化搜索查询
[0106] 在具体实施方式中,在线社交网络中的用户通过将描述该主题的短语提供给搜索引擎可搜索与具体主题(例如,用户、概念、外部内容或者资源)有关的信息(通常被称之为 “搜索查询”)。搜索引擎可基于查询短语使用各种搜索算法执行搜索并且生成识别最为可能与搜索查询有关的资源或者内容(例如,用户资料页面、被容资料页面、或者外部资源)的搜索结果。为了执行搜索,用户可将搜索查询输入或者发送至搜索引擎。因此,搜索引擎可识别可能与搜索查询有关的一种或者多种资源,其可被称之为针对搜索查询识别的“搜索结果”。通常,以搜索结果网页中链接的列表形式将搜索结果呈现给用户,每个链接均与包含一些识别资源或者内容的不同网页相关联。在具体实施方式中,搜索结果中的每个链接均可以是指定对应网页所处位置以及对其进行检索的机制的统一资源定位符(URL)形式。 然后,用户能够点击URL链接以在其需要时查看对应网页中所包含的具体资源或者内容。可对资源进行分级并且根据其与搜索查询的相关性的相对程度将其呈现给用户。还可对搜索结果进行分级并且根据其与用户的相关性的相对程度将其呈现给用户。换言之,例如,基于社交图谱信息、用户信息、用户的搜索或者浏览历史、或者与用户有关的其他合适信息,可以使对查询用户的搜索结果个性化。在具体实施方式中,通过将通过搜索引擎实现的算法分级可以确定资源分级。作为实施例但并不作为限制,与搜索查询或者用户相对更为相关的资源可比与搜索查询或者用户相对较不相关的资源分级更高。在具体实施方式中,搜索引擎可能限制其对在线社交网络中的资源和内容的搜索。然而,在具体实施方式中,搜索引擎还可搜索其他来源上的资源或者内容,诸如,网络应用服务器40、企业服务器50、因特网或者万维网、或者其他合适的来源。
[0107] 在具体实施方式中,可以将此处所描述的预键入过程应用于由用户输入的搜索查询。作为实施例但并不作为限制,当用户将文本字符输入到搜索字段450中时,前端预键入过程204和/或后端预键入过程208在用户输入字符时可尝试识别与字符输入搜索字段450 的字符串匹配的现有用户节点302、概念节点304、或者矢线306。当后端预键入过程208接收包括文本查询中的字符串或者N元语法的请求或者调用时,后端过程208可执行或者致使执行搜索以识别具有与输入文本匹配的相应名称、类型、类别、或者其他标识符的现有社交图谱元素(即,用户节点302、概念节点304、矢线306)。后端预键入过程208可使用一种或者多种匹配算法以尝试识别匹配节点或者矢线。例如,当找出一个或多个匹配时,后端预键入过程208可将包括匹配节点的名称(名称字符串)以及潜在地与匹配节点相关联的其他元数据的响应发送至用户的客户端设备30。然后,前端预键入过程204可显示下拉菜单(诸如,图6A至图6R中所示的下拉菜单600),下拉菜单显示匹配的现有资料页面和相应用户节点302或者概念节点304的名称,并且显示可连接至匹配用户节点302或者概念节点304的匹配矢线 306的名称,用户则可惦记或者以其他方式选择呢这些名称,从而确认希望搜索对应于所选节点的匹配用户或者概念名称,或者搜索通过匹配矢线连接至匹配用户或者概念的用户或者概念。可替代地,前端预键入过程204可使用分级的最佳匹配的名称或者其他标识符简单地自动填充表格而非现实下拉菜单。然后,用户仅通过其键盘上的按键“回车”或者通过点击自动填充公告可确认自动填充公告。一旦用户确认匹配节点和矢线,前端预键入过程204 可将通知后端预键入过程的用户对包含匹配社交图谱元素的查询的确认请求发送至后端预键入过程208。后端预键入过程响应发送的请求可根据需要自动(或者可替代地,基于请求命令)调用或者以其他方式命令社交网络系统20搜索社交图谱数据库206以获得匹配的社交图谱元素或者获得连接至匹配社交图谱元素的社交图谱元素。尽管本公开描述了以具体方式将预键入过程应用于搜索查询,然而,本公开设定了以任意合适的方式将预键入过程应用于搜索查询。[〇1〇8]图6A至图6R示出了社交网络的示例性查询。在具体实施方式中,社交网络系统20 响应从第一用户(即,查询用户)接收的文本查询可生成包括一个或多个识别的社交图谱元素的引用的一个或多个结构化查询。图6A至图6R示出了查询字段600中的各种示例性文本查询和下拉菜单600中响应生成的各种结构化查询。通过响应用户文本查询提供建议结构化查询,社交网络系统20可基于其社交图谱属性及其与各种社交图谱元素的关系为在线社交网络的用户提供搜索社交图谱300中所表示的元素的一种强有力的方式。结构化查询可允许查询用户搜索通过特定矢线类型连接至社交图谱300中的特定用户或者概念的内容。 作为实施例但并不作为限制,社交网络系统20可从第一用户接收大致非结构化文本查询。 因此,社交网络系统20(例如,经由服务器端元素检测过程)可访问社交图谱300并且然后解析文本查询以从文本查询中识别对应于N元语法的社交图谱元素。社交网络系统20通过确定每个N元语法对应于特定社交图谱元素的概率可识别这些对应的社交图谱元素。在由社交网络系统20生成的一个或多个结构化查询中可以识别并且然后引用具有大于阈值概率的概率的社交图谱元素。然后,可以将结构化查询发送至第一用户并且显示在下拉菜单100 中(例如,经由客户端预键入过程)显示结构化查询,其中,第一用户可选择适当的查询以搜索所需内容。在第一用户选择特定结构化查询之后,社交网络系统20可处理该查询以识别对应于该查询的目标节点。然后,基于与节点(例如,经由服务器端隐私过滤过程)相关联的隐私设置可以过滤这些目标节点,并且将过滤结果作为搜索结果发送至第一用户。使用此处所描述的结构化查询的一些优点包括基于有限信息找出在线社交网络中的用户;基于内容与各种社交图谱元素的关系将在线社交网络中内容的虚拟索引集结在一起;或者找出与您和/或您的朋友有关的内容。尽管本公开描述了并且图6A至图6E示出了以特定方式生成特定结构化查询,然而,本公开设定了以任意合适方式生成任意合适的结构化查询。
[0109] 元素检测
[0110] 在具体实施方式中,社交网络系统20可从查询/第一用户(对应于第一用户节点 302)接收大致非结构化文本查询。作为实施例但并不作为限制,第一用户可能希望搜索下列其他用户:(1)第一用户的第一重要程度的朋友;(2)“喜欢”公司FACEB00K(S卩,通过矢线 306连接至对应于公司FACEB00K INC的概念节点304的用户节点302);以及(3)比特定年龄更小。如图6C至图61所示,第一用户可将文本查询“喜欢facebook并且比其年轻的朋友”输入到搜索字段450中。作为实施例但并不作为限制,第一用户可能希望搜索下列其他用户: (1) “喜欢”位置“老行家”;(2) “喜欢”公司“Acme” ;以及⑶生活在帕洛阿尔托城市。如图6K 至图60所示,第一用户可将文本查询“喜欢老行家和帕洛阿尔托市的acme的人”输入到搜索字段450中。如下拉菜单600所示,在上述所述两种实施例中,当第一用户将该文本查询输入到搜索字段450中时,社交网络系统20可提供各种建议的结构化查询。如此处使用的,大致非结构化文本查询指由用户输入的简单文本字符串。当然,可以利用标准语言/语法规则使文本查询结构化。然而,通常利用社交图谱元素使文本查询非结构化。换言之,简单文本查询并不通常包括特定社交图谱元素的嵌入式引用。因此,如此处使用的,结构化查询指包含特定社交图谱元素的引用的查询,从而允许搜索引擎基于识别元素进行搜索。尽管本公开描述了以特定方式接收特定查询,然而,本公开设定了以任意合适的方式接收任意合适的查询。
[0111]在具体实施方式中,社交网络系统20可对从第一用户(S卩,查询用户)接收的大致非结构化文本查询(也被简称为“搜索查询”)进行解析以识别一个或多个N元语法。总之,N 元语法是给定序列的文本或者讲话中的n项的连续序列。这些项可以是该序列文本或者讲话中的字符、音素、音节、字母、单词、基础对、前缀、或者其他可识别的项。N元语法可包括由查询用户输入的文本的一个或多个字符(字母、数字、标点等)。大小为一的N元语法可被称之为“一元语法”,大小为二的N元语法可被称之为“二元语法”或者“双元语法”,大小为三的 N元语法可被称之为“三元语法”等。每个N元语法均可包括从查询用户接收的文本查询中的一个或多个部分。在具体实施方式中,每个N元语法均可包括由第一用户输入的字符串(例如,文本的一个或多个字符)。作为实施例但并不作为限制,社交网络系统20可对文本查询 “帕洛阿尔托中的朋友”进行分析以识别下拉N元语法:朋友;在…中;帕洛;阿尔托;在…的朋友;在帕洛;帕洛阿尔托;在帕洛的朋友;也在在帕洛;在帕洛阿尔托的朋友。在具体实施方式中,每个N元语法均可包括文本查询中n项的连续序列。作为实施例但并不作为限制,社交网络系统20可对文本查询“喜欢facebook的朋友”进行解析(如图6F所示)以识别下列N元语法:朋友;谁;喜欢;facebook;…的朋友;喜欢…的;喜欢facebook;喜欢…的朋友;喜欢 facebook的…。尽管本公开描述了以特定方式解析特定查询,然而,本公开设定了以任意合适的方式解析任意合适的查询。[〇112]在具体实施方式中,社交网络系统20可对每项文本查询进行解析并且提取预定为对应于特定社交图谱元素的一个或多个N元语法。应注意,并不是搜索查询中的每个单词局部可代表预定元素。特定实施方式可忽略并不代表任意预定查询元素的N元语法。作为实施例但并不作为限制,如图6F所示,社交网络系统20可接收包含“喜欢facebook的朋友“的搜索查询。一元语法“朋友”可被预定为对应于社交图谱300中将查询用户连接至其第一重要程度的朋友(即,与对应于查询用户的用户节点302为一隔离度内的其他用户节点302)的任意“朋友”矢线306。同样,N元语法“喜欢”可被预定为对应于社交图谱300中连接至概念节点 304的任意“喜欢”矢线306。最后,N元语法“facebook”可被预定为对应于公司FACEBOOK INC 的概念节点304。作为另一实施例但并不作为限制,如果社交网络系统20接收包含“Yeites Ziltzer医生”的搜索查询,则可能不存在有关标题或者位置的预定元素。因此,一元语法 “医生”不可代表任意社交图谱元素(尽管其可代表特定社交图谱元素的属性或者性质并且基于此可进行搜索)。另一方面,可以存在有关人的姓名的预定元素。因此,N元语法“Yeites Ziltzer”可代表对应于用户名称Yeites Ziltzer的特定用户节点302的查询元素。可以将不能代表任意预定元素的N元语法标记为代表空元素或者以其他方式标记为不对应于特定的社交图谱元素。尽管本公开描述了以特定方式解析特定搜索查询,然而,本公开设定了以任意合适的方式解析任意合适的搜索查询。
[0113] 在具体实施方式中,社交网络系统20可确定或者计算文本查询中所识别的每个N 元语法的得分,即,N元语法对应于社交图谱元素的得分。例如,得分可以是置信得分、概率、 质量、分级、另一合适类型的得分、或者其任意组合。作为实施例但并不作为限制,社交网络系统20可确定N元语法对应于诸如社交图谱300中的用户节点302、概念节点304、或者矢线 306等社交图谱元素的概率得分(也被简称为“概率”)。概率得分可表示N元语法与特定社交图谱元素之间的相似性或者相关性等级。存在计算概率的多种不同方式。本公开设定了计算搜索查询中所识别的N元语法的概率得分的任意合适方法。在具体实施方式中,社交网络系统20可确定N元语法对应于特定社交图谱元素的概率p。给定特定搜索查询X,可以将概率 P计算为对应于特定社交图谱元素k的概率。换言之,可以计算概率为p= (k | X)。作为实施例但并不作为限制,可以将N元语法对应于社交图谱元素的概率计算为以p^k表示的概率得分。输入可以是文本查询X=(X1,x2,...,xn)和一组分类。对于每个(1: j)和分类k,社交网络系统20可计算口^1< = ?(〇1388^:」)=1^)。在具体实施方式中,社交网络系统20可基于语言模型确定特定N元语法对应于社交图谱元素的概率。可以使用任意合适的概率语言模块来确定特定N元语法对应于特定社交图谱元素的概率。作为实施例但并不作为限制,社交网络系统20可使用N元模型、分段马尔科夫模型(segmental Markov model)、语法模型、另一合适的概率语言模型、或者其任意组合。在具体实施方式中,社交网络系统20可使用向前-向后算法来确定特定N元语法对应于特定社交图谱元素的概率。对于文本查询中给定的N元语法,社交网络系统20可使用之前和后继的N元语法来确定哪些特定的社交图谱元素对应于给定的N元语法。在具体实施方式中,社交网络系统20可基于广告赞助确定特定N元语法对应于社交图谱元素的概率。广告商(诸如,对应于特定节点的特定资料页面的用户或者管理员)可发起特定节点,以使得在确定该节点是否对应于特定N元语法时给予该节点较高的概率,或者甚至可将该节点识别为对应于特定的N元语法,而无需高磊确定概率。作为实施例但并不作为限制,N元语法“智能手机”可对应于“iPhone”(其是智能电话的一种类型)的概念节点304并且还可对应于“安卓(Android)”(其是智能电话的另一种类型)的概念节点。 如果广告商发起这些概念节点304中的一个,则社交网络系统20可确定对应于“智能手机” N 元语法的N元语法具有更高的概率。尽管本公开描述了以特定方式确定N元语法是否对应于社交图谱元素,然而,本公开设定了以任意合适的方式确定N元语法是否对应于社交图谱元素。而且,尽管本公开描述了使用特定的打分类型确定N元语法是否对应于社交图谱元素, 然而,本公开设定了以任意合适的打分类型确定N元语法是否对应于社交图谱元素。
[0114] 在具体实施方式中,社交网络系统20基于社交图谱信息可确定特定N元语法对应于社交图谱元素的概率。作为实施例但并不作为限制,当确定N元语法对应于特定社交图谱元素的概率为P时,社交图谱信息概率的计算也是一种因素。因此,给定特定搜索查询X和社交图谱信息G,可以将对应于特定社交图谱元素k的概率计算为p = (k | X,G)。在具体实施方式中,N元语法对应于特定节点的概率可以基于第一用户节点3 0 2与特定节点之间的隔离度。特定N元语法可具有对应于社交图谱元素的更高概率,S卩,在社交图谱300中比距用户较远(即,更大的隔离度)的社交图谱元素更接近于查询用户(即,该元素与第一用户节点302 之间的隔离度更小)。作为实施例但并不作为限制,参考图3,如果用户“B”输入文本查询“鸡肉”,则其对应于食谱“鸡肉芝士 “的概念节点304(通过矢线306连接至用户“B”)的计算概率比该N元语法对应于与N元语法鸡肉相关联的在社交图谱300中不连接至用户“B”的其他节点(例如,对应于“鸡块”或者“小鸡跳舞”的概念节点304)的计算概率更高。在具体实施方式中,社交网络系统20仅可确定特定N元语法对应于与对应于第一用户(S卩,查询用户)的用户节点302位于阈值隔离度内的节点的概率。因此,在阈值隔离度之外的节点可被分配对应于 N元语法为零或者空概率。可替代地,当解析查询时,社交网络系统20仅可访问阈值隔离度以内的节点并且仅可确定这些节点的概率。例如,阈值隔离度可以为一、二、三、或者全部。 在具体实施方式中,N元语法对应于特定节点的概率可以基于连接至特定节点的识别矢线 306。如果社交网络系统20已经识别对应于接收的文本查询中的N元语法的一条或者多条矢线,则当确定特定节点是否对应于文本查询中的特定N元语法时可以考虑这些已识别的矢线。不连接至任意识别矢线的节点可被分配为对应于N元语法为零或者孔概率。作为实施例但并不作为限制,如果用户搜索“玩扑克的朋友”,则社交网络系统20可识别N元语法“玩”对应于社交图谱300中的“玩”矢线306并且然后搜索连接至一条或者多条“玩”矢线306的节点。继续该实施例,如图3所示,社交图谱300可包含对应于应用“在线扑克”的概念节点304, 在线社交网络中的用户可以在线玩应用“在线扑克”(由此形成“玩”矢线),并且应用“在线扑克”还可包含对应于在线社交网络中的用户(诸如,通过对应于书籍的概念资料页面上尽可能多的指示)“读取”或者“喜欢”的书籍“欢聚扑克”的概念节点304。当确定这些节点中的任一个对应于N元语法“扑克”的概率时,社交网络系统20可确定有关“在线扑克”的概念节点304具有对应于N元语法“扑克”的相对较高概率,因为其连接至“玩”矢线306,而有关“欢聚扑克”的概念节点304具有对应于N元语法“扑克”的相对较低概率,因为其不连接至任意 “玩”矢线306。在具体实施方式中,N元语法对应于特定节点的概率可以基于连接至特定节点的矢线306的数目。具有更多连接矢线306的节点可能更为受欢迎并且更有可能成为搜索查询的目标。作为实施例但并不作为限制,继续之前实施例,如果仅通过五条矢线连接有关 “在线扑克”的概念节点304,而通过五百条矢线连接有关“欢聚扑克”的概念节点304,则当确定N元语法“扑克”对应于这些节点中任一个的概率时,社交网络系统20可确定有关“欢聚扑克”的概念节点304具有对应于N元语法“扑克”的相对较高概率,因为更多矢线连接至概念节点304。在具体实施方式中,N元语法对应于特定节点的概率可以基于与第一用户(即, 查询用户)相关联的搜索历史。第一用户之前已经访问或者与第一用户之前已经访问的节点相关的节点更为可能成为第一用户搜索查询的目标。作为实施例但并不作为限制,继续之前实施例,如果第一用户之前已经访问“在线扑克”资料页面,但是未访问过“欢聚扑克” 资料页面,则当确定N元语法“扑克”对应于与这些页面对应的节点的概率时,社交网络系统 20可确定有关“在线扑克”的概念节点304具有对应于N元语法“扑克”的相对较高概率,因为查询用户之前已经访问概念节点304(并且事实上可能已经通过“查看”矢线306连接至该节点)。作为实施例但并不作为限制,如果第一用户之前已经访问有关“Facebook Culinary团队”的概念资料页面,则当确定N元语法“facebook”对应于特定社交图谱元素的概率时,社交网络系统20可确定对应于“Facebook Culinary团队”的概念节点304具有相对较高的概率,因为查询用户之前已经访问过概念节点304。尽管本公开描述了以特定方式确定N元语法是否对应于社交图谱元素,然而,本公开设定了以任意合适方式确定N元语法是否对应于社交图谱元素。
[0115] 在具体实施方式中,社交网络系统20基于社交图谱元素与查询用户(S卩,对应于第一用户节点302的第一用户)的相关性可确定特定N元语法对应于社交图谱元素的概率。用户节点302和通过矢线306直接连接至第一用户节点302的概念节点304可被视为与第一用户相关。作为实施例但并不作为限制,通过矢线306连接至第一用户节点302的概念节点304 可被视为与第一用户节点302相关。如此处使用的,当参考社交图谱300时,术语“连接”指社交图谱300中存在于两个节点之间的路径,其中,该路径可包括一条或者多条矢线306以及零或者多个中间节点。在具体实施方式中,经由一个或多个中间节点(及其两条或者多条矢线306)连接至第一用户节点302的节点也可被视为与第一用户相关。而且,在具体实施方式中,第二节点越接近于第一用户节点,第二节点则可被视为与第一用户节点越相关。即,隔离第一用户节点302与特定用户节点302或者概念节点304的矢线036越少(S卩,隔离度越小),用户节点302或者概念节点304可被视为与第一用户越相关。作为实施例但并不作为限制,如图3所示,对应于位置“老行家”的概念节点304连接至对应于用户“B”的用户节点302, 并且由此概念“老行家”可被视为与用户“B”相关。作为另一实施例但并不作为限制,对应于 “SP0TIFY”的概念节点304经由一个中介节点和两条矢线306(即,对应于用户“C”的中间用户节点302)连接至对应于用户“B”的用户节点302,并且由此概念“SPOTIFY”可被视为与用户“B”相关,但是,因为有关“SP0TIFY”的概念节点304相对于用户“B”为二度连接,所以特定概念节点304可被视为与通过单一矢线306连接至有关用户“B”的用户节点的概念节点304 较不相关,诸如,对应于电影“肖申克的救赎”的概念节点304。作为又一实施例但并不作为限制,有关“在线扑克”(即,多人在线游戏)的概念节点并不通过社交图谱300中的任一路径连接至有关用户“B”的用户节点,并且由此概念“在线扑克”不可被视为与用户“B”相关。在具体实施方式中,如果第二用户仅位于第一用户节点302的阈值隔离度内,则第二节点仅可被视为与第一用户相关。作为实施例但并不作为限制,如果阈值隔离度为三,则对应于用户 “D”的用户节点302可被视为与对应于食谱“鸡肉芝士”的概念节点304相关,S卩,在图3中所示的社交图谱300中位于彼此的三度以内。然而,继续该实施例,对应于应用“关于食谱的一切”的概念节点304将不被视为与对应于用户“D”的用户节点302相关,因为在社交图谱300 中这些节点间隔四度。尽管本公开描述了以特定方式确定特定节点是否彼此相关,然而,本公开设定了以任意合适的方式确定任意合适的节点是否彼此相关。而且,尽管本公开描述了确定用户节点302和概念节点304是否与第一用户节点302相关,然而,本公开同样设定了确定任意合适节点是否与任何其他特定节点相关。作为实施例但并不作为限制,可以使用社交图谱300确定哪些概念节点304与其他概念节点304相关。
[0116] 在具体实施方式中,当确定N元语法是否对应于特定社交图谱元素时,社交网络系统20可施加一种或者多种约束。作为实施例但并不作为限制,社交网络系统20仅可识别其中对应于用户节点302的用户姓名与文本查询精确匹配的用户节点302。总之,包含人的姓名的搜索查询通常与特定用户资料页面具有精确的匹配,因为该特定用户资料页面被视为包含该人的姓名(包括姓名变化之后,诸如,昵称、简称、爱称等)。这可以亲近度约束表示, 即,搜索查询中代表人姓名的N元语法在用户资料页面中定位成接近于彼此并且以其在搜索查询中出现的相同顺序出现,以使用户资料页面被视为包含人的姓名。因此,关于代表在线社交网络中的用户姓名的查询词“Colin Lee Baker”,图4A中所示的用户资料页面包含用户姓名,而与其他用户相关联的其他用户资料页面将不包含该用户姓名(假设不存在命名为Colin Lee Baker的其他用户或者概念)。其他用户资料页面可包含搜索查询的所有三个单词(例如,名称为Colin Lee的人,其工作为面包师),但是,这些单词不一定必须以其在搜索查询中出现的相同顺序出现。因此,包含相同单词的其他用户资料页面将不满足代表对用户节点302的查询的查询单词所需的亲近度约束。在这种情况下,搜索引擎仅可参考其中相应用户资料页面包括此顺序单词“Colin Lee Baker”的用户节点302。尽管本公开描述了在确定特定N元语法对应于特定社交图谱元素时施加特定约束,然而,本公开设定了在确定任意合适N元语法对应于任意合适的社交图谱元素时施加任何合适约束。
[0117] 在具体实施方式中,社交网络系统20可识别具有大于矢线阈值概率的概率的一条或者多条矢线306。每条识别矢线306均可对应于N元语法中的至少一个。作为实施例但并不作为限制,如果Pi, j,k>Pedge-threshold,N兀语法仅可被识别为对应于矢线k。而且,每条识别矢线306均可连接至所识别节点中的至少一个(下面所述)。换言之,社交网络系统20仅可识别连接至之前被识别为对应于特定N元语法的用户节点302或者概念节点304的矢线306或者矢线类型。不连接至任意之前识别节点的矢线306或者矢线类型通常不可能对应于搜索查询中的特定N元语法。通过过滤或者忽略这些矢线306和矢线类型,社交网络系统20可更为有效地搜索社交图谱以获得相关的社交图谱元素。作为实施例但并不作为限制,参考图3, 对于包含“去斯坦福”的文本查询,其中,所识别的概念节点304是学校“斯坦福”,社交网络系统20可识别对应于“在…工作”的矢线306和对应于“就读于”的矢线306,这两条矢线皆连接至有关“斯坦福”的概念节点304。因此,N元语法“去”可被识别为对应于这些矢线306。然而,对于相同的文本查询,社交网络系统20不可识别对应于社交图谱300中的“喜欢”或者 “喜爱“的矢线306,因为“斯坦福”节点并不具有与其连接的任一矢线。尽管本公开描述了以特定方式识别对应于N元语法的矢线306,然而,本公开还设定了以任意合适的方式识别对应于N元语法的矢线306。
[0118] 在具体实施方式中,社交网络系统20可识别具有大于节点阈值概率的概率的一个或多个用户节点30 2或者概念节点304。每个识别节点均可对应于N元语法中的至少一个。作为实施例但并不作为限制,如果?^,1^11。〇1(^1^。1〇1,则仅可将~元语法识别为对应于节点1^。 而且,每个识别用户节点302或者概念节点304均可连接至识别矢线306中的至少一条(上述所述)。换言之,社交网络系统20仅可识别连接至之前识别为对应于特定N元语法的矢线306 的节点或者节点类型。不连接至任意之前识别矢线306的节点或者节点类型通常不可能对应于搜索查询中的特定N元语法。通过过滤或者忽略这些节点和节点类型,社交网络系统20 可更为有效地搜索社交图谱以获得相关的社交图谱元素。作为实施例但并不作为限制,对于包含“在Apple工作”的文本查询,其中,所识别的矢线306为“在…工作”,社交网络系统20 可识别对应于公司APPLE, INC.的具有与其连接的“在…工作”的多条矢线306的概念节点 304。然而,对于相同的文本查询,社交网络系统20不可识别对应于水果类型“苹果”的具有与其连接的多条“喜欢”或者“喜爱”矢线、但不具有“在…工作”矢线连接的概念节点304。在具体实施方式中,节点阈值概率可不同于用户节点302和概念节点304。如果Plu,k> 口_^。(1(3-_(^。1(1,则可将~元语法识别为对应于用户节点302 1^(^,而如果?^1{>Pconcept-node-threshold,则可将N元语法识别为对应于概念节点304 k_cept。在具体实施方式中, 社交网络系统20仅可识别位于对应于第一用户(S卩,查询用户)的用户节点302的阈值隔离度内的节点。例如,阈值隔离度可以为一、二、三、或者全部。尽管本公开描述了以特定方式识别对应于N元语法的节点,然而,本公开设定了以任意合适的方式识别对应于N元语法的节点。
[0119] 在具体实施方式中,社交网络系统20可生成每个均包括识别矢线306中的一条或者多条和识别节点中的一个或多个的引用的一项或者多项结构化查询。下面将更为详细地描述如何生成结构化查询。
[0120] 图7示出了用于检测有关结构化搜索查询的社交图谱元素的示例性方法700。该方法可以步骤710开始,其中,社交网络系统20可访问包括多个节点和连接节点的多条矢线 306的社交图谱300。节点可包括第一用户节点302和多个第二节点(一个或多个用户节点 302、概念节点304、或者其任一组合)。在步骤720,社交网络喜用20可接收来自第一用户的大致非结构化文本查询。在步骤730,社交网络系统20可解析文本查询以识别一个或多个N 元语法。在步骤740,社交网络系统20可确定每个N元语法(S卩,N元语法对应于矢线306或者第二)的概率。在步骤750,社交网络系统20可识别具有大于矢线阈值概率的概率的一条或者多条矢线306。每条识别矢线306均可对应于N元语法中的至少一个。在步骤760,社交网络系统20可识别具有大于节点阈值概率的概率的一个或多个第二节点。每个识别的第二节点均可连接至所识别节点306中的至少一条。而且,每个识别的第二节点均可对应于N元语法中的至少一个。在步骤770,社交网络系统20可生成一项或者多项结构化查询。每项结构化查询均可包括对所识别矢线306中的一条或者多条和对所识别的第二节点中的一个或多个的引用。具体实施方式可根据需要重复图7中的方法的一个或多个步骤。尽管本公开描述了并且示出了图7中按照具体顺序发生的方法的具体步骤,然而,本公开设定了图7中以任意合适顺序发生的方法的任意合适的步骤。而且,尽管本公开描述并且示出了完成图7中方法的具体步骤的具体部件、设备、或者系统,然而,本公开设定了完成图7中的方法的任意合适步骤的任意合适部件、设备、或者系统的任意合适组合。
[0121] 结构化搜索查询
[0122] 在具体实施方式中,社交网络系统20可生成每个均包括识别用户节点302中的一个或多个和识别矢线306中的一条或者多条的引用的一项或者多项结构化查询。这种类型的结构化搜索查询可允许社交网络系统20通过搜索连接至或者另行关于识别用户节点302 和识别矢线306的内容而更为有效地搜索与在线社交网络有关的资源和内容(诸如,资料页面)。作为实施例但并不作为限制,社交网络喜用20响应文本查询“给我介绍我女朋友的朋友”可生成结构化查询“Stephanie的朋友”,其中,结构化查询“和”和“Stephanie”时对应于特定社交图谱元素的引用。“Stephanie”的引用对应于特定用户节点302,而“朋友”的引用对应于将该用户节点302连接至其他用户节点302的“朋友”矢线306(即,连接至“Stephanie 的”第一重要程度朋友的矢线306)。当执行结构化查询时,社交网络系统20可识别通过“朋友”矢线306连接至对应于“Stephanie”的用户节点302的一个或多个用户节点302。在具体实施方式中,社交网络系统20可生成多项结构化查询,其中,结构化查询可包括不同识别用户节点302或者不同识别矢线306的引用。作为实施例但并不作为限制,社交网络系统20响应文本查询“猫的照片”可生成第一结构化查询“Catey照片”和第二结构化查询“凯瑟琳的照片”,其中,结构化查询中的“照片”是对应于特定社交图谱元素的引用,并且其中, “Catey”和“凯瑟琳”是两个不同用户节点302的引用。当执行这些结构化查询中的任一项时,社交网络系统20可识别对应于通过矢线306连接至识别用户节点302的照片的一个或多个概念节点304。尽管本公开描述了以特定方式生成特定结构化查询,然而,本公开设定了以任意合适的方式生成任意合适的结构化查询。
[0123] 在具体实施方式中,社交网络系统20可生成每个均包括识别概念节点304中的一个或多个和识别矢线306中的一条或者多条的引用的一项或者多项结构化查询。这种类型的结构化搜索查询可允许社交网络系统20通过搜索连接至或者另行关于所识别概念节点 304和识别矢线306的内容而更为有效地搜索与在线社交网络有关的资源和内容(诸如,资料页面)。作为实施例但并不作为限制,如图6F中的下拉菜单600所示,社交网络系统20响应文本查询“喜欢facebook的朋友”可生成结构化查询“喜欢Facebook的朋友”,其中,结构化查询中的“朋友”、“喜欢”、以及“Facebook”是对应于之前描述的特定社交图谱元素(S卩,“朋友”矢线306、“喜欢”矢线306、以及“Facebook”概念节点304)。在具体实施方式中,社交网络系统20可生成多项结构化查询,其中,结构化查询可包括不同识别概念节点304或者不同识别矢线306的引用。作为实施例但并不作为限制,继续上述实施例,还是如图6F中的下拉菜单600所示,除结构化查询“喜欢Facebook的朋友”之外,社交网络系统20还可生成结构化查询“喜欢Facebook Culinary团队的朋友”,其中,结构化查询中的“Facebook Culinary团队”是对应于又一社交图谱元素的引用。尽管本公开描述了以特定方式生成特定结构化查询,然而,本公开设定了以任意合适的方式生成任意合适的结构化查询。
[0124] 在具体实施方式中,社交网络系统20可将生成的结构化查询分级。可以基于各种因素将结构化查询分级。被给定较高/更佳分级的结构化查询可被视为越与查询用户相关或者与从查询用户接收的非结构化文本查询匹配更佳。同样,被给定较高/更佳分级的结构化查询可引用与查询用户更为相关或者与从查询用户接收的非结构化文本查询呢的N元语法具有更高匹配概率的社交图谱元素。在具体实施方式中,社交网络系统20可基于对应于第一用户(即,查询用户)的第一用户节点302与结构化查询中引用的识别用户节点302或者概念节点304中的至少一个之间的隔离度将每项结构化查询分级。包括社交图谱300中更接近于查询用户(即,隔离度较小)的引用节点的结构化查询可比包含距查询用户更远的节点的结构化查询具有更高的分级。在具体实施方式中,社交网络系统20可基于与第一用户相关联的搜索历史将每项结构化查询分级。引用查询用户最近或者较为频繁地搜索或者访问的社交图谱元素的结构化查询可比引用查询用户最近未频繁地访问的社交图谱元素的结构化查询具有更高的分级。作为实施例但并不作为限制,如图6F所示,如果查询用户之前搜索过“Facebook Cul inary团队”并且访问过对应于有关“Facebook Cul inary团队”的概念节点304的概念资料页面,则引用该社交图谱元素的结构化查询相比较于其他结构化查询可具有相对较高的分级。在具体实施方式中,可基于广告赞助将结构化查询分级。广告商 (诸如,对应于特定节点的特定资料页面的用户或者管理员)可发起特定节点,以使得引用该节点的结构化查询比并不引用该特定节点的结构化查询分级更高。作为实施例但并不作为限制,N元语法“智能手机”可对应于有关“IPHONE”( S卩,智能手机的一种类型)的概念节点 304并且还可对应于有关“ANDROID”(S卩,智能手机的另一种类型)的概念节点。如果广告商发起这些概念节点304中的一个,则社交网络系统20可将引用发起节点的结构化查询比引用非发起(或者较少发起)节点的结构化查询分级更高。在具体实施方式中,社交网络系统 20可基于结构化查询中引用的社交图谱元素的社交相关性将每项结构化查询分级。作为实施例但并不作为限制,特定节点的社交相关性可以基于连接至特定节点的矢线306的数目, 因此,引用由更多矢线306连接的节点的结构化查询可比引用由更少矢线306连接的节点的结构化查询分级更高。作为实施例但并不作为限制,特定矢线306或者矢线类型的社交相关性可以基于连接至特定节点的矢线类型的频率。在具体实施方式中,社交网络系统20可基于结构化查询与接收的文本查询的文本相关性将每项结构化查询分级。特定结构化查询的文本相关性可以基于特定结构化查询中的术语或者术语数目如何与从查询用户接收的文本查询匹配。作为实施例但并不作为限制,相比较于接收的文本查询具有更少插入术语的结构化查询可比具有更多插入术语的结构化查询分级更高。在具体实施方式中,社交网络系统20可基于结构化查询的重要性或者受欢迎度将每项结构化查询分级。作为实施例但并不作为限制,因为在线社交网络中引用“朋友”矢线类型的结构化查询比引用“图片”矢线类型的结构化查询更为重要或者更受欢迎,所以包含“用户A的朋友”的第一结构化查询可比包含“用户A的图片”的第二结构化查询分级更高。作为另一实施例但并不作为限制,因为在线社交网络中引用“学生”矢线类型的结构化查询比引用“雇员”矢线类型的结构化查询更为重要或者更受欢迎,所以包含“斯坦福学生”的第一结构化查询可比包含“斯坦福员工”的第二结构化查询分级更高。在具体实施方式中,社交网络系统可以基于结构化查询中所使用的术语时态将每项结构化查询分级。使用具有特定时态的术语的结构化查询可比使用不同时态的术语的结构化查询分级更高。尽管本公开描述了以特定方式将结构化查询分级, 然而,本公开设定了以任意合适的方式将结构化查询分级。
[0125] 在具体实施方式中,社交网络系统20可将一项或者多项结构化查询发送给第一用户(即,查询用户)。作为实施例但并不作为限制,在生成结构化查询之后,社交网络系统20 可将一项或者多项结构化查询作为包括引用社交图谱元素的名称(名称字符串)、其他查询限制(例如,布尔运算符等)、以及潜在地与引用社交图谱元素相关联的其他元数据的响应发送至用户的客户端设备30。如图6A至图6R所示,查询用户客户端设备30上的网络浏览器 202可在下拉菜单600中显示已发送的结构化查询。在具体实施方式中,可按照排列顺序将发送的查询呈现给查询用户,诸如,基于上述所述之前确定的分级。具有更佳分级的结构化查询可以出现在更为显著的位置。而且,在具体实施方式中,仅可将阈值分级以上的结构化查询发送或者显示给查询用户。作为实施例但并不作为限制,如图6A至图6R所示,可在下拉菜单600中将结构化查询呈现给查询用户,其中,分级更高的结构化查询可以位于菜单顶部,且分级较低的结构化查询可按照降序分级存在于菜单中。在图6A至图6R所示的实施例中,仅将七个最高分级查询发送并且显示给用户。在具体实施方式中,可以高亮结构化查询中的一项或者多项引用,以表示其与特定社交图谱元素的对应性。作为实施例但并不作为限制,如图6F至图61所示,可以在结构化查询中高亮“Facebook”的引用,以表示其对应于特定概念节点304。同样,还可高亮下拉菜单600中出现的结构化查询中的“朋友”和“喜欢”的引用,以表示其对应于特定矢线306。尽管本公开描述了以特定方式发送特定结构化查询, 然而,本公开设定了以任意合适方式发送任意合适的结构化查询。
[0126] 在具体实施方式中,社交网络系统20可从第一用户(S卩,查询用户)接收结构化查询中的一项结构化查询的选择。作为实施例但并不作为限制,如图6A至图6R所示,查询用户客户端设备30上的网络浏览器202可在下拉菜单600中显示已发送的结构化查询,然后,用户可点击或者以其他方式(例如,通过其键盘上的简单按键“回车”)选择结构化查询,以指示用户希望社交网络系统20执行的特定结构化查询。一旦选择特定结构化查询,用户的客户端设备30则可调用或者以其他方式命令社交网络系统20执行所选择的结构化查询。尽管本公开描述了以特定方式接收特定结构化查询的选择,然而,本公开设定了以任意合适的方式接收任意合适的结构化查询的选择。
[0127] 在具体实施方式中,社交网络系统20可生成对应于结构化查询中的一项结构化查询的选择的搜索结果。下面将更为详细地描述基于结构化查询生成搜索结果。
[0128] 图8示出了用于生成个性化结构化搜索查询的示例性方法800。该方法可以步骤 810开始,其中,社交网络系统20可访问包括多个用户节点302和连接用户节点302的多条矢线306的社交图谱300。两个用户节点302之间的每条矢线306均代表所述两个节点间的单一隔离度。多个用户节点302可包括对应于与在线社交网络相关联的第一用户的第一用户节点302。多个用户节点302还可包括每个均对应于与在线社交网络相关联的第二用户的一个或多个第二用户节点302。第二用户节点302中的每个均可位于第一用户节点302的阈值隔离度内。在步骤820,社交网络系统20可从第一用户接收包括一个或多个字符串的文本查询。在步骤830,社交网络系统20可识别对应于字符串中的一个或多个的第二用户节点302 中的一个或多个。在步骤840,社交网络系统20可识别对应于字符串中的一个或多个的矢线 306中的一条或者多条。所识别矢线306中的每条均可连接至第二用户节点302中的一个。在步骤850,社交网络系统20可生成一项或者多项推荐查询。每项结构化查询均可包括所识别的第二用户节点302中的一个或多个和所识别矢线306中的一条或者多条。具体实施方式可根据需要重复图8中的方法的一个或多个步骤。尽管本公开描述并且示出了图8中按照特定顺序发生的特定步骤,然而,本公开设定了图8中按照任意合适顺序发生的方法的任意合适步骤。而且,尽管本公开描述并且示出了完成图8中的方法的特定步骤的特定部件、设备、或者系统,然而,本公开设定了完成图8中的方法的任意合适步骤的任意合适部件、设备、或者系统的任意合适组合。
[0129] 图9示出了用于基于社交图谱信息生成结构化查询的示例性方法900。该方法可以步骤910开始,(其中,社交网络系统20可)其中,社交网络系统20可访问包括多个节点和连接节点的多条矢线306的社交图谱300。节点可包括第一用户节点302、多个第二节点(例如, 用户节点302和概念节点304)。在步骤920,社交网络系统20可从第一用户接收包括一个或多个N元语法的大致非结构化文本查询。在步骤930,社交网络系统20可识别对应于N元语法中的一个或多个的第二节点中的一个或多个。在步骤940,社交网络系统20可识别对应于N 元语法中的一个或多个的矢线306中的一条或者多条。每条识别矢线均可连接至所识别的第二节点中的至少一个。在步骤950,社交网络系统20可生成一项或者多项结构化查询。每项结构化查询均可包括所识别的第二节点中的一个或多个和所识别矢线306中的一条或者多条的引用。具体实施方式根据需要可重复图9中的方法的一个或多个步骤。尽管本公开描述并且示出了图9中以特定顺序发生的方法的特定步骤,然而,本公开设定了图9中以任意合适顺序发生的方法的任意合适步骤。而且,尽管本公开描述并且示出了完成图9中的方法的特定步骤的特定部件、设备、或者系统,然而,本公开设定了完成图9中的方法的任意合适步骤的任意合适部件、设备、或者系统的任意合适组合。
[0130] 基于隐私设置的过滤搜索结果
[0131] 在具体实施方式中,当响应结构化搜索查询生成搜索结果时,社交网络系统20可基于与在线社交网络的特定用户相关联的隐私设置过滤搜索结果。作为实施例但并不作为限制,在查询用户选择并且社交网络系统20接收结构化查询之后,搜索引擎可识别满足或者匹配查询条件的目标内容(例如,节点和/或其对应的资料页面)。目标内容(更具体地,对应于目标内容的目标节点)可与指定在线社交网络中的哪些其他用户可查看或者访问该内容的隐私设置相关联。例如,特定社交图谱元素对查询用户不可见,并且由此引用该社交图谱元素(或者其有关元素)的结构化搜索查询不能生成依赖于该元素的搜索结果。因此,由于与该内容相关联的隐私设置,在搜索结果中不可显示特定目标内。图10示出了示例性社交图谱300。在下面一些实施例中可以引用图10中所示的社交图谱300,以示出如何使用隐私设置过滤搜索结果。尽管本公开描述了以特定方式基于隐私设置过滤搜索结果,然而,本公开设定了以任意合适方式基于隐私设置过滤搜索结果。
[0132] 在具体实施方式中,社交网络系统20可访问与每个目标节点和每个选择节点相关联的隐私设置。每个节点的隐私设置可限定对该节点的可见性或者对将节点连接至社交网络系统20中的用户的矢线的可见性。同样,通过限制在线社交网络中的用户(或者甚至网络之外的用户)查看或者访问与特定节点相关联的资料页面(或者其他有关内容)的能力而使其能力受限。作为实施例但并不作为限制,第一用户的隐私设置指定仅可由“朋友的朋友” (即,第二重要程度朋友)查看或者访问其资料页面,从而防止与第一用户具有三度或者更多度的用户查看或者访问第一用户的资料页面。作为实施例但并不作为限制,参考图10,用户“9”的隐私设置可指定其教育信息对其他用户不可见,因此,将有关用户“9”的用户节点 302连接至对应于学校“斯坦福”的概念节点304的“就读于”矢线306对其他用户不可见。因此,用户“9”的隐私设置防止其用户节点302(或者对应的用户资料页面)的引用出现在对就读于斯坦福大学的用户的搜索结果中。尽管本公开描述了以特定方式访问特定隐私设置, 然而,本公开设定了以任意合适方式访问任意合适的隐私设置。
[0133] 在具体实施方式中,社交网络系统20可识别对应于结构化查询的一个或多个目标节点。目标节点可以是通过至少一条矢线连接至所选择结构化查询中引用的节点中的至少一个的用户节点302或者概念节点304。作为实施例但并不作为限制,参考图10,社交网络系统20可从用户接收下来大致非结构化文本查询“给我介绍5个朋友”,社交网络系统20可对大致非结构化文本查询“给我介绍用户5的朋友”进行解析以生成结构化查询“用户5的朋友”,其中,“朋友”的引用对应于特定“朋友”矢线306并且“用户5”的引用对应于“用户5”的用户节点302。社交网络系统20则可将对应于用户“4”和用户“7”的用户节点302识别为对应于结构化查询的目标节点,因为这两个节点通过“朋友”矢线306连接至有关用户“5”的节点。尽管本公开描述了以特定方式识别特定目标节点,然而,本公开设定了以任意合适方式识别任意合适的目标节点。
[0134] 在具体实施方式中,社交网络系统20可生成包括每个目标节点的引用的搜索结果,每个目标节点均通过具有对第一用户可见的可见性的一系列节点和矢线306连接至社交图谱300中的第一/查询用户节点302。第一用户与目标节点之间的路径上的节点和矢线可包括所选择结构化查询中引用的节点和矢线。作为实施例但并不作为限制,继续之前参考图10的实施例,结构化查询“用户5的朋友”引用有关用户“5”的用户节点302和连接至该节点的“朋友”矢线306。该结构化查询可识别有关用户“4”和用户“7”的目标节点。假设查询用户可查看有关用户“5”的节点,则可以访问用户“4”、“5”、以及“7”的隐私设置以确定连接这些用户的矢线是否可见。例如,任一用户“4”或者“5”可具有使得将其连接的“朋友”矢线 306对特定其他用户不可见的隐私设置;如果矢线306对查询用户可见,则所生成的搜索结果可包括用户“4”的引用。同样,任一用户“5”或者“7”可具有使得将其连接的“朋友”矢线 306不可见的隐私设置;因此,如果矢线306对查询用户不可见,则所生成的搜索结果可包括用户“7”的引用。在具体实施方式中,有关查询用户的用户节点302并不一定必须需要通过可见路径连接至目标节点;然而,对查询用户(源节点)可见的节点与目标节点之间至少存在一条路径。作为实施例但并不作为限制,继续之前实施例,查询用户并不一定需要通过路径连接至任一用户“4”或者用户“7”;只要查询用户可查看源节点(在这种情况下,可以是用户“5”),并且只要查询用户可查看用户“5”与目标节点之间的路径,则目标节点可出现在搜索结果中。例如,查询用户能够查看源节点,因为该节点为公开可访问或者位于查询用户的阈值隔离度内。尽管本公开描述了以特定方式生成搜索结果,然而,本公开设定了以任意合适方式生成搜索结果。
[0135] 在具体实施方式中,社交网络系统20可接收包括第一条件和一个或多个第二条件的结构化查询的选择,其中,第二条件中的至少一个取决于第一条件。社交网络系统可通过识别满足第一条件的一个或多个节点并且将满足第一条件的节点施加给取决于第一条件的每个第二条件解析该查询。作为实施例但并不作为限制,参考图10,社交网络系统20可从用户接收下列大致非结构化文本查询:“给我找出是用户11的朋友的人或者是用户11的朋友的人或者是用户10的朋友的人或者是用户5的朋友的人或者就读于斯坦福的人。”社交网络系统20可解析文本查询并且生成下列结构化搜索查询:“找出用户11的朋友或者既是用户10的朋友也是用户5的朋友或者或者就读于斯坦福”,其中,“…的朋友”和“就读于”的引用对应于特定矢线306,“用户5”、“用户10”、以及“用户11”的引用对应于特定用户节点302, 并且“斯坦福”的引用对应于特定概念节点304。该查询的等效符号表达式(“s-表达式”)为: (或(和朋友:1〇(应用朋友:(或朋友:5就读于>6)))朋友:11),其中,对应于“斯坦福”的概念节点304作为“6”被引用。社交网络系统20可将(应用朋友:(或朋友:5就读于>6))的内部条件识别为需要在解析独立外部条件之前进行解析的第一条件。参考图10,通过识别为用户 “5”或者就读于“斯坦福”的用户的任一朋友的用户可解析内部条件。用户“5”的朋友是用户 “4”和“7”,这两个用户通过“朋友”矢线306连接至有关用户“5 “的节点。就读于“斯坦福”的用户是用户“4”、“7”、以及“9”。因此,将这些结果组合之后,内部条件识别了有关用户“4”、 “7”、以及“9”的用户节点302。现使用外部条件的应用操作符可应用这三种结果,现其被重新表达为s-表达式:(或(和朋友:1〇(或朋友:4朋友:7朋友:9)朋友:11)。通过识别为用户 “11”的任一朋友或者用户“10”和用户“4”、“7”、或者“9”中的一个的朋友的用户可解析该重新表达查询。用户“11”的唯一朋友时用户“10”。用户“10”的朋友包括用户“3”和“8”,而用户 “4”、“7”、以及“9”的朋友包括用户“3”、“5”、以及“8” ;因此,用户“3”和“8”是这两组的朋友并且满足该条件。因此,外部条件将有关用户“3”、“8”、以及“10”的用户节点302识别为对应于结构化查询的目标节点。尽管本公开描述了以特定方式接续搜索查询,然而,本公开设定了以任意合适方式解析搜索查询。
[0136] 图11A至图11C示出了用于解析隐私设置的示例性子图谱。在具体实施方式中,社交图谱系统20可生成有关每个目标节点的子图谱。子图谱可包括第一用户节点(S卩,查询用户的用户节点302)、目标节点、以及各个选择节点和连接社交图谱中第一用户节点和目标节点的各条选择矢线。作为实施例但并不作为限制,继续之前段落的实施例,可以构造有关对应于图11A、图11B、以及图11C中分别示出的用户“3”、“8”、以及“10”的目标节点的子图谱。这些图谱示出了查询用户与目标节点之间路径上的每条矢线306。例如,图11A中示出了连接用户“10”和“3”的矢线306作为“朋友:10—3”。社交网络系统20则可针对每个子图谱识别子图谱中将第一用户节点连接至目标节点的每条终端路径。终端路径包括该系列第一用户节点获取将第一用户节点连接至目标节点的选择矢线。作为实施例但并不作为限制,如图11C所示,将查询用户连接至有关用户“10”的目标节点的终端路径由将查询用户连接至有关用户“11”的节点(即,有关用户“11”的用户节点302)的矢线306和将用户“11”连接至用户“10”的矢线306构成。当然,如图11A和图11B所示,查询用户与目标节点之间可存在多条终端路径,并且可以识别这些终端路径中的每个。社交网络系统20则可针对子图谱中的每条终端路径确定终端路径中每条选择矢线对第一用户是否具有可见性(即,是否对第一用户可见)。换言之,涉及网络系统20可尝试查找子图谱中的查询用户与目标节点之间是否具有允许任意隐私路径。作为实施例但并不作为限制,为了确定图11C中的终端路径是否对查询用户可见,社交网络系统20可评估下列s-表达式:(矢线朋友:11 10)。作为实施例但并不作为限制,为了确定图11A中的终端路径是否对查询用户可见,社交网络系统20可评估下列 s-表达式:(和(矢线朋友:1〇 3)(矢线朋友:4 3)(或(矢线就读于>64)(矢线朋友:5 4)))。 其中,特定子图谱中存在多条终端路径,社交网络系统20可评估一些或者全部终端路径以确定每条路径中的矢线306是否可见。社交网络系统20则可识别具有至少一条终端路径的每个子图谱,其中,该路径中的每条选择矢线对第一用户具有可见性(即,对第一用户可见)。因此,其中,子图谱包括查询用户与目标节点之间的多条终端路径,只要子图谱中的至少一个终端路径对用户可见,则仍可将子图谱识别为具有允许隐私路径。所生成的搜索结果则包括对应于具有至少一个可见终端路径的识别子图谱的各个目标节点的引用。作为实施例但并不作为限制,参考图11A,查询用户与有关用户“3”的目标节点之间存在两个可能的终端路径。只要两个可能终端路径中的至少一个对查询用户可见,则有关用户“3”的目标节点将包括在有关该查询的搜索结果中。在具体实施方式中,有关查询用户的用户节点302 并不一定需要通过可见路径连接至目标节点;然而,对查询用户(源节点)可见的节点与目标节点之间存在至少一个路径。作为实施例但并不作为限制,继续之前实施例,查询用户并不一定需要通过路径连接至任一用户“3”、“8”、或者“10” ;只要查询用户可查看源节点和源节点与目标节点之间的路径,则目标节点可出现在搜索结果中。尽管本公开描述并且图11A 至图11C示出了以特定方式解析隐私设置,然而,本公开设定了以任意合适方式解析隐私设置。
[0137]在具体实施方式中,社交网络系统20可生成对应于结构化查询中的一项结构化查询的选择的搜索结果。搜索结果可出现在包括一个或多个链接的结构化文档(例如,搜索结果网页)或者对应于结构化查询的内容(例如,资料页面)的其他引用中。可以使用搜索结果中的引用导航至对应内容。在具体实施方式中,搜索结果可包括识别用户节点302中的一个或多个、识别概念节点304中的一个或多个、或者其任一组合的引用。作为实施例但并不作为限制,参考图3,用户“B”可选择结构化查询“在Acme工作的朋友”,其中,“朋友”是将用户“B”连接至其他用户的“朋友”矢线306的引用,“在…工作”是连接至用户“B”朋友的用户节点302的“在…工作”矢线306的引用,并且“Acme”是有关公司“Acme”的概念节点304的引用。 因为有关用户“C”的用户节点302通过“朋友”矢线306连接至用户“B”并且通过“在…工作” 矢线连接至对应于“ACME”的识别概念节点304,所以社交网络系统20则可将对应于社交图谱300中的用户“C”的用户节点302识别为对应于结构化查询。社交网络系统20利用对应于所选择的搜索查询的任何其他社交图谱元素可生成列出或者以其他方式引用用户的搜索结果。在具体实施方式中,搜索结果可包括通过一条或者多条矢线306连接至所识别用户节点302或者所识别的概念节点304的用户节点302或者概念节点304的引用。尽管本公开描述了以特定方式生成对应于结构化查询的特定搜索结果,然而,本公开设定了以任意合适方式生成对应于结构化查询的任意合适搜索结果。
[0138] 在具体实施方式中,社交网络系统20仅可生成包括位于对应于第一用户(S卩,查询用户)的用户节点302的阈值隔离度内的目标节点(S卩,用户节点302或者概念节点304)的引用的搜索结果。例如,阈值隔离度可以为一、二、三、或者全部。尽管本公开描述了以特定方式生成搜索结果,然而,本公开设定了以任意合适方式生成搜索结果。
[0139] 图12示出了用于基于隐私设置过滤有关结构化搜索查询的搜索结果的示例性方法1200。该方法可以步骤1210开始,其中,社交网络系统20可访问包括多个节点和连接节点的多条矢线306的社交图谱300。节点可包括第一用户节点302和多个第二节点(一个或多个用户节点302、概念节点304、或者其任一组合)。每个第二节点均可与限定连接至第二节点的每条矢线306的可见性的隐私设置相关联。在步骤1220,社交网络系统20可从第一用户接收包括一个或多个第二节点中的一个或多个选择节点和多条矢线306中的一条或者多条选择矢线306的引用的结构化查询。在步骤1230,社交网络系统20可识别对应于结构化查询的一个或多个目标节点。每个目标节点均可以是多个第二节点中通过选择矢线306中的至少一条连接至所选择节点中的至少一个的第二节点。在步骤1240,社交网络系统20可生成包括每个目标节点的引用的搜索结果,每个目标节点均通过对第一用户具有可见性(对第一用户可见)的一系列选择节点和选择矢线306连接至社交图谱300中的第一用户节点302。而且,所生成的搜索结果仅可包括位于第一用户节点302的阈值隔离度内的目标节点。具体实施方式可根据需要重复图12中的方法的一个或多个步骤。尽管本公开描述并且示出了图12 中以特定顺序发生的方法的特定步骤,然而,本公开设定了图12中以任意合适顺序发生的方法的任意合适步骤。而且,尽管公开描述并且示出了完成图12中的方法的热定步骤的特定部件、设备、或者系统,然而,本公开设定了完成图12中的方法的任意合适步骤的任意合适部件、设备、或者系统的任一合适组合。[〇14〇]系统和方法
[0141] 图13示出了示例性计算机系统1300。在具体实施方式中,一种或者多种计算机系统1300执行此处所描述或者示出的一种或者多种方法的一个或多个步骤。在具体实施方式中,一种或者多种计算机系统1300提供此处所描述或者示出的功能。在具体实施方式中,在一种或者多种计算机系统1300上运行的软件执行此处所描述或者示出的一种或者多种方法的一个或多个步骤或者提供此处所描述或者示出的功能。具体实施方式包括一种或者多种计算机系统1300的一个或多个部分。
[0142] 本公开设定了任意合适数目的计算机系统1300。本公开设定了采用任意合适物理形式的计算机系统1300。作为实施例但并不作为限制,计算机系统1300可以是嵌入式计算机系统、片上系统(SOC)、单板式计算机系统(SBC)(诸如,计算机模块(COM)或者系统模块 (S0M)、桌面计算机系统、膝上型或者笔记本计算机系统、交互式自助服务机、主机、计算机系统网络、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、或者其中两种或者多种的组合。根据需要,计算机系统1300可包括跨多个位置、跨多台机器、跨多个数据中心、或者驻留在云中的单式或者分布式的一种或者多种计算机系统1300,云可包括一个或多个网络中的一个或多个云部件。根据需要,一种或者多种计算机系统1300可在无大致空间或者时间限制的情况下执行此处所描述或者示出的一种或者多种方法的一个或多个步骤。作为实施例但并不作为限制,一种或者多种计算机系统1300可实时或者以分批模式执行此处所描述或者示出的一种或者多种方法的一个或多个步骤。一种或者多种计算机系统1300可根据需要在不同时间或者在不同位置执行此处所描述或者示出的一种或者多种方法的一个或多个步骤。
[0143] 在具体实施方式中,计算机系统1300包括处理器1302、内存1304、存储器1306、输入/输出(I/O)接口 1308、通信接口 1310、以及总线1312。尽管本公开描述并且示出了以特定布置具有特定数目的特定部件的特定计算机系统,然而,本公开设定了以任意合适布置具有任意合适数目的任意合适部件的任意合适计算机系统。
[0144] 在具体实施方式中,处理器1302包括用于执行指令的硬件,诸如,组成计算机程序的指令。作为实施例但并不作为限制,为了执行指令,处理器1302可从内部寄存器、内部缓存、内存1304、或者存储器1306检索(或者获取)指令;对其进行解码并且执行指令;然后,将一条或者多条结果写入内部寄存器、内部缓存、内存1304、或者存储器1306中。在具体实施方式中,处理器1302可包括有关数据、指令、或者地址的一个或多个集成缓存。本公开设定了根据需要包括任意合适数目的任意合适内部缓存的处理器1302。作为实施例但并不作为限制,处理器1302可包括一个或多个指令缓存、一个或多个数据缓存、以及一个或多个转译后备缓冲器(TLB)。指令缓存中的指令可以是内存1304或者存储器1306中的指令的副本,并且指令缓存可加快处理器1302对这些指令的检索。数据缓存中的数据可以是使在处理器 1302上执行的指令运行的内存1304或者存储器1306中的数据副本、在处理器1302上执行以用于在处理器1302上执行的后续指令进行访问或者用于写入内存1304或者存储器1306中的之前指令结果、或者其他合适的数据。数据缓存可加快出差力求1302的读或者写操作。 TLB可加快处理器1302的虚拟地址转译。在具体实施方式中,处理器1302可包括有关数据、 指令、或者地址的一个或多个内部寄存器。本公开设定了根据需要包括任意合适数目的任意合适内部寄存器的处理器1302。处理器1302根据需要可包括一个或多个算法逻辑单元 (ALU)、可以是多核处理器、或者包括一个或多个处理器1302。尽管本公开描述并且示出了特定处理器,然而,本公开设定了任意合适的处理器。
[0145] 在具体实施方式中,内存1304包括用于存储处理器1302执行的指令或者处理器 1302运行的数据的主内存。作为实施例但并不作为限制,计算机系统1300可将指令从存储器1306或者另一来源(诸如,另一计算机系统1300)加载到内存1304中。然后,处理器1302可将指令从内存1304加载到内部寄存器或者内部缓存中。为了执行指令,处理器1302可从内部寄存器或者内部缓存检索指令并且对其进行解码。在执行指令过程中或者之后,处理器 1302可将一条或者多条结果(其可以是中间结果或者最终结果)写入内部寄存器或者内部缓存中。然后,处理器1302可将这些结果中的一条或者多条写入内存1304中。在具体实施方式中,处理器1302仅执行一个或多个内部寄存器或者内部缓存中或者内存1304(与存储器 1306相对或者其他地方)中的指令并且仅运行一个或多个内部寄存器或者内部缓存中或者内存1304(与存储器1306相对或者其他地方)中的数据。一条或者多条内存总线(每条均可包括地址总线和数据总线)可将处理器1302耦接至内存1304。总线1312可包括如下所述一条或者多条内存总线。在具体实施方式中,一个或多个存储管理单元(MMU)驻留在处理器 1302与内存1304之间并且便于访问通过处理器1302请求的内存1304。在具体实施方式中, 内存1304包括随机存取内存(RAM)。根据需要,RAM可以是易失性内存,RAM可以是动态RAM (DRAM)或者静态RAM(SRAM)。而且,根据需要,RAM可以是单端口或者多端口 RAM。本公开设定了任一合适的RAM。内存1304根据需要可包括一个或多个内存1304。尽管本公开描述并且示出了特定内存,然而,本公开设定了任意合适的内存。
[0146] 在具体实施方式中,存储器1306包括有关数据或者指令的大容量存储器。作为实施例但并不作为限制,存储器1306可包括硬盘驱动(HDD )、软盘驱动、闪存、光盘、磁光盘、磁带、或者通用串行接口(USB)驱动、或者其中的两种或者多种的组合。存储器1306可根据需要包括可移动式或者非移动式(或者固定)媒体。存储器1306根据需要可以位于计算机系统 1300内部或者外部。在具体实施方式中,存储器1306是非易失性固态内存。在具体实施方式中,存储器1306包括只读内存(ROM)。根据需要,ROM可以是掩模编程R0M、可编程ROM(PROM)、 可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可更改ROM(EAROM)、或者闪存、或者其中的两种或者多种的组合。本公开设定了采用任意合适物理形式的大容量存储器1306。存储器 1306可包括便于处理器1302与存储器1306之间通信的一个或多个储存控制单元。根据需要,存储器1306可包括一个或多个存储器1306。尽管本公开描述并且示出了特定存储器,然而,本公开设定了任意合适的存储器。
[0147] 在具体实施方式中,1/0接口 1308包括硬件、软件、或者提供用于计算机系统1300 与一个或多个1/0设备之间通信的一个或多个接口的硬件和软件。计算机系统1300根据需要可包括这些1/0设备中的一个或多个。这些1/0设备中的一个或多个可支持人与计算机系统1300之间的通信。作为实施例但并不作为限制,1/0设备可包括键盘、键区、麦克风、监控器、鼠标、打印机、扫描仪、扬声器、静态摄像头、铁笔、平板电脑、触摸屏、轨迹球、视频摄像头、另一合适的1/0设备或者其中两种或者多种的组合。1/0设备可包括一个或多个传感器。 本公开设定了任意合适的1/0设备和与其有关的任意合适的1/0接口 1308。1/0接口 1308根据需要可包括能够使处理器1302驱动这些1/0设备中的一个或多个的一个或多个设备或者软件驱动器。1/0接口 1308根据需要可包括一个或多个1/0接口 1308。尽管本公开描述并且示出了特定1/0接口,然而,本公开设定了任意合适的1/0接口。
[0148] 在具体实施方式中,通信接口 1310包括硬件、软件、或者提供用于计算机系统1300 与一个或多个其他计算机系统1300或者一个或多个网络之间通信(诸如,基于分组的通信) 的一个或多个接口的硬件和软件。作为实施例但并不作为限制,通信接口 1310可包括网络接口控制器(NIC)、或者用于与以太网或其他基于有线网络通信的网络适配器、或者用于与诸如W1-FI网络等无线网络通信的无线NIC(WNIC)或无线适配器。本公开设定了任意合适的网络和与其有关的任意合适通信接口 1310。作为实施例但并不作为限制,计算机系统1300 可与自组网、个人局域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、或者因特网的一个或多个部分、或者其中的两种或者多种的组合通信。这些网络中的一个或多个的一个或多个部分可以是有线或者无线。作为实施例但并不作为限制,计算机系统1300可与无线PAN (WPAN)(诸如,蓝牙WPAN)、W1-FI网络、W1-MAX网络、蜂窝电话网络(诸如,全球移动通信系统 (GSM)网络)、或者其他合适的无线网络、或者其中两种或者多种的组合通信。根据需要,计算机系统1300可包括与这些网络中任一个有关的任意合适通信接口 1310。根据需要,通信接口 1310可包括一个或多个通信接口 1310。尽管本公开描述并且示出了特定通信接口,然而,本公开设定了任意合适的通信接口。
[0149]在具体实施方式中,总线1312包括硬件、软件、或者将计算机系统1300的部件耦接至彼此的硬件和软件。作为实施例但并不作为限制,总线1312可包括加速图形端口(AGP)或者其他图形总线、增强工业标准架构(EISA)总线、前端总线FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低脚位(LPC)总线、内存总线、微信道架构(MCA)总线、夕卜围部件互连(PCI)总线、PC1-ExpresS(PCIe)总线、串行高级技术附接(SATA)总线、视频电子标准标准协会局域(VLB)总线、或者另一合适的总线或者其中两种或者多种的组合。总线 1312根据需要可包括一个或多个总线1312。尽管本公开描述并且示出了特定总线,然而,本公开设定了任意合适的总线或者互连。[〇15〇]此处,参考计算机可读非易失性储存介质根据需要可包括基于半导体或者其他集成电路(1C)(诸如,场可编程门阵列(FPGA)或者专用IC((ASIC))、硬盘驱动(HDD)、混合硬驱动(HHD)、光盘、光盘驱动(0DD)、磁光盘、磁光驱动、软盘、软盘驱动(FDD)、磁带、全息储存介质、固态驱动(SSD)、RAM驱动、安全数字卡、安全数字驱动、另一合适的计算机可读非易失性储存介质、其中的合适组合。根据需要,计算机可读非易失性储存介质可以是易失性、非易失性、或者易失性与非易性和组合。
[0151] 本公开设定了实现任意合适存储器的一个或多个计算机可读储存介质。在具体实施方式中,根据需要计算机可读储存介质实现处理器1302的一个或多个不得(诸如,一个或多个内部寄存器或者缓存)、内存1304的一个或多个部分、存储器1306的一个或多个部分、 或者其中的组合。在具体实施方式中,计算机可读储存介质实现RAM或者ROM。在具体实施方式中,计算机可读储存介质实现易失性或者永久性内存。在具体实施方式中,一个或多个计算机可读储存介质包括软件。此处,根据需要,参考软件可包括一种或者多种应用程序、位码、一种或者多种计算机程序、一种或者多种可执行文件、一个或多个指令、逻辑、机器码、 一个或多个脚本、或者源代码,反之亦然。在具体实施方式中,软件包括一个或多个应用编程界面(API)。本公开设定了以任意合适编程语言或者编程语言的组合编写或者另行表达的任意合适软件。在具体实施方式中,将软件表达为源代码或者对象代码。在具体实施方式中,以高级编程语言表达软件,诸如,C、Perl、或者其合适的扩展。在具体实施方式中,以低级编程语言表达软件,诸如,汇编语言(或者机器码)。在具体实施方式中,以JAVA表达软件。 在具体实施方式中,以超文本标记语言(HTML)、可扩展标记语言(XML)、或者其他合适的标记语言表达软件。
[0152] 图14示出了示例性网络环境1400。本公开设定了任意合适的网络环境1400。作为实施例但并不作为限制,尽管本公开描述并且示出了实现客户端-服务器模型的网络环境 1400,然而,根据需要,本公开设定了网络环境1400中对等的一个或多个部分。特定实施方式可整体或者部分地一个或多个网络环境1400中操作。在具体实施方式中,网络环境1400的一个或多个元件提供此处所描述或者示出的功能。具体实施方式包括网络环境1400的一个或多个部分。网络环境1400包括将一个或多个服务器1420和一个或多个客户端1430耦接至彼此的网络1410。本公开设定了任意合适的网络1410。作为实施例但并不作为限制,网络 1410的一个或多个部分可包括自组网、内网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线 LAN(WLAN)、广域网(WAN)、无线WAN(ffffAN)、城域网(MAN)、因特网的一部分、公共交换电话网 (PSTN)的一部分、蜂窝电话网络、或者其中两种或者多种的组合。网络1410可包括一个或多个网络1410。
[0153] 链路1450将服务器1420和客户端1430耦接至网络1410或者彼此。本公开设定了任意合适的链路1450。作为实施例但并不作为限制,一个或多个链路1450中的每个均包括一个或多个无线(诸如,数字用户线路(DSL)或者有线电缆数据服务传输规范(D0CSIS))、有线 (诸如,W1-Fi或者微波存取全球互通(WiMAX))、或者光纤(诸如,同步光纤网(SONET)或者同步数字体系(SDH))链路1450。在具体实施方式中,一个或多个链路1450中的每个均包括内网、外联网、¥?11^、11^、141嫩1通信网、卫星网、因特网的一部分、或者另一链路1450、 或者两个或者多个链路1450的组合。网络环境1400中的链路1450不需要必须相同。就一个或多个方面而言,一个或多个第一链路1450可不同于一个或多个第二链路1450。
[0154] 本公开设定了任意合适的服务器1420。作为实施例但并不作为限制,一个或多个服务器1420中的每个均可包括一个或多个广告服务器、应用服务器、目录服务器、通信服务器、数据库服务器、交换服务器、传真服务器、文件服务器、游戏服务器、家庭服务器、邮件服务器、消息服务器、新闻服务器、名称或者DNS服务器、打印服务器、代理服务器、声音服务器、独立服务器、网络服务器、或者网络馈送服务器。在具体实施方式中,服务器1420包括硬件、软件、或者用于提供服务器1420的功能的硬件和软件。作为实施例但并不作为限制,作为网络服务器运行的服务器1420能够承载包含网页或者网页元素的网站并且包括合适的硬件、软件、或者用于如此运行的硬件和软件。在具体实施方式中,网络服务器可承载HTML 或者其他合适的文件或者动态经请求创建或者组成的网页文件。网络服务器可响应超文本传输协议(HTTP)或者来自客户端1430的其他请求将一个或多个文件通信至客户端1430。作为另一实施例,作为邮件服务器运行的服务器1420能够将电子邮件服务提供给一个或多个客户端1430。作为另一实施例,作为数据库服务器运行的服务器1420能够提供用于与一个或多个数据存储(诸如,下面所述数据存储1440)交互的接口。根据需要,服务器1420可包括跨多个位置、跨多台机器、跨多个数据中心、或者驻留在云中的单式或者分布式的一个或多个服务器1420,云可包括一个或多个网络中的一个或多个云部件。
[0155] 在具体实施方式中,一个或多个链路1450可将服务器1420耦接至一个或多个数据存储1440。数据存储1440可存储任意合适的信息,并且可以任意合适的方式组织数据存储 1440的内容。作为实施例但并不作为限制,数据存储1440的内容可被存储为多维数据库、平面数据库、层次结构数据库、网络数据库、面向对象数据库、关系数据库、XML数据库、或者其他合适数据库、或者这些中的两种或者多种的组合。数据存储1440(或者与其耦接的服务器 1420)可包括用于管理数据存储1440的内容的数据库管理系统或者其他硬件或者软件。数据库管理系统可执行读和写操作、删除或者擦除数据、执行数据复制、查询或者搜索数据存储1440中的内容、或者提供对数据存储1440的其他访问。
[0156] 在具体实施方式中,一个或多个服务器1420中的每个均可包括一个或多个搜索引擎1422。搜索引擎1422可包括硬件、软件、或者用于提供搜索引擎1422的功能的硬件和软件。作为实施例但并不作为限制,搜索引擎1422可响应在搜索殷勤1422处接收的搜索查询实施一种或者多种搜索算法以识别网络资源、执行一种或者多种分级算法以将所识别的网络资源分级、或者执行一种或者多种求和算法以对所识别的网络资源求和。在具体实施方式中,根据需要,通过搜索引擎1422实施的分级算法可使用机器学习分级公式,分级算法可从自动获得由成对搜索查询和所选择的统一资源定位符(URL)构造的一组训练数据。
[0157] 在具体实施方式中,一个或多个服务器1420中的每个均可包括一个或多个数据监控器/采集器1424。数据监控器/采集器1424可包括硬件、软件、或者用于提供数据监控器/ 采集器1424的功能的硬件和软件。作为实施例但并不作为限制,服务器1420中的数据监控器/采集器1424可监控或者采集服务器1420中的网络流量数据并且将网络流浪数据存储在一个或多个数据存储1440中。在具体实施方式中,服务器1420或者另一设备根据需要可从网络流浪数据提取成对的搜索查询和选择的URL。
[0158] 本公开设定了任意合适的客户端1430。客户端1430能够使客户端1430的用户访问或者以其他方式通信网络1410、服务器1420、或者其他客户端1430。作为实施例但并不作为限制,客户端1430可具有诸如微软IE浏览器或者火狐浏览器等网络浏览器并且可具有诸如谷歌工具栏或者雅虎工具栏等一个或多个附加件,插入件、或者其他扩展。客户端1430可以是包括硬件、软件、或者用于提供客户端1430的功能的硬件和软件的电子设备。作为实施例但并不作为限制,根据需要,客户端1430可以是嵌入式计算机系统、S0C、SBC(诸如,COM或者 S0M)、桌面计算机系统、膝上型或者笔记本计算机系统、交互式自助服务机、主机、计算机系统网络、移动电话、PDA、笔记本计算机系统、服务器、平板计算机系统、或者这些中两种或者多种的组合。根据需要,客户端1430可包括跨多个位置、跨多台机器、跨多个数据中心、或者驻留在云中的单式或者分布式的一个或多个客户端1430,云可包括一个或多个网络中的一个或多个云部件。
[0159] 其他[〇16〇]此处,“或者”为包含的并且并不排他,除非另有明确指示或者上下文另有指示。因此,此处,“A”或者“B”指“A、B、或者A和B”,除非另有明确指示或者上下文另有指示。而且, “和”为连带的,除非另有明确指示或者上下文另有指示。因此,此处,“A和B”指“连带地A和 B”,除非另有明确指示或者上下文另有指示。而且,“一个(a)”、“一个(an)”、或者“该”旨在指“一个或多个”,除非另有明确指示或者上下文另有指示。因此,此处,“一个A”或者“该A” 指“一个或多个A”,除非另有明确指示或者上下文另有指示。
[0161]本公开涵盖了本领域普通技术人员所理解的示例性实施方式的所有更改、替换、 变化、改造、以及变形。而且,尽管本公开描述并且示出了包括具体部件、元件、功能、操作、 或者步骤的相应实施方式,然而,这些实施方式中的任一种均可包括此处任何地方所描述或者示出的本领域普通技术人员所理解的部件、元件、功能、操作、或者步骤中任一个的任意组合或者置换。而且,无论该特定功能是否被激活、开启、或者解锁,只要该装置、系统、或者部件被如此适配、布置、能够、配置、使能够、能操作、或者运转,则所附权利要求中参考一种被适配成、布置成、能够、被配置成、使能够、能操作成、或者运转以执行特定功能的装置、 或者系统、或者该装置或系统的部件包括该装置、系统、部件。

Claims (25)

1.一种通信方法,包括通过一个或多个计算设备: 访问包括多个节点和连接所述节点的多条矢线的社交图谱,所述节点中的两个之间的所述矢线中的每条矢线均代表所述节点中的两个间的单一隔离度,所述节点包括: 第一节点,对应于与在线社交网络相关联的第一用户;以及 多个第二节点,所述多个第二节点中的每个均对应于与所述在线社交网络相关联的概念或者第二用户; 从所述第一用户接收包括一个或多个η元语法的非结构化文本查询; 识别所述第二节点中的一个或多个,所识别的第二节点中的每个均对应于所述η元语法中的一个或多个; 识别所述矢线中的一条或者多条,所识别的矢线中的每条矢线均连接至所识别的第二节点中的至少一个,所识别的矢线中的每条矢线均对应于所述η元语法中的一个或多个;并且 生成一项或者多项结构化查询,所述一项或者多项结构化查询中的每项结构化查询均包括对所识别的第二节点中的一个或多个和所识别的矢线中的一条或者多条的引用; 发送所述结构化查询中的一项或者多项至所述第一用户; 从所述第一用户接收所述结构化查询中的一项结构化查询的选择; 生成对应于所述结构化查询中的一项结构化查询的所述选择的搜索结果,所述搜索结果包括对通过所识别的矢线中的至少一条连接至所识别的第二节点中的至少一个的所述第二节点中的一个或多个的引用;以及发送所述搜索结果到所述第一用户。
2.根据权利要求1所述的方法,其中,所述搜索结果中的所述第二节点中的每个均位于与所述第一节点的阈值隔离度内。
3.根据权利要求1所述的方法,进一步包括生成对应于所述结构化查询中的一项结构化查询的所述选择的搜索结果,所述搜索结果包括对所识别的第二节点中的一个或多个的引用。
4.根据权利要求1所述的方法,进一步包括基于所述第一节点与所述结构化查询中引用的所识别的第二节点中的至少一个之间的所述隔离度将所述结构化查询中的每项分级。
5.根据权利要求1所述的方法,进一步包括基于与所述第一用户相关联的搜索历史将所述结构化查询中的每项分级。
6.根据权利要求1所述的方法,进一步包括基于所述结构化查询中引用的所识别的第二节点或者所识别的矢线的社交相关性将所述结构化查询中的每项分级。
7.根据权利要求1所述的方法,进一步包括基于所述结构化查询的文本相关性将所述结构化查询中的每项分级。
8.根据权利要求1所述的方法,其中,所识别的第二节点中的每个均位于与所述第一节点的阈值隔尚度内。
9.根据权利要求8所述的方法,其中,所述阈值隔离度为一、二、三、或者全部。
10.根据权利要求1所述的方法,其中,识别所述第二节点中的一个或多个包括对于每个η元语法: 为每个第二节点确定所述第二节点对应于所述η元语法的概率;以及 识别具有大于阈值概率的概率的每个第二节点。
11.根据权利要求1所述的方法,其中,每个η元语法均包括由所述第一用户输入的文本中的一个或多个字符。
12.根据权利要求1所述的方法,其中,每个η元语法均包括所述文本查询中的η项的连续序列。
13.根据权利要求1所述的方法,其中,对于每项结构化查询,高亮所述引用中的一项或者多项,以指示对应于识别的第二节点或者识别的矢线的所述引用。
14.根据权利要求1所述的方法,其中,从所述第一用户接收所述非结构化文本查询包括随所述第一用户在客户端系统输入字符串到图形用户界面中,接收所述字符串的一个或多个字符。
15.根据权利要求14所述的方法,其中,所述图形用户界面包括查询字段,并且其中,由所述第一用户输入所述字符串到所述查询字段中。
16.根据权利要求1所述的方法,还包括发送所述结构化查询中的一个或多个用于向所述第一用户呈现。
17.根据权利要求16所述的方法,还包括向所述第一用户呈现一个或多个所发送的结构化查询,其中,对于每个发送的结构化查询,所发送的结构化查询的引用中的一个或多个被高亮呈现,以指示对应于识别的第二节点或识别的矢线的所述引用。
18.根据权利要求1所述的方法,其中,从与所述第一用户相关联的客户端系统接收所述非结构化文本查询。
19.根据权利要求1所述的方法,其中,通过与所述在线社交网络相关联的应用编程接口,经由第一呼叫,从第三方系统接收所述非结构化文本查询。
20.根据权利要求19所述的方法,还包括响应于所述第一呼叫,发送所述结构化查询中的一个或多个到所述第三方系统。
21.根据权利要求20所述的方法,还包括通过所述应用编程接口,经由第二呼叫,从所述第三方系统接收所述结构化查询中的一个的选择。
22.根据权利要求21所述的方法,还包括响应于所述第二呼叫,发送对应于所述结构化查询中的一个的所述选择的搜索结果到所述第三方系统。
23.根据权利要求1所述的方法,还包括响应于通过与所述在线社交网络相关联的应用编程接口从第三方系统接收到呼叫,发送对应于所述结构化查询中的一个的搜索结果到所述第三方系统。
24.根据权利要求1所述的方法,其中,经由与所述在线社交网络相关联的通信信道从第三方系统接收所述非结构化文本查询。
25.—种通信系统,包括:一个或多个处理器;和存储器,所述存储器耦接至所述处理器,所述存储器包括能够由所述处理器执行的指令,所述处理器在执行所述指令时能操作以: 访问包括多个节点和连接所述节点的多条矢线的社交图谱,所述节点中的两个之间的所述矢线中的每条矢线均代表所述节点中的两个间的单一隔离度,所述节点包括: 第一节点,对应于与在线社交网络相关联的第一用户;以及 多个第二节点,所述多个第二节点中的每个均对应于与所述在线社交网络相关联的概念或者第二用户; 从所述第一用户接收包括一个或多个η元语法的非结构化文本查询; 识别所述第二节点中的一个或多个,所识别的第二节点中的每个均对应于所述η元语法中的一个或多个; 识别所述矢线中的一条或者多条,所识别的矢线中的每条矢线均连接至所识别的第二节点中的至少一个,所识别的矢线中的每条矢线均对应于所述η元语法中的一个或多个;并且 生成一个或多个结构化查询,所述一个或多个结构化查询中的每个均包括对所识别的第二节点中的一个或多个和所识别的矢线中的一条或者多条的引用; 发送所述结构化查询中的一项或者多项至所述第一用户; 从所述第一用户接收所述结构化查询中的一项结构化查询的选择; 生成对应于所述结构化查询中的一项结构化查询的所述选择的搜索结果,所述搜索结果包括对通过所识别的矢线中的至少一条连接至所识别的第二节点中的至少一个的所述第二节点中的一个或多个的引用;以及发送所述搜索结果到所述第一用户。
CN201380049215.6A 2010-04-19 2013-07-17 基于社交图谱信息的结构化搜索查询 Active CN104903886B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/556,060 2012-07-23
US13/556,060 US8732208B2 (en) 2010-04-19 2012-07-23 Structured search queries based on social-graph information
PCT/US2013/050781 WO2014018321A1 (en) 2012-07-23 2013-07-17 Structured search queries based on social-graph information

Publications (2)

Publication Number Publication Date
CN104903886A CN104903886A (zh) 2015-09-09
CN104903886B true CN104903886B (zh) 2016-10-12

Family

ID=48832762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380049215.6A Active CN104903886B (zh) 2010-04-19 2013-07-17 基于社交图谱信息的结构化搜索查询

Country Status (10)

Country Link
EP (1) EP2690569B1 (zh)
JP (2) JP5837723B2 (zh)
KR (1) KR101550327B1 (zh)
CN (1) CN104903886B (zh)
AU (1) AU2013293319B2 (zh)
BR (1) BR112015001467A2 (zh)
CA (1) CA2879417C (zh)
IL (1) IL236810A (zh)
MX (2) MX341781B (zh)
WO (1) WO2014018321A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058013A (en) 1989-05-25 1991-10-15 Toyota Jidosha Kabushiki Kaisha Control of engine output torque in coordination with change-over of speed stages of automatic transmission
JPH0422718A (en) 1990-05-15 1992-01-27 Mazda Motor Corp Engine and automatic transmission control device
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
US10375004B2 (en) * 2014-09-30 2019-08-06 Microsoft Technology Licensing, Llc Facilitating social network service connections based on mobile device validated calendar data
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
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 京东数字科技控股有限公司 数据查询方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180804B1 (en) * 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US8185558B1 (en) * 2010-04-19 2012-05-22 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
CN102474529A (zh) * 2009-07-01 2012-05-23 费斯布克公司 收集关于社交网络化服务中的连接的信息

Family Cites Families (15)

* Cited by examiner, † Cited by third party
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
US8150844B2 (en) * 2010-08-18 2012-04-03 Facebook, Inc. Location ranking using 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
JP2012128479A (ja) * 2010-12-13 2012-07-05 Fuji Xerox Co Ltd 検索装置及びプログラム
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102474529A (zh) * 2009-07-01 2012-05-23 费斯布克公司 收集关于社交网络化服务中的连接的信息
US8180804B1 (en) * 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US8185558B1 (en) * 2010-04-19 2012-05-22 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph

Also Published As

Publication number Publication date
JP2016042373A (ja) 2016-03-31
AU2013293319A1 (en) 2015-02-12
AU2013293319B2 (en) 2015-04-02
JP5997350B2 (ja) 2016-09-28
EP2690569B1 (en) 2019-11-13
CN104903886A (zh) 2015-09-09
EP2690569A1 (en) 2014-01-29
CA2879417A1 (en) 2014-01-30
CA2879417C (en) 2015-09-08
MX341781B (es) 2016-08-31
JP5837723B2 (ja) 2015-12-24
MX2015001130A (es) 2015-09-08
WO2014018321A1 (en) 2014-01-30
JP2015531912A (ja) 2015-11-05
KR20150032586A (ko) 2015-03-26
KR101550327B1 (ko) 2015-09-04
BR112015001467A2 (pt) 2017-07-04
IL236810A (en) 2016-09-29
MX353716B (es) 2018-01-25

Similar Documents

Publication Publication Date Title
CN104903886B (zh) 基于社交图谱信息的结构化搜索查询
JP6462088B2 (ja) オンライン・ソーシャル・ネットワーク上での構造化検索クエリの修正
JP6306120B2 (ja) 構造化検索クエリの自然言語レンダリング
US10430477B2 (en) Personalized structured search queries for online social networks
Rogers Digital methods
US9245038B2 (en) Structured search queries based on social-graph information
US8782080B2 (en) Detecting social graph elements for structured search queries
CN102906744B (zh) 无限浏览
US8180804B1 (en) Dynamically generating recommendations based on social graph information
CN104781813B (zh) 用于结构化搜索查询的语法模型
US9514425B2 (en) Method and system for providing user-customized contents
US20140025702A1 (en) Filtering Structured Search Queries Based on Privacy Settings
CN105917330A (zh) 用于在线社交网络的客户端搜索模板
Yu Linked open data
Sponder et al. Digital analytics for marketing
CN107368509B (zh) 通信方法、通信系统及计算机可读非暂时性存储介质
JP2008107904A (ja) テキスト及びアニメーションサービス装置及びコンピュータプログラム
JP5827449B2 (ja) オンラインソーシャルネットワークのためのパーソナライズされた構造化検索クエリ
US20200293160A1 (en) System for superimposed communication by object oriented resource manipulation on a data network
Gupta et al. Blog in web application: a software engineering perspective
Pitassi Social and Semantic Contexts in Tourist Mobile Applications
Noor Using social data as context for making recommendations (semantics of people and culture)
Klein Lifelong Learner Modeling in Social Networks

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
C14 Grant of patent or utility model