提供节目内容的聚集元数据的制作方法

文档序号:11142212阅读:278来源:国知局
提供节目内容的聚集元数据的制造方法与工艺

本申请要求2014年1月22日提交的美国专利申请第14/161,476号的优先权权益,该申请的全部内容通过引用结合于此。

技术领域

本公开总体上涉及提供元数据,在具体示例性实施方案中,涉及提供节目内容的聚集元数据。



背景技术:

通常地,电影和电视指南向观看者提供关于可用于观看的内容的信息。然而,由于信息通常来自于单一源(比如,原作者或后制作机构),所以呈现的信息常常是有限的。这样,信息可能变得陈旧,从而使得更少发现其表达的内容,并使得其表达的内容更不受欢迎。

附图说明

各种所附附图仅仅示出本发明的示例性实施方案,不能被认为是限制其范围。

图1是示出示例性环境的图,在该环境中,可以实现用于提供节目内容的聚集元数据的系统的实施方案。

图2是示出元数据管理系统的示例性实施方案的框图。

图3是用于聚集元数据的示例性方法的流程图。

图4是用于将聚集元数据提供给客户端设备的示例性方法的流程图。

图5是在示例形式的计算系统中的机器的简化框图,在该计算系统中,可以执行一组用于使机器执行本文讨论的方法中的任意一种或多种的指令。

具体实施方式

下面的描述包括体现本发明的说明性实施方案的系统、方法、技术、指令顺序和计算机器程序产品。在下面的描述中,出于解释的目的,陈列了若干具体细节,以便提供对于本发明主题的各种实施方案的理解。然而,对于本领域技术人员来说显然的是,在没有这些具体细节的情况下也可以实践本发明主题的实施方案。一般而言,未详细示出众所周知的指令示例、协议、结构和技术。

本文描述的示例性实施方案提供用于提供节目内容的聚集元数据的系统和方法。在示例性实施方案中,从第三方源收集关于节目的数据。第三方源可以包括网站、摘要(feed)、推特、博客、或可以保持关于特定节目的数据的任何其他信息源中的一个或多个。对收集的数据进行解析以识别用于节目的元数据。从第三方源收集的元数据与用于节目的正式元数据进行融合,以创建用于节目的聚集元数据。正式元数据可以包括由节目/内容创建方或提供方原始创建的用于节目的元数据。将聚集元数据存储到可搜索的元数据仓库。在一些实施方案中,在将聚集元数据存储在元数据仓库中以前,可以自动地或者可以由用户对其进行验证和/或编辑。

参见图1,其为图示示例性环境100的图,在该环境中,示出了用于提供节目内容的聚集元数据的系统的实施方案。环境100包括元数据管理系统102,其经由通信网络104(比如,有线网络、空中广播网、因特网、无线网络、蜂窝网络、卫星网络或广域网(WAN))连接到客户端设备106。客户端设备106可以包括电视、智能电话、笔记本电脑、平板电脑、或用户可以用来观看节目内容(比如,电影、电视节目、视频;也统称为“节目”)的任意其他设备。在一些实施方案中,客户端设备106可以通信地连接到机顶盒,转而通信地连接到广播网络(比如,有线网络、空中广播网、卫星网络、因特网)。

元数据管理系统102对创建用于节目内容的聚集元数据并将其供应给客户端设备106进行管理。在示例性实施方案中,元数据管理系统102可以从各种源获得元数据并对其进行筛选和聚集。各种源可以包括内容提供方108(比如,后制作机构、有线服务提供商)和内容创建方110。在一些实施方案中,内容提供方108和内容创建方110可以 提供用于可能随时间变失效的每个节目的原始“正式”元数据。

为了补充该正式元数据,访问额外的信息源112以获得更丰富多样的元数据。额外的信息源112可以包括社交网络、社交摘要(social feed)、因特网上的网站、博客、推特、或者可以提供关于节目内容的信息的任意其他的第三方源。元数据管理系统102从所有这些源收集并组织元数据,以产生可以呈现给客户端设备106的用户的聚集元数据。将结合图2对元数据管理系统102进行更详细的讨论。

