在在线社交网络上多样化媒体搜索结果的制作方法

文档序号:18093145发布日期:2019-07-06 10:53阅读:229来源:国知局
在在线社交网络上多样化媒体搜索结果的制作方法

本公开大体上涉及社交图谱并执行对社交网络环境内的对象的搜索。



背景技术:

可以包括社交网络网站的社交网络系统可以使其用户(诸如个人或组织)能够与其交互并通过其彼此交互。社交网络系统可以利用来自用户的输入,在社交网络系统中创建并存储与用户相关联的用户简档。用户简档可以包括人口统计信息、通信信道信息和关于用户的个人兴趣的信息。社交网络系统还可以利用来自用户的输入,创建并存储用户与社交网络系统的其他用户的关系的记录,以及提供服务(例如,涂鸦墙、照片共享、事件组织、消息收发、游戏或广告)以推广用户之间的社交交互。

社交网络系统可以通过一个或多个网络向用户的移动或其他计算设备发送与其服务相关的内容或消息。用户还可以在用户的移动或其他计算设备上安装软件应用程序,以用于访问用户的用户简档和社交网络系统内的其他数据。社交网络系统可以生成个性化的内容对象集合(诸如连接到用户的其他用户的聚集故事的新闻馈送)以显示给用户。

社交图谱分析在节点和边线构成的网络理论的角度来查看社交关系。节点表示网络中的各个参与者,并且边线表示参与者之间的关系。由此产生的基于图谱的结构通常非常复杂。连接节点可以有多种类型的节点和多种类型的边线。以其最简单的形式,社交图谱是所有被研究节点之间的所有相关边线的映射。



技术实现要素:

允许上传、托管或共享视频内容的诸如社交网络系统的平台常常被仅仅是复制品的视频内容的多个实例(即,相同的副本或经过微小修改的几乎相同的副本)所阻碍。这种复制品的存在可以归因于上传者希望建立他们自己的关注者,而不是为视频的原始上传者或创建者提升关注者。这样的上传者可以按原样或通过微小的修改(例如,试图避免版权检测,以某种方式个性化视频)重新上传已经存在于社交网络系统上的视频。复制品出现的原因还可能是用户希望根据个人喜好进行微小的更改或者对视频添加微小的注释,而不需要对视频进行太多的更改。社交网络系统上存在这些复制品所引起的一个问题是,指定一组搜索项(例如,“猫机器人真空视频”)的搜索查询可能返回充满这些相同副本(例如,自主机器人真空吸尘器上的猫的特定视频的相同副本)和微小修改(例如,相同视频的副本但在视频上的信箱的顶部衬边中显示文本“lol”)的一组搜索结果,从而导致搜索结果集中缺乏多样性。缺乏多样性可能导致查询用户的负面搜索体验,并且可能降低查询用户找到其他感兴趣的视频的机会。出于相同的原因,对应于彼此非常相似的视频(例如,逐镜头再现原始“吸尘器上的猫”视频的视频)的一组搜索结果也可能是次优的。本文描述的方法试图通过推广视频内容的唯一实例(例如,原始实例、非常相似的视频中最感兴趣的视频等)并抑制作为复制品的视频或与唯一实例太相似的视频来减少搜索结果中缺乏多样性。尽管本公开侧重于多样化视频搜索结果,但它也考虑多样化其他类型的媒体搜索结果(例如,新闻搜索结果、音频搜索结果等)。此外,尽管本公开侧重于在社交网络系统的上下文中应用本文所描述的方法,但本公开也考虑在任何其他合适的上下文中(例如,在具有媒体上传、媒体托管或媒体共享能力的任何其他系统或平台的上下文中)应用相同或类似的方法。

在特定实施方式中,社交网络系统可以接收由查询用户输入的搜索查询(例如,从查询用户的客户端系统)。社交网络系统可以检索与搜索查询相匹配的初始视频集。社交网络系统可以过滤初始视频集以确定视频的过滤集。过滤可包括从初始集中移除作为初始视频集中的“模态”视频(例如,原始视频、视频的最佳实例)的“复制品”的一个或多个视频。重复视频可以包括作为相同副本或几乎相同副本的视频。视频可基于其具有与模态视频的数字指纹在相同性的阈值程度内的数字指纹而被识别为重复视频。社交网络系统可针对过滤集中的每个视频分别计算相对于过滤集中的一个或多个其他视频的一个或多个相似性分数。每个相似性分数可以对应于视频的特征与相应的其他视频的相似度。社交网络系统可以将过滤集中的视频分组到多个集群中。每个集群可以包括相对于集群中的每个其他视频具有大于阈值相似性分数的相似性分数的视频。社交网络系统可以将搜索结果界面发送到第一用户的客户端系统以供显示,该搜索结果界面包括分别针对过滤集中的一个或多个视频的一个或多个搜索结果。搜索结果可以基于其对应视频的相应集群而在搜索结果界面内被编排。

本文公开的实施方式仅仅是示例,并且本公开的范围不限于这些实施方式。特定实施方式可包括以上公开的实施方式的组件、元件、特征、功能、操作或步骤中的全部、部分或全部不包括。根据本发明的实施方式在针对方法、存储介质、系统和计算机程序产品的所附权利要求中特别公开,其中在一个权利要求类别中提及的任何特征(例如方法)也可以在另一个权利要求类别(例如系统)中要求保护。所附权利要求中的从属关系或后向引用仅出于形式上的原因被选择。然而,也可以要求保护由对任何先前权利要求的有意引用而产生的任何主题(特别是多项从属),使得公开并要求保护了权利要求及其特征的任何组合,而不管所附权利要求中选择的从属关系如何。可要求保护的主题不仅包括如所附权利要求中所阐述的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中,权利要求中提及的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的任何实施方式和特征可在单独的权利要求中要求保护,和/或在与本文描述或描绘的任何实施方式或特征或与所附权利要求的任何特征的任何组合中要求保护。

在根据本发明的实施方式中,一种方法包括:通过一个或多个计算系统:

从第一用户的客户端系统接收由第一用户输入的搜索查询;

检索与搜索查询匹配的初始视频集;

过滤初始视频集进行以确定视频的过滤集,其中,过滤包括针对初始视频集中的一个或多个模态视频中的每一个,基于具有与模态视频的数字指纹在相同性的阈值程度内的数字指纹的一个或多个重复视频而从该初始视频集中移除该一个或多个重复视频;

针对过滤集中的每个视频,分别计算相对于过滤集中的一个或多个其他视频的一个或多个相似性分数,其中,每个相似性分数对应于该视频的特征与相应的其他视频的相似度;

将过滤集中的视频分组为多个集群,每个集群包括相对于集群中的每个其他视频具有大于阈值相似性分数的相似性分数的视频;以及

向第一用户的客户端系统发送搜索结果界面以供显示,搜索结果界面包括分别针对过滤集中的一个或多个视频的一个或多个搜索结果,其中,该搜索结果是基于其对应视频的相应集群而在搜索结果界面内被编排的。

在根据本发明的实施方式中,一种方法,可包括:

访问社交图谱,社交图谱包括多个节点和连接节点的多条边线,两个节点之间的每条边线表示节点之间的单个分离程度,节点包括:

对应于与在线社交网络相关联的第一用户的第一节点;以及

多个第二节点,每个第二节点对应于与在线社交网络相关联的概念或第二用户。

相应视频的数字指纹可以基于相应音频数字指纹和相应视频数字指纹中的一者或多者。

过滤可包括执行模糊指纹匹配算法以识别模态视频的一个或多个失真或有噪声版本,以从初始视频集中移除。

过滤可以包括检测在一个或多个重复视频上的水印的存在。

相对于一个或多个其他视频计算一个或多个相似性分数可包括:针对过滤集中的每个视频,

基于图像识别处理识别视频的一个或多个视觉特征;

基于视频的视觉特征来确定与视频相关联的一个或多个概念;

基于视频的相关联的概念在d维空间中生成视频的嵌入;

针对过滤集中的一个或多个其他视频中的每一个,基于其他视频的视觉特征来确定与该其他视频相关联的一个或多个概念;

在d维空间中,基于其他视频的相应的相关联的概念,生成其他视频的一个或多个嵌入;以及

在d维空间中计算视频的嵌入与其他视频的相应嵌入之间的一个或多个距离。

可以基于视频的一个或多个所识别的音频特征来确定与该视频相关联的一个或多个概念。

可以基于与视频相关联的文本来确定与视频相关联的一个或多个概念,该文本已经从与视频相关联的一个或多个通信中提取,或者从与视频相关联的元数据中提取。

计算相对于一个或多个其他视频的一个或多个相似性分数可以包括:针对过滤集中的每个视频,

生成视频的二进制表示;

针对过滤集中的一个或多个其他视频中的每一个,生成该其他视频的一个或多个二进制表示;以及

确定视频的二进制表示与其他视频的相应二进制表示之间的一个或多个汉明(hamming)距离。

在根据本发明的实施方式中,一种方法可包括针对多个集群中的每个集群计算集群中的每个视频的视频分数,其中,视频分数可预测第一用户对视频的兴趣水平,并且其中,视频分数可基于第一用户和与视频相关联的第二用户之间的亲和力、与视频相关联的社交信号的数量、视频的年龄或视频的视听质量中的一项或多项。

搜索结果可以显示在搜索结果界面上的一个或多个模块内,其中,每个模块对应于多个集群中的一个集群,并且其中,每个模块显示与具有大于阈值视频分数的视频分数的一个或多个相应视频相关联的一个或多个搜索结果。

在根据本发明的实施方式中,一种方法可包括:

在交互元素处从第一用户接收对应于特定集群的输入;以及

分别发送与特定集群的一个或多个视频相对应的一个或多个附加搜索结果以供显示。

搜索结果可以显示在视频搜索结果模块内,其中,视频搜索结果模块是显示在搜索结果界面上的多个模块中的一个,其中,多个模块中的每个模块包括与单个对象类型的对象相对应的搜索结果,并且其中,视频搜索结果模块显示与具有大于阈值视频分数的视频分数的一个或多个相应视频相关联的一个或多个搜索结果。

搜索结果可以显示为搜索结果的列表,搜索结果基于它们相应集群内的对应视频的相应视频分数并且还基于集群多样性算法以排名顺序列出的,其中,集群多样性算法要求来自每个集群的多个搜索结果出现在搜索结果的最高排名组中。

与特定集群的第一视频相对应的第一搜索结果可以在列表上排名上升,并且与特定集群的第二视频相对应的第二搜索结果可以在列表上排名下降,其中,第一视频具有比第二视频更高的视频分数,并且其中,第二视频具有高于上阈值相似性分数的相似性分数。

在根据本发明的实施方式中,一种方法可包括在搜索结果界面内编排搜索结果,其中,编排可包括:

针对多个集群中的每个集群,基于与集群的视频相关联的一个或多个概念的相关性来计算集群分数;以及

基于它们相应集群的集群分数对搜索结果进行排序。

每个集群的集群分数可以基于第一用户和与集群的视频相关联的一个或多个概念之间的亲和力。

计算相对于一个或多个其他视频的一个或多个相似性分数可以包括:针对过滤集中的每个视频,

将视频划分成一个或多个第一视频片段;

将过滤集中的一个或多个其他视频中的每一个划分为一个或多个相应的第二视频片段;以及

分别确定第一视频片段中的一个或多个中的每一个与第二视频片段中的一个或多个中的每一个之间的相似度。

在根据本发明的另一实施方式中,一个或多个计算机可读非暂时性存储介质包含软件,该软件在被执行时可操作以执行根据本发明或任何上述实施方式的方法。

在根据本发明的另一实施方式中,一种系统包括:一个或多个处理器;以及至少一个存储器,耦接到处理器并包括可由处理器执行的指令,处理器在执行指令时可操作以执行根据本发明或任何上述实施方式的方法。

在根据本发明的另一实施方式中,计算机程序产品优选地包括计算机可读非暂时性存储介质,计算机程序产品在数据处理系统上执行时可操作以执行根据本发明或任何上述实施方式的方法。

在根据本发明的另一实施方式中,一个或多个包含软件的计算机可读非暂时性存储介质,所述软件在执行时可操作以:

从第一用户的客户端系统接收由第一用户输入的搜索查询;

检索与搜索查询匹配的初始视频集;

过滤初始视频集以确定视频的过滤集,其中,过滤包括针对初始视频集中的一个或多个模态视频中的每一个,基于具有与模态视频的数字指纹在相同性的阈值度内的数字指纹的一个或多个重复视频而从初始视频集中移除该一个或多个重复视频;

针对过滤集中的每个视频,分别计算相对于过滤集中的一个或多个其他视频的一个或多个相似性分数,其中,每个相似性分数对应于该视频的特征与相应的其他视频的相似度;

将过滤集中的视频分组为多个集群,每个集群包括相对于集群中的每个其他视频具有大于阈值相似性分数的相似性分数的视频;以及

向第一用户的客户端系统发送搜索结果界面以供显示,搜索结果界面包括分别针对过滤集中的一个或多个视频的一个或多个搜索结果,其中搜索结果是基于其对应视频的相应集群而在搜索结果界面内被编排的。

在根据本发明的另一实施方式中,一种系统包括:一个或多个处理器;以及耦接到处理器的非暂时性存储器,非暂时性存储器包括可由处理器执行的指令,处理器在执行指令时可操作以:

从第一用户的客户端系统接收由第一用户输入的搜索查询;

检索与搜索查询匹配的初始视频集;

过滤初始视频集以确定视频的过滤集,其中,过滤包括针对初始视频集中的一个或多个模态视频中的每一个,基于具有与模态视频的数字指纹在相同性的阈值度内的数字指纹的一个或多个重复视频而从初始视频集中移除该一个或多个重复视频;

针对过滤集中的每个视频,分别计算相对于过滤集中的一个或多个其他视频的一个或多个相似性分数,其中,每个相似性分数对应于该视频的特征与相应的其他视频的相似度;

将过滤集中的视频分组为多个集群,每个集群包括相对于集群中的每个其他视频具有大于阈值相似性分数的相似性分数的视频;以及

