欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 内容建议系统独创技术49963字

内容建议系统

2021-03-17 01:53:18

内容建议系统

  优先权

  本申请要求于2018年4月13日提交的序列号为15/952,859的美国临时专利申请的优先权的权益,在此要求其优先权的权益,并且其通过引用整体合并于此。

  技术领域

  本公开的实施例总体上涉及移动计算技术,并且更具体地且非限制性地涉及用于管理用户之间的聊天会话的内容的系统。

  背景技术

  移动设备(例如,智能电话、个人数字助理、平板电脑、智能手表等)无处不在。移动设备向用户提供高级计算功能和服务,例如语音通信、文本和其他消息传递通信、视频和其他多媒体通信、流服务等。通常,用户发送和接收数据(例如,消息),或者以其它方式经由移动设备彼此通信。

  现有的基于文本的通信应用(例如,文本消息传递、即时消息传递、聊天、电子邮件等)向用户提供用户可选的选项,以用图形元素(例如,表情(emoji)和其他表意文字、象形文字、图像、GIF、动画、视频和其他多媒体内容)来补充输入文本。用户可搜索并选择各种元素到它们的消息中,以向基于文本的内容提供附加上下文。

  附图说明

  为了容易地识别对任何特定元素或动作的讨论,在参考数字中的一个或多个最高有效数字指的是在其中该元素首次被引入的附图号。

  图1是示出根据一些实施例的用于在网络上交换数据(例如,消息和相关联的内容)的示例消息系统的框图,其中,消息系统包括内容建议系统。

  图2是示出根据示例实施例的关于消息收发系统的进一步细节的框图。

  图3是示出根据某些示例实施例的内容建议系统的各种模块的框图。

  图4是示出根据某些示例实施例的用于对聊天建议进行排序的方法的流程图。

  图5是示出根据某些示例实施例的用于呈现聊天建议的方法的流程图。

  图6是示出根据某些示例实施例的用于呈现聊天建议的方法的流程图。

  图7是示出根据某些示例实施例的用于对将要被呈现为聊天建议的聊天内容进行排序的方法的图。

  图8是根据某些示例实施例的用于显示聊天建议的界面的图示。

  图9是根据某些示例实施例的用于显示聊天建议的界面的图示。

  图10是示出了代表性软件体系结构的框图,该软件体系结构可与本文描述的各种硬件体系结构结合使用并用于实现各种实施例。

  图11是示出根据一些示例实施例的机器的组件的框图,该机器的组件能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的任何一种或多种方法。

  具体实施方式

  常规的聊天系统通常基于从用户接收到的显式(或隐式)输入来提供某些“聊天建议”,其中聊天建议通常包括后续的文本元素(例如,单词,字母,标点符号等)。这些常规的聊天系统能够(至多)基于在客户端设备处接收的输入(例如,客户端设备的用户开始起草响应),或者基于现有字典或常用单词或词组的词典来提供建议。最近,已经开发了聊天系统,该聊天系统使用户能够通过部分由于内容的抽象性质以及内容本身的上下文含义不断变化而不符合现有聊天建议框架的非常规消息内容来彼此通信。

  例如,一些平台通过经由聊天界面生成和共享诸如象形文字和表意文字的内容,使个人能够彼此通信,其中,象形文字或表意文字的含义或上下文不是立即显而易见的。结果,生成包括此类内容的聊天和消息传递建议具有挑战性,并且当前可能需要大量的前端工作才能对数据库中的内容进行分类和定义。虽然从短期来看这可能是一个足够的解决方案,但是此类数据库需要大量维护和管理员输入以便定期添加或更新内容。

  本文所述的实施例涉及一种内容建议系统,其基于在客户端设备处接收的消息来生成并使得显示聊天建议集合。内容建议系统被配置为在客户端设备处显示包括消息内容的消息,并识别由客户端设备的用户选择的将要被包括在对在客户端设备处接收的消息的响应中的内容。内容建议系统跟踪并存储在其中特定内容对在聊天上下文中连续出现的次数,并计算内容在可用内容集合中的排序。当在客户端设备处显示包括内容对的内容的后续消息时,内容建议系统基于相应的排序检索并提供内容集合作为建议。

  如本文所讨论的,“消息内容”可指代可被包括在显示在客户端设备处的消息(例如,文本消息、短暂消息、电子邮件、私人消息、直接消息、论坛帖子等)内的各种类型的媒体项目。例如,消息内容可包括文本字符串、象形文字或表意文字(例如,表情)、图像、音频数据、视频数据以及个性化化身(例如,表情符号(Bitmoji))。内容对可包括上述各种类型的消息内容的任意组合。

  内容建议系统被配置为使得在客户端设备处显示包括消息内容(例如,第一内容)的消息,并从内容选项的选择中接收对第二内容的选择。响应于接收到对第二聊天内容的选择,内容建议系统为包括第一内容和第二内容的内容对编索引并存储该内容对,并递增与该内容对相对应并指示在其中内容对在消息上下文中发生的次数的使用计数器(即,当第二内容被用在对包括第一内容的消息的响应中)。内容建议系统基于内容对的使用度量在内容集合中对第二内容进行排序。

  响应于在客户端设备处接收到包括第一内容的后续消息,内容建议系统基于与包括第一内容的内容对相对应的排序,从内容数据库检索内容。例如,内容建议系统可基于包括第一内容和第二内容的内容对的使用量度,从数据库中检索第二内容。内容建议系统生成对所检索的内容的呈现,其中内容的排序(即,显示顺序)是基于相应的使用量度。对所建议内容的呈现可被显示在聊天界面的一部分中,例如,靠近键盘元素。在一些实施例中,对所建议内容的呈现响应于接收到显示键盘元素的用户输入来显示。

  有时,内容的排序可导致相同或几乎相同的内容被显示在建议内容中的最突出位置。在一些实施例中,内容建议系统识别内容的排序最高的部分(例如,首6位),并且在对内容的呈现中随机化内容的排序最高的部分的显示顺序,以便向用户提供附加的多样性和更有趣的建议集合。

  图1是示出用于在网络上交换数据(例如,消息和相关内容)的示例消息传递系统100的框图。消息传递系统100包括多个客户端设备102,每个客户端设备托管包括消息传递客户端应用104的多个应用。每个消息传递客户端应用104经由网络106(例如,因特网)与消息传递客户端应用104和消息传递服务器系统108的其他实例通信地耦接。

  因此,每个消息传递客户端应用104能够经由网络106与另一个消息传递客户端应用104和消息传递服务器系统108进行通信并交换数据。在消息传递客户端应用104之间以及在消息传递客户端应用104与消息传递服务器系统108之间交换的数据包括功能(例如,调用函数的命令)以及有效载荷数据(例如,文本、音频、视频、或其他多媒体数据)。

  消息传递服务器系统108经由网络106向特定消息传递客户端应用104提供服务器端功能。尽管在本文中将消息传递系统100的某些功能描述为由消息传递客户端应用104或由消息传递服务器系统108执行,但是应当理解,某些功能在消息传递客户端应用104或消息传递服务器系统108中的位置是设计选择。例如,在技术上优选地是首先在消息传递服务器系统108内部署某些技术和功能,然后将该技术和功能迁移到其中客户端设备102具有足够处理能力的消息传递客户端应用104。

  消息传递服务器系统108支持提供给消息传递客户端应用104的各种服务和操作。此类操作包括向消息传递客户端应用104发送数据,从消息传递客户端应用104接收数据,以及处理由消息传递客户端应用104生成的数据。在一些实施例中,作为示例,该数据包括消息内容、客户端设备信息、地理位置信息、媒体注释和叠加、消息内容持续条件、社交网络信息、以及现场活动信息。在其它实施例中,使用其它数据。消息传递系统100内的数据交换通过经由消息传递客户端应用104的GUI可用的功能来调用和控制。

  现在具体转到消息传递服务器系统108,应用程序接口(API)服务器110耦接到应用服务器112并向应用服务器112提供编程接口。应用服务器112通信地耦接到数据库服务器118,数据库服务器118促进对数据库120的访问,在数据库120中存储有与由应用服务器112处理的消息相关联的数据。

  具体处理应用程序接口(API)服务器110,该服务器在客户端设备102与应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(API)服务器110提供可被消息传递客户端应用104调用或查询的接口集合(例如,例程和协议),以便调用应用服务器112的功能。应用程序接口(API)服务器110暴露由应用服务器112支持的各种功能,包括:帐户注册;登录功能;经由应用服务器112从特定消息传递客户端应用104向另一消息传递客户端应用104发送消息;从消息传递客户端应用104向消息传递服务器应用114发送媒体文件(例如,图像或视频),以供另一消息传递客户端应用104进行可能的访问;媒体数据的集合(例如,故事)的设置;客户端设备102的用户的好友列表的取得;此类集合的取得;消息和内容的取得;在社交图中添加和删除好友;好友在社交图中的位置;打开应用事件(例如,与消息传递客户端应用104有关)。

  应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116、社交网络系统122、以及内容建议系统124。消息传递服务器应用114实现多个消息处理技术和功能,其特别涉及包括在从消息传递客户端应用104的多个实例接收的消息中的内容(例如,文本和多媒体内容)的聚合和其他处理。如将在进一步的细节中描述的,来自多个源的文本和媒体内容可被聚合到内容的集合(例如,被称为故事、或图库)中。然后,消息传递服务器应用114使得这些集合对于消息传递客户端应用104可用。考虑到此类处理的硬件要求,对数据的其他处理器和存储器密集型处理还可在服务器端由消息传递服务器应用114来执行。

  应用服务器112还包括图像处理系统116,该图像处理系统116专用于通常关于在消息传递应用服务器114处的消息的有效载荷内接收到的图像或视频来执行各种图像处理操作。

  社交网络系统122支持各种社交联网功能和服务,并使这些功能和服务可用于消息传递服务器应用114。为此,社交网络系统122维护并访问数据库120内的实体图304。社交网络系统122支持的功能和服务的示例包括识别特定用户与其具有关系或者该特定用户“正在关注”其的消息传递系统100的其他用户,以及还识别特定用户的其他实体和兴趣。

  应用服务器112通信地耦接到数据库服务器118,该数据库服务器118促进对数据库120的访问,该数据库120中存储有与由消息传递服务器应用114处理的消息相关联的数据。

  图2是示出根据示例实施例的关于消息传递系统100的进一步细节的框图。具体地,消息传递系统100被示为包括消息传递客户端应用104和应用服务器112,它们又进而体现了多个特定子系统,即,短暂计时器系统202、集合管理系统204、和注释系统206。

  短暂计时器系统202负责对由消息传递客户端应用104和消息传递服务器应用114所允许的内容(诸如,个性化化身(例如,表情符号))执行临时访问。为此,短暂计时器系统202并入了多个计时器,这些计时器基于与消息、消息集合、或图形元素相关联的持续时间和显示参数,经由消息传递客户端应用104选择性地显示并使能对消息和相关联内容的访问。在下面提供关于短暂计时器系统202的操作的进一步细节。

  集合管理系统204负责管理媒体的集合(例如,文本、图像视频和音频数据、个性化化身的集合)。在一些示例中,内容的集合(例如,包括图像、视频、文本和音频的消息)可被组织进“事件图库”或“事件故事”中。这种集合可在指定时间段(例如与内容相关的事件的持续时间)内可用。例如,与音乐会有关的内容可在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可负责发布图标,该图标向消息传递客户端应用104的用户界面提供特定集合的存在的通知。

  集合管理系统204还包括策展界面208,该策展界面208允许集合管理器管理和策展特定内容集合。例如,策展界面208使事件组织者能够策展与特定事件有关的内容的集合(例如,删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些实施例中,补偿(例如,与消息传递系统或第三方奖赏系统相关联的货币、非货币信用或得分,旅行里程,对艺术品或专用镜头的访问等)可被支付给用户以用于将用户生成的内容包括到集合中。在这种情况下,策展界面208操作以自动向此类用户就使用其内容而支付费用。

  注释系统206提供使用户能够注释或以其他方式修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与针对由消息传递系统100处理的消息产生和发布媒体叠加有关的功能。注释系统206基于客户端设备102的地理位置向消息传递客户端应用104可操作地提供媒体叠加。在另一个示例中,注释系统206基于其他信息(例如,客户端设备102的用户的社交网络信息)可操作地向消息传递客户端应用104提供媒体叠加。媒体叠加可包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括:图片、文本、徽标、动画和声音效果,以及动画面部模型,诸如由内容建议系统124生成的那些。视觉效果的示例包括颜色叠加。音频和视觉内容或视觉效果可在客户端设备110处被应用于媒体内容项(例如,照片)。例如,媒体叠加包括可被叠加在由客户端设备102拍摄的照片之上的文本。在另一个示例中,媒体叠加包括位置叠加(例如,威尼斯海滩)的标识、现场活动的名称、或商家叠加的名称(例如,海滩咖啡馆)。在另一个示例中,注释系统206使用客户端设备102的地理位置来识别媒体叠加,该媒体叠加包括在客户端设备102的地理位置处的商家的名称。媒体叠加可包括与商家相关联的其他标记。媒体叠加可被存储在数据库120中并且可通过数据库服务器118来访问。

  在一个示例实施例中,注释系统206提供基于用户的发布平台,该平台使用户能够在地图上选择地理位置,并上载与所选地理位置相关联的内容。用户还可指定在什么情况下应向其他用户提供特定媒体叠加。注释系统206生成包括所上载内容的媒体叠加,并将所上载内容与所选地理位置相关联。

  在另一个示例实施例中,注释系统206提供基于商家的发布平台,该平台使商家能够经由投标过程选择与地理位置相关联的特定媒体叠加。例如,注释系统206在预定的时间量内将出价最高的商家的媒体叠加与对应的地理位置相关联。

  图3是示出内容建议系统124的组件的框图,该组件将内容建议系统124配置为执行包括以下内容的操作:在客户端设备(例如,客户端设备102A)处的聊天界面内显示消息,其中消息包括第一内容,例如特定的个性化化身(例如,表情符号);从客户端设备102A接收对第二内容的选择,其中第二内容可包括将要分配给对消息的响应的不同的个性化化身;响应于从客户端设备102A接收到对第二内容的选择,递增与包括第一内容和第二内容的内容对相对应的使用量度;以及根据一些示例实施例,基于对应的内容对的使用度量在内容集合中对第二内容进行排序。内容建议系统124被示为包括呈现模块302,排序模块304,内容选择模块306和通信模块308,它们均被配置为彼此通信(例如,经由总线,共享存储器或开关)。这些模块中的任何一个或多个可使用一个或多个处理器310来实现(例如,通过配置这种一个或多个处理器以执行针对该模块描述的功能),因此可包括一个或多个处理器310。

  根据一些示例实施例,呈现模块302被配置为在客户端设备(例如,客户端设备102A和客户端设备102B)处生成并使得显示对包括内容的通知和消息的呈现。

  根据一些示例实施例,排序模块304被配置为基于包括经由客户端设备对内容的选择的用户活动来计算对应内容对的使用度量。

  根据一些示例实施例,内容选择模块306被配置为基于由排序模块304进行的排序来选择和策展(例如,通过呈现模块302)将要被呈现的内容集合作为聊天建议。

  根据某些示例实施例,通信模块308被配置为促进消息交换和客户端设备与网络106之间的通信。

  可使用单独的硬件(例如,机器的一个或多个处理器310)或硬件和软件的组合来实现所描述的模块中的任何一个或多个。例如,内容建议系统124中被描述的任何模块可在物理上包括一个或多个处理器310(例如,机器的一个或多个处理器的子集或其之中的一个子集)的布置,该布置被配置为执行本文所述的用于该模块的操作。作为另一示例,内容建议系统124的任何模块可包括软件,硬件或两者,其将一个或多个处理器310(例如,机器的一个或多个处理器之中)的布置配置为执行本文所述的针对该模块的操作。因此,内容建议系统124的不同模块可包括并配置这种处理器310的不同布置或这种处理器310在不同时间点处的单个布置。此外,内容建议系统124的任何两个或更多个模块可被组合成单个模块,并且本文针对单个模块描述的功能可在多个模块之间被细分。此外,根据各种示例实施例,本文描述为在单个机器、数据库、或设备内实现的模块可被分布在多个机器、数据库或设备上。

  图4是示出根据某些示例实施例的用于对聊天建议进行排序的方法400的流程图。方法400的操作可由以上参照图3描述的模块执行。如图4所示,方法400包括一个或多个操作402、404、406和408。

  在操作402处,呈现模块302使得在客户端设备102A处的聊天界面内显示消息,其中,该消息包括第一内容。例如,该消息可由客户端设备102B生成,并且通过网络106发送到客户端设备102A。消息的第一内容包括媒体内容,例如个性化化身,例如表情符号。

  在操作404,通信模块308在客户端设备102A处接收对第二内容的选择,其中,第二内容将被分配给对在客户端设备102A处显示的消息的响应。例如,客户端设备102A的用户可通过从个性化化身的选择中选择或生成个性化化身来起草对消息的响应。

  在操作406,排序模块304响应于从客户端设备102A接收到对第二内容的选择,递增与包括第一内容和第二内容的内容对相关联的使用度量。在一些实施例中,数据库120可包括基于对内容的选择的内容对集合。排序模块304可基于用户对内容的选择来为内容对编索引并将该内容对存储在数据库120内。例如,客户端设备102A的用户可接收包括第一内容(例如,“表情符号A”)的消息,并且在起草响应时,客户端设备102B的用户选择第二内容(例如,“表情符号B”)。响应于用户选择第二内容,排序模块304指示并存储包括第一内容和第二内容的内容对,并递增使用量度,该使用量度定义了在其中“表情符号B”响应于“表情符号A”而发送的次数。在操作408,排序模块304基于对应的使用量度在内容对集合中对内容对进行排序。

  图5是示出根据某些示例实施例的用于呈现聊天建议的方法500的流程图。方法500的操作可由以上参照图3描述的模块来执行。方法500可作为方法400的一个或多个操作的一部分或在其之后执行。如图5所示,方法500包括一个或多个操作502、504和506。

  在操作502,呈现模块302在客户端设备102A的聊天界面内生成并使得显示第二消息(例如,在方法400的操作402中显示的消息之后的消息),其中,第二消息包括诸如方法400中描述的第一内容的内容。

  响应于在客户端设备102A处显示对第二消息的呈现,内容选择模块306基于在第二消息内显示的内容来生成对所建议内容的集合的呈现。对所建议内容的集合的呈现包括在所建议内容的集合中的位置处对第二内容的显示,其中第二内容的位置是基于对第二内容的排序。在操作506,呈现模块302使得在客户端设备102A处的聊天界面的一部分内显示对所建议内容的集合的呈现。

  图6是示出根据某些示例实施例的用于呈现聊天建议的方法600的流程图。方法600的操作可由以上参照图3描述的模块来执行。方法600可作为方法400的一部分来执行(例如,操作之一的前驱或子例程)。如图6所示,方法600包括一个或多个操作602、604、608和610。

  在操作602,呈现模块302使得在客户端设备102A处显示消息,其中,消息包括消息内容,该消息内容包括文本字符串。

  在操作604,响应于在客户端设备102A处显示包括文本字符串的消息,内容选择模块306将文本字符串转换为标签。标签可以是基于文本字符串本身,也可以是基于类别。例如,消息的文本字符串可被显示为“你好”。内容选择模块306可识别与各种问候相对应的标签,其中,该标签与数据库120内的一个或多个媒体内容项相关联。在操作606,内容选择模块306(例如,第一媒体内容)基于文本字符串和标签来识别媒体内容。

  在操作608,响应于基于对包括客户端设备102A处的文本串的第二消息的呈现来识别第一内容,内容选择模块306基于在消息内显示的第一内容来生成对所建议内容集合的呈现。内容选择模块306检索与第一内容相关联的内容对,并基于内容对生成对所建议内容集合的呈现,其中,所建议内容集合的排序顺序是基于与每个内容对相对应的使用量度。

  在操作610,呈现模块302使得在客户端设备102A的聊天界面的一部分内显示对所建议内容集合的呈现。

  图7是示出根据某些示例实施例的用于对将被呈现为聊天建议的聊天内容进行排序的方法的图700。

  如上所述,相对于方法400,排序模块304计算内容对的使用度量,并基于使用度量对内容进行排序。根据一些示例实施例,排序模块304可生成一个或多个矩阵(例如,矩阵702和704),其中,矩阵的每一行(例如,行706和行708)包括内容对的使用度量(即,特定内容对被使用的次数)。在一些实施例中,排序模块304可生成个性化矩阵(例如,矩阵702)以及通用矩阵(例如,矩阵704),其中,个性化矩阵对应于客户端设备102A的特定用户的特定使用度量,而通用矩阵对应于一组用户的使用度量。

  排序模块304基于使用度量来识别最高排序的内容对,并生成排序的索引列表710和712,其中排序的索引列表包括基于诸如内容对标识符714(例如“2500”)的内容对标识符的内容对列表。在一些实施例中,列表中的第一元素(即,内容对标识符)基于使用度量而对应于最高排序对。

  排序模块移除排序的索引列表710和712之间的重复项,并且对排序的索引列表进行交错以生成最终的交错索引列表716,其包括所建议内容集合。呈现模块302基于最终的交错索引列表716来生成对所建议内容集合的呈现。

  图8是根据某些示例实施例的用于显示聊天建议集合802的界面800的图示。如图4的方法400中所述,在界面800中看到的内容被显示在客户端设备102A处。

  呈现模块302可在界面800内显示消息,其中该消息包括第一内容804。如图8所示,第一内容804包括个性化化身,例如表情符号。

  响应于接收到包括第一内容804的消息,呈现模块302生成并使得显示所建议内容集合802,其中,所建议内容集合802是基于第一内容804。

  图9是根据某些示例实施例的用于显示聊天建议集合的界面900的图示。如在图6的方法600中所描述的,呈现模块302可生成并使得显示包括第一内容的消息(例如,消息904),该第一内容可包括文本字符串。

  响应于接收到包括文本字符串的消息904,内容选择模块306将消息904的文本字符串转换为标签,并基于文本字符串和标签来识别媒体内容(例如,第一媒体内容)。

  如在方法600的操作608中所述,响应于基于来自消息904的标签来识别第一内容,内容选择模块306基于与标签相关联的第一内容来生成对所建议内容集合902的呈现。

  软件架构

  图10是示出示例软件体系结构1006的框图,该示例软件体系结构1006可与本文所述的各种硬件体系结构结合使用。图10是软件体系结构的非限制性示例,并且应当理解,可实现许多其他体系结构以促进本文描述的功能。软件架构1006可在诸如图11的机器1100的硬件上执行,除其它外,该硬件还包括处理器1104,存储器1114和I/O组件1118。代表性的硬件层1052被示出,并且可表示例如图10的机器1000。代表性的硬件层1052包括具有相关联的可执行指令1004的处理单元1054。可执行指令1004表示软件体系结构1006的可执行指令,包括本文描述的方法、组件等的实现。硬件层1052还包括存储器和/或存储模块存储器/存储设备1056,其还具有可执行指令1004。硬件层1052还可包括其他硬件1058。

  在图10的示例体系结构中,软件体系结构1006可被概念化为层的堆栈,其中每个层提供特定的功能。例如,软件体系结构1006可包括诸如操作系统1002、库1020、应用1016、和表示层1014的层。在操作上,这些层内的应用1016和/或其他组件可通过软件堆栈来调用应用程序接口(API)API调用1008,并接收响应于API调用1008的响应。所示的层本质上是代表性的,并非所有软件体系结构都具有所有层。例如,某些移动或专用操作系统可能不提供框架/中间件1018,而其他操作系统可提供这种层。其他软件体系结构可包括其他或不同的层。

  操作系统1002可管理硬件资源并提供通用服务。操作系统1002可包括例如内核1022、服务1024、和驱动器1026。内核1022可用作硬件与其他软件层之间的抽象层。例如,内核1022可负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务1024可为其他软件层提供其他公共服务。驱动器1026负责控制或与基础硬件接口连接。例如,取决于硬件配置,驱动器1026包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、驱动器、音频驱动器、电源管理驱动器等。

  库1020提供由应用1016和/或其他组件和/或层使用的公共基础结构。库1020提供允许其他软件组件以比直接与底层操作系统1002功能(例如,内核1022,服务1024和/或驱动器1026)接口连接的方式更容易的方式执行任务的功能。库1020可包括系统库1044(例如,C标准库),其可提供诸如存储器分配功能,字符串操纵功能,数学功能等的功能。此外,库1020可包括API库1046,例如媒体库(例如,支持各种媒体格式(例如MPREG4,H.264,MP3,AAC,AMR,JPG,PNG)的呈现和操作的库)、图形库(例如,可用于在显示器上以图形内容呈现2D和3D的OpenGL框架)、数据库库(例如,可提供各种关系数据库功能的SQLite)、网络库(例如,可提供网络浏览功能的WebKit))等。库1020还可包括各种各样的其他库1048,以向应用1016和其他软件组件/模块提供许多其他API。

  框架/中间件1018(有时也称为中间件)提供可由应用1016和/或其他软件组件/模块使用的更高级别的公共基础结构。例如,框架/中间件1018可提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件1018可提供可由应用1016和/或其他软件组件/模块使用的广泛的其他API,其中一些可以特定于特定操作系统1002或平台。

  应用1016包括内置应用1038和/或第三方应用1040。代表性内置应用1038的示例可包括但不限于联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息传递应用和/或游戏应用。第三方应用1040可包括由除特定平台的卖方以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用,并且可以是在诸如IOSTM、ANDROIDTM、Phone或其他移动操作系统的移动操作系统上运行的移动软件。第三方应用1040可调用由移动操作系统(例如,操作系统1002)提供的API调用1008,以促进本文描述的功能。

  应用1016可使用内置操作系统功能(例如,内核1022、服务1024和/或驱动器1026)、库1020、以及框架/中间件1018来创建用户界面以与系统的用户进行交互。替代地,或者附加地,在一些系统中,可以通过呈现层(例如呈现层1014)与用户进行交互。在这些系统中,应用/组件“逻辑”可以与跟用户进行互动的应用/组件的各个方面分开。

  图11是示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的方法中的任何一个或多个的机器1100的组件的框图。具体地,图11示出了具有计算机系统的示例形式的机器1100的图解表示,在其中可执行用于使机器1100执行本文讨论的任何一种或多种方法的指令1110(例如,软件、程序、应用、小应用、应用程序或其他可执行代码)。这样,指令1110可用于实现本文描述的模块或组件。指令1110将通用的、未编程的机器1100转换为被编程为以所描述的方式执行所描述和示出的功能的特定机器1100。在替代实施例中,机器1100作为独立设备运行,或者可耦接(例如,联网)到其他机器。在联网部署中,机器1100可在服务器-客户端网络环境中以服务器机器或客户端机器的身份运行,或者在对等(或分布式)网络环境中作为对等机器运行。机器1100可包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、网络家电、网络路由器、网络交换机、网桥,或能够依次或以其他方式执行指令1116的任何机器,这些指令指定了机器1100将要采取的动作。此外,尽管仅示出了单个机器1100,但术语“机器”还应被认为包括单独地或共同地执行指令1110以执行本文讨论的方法中的任何一个或多个方法的机器的集合。

  机器1100可包括处理器1104,存储器/存储设备1106和I/O组件1118,其可被配置为例如经由总线1102彼此通信。存储器/存储设备1106可包括存储器1114(诸如主存储器、或其他存储器),以及存储单元1116,二者可被处理器1104诸如经由总线1102访问。存储单元1116和存储器1114存储体现此处描述的方法或功能中的任何一个或多个的指令1110。指令1110还可在由机器1100执行期间全部或部分地驻留在存储器1114内,存储单元1116内,处理器1104中的至少一个处理器内(例如,处理器的高速缓存存储器内),或其任何合适的组合内。因此,存储器1114、存储单元1116和处理器1104的存储器是机器可读介质的示例。

  I/O组件1118可包括各种各样的组件,以接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等。包括在特定机器1100中的特定I/O组件1118将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这种输入机构,而无头服务器机器将可能不包括这种触摸输入设备。应当理解,I/O组件1118可包括在图11中未示出的多个其他组件。仅出于简化下面讨论的目的,根据功能对I/O组件1118进行分组,并且分组绝不是限制性的。在各种示例实施例中,I/O组件1118可包括输出组件1126和输入组件1128。输出组件1126可包括视觉组件(例如显示器,诸如,等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、或阴极射线管(CRT))、听觉组件(例如扬声器)、触觉组件(例如,振动马达,抗性机制)、其他信号发生器等。输入组件1128可包括字母数字输入组件(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘、或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器、或其他指向仪器)、触知输入组件(例如,物理按钮、提供触摸的位置和力或触摸手势的触摸屏,或其他触知输入组件)、音频输入组件(例如,麦克风)等。

  在进一步的示例实施例中,I/O组件1118可包括除各种各样的其他组件外的生物特征组件1130、运动组件1134、环境组件1136或位置组件1138。例如,生物特征组件1130可包括用于检测表达(例如,手部表达、面部表情、声音表达、身体姿势、或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水、或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别、或基于脑电图的识别)等的组件。运动组件1134可包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1136可包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,一个或多个检测背景噪声的麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于为了安全而检测有害气体的浓度或测量大气中的污染物的气体检测传感器)、或可提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件1138可包括位置传感器组件(例如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如,检测可从哪个高度获得该空气压力的高度计或气压计)、取向传感器组件(例如,磁力计)等。

  可使用多种技术来实现通信。I/O组件1118可包括通信组件1140,该通信组件1140可操作以分别经由耦接(coupling)1122和耦接1124将机器1100耦接到网络1132或设备1120。例如,通信组件1140可包括网络接口组件或与网络1132接口连接的其它合适的设备。在进一步的示例中,通信组件1140可包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如低能耗)、组件和经由其它形态提供通信的其他通信组件。设备1120可以是另一机器或各种各样的外围设备(例如,经由通用串行总线(USB)耦接的外围设备)中的任何一个。

  此外,通信组件1140可检测标识符或包括可操作以检测标识符的组件。例如,通信组件1140可包括射频识别(RFID)标签读取器组件、NFC智能标记检测组件、光学读取器组件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、多维条形码(例如快速响应(QR)码、Aztec码、数据矩阵、数字图形、最大码、PDF417、超码、UCC RSS-2D条形码)和其他光学码的光学传感器)、或声学检测组件(例如用于识别所标记的音频信号的麦克风)。另外,可经由通信组件1140来获得各种信息,例如经由互联网协议(IP)地理位置来获得位置、经由信号三角测量来获得位置、经由检测可指示特定位置的NFC信标信号来获得位置等。

  术语表

  在此上下文中,“载波信号”是指能够存储、编码或携带由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种指令的通信。指令可经由网络接口设备使用传输介质并且使用许多公知的传输协议中的任何一种来在网络上发送或接收。

  在此上下文中,“客户端设备”是指与通信网络接口连接以从一个或多个服务器系统或其他客户端设备获取资源的任何机器。客户端设备可以是但不限于:移动电话、台式计算机、便携式计算机、便携式数字助理(PDA)、智能电话、平板电脑、超级本、上网本、便携式计算机、多处理器系统、基于微处理器的或可编程的消费类电子产品、游戏机、机顶盒、或用户可用于访问网络的任何其他通信设备。

  在此上下文中,“通信网络”是指网络的一个或多个部分,其可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网络(PSTN)的一部分、老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络,或两个或更多个此类网络的组合。例如,网络或网络的一部分可包括无线或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一类型的蜂窝或无线耦接。在该示例中,耦接可实现多种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。

  在此上下文中,“短暂消息”是指在时间受限的持续时间内可访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送者设置。或者,访问时间可以是默认设置,也可以是接收者指定的设置。无论设置技术如何,消息都是短暂的。

  在此上下文中,“机器可读介质”是指能够临时或永久存储指令和数据的组件、设备或其他有形介质,并且可包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁性介质、高速缓冲存储器、其他类型的存储设备(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应被理解为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”也应被理解为包括能够存储由机器执行的指令(例如,代码)的任何介质或多种介质的组合,以使得这些指令在被机器的一个或多个处理器执行时使机器执行本文所述的任何一种或多种方法。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。

  在此上下文中,“组件”是指具有由功能或子例程调用、分支点、应用程序接口(API)、或其他用于特定处理或控制功能的分区或模块化的技术定义的边界的设备,物理实体或逻辑。组件可通过它们与其他组件的接口进行组合以执行机器过程。组件可以是被设计为与其他组件一起使用的被封装的功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。组件可构成软件组件(例如,体现在机器可读介质上的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式被配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统、或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或一组处理器)可被软件(例如,应用或应用部分)配置为操作以执行本文所述的某些操作的硬件组件。硬件组件也可机械地、电子地或以其任何合适的组合来实现。例如,硬件组件可包括永久性地配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件组件还可包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件组件可包括由通用处理器或其他可编程处理器执行的软件。一旦通过此类软件进行配置,硬件组件将成为为执行配置的功能而专门定制的特定机器(或机器的特定组件),并且不再是通用处理器。应理解,可出于成本和时间方面的考虑来作出在专用且永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实施硬件组件的决定。因此,短语“硬件组件”(或“硬件实现的组件”)应被理解为包含有形实体,是被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)为以某种方式操作或执行此处所述的某些操作的实体。考虑其中硬件组件被临时配置(例如,编程)的实施例,每个硬件组件不需要在时间的任何实例处被配置或实例化。例如,在硬件组件包括由软件配置为成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间分别被配置为不同的专用处理器(例如,包括不同的硬件组件)。因此,软件相应地配置一个或多个特定处理器,例如,以在一个时间实例上构成特定的硬件组件,并在不同的时间实例上构成不同的硬件组件。硬件组件可向其他硬件组件提供信息,或从其他硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信耦接的。在同时存在多个硬件组件的情况下,通信可以通过在两个或多个硬件组件之间的信号传输(例如,在适当的电路和总线上)来实现。在其中多个硬件组件在不同时间被配置或实例化的实施例中,可以例如通过在多个硬件组件可访问的存储器结构中存储和检索信息来实现这种硬件组件之间的通信。例如,一个硬件组件可执行操作并将该操作的输出存储在其通信耦接到的存储器设备中。然后,另一硬件组件可以在以后的时间访问存储器设备以检索和处理所存储的输出。硬件组件还可发起与输入或输出设备的通信,并且可以在资源(例如,信息的集合)上进行操作。本文描述的示例方法的各种操作可以至少部分地由临时(例如,通过软件)配置或永久配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,这种处理器都可构成处理器实现的组件,该组件操作以执行本文所述的一个或多个操作或功能。如本文所使用的,“处理器实现的组件”是指使用一个或多个处理器实现的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实现,其中一个或多个特定处理器是硬件的示例。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的组件来执行。此外,一个或多个处理器还可操作以支持在“云计算”环境中的相关操作的性能或者作为“软件即服务”(SaaS)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,互联网)和经由一个或多个适当的接口(例如,应用程序接口(API))来访问。某些操作的性能可能会分布在处理器之间,不仅驻留在单个计算机中,而且会部署在多个计算机上。在一些示例实施例中,处理器或处理器实现的组件可位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场中)。在其他示例实施例中,处理器或处理器实现的组件可被分布在多个地理位置上。

  在此上下文中,“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器代码”等)操纵数据值,并产生用于操作机器的相应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑仿真的物理电路)。处理器例如可以是中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)或其任意组合。处理器可进一步是具有两个或更多个可同时执行指令的独立处理器(有时称为“核”)的多核处理器。

  在此上下文中,“时间戳”是指字符或编码信息的序列,其标识何时发生特定事件,例如给出日期和时间,有时精确到几分之一秒。

  在此上下文中,“提升力”是相对于随机选择目标模型所测量的,因为具有增强的响应(相对于总体而言)在预测或分类情况下的目标模型的性能的度量。

  在此上下文中的“音素对齐”,音素是指将一个单词与另一个单词区分开的语音单元。一个音素可能由一系列的闭合、爆破和吸气事件组成;或者,连音可能会从后元音过渡到前元音。因此,不仅可以通过语音信号所包含的音素来描述语音信号,而且可以通过音素的位置来描述语音信号。因此,音素对齐可被描述为波形中音素的“时间对齐”,以便确定语音信号中每个音素的适当顺序和位置。

  在此上下文中,“音频到视觉转换”是指可听语音信号到可见语音的转换,其中可见语音可包括代表可听语音信号的嘴形。

  在此上下文中的“时延神经网络(TDNN)”,TDNN是一种人工神经网络体系结构,其主要目的是处理顺序数据。一个示例是将连续音频转换为用于语音识别的分类音素标签流。

  在此上下文中的“双向长-短期存储器(BLSTM)”是指可在任意时间间隔上记忆值的递归神经网络(RNN)体系结构。随着学习的进行,存储的值不被修改。RNN允许神经元之间的向前和向后连接。给定具有未知大小和事件之间的持续时间的时滞,BLSTM非常适合时间序列的分类、处理和预测。

《内容建议系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)