CN114930449A - 用于控制多个装置的系统和方法 - Google Patents
用于控制多个装置的系统和方法 Download PDFInfo
- Publication number
- CN114930449A CN114930449A CN202180008357.2A CN202180008357A CN114930449A CN 114930449 A CN114930449 A CN 114930449A CN 202180008357 A CN202180008357 A CN 202180008357A CN 114930449 A CN114930449 A CN 114930449A
- Authority
- CN
- China
- Prior art keywords
- command script
- processor
- command
- text string
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013515 script Methods 0.000 claims abstract description 183
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000010801 machine learning Methods 0.000 claims description 28
- 230000009471 action Effects 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 2
- 230000009849 deactivation Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 28
- 241000282320 Panthera leo Species 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000001755 vocal effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
Abstract
提供一种用于控制多个装置的系统和方法。所述方法包含:通过用至少一个模型处理文本字符串来生成命令脚本,所述文本字符串包含由用户输入的自然语言;基于上下文数据修改所述命令脚本,所述命令脚本包含至少一个装置的配置;基于所述命令脚本生成至少一个命令信号;以及基于所述至少一个命令信号控制至少一个装置。
Description
相关申请的交叉引用
本申请要求2020年1月6日提交的第62/957,520号美国临时专利申请的优先权,所述美国临时专利申请以全文引用的方式并入本文中。
技术领域
本公开大体上涉及控制装置,且在非限制性实施例中,涉及用于使用语音命令控制多个装置的系统、方法和计算机程序产品。
背景技术
随着“智能家居”自动化和电器的日益普及,用户需要一种使用其口头命令控制多个不同装置的方法。现有方法需要系统可识别的预定义短语,由此要求用户记住特定装置名称、他们希望播放的媒体内容的全称(例如,电影标题或专辑名称)、装置的特定位置名称(例如,在其家中)等。这导致用户因错误命令被执行或用户命令被忽略和无法识别而感到沮丧。此外,随着连接和无线控制装置的数目增加,可能存在的不明确之处和由此导致的错误的数目也在增加。
发明内容
根据非限制性实施例,提供一种用于利用语音命令控制多个装置的方法,其包括:利用至少一个处理器通过用至少一个模型处理文本字符串来生成命令脚本,文本字符串包括由用户输入的自然语言;利用至少一个处理器基于上下文数据修改命令脚本,命令脚本包括至少一个装置的配置;利用至少一个处理器基于命令脚本生成至少一个命令信号;以及基于至少一个命令信号控制至少一个装置。
根据另一非限制性实施例,提供一种用于利用语音命令控制多个装置的系统,其包括至少一个处理器,所述至少一个处理器被编程或配置成:通过用至少一个模型处理文本字符串来生成命令脚本,文本字符串包括由用户输入的自然语言;基于上下文数据修改命令脚本,命令脚本包括至少一个装置的配置;基于命令脚本生成至少一个命令信号;以及基于至少一个命令信号控制至少一个装置。
根据另一非限制性实施例,提供一种用于利用语音命令控制多个装置的计算机程序产品,其包括至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质包含程序指令,所述程序指令在由至少一个处理器执行时使所述至少一个处理器:通过用至少一个模型处理文本字符串来生成命令脚本,文本字符串包括由用户输入的自然语言;基于上下文数据修改命令脚本,命令脚本包括至少一个装置的配置;基于命令脚本生成至少一个命令信号;以及基于至少一个命令信号控制至少一个装置。
将在以下编号条款中阐述其它非限制性实施例或方面:
条款1:一种用于利用语音命令控制多个装置的方法,其包括:利用至少一个处理器通过用至少一个模型处理文本字符串来生成命令脚本,文本字符串包括由用户输入的自然语言;利用至少一个处理器基于上下文数据修改命令脚本,命令脚本包括至少一个装置的配置;利用至少一个处理器基于命令脚本生成至少一个命令信号;以及基于至少一个命令信号控制至少一个装置。
条款2:根据条款1所述的方法,其中配置包括以下各项中的至少一个:设置、媒体内容或其任何组合。
条款3:根据条款1或2所述的方法,其中修改命令脚本包括:利用至少一个处理器基于上下文数据确定配置;以及利用至少一个处理器用配置替换命令脚本的一部分。
条款4:根据条款1至3中任一项所述的方法,其中生成命令脚本包括:利用至少一个处理器通过用至少一个第一机器学习模型处理文本字符串来生成特征向量;利用至少一个处理器通过用至少一个第二机器学习模型处理特征向量来生成命令脚本。
条款5:根据条款1至4中任一项所述的方法,其中第一机器学习模型包括至少一个机器学习模型的编码器,并且其中第二机器学习模型包括至少一个机器学习模型的解码器。
条款6:根据条款1至5中任一项所述的方法,其进一步包括:从用户接收语音输入;以及利用至少一个处理器将语音输入转化为文本字符串。
条款7:根据条款1至6中任一项所述的方法,其中命令脚本基于配置数据生成或修改。
条款8:根据条款1至7中任一项所述的方法,其进一步包括利用至少一个处理器基于配置数据替换命令脚本的至少一部分。
条款9:根据条款1至8中任一项所述的方法,其中命令脚本的至少一部分包括位置名称,并且其中命令脚本的至少一部分被替换为来自配置数据的预定义位置。
条款10:根据条款1至9中任一项所述的方法,其中配置数据包括将装置标识符与位置相关联的至少一个数据结构。
条款11:根据条款1至10中任一项所述的方法,其进一步包括利用至少一个处理器规范化文本字符串。
条款12:根据条款1至11中任一项所述的方法,其进一步包括:基于文本字符串的至少一部分从远程数据库检索外部数据,其中生成命令脚本进一步基于外部数据。
条款13:根据条款1至12中任一项所述的方法,其中生成命令脚本包括从多个装置中选择至少一个装置。
条款14:根据条款1-13中任一项的方法,其中选择至少一个装置是基于以下各项中的至少一个:至少一个装置的位置、至少一个装置的特性、至少一个装置的状态或其任何组合。
条款15:根据条款1至14中任一项所述的方法,其中选择至少一个装置是基于至少一个装置的特性,并且其中特性包括以下各项中的至少一个:大小、形状、颜色、品牌、技术特征或其任何组合。
条款16:根据条款1至15中任一项所述的方法,其中选择至少一个装置是基于至少一个装置的状态,并且其中状态包括以下各项中的至少一个:激活状态、撤销激活状态、设置的值或其任何组合。
条款17:根据条款1至16中任一项所述的方法,其中命令脚本包括与至少一个条件相关联的至少一个动作。
条款18:根据条款1至17中任一项所述的方法,其中上下文数据包括至少一个装置的历史使用数据。
条款19:根据条款1至18中任一项所述的方法,其中上下文数据包括至少一个使用模式。
条款20:根据条款1至19中任一项所述的方法,其中上下文数据包括日期和时间中的至少一个。
条款21:根据条款1至20中任一项所述的方法,其进一步包括:利用至少一个处理器确定文本字符串和/或命令脚本中的不明确之处;利用至少一个处理器基于不明确之处提示用户进行第二语音输入;以及利用至少一个处理器基于第二语音输入修改文本字符串和/或命令脚本。
条款22:一种用于利用语音命令控制多个装置的系统,其包括至少一个处理器,所述至少一个处理器被编程或配置成:通过用至少一个模型处理文本字符串来生成命令脚本,文本字符串包括由用户输入的自然语言;基于上下文数据修改命令脚本,命令脚本包括至少一个装置的配置;基于命令脚本生成至少一个命令信号;以及基于至少一个命令信号控制至少一个装置。
条款23:根据条款22所述的系统,其中配置包括以下各项中的至少一个:设置、媒体内容或其任何组合。
条款24:根据条款22或23所述的系统,其中修改命令脚本包括:基于上下文数据确定配置;以及用配置替换命令脚本的一部分。
条款25:根据条款22至24中任一项所述的系统,其中生成命令脚本包括:通过用至少一个第一机器学习模型处理文本字符串来生成特征向量;通过用至少一个第二机器学习模型处理特征向量来生成命令脚本。
条款26:根据条款22至25中任一项所述的系统,其中第一机器学习模型包括至少一个机器学习模型的编码器,并且其中第二机器学习模型包括至少一个机器学习模型的解码器。
条款27:根据条款22至26中任一项所述的系统,其中至少一个处理器被进一步编程或配置成:从用户接收语音输入;以及将语音输入转化为文本字符串;
条款28:根据条款22至27中任一项所述的系统,其中命令脚本基于配置数据生成或修改。
条款29:根据条款22至28中任一项所述的系统,其中至少一个处理器被进一步编程或配置成基于配置数据替换命令脚本的至少一部分。
条款30:根据条款22至29中任一项所述的系统,其中命令脚本的至少一部分包括位置名称,并且其中命令脚本的至少一部分被替换为来自配置数据的预定义位置。
条款31:根据条款22至30中任一项所述的系统,其中配置数据包括将装置标识符与位置相关联的至少一个数据结构。
条款32:根据条款22至31中任一项所述的系统,其中至少一个处理器被进一步编程或配置成规范化文本字符串。
条款33:根据条款22至32中任一项所述的系统,其中至少一个处理器被进一步编程或配置成基于文本字符串的至少一部分从远程数据库检索外部数据,其中生成命令脚本进一步基于外部数据。
条款34:根据条款22至33中任一项所述的系统,其中生成命令脚本包括从多个装置中选择至少一个装置。
条款35:根据条款22至34中任一项所述的系统,其中选择至少一个装置是基于以下各项中的至少一个:至少一个装置的位置、至少一个装置的特性、至少一个装置的状态或其任何组合。
条款36:根据条款22至35中任一项所述的系统,其中选择至少一个装置是基于至少一个装置的特性,并且其中特性包括以下各项中的至少一个:大小、形状、颜色、品牌、技术特征或其任何组合。
条款37:根据条款22至36中任一项所述的系统,其中选择至少一个装置是基于至少一个装置的状态,并且其中状态包括以下各项中的至少一个:激活状态、撤销激活状态、设置的值或其任何组合。
条款38:根据条款22至37中任一项所述的系统,其中命令脚本包括与至少一个条件相关联的至少一个动作。
条款39:根据条款22至38中任一项所述的系统,其中上下文数据包括至少一个装置的历史使用数据。
条款40:根据条款22至39中任一项所述的系统,其中上下文数据包括至少一个使用模式。
条款41:根据条款22至40中任一项所述的系统,其中上下文数据包括日期和时间中的至少一个。
条款42:根据条款22至41中任一项所述的系统,其中至少一个处理器被进一步编程或配置成:利用至少一个处理器确定文本字符串和/或命令脚本中的不明确之处;利用至少一个处理器基于不明确之处提示用户进行第二语音输入;以及利用至少一个处理器基于第二语音输入修改文本字符串和/或命令脚本。
条款43:一种用于利用语音命令控制多个装置的计算机程序产品,其包括至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质包含程序指令,所述程序指令在由至少一个处理器执行时使所述至少一个处理器:通过用至少一个模型处理文本字符串来生成命令脚本,文本字符串包括由用户输入的自然语言;基于上下文数据修改命令脚本,命令脚本包括至少一个装置的配置;基于命令脚本生成至少一个命令信号;以及基于至少一个命令信号控制至少一个装置。
在参考附图考虑以下描述和所附权利要求书时,本公开的这些和其它特征和特性以及相关结构元件和各部分的组合的操作方法和功能以及制造经济性将变得更加显而易见,所有附图形成本说明书的部分,其中相似附图标号在各图中标示对应部分。然而,应明确地理解,图式仅出于说明和描述的目的,且并不希望作为本发明的限制的定义。
附图说明
下文参考附图中示出的非限制性、示例性实施例更详细地解释额外优点和细节,在附图中:
图1示出根据非限制性实施例的用于控制多个装置的系统;
图2示出根据另一非限制性实施例的用于控制多个装置的系统;
图3示出根据非限制性实施例的用于与用于控制多个装置的系统一起使用的模型架构;
图4示出根据非限制性实施例的用于控制多个装置的方法的流程图;
图5示出根据非限制性实施例的配置数据库;并且
图6示出结合非限制性实施例使用的计算装置的示例组件。
具体实施方式
应理解,除了明确地指定为相反的情况之外,实施例可采用各种替代变化和步骤顺序。还应理解,以下说明书中描述的特定装置和过程仅仅是本公开的示例性实施例或方面。因此,与本文中所公开的实施例或方面有关的特定尺寸和其它物理特性不应被视为限制性的。本文所使用的方面、组件、元件、结构、动作、步骤、功能、指令等都不应当被理解为关键的或必要的,除非明确地如此描述。并且,如本文中所使用,冠词“一”希望包含一个或多个项目,且可与“一个或多个”和“至少一个”互换使用。并且,如本文中所使用,术语“具有”等希望是开放式术语。此外,除非另外明确陈述,否则短语“基于”希望意味着“至少部分地基于”。
如本文中所使用,术语“通信”可以指数据(例如,信息、信号、消息、指令、命令等)的接收、接纳、发送、传送、提供等。一个单元(例如,装置、系统、装置或系统的组件、其组合等)与另一单元通信意味着所述一个单元能够直接或间接地从所述另一单元接收信息和/或向所述另一单元传输信息。这可以指在本质上有线和/或无线的直接或间接连接(例如,直接通信连接、间接通信连接等)。另外,即使所发送的信息可能在第一单元与第二单元之间被修改、处理、中继和/或路由,这两个单元也可以彼此通信。例如,即使第一单元被动地接收信息且不会主动地将信息发送到第二单元,第一单元也可以与第二单元通信。作为另一实例,如果至少一个中间单元处理从第一单元接收的信息且将处理后的信息传送到第二单元,则第一单元可以与第二单元通信。
如本文中所使用,术语“计算装置”可以指被配置成处理数据的一个或多个电子装置。在一些实例中,计算装置可以包含接收、处理和输出数据的必要组件,例如处理器、显示器、存储器、输入装置、网络接口等。计算装置可以是移动装置。作为实例,移动装置可包含蜂窝电话(例如,智能手机或标准蜂窝电话)、便携式计算机、可穿戴装置(例如,手表、眼镜、镜片、衣物等)、个人数字助理(PDA)和/或其它类似装置。计算装置还可以是台式计算机或其它形式的非移动计算机。
如本文中所使用,术语“服务器计算机”和“服务器”可以指或包含由例如互联网等网络环境中的多方操作或促进多方通信和处理的一个或多个计算装置,但应了解,可以通过一个或多个公共或专用网络环境促进通信,并且各种其它布置是可能的。此外,在网络环境中直接或间接通信的多个计算装置(例如,服务器计算机、移动装置等)可构成“系统”。如本文中所使用,对“服务器”或“处理器”的提及可以指陈述为执行先前步骤或功能的先前所述服务器和/或处理器、不同的服务器和/或处理器,和/或服务器和/或处理器的组合。例如,如在说明书和权利要求书中所使用,陈述为实施第一步骤或功能的第一服务器和/或第一处理器可以指陈述为实施第二步骤或功能的相同或不同服务器和/或处理器。
如本文中所使用,术语“应用程序编程接口”(API)可以指允许不同系统或(硬件和/或软件)系统组件之间的通信的计算机代码。例如,API可以包含可由其它系统或其它(硬件和/或软件)系统组件使用和/或访问的功能调用、功能、子例程、通信协议、字段等。如本文中所使用,术语“用户界面”或“图形用户界面”是指生成的显示,例如用户可以直接或间接(例如,通过键盘、鼠标、触摸屏等)与其交互的一个或多个图形用户界面(GUI)。
在一些非限制性实施例中,本文中所描述的系统和方法可以允许用户使用口头的自然语言(例如,会话)命令,以准许变化和替代措辞的方式控制一个或多个装置。作为实例,用户可以以相同或类似的意图陈述“使灯通电”、“打开灯”、“打开厨房中的一些灯”和“打开吊灯”。在一些非限制性实施例中,可以基于目标装置的特性,例如“增加所有红灯的亮度”或“打开厨房中的灯”,来控制装置的群组(例如,多个装置的子集或整个多个装置),即使此类群组可能未被预定义也是如此,从而允许在没有广泛配置或没有手动设置的情况下使用系统。本文中所描述的非限制性实施例提供各种其它优点。
现在参考图1,示出根据非限制性实施例的用于控制多个装置112a-112d的系统1000。所述系统包含一个或多个控制装置102,所述控制装置可包含由用户100操作或与用户操作的计算装置通信的任何计算装置,例如移动装置、专用远程控制装置、通信集线器、语音辅助装置等。图1示出移动装置102a、远程控制装置102b和语音辅助装置102c作为实例,但应了解,任何类型的计算装置中的一个或多个都可以用作控制装置102。此外,用户100可以在使用一个或多个控制装置102之间切换,并且可以使用控制装置102的组合。用户100操作控制装置102以控制一个或多个装置112a-112d,所述装置可包含例如一个或多个电器或其它电子装置,例如照明装置(例如,灯具、灯泡等)、电插座、立体声系统、扬声器、电视、百叶窗、恒温器、厨房电器等。控制装置102可包含麦克风、一个或多个其它输入装置(例如,触摸屏、按钮等)和一个或多个显示装置。在一些非限制性实施例中,控制装置102可以是智能手机。控制装置102可以用各种方式与装置112a-112d中的每一个通信。例如,控制装置102可以经由直接无线电通信(例如, 等)、红外通信、声波通信(例如,可听信号)等与装置112a-112d中的一个或多个通信。在一些实例中,控制装置102可以与例如网络路由器的网络装置114通信,所述网络装置与一个或多个装置112c、112d通信。在此类布置中,控制装置102可以经由网络装置114间接地与装置112c、112d通信。
继续参考图1,用户100可以说出由控制装置102接收的语言命令。例如,控制装置102上的麦克风或与控制装置102通信的麦克风可以接收用户的语言命令。然后,控制装置102或与控制装置102通信的另一计算装置将用户的口头命令处理成文本。用户的语言命令可以用驻留在控制装置102上的语音转文本引擎处理,或者作为远程服务提供到控制装置102。一旦用户100的语言命令被转换为文本字符串,其用于生成被配置成控制装置112a-112d的命令脚本。
仍然参考图1,控制装置102可以与存储在控制装置102上的一个或多个数据存储装置中的一个或多个数据库104通信,或者以其它方式与控制装置102通信。数据库104可包含配置数据库,所述配置数据库包含与装置112a-112d有关的信息,例如但不限于:装置112a-112d的制造商和/或型号信息、装置112a-112d的默认设置、装置112a-112d的位置(例如,厨房、卧室、客厅等)、装置112a-112d的特性(例如,大小、形状、颜色、重量等)、可由装置112a-112d执行的动作类型(例如,装置能力)、装置的别名,和/或与装置112a-112d有关的其它信息。使用装置112a-112d的别名允许识别装置,而无需清楚说明制造商和/或型号。例如,可以在数据库104中列出别名以包含装置的替代术语。表征为电视(例如,作为装置类型)的装置可以与例如“TV”、“电视”、“平面屏幕”等别名相关联。表征为媒体流式传输装置的装置可以与例如“Roku”、“Streaming Stick”、“Roku Express”、“Fire TV”、“AmazonFire”、“Chromecast”、“Playstation”等别名相关联。作为另一实例,表征为扬声器的装置可以与例如“条形音箱”、“立体声”、“声音系统”、“Sonos”、“Sonos扬声器”、“Bose”等别名相关联。作为另一实例,表征为机顶盒的装置可以与例如“TV盒”、“G盒”、“Xfinity”等别名相关联。别名可包含同义词、替代术语、口语化的参考、品牌名称等。在一些非限制性实施例中,数据库104可包含按制造商和型号列出的装置列表,其中除了一个或多个别名之外,每个装置还与装置类型(例如,TV、媒体流式传输装置、机顶盒、扬声器、灯等)相关联。还可以通过重复使用系统来学习别名,使得在标识新别名时更新数据库104。
在非限制性实施例中,数据库104还可包含与控制装置102和/或装置112a-112d的当前和过去使用有关的上下文数据。装置112a-112d的当前使用可包含装置的当前状态。控制装置102或装置112a-112d的过去使用可包含装置的命令历史和/或过去状态。例如,上下文数据可包含用控制装置102执行的过去动作、控制装置102先前用于执行动作的位置、控制装置102用于执行动作的时间和/或日期、动作的顺序和/或模式、当前和过去的装置状态,和/或与控制装置102和/或装置112a-112d的使用有关的其它类似信息。存储在数据库104上的数据可以分布在一个或多个不同的数据结构、数据库和/或数据存储装置中。例如,单独的装置数据库可以存储关于每个装置的信息,例如装置112a-112d的制造商和/或型号信息、装置112a-112d的默认设置、装置112a-112d的位置、装置112a-112d的特性、装置可执行的动作类型(例如,装置能力)等。单独的数据库可以存储内容信息,并且在一些非限制性实例中,可以针对每种类型的内容(例如,音乐、电影、音频书籍等)存在单独的数据库,所述单独的数据库各自列出信息,例如标题、艺术家姓名等。
存储在数据库104中的参数可用于基于一个或多个已知参数值过滤装置或配置的选择。例如,装置的状态可用于标识目标装置或至少减少可能目标装置的数目。以此方式,所有可能装置的列表可以被过滤为仅包含能够接收此类命令的装置。例如,如果第一灯已经通电,则“打开灯”的命令不会针对第一灯,因为它已经打开。类似地,如果第一灯断电,则“将亮度增加到100%”或“将光颜色改变为红色”的命令将不会针对第一灯,因为术语“增加”和“改变”暗示目标灯已经打开。因此,系统可以标识当前打开的所有灯,以确定是否可以标识目标灯。同样地,装置能力也可用于过滤装置,因为如果命令是“将亮度增加到100%”并且一个或多个照明装置不是可调光的,则那些照明装置可以不考虑作为目标装置。在非限制性实施例中,标识目标装置可涉及通过能力和当前状态过滤多个装置112a-112d,以将可能的目标装置的数目减少到仅能够执行命令的那些装置。
继续参考图1,控制装置102还可以经由服务器计算机或其它计算装置与通过例如互联网的网络环境116可访问的一个或多个外部数据库118通信。控制装置102可以直接和/或经由网络装置114与网络环境116通信。例如,控制装置102可以使用一个或多个API与外部数据库118通信。在非限制性实例中,外部数据库118可包含一个或多个内容库,所述内容库包含与电影、电视节目、电视频道、播放列表、音乐流派、音乐、书籍和/或其它形式的媒体内容有关的名称和/或其它信息。在非限制性实施例中,一个或多个外部数据库118还可用于存储配置数据和/或上下文数据,如上文关于数据库104所描述。在非限制性实施例中,一个或多个外部数据库118还可以存储可被查询以解决不明确之处的关于不同装置的信息,例如装置数据库,包含装置112a-112d的制造商和/或型号信息、装置112a-112d的默认设置、装置112a-112d的位置、装置112a-112d的特性、可由装置112a-112d执行的动作类型(例如,装置功能),和/或基于制造商和/或型号的与装置有关的其它信息。在一些非限制性实施例中,可以基于一个或多个外部数据库118更新控制装置102本地的一个或多个数据库104。在新数据变得可用时,在用户请求时,和/或在类似情况下,可以定期执行此类更新。
现在参考图2,示出根据非限制性实施例的用于控制多个装置的系统2000的组件。用户的语音命令输入到语音转文本转换引擎202,所述语音转文本转换引擎可包含被配置成将自然说出的语言的音频数据转换为文本字符串的软件和/或硬件。语音转文本转换引擎202可包含例如由控制装置或远程服务器计算机执行的软件功能。语音转文本转换引擎202输出用户语音命令的文本字符串,所述文本字符串被输入到脚本发生器204,所述脚本发生器可包含被配置成基于文本字符串生成一个或多个命令脚本的软件和/或硬件。脚本发生器204可包含例如由控制装置或远程服务器计算机执行的软件功能。在非限制性实施例中,脚本发生器204包含一个或多个模型,例如一个或多个机器学习模型,其被配置成处理文本字符串并生成命令脚本208。在非限制性实施例中,脚本发生器204与数据库206通信,所述数据库包含可用于生成命令脚本208的配置数据。脚本发生器204输出原始命令脚本208(例如,初始命令脚本)。
继续参考图2,脚本发生器204所输出的命令脚本208可包含一个或多个不明确之处(例如,未知的或不确定的参数值)。例如,命令脚本208可包含待控制的目标装置的占位符,所述目标装置可以是一个或多个不同装置。作为另一实例,命令脚本208可以指定未标识的目标装置的不明确配置,例如特定设置、要播放的媒体内容等。命令脚本208输入到上下文引擎210,所述上下文引擎可包含被配置成基于原始命令脚本208和上下文数据生成一个或多个精确化命令脚本212的软件和/或硬件。上下文引擎210可包含例如由控制装置或远程服务器计算机执行的软件功能。上下文引擎210输出精确化命令脚本212,所述精确化命令脚本被输入到命令信号发生器214。
仍参考图2,在一些非限制性实施例中,在用上下文引擎210处理之前或之后,可以将具有不明确之处的命令脚本输入到对话发生器211中,所述对话发生器可包含被配置成生成一个或多个提示以供用户解决一个或多个不明确之处的软件和/或硬件。对话发生器211可包含例如由控制装置或远程服务器执行的软件功能。命令信号发生器214可包含被配置成基于原始命令脚本208和/或精确化命令脚本212生成一个或多个命令信号的软件和/或硬件。命令信号发生器214可包含例如由控制装置或远程服务器计算机执行的软件功能。应了解,在一些非限制性实施例中,如果不存在要使用上下文引擎210和/或对话发生器211解决的不明确之处,则可以将命令脚本208直接输入到命令信号发生器214。在非限制性实施例中,命令信号发生器214可以从目标装置接收反馈(例如,确认)并将信息传递到上下文引擎210以作为上下文数据存储。
图3示出根据非限制性实施例的脚本发生器300。脚本发生器300可包含一个或多个模型、规则和/或算法。在所描绘的实例中,脚本发生器300包含模型架构,所述模型架构具有编码器模型304,所述编码器模型被配置成接收自然语言输入的文本字符串302作为输入,且基于该输入来输出特征向量306。编码器模型304可包含例如神经网络和/或任何其它类型的模型架构。脚本发生器300还可包含解码器模型308,所述解码器模型被配置成接收由编码器模型304输出的特征向量306作为输入,且基于该输入来输出命令脚本310。解码器模型308可包含例如神经网络和/或任何其它类型的模型架构。脚本发生器300还可包含预处理引擎303和后处理引擎309,以分别对初始文本字符串执行预处理和对命令脚本执行后处理。预处理引擎303和后处理引擎309可包含软件和/或硬件,例如由控制装置或远程服务器执行的软件功能。应了解,脚本发生器300可以使用各种模型架构和任何数目的模型。
在非限制性实施例中,可以使用合成训练数据集来训练供脚本发生器300使用的一个或多个模型,所述合成训练数据集通过具有替代阐述方式和同义词的短语集合生成。合成训练数据集可以通过添加、替换和/或去除词语或短语来修改,以增加算法的稳健性。
在非限制性实施例中,命令脚本处于适用于多个不同装置中的每一者的中间脚本语言中,即使每个装置可以使用一个或多个特定通信协议来直接接收命令也是如此。例如,命令脚本可以指定待执行的命令(例如,通电、断电、播放、停止等)、一个或多个配置(例如,50%光强度、蓝光颜色、最大音量、经典音乐、特定电影等)和一个或多个待控制的目标装置(例如,装置标识符或装置标识符群组)。配置参数可包含任何类型的装置设置或可由装置播放、显示和/或呈现的内容。在非限制性实施例中,命令脚本可以进行颜色编码,使得命令的不同参数的颜色不同。例如,命令可以是第一颜色,配置参数可以是第二颜色,并且目标装置可以是第三颜色。应了解,命令脚本的各种布置和格式是可能的。
现在参考图4,示出根据非限制性实施例的用于控制多个装置的方法。应了解,图4中所示的步骤仅针对实例,且在一些非限制性实施例中,可使用额外、更少、不同和/或不同次序的步骤。在第一步骤400,将自然语言命令的语音输入转换为文本字符串。生成的文本字符串表示用户语言命令的自然语言。
在步骤402,可以对文本字符串执行搜索和替换操作,以基于可用数据,例如配置数据库中的用户定义房间来规范化位置。位置可以被替换为预定义位置标识符。例如,配置数据库可包含与多个装置中的每个装置相关联的位置标识符。位置标识符可以是房间名称(例如,“厨房”、“主卧室”等)或唯一值。在一些非限制性实施例中,可以首先匹配最长的子字符串。例如,当在文本字符串中标识装置名称或位置名称时,可以优先匹配最长的名称。因此,如果配置数据库包含字符串“Tim房间”作为房间标识符,且包含“Tim房间TV”作为装置标识符,则算法将首先尝试首先匹配最长名称(“Tim房间TV”),如果找不到最长名称,则将尝试匹配较短名称(“Tim房间”)。在非限制性实施例中,如果配置数据库中不存在位置(例如,房间),则可以将位置替换为配置数据库中存在的语义最接近的位置标识符。
图5中示出来自配置数据库的示例配置数据500。配置数据500包含装置名称(例如,可与来自口头命令的文本相匹配的文本)、位置名称(“地点”)和装置类型(“类型”)。位置名称可以是用户定义的,也可以是标准化的。在非限制性实施例中,可以在初始设置过程期间利用用户输入生成配置数据库。例如,可以针对用户的家或办公室创建拓扑。本文中所描述的系统和方法的非限制性实施例可以在不使用配置数据库的情况下实施。例如,可以实施较长的脚本语言,其包含更广泛多样的位置(例如,房间)和装置。此外,可以代替配置数据库使用其它类型的编码。在一些非限制性实施例中,配置数据库中的位置信息用于基于装置的位置(例如,实际位置名称)而非装置标识符(例如,“灯编号23”)来标识装置。在一些非限制性实施例中,配置数据库可包含两个文件,其中第一文件含有装置位置,并且第二文件含有位置名称和相关联位置。两个文件都可用于基于位置名称识别装置或装置群组。
在步骤404,可以对文本字符串执行额外预处理以用一种或多种方式规范化口头命令。规范化文本字符串消除了可能在用户和/或甚至同一用户之间改变的自然语言文本字符串的不规则性或可变方面。例如,可以将字符串中的字符转换为小写字符,可以删除标点符号和/或特殊字符,可以执行字节对编码(例如,用可在查找表中标识的数据替换子字符串),等等。字节对编码有利地允许通过将未知术语拆分成两个或更多个已知词语来单独识别和考虑具有多个词语的术语中的个别词语。作为实例,自然语言文本字符串“我想听我的roku上的我的bounce和chill播放列表”最初可以被转化为“选择_播放列表bounce和chill类型roku”,并且通过字节对编码,可以被修改为“选择_播放列表6 5类型roku”,其中“6 5”是表示“bounce和chill”的字节对。在一些非限制性实施例中,可以使用令牌来替换子字符串,而不是使用字节对编码。
在步骤406,基于文本字符串生成命令脚本。此步骤406可包含根据一个或多个模型、算法、规则等转化通过步骤404输出的文本字符串。在非限制性实施例中,可以使用一个或多个神经网络来生成命令脚本。在一些非限制性实施例中,在步骤406生成的命令脚本可以是原始命令脚本,其包含令牌或字母数字字符的机器可解释序列。
在非限制性实施例中,原始命令脚本可能无法由控制装置直接执行。例如,如果自然语言文本字符串指定“我想要播放狮子王(Lion King)”,则原始命令脚本可能不包含对预先存在的上下文(例如,包含电影标题的内容数据库)的任何引用。作为实例,文本字符串“我要想播放狮子王”最初可以通过规范化文本(例如,在步骤404)和插入命令(例如,“选择_内容”)而转换为“选择_内容狮子王”的原始脚本的一部分。在此实例中,“狮子王”输入被标识为内容(例如,基于术语“播放”),但内容类型(例如,电影、音乐、音频书籍等)和目标装置(例如,特定电视、显示器、扬声器等)两者都是未知的。
在步骤408,确定命令脚本中是否存在任何不明确之处。如果存在待解决的不明确之处,则所述方法可以进行到步骤414。应了解,在一些非限制性实施例中,即使未检测到不明确之处,所述方法也可以从步骤408进行到步骤414,使得可以考虑配置数据和/或上下文数据以验证命令脚本的准确性或检测异常。
在步骤414,尝试基于配置数据和/或上下文数据来解决命令脚本中的不明确之处。步骤414可以是在最初生成命令脚本之后执行的后处理步骤,如图4中所示,或者在其它实例中,可以实施为用于生成命令脚本的模型的一部分(例如,作为解码器模型)。在一些非限制性实施例中,可以在步骤406生成命令脚本,其包含未知值的占位符(例如,令牌)。如果无法在自然语言文本字符串中标识装置、位置、命令和/或其它参数,则可以在命令脚本初始生成期间将此类令牌插入其中。例如,如果文本字符串为“打开灯”,且由控制装置在配置数据库中或以其它方式识别到存在多个照明装置,则可以用令牌“{未知}”代替装置标识符来生成脚本(例如,“通电类型灯{未知}”)。在步骤414,可以再次分析配置数据以确定额外信息是否可用于解决不明确之处和可用于用装置或装置群组替换令牌。例如,如果在配置数据中识别到的灯位于一个位置,则可以推断所有灯都应打开,并且可以将令牌替换为配置数据库中与该位置相关联的照明装置中的每一者的装置标识符。
在步骤414,可以用各种方式解决命令脚本中的不明确之处。例如,可以基于命令(例如,“播放权力的游戏(game of thrones)”)将名称“权力的游戏”标识为媒体内容。确切地说,基于是可以“播放”的内容,内容类型可以是电影标题、播放列表、专辑名称、频道名称等。如果用户陈述“观看权力的游戏”,则术语“观看”可以将内容类型标识为电影。这还可用于通过仅标识能够被观看和/或播放或观看电影的那些装置来解决装置名称中的不明确之处。配置数据库可包含例如与每个装置相关联的可用命令,使得可针对所请求的命令检查目标装置能力。例如,如果目标装置与所请求的命令不兼容,则可能产生不明确之处。还可以通过与一个或多个内容数据库通信来解决不明确之处。例如,在内容数据库中模糊搜索“权力的游戏”可检索到精确的标题(例如,“权力的游戏(The Game of Thrones)”),其可用于替换令牌。在一些非限制性实施例中,可以使用文本字符串中的额外词语来解决不明确之处,例如演员或内容提供商的名称(例如,“Amazon PrimeTM”、等)。
在非限制性实施例中,可以通过首先标识可能希望(例如,与照明装置有关)的装置来解决标识一个或多个装置的不明确之处。然后,可以仅保留与命令兼容(例如,能够执行命令)的那些装置。在这些兼容装置中,可以标识用于执行命令或在类似上下文中的最后一个或多个装置。在一些实例中,可以考虑可能的目标装置的当前状态以进一步解决任何不明确之处。例如,如果装置具有与装置的目标配置匹配的当前状态(例如,灯已经通电),则可以确定目标装置是不同的灯。
在非限制性实施例中,可以基于至少一个装置的位置和/或控制装置的位置解决标识一个或多个装置的不明确之处。例如,如果自然语言文本字符串陈述“在Tim房间中播放权力的游戏”,则配置数据可以指定“Tim房间”对应于包含特定装置(例如,“电视3”)的特定房间(例如,“卧室2”),且因此该特定装置可用于命令脚本中和/或用于替换命令脚本中的令牌。用户和/或由用户操作的控制装置的当前位置也可用于标识装置,方式为例如通过标识接近用户或与用户在同一房间内的所有装置以及从那些装置确定是否多于一个装置可以执行命令。如果仅一个装置可以在特定位置中执行命令(例如,仅一个电视),则可以将该装置插入到命令脚本中。
在非限制性实施例中,可以基于至少一个装置的特性解决标识一个或多个装置的不明确之处。例如,如果自然语言文本字符串陈述“在大扬声器上播放我的播放列表”或“在蓝色扬声器上播放我的播放列表”,则配置数据库(或单独的装置特性数据库)可以指定“大”或“蓝色”扬声器对应于特定扬声器(例如,“扬声器1”)的特性,且因此该特定装置可用于命令脚本中使用和/或用于替换命令脚本中的令牌。装置特性可包含例如大小、颜色、形状等。此类特性还可与多个装置中的其它装置有关。在一些非限制性实施例中,如果配置数据库中没有提供此类特性,则可以查询一个或多个外部数据库以获得关于多个装置的特性以寻找匹配。
在非限制性实施例中,可以基于至少一个装置的状态解决标识一个或多个装置的不明确之处。例如,如果自然语言文本字符串陈述“关闭灯”或“增加光的亮度”,则可以使用多个照明装置的当前状态(例如,打开、关闭、特定强度等)来解决不明确之处。例如,如果仅一个照明装置与“打开”状态相关联,则可以确定“打开”的照明装置是可以“关闭”或增加强度的唯一照明装置。装置状态可包含例如电力状态(例如,打开或关闭)、强度(例如,亮度或音量百分比)、发射颜色(例如,红光)等。
在非限制性实施例中,可以通过使用上下文数据解决一个或多个装置和此类装置的一个或多个配置的不明确之处。上下文数据可包含用控制装置执行的过去动作、控制器用于执行动作的位置、控制装置用于执行动作的时间和/或日期、动作的顺序和/或模式,和/或与控制装置和/或待控制装置的使用有关的其它类似信息。在一些实例中,上下文数据还可涉及装置的状态。作为实例,如果先前在过去五(5)分钟内打开了灯,则可以鉴于上下文来解释“关闭灯”的自然语言文本字符串。即使照明装置在存在多个照明装置的情况下,特别是在存在当前“打开”的多个照明装置的情况下是不明确的,也可以依靠命令的最近上下文(最近打开的照明装置)标识该照明装置。
在一些非限制性实施例中,上下文数据可以指定用户习惯或使用模式。例如,如果用户具有两个电视,且习惯在工作日晚上9:00之后观看第一电视(例如,卧室电视),则可以通过在命令脚本中标识第一电视而不是用户拥有的在该时间通常不使用的第二电视来解决星期一晚上9:30时“打开电视”的自然语言文本字符串。在另一实例中,如果用户习惯在早上8:00或8:00之后播放来自狮子王音轨的“今晚狮子睡着了(Lion Sleeps Tonight)”歌曲,则可以将命令脚本中的不明确内容“狮子王”替换为“今晚狮子睡着了”,并且可以将所使用的典型装置(例如,卧室扬声器)标识为目标装置。因此,原始脚本“选择_内容‘狮子王’”被修改为“选择_歌曲‘今晚狮子睡着了’类型sonos”的精确化脚本。该精确化脚本标识了内容(歌曲“今晚狮子睡着了”)和目标装置(Sonos扬声器系统),即使这两个参数在自然语言中不明确也是如此。在一些实例中,可以使用内容数据库解决内容上的不明确之处(例如,“狮子王”是指音乐还是电影)。可以使用与每个内容相关联的流行度评级(例如,观看/收听的次数、评论数目、推特数目等)来选择最可能的内容。
在图4的步骤416,确定命令脚本中的不明确之处是否已解决。如果不明确之处尚未解决,则所述方法可以进行到步骤418,其中提示用户解决不明确之处。例如,用户可以通过移动装置、控制装置、扬声器系统等听到提示,和/或可以通过控制装置、移动装置、电视和/或其它装置上的一个或多个GUI看到提示。提示可要求用户特别标识目标装置或配置。在一些实例中,可以向用户呈现供选择的GUI列表选项。例如,如果自然语言文本字符串是“我想要播放狮子王”,且系统解决了关于内容的第一不明确之处(例如,歌曲“今晚狮子睡着了”)但没有解决第二不明确之处(目标装置),则提示可询问用户“您想在哪里播放狮子王?”,如果用户答复解决了不明确之处(例如,“厨房”,且厨房中仅存在单个扬声器),则所述方法可以接着进行到步骤410。可以生成并呈现额外的提示,直到解决了不明确之处为止。
在步骤410,修改命令脚本。如上文所描述,这可以包含从原始命令脚本生成精确化命令脚本。在非限制性实施例中,步骤410可以与步骤406和414同时执行,使得可以在生成原始命令脚本的同时(例如,在解码过程期间)进行修改和/或在已生成原始命令脚本之后作为后处理步骤进行修改。在一些非限制性实施例中,在步骤410,可以使用一个或多个机器学习算法生成精确化命令脚本。可以基于来自上下文数据库的上下文数据来训练机器学习算法。例如,基于使用被认为明确的命令训练的机器学习模型,可以修改不明确命令脚本。例如,“选择_频道5类型tv并且类型三星(Samsung)并且地点客厅”的明确命令脚本可以是用于在特定装置(客厅中的三星电视)上切换频道的先前使用的命令脚本。然后,可以将后续命令脚本,例如“选择_频道5类型tv并且地点客厅”(如果客厅中存在多个电视,则可能不明确)、“选择_频道5类型tv并且类型三星”(如果家里存在多个三星电视,则可能不明确)或“选择_频道5类型三星并且地点客厅”(如果客厅中存在多个三星装置,则可能不明确)修改为与先前确定为明确的命令脚本(“选择_频道5类型tv并且类型三星并且地点客厅”)匹配。在此实例中,使命令脚本不明确的缺失参数可以用来自共享其它相似性的先前命令脚本的参数填充。
在步骤412,可以基于命令脚本生成一个或多个命令信号。在一些非限制性实施例中,可以不执行此步骤,并且可以将命令脚本直接传送到被配置成解释并执行没有不明确之处的命令脚本的目标装置。在一些非限制性实施例中,控制装置可以将命令脚本广播到多个装置中的每个装置或多个装置中的装置的子集,而不是将命令脚本传送到特定目标装置,使得每个装置被配置成直接从命令脚本接收、解释和处理命令。
在一些非限制性实施例中,可以使用命令脚本生成目标装置原生的一个或多个命令信号。在步骤412,可以将命令脚本转换成用于目标装置的一个或多个命令信号。例如,如果经由红外(IR)遥控器控制目标装置,则可以使用命令脚本生成IR代码序列。作为另一实例,如果经由无线网络(例如,)通信控制目标装置,则可以使用命令脚本生成到目标装置的网络寻址命令和/或生成API请求(例如,针对该装置的RESTful API请求)。作为又一实例,如果经由直接无线电通信(例如,)或间接无线电通信(例如,通过通信集线器)控制目标装置,则可以使用命令脚本基于适当协议(例如,等)生成用于无线电通信的一个或多个数据包和/或数据流。
在一些非限制性实施例中,控制装置和/或另一装置可以基于命令脚本生成命令信号和/或将命令信号传送到目标装置。例如,控制装置和/或通信集线器(例如,机顶盒、物联网(loT)家用电器控制器等)可包含用于生成命令信号和/或将命令信号传送到目标装置的命令信号发生器。命令信号可以经由适当的通信信道(例如,网络数据包、IR等)传送。在一些实例中,控制装置或其它通信集线器可以从目标装置接收响应消息,例如从具有双向通信能力的装置接收确认。
在非限制性实施例中,一旦一个或多个命令信号被传送到一个或多个目标装置,就可以将验证提供给用户。例如,可以使用语音合成引擎来经由声道以可听方式确认成功命令(例如,“播放狮子王”或“在厨房中播放狮子王”)。
在传送一个或多个命令信号以控制装置之后,所述方法可以进行到其中更新上下文数据库的步骤413。上下文数据库可包含一个或多个数据结构,其包含用户命令和与用户动作中的每一者有关的相关联上下文参数。例如,上下文数据库可以指定命令的类型(例如,播放音乐、观看电视、切换频道、关闭灯等)结合此类命令的时间和/或日期、对此类命令的时间参考(例如,工作日、周末、晚上、早上、中午等)、命令发布时的天气、命令发布时的室内室温、命令发布时房间内的人数、命令发布时用户的位置等。应了解,可供控制装置和/或与控制装置通信的装置使用的任何数据可用于更新上下文数据库。
在非限制性实施例中,命令脚本可包含用于控制多个装置的多个命令。例如,自然语言文本字符串“打开红灯并在我的客厅中播放音乐”包含用于两个装置的单独命令。在一些实例中,命令脚本可以用由分隔符(例如,逗号、分号等)分开的两个或更多个命令生成,例如“通电类型灯并且颜色红色;选择音乐播放地点客厅”。
现在参考图6,示出根据非限制性实施例的用于实施和执行本文中所描述的系统和方法的计算装置900的示例组件的图。计算装置900可以对应于例如图1中所示的控制装置102和/或装置112a-d。在一些非限制性实施例中,与图6所示的那些相比,装置900可包含额外组件、更少组件、不同组件或以不同方式布置的组件。装置900可包含总线902、处理器904、存储器906、存储组件908、输入组件910、输出组件912和通信接口914。总线902可包含准许装置900的组件之间的通信的组件。在一些非限制性实施例中,处理器904可以在硬件、固件,或硬件和软件的组合中实施。例如,处理器904可包含处理器(例如中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)等)、微处理器、数字信号处理器(DSP)和/或可被编程以执行功能的任何处理组件(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器906可包含随机存取存储器(RAM)、只读存储器(ROM),和/或存储供处理器904使用的信息和/或指令的另一类型的动态或静态存储装置(例如,闪存存储器、磁存储器、光学存储器等)。
继续参考图6,存储组件908可以存储与装置900的操作和使用有关的信息和/或软件。例如,存储组件908可包含硬盘(例如,磁盘、光盘、磁光盘、固态磁盘等)和/或另一类型的计算机可读介质。输入组件910可包含准许装置900例如经由用户输入接收信息的组件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风等)。另外或替代地,输入组件910可包含用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速度计、陀螺仪、致动器等)。输出组件912可包含从装置900提供输出信息的组件(例如,显示器、扬声器、一个或多个发光二极管(LED)等)。通信接口914可包含使装置900能够例如经由有线连接、无线连接或有线和无线连接的组合与其它装置通信的收发器类组件(例如,收发器、单独的接收器和发送器等)。通信接口914可以准许装置900从另一装置接收信息和/或向另一装置提供信息。例如,通信接口914可包含以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、接口、蜂窝网络接口等。
装置900可以执行本文中所描述的一个或多个过程。装置900可以基于处理器904执行由存储器906和/或存储组件908等计算机可读介质存储的软件指令来执行这些过程。计算机可读介质可包含任何非暂时性存储器装置。存储器装置包含位于单个物理存储装置内的存储器空间或跨多个物理存储装置散布的存储器空间。软件指令可以经由通信接口914从另一计算机可读介质或从另一装置读取到存储器906和/或存储组件908中。在被执行时,存储在存储器906和/或存储组件908中的软件指令可以使处理器904执行本文中所描述的一个或多个过程。另外或替代地,硬接线电路系统可代替或结合软件指令使用以执行本文中所描述的一个或多个过程。因此,本文中所描述的实施例不限于硬件电路和软件的任何特定组合。如本文中所使用,术语“被编程或配置”是指一个或多个装置上的软件、硬件电路或其任何组合的布置。
尽管已出于说明的目的详细地描述了实施例,但应理解,此类细节仅用于所述目的,而本公开不限于所公开的实施例,相反,旨在涵盖处于所附权利要求书的精神和范围内的修改和等效布置。例如,应理解,本公开预期,尽可能地,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
Claims (43)
1.一种用于利用语音命令控制多个装置的方法,包括:
利用至少一个处理器通过用至少一个模型处理文本字符串来生成命令脚本,所述文本字符串包括由用户输入的自然语言;
利用至少一个处理器基于上下文数据修改所述命令脚本,所述命令脚本包括至少一个装置的配置;
利用至少一个处理器基于所述命令脚本生成至少一个命令信号;以及
基于所述至少一个命令信号控制至少一个装置。
2.根据权利要求1所述的方法,其中所述配置包括以下各项中的至少一个:设置、媒体内容或其任何组合。
3.根据权利要求1所述的方法,其中修改所述命令脚本包括:
利用至少一个处理器基于所述上下文数据确定所述配置;以及
利用至少一个处理器用所述配置替换所述命令脚本的一部分。
4.根据权利要求1所述的方法,其中生成所述命令脚本包括:
利用至少一个处理器通过用至少一个第一机器学习模型处理所述文本字符串来生成特征向量;以及
利用至少一个处理器通过用至少一个第二机器学习模型处理所述特征向量来生成所述命令脚本。
5.根据权利要求4所述的方法,其中所述至少一个第一机器学习模型包括所述至少一个机器学习模型的编码器,并且其中所述至少一个第二机器学习模型包括所述至少一个机器学习模型的解码器。
6.根据权利要求1所述的方法,进一步包括:
从所述用户接收语音输入;以及
利用至少一个处理器将所述语音输入转化为所述文本字符串。
7.根据权利要求1所述的方法,其中所述命令脚本基于配置数据被生成或修改。
8.根据权利要求1所述的方法,进一步包括利用至少一个处理器基于配置数据替换所述命令脚本的至少一部分。
9.根据权利要求8所述的方法,其中所述命令脚本的所述至少一部分包括位置名称,并且其中所述命令脚本的所述至少一部分被替换为来自所述配置数据的预定义位置。
10.根据权利要求8所述的方法,其中所述配置数据包括将装置标识符与位置相关联的至少一个数据结构。
11.根据权利要求1所述的方法,进一步包括利用至少一个处理器规范化所述文本字符串。
12.根据权利要求1所述的方法,进一步包括:
基于所述文本字符串的至少一部分从远程数据库检索外部数据,其中生成所述命令脚本进一步基于所述外部数据。
13.根据权利要求1所述的方法,其中生成所述命令脚本包括从多个装置中选择所述至少一个装置。
14.根据权利要求13所述的方法,其中选择所述至少一个装置是基于以下各项中的至少一个:所述至少一个装置的位置、所述至少一个装置的特性、所述至少一个装置的状态或其任何组合。
15.根据权利要求14所述的方法,其中选择所述至少一个装置是基于所述至少一个装置的所述特性,并且其中所述特性包括以下各项中的至少一个:大小、形状、颜色、品牌、技术特征或其任何组合。
16.根据权利要求14所述的方法,其中选择所述至少一个装置是基于所述至少一个装置的所述状态,并且其中所述状态包括以下各项中的至少一个:激活状态、撤销激活状态、设置的值或其任何组合。
17.根据权利要求1所述的方法,其中所述命令脚本包括与至少一个条件相关联的至少一个动作。
18.根据权利要求1所述的方法,其中所述上下文数据包括所述至少一个装置的历史使用数据。
19.根据权利要求1所述的方法,其中所述上下文数据包括至少一个使用模式。
20.根据权利要求1所述的方法,其中所述上下文数据包括日期和时间中的至少一个。
21.根据权利要求1所述的方法,进一步包括:
利用至少一个处理器确定所述文本字符串和/或所述命令脚本中的不明确之处;
利用至少一个处理器基于所述不明确之处提示用户进行第二语音输入;以及
利用至少一个处理器基于所述第二语音输入修改所述文本字符串和/或所述命令脚本。
22.一种用于利用语音命令控制多个装置的系统,包括至少一个处理器,所述至少一个处理器被编程或配置成:
通过用至少一个模型处理文本字符串来生成命令脚本,所述文本字符串包括由用户输入的自然语言;
基于上下文数据修改所述命令脚本,所述命令脚本包括至少一个装置的配置;
基于所述命令脚本生成至少一个命令信号;以及
基于所述至少一个命令信号控制至少一个装置。
23.根据权利要求22所述的系统,其中所述配置包括以下各项中的至少一个:设置、媒体内容或其任何组合。
24.根据权利要求22所述的系统,其中修改所述命令脚本包括:
基于所述上下文数据确定所述配置;以及
用所述配置替换所述命令脚本的一部分。
25.根据权利要求22所述的系统,其中生成所述命令脚本包括:
通过用至少一个第一机器学习模型处理所述文本字符串来生成特征向量;以及
通过用至少一个第二机器学习模型处理所述特征向量来生成所述命令脚本。
26.根据权利要求25所述的系统,其中所述至少一个第一机器学习模型包括所述至少一个机器学习模型的编码器,并且其中所述至少一个第二机器学习模型包括所述至少一个机器学习模型的解码器。
27.根据权利要求22所述的系统,其中所述至少一个处理器被进一步编程或配置成:
从所述用户接收语音输入;以及
将所述语音输入转化为所述文本字符串。
28.根据权利要求22所述的系统,其中所述命令脚本基于配置数据生成或修改。
29.根据权利要求22所述的系统,其中所述至少一个处理器被进一步编程或配置成基于配置数据替换所述命令脚本的至少一部分。
30.根据权利要求29所述的系统,其中所述命令脚本的所述至少一部分包括位置名称,并且其中所述命令脚本的所述至少一部分被替换为来自所述配置数据的预定义位置。
31.根据权利要求29所述的系统,其中所述配置数据包括将装置标识符与位置相关联的至少一个数据结构。
32.根据权利要求22所述的系统,其中所述至少一个处理器被进一步编程或配置成规范化所述文本字符串。
33.根据权利要求22所述的系统,其中所述至少一个处理器被进一步编程或配置成基于所述文本字符串的至少一部分从远程数据库检索外部数据,其中生成所述命令脚本进一步基于所述外部数据。
34.根据权利要求22所述的系统,其中生成所述命令脚本包括从多个装置中选择所述至少一个装置。
35.根据权利要求34所述的系统,其中选择所述至少一个装置是基于以下各项中的至少一个:所述至少一个装置的位置、所述至少一个装置的特性、所述至少一个装置的状态或其任何组合。
36.根据权利要求35所述的系统,其中选择所述至少一个装置是基于所述至少一个装置的所述特性,并且其中所述特性包括以下各项中的至少一个:大小、形状、颜色、品牌、技术特征或其任何组合。
37.根据权利要求35所述的系统,其中选择所述至少一个装置是基于所述至少一个装置的所述状态,并且其中所述状态包括以下各项中的至少一个:激活状态、撤销激活状态、设置的值或其任何组合。
38.根据权利要求22所述的系统,其中所述命令脚本包括与至少一个条件相关联的至少一个动作。
39.根据权利要求22所述的系统,其中所述上下文数据包括所述至少一个装置的历史使用数据。
40.根据权利要求22所述的系统,其中所述上下文数据包括至少一个使用模式。
41.根据权利要求22所述的系统,其中所述上下文数据包括日期和时间中的至少一个。
42.根据权利要求22所述的系统,其中所述至少一个处理器被进一步编程或配置成:
利用至少一个处理器确定所述文本字符串和/或所述命令脚本中的不明确之处;
利用至少一个处理器基于所述不明确之处提示用户进行第二语音输入;以及
利用至少一个处理器基于所述第二语音输入修改所述文本字符串和/或所述命令脚本。
43.一种用于利用语音命令控制多个装置的计算机程序产品,包括至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质包含程序指令,所述程序指令在由至少一个处理器执行时使所述至少一个处理器:
通过用至少一个模型处理文本字符串来生成命令脚本,所述文本字符串包括由用户输入的自然语言;
基于上下文数据修改所述命令脚本,所述命令脚本包括至少一个装置的配置;
基于所述命令脚本生成至少一个命令信号;以及
基于所述至少一个命令信号控制至少一个装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062957520P | 2020-01-06 | 2020-01-06 | |
US62/957,520 | 2020-01-06 | ||
PCT/IB2021/050070 WO2021140447A1 (en) | 2020-01-06 | 2021-01-06 | System and method for controlling a plurality of devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114930449A true CN114930449A (zh) | 2022-08-19 |
Family
ID=74175898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180008357.2A Pending CN114930449A (zh) | 2020-01-06 | 2021-01-06 | 用于控制多个装置的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230040394A1 (zh) |
CN (1) | CN114930449A (zh) |
DE (1) | DE112021000470T5 (zh) |
WO (1) | WO2021140447A1 (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130183944A1 (en) * | 2012-01-12 | 2013-07-18 | Sensory, Incorporated | Information Access and Device Control Using Mobile Phones and Audio in the Home Environment |
KR101465230B1 (ko) * | 2013-11-05 | 2014-11-25 | 주식회사 서비전자 | 스마트기기를 이용한 디바이스 제어방법 및 장치 |
CN105702252A (zh) * | 2016-03-31 | 2016-06-22 | 海信集团有限公司 | 一种语音识别方法及装置 |
US9443527B1 (en) * | 2013-09-27 | 2016-09-13 | Amazon Technologies, Inc. | Speech recognition capability generation and control |
CN106951491A (zh) * | 2017-03-14 | 2017-07-14 | 广东工业大学 | 一种应用于机器人的智能对话控制方法及装置 |
US20170357637A1 (en) * | 2016-06-09 | 2017-12-14 | Apple Inc. | Intelligent automated assistant in a home environment |
CN107667318A (zh) * | 2015-06-25 | 2018-02-06 | 英特尔公司 | 用于系统控制的对话界面技术 |
US20180052928A1 (en) * | 2016-08-16 | 2018-02-22 | Ebay Inc. | Semantic forward search indexing of publication corpus |
US10074371B1 (en) * | 2017-03-14 | 2018-09-11 | Amazon Technologies, Inc. | Voice control of remote device by disabling wakeword detection |
CN109785833A (zh) * | 2019-01-02 | 2019-05-21 | 苏宁易购集团股份有限公司 | 用于智能设备的人机交互语音识别方法及系统 |
US20190355351A1 (en) * | 2018-05-17 | 2019-11-21 | Qualcomm Incorporated | User experience evaluation |
-
2021
- 2021-01-06 CN CN202180008357.2A patent/CN114930449A/zh active Pending
- 2021-01-06 DE DE112021000470.0T patent/DE112021000470T5/de active Pending
- 2021-01-06 WO PCT/IB2021/050070 patent/WO2021140447A1/en active Application Filing
- 2021-01-06 US US17/790,795 patent/US20230040394A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130183944A1 (en) * | 2012-01-12 | 2013-07-18 | Sensory, Incorporated | Information Access and Device Control Using Mobile Phones and Audio in the Home Environment |
US9443527B1 (en) * | 2013-09-27 | 2016-09-13 | Amazon Technologies, Inc. | Speech recognition capability generation and control |
KR101465230B1 (ko) * | 2013-11-05 | 2014-11-25 | 주식회사 서비전자 | 스마트기기를 이용한 디바이스 제어방법 및 장치 |
CN107667318A (zh) * | 2015-06-25 | 2018-02-06 | 英特尔公司 | 用于系统控制的对话界面技术 |
CN105702252A (zh) * | 2016-03-31 | 2016-06-22 | 海信集团有限公司 | 一种语音识别方法及装置 |
US20170357637A1 (en) * | 2016-06-09 | 2017-12-14 | Apple Inc. | Intelligent automated assistant in a home environment |
US20180052928A1 (en) * | 2016-08-16 | 2018-02-22 | Ebay Inc. | Semantic forward search indexing of publication corpus |
CN106951491A (zh) * | 2017-03-14 | 2017-07-14 | 广东工业大学 | 一种应用于机器人的智能对话控制方法及装置 |
US10074371B1 (en) * | 2017-03-14 | 2018-09-11 | Amazon Technologies, Inc. | Voice control of remote device by disabling wakeword detection |
US20190355351A1 (en) * | 2018-05-17 | 2019-11-21 | Qualcomm Incorporated | User experience evaluation |
CN109785833A (zh) * | 2019-01-02 | 2019-05-21 | 苏宁易购集团股份有限公司 | 用于智能设备的人机交互语音识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2021140447A1 (en) | 2021-07-15 |
US20230040394A1 (en) | 2023-02-09 |
DE112021000470T5 (de) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422772B1 (en) | Creating scenes from voice-controllable devices | |
US10971139B2 (en) | Voice control of a media playback system | |
AU2021202786B2 (en) | Voice control of a media playback system | |
US11183181B2 (en) | Systems and methods of multiple voice services | |
EP3314876B1 (en) | Technologies for conversational interfaces for system control | |
US20200110571A1 (en) | Systems and methods for media content selection | |
KR20180064328A (ko) | 홈 자동화 시스템의 음성 제어를 위한 이력 기반 핵심 구 제안 | |
CN108040264B (zh) | 一种用于电视节目选台的音箱语音控制方法及设备 | |
CN106647311B (zh) | 智能中控系统、设备、服务器及智能设备控制方法 | |
US20130166042A1 (en) | Media content-based control of ambient environment | |
CN114067798A (zh) | 一种服务器、智能设备及智能语音控制方法 | |
US11495226B2 (en) | System and method for configurable control of voice command systems | |
US20230040394A1 (en) | System and method for controlling a plurality of devices | |
CN114299939A (zh) | 一种智能设备、智能家居的语音控制设备及控制方法 | |
TW202422535A (zh) | 語言資料處理系統及方法與電腦程式產品 | |
CN117809644A (zh) | 电子设备、语音识别方法、装置及存储介质 | |
EP3928594A1 (en) | Enhancing a user's recognition of a light scene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |