一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于装置拓扑结构来处理语音命令的制作方法

2021-07-20 17:10:00 来源:中国专利 TAG:解译 申请 日中 语音 话语
基于装置拓扑结构来处理语音命令的制作方法

分案说明

本申请属于申请日为2017年9月30日的中国发明专利申请201710924487.6的分案申请。

本公开总的涉及解译语音话语,更具体地说,涉及基于装置的拓扑结构来解译语音话语。



背景技术:

智能、多感应网络连接装置不断地扩散,如扬声器、家庭报警器、门锁、摄像头、照明系统、跑步机、重量秤、智能床、灌溉系统、车库门开启器、家电、婴儿监护仪、火灾报警器等。这些智能装置可以例如位于建筑物的范围内,并且用户可能希望与这种智能装置交互。为此,用户可以使用控制装置来例如经由网络与智能装置进行无线通信。

在一些情况下,用户可能希望通过向控制装置提供语音命令或话语来与一个或多个智能装置进行通信。常规的语音命令处理技术使用各种合适的自动语音识别、自然语言处理和/或自然语言理解技术来处理和解译语音话语,并根据语音话语来控制智能装置。然而,这种常规技术通常不能解译复杂的语音话语,并且可能需要来自用户的更多信息的请求。特别地,这样的常规技术通常缺乏对智能家居网络内的装置以及网络内这些装置之间关系的充分了解。



技术实现要素:

本公开的实施例的方面和优点将部分地在以下描述中阐述,或者可以从描述中获悉,或者可以通过实践实施例来了解。

本公开的一个示例方面涉及一种处理语音话语的由计算机实现的方法。该方法包括由一个或多个计算装置接收表示语音话语的数据。语音话音由用户提供给控制装置。该方法还包括由所述一个或多个计算装置访问装置拓扑结构表示。装置拓扑结构表示定义与一个或多个建筑物相关联的多个智能装置。装置拓扑结构表示还限定了相关联建筑物内的多个装置中的每一个的位置。该方法还包括至少部分地基于装置拓扑结构表示来由所述一个或多个计算装置确定语音话语的转录。该方法还包括至少部分地基于所确定的转录和装置拓扑结构表示,由所述一个或多个计算装置确定一个或多个所选择的装置以及待由所述一个或多个所选择的装置执行的一个或多个动作。

本公开的其它示例方面涉及用于处理语音命令的系统,装置,有形的、非暂态的计算机可读介质,用户界面,存储器装置和电子装置。

参考以下描述和所附权利要求书,各种实施例的这些和其它特征,方面和优点将变得更好地理解。并入并构成本说明书的一部分的附图示出了本公开的实施例,并且与描述一起用于解释相关原理。

附图说明

在说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,说明书参考附图,其中:

图1描绘了根据本公开的示例实施例的用于处理语音命令的示例系统的概述;

图2描绘了根据本公开的示例实施例的用于实现装置拓扑结构表示的示例用户界面;

图3描绘了根据本公开的示例实施例的示例装置拓扑结构表示的框图;

图4描绘了根据本公开的示例实施例的处理语音命令的示例方法的流程图;

图5描绘了根据本公开的示例实施例的生成个性化语言模型的示例方法的流程图;

图6描绘了根据本公开的示例实施例的确定语音话语的转录的示例方法的流程图;

图7描绘了根据本公开的示例实施例的解译语音话语的转录的示例方法的流程图;

图8描绘了根据本公开的示例实施例的示例系统的概述;

具体实施例

现在将详细参考实施例,实施例的一个或多个示例在附图中示出。通过实施例的说明来提供每个示例,而不限制本公开。事实上,对于本领域技术人员显而易见的是,在不脱离本公开的范围或精神的情况下,可以对实施例进行各种修改和变化。例如,作为一个实施例的一部分示出或描述的特征可以与另一个实施例一起使用,以产生又一个实施例。因此,意图是本公开的方面涵盖这些修改和变化。

本公开的示例方面涉及基于来自用户的语音命令来控制智能装置。例如,可以从控制装置的用户接收语音话语。语音话语可以是由靠近被配置为控制一个或多个智能装置的用户装置的用户所说的命令。智能装置可以是被配置为与中央服务器、云计算系统和/或一个或多个另外的智能装置进行通信以提供各种有用的智能家居服务中任何服务的智慧型、多感测的、网络连接的装置。例如,智能装置可以是或可以以其它方式与以下相关联:空调系统、照明装置、家庭影院和娱乐系统、安全系统、自动门锁系统、调温器装置、家庭自动化系统、扬声器、摄像头装置、跑步机、重量秤、智能床、灌溉系统、车库门开启器、家电、婴儿监护仪、火灾报警器和/或其它合适的装置或系统。

希望控制一个或多个智能装置的用户可以构造装置拓扑结构表示。可以使用各种合适的技术来构造装置拓扑结构表示,并且可以是能够表示一个或多个建筑物内的一个或多个智能装置的拓扑结构和组织的任何合适格式和/或结构。装置拓扑结构表示可以定义和/或组织与用户相关联的一个或多个建筑物。例如,与用户相关联的建筑物可以是与用户相关联的家庭、商业、车辆、办公室和/或任何其它合适的建筑物。用户可以将每个建筑物组织成一个或多个房间(例如卧室,起居室,厨房),并且可以将一个或多个智能装置分配给所述一个或多个房间。例如,用户可以将一个或多个智能灯分配给特定建筑物的第一房间,以及将一个或多个门锁系统分配到该建筑物的第二房间。然后,用户可以将一个或多个不同的智能装置分配给第二建筑物内的一个或多个房间。

用户可以在装置拓扑结构表示中给智能装置分配一个或多个标识。标识可由用户选择并与装置拓扑结构表示内的相应的智能装置相关联。(多个)标识可以包括用户为智能装置选择的昵称和/或别名(例如,沙发灯、前门锁、卧室扬声器等)。以这种方式,当提供用于控制智能装置的语音话语时,标识可以是用户可能使用的、相应的智能装置的名称或别名。

装置拓扑结构表示可以进一步指定与相应的装置相关联的一个或多个装置属性。装置属性可以与智能装置配置执行的一个或多个动作相关联。例如,与照明装置相关联的装置属性可以包括开启能力,关闭能力,调光能力和/或与照明装置相关联的其它合适的属性。作为另一示例,自动门锁装置可以包括锁定能力、解锁能力和/或其它合适的能力。

用户可以向控制装置提供语音话语。语音话语可以是指定控制一个或多个智能装置的意图的任何合适的语音话语。例如,用户可以提供语音话语,其意图是改变智能装置的状态(例如,接通或断开智能装置,增大智能装置的音量等),或者意图是接收与智能装置相关联的信息(例如与当前温度相关的信息等)。控制装置可以是能够从用户接收语音话语的任何合适的装置,并且例如经由网络与一个或多个智能装置或中央服务器进行通信。控制装置可以是用户在提供语音话语时对着说话的装置。在一些实施方式中,控制装置可以是与用户相关联的用户装置,诸如智能电话、平板电脑,膝上型计算机、台式计算机、可穿戴计算装置和/或其它合适的用户装置。在一些实施方式中,控制装置可以是被配置为接收语音话语的智能装置。例如,控制装置可以是装置拓扑结构表示中指定的智能装置。

