使用有作用域的搜索和对话接口的控制系统的制作方法

文档序号:17584955发布日期:2019-05-03 21:14阅读:184来源:国知局
使用有作用域的搜索和对话接口的控制系统的制作方法

行业提供用于在与本地设置中的各种设备(诸如用户的家庭或者工作环境中所提供的媒体重放设备)交互中使用的许多控制机构。例如,用户可以建立具有控制设备和一个或多个媒体重放设备(例如,扬声器)的本地网络。在操作中,授权用户可以与控制设备进行交互以选择用于在媒体重放设备上重放的一个或多个媒体项目(例如,歌曲)(例如,通过呼叫可用媒体项目的列表,以及从列表选择一个或多个项目)。虽然以上方法是相对直接的,但是一些用户将其体验为麻烦并且低效的。

技术文献通常描述与上文所描述的机构相比较更复杂的人-机控制接口。但是这些类型的接口对于开发、测试和维护也可能是昂贵并且耗费时间的。并且在开发时,这些接口可能潜在地提供归因于其增加的复杂性的不均匀的性能。



技术实现要素:

本文描述了一种用于以资源高效的方式控制媒体重放设备(和其他种类的设备)同时提供好的用户体验的计算机实现的技术。在一个媒体相关的实现中,该技术使用媒体机器人(bot)经由消息接口组件拦截由用户录入的消息。媒体机器人然后确定消息是否包括指定待由媒体重放设备播放的目标媒体项目(诸如期望歌曲)的选择控制命令。如果这样的命令被检测到,则媒体机器人制定包括消息的输入查询。媒体机器人利用搜索系统将执行特定域搜索的指令向搜索系统发送输入查询。

响应于输入查询,搜索系统生成标识排名第一的媒体项目的查询响应(如果有的话),并且向媒体机器人发送查询响应。搜索系统通过搜索媒体项目的策划媒体特定语料库执行该操作。媒体特定语料库对应于以其他方式可用于搜索系统的宽得多的信息全域的特定搜索域。

在接收到查询响应时,媒体机器人基于查询响应来生成选择命令信息。本地系统使用该选择控制信息来控制媒体重放设备。

根据另一说明性方面,消息接口组件对应于对话接口组件。对话接口组件提供用于由用户组(包括特定用户)中的相应用户使用的协作用户界面呈现的一个或多个实例。用户可以与对话接口组件进行交互来彼此交谈(通过制定用户到用户消息),并且控制重放设备(通过制定用户到机器人消息)。

根据另一说明性方面,搜索系统通过在输入查询上执行预处理、搜索策划媒体特定语料库以标识匹配预处理的输入查询的媒体项目集(如果有的话)、并且将集合中的媒体项目排名以生成排名第一的媒体项目(如果有的话)来进行操作。

根据另一说明性方面,媒体机器人向命令缓冲组件发布选择命令信息。本地系统从命令缓冲组件获取选择命令信息。

根据另一说明性方面,技术允许用户组在有或没有与搜索系统的交互的情况下经由对话接口组件控制本地设置中的任何设备。

借助于搜索系统的使用,技术可以成功地利用预先存在的语言处理机构,从而在不需要开发用于专用在控制媒体重放设备中的定制的一次性语言处理机构的情况下提供增强控制接口。借助于对话接口组件的使用,技术提供用户在他们自己中间协调以控制共享本地设置中的媒体重放设备的有效并且愉快的方式。借助于命令缓冲组件的使用,本地系统可以以安全的方式与外部网络交互。

可以以各种类型的系统、设备、组件、方法、计算机可读存储介质、数据结构、图形用户界面呈现、制品等等表明以上技术。

提供本发明内容以简化形式引入概念的选择;下文在详细描述中进一步描述了这些概念。本发明内容不旨标识所要求保护的主题内容的关键特征或基本特征,其也不旨在被用来限制所要求保护的主题内容的范围。

附图说明

图1示出了一个或多个用户可以使用搜索系统控制媒体重放设备的说明性系统。

图2示出了可以被用来实现图1的系统的计算设备。

图3图示了由图1的系统所提供的说明性协作用户界面呈现。

图4示出了由图1的系统的各种组件执行的操作的说明性流程。

图5示出了作为图1的系统的组件的媒体机器人的一个实现。

图6示出了用于使用在图1的系统中的简档更新组件和自动化项目选择组件的一个实现。

图7示出了表示从图5的媒体机器人的视角的图1的系统的操作的一个方式的过程。

图8示出了表示图1的搜索系统的一个方式操作的过程。

图9示出了表示图6的功能的操作的一个方式的过程。

图10示出了可以被用来实现前述附图中所示的特征的任何方面的说明性计算功能。

相同的附图标记贯穿本公开和附图被用来引用相同组件和特征。系列100附图标记指代图1中最初找到的特征,系列200附图标记指代图2中最初找到的特征,系列300附图标记指代图3中最初找到的特征等。

具体实施方式

本公开被组织如下。章节a描述了用于控制媒体重放设备和其他设备的计算机实现的系统。章节b阐述了解释章节a的系统的操作的说明性方法。并且章节c描述了可以被用来实现章节a和章节b中所描述的特征的任何方面的说明性计算功能。

作为初步内容,附图中的一些附图描述了一个或多个结构组件的上下文中的概念,其还被称为功能、模块、特征、元件等。在一个实现中,附图中所示的各种组件可以由在计算机设备上运行的软件、或其他逻辑硬件(例如fpga设备)等或其任何组合实现。在一种情况下,所图示的将附图中的各种组件分离为不同的单元可以反映实际实现中的对应的不同物理和有形组件的使用。备选地或另外,附图中所图示的任何单个组件可以由多个实际物理组件实现。备选地或另外,附图中的任何两个或更多个分离的组件的描绘可以反映由单个实际物理组件所执行的不同的功能。章节c提供了关于附图中所示的功能的一个说明性物理实现的附加细节。

其他附图以流程图形式描述概念。以这种形式,某些操作被描述为构成以特定次序执行的不同框。这样的实现是说明性且非限制性的。本文所描述的某些框可以被一起分组并且在单个操作中被执行,某些框被分成多个分量框,并且某些框可以以本文所图示的次序不同的次序被执行(包括执行框的并行方式)。在一个实现中,流程图中所示的框可以由在计算机设备上运行的软件、或其他逻辑硬件(例如,fpga设备)等或其任何组合实现。

关于术语,短语“被配置为”涵盖用于执行所标识的操作的各种物理机构和有形机构。这些机构可以被配置为使用例如在计算机设备上运行的软件、或其他逻辑硬件(例如,fpga设备)等或其任何组合来执行操作。

术语“逻辑”涵盖用于执行任务的各种物理机构和有形机构。例如,流程图中所图示的每个操作对应于用于执行该操作的逻辑组件。可以使用例如在计算机设备上运行的软件、或其他逻辑硬件(例如,fpga设备)等或其任何组合来执行操作。当由计算设备实现时,逻辑组件以所实现的无论什么方式表示电气组件(即,计算系统的物理部件)。

本文所描述的存储资源中的任一个或者存储资源的任何组合可以被认为是计算机可读介质。在许多情况下,计算机可读介质表示某种形式的物理实体和有形实体。术语计算机可读介质还涵盖例如经由物理管道和/或空气或其他无线介质等来传送或接收到的传播信号。然而,特定术语“计算机可读存储介质”和“计算机可读存储介质设备”明确地不包括传播信号自身,同时包括所有其他形式的计算机可读介质。

以下解释可以将一个或多个特征标识为“可选的”。该语句类型将不被解释为可以被认为是可选的特征的详尽指示;即,其他特征可以被认为是可选的,尽管未明确地被标识在文本中。进一步地,单个实体的任何描述不旨在排除多个这样的实体的使用;类似地,多个实体的描述不旨在排除单个实体的使用。进一步地,如本文所使用的,“集合”或“子集”指代零个、一个或多个项目的集合。进一步地,虽然描述可以将某些特征解释为实施所标识的功能或实现所标识的机构的备选方式,但是特征还可以以任何组合被组合在一起。最后地,术语“示例性的”或者“说明性的”指代潜在地许多实现中间的一个实现。

