数据流的实时自然语言处理的制作方法

文档序号:13736012阅读:309来源:国知局
数据流的实时自然语言处理的制作方法

本申请是申请日为2011年12月28日,申请号为201180075980.6的中国专利申请的分案申请。

实施例属于内容处理技术和相关软件应用的使用。一些实施例涉及与因特网相关的应用和服务结合的数据流以及数字内容信息的自然语言处理。



背景技术:

自然语言处理(nlp)从传统上是一种处理和存储密集型的计算活动。事实上,许多类型的这种活动已经迁移到云装置上,所述云装置使得nlp与其它功能匹配,例如语音到文字,并提供大量的计算和存储资源。然而,随着客户端侧性能和本地存储的增长,存在允许nlp在本地平台上使用的有能力的系统。

现今,实现nlp通常是利用诸如c/c++的语言提供的,其反应以性能为中心的关注点以及能够将代码和算法调谐到专用硬件和操作系统环境。一个显著的下降趋势在于具有多个硬件和操作系统配置以及混合,存在多个nlp实现,这导致开发、优化和支持的重要任务。

附图说明

图1提供了根据示例性实施例的使得内容能够结合自然语言处理在多个显示设备中显示的系统架构的图示;

图2提供了根据示例性实施例的用于提供内容和相关内容显示的设备的设备架构的图示;

图3提供了根据示例性实施例的配置成利用自然语言处理为用户提供相关内容的支持html5/javascript的图形用户界面的图示;

图4提供了根据示例性实施例的示出自然语言处理由多媒体数据流所提供的文本数据的方法的流程图;

图5提供了根据示例性实施例的示出用于利用自然语言所提供的内容术语而确定相关内容的方法的流程图;以及

图6提供了示出在其上能够实现一个或多个实施例的示例性机器的框图。

具体实施方式

下面的描述和附图充分地说明了具体实施例以使得本领域的技术人员能够实践它们。其它实施例可以并入结构、逻辑、电、处理和其它改变。一些实施例的部分和特征可以包含于其它实施例中或由其替代。在权利要求中阐述的实施例包含所有这些权利要求的可用等价物。

本公开说明了能够通过使用nlp和动态内容输送规范进行内容取回和输送的技术和配置。在一个实施例中,nlp引擎被配置成从文本内容流中执行实时提取有用的词语和短语。利用w3c超文本标记语言规范版本5(html5)的基于标准的实现、ecascript标准脚本语言(例如,或jscript)、以及javascript对象符号(json),来提供到该nlp引擎的接口。该接口使得能够选择和输送能跨越多个硬件和操作系统域转移的格式的内容项,而且不要求专门的编程或汇编以用于部署在客户端侧设备处。

本文描述了用于为用户判定、定位和提供相关内容的额外技术和配置。这些包括使用nlp引擎和html5接口来输送与第一组内容相关(基于多种关键中的任意一种)的第二组内容。例如,作为定位或呈现第一组内容(例如视频)的结果,与第一组相关第二组内容(例如另一视频或文本内容)可以被定位且呈现给用户。在一个实施例中,通过在由第一组内容提供的文本语言术语和字符串中执行nlp来确定第二组内容。例如,包括多媒体视频、字幕(subtitle)、或隐藏字幕的第一组内容可以被提供给nlp引擎,以产生nlp提取的关键字来确定第二组内容。

在实施例的另一示例使用中,内容系统能够确定与媒体内容项相关联的文本流,分析该文本流,从文本中捕捉关键字和短语,并从捕捉到的文本中执行额外的选择和分析。nlp引擎然后可以分析和选择感兴趣的语言术语。所选择的术语可以多种方式使用,包括但不限于:提供一部分搜索查询以定位相关内容;识别重要的、持久性用户数据;为上下文感知操作和数据取回分析文本有效负载的本质和上下文;或者用作元数据或结合到其它元数据的映射使用。

多数用户界面和引擎配置可以结合这些nlp技术使用和设计。下面的公开提供了与内容系统、nlp引擎、内容接口(例如,用html5/javascript技术呈现)、内容服务、以及显示设备相关的大量使用示例和配置。显然的是,这些实施例的特征可以提供于单个系统或设备中、单独的设备或子系统中、或各种硬件或软件置换。因此,虽然本文提供的使用示例可以将各种处理和显示元件描述为独立操作的,但是各种元件意图在某一系统或设备配置中彼此结合使用。

在一个实施例中,将结合软件应用来提供相关内容显示和处理环境,所述软件应用例如是实现javascript和动态标记语言(例如html5)解释的网页浏览器。通过提供在javascript/动态标记语言使能浏览器中的实现,可以实时地部署内容处理元件(例如nlp)以分析从相关联的网络服务接收到的内容文本并提供对应的相关内容显示。浏览器可以通过在一个或多个动态执行的网页或网络应用(webapp)中执行的脚本呈现和执行这些应用。此外,该动态脚本配置使得可以集成到任意数量的网页或网络应用中的nlp实现与w3chtml5/javascript标准兼容。

图1提供了根据示例性实施例的内容环境100的图示,所述内容环境100结合自然语言处理在多个显示设备中提供内容。具体地,内容环境100示出了内容处理系统110的使用,内容处理系统110包括nlp引擎112和支持html5/javascript的用户界面(ui)114。内容处理系统110被配置成响应于经处理的文本内容向用户提供额外的相关内容,如以下配置所示。