可以解译语音话语,以确定用户意图针对一个或多个智能装置的控制命令。在这方面,可以至少部分地基于装置拓扑结构表示来对话音语音执行语音识别。例如,可以向一个或多个语言模型提供表示语音话语的数据,以确定语音话语的转录。在一些实施方式中,通用语言模型可以朝向于装置拓扑结构表示偏置,以确定语音话语的文本转录。通用语言模型可以包括多个公共短语,并且可以将概率估计与每个短语相关联。每个短语可以包含一个或多个单词的序列。概率估计可以指定相应短语的预测出现情况。应当理解,可以使用各种合适的通用语言模型而不会偏离本公开的范围。

通用语言模型可能朝向于装置拓扑结构表示偏置,以生成个性化语言模型。特别地,可以通过增加与装置拓扑结构表示相关联的一个或多个单词或短语相关联的概率估计来偏置通用语言模型。例如,所述一个或多个单词或短语可以包括在装置拓扑结构表示中指定的房间名称、建筑物名称、装置标识、与装置属性相关联的项等。以这种方式,个性化语言模型可以估计出被包括在装置拓扑结构表示中的单词或短语出现的较高概率。

可以将表示语音话语的数据提供给个性化语言模型,以基于个性化语言模型来确定语音话语的文本转录。在一些实施方式中,可以将表示语音话语的数据提供给通用语言模型,以基于通用语言模型确定语音话语的第一转录。可以为第一转录确定表示第一转录的准确性的置信度的第一置信度分数。然后,可以将表示语音话语的数据提供给个性化语言模型,以基于个性化语言模型确定语音话语的第二转录。可以为第二转录确定表示第二转录的准确性的置信度的第二置信度分数。在一些实施方式中,可以使用具有较高置信度分数的转录。在一些实施方式中,表示语音话语的数据可以进一步提供给一个或多个额外的语言模型,诸如与各种合适应用程序相关联的一个或多个专门语言模型。以这种方式,可以使用该额外的语言模型来确定一个或多个另外的转录,每个转录都具有相关的置信度分数。可以使用具有最高置信度分数的转录。

一旦确定了语音话语的转录,就可以确定一个或多个用于控制的装置(例如所选择的装置)以及待由所选择的装置执行的一个或多个动作。例如,可以使用一种或多种语义解译技术来确定转录的语义解译。语义解译可以提供转录的概念意义的表示。以这种方式,转录的解译可以提供用户在执行语音话语时的意图的解译。例如,如果来自用户的语音话语的转录声明为“打开灯”,则转录的语义解译可以尝试确定所要执行的动作(例如,启动一个或多个灯光装置),以及用于执行该动作的一个或多个所选择的装置(例如,旨在由用户控制的一个或多个适当的照明装置)。

解译可以至少部分地基于装置拓扑结构表示来确定。例如,可以访问装置拓扑结构表示,以确定所述一个或多个所选择的装置和/或所要执行的动作。以这种方式,可以访问装置拓扑结构表示并将其与转录进行比较,以确定与转录相关联的一个或多个项和与装置拓扑结构表示相关联的一个或多个项之间的匹配。例如,如果转录读的是“打开沙发灯”,则可以访问装置拓扑结构表示,以确定是否在装置拓扑结构表示中有指定的装置具有“沙发灯”的装置标识。

如所指出的,也可以确定所要由(一个或多个)所选择的装置执行的一个或多个动作。例如,动作可以基于转录的解译来确定。在一些实施方式中,可以至少部分地基于与装置拓扑结构表示中指定的(一个或多个)所选择的装置相关联的装置属性来确定动作。以这种方式,所识别的动作可以是所选择的装置能够执行的动作。

在某些情况下,装置拓扑结构中指定的装置标识与转录的项之间的直接匹配可能无法确定。例如,当执行语音话语时,用户可能不指定装置标识,而是可以给出更加非正式的指令。作为另一示例,在装置拓扑结构表示中指定的多个建筑物可以包括具有相同或相似名称或标识的一个或多个房间和/或装置。例如,读的是“打开卧室中的灯”的转录可能不包括对特定装置标识的引用,使得无法确定直接匹配。在这种情况下,可以访问装置拓扑结构表示,以推断一个或多个所选择的装置。例如,可以访问装置拓扑结构表示,以在装置拓扑结构表示中指定的建筑物中识别标记为“卧室”的房间。如果识别出这样的“卧室”,则可以识别位于卧室内的一个或多个适当的装置。例如,如果装置拓扑结构表示指定卧室内的一个或多个照明装置,则可以将所述一个或多个照明装置中的至少一个照明装置推断为所选择的装置。

在其中在转录中未指定装置标识的情况下,可以至少部分地基于装置拓扑结构表示中指定的装置属性来确定所述一个或多个所选择的装置和/或所要执行的动作。例如,可以将装置拓扑结构表示中指定的装置属性与转录进行比较,以确定能够执行转录中指定的动作的一个或多个装置。以这种方式,可以至少部分地基于相应的装置属性来推断所选择的装置。

在一些实施方式中,可以至少部分地基于诸如用户位置的上下文数据来确定所选择的装置和/或所要执行的动作。例如,响应于从用户接收到语音话语,可以确定用户的位置。可以使用各种合适的位置确定技术来确定位置。可以至少部分地基于用户提供语音话语对着的控制装置来确定位置确定技术。例如,控制装置是在装置拓扑结构表示中指定的智能装置,用户位置可以映射到装置拓扑结构表示中分配了控制装置的建筑物和/或房间。如果控制装置是装置拓扑结构表示中未指定的用户装置,则可以使用一个或多个位置确定技术来确定用户位置,诸如使用与一个或多个智能装置相关联的无线接入点或短距离信标装置的技术,和/或其它合适的位置确定技术。然后,可以将用户位置映射到在装置拓扑结构表示中指定的一个或多个建筑物和/或房间。

以这种方式,用户位置可以在确定一个或多个所选择的装置时用作上下文数据。例如,响应于接收到读的是“打开灯”的转录,可以确定用户位置并将其映射到在装置拓扑结构表示中指定的一个或多个房间和/或建筑物,以确定用户所在的建筑物和房间。可以在这样的建筑物和房间内识别一个或多个灯光装置,以确定用户想要控制的所选择的装置。以这种方式,在这种情况下,可以推断,用户希望控制的灯是用户当前所在的房间中的灯。

在确定所要控制的所述一个或多个所选择的装置和由该所选择的装置执行的一个或多个动作后,可以生成一个或多个控制命令,并且分别提供给(一个或多个)所选择的装置。所述一个或多个控制命令可以包括用于使(一个或多个)所选择的装置执行指定动作的指令。一旦接收到适当的控制命令,(一个或多个)所选择的装置可以根据(一个或多个)所接收的控制命令执行适当的动作。在一些实施方式中,如果不能基于所接收到的语音话语来确定一个或多个所选择的装置和/或所要执行的一个或多个动作,则可以向用户提供提示(例如,在由控制装置或其它合适的装置显示的用户界面内),请求用户说清楚语音话语和/或手动选择待由一个或多个智能装置执行的一个或多个动作。