a.说明性系统

图1示出了一个或多个用户104可以控制媒体重放设备106的系统102(还被称为系统环境)。如在本章节的结尾处将描述的,系统102还可以被扩展为控制本地设置内的其他设备(诸如照明设备、家庭安全设备等)。然而,为了促进并且简化解释,下面在待控制的设备构成媒体重放设备106的上下文中将主要地描述系统102。

媒体重放设备16呈现本地环境中的媒体项目。例如,媒体重放设备106可以对应于用于播放歌曲和其他音频项目的音乐重放设备、用于播放电影的视频重放设备等或其任何组合。本地环境可以对应于其中用户104消费媒体项目的任何共享设置。例如,本地环境可以对应于其中用户104收听由媒体重放设备106所提供的音乐和/或视频项目的建筑的一个或多个房间和/或室外场地。

用户104经由对话接口组件108与系统102进行交互。在一个实现中,对话接口组件108经由协作用户界面(ui)呈现110的一个或多个实例提供类似聊天的体验。即,每个用户可以经由用户计算设备与协作ui呈现110的分离的实例进行交互。协作ui呈现110的每个实例显示在对话的过程期间由用户104录入的历史消息流。进一步地,在任何给定时间实例处,用户可以经由协作ui呈现110的他或她的实例录入新消息。

由用户104录入的消息经由对话接口组件104落入至少三类消息中。用户在与组中的另一用户通信的主要意图的情况下录入第一类型的消息。例如,第一用户在请求来自其他用户的响应的意图的情况下录入消息“任何人想要听一些音乐吗?”。用户在指示媒体重放设备106播放特定媒体项目(诸如特定歌曲、电影等)的主要意图的情况下录入第二消息的类型。例如,用户可以在指示媒体重放设备106播放由艺术家尼尔·杨最新发行的歌曲的意图的情况下录入消息“播放尼尔·杨的一些新东西”。用户可以在控制媒体重放设备106播放已经被选择或尚未被选择的媒体项目的方式的意图的情况下录入第三类型的消息。例如,用户可以录入消息“将音量调高到8”以指示媒体重放设备106增加其播放媒体项目的音量。

以上消息的类别出于各种原因互不排斥。第一,对话接口组件108展示由用户录入到组中的所有其他用户的消息,即使消息的主要意图是要控制媒体重放设备106,而不是与其他用户通信。因此,被引导到媒体重放设备106的任何消息固有地还将信息传达给其他用户。第二,用户可以故意地创建具有至少两个部分的消息,包括旨在将信息传递到其他用户的第一部分,以及旨在控制媒体重放设备106的第二部分。例如,用户可以录入消息“除非任何人反对,播放来自harvestmoon的一些尼尔·杨的内容”。该消息的第一部分指示媒体重放设备106播放来自艺术家尼尔·杨的特定发行专辑的音乐。该消息的第二部分邀请其他用户反对用户的选择。

更一般地,系统102可以包含用于从至少一个用户接收消息的任何消息接口组件。在图1的实施例中,消息接口组件对应于提供协作ui呈现110的一个或多个实例的对话接口组件108。但是在其他实现中,消息接口组件提供用于在不向还有资格与消息接口组件交互的其他用户展示那些消息的情况下从用户接收消息的输入机构。然而,为了促进并且简化解释,下面在图1的实现的上下文中将描述消息接口组件,其中其对应于对话接口组件108。

媒体机器人112指代计算机自动化代理。在操作中,媒体机器人112拦截由用户录入的每个消息。媒体机器人112然后确定消息是否属于第一类型的消息(其主要地涉及将信息传达给其他用户),或者消息是否属于或者第二或者第三类型的消息(其主要地涉及控制媒体重放设备106)。在前者情况下,媒体机器人112相对于消息不采取动作。在后者情况下,媒体机器人112发起具有控制媒体重放设备106的最终目标的系统102内的过程。相对于后者情况,媒体机器人112还可以经由通知用户104对于媒体重放设备106已经做出或将做出的改变的对话接口组件108向用户104提供反馈;备选地或另外,媒体机器人112可以在澄清用户104意图的意图的情况下从用户104请求附加信息。

换言之,媒体机器人112分析每个消息以确定其是用户到用户消息还是用户到机器人消息。用户到用户消息具有将信息传达给另一用户而不是将指令传达给媒体重放设备106的唯一意图。用户到机器人消息包括具有控制媒体重放设备106的主要意图的至少一部分。相对于用户到机器人消息,媒体机器人112执行确定其是否包含以下各项的进一步的任务:选择控制命令,其中用户指定待由媒体重放设备106播放的目标媒体项目;和/或非选择控制命令,其对应于除选择控制命令之外的任何媒体控制命令。

下面将相对于图5阐述关于媒体机器人112的操作的附加细节。作为该解释的预览,媒体机器人112可以通过检测消息中的触发特征(诸如指示性关键词)在上文所描述的类型的消息中间进行鉴别。例如,媒体机器人112可以确定当消息包含关键词“播放”时用户已经录入包含选择控制命令的该消息。

假定媒体机器人112确定由用户录入的特定消息包含选择控制命令。如果这样的话,则媒体机器人112将消息的实体或者其一部分作为输入查询传递到搜索系统114。搜索系统114生成标识匹配输入查询的零个、一个或多个媒体项目的查询响应,并且然后向媒体机器人112发送查询响应。在接收查询响应时,媒体机器人112基于查询响应来生成选择控制信息。选择控制信息将指令传达给媒体重放设备106以播放查询响应中所标识的(多个)媒体项目。媒体机器人112还可以可选地将机器人生成的消息发送到对话接口组件108,其通知用户104已经被选择的(多个)媒体项目。

在一个实现中,搜索系统114在其将输入查询与媒体项目的策划媒体特定语料库116匹配的情况下是“有作用域的(scoped)”,而不是比属于其他域的结果项目大得多的信息全域118。例如,策划媒体特定语料库116可以属于由特定网络可访问的服务提供的歌曲的集合。例如,策划媒体特定语料库116可以对应于任何播客服务(诸如由瑞典斯德哥尔摩的spotifytechnologys.a.所提供的spotify服务)。相比之下,结果项目的较大的信息全域118可以对应于经由广域网可访问的所有项目(诸如经由网络可访问的所有项目)。

策划媒体特定语料库116在语料库116的提供者应用一个或多个提供者特定规则以管理以下各项的意义上被“策划”:(a)什么种类的项目被存储在语料库116中;以及(b)哪个或哪些格式被用来将项目存储在语料库116中。例如,提供者可以采用指定仅满足特定数字权限管理(dmr)准则的媒体项目被允许被存储在语料库116中的规则。进一步地,提供者可以采用指定所存储的每个媒体项目伴随有良好定义的描述性元数据的规则。该元数据可以传达属于媒体项目的各种属性,诸如:与媒体项目相关联的一个或多个标识符;属于媒体项目的标题;与媒体项目相关联的艺术家;与媒体项目相关联的发行日期、媒体项目的简要描述等等。最后,提供者可以采用指定每个媒体项目的可播放的内容以规定的格式(或多个格式)被存储的规则。

在现有提供者(诸如spotify)的情况下,明确并且高度地一致的媒体特定语料库已经存在。在另一实现中,授权个体的团体可以创建用于系统102的特定用途的定制媒体特定语料库。团体可以采用指定由语料库存储的媒体项目的优选的格式的标准。团体还可以建立用于拒绝不符合优选的格式的新提交的媒体项目的强制执行机构。

在一种情况下,搜索系统114使用由可商购的通用搜索引擎(诸如华盛顿州雷德蒙德的微软公司所提供的bing搜索引擎)所提供的处理资源中的至少一些来实现。在一些情况下,通用搜索引擎最初被设计并且被配置为在较大的信息全域118中所提供的所有候选结果项目上执行域不可知论搜索。然而,在系统102的上下文中,搜索系统114限于将输入查询与仅策划媒体特定语料库116相匹配。