视频源120从数据源122处获得视频和文本内容,将视频内容124和126分别提供给接收器设备电视机130和移动设备132。视频内容124被示出为包含与提供的视频数据相关的文本数据,例如对应于视频数据的文本字幕或隐藏字幕数据。视频内容126被示出为仅包含视频数据。

视频源120还将对应于视频数据的文本内容128提供给内容处理系统110。内容处理系统110利用nlp引擎120处理文本内容128,以导出相关的关键字、术语、短语、以及其它自然语言概念成为有关的自然语言数据。随后,nlp引擎112将有关的自然语言数据提供给用户界面,例如html5/javascriptui114。

html5/javascriptui114被配置成基于nlp引擎112导出的有关自然语言数据来获得额外的视频内容。该有关自然语言数据可以包括与从视频源120处提供的视频内容124、126相关的概念的文本或一个或多个关键字,如对应于视频内容的音频的文本(例如,隐藏字幕文本或字幕)。

替代地,被提供给内容处理系统110的文本内容128可以与视频内容相关,但是不直接对应于视频内容的音频。例如,如果被提供给电视机130的视频内容124是由特定演员作主角的电影,则从视频源120处接收到的文本内容128可以包括与电影相关联的元数据。元数据字段可以由nlp引擎112处理,以提取有关的关键术语,例如演员的名字、电影的描述和类型、或者关于内容的预先确定信息。nlp引擎112可以提取用于执行搜索的关键术语,例如,定位有关的额外内容,诸如包括同一演员的相同或相似类型中的电影。此外,演员的名字可用于确定其它类型的多媒体内容(包括其它电影、关于演员和电影的评论和新闻、电影片段预览和预告片、演员采访和宣传材料等)。这些搜索可以由内容处理系统110进行,例如在由html5/javascriptui114所促进和呈现的动态网站或网络应用中。

在确定关键术语时,html5/javascriptui114可以为用户提供以下能力:用关键术语进行搜索,查看搜索的结果,并选择搜索的结果。例如,用户从搜索选择结果可能使得从视频源136处可用的特定视频内容被呈现用于显示。该相关内容可以呈现以在html5/javascriptui114中显示,或者流到显示设备(例如,电视机130、移动设备132)之一。这些操作中的部分或全部例如可以自动化以自动地执行有关搜索,或自动地获得和显示相关内容。

因此,视频源120可以提供从任意数量的源或格式导出的文本内容,包括隐藏字幕、字幕、转录和脚本、元数据、评审和摘要、用户生成内容等用于与nlp引擎112一起使用。类似地,内容处理系统110可以被配置为基于视频源120所提供的文本数据或关键字,从外部源获得额外的文本内容(例如,通过当被提供有识别流到显示设备(例如电视机130或移动设备132)的视频节目的文本元数据时,从互联网服务获得视频节目的转录)。

内容处理系统110可以定位且产生来自任意多种源的相关内容,包括公共可访问的网站、因特网内容服务、订阅媒体提供商(包括电话、无线或有线内容服务)、或其它电子数据源。因此,将视频源136示出为可选地提供该相关内容;该相关内容还可以从第一内容源、视频源120提供。然而,视频源120不必限于联网的视频源,作为多种空中或本地处理的源(例如,dvd或蓝光播放器)可以从数据源122发生数字或模拟格式的内容。

html5/jsui114可以被访问或体现为任意数量的用户可操作设备和设置,并且在远程或本地执行的应用中。例如,html5/js用户界面114可以被提供作为电视机130内的屏幕上的应用;html5/js用户界面114可以被提供为与移动设备132上安装的独立应用结合;html5/js用户界面114可以被在计算设备134上操作的网络浏览器访问。

可以由服务html5/js用户界面114的远程服务通过网络提供内容处理系统110。内容处理系统110可以可选地由以下提供:由客户端侧硬件设备(例如,耦合到显示屏幕上的客户端设备(如,连接到电视机上的机顶线缆盒或视频接收器))执行的、或在一个或多个计算系统中实现的软件执行的应用、部件、或模块。此外,内容处理系统的方案可以直接利用在显示设备(例如,因特网连接的电视机,或智能手机/平板计算设备)上的处理硬件执行。

可以由内容处理系统100提供、访问、或与其结合使用各种应用程序接口(api)。例如,内容处理系统100可以提供api,其被配置为从视频源120或从显示设备(例如,电视机130、移动设备132)接收文本内容,该文本内容对应于在显示设备上显示的视频(例如,在视频节目的开始或恢复时提供的)。返回到前面的例子,电视机的隐藏字幕/字幕信息可以从视频广播馈送克隆或提供给内容处理系统110以进行实时处理。在该场景中的电视机可以用作服务器,来将文本的实时数据流发送到在另一设备(例如,与电视机运行在同一环境中的因特网连接平板pc,该平板pc提供使得用户能够获知更多关于正在显示的视频内容的用户可操作的图形用户界面)上运行的内容处理系统110。

在一个实施例中,内容处理系统110利用javascript和html5构造处理文本流,通过使用呈现用户体验的本地html5/javascript应用,处理输入/输出(i/o)操作等。因此,内容处理系统110的部分或全部(包括nlp引擎112、html5/jsui114、以及其它部件)可以通过在动态脚本环境中执行可应用部件的轻量级的基于网络的应用而被提供。这种html5/javascriptui114的特征可以在显示设备(例如,电视机130、移动设备132)的任意组合上或计算设备134上执行。