应该注意,图1中示出的环境100是示例性的。例如,可选的实施方案可以包括任意数量的客户端设备106、内容提供方108、内容创建方110和信息源112、以及不同的网络104。

现在参见图2,示出了图示元数据管理系统102的示例性实施方案的框图。元数据管理系统102管理从各种信息源收集元数据并对其进行筛选和组织,以产生能够呈现给用户的聚集元数据。为此,元数据管理系统102包括可以通信地连接在一起的网络爬虫(network crawler)202、社交刷子(social scrubber)204、解析/融合引擎206、规则引擎208、验证调解器210以及筛选代理212。元数据管理系统102也可以包括(或者也可以连接到并访问)临时仓库214、规则数据库216、元数据仓库218和配置文件数据库220。应该注意,在一些实施方案中,元数据管理系统102或者元数据管理系统102的各组成部分可以位于有线公司、卫星公司或其他内容服务提供方的办公室或前端。

网络爬虫202对网络104(比如,因特网)和各种网络数据源(比如,时报、论坛、广播网元数据摘要)的爬取(crawling)进行管理。网络爬虫202可以在因特网上爬取,以寻找关于不同节目的数据。当找到用于节目的数据时,网络爬虫202可以收集数据并将数据发送到解析/融合引擎206供其处理(或者在处理之前,将数据存储到临时仓库214)。在一些实施方案中,网络爬虫202可以具有信息源112的知识并且能够识别为其收集数据的节目内容(比如,节目)。

社交刷子204管理社交网络、博客和用于节目信息的摘要的爬取或擦洗(scrubbing)(比如,使用爬虫)。社交刷子204类似于网络爬虫202,但是其针对博客、推特、社交摘要(social feed)、以及来自社交网络的其他数据。在一些实施方案中,当个人正在实时观看内 容时,由社交刷子模块206集中的信息或数据出现。数据可以包括用户回顾、评分、评论、个人所观看节目的指示等等。个人可以使用与社交刷子204发现的具体故事情节或节目相关联的词汇。在一些实施方案中,社交刷子204可以具有信息源112的知识并且能够识别收集其元数据的节目。在其他实施方案中,社交刷子204可以根据社交网络的数据(比如,标题、标题的部分)来识别关键词或其他文字,以识别针对其数据的节目。收集的数据发送到解析/融合引擎206供其处理(或者在处理之前,存储到临时仓库214)。

在另外的实施方案中,社交刷子204可以包括视频或图像识别型爬虫(比如,刷子网站,例如,可以公布视频的YouTube或Facebook)。在这些实施方案中,社交刷子204可以根据收集的数据来识别特定节目的已知视觉指纹。视觉指纹的使用可以有助于识别收集其数据的节目。

解析/融合引擎206对使用网络爬虫202、社交刷子204收集的数据、以及从内容提供方108或内容创建方110直接地接收的数据(称为“正式元数据”)进行初始筛选和处理。在示例性实施方案中,筛选和处理可以基于预定的时段或事件(比如,基于为节目收集的信息的时间或数量)。例如,解析/融合引擎206可以去除重复数据、将集中的数据与特定节目相关联、对数据加标签等等。这些筛选和处理操作可以基于来自规则数据库216的规则。解析/融合引擎206基于针对每个节目创建的规则对筛选并处理的信息进行融合。例如,对于一个节目,规则可以指示出不允许解析/融合引擎206对来自社交或第三方源的信息进行聚集(比如,可以是内容创建方110的不允许来自社交摘要或第三方源的数据的规则)。另一种规则可以指示出不允许某些类型的元数据或不允许来自某些位置的元数据(比如,没有来自推特的元数据)。在一个实施方案中,然后可以将经筛选并经处理的信息存储到临时仓库214并将其与特定节目相关联。