在一个实现中,媒体机器人112可以指示搜索系统114通过将指令连同输入查询提交到该效果来执行有作用域的搜索(而不是正常域不可知的搜索)。例如,媒体机器人112可以提供指定输入查询将相对于与特定统一资源定位符(url)相关联的域而被搜索的指令。例如,媒体机器人112可以传达该指令作为由搜索系统114暴露的应用编程接口(api)中的参数。系统102通过相对于所标识的语料库而不是较大的信息全域执行其搜索操作对指令作出反应。

在另一场景中,假定媒体机器人112拦截包含非选择控制命令的消息。如上所述,非选择控制命令属于控制媒体重放设备106的操作的任何命令,而不是选择特定媒体项目的命令。非限制性地,说明性非选择控制命令对应于增加音量、减小音量、暂停重放、恢复重放、停止重放、在重放内向前移动(例如,通过在重放内快进)、在重放内后退(例如,通过在重放内倒带)等的请求。在检测到非选择控制命令时,在不与搜索系统114交互的情况下,媒体机器人112可以立即地生成与该命令相关联的非选择控制信息。系统102使用非选择控制信息来控制媒体重放设备106。媒体机器人112还可以可选地将机器人生成的消息发送到对话接口组件108,其标识已经(或者将)被发送到媒体重放设备106的控制信息的性质。

总之,媒体机器人112在遭遇消息中的选择控制命令时,生成选择控制信息。该操作包含向搜索系统114发送包含选择控制命令的消息。在不与搜索系统114交互的情况下,媒体机器人112在遭遇消息中的非选择控制命令时生成非选择控制信息。并且当消息既不包含选择控制命令也不包含非选择控制命令时,媒体机器人112没有生成控制信息。

命令缓冲组件120从媒体机器人112接收控制信息的实例并且将那些实例存储在数据存储库122中。更具体地,假定系统102将特定账户id分配给特定用户组104。命令缓冲组件120可以将由用户104创建的控制信息的所有实例存储在与该账户id相关联的数据存储库122内的特定存储空间(例如,特定文件)中。命令缓冲组件120可以将与另一用户组(未示出)相关联的控制信息的实例存储在与另一账户id相关联的数据存储库122内的另一存储空间中。

命令缓冲组件120可以使用任何安全机构(密码保护机构、加密机构等)确保被存储在数据存储库122中的信息隐私。实体可以仅在指定有效账户id并且提交适当的凭证(例如,与指定账户id相关联的有效密码和/或(多个)加密密钥)之后从数据存储库122检索控制信息。

在一个实现中,并且如在(下面的)图2中更充分地描述的,系统102的组件中的至少一些组件由一个或多个远程计算系统实现,用户通过该一个或多个远程计算系统使用相应用户计算设备进行交互。相比之下,本地系统124对应于其中媒体项目经由媒体重放设备106被呈现给用户104的本地环境中所提供的任何设备。例如,本地系统124可以对应于建筑的一个或多个房间内提供的所有设备。用户104可以对应于一起工作作为该建筑中的团队的个体组。或者用户104可以对应于在该建筑中一起工作的家庭成员,等等。

本地系统124可以包括命令检索组件126,其通过计算机网络128从命令缓冲组件120获取控制信息的实例。例如,在第一实现中,命令检索组件126可以周期性地询问命令缓冲组件120(例如,每隔3秒)。在每次询问时,命令检索组件126标识账户id以及与该账户id相关联的适当的凭证。作为响应,命令缓冲组件120验证查询,并且然后确定数据存储库122是否包括尚未被下载到本地系统124的控制信息的任何新实例。在标识命令信息的新实例时,命令缓冲组件120将新实例转发给命令检索组件126。

在第二实现中,命令缓冲组件120可以主动地通知命令检索组件126何时控制信息的任何新实例已经由媒体机器人112接收。命令检索组件126可以然后以上文指定的方式访问控制信息的新实例。

第一实现和第二实现二者包含响应于由本地系统124造成的轮询请求而接收新实例,其帮助帮助减少外部网络环境中的恶意代理可以获得对本地系统124的资源的未经授权的访问的风险。但是在第三实现中,在不首先向命令检索组件126通知那些新实例的到达的情况下,命令缓冲组件120可以自动地将控制信息的新实例转发给命令检索组件126。

媒体控制器130与媒体重放设备106交互以执行控制信息的每个实例。在一些实现中,媒体控制器130表示与媒体重放设备106分离的组件。在其他实现中,媒体控制器130表示被集成到媒体重放设备106中的组件。本地网络132将本地系统124的所有组件耦合在一起。例如,本地网络132可以包括路由器,其将媒体控制器130耦合到与媒体重放设备106相关联的每个重放设备。在一个实现中,本地网络132使用通用即插即用(upnp)协议来协调其组件中间的交互,并且处理来自本地网络132的组件的添加和移除。

在第一场景中,假定已经接收到选择控制信息的新实例。选择控制信息指定至少一个媒体项目的项目id。媒体控制器130与所标识的(多个)媒体项目的(多个)源建立连接,并且然后指示媒体重放设备106播放(多个)媒体项目。例如,在一个实现中,媒体控制器130可以与关联于策划媒体特定语料库116的远程计算系统建立连接。媒体控制器130可以然后请求远程计算系统使与指定的(多个)项目id相关联的所请求的(多个)媒体项目流传输到本地系统124,以用于由媒体重放设备106消耗。在另一实现中,媒体控制器130可以与(多个)媒体项目的本地源134(诸如存储(多个)媒体项目的本地存储设备)建立连接。媒体控制器130可以然后请求媒体重放设备106播放从所指定的本地源134所获得的(多个)媒体项目。

媒体重放设备106自身可以包括音乐重放设备(例如,对应于一个或多个扬声器)、视频重放设备(例如,对应于一个或多个视频呈现设备)等的任何组合。为了引用仅一个示例,至少一个重放设备可以包括由加利福尼亚州圣巴巴拉的sonos股份有限公司提供的扬声器设备。

现在更详细地参考搜索系统114,搜索系统114可以包括其用来处理任何输入查询而不管输入查询的起源的各种处理组件。系统102利用这些预先存在的处理组件执行拦截包含选择控制命令的、由用户提交的消息的特定任务。

首先,搜索系统114包括用于爬行较大的信息全域118的资源(例如,对应于由整个网络所提供的资源)的索引更新组件136。在这样做时,索引更新组件136固有地爬行策划媒体特定语料库116中所提供的资源。索引更新组件136可以使用任何策略爬行网络。例如,索引更新组件136可以使用爬行器的集合有方法地调查网络的链接资源。索引更新组件136可以然后从其遭遇的任何新(或者更新的)资源提取内容。在一个实现中,搜索系统114可以在周期性基础上执行其爬行操作。

索引更新组件136然后更新索引数据存储库138中所提供的索引信息。索引信息利用与那些网络资源相关联的统一资源定位符(url)映射网络资源中所发现的术语。索引信息提供稍后标识包含输入查询中所标识的术语的网络资源的方式。在一种情况下,索引更新组件136创建常规反向索引。

在操作的实时阶段中,接口组件(未示出)从实际用户或者媒体机器人112接收新输入查询。在媒体机器人112的情况下,输入查询包含由用户录入的消息,其包含选择控制命令,诸如消息“我想要播放neildiamond的流行歌曲”。接口组件还接收输入查询将针对媒体特定语料库116而不是较大的信息全域118而被搜索的指令。

查询预处理组件140在输入查询上执行预处理以生成经预处理的输入查询。预处理可以包括操作的任何组合,包括但不限于:令牌化、解析分析、拼写校正、词干提取、同义扩展、停用词移除、命名实体识别、语义分析、术语加权等。作为一般目标,查询预处理组件140将信息添加到输入查询(和/或从输入查询移除信息),其允许搜索系统114中的下游组件将其更高效地处理。

令牌化需要将输入查询分解为其构成部分(例如,其构成词)。在一种情况下,查询预处理组件140通过将输入查询分解为由空白字符并且由输入查询字符串的开始和结束标定的部分。

解析分析需要将描述标签分配到查询的每个部分。查询预处理组件140可以使用隐藏马尔可夫模型、条件随机场模型或者任何其他统计技术来执行解析。