以这种方式,可以使用本公开的示例方面来提高用于智能家居和/或物联网环境的语音命令处理的效率和准确性。特别地,相对于智能装置所在的一个或多个建筑物的拓扑结构来组织智能装置可以允许对语音话语的鲁棒性更高的解译,并且可以允许用户与控制装置之间的自然“对话式”通信体验。结合装置拓扑结构考虑诸如用户位置的上下文数据可以提供更强大的能力来推断由用户提供的语音话语的含义。此外,这种语音命令处理技术可以通过促进准确地并且更快速地解译更宽范围的语音话语的能力来允许用户与系统之间更少的通信回合。因此,可以减少智能装置执行的操作次数,例如,接收和处理重复的语音话语,或者输出对于更多信息的请求,并且可以避免处理回复,并且智能装置的功耗因此可以减少。虽然本公开涉及在智能家居和/或物联网环境中处理语音命令,但是应当理解,本公开的示例方面可以扩展到各种其它合适的应用和环境,而不会偏离本公开的范围。例如,本公开的示例方面可以用于处理和解译用于控制各种其它合适的非物联网装置的语音命令。

现在参考附图,将更详细地描述本公开的示例方面。例如,图1描绘了根据本公开的示例实施例的用于处理语音命令的示例系统100的概述。系统100包括控制装置102和服务器104。控制装置102和服务器104可以例如经由网络进行通信。控制装置102可以是被配置为监视和接收来自用户的语音话语的任何合适的装置。如所指出的,语音话语可以是用户意图控制一个或多个智能装置而说出的句子或短语。控制装置102可以是与用户相关联的用户装置。在一些实施方式中,控制装置102可以是智能装置。智能装置可以是被配置为与中央服务器、云计算系统和/或一个或多个另外的智能装置进行通信的网络连接的装置,以提供各种有用的智能家居和/或物联网服务。可以基于用户提供的语音话语来动态地配置控制装置。例如,控制装置可以是从用户接收语音话语的装置(例如,用户装置、智能装置或其它装置)。

一旦从用户接收到语音话语,控制装置102就可以向服务器104提供表示该语音话语的数据。服务器104包括偏置器106、转录器108、解译器110和命令生成器112。表示语音话语的数据可以被提供给转录器108。转录器108可以被配置为至少部分地基于语言模型数据114来确定语音话语的一个或多个文本转录。语言模型数据114可以包括一个或多个用于录取语音话语的语言模型。特别地,语言模型数据114可以包括指定针对多个公共短语的概率估计的通用语言模型。语言模型数据114还可以包括一个或多个专门的语言模型,诸如例如个性化语言模型。个性化语言模型可以由偏置器106生成。特别地,可以通过将通用语言模型朝向装置拓扑结构表示116偏置来生成个性化语言模型。

装置拓扑结构表示116可以由用户构造,以定义与用户相关联的一个或多个智能装置的组织拓扑结构。例如,图2描绘了用于定义装置拓扑结构表示的示例用户界面120。具体地,图2描绘了被配置为显示用户界面120的用户装置122。应当理解,图2中描绘的用户界面120仅用于说明目的,并且可以使用各种其它合适的用户界面来实现装置拓扑结构表示,而不会脱离本公开的范围。用户装置122可以是任何合适的用户装置,诸如智能电话、平板电脑、膝上型计算机、台式计算机、可穿戴计算装置等。在一些实施方式中,用户装置122可以是智能装置或其它装置。在一些实施方式中,用户可能需要出现在某个位置,以定义针对该位置的装置拓扑结构表示。例如,在这种实施方式中,希望定义针对特定建筑物的装置拓扑结构表示的用户将需要位于该建筑物处,以实现装置拓扑结构表示。以这种方式,可以使用各种合适的位置确定技术来确定用户的位置,并且可以允许用户为位于用户位置处或附近的建筑物定义装置拓扑结构表示。

用户界面120可以包括一个或多个用户界面元素124,以便于用户实现装置拓扑结构表示126。装置拓扑结构表示126可以对应于图1和图3中描绘的装置拓扑结构表示116。如图所示,所述一个或多个用户界面元素124包括允许用户添加建筑物,添加房间并将装置添加到装置拓扑结构表示126的界面元素。以这种方式,用户可以根据需要与用户界面元素124交互,以定义和组织装置拓扑结构表示126。例如,用户可以选择“添加装置”界面元素,以将新的智能装置添加到装置拓扑结构表示126。以这种方式,用户可能能够添加新装置,添加将要与装置相关联的一个或多个装置标识,添加将要与装置相关联的一个或多个装置属性等。类似地,如果用户选择“添加房间”界面元素,则用户可能能够向特定建筑物添加新房间,添加与该房间相关联的房间标识等。

在一些实施方式中,装置拓扑结构表示126可以是交互式用户界面元素,使得用户可以与如在用户界面120内所显示的那样的装置拓扑结构表示126进行交互。例如,用户可以选择(例如,通过触摸输入,或其它合适的输入)装置拓扑结构表示126的特定建筑物、房间或装置,以便于呈现与所选择的建筑物、房间或装置相关联的更多信息。

图3描绘了根据本公开的示例实施例的示例装置拓扑结构表示116的框图。装置拓扑结构表示116定义与用户相关联的、多个建筑物内的多个智能装置的拓扑结构。特别地,该建筑物包括主要住宅152、海滩别墅154和与用户相关联的办公室156。每个建筑物可以被组织成建筑物内的一个或多个房间。例如,图3描绘了与主要住宅152相关联的起居室158、卧室160和客房162。每个房间可以与智能家居内一个或多个智能装置和/或与用户相关联的物联网相关联。特别地,起居室158与具有装置标识“沙发灯”的照明装置、具有“楼下调温器)”的装置标识的调温器装置和具有“起居室扬声器”的装置标识的扬声器装置相关联。卧室160与具有“吊扇”的装置标识的吊扇装置、与具有“顶灯”的装置标识的一个或多个照明装置以及具有装置标识为“扬声器”的扬声器装置相关联。客房162与具有“楼上调温器”的装置标识的调温器装置、具有“台灯”的装置标识的照明装置和具有“扬声器”的装置标识的扬声器装置相关联。指定的装置可以是单个装置或一组装置。例如,装置标识“顶灯”可以对应于构成卧室中的头顶天花板灯的单个照明装置或一组照明装置。

如所指出的,用户可以在装置拓扑结构表示内定义一个或多个建筑物和一个或多个房间。用户可以为每个房间和建筑物分配标识。用户可以为每个房间分配一个或多个智能装置,以表示实际建筑物的房间内的装置的拓扑结构。用户可以进一步向一个或多个智能装置中的每一个分配一个或多个装置标识。在一些实施方式中,如果用户没有将装置标识分配给装置,则可以自动地给装置分配默认装置标识。装置拓扑结构表示116还可以为每个装置指定一个或多个装置属性。装置属性可以与装置能执行的一个或多个动作相关联。例如,灯光装置可以具有“开启”属性,“关闭”属性,“调光”属性等。吊扇装置可以具有“开启”属性,“关闭”属性,“增加速度”属性,“降低速度”属性等。在一些实施方式中,用户可以将装置属性输入到装置拓扑结构表示116。在一些实施方式中,可以将装置属性自动添加到装置拓扑结构表示116。