规则引擎208管理存储在规则数据库216中的规则,规则被解析/融合引擎206应用。在一些实施方案中,规则可以由内容提供方108或内容创建方110进行设定,内容提供方108将内容提供给客户端设备106。例如,规则可以不允许任意第三方信息与正式元数据融合并聚 集。另一种规则可以允许聚集的元数据,但是仅当适度时允许。此外,可以建立关于色情、脏话或者要包括或要排除的其他内容的规则。在一些实施方案中,可以提供入口,通过该入口内容提供方108或内容创建方110例如可以存取并编辑针对每个节目存储在规则数据库216中的规则。

验证调解器210管理对聚集元数据的验证和编辑。当自动收集元数据并将其融合成聚集元数据时,在一些情况下,某些实体(比如,内容提供方108或内容创建方110)可能想要在允许聚集元数据呈现给客户端设备106的用户之前对聚集元数据进行组织、编辑和/或验证。在一些实施方案中,与内容提供方108、内容创建方110或元数据管理系统102相关联的用户可以周期性地存取、组织、编辑或验证聚集元数据。例如,可以提供入口,通过该入口内容提供方108或内容创建方110可以获取并编辑针对特定节目存储在临时仓库214中的元数据。在其他实施方案中,验证可以自动发生。

一旦融合并验证(如果需要)聚集元数据,聚集元数据就被存储到元数据仓库218。元数据仓库218包括可搜索并可获取的聚集元数据,以呈现给客户端设备106。例如,基于对特定参与者的搜索,可以从元数据仓库218识别出多个节目。

筛选代理212基于来自于客户端设备106的请求来获取聚集元数据。这样,筛选代理212从客户端设备106接收指示搜索标准(比如,显示为观看或显示连同特定参数一起的节目的建议)的请求。可选地,可以将显示正式(公开)元数据(比如,来自内容提供方108)的节目指南呈现给客户端设备106的用户,并且用户可以指示他们想要看到针对特定节目的更多信息。

在一些实施方案中,筛选代理212可以从用于用户的配置文件数据库220获取用户配置文件。用户配置文件例如可以指示出喜欢、讨厌、偏好、用户以前观看过的节目以及针对节目的具体规则、节目的类型或者对聚集元数据的访问。例如,父母可以针对他们的孩子来建立用户配置文件,该文件指示出孩子可以经由元数据管理系统102发现的元数据和节目的类型。在一个实施方案中,筛选代理212可以为位于元数据管理系统102的外部,但是连接到元数据管理系统102的 组件。

现在参见图3,示出用于聚集元数据的示例性方法300的流程图。方法300的操作可以由与元数据管理系统102相关联的组件来执行,并且可以频繁、实时或定期执行。

在操作302中,从网络源收集数据。在示例性实施方案中,网络爬虫202爬取网络信息源。当找到针对节目的数据时,网络爬虫202可以收集数据并将数据发送到解析/融合引擎206供其处理,或者在由解析/融合引擎206进行处理之前,将数据存储到临时仓库214。

在操作304中,从社交信息源收集数据。在示例性实施方案中,社交刷子204擦洗(scrubbing)社交网站、摘要、博客以及推特以获得社交数据。社交数据可以包括用户回顾、评分、评论、个人所观看节目的指示等等。收集的社交数据可以被发送到解析/融合引擎206供其处理,或者在由解析/融合引擎206对其进行处理之前存储到临时仓库214。

然后在操作306中解析收集的数据。在示例性实施方案中,解析/融合引擎206解析收集的数据以获取特定的元数据。例如,可以通过解析/融合引擎206来解析收集的数据或从其提取参与者、回顾、评价、标题、故事情节等等。在示例性情况下,经解析的数据可以与特定节目相关联。