拼写校正需要校正输入查询中的术语的拼写。查询预处理组件140可以通过确定输入术语是否存在于词典内来执行拼写校正。如果术语不存在,则查询预处理组件140可以标识最接近于输入术语的词典中的词,如基于词相似度的任何度量(例如,编辑距离)所评估的。查询预处理组件140还可以考虑选择术语的正确拼写的词频信息(例如,通过与不流行的词候选相比较更有利地加权流行词候选)。

词干提取分析需要找到输入查询中所指定的每个词的原形。查询预处理组件140可以使用任何策略执行词干提取分析(诸如通过使用查找表将输入术语映射到其规范化词干提取副本(counterpart))。或者查询预处理组件140可以应用后缀剥离规则的集合以生成词干提取副本等。

同义扩展需要标识输入查询中的术语的同义词(如果有的话)并且将这些同义词添加到输入查询。查询预处理组件140可以使用将输入术语映射到其语义等效术语的同义词词典来执行同义扩展。

停用词移除需要移除构成信息噪声的输入查询中的术语。查询预处理组件140可以通过移除存在于已建立的停用词列表中的输入查询中的任何术语来执行停用词移除。

命名实体识别需要标识输入查询的部分(如果有的话),其标识命名实体。命名实体进而指代常常与专有名词相关联的特定人、组织、地点、事件等。查询预处理组件140可以使用包含已建立的命名实体的查找词典和/或通过使用机器训练的统计模型等来标识输入查询中的命名实体。

语义分析需要更一般地解释输入查询中的术语和/或输入查询整体上的含义。查询预处理组件140可以以任何方式(例如,通过使用机器训练的深度学习神经网络)执行语义分析。深度学习神经网络可以将输入查询(或其一部分)的编码版本映射为抽象语义空间中的向量。向量传达关于输入查询的含义的信息。

加权分析需要将权重分配给输入查询中的个体术语。查询预处理组件140可以基于各种因素(例如,基于术语在文档的语料库中发生的频率,基于术语在先前地遭遇的搜索术语中出现的频率,基于输入查询中的术语的位置等等)将权重分配给查询术语。

上文概述的查询处理操作通过示例而非限制被引用。其他实现可以应用上文未提到的一个或多个附加的查询处理操作,和/或可以省略上文所提到的一个或多个查询处理操作。

查找组件142找到匹配从策划媒体特定语料库116精选的预处理的输入查询的媒体项目集。例如,在一个表现形式中,查找组件142找到包含例如与歌曲相关联的元数据内的预处理的输入查询中的所有术语的每个媒体项目。查找组件142使用数据存储库138中的索引信息找到匹配媒体项目。但是查找组件142仅依赖于与策划媒体特定语料库116有关的数据存储库138中的索引信息的该部分。

为了促进并且简化解释,此处呈现的示例对应于其中匹配媒体项目对应于个体歌曲、电影等的情况。但是匹配媒体项目还可以指代媒体项目的集合(诸如歌曲列表)。例如,搜索系统114可以当用户录入命令“播放尼尔·杨的最佳热门歌曲”时将播放列表标识为候选匹配项目。

排名组件114以匹配输入查询的可能性的次序对媒体项目集中所标识的媒体项目进行排名。排名组件114可以使用任何算法执行该方法。在一种情况下,排名组件144使用机器训练的统计模型生成用于每个候选媒体项目的置信度得分。排名组件144然后挑选具有(多个)最高置信度得分的(多个)候选媒体项目。机器训练的统计模型通过接收用于每个候选媒体项目的描述特征值集进行操作。特征值描述预处理的输入查询和候选媒体项目并且可选地其他上下文信息。机器训练的统计模型然后应用其机器训练的权重值以将特征值映射为得分。

在一个特定实现中,机器训练模型可以使用深度学习神经网络模型。该模型将预处理的输入查询映射到抽象语义空间中的第一向量中,并且然后将候选媒体项目映射到抽象语义空间中的第二向量中(其中第二映射操作可以备选地以离线方式被事先执行)。模型然后通过确定语义空间中的两个向量之间的距离来确定输入查询与候选媒体项目之间的相似度。模型可以使用任何技术来评估距离,诸如余弦相似性度量。

总体上,系统102提供各种潜在益处。借助于以上文所描述的有作用域的方式的搜索系统114的使用,系统102可以成功地利用预先存在的语言处理机构,从而提供增强控制接口,同时避免开发定制一次性语言处理机构的需要。借助于对话接口组件108的使用,系统102提供用户可以在他们自己中间协调以控制共享本地设置中的媒体重放设备106的有效并且愉快的方式。

图2示出了可以被用来实现图1的系统102的计算设备202。计算设备202包括多个用户计算设备204、一个或多个远程计算系统206和本地系统124。本地系统124进而包括结合图1的解释的、如上文所描述的各种组件。计算机网络128实现用户计算设备204、(多个)远程计算系统206和本地系统124之间的交互。进一步地,本地系统124可以经由防火墙208与计算设备202的其他部分交互。例如,参考图1,命令检索组件126可以经由防火墙208与命令缓冲组件120交互。

图2中所示的任何用户计算设备可以对应于任何类型的计算设备,诸如台式或者膝上型个人计算设备、任何类型的手持式计算设备(例如,智能电话、平板型设备等)、机顶盒、游戏控制台、可穿戴计算设备、智能电器等。图2中所示的任何远程计算系统可以由一个或多个服务器计算设备和其他计算设备(例如,路由器等)实现。计算机网络128可以对应于广域网(诸如因特网)、局域网、一个或多个点对点链路或其任何组合。

不同的实现可以以不用的相应的方式将图1中所示的组件授权给图2的计算设备202。图2通过示出任何用户计算设备、任何远程计算系统和本地系统124可以实现图1中所示的系统功能的任何部分而完成该一般点。例如,在一些实现中,对话接口组件108可以对应于协作消息应用。该应用可以在每个用户计算设备上和/或在远程计算系统上运行。同样地,媒体机器人112可以对应于在每个用户计算设备上和/或在远程计算系统上运行的计算机程序。协作消息应用可以包括将由用户录入的消息传递到媒体机器人112的后端服务。

命令缓冲组件120可以对应于由另一远程计算系统所提供的存储服务。媒体机器人112可以经由计算机网络128将控制信息的实例转发给命令缓冲组件120。本地系统124可以通过防火墙208经由计算机网络128从命令缓冲组件120下载控制信息的实例。

搜索系统114可以对应于又一远程计算系统。媒体机器人112可以经由计算机网络128与搜索系统114交互。如上文所描述的,在一个实现中,搜索系统114使用通用搜索引擎的资源,其基于来自媒体机器人112的指令而被配置为在策划媒体特定语料库116上执行其搜索。

在其他实现中,图1中所示的两个或两个以上组件可以由单个设备或者远程计算系统实现。例如,相同远程计算系统可以托管媒体机器人112和命令缓冲组件120。

从管理视角,不同的实体可以管理图1的系统102的不同的相应组件。例如,第一服务提供者可以托管对话接口组件108,而第二服务提供者可以托管媒体机器人112。在其他情况下,单个实体可以管理图1的系统102的两个或两个以上组件。例如,相同实体可以提供对话接口组件108和媒体机器人112二者。

图3示出了由图1的对话接口组件108所提供的协作用户界面(ui)呈现110的实例。注意,以图示而非限制的精神呈现图3中所示的特定协作ui呈现110。例如,其他实现可以将其他功能特征添加到图3中所示的ui特征集。备选地或另外,其他实现可以省略

图3中所示的一个或多个功能ui特征。备选地或另外,其他实现可以使图3中所示的ui特征的外观和组织变化。备选地或另外,与图3中所示的图形控制机构相比较,其他实现可以使用不同的用于从用户接收输入的图形控制机构。最后,其他实现可以与视觉图形用户界面呈现相比较使用其他模式与用户交互;例如,其他实现可以使用语音识别技术从用户接收输入,并且以口头形式向用户提供输出。