向第一用户的客户端系统发送搜索结果界面以供显示,搜索结果界面包括分别针对过滤集中的一个或多个视频的一个或多个搜索结果,其中搜索结果是基于其对应视频的相应集群而在搜索结果界面内被编排的。

附图说明

图1示出了与社交网络系统相关联的示例网络环境。

图2示出了示例社交图谱。

图3示出了包括视频搜索结果模块的示例搜索结果界面。

图4示出了嵌入空间的示例视图。

图5示出了显示按它们相应的集群分组的视频搜索结果的示例搜索结果界面。

图6示出了以列表格式显示视频搜索结果的示例搜索结果界面。

图7示出了用于多样化视频搜索结果的示例方法。

图8示出了示例计算机系统。

具体实施方式

系统概述

图1示出了与社交网络系统相关联的示例网络环境100。网络环境100包括通过网络110彼此连接的客户端系统130、社交网络系统160和第三方系统170。尽管图1示出了客户端系统130、社交网络系统160、第三方系统170和网络110的特定布置,但是本公开考虑了客户端系统130、社交网络系统160、第三方系统170和网络110的任何合适布置。作为示例而非限制的方式,客户端系统130、社交网络系统160和第三方系统170中的两项或更多项可以绕过网络110彼此直接连接。作为另一示例,客户端系统130、社交网络系统160和第三方系统170中的两项或更多项可以在物理上或逻辑上完全或部分地彼此位于同一位置。此外,尽管图1示出了特定数量的客户端系统130、社交网络系统160、第三方系统170和网络110,但是本公开考虑了任何合适数量的客户端系统130、社交网络系统160、第三方系统170和网络110。作为示例而非限制的方式,网络环境100可以包括多个客户端系统130、社交网络系统160、第三方系统170和网络110。

本公开考虑了任何合适的网络110。作为示例而非限制的方式,网络110的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网的一部分、公共交换电话网络(pstn)的一部分、蜂窝电话网络、或这些中的两项或更多项的组合。网络110可以包括一个或多个网络110。