当用户希望反映例如装置拓扑结构的一个或多个更改时,用户可以更新或修改装置拓扑结构表示。例如,用户可以根据用户需要添加装置,移除装置,在房间和/或建筑物之间移动装置,添加建筑物,移除建筑物,添加房间,移除房间等等。以这种方式,用户可以组织装置拓扑结构,以在实际建筑物内提供装置的准确和动态的拓扑结构。

装置拓扑结构表示116可以用于偏置通用语言模型。回过来参考图1,偏置器106可以被配置为访问装置拓扑结构表示116和通用语言模型,以使通用语言模型偏置朝向装置拓扑结构表示116。例如,偏置器可以识别在装置拓扑结构表示116中指定的一个或多个项或短语(例如装置标识,房间名称,建筑物名称,装置类型(例如照明装置,扬声器装置),装置属性等)。偏置器106可以增加由通用语言模型指定的那些项的概率估计,并且可以生成个性化语言模型,使得所识别的项或短语被分配增加的概率估计。以这种方式,可以生成个性化语言模型,以反映由用户提供的语音话语将包括与装置拓扑结构表示116相关联的项或短语的增加的可能性。

如所指出的,转录器108可以至少部分地基于语言模型数据114来确定语音话语的一个或多个文本转录。应当理解,转录器108可以使用各种合适的语音识别技术来确定语音话语的文本转录。在一些实施方式中,转录器108可以基于由偏置器106生成的个性化语言模型来确定语音话语的转录。在一些实施方式中,转录器108可以使用一个或多个另外的语言模型(例如,通用语言模型和/或与语言模型数据114相关联的一个或多个其它合适的语言模型)来确定语音话语的一个或多个另外的转录。在这样的实施方式中,可以为每个转录确定置信度分数,每个转录都指定转录器108的置信度,使得相应的转录是语音话语的准确转录。然后,可以至少部分地基于置信度分数来从上述多个转录选择转录。在一些实施方式中,如果所选择的转录是使用个性化语言模型确定的转录,则可以将所选择的转录提供给解译器110。

在一些实施方式中,可以至少部分地基于用户的位置来选择装置拓扑结构表示以供使用。例如,可以确定用户位于装置拓扑结构表示中指定的特定建筑物内。然后,可以访问指定该建筑物的装置拓扑结构表示,以在处理由用户提供的语音话语时使用。在这样的实施方式中,所访问的装置拓扑结构表示然后可以用于确定由用户提供的语音话语的转录。以这种方式,然后可以至少部分地基于用户的位置来确定转录。例如,在确定用户的位置后,可以访问对应的装置拓扑结构表示,并且可以使用与装置拓扑结构表示相关联的一个或多个项来偏置通用语言模型。在一些实施方式中,可以在先前已经生成用于建筑物和/或装置拓扑结构表示的个性化语言模型,在这种情况下,响应于确定用户位置和/或从用户接收语音话语,适当的个性化语言模型可以被访问并用于确定语音话语的转录。根据本公开的示例方面,然后可以使用对应于用户位置的这种装置拓扑结构表示来解译语音话语。

所确定的转录可以被提供给解译器110。解译器110可以被配置为确定用户在向控制装置102提供语音话语时的意图。特别地,解译器110可以被配置为至少部分地基于转录来确定一个或多个所选择的装置118以及待由所选择的装置118执行的一个或多个动作。例如,在一些实施方式中,解译器110可以对转录执行语义解译技术,以确定转录的概念性含义的逻辑表示。以这种方式,解译器110可以通过识别单词之间的语义关系来确定转录中每个单词的作用。

解译器110可以至少部分地基于装置拓扑结构表示116来确定所述一个或多个所选择的装置118和/或待要执行的动作。例如,解译器110可以将转录与装置拓扑结构表示116进行比较,以确定所选择的装置118和/或待要执行的动作。特别地,解译器110可以将转录与装置拓扑结构表示116中指定的装置标识进行比较,以确定转录的一个或多个项与一个或多个装置标识之间的相关性。例如,如果转录读的是“提高起居室扬声器音量”,项“起居室扬声器”可以与装置拓扑结构表示116的装置标识“起居室扬声器”相关联。以这种方式,可以基于这种相关性来选择具有装置标识“起居室扬声器”的扬声器装置作为所选择的装置。

在一些实施方式中,解译器110可以被配置为推断所述一个或多个所选择的装置。例如,如果不能找到装置标识与转录之间的精确匹配,则解译器可以被配置为推断一个或多个所选择的装置。作为另一示例,如果在装置拓扑结构表示中指定的两个或多个装置具有相同或相似的装置标识,则解译器110可能不能确定用户想要控制哪个装置。例如,装置拓扑结构表示116包括在卧室160和客房162中的、具有相同装置标识“扬声器”的扬声器装置。在这种情况下,解译器110可能不能区分用户希望控制哪个扬声器装置。解译器110然后可以被配置为至少部分地基于与装置拓扑结构表示116和/或用户相关联的其它信息来推断所选择的装置。

作为一个示例,如果转录与装置标识之间没有直接匹配但是转录包括与装置拓扑结构表示116中指定的装置标识足够相似的一个或多个项,则解译器110可以被配置为推断所选择的装置。在这种情况下,解译器110可以将足够相似的(一个或多个)项与装置标识相关联,并且可以基于相似性来推断所选择的装置。例如,如果转录读的是“打开沙发床灯”,则解译器110可以识别装置标识“沙发灯”,并且可以确定短语“沙发床灯”与装置标识“沙发灯”足够相似。然后,解译器110可以选择具有标识“沙发灯”的照明装置作为所选择的装置。

在一些实施方式中,解译器110可以至少部分地基于装置拓扑结构表示116中指定的装置属性来推断所选择的装置。装置属性可以指定每个装置(例如照明装置,扬声器装置等)的类型、每个装置可以执行的一个或多个能力或动作(例如,打开,关闭,增加音量,减小音量,增加速度,降低速度等)和/或与装置相关联的其它合适的属性或特性。以这种方式,可以将转录与装置拓扑结构表示中指定的装置属性进行比较,以确定所述一个或多个所选择的装置。例如,解译器110可将转录中的一个或多个项与装置的所述一个或多个装置属性进行比较,以确定相关性。例如,如果转录读的是“升高温度”,则解译器110可以尝试识别具有与增加温度的动作相关联的合适属性的一个或多个装置。以这种方式,解译器110可能能够将适当的装置缩小到“楼上调温器”和“楼下调温器”。

在一些实施方式中,解译器110可以至少部分地基于用户在向控制装置102提供语音话语时的位置来确定所述一个或多个所选择的装置。如所指出的,控制装置102可以是智能装置或提供语音话语所对着的用户装置。解译器110可以确定控制装置102的位置,并且使控制装置102的位置与用户的位置相关。例如,在控制装置102是装置拓扑结构表示116中指定的智能装置的情况下,解译器110可以访问装置拓扑结构表示,以确定位置(例如,装置拓扑结构表示116中指定的建筑物和房间)。然后,解译器110可以将用户位置与用户提供语音命令所对着的控制装置102的位置相关。