假定特定用户tom经由第一用户计算设备与协作ui呈现110进行交互。其他用户(例如,用户john、jean和sally)可以经由其他用户计算设备与协作ui呈现110的其他实例进行交互。备选地或另外,两个或两个以上用户可以经由相同用户计算设备与协作ui呈现110的相同实例进行交互。

第一部分302邀请用户tom在所提供的频道集中间选择特定频道。每个频道对应于讨论的特定焦点。焦点可以相对于任何(多个)属性(诸如对话的主题和/或被包括为对话的参与者的个体)被定义。进一步地,不同的频道可以提供与不同的相应媒体机器人的后端集成。

例如,第一频道(频道a)可以允许第一组用户控制共享环境中的音乐重放设备。第一频道可以提供与第一类型的媒体机器人的后端集成。第二频道(频道b)可以允许第二组用户控制另一共享环境中的视频重放设备。第二频道可以提供与第二类型的媒体机器人的后端集成。假定用户(tom)已经选择第一频道(频道a),因为该用户希望控制他与john、jean和sally共享的工作设置内的音乐重放设备。

在一种情况下,每个频道与限制的受限参与者组相关联。除非首先由对话的当前参与者之一邀请,否则其他用户不能参加与该频道相关联的对话。在另一情况下,每个频道与开放式参与者组相关联。在该情况下,存在于共享环境内的任何用户可能有助于由频道托管的对话。在图3的示例中,假定用户(tom)选择频道a。进一步假定频道a包含至少四个参与者tom、john、jean和sally。

第二部分304显示四个用户中间的正在进行的对话。例如,在消息306中,tom首先询问他的同事目前他们是否希望听音乐。该消息306对应于用户到用户消息,因为其不包含被引导到媒体重放设备106的任何命令。在从他人接收到输入之后,tom录入读出“播放来自洛基电影的生活在美国怎么样”的另一消息308。该消息308对应于用户到机器人消息,因为用户正在指示媒体重放设备106播放特定歌曲。媒体机器人112确定用户已经经由消息308录入选择控制命令,因为用户已经键入触发关键词“播放”。

作为响应,媒体机器人112将消息308连同执行有作用域的媒体特定搜索的指令一起作为输入查询提交到搜索系统114。媒体机器人112响应于输入查询,接收标识排名第一的歌曲的查询响应。媒体机器人112然后制定描述用于由本地系统124消耗的排名第一的歌曲的选择控制信息。进一步地,在消息310中,媒体机器人112显示关于排名第一的歌曲的描述信息。消息310允许用户验证媒体机器人112已经正确地解释tom的消息。

接下来,假定用户tom制定读出“将音量增加到8”的另一消息312。媒体机器人112将该消息312解释为非选择控制命令(例如,由于消息中的“音量”和/或“增加”的存在)。作为响应,媒体机器人112在不与搜索系统114交互的情况下直接地制定非选择控制信息。

在后续消息中,其他用户对tom的媒体选择作出反应,例如,通过选择附加媒体项目、控制音乐重放的音量、控制音乐重放的状态等等。在做出这些选择时,用户还正彼此通信。

总体上,对话接口组件108提供控制共享设备的有效并且愉快的方式。特别地,第一部分302通知每个用户由他人做出的控制相关动作、阐明谁做出动作并且为何做出动作。这允许用户以适当的方式对控制相关动作作出反应,并且关于未来控制相关动作更有效地达成一致。

例如,假定第一用户选择第二用户不喜欢的歌曲。在没有对话接口组件108的情况下,第二用户将需要手动地检查他或她的同事理解谁做出歌曲选择,并且测量其歌曲选择中的用户的“投资”。第二用户将然后需要手动地咨询他或者同事挑选新歌曲。第二用户将然后需要分离地与控制设备交互以选择新歌曲。这样的手动操作是潜在地麻烦、耗费时间并且不精确的。其还潜在地是组内的相互刺激的源。

虽然未示出,但是可以存在其中搜索系统114不能利用期望的置信度来标识任何媒体项目的场合。例如,排名组件114可以将置信度得分分配给每个候选项目。搜索系统114可以据说当排名第一的媒体项目具有低于规定阈值的置信度得分时生成不确定的结果。在这种情况下,媒体机器人112可以生成邀请用户改述他的选择的消息。或者媒体机器人112可以将排名第一的媒体项目呈现给用户,并且询问用户确认该媒体项目是否是正由用户寻找的项目。

可选的第三部分314示出已经并且将存在于媒体重放设备106上的媒体项目的队列。第三部分指示特定歌曲316当前被选择用于重放,但是重放目前被暂停。

可选的第四部分318可以提供允许每个用户手动地控制媒体重放设备106的控制机构(未特别地示出在图3中)。例如,第四部分318可以提供允许用户选择特定歌曲、改变歌曲播放的音量、暂停歌曲、停止歌曲等的控制机构。

图4示出了由图1的系统102的各种组件执行的操作的说明性流程。操作的流程由图3中所示的消息308和消息312的用户的输入触发。

在操作(1)中,对话接口组件108接收消息“播放来自洛基电影的生活在美国怎么样”。在操作(2)中,媒体机器人112检测到用户已经调用选择控制命令(例如,借助于消息包含词“播放”的事实)。在操作(3)中,媒体机器人112发送输入查询,其包括由用户录入的消息。

在操作(4)中,搜索系统114基于输入查询执行搜索以生成查询响应。查询响应标识最可能地匹配由用户寻找的媒体项目的歌曲。在操作(5)中,搜索系统114向媒体机器人112发送查询响应。

在操作(6)中,媒体机器人112接收查询响应并且可选地将机器人消息呈现给对话接口组件108。机器人消息通知用户已经由搜索系统114标识的歌曲。在操作(7)中,对话接口组件108将机器人消息显示给用户(以及所有其他用户)。在操作(8)中,媒体机器人112基于查询响应来制定选择命令信息并且将选择命令信息的该实例发布到命令缓冲组件120。

在操作(9)中,本地系统124从命令缓冲组件120检索选择控制信息。在操作(10)中,本地系统124播放由媒体重放设备106上的选择控制信息所标识的媒体项目。

在操作(11)中,对话接口组件108从用户接收另一消息,这次读出“将音量增加到8”。在操作(12)中,媒体机器人112拦截消息,并且检测到用户已经录入非选择控制命令(例如,借助于消息包含词“音量”和/或“增加”的事实)。在操作(13)中,媒体机器人112制定机器人消息,其通知用户其消息的解释,并且其旨在以对应的方式控制媒体重放设备106。进一步地,媒体机器人112生成非选择控制信息并且将该信息发布到命令缓冲组件120。在操作(14)中,对话接口组件108呈现媒体机器人的消息。在操作(15)中,本地系统124从命令缓冲组件120检索非选择控制信息。在操作(16)中,本地系统124调节媒体重放设备106的音量,如由非选择命令信息所指示的。

虽然未示出,但是考虑其中单个消息包括选择控制命令和非选择控制命令二者的场景,例如,如当用户输入消息“以音量级5播放尼尔·杨的黄金之心”。媒体机器人112将检测到消息包含选择控制命令和非选择控制命令二者。作为响应,媒体机器人112将执行图4中所描述的两种类型的控制操作,例如,通过将消息作为输入查询提交到搜索系统114,并且基于消息制定非选择控制信息。除非存在包括其标题中的类似短语的尼尔·杨的歌曲,否则搜索系统114将可能地固有地减低结尾短语“以音量级5”。类似地,媒体机器人114可以被配置为忽视不直接地与控制媒体重放设备106的音量的指令有关的消息的内容(诸如“播放尼尔·杨的黄金之心”)。

图5示出了媒体机器人112的一个实现。消息接收组件502拦截由用户向对话接口组件108提供的消息。消息接收组件502依赖于对话接口组件108与媒体机器人112之间的后端频道。

命令提取组件504确定消息是否包括选择控制命令或者非选择控制命令或其组合。命令提取组件504可以通过确定消息是否包含与选择控制命令相关联的一个或多个规定的关键词(诸如“播放”、“显示”等)或者与非选择控制命令相关联的一个或多个规定的关键词(诸如“增加”、“减小”、“音量”、“暂停”、“停止”、“前进”、“倒带”等)。对于用户到用户消息而言,命令提取组件504将确定其不包含控制命令。在该情况下,媒体机器人112将不在消息上执行进一步的处理。