图2提供了根据示例性实施例的用于结合自然语言处理提供内容和相关内容显示的设备的设备架构的图示。具体地,电视机130和平板设备204被配置为分别显示内容206和相关内容208。在示出的例子中,相关内容208与内容206相关,并用作显示与内容206相关的额外或补充内容,这对于用户而言可能是感兴趣的。

如图所示,电视机202提供音频扬声器210和显示屏幕212,用于输出分别于内容206相关联的音频和视频。电视机202进一步被配置用于操作html5应用216,其可以结合图形ui(未示出)而被提供。html5应用216可以包括网络浏览器、独立应用、或类似的在电视机上执行以提供内容功能的指令集。

html5应用216还提供控制客户端214和内容处理客户端218。控制客户端214可以被配置为结合内容处理系统224接收命令,例如以提供不同的一组内容或执行一些用户指导的活动,以响应于从内容处理系统224接收到的命令。内容处理客户端218可以被配置以将某些内容信息提供给内容处理系统224(例如,正在电视机202上提供的内容206的隐藏字幕文本,或与内容206相关联的元数据)。

如进一步所示,平板设备204提供显示屏幕220,并可以利用扬声器(未示出)提供音频输出。平板设备204进一步被配置用于操作html5应用222、尤其是网络浏览器、独立应用、或者在平板设备上执行以提供用于内容处理系统的内容功能的类似指令集。

具体地,html5应用222可以包括网络浏览器,其提供用于执行内容处理系统224的功能的脚本环境。内容处理系统224的功能包括nlp226、以及搜索逻辑228,其在html5应用222内启动且潜在地执行。例如,提供脚本环境的网络浏览器可以被配置为结合支持脚本nlp引擎来执行脚本命令。

电视机202和平板设备204之间的通信可以由局域网(lan)促进,例如无线路由器230促进无线网络。例如,电视机202可以通过lan向平板设备204传送包括文本和元数据内容的数据,从而提供与内容206相关联的实时文本转录。平板设备204的内容处理系统224可以用于接收和处理该数据(利用nlp226),并利用搜索逻辑228启动各种查询以定位和取回相关内容208。

相关内容208可以从用户本地或远程的任意数量的内容源取回。如图所示,通过无线路由器230提供与因特网网络服务240的连接,用于相关内容208的可能的因特网网络服务包括信息搜索提供商250、新闻或动态内容提供商252、社交媒体源254、购物信息源256、以及视频内容源258。可从一个或多个这些源提供相关内容208。例如,可以通过从视频内容源258处获得的因特网流视频提供相关内容208,作为在源自电视机202的内容206的显示的隐藏字幕关键字上执行nlp的结果确定的。

如图2所示,相关内容208的显示发生在平板设备204上,而内容206的显示发生在分离设备(电视机202)上。可以理解的是,相关内容208的显示可以与原始内容同时或稍后出现在相同的设备上,例如利用画中画显示器、屏幕覆盖、或类似显示技术。

可以通过内容处理系统224提供api,以便从电视机202接收通信。例如,隐藏字幕文本流可以传送给平板设备204,因为电视机202被配置为连接平板设备204,利用平板设备204接收和发送消息,并在不再需要连接时断开连接。在电视机202和平板设备204之间交换消息可以包括任意数量的格式。

在一个实施例中,将文本数据以json可解析的格式提供给内容处理系统224以用在html5应用214、222中。例如,文本内容的格式可以提供为如下:

{meta:'title'|'tanscript'|'tag'|'summary',content:'sometext'|['tag1','tag2',…]}

在该示例格式中,值‘title(标题)’可以提供视频内容的标题;值‘transcript(转录)’可以提供视频内容的部分或全部文本转录;值‘tag(标记)’可以提供与视频内容相关联的一个或多个文本标记或关键字,值‘summary(摘要)’可以提供视频内容的文本摘要用于用户阅读;‘content(内容)’中的值‘sometext(一些文本)’可以提供文本内容的指示;以及包含‘tag1(标记1)’、‘tag2(标记2)’的数组可以提供用于获得额外内容的一列数据术语或短语。

提供json格式内的文本数据能够使得javascript/emcascript理解平台接收与视频内容相关联的文本内容并与其交互。json内的结构和语法使得应用易于理解它们接收到了什么并适当地使用有效负载。因此,内容处理系统(例如以软件实现的nlp引擎和html5/jsui)的各种部件可以被配置为处理、使用和显示这种数据的结果。

例如,内容处理系统可以提供提取器或其它文本解析部件来解析json格式的字符串,并确定与主题内容相关的有关元数据和转录行。在显示内容之前,可以从元数据提出关键字(例如节目标记或标题)来确定文本关键字。对于在显示内容期间一次接收一行的转录文本(如隐藏字幕或字幕),内容处理系统可以将该信息按照接收排队,并构建从其可以定位和确定相关信息的较大的有用且有关的短语。

以下的nlp技术可以利用javascript和基于javascript的nlp引擎实现。显然的是,可以结合在内容处理系统中部署的nlp引擎实现后续描述的nlp技术的变型。

为了获得文本数据中术语的正确上下文,可以对文本数据应用词类标记。例如,词类标记可用于标记(将词类分配于)转录行中的词语。如下所述,存在多种词类标记的方法,其可以连同当前描述的nlp配置一起使用。