在控制装置102未在装置拓扑结构表示116中指定的情况下(例如,当控制装置102是用户装置或其它合适的控制装置)时,可以使用一个或多个替代的位置确定技术。例如,在一些实施方式中,可以使用一个或多个无线(例如wi-fi)接入点来定位控制装置102。可以至少部分地基于所述一个或多个接入点的已知位置以及在控制装置102与所述一个或多个接入点之间通信的一个或多个信号来确定控制装置102的位置。更具体地说,在一些实施方式中,可以至少部分地基于与用户装置与一个或多个接入点之间通信的一个或多个信号相关联的往返循环时间(rtt)计算来确定用户装置的位置。例如,用户装置可以通过向多个接入点发送信号来启动位置查找进程。接入点可以向用户装置发送一个或多个响应信号。响应信号可以包括表示相应的接入点接收到启动信号与发送响应信号之间的时间延迟(例如,处理延迟)的数据。用户装置可以至少部分地基于用户装置发送启动信号的时间、用户装置接收到响应信号的时间和/或与接入点相关联的时间延迟来计算与启动信号和/或响应信号相关联的飞行时间。如果用户装置从三个或更多个接入点接收到响应信号,则用户装置可以将三边测量技术应用于所确定的距离和位置,以相对于接入点定位用户装置自身。例如,用户装置可以确定:它位于某个区域(例如,在特定房间内)的特定位置。

类似地,在一些实施方式中,可以使用一个或多个信标装置(例如,蓝牙信标装置)来确定控制装置102的位置。例如,可以至少部分地基于信标装置的已知位置以及在信标装置与控制装置102之间通信的一个或多个信号来确定控制装置的位置。应当理解,可以使用各种其它适当的位置确定技术,而不会偏离本公开的范围。更具体地,在确定用户装置位置时,用户装置可以广播可以由位于用户所在的建筑物内的两个或更多个信标装置接收到的一个或多个信号。信标装置可以具有建筑物内的已知位置。在一些实施方式中,信标装置可以在装置拓扑结构表示116中定义的一个或多个智能装置内实现。响应于接收到所述一个或多个信号,两个或多个信标装置可以广播一个或多个识别信号,该识别信号分别识别信标装置。识别信号可以包括相应的信标装置的位置。然后,可以至少部分地基于所接收到的识别信号中指定的信标位置来确定用户装置的位置。

应当理解,可以使用各种其它位置确定技术,而不会偏离本公开的范围。例如,可以使用诸如蓝牙,低功耗蓝牙,zigbee,近场通信,wi-fi直连或其它技术的各种合适的通信信号来实现位置确定技术。在替代实施例中,可以至少部分地通过与用户装置相关联的定位系统(例如,gps或其它定位系统)和/或基于网络(例如,wifi,蜂窝网络等)位置确定来确定用户的位置。

在一些实施方式中,可以相对于装置拓扑结构表示116来确定控制装置102的位置。例如,在使用无线接入点和/或信标装置来确定控制装置102的位置的实施方式中,接入点和/或信标装置的位置可以映射到装置拓扑结构表示116内的一个或多个房间。以这种方式,控制装置102相对于装置拓扑结构表示116的位置然后可以至少部分地基于装置拓扑结构表示116内的接入点和/或信标装置的位置来确定。

如指出的那样,解译器110可以至少部分地基于在用户提供语音话语时的控制装置的位置来确定所选择的装置。解译器110可以推断所选择的装置将位于用户所在的同一房间中。作为示例,如果转录读的是“打开灯”,则解译器110可以确定用户位于卧室中,并且可以推断出用户正提及的照明装置是与装置拓扑结构表示116中的、与卧室相关联的灯光装置(例如“顶灯”)。

解译器110可以使用上述解译技术中的一种或多种技术来解译转录。例如,在各种情况下,可以至少部分地基于装置标识、装置属性或用户位置中的一个或多个来确定所选择的装置。

解译器110可以进一步确定待要执行的一个或多个所选择的动作。例如,解译器110可以分析转录,以确定所述一个或多个动作。例如,解译器110可以分析读的是“打开灯”的转录,并且可以确定短语“开启(打开)”对应于启动或打开装置的动作。在一些实施方式中,解译器110可以至少部分地基于装置拓扑结构表示116中指定的装置属性来确定待要执行的动作。例如,一旦所选择的装置已被确定,则解译器110可以比较转录与所选择的装置的装置属性,以此来确定转录与装置属性之间的相关性。

一旦(一个或多个)所选择的装置和待要执行的动作已经被确定,就可以确定一个或多个控制命令来指示(一个或多个)所选择的装置执行(一个或多个)适当的动作。特别地,表示(一个或多个)所选择的装置的和(一个或多个)待要执行的动作的数据可以被提供给命令生成器112。命令生成器112可以为(一个或多个)所选择的装置确定一个或多个合适的控制命令。如所指出的,控制命令可以是用于与(一个或多个)所选择的装置通信的任何合适的控制命令。特别地,可以至少部分地基于与(一个或多个)所选择的装置相关联的一个或多个通信协议来确定控制命令。以这种方式,至少部分地基于(一个或多个)所选择的装置的通信协议,控制命令可以是任何合适的格式或结构。命令生成器112可以向(一个或多个)所选择的装置提供控制命令,使得(一个或多个)所选择的装置可以执行控制命令并执行(一个或多个)适当的动作。

虽然系统100被描绘为具有客户端-服务器架构,但是将理解的是,服务器104的功能中的一个或多个(例如,偏置器106、转录器108、解译器110或命令生成器112中的一个或多个)可以由一个或多个其它合适的装置(诸如,例如控制装置102)来执行。以这种方式,可以理解的是,控制装置102可以包括以下中的一个或多个:偏置器106、转录器108、解译器110或命令生成器112。.

图4描绘了根据本公开的示例性实施例的处理语音命令的示例方法(200)的流程图。方法(200)可以由一个或多个计算装置来实施,诸如图8所示的计算装置中的一个或多个计算装置。另外,图4为了说明和讨论的目的而描绘了以特定顺序执行的步骤。使用本文提供的公开内容的本领域普通技术人员将理解,本文讨论的任何方法的步骤都可以以各种方式进行调整、重新排列、扩展、省略或修改,而不会脱离本公开的范围。

在(202)中,方法(300)可以包括从用户接收表示语音话语的数据。如所指出的,用户可以向控制装置提供语音话语,目的是控制一个或多个智能装置。

在(204)中,方法(200)可以包括访问与用户相关联的装置拓扑结构表示。如所指出的,用户可以设置或构造定义与用户相关联的一个或多个建筑物的拓扑结构的装置拓扑结构表示。例如,用户可以将建筑物组织成房间,并且可以将装置分配给房间。用户可以为装置分配装置标识。装置拓扑结构表示可以进一步包括用于装置的一个或多个装置属性。装置属性可以指定装置类型、能力等。以这种方式,装置拓扑结构表示可以允许用户通过装置的位置来组织智能家居或物联网。