备选地或另外,命令提取组件504可以应用语言分析来确定消息的意图(例如,通过使用机器学习的统计模型解释消息的意图)。

备选地或另外,命令提取组件504可以通过确定用户的消息是否包括对机器人的显式引用来确定用户是否已经明确地调用媒体机器人112的服务。例如,用户可以创建消息“机器人,播放尼尔·戴蒙德”或者“机器人,将音量增加到8”等。

结果处理组件506生成对应于选择控制信息和/或非选择控制信息的控制信息。结果处理组件506然后将控制信息发布到命令缓冲组件120。结果处理组件506还可以生成证实机器人消息,其通知用户将(或者已经)采取什么控制动作。

结果处理组件506可以通过从查询响应提取排名第一的媒体项目的项目id来生成选择控制信息。结果处理组件506还可以提供播放与所标识的项目id相关联的媒体项目的指令。

图6示出了用于使用在图1的系统102中的简档更新组件602和自动化项目选择组件604的一个实现。简档更新组件602生成针对与系统102交互的每个用户的用户简档、以及针对与系统102交互的每个组的用户简档。总体上,简档更新组件602生成多个用户简档606和多个组简档608。

每个用户简档可以标识由特定个体用户做出的在前媒体选择和/或由该用户做出的其他控制选择。每个组简档可以标识由特定用户组做出的在前媒体选择和/或由该用户组做出的其他控制选择。简档更新组件602还可以存储用于每个这样的选择的元数据。元数据描述了做出每个选择的上下文环境。例如,简档可以标识用户选择特定一天、所标识的时间等上的媒体项目。

自动化项目选择组件604基于用户简档606和/或组简档608自动地选择媒体项目。例如,假定特定用户组当前正与当前上下文中的系统102交互。自动化项目选择组件604可以首先生成描述当前上下文情况(诸如一周的当前一天和一天的当前时间和/或任何其他(多个)环境属性)的元数据。自动化项目选择组件604可以然后咨询组的组简档以标识由相同上下文情况中的过去的该用户组做出的选择。自动化项目选择组件604可以然后标识与先前的选择类似的至少一个媒体项目。

自动化项目选择组件604可以以不同的方式做出以上相似性确定。在一个这样的方法中,自动化项目选择组件604可以使用深度学习神经网络将在前媒体选择映射到抽象语义空间中的相应向量。向量可以定义语义空间的特定区域内的集群。自动化项目选择组件604可以然后选择映射到由向量的集群定义的抽象语义空间的相同区域的媒体项目。在该方法的变型中,简档更新组件602可以生成抽象语义向量的集群作为离线过程,并且包括那些向量作为组简档的一部分。

在另一方法中,自动化项目选择组件604可以利用点击日志找到类似的(多个)媒体项目。点击日志标识其中用户选择类似搜索上下文中的两个或两个以上媒体项目的每个场合(例如,响应于提交相同输入查询、或者在相同搜索会话内等)。自动化项目选择组件604可以然后将用户组的在前媒体选择视为锚选择。其可以然后使用点击日志找到被链接到锚点选择的附加媒体选择。自动化项目选择组件604可以然后选择附加媒体项目中的一个或多个以呈现给该组。在该方法的变型中,简档更新组件602可以将附加媒体选择标识为离线过程的一部分。

在又一方法中,自动化项目选择组件604可以从组用户已经于在前场合先前地选择的媒体项目中间随机地选择。自动化项目选择组件604可以然后重放那些媒体项目。自动化项目选择组件604的其他实现也是可能的。

在一个实现中,搜索系统144实现简档更新组件602和自动化项目选择组件604二者。在另一实现中,媒体机器人112实现至少简档更新组件602,并且搜索系统114实现自动化项目选择组件604。在该后者情况下,媒体机器人112将简档信息传递到搜索系统114,其允许搜索系统114基于简档信息而执行其自动化选择。

每个用户组可以添加确定何时自动化项目选择组件604将自动地选择媒体项目的一个或多个规则。在一种情况下,用户组可以提供指定自动化项目选择组件604将在指定的时间跨度期间(例如,工作日下午)自动地生成媒体项目的第一规则。第二规则可以指定(经由对话接口组件108)由用户明确地选择的任何媒体项目将覆盖由自动化项目选择组件604选择的媒体项目;这意味着自动化项目选择组件604将仅在缺少由用户造成的明确选择的情况下选择媒体项目。此外,系统102将允许任何用户在任何时间禁用自动化项目选择组件604。

作为结束话题,上面在媒体重放设备106的控制的上下文中已经描述了系统102。但是,系统102还可以被应用于控制共享本地设置中的其他设备(诸如照明设备、家庭安全设备等)。

考虑将系统102应用到家庭安全系统的控制。作为初步操作,授权个体的一些个体或者团体可以准备属于安全域的可搜索项目的策划语料库(如果尚未被创建)。每个这样的文档对比策划媒体特定语料库116中的媒体项目的格式。例如,取代提供描述歌曲的元数据,安全相关文档可以提供描述特定安全情况的元数据。一个这样的安全情况可以包括参数值{车库门开启,家中不存在居住者}。并且取代提供描述特定歌曲的标识符,安全文档可以提供与待采取的特定动作相关联的标识符。例如,在以上安全情况中,指定的动作可能需要生成安全警报。实质上,因此,每个这样的创建的文档描述管理何时特定安全相关动作将被执行的规则。

为了确保由个体创建的文档中的一致性,授权个体的团体可以建立并且公布描述文档的优选的格式的规则。团体还可以使用自动化和/或半自动化强制实施机构监测被供应到语料库以确保其符合优选的格式的新文档。强制实施机构通过将每个提交文档与描述优选的格式的模板相比较进行操作。强制实施机构可以通知试图提交不一致文档的个体,并且邀请个体以正确的格式重新提交文档。在该实现中,语料库构成规则的策划市场。

在实时应用阶段中,至少一个用户可以将消息录入消息接口组件中。安全机器人可以确定消息是否包含触发特征,其指示用户已经做出安全控制命令,如当用户的消息读出“tom的汽车库门打开并且他在度假。评估安全。”此处,术语“评估安全”可以构成安全机器人推断用户正要求系统102标识待执行的适当的安全动作并且然后执行安全动作的关键术语。换言之,用户的消息可以据说包括选择控制命令,与上文所描述的媒体相关上下文中的“播放”命令类似。

安全机器人可以然后将用户的消息转发给搜索系统114。搜索系统114可以然后在安全文档的语料库上执行域特定搜索,以标识最接近地匹配输入查询的文档。安全机器人将接收由搜索系统114所标识的查询响应。该查询响应将包含描述采取的优选动作的id(如果有的话)。机器人将然后基于查询响应来生成安全控制信息。安全系统可以消耗该安全控制信息并且采取适当的动作,例如通过自动地关闭汽车库门,或者通过向tom发送警报以通知他潜在威胁。

在另一场景中,安全机器人可以确定当用户在以规定的方式直接地控制安全系统的意图的情况下录入消息时,用户已经做出非选择命令。例如,安全机器人可以确定当用户输入消息“锁定前门”时,用户已经做出非选择命令。

在另一变型中,系统102可以结合机器人112使用上文所描述的对话接口组件108控制任何类型的本地设备(例如,照明设备),但是不与搜索系统114交互。换言之,机器人112可以处理非选择控制命令,而非包含与搜索系统114的交互的选择控制命令。(注意,机器人在该实现中被简单地称为“机器人”而不是“媒体机器人”,因为这不需要服务媒体相关目的。)