适用于自动文本标记操作的软件应用的一个非限制性例子是engtagger(英语词类标记器库,其是由rubyforge分布的开源软件项目),其是一种基于概率的语料库训练标记器,能基于查找词典和一组概率值将词类标记分配给英文文本。engtagger提供与javascript一起使用的概率,因此可以结合当前描述的html5/javascript操作环境集成。

可以结合nlp执行的标记的一种类型包括一元文法标记。一元文法标记使用单条信息(通常是单个词语)来通过查找词典而决定关联的最可能的标记。给定语料库,可以为语料库中的每个词语创建词典,导致具有词语出现次数的计数的词语作为语料库中的特定词类。例如,“peter”可以在语料库中被作为专有名词标记110次;而类似“let”的词语可以被标记为名词10次和动词83次。根据该信息,可以将词类分配给句子。

为了分配具有一元文法标记的词类,句子首先得被分解为个体表征(例如,利用分词器)。然后,文本运行通过执行一元文法标记的标记器。对于句子的一元文法标记的结果可以例如被格式化为如下:

i/prpwalked/vbdthe/detdog/nnthis/detmorning/nnbefore/inwork/nn./pp

这组标记可以是根据一些标准进行定义的。为了说明和非限制性提供的可能标记的子集包括:prp=限定词,第二人称所有格(possessivesecond);vbd=动词,过去式;det=限定词;nn=名词(单数);in=介词或连词;pp=标点,句子终止符。

用于在nlp中标记的另一技术涉及使用二元文法标记。该形式的标记用于添加更多“智能”到算法中:而不是只应用最可能的词类(根据词语可能属于的一组可能的词类),相对于前述标记确定概率。因此,对于词语最可能的标记实际是“给定先前词语上的标记为x,最可能的标记”。

为了执行二元文法标记,可以使用第二数据集来表示从一个标记转变到另一个的概率。可以通过训练在语料库中标记序列上的标记器来导出这些概率。标记转变数据集,例如从engtagger库提供的,可以由nlp引擎使用。nlp引擎可以组合该数据集与原始标记概率集,并将两个数据集应用到文本句子。该技术可以结合维特比算法的修改使用以改善标记准确性。

存在可以结合nlp处理一起使用的多种其它标记模型和例子。这些包括通过与正规表达进行比较的标记;组合转变规则的标记;基于可能的标记序列的标记;以及其它模型。任何数量的简单或广泛的方法可结合内容处理系统和实现html5/javascriptui的客户端用于nlp技术。

响应于标记文本,特定术语的序列(如一个或多个单数或复数专有名词)可以被识别。例如,可以通过查找nnp(单数专有名词)和nnps(复数专有名词)标记的序列而执行序列,在专有名词之间具有选择性的连词(例如“and”)或介词(例如“of”)。可以结合组块分析方法的先进实现而使用其他技术。

除了关键字标记外的技术可以用于获得文本序列中关键字和短语的上下文和重要性。这些例如可以包括在整个转录中把每个序列出现的次数的计数作为因素计入,以帮助决定短语在转录中是否是“重要的”。

先前的标记技术通常描述在nlp环境中能够自由索引的一种方法。自由索引使得能够处理任何文本,但是可以获得多个不相关的术语,或者相反地忽略有关的相关术语(例如,“笔记本”和“膝上型”甚至在它们是同义时被当做不同的关键短语)。一种方法用于改善已知为“受控索引”的索引的适合性,其将已知的短语映射为索引术语(例如,“笔记本”和“膝上型”可以引发单个关键共享短语,“膝上型”)。

一旦关键短语已经被提取,nlp引擎可以被配置为向侦听器通知新的关键短语或者结合术语执行其他适当的处理。例如,文本提取器可以被配置为从内容处理系统作为新的关键短语的结果启动“newkeyphrase”事件,以及为遇到的每个关键短语的“keyphrasecounted”事件。事件侦听器可以被配置为侦听这些文本处理事件的发生,以便以适当的动作进行响应,例如执行搜索查询和提供用户提示。事件的观察者可以决定使用信息或忽略它。因此,在这种实施例中,发现潜在的关键字和搜索查询是独立于选择哪个查询以提供搜索源而执行的。

其它的增强可以包括将更多数据添加到关键短语事件。例如,结合nlp,内容处理系统可以查找文本中命名的实体,并且以分类标记任何关键短语(例如,“地点”、“人物”、“组织”)。在nlp期间可以添加其它基于上下文的术语。

虽然执行nlp可以检测可能有关的多种关键短语和术语,但是在内容丰富的环境中,不是所有被nlp系统检测到的术语和短语都适于或期望用于内容的定位或取回。因此,处理系统可以使用额外的选择标准以确定是否使用识别出的关键术语和短语用于定位或取回内容的搜索查询。

例如,查询选择可以使用一些过滤器来决定关键术语或短语是否值得用作搜索查询。为了帮助做出该决定,查询选择器可以将以下作为要素:关键短语;在转录或文本列表中已经出现的关键短语的多个次数;以及由当前节目提供的内容,其反过来(默认地)包含:目前发现的所有搜索结果;根据搜索结果生成的任意文档(包括文本的词干版本以及每个词干的计数);搜索的任何先前查询;以及目前为止的整个转录或文本列表。可以并行应用多个过滤器以决定是否选择关键短语作为查询。