在(206)中,方法(200)可以包括至少部分地基于装置拓扑结构表示来确定语音话语的转录。例如,可以至少部分地基于一个或多个语言模型来确定转录。例如,在一些实施方案中,可以通过将通用语言模型朝向在装置拓扑结构表示中指定的一个或多个项(例如,装置标识、房间名称、建筑物名称、装置属性等)偏置来确定转录。以这种方式,可以生成具有与装置拓扑结构表示的这些项相关联的、增加的概率估计的个性化语言模型。可以向个性化语言模型提供表示语音话语的数据,以确定语音话语的转录。在一些实施方案中,可以向一个或多个另外的语言模型提供表示语音话语的数据,以确定转录。

在(208)中,方法(200)可以包括至少部分地基于装置拓扑结构表示来确定转录的解译。例如,确定解译可以包括:至少部分地基于转录和装置拓扑结构表示来确定一个或多个所选择的装置和待由所选择的装置执行的一个或多个动作。所述一个或多个所选择的装置可以是在装置拓扑结构表示中指定的装置,并且要执行的所述一个或多个动作可以是与所选择的装置相关联的一个或多个装置属性所关联的动作。

在(210)中,方法(200)可以包括至少部分地基于解译为所述一个或多个所选择的装置生成一个或多个控制命令。所述一个或多个控制命令可以包括让相应的所选择的装置执行适当的动作的指令。控制命令可以是能够被相关联的智能装置理解的任何合适的控制命令。在(212)中,方法(200)可以包括向所选择的装置提供所述一个或多个控制命令,使得所选择的装置可以执行控制命令并执行适当的动作。

图5描绘了根据本公开的示例性实施例的生成个性化语言模型的示例性方法(300)的流程图。方法(300)可以由一个或多个计算装置来实施,诸如图8所示的计算装置中的一个或多个。在一些实施方式中,方法(300)可以由图1中描绘的偏置器106实施。

在(302)中,方法(300)可以包括访问通用语言模型。如所指出的,通用语言模型可以包括多个公共短语。短语可以是一个或多个单词构成的序列。通用语言模型还可以包括与每一个短语相关联的、表示该关联短语的出现概率的估计的概率估计。

在(304)中,方法(300)可以包括从装置拓扑结构表示中识别一个或多个偏置项或短语。例如,所述一个或多个偏置项或短语可以包括装置标识、房间标识、建筑物标识、装置属性和/或与装置拓扑结构表示相关联的其它合适的项或短语。

在(306)中,方法(300)可以包括至少部分地基于所述一个或多个偏置项来偏置通用语言模型。例如,偏置通用语言模型可以包括:至少部分地基于偏置项来调整通用语言模型的一个或多个概率估计。特别地,偏置通用语言模型可以包括提高偏置项的概率估计,以提高偏置项的估计出现概率。在(308)中,方法(300)可以包括至少部分地基于偏置来生成个性化语言模型。例如,可以基于通用语言模型生成个性化语言模型。个性化语言模型可以包括与通用语言模型相同的短语组,但可以包括朝向偏置项偏置的概率估计。

图6描绘了根据本公开的示例性实施例的确定语音话语的文本转录的示例性方法(400)的流程图。方法(400)可以由一个或多个计算装置来实施,诸如图8所示的计算装置中的一个或多个。在一些实施方式中,方法(300)可以由图1中描绘的转录器108实施。

在(402)中,方法(400)可以包括向通用语言模型提供表示语音话语的数据。在(404)中,方法(400)可以包括至少部分地基于通用语言模型来确定语音话语的第一转录。可以使用各种合适的语音识别技术来确定第一转录。在(406)中,方法(400)可以包括确定第一转录的第一置信度分数。第一置信度分数可以表示对语音话语的第一转录的准确性的估计。

在(408)中,方法(400)可以包括向个性化语言模型提供表示语音话语的数据。可以至少部分地基于智能家居或物联网的拓扑结构(例如,在装置拓扑结构表示中指定的)来确定个性化语言模型。例如,个性化语言模型可以是图5中描述的语言模型。在(410)中,方法(400)可以包括至少部分地基于个性化语言模型来确定语音话语的第二转录。可以使用各种合适的语音识别技术来确定第二转录。在(412)中,方法(400)可以包括确定第二转录的第二置信度分数。第二置信度分数可以表示对语音话语的第二转录的准确性的估计。

在(414)中,方法(400)可以包括至少部分地基于置信度分数选择要解译的转录。例如,具有较高置信度分数的转录可以被确定为语音话语的更准确的转录,并且可以选择为要解译的转录。在一些实施方案中,可以使用一个或多个另外的语言模型来确定一个或多个另外的转录。可以为相应的另外的转录确定另外的置信度分数。可以至少部分地基于每一个置信度分数来选择要解译的转录。

图7描绘了根据本公开的示例性实施例的解译语音话语的转录的示例性方法(500)的流程图。方法(500)可以由一个或多个计算装置来实施,诸如图8所示的计算装置中的一个或多个。在一些实施方式中,方法(300)可以由图1中描绘的解译器110实施。

在(502)中,方法(500)可以包括将转录与在装置拓扑结构表示中指定的一个或多个装置标识进行比较。在(504)中,方法(500)可以包括确定是否可以至少部分地基于装置标识来确定所选择的装置。例如,如果在装置标识和转录之间产生相关,则可以确定所选择的装置。如果一个或多个装置标识与转录中的一个或多个项匹配,和/或如果一个或多个装置标识与转录中的一个或多个项充分相似,则可以产生相关。在一些实施方案中,如果在装置拓扑结构表示中指定的多个装置和转录之间产生相关,则可能无法确定所选择的装置。例如,如果多个装置具有相同或相似的装置标识,则可能无法确定所选择的装置。如果可以确定所选择的装置,则在(506)中,方法(500)可以包括确定所选择的装置和待由所选择的装置执行的动作。

如果无法确定所选择的装置,则在(508)中,方法(500)可以包括将转录与在装置拓扑结构表示中指定的一个或多个装置属性进行比较。如所指出的,装置属性可以表示装置类型和/或装置的一个或多个能力。以这种方式,可以将装置属性与转录中的一个或多个项进行比较,以确定所述一个或多个项与装置属性之间的相关性。转录和一个或多个装置属性的相关性可以提供关于所选择装置的证据。例如,如果发现相关性,则可以确定只有具有相关的装置属性的装置才应被选择为所选择的装置。以这种方式,相关性可以有助于在确定所选择的装置时缩小装置范围。

在(510)中,方法(500)可以包括确定是否可以确定所选择的装置。特别地,确定是否可以确定所选择的装置可以包括:确定是否可以至少部分地基于转录与所述一个或多个装置属性和/或所述一个或多个装置标识的比较来确定所选择的装置。如果可以确定所选择的装置,则方法(500)可以返回到(506),并且可以确定要执行的所述一个或多个动作。

如果无法确定所选择的装置,则在(512)中,方法(500)可以包括确定用户相对于装置拓扑结构表示的位置。如所指出的,在控制装置是在装置拓扑结构表示的组织拓扑结构内指定的装置的情况下,用户的位置可以对应于装置拓扑结构表示中的控制装置的位置。在未在装置拓扑结构表示中指定控制装置的情况下,可以基于各种合适的位置确定技术(例如使用无线接入点和/或信标装置的技术)来确定用户位置。然后,可以将这样确定的用户位置映射到在装置拓扑结构表示中指定的建筑物和房间。