在操作308中,可以将各种经解析的数据与已存的元数据融合。这样,可以将新解析的数据与以前解析并融合的元数据和/或与正式元数据组合以创建新的或更新的聚集元数据。此外,解析/融合引擎206可以去除重复数据并基于与元数据相关联的节目应用来自规则数据库216的规则。应该注意,当收集了特定数量的数据时,或者随着实时收集数据,可以周期性地(每晚)执行操作306和308。另外,可以对刚刚由网络爬虫202收集的数据或刚刚由社交刷子204收集的数据进行数据的解析和融合。

在操作310中,基于与聚集元数据描述的节目对应的规则,判定是否要对聚集元数据进行验证。如果不需要对聚集元数据进行验证,那么聚集元数据可以存储到元数据仓库218并且可以由客户端设备106的用户发现并获取。

如果要对聚集元数据进行验证,那么在操作314中,可以将聚集元数据添加到验证队列。在操作316中可以获得验证。验证可以自动执行或者由人工调解者使用验证调解器210执行。在一些情况下,验证可以简单地为聚集元数据的回顾和认可。在其他情况下,验证可以包括接收对聚集元数据的编辑。一旦完成验证,在操作312中,将聚集元数据存储到元数据仓库218。

现在参见图4,示出将聚集元数据提供给客户端设备(比如,客户端设备106)的示例性方法400的流程图。客户端设备106的用户可能想要发现要观看的节目或者期待看到关于特定节目(比如,从节目指南上选择)的更多信息。这样,用户发送对于信息的请求。该请求可以包括发现节目的搜索标准或者可以是用户想要更多信息的特定节目的指示。在操作402中,请求可以由元数据管理系统102接收。

在操作404中,可以基于请求对存储在元数据仓库218中的聚集元数据进行筛选。在示例性实施方案中,筛选代理212可以接收请求并且访问元数据仓库218。然后筛选代理212可以执行搜索或者匹配处理,以发现满足请求的标准的节目或获取通过请求识别的节目的元数据。

在操作406中,筛选代理212可以使用与请求筛选的聚集元数据相关联的用户的用户配置文件。相应地,筛选代理212可以访问配置文件数据库220以存取用户配置文件。用户配置文件可以指示出可以由筛选代理212使用的规则、偏好以及观看历史,以将聚集元数据筛选成呈现给用户的一组聚集元数据。然后在操作408中,将这组聚集元数据提供给客户端设备106。

图5是示出根据一些示例性实施方案的机器500的组件的框图,机器500能够从机器可读介质(比如,机器可读存储介质)读取指令并且执行本文所讨论的方法中的任意一个或多个。具体地,图5以计算机系统的示例性形式来示出机器500的图示,在机器500中可以履行用于使机器500执行本文所讨论的方法中的任意一个或多个的指令524(比如,软件、程序、应用程序、小应用程序、应用或其他可执行代码)。在可选的实施方案中,机器500作为独立设备运行,或者可以连接(网络连接)到其他机器。在网络连接部署中,机器500可以 在服务器-客户端网络环境下以服务器机器或客户端机器的身份运行,或者可以在对等(或分布式)网络环境下作为对等机器运行。机器500可以是服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、笔记本电脑、上网本、机顶盒(STB)、个人数字助理(PDA)、移动电话、智能电话、互联网设备、网络路由器、网络交换器、网桥、或者能够顺序地或以其它方式执行指令524(其表明机器进行的行动)的任意机器。此外,当仅示出单个机器时,术语“机器”也将包括单个或联合履行指令524以执行本文所讨论的方法中的任意一个或多个的机器的集合。

机器500包括配置为通过总线508而彼此通信的处理器502(比如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、或其任意适用的组合)、主存储器504以及静态存储器506。机器500可以进一步包括:图形显示器510(比如,等离子显示板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))。机器500也可以包括:字母数字输入设备512(比如,键盘)、光标控制设备514(比如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪)、存储单元516、信号生成设备518(比如,扬声器)以及网络接口设备520。