内容处理系统可以被配置为跟踪已经用作搜索(包括用于获得原始内容的搜索)的关键术语和短语,从而相同的关键短语不会被不止一次的搜索。还可以对每个候选关键(名词)短语应用权重。例如,可根据以下建立这种权重:

出现的次数*(短语中词语的数量*短语中词语的数量)

内容处理系统可以被配置为只搜索具有高于某一配置值的权重的短语,例如等于或大于3。这种值可能要求单字专有名词短语必须出现三次以被查找;而二字名词短语仅需要出现一次。该方法产生了合理的结果,尤其在“实体丰富”文本中,如内容的非虚构转录。

查询选择还可以得益于潜在查询的结构,例如nlp产生的关键短语。在进一步的实施例中,用于专有名词的外部元素的命名实体提取和组块解析可以结合nlp技术使用。

nlp技术还试图在选择关键短语时获得上下文。例如,通过分析来自nlp引擎的关键短语来确定哪个短语与先前搜索术语部分或全部重叠,nlp引擎能够导出短语的上下文。这将创建贯穿短语(或内容项)的多个流的链接和线程并识别它们间的共同上下文。这种技术可以应用于分析多组内容(例如纪录片系列)并识别用户感兴趣的主题以建立词语和短语的典型范围的定义时。例如,在片段中重复使用的词语可以与某一上下文相关联,例如在音乐纪录片中“低音吉他”中的“低音(bass)”,以及在可能用于自然纪录片中的“鲈鱼”中使用的术语“鲈鱼(bass)”。

多种使用情况可以实现当前描述的自然语言处理技术,以从一个或多个源确定相关内容。与试图发现与单个关键字“最匹配”内容的内容搜索引擎相反,基于来自多个关键字的内容的上下文,当前描述的nlp技术可以适用于向用户提供成组有用的且感兴趣的相关内容。当试图定位“相关”内容时,nlp技术可以用于识别无关地相关概念--不必从搜索最频繁使用的词语的简单关键字获得的概念。在类型或其它更大的内容种类中确定内容的上下文允许nlp技术对于具有变化上下文的媒体(例如,在提供多个内容片断的新闻视频节目中)特别有价值。

例如,在新闻视频节目内容的表示中,可以结合字幕或隐藏字幕文本确定视频的上下文。类似地,描述节目的文本数据或与节目相关联的移动图片专家组(mpeg)格式元数据可以用作文本源以确定上下文。例如,可以在查看来自节目的类型/描述的节目之前,确定媒体的上下文。nlp技术还可以用于跨越内容和社交媒体网站(例如twitter、flicker、wikipedia等)确定关键术语的潜在查询,以确定进一步的有关内容或取用驱动的活动。这些查询可以集成到html5/js界面中以动态获得和输送内容。

作为nlp结果确定的相关内容可以以任意数量的形式或格式提供,具有手动或自动功能的任意组合。例如,相关内容可以包括类似类型的内容的搜索结果;用于进行搜索或访问网站的用户提示;有关广告;有关用户互动显示和特征交互;以及相关元数据交互。

图3提供了支持html5/javascript的图形用户界面窗口300的图示,基于结合根据示例性实施例的自然语言处理确定的相关内容,向用户提供相关内容。如图所示,图形用户界面窗口302包括标题面板304和显示面板306、312和318。显示面板306、312和318中的每一个提供来自各种源的一些相关内容的图形显示,作为从nlp导出的关键字的结果确定特定相关内容显示。

例如,当用户正在观看汽车安全性纪录片(由标题324示出)时,从与该纪录片节目关联的文本内容可以导出多种关键字,例如隐藏字幕、字幕和节目元数据。当节目被观看、且文本流被获得时,可以导出文本中出现的多种关键术语词语和短语(例如,事故326、汽车安全测试328、防御性驾驶330)。例如,关键术语326、328和330可以是上下文敏感的,因为术语“汽车”和“车辆”是同义词,并且“防御性驾驶”指的是结合与“进攻”无关的机动车辆或赛车运动发生的人类行为。

关键术语326、328、330可以针对用户输入而被显示,且与直接显示相关内容交互,例如,通过光标选择一个或多个关键字。可替代地,关键字可用于在一个或多个显示面板306、312、318中自动生成内容或内容链接。显示面板示出虽然原始内容的常用主题是汽车安全纪录片,但相关的题目例如“安全测试”、“汽车修理”和“汽车购买”可以是用户感兴趣的相关内容。

具体而言,面板306提供例如来自社交媒体服务的视频的图示310和描述308,其可以是用户选择的。面板312提供在线百科条目的图示316和描述314(例如内容的快照或摘录),其可以是用户选择的。面板318提供可是用户购买的例如来自在线商店的商品或服务的图示322和描述320。

面板306、312、318中的每个可以用于提供视频、动画、商标和其它动态内容形式的增强的图示。图3所示的用户界面窗口302接受的用户交互可以包括任意数量的形式,例如屏幕上选择、导航按钮、键盘或语音命令等。此外,图3所示的用户接口可以设置在便携式移动计算环境中(例如平板式计算机),并适应于接收用户触摸命令和手势以导航和选择感兴趣的相关内容。