更具体地,在以上变型中,对话接口组件108使用上文所描述的相同类型的协作ui呈现110从用户组104内的特定用户接收消息。该消息可以包括控制本地设备的控制命令,如当用户写入“将光下调到暗淡级别”的时候。通过写入该消息,特定用户还固有地与组中的其他用户通信,其还具有对协作ui呈现110的同时访问,并且可以看到特定用户的消息。在另一情况下,特定用户在控制本地设备时可以更直接地与其他用户进行交互,如当用户写入“除非任何人反对,我正将光下调到暗淡。”在其他情况下,特定用户可以提供单独地被引导到其他用户并且不包括任何控制命令的用户到用户消息,如当用户写入“任何人可以看到其在该光级处做什么?”的时候。在一个实现中,机器人112可以确定当消息包括一个或多个规定的关键术语时,用户已经做出控制命令。

机器人112当其检测到用户的消息包括控制命令时将控制信息输出到命令缓冲组件120。机器人112在不与搜索系统114交互的情况下执行该动作。当机器人112确定用户的消息不包括控制命令时,机器人112在用户的消息上不采取动作。

b.图示性过程

图7至图9示出了以流程图形式解释章节a的系统102的操作的过程。由于在章节a中已经描述了系统102的操作下面的原理,因而在本章节中将以概要方式解决某些操作。如在具体实施方式的前言部分中所指出的,每个流程图被表达为以特定次序执行的一系列操作。但是,这些操作的次序仅是代表性的,并且可以以任何方式变化。

图7示出了由用于控制任何类型的设备的一个或多个计算设备实现的过程,但是下文在控制媒体重放设备106的上下文中描述了过程702。从媒体机器人112的视角,还描述了过程702。在框704中,媒体机器人112从特定用户交互的消息接口组件接收由特定用户所提供的消息。例如,消息接口组件可以对应于图1中所示的对话接口组件108。在框706中,媒体机器人112确定消息是否包括:选择控制命令,其中特定用户指定待由重放设备播放的目标媒体项目;和/或非选择控制命令,其对应于除选择控制命令之外的任何媒体控制命令。首先假定消息包括选择控制评论。

在框708中,媒体机器人112将消息连同指示搜索系统114执行域特定搜索的信息一起作为输入查询发送到搜索系统114。在框710中,媒体机器人112从搜索系统114接收查询响应,其包含排名第一的媒体项目(如果有的话)。在框712中,媒体机器人112将描述排名第一的媒体项目的选择控制信息输出到用于使用在控制媒体重放设备106中的命令缓冲组件120。

备选地,假定由特定用户所提供的消息被确定为包含非选择控制命令。如果这样的话,在框714中,在不制定用于由搜索系统114处理的输入查询的情况下,媒体机器人112将非选择控制命令输出到描述非选择控制命令的命令缓冲组件120。

备选地,假定由特定用户所提供的消息既不包含选择控制命令也不包含非选择控制命令。如果这样的话,在框716中,媒体机器人112不向命令缓冲组件120提供控制信息。

在其他情况下,过程702被配置为仅处理非选择控制命令(以及不包括控制命令的用户到用户消息),而非选择控制命令。在该情况下,过程702省略与关联于框708和框710的搜索系统114的交互。

图8示出了在连同执行域特定搜索的指令一起从媒体机器人112接收到输入查询时由搜索系统114所执行的过程802。在框804中,搜索系统114在输入查询上执行预处理以提供预处理的输入查询。在框806中,搜索系统114标识媒体项目集(如果有的话),其匹配从媒体项目的策划媒体特定语料库116选择的预处理的输入查询。策划媒体特定语料库116与特定网络可访问域相关联。在框808中,搜索系统114对媒体项目集进行排名以提供查询响应。媒体响应标识媒体项目集中的排名第一的媒体项目(如果有的话)。

图9示出了由图6中所示的功能执行的过程902。在框904中,简档更新组件602维持用于用户组的组简档,组简档描述在时间跨度上由用户组做出的媒体选择。在框906中,在没有用户组中的任何用户明确地指定新项目的情况下,自动化项目选择组件604基于组简档自动地选择新项目。

c.代表性计算功能

图10示出了可以被用来实现上述附图中所阐述的机构的任何方面的计算功能1002。例如,图10中所示的计算功能1002的类型可以被用来实现图2中所示的任何本地计算设备和/或由图2中所示的远程计算系统所提供的任何远程服务器计算设备和/或由图1的本地系统124所提供的任何控制机构。在所有情况下,计算功能1002表示一个或多个物理和有形处理机构。

计算功能1002可以包括一个或多个硬件处理器设备1004,诸如一个或多个中央处理单元(cpu)和/或一个或多个图形处理单元(gpu)等等。计算功能1002还可以包括用于存储任何种类的信息(诸如机器可读指令、设置、数据等)的任何存储资源(还被称为计算机可读存储介质或者计算机可读存储介质设备)1006。非限制性地,例如,存储资源1006可以包括任何(多个)类型的ram、任何(多个)类型的rom、闪存设备、硬盘、光盘等中的任一个。更一般地,任何存储资源可以使用用于存储信息的任何技术。进一步地,任何存储资源可以提供信息的易失性或非易失性保留。进一步地,任何存储资源可以表示计算功能1002的固定或者可移除的组件。当(多个)硬件处理器设备1004实施被存储在任何存储资源或存储资源的组合中的计算机可读指令时,计算功能1002可以执行任何上述功能。例如,计算功能1002可以实施执行章节b中所描述的过程的每个框的计算机可读指令。计算功能1002还包括用于与任何存储资源交互的一个或多个驱动机构1008(诸如硬盘驱动机构、光盘驱动机构等等)。

计算功能1002还包括用于接收各种输入(经由输入设备1012)并且用于提供各种输出(经由输出设备1014)的输入/输出组件1010。说明性输入设备包括键盘设备、鼠标输入设备、触摸屏输入设备、数字化板、一个或多个视频照相机、一个或多个深度照相机、自由空间姿势识别机构、一个或多个麦克风、语音识别机构、任何运动检测机构(例如,加速度计、陀螺仪等)等等。一个特定输出机构可以包括显示设备1016和相关联的图形用户界面呈现(gui)1018。对话接口组件108可以在显示设备1016上呈现图3中所示的协作ui呈现110。显示设备1016可以对应于电荷藕合的显示设备、阴极射线管设备、投影机构等。计算功能1002还可以包括用于经由一个或多个通信管道1022与其他设备交换数据的一个或多个网络接口1020。一个或多个通信总线1024将上文所描述的组件通信地耦合在一起。

可以以任何方式实现(多个)通信管道1022(例如,通过局域计算机网络、广域计算机网络(例如,因特网)、点对点连接等或其任何组合)。(多个)通信管道1022可以包括由任何协议或协议的组合管理的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。

备选地或另外,可以至少部分地由一个或多个硬件逻辑组件执行前述章节中所描述的功能中的任一个。例如,非限制性地,计算功能1002(和其硬件处理器)可以使用以下各项中的一项或多项来实现:现场可编程门阵列(fpga);专用集成电路(asic);专用标准产品(assp);片上系统系统(soc);复杂可编程逻辑器件(cpld)等。在这种情况下,机器可执行指令可以被实施在硬件逻辑自身中。

以下概述提供本文所阐述的技术的说明性方面的非详尽列表。

根据第一方面,描述了一种用于控制媒体重放设备的系统环境,其包括一个或多个计算设备。系统环境包括消息接口组件,其被配置为经由由消息接口组件所提供的用户界面呈现从特定用户接收消息。系统环境还包括媒体机器人,其被配置为:接收消息;确定消息是否包括选择控制命令,其中特定用户指定待由媒体重放设备播放的目标媒体项目;以及当消息被确定为包含选择控制命令时,利用搜索系统将执行域特定搜索的指令将消息作为输入查询发送到搜索系统。搜索系统随后地通过以下各项处理输入查询:在输入查询上执行预处理以提供预处理的输入查询;标识媒体项目集(如果有的话),其匹配从媒体项目的策划媒体特定语料库选择的预处理的输入查询;以及对媒体项目集进行排名以提供查询响应,查询响应标识媒体项目集中的排名第一的媒体项目(如果有的话)。媒体机器人还被配置为从搜索系统接收查询响应,其包含排名第一的媒体项目(如果有的话);并且输出描述排名第一的媒体项目的选择控制信息。系统环境还包括命令缓冲组件,其被配置为将选择控制信息存储在数据存储库中。系统环境还包括本地系统,其被配置为:从命令缓冲命令组件接收选择控制信息;并且通过播放媒体重放设备上的排名第一的媒体项目,基于选择控制信息来控制媒体重放设备。