存储单元516包括机器可读介质522,在机器可读介质522上存储体现本文所讨论的方法或功能中的任意一个或多个的指令524。在由机器500执行期间,指令524也可以完全或至少部分位于主存储器504中,位于处理器502中(比如,位于处理器的高速缓冲存储器中),或者位于两者中。因此,主存储器504和处理器502可以被看作是机器可读介质。可以经由网络接口设备520而在网络526上传输或接收指令524。

如本文所使用的,术语“存储器”指的是能够暂时地或永久地存储数据的机器可读介质,并且可以被认为包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、快闪存储器以及高速缓冲存储器。当机器可读介质522在示例性实施方案中示为单个介质时,术语“机器可读介质”应该被认为包括能够存储指令的单个 介质或多个介质(比如,集中式或分布式数据库、或相关联的高速缓冲存储器和服务器)。术语“机器可读介质”也应该被认为包括能够存储用于机器(比如,机器500)执行的指令的任意介质或多个介质的组合,使得当由机器的一个或多个处理器(比如,处理器502)执行指令(比如,指令524)时,使得机器执行本文所讨论的方法中的任意一个或多个。因此,“机器可读介质”指的是单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。因此,术语“机器可读介质”应该被认为包括但不限于固态存储器、光学介质、磁介质或其适合组合形式的一个或多个数据存储库。

此外,有形机器可读介质是非易失性的,在于其不体现传播信号。然而,将有形机器可读介质标记为“非易失性的”应该被解释为意味着介质不能够移动—介质应该被认为能够从一个物理位置传输到另一个物理位置。另外,由于机器可读介质是有形的,所以介质可以被认为是机器可读设备。

可以利用许多众所周知的传输协议(比如,HTTP)中的任意一个,并经由网络接口设备520,使用传送介质而在通信网络526上传送或者接收指令524。通信网络的示例包括:局域网(LAN)、广域网(WAN)、因特网、移动电话网络、POTS网络和无线数据网络(比如,WiFi和WiMAX网络)。术语“传送介质”应该被认为包括能够存储、编码或者运载用于机器500执行的指令并且包括数字或模拟通信信号的任意非有形的介质,或者包括其他非有形的介质,以便于这种软件的通信。

在整个说明书中,多个示例可以实现描述为单个示例的组件、操作或结构。尽管一个或多个方法的个体操作被图示为并且描述为单独的操作,但是个体操作中的一个或多个可以同时执行,并且不需要以图示的顺序来执行操作。在示例性配置中呈现为单独组件的结构和功能可以实施成组合结构或组件。类似地,呈现为单个组件的结构和功能可以实施成单独组件。这些和其他变型、修改、添加和改进落在本文主题的范围内。