图4提供了根据示例性实施例的示出自然语言处理多媒体数据流所提供的文本数据的方法400的流程图。利用先前描述的内容处理系统和nlp引擎,该过程400的性能可以整体或部分地出现。

如在操作410中所示,针对nlp访问与内容相关联的文本流。该文本流可以由媒体设备(例如,在回放某一多媒体内容期间)提供给内容处理系统,或者可以由内容处理系统从某一数据源取回。文本流可以直接或间接提供给nlp引擎以进行即时或延迟的处理。

在操作420中,对来自文本流的文本元素应用标记和加标记技术。例如,先前描述的文法内标记技术(in-gramtaggingtechnique)可以由nlp引擎应用以将标记与来自文本的语言的冠词(articlesofspeech)相关联。在可替代的实施例中,提供给nlp引擎的文本流可以在进行处理之前被部分地或整体地标记。

在操作430中,基于语言冠词标记或索引标准,由nlp引擎索引文本元素。例如,索引可以识别被标记为专有名词的文本元素出现的次数。索引的结果可以用于操作440中以从文本元素中识别关键术语,例如专有名词或短语。例如,关键术语可以被识别为如操作430的索引所指示的以预定义的频率出现(或超过某一预定出现次数)的文本元素。

在操作450中,识别关键术语的上下文。例如,某些关键术语可以彼此是同义词或反义词;上下文敏感文本处理可以用于确定用于定位相关内容的适当的上下文,并用于消除、巩固、或增加关键术语。此外,上下文信息可以从关键术语中导出,以便识别哪种类型的内容(例如,诸如视频或音频的某一内容类型)与提供文本流的原始内容最相关和有关。多种处理算法可用于定位和导出上下文并确定哪些关键术语最有价值。

在操作460中,结合操作使用关键术语来定位或获得相关内容。例如,可结合来自内容提供商的兴趣搜索来使用关键术语,以便提供和流动额外的相关内容。利用关键词语还可以获得内容的各种列表和推荐,以向用户提供进一步选择和流动内容的能力。如本文进一步描述的,在html5/javascript兼容环境中可以出现相关内容的位置、取回和显示。

图5提供了根据示例性实施例的示出用于利用自然语言所提供的内容术语确定相关内容的方法500的流程图。如在操作510中示出的,接收与第一内容相关联的文本以进行处理。该文本可以由设备结合一个或多个api提供,或者该文本可以由处理系统响应于某一第一内容的通知或检测而取回。

在操作520中,nlp(例如,如在图4所示的过程中执行)在与第一内容相关联的文本上执行。自然语言处理导出关键文本术语,例如对确定相关内容有用的词语和短语。

执行操作530以使用关键文本术语来确定相关内容。可以结合处理系统可访问的文本索引来提供相关内容。还可以结合处理系统可访问的搜索服务,利用关键术语查询所提供的搜索设备,来提供相关内容。

响应于操作530的执行,确定相关内容,例如相关内容项或一组相关内容项。在一些实施例中,可以在继续进行显示或使用相关内容之前,处理进一步的用户选择,例如根据向用户呈现潜在相关内容的列表的结果。在操作540中,接收用户选择以从相关内容选择第二内容。在一个实施例中,用户选择被预先建立为偏好的形式,导致基于偏好自动输送或显示第二内容。在另一实施例中,提供ui(或ui内的提示)以接受第二内容的用户选择。

最后,在操作550中,第二内容(其与第一内容相关)被提供给用户。第二内容可以提供给与第一内容相关联的相同显示器或媒体输出;或者可替代地,第二内容可以提供给与第一内容相关联的不同的显示器或媒体输出。例如,如果用户正在电视机上显示第一内容,则可以提供第二内容以在电视机上同时或稍后显示;或者可以提供第二内容以在与电视机独立操作的移动设备上同时或稍后显示。

可以结合任意数目的处理系统和设备来执行先前描述的技术,并且不限于本文所描述的语言处理的配置和算法。文本内容还可以从独立于数据的文本流的内容获得。例如,与视频内容相关联的文本可以通过组合任意数目的自动技术而获得,所述技术包括声音和语音识别、光学字符和图像文本识别、以及机器可实现的语言转换。

虽然一些先前的例子是参考诸如电视机节目的多媒体视频内容提供的,但是结合本技术在这种内容上进行处理可以扩展到更广泛的单一媒体和多媒体数据和格式。这可以包括三维(3d)显示内容(例如3d视频);文本内容(例如电子书、文章和其它出版物);静态视觉内容(例如照片);以及音频内容(例如音乐和广播)。此外,定位并向用户提供的相关内容可以是不同于定位并提供给用户的原始内容的格式(例如,响应于原始文本内容提供视频相关内容,反之亦然)。此外,nlp和用户界面技术可以被配置用于与能够向用户显示、促进或输出内容(以视频或音频格式,或以其他方式)的任意数量的电子设备一起操作

其它可应用网络配置可包含于当前描述的通信网络范围内。虽然参考无线局域网配置和广域互联网连接提供的例子,但可以理解的是可以利用任意数量的个域网、局域网(lan)和广域网(wan),利用有线和无线传输介质的任意组合来促进通信。

