本公开总体上涉及社交网络环境内的社交图和针对视频的用户界面。
背景技术:
可以包括社交网络网站的社交网络系统可以使其用户(诸如个人或组织)能够与其交互、或通过其来与彼此交互。通过来自用户的输入,社交网络系统可以在社交网络系统中创建和存储与用户相关联的用户配置文件。用户配置文件可以包括人口统计信息、通信信道信息和关于用户的个人兴趣的信息。通过来自用户的输入,社交网络系统还可以创建和存储该用户与社交网络系统的其他用户的关系的记录,以及提供服务(例如,海报、照片共享、动作组织、消息传递、游戏或广告)以促进两个用户或多个用户之间的社交交互。
社交网络系统可以通过一个或多个网络将与其服务相关的内容或消息发送至用户的移动或其他计算设备。用户还可以在用户的移动或其他计算设备上安装软件应用,用于访问用户的用户配置文件以及社交网络系统内的其他数据。社交网络系统可以生成用于向用户显示的一组个性化的内容对象,诸如,与该用户关联的其他用户的汇总故事的新闻馈送。
社交图分析根据由节点和边线组成的网络理论来看待社交关系。节点表示网络内的单独角色,并且边线表示角色之间的关系。所产生的基于图形的结构通常非常复杂。可以存在许多类型的节点和许多类型的用于连接节点的边线。在其最简单的形式中,社交图是正在研究的所有节点之间的所有相关边线的映射。
技术实现要素:
随着现在用户可获得大量视频,针对打算观看视频的用户,出现的一个问题是难以对具有用户感兴趣的内容的视频进行分类和选择。在用户选择实际上感兴趣的视频之前,用户经常不得不诉诸于耗时且低效的观看部分视频的过程。本文中描述的方法试图通过向用户显示来自视频的用于可视地概括视频的选择数量的值得注意的帧或“关键帧”来解决该问题。这样的显示可以通过呈现关键帧中描绘的关键时刻和概念来向用户提供对视频内容的有意义预览。每当在社交网络系统上(例如,在搜索结果界面上、在新闻馈送上、在配置文件界面上、在视频库中、在私人消息中)向用户呈现视频时,可以向用户显示预览。基于该预览,用户能够以最小的时间投入较高水平地查看视频关于什么内容(并且确定关于视频的其他信息,诸如视觉质量)。于是,用户能够决定是否投入时间来观看视频。通过激发用户对特定视频的兴趣并向用户展示可获得视频中存在的相关和多样化内容的广度,预览还可以用于促进视频内容的总体性观看并且促进视频搜索功能的使用。此外,用户能够从特定关键帧回放视频,使得用户可以使用预览作为从关键帧到关键帧快速导航通过视频(例如,以跳转到用户可能感兴趣的视频部分)的手段。本文中的方法还具有以下附加技术优势:为用户创建轻量级交互体验以使得用户能够快速地收集关于一个或多个视频的信息、使等待时间最小化、并节省带宽和处理器资源(例如,通过减少用户在选择一个视频之前加载和观看多个视频的需要)。为了进一步实现这些目标,社交网络系统除其他事情之外可以以数据有效的格式封装关键帧,并且可以利用预缓存方法来创建更轻量级的用户体验。
在特定实施方式中,社交网络系统可以从第一用户的客户端系统接收针对一个或多个视频的搜索查询(例如,由第一用户输入的搜索查询)。社交网络系统可以识别与搜索查询匹配的一个或多个视频。每个所识别视频可以与一组关键帧相关联(例如,用其进行索引),这组关键帧可以是来自相应的所识别视频的帧(例如,值得注意的帧)。社交网络系统可以针对每个所识别视频检索所识别视频的该组关键帧。每个关键帧可以与一个或多个概念(例如,由社交图上的概念节点表示的概念)相关联。社交网络系统可以针对每个所识别视频的每个关键帧计算关键帧得分。关键帧得分可以是基于与关键帧相关联的一个或多个概念的普遍度(prevalence)。与特定所识别视频的特定关键帧相关联的每个概念的普遍度可以参考与针对特定所识别视频的检索到的该组关键帧中的每个其他的关键帧相关联的一个或多个概念来确定。社交网络系统可以向第一用户的客户端系统发送用于显示的搜索结果界面,该搜索结果界面包括与一个或多个所识别视频对应的一个或多个搜索结果。每个搜索结果可以包括被确定为“最佳关键帧”的对应的所识别视频的一个或多个关键帧,其可以是具有大于阈值关键帧得分的关键帧得分的关键帧。虽然本公开集中于视频的关键帧,但是考虑了任何合适的媒体项的关键帧(例如,动态gif、幻灯片等)。此外,关键帧的使用的描述虽然通常集中于在搜索环境中使用关键帧,但是总体上可应用于向用户显示视频的其他环境中。
本文中公开的实施方式仅是示例,并且本公开的范围不限于此。特定实施方式可以包括以上公开的实施方式的组件、元件、特征、功能、操作或步骤中的全部、一些或不包括。在所附权利要求中具体公开了根据本发明的实施方式,所附权利要求涉及一种方法、一种存储介质和一种系统,其中,一种权利要求类别中提到的任何特征(例如,方法)也可以在另一种权利要求类别(例如,系统或计算机程序产品)中要求保护。所附权利要求中的依赖性或返回引用仅出于形式上的原因来选择。然而,也可以要求保护由返回任何先前的权利要求的特意引用(特别是多个依赖性)所导致的任何主题,从而公开并且可以要求权利要求及其特征的任何组合,而不管所附权利要求中选择的依赖性。可以要求保护的主题不仅包括所附权利要求中阐述的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中,权利要求中提及的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文中描述或描绘的任何实施方式和特征可以在单独的权利要求中和/或与本文中描述或描绘的任何实施方式或特征或所附权利要求的任何特征的任何组合中要求保护。
在根据本发明的实施方式中,一种方法包括通过一个或多个计算设备:
从第一用户的客户端系统接收由第一用户输入的针对一个或多个视频的搜索查询;
识别与搜索查询匹配的一个或多个视频;
针对每个所识别视频,检索所识别视频的一组关键帧,每个关键帧是所识别视频的一帧,其中,每个关键帧与一个或多个概念相关联;
针对每个所识别视频的每个关键帧,基于与关键帧相关联的一个或多个概念的普遍度来计算关键帧得分,其中,普遍度是参考与针对所识别视频的检索到的一组关键帧中的每个其他关键帧相关联的一个或多个概念来确定的;以及
向第一用户的客户端系统发送用于显示的搜索结果界面,搜索结果界面包括与一个或多个所识别视频对应的一个或多个搜索结果,每个搜索结果包括针对对应的所识别视频的一个或多个最佳关键帧,其中,针对对应的所识别视频的最佳关键帧是具有大于阈值关键帧得分的关键帧得分的关键帧。
在根据本发明的实施方式中,一种方法可以包括:
访问包括多个节点和连接节点的多个边线的社交图,在两个节点之间的每个边线表示其间的单个分离度,节点包括:
对应于第一用户的第一节点;以及
相应地对应于多个对象的多个第二节点。
针对相应的所识别视频的一组关键帧可以是基于关键帧提取过程来确定的,关键帧提取过程包括:
检测相应的所识别视频中的一个或多个场景变化;以及
针对一个或多个场景变化,提取场景变化期间在相应的所识别视频中出现的帧作为关键帧。
一个或多个场景变化可以是基于相应的所识别视频中的多个帧的一个或多个视觉特征中的一个或多个变化来检测的。
一个或多个场景变化可以是基于相应的所识别视频的一个或多个音频特征中的一个或多个变化来检测的。
关键帧得分可以是基于和与相应的关键帧相关联的一个或多个概念匹配的与搜索查询相关联的一个或多个概念。
关键帧得分可以是基于与包含相应的关键帧的相应的所识别视频的一部分相关联的用户参与度。
关键帧得分可以是基于与第一用户相关联的信息。
关键帧得分可以是基于当前日期或时间,当前日期或时间与和相应的关键帧相关联的一个或多个概念匹配的一个或多个概念相关联。
一个或多个搜索结果中的每个搜索结果可以包括预览区域,其中,预览区域在通过每个最佳关键帧自动行进的幻灯片中显示搜索结果的最佳关键帧。
每个最佳关键帧可以被显示的持续时间是基于最佳关键帧的相应的关键帧得分。
一个或多个搜索结果中的每个搜索结果可以包括预览区域,其中,预览区域显示搜索结果的最佳关键帧,最佳关键帧的显示可以是基于来自第一用户的一个或多个输入;
来自第一用户的输入可以对应于向前或向后导航通过最佳关键帧的输入。
针对一个或多个搜索结果中的每个搜索结果,搜索结果界面可以包括时间线进度条元素,其中,时间线进度条元素可以包括搜索结果的对应的所识别视频的时间线和时间线中的点的视觉描绘,点对应于在对应的所识别视频中出现最佳关键帧,并且其中,时间线进度条元素可以包括邻近于时间线定位的可移动进度条组件,可移动进度条组件的位置对应于当前显示的最佳关键帧。
在根据本发明的实施方式中,一种方法可以包括针对一个或多个搜索结果中的每个搜索结果基于相应的最佳关键帧的相对关键帧得分来为相应的最佳关键帧排序以供显示。
在根据本发明的实施方式中,一种方法可以包括针对特定搜索结果:
从第一用户的客户端系统接收与特定搜索结果的特定最佳关键帧相关联的触发事件的指示;以及响应于检测到触发事件,使得第一用户的客户端系统从特定关键帧的时间点播放对应的所识别视频。
触发事件可以包括由第一用户的输入,以使得特定关键帧显示阈值时间段。
针对一个或多个搜索结果中的每个搜索结果,搜索结果界面可以包括相应的最佳关键帧中的一个或多个最佳关键帧的描述的显示,每个相应的最佳关键帧的描述是基于从与包含相应的最佳关键帧的对应的所识别视频的一部分相关联的一个或多个通信提取的一个或多个n语法或媒体项。
在根据本发明的实施方式中,一种或多种计算机可读非暂时性存储介质可以包含软件,软件在执行时可操作以执行根据本发明或上述任何实施方式的方法,优选地:
从第一用户的客户端系统接收由第一用户输入的针对一个或多个视频的搜索查询;
识别与搜索查询匹配的一个或多个视频;
针对每个所识别视频,检索所识别视频的一组关键帧,每个关键帧是所识别视频的一帧,其中,每个关键帧与一个或多个概念相关联;
针对每个所识别视频的每个关键帧,基于与关键帧相关联的一个或多个概念的普遍度来计算关键帧得分,其中,普遍度是参考与针对所识别视频的检索到的一组关键帧中的每个其他关键帧相关联的一个或多个概念来确定的;以及
向第一用户的客户端系统发送用于显示的搜索结果界面,搜索结果界面包括与一个或多个所识别视频对应的一个或多个搜索结果,每个搜索结果包括针对对应的所识别视频的一个或多个最佳关键帧,其中,针对对应的所识别视频的最佳关键帧是具有大于阈值关键帧得分的关键帧得分的关键帧。
在根据本发明的实施方式中,一种系统可以包括:一个或多个处理器;以及耦接至处理器的非暂时性存储器,非暂时性存储器包括可由处理器执行的指令,处理器可在执行指令时操作以执行根据本发明或上述任何实施方式的方法,优选地:
从第一用户的客户端系统接收由第一用户输入的针对一个或多个视频的搜索查询;
识别与搜索查询匹配的一个或多个视频;
针对每个所识别视频,检索所识别视频的一组关键帧,每个关键帧是所识别视频的一帧,其中,每个关键帧与一个或多个概念相关联;
针对每个所识别视频的每个关键帧,基于与关键帧相关联的一个或多个概念的普遍度来计算关键帧得分,其中,普遍度是参考与针对所识别视频的检索到的一组关键帧中的每个其他关键帧相关联的一个或多个概念来确定的;以及
向第一用户的客户端系统发送用于显示的搜索结果界面,搜索结果界面包括与一个或多个所识别视频对应的一个或多个搜索结果,每个搜索结果包括针对对应的所识别视频的一个或多个最佳关键帧,其中,针对对应的所识别视频的最佳关键帧是具有大于阈值关键帧得分的关键帧得分的关键帧。
在根据本发明的另一实施方式中,一种或多种计算机可读非暂时性存储介质包含软件,软件在执行时可操作以执行根据本发明或上述任何实施方式的方法。
在根据本发明的另一实施方式中,一种系统包括:一个或多个处理器;以及至少一个存储器,其耦接到处理器并且包括可由处理器执行的指令,处理器在执行指令时可操作以执行根据本发明或上述任何实施方式的方法。
在根据本发明的另一实施方式中,一种计算机程序产品,优选地包括计算机可读非暂时性存储介质,当在数据处理系统上执行时,计算机程序产品可操作以执行根据本发明或上述任何实施方式的方法。
附图说明
图1示出了与社交网络系统相关联的示例网络环境。
图2示出了示例社交图。
图3示出了用于存储社交网络系统的对象的示例划分。
图4示出了响应于搜索查询而显示的示例搜索结果界面。
图5示出了视频的一组示例关键帧。
图6示出了视频的一组示例最佳关键帧。
图7示出了显示视频搜索结果的示例搜索结果界面。
图8a和图8b相应地示出了预览模式界面的示例和回放模式界面的示例。
图9示出了用于确定在搜索结果界面中显示的关键帧的示例方法。
图10示出了示例计算机系统。
具体实施方式
系统概述
图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的组合。在整个网络环境100中,链路150不必相同。一个或多个第一链路150可以在一个或多个方面与一个或多个第二链路150不同。
在特定实施方式中,客户端系统130可以是电子设备,其包括硬件、软件或嵌入式逻辑组件或两个或更多个这种组件的组合,并且能够执行由客户端系统130实现或支持的合适功能。作为示例而非通过限制的方式,客户端系统130可以包括计算机系统,诸如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子阅读器、gps设备、相机、个人数字助理(pda)、手持式电子设备、蜂窝电话、智能电话、其他合适的电子设备、或其任何合适的组合。本公开考虑了任何合适的客户端系统130。客户端系统130可以使客户端系统130处的网络用户能够访问网络110。客户端系统130可以使其用户能够与其他客户端系统130处的其他用户通信。
在特定实施方式中,客户端系统130可以包括网页浏览器132,诸如microsoftinternetexplorer、googlechrome或mozillafirefox,并且可以具有一个或多个附加组件、插件或其他延伸部分,诸如toolbar或yahootoolbar。客户端系统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的外部系统表示的任何事物交互,该外部系统与社交网络系统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上或社交网络系统下的动作的通信。结合动作日志,可以维护用户对第三方内容对象暴露的第三方内容对象日志。通知控制器可以向客户端系统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可以创建与用户对应的用户节点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可以表示朋友关系、家庭关系、商业或雇佣关系、粉丝关系(包括,例如喜欢等)、跟随者关系、访客关系(包括,例如访问、查看、签到、分享等)、客户关系、上级/下属关系、相互关系、非相互关系、另一合适类型的关系、或者两个或更多个这种关系。此外,虽然本公开总体上将节点描述为被连接的,但是本公开还将用户或概念描述为被连接的。在本文中,在适当情况下,对被连接的用户或概念的引用可以指与通过一个或多个边线206在社交图200中连接的那些用户或概念相对应的节点。
在特定实施方式中,在用户节点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可以从在线社交网络的用户的客户端系统130接收由用户输入的查询。用户可以通过例如选择查询输入或将文本输入到查询字段中来将查询提交到社交网络系统160。在线社交网络的用户可以通过向搜索引擎提供描述主题的短语(通常称为“搜索查询”)来搜索与特定主题(例如,用户、概念、外部内容或资源)有关的信息。查询可以是非结构化文本查询,并且可以包括一个或多个文本串(其可以包括一个或多个n语法)。通常,用户可以将任何字符串输入查询字段中,以搜索与文本查询匹配的社交网络系统160上的内容。然后,社交网络系统160可以搜索数据储存164(或者具体是社交图数据库)以识别与查询匹配的内容。搜索引擎可以使用各种搜索算法基于查询短语进行搜索,并生成识别最可能与搜索查询相关的资源或内容(例如,用户配置文件界面、内容配置文件界面或外部资源)的搜索结果。为了进行搜索,用户可以向搜索引擎输入或发送搜索查询。作为响应,搜索引擎可以识别可能与搜索查询相关的一个或多个资源,每个资源可以单独地被称为“搜索结果”,或者共同地被称为对应于搜索查询的“搜索结果”。所识别的内容可以包括例如社交图元素(即,用户节点202、概念节点204、边线206)、配置文件界面、外部网络界面或其任何组合。然后,社交网络系统160可以生成具有与所识别的内容相对应的搜索结果的搜索结果界面,并将搜索结果界面发送给用户。搜索结果可以通常以搜索结果界面上的链接列表的形式呈现给用户,每个链接与包含一些所识别的资源或内容的不同界面相关联。在特定实施方式中,搜索结果中的每个链接可以呈统一资源定位符(url)的形式,其指定对应接口所在的位置以及用于检索它的机制。然后,社交网络系统160可以将搜索结果界面发送到用户的客户端系统130上的网络浏览器132。然后,用户可以点击url链接或以其他方式从搜索结果界面中选择内容,以在适当情况下访问来自社交网络系统160或来自外部系统(诸如,例如第三方系统170)的内容。可以根据资源与搜索查询的相关性的相对程度对资源进行排名并呈现给用户。还可以根据搜索结果与用户的相关性的相对程度对搜索结果进行排名并呈现给用户。换句话说,可以基于例如社交图信息、用户信息、用户的搜索或浏览历史或与用户相关的其他合适信息来为进行查询的用户个性化搜索结果。在特定实施方式中,资源的排名可以通过由搜索引擎实现的排名算法来确定。作为示例而非通过限制的方式,与搜索查询或与用户更相关的资源可以排名高于与搜索查询或与用户不太相关的资源。在特定实施方式中,搜索引擎可以将其搜索限制为在线社交网络上的资源和内容。然而,在特定实施方式中,搜索引擎还可以搜索其他源上的资源或内容,诸如,第三方系统170、互联网或万维网或其他合适的源。虽然本公开描述了以特定方式查询社交网络系统160,但是本公开考虑了以任何合适的方式查询社交网络系统160。
预先输入过程和查询
在特定实施方式中,一个或多个客户端和/或后端(服务器端)过程可以实现和利用“预先输入”特征,其可以在结合可以由社交网络系统160托管或可由社交网络系统160访问的所请求的界面(诸如,例如用户配置文件界面、概念配置文件界面、搜索结果界面、与在线社交网络相关联的本地应用的用户界面/视图状态、或在线社交网络的另一合适的界面)呈现的输入表单中自动尝试将社交图元素(例如,用户节点202、概念节点204或者边线206)与用户当前输入的信息相匹配。在特定实施方式中,当用户输入文本以发表声明时,预先输入特征可以尝试在社交图200中将声明中输入的文本字符串与对应于用户、概念、或边线及其对应的元素的字符串(例如,名称、描述)匹配。在特定实施方式中,在发现匹配时,预先输入特征可以参照现有社交图元素的社交图元素(诸如,例如节点名称/类型、节点id、边线名称/类型、边线id、或另一合适的引用或标识符)自动填充该表单。在特定实施方式中,当用户将字符输入到表单框中时,预先输入过程可以读取输入的文本字符串。当进行每次击键时,前端预先输入过程可以将输入的字符串作为请求(或调用)发送到在社交网络系统160内执行的后端预先输入过程。在特定实施方式中,预先输入过程可以使用一个或多个匹配算法来尝试识别匹配的社交图元素。在特定实施方式中,当发现一个或多个匹配时,预先输入过程可以向用户的客户端系统130发送响应,该响应可以包括例如匹配的社交图元素的名称(名称串)或描述以及潜在地与匹配的社交图元素相关联的其他元数据。作为示例而非通过限制的方式,如果用户将字符“pok”输入到查询字段中,则预先输入过程可以显示下拉菜单,下拉菜单显示匹配的现有配置文件界面和相应的用户节点202或概念节点204的名称,诸如命名为或专用于“poker”或“pokemon”的配置文件界面,然后用户可以点击或以其他方式选择,从而确认声明对应于所选节点的匹配用户或概念名称的期望。
关于预先输入过程的更多信息可以在2010年4月19日提交的美国专利申请号12/763162和2012年7月23日提交的美国专利申请号13/556072中找到,其通过引用结合于此。
在特定实施方式中,本文中描述的预先输入过程可以应用于用户输入的搜索查询。作为示例而非通过限制的方式,在用户将文本字符输入到查询字段中时,预先输入过程可以尝试识别与在用户输入字符时输入查询字段内的字符串匹配的一个或多个用户节点202、概念节点204或边线206。当预先输入过程从文本查询接收包括字符串或n语法的请求或调用时,预先输入过程可以执行或者促使执行搜索,以识别具有相应的名称、类型、类别、或与输入的文本匹配的其他标识符的现有社交图元素(即,用户节点202、概念节点204、边线206)。预先输入过程可以使用一个或多个匹配算法来尝试识别匹配的节点或边线。当发现一个或多个匹配时,预先输入过程可以向用户的客户端系统130发送响应,该响应可以包括例如匹配的节点的名称(名称串)以及潜在地与匹配的节点相关联的其他元数据。然后,预先输入过程可以显示下拉菜单,该下拉菜单显示匹配的现有配置文件界面和相应的用户节点202或概念节点204的名称,并显示可以连接到匹配的用户节点202或概念节点204的匹配的边线206的名称,然后用户可以点击或以其他方式选择名称,从而确认搜索对应于所选节点的匹配的用户或概念名称或者搜索通过匹配的边线连接到匹配的用户或概念的用户或概念的期望。可选地,预先输入过程可以简单地使用排名靠前的匹配的名称或其他标识符来自动填充表单,而不是显示下拉菜单。然后,用户可以简单地通过在键盘上键入“回车”或通过点击自动填充的声明来确认自动填充的声明。在用户确认匹配的节点和边线时,预先输入过程可以发送请求,该请求通知社交网络系统160用户确认包含匹配的社交图元素的查询。响应于发送的请求,社交网络系统160可以自动地(或者可选地基于请求中的指令)调用或以其他方式搜索社交图数据库以寻找匹配的社交图元素,或者在适当情况下寻找连接至匹配的社交图元素的社交图元素。虽然本公开描述了以特定方式将预先输入过程应用于搜索查询,但是本公开考虑了以任何合适的方式将预先输入过程应用于搜索查询。
关于搜索查询和搜索结果,特定实施方式可以利用2006年8月11日提交的美国专利申请号11/503093、2010年12月22日提交的美国专利申请号12/977027和2010年12月23日提交的美国专利申请号12/978265中公开的一种或多种系统、组件、元件、功能、方法、操作或步骤,其通过引用并入本文。
结构化搜索查询
在特定实施方式中,响应于从第一用户(即,查询用户)接收的文本查询,社交网络系统160可以解析文本查询并识别对应于特定社交图元素的文本查询的部分。然而,在一些情况下,查询可以包括一个或多个模糊的术语,其中模糊术语是可能对应于多个社交图元素的术语。为了解析模糊术语,社交网络系统160可以访问社交图200,并且然后解析文本查询以识别对应于来自文本查询的模糊n语法的社交图元素。然后,社交网络系统160可以生成一组结构化查询,其中每个结构化查询对应于可能匹配的社交图元素之一。这些结构化查询可以基于由语法模型生成的字符串,以便参照相关的社交图元素,在自然语言语法中呈现这些结构化查询。作为示例而非通过限制的方式,响应于文本查询“向我显示我女朋友的朋友”,社交网络系统160可以生成结构化查询“stephanie的朋友”,其中在结构化查询内的“朋友”和“stephanie”是对应于特定社交图元素的引用。对“stephanie”的引用将对应于特定用户节点202(其中社交网络系统160已解析n语法“我的女朋友”以对应于用户“stephanie”的用户节点202),而对“朋友”的引用将对应于连接用户节点202和其他用户节点202(即,连接至“stephanie”的第一程度朋友的边线206)的朋友型边线206。当执行这个结构化查询时,社交网络系统160可以识别由朋友型边线206连接至对应于“stephanie”的用户节点202的一个或多个用户节点202。作为另一示例而非通过限制的方式,响应于文本查询“在facebook工作的朋友”,社交网络系统160可以生成结构化查询“在facebook工作的我的朋友”,其中结构化查询中的“我的朋友”、“工作”和“facebook”是对应于如前所述的特定社交图元素(即,朋友型边线206、工作型边线206和对应于公司“facebook”的概念节点204)的引用。通过响应于用户的文本查询提供建议的结构化查询,社交网络系统160可以向在线社交网络的用户提供一种强大的方式,以基于其社交图属性及其与各种社交图元素的关系来搜索在社交图200中表示的元素。结构化查询可以允许查询用户搜索通过特定边线类型连接至在社交图200中的特定用户或概念的内容。可以将结构化查询发送给第一用户并显示在下拉菜单中(例如,经由客户端预先输入过程),其中第一用户然后可以选择适当查询以搜索期望内容。使用本文中描述的结构化查询的一些优点包括基于有限的信息找出在线社交网络的用户,基于该内容与各种社交图元素的关系使来自在线社交网络的内容的虚拟索引联合,或者找出与你和/或你的朋友相关的内容。虽然本公开描述了以特定方式生成特定的结构化查询,但是本公开考虑了以任何合适的方式生成任何合适的结构化查询。
关于元素检测和解析查询的更多信息可以在2012年7月23日提交的美国专利申请号13/556072、2012年12月31日提交的美国专利申请号13/731866以及2012年12月31日提交的美国专利申请号13/732101中找到,每个申请通过引用结合于此。
生成关键词和关键词查询
在特定实施方式中,当用户正在将文本串输入到查询字段中时,社交网络系统160可以向查询用户提供定制的关键词完成建议。可以以非结构化格式向用户提供关键词完成建议。为了生成关键词完成建议,社交网络系统160可以访问社交网络系统160内的多个源以生成关键词完成建议,从多个源对关键词完成建议进行评分,并且然后将关键词完成建议返回给用户。作为示例而非通过限制的方式,如果用户键入查询“朋友stan”,则社交网络系统160可以建议例如“朋友stanford”、“朋友stanforduniversity”、“朋友stanley”、“朋友stanleycooper”、“朋友stanleykubrick”、“朋友stanleycup”和“朋友stanlonski”。在该示例中,社交网络系统160建议了作为模糊n语法“stan”的变型的关键词,其中可以从各种关键词生成器生成建议。因为用户以某种方式连接到建议,所以社交网络系统160可能已经选择了关键词完成建议。作为示例而非通过限制的方式,查询用户可以在社交图200内连接到对应于stanforduniversity的概念节点204,例如通过喜欢型边线或参加型边线206。查询用户还可能有名叫stanleycooper的朋友。虽然本公开描述了以特定方式生成关键词完成建议,但是本公开考虑了以任何合适的方式生成关键词完成建议。
关于关键词查询的更多信息可以在2014年4月03日提交的美国专利申请号14/244748、2014年8月27日提交的美国专利申请号14/470607以及2014年12月05日提交的美国专利申请号14/561418中找到,每个申请通过引用结合于此。
基于对象类型的索引
图3示出了用于存储社交网络系统160的对象的示例划分。多个数据储存164(也可以称为“垂直储存(vertical)”)可以存储社交网络系统160的对象。存储在数据储存中的数据量(例如,社交图200的数据)可能非常大。作为示例而非通过限制的方式,由加州门洛帕克的facebook公司使用的社交图可以具有108量级的节点数量以及1010量级的边线数量。通常,诸如大型数据库的大量数据可以被划分为多个分区。由于数据库的每个分区的索引小于整个数据库的索引,因此分区可以提高访问数据库的性能。由于分区可以分布在大量服务器上,因此分区还可以提高访问数据库的性能和可靠性。通常,可以通过单独存储数据库的行(或列)来划分数据库。在特定实施方式中,可以基于对象类型来划分数据库。数据对象可以存储在多个分区中,每个分区保存单个对象类型的数据对象。在特定实施方式中,社交网络系统160可以通过将搜索查询提交到存储与搜索查询的预期结果相同的对象类型的对象的特定分区来响应于搜索查询检索搜索结果。虽然本公开描述了以特定方式存储对象,但是本公开考虑了以任何合适的方式存储对象。
在特定实施方式中,每个对象可以对应于社交图200的特定节点。连接特定节点和另一节点的边线206可以指示与这些节点相对应的对象之间的关系。除了存储对象之外,特定数据储存还可以存储与对象有关的社交图信息。可选地,关于特定对象的社交图信息可以存储在与对象不同的数据储存中。社交网络系统160可以基于新接收的对象以及与所接收的对象相关联的关系来更新数据储存的搜索索引。
在特定实施方式中,每个数据储存164可以被配置为在相应的数据存储设备340中存储多个对象类型中的特定一个对象类型的对象。例如,对象类型可以是用户、照片、帖子、评论、消息、事件列表、网络界面、应用、用户配置文件界面、概念配置文件界面、用户群组、音频文件、视频、供给品/优惠券、或任何合适类型的对象。虽然本公开描述了特定类型的对象,但是本公开考虑了任何合适类型的对象。作为示例而非通过限制的方式,图3中所示的用户垂直储存p1可以存储用户对象。存储在用户垂直储存p1中的每个用户对象可以包括用于在线社交网络的用户的标识符(例如,字符串)、用户名称和配置文件图片。社交网络系统160还可以在用户垂直储存p1中存储与用户对象相关联的信息,诸如语言、位置、教育、联系信息、兴趣、关系状态、朋友/联系人列表、家庭成员列表、隐私设置等等。作为示例而非通过限制的方式,图3中所示的帖子垂直储存p1可以存储帖子对象。存储在帖子垂直储存p2中的每个帖子对象可以包括标识符、用于发布到社交网络系统160的帖子的文本串。社交网络系统160还可以在帖子垂直储存p2中存储与帖子对象相关联的信息,诸如时间戳、作者、隐私设置、喜欢帖子的用户、喜欢数、评论、评论数、位置等等。作为示例而非通过限制的方式,照片垂直储存p3可以存储照片对象(或者诸如视频或音频的其他媒体类型的对象)。存储在照片垂直储存p3中的每个照片对象可以包括标识符和照片。社交网络系统160还可以在照片垂直储存p3中存储与照片对象相关联的信息,诸如时间戳、作者、隐私设置、在照片中标记的用户、喜欢照片的用户、评论等等。在特定实施方式中,每个数据储存还可以被配置为将与每个存储的对象相关联的信息存储在数据存储设备340中。
在特定实施方式中,存储在每个垂直储存164中的对象可以由一个或多个搜索索引来索引。搜索索引可以由包括一个或多个计算设备(例如,服务器)的相应索引服务器330托管。索引服务器330可以基于由用户或社交网络系统160(或第三方系统)的其他过程提交给社交网络系统160的数据(例如,照片和与照片相关联的信息)来更新搜索索引。索引服务器330还可以周期性地(例如,每24小时)更新搜索索引。索引服务器330可以接收包括搜索术语的查询,并且从对应于搜索术语的一个或多个搜索索引访问和检索搜索结果。在一些实施方式中,对应于特定对象类型的垂直储存可以包括多个物理或逻辑分区,每个分区包括相应的搜索索引。
在特定实施方式中,社交网络系统160可以从php(超文本预处理器)过程310接收搜索查询。php过程310可以包括由社交网络系统160的一个或多个服务器162托管的一个或多个计算过程。搜索查询可以是由用户或社交网络系统160(或第三方系统170)的另一过程提交给php过程的文本串或搜索查询。在特定实施方式中,聚合器320可以被配置为从php过程310接收搜索查询并将搜索查询分布到每个垂直储存。聚合器可以包括由社交网络系统160的一个或多个计算设备(例如,服务器)托管的一个或多个计算过程(或程序)。如图3中所示,特定实施方式可以具有多个垂直储存164。如前所述,每个垂直储存164可以被配置为存储由搜索索引来索引的单一类型的对象。在特定实施方式中,聚合器320可以接收搜索请求。例如,聚合器320可以从图2中所示的php(超文本预处理器)过程210接收搜索请求。在特定实施方式中,搜索请求可以包括文本串。搜索请求可以是用户经由php过程提交的结构化或基本上非结构化的文本串。搜索请求还可以是从社交网络系统的另一过程接收的结构化或基本上非结构化的文本串。在特定实施方式中,聚合器320可以基于所接收的搜索请求来确定一个或多个搜索查询(步骤303)。在特定实施方式中,每个搜索查询可以具有针对其预期结果的单个对象类型(即,单个结果类型)。在特定实施方式中,针对每个搜索查询,聚合器320可以从至少一个垂直储存164访问和检索搜索查询结果,其中,至少一个垂直储存164被配置为存储搜索查询的对象类型(即,搜索查询的结果类型)的对象。在特定实施方式中,聚合器320可以聚合相应的搜索查询的搜索查询结果。例如,聚合器320可以向特定垂直储存提交搜索查询并访问垂直储存的索引服务器330,使索引服务器330返回搜索查询的结果。
关于索引和搜索查询的更多信息可以在2012年7月27日提交的美国专利申请号13/560212、2012年7月27日提交的美国专利申请号13/560901、2012年12月21日提交的美国专利申请号13/723861以及2013年4月25日提交的美国专利申请号13/870113中找到,每个申请通过引用结合于此。
视频关键帧显示
随着现在用户可获得大量视频,因此针对打算观看视频的用户,出现的一个问题是难以对具有用户感兴趣的内容的视频进行分类和选择。在用户选择实际上感兴趣的视频之前,用户经常不得不诉诸于耗时且低效的观看部分视频的过程。本文中描述的方法试图通过向用户显示来自视频的用于可视地概括视频的选择数量的值得注意的帧或“关键帧”来解决该问题。这样的显示可以通过呈现关键帧中描绘的关键时刻和概念来向用户提供对视频内容的有意义预览。每当在社交网络系统160上(例如,在搜索结果界面上、在新闻馈送上、在配置文件界面上、在视频库中、在私人消息中)向用户呈现视频时,可以向用户显示预览。基于该预览,用户能够以最小的时间投入较高水平地查看视频关于什么内容(并且确定关于视频的其他信息,诸如视觉质量)。于是,用户能够决定是否投入时间来观看视频。通过激发用户对特定视频的兴趣并向用户展示可获得视频中存在的相关和多样化内容的广度,预览还可以用于促进视频内容的总体性观看并且促进视频搜索功能的使用。此外,用户能够从特定关键帧回放视频,使得用户可以使用预览作为从关键帧到关键帧快速导航通过视频(例如,以跳转到用户可能感兴趣的视频部分)的手段。本文中的方法还具有以下附加优势:为用户创建轻量级交互体验以使得用户能够快速地收集关于一个或多个视频的信息、使等待时间最小化、并节省带宽和处理器资源(例如,通过减少用户在选择一个视频之前加载和观看多个视频的需要)。为了进一步实现这些目标,社交网络系统160除其他事情之外可以以数据有效的格式封装关键帧,并且可以利用预缓存方法来创建更轻量级的用户体验。
在特定实施方式中,社交网络系统160可以从第一用户的客户端系统130接收针对一个或多个视频的搜索查询(例如,由第一用户输入的搜索查询)。社交网络系统160可以识别与搜索查询匹配的一个或多个视频。每个所识别视频可以与一组关键帧相关联(例如,用其进行索引),这组关键帧可以是来自相应的所识别视频的帧(例如,值得注意的帧)。社交网络系统160可以针对每个所识别视频检索所识别视频的该组关键帧。每个关键帧可以与一个或多个概念(例如,由社交图200上的概念节点表示的概念)相关联。社交网络系统160可以针对每个所识别视频的每个关键帧计算关键帧得分。关键帧得分可以是基于与关键帧相关联的一个或多个概念的普遍度(prevalence)。与特定所识别视频的特定关键帧相关联的每个概念的普遍度可以参考与针对特定所识别视频的检索到的该组关键帧中的每个其他的关键帧相关联的一个或多个概念来确定。社交网络系统160可以向第一用户的客户端系统130发送用于显示的搜索结果界面,该搜索结果界面包括与一个或多个所识别视频对应的一个或多个搜索结果。每个搜索结果可以包括被确定为“最佳关键帧”的对应的所识别视频的一个或多个关键帧,其可以是具有大于阈值关键帧得分的关键帧得分的关键帧。虽然本公开集中于视频的关键帧,但是考虑了任何合适的媒体项的关键帧(例如,动态gif、幻灯片等)。此外,关键帧的使用的描述虽然通常集中于在搜索环境中使用关键帧,但是总体上可应用于向用户显示视频的其他环境中。
图4示出了响应于搜索查询而显示的示例搜索结果界面。在特定实施方式中,社交网络系统160可以从第一用户的客户端系统130接收针对一个或多个视频的搜索查询(例如,由第一用户输入的搜索查询)。社交网络系统160可以基于预测用户想要搜索视频的意图的任何合适的因素来推断确定搜索查询是针对视频的。作为示例而非通过限制的方式,如果搜索查询是由第一用户输入到被设置为仅搜索视频的搜索字段、或者如果第一用户提交的选择输入指定搜索仅限于视频,则社交网络系统160可以确定搜索查询是针对视频的。作为另一示例而非通过限制的方式,如果搜索查询包括明确地或隐含地指定用户想要搜索视频的意图的n语法,则社交网络系统160可以确定搜索查询是针对视频的。在该示例中,第一用户可能已经提交了“猫视频”的搜索查询(例如,其中n语法“视频”指定用户想要搜索视频的意图)或“奥创纪元预告片”的搜索查询(例如,其中n语法“预告片”指定用户想要搜索视频的意图,因为搜索中的单词“预告片”通常可能针对电影预告片视频)。作为另一示例而非通过限制的方式,如果执行搜索查询产生了相对大的一组匹配视频搜索结果(或在总的一组搜索结果内有相对高百分比的视频搜索),则社交网络系统160可以确定搜索查询是针对视频的。在该示例中,为了以这种方式确定用户意图,搜索查询的执行可以在将任何搜索结果发送给第一用户以供显示之前在后端上完成。社交网络系统160可以解析搜索查询以识别可以由社交网络系统160提取的一个或多个n语法。在特定实施方式中,社交网络系统160可以在通过搜索查询进行解析时利用自然语言处理(nlp)分析来识别n语法。通常,n语法可以是来自给定文本序列的n项的连续序列。项可以是来自文本或语音序列的字符、音位、音节、字母、单词、基础对、前缀、或其他可识别的项。n语法可以包括帖子的内容或与帖子相关联的元数据中的文本的一个或多个字符(字母、数字、标点符号等)。在特定实施方式中,每个n语法可以包括字符串(例如,文本的一个或多个字符)。在特定实施方式中,n语法可以包括多于一个单词。作为示例而非通过限制的方式,参考图4,社交网络系统160可以解析搜索字段410中的搜索查询的一些或全部文本(例如,“复仇者联盟预告片美国队长”)以识别可以提取的n语法。除其他之外,社交网络系统160可以识别以下n语法:复仇者;预告片;复仇者联盟预告片;队长;美国;美国队长。在特定实施方式中,社交网络系统160可以执行一个或多个合适的预处理步骤,诸如移除某些数字和标点符号(包括标签中的“#”字符)、移除或替换特殊字符和重音符号和/或使所有文本小写。在特定实施方式中,社交网络系统160可以使用术语频率-逆文档频率(tf-idf)分析来从搜索查询中移除不重要的术语。tf-idf是用于评估术语对于集合或语料库(例如,包括一个或多个视频的在线社交网络上的一组帖子)中的文档(例如,包括一个或多个视频的线社交网络上的特定帖子)的重要性的统计度量。一个术语在集合或语料库中越不重要,该术语将被提取为n语法的可能性越小。重要性与术语在特定文档中出现的次数成比例地增加,但是与文档语料库中术语的频率抵消。术语在特定文档中的重要性部分地基于文档中的术语计数,其仅仅是给定术语(例如,单词)在文档中出现的次数。可以对该计数进行标准化以防止偏向更长的文档(其可能具有更高的术语计数而不管该术语在文档中的实际重要性)并且以给出术语t在特定文档d内的重要性的度量。因此,我们有术语频率tf(t,d),在最简单的情况下定义为术语在文档中的出现计数。逆文档频率(idf)是该术语的总体重要性的度量,其通过将文档总数量除以包含该术语的文档的数量,并且然后取商的对数来获得。tf-idf中的高权重通过给定文档中的高术语频率和整个文档集合中该术语的低文档频率而达到;因此,权重倾向于过滤掉常用术语。作为示例而非通过限制的方式,参考图4,搜索字段410中的搜索查询的文本的tf-idf分析(例如,“复仇者联盟预告片美国队长”)可以确定n语法“复仇者”和“队长”应该被提取为n语法,其中这些术语在搜索查询中具有高的重要性。类似地,对搜索查询中的文本的tf-idf分析可以确定不应该将n语法“预告片”提取为n语法,其中该术语在搜索查询中具有低重要性(例如,因为它可能是包含视频的在线社交网络上的许多帖子中或在视频标题或描述中的常用术语,并且因此对于以任何非平凡的方式缩小一组搜索结果都没有帮助)。关于在搜索查询中确定低重要性的术语的更多信息可以在2015年10月07日提交的美国专利申请号14/877624中找到,该申请通过引用结合于此。在特定实施方式中,社交网络系统160可以接收包括一个或多个媒体项(例如,表情符号、照片、音频文件)的搜索查询。社交网络系统160可以使用视频索引或其他媒体索引将这些媒体项转译成n语法,如2015年11月25日提交的美国专利申请号14/952707中所述,该申请通过引用结合于此。虽然本公开描述了以特定方式从特定源接收特定类型的查询,但是本公开考虑了以任何合适的方式从任何合适的源接收任何合适类型的查询。
在特定实施方式中,社交网络系统160可以执行搜索查询以识别与搜索查询匹配的一个或多个视频。社交网络系统160可以通过访问社交网络系统160的一个或多个视频索引来这样做,该视频索引利用关联的关键词索引视频并且尝试将搜索查询的提取的n语法与视频索引的关键词进行匹配。所识别视频可以包括利用与搜索查询的提取的n语法中的一个或多个匹配的关键词、或者利用与提取的n语法中的一个或多个相关联的关键词(例如,通过与一个或多个共同主题相关联)来索引的视频。关于使用视频索引或其他媒体索引基于n语法搜索查询来检索视频的更多信息可以在2015年11月25日提交的美国专利申请号14/952707中找到,该申请通过引用结合于此。虽然本公开描述了以特定方式识别特定类型的内容,但是本公开考虑了以任何合适的方式识别任何合适的内容。
图5示出了视频的一组示例关键帧。在特定实施方式中,社交网络系统160可以针对每个所识别视频检索所识别视频的一组关键帧。关键帧可以是在某种程度上值得注意的所识别视频的帧。关键帧可以用于概括视频或突出显示第一用户或一般用户可能感兴趣的视频部分。在特定实施方式中,视频的一组关键帧可能先前已由社交网络系统160或由第三方系统170(例如,与视频的创建者或发布者相关联的系统)确定。作为示例而非通过限制的方式,社交网络系统160可以在相应视频被上传到在线社交网络期间或不久之后确定关键帧。在特定实施方式中,视频可以用视频索引中的它们相应的关键帧来索引(例如,在一个或多个索引服务器330中托管的视频垂直储存164内),使得社交网络系统160针对所识别视频可以查询视频索引以检索关键帧。在特定实施方式中,可以将视频的关键帧数据(例如,指定关键帧的时间点的数据或与关键帧相关联的其他信息)存储作为视频的元数据。在这些实施方式中,社交网络系统160可以在执行查询时访问元数据时访问元数据,并且可以随后生成视频的关键帧。在特定实施方式中,关键帧本身可以存储为视频的元数据。可选地,在特定实施方式中,一组关键帧可以在执行搜索查询时由社交网络系统160确定和生成。虽然本公开描述了由特定系统以特定方式确定特定帧,但是本公开考虑了由任何特定系统(例如,第三方系统170)以任何合适的方式确定任何合适的帧。
在特定实施方式中,一个或多个关键帧可以是对应于视频的一个或多个场景的开始的帧,至少部分地通过检测视频中的场景变化来识别。在特定实施方式中,社交网络系统160可以选择具有阈值视觉质量的场景的第一帧(例如,具有足够分辨率、对比度等的帧)。在特定实施方式中,社交网络系统160可以基于与视频相关联的元数据来检测场景变化。作为示例而非通过限制的方式,视频可以具有与其相关联的元数据(例如,由视频的创建者、编辑者或上传者引入),其界定视频的不同章节或场景。在特定实施方式中,社交网络系统160可以基于场景检测算法确定场景变化,该场景检测算法分析视频以检测视频从第一场景移位到第二场景的帧。场景检测算法可以使用任何合适的信息来检测场景变化。在特定实施方式中,可以基于视频帧的图像中的颜色、亮度、对比度或其他视觉信息的变化来检测场景变化。作为示例而非通过限制的方式,当一系列帧在视频中引起“渐黑”效果(其可以是对观看者的新场景指示)时,社交网络系统160可以检测到场景变化。作为另一示例而非通过限制的方式,社交网络系统160可以检测从城市中的场景(其可以以诸如灰色、黑色、白色的高浓度颜色的帧为特征)到乡村中的场景(其可以以诸如绿色、蓝色和红色的高浓度颜色的帧为特征)的颜色变化。虽然本公开描述了社交网络系统160以特定方式检测场景变化,但是这种检测可以以任何合适的方式同样发生在任何合适的第三方系统170处。
在特定实施方式中,社交网络系统160可以使用图像识别过程基于帧中识别的概念变化来检测场景变化。作为示例而非通过限制的方式,参考图5,社交网络系统160可以在帧520中识别概念“奥创”(例如,对应于帧520中描绘的角色)、概念“jamesspade”(例如,对应于饰演相关电影复仇者联盟:奥创纪元中的角色奥创的配音演员)、概念“奥创能量爆炸”(例如,对应于帧520中描绘的能量爆炸)、以及在帧中可识别的任何其他概念。类似地,社交网络系统160可以识别帧530中的一个或多个概念(例如,“美国队长”)。在该示例中,社交网络系统160可以基于帧中的相应概念的差异来确定在帧520与帧530之间的某个点处发生场景变化。关于分析图像内容或视频内容以识别概念的更多信息可以在2013年8月05日提交的美国专利申请号13/959446和2015年12月29日提交的美国专利申请号14/983385中找到,每个申请通过引用结合于此。在特定实施方式中,社交网络系统160可以分析特定帧之前和/或之后的一个或多个帧以识别与特定帧相关联的概念。作为示例而非通过限制的方式,针对具有爆炸图像的特定帧,社交网络系统160可以使用图像识别来分析一个或多个在前帧并且识别概念“汽车”并且可以将特定帧与概念“汽车”相关联,即使这样的概念本身不能从特定帧中确定。在该示例中,社交网络系统160还可以将特定帧与概念“汽车爆炸”相关联。
在特定实施方式中,社交网络系统160可以基于与视频中的帧相关联的音频来检测场景变化。作为示例而非通过限制的方式,社交网络系统160可以使用语音或音频识别过程来识别与帧相关联的概念,该过程考虑在帧附近的视频中出现的音频。例如,社交网络系统160可以分析围绕特定帧的音频以确定与特定帧相关联的概念(例如,识别特定人员的声音并将特定帧与该特定人员相关联、识别枪击的特定声音效果并将特定帧与概念“枪”相关联、识别角色所说的“美国队长”并将特定帧与概念“美国队长”相关联)。如本文中所述,社交网络系统160可以使用这些概念中的变化作为用于检测帧之间的场景变化的基础。作为另一示例而非通过限制的方式,社交网络系统160可以在特定帧周围的音频类型发生变化时检测场景变化(例如,歌曲的开头可以表示新场景的开始)。
在特定实施方式中,社交网络系统160可以限制可以为一个视频选择的关键帧的数量,因此并非视频的每个新场景都成为关键帧。作为示例而非通过限制的方式,社交网络系统160可以为一个视频选择最多二十个关键帧。这可以促进效率(例如,通过限制需要由社交网络系统160索引或由第一用户的客户端系统130缓存的关键帧的数量,如本文中所述)。这还可以通过向第一用户呈现最值得注意的帧(而不是用来自每个场景的帧使第一用户应接不暇)来帮助使预览对第一用户更有意义。在特定实施方式中,关键帧的选择可以基于使用图像识别在帧中识别的一个或多个概念。作为示例而非通过限制的方式,社交网络系统160可以选择与用户通常可能具有高的感兴趣水平的概念相关联的帧(例如,描绘爆炸的帧、描绘脸部的帧、描绘重要角色的帧、描绘狗的帧等)。社交网络系统160可以基于来自人类评估者的信息(例如,基于有趣概念的策划列表)、在线社交网络上的用户亲密度和/或任何其他合适的信息来确定用户可能对概念的兴趣水平。通过对比示例而非通过限制的方式,社交网络系统160可以不选择不太有趣的帧(例如,描绘风景的帧、描绘空白屏幕的帧、通常在电影预告片的开头显示的描绘绿色评级启动画面的帧等)。基于这些示例,可以选择包括脸部的帧作为关键帧,而不是包括风景的帧,即使风景可能是特定场景中的第一个良好质量帧。作为另一示例而非通过限制的方式,社交网络系统160可以选择与视频中与其他帧相比具有相对低的普遍度的概念相关联的帧。在该示例中,针对蝙蝠侠电影预告片,社交网络系统160可以选择与神奇女侠的意外出现相关联的帧,而不是显示蝙蝠侠的帧,因为在视频中可能存在与蝙蝠侠相关联的相对大量的帧和与神奇女侠相关联的相对少量的帧。这可以用于促进与相应视频中的其他帧相比相对多样化的帧作为关键帧。出于类似的目的,在特定实施方式中,社交网络系统160可以选择其颜色、对比度和/或其他视觉特征多样的帧。作为示例而非通过限制的方式,在一组主要是黑白的帧中,社交网络系统160可以选择有颜色的帧。在特定实施方式中,社交网络系统160可以选择对应于视频中相对长的持续时间的场景的关键帧。作为示例而非通过限制的方式,社交网络系统160可以从五分钟的场景中选择关键帧,而不是从五秒的场景中选择关键帧。在特定实施方式中,社交网络系统160可以基于用户参与度水平(例如,在线社交网络的用户的喜欢、评论等)或与视频中的时间点、或视频中从中获取关键帧的场景相关联的观看数来选择关键帧。作为示例而非通过限制的方式,社交网络系统160可以记录用户喜欢或评论视频的时间点或场景。在该示例中,社交网络系统160可以将用户的喜欢和/或评论与围绕它们的相应时间点的帧相关联,以确定哪些帧具有最高的用户参与度。作为另一示例而非通过限制的方式,社交网络系统160可以将用户的喜欢和/或评论与基于明确的用户指定的关联的帧关联到喜欢或评论的时间点或场景(例如,用户评论可以指定“0:58处的很酷的爆炸”)。作为另一示例而非通过限制的方式,社交网络系统160可以关联被确定为隐含地引用视频的时间点或场景的喜欢或评论(例如,陈述“很酷的爆炸”的评论,其可以与发生爆炸的一个或多个关键帧相关联)。作为另一示例而非通过限制的方式,社交网络系统160可以记录用户已经观看的帧的次数以确定哪些帧具有最高的观看数。在特定实施方式中,可以基于视频序列中的场景的位置来标准化用户参与度或观看时间(例如,以校正朝视频的开头的偏差,由于视频的连续性质,开头更可能被用户观看或参与)。在特定实施方式中,社交网络系统160可以基于相应帧的相对视觉质量来选择一组帧中的关键帧。作为示例而非通过限制的方式,社交网络系统160可以选择具有相对高视觉质量的帧,而不是具有相对低视觉质量的帧。
在特定实施方式中,社交网络系统160可以针对每个所识别视频的每个关键帧计算关键帧得分。关键帧得分可以是指示第一用户可能对检索到的一组关键帧中的相应关键帧具有的兴趣水平的得分。在特定实施方式中,相对高的关键帧得分可以指示相对高的兴趣水平,而相对低的关键帧得分可以指示相对低的兴趣水平。在特定实施方式中,关键帧得分可以基于本文中描述的用于选择关键帧的一个或多个因子。作为示例而非通过限制的方式,关键帧得分可以是基于与关键帧相关联的一个或多个概念的普遍度。与特定所识别视频的特定关键帧相关联的每个概念的普遍度可以参考与针对特定所识别视频的检索到的该组关键帧中的每个其他的关键帧相关联的一个或多个概念来确定。作为示例而非通过限制的方式,社交网络系统160可以对与在检索到的一组关键帧中普遍度相对较低的概念相关联的关键帧计算出相对高的关键帧得分,并且这样做可以促进在关键帧中的多样性。作为另一示例而非通过限制的方式,社交网络系统160可以通过对具有相对较不普遍的颜色、对比度和/或其他视觉特征的关键帧计算出相对高的关键帧得分来促进多样性。在特定实施方式中,关键帧得分可以基于与获得关键帧的场景相关联的用户参与度(例如,喜欢、评论等),如本文中所述。作为示例而非通过限制的方式,社交网络系统160可以计算具有相对高的用户参与度水平的关键帧的相对高的关键帧得分。在特定实施方式中,关键帧得分可以基于关键帧的观看数。作为示例而非通过限制的方式,正在观看相应视频的用户相对频繁地观看的关键帧(例如,视频的一部分中包含的描绘了用户经常重放的角色蝙蝠侠与超人之间的战斗场景的帧)可以得到相对较高的关键帧得分。社交网络系统160可以通过适当地标准化用户参与度水平或观看时间来校正存在于趋向视频开头的偏差(例如,由于视频的连续性,人们可能倾向于观看或参与视频的开头而不是结尾)。在特定实施方式中,关键帧得分可以基于用户对相应关键帧中的概念所通常具有的兴趣水平。虽然本公开描述了以特定方式计算特定视频帧的特定类型的得分,但是本公开考虑了以任何合适的方式计算任何合适项的任何合适得分。
在特定实施方式中,可以为第一用户个性化关键帧得分。在特定实施方式中,该个性化可以基于与第一用户相关联的信息,该信息可以指示某些关键帧针对第一用户可能是特别最佳的。作为示例而非通过限制的方式,关键帧得分可以基于第一用户针对与相应关键帧相关联的一个或多个概念具有的一个或多个亲密度。例如,对于对狗具有比猫更高的亲密度的第一用户(例如,如由指示对狗的偏好的第一用户的配置文件信息、与猫相比发布与狗相关联的内容的历史、与猫相比喜欢或评论与狗相关联的内容的历史、与猫相比与狗相关联的术语的搜索历史来确定的),描绘狗的图片的关键帧可以得到比描绘猫的图片的关键帧更高的关键帧得分。作为另一示例而非通过限制的方式,关键帧得分可以基于其他社交图信息,诸如第一用户与和相应关键帧相关联的用户或概念之间的分离度。例如,在高中同学聚会视频中,描绘第一用户的第一程度连接的关键帧可以得到比描绘不是第一用户的第一程度连接的人的关键帧更高的关键帧得分。作为另一示例而非通过限制的方式,关键帧得分可以基于与第一用户相关联的人口统计信息(例如,如基于第一用户的配置文件信息确定的)。例如,针对超级英雄电影预告片,如果第一用户是青少年,则描绘青少年超级英雄的关键帧可以比描绘较老的超级英雄的关键帧获得更高的得分(例如,因为青少年的第一用户可能与青少年超级英雄比对于较老的超级英雄更加相关,因此可能更感兴趣的是在关键帧中看到前者而不是后者)。在特定实施方式中,个性化可以基于当前的情境背景。作为示例而非通过限制的方式,关键帧得分可以基于当前日期或时间(即,关键帧将被显示给第一用户的时间)。在该示例中,如果特定关键帧具有匹配与日期或时间相关联的一个或多个概念的一个或多个概念,或者如果其具有预定为与特定日期或时间特别相关的概念,则特定关键帧可以得到相对高的关键帧得分。例如,某些关键帧可以在晚上比在白天得到更高的关键帧得分(例如,具有与夜间相关联的概念的关键帧在第一用户的夜间时可以比在第一用户的日间时得到更高的关键帧得分)。类似地,某些关键帧可以在特定日期(例如,圣诞节、情人节)比在其他日期得到更高的关键帧得分。作为另一示例而非通过限制的方式,关键帧得分可以基于当前的事件。例如,在关于自然灾害的视频中,当近期发生了地震(例如,如由在线索引、数据库或新闻源确定的)或者如果主题“地震”在在线社交网络上趋向热门时,与概念“地震”相关联的关键帧可以得到相对较高的关键帧得分。
在特定实施方式中,关键帧得分可以基于关键帧中存在的概念相对于检索视频的目的的相关性。作为示例而非通过限制的方式,如果响应于包括n语法“美国队长”的搜索查询而检索复仇者视频(例如,参考图4,在搜索字段410中针对“复仇者联盟预告片美国队长”的搜索查询),则包括角色美国队长的图像的关键帧可以得到比包括角色钢铁侠的图像的关键帧更高的关键帧得分(例如,因为概念“美国队长”可以匹配搜索查询中的n语法“美国队长”)。作为另一示例,如果在在线社交网络上的拳击群组的页面内(例如,当第一用户访问拳击群组的页面时)检索体育精彩视频以供显示,则与概念“拳击”相关联的关键帧可以得到比概念“足球”相关的关键帧更高的关键帧得分。
在特定实施方式中,关键帧得分可以基于其他用户与相应视频的交互历史,其指示用户对相应关键帧中描绘的内容的兴趣。作为示例而非通过限制的方式,用户在决定观看视频之前最近经常查看的关键帧可以得到相对较高的关键帧得分。作为另一示例而非通过限制的方式,用户观看相对长持续时间的关键帧(例如,在用户能够提交可以暂停正在显示的关键帧的输入的情况下,如本文中所述)可以得到相对较高的关键帧得分。在这些示例中,社交网络系统160可以通过适当地标准化交互历史数据来校正存在于趋向视频开头的偏差(例如,由于视频的连续性,人们可能倾向于观看或与视频的开头交互而不是结尾)。在特定实施方式中,实体能够请求推动特定关键帧(例如,通过赞助或支付特权),在这种情况下,社交网络系统160可以向上调整特定关键帧的关键帧得分。关键帧的推动可以定位到用户的子群组(例如,针对特定人口统计、位置等)。作为示例而非通过限制的方式,复仇者联盟电影的营销团队可以要求在美国观看的复仇者联盟预告片中推动描绘美国队长角色的关键帧,而在其他地方在同样的预告片中推动描绘钢铁侠角色的关键帧(例如,因为美国队长在美国可能具有相对大量的追随者,而在其他地方不是这样)。在特定实施方式中,可以向下调整包含露骨内容的关键帧的关键帧得分。该向下调整可以仅针对特定人口统计、位置等发生。取决于人口统计、位置等,可以存在不同程度的调整。作为示例而非通过限制的方式,针对尚未证实高于阈值年龄的用户可以严格地向下调整具有露骨内容的关键帧,而针对高于阈值年龄的用户可以仅轻微地向下调整具有露骨内容的关键帧。在特定实施方式中,可以基于一个或多个合适的函数来计算关键帧得分,函数可以至少部分地使用本文中描述的因子的任何组合作为一个或多个输入。可以以任何合适的方式(例如,为更好地预测第一用户的兴趣水平的因子或函数提供更高的权重)对用于计算关键帧得分的不同因子或不同函数进行加权(使用可以是例如乘法因子和/或加法项的一个或多个权重)。作为示例而非通过限制的方式,关键帧得分的计算可以通过以下简化等式高水平地表示:关键帧得分=fa(af1(x,y,…)+bf2(i,j,…)+…),其中a和b是权重;fa、f1和f2是函数;并且x,y,i和j是用作输入的四个因子。该等式仅用于说明目的。可以采用基于本文中描述的因子计算关键帧得分的任何合适的手段。
图6示出了视频的一组示例最佳关键帧。图7示出了显示视频搜索结果的示例搜索结果界面。在特定实施方式中,社交网络系统160可以向第一用户的客户端系统130发送用于显示的搜索结果界面(例如,通过发送被配置为呈现这样的搜索结果界面的信息),该搜索结果界面包括与一个或多个所识别视频对应的一个或多个搜索结果。作为示例而非通过限制的方式,图4和图7描绘了两个这样的搜索结果界面。在特定实施方式中,一个或多个搜索结果可以是包括响应于搜索查询的视频的在线社交网络上的通信(例如,帖子、转发、发送给第一用户的私人消息等)。作为示例而非通过限制的方式,参考图4,搜索结果430和440可以是分别来自用户和非用户实体的帖子,其包括响应于搜索字段410中的搜索查询的视频(例如,“复仇者联盟预告片美国队长”)。在特定实施方式中,一个或多个搜索结果可以是包括相应视频本身的内容对象,或者可以包括到相应视频的简单链接。作为示例而非通过限制的方式,参考图4,视频结果模块420内的搜索结果可以简单地链接到相应的视频。作为另一示例而非通过限制的方式,搜索结果710可以是包括相应视频本身的内容对象。每个搜索结果可以包括可以被确定为“最佳关键帧”的对应的所识别视频的一个或多个关键帧。最佳关键帧可以是从用于所识别视频的一组关键帧中选择的关键帧,其具有大于阈值关键帧得分的关键帧得分。当一起观看时,视频的最佳关键帧可以用作视频的有意义的预览。在特定实施方式中,关键帧得分和阈值关键帧得分可以分别是关键帧排名和阈值关键帧排名,使得具有高于阈值关键帧排名的关键帧可以被确定为最佳关键帧。社交网络系统160可以使用阈值关键帧得分或阈值关键帧排名来对可以被选择作为最佳关键帧的关键帧的数量施加上限。作为示例而非通过限制的方式,社交网络系统160可以指定具有最高关键帧得分的仅三个关键帧作为最佳关键帧,或者这三个排名靠前的关键帧可以被选择作为最佳关键帧。例如,在图5中的视频510的七个关键帧中,社交网络系统160可以选择图6中描绘的三个关键帧作为最佳关键帧(即,最佳关键帧620、630和640)。通过选择得分最高或排名最高的关键帧(例如,关键帧得分大于阈值关键帧得分的关键帧),社交网络系统160可以选择反映视频中对视频最佳概括的时刻的关键帧(例如,通过提供最具代表性的帧)。附加地或可选地,选择这样的关键帧可以促进呈现查询用户感兴趣的关键帧,从而激发查询用户对相应视频的兴趣。可选地或另外地,选择这样的关键帧可以确保选择多样的关键帧,从而总体上(例如,通过在一个或多个视频中显示可获得内容的广度)来激发查询用户对视频内容或视频搜索的兴趣。虽然本公开描述了以特定方式将特定类型的搜索结果界面发送到特定系统,但是本公开考虑了以任何合适的方式将任何合适类型的搜索结果界面发送到任何合适的系统。此外,虽然本公开描述了以特定方式将特定关键帧发送到特定系统,但是本公开考虑了以任何合适的方式将任何合适的视频帧发送到任何合适的系统。
可以在不同视频之间改变可以选择的最佳关键帧的数量(例如,通过调整阈值关键帧排名/阈值关键帧得分的上限)。这种变化可以基于任何合适的因素。作为示例而非通过限制的方式,视频的最佳关键帧的数量可以基于视频的长度(例如,针对相对长的视频允许相对大量的最佳关键帧)。作为另一示例而非通过限制的方式,视频的阈值排名或阈值得分可以基于视频的关键帧的多样性(例如,允许为具有相对多样的关键帧的视频选择相对大量的最佳关键帧)。
在特定实施方式中,可以在搜索结果界面上的预览区域内显示最佳关键帧。在特定实施方式中,每个视频搜索结果可以具有关联的预览区域,该预览区域显示来自相应视频的最佳关键帧。预览区域可以邻近、接近显示视频的区域定位,或者直接位于该区域上。作为示例而非通过限制的方式,参考图5,预览区域可以直接位于视频的缩略图显示上(例如,使得至少在感知上,预览区域不是与缩略图显示分开的区域)。在特定实施方式中,社交网络系统160可以显示视频的时间线,其可视地描绘视频中出现不同最佳关键帧的时间点。时间线可以显示在屏幕的任何合适区域中(例如,接近、邻近或直接覆盖预览区域的一部分)。作为示例而非通过限制的方式,参考图4,时间线450可以覆盖在预览区域的底部上。在该示例中,可以用视觉标签(例如,视觉标签460)标记在对应于搜索结果430的视频中出现不同最佳关键帧的时间点。在图6中进一步说明了使用这种视觉标签来描绘出现不同最佳关键帧的时间点,图6示出了如何在具有相应视觉标签的相应时间线上描绘视频610的每个最佳关键帧(即,最佳关键帧620、630和640)的时间点。在特定实施方式中,当前在预览区域中显示的最佳关键帧的时间线上的时间点可以在视觉上与其他最佳关键帧区分开(例如,通过使用与当前显示的最佳关键帧对应的时间点的单独指示符,突出显示与当前显示的最佳关键帧对应的视觉标签)。作为示例而非通过限制的方式,参考图4,指示符470可以覆盖在对应于当前显示的最佳关键帧的视觉标签的顶部,指示当前正在显示与该视觉标签对应的最佳关键帧。使用时间线信息,第一用户能够在视频显示时可视地跟踪视频中的不同最佳关键帧的出现。
在特定实施方式中,针对所识别视频的最佳关键帧可以以幻灯片预览模式或以交互式预览模式显示在预览区域中。在幻灯片预览模式中,视频的预览区域可以通过自动地行进通过每个最佳关键帧来将视频的最佳关键帧显示为幻灯片。在特定实施方式中,可以基于其相对的关键帧得分来在不同的持续时间内显示最佳关键帧。作为示例而非通过限制的方式,具有相对高的关键帧得分的关键帧可以被显示相对长的持续时间(例如,1秒),而具有相对低的关键帧得分的关键帧可以被显示相对短的持续时间(例如,0.5秒)。在特定实施方式中,幻灯片可以当预览区域被呈现在搜索结果界面上时开始并且可以无限地继续(例如,以定义的顺序循环通过最佳关键帧)。可选地,幻灯片可以响应于一个或多个用户输入而开始和停止。作为示例而非通过限制的方式,当第一用户用光标悬停在缩略图上、用手指或其他指针对象悬停在相关联的屏幕区域上(例如,如由近距离传感器或相机确定的)、点击或按住相关联的屏幕区域、或以任何其他方式指示对相应视频的兴趣时,幻灯片可以开始。在这些示例中,当第一用户停止在缩略图上悬停、停止用手指或其他指针对象悬停在相关联的屏幕区域上、停止按住相关联的屏幕区域、或者再次点击相关联的屏幕区域、或以任何其他方式指示停止幻灯片的意图时,幻灯片可以停止。在特定实施方式中,幻灯片预览模式可以包括时间线的显示,时间线的显示包括指示相应视频的最佳关键帧的时间点的视觉标签的显示和指示当前显示的最佳关键帧的指示符(例如,参考图4,指示符470),当幻灯片显示期间当前显示的最佳关键帧改变时,该指示符从一个最佳关键帧移动到下一个最佳关键帧。
在特定实施方式中,最佳关键帧可以以交互式预览模式显示在预览区域中。交互式预览模式可以允许第一用户更精确地控制预览区域中的最佳关键帧的显示。在特定实施方式中,交互式预览模式可以允许用户使用合适的输入向前或向后导航通过一组有序的最佳关键帧。在特定实施方式中,交互式预览模式可以在适当的位置(例如,覆盖相应视频、邻近相应视频)向第一用户呈现时间线进度条元素。作为示例而非通过限制的方式,参考图4,搜索结果430的预览区域可以包括时间线进度条元素450(虚线框内)。时间线进度条元素可以包括相应视频的时间线和可移动进度条组件的显示,可移动进度条组件可以由第一用户以适当的输入进行调整。时间线可以包括指示相应视频的最佳关键帧的时间点的视觉标签的显示。在这些实施方式中,第一用户能够通过将可移动进度条组件的位置调整到与期望的最佳关键帧相关联的位置(例如,在相应视觉标签的位置上)来导航通过最佳关键帧。作为示例而非通过限制的方式,参考图6,当前定位在最佳关键帧640的视觉标签的位置上的可移动进度条元素650可以被重新定位在时间线上的任一其他视觉标签的位置上(即,最佳关键帧620或最佳关键帧630的位置)。在特定实施方式中,当第一用户提交输入以将可移动进度条元素重新定位时,可移动进度条元素可以从一个关键帧跳到下一个关键帧(例如,在预期方向上顺序地)。在重新定位可移动进度条元素时,可以使第一用户可使用一个或多个合适的输入装置中的任一个。作为示例而非通过限制的方式,第一用户能够沿预期方向点击并拖动(或在触摸屏上按压并拖动)可移动进度条元素、在显示器上点击(或按压)合适的按钮(例如,左箭头按钮或右箭头按钮、上箭头键或下箭头键等)、按压输入设备上的合适的键(例如,左箭头按钮或右箭头按钮、上箭头按钮或下箭头按钮等)、显示器上呈现的任何其他合适的交互元件、或其任何组合。作为另一示例而非通过限制的方式,第一用户能够按压“右”箭头键以按顺序行进到下一个关键帧或者在该方向上开始自动幻灯片,并且可以按压“左”箭头键以反方向前进。这些输入装置可以位于搜索结果界面上的任何合适的位置(例如,如图7中的邻近预览区域、如图4中的覆盖预览区域)。交互式预览模式还可以允许其他类型的输入,诸如手势(例如,3d手势、倾斜手势、触摸手势等)或滚动通过最佳关键帧的其他方法(例如,使用鼠标上的滚轮)。作为示例而非通过限制的方式,参考图6,第一用户能够将正在呈现预览的客户端系统130倾斜到左侧以将可移动进度条元素重新定位到其当前位置的左侧(例如,使其跳转到最佳关键帧630的视觉标签的位置)。作为另一示例而非通过限制的方式,参考图6,第一用户能够在客户端系统130的触摸屏上向左滑动以将可移动进度条元素重新定位在其当前位置的左侧。方向可以不限于水平方向。作为示例而非通过限制的方式,输入可以对应于垂直方向(例如,特别是当时间线以垂直方式定向时)或其他方向。在特定实施方式中,可以不向第一用户显示时间线进度条元素。在这些实施方式中,第一用户仍然可以使用本文中描述的一个或多个合适的输入(例如,通过执行合适的滑动手势)行进通过最佳关键帧。
在特定实施方式中,社交网络系统160可以允许第一用户启用放大预览模式,其中预览显示在放大的预览区域内,该放大的预览区域可以是比最初显示给第一用户的标准预览区域更大的屏幕部分(例如,全屏显示)。在特定实施方式中,当第一用户提交指示这种启用的意图的输入时(例如,在触摸屏上按压并停留在合适的区域、点击指定的交互元素),可以启用放大预览模式。放大预览模式可以是如本文中所述的幻灯片类型或交互式类型。在特定实施方式中,当启用放大预览模式时,社交网络系统160可以将最佳关键帧的较高分辨率图像发送到第一用户的客户端系统130,以在放大的预览区域内显示。在特定实施方式中,第一用户的客户端系统130可以将放大预览模式的启用视为用于预缓存整个视频或其片段(例如,包括当前显示的最佳关键帧的场景、在当前显示的最佳关键帧的时间点之后出现的一个或多个场景等)的触发器。因此,第一用户的客户端系统130可以从社交网络系统160请求和接收视频信息,用于预缓存视频或其片段。在接收到视频信息时,第一用户的客户端系统130可以将其缓存在本地数据储存中,以便在第一用户提交指定回放视频的另一输入时容易检索。
在特定实施方式中,社交网络系统160可以基于一个或多个合适的因子中的任一个来对相应视频的最佳关键帧进行排序。作为示例而非通过限制的方式,顺序可以基于相应视频中的最佳关键帧的出现的时间顺序。作为另一示例而非通过限制的方式,顺序可以基于最佳关键帧的相对关键帧得分(例如,按最高来排序)。最佳关键帧的显示可以基于它们的确定的顺序。作为示例而非通过限制的方式,在幻灯片预览模式中,预览区域可以按其相应的顺序依次显示最佳关键帧。作为另一示例而非通过限制的方式,在交互式预览模式中,第一用户可以按其相应的顺序行进通过最佳关键帧。在特定实施方式中,社交网络系统160可以最初显示具有最高关键帧得分的最佳关键帧,并且仍按时间顺序保持最佳关键帧的顺序。作为示例而非通过限制的方式,参考图4,社交网络系统160可以最初显示与指示符470的位置处的时间点相对应的最佳关键帧(即,当前显示的最佳关键帧),因为它可能具有最高的关键帧得分。在该示例中,在幻灯片预览模式中,显示的下一个最佳关键帧将是与视觉标签460的位置处的时间点相对应的最佳关键帧,然后按时间顺序行进到下一个最佳关键帧。
在特定实施方式中,可以在用户搜索查询背景之外采用本文中描述的用于确定和显示最佳关键帧的方法。可以在向第一用户呈现视频的其他情况下(无论第一用户是否已经提交了对视频的任何搜索查询)确定最佳关键帧并将其显示给第一用户。作为示例而非通过限制的方式,可以对要出现在用户的新闻馈送界面或要呈现给第一用户的任何其他合适的界面(例如,实体的配置文件页面、具有与群组的目的相关的视频的群组页面、包括一组视频的页面等)上的一个或多个视频确定和显示最佳关键帧。作为另一示例而非通过限制的方式,可以对作为来自另一实体的通信的一部分而发送给用户的视频(例如,作为第一用户的私人消息的一部分的视频)确定和显示最佳关键帧。
图8a和图8b分别示出了预览模式界面的示例和回放模式界面的示例。转换也可以相反地发生。在特定实施方式中,第一用户能够从预览模式之一转换到相应视频的回放模式(即,使得视频在第一用户的客户端系统130上播放)。作为示例而非通过限制的方式,参考图8a和图8b,预览810可以转换到回放界面820(例如,全屏界面),该界面可以播放对应的视频。作为另一示例而非通过限制的方式,预览810可以在显示预览810的同一区域内转换到回放界面(例如,回放界面可以占据与预览810相同的区域)。在特定实施方式中,转换可以响应于指示第一用户可能对观看视频感兴趣的触发事件的发生而发生。在特定实施方式中,触发事件可以与特定最佳关键帧相关联,在这种情况下,视频的回放可以在对应于特定最佳关键帧的时间点处或附近开始、或者在对应于包含特定最佳关键帧的场景的时间点处或附近开始。作为示例而非通过限制的方式,参考图8a,可以检测与预览810中的当前显示的最佳关键帧相关联的触发事件。在该示例中,参考图8b,社交网络系统160可以从与回放界面820中的同一最佳关键帧相对应的时间点开始相应视频的回放。在特定实施方式中,视频的回放可以在与概念相关联的场景(或包括与概念关联的关键帧的场景)处开始,社交网络系统160可以确定该概念与第一用户选择观看视频的意图特别相关。作为示例而非通过限制的方式,如果视频是响应于“复仇者预告片美国队长”的搜索查询而被检索到的,则回放可以开始于以角色美国队长为特征的场景。在特定实施方式中,触发事件可以是来自第一用户的输入的发生,该输入指示对观看视频或其片段感兴趣。作为示例而非通过限制的方式,参考图8a,输入可以包括按压预览810上显示的“播放”按钮。作为另一示例而非通过限制的方式,触发事件可以包括第一用户表达对特定最佳关键帧的兴趣(例如,点击特定最佳关键帧、用手指或光标在特定最佳关键帧上悬停阈值时间段、通过用手指或光标将可移动进度条元素在相应位置处定位和保持阈值时间段来在特定最佳关键帧处暂停预览阈值时间段、在具有可以检测用户施加的力的量的传感器的触摸屏上执行力触摸等)。例如,参考8a,第一用户可以将进度条在对应于当前显示的最佳关键帧的视觉标签上定位阈值时间段(例如,五秒),响应于此,可以开始视频回放(例如,在显示预览810的同一区域内播放视频、转换到回放界面820并在其中播放视频等)。
在特定实施方式中,社交网络系统160可以对检测到预触发事件的发生来做出响应。预触发事件可以是指示触发事件将发生的可能性的事件。作为示例而非通过限制的方式,在第一用户提交输入以在特定最佳关键帧处暂停预览五秒时发生触发事件的情况下,预触发事件可以发生在第一用户在特定最佳关键帧上暂停预览两秒时。在特定实施方式中,响应于检测到预触发事件的发生,社交网络系统160和第一用户的客户端系统130可以采取一个或多个动作来准备响应触发事件的发生(一旦发生)。作为示例而非通过限制的方式,在前面的示例的基础上,当第一用户在特定最佳关键帧处暂停预览两秒时,社交网络系统160可以开始将视频内容(例如,用于播放整个视频、对应于与当前显示的最佳关键帧相关联的场景的视频片段、在与当前显示的最佳关键帧相关联的时间点之后的视频的一个或多个片段等)发送到第一用户的客户端系统130,客户端系统130可以开始在本地数据储存中缓存视频内容。在该示例中,当随后检测到触发事件时(例如,如果第一用户在特定最佳关键帧处继续暂停预览总共五秒),则可以启动视频回放。
在特定实施方式中,社交网络系统160可以在回放相应视频期间向第一用户显示最佳关键帧。第一用户能够在观看视频的同时预期到视频的值得注意的部分(例如,与最佳关键帧相关联的部分)何时将发生和/或从与一个最佳关键帧相关联的时间点到与下一个最佳关键帧相关联的时间点来导航通过视频。作为示例而非通过限制的方式,参考图8b,对应于最佳关键帧的时间点可以在时间线进度条元素内描绘,当正在回放界面820中播放视频时,第一用户可以查看该时间线进度条元素。在该示例中,第一用户能够通过跳过最佳关键帧的不同时间点来提交合适的输入来导航通过视频。查看和导航通过最佳关键帧的时间点的能力在搜索视频内容时可以是有用的。作为示例而非通过限制的方式,第一用户可能想要在长视频中定位特定场景并且可以导航通过关键帧以找到特定场景。作为另一示例而非通过限制的方式,第一用户可以浏览关键帧以寻找第一用户可能感兴趣的场景。
在特定实施方式中,可以在合适的位置处显示与一个或多个最佳关键帧或从中获取其的场景相关联的一个或多个描述。作为示例而非通过限制的方式,参考图8b,社交网络系统160可以在邻近相应的最佳关键帧的位置处显示每个最佳关键帧的描述(例如,第一、第二和第三最佳关键帧的描述分别是“美国队长,战斗”、“绿巨人,粉碎”和“复仇者联盟战斗,爆炸”)。在特定实施方式中,描述可以基于从包含相应最佳关键帧的对应视频的一部分相关联的一个或多个通信(例如,在线社交网络上的帖子、转发、评论)中提取的一个或多个n语法。作为示例而非通过限制的方式,在确定最佳关键帧的描述时,社交网络系统160可以从与时间点或从中获取最佳关键帧的场景相关联的通信中提取n语法(在tf-idf分析和其他预处理任务之后)(例如,来自视频中出现最佳关键帧的时间点附近的针对视频发布的评论“喜欢绿巨人粉碎”中的n语法、来自包括该视频的读为“美国队长在0:21的战斗场景真是太棒了!”的帖子的n语法)。在该示例中,社交网络系统160可以编译和排序从与每个最佳关键帧相关联的所有这样的通信中提取的n语法,并且可以在与最佳关键帧相关联的通信中选择最频繁出现的一个或多个n语法作为最佳关键帧的描述。在特定实施方式中,社交网络系统160可以使用索引具有与(例如,在在线社交网络上的通信中的)相应媒体项经常结合使用的n语法的媒体项的媒体索引将存在于与时间点相关联的通信中的媒体项(例如,表情符号、贴纸)转换为n语法,并且然后可以在确定最佳关键帧的描述时提取那些n语法。作为示例而非通过限制的方式,社交网络系统160可以将评论“很棒的
在特定实施方式中,当一个或多个最佳关键帧被发送到第一用户的客户端系统130时,关键帧可以被封装为数据有效格式以节省带宽和处理器资源(例如,在客户端和服务器端这两者)。作为示例而非通过限制的方式,关键帧可以被封装为视频中对应帧的较低分辨率版本。在特定实施方式中,在要将一个或多个视频呈现给第一用户(例如,在搜索结果界面中、在新闻馈送上、作为通信的一部分)之前,可以在第一用户的客户端系统130处预先缓存该一个或多个视频(例如,所识别视频)的一个或多个关键帧(例如,最佳关键帧)。作为示例而非通过限制的方式,社交网络系统160可以在其正在发送视频和将与视频一起呈现的任何其他内容时(例如,在其正在发送信息以呈现图4中描绘的搜索结果界面时)向用户(例如,第一用户)的客户端系统130发送视频的最佳关键帧,并且第一用户的客户端系统130可以将关键帧缓存在一个或多个本地数据储存中。诸如数据有效封装和预缓存的特征(单独或串联工作)可以使用户在与在线社交网络上的视频交互时提供响应迅速、轻量级的交互式体验。
在特定实施方式中,呈现给第一用户的搜索结果界面可以具有增强与搜索结果的交互的用户体验的一个或多个其他特征。在特定实施方式中,在搜索结果界面上(其中第一用户正在观看特定视频的预览或观看特定视频的回放(例如,在放大预览上、或在放大或全屏回放界面上)),第一用户能够通过执行特定手势或其他输入(例如,向上或向下滑动、特定倾斜手势、显示器上的特定交互元素的启用)来切换到所识别的一组视频搜索结果中的另一视频(例如,视频搜索结果的排序列表中的后续视频、所识别组中与当前显示的最佳关键帧或与当前正在回放的场景相关联的关键帧中呈现的概念最相关的视频)。作为示例而非通过限制的方式,参考图7,在全屏显示上查看搜索结果710中的视频的回放的第一用户可以通过在客户端系统130的触摸屏上向下滑动来快速切换到搜索结果740中的视频的回放。类似地,在该示例中,第一用户可以通过在触摸屏上向上滑动来快速切换回搜索结果710中的视频的回放。在特定实施方式中,社交网络系统160(或第一用户的本地客户端系统130)可以自动地将预览或回放界面上的“焦点区域”(诸如视觉焦点区域)(例如,预览或回放区域的中心)或者频繁用户交互的区域(例如,参考图4,时间线进度条元素450的区域)定位或重新定位在不太可能被遮挡(例如,被第一用户的手指遮挡)的区域中。在特定实施方式中,社交网络系统160(或第一用户的本地客户端系统130)可以将视觉焦点区域定位或重新定位到相对远离最后一次用户交互的点的位置(例如,围绕远离第一用户最后一次触摸屏幕的点的点来将视频的回放重新定位到中心)。在特定实施方式中,社交网络系统160可以将频繁用户交互区域定位或重新定位到相对接近最后用户交互点的位置(例如,将时间线进度条元素重新定位成更接近第一用户最后一次触摸屏幕的点)。在特定实施方式中,社交网络系统160(或第一用户的本地客户端系统130)可以具有对象跟踪特征,该对象跟踪特征能够使用来自客户端系统130的数据来主动跟踪可能遮挡第一用户的视线的对象,并且因此可以主动地重新定位视觉焦点区域。作为示例而非通过限制的方式,第一用户的客户端系统130可以具有检测悬停在其屏幕区域上的手指的前置相机或近距离传感器。这种检测可以使社交网络系统160或第一用户的客户端系统130将视觉焦点区域重新定位在远离手指的位置。在特定实施方式中,针对频繁用户交互的区域,情况可能相反(例如,使时间线进度条元素朝向悬停手指的位置或朝向光标的位置重新定位)。
在特定实施方式中,从视频的关键帧收集的信息可以在后端上用于内容排名(例如,用于搜索)。社交网络系统160可以使用来自关键帧的信息作为对搜索结果列表进行排名的因子。作为示例而非通过限制的方式,具有相对高质量的关键帧的视频(例如,相对多样化的关键帧、具有相对高视觉质量的关键帧、具有用户相对感兴趣的概念的关键帧、具有与搜索查询的相对高的相关性的概念的关键帧)可以被排名高于具有相对低质量的关键帧的视频。基本上,在该示例中,社交网络系统160可以分析视频的关键帧而不是视频本身来评估视频。评估一组视频的关键帧可以比分析该组中的视频的每单个帧更有效,并且社交网络系统160可以相应地使用该方法作为快捷机制。
图9示出了用于确定在搜索结果界面中显示的关键帧的示例方法900。该方法可以开始于步骤910,其中社交网络系统160可以从第一用户的客户端系统130接收由第一用户输入的针对一个或多个视频的搜索查询。在步骤920处,社交网络系统160可以识别与搜索查询匹配的一个或多个视频。在步骤930处,针对每个所识别视频,社交网络系统160可以检索所识别视频的一组关键帧,每个关键帧是所识别视频的一帧,其中,每个关键帧与一个或多个概念相关联。在步骤940处,针对每个所识别视频的每个关键帧,社交网络系统160可以基于与关键帧相关联的一个或多个概念的普遍度来计算关键帧得分,其中,普遍度是参考与针对所识别视频的检索到的一组关键帧中的每个其他关键帧相关联的一个或多个概念来确定的。在步骤950处,社交网络系统160可以向第一用户的客户端系统130发送用于显示的搜索结果界面,搜索结果界面包括与一个或多个所识别视频对应的一个或多个搜索结果,每个搜索结果包括针对对应的所识别视频的一个或多个最佳关键帧,其中,针对对应的所识别视频的最佳关键帧是具有大于阈值关键帧得分的关键帧得分的关键帧。在适当情况下,特定实施方式可以重复图9的方法的一个或多个步骤。虽然本公开描述并示出了图9的方法的特定步骤以特定顺序发生,但是本公开考虑了图9的方法的任何合适的步骤以任何合适的顺序发生。此外,虽然本公开描述并示出了用于确定显示在搜索结果界面中的关键帧的示例方法包括图9的方法的特定步骤,但是本公开考虑了在适当情况下,用于确定显示在搜索结果界面中的关键帧的任何合适的方法包括可以包括图9的方法的全部、一些或不包括的任何合适的步骤。此外,虽然本公开描述并示出了特定部件、设备或系统执行图9的方法的特定步骤,但是本公开考虑了任何合适的部件、设备或系统的任何合适的组合执行图9的方法的任何合适的步骤。
社交图亲密度和系数
在特定实施方式中,社交网络系统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的位置)的接近度。第一用户可以对更接近第一用户的其他用户或概念更感兴趣。作为示例而非通过限制的方式,如果用户与机场相距一英里并且与加油站相距两英里,那么社交网络系统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月01日提交的美国专利申请号13/632869中公开的一种或多种系统、组件、元件、功能、方法、操作或步骤,每个申请通过引用结合于此。
广告
在特定实施方式中,广告可以是文本(其可以是html链接的)、一个或多个图像(其可以是html链接的)、一个或多个视频、音频、一个或多个adobeflash文件、这些的合适组合、或在一个或多个网络界面上、在一个或多个电子邮件中、或者与用户请求的搜索结果相结合地呈现的具有任何合适的数字格式的任何其他合适的广告。另外或作为替代,广告可以是一个或多个赞助内容(例如,在社交网络系统160上的新闻馈送或自动播报项)。例如,通过在用户的配置文件界面或其他界面的预定区域内呈现的社交动作呈现有与广告商相关联的附加信息、在其他用户的新闻馈送或自动播报中跳出或以其他方式突出显示、或以其他方式推动,赞助内容可以是广告商推动的用户的社交动作(诸如“喜欢”界面、“喜欢”或评论界面上的帖子、rsvp到与界面相关联的事件、对发布在界面上的问题进行投票、在地点签到、使用应用或玩游戏、或者“喜欢”或分享网站)。广告商可以支付以推动社交动作。作为示例而非通过限制的方式,广告可以包括在搜索结果界面的搜索结果中,其中,在非赞助内容上推动赞助内容。
在特定实施方式中,可以请求在社交网络系统网络界面、第三方网络界面或其他界面内显示广告。可以在界面的专用部分内,诸如在界面顶部的醒目区域内、在界面侧边的专栏内、在界面的gui内、在弹出窗口内、在下拉菜单内、在界面的输入字段内、在界面内容的顶部上、或者在界面的其他地方,显示广告。另外或作为替代,可以在应用内显示广告。可以在专用界面内显示广告,在用户可以访问界面或者使用应用之前,要求用户与广告交互或者观看广告。用户可以例如通过网络浏览器查看广告。
用户可以以任何合适的方式与广告交互。用户可以点击或以其他方式选择广告。通过选择广告,可以将用户(或正由用户使用的浏览器或其他应用)引向与广告相关联的界面。在与广告相关联的界面上,用户可以采取额外动作,诸如购买与广告相关联的产品或服务、接收与广告相关联的信息、或者订阅与广告相关联的新闻通讯。可以通过选择广告的组件(类似“播放按钮”)来显示具有音频或视频的广告。可选地,通过选择广告,社交网络系统160可以执行或修改用户的特定动作。
广告还可以包括可以与用户交互的社交网络系统功能。作为示例而非通过限制的方式,广告可以使用户能够通过选择与支持相关联的图标或链接来“喜欢”或者支持广告。作为另一示例而非限制的方式,广告可以使用户能够搜索(例如,通过执行查询)与广告商相关的内容。类似地,用户可以针对与广告相关联的事件,与另一用户(例如,通过社交网络系统160)或rsvp(例如,通过社交网络系统160)共享广告。另外或作为替代,广告可以包括引向用户的社交网络系统内容。作为示例而非通过限制的方式,广告可以显示关于采取与广告的主题相关联的动作的在社交网络系统160内的用户的朋友的信息。
系统和方法
图10示出了示例计算机系统1000。在特定实施方式中,一个或多个计算机系统1000执行在本文中描述或显示的一个或多个方法的一个或多个步骤。在特定实施方式中,一个或多个计算机系统1000提供在本文中描述或示出的功能。在特定实施方式中,在一个或多个计算机系统1000上运行的软件执行本文中描述或示出的一个或多个方法的一个或多个步骤,或者提供本文中描述或示出的功能。特定实施方式包括一个或多个计算机系统1000的一个或多个部分。在本文中,在适当情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当情况下,对计算机系统的引用可以包括一个或多个计算机系统。
本公开考虑了任何合适数量的计算机系统1000。本公开考虑了采用任何合适的物理形式的计算机系统1000。作为示例而非通过限制的方式,计算机系统1000可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(诸如,例如计算机上模块(com)或系统上模块(som))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务机、大型机、计算机系统网、移动电话、个人数字助理(pda)、服务器、平板计算机系统、或这些中的两者或更多者的组合。在适当情况下,计算机系统1000可以包括一个或多个计算机系统1000;为单一式或分布式;跨多个位置;跨多台机器;跨多个数据中心;或者位于云中,其可以包括一个或多个网络中的一个或多个云组件。在适当情况下,一个或多个计算机系统1000可以在没有大量空间或时间限制的情况下执行在本文中描述或示出的一个或多个方法的一个或多个步骤。作为示例而非通过限制的方式,一个或多个计算机系统1000可以实时或以成批的方式执行在本文中描述或示出的一个或多个方法的一个或多个步骤。在适当情况下,一个或多个计算机系统1000可以在不同的时间或者在不同的位置执行本文中描述或示出的一个或多个方法的一个或多个步骤。
在具体实施方式中,计算机系统1000包括处理器1002、存储器1004、储存装置1006、输入/输出(i/o)接口1008、通信接口1010以及总线1012。虽然本公开描述和示出了在特定的设置中具有特定数量的特定组件的特定计算机系统,但是本公开考虑了在任何合适的设置中具有任何合适的数量的任何合适的组件的任何合适的计算机系统。
在具体实施方式中,处理器1002包括用于执行指令(诸如构成计算机程序的那些指令)的硬件。作为示例而非通过限制的方式,为了执行指令,处理器1002可以从内部寄存器、内部缓存、存储器1004或储存装置1006中检索(或提取)指令;将这些指令解码并且执行这些指令;并且然后将一个或多个结果写入内部寄存器、内部缓存、存储器1004或储存装置1006中。在特定实施方式中,处理器1002可以包括用于数据、指令或地址的一个或多个内部缓存。本公开考虑了处理器1002在适当情况下包括任何合适数量的任何合适的内部缓存。作为示例而非通过限制的方式,处理器1002可以包括一个或多个指令缓存、一个或多个数据缓存、以及一个或多个转译后备缓冲器(tlb)。在指令缓存内的指令可以是在存储器1004或储存装置1006内的指令的副本,并且指令缓存可以加速由处理器1002检索那些指令。在数据缓存内的数据可以是在存储器1004或储存装置1006内的数据的副本,用于要运行的在处理器1002上执行的指令;在处理器1002上执行的先前指令的结果由在处理器1002上执行的后续指令访问或者写入存储器1004或储存装置1006内;或者其他合适的数据。数据缓存可以加速处理器1002的读取或写入操作。tlb可以加速处理器1002的虚拟地址转译。在特定实施方式中,处理器1002可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当情况下,本公开考虑了处理器1002包括任何合适数量的任何合适的内部寄存器。在适当情况下,处理器1002可以包括一个或多个算术逻辑单元(alu);是多核处理器;或包括一个或多个处理器1002。虽然本公开描述和示出了特定的处理器,但是本公开考虑了任何合适的处理器。
在具体实施方式中,存储器1004包括主存储器,用于储存供处理器1002执行的指令或者供处理器1002操作的数据。作为示例而非通过限制的方式,计算机系统1000可以将指令从储存装置1006或另一个源(诸如,另一个计算机系统1000)中加载到存储器1004中。然后,处理器1002可以将指令从存储器1004中装载到内部寄存器或内部缓存中。为了执行这些指令,处理器1002可以从内部寄存器或内部缓存中检索指令,并且将这些指令解码。在执行指令期间或之后,处理器1002可以将一个或多个结果(这些结果可以为中间或最终结果)写入内部寄存器或内部缓存中。然后,处理器1002可以将这些结果中的一个或多个写入存储器1004中。在特定实施方式中,处理器1002仅仅执行在一个或多个内部寄存器或内部缓存内或者在存储器1004内(与储存装置1006相反或者在别处)的指令,并且仅仅操作在一个或多个内部寄存器或内部缓存内或者在存储器1004内(与储存装置1006相反或者在别处)的数据。一个或多个存储器总线(这些总线均可以包括地址总线和数据总线)可以使处理器1002与存储器1004耦接。如以下所描述的,总线1012可以包括一个或多个存储器总线。在特定实施方式中,一个或多个存储器管理单元(mmu)位于处理器1002与存储器1004之间,并且促进访问由处理器1002请求的存储器1004。在特定实施方式中,存储器1004包括随机存取存储器(ram)。在适当情况下,ram可以是易失性存储器。在适当情况下,ram可以是动态ram(dram)或静态ram(sram)。此外,在适当情况下,ram可以是单端口或多端口ram。本公开考虑了任何合适的ram。在适当情况下,存储器1004可以包括一个或多个存储器1004。虽然本公开描述和示出了特定的存储器,但是本公开考虑了任何合适的存储器。
在具体实施方式中,储存装置1006包括用于数据或指令的大容量储存装置。作为示例而非通过限制的方式,储存装置1006可以包括硬盘驱动器(hdd)、软盘驱动器、闪速存储器、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或其中的两者或更多者的组合。在适当情况下,储存装置1006可以包括可移除或不可移除的(或固定的)介质。在适当情况下,储存装置1006可以位于计算机系统1000的内部或外部。在特定实施方式中,储存装置1006是非易失性固态存储器。在特定实施方式中,储存装置1006包括只读存储器(rom)。在适当情况下,该rom可以是掩码编程rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)、或闪速存储器或这些的两者或更多者的组合。本公开考虑了采用任何合适的物理形式的大容量储存装置1006。在适当情况下,储存装置1006可以包括促进在处理器1002与储存装置1006之间通信的一个或多个储存控制单元。在适当情况下,储存装置1006可以包括一个或多个储存装置1006。虽然本公开描述和示出了特定的储存装置,但是本公开考虑了任何合适的存储介质。
在具体实施方式中,i/o接口1008包括硬件、软件或两者,其提供一个或多个接口以用于在计算机系统1000与一个或多个i/o设备之间进行通信。在适当情况下,计算机系统1000可以包括这些i/o设备中的一个或多个。这些i/o设备中的一个或多个使得个人与计算机系统1000之间能够进行通信。作为示例而非通过限制的方式,i/o设备可以包括键盘、按键、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静物相机、触针、平板电脑、触摸屏、轨迹球、视频相机、另一合适的i/o设备或其中的两者或更多者的组合。i/o设备可以包括一个或多个传感器。本公开考虑了具有任何合适的i/o设备以及用于这些i/o设备的任何合适的i/o接口1008。在适当情况下,i/o接口1008可以包括一个或多个设备或软件驱动器,其使得处理器1002能够驱动这些i/o设备中的一个或多个。在适当情况下,i/o接口1008可以包括一个或多个i/o接口1008。虽然本公开描述和示出了特定的i/o接口,但是本公开考虑了任何合适的i/o接口。
在具体实施方式中,通信接口1010包括硬件、软件或两者,其提供一个或多个接口,用于在计算机系统1000与一个或多个其他计算机系统1000或一个或多个网络之间进行通信(诸如,例如基于分组的通信)。作为示例而非通过限制的方式,通信接口1010可以包括网络接口控制器(nic)、或用于与以太网或其他有线网络或无线nic(wnic)进行通信的网络适配器、或用于与无线网络(诸如wi-fi网络)进行通信的网络适配器。本公开考虑了具有任何合适的网络以及用于该网络的任何合适的通信接口1010。作为示例而非通过限制的方式,计算机系统1000可以与自组织网络、个人区域网络(pan)、局域网(lan)、广域网(wan)、城域网(man)、或互联网的一个或多个部分或其中的两者或更多者的组合进行通信。这些网络中的一者或多者的一个或多个部分可以是有线或无线的。作为示例,计算机系统1000可以与无线pan(wpan)(诸如,例如bluetoothwpan)、wi-fi网络、wi-max网络、蜂窝电话网络(诸如,全球移动通信系统(gsm)网络)、或其他合适的无线网络或其中的两者或更多者的组合进行通信。在适当情况下,计算机系统1000可以包括用于这些网络中的任一者的任何合适的通信接口1010。在适当情况下,通信接口1010可以包括一个或多个通信接口1010。虽然本公开描述和示出了特定的通信接口,但是本公开考虑了任何合适的通信接口。
在特定实施方式中,总线1012包括硬件、软件或两者,其使计算机系统1000的组件彼此耦接。作为示例而非通过限制的方式,总线1012可以包括加速图形端口(agp)或其他图形总线、增强型工业标准架构(eisa)总线、前端总线(fsb)、hypertransport(ht)互连、工业标准架构(isa)总线、infiniband互连、低引脚数(lpc)总线、存储器总线、微通道架构(mca)总线、外围组件互连(pci)总线、pci快速(pcie)总线、串行高级技术附件(sata)总线、视频电子标准协会本地(vlb)总线、或其他合适的总线或这些中的两者或更多者的组合。在适当情况下,总线1012可以包括一个或多个总线1012。虽然本公开描述和示出了特定的总线,但是本公开考虑了任何合适的总线或互连。
在本文中,在适当情况下,计算机可读非暂时性存储介质或媒介可以包括一个或多个基于半导体的或其他集成电路(ic)(诸如,例如现场可编程门阵列(fpga)或专用ic(asic))、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光驱动器、软盘、软盘驱动器(fdd)、磁带、固态驱动器(ssd)、ram驱动器、securedigital卡或驱动器、任何其他合适的计算机可读非暂时性存储介质,或这些中的两者或更多者的任何合适的组合。在适当情况下,计算机可读永久性储存介质可以是易失性、非易失性、或者易失性和非易失性的组合。
杂项
在本文中,除非另有明确规定或者在上下文中另有明确规定,否则“或”具有包括而非排除的意思。因此,在本文中,除非另有明确规定或者在上下文中另有明确规定,否则“a或b”表示“a和/或b”。此外,除非另有明确规定或者在上下文中另有明确规定,否则“和”具有共同和单独的意思。因此,在本文中,除非另有明确规定或者在上下文中另有明确规定,否则“a和b”表示“共同或单独的a和b”。
本公开的范围包括本领域的技术人员将理解的在本文中描述或示出的示例实施方式的所有变化、替换、变动、变更以及修改。本公开的范围不限于在本文中描述或示出的示例实施方式。此外,虽然本公开描述和示出了在本文中相应的实施方式包括特定的组件、元件、功能、操作或步骤,但是这些实施方式中的任一个可以包括本领域的技术人员会理解的在本文中的任何地方描述或显示的任何组件、元件、功能、操作或步骤的任何组合或排列。此外,在所附权利要求中对适于、布置为、能够、配置为、使能够、可操作为或操作以执行特定功能的装置或系统或者装置或系统的组件包括装置、系统、组件,无论其是否被启用、打开或解锁,只要该装置、系统或组件如此适于、布置、能够、配置、是能够、可操作或操作。此外,虽然本公开描述或说明了特定实施方式为提供特定优点,但是特定实施方式可以不提供、提供部分或全部的这些优点。