某些实施方案在本文中描述为包括逻辑或若干组件、模块或机制。模块可能组成软件模块(比如,在机器可读介质上实施的或传送信号中实施的代码)或硬件模块。“硬件模块”是能够执行某些操作的有 形单元并且可以以某些物理方式配置或布置。在各种示例性实施方案中,一个或多个计算机系统(比如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或多个硬件模块(比如,处理器或一组处理器)可以通过软件(比如,应用程序或应用程序部分)配置为运行以执行本文所描述的一些操作的硬件模块。

在一些实施方案中,硬件模块可以采用机械形式、电子形式或者其任意适合的组合来实施。例如,硬件模块可以包括永久配置为执行某些操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,比如,现场可编程门阵列(FPGA)或ASIC。硬件模块也可以包括通过软件暂时配置为执行某些操作的可编程逻辑或电路。例如,硬件模块可以包括包含在通用处理器或其他可编程处理器中的软件。应该理解的是,可以根据对成本和时间的考虑来决定将硬件模块以机械的方式实现在专用和永久配置电路中还是暂时配置电路(比如,通过软件配置)中。

因此,术语“硬件模块”应该理解为包含有形实体,其是物理构造、永久配置(比如,硬连线)、或暂时配置(比如,编程)以采用某种方式操作或执行本文所描述的一些操作的实体。如本文所使用的,“硬件实施的模块”指的是硬件模块。考虑到硬件模块被暂时配置(比如,编程)的实施方案,硬件模块中的每个不需要在任意时刻进行配置或示例化。例如,在硬件模块包括通过软件配置为专用处理器的通用处理器的情况下,通用处理器可以配置为在不同时间各自不同的专用处理器(比如,包括不同的硬件模块)。因此,软件可以例如将处理器配置成在一个时刻组成特定硬件模块,而在不同的时刻组成不同硬件模块。

硬件模块可以将信息提供给其他硬件模块,并且可以从其他硬件模块接收信息。因此,所描述的硬件模块可以被认为通信地连接。在多个硬件模块同时存在的情况下,可以通过信号传送(比如,在合适的电路和总线上)而在两个或多个硬件模块之间实现通信。在多个硬件模块在不同时间配置或示例化的实施方案中,可以例如通过存储并获取在多个硬件模块访问的存储结构中的信息来实现这些硬件模块之间的通信。例如,一个硬件模块可以执行操作并将操作的输出存储在 其通信地连接的存储器设备中。然后,另一个硬件模块可以在随后的时间访问存储器设备以获取并处理存储的输出。硬件模块也可以初始化与输入或输出设备的通信,并且可以在资源上操作(比如,收集信息)。

本文所描述的示例方法的各种操作可以至少部分地由暂时配置(比如,通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。不管暂时配置还是永久配置,这些处理器可以组成运行以执行本文所描述的一个或多个操作或功能的处理器实施的模块。如本文所使用的,“处理器实施的模块”指的是使用一个或多个处理器实现的硬件模块。

类似地,本文所描述的方法可以至少部分由处理器实现,处理器是硬件的示例。例如,方法的操作的至少一些可以由一个或多个处理器或处理器实施的模块执行。此外,所述一个或多个处理器也可以运行以支持在“云计算”环境下的相关操作的执行或者作为“作为服务的软件”(SaaS)运行。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(比如,互联网)来访问,并且可以经由一个或多个合适的接口(比如,应用程序接口(API))来访问。

某些操作的执行可以分布在一个或多个处理器之间,不仅仅存在于单个机器中,还部署在许多机器上。在一些示例性实施方案中,所述一个或多个处理器或处理器实施的模块可以位于单个地理位置中(比如,在家环境中、在办公室环境中、或在服务器场中)。在其他的示例性实施方案中,一个或多个处理器或处理器实施的模块可以分布在许多地理位置中。

尽管参照具体的示例性实施方案对本主题的概况进行了描述,但是可以对这些实施方案进行各种修改和改变,而不脱离本发明的实施方案的更宽的范围。在本文中,本发明主题的这些实施方案可以单独地或共同地通过术语“发明”来涉及,这仅仅是为了方便而不是意在主动将本申请的范围限制为任何单个发明或发明构思(如果实际上公开多于一个)。

对本文示出的实施方案进行足够详细的描述以使得本领域技术人 员可以实践公开的教导。可以使用其他实施方案并且可以从中得到其他实施方案,使得可以进行结构和逻辑替换和改变,而不脱离本公开的范围。因此,具体实施方式不具有限制意义,并且各种实施方案的范围仅由所附的权利要求连同这些权利要求所涉及的等效形式的全部范围进行限定。

如本文中所使用的,术语“或”可以被解释为包括或排外意义。而且,可以针对在本文中描述为单个示例的资源、操作或结构提供多个示例。另外,各资源、操作、模块、引擎和数据存储之间的边界有点是任意的,并且在具体示例性配置的上下文中图示了特定的操作。功能的其他分配是可以设想的,并且可以落在本发明的各种实施方案的范围内。通常,在示例性配置中呈现为单独资源的结构和功能可以实施为组合结构或资源。类似地,呈现为单个资源的结构和功能可以实施为单独的资源。这些和其他的变型、修改、添加和改进落在由所附权利要求所呈现的本发明的实施方案的范围内。因此,说明书和附图被认为是示例性的,并非限制性的。

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