实施例可以以硬件、固件和软件之一或其组合来实现。实施例还可以实现为存储在至少一个计算机可读存储设备上的指令,其可由至少一个处理器读取并执行以进行本文所描述的操作。计算机可读存储设备可以包括任意非瞬态机构用于存储机器(例如,计算机、只能电话、电子设备)可读形式的信息。例如,计算机可读存储设备可以包括只读存储器(rom)、随机访问存储器(ram)、磁盘存储介质、光存储介质、闪速存储器设备、以及其它存储设备和介质。在一些实施例中,本文所描述的电子设备和计算系统可以包括一个或多个处理器,并且可以配置有存储在计算机可读存储设备上的指令。

图6是示出在其上能够运行本文所讨论的任意一个或多个方法的示例性机器的框图。在可替代的实施例中,机器运行为分立设备或能够与其它机器连接(例如,联网的)。在网络布置中,机器可以在服务器-客户端网络环境中作为服务器或客户端机器运行,或者它可以在对等网(或分布式)络环境中用作对等机器。该机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、网络设备、网络路由器、交换机或桥、或者能够(顺序或其它方式)执行指示该机器所要采取的动作的指令的任何机器。此外,虽然仅示出单个机器,但术语“机器”应该被认为是包括个体地或联合地执行一组(或多组)指令从而执行本文所讨论的任意一个或多个方法的机器集合。

示例性计算机系统600包括处理器602(例如,中央处理单元(cpu)、图形处理单元(gpu)或两者)、主存储器604和静态存储器606,其经由总线608彼此通信。计算机系统600还可以进一步包括视频显示单元610、字母数字输入设备612(例如键盘)、以及ui导航设备614(例如鼠标)。在一个实施例中,视频显示单元610、输入设备612以及ui导航设备614是触摸屏幕显示器。计算机系统600另外可以包括存储设备616(例如驱动单元)、信号生成设备618(例如扬声器)、网络接口设备620(其可以包括一个或多个天线628、收发机、或其它无线通信硬件或可操作地与其通信)、以及一个或多个传感器(未示出),例如全球定位系统(gps)传感器、指南针、加速计、或其它传感器。

存储设备616包括在其上存储有一组或多组数据结构的至少一种机器可读介质622,以及实现本文描述的任意一个或多个方法或功能或由其利用的指令624(例如软件)。指令624还可以在计算机系统600执行其的期间完全或至少部分地驻留在主存储器604、静态存储器606、和/或在处理器602中,主存储器604、静态存储器606以及处理器602还构成机器可读介质。

虽然在示例性实施例中示出机器可读介质622是单一介质,但术语“机器可读介质”可以包括存储一条或多条指令624的单一介质或多介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“机器可读介质”还可以被认为包括任意有形介质,其能够存储、编码或携带机器执行的指令,并使得机器执行本公开的任意一个或多个方法,或者其能够存储、编码或携带由这种指令利用或相关联的数据结构。术语“机器可读介质”因此应该被认为包括但不限于固态存储器、以及光和磁介质。机器可读介质的具体例子包括非易失性存储器,例如包括半导体存储器设备(如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))以及闪速存储器设备;磁盘,例如内部硬盘和可移除盘;磁光盘;以及cd-rom和dve-rom盘。

还可以通过通信网络626利用传输介质经由网络接口设备620使用多个已知传输协议(例如http)中任意一种来发送或接收指令624。通信网络的例子包括lan、wan、因特网、移动电话网络、普通老式电话(pots)网络、以及无线数据网络(如wi-fi、3g和4glte/lte-a或wimax网络)。术语“传输介质”应该被认为包括能够存储、变化或携带机器可执行指令的任意无形介质,并且包括数字或模拟通信信号或其它无形介质,以促进这种软件的通信。

当前描述的方法、系统和设备实施例的额外例子包括下面的非限制性配置。每个下面的非限制性例子可以是独立的,或者可以与下文提供的或遍及本公开的一个或多个其它例子的置换或组合相结合。

例子1包括一种设备,其包括:至少一个处理器;以及至少一个存储器设备,其中存储有多条指令,当由所述处理器执行时,所述指令使得所述处理器用于执行在动态浏览器图形用户界面中运行脚本命令的操作,以用于:对从一个或多个媒体内容项获得的文本进行自然语言处理以识别上下文相关术语;利用所述上下文相关术语来定位来自一个或多个内容源的一个或多个相关的内容项;以及在所述动态浏览器图形用户界面中显示所述相关的内容项。

在例子2中,例子1的主题可以可选地包括:在所述动态浏览器图形用户界面中显示所述媒体内容项。

在例子3中,例子1-2中之一或任意组合的主题可以可选地包括:其中显示所述媒体内容项是利用第二设备提供给用户的,并且其中显示相关的内容项与显示所述媒体内容项相协调。

在例子4中,例子1-3中之一或任意组合的主题可以可选地包括:其中在所述动态浏览器图形用户界面中运行的脚本命令是通过运行javascript指令而执行的,所述动态浏览器图形用户界面呈现与html5标记语言标准兼容的一个或多个网页或网络应用。

例子5可以包括或可以可选择与例子1-4中之一或任意组合的主题组合以包括一种由计算设备执行的方法,包括:通过在图形用户界面中运行客户端侧脚本命令,对与内容相关联的文本进行自然语言处理,所述自然语言处理包括:识别在所述文本中的多个关键术语候选;以及基于在所述文本中的使用,从所述关键术语候选中选择上下文敏感关键术语;利用所述上下文敏感关键术语,从一个或多个内容源确定相关内容;以及在所述图形用户界面中向用户显示所述相关内容。