链路150可将客户端系统130、社交网络系统160和第三方系统170连接到通信网络110或彼此连接。本公开考虑了任何合适的链路150。在特定实施方式中,一个或多个链路150包括一个或多个有线线路(例如数字用户线路(dsl)或有线数据业务接口规范(docsis)、无线(例如wi-fi或微波接入全球互操作性(wimax))或光(例如同步光网络(sonet)或同步数字分层结构(sdh))链路。在特定实施方式中,一个或多个链路150各自包括自组织网络、内联网、外联网、vpn、lan、wlan、wan、wwan、man、因特网的一部分、pstn的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路150或两项或更多项这样的链路150的组合。链路150不一定在整个网络环境100中是相同的。一个或多个第一链路150可以在一个或多个方面不同于一个或多个第二链路150。

在特定实施方式中,客户端系统130可以是包括硬件、软件或嵌入式逻辑组件或两个或更多个这样的组件的组合的电子设备,并且能够执行由客户端系统130实现或支持的适当功能。作为示例而非限制的方式,客户端系统130可以包括计算机系统,诸如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、gps设备、照相机、个人数字助理(pda)、手持电子设备、蜂窝电话、智能电话、其他合适的电子设备或其任何合适的组合。本公开考虑了任何合适的客户端系统130。客户端系统130可使客户端系统130处的网络用户能够访问网络110。客户端系统130可使其用户能够与其他客户端系统130处的其他用户通信。

在特定实施方式中,客户端系统130可以包括网络浏览器132,例如microsoftinternetexplorer、googlechrome或mozillafirefox,并且可以具有一个或多个附件、插件或其他扩展,例如工具栏或雅虎工具栏。客户端系统130处的用户可输入将网络浏览器132引导到特定服务器(诸如服务器162或与第三方系统170相关联的服务器)的统一资源定位符(url)或其他地址,并且网络浏览器132可生成超文本传输协议(http)请求并将http请求传送到服务器。服务器可以接受http请求,并响应于http请求而将一个或多个超文本标记语言(html)文件传送到客户端系统130。客户端系统130可基于来自服务器的html文件渲染网络界面(例如网页)以呈现给用户。本公开考虑了任何合适的源文件。作为示例而非限制的方式,可以根据特定需要,从html文件、可扩展超文本标记语言(xhtml)文件或可扩展标记语言(xml)文件渲染网络界面。这样的界面还可以执行脚本,例如但不限于用javascript、java、microsoftsilverlight编写的脚本、标记语言和脚本的组合,例如ajax(异步javascript和xml)等。这里,在适当的情况下,对网络界面的引用包括一个或多个对应的源文件(浏览器可以使用该源文件来渲染网络界面),并且反之亦然。

在特定实施方式中,社交网络系统160可以是可承载在线社交网络的可网络寻址的计算系统。社交网络系统160可以生成、存储、接收和发送社交网络数据,例如用户简档数据、概念简档数据、社交图谱信息或与在线社交网络相关的其他合适数据。社交网络系统160可由网络环境100的其他组件直接访问或经由网络110访问。作为示例而非限制的方式,客户端系统130可以使用网络浏览器132或与社交网络系统160相关联的本地应用程序(例如,移动社交网络应用程序、消息收发应用程序、另一合适的应用程序或其任何组合)直接或经由网络110访问社交网络系统160。在特定实施方式中,社交网络系统160可包括一个或多个服务器162。每个服务器162可以是单一服务器或跨越多个计算机或多个数据中心的分布式服务器。服务器162可以是各种类型的,例如但不限于,网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适于执行本文所述的功能或处理的另一服务器、或其任意组合。在特定实施方式中,每个服务器162可包括硬件、软件或嵌入式逻辑组件或两个或更多个这样的组件的组合,以用于执行由服务器162实现或支持的适当功能。在特定实施方式中,社交网络系统160可包括一个或多个数据存储164。数据存储器164可用于存储各种类型的信息。在特定实施方式中,存储在数据存储器164中的信息可根据特定数据结构来组织。在特定实施方式中,每个数据存储164可以是关系数据库、列数据库、相关数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开考虑了任何合适类型的数据库。特定实施方式可提供使客户端系统130、社交网络系统160或第三方系统170能够管理、检索、修改、添加或删除存储在数据存储器164中的信息的界面。

在特定实施方式中,社交网络系统160可以将一个或多个社交图谱存储在一个或多个数据存储164中。在特定实施方式中,社交图谱可以包括多个节点——其可以包括多个用户节点(每个对应于特定用户)或多个概念节点(每个对应于特定概念)——以及连接这些节点的多条边线。社交网络系统160可以向在线社交网络的用户提供与其他用户通信和交互的能力。在特定实施方式中,用户可以经由社交网络系统160加入在线社交网络,并且然后向他们希望连接到的社交网络系统160的多个其他用户添加连接(例如,关系)。这里,术语“好友”可以指社交网络系统160的任何其他用户,其中用户已经通过社交网络系统160与该用户形成了连接、关联或关系。

在特定实施方式中,社交网络系统160可向用户提供对社交网络系统160支持的各种类型的项目或对象采取动作的能力。作为示例而非限制的方式,项目和对象可以包括社交网络系统160的用户可以所属的组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户通过服务购买或销售项目的交易、与用户可以执行的广告的交互、或其他合适的项目或对象。用户可以与能够在社交网络系统160中表示或由第三方系统170的外部系统表示的任何事物交互,第三方系统170与社交网络系统160分离并且经由网络110耦接到社交网络系统160。

在特定实施方式中,社交网络系统160能够链接各种实体。作为示例而非限制的方式,社交网络系统160可以使用户能够彼此交互以及从第三方系统170或其他实体接收内容,或者允许用户通过应用程序编程接口(api)或其他通信信道与这些实体交互。

在特定实施方式中,第三方系统170可包括一个或多个类型的服务器、一个或多个数据存储、一个或多个接口(包括但不限于api)、一个或多个网络服务、一个或多个内容源、一个或多个网络、或例如服务器可与之通信的任何其他合适组件。第三方系统170可以由与操作社交网络系统160的实体不同的实体操作。然而,在特定实施方式中,社交网络系统160和第三方系统170可彼此协同操作以向社交网络系统160或第三方系统170的用户提供社交网络服务。在这个意义上,社交网络系统160可以提供平台或骨干,诸如第三方系统170的其他系统可以使用该平台或骨干来通过因特网向用户提供社交网络服务和功能。

在特定实施方式中,第三方系统170可包括第三方内容对象提供商。第三方内容对象提供商可包括一个或多个内容对象源,其可被传送到客户端系统130。作为示例而非限制的方式,内容对象可以包括关于用户感兴趣的事物或活动的信息,诸如,电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论、或其他合适的信息。作为另一示例而非限制的方式,内容对象可以包括奖励内容对象,例如优惠券、折扣票、礼券或其他合适的奖励对象。

在特定实施方式中,社交网络系统160还包括用户生成的内容对象,其可以增强用户与社交网络系统160的交互。用户生成的内容可以包括用户可以向社交网络系统160添加、上传、发送或“张贴”的任何内容。作为示例而非限制的方式,用户将帖子从客户端系统130传送到社交网络系统160。帖子可包括诸如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似数据或媒体的数据。内容还可以由第三方通过诸如新闻馈送或流的“通信信道”添加到社交网络系统160。

在特定实施方式中,社交网络系统160可包括各种服务器、子系统、程序、模块、日志和数据存储。在特定实施方式中,社交网络系统160可包括下列中的一项或多项:网络服务器、动作记录器、api请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象曝光日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块、用户界面模块、用户简档存储、连接存储、第三方内容存储或位置存储。社交网络系统160还可以包括合适的组件,例如网络接口、安全机构、负载均衡器、故障转移服务器、管理和网络操作控制台、其他合适的组件或其任何合适的组合。在特定实施方式中,社交网络系统160可以包括用于存储用户简档的一个或多个用户简档存储。用户简档可包括例如传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息,诸如工作经验、教育历史、爱好或偏好、兴趣、亲和度或位置。兴趣信息可以包括与一个或多个类别相关的兴趣。类别可以是一般性的或具体的。作为示例而非限制的方式,如果用户“点赞”关于鞋的品牌的文章,则该类别可以是该品牌或“鞋”或“服装”的一般类别。连接存储可以用于存储关于用户的连接信息。连接信息可以指示具有相似或共同的工作经验、组成员资格、爱好、教育历史或以任何方式相关或共享共同属性的用户。连接信息还可以包括不同用户和内容(内部和外部)之间的用户定义的连接。网络服务器可用于经由网络110将社交网络系统160链接到一个或多个客户端系统130或一个或多个第三方系统170。网络服务器可以包括用于在社交网络系统160和一个或多个客户端系统130之间接收和路由消息的邮件服务器或其他消息收发功能。api请求服务器可允许第三方系统170通过调用一个或多个api来访问来自社交网络系统160的信息。动作记录器可用于从网络服务器接收关于用户在社交网络系统160上或在社交网络系统160之外的动作的通信。结合动作日志,可以维护对第三方内容对象的用户曝光的第三方内容对象日志。通知控制器可以向客户端系统130提供关于内容对象的信息。可以将信息作为通知推送到客户端系统130,或者可以响应于从客户端系统130接收的请求而从客户端系统130拉出信息。授权服务器可用于强制社交网络系统160的用户的一个或多个隐私设置。用户的隐私设置确定可以如何共享与用户相关联的特定信息。授权服务器可允许用户例如通过设置适当的隐私设置,选择让或选择不让社交网络系统160记录他们的动作或与其他系统(例如,第三方系统170)共享他们的动作。第三方内容对象存储可用于存储从第三方(例如第三方系统170)接收的内容对象。位置存储可用于存储从与用户相关联的客户端系统130接收的位置信息。广告定价模块可组合社交信息、当前时间、位置信息或其他合适的信息,从而以通知的形式向用户提供相关广告。

社交图谱

图2示出了示例社交图谱200。在特定实施方式中,社交网络系统160可以将一个或多个社交图谱200存储在一个或多个数据存储中。在特定实施方式中,社交图谱200可包括多个节点,其可以包括多个用户节点202或多个概念节点204——和连接这些节点的多个边线206。为了教学目的,示出了图2所示的二维可视图表示形式的示例社交图谱200。在特定实施方式中,社交网络系统160、客户端系统130或第三方系统170可访问社交图谱200和相关社交图谱信息以用于合适的应用。社交图谱200的节点和边线可以作为数据对象存储在例如数据存储(诸如社交图谱数据库)中。这样的数据存储可以包括社交图谱200的节点或边线的一个或多个可搜索或可查询索引。

在特定实施方式中,用户节点202可以对应于社交网络系统160的用户。作为示例而非限制的方式,用户可以是与社交网络系统160交互或通过社交网络系统160通信的个人(人类用户)、实体(例如,企业、商业或第三方应用程序)或组(例如,个人或实体的)。在特定实施方式中,当用户向社交网络系统160注册账户时,社交网络系统160可以创建与用户相对应的用户节点202,并将用户节点202存储在一个或多个数据存储中。本文描述的用户和用户节点202可以在适当的情况下指代注册用户和与注册用户相关联的用户节点202。此外或者作为替代,本文描述的用户和用户节点202可以在适当的情况下指代尚未向社交网络系统160注册的用户。在特定实施方式中,用户节点202可以与用户提供的信息或包由括社交网络系统160在内的各种系统收集的信息相关联。作为示例而非限制的方式,用户可以提供他或她的姓名、简档图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣或其他人口统计信息。在特定实施方式中,用户节点202可以与对应于与用户相关联的信息的一个或多个数据对象相关联。在特定实施方式中,用户节点202可以对应于一个或多个网络界面。

在特定实施方式中,概念节点204可对应于概念。作为示例而非限制的方式,概念可以对应于地方(例如,电影院、餐馆、地标或城市);网站(例如,与社交网络系统160相关联的网站或与网络应用服务器相关联的第三方网站);实体(例如个人、企业、团体、运动队或名人);资源(例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用程序),其可以位于社交网络系统160内或外部服务器(例如网络应用服务器)上;不动产或知识产权(例如雕塑、绘画、电影、游戏、歌曲、思想、照片或书面作品);游戏;活动;思想或理论;另一适当的概念;或者两个或更多个这样的概念。概念节点204可以与用户提供的概念的信息或由包括社交网络系统160在内的各种系统收集的信息相关联。作为示例而非限制的方式,概念的信息可以包括名称或标题;一个或多个图像(例如,书的封面的图像);位置(例如,地址或地理位置);网站(可与url相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或这类信息的任何适当组合。在特定实施方式中,概念节点204可与对应于与概念节点204相关联的信息的一个或多个数据对象相关联。在特定实施方式中,概念节点204可以对应于一个或多个网络界面。

在特定实施方式中,社交图谱200中的节点可以表示网络界面(其可以被称为“简档界面”)或由网络界面表示。简档界面可由社交网络系统160托管或可由社交网络系统160访问。简档界面还可以托管在与第三方服务器170相关联的第三方网站上。作为示例而非限制的方式,对应于特定外部网络界面的简档界面可以是特定外部网络界面,并且简档界面可以对应于特定概念节点204。简档界面可由所有用户或其他用户的选定子集查看。作为示例而非限制的方式,用户节点202可具有对应的用户简档界面,其中对应的用户可添加内容、作出声明或以其他方式表达自己。作为另一示例而非限制的方式,概念节点204可以具有对应的概念简档界面,其中一个或多个用户可以添加内容、作出声明或表达自己,特别是关于对应于概念节点204的概念。

在特定实施方式中,概念节点204可以表示由第三方系统170托管的第三方网络界面或资源。除其他元素外,第三方网络界面或资源可以包括表示动作或活动的内容、可选择的或其他的图标、或其他可交互对象(其可以例如以javascript、ajax或php代码实现)。作为示例而非限制的方式,第三方网络界面可以包括诸如“点赞”、“签到”、“吃”、“推荐”或其他合适动作或活动的可选择图标。查看第三方网络界面的用户可以通过选择图标之一(例如,“签到”)来执行动作,使得客户端系统130向社交网络系统160发送指示用户的动作的消息。响应于该消息,社交网络系统160可以在与用户相对应的用户节点202和与第三方网络界面或资源相对应的概念节点204之间创建边线(例如,签到类型边线),并将边线206存储在一个或多个数据存储中。

在特定实施方式中,社交图谱200中的一对节点可以通过一条或多条边线206彼此连接。连接一对节点的边线206可以表示该对节点之间的关系。在特定实施方式中,边线206可包括或表示对应于一对节点之间的关系的一个或多个数据对象或属性。作为示例而非限制的方式,第一用户可以指示第二用户是第一用户的“好友”。响应于该指示,社交网络系统160可以向第二用户发送“好友请求”。如果第二用户确认“好友请求”,则社交网络系统160可在社交图谱200中创建将第一用户的用户节点202连接到第二用户的用户节点202的边线206,并将边线206作为社交图谱信息存储在一个或多个数据存储164中。在图2的示例中,社交图谱200包括指示用户“a”和用户“b”的用户节点202之间的好友关系的边线206以及指示用户“c”和用户“b”的用户节点202之间的好友关系的边线。尽管本公开描述或示出了使用特定属性连接特定用户节点202的特定边线206,但是本公开考虑了使用任何合适属性连接用户节点202的任何合适边线206。作为示例而非限制的方式,边线206可以表示友谊关系、家庭关系、商业或雇佣关系、粉丝关系(包括例如点赞等)、关注者关系、访问者关系(包括例如访问、查看、签到、共享等)、订户关系、上级/下级关系、互惠关系、非互惠关系、另一合适类型的关系、或两个或更多个这样的关系。此外,尽管本公开通常将节点描述为连接的,但是本公开还将用户或概念描述为连接的。这里,在适当的情况下,对连接的用户或概念的引用可以指与社交图谱200中通过一条或多条边线206连接的那些用户或概念相对应的节点。

在特定实施方式中,用户节点202和概念节点204之间的边线206可以表示由与用户节点202相关联的用户针对与概念节点204相关联的概念执行的特定动作或活动。作为示例而非限制的方式,如图2所示,用户可以“点赞”、“参加”、“播放”、“聆听”、“烹调”、“工作”或“观看”概念,其每一个可以对应于边线类型或子类型。对应于概念节点204的概念简档界面可包括例如可选择的“签到”图标(例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统160可以响应于对应于相应动作的用户动作来创建“收藏夹”边线或“签到”边线。作为另一示例而非限制的方式,用户(用户“c”)可以使用特定应用程序(spotify,其是在线音乐应用程序)来收听特定歌曲(“imagine”)。在这种情况下,社交网络系统160可以在对应于用户的用户节点202和对应于歌曲和应用程序的概念节点204之间创建“收听”边线206和“使用”边线(如图2所示),以指示用户收听了该歌曲并且使用了该应用程序。此外,社交网络系统160可以在与歌曲相对应的概念节点204和应用程序之间创建“播放”边线206(如图2所示),以指示特定歌曲是由特定应用程序播放的。在这种情况下,“播放”边线206对应于由外部应用程序(spotify)在外部音频文件(歌曲“imagine”)上执行的动作。尽管本公开描述了具有连接用户节点202和概念节点204的特定属性的特定边线206,但是本公开考虑了具有连接用户节点202和概念节点204的任何适当属性的任何适当边线206。此外,尽管本公开描述了用户节点202和概念节点204之间的表示单个关系的边线,但是本公开考虑了用户节点202和概念节点204之间的表示一个或多个关系的边线。作为示例而非限制的方式,边线206可以表示用户点赞并且已经在特定概念处使用这两者。可替换地,另一条边线206可以表示用户节点202和概念节点204之间的每种类型的关系(或单个关系的倍数)(如图2中针对用户“e”的用户节点202和针对“spotify”的概念节点204之间所示)。

在特定实施方式中,社交网络系统160可以在社交图谱200中的用户节点202和概念节点204之间创建边线206。作为示例而非限制的方式,查看概念简档界面的用户(例如,通过使用由用户的客户端系统130托管的网络浏览器或专用应用程序)可以通过点击或选择“点赞”图标来指示他或她点赞由概念节点204表示的概念,这可以使得用户的客户端系统130向社交网络系统160发送指示用户点赞与概念简档界面相关联的概念的消息。响应于该消息,社交网络系统160可以在与用户相关联的用户节点202和概念节点204之间创建边线206,如用户和概念节点204之间的“点赞”边线206所示。在特定实施方式中,社交网络系统160可以将边线206存储在一个或多个数据存储中。在特定实施方式中,边线206可由社交网络系统160响应于特定用户动作而自动形成。作为示例而非限制的方式,如果第一用户上传图片、观看电影或收听歌曲,则可以在对应于第一用户的用户节点202和对应于那些概念的概念节点204之间形成边线206。尽管本公开描述了以特定方式形成特定边线206,但是本公开考虑了以任何合适的方式形成任何合适的边线206。

在线社交网络上的搜索查询

在特定实施方式中,用户可通过例如选择查询输入或将文本输入到查询字段中来向社交网络系统160提交查询。在线社交网络的用户可以通过向搜索引擎提供描述主题的短的短语(通常称为“搜索查询”)来搜索与特定主题相关的信息(例如,用户、概念、外部概念或资源)。查询可以是非结构化文本查询,并且可以包括一个或多个文本串(其可以包括一个或多个n-gram)。通常,用户可以将任何字符串输入到查询字段中以搜索社交网络系统160上与文本查询匹配的内容。然后社交网络系统160可以搜索数据存储164(或者特别地,社交图谱数据库)以识别与查询匹配的内容。搜索引擎可使用各种搜索算法基于查询短语进行搜索,并生成识别最有可能与搜索查询相关的资源或内容(例如,用户简档界面、内容简档界面或外部资源)的搜索结果。为了进行搜索,用户可以向搜索引擎输入或发送搜索查询。作为响应,搜索引擎可以识别可能与搜索查询相关的一个或多个资源,每个资源可以单独地称为“搜索结果”,或者共同地称为与搜索查询相对应的“搜索结果”。所识别的内容可包括例如社交图谱元素(即,用户节点202、概念节点204、边线206)、简档界面、外部网络界面或其任何组合。然后社交网络系统160可以生成搜索结果界面,该搜索结果界面具有与所识别的内容相对应的搜索结果,并且将搜索结果界面发送给用户。搜索结果通常以搜索结果界面上的链接列表的形式呈现给用户,每个链接与包含一些识别的资源或内容的不同界面相关联。在特定实施方式中,搜索结果中的每个链接可以是统一资源定位符(url)的形式,统一资源定位符指定对应的界面位于何处以及用于检索该界面的机制。然后社交网络系统160可以将搜索结果界面发送到用户的客户端系统130上的网络浏览器132。然后,在适当时,用户可以点击url链接或以其他方式从搜索结果界面选择内容,以访问来自社交网络系统160或来自外部系统(例如,第三方系统170)的内容。可以根据与搜索查询相关的资源的相关程度对资源进行排名并将资源呈现给用户。搜索结果还可以根据它们与用户相关的相关程度来排名并呈现给用户。换句话说,搜索结果可以基于例如社交图谱信息、用户信息、用户的搜索或浏览历史、或与用户相关的其他适当信息,针对查询的用户而被个性化。在特定实施方式中,资源的排名可以由搜索引擎实现的排名算法来确定。作为示例而非限制的方式,与搜索查询或用户更相关的资源可以比与搜索查询或用户较不相关的资源排名更高。在特定实施方式中,搜索引擎可以将其搜索限制为在线社交网络上的资源和内容。然而,在特定实施方式中,搜索引擎还可以搜索其他源(诸如第三方系统170、因特网或万维网或其他合适的源)上的资源或内容。尽管本公开描述了以特定方式查询社交网络系统160,但是本公开考虑了以任何合适的方式查询社交网络系统160。

输入提示(typeahead)处理和查询

在特定实施方式中,一个或多个客户端侧和/或后端(服务器端侧)处理可以实现和利用“输入提示”特征,该特征可以自动尝试将社交图谱元素(例如,用户节点202、概念节点204或边线206)匹配到当前正由用户以结合请求的界面(例如,用户简档界面、概念简档界面、搜索结果界面、与在线社交网络相关联的本地应用程序的用户界面/视图状态、或在线社交网络的另一合适界面)渲染的输入形式输入的信息,请求的界面可由社交网络系统160托管或可在社交网络系统160中访问。在特定实施方式中,当用户输入文本以作出声明时,输入提示特征可以尝试将在声明中输入的文本字符串匹配到对应于社交图谱200中的用户、概念或边线及其对应元素的字符串(例如,名称、描述)。在特定实施方式中,当发现匹配时,输入提示特征可以利用对现有社交图谱元素中的社交图谱元素(例如,节点名称/类型、节点id、边线名称/类型、边线id或另一合适的引用或标识符)的引用来自动填充表单。在特定实施方式中,当用户将字符输入到表单框中时,输入提示处理可以读取所输入的文本字符的串。当进行每次击键时,前端输入提示处理可以将所输入的字符串作为请求(或调用)发送到在社交网络系统160内执行的后端输入提示处理。在特定实施方式中,输入提示处理可以使用一个或多个匹配算法来尝试识别匹配的社交图谱元素。在特定实施方式中,当发现一个或多个匹配时,输入提示处理可向用户的客户端系统130发送响应,该响应可包括例如匹配社交图谱元素的名称(名称串)或描述,以及潜在地与匹配社交图谱元素相关联的其他元数据。作为示例而非限制的方式,如果用户将字符“pok”输入到查询字段中,则输入提示处理可以显示下拉菜单,该下拉菜单显示匹配的现有简档界面的名称(诸如被命名或致力于“poker”或“pokemon”的简档界面)和相应的用户节点202或概念节点204,然后用户可以点击或以其他方式选择该简档界面,从而确认声明与所选节点对应的匹配用户或概念名称的需求。

关于输入提示处理的更多信息可以在2010年4月19日提交的美国专利申请第12/763162号和2012年7月23日提交的美国专利申请第13/556072号中找到,它们中的每一个都通过引用结合于此。

在特定实施方式中,本文描述的输入提示处理可以应用于由用户输入的搜索查询。作为示例而非限制的方式,当用户将文本字符输入到查询字段中时,输入提示处理可以尝试识别与随着用户正在输入字符而输入到查询字段中的字符串相匹配的一个或多个用户节点202、概念节点204或边线206。当输入提示处理从文本查询接收到包括字符串或n-gram的请求或调用时,输入提示处理可以执行或使其执行搜索以识别具有匹配所输入文本的相应名称、类型、类别或其他标识符的现有社交图谱元素(即,用户节点202、概念节点204、边线206)。输入提示处理可以使用一个或多个匹配算法来尝试识别匹配的节点或边线。当发现一个或多个匹配时,输入提示处理可以向用户的客户端系统130发送响应,该响应可以包括例如匹配节点的名称(名称串)以及潜在地与匹配节点相关联的其他元数据。然后输入提示处理可以显示下拉菜单,该下拉菜单显示匹配的现有简档界面和相应的用户节点202或概念节点204的名称,并且显示可以连接到匹配的用户节点202或概念节点204的匹配边线206的名称,然后用户可以点击或以其他方式选择匹配的用户节点202或概念节点204,从而确认搜索对应于所选节点的匹配的用户或概念名称的需要,或者搜索通过匹配边线连接到匹配的用户或概念的用户或概念的需要。可替换地,输入提示处理可以简单地用排名最高的匹配的名称或其他标识符自动填充表单,而不是显示下拉菜单。然后,用户可以简单地通过在键盘上键入“enter”或通过点击自动填充的声明来确认自动填充的声明。在用户确认匹配节点和边线时,输入提示处理可以发送请求,该请求通知社交网络系统160用户对包含匹配社交图谱元素的查询的确认。响应于所发送的请求,在适当时,社交网络系统160可针对匹配社交图谱元素或连接到匹配社交图谱元素的社交图谱元素,自动(或可替换地基于请求中的指令)调用社交图谱数据库或以其他方式对社交图谱数据库进行搜索。尽管本公开描述了以特定方式将输入提示处理应用于搜索查询,但是本公开考虑了以任何合适的方式将输入提示处理应用于搜索查询。

结合搜索查询和搜索结果,特定实施方式可以利用在2006年8月11日提交的美国专利申请第11/503093号、2010年12月22日提交的美国专利申请第12/977027号、以及2010年12月23日提交的美国专利申请第12/978265号中公开的一个或多个系统、组件、元件、功能、方法、操作或步骤,它们中的每一个通过引用结合于此。

结构化搜索查询

在特定实施方式中,响应于从第一用户(即,查询用户)接收的文本查询,社交网络系统160可解析文本查询并识别文本查询中对应于特定社交图谱元素的部分。然而,在一些情况下,查询可以包括一个或多个歧义项,其中歧义项是可能对应于多个社交图谱元素的项。为了解析歧义项,社交网络系统160可以访问社交图谱200,并然后解析文本查询,以从文本查询中识别与歧义n-gram相对应的社交图谱元素。然后社交网络系统160可以生成一组结构化查询,其中每个结构化查询对应于可能匹配的社交图谱元素中的一个。这些结构化查询可以基于由语法模型生成的字符串,使得它们在引用相关社交图谱元素的自然语言语法中渲染。作为示例而非限制的方式,响应于文本查询,“向我展示我女朋友的朋友”,社交网络系统160可以生成结构化查询“stephanie的好友”,其中结构化查询中的“好友”和“stephanie”是对应于特定社交图谱元素的引用。对“stephanie”的引用将对应于特定用户节点202(其中社交网络系统160已经解析了n-gram“我的女朋友”以对应于用户“stephanie”的用户节点202),然而对“好友”的引用将对应于将该用户节点202连接到其他用户节点202的好友类型边线206(即,连接到“stephanie”的第一度好友的边线206)。当执行该结构化查询时,社交网络系统160可以识别通过好友类型边线206连接到对应于“stephanie”的用户节点202的一个或多个用户节点202。作为另一示例而非限制的方式,响应于文本查询“在facebook工作的好友”,社交网络系统160可以生成结构化查询“我的在facebook工作的好友”,其中结构化查询中的“我的...好友”、“在...工作”和“facebook”是对应于如前所述的特定社交图谱元素的引用(即,对应于公司“facebook”的好友类型边线206、工作类型边线206和概念节点204)。通过响应于用户的文本查询来提供建议的结构化查询,社交网络系统160可以为在线社交网络的用户提供强大的方式,以基于他们的社交图谱属性及其与各种社交图谱元素的关系来搜索社交图谱200中表示的元素。结构化查询可以允许查询用户搜索通过特定边线类型连接到社交图谱200中的特定用户或概念的内容。结构化查询可被发送到第一用户并显示在下拉菜单中(例如,经由客户端侧输入提示处理),然后第一用户可在其中选择适当的查询以搜索期望的内容。使用本文描述的结构化查询的一些优点包括基于有限的信息来找到在线社交网络的用户,基于内容到各种社交图谱元素的关系从在线社交网络汇集内容的虚拟索引,或者找到与您和/或您的好友相关的内容。尽管本公开描述了以特定方式生成特定结构化查询,但是本公开考虑了以任何合适的方式生成任何合适的结构化查询。

关于元素检测和解析查询的更多信息可以在2012年7月23日提交的美国专利申请第13/556072号、2012年12月31日提交的美国专利申请第13/731866号以及2012年12月31日提交的美国专利申请第13/732101号中找到,它们中的每一个通过引用结合于此。关于结构化搜索查询和语法模型的更多信息可以在2012年7月23日提交的美国专利申请第13/556072号、2012年11月12日提交的美国专利申请第13/674695号和2012年12月31日提交的美国专利申请第13/731866号中找到,它们中的每一个通过引用结合于此。

生成关键字和关键字查询

在特定实施方式中,当用户将文本串输入到查询字段中时,社交网络系统160可以向查询用户提供定制的关键字完成建议。关键字完成建议可以以非结构化格式提供给用户。为了生成关键字完成建议,社交网络系统160可以访问社交网络系统160内的多个源以生成关键字完成建议、对来自多个源的关键字完成建议进行评分、并然后将关键字完成建议返回给用户。作为示例而非限制的方式,如果用户键入查询“好友stan”,则社交网络系统160可以建议例如“好友stanford”、“好友stanforduniversity”、“好友stanley”、“好友stanleycooper”、“好友stanleykubrick”、“好友stanleycup”和“好友stanlonski”。在该示例中,社交网络系统160建议作为歧义的n-gram“stan”的修改的关键字,其中,建议可以从多个关键字生成器生成。社交网络系统160可能已经选择了关键字完成建议,这是因为用户已以某种方式连接到建议。作为示例而非限制的方式,查询用户可以在社交图谱200内连接到对应于stanforduniversity的概念节点204,例如通过点赞类型或参加类型的边线206。查询用户还可能有一个名为stanleycooper的好友。尽管本公开描述了以特定方式生成关键字完成建议,但是本公开考虑了以任何合适的方式生成关键字完成建议。

关于关键字查询的更多信息可以在2014年4月3日提交的美国专利申请第14/244748号、2014年8月27日提交的美国专利申请第14/470607号和2014年12月5日提交的美国专利申请第14/561418号中找到,它们中的每一个通过引用结合于此。

多样化媒体搜索结果

诸如社交网络系统160的允许上传、托管或共享视频内容的平台常常受到仅仅是复制品(即,相同副本或具有微小修改的近似相同副本)的多个视频内容实例的阻碍。这种复制品的存在可能是由于上传者希望建立他们自己的关注者,而不是为视频的原始上传者或创建者提升关注者。这样的上传者可以照原样或者以微小修改(例如,试图避免版权检测,以某种方式个性化视频)来重新上传已经存在于社交网络系统160上的视频。复制品的存在可能是来自于用户希望根据个人喜好进行一些微小更改,或者在视频中添加微小的注释,而不需要对视频进行太多的更改。社交网络系统160上存在这些复制品而产生的一个问题是,指定一组搜索项(例如,“猫机器人真空视频”)的搜索查询可能返回充满这些相同副本(例如,自主机器人真空吸尘器上的猫的特定视频的相同副本)和微小修改(例如,相同视频的副本但在视频上的信箱的顶部衬边中显示文本“lol”)的一组搜索结果,从而导致搜索结果集中缺乏多样性。缺乏多样性可能导致查询用户的负面搜索体验,并且可能降低查询用户找到其他感兴趣视频的机会。出于相同的原因,对应于彼此非常相似的视频(例如,逐镜头再现原始“吸尘器上的猫”视频的视频)的一组搜索结果也可能是次优的。本文描述的方法试图通过推广视频内容的唯一实例(例如,原始实例、非常相似的视频中最感兴趣的视频等)并抑制重复的视频或与唯一实例太相似的视频来减少搜索结果缺乏多样性。尽管本公开侧重于多样化视频搜索结果,但它考虑多样化其他类型的媒体搜索结果(例如,新闻搜索结果、音频搜索结果等)。此外,尽管本公开侧重于在社交网络系统160的上下文中应用本文描述的方法,但它考虑在任何其他合适的上下文中(例如,在具有媒体上传、媒体托管或媒体共享能力的任何其他系统或平台的上下文中)应用相同或类似的方法。

在特定实施方式中,社交网络系统160可以接收由查询用户输入的搜索查询(例如,从查询用户的客户端系统130输入)。社交网络系统160可以检索与搜索查询匹配的初始视频集。社交网络系统160可以过滤初始视频集以确定视频的过滤集。过滤可包括从初始集中移除作为初始视频集中的“模态”视频(例如,初始视频、视频的最佳实例)的“复制品”的一个或多个视频。重复视频可以包括相同副本或几乎相同副本的视频。视频可基于其具有与模态视频的数字指纹在相同性的阈值程度内的数字指纹而被识别为重复视频。社交网络系统160可针对过滤集中的每个视频分别计算相对于过滤集中的一个或多个其他视频的一个或多个相似性分数。每个相似性分数可以对应于视频的特征与相应的其他视频的相似度。社交网络系统160可以将过滤集中的视频分组成多个集群。相对于集群中的每个其他视频,每个集群可以包括具有相似性分数大于阈值相似性分数的视频。社交网络系统160可以向第一用户的客户端系统130发送搜索结果界面以供显示,该搜索结果界面包括分别针对过滤集内的一个或多个视频的一个或多个搜索结果。搜索结果可以基于其对应视频的相应集群而在搜索结果界面内被编排。

图3示出了包括视频搜索结果模块的示例搜索结果界面。在特定实施方式中,社交网络系统160可以接收用户输入的搜索查询(例如,来自用户的客户端系统130)。社交网络系统160可解析搜索查询以识别可由社交网络系统160提取的一个或多个n-gram。在特定实施方式中,社交网络系统160可以使用自然语言处理(nlp)分析来解析搜索查询以识别n-gram。通常,n-gram可以是来自给定文本序列的n个项的连续序列。项可以是字符、音素、音节、字母、单词、碱基对、前缀或文本或语音序列中的其他可识别项。n-gram可以包括帖子的内容或与帖子相关联的元数据中的文本(字母、数字、标点符号等)的一个或多个字符。在特定实施方式中,每个n-gram可以包括字符串(例如,文本的一个或多个字符)。在特定实施方式中,n-gram可以包括多于一个的单词。作为示例而非限制的方式,参考图3,社交网络系统160可解析搜索字段310中的搜索查询的一些或全部文本(例如,“猫机器人真空视频”)以识别可提取的n-gram。除其他以外,社交网络系统160可以识别以下n-gram:猫;机器人;猫机器人;机器人真空;真空;猫机器人真空。在特定实施方式中,社交网络系统160可以执行一个或多个合适的预处理步骤,诸如移除某些数字和标点符号(包括散列标签项中的“#”字符)、移除或替换特殊字符和重音、小写化所有文本、其他合适的预处理步骤、或其任何组合。在特定实施方式中,社交网络系统160可使用词频逆文档频率(tf-idf)分析来从搜索查询中移除不重要的字词。tf-idf是用于评估字词对于集合或语料库(例如,在线社交网络上包括一个或多个视频的一组帖子)中的文档(例如,在线社交网络上包括一个或多个视频的特定帖子)的重要性的统计度量。字词在集合或语料库中的重要性越小,该字词被提取为n-gram的可能性就越小。重要性随字词在特定文档中出现的次数成比例地增加,但被文档语料库中字词的频率所抵消。字词在特定文档中的重要性部分地基于文档中的字词计数,字词计数仅是给定字词(例如,字)在文档中出现的次数。该计数可以被归一化,以防止偏向于较长的文档(其可能具有较高的字词计数,而不管该字词在文档中的实际重要性如何),并给出特定文档d中字词t的重要性度量。因此,我们有词频tf(t,d),在最简单的情况下定义为文d档中字词t的出现计数。逆文档频率(idf)是该字词的一般重要性的量度,它是通过将文档总数除以包含该字词的文档数,并然后取该商的对数而获得的。tf-idf中的高权重是通过给定文档中的高词频和整个文档集合中的字词的低文档频率来达到的;因此,权重倾向于滤除共同字词。作为示例而非限制的方式,参考图3,对搜索字段310中的搜索查询的文本(例如,“猫机器人真空视频”)的tf-idf分析可以确定n-gram“猫”和“机器人真空”应被提取为n-gram,其中这些字词在搜索查询中具有高重要性。类似地,对搜索查询中的文本的tf-idf分析可以确定不应将n-gram“视频”提取为n-gram,该字词在搜索查询中具有低重要性(例如,因为它可能是包括视频或视频标题或描述的在线社交网络上的许多帖子中的共同字词,并且因此不会以任何特殊的方式帮助缩小搜索结果集)。关于确定搜索查询中的字词重要性的更多信息可以在2015年10月7日提交的美国专利申请第14/877624号中找到,该申请通过引用结合于此。在特定实施方式中,社交网络系统160可以接收包括一个或多个媒体项(例如表情符号、照片、音频文件等)的搜索查询。社交网络系统160可以使用视频索引或其他媒体索引将这些媒体项翻译成n-gram,如2015年11月25日提交的美国专利申请第14/952707号中所述,该申请通过引用结合于此。尽管本公开描述了以特定方式从特定源接收特定类型的查询,但是它考虑了以任何合适的方式从任何合适的源接收任何合适类型的查询。

在特定实施方式中,社交网络系统160可以检索与搜索查询匹配的初始视频集。社交网络系统160可以通过访问社交网络系统160的一个或多个视频索引来做到这一点,社交网络系统160用相关联的关键字来索引视频,并且尝试将所提取的搜索查询的n-gram与视频索引的关键字进行匹配。初始集可以包括用与所提取的搜索查询的n-gram匹配的关键字进行索引的视频。关于使用视频索引或其他媒体索引来基于搜索查询的n-gram检索视频的更多信息可在2015年11月25日提交的美国专利申请第14/952707号中找到,该申请通过引用结合于此。尽管本公开描述了以特定方式检索特定内容集合,但它考虑了以任何合适的方式检索任何合适的内容。

在特定实施方式中,初始集中的每个视频可以与描述视频的一个或多个特征的一个或多个数字指纹相关联。在特定实施方式中,社交网络系统160可以在任何合适的时间(例如,在上传视频时或此后不久,在搜索查询时)生成视频的数字指纹。作为示例而非限制的方式,社交网络系统160可以生成视频的视频数字指纹,该视频数字指纹可以是概括该视频的不可逆的基于内容的签名(例如,感知散列)。在生成视频数字指纹时,社交网络系统160可以使用一个或多个方法,诸如贯穿视频的关键帧分析、颜色和运动变化。例如,社交网络系统160可以在生成视频数字指纹时考虑视频的各个帧。社交网络系统160可以通过识别、提取、并然后压缩视频的特征分量来生成视频数字指纹。社交网络系统160还可以创建概括视频的音频内容的音频数字指纹。音频指纹可包括提取一条音频内容的声学特征并将其解相关。社交网络系统160可以将音频数字指纹和视频数字指纹两者单独地作为两个不同的指纹与视频相关联,或者可以将它们组合成单个音频-视频数字指纹。数字指纹可以链接到内容标签或附加的相关元数据,诸如文件名、标题、内容创建者(即,视频的创建者)的名称、作者的名称(即,包括视频的在线社交网络上的通信的作者)、版权信息或描述。

在特定实施方式中,社交网络系统160可以过滤初始视频集以确定视频的过滤集。过滤可包括从初始集中移除作为初始视频集中的“模态”视频(例如,初始视频、视频的最佳实例)的“复制品”的一个或多个视频。重复视频可以包括相同副本或几乎相同副本的视频。视频可基于其具有与模态视频的数字指纹在相同性的阈值程度内的数字指纹而被识别为重复视频。在特定实施方式中,社交网络系统160可使用模糊指纹匹配算法来识别模态视频的失真和有噪声版本。在特定实施方式中,社交网络系统160可以基于视频的一个或多个属性来确定哪些视频是复制品(即,要通过过滤过程移除的视频)以及哪些视频和哪些视频是模态的(即,在过滤过程之后要在集合中保留的视频)。作为示例而非限制的方式,社交网络系统160可以确定视频是模态的,如果视频是:较老的(例如,因为它更可能是初始视频);由查询用户对其具有高亲和力的人创建、共享或以其他方式与该人关联;由作为查询用户的第一度社交连接的人创建、共享或以其他方式与该人关联;由与相关联的概念相关、关联或了解相关联的概念的关键作者创建、共享或以其他方式与该关键作者关联(关于识别关键作者的详细信息,可以在2014年11月26日提交的美国专利申请第14/554190号中找到,其通过引用结合于此);有相对高的点赞或评论数;具有相对高的浏览计数;或者具有相对高的图像质量。在特定实施方式中,如果视频是对应于作为其相应集群中嵌入的模态的d维空间中的嵌入的视频,或者如果视频对应于作为其相应集群中的向量的模态的d维空间中的向量,则该视频可以是模态视频。一种方式是通过执行随机漫步技术来确定模态视频,该随机漫步技术部分地计算随机漫步的平稳分布(例如,在随机漫步期间将访问嵌入或向量上的点的概率),并然后确定映射分布(或概率)的图上的每个局部最大值作为模态。在特定实施方式中,可以基于视频上可能存在的任何水印(例如,传统水印、数字水印)将视频识别为复制品,其中水印可以是视频是模态视频的复制品的指示符。水印可以包括添加到视频(或其他媒体)的一个或多个帧中或以其他方式改变视频的一个或多个帧的将该视频识别为复制品的某种形式的信息。对于正在观看视频的用户来说,它可以是视觉上可感知的或不可感知的。尽管本公开描述了以特定方式过滤特定类型的内容,但它考虑了以任何合适的方式过滤任何合适类型的内容。

在特定实施方式中,社交网络系统160可针对过滤集中的每个视频分别计算相对于过滤集中的一个或多个其他视频的一个或多个相似性分数。每个相似性分数可以对应于视频的特征与另一视频的相似度。在特定实施方式中,社交网络系统160可基于与视频相关联的概念的比较来确定两个视频的相似性分数。在特定实施方式中,如本文所述,可基于视频的视觉特征以及其他信息来确定与视频相关联的概念。相似性分数可以表示为从0到1的分数范围,其中相似性分数1对应于完全相同的视频(即,复制品,如果存在的话),并且相似性分数0对应于它们之间没有任何相似性的视频。尽管本公开描述了以特定方式计算用于检测特定内容之间的相似性的特定类型的分数,但是它考虑了以任何合适的方式计算用于检测任何合适的内容之间的相似性的任何合适类型的分数。

图4示出了嵌入空间400的示例视图。在特定实施方式中,相似性分数可基于在d维嵌入空间上的视频的嵌入之间的距离,其中d表示任何适当数量的维度。尽管嵌入空间400被示出为三维空间,但是应当理解,这仅用于说明性目的。嵌入空间400可以具有任何合适的尺寸。在特定实施方式中,社交网络系统160可以在任何合适的时间(例如,在上传视频时或此后不久,在搜索查询时)将视频映射到嵌入空间400作为向量表示(例如,d维向量)。作为将视频映射到嵌入空间的示例,参考图3,基于与视频相关联的信息,可以使用深度学习模型(例如,神经网络)将与搜索结果330相对应的视频和与搜索结果340相对应的视频映射到两个不同的向量上。深度学习模型已经使用训练数据序列(例如,来自在线社交网络上的视频或照片的图像语料库)来训练。向量表示可以基于与视频相关联的一个或多个概念,并且可以是与视频相关联的概念的符号表示。社交网络系统160可以使用各种源来确定与视频相关联的概念。在特定实施方式中,可以基于视频的一个或多个所识别的视觉特征来确定概念。可基于图像识别处理(例如,在社交网络系统160上本地运行、在第三方系统170上运行)来识别视觉特征,该图像识别处理识别视频图像中存在的视觉特征并确定与那些视觉特征相关联的概念。作为示例而非限制的方式,参考图3,社交网络系统160可以识别与搜索结果320对应的视频中的猫的图像相对应的视觉特征(例如,基于形状、颜色、纹理),并且可以确定该视频与概念“猫”相关联。在此示例中,社交网络系统160可以类似地确定与视频相关联的其他概念(例如,“机器人真空吸尘器”,描述其面部可能已经出现在视频中的特定人的概念)。关于确定图像中的概念的更多信息可以在2013年8月5日提交的美国专利申请第13/959446号和2015年12月29日提交的美国专利申请第14/983385号中找到,它们中的每一个通过引用结合于此。在特定实施方式中,可以基于视频的一个或多个音频特征来确定概念。作为示例而不是限制,语音识别处理可以识别与搜索结果320相对应的视频中的人所说的字“猫”,在这种情况下,社交网络系统160可以将视频与概念“猫”相关联。作为另一示例而非限制的方式,声音识别处理可以识别特定人(例如,用户、名人)的声音,并且将该视频与描述该人的概念(例如,直接对应于用户或名人的概念)相关联。作为另一示例而非限制的方式,音频识别处理可以检测到对应于搜索结果320的视频包括艺术家catstevens的歌曲,在这种情况下,社交网络系统160可以将该视频与概念“catstevens”相关联。在特定实施方式中,可以基于与视频相关联的文本来确定相关联的概念。作为示例而非限制的方式,文本可以已经从在线社交网络上的引用该视频、包括该视频或以其他方式与该视频相关联的一个或多个通信(例如,帖子、重分享、评论、私有消息)中提取。作为另一示例而非限制的方式,文本可以已经从与该视频相关联的元数据(例如,标题、文件名、描述)中提取。在这些示例中,社交网络系统160可以通过使用主题索引来确定相关联的概念,以将所提取的文本与用相应概念索引的关键字相匹配。关于使用主题索引来确定与文本相关联的概念的更多信息可以在2011年6月23日提交的美国专利申请第13/167701号和2014年12月5日提交的美国专利申请第14/561418号中找到,它们中的每一个都通过引用结合于此。在特定实施方式中,可以基于与和视频相关联的一个或多个用户相关联的信息来确定相关联的概念。作为示例而非限制的方式,由来自印度的用户创建的视频可以与概念“印度”、“泰姬陵”、“印地语”或任何其他合适的概念相关联。

特定实施方式中,与视频相关联的不同概念可确定其相应向量的属性(例如,幅度、方向)。向量可以提供对应于嵌入空间中的特定点(例如,向量的终点)的坐标。特定点可以是相应视频的“嵌入”。作为示例而非限制的方式,参考图4,嵌入410可以是第一视频的向量表示的终点的坐标,并且嵌入410可以是第二视频的向量表示的终点的坐标。每个嵌入的位置可用于描述与视频相关联的概念。作为示例而非限制的方式,嵌入410可对应于骑乘机器人真空吸尘器的棕色猫的视频,嵌入420可对应于骑乘机器人真空吸尘器的黑色猫的视频,并且嵌入440可对应于玩抓取的狗的视频。在特定实施方式中,社交网络系统160可以使用嵌入的接近度来确定它们相应的视频有多相似。作为示例而非限制的方式,参考图4,并且在前面的示例的基础上,猫视频可能比狗视频彼此更相似。因此,猫视频的嵌入410和嵌入420可以彼此相对接近,并且狗视频的嵌入440可以相对远离猫视频的嵌入。在特定实施方式中,社交网络系统160可以基于它们相应的嵌入之间的欧几里得距离、它们相应的向量表示之间的点积、它们相应的向量表示的余弦相似性、任何其他合适的技术、或它们的任何合适的组合,来确定第一视频相对于第二视频的相似性分数。作为示例而非限制的方式,参考图4,社交网络系统160可以通过应用pythagorean公式:距离来计算嵌入410和嵌入420之间的欧几里德距离,其中,p410表示与嵌入410相对应的点的坐标,并且p420表示与嵌入420相对应的点的坐标。在此示例中,较小距离可转换为较高相似性分数(即,两个嵌入在嵌入空间中越近,其对应视频就可以越相似)。作为另一示例而非限制的方式,社交网络系统160可以计算对应于嵌入410和嵌入420的向量的余弦相似性(即,它们之间的角度的余弦)。在此示例中,相似性分数可随着两个向量的余弦相似性接近1而增加。在特定实施方式中,还可基于视频的特征或概念的二进制表示之间的汉明距离来确定相似性分数。作为示例而非限制的方式,视频的特征或概念可以由n位(例如,256位)的二进制表示来表示。在该示例中,当计算两个特定视频的相似性分数时,社交网络系统160可以确定它们相应的二进制表示之间的汉明距离(例如,通过确定n位的二进制串中不同的位的数量),并且基于该汉明距离确定相似性分数,其中较小的汉明距离转换为较高的相似性分数。

在特定实施方式中,社交网络系统160可将过滤集中的视频分组为多个集群。每个集群可以包括相对于集群中的每个其他视频具有大于阈值相似性分数的相似性分数的视频。作为示例而非限制的方式,如果阈值相似性分数被设置为0.7,并且如果第一视频被计算为相对于第二视频具有0.9的相似性分数,则第一视频和第二视频可以被分组到单个集群中。社交网络系统160可以执行过滤集中的所有视频的比较(即,将每个视频与过滤集中的其他视频进行比较,总共n!次比较)以确定每个视频相对于集合中的其他视频的相似性。作为示例而非限制的方式,可将n个视频的过滤集中的视频索引为表示为或(v1,v2,v3,...,vn)的视频序列。在该示例中,对于每个个体视频,社交网络系统160可以找到针对序列中的每个其他视频的相似性分数(从v1到vn,排除该个体视频本身)。在特定实施方式中,社交网络系统160可以利用嵌入空间400中的向量和/或嵌入表示来将视频分组到集群中。在嵌入空间400中,阈值相似性分数可以对应于阈值区域。作为示例而非限制的方式,参考图4,阈值区域430可以定义特定集群的边界,使得与阈值区域430内的嵌入相对应的视频(包括例如嵌入410和嵌入420)彼此之间的相似性分数大于阈值相似性分数。本质上,在该示例中,社交网络系统160可以使用距离作为相似性的代理,并且可以将“相邻”视频分组到集群中。与任何其他视频没有大于阈值相似性分数(例如,阈值相似性分数0.7)的相似性分数的视频可被视为在一的集群中。类似地,参考图4,其嵌入不在嵌入空间400中的任何其他视频的阈值区域内的视频可被视为在一的集群中。作为示例而非限制的方式,如果对应于嵌入440的视频不在任何其他嵌入的阈值区域内,则其可以在一的集群中。尽管本公开描述了以特定方式分组特定内容,但它考虑了以任何合适的方式分组任何合适的内容。

在特定实施方式中,为了降低复杂性并节省资源(特别是在长视频(即,持续时间大于阈值持续时间的视频,或大视频(即,文件大小大于阈值文件大小的视频)的情况下),社交网络系统160可以在执行本文所述的相似性比较方法之前将视频划分成一个或多个视频片段(例如,将其划分成单独的场景,将其划分成相等的部分)。作为示例而非限制的方式,第一视频x可以被划分为三个片段x1、x2和x3,以及第二视频y可以被划分为四个片段y1、y2、y3和y4。然后社交网络系统160可以针对一个或多个单独视频片段(例如,所有片段、随机片段)执行本文所述的任何合适的相似性比较方法,确定从其创建片段的视频的相似性分数,并且如果它们的相似性分数大于阈值相似性分数,则对视频进行聚类。作为示例而非限制的方式,社交网络系统160可以基于先前的示例来计算片段x1和y2、x2和y3、以及x3和y4之间的相对高的相似性分数,并且可以基于这些相似性分数,来确定视频x和y之间的相对高的相似性分数。在该示例中,如果视频的相似性分数大于阈值相似性分数,则社交网络系统160可以将视频x和y分组并成集群。在特定实施方式中,可为视频片段中的每一个创建唯一嵌入,且社交网络系统160可基于其相应视频片段中的一个或多个的一个或多个嵌入在如本文中所描述的阈值区域内集群视频。在特定实施方式中,社交网络系统160可以将特定的单独视频片段映射到单独向量上,并从所有单独向量创建组合向量(例如,通过卷积它们、平均它们或通过任何合适的非线性组合技术),组合向量用于确定特定视频的组合嵌入。然后社交网络系统160可以对组合的嵌入执行所描述的相似性比较方法。

在特定实施方式中,社交网络系统160可以针对每个集群计算集群分数,该集群分数预测查询用户对集群可能具有的兴趣水平和/或与集群中的视频相关联的概念。在特定实施方式中,集群的集群分数可以基于集群中的视频与搜索查询的相关性。作为示例而非限制的方式,对于搜索查询“猫机器人真空视频”,具有与概念“猫”和“机器人真空吸尘器”相关联的视频的集群可以接收相对高的集群分数,同时具有与概念“狗”和“机器人真空吸尘器”相关联的视频的集群可以接收相对低的集群分数。在特定实施方式中,集群分数可以基于查询用户与被确定为与集群的视频相关联的概念之间的亲和力。作为示例而非限制的方式,对于搜索查询“startrek”,如果查询用户对前者具有比对后者更高的亲和力(例如,可以由第一用户确定,已经点赞了与前者相关联的在线社交网络上的组但还没有点赞与后者相关联的这样的组),则具有与1966年电视系列片《startrek》相关联的视频的集群可以接收比具有与2009年电影《startrek》相关联的视频的集群更高的集群分数。在特定实施方式中,集群分数可以基于人口统计信息、地理位置信息或与查询用户相关联的其他个人信息。作为示例而非限制的方式,如果查询用户是日语使用者、来自日本或者当前在日本(例如,由查询用户的客户端系统130的当前地理位置确定),则包含日语对话的视频集群可以接收相对高的集群分数。作为另一示例而非限制的方式,如果查询用户属于特定年龄组,则特定年龄组通常感兴趣的视频集群可以接收相对高的集群分数。在特定实施方式中,集群分数可以基于当前事件或当前趋势或流行话题。作为示例而非限制的方式,对于搜索查询“选举辩论”,具有与当前选举相关联的辩论的视频的集群,可以接收相对高的集群分数,而具有与先前选举相关联的辩论的视频的集群可以接收相对低的集群分数。作为另一示例而非限制的方式,对于搜索查询“小丑”,当batman电影的话题正在流行(例如,在在线社交网络上频繁讨论)时,具有与“小丑”相关联的视频的集群(即,batmanvillain)可以接收相对高的集群分数,以及具有喜剧演员(即,讲笑话的人)的视频的集群可以接收相对低的集群分数。关于确定趋势话题的更多信息可以在2014年12月30日提交的美国专利申请第14/585782号中找到,该申请通过引用结合于此。在特定实施方式中,集群的集群分数可以基于与集群中的视频相关联的点赞或其他社交信号的数量、集群中视频的总观看次数、其他用户已经花费在观看集群中的视频或与集群中的视频交互的时间的长度、与集群中的视频相关联的点击率(例如,查询用户随后观看第二视频的速率、查询用户在观看视频之后从模块化界面转换到列表或模块化列表界面的速率)、可预测查询用户的兴趣的视频的任何其他合适的度量、或其任何合适的组合。在特定实施方式中,集群的集群分数可以基于与人或实体相关联的集群内的视频,该人或实体被认为是与搜索查询相关联的一个或多个概念的关键作者。在特定实施方式中,集群分数可以基于集群内视频的质量。例如,sn可为具有较高音频和/或视觉质量(例如,较高比特率、帧速率等)的视频的集群计算相对较高的集群分数。尽管本公开描述了以特定方式计算用于预测特定内容组的用户兴趣的特定分数,但是它考虑了以任何适当方式计算用于预测任何适当内容组的用户兴趣的任何适当分数

图5示出了示例搜索结果界面,该界面显示按它们相应的集群分组的视频搜索结果。图6示出了以列表格式显示视频搜索结果的示例搜索结果界面。在特定实施方式中,社交网络系统160可以向第一用户的客户端系统130发送搜索结果界面以供显示,该搜索结果界面包括分别针对过滤集内的一个或多个视频的一个或多个搜索结果。作为示例而非限制的方式,社交网络系统160可以向第一用户的客户端系统130发送用于渲染这种界面的显示的指令。每个搜索结果可以包括到相应视频的链接,或者可以包括视频本身。尽管本公开描述了以特定方式向特定系统发送特定类型的界面,但是它考虑了以任何合适的方式向任何合适的系统计算任何合适类型的界面。

在特定实施方式中,社交网络系统160可以为每个集群中的每个视频计算视频分数,该视频分数预测查询用户对相应视频可能具有的兴趣水平(例如,与集群中的其他视频相比较)。视频的视频分数可以基于一个或多个因素的任何组合。在特定实施方式中,视频的视频分数可基于查询用户和与视频相关联的用户(或多个用户)(例如,视频本身或其实例的创建者、在视频中标记或提及的用户、共享视频的用户)之间的亲和力。作为示例而非限制的方式,参考图6,查询用户可以对“markwilliams”具有相对高的亲和力,“markwilliams”是创建与搜索结果620相对应的视频的用户(例如,由用户“markwilliams”的查询用户点赞帖子或其他内容的历史确定)。社交网络系统160可相应地计算与搜索结果620相对应的视频的相对高的视频分数。在特定实施方式中,视频的视频分数可以基于社交图谱200上查询用户和与视频相关联的用户(或多个用户)之间的分离程度。作为一个示例而不是作为限制,再次参考图6,查询用户可以是共享与搜索结果610对应的视频的五个用户的第一度连接。在该示例中,社交网络系统160可相应地计算与搜索结果610相对应的视频的相对高的视频分数。在特定实施方式中,视频的视频分数可以基于点赞的数量或与视频相关联的其他社交信号(例如,其他反应、评论)、视频的总观看次数、其他用户已经花费在观看视频或与视频交互的时间的长度、与视频相关联的点击率(例如,查询用户随后观看第二视频的速率、查询用户在观看视频之后从模块化界面转换到列表或模块化列表界面的速率)、用于测量视频中的预测兴趣水平的其他合适的度量、或其任何合适的组合。在特定实施方式中,视频的视频分数可以基于视频的年龄(例如,创建视频的时间点、将视频上传到在线社交网络上的时间点)。作为示例而非限制的方式,社交网络系统160可以为视频的较旧版本计算比相同视频的较新版本更高的视频分数(例如,因为社交网络系统160可以偏爱视频的原件,并且较旧版本更有可能是初始版本)。在特定实施方式中,视频的视频分数可以基于人或实体相关联的视频,该人或实体被认为是视频中特征化的一个或多个概念的关键作者。作为示例而非限制的方式,如果视频是由制造机器人真空吸尘器的公司创建、上传或共享的,则社交网络系统160可以为骑乘机器人真空吸尘器的猫的视频计算相对高的视频分数。在特定实施方式中,视频的视频分数可以基于视频的质量。作为示例而非限制的方式,社交网络系统160可以为具有更高音频和/或视觉质量(例如,相对高的比特率、帧速率等)的视频计算相对高的视频分数。在特定实施方式中,如果个人或实体为特定视频和/或集群的推广付费或以其他方式请求推广该特定视频和/或集群,则特定视频的视频分数和/或特定集群的集群分数可以增加。作为示例而非限制的方式,acme公司可以付费来增加以机器人真空吸尘器的品牌为特征的视频和/或集群的视频分数和/或集群分数。尽管本公开描述了以特定方式计算用于预测特定内容的用户兴趣的特定分数,但它考虑了以任何适当方式计算用于预测任何适当内容的用户兴趣的任何适当分数。

在特定实施方式中,搜索结果可基于其对应视频的相应集群而在搜索结果界面内被编排。搜索结果界面可以采用任何合适的形式。在特定实施方式中,搜索结果界面可以采取模块化界面的形式,视频搜索结果可以在几个模块中的一个内显示,其中每个模块可以被配置为显示特定类型的内容。作为示例而非限制的方式,参考图3,视频搜索结果可与诸如“topposts”模块360(例如,仅显示与匹配搜索查询的帖子相对应的搜索结果的模块)的其他模块一起显示在视频搜索结果模块320内(例如,仅显示与匹配搜索查询的视频相对应的搜索结果的模块)。当社交网络系统160不能确定查询用户已经表达了视频意图(即,观看视频的意图)时,模块化界面可以是特别合适的。关于模块化界面的更多信息可以在2014年4月3日提交的美国专利申请第14/244748号和2016年2月3日提交的美国专利申请第15/014868号中找到,它们中的每一个通过引用结合于此。在特定实施方式中,搜索结果界面可以采取列表界面的形式,其以列表(水平、垂直、滚动格式或任何其他合适的格式)显示视频搜索结果。该列表可以包括多种类型的内容(例如,视频内容、音频内容、文本内容或其任何合适的组合),或者其可以被配置为仅包括视频(或另一特定类型的内容)。作为示例而非限制的方式,参考图6,视频搜索结果可以显示为搜索结果的列表(例如,缩略图)。当社交网络系统160确定查询用户已经表达了视频意图时,列表界面可以是特别合适的。作为示例而非限制的方式,如果用户已经提交了指定搜索查询将仅针对视频被过滤的输入,则社交网络系统160可以确定视频意图。作为另一示例而非限制的方式,如果用户在搜索查询中包括诸如“视频”的字词(例如,参考图6,搜索查询“猫机器人真空视频中的字词“视频”,则社交网络系统160可以确定视频意图。作为另一示例而非限制的方式,如果在执行搜索查询时检索的结果集包括相对大量的视频搜索结果,则社交网络系统160可以确定视频意图。

在特定实施方式中,搜索结果界面可以采取模块列表界面的形式。作为示例而非限制的方式,参考图5,视频搜索结果可以显示在诸如模块510和模块520的模块内,每个模块对应于单个集群。在该示例中,模块510内的搜索结果可以是第一集群(例如,描绘猫以某种方式与机器人吸尘器交互的视频集群),并且模块520内的搜索结果可以是第二集群(例如,描绘猫在穿着鲨鱼服装的同时骑乘机器人吸尘器的视频集群)。在特定实施方式中,社交网络系统160可以在不同形式的搜索结果界面之间切换。切换可以响应于查询用户的输入。作为示例而非限制的方式,向查询用户呈现图3的搜索结果界面,该界面能够激活交互元素350(即,“查看更多”按钮)以切换到类似于图5或图6的搜索结果界面的搜索结果界面。作为示例而非限制的方式,基于先前示例,查询用户能够选择对应于特定集群(例如,对应于视频搜索结果330的视频集群)的交互元素,社交网络系统160可以响应于该交互元素切换到显示对应于该集群的视频的搜索结果的列表界面。作为另一个示例而不是作为限制,查询用户呈现图5的搜索结果界面,该界面能够激活交互元素530(即,“查看更多”按钮)以切换到图6的搜索结果界面。查询用户可以在任何适当形式的搜索结果界面之间来回切换。

在特定实施方式中,显示的视频搜索结果及其显示顺序可以基于要显示它们的搜索结果界面的形式。旨在通过不同形式的搜索结果界面实现的目标可以稍有不同,并且社交网络系统160可以针对不同形式的搜索结果界面选择和订购不同的视频以实现那些不同的目标。作为示例而非限制的方式,尽管所有界面都可以被设计为呈现相关和不同的内容,但是列表界面可能比模块化界面更倾向于相关性。通过对比示例而不是限制的方式,模块化界面可能比列表界面更倾向于提供不同的结果(例如,通过显示可用的视频内容的宽度来激起查询用户对探索现有视频内容的兴趣)。因此,在这些示例中,多样性可以在模块化界面中比在列表界面中发挥更大的作用,并且相关性可以在列表界面中比在模块化界面中发挥更大的作用。相关地,在特定实施方式中,用于确定如何显示视频搜索结果的机器学习过程可以针对每种类型的界面进行不同的调整,以通过不同地加权不同的输入来实现它们的不同目标。作为示例而非限制的方式,关于列表界面,社交网络系统160可以对其他用户花费在视频上的时间长度进行加重权重,以确定要选择哪些视频以及如何对它们排名(例如,因为该度量可以是相关性的积极指示符)。作为另一示例而非限制的方式,关于模块化界面,社交网络系统160可以在观看特定视频之后,对转换到列表界面的查询用户的点击率进行加重权重(例如,因为这可以是视频激起查询用户兴趣的积极指示符)。尽管本公开描述了以特定方式显示和排序特定类型的搜索结果,但它考虑了以任何合适的方式显示和排序任何合适类型的搜索结果。

在特定实施方式中,搜索结果在搜索结果界面上编排的方式可取决于搜索结果界面的形式。在特定实施方式中,在模块化界面中,来自一个或多个集群的一个或多个视频可以在视频搜索结果模块内显示。在特定实施方式中,可以在模块化界面的视频搜索结果模块内,仅显示与来自具有大于阈值集群分数的集群分数的集群的视频相对应的视频搜索结果。作为示例而非限制的方式,参考图3,在视频搜索结果模块320中显示的三个视频搜索结果可以对应于来自具有最高集群分数的三个集群中的每一个的视频(例如,其中阈值集群分数使得只有得分最高的三个集群可以具有大于阈值集群分数的集群分数)。在特定实施方式中,可以在视频搜索结果模块内,仅显示与具有大于阈值视频分数的视频分数的视频相对应的视频搜索结果。作为示例而非限制的方式,参考图3,在视频搜索结果模块320中显示的三个视频搜索结果可以对应于在它们相应的集群内具有最高视频分数的视频(例如,其中阈值视频分数使得只有最高分数的视频可以具有大于阈值视频分数的视频分数)。所显示的视频搜索结果的顺序可以基于与各个视频的各个集群相关联的集群分数。作为示例而非限制的方式,参考图3,与对应于视频搜索结果330的视频相关联的集群可以具有比与对应于视频搜索结果340的视频相关联的集群更高的集群分数(假设视频通过它们相应的集群分数按降序水平编排)。

在特定实施方式中,在列表界面中,视频搜索结果的列表可以基于它们对应的视频所属的集群按顺序显示。该顺序可以基于集群多样性算法。集群多样性算法可通过要求各种集群由列表界面的顺序充分表示(例如,通过要求来自每个集群的多个搜索结果出现在列表上的视频搜索结果的最高排名组中)来确保在按顺序排列的列表中存在集群多样性的阈值水平。作为示例而非限制的方式,集群多样性算法可以要求在列表界面顶部的搜索结果包括来自每个集群的单个视频搜索结果(例如,对应于在其相应集群中具有最高视频分数的视频的一个)——即,一组唯一视频搜索结果。在该示例中,社交网络系统160可以在显示任何其他视频搜索结果之前首先显示唯一视频搜索结果。例如,参考图6,搜索查询可以返回与分组到三个不同集群中的视频相对应的视频搜索结果,并且前三个显示的视频搜索结果可以分别对应于三个不同集群。在特定实施方式中,可以在该组唯一视频搜索结果之后显示其他视频搜索结果。作为示例而非限制的方式,参考图6,后两个显示的视频搜索结果可以对应于来自与前三个显示的视频搜索结果相对应的视频的一个或多个集群的视频。视频的顺序还可以基于它们相应的集群分数。作为示例而非限制的方式,在一组视频搜索结果中,参考图6,与视频搜索结果610相对应的集群可以具有比与视频搜索结果620相对应的集群更高的集群分数(假设视频通过它们相应的集群分数以降序垂直地编排)。在特定实施方式中,社交网络系统160可基于其相应集群内的对应视频的相应视频分数来对列表排序。与具有相对高的视频分数的视频相对应的视频搜索结果可以在列表界面中的列表上排名上升。作为示例而非限制的方式,参考图6,前三个显示的视频搜索结果可以对应于在它们相应的集群内具有最高视频分数的视频。在特定实施方式中,顺序可基于视频的相似性分数(或对应嵌入之间的距离)。作为示例而非限制的方式,对应于视频的视频搜索结果可以在列表降级到下端,该视频与对应于先前显示的视频搜索结果(例如,来自该组唯一视频搜索结果的视频搜索结果)的视频共享非常高的相似度分数(例如,高于高阈值相似度分数的相似度分数)。对于不是那么高的相似性分数(例如,相似性分数超过相似性分数阈值但不是高阈值相似性分数),可以使用具有较低攻击性的重新排序方法。作为一个示例而不是作为限制,这样的视频可能不会在列表的最下端被降级。通过以这种方式基于相似性水平(即,由它们相应的相似性分数或它们相应的嵌入中的距离确定)来排序各个视频搜索结果,社交网络系统160可以进一步提升基于个体的多样性。

在特定实施方式中,在模块列表界面中,视频搜索结果可以显示为集群模块的列表。每个集群模块可以对应于单个集群,并且可以包括一个或多个视频搜索结果的显示(例如,在相应集群中具有最高视频分数的视频)。作为示例而非限制的方式,参考图5,模块510可以对应于包括在其中显示的两个视频的第一视频集群,并且模块520可以对应于包括在其中显示的两个视频的第二视频集群。每个集群模块可以用作视频的“折叠”集合,使得查询用户能够通过提交适当的输入(例如,参考图5,通过选择交互元素530)来访问相应集群中的其他视频。

图7示出了用于多样化视频搜索结果的示例方法700。该方法可以在步骤710处开始,在其处社交网络系统160可以从第一用户的客户端系统130接收由第一用户输入的搜索查询。在步骤720,社交网络系统160可以检索与搜索查询匹配的初始视频集。在步骤730,社交网络系统160可以过滤初始视频集以确定视频的过滤集,其中,过滤包括针对初始视频集中的一个或多个模态视频中的每一个,基于具有与该模态视频的数字指纹在相同性的阈值程度内的数字指纹的一个或多个重复视频而从初始视频集中移除一个或多个重复视频。在步骤740处,社交网络系统160可针对过滤集中的每个视频,分别计算相对于该过滤集中的一个或多个其他视频的一个或多个相似性分数,其中,每个相似性分数对应于该视频的特征与相应的其他视频的相似度。在步骤750,社交网络系统160可将过滤集中的视频分组为多个集群,每个集群包括相对于集群中的每个其他视频具有大于阈值相似性分数的相似性分数的视频。在步骤760,社交网络系统160可以向第一用户的客户端系统130发送搜索结果界面以供显示,该搜索结果界面包括分别针对过滤集中的一个或多个视频的一个或多个搜索结果,其中,搜索结果是基于其对应视频的相应集群而在搜索结果界面内被编排的。在适当的情况下,特定实施方式可重复图7的方法的一个或多个步骤。尽管本公开描述并示出了图7的方法的特定步骤,如图7中以特定顺序出现的,本公开考虑了图7的方法的任何合适步骤,以任何适当次序出现。此外,尽管本公开描述并示出了用于多样化视频搜索结果的示例方法,该方法包括图7的方法的特定步骤,在适当的情况下,本公开考虑了用于多样化视频搜索结果的任何合适的方法,该方法包括任何合适的步骤,其可以包括图7的方法的所有步骤、一些步骤或不包括图7的方法的任何步骤。此外,尽管本公开描述并示出了执行图7的方法的特定步骤的特定组件、设备或系统,但是本公开考虑了执行图7的方法的任何合适步骤的任何合适的组件、设备或系统的任何合适的组合。

社交图谱的亲和力和系数

在特定实施方式中,社交网络系统160可确定各种社交图谱实体彼此间的社交图谱亲和力(在本文中可称为“亲和力”)。亲和力可以表示与在线社交网络相关联的特定对象之间的关系的强度或兴趣水平,诸如用户,概念,动作,广告,与在线社交网络相关联的其他对象,或其任何合适的组合。还可以相对于与第三方系统170或其他合适的系统相关联的对象来确定亲和力。可以建立针对每个用户、主题或内容类型的社交图谱实体的总体亲和力。基于对与社交图谱实体相关联的动作或关系的持续监视,整体亲和力可以改变。尽管本公开描述了以特定方式确定特定的亲和力,但是本公开考虑了以任何合适的方式确定任何合适的亲和力。

在特定实施方式中,社交网络系统160可使用亲和力系数(其在本文中可称为“系数”)来测量或量化社交图谱亲和力。该系数可以表示或量化与在线社交网络相关联的特定对象之间的关系的强度。该系数还可以表示基于用户对动作的兴趣来测量用户将执行特定动作的预测概率的概率或函数。以这种方式,可以基于用户的先前动作来预测用户的未来动作,其中可以至少部分地根据用户的动作的历史来计算系数。系数可用于预测可在在线社交网络内或外的任何数量的动作。作为示例而非限制的方式,这些动作可以包括各种类型的通信,诸如发送消息、张贴内容或对内容进行评论;各种类型的观察动作,例如访问或查看简档界面、媒体或其他合适的内容;关于两项或更多项社交图谱实体的各种类型的重合信息,例如在相同组中、在相同照片中添加标签、在相同位置等级或参加相同活动;或其他适当的动作。尽管本公开描述了以特定方式测量亲和力,但是本公开考虑了以任何合适的方式测量亲和力。

在特定实施方式中,社交网络系统160可以使用多种因子来计算系数。这些因子可以包括,例如,用户动作、对象之间的关系类型、位置信息、其他合适的因子或其任何组合。在特定实施方式中,当计算系数时,可以不同地加权不同的因子。每个因子的权重可以是静态的,或者权重可以根据例如用户、关系的类型、动作的类型、用户的位置等而改变。可以根据因子的权重组合因子的评级,以确定用户的总体系数。作为示例而非限制的方式,特定用户动作可以被分配评级和权重两者,然而与特定用户动作相关联的关系被分配评级和相关权重(例如,因此权重总计为100%)。为了计算用户对特定对象的系数,分配给用户的动作的评级可以包括例如总体系数的60%,然而用户和对象之间的关系可以包括总体系数的40%。在特定实施方式中,社交网络系统160在确定用于计算系数的各种因子的权重时可考虑各种变量,例如,自信息被访问以来的时间、衰减因子、访问频率、与信息的关系或与关于其信息被访问的对象的关系、与连接到该对象的社交图谱实体的关系、用户动作的短期或长期平均值、用户反馈、其他合适的变量或其任何组合。作为示例而非限制的方式,系数可以包括衰减因子,该衰减因子使得由特定动作提供的信号的强度随时间衰减,使得在计算系数时更近期的动作更相关。评级和权重可以基于对系数所基于的动作的连续跟踪而连续地更新。可以采用任何类型的处理或算法来分配、组合、平均等每个因子的评级和分配给因子的权重。在特定实施方式中,社交网络系统160可使用在历史动作和过去用户响应上训练的机器学习算法,或通过将用户暴露于各种选项并测量响应而从用户获得的数据来确定系数。尽管本公开描述了以特定方式计算系数,但是本公开考虑了以任何合适的方式计算系数。

在特定实施方式中,社交网络系统160可基于用户的动作来计算系数。社交网络系统160可以监视在线社交网络上、第三方系统170上、其他适当系统上或其任何组合上的这种动作。可以跟踪或监视任何合适类型的用户动作。典型的用户动作包括查看简档界面、创建或发布内容、与内容交互、在图像中标记或被标记、加入组、列出和确认活动出席情况、在位置处签到、点赞特定界面、创建界面以及执行促进社交活动的其他任务。在特定实施方式中,社交网络系统160可基于具有特定类型内容的用户动作来计算系数。内容可以与在线社交网络、第三方系统170或另一合适的系统相关联。内容可以包括用户、简档界面、帖子、新闻故事、标题、即时消息、聊天室对话、电子邮件、广告、图片、视频、音乐、其他合适的对象、或其任何组合。社交网络系统160可以分析用户的动作以确定一个或多个动作是否指示对主题、内容、其他用户等的亲和力。作为示例而非限制的方式,如果用户频繁地发布与“咖啡”或其变体相关的内容,则社交网络系统160可以确定用户具有关于“咖啡”概念的高系数。特定动作或动作类型可被分配比其他动作更高的权重和/或评级,这可影响总体计算系数。作为示例而非限制的方式,如果第一用户向第二用户发送电子邮件,则动作的权重或评级可以高于第一用户简单地查看第二用户的用户简档界面时的权重或评级。

在特定实施方式中,社交网络系统160可基于特定对象之间的关系的类型来计算系数。参考社交图谱200,社交网络系统160可以在计算系数时分析连接特定用户节点202和概念节点204的边线206的数量和/或类型。作为示例而非限制的方式,可以为通过配偶类型边线(表示两个用户结婚)连接的用户节点202分配比通过好友类型边线连接的用户节点202更高的系数。换句话说,取决于分配给特定用户的动作和关系的权重,可以确定关于用户的配偶的内容的总体亲和力高于关于用户的好友的内容的总体亲和力。在特定实施方式中,用户与另一对象的关系可影响用户关于计算该对象的系数的动作的权重和/或评级。作为示例而非限制的方式,如果用户在第一照片中被标记,但是仅仅点赞第二照片,则社交网络系统160可以确定用户相对于第一照片具有比第二照片更高的系数,因为具有与内容有标记类型关系的用户可以比具有与内容有点赞类型关系的用户分配更高的权重和/或评级。在特定实施方式中,社交网络系统160可以基于一个或多个第二用户与特定对象的关系来计算第一用户的系数。换句话说,其他用户与对象的连接和系数可能影响该对象的第一用户的系数。作为示例而非限制的方式,如果第一用户连接到一个或多个第二用户或者对于一个或多个第二用户具有高系数,并且那些第二用户连接到特定对象或者对于特定对象具有高系数,则社交网络系统160可以确定第一用户还应当对于特定对象具有相对高的系数。在特定实施方式中,系数可以基于特定对象之间的分离程度。较低的系数可以表示第一用户将共享在社交图谱200中间接连接到第一用户的用户的内容对象中的兴趣的降低的可能性。作为示例而非限制的方式,社交图谱200中较近的社交图谱实体(即,较小的分离程度)可以具有比社交图谱200中进一步分开的实体更高的系数。

在特定实施方式中,社交网络系统160可基于位置信息计算系数。在地理上彼此较近的物体可被认为比较远的物体更相关或彼此更感兴趣。在特定实施方式中,用户对特定对象的系数可基于对象的位置与和用户相关联的当前位置(或用户的客户端系统130的位置)的接近程度。第一用户可能对更接近第一用户的其他用户或概念更感兴趣。作为示例而非限制的方式,如果用户距机场1英里且距加油站2英里,则社交网络系统160可基于机场与用户的接近程度来确定用户对于机场具有比加油站更高的系数。

在特定实施方式中,社交网络系统160可基于系数信息针对用户执行特定动作。系数可用于基于用户对动作的兴趣来预测用户是否将执行特定动作。当生成或向用户呈现任何类型的对象时,例如广告、搜索结果、新闻故事、媒体、消息、通知或其他合适的对象时,可以使用系数。该系数还可用于适当地对这些对象进行排序和评级。以这种方式,社交网络系统160可以提供与用户的兴趣和当前环境相关的信息,增加他们将找到这种感兴趣的信息的可能性。在特定实施方式中,社交网络系统160可基于系数信息生成内容。可以基于特定于用户的系数来提供或选择内容对象。作为示例而非限制的方式,系数可用于为用户生成媒体,其中可向用户呈现媒体,该媒体相对于媒体对象用户具有高总体系数。作为另一示例而非限制的方式,该系数可以用于为用户生成广告,其中可以向用户呈现用户相对于所广告的对象具有高总体系数的广告。在特定实施方式中,社交网络系统160可基于系数信息生成搜索结果。可以基于与关于查询用户的搜索结果相关联的系数来对特定用户的搜索结果进行评分或排序。作为示例而非限制的方式,与具有较高系数的对象相对应的搜索结果可以在搜索结果界面上比与具有较低系数的对象相对应的结果排名更高。

在特定实施方式中,社交网络系统160可响应于来自特定系统或处理的对系数的请求来计算系数。为了预测用户在给定情况下可能采取的动作(或者可能是动作的主体),任何处理都可以为用户请求计算出的系数。该请求还可以包括用于计算系数的各种因子的一组权重。该请求可以来自在线社交网络上运行的处理、来自第三方系统170(例如,经由api或其他通信信道)或来自另一合适的系统。响应于该请求,社交网络系统160可以计算系数(或者访问系数信息,如果它先前已经被计算和存储)。在特定实施方式中,社交网络系统160可以测量相对于特定处理的亲和力。不同的处理(在线社交网络的内部和外部)可以请求特定对象或对象集的系数。社交网络系统160可以提供与请求亲和力测量的特定处理相关的亲和力测量。以这种方式,每个处理接收为处理将使用亲和力测量的不同上下文量身定制的亲和力测量。

结合社交图谱亲和力和亲和力系数,特定实施方式可利用在2006年8月11日提交的美国专利申请第11/503093号、2010年12月22日提交的美国专利申请第12/977027号、2010年12月23日提交的美国专利申请第12/978265号和2012年10月1日提交的美国专利申请第13/632869号中公开的一个或多个系统、组件、元件、功能、方法、操作或步骤,其中的每一者通过引用结合于此。

广告

在特定实施方式中,广告可以是文本(其可以是html链接的)、一个或多个图像(其可以是html链接的)、一个或多个视频、音频、一个或多个adobeflash文件、这些的适当组合、或者以任何适当数字格式呈现在一个或多个网络界面上、在一个或多个电子邮件中、或者与用户请求的搜索结果相关联的任何其他适当广告。附加地或可替换地,广告可以是一个或多个赞助内容(例如,社交网络系统160上的新闻馈送或自动收报机项目)。赞助内容可以是用户的社交行为(例如“点赞”界面,“点赞”或评论界面上的帖子,回复与界面相关联的事件,对发布在界面上的问题进行投票,签到一个地方,使用应用程序或玩游戏,或“点赞”或共享网站)。例如广告商通过在用户或其他界面的简档界面的预定区域内呈现社交行为来呈现与广告商相关联的附加信息,在其他用户的新闻馈送或自动收报机内加亮或突出显示社交行为,或以其他方式进行推广。广告商可以付费让社交行为得到推广。作为示例而非限制的方式,广告可以被包括在搜索结果界面的搜索结果中,其中对比非赞助内容,赞助内容被推广。

在特定实施方式中,可以请求在社交网络系统网络界面、第三方网络界面或其他界面内显示广告。广告可以显示在界面的专用部分中,例如在界面顶部的横幅区域中、在界面侧面的列中、在界面内的gui中、在弹出窗口中、在下拉菜单中、在界面的输入字段中、在界面的内容顶部上、或在关于界面的其他地方。附加地或可替换地,广告可以在应用程序内显示。广告可以在专用界面内显示,在用户可以访问界面或利用应用程序之前,要求用户与广告交互或观看广告。例如,用户可以通过网络浏览器观看广告。

用户可以以任何合适的方式与广告交互。用户可以点击或以其他方式选择广告。通过选择广告,用户可以被引导到(或浏览器或用户正在使用的其他应用程序)与广告相关联的界面。在与广告相关联的界面处,用户可以采取附加动作,诸如购买与广告相关联的产品或服务、接收与广告相关联的信息或订阅与广告相关联的时事通讯。可以通过选择广告的组件(如“播放按钮”)来播放具有音频或视频的广告。可替换地,通过选择广告,社交网络系统160可以执行或修改用户的特定动作。

广告还可以包括用户可以与之交互的社交网络系统功能。作为示例而非限制的方式,广告可以使用户能够通过选择与宣传相关联的图标或链接来“点赞”或以其他方式宣传广告。作为另一示例而非限制的方式,广告可使用户能够搜索(例如,通过执行查询)与广告商相关的内容。类似地,用户可以与另一用户(例如,通过社交网络系统160)或rsvp(例如,通过社交网络系统160)共享与广告相关联的事件的广告。附加地或可替换地,广告可以包括指向用户的社交网络系统内容。作为示例而非限制的方式,广告可以显示关于社交网络系统160内的用户的好友的信息,该用户的好友已经采取了与广告的主题相关联的动作。

系统和方法

图8示出了示例计算机系统800。在特定实施方式中,一个或多个计算机系统800执行本文描述或示出的一个或多个方法的一个或多个步骤。在特定实施方式中,一个或多个计算机系统800提供本文描述或示出的功能。在特定实施方式中,在一个或多个计算机系统800上运行的软件执行本文描述或示出的一个或多个方法的一个或多个步骤,或者提供本文描述或示出的功能。特定实施方式包括一个或多个计算机系统800的一个或多个部分。这里,在适当的情况下,对计算机系统的引用可以包括计算设备,并且反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或多个计算机系统。

本公开考虑了任何合适数量的计算机系统800。本公开考虑了计算机系统800采用任何合适的物理形式。作为示例而非限制的方式,计算机系统800可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如,模块化计算机(com)或模块化系统(som))、台式计算机系统、膝上型计算机或笔记本计算机系统、交互式信息亭、大型机、计算机系统的网格、移动电话、个人数字助理(pda)、服务器、平板计算机系统或这些系统中的两项或更多项的组合。在适当的情况下,计算机系统800可包括一个或多个计算机系统800;单一的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,其可以包括在一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统800可以在没有实质的空间或时间限制的情况下执行本文描述或示出的一个或多个方法的一个或多个步骤。作为示例而非限制的方式,一个或多个计算机系统800可以实时地或以批处理模式执行本文描述或示出的一个或多个方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统800可以在不同的时间或不同的位置执行本文描述或示出的一个或多个方法的一个或多个步骤。

在特定实施方式中,计算机系统800包括处理器802、存储器804、存储装置806、输入/输出(i/o)接口808、通信接口810和总线812。尽管本公开描述并示出了在特定布置中具有特定数量的特定组件的特定计算机系统,但是本公开考虑了在任何适当布置中具有任何适当数量的任何适当组件的任何适当计算机系统。

在特定实施方式中,处理器802包括用于执行指令的硬件,诸如构成计算机程序的那些指令。作为示例而非限制的方式,为了执行指令,处理器802可从内部寄存器、内部高速缓存、存储器804或存储装置806检索(或获取)指令;解码并执行它们;然后将一个或多个结果写入内部寄存器、内部高速缓存、存储器804或存储装置806。在特定实施方式中,处理器802可包括用于数据、指令或地址的一个或多个内部高速缓存。本公开考虑了处理器802在适当的情况下包括任何适当数量的任何适当的内部高速缓存。作为示例而非限制的方式,处理器802可以包括一个或多个指令高速缓存、一个或多个数据高速缓存、以及一个或多个翻译旁视缓冲器(tlb)。指令高速缓存中的指令可以是存储器804或存储装置806中的指令的副本,并且指令高速缓存可以加速处理器802对那些指令的检索。数据高速缓存中的数据可以是存储器804或存储装置806中用于在处理器802处执行指令以操作的数据的副本;在处理器802处执行的用于由在处理器802处执行的后续指令访问或用于写入存储器804或存储装置806的先前指令的结果;或其他合适的数据。数据高速缓存可以加速处理器802的读或写操作。tlb可以加速处理器802的虚拟地址转换。在特定实施方式中,处理器802可包括用于数据、指令或地址的一个或多个内部寄存器。本公开考虑处理器802在适当的情况下包括任何适当数量的任何适当的内部寄存器。在适当的情况下,处理器802可以包括一个或多个算术逻辑单元(alu);多核处理器;或者包括一个或多个处理器802。尽管本公开描述并示出了特定处理器,但本公开考虑了任何合适的处理器。

在特定实施方式中,存储器804包括主存储器,用于存储供处理器802执行的指令或供处理器802操作的数据。作为示例而非限制的方式,计算机系统800可将指令从存储装置806或另一源(例如,另一计算机系统800)加载到存储器804。然后处理器802可将指令从存储器804加载到内部寄存器或内部高速缓存。为了执行指令,处理器802可从内部寄存器或内部高速缓存检索指令并对其进行解码。在指令执行期间或之后,处理器802可将一个或多个结果(其可为中间或最终结果)写入内部寄存器或内部高速缓存器。然后处理器802可将这些结果中的一个或多个写入存储器804。在特定实施方式中,处理器802仅执行一个或多个内部寄存器或内部高速缓存中或存储器804中(与存储装置806或其他地方相反)的指令,且仅对一个或多个内部寄存器或内部高速缓存中或存储器804中(与存储装置806或其他地方相反)的数据操作。一个或多个存储器总线(其可各自包括地址总线和数据总线)可将处理器802耦接到存储器804。总线812可以包括一个或多个存储器总线,如下所述。在特定实施方式中,一个或多个存储器管理单元(mmu)保留在处理器802和存储器804之间,并且便于处理器802请求的对存储器804的访问。在特定实施方式中,在适当的情况下,存储器804包括随机存取存储器(ram)。该ram可以是易失性存储器。在适当的情况下,该ram可以是动态ram(dram)或静态ram(sram)。此外,在适当的情况下,该ram可以是单端口ram或多端口ram。本公开考虑了任何合适的ram。存储器804可在适当时包括一个或多个存储器804。尽管本公开描述并示出了特定存储器,但本公开考虑了任何合适的存储器。

在特定实施方式中,存储装置806包括用于数据或指令的大容量存储器。作为示例而非限制的方式,存储装置806可包括硬盘驱动器(hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或它们中的两项或更多项的组合。存储装置806可在适当时包括可移动或不可移动(或固定)介质。存储装置806可以是计算机系统800的内部的或外部的。在特定实施方式中,存储装置806是非易失性固态存储器。在特定实施方式中,存储装置806包括只读存储器(rom)。在适当的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改变rom(earom)或闪存,或它们中的两项或更多项的组合。本公开考虑采用任何合适的物理形式的大容量存储装置806。在适当的情况下,存储装置806可包括一个或多个便于处理器802与存储装置806之间通信的存储控制单元。在适当的情况下,存储装置806可以包括一个或多个存储装置806。尽管本公开描述并示出了特定的存储装置,但是本公开考虑了任何合适的存储装置。

在特定实施方式中,i/o接口808包括硬件、软件或两者,提供用于计算机系统800与一个或多个i/o设备之间的通信的一个或多个接口。计算机系统800可以在适当的情况下包括这些i/o设备中的一个或多个。这些i/o设备中的一个或多个可以实现人与计算机系统800之间的通信。作为示例而非限制的方式,i/o设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描器、扬声器、静态照相机、触控笔、平板电脑、触摸屏、跟踪球、视频照相机、另一个合适i/o设备或这些设备中的两项或更多项的组合。i/o设备可以包括一个或多个传感器。本公开考虑任何适合的i/o设备和用于它们的任何适合的i/o接口808。在适当的情况下,i/o接口808可以包括使处理器802能够驱动这些i/o设备中的一个或多个的一个或多个设备或软件驱动器。i/o接口808可在适当的情况下包括一个或多个i/o接口808。尽管本公开描述并示出了特定i/o接口,但是本公开考虑了任何合适的i/o接口。

在特定实施方式中,通信接口810包括硬件、软件或两者,提供用于计算机系统800与一个或多个其他计算机系统800或一个或多个网络之间的通信(例如,基于分组的通信)的一个或多个接口。作为示例而非限制的方式,通信接口810可以包括用于与以太网或其他基于有线的网络通信的网络接口控制器(nic)或网络适配器,或者用于与诸如wi-fi网络的无线网络通信的无线nic(wnic)或无线适配器。本公开考虑了任何合适的网络和用于该网络的任何合适的通信接口810。作为示例而非限制的方式,计算机系统800可以与自组织网络、个人区域网络(pan)、局域网(lan)、广域网(wan)、城域网(man)或因特网的一个或多个部分或它们中的两项或更多项的组合通信。这些网络中的一个或多个的一个或多个部分可以是有线的或无线的。作为示例,计算机系统800可以与无线pan(wpan)(例如,蓝牙wpan)、wi-fi网络、wi-max网络、蜂窝电话网络(例如,全球移动通信系统(gsm)网络)或其他合适的无线网络或这些网络中的两项或更多项的组合进行通信。在适当的情况下,计算机系统800可以包括用于这些网络中的任何网络的任何合适的通信接口810。通信接口810可在适当的情况下包括一个或多个通信接口810。尽管本公开描述并示出了特定通信接口,但是本公开考虑了任何合适的通信接口。

在特定实施方式中,总线812包括硬件、软件或计算机系统800的两个彼此耦接的组件。作为示例而非限制的方式,总线812可包括加速图形端口(agp)或其他图形总线、增强型工业标准体系结构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准体系结构(isa)总线、无限带宽互连、低引脚计数(lpc)总线、存储器总线、微通道体系结构(mca)总线、外围组件互连(pci)总线、pci-express(pcie)总线、串行高级技术附件(sata)总线、视频电子标准协会(vlb)总线或其他合适的总线或这些总线中的两项或更多项的组合。总线812可在适当时包括一个或多个总线812。尽管本公开描述并示出了特定总线,但本公开考虑了任何合适的总线或互连。

这里,在适当情况下,计算机可读非暂时性存储介质或媒体可包括一个或多个基于半导体或其他集成电路(ic)(例如,现场可编程门阵列(fpga)或专用集成电路ic(asic)、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(fdd)、磁带、固态驱动器(ssd)、ram驱动器、安全数字卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些介质中的两项或更多项的任何合适组合。在适当情况下,计算机可读非暂时性存储介质可以是易失性、非易失性或易失性和非易失性的组合。

杂项

这里,“或”是包含性的而不是排他性的,除非另有明确指示或上下文另有指示。因此,本文中,“a或b”意指“a、b或两者”,除非另有明确指示或上下文另有指示。此外,“和”既是共同的也是单独的,除非另有明确说明或上下文另有说明。因此,本文中,“a和b”意指“a和b,共同地或单独地”,除非另有明确指示或上下文另有指示。

本公开的范围包括本领域普通技术人员将理解的对本文描述或示出的示例实施方式的所有改变、替换、变型、变更和修改。本公开的范围不限于本文描述或示出的示例性实施方式。此外,尽管本公开将本文中的各个实施方式描述和示出为包括特定组件、元件、特征、功能、操作或步骤,但这些实施方式中的任何一个包括本领域普通技术人员将理解的本文中任何地方描述或示出的组件、元件、特征、功能、操作或步骤中的任何一个的任何组合或排列。此外,在所附权利要求中,对适于、布置成、能够、配置成、能够、可操作或操作成执行特定功能的装置或系统或装置或系统的组件的引用包括该装置、系统、组件,无论其或该特定功能是否被激活、开启或解锁,只要该装置、系统或组件适于、布置成、能够、配置成、能够、可操作或操作。另外,尽管本公开将特定实施方式描述或示出为提供特定优点,但是特定实施方式可以不提供这些优点,或提供这些优点中的一些或全部。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1