在(514)中,方法(500)可以包括将相对的用户位置与装置拓扑结构表示中指定的装置拓扑结构进行比较。例如,可以将用户在建筑物中的位置与在装置拓扑结构表示中指定的、与该位置相关联的装置进行比较。以这种方式,可以推断所选择的装置是位于用户所在的房间中的装置。例如,如果转录读的是“打开灯”,则可以分析位于用户所在的房间中的装置,以识别与该房间相关联的一个或多个照明装置。以这种方式,可以推断,被选为所选择的装置的装置应当是位于用户当前所在的房间内的照明装置。

在(516)中,方法(500)可以包括确定是否可以确定所选择的装置。特别地,确定是否可以确定所选择的装置可以包括:确定是否可以至少部分地基于转录与所述一个或多个装置属性、所述一个或多个装置标识和/或相对的用户位置的比较来确定所选择的装置。如果可以确定所选择的装置,则方法(500)可以包括返回到(506),并且可以确定要执行的动作。如果无法确定所选择的装置,则在(518)中,方法(500)可以包括从用户请求更多的信息。例如,可以在控制装置或其它合适的装置的用户界面中向用户呈现提示,询问用户有关语音命令的更多信息。

应当理解,在各种情况下,可以至少部分地基于装置标识、装置属性或相对的用户位置中的一个或多个来确定所选择的装置和/或要执行的动作。以这种方式,可以访问和/或确定与用户和/或装置拓扑结构表示相关联的各种数据,以确定或推断与语音话语相关联的所述一个或多个所选择的装置。根据转录和装置拓扑结构表示的特定组织,可以使用上面参考的因素的各种合适的组合来确定所选择的装置和/或要执行的动作。以这种方式,应当理解,可以以各种方式使用装置拓扑结构表示和/或用户位置的各个方面来确定所选择的装置和/或要执行的动作。

图8描绘了可以用于实施根据本公开的示例性方面的方法和系统的示例性计算系统700。可以使用包括通过网络740与一个或多个客户端装置730通信的服务器710的客户端-服务器架构来实施系统700。系统700可以使用诸如单个计算装置的其它合适的架构来实施。

系统700包括诸如网络服务器的服务器710。服务器710可以使用任何合适的计算装置来实施。服务器710可以具有一个或多个处理器712和一个或多个存储器装置714。服务器710还可以包括用于通过网络740与一个或多个客户端装置730进行通信的网络接口。网络接口可以包括用于与一个或多个网络连接的任何合适的组件,包括例如发射器、接收器、端口、控制器、天线或其它合适的组件。

所述一个或多个处理器712可以包括任何合适的处理装置,诸如微处理器、微控制器、集成电路、逻辑装置或其它合适的处理装置。所述一个或多个存储器装置714可以包括一个或多个计算机可读介质,包括但不限于非暂态计算机可读介质、ram、rom、硬盘驱动器、闪存驱动器或其它存储器装置。所述一个或多个存储器装置714可以存储所述一个或多个处理器712可访问的信息,包括可由所述一个或多个处理器712执行的计算机可读指令716。指令716可以是当由所述一个或多个处理器712执行时使得所述一个或多个处理器712执行操作的任何指令集。例如,指令716可以由所述一个或多个处理器712执行,以实施参考图1描述的偏置器106、转录器108、解译器110或命令发生器112。

如图8所示,所述一个或多个存储器装置714还可以存储可被所述一个或多个处理器712检索、操纵、创建或存储的数据718。数据718可以包括例如语言模型数据、装置拓扑结构表示数据和其它数据。数据718可以存储在一个或多个数据库中。该一个或多个数据库可以通过高带宽lan或wan连接到服务器710,或者也可以通过网络740连接到服务器710。该一个或多个数据库可以被拆分,以便使得它们位于多个场所中。

服务器710可以通过网络740与一个或多个客户端装置730交换数据。任何数量的客户端装置730可以通过网络740连接到服务器710。一个或多个客户端装置730可以是被配置成提供家庭自动化服务、智能家居服务、物联网服务和/或其它合适服务的智能装置。智能装置可以包括以下装置或可以以其它方式与以下装置相关联:空调系统、照明装置、家庭影院和娱乐系统、安全系统、自动门锁系统、调温器装置、家庭自动化系统、声音扬声器、摄像头装置、跑步机、重量秤、智能床、灌溉系统、车库门开启器、家电、婴儿监护仪、火灾报警器和/或其它合适的装置或系统。客户端装置中的一个或多个还可以是用户计算装置,诸如通用计算机、专用计算机、笔记本电脑、台式电脑、移动装置、导航系统、智能电话、平板电脑、可穿戴计算装置、具有一个或多个处理器的显示器或其它合适的计算装置。

与服务器710相似,客户端装置730可以包括一个或多个处理器732和一个存储器734。该一个或多个处理器732可以包括一个或多个中央处理单元(cpu)、专用于有效地渲染图像或执行其它专门计算的图形处理单元(gpu)和/或其它处理装置。存储器734可以包括一个或多个计算机可读介质,并且可以存储所述一个或多个处理器732可访问的信息,包括可由所述一个或多个处理器732执行的指令736和数据738。例如,存储器734可以存储用于实施用户界面的指令736。

图8的客户端装置730可以包括用于从用户提供和接收信息的各种输入/输出装置737,诸如触摸屏、触摸板、数据输入键、扬声器和/或适合于语音识别的麦克风。例如,根据本公开的示例性方面,客户端装置730可以具有用于呈现用户界面的显示装置735。

客户端装置730还可以包括用于通过网络740与一个或多个远程计算装置(例如,服务器710)进行通信的网络接口。网络接口可以包括用于与一个或多个网络连接的任何合适的组件,包括例如发射器、接收器、端口、控制器、天线或其它合适的组件。

网络740可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)、蜂窝网络或上述的某种组合。网络740还可以包括客户端装置730和服务器710之间的直接连接。通常,可以使用各种通信协议(例如,tcp/ip、http、smtp、ftp)、编码或格式(例如,html、xml)和/或保护方案(例如,vpn、安全http、ssl),使用任何类型的有线和/或无线连接,通过网络接口来携载服务器710和客户端装置730之间的通信。

本公开的一个示例性方面涉及一种由计算机实施的处理语音话语的方法。该方法可以包括由一个或多个计算装置接收表示语音话语的数据。语音话语可以由用户提供给控制装置。该方法可以包括由一个或多个计算装置访问装置拓扑结构表示。装置拓扑结构表示可以定义与一个或多个建筑物相关联的多个智能装置。装置拓扑结构表示可以进一步定义多个装置和控制装置中的每一个在相关联的建筑物内的位置。该方法可以包括由所述一个或多个计算装置至少部分地基于表示语音话语的数据并且进一步至少部分地基于由装置拓扑结构表示定义的控制装置在相关联的建筑物内的位置,来确定一个或多个所选择的装置以及待由该一个或多个所选择的装置要执行的一个或多个动作。