在例子6中,例子5的主题可以可选地包括:所述图形用户界面是浏览器,并且其中在所述图形用户界面中显示所述相关内容包括:利用所述浏览器,在与html5标记语言标准兼容的网页或网络应用中提供对所述相关内容的显示。

在例子7中,例子5-6中之一或任意组合的主题可以可选地包括:运行所述客户端侧脚本命令包括:在所述图形用户界面中,利用一个或多个javascript脚本命令执行对所述文本的自然语言处理。

在例子8中,例子5-7中之一或任意组合的主题可以可选地包括:识别在所述文本中的多个关键术语候选包括:从所述文本中一个或多个专有名词和短语选择满足一个或多个预定义标准的关键术语候选。

在例子9中,例子5-8中之一或任意组合的主题可以可选地包括:其中识别在所述文本中的多个关键术语候选包括:访问所述文本;对所述文本标记一个或多个词类;基于按词类的词语频率对所述文本进行索引;利用所述文本的索引从短语和专有名词确定关键术语候选;其中从所述关键术语候选中选择上下文敏感关键术语包括:在所述文本中确定所述关键术语候选的上下文;以及在所述文本中选择具有与一个或多个其它关键术语候选共同的上下文的关键术语候选。

在例子10中,例子5-9中之一或任意组合的主题可以可选地包括:在所述图形用户界面中向用户显示所述相关内容与显示所述内容并发发生。

在例子11中,例子5-10中之一或任意组合的主题可以可选地包括:所述内容和所述相关内容分别显示在所述图形用户界面中,所述图形用户界面设置在用户能操作的同一显示设备上。

在例子12中,例子5-11中之一或任意组合的主题可以可选地包括:其中确定所述相关内容包括:执行从所述一个或多个内容源搜索所述相关内容,所述搜索包括所述上下文敏感关键术语。

在例子13中,例子5-12中之一或任意组合的主题可以可选地包括:所述内容包括视频,并且其中与所述内容相关联的文本包括以下中的一个或多个:视频转录、字幕文本、或与所述视频相关联的隐藏字幕文本。

例子14可以包括或可以可选地与例子1-13中之一或任意组合的主题组合以包括:一种具有计算机可读指令的计算机可读存储介质,当由计算机执行时,所述指令使得所述计算机提供被配置用于以下操作的图形用户界面:利用提供给所述图形用户界面的脚本指令,对文本进行自然语言处理以提取一个或多个内容术语,所述文本与一组第一内容相关联;利用所述内容术语执行一个或多个查询以定位和获得一组相关内容;以及在所述图形用户界面中显示所述相关内容。

在例子15中,例子14的主题可以可选地包括:所述图形用户界面是浏览器,并且其中通过呈现包括所述相关内容的一个或多个网页而提供对所述相关内容的显示,所述网页包括提供与html5标记语言标准兼容的用户交互显示的所述相关内容。

在例子16中,例子14-15中之一或任意组合的主题可以可选地包括:在浏览器中显示所述第一内容,其中显示所述第一内容是通过呈现包括所述第一内容的一个或多个网页或网络应用提供的,所述网页或网络应用提供与html5标记语言标准兼容的用户交互显示。

在例子17中,例子14-16中之一或任意组合的主题可以可选地包括:与所述一组第一内容相关联的文本是通过与所述内容相关联的实时数据流提供的。

在例子18中,例子14-17中之一或任意组合的主题可以可选地包括:所述数据流是从以下中的一个或多个处提供的:隐藏字幕文本、字幕文本、或元数据。

在例子19中,例子14-18中之一或任意组合的主题可以可选地包括:提供给所述图形用户界面的所述脚本指令是javascript执行,其配置用于在支持javascript的显示环境中运行。

例子20可以包括或可以可选地与例子1-19中之一或任意组合的主题组合以包括一种系统,包括:输出设备,其配置为向用户输出第一组内容;以及内容处理系统,其配置用于从与所述第一组内容相关联的文本提供相关内容,所述内容处理系统包括:自然语言处理部件,其配置用于确定与所述第一组内容相关的术语,利用脚本命令进行自然语言处理;内容取回部件,其配置用于利用与所述第一组内容相关的术语,确定与所述第一组内容相关的第二组内容;以及用户界面部件,其配置用于在用户界面内向用户提供所述第二组内容,所述用户界面利用标记语言向用户提供动态生成的显示。

在例子21中,例子20的主题可以可选地包括:第一内容源,其提供所述第一组内容和与所述第一组内容相关联的文本;以及第二内容源,其提供所述第二组内容。

在例子22中,例子20-21中之一或任意组合的主题可以可选地包括:所述输出设备还配置为向用户输出所述用户界面和所述第二组内容。

在例子23中,例子20-22中之一或任意组合的主题可以可选地包括:第二输出设备,其配置为向用户输出所述用户界面和所述第二组内容。

在例子24中,例子20-23中之一或任意组合的主题可以可选地包括:内容取回和自然语言处理是利用在所述用户界面内运行的脚本执行的,并且其中所述内容处理系统由在所述输出设备的处理器上运行的软件指令提供。

提供摘要以允许读者确定本技术公开的内置和主旨。在理解摘要不用于限制或解释权利要求的范围或含义的前提下提交摘要。后续权利要求由此并入到详细说明中,每项权利要求作为单独的实施例是独立的。

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