根据第二方面,消息接口组件是对话接口组件,其被配置为提供用于由用户组(包括特定用户)中的相应用户使用的协作用户界面呈现的一个或多个实例。协作用户界面呈现的每个实例展示由组中的用户录入的消息。

根据第三方面,由组的用户录入的消息集包括:用户到机器人消息的第一子集,其包括被引导到媒体机器人的命令;以及用户到用户消息的第二子集,其不包括被引导到媒体机器人的命令。媒体机器人被配置为在消息的第一子集与消息的第二子集之间进行鉴别。

根据第四方面,媒体机器人被配置为通过确定特定消息是否包括与命令相关联的触发特征来检测特定消息是否是用户到机器人消息。

根据第五方面,触发特征对应于至少一个触发关键词。

根据第六方面,系统环境还包括:简档更新组件,其被配置为维持用于用户组的组简档,组简档描述在时间跨度上由用户组做出的媒体选择。组简档中的每个项目包括:已经被选择的在前媒体项目的标识;以及属于在前媒体项目已经被选择的环境的上下文信息。

根据第七方面,系统环境还包括自动化项目选择组件,其被配置为在没有用户组中的任何用户明确地指定消息中的新媒体项目的情况下,基于组简档自动地选择新媒体项目。

根据第八方面,媒体机器人还被配置为:确定消息是否包括对应于除选择控制命令之外的任何媒体控制命令的非选择控制命令;并且当消息被确定为包含非选择控制命令时,在未制定用于由搜索系统处理的输入查询的情况下,向命令缓冲组件发送描述非选择控制命令的非选择控制信息。本地系统还被配置为:从命令缓冲命令组件接收非选择控制信息;并且基于非选择控制信息,控制媒体重放设备。

根据第九方面,策划媒体特定语料库与特定网络可访问域相关联。进一步地,搜索系统使用由通用搜索系统所提供的处理资源来实现,通用搜索系统最初被配置为执行域不可知搜索,其中通用搜索系统标识不相对于与那些结果项目相关联的相应域匹配用户查询的结果项目。

根据第十方面,本地系统被配置为通过轮询命令缓冲组件以确定其是否包括尚未由本地系统接收到的命令信息的任何实例来接收选择控制信息。

根据第十一方面,选择控制信息包括标识排名第一的媒体项目的标识符。进一步地,本地系统被配置为通过从策划媒体特定语料库检索排名第一的媒体项目来播放排名第一的媒体项目。

根据第十二方面,描述了实现用于使用在控制本地设置中的设备的机器人的一个或多个计算设备。(多个)计算设备包括消息接收组件,其被配置为从特定用户与其交互的消息接口组件接收由特定用户所提供的消息。(多个)计算设备还包括命令提取组件,其被配置为:确定由特定用户所提供的消息是否包括选择控制命令,其中特定用户指定目标项目;并且当消息被确定为包含选择控制命令时,利用搜索系统将执行域特定搜索的指令将消息作为输入查询发送到搜索系统。搜索系统通过搜索项目的策划域特定语料库响应于输入查询来生成查询响应,查询响应标识排名第一的项目(如果有的话)。(多个)计算设备还包括结果处理组件,其被配置为:从搜索系统接收查询响应,其包含排名第一的项目(如果有的话);并且向用于使用在控制设备中的本地控制系统提供描述排名第一的项目的选择控制信息。

根据第十三方面,消息接口组件(与第十二方面相关联的)是对话接口组件,其被配置为提供用于由用户组(包括特定用户)中的相应用户使用的协作用户界面呈现的一个或多个实例。协作用户界面呈现的每个实例展示由组中的用户录入的消息。

根据第十四方面,命令提取组件还被配置为:确定消息是否包括对应于除选择控制命令之外的任何控制命令的非选择控制命令;并且当消息被确定为包含非选择控制命令时,在未制定用于由搜索系统处理的输入查询的情况下,向本地系统发送描述非选择控制命令的非选择控制信息。

根据第十五方面,策划域特定语料库(与第十二方面相关联的)与特定网络可访问域相关联。进一步地,搜索系统使用由通用搜索系统所提供的处理资源来实现,通用搜索系统最初被配置为执行域不可知搜索,其中通用搜索系统标识不相对于与那些结果项目相关联的相应域匹配用户查询的结果项目。

根据第十六方面,描述了一种用于控制本地设置中的设备的、由一个或多个计算设备实现的方法。方法包括从特定用户与其交互的消息接口组件接收由特定用户所提供的消息。消息接口组件对应于对话接口组件,其被配置为提供用于由用户组(包括特定用户)中的相应用户使用的协作用户界面呈现的一个或多个实例。协作用户界面呈现的每个实例展示由组中的用户录入的消息。方法还包括确定由特定用户所提供的消息是否:包括被引导到本地设置中的设备的控制命令;或者是不包含控制命令的用户到用户消息。方法还包括当消息被确定为包含控制命令时,输出描述用于使用在控制本地设置中的设备的控制命令的控制信息。

根据第十七方面,本地设置中的设备是用于播放媒体项目的媒体重放设备。进一步地,上文引用的确定消息是否包括控制命令包括确定消息是否包含:选择控制命令,其中特定用户指定待由媒体重放设备播放的目标媒体项目;和/或非选择控制命令,其对应于除选择控制命令之外的任何媒体控制命令。系统还包括当消息被确定为包含选择控制命令时,利用搜索系统将执行域特定搜索的指令将消息作为输入查询发送到搜索系统。搜索系统随后通过以下各项处理输入查询:在输入查询上执行预处理以提供预处理的输入查询;标识媒体项目集(如果有的话),其匹配从媒体项目的策划媒体特定语料库选择的预处理的输入查询;以及对媒体项目集进行排名以提供查询响应,媒体响应标识媒体项目集中的排名第一的媒体项目(如果有的话)。方法还包括从搜索系统接收查询响应,其包含排名第一的媒体项目(如果有的话)。上文引用的输出对应于输出描述排名第一的媒体项目的选择控制信息,以用于使用在控制媒体重放设备中。

根据第十八方面,方法还包括:维持用于用户组的组简档,组简档描述在时间跨度上由用户组做出的媒体选择;以及在没有用户组中的任何用户明确地指定新媒体项目的情况下,基于组简档自动地选择新媒体项目。

根据第十九方面,当消息被确定为包含非选择控制命令时,上文引用的输出对应于在不制定用于由搜索系统处理的输入查询的情况下,输出描述非选择控制命令的非选择控制信息。

根据第二十方面,策划媒体特定语料库(与第十六方面相关联的)与特定网络可访问域相关联。搜索系统使用由通用搜索系统所提供的处理资源来实现,通用搜索系统地被配置为执行域不可知搜索,其中通用搜索系统标识不相对于与那些结果项目相关联的相应域匹配用户查询的结果项目。

第二十一方面对应于上文引用的第一方面到第二十方面的任何组合(或者逻辑上不一致的任何排列或者子集)。

第二十二方面对应于与第一方面到第二十一方面相关联的任何方法副本、设备副本、系统副本、手段加功能副本、计算机可读存储介质副本、数据结构副本、制品副本、图形用户界面呈现副本等。

在结束时,本文所描述的功能可以采用各种机构确保任何用户数据以遵守适用法律、社会规范和个体用户的期望和偏好的方式来处理。例如,功能可以允许用户明确地选择加入(并且然后明确地选择退出)功能的提供。功能还可以提供适合的安全机构以确保用户数据的隐私(诸如数据清除机构、加密机构、密码保护机构等)。

虽然已经以特定于结构特征和/或方法动作的语言描述主题内容,但是将理解到,所附的权利要求中定义的主题内容不必限于上文所描述的特定特征或动作。而是,上文所描述的特定特征和动作被公开为实现权利要求的示例形式。

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