在一些实施方案中,由所述一个或多个计算装置确定所述一个或多个所选择的装置可以包括:由所述一个或多个计算装置识别与控制装置共享相同位置的所述多个装置的子集;以及由所述一个或多个计算装置从所识别的多个装置的子集中确定所述一个或多个所选择的装置。

在一些实施方案中,装置拓扑结构表示可以在一个或多个建筑物中的每一个内定义一个或多个房间。由装置拓扑结构表示定义的多个装置和控制装置中的每一个的位置可以分别对应于所述一个或多个房间中的至少一个。

在一些实施方案中,由所述一个或多个计算装置确定所述一个或多个所选择的装置可以包括:由所述一个或多个计算装置识别与控制装置处在相同房间的所述多个装置的子集;以及由所述一个或多个计算装置从所识别的多个装置的子集中确定所述一个或多个所选择的装置。

在一些实施方案中,由所述一个或多个计算装置从所识别的多个装置的子集中确定所述一个或多个所择选的装置可以包括:由所述一个或多个计算装置识别由语音话语引用的一个或多个装置属性;以及由所述一个或多个计算装置识别所述多个装置的所述子集中的哪一个具有所述一个或多个装置属性。

在一些实施方案中,控制装置是所述多个装置之一。

在一些实施方案中,装置拓扑结构表示可以为多个装置中的每一个指定一个或多个装置标识和一个或多个装置属性。

在一些实施方案中,由所述一个或多个计算装置确定所述一个或多个所选择的装置和一个或多个动作可以包括:由所述一个或多个计算装置至少部分地基于在装置拓扑结构表示中指定的所述一个或多个装置标识中的至少一个来确定所述一个或多个所选择的装置和所述一个或多个动作。

在一些实施方案中,由所述一个或多个计算装置确定所述一个或多个所选择的装置和一个或多个动作可以包括:由所述一个或多个计算装置至少部分地基于在装置拓扑结构表示中指定的所述一个或多个装置属性中的至少一个来确定所述一个或多个所选择的装置和所述一个或多个动作。

在一些实施方案中,该方法还可以包括由所述一个或多个计算装置至少部分地基于所述一个或多个所选择的装置和所述一个或多个动作来确定一个或多个控制命令,所述一个或多个控制命令分别指示所述一个或多个所选择的装置执行一个或多个动作。在一些实施方案中,该方法还可以包括由所述一个或多个计算装置向所述一个或多个所选择的装置提供所述一个或多个控制命令。

在一些实施方案中,执行该方法的所述一个或多个计算装置可以由控制装置组成。

本公开的另一个示例性方面涉及一种包括一个或多个处理器和一个或多个存储器装置的计算系统。所述一个或多个存储器装置可以存储当由所述一个或多个处理器执行时使得该一个或多个处理器执行操作的计算机可读指令。所述操作可以包括:接收表示语音话语的数据。语音话语可以由用户提供给控制装置。所述操作可以包括访问装置拓扑结构表示。装置拓扑结构表示可以定义与一个或多个建筑物相关联的多个智能装置。装置拓扑结构表示可以进一步在相关联的建筑物内定义多个装置和控制装置中的每一个的位置。所述操作可以包括至少部分地基于表示语音话语的数据并且进一步至少部分地基于由装置拓扑结构表示定义的控制装置在相关联的建筑物内的位置来确定一个或多个所选择的装置以及待由所述一个或多个所选择的装置执行的一个或多个动作。

在一些实施方案中,确定所述一个或多个所选择的装置可以包括:识别与控制装置共享相同位置的多个装置的子集;以及从所识别的多个装置的子集中确定所述一个或多个所选择的装置。

在一些实施方案中,装置拓扑结构表示可以在所述一个或多个建筑物中的每一个内定义一个或多个房间。由装置拓扑结构表示定义的多个装置和控制装置中的每一个的位置可以分别对应于所述一个或多个房间中的至少一个。

在一些实施方案中,确定所述一个或多个所选择的装置可以包括:识别与控制装置处在相同房间的多个装置的子集;以及从所识别的多个装置的子集中确定所述一个或多个所选择的装置。

在一些实施方案中,从所识别的多个装置的子集中确定所述一个或多个所选择的装置可以包括:识别由语音话语引用的一个或多个装置属性;以及识别所述多个装置的所述子集中的哪一个具有所述一个或多个装置属性。

在一些实施方案中,所述操作可以进一步包括:至少部分地基于所述一个或多个所选择的装置和所述一个或多个动作来确定一个或多个控制命令,所述一个或多个控制命令分别指示所述一个或多个所选择的装置执行所述一个或多个动作;以及向所述一个或多个所选择的装置提供所述一个或多个控制命令。

在一些实施方案中,计算系统可以包括控制装置,并且控制装置可以包括所述一个或多个处理器和所述一个或多个存储器装置。

本公开的另一个示例性方面涉及一种由计算机实施的方法。所述方法可以包括通过一个或多个计算装置获得装置拓扑结构表示,其描述装置拓扑结构表示中包括的多个装置中的每一个的相应位置。该多个装置可以包括一个或多个控制装置。所述方法可以包括通过所述一个或多个计算装置获得语音话语。所述方法可以包括通过所述一个或多个计算装置识别所述一个或多个控制装置中的由用户提供语音话语所对着的第一控制装置。所述方法可以包括通过所述一个或多个计算装置来确定由装置拓扑结构表示描述为具有与提供语音话语所对着的第一控制装置相同位置的多个装置的子集。所述方法可以包括由所述一个或多个计算装置至少部分地基于表示语音话语的数据来从多个装置的子集中确定一个或多个所选择的装置。

在一些实施方案中,装置拓扑结构表示可以为多个装置中的每一个装置指定特定的房间。在一些实施方案中,由所述一个或多个计算装置确定所述多个装置的子集可以包括:由所述一个或多个计算装置识别所述多个装置的该子集,对于所述多个装置的该子集,所述装置拓扑结构表示指定与提供语音话语所对着的第一控制装置相同的房间。

在一些实施方案中,所述一个或多个计算装置可以由第一控制装置组成,使得第一控制装置执行由计算机实施的方法。在一些实施方案中,所述多个装置可以包括多个控制装置。在一些实施方案中,所述多个控制装置可以分别与多个位置相关联。例如,所述多个控制装置可以分别与多个房间相关联。

本文讨论的技术参考了服务器、数据库、软件应用程序和其它基于计算机的系统,以及向这些系统和从这些系统采取的动作和发送的信息。本领域普通技术人员将认识到,基于计算机的系统的固有灵活性允许组件之间和之中的对于任务和功能的各种可能的配置、组合和划分。例如,本文讨论的服务器进程可以使用单个服务器或多个以组合方式工作的服务器实施。数据库和应用程序可以在单个系统上实施或分布在多个系统上。分布式组件可以依次或并行操作。

虽然已经关于本发明的主题的具体示例性实施例详细描述了本发明的主题,但是应当理解,本领域技术人员在获知和理解前述内容后可以容易地产生对这些实施例的替代、变化和等同物。因此,本公开的范围是作为示例而不是限制,并且本公开不排除对本发明主题的这样的修改、变化和/或添加,这对于本领域普通技术人员将是显而易见的。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