首页 > 乐器声学 专利正文
集线器设备、包括集线器设备和多个设备的多设备系统及其操作方法与流程

时间:2022-02-18 阅读: 作者:专利查询

集线器设备、包括集线器设备和多个设备的多设备系统及其操作方法与流程

1.本公开涉及集线器设备、包括集线器设备的多设备系统以及操作所述集线器设备的方法。例如,根据实施例,集线器设备可以从集线器设备本身和多个其他电子设备当中确定用于在多设备环境中根据用户的意图(例如,包括在从用户接收的语音输入中)执行操作的操作执行设备(例如,物联网(iot)设备)。根据实施例,集线器设备可以控制确定的操作执行设备。


背景技术:

2.随着多媒体技术和网络技术的发展,用户可以通过使用设备iot设备(诸如空气净化器或电视机(tv))来接收各种服务。特别地,随着诸如虚拟个人助理技术的语音识别技术的发展,用户可以向设备(例如,收听设备)输入语音(例如,话语),并可以通过服务提供代理(例如,虚拟助理)接收对语音输入的响应消息。
3.然而,在诸如包括多个iot设备的家庭网络环境的多设备系统中,当用户想要通过使用尚未注册以通过语音输入等进行交互的未注册iot设备来接收服务时,用户不得不不方便地注册iot设备(例如,包括选择iot设备以提供服务)。具体地,因为由多个iot设备提供的服务的类型不同,所以需要能够识别包括在用户的语音输入中的意图并有效地提供相应服务的技术。
4.为了识别包括在用户的语音输入中的意图,可以使用人工智能(ai)技术,并还可以使用基于规则的自然语言理解(nlu)技术。当通过集线器设备接收到用户的语音输入时,因为集线器设备可能不会根据语音输入直接选择用于提供服务的设备,且不得不通过使用单独的语音助理服务提供服务器来控制设备,所以用户可能不得不支付网络使用费,并且因为使用语音助理服务提供服务器,所以响应速度降低。


技术实现要素:

5.问题的解决方案
6.本公开涉及一种集线器设备、包括集线器设备和多个设备的多设备系统及其操作方法,并且更具体地,涉及一种集线器设备、多设备系统及其操作方法,集线器设备接收用户的语音输入,基于接收的语音输入根据用户的意图自动确定用于执行操作的设备,并根据确定的设备提供执行服务所需的多条信息。
7.另外的方面将部分地在下面的描述中阐述,并部分地将从描述中变得清楚,或可以通过实践本公开所呈现的实施例来学习。
附图说明
8.根据以下结合附图的描述,本公开的特定实施例的上述和其他方面、特征和优点将更加清楚,并且,相同的附图标记表示相同的结构元件,其中:
9.图1是图示根据本公开的实施例的包括集线器设备、语音助理服务器、物联网(iot)服务器和多个设备的多设备系统的一些元件的框图;
10.图2是图示根据本公开的实施例的集线器设备的元件的框图;
11.图3是图示根据本公开的实施例的语音助理服务器的元件的框图;
12.图4是图示根据本公开的实施例的iot服务器的元件的框图;
13.图5是图示根据本公开的实施例的多个设备的一些元件的框图;
14.图6是根据本公开的实施例的由集线器设备执行的基于语音输入来控制设备的方法的流程图;
15.图7是根据本公开的实施例的由集线器设备执行的向集线器设备、语音助理服务器和操作执行设备中的一个根据用户的语音输入提供文本的至少一部分的方法的流程图;
16.图8是根据本公开的实施例的操作集线器设备、语音助理服务器、iot服务器和操作执行设备的方法的流程图;
17.图9是根据本公开的实施例的操作集线器设备和操作执行设备的方法的流程图;
18.图10是根据本公开的实施例的操作集线器设备和操作执行设备的方法的流程图;
19.图11是根据本公开的实施例的操作集线器设备、语音助理服务器、iot服务器、第三方iot服务器和第三方设备的方法的流程图;
20.图12a是图示根据本公开的实施例的集线器设备和多个设备的操作的概念图;
21.图12b是图示根据本公开的实施例的集线器设备和多个设备的操作的概念图;
22.图13是图示根据本公开的实施例的在其中集线器设备基于从收听设备接收的语音信号确定操作执行设备并将文本发送到存储与操作执行设备相对应的功能确定模型的设备的方法的流程图;
23.图14是图示根据本公开的实施例的在其中集线器设备将文本发送到存储与操作执行设备相对应的功能确定模型的设备的方法的流程图;
24.图15是图示根据本公开的实施例的操作集线器设备、语音助理服务器和收听设备的方法的流程图;
25.图16是图示根据本公开的实施例的操作集线器设备、语音助理服务器、收听设备和操作执行设备的方法的流程图;
26.图17是图示根据本公开的实施例的操作执行设备更新功能确定模型的示例的示图;
27.图18是图示根据本公开的实施例的操作集线器设备、语音助理服务器、iot服务器和操作执行设备的方法的流程图;
28.图19是图示根据本公开的实施例的操作集线器设备、语音助理服务器、iot服务器和新设备的方法的流程图;
29.图20是图示包括集线器设备、语音助理服务器和多个设备的多设备系统环境的示图;以及
30.图21a和图21b是图示根据本公开的实施例的可由集线器设备和语音助理服务器执行的语音助理模型的示图。
31.最佳实施方式
32.根据本公开的实施例,一种由集线器设备执行的基于语音输入来控制设备的方法
包括:接收用户的语音输入;通过执行自动语音识别(asr)将接收的语音输入转换为文本;通过使用设备确定模型,基于所述文本确定操作执行设备;从连接到所述集线器设备的多个设备当中识别存储与确定的操作执行设备相对应的功能确定模型的设备;以及将所述文本的至少一部分提供给识别的设备。
33.设备确定模型可以包括第一自然语言理解(nlu)模型,被配置为分析文本并基于文本的分析结果来确定操作执行设备。
34.功能确定模型可以包括第二nlu模型,被配置为分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由确定的操作执行设备执行的操作相关的操作信息。
35.所述方法还可以包括从多个设备当中存储功能确定模型的至少一个设备获得关于存储在至少一个设备中的功能确定模型的信息,其中,所述功能确定模型用于确定与多个设备中的每一个相关的功能。
36.设备的识别可以包括:基于获得的关于功能确定模型的信息,识别存储与确定的操作执行设备相对应的功能确定模型的设备。
37.根据本公开的另一实施例,一种用于基于语音输入来控制设备的集线器设备包括:通信接口,被配置为与多个设备、语音助理服务器和物联网(iot)服务器中的至少一个执行数据通信;麦克风,被配置为接收用户的语音输入;存储器,被配置为存储包括一个或多个指令的程序;以及处理器,被配置为执行存储在存储器中的程序的一个或多个指令,其中,处理器还被配置为执行一个或多个指令以通过执行自动语音识别(asr)将通过麦克风接收的语音输入转换为文本,通过使用设备确定模型基于文本从多个设备当中确定操作执行设备,通过使用功能确定设备确定模块来识别存储与确定的操作执行设备相对应的功能确定模型的设备,以及控制所述通信接口向识别的设备提供所述文本的至少一部分。
38.设备确定模型可以包括第一自然语言理解(nlu)模型,被配置为分析文本并基于文本的分析结果来确定操作执行设备。
39.功能确定模型可以包括第二nlu模型,被配置为分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由确定的操作执行设备执行的操作相关的操作信息。
40.处理器还可以被配置为执行一个或多个指令以控制通信接口从多个设备当中存储功能确定模型的至少一个设备获得关于存储在至少一个设备中的功能确定模型的信息,其中,所述功能确定模型用于确定与多个设备中的每一个相关的功能。
41.处理器还可以被配置为执行一个或多个指令,以基于获得的关于功能确定模型的信息来识别存储与确定的操作执行设备相对应的功能确定模型的设备。
42.根据本公开的另一实施例,一种操作系统的方法,所述系统包括集线器设备和存储功能确定模型的第一设备,所述方法包括:由所述集线器设备接收用户的语音输入;通过使用关于存储在集线器设备的存储器中的asr模块的数据执行自动语音识别(asr),将接收的语音输入转换为文本;通过使用关于存储在所述集线器设备的所述存储器中的设备确定模型的数据,基于所述文本将第一设备确定为操作执行设备;由所述集线器设备从第一设备获得关于存储在第一设备中的所述功能确定模型的信息;以及由集线器设备基于获得的关于功能确定模型的信息将文本的至少一部分发送到第一设备。
43.设备确定模型可以包括第一自然语言理解(nlu)模型,被配置为分析文本并基于文本的分析结果从多个设备中确定第一设备作为操作执行设备。
44.功能确定模型可以包括第二nlu模型,被配置为分析从集线器设备接收的文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由第一设备执行的操作相关的操作信息。
45.所述方法还可以包括:由第一设备通过使用功能确定模型的第二nlu模型来分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由第一设备执行的操作相关的操作信息。
46.所述方法还可以包括:由第一设备基于操作信息生成用于控制第一设备的操作的控制命令;以及由第一设备基于所述控制命令执行所述操作。
47.根据本公开的另一实施例,多设备系统包括集线器设备和存储功能确定模型的第一设备,其中,集线器设备包括:通信设备,被配置为与第一设备执行数据通信;麦克风,被配置为接收用户的语音输入;存储器,被配置为存储包括一个或多个指令的程序;以及处理器,被配置为执行存储在存储器中的程序的一个或多个指令,其中,处理器还被配置为执行一个或多个指令以通过执行自动语音识别(asr)将通过麦克风接收的语音输入转换为文本,通过使用设备确定模型基于文本将第一设备确定为操作执行设备,控制通信接口从第一设备获得存储在第一设备中的关于功能确定模型的信息,以及基于获得的关于所述功能确定模型的信息,控制所述通信接口将所述文本的至少一部分发送到第一设备。
48.设备确定模型可以包括第一自然语言理解(nlu)模型,被配置为分析文本并基于文本的分析结果从多个设备中确定第一设备作为操作执行设备。
49.第一设备可以包括通信接口,被配置为从所述集线器设备接收文本的至少一部分,其中,所述功能确定模型包括第二nlu模型,被配置为分析接收的文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由第一设备执行的操作相关的操作信息。
50.第一设备还可以包括处理器,被配置为通过使用第二nlu模型来分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得要由第一设备执行的操作信息。
51.第一设备的处理器还可以被配置为控制第一设备的至少一个元件以基于操作信息生成用于控制第一设备的操作的控制命令,并基于控制命令执行操作。
52.根据本公开的另一实施例,一种由集线器设备执行的控制设备的方法包括:从收听设备接收语音信号;通过执行自动语音识别(asr),将接收的语音信号转换为文本;通过使用第一自然语言理解(nlu)模型来分析所述文本,并通过使用设备确定模型来确定与分析的文本相对应的操作执行设备;从确定的操作执行设备和收听设备中识别存储与确定的操作执行设备相对应的功能确定模型的设备;以及将所述文本的至少一部分提供给识别的设备。
53.设备确定模型可以包括第一nlu模型,被配置为分析文本并基于文本的分析结果确定操作执行设备。
54.功能确定模型可以包括第二nlu模型,被配置为分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得于要由确定的操作执行设备执行的操作相关的操作信息。
55.所述方法还可以包括确定所述确定的操作执行设备是否与收听设备相同。
56.基于确定操作执行设备与收听设备相同,识别存储功能确定模型的设备可以包括:获得关于收听设备是否将功能确定模型存储在内部存储器中的功能确定模型信息;以及基于获得的功能确定模型信息,将收听设备确定为存储功能确定模型的设备。
57.基于确定操作执行设备是与收听设备不同的设备,识别存储功能确定模型的设备可以包括:获得关于确定的操作执行设备是否将功能确定模型存储在内部存储器中的功能确定模型信息;以及基于获得的功能确定模型信息,确定操作执行设备是否是存储功能确定模型的设备。
58.所述方法还可以包括:从语音助理服务器接收设备确定模型的更新数据;以及通过使用接收的更新数据来更新所述设备确定模型。
59.更新数据可以包括以下数据,所述数据用于基于包括在操作执行设备或收听设备中的至少一个中的功能确定模型的更新信息来更新设备确定模型,以从文本确定更新的功能并确定与更新的功能相对应的操作执行设备。
60.所述方法还可以包括:从语音助理服务器接收新设备的设备信息,其中,所述新设备的设备信息包括新设备的设备标识信息、设备确定模型的存储信息和功能确定模型的存储信息中的至少一个;以及通过使用接收的新设备的设备信息,将新设备添加到可由设备确定模型确定为操作执行设备的设备候选中,来更新设备确定模型。
61.根据本公开的另一实施例,一种用于控制设备的集线器设备包括:通信接口,被配置为与语音助理服务器和包括收听设备的多个设备中的至少一个执行数据通信;语音信号接收器,被配置为从所述收听设备接收语音信号;存储器,被配置为存储包括一个或多个指令的程序;以及处理器,被配置为执行存储在存储器中的程序的一个或多个指令,其中,处理器还被配置为通过执行自动语音识别(asr)将接收的语音信号转换为文本,通过使用第一自然语言理解(nlu)模型分析文本,并通过使用设备确定模型确定与分析的文本相对应的操作执行设备,从确定的操作执行设备和收听设备中识别存储与确定的操作执行设备相对应的功能确定模型的设备,以及通过使用所述通信接口将文本的至少一部分发送到识别的设备。
62.设备确定模型可以包括第一nlu模型,被配置为分析文本并基于文本的分析结果确定操作执行设备。
63.功能确定模型可以包括第二nlu模型,被配置为分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得于要由确定的操作执行设备执行的操作相关的操作信息。
64.处理器还可以被配置为确定所述确定的操作执行设备是否与收听设备相同。
65.基于确定操作执行设备与收听相同,处理器还可以被配置为获得关于收听设备是否将功能确定模型存储在内部存储器中的功能确定模型信息,并基于获得的功能确定模型信息将收听设备确定为存储功能确定模型的设备。
66.基于确定操作执行设备是与收听设备不同的设备,处理器还可以被配置为获得关于确定的操作执行设备是否将功能确定模型存储在内部存储器中的功能确定模型信息,并基于获得的功能确定模型信息来确定操作执行设备是否是存储功能确定模型的设备。
67.处理器还可以被配置为通过使用通信接口从语音助理服务器接收设备确定模型的更新数据,并通过使用接收的更新数据来更新设备确定模型。
68.更新数据可以包括以下所述,所述数据用于基于包括在操作执行设备和收听设备中的至少一个中的功能确定模型的更新信息来更新设备确定模型,以从文本确定更新的功能并确定与更新的功能相对应的操作执行设备。
69.处理器还可以被配置为通过使用通信接口从语音助理服务器接收包括新设备的设备标识信息、设备确定模型的存储信息和功能确定模型的存储信息中的至少一个的新设备的设备信息,并通过使用接收的新设备的设备信息将新设备添加到可由设备确定模型确定为操作执行设备的设备候选,来更新设备确定模型。
70.根据本公开的实施例,一种方法可以包括:基于由集线器设备接收到用户的语音输入:由集线器设备通过执行自动语音识别(asr)将接收的语音输入转换为文本;由集线器设备识别能够执行与文本相对应的操作的设备;从集线器设备和连接到集线器设备的多个其他设备中识别哪个设备存储与能够执行对应于文本的操作的设备相对应的功能确定模型;以及基于识别的存储功能确定模型的设备是与集线器设备不同的设备,将文本的至少一部分发送到识别的设备,其中,集线器设备包括硬件处理器。
71.所述方法还可以包括使用第一自然语言理解(nlu)模型来分析文本,并基于文本的分析结果来确定能够执行操作的设备,其中,nlu是设备确定模型。
72.所述方法还可以包括使用包括在设备确定模型中的第二自然语言理解(nlu)模型来分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得与对应于文本的操作相关的操作信息。
73.所述方法还可以包括从存储功能确定模型的至少一个设备获得关于存储在至少一个设备中的功能确定模型的信息。
74.识别哪个设备存储功能确定模型可以包括:基于获得的关于功能确定模型的信息,识别存储与识别的能够执行操作的设备相对应的功能确定模型的设备。
75.根据实施例,一种用于基于语音输入来控制设备的集线器设备可以包括:通信接口,被配置为与多个设备、语音助理服务器和物联网(iot)服务器中的至少一个执行数据通信;麦克风,被配置为接收用户的语音输入;存储器,被配置为存储包括一个或多个指令的程序;以及处理器,被配置为执行存储在存储器中的程序的一个或多个指令,以:通过执行自动语音识别(asr)将通过麦克风接收的语音输入转换为文本,识别能够执行与文本相对应的操作的设备;从集线器设备和连接到集线器设备的多个其他设备中识别哪个设备存储与能够执行对应于文本的操作的设备相对应的功能确定模型;以及基于识别的存储所述功能确定模型的设备是与所述集线器设备不同的设备,控制通信接口将文本的至少一部分发送到识别的存储功能确定模型的设备,其中,集线器设备包括硬件处理器。
76.处理器还可以被配置为使用包括被配置为分析文本的第一自然语言理解(nlu)模型的设备确定模型来识别能够执行与文本相对应的操作的设备,并基于文本的分析结果来确定能够执行与文本相对应的操作的设备。
77.所述功能确定模型可以包括第二nlu模型,被配置为分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由能够执行对应于文本的操作的设备执行的操作相关的操作信息。
78.处理器还可以被配置为执行一个或多个指令以控制通信接口从多个设备当中存储功能确定模型的至少一个设备获得关于存储在至少一个设备中的功能确定模型的信息,
其中,所述功能确定模型用于确定与多个设备中的每一个相关的功能。
79.处理器还可以被配置为执行一个或多个指令以基于获得的关于功能确定模型的信息来识别哪个设备存储与能够执行对应于文本的操作的设备相对应的功能确定模型。
80.根据实施例,一种操作系统的方法,所述系统包括集线器设备和存储功能确定模型的第一设备,所述方法包括:基于由集线器设备接收到用户的语音输入:由集线器设备通过使用关于存储在集线器设备的存储器中的asr模块的数据执行自动语音识别(asr)来将接收的语音输入转换为文本;由集线器设备通过使用存储在集线器设备的存储器中的数据将第一设备识别为能够执行与文本相对应的操作的设备;由集线器设备从第一设备获得关于存储在第一设备中的功能确定模型的信息;以及由集线器设备基于获得的关于功能确定模型的信息将文本的至少一部分发送到第一设备。
81.所述方法还可以包括:使用第一自然语言理解(nlu)模型分析文本,并基于文本的分析结果从多个设备当中将第一设备确定为能够执行与文本相对应的操作的设备。
82.所述方法还可以包括使用功能确定模型进行分析,包括:使用包括在设备确定模型中的第二自然语言理解(nlu)模型来分析从集线器设备接收的文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由第一设备执行的操作相关的操作信息。
83.所述方法还可以包括:由第一设备通过使用功能确定模型的第二nlu模型来分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由第一设备执行的所述操作相关的操作信息。
84.所述方法还可以包括:由第一设备基于操作信息生成用于控制第一设备的操作的控制命令;以及由第一设备基于控制命令执行操作。
85.根据实施例,一种多设备系统可以包括集线器设备和存储功能确定模型的第一设备,其中,集线器设备包括:通信接口,被配置为与存储功能确定模型的第一设备执行数据通信;麦克风,被配置为接收用户的语音输入;存储器,被配置为存储包括一个或多个指令的程序;以及处理器,被配置为执行存储在存储器中的程序的一个或多个指令,以:通过执行自动语音识别(asr)将通过麦克风接收的语音输入转换为文本,将第一设备识别为能够执行与文本相对应的操作的设备,控制通信接口从第一设备获得存储在第一设备中的关于功能确定模型的信息,以及基于获得的关于功能确定模型的信息,控制通信接口将文本的至少一部分发送到第一设备,其中,集线器设备包括硬件处理器。
86.处理器还可以被配置为通过使用包括第一自然语言理解(nlu)模型的设备确定模型来分析文本,将第一设备识别为能够执行与文本相对应的操作的设备,并基于文本的分析结果,将多个设备当中的第一设备确定为能够执行与文本相对应的操作的设备。
87.第一设备可以包括通信接口,被配置为从集线器设备接收文本的至少一部分,其中,所述功能确定模型包括第二nlu模型,被配置为分析接收的文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由第一设备执行的操作相关的操作信息。
88.第一设备还可以包括处理器,被配置为通过使用第二nlu模型来分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得要由第一设备执行的操作信息。
89.第一设备的处理器还可以被配置为控制第一设备的至少一个元件以基于操作信息生成用于控制第一设备的操作的控制命令,并基于控制命令执行操作。
90.根据实施例,一种方法可以包括:基于由集线器设备从收听设备接收到语音信号:
由集线器设备通过执行自动语音识别(asr)将接收的语音信号转换为文本;通过使用第一自然语言理解(nlu)模型来分析文本,并通过使用设备确定模型来识别能够执行与分析的文本相对应的操作的设备;从能够执行所述操作的设备和收听设备中识别哪个设备存储与能够执行所述操作的设备相对应的功能确定模型;以及将文本的至少一部分发送到识别的设备。
91.所述方法还可以包括使用包括在所述设备确定模型中的第一nlu模型来分析文本,并基于文本的分析结果来确定能够执行操作的设备。
92.所述方法还可以包括使用包括在设备确定模型中的第二自然语言理解(nlu)模型来分析文本的至少一部分,并基于文本的至少一部分的分析结果来获得与要由能够执行操作的设备执行的操作相关的操作信息。
93.所述方法还可以包括确定能够执行操作的设备是否与收听设备相同。
94.所述方法还可以包括基于确定能够执行操作的设备与收听设备相同,识别存储功能确定模型的设备,包括:获得关于收听设备是否将功能确定模型存储在内部存储器中的功能确定模型信息;以及基于获得的功能确定模型信息,将收听设备确定为存储功能确定模型的设备。
95.所述方法还可以包括基于确定能够执行操作的设备是与收听设备不同的设备,识别存储功能确定模型的设备,包括:获得关于能够执行操作的设备是否将功能确定模型存储在内部存储器中的功能确定模型信息;以及基于获得的功能确定模型信息,确定能够执行操作的设备是否是存储功能确定模型的设备。
96.所述方法还可以包括:从语音助理服务器接收设备确定模型的更新数据;以及通过使用接收的更新数据来更新所述设备确定模型。
97.更新数据可以包括以下数据,所述数据用于更新设备确定模型以从文本确定更新的功能并基于包括在能够执行操作的设备和收听设备中的至少一个中的功能确定模型的更新信息来确定能够执行与更新的功能相对应的操作的设备。
98.所述方法还可以包括:从语音助理服务器接收新设备的设备信息,所述新设备的设备信息包括新设备的设备标识信息、设备确定模型的存储信息和功能确定模型的存储信息中的至少一个;以及通过使用接收的新设备的设备信息,将新设备添加到可由设备确定模型确定为能够执行操作的设备的设备候选中,来更新设备确定模型。
99.根据实施例,集线器设备可以包括:通信接口,被配置为与语音助理服务器和包括收听设备的多个设备中的至少一个执行数据通信;语音信号接收器,被配置为从收听设备接收语音信号;存储器,被配置为存储包括一个或多个指令的程序;以及处理器,被配置为执行存储在存储器中的程序的一个或多个指令,以:通过执行自动语音识别(asr)将接收的语音信号转换为文本,通过使用第一自然语言理解(nlu)模型分析文本,并通过使用设备确定模型识别能够执行与分析的文本相对应的操作的设备,从能够执行操作的设备和收听设备中识别哪个设备存储与能够执行操作的设备相对应的功能确定模型,以及通过使用通信接口将文本的至少一部分发送到识别的存储功能确定模型的设备。
100.设备确定模型可以包括第一nlu模型,被配置为分析文本并基于文本的分析结果确定能够执行操作的设备。
101.所述功能确定模型可以包括第二nlu模型,被配置为分析文本的至少一部分,并基
于文本的至少一部分的分析结果来获得与要由能够执行操作的设备执行的操作相关的操作信息。
102.处理器还可以被配置为确定能够执行操作的设备是否与收听设备相同。
103.处理器还可以被配置为:基于确定能够执行操作的设备与收听设备相同,处理器还被配置为获得关于收听设备是否将功能确定模型存储在内部存储器中的功能确定模型信息,并基于获得的功能确定模型信息将收听设备确定为存储功能确定模型的设备。
104.处理器还可以被配置为:基于确定能够执行操作的设备是与收听设备不同的设备,处理器还被配置为获得关于能够执行操作的设备是否将功能确定模型存储在内部存储器中的功能确定模型信息,并基于获得的功能确定模型信息来确定能够执行操作的设备是否是存储功能确定模型的设备。
105.处理器还可以被配置为:通过使用通信接口从语音助理服务器接收设备确定模型的更新数据,以及通过使用接收的更新数据来更新设备确定模型。
106.更新数据可以包括以下数据,所述数据用于更新设备确定模型以从文本确定更新的功能并基于包括在能够执行操作的设备和收听设备中的至少一个中的功能确定模型的更新信息来确定能够执行与更新的功能相对应的操作的设备。
107.处理器还可以被配置为:通过使用通信接口从语音助理服务器接收新设备的设备信息,所述新设备的设备信息包括新设备的设备标识信息、设备确定模型的存储信息和功能确定模型的存储信息中的至少一个,并通过使用接收的新设备的设备信息,将新设备添加到可由设备确定模型确定为能够执行操作的设备的设备候选,来更新设备确定模型。
108.根据实施例,一种方法可以包括:基于由集线器设备检测到用户的语音:由集线器设备通过执行自动语音识别(asr)将接收的语音输入转换为文本;由集线器设备识别用户的意图;由集线器设备识别能够执行与文本相对应的操作的物联网(iot)设备;从集线器设备和连接到集线器设备的多个其他设备当中识别哪个设备存储与能够执行对应于文本的操作的iot设备相对应的功能确定模型;以及基于识别的存储功能确定模型的设备是与集线器设备不同的设备,将文本的至少一部分发送到识别的设备,其中,集线器设备包括硬件处理器。
109.所述方法还可以包括:由集线器设备以查找表(lut)的形式存储关于先前使用用户账户注册的多个iot设备中的每一个的功能确定模型是否与关于多个iot设备中的每一个的功能确定模型的存储位置的信息相关联的信息。
110.所述方法还可以包括:通过使用功能确定模型来获得与要由iot设备执行的对应于文本的操作相关的操作信息。
具体实施方式
111.本技术基于并要求分别于2019年6月17日和2019年9月25日向美国专利商标局提交的第62/862,201号和第62/905,707号美国临时专利申请的权益,并要求分别于2019年5月2日、2019年10月4日和2020年3月4日向韩国知识产权局提交的第10

2019

0051824号、第10

2019

0123310号和第10

2020

0027217号韩国专利申请的优先权,其公开内容通过引用被整体合并于此。
112.尽管本文使用的术语是考虑到它们在本公开中的功能而从当前广泛使用的常见
术语中选择的,但是这些术语可以根据本领域普通技术人员的意图、先例或新技术的出现而变化。此外,在特定情况下,术语由本公开的申请人随意选择,并且这些术语的含义将在具体实施例的对应部分中详细描述。因此,本公开中使用的术语不仅仅是术语的指定,而是基于贯穿本公开的术语和内容的含义来定义术语。
113.在整个公开内容中,表述“a、b和c中的至少一个”表示仅a、仅b、仅c、a和b两者、a和c两者、b和c两者、a、b和c全部或其变体。
114.如本文所使用的,除非上下文另有明确说明,单数形式旨在也包括复数形式。本文使用的包括技术和科学术语的术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
115.在整个本技术中,当部件“包括”元件时,应当理解,只要没有特定的相反叙述,所述部件额外包括其他元件而不是排除其他元件。此外,本公开中使用的诸如
“…
单元”、“模块”等术语指示处理至少一个功能或运动的单元,并且所述单元可以被实现为硬件或软件,或者硬件和软件的组合。
116.本文使用的表述“被配置为(或设置为)”可以根据情况用例如“适合于”、“具有
……
的能力”、“被设计为”、“适于”、“被制造为”或“能够”替换。表述“被配置为(或设置为)”可能不一定意味着硬件中的“专门设计为”。相反,在一些情况下,表述“被配置为

的系统”可以意味着所述系统与其他设备或部件一起“能够
…”
。例如,“被配置为(或被设置为)执行a、b和c的处理器”可以指用于执行对应操作的专用处理器(例如,嵌入式处理器)、或能够通过执行存储在存储器中的一个或多个软件程序来执行对应操作的通用处理器(例如,中央处理单元(cpu)或应用处理器(ap))。
117.根据本公开的实施例,本文使用的术语“第一自然语言理解(nlu)模型”可以指被训练为分析从语音输入转换的文本并基于分析结果确定操作执行设备的模型。第一nlu模型可以用于通过解释文本来确定意图,并基于意图来确定操作执行设备。
118.根据本公开的实施例,本文使用的术语“第二nlu模型”可以指被训练为分析与特定设备相关的文本的模型。第二nlu模型可以是被训练为通过解释文本的至少一部分来获得与要由特定设备执行的操作相关的操作信息的模型。第二nlu模型的存储容量可以大于第一nlu模型的存储容量。
119.根据本公开的实施例,本文使用的术语“意图”可以指通过解释文本确定的指示用户意图的信息。作为指示用户的话语意图的信息的意图可以是指示用户请求的操作执行设备的操作的信息。可以通过使用nlu模型解释文本来确定意图。例如,基于从用户的语音输入转换的文本是“在tv上播放电影复仇者”,可以确定意图是“内容回放”。可替代地,基于从用户的语音输入转换的文本是“将空调温度降低到18℃”,可以确定意图是“温度控制”。
120.根据本公开的实施例,意图不仅可以包括指示用户的话语意图的信息(在下文中,称为意图信息),还可以包括与指示用户意图的信息相应的数值。数值可以指示文本与指示特定意图的信息相关的概率。在通过使用nlu模型解释文本之后,当获得指示用户意图的多条意图信息时,可以将具有与多条意图信息相对应的多个数值当中的最大数值的意图信息确定为意图。
121.根据本公开的实施例,本文使用的术语设备的“操作”可以指当设备执行特定功能时由设备执行的至少一个动作。根据本公开的实施例,操作可以指示当设备执行应用时由
设备执行的至少一个动作。例如,当设备执行应用时,操作可以指示例如以下之一:视频回放、音乐回放、电子邮件创建、天气信息接收、新闻信息显示、玩游戏和执行的摄影。然而,操作不限于上述示例。
122.根据本公开的实施例,可以基于从动作计划管理模块输出的关于详细操作的信息来执行设备的操作。根据本公开的实施例,设备可以通过执行与从动作计划管理模块输出的详细操作相对应的功能来执行至少一个动作。根据本公开的实施例,设备可以存储用于执行与详细操作相对应的功能的指令,并且,当详细操作被确定时,设备可以确定与详细操作相对应的指令,并可以通过执行指令来执行特定功能。
123.此外,根据实施例,设备可以存储用于执行与详细操作相对应的应用的指令。根据本公开的实施例,用于执行应用的指令可以包括用于执行应用本身的指令和用于执行构成应用的详细功能的指令。基于确定详细操作,设备可以通过执行用于执行与详细操作相对应的应用的指令来执行应用,并可以通过执行用于执行与详细操作相对应的应用的详细功能的指令来执行详细功能。
124.根据本公开的实施例,本文使用的术语“操作信息”可以指与要由设备确定的详细操作、每个详细操作与另一详细操作之间的关系以及详细操作的执行顺序相关的信息。根据本公开的实施例,当要执行第一操作时,每个详细操作与另一详细操作之间的关系可以包括关于在执行第一操作之前不得不执行的第二操作的信息。例如,当要执行的操作是“音乐回放”时,“通电”可以是在执行“音乐回放”之前不得不执行的另一详细操作。根据本公开的实施例,操作信息可以包括但不限于以下项中的一个或多个:要由操作执行设备执行以执行特定操作的功能、功能的执行顺序、执行功能所需的输入值以及作为功能的执行结果输出的输出值。
125.根据本公开的实施例,本文使用的术语“操作执行设备”可以指被确定为多个设备当中基于从文本获得的意图来执行操作的设备。可以通过使用第一nlu模型来分析文本,并可以基于分析结果来确定操作执行设备。根据本公开的实施例,操作执行设备可以通过执行与从动作计划管理模块输出的详细操作相对应的功能来执行至少一个动作。根据本公开的实施例,操作执行设备可以基于操作信息执行操作。
126.根据本公开的实施例,本文使用的术语“动作计划管理模块”可以指用于管理要由操作执行设备执行的详细操作以及与设备的详细操作相关的操作信息以生成详细操作的执行顺序的模块。根据本公开的实施例,动作计划管理模块可以管理关于设备根据设备类型的详细操作以及详细操作之间的关系的操作信息。
127.根据本公开的实施例,本文使用的术语“物联网(iot)服务器”可以指获得、存储和管理关于多个设备(例如,包括iot设备、移动电话等)中的每个设备的iot设备信息的服务器。iot服务器可以通过使用存储的设备信息来获得、确定或生成用于控制设备(例如,iot设备)的控制命令。根据本公开的实施例,iot服务器可以基于操作信息将控制命令发送到确定执行操作的设备。根据本公开的实施例,iot服务器可以被实现为但不限于独立于本公开的“服务器”的硬件设备。根据实施例,iot服务器可以是本公开的“语音助理服务器”的元件,或者可以是被设计成分类为软件的服务器。在下文中,将参考附图详细描述本公开的实施例,以便使本领域普通技术人员能够容易地实施和实践本公开。然而,根据本公开的实施例,本公开可以以许多不同的形式实施,并且不应被解释为限于本文阐述的本公开的实施
例。
128.现在将详细参考本公开的实施例,其示例在附图中示出。
129.图1是图示根据本公开的实施例的包括集线器设备1000、语音助理服务器2000、iot服务器3000和多个设备4000的多设备系统的一些元件的框图。
130.在图1的实施例中,图示了用于描述集线器设备1000、语音助理服务器2000、iot服务器3000和多个设备4000的操作的元件。集线器设备1000、语音助理服务器2000、iot服务器3000和多个设备4000中所包括的元件不限于图1中图示的那些元件。
131.图1中由箭头标记的附图标记s1至s16表示通过网络在多个实体之间的数据移动操作(发送或接收)。在s1至s16中附加到英文字母s的数字是为了便于解释,与数据移动操作(发送或接收)的顺序无关。
132.参考图1,根据本公开的实施例,集线器设备1000、语音助理服务器2000、iot服务器3000和多个设备4000可以通过使用有线通信或无线通信方法彼此连接,并可以执行通信。在本公开的实施例中,集线器设备1000和多个设备4000可以彼此直接连接或经由通信网络连接,但是本公开不限于此。根据实施例,集线器设备1000和多个设备4000可以连接到语音助理服务器2000,并且集线器设备1000可以通过语音助理服务器2000连接到多个设备4000。此外,根据实施例,集线器设备1000和多个设备4000可以连接到iot服务器3000。在本公开的另一实施例中,集线器设备1000和多个设备4000中的每个设备可以通过通信网络连接到语音助理服务器2000,并可以通过语音助理服务器2000连接到iot服务器3000。
133.根据实施例,集线器设备1000、语音助理服务器2000、iot服务器3000和多个设备4000可以通过以下中的一个或多个连接:局域网(lan)、广域网(wan)、增值网络(van)、移动无线电通信网络、卫星通信网络或其组合。无线通信方法的示例可以包括但不限于wi

fi(无线保真)、蓝牙、蓝牙低功耗(ble)、zigbee、wi

fi直连(wfd)、超宽带(uwb)、红外数据协会(irda)或近场通信(nfc)。
134.根据实施例,集线器设备1000可以是接收用户的语音输入并基于接收的语音输入来控制多个设备4000中的至少一个的设备。根据本公开的实施例,集线器设备1000可以是从用户接收语音输入的收听设备。
135.根据实施例,多个设备4000中的至少一个可以是通过接收集线器设备1000或iot服务器3000的控制命令来执行特定操作的操作执行设备。根据本公开的实施例,多个设备4000可以是通过使用与集线器设备1000的用户账户相同的用户账户登录并通过使用集线器设备1000的用户账户先前注册到iot服务器3000的iot设备。
136.根据实施例,多个设备4000中的至少一个可以是接收语音数据(例如,来自用户的语音输入)的收听设备。收听设备可以是但不限于被设计用于处理用户语音的设备(例如,仅接收和处理来自人类用户或来自特定注册用户的语音输入的设备)。在本公开的实施例中,收听设备可以是从集线器设备1000接收控制命令并执行用于特定功能的操作的操作执行设备。
137.根据本公开的实施例,多个设备4000中的至少一个可以从iot服务器3000接收控制命令(s12、s14和s16),或者可以从集线器设备1000接收从输入的语音转换的文本的至少一部分(s3和s5)。根据本公开的实施例,多个设备4000中的至少一个可以从iot服务器3000接收控制命令(s12、s14和s16),而不从集线器设备1000接收文本的至少一部分。
138.根据实施例,集线器设备1000可以包括设备确定模型1330,设备确定模型1330基于用户的语音输入来确定用于执行操作的设备。根据实施例,设备确定模型1330可以从根据用户账户注册的多个设备4000当中确定操作执行设备。在本公开的实施例中,集线器设备1000可以从语音助理服务器2000接收包括多个设备4000中的每一个的标识信息(例如,设备id信息)、多个设备4000中的每一个的设备类型、多个设备4000中的每一个的功能执行能力、位置信息和状态信息中的至少一个的设备信息(s2)。根据实施例,多个设备4000中的每一个是iot设备。根据实施例,集线器设备1000可以通过使用关于设备确定模型1330的数据,基于接收的设备信息,从多个设备4000当中确定用于根据用户的语音输入执行操作的设备(例如,iot设备)。
139.根据本公开的实施例,与由集线器设备1000确定的操作执行设备相对应的功能确定模型可以存储在集线器设备1000的存储器1300(参见图2)中、可以存储在操作执行设备本身中,或者可以存储在语音助理服务器2000的存储器2300(参见图3)中。根据本公开的实施例,与每个设备相对应的术语“功能确定模型”是指用于获得关于根据设备的确定功能执行操作的详细操作以及详细操作之间的关系的操作信息的模型。
140.根据本公开的实施例,集线器设备1000的功能确定设备确定模块1340可以通过使用包括关于存储在存储器中的设备的功能确定模型的信息的数据库1360,从集线器设备1000、语音助理服务器2000和操作执行设备当中识别到其中存储有与操作执行设备相对应的功能确定模型的设备。根据本公开的实施例,数据库1360可以包括关于用与集线器设备1000相关联的用户账户注册的多个设备4000的信息。具体地,可以存储多个设备4000中的每一个的标识信息(例如,设备标识符(id)信息)、关于是否存在多个设备4000中的每一个的功能确定模型的信息、关于多个设备4000中的每一个的功能确定模型的存储位置的信息(例如,所存储的设备/服务器的标识信息、所存储的设备/服务器的互联网协议(ip)地址或所存储的设备/服务器的媒体访问控制(mac)地址)。在本公开的实施例中,功能确定设备确定模块1340可以根据由设备确定模型1330输出的操作执行设备的设备标识信息来搜索数据库1360,并可以基于数据库1360的搜索结果来获得关于与操作执行设备相对应的功能确定模型的存储位置的信息。
141.根据本公开的实施例,集线器设备1000可以通过使用功能确定设备确定模块1340将从用户的语音输入转换的文本的至少一部分发送到被识别为存储与操作执行设备相对应的功能确定模型的设备。
142.例如,基于集线器设备1000接收到用户说“将温度升高1℃”的语音输入,集线器设备1000可以通过设备确定模型1330确定用于升高温度的设备是空调。接下来,根据实施例,功能确定设备确定模块1340可以检查与空调相对应的功能确定模型是否存储在空调(iot设备)中,并基于确定其存储在空调中,可以将与“将温度升高1℃”相对应的文本发送到空调。根据实施例,能够执行升高空气温度的操作的iot设备(例如,空调)可以分析通过存储的与空调相对应的功能确定模型接收的接收文本,并通过使用文本分析结果来执行温度控制操作。也就是说,基于设备确定模型1330确定能够执行用户的语音输入的操作执行设备是作为“空调”的第一设备4100,因为与空调相对应的功能确定模型存储在第一设备4100本身中,所以功能确定设备确定模块1340可以将文本的至少一部分发送到第一设备4100(s3)(例如,空调)。
143.例如,基于集线器设备1000接收到用户说“改变频道”的语音输入,集线器设备1000可以通过设备确定模型1330确定用于改变频道的设备是tv。接下来,根据实施例,功能确定设备确定模块1340可以检查与tv相对应的功能确定模型是否存储在集线器设备1000中,并可以通过所存储的与tv相对应的功能确定模型来分析与“改变频道”相对应的文本。根据实施例,集线器设备1000可以通过使用文本分析结果将频道改变操作确定为将由tv执行的操作,并可以将关于频道改变操作的操作信息发送到tv。也就是说,基于设备确定模型1330确定操作执行设备是作为“tv”的第二设备4200,因为与tv相对应的功能确定模型存储在集线器设备1000中,所以功能确定设备确定模块1340可以将文本的至少一部分提供(例如,发送)给tv功能确定模型1354,使得集线器设备1000本身可以处理文本的至少一部分。
144.例如,基于集线器设备1000接收到用户说“执行除臭模式”的语音输入,集线器设备1000可以通过设备确定模型1330确定用于执行除臭模式的设备是空气净化器。接下来,根据实施例,功能确定设备确定模块1340可以检查与空气净化器相对应的功能确定模型是否存储在语音助理服务器2000中,并可以基于确定与空气净化器相对应的功能确定模型存储在语音助理服务器200中,将与“执行除臭模式”相对应的文本发送到语音助理服务器2000。根据本公开的实施例,语音助理服务器2000可以通过与空气净化器相对应的功能确定模型来分析接收的文本,并可以通过使用文本分析结果将除臭模式执行操作确定为要由空气净化器执行的操作。根据本公开的实施例,语音助理服务器2000可以将关于除臭模式执行操作的操作信息发送到空气净化器,在这种情况下,可以通过iot服务器3000发送于除臭模式执行操作相关的操作信息。也就是说,根据实施例,基于由设备确定模型1330确定操作执行设备是作为“空气净化器”的第三设备4300,因为与空气净化器相对应的功能确定模型存储在语音助理服务器2000中,所以功能确定设备确定模块1340可以将文本的至少一部分发送到语音助理服务器2000(s1)。
145.在本公开的实施例中,集线器设备1000本身可以存储与多个设备4000中的至少一个相对应的功能确定模型。例如,当集线器设备1000是语音助理扬声器时,集线器设备1000可以存储扬声器功能确定模型1352,扬声器功能确定模型1352用于获得关于执行语音助理扬声器的功能的详细操作以及详细操作之间的关系的操作信息。
146.根据实施例,集线器设备1000还可以存储与另一设备相对应的功能确定模型。例如,集线器设备1000可以存储用于获得关于与tv相对应的详细操作以及详细操作之间的关系的操作信息的tv功能确定模型1354。根据本公开的实施例,tv可以是通过使用与集线器设备1000的用户账户相同的用户账户而先前注册到iot服务器3000的设备。
147.根据实施例,扬声器功能确定模型1352和tv功能确定模型1354可以分别包括第二nlu模型1352a和1354a以及动作计划管理模块1532b和1354b。参考图2描述第二nlu模型1352a和1354a以及动作计划管理模块1352b和1354b。
148.根据实施例,语音助理服务器2000可以基于从集线器设备1000接收的文本来确定用于执行用户意图的操作的操作执行设备。根据实施例,语音助理服务器2000可以从集线器设备1000接收用户账户信息(s1)。根据本公开的实施例,基于语音助理服务器2000从集线器设备1000接收到用户账户信息,语音助理服务器2000可以向iot服务器3000发送用于请求关于先前根据接收的用户账户信息注册的多个设备4000的设备信息的查询(s9),并可以从iot服务器3000接收关于多个设备4000的设备信息(s10)。根据实施例,语音设备信息
可以包括多个设备4000中的每一个的标识信息(例如,设备id信息)、多个设备4000中的每一个的设备类型、多个设备4000中的每一个的功能执行能力、位置信息和状态信息中的至少一个。根据实施例,语音助理服务器2000可以将从iot服务器3000接收的设备信息发送到集线器设备1000(s2)。
149.将参考图2描述根据实施例的集线器设备1000的元件。
150.根据实施例,语音助理服务器2000可以包括设备确定模型2330和多个功能确定模型2342、2344、2346和2348。根据实施例,语音助理服务器2000可以通过使用设备确定模型2330从多个功能确定模型2342、2344、2346和2348当中选择与从集线器设备1000接收的文本的至少一部分相对应的功能确定模型,并可以通过使用所选择的功能确定模型获得操作执行设备执行操作所需的操作信息。根据实施例,语音助理服务器2000可以将操作信息发送到iot服务器3000(s9)。
151.参考图3描述了根据本公开的实施例的语音助理服务器2000的元件。
152.根据实施例,iot服务器3000可以通过网络连接,并可以存储关于先前通过使用集线器设备1000的用户账户注册的多个设备4000的信息。在本公开的实施例中,iot服务器3000可以接收多个设备4000中的每一个使用其登录的用户账户信息、多个设备4000中的每一个的标识信息(例如,设备id信息)、多个设备4000中的每一个的设备类型和多个设备4000中的每一个的功能执行能力信息中的至少一个(s11、s13和s15)。在本公开的实施例中,iot服务器3000可以从多个设备4000接收关于多个设备4000中的每一个的通电/断电或正在执行的操作的状态信息(s11、s13和s15)。iot服务器3000可以存储从多个设备4000接收的设备信息和状态信息。
153.根据实施例,iot服务器3000可以基于从语音助理服务器2000接收的操作信息来生成由操作执行设备可读和可执行的控制命令。根据本公开的实施例,iot服务器3000可以将控制命令发送到多个设备4000当中被确定为操作执行设备的设备(s12、s14和s16)。
154.参考图4描述了根据实施例的iot服务器3000的元件。
155.在图1的实施例中,多个设备4000可以包括第一设备4100、第二设备4200和第三设备4300。尽管在图1中第一设备4100可以是空调,第二设备4200可以是tv,并且第三设备4300可以是空气净化器,但是本公开不限于此。多个设备4000不仅可以包括空调、tv和空气净化器,还可以包括其他iot设备,诸如,诸如机器人清洁器、洗衣机、烤箱、微波炉、秤(例如,体重秤)、冰箱或电子相框的家用电器,以及诸如智能电话、平板个人计算机(pc)、移动电话、视频电话、电子书阅读器、台式pc、膝上型pc、上网本计算机、工作站、服务器、个人数字助理(pda)、便携式多媒体播放器(pmp)、mp3播放器、移动医疗设备、相机或可穿戴设备的移动设备。
156.根据实施例,多个设备4000中的至少一个本身可以存储功能确定模型。例如,用于获得关于第一设备4100执行从用户的语音输入确定的操作所需的详细操作以及详细操作之间的关系的操作信息,并基于操作信息生成控制命令的功能确定模型4132可以存储在第一设备4100的存储器4130中。
157.根据实施例,多个设备4000当中的第二设备4200和第三设备4300中的每一个可以不存储功能确定模型。
158.根据实施例,多个设备4000中的至少一个可以向集线器设备1000发送关于设备本
身是否存储功能确定模型的信息(s4、s6和s8)。
159.根据实施例,多个设备4000还可以包括不由与集线器设备1000的制造商相同的制造商制造的第三方设备(例如,第三方设备由与集线器设备1000的制造商不同的不同制造商制造)、语音助理服务器2000和iot服务器3000,并且不直接由集线器设备1000、语音助理服务器2000和iot服务器3000控制。将参考图11详细描述第三方设备。
160.图2是图示根据本公开的实施例的集线器设备1000的元件的框图。
161.根据实施例,集线器设备1000可以是接收用户的语音输入并基于接收的语音输入来控制多个设备4000中的至少一个的设备。根据实施例,集线器设备1000可以是从用户接收语音输入的收听设备。
162.参考图2,根据实施例,集线器设备1000可以包括麦克风1100、处理器1200、存储器1300和通信接口1400。根据实施例,集线器设备1000可以通过麦克风1100从用户接收语音输入(例如,用户的话语),并可以从接收的语音输入获得语音信号。在本公开的实施例中,集线器设备1000的处理器1200可以将通过麦克风1100接收的声音转换为声学信号,并可以通过从声学信号中去除噪声(例如,非语音分量)来获得语音信号。
163.然而,本公开不限于此,并且集线器设备1000可以从收听设备接收语音信号。
164.根据实施例,集线器设备1000可以包括语音识别模块,所述语音识别模块具有检测指定的语音输入(例如,诸如“hi,bixby”或“ok,google”的唤醒输入)的功能或预处理从语音输入的一部分获得的语音信号的功能。
165.根据本公开的实施例,处理器1200可以执行存储在存储器1300中的程序的一个或多个指令。根据本公开的实施例,处理器1200可以包括执行算术、逻辑和输入/输出操作以及信号处理的硬件组件。根据实施例,处理器1200可以包括但不限于中央处理单元(cpu)、微处理器、图形处理单元(gpu)、特殊应用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑设备(pld)和现场可编程门阵列(fpga)中的至少一个。
166.根据实施例,程序可以包括用于基于通过麦克风1100接收的用户的语音输入来控制多个设备4000的一个或多个指令,所述程序可以存储在存储器1300中。根据实施例,处理器1200可读的指令和/或程序代码可以存储在存储器1300中。在本公开的示例性实施例中,可以通过执行存储在存储器中的指令或代码来实现处理器1200。
167.根据实施例,关于自动语音识别(asr)模块1310的数据、关于自然语言生成器(nlg)模块1320的数据、关于设备确定模型1330的数据、关于功能确定设备确定模块1340的数据、与多个功能确定模型1350中的每一个相对应的数据以及与数据库1360相对应的数据中的一个或多个或全部可以被存储在存储器1300中。
168.根据实施例,存储器1300可以包括闪存型、硬盘型、多媒体卡微型、卡型存储器(例如,sd(安全数字)存储器或xd(extreme数字)存储器)、随机存取存储器(ram)、静态随机存取存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁存储器、磁盘和光盘中的至少一种类型的存储介质。
169.根据实施例,处理器1200可以通过使用存储在存储器1300中的关于asr模块1310的数据来执行asr,并可以将通过麦克风1100接收的语音信号转换为文本。
170.然而,本公开不限于此。在本公开的实施例中,处理器1200可以通过通信接口1400从收听设备接收语音信号,并可以通过使用asr模块1310执行asr来将语音信号转换为文
本。
171.根据实施例,处理器1200可以通过使用存储在存储器1300中的关于设备确定模型1330的数据来分析文本,并可以基于文本的分析结果从多个设备4000(例如,多个iot设备)当中确定操作执行设备(例如,iot设备)。根据本公开的实施例,设备确定模型1330可以包括第一nlu模型1332。在本公开的实施例中,处理器1200可以通过使用关于包括在设备确定模型1330中的第一nlu模型1332的数据来分析文本,并可以基于文本的分析结果从多个设备4000当中确定用于根据用户的意图执行操作的操作执行设备。
172.根据实施例,第一nlu模型1332可以是被训练为分析从语音输入转换的文本并基于分析结果确定操作执行设备的模型。根据本公开的实施例,第一nlu模型1332可以用于通过解释文本来确定意图,并基于意图来确定操作执行设备。
173.在本公开的实施例中,处理器1200可以通过使用存储在存储器1300中的关于第一nlu模型1332的数据来以词素、单词或短语为单位解析文本,并可以通过使用词素、单词或短语的语言特征(例如,语法成分)来推断从解析的文本中提取的单词的含义。根据实施例,处理器1200可以将单词的推断的含义与由第一nlu模型1332提供的预定义意图进行比较,并可以确定与词的推断的含义相对应的意图。
174.根据实施例,处理器1200可以基于用于确定意图与设备之间的关系的匹配模型,将与从文本识别的意图相关的设备确定为操作执行设备。在本公开的实施例中,匹配模型可以被包括在存储在存储器1300中的关于设备确定模型1330的数据中,并可以通过经由基于规则的系统的学习来获得,但是本公开不限于此。
175.在本公开的实施例中,处理器1200可以通过将匹配模型应用于意图来获得指示意图与多个设备4000之间的关系程度的多个数值,并可以将具有获得的多个数值当中的最大数值的设备确定为最终操作执行设备(例如,能够执行用户的语音(语音输入)所意图的操作的iot设备)。例如,基于意图与第一设备4100(参见图1)和第二设备4200(参见图1)中的每一个相关,处理器1200可以获得指示意图与第一设备4100之间的关系程度的第一数值和指示意图与第二设备4200之间的关系程度的第二数值,并可以将具有第一数值和第二数值当中的较大数值的第一设备4100确定为最终操作执行设备。
176.例如,基于集线器设备1000从用户接收到用户说“降低设定温度2℃,因为它很热”的语音输入,处理器1200可以执行将语音输入转换为文本的asr,并可以通过使用与第一nlu模型1332相关的数据来分析文本以获得(例如,通过推断)与“设定温度调节”相对应的意图。根据实施例,处理器1200可以通过应用匹配模型来获得指示“设定温度调节”的意图与作为空调的第一设备4100之间的关系程度的第一数值、指示“设定温度调节”的意图与作为tv的第二设备4200之间的关系程度的第二数值、以及指示“设定温度调节”的意图与作为空气净化器的第三设备4300(参见图1)之间的关系程度的第三数值。根据实施例,处理器1200可以通过使用作为获得的数值中的最大值的第一数值来将第一设备4100确定为与“设定温度调节”相关的操作执行设备。
177.根据实施例,基于集线器设备1000从用户接收到用户说“播放电影复仇者”的语音输入,处理器1200可以分析从语音输入转换的文本,并可以获得与“内容回放”相对应的意图。根据实施例,处理器1200可以基于第二数值信息是通过使用匹配模型计算的指示“内容回放”的意图与作为空调的第一设备4100之间的关系程度的第一数值、指示“内容回放”的
意图与作为tv的第二设备4200之间的关系程度的第二数值以及指示“内容回放”的意图与作为空气净化器的第三设备4300之间的关系程度的第三数值当中的最大值,将第二设备4200确定为与“内容回放”相关的操作执行设备,。
178.然而,本公开不限于上述示例,并且处理器1200可以以升序排列指示意图与多个设备之间的关系程度的数值,并可以将预定数量的设备确定为操作执行设备。在本公开的实施例中,处理器1200可以将指示关系程度的数值等于或大于预定临界值的设备确定为与意图相关的操作执行设备。在这种情况下,可以将多个设备确定为操作执行设备。
179.根据实施例,处理器1200可以通过使用例如基于规则的系统来训练意图与操作执行设备之间的匹配模型,但是本公开不限于此。处理器1200使用的ai模型可以是例如基于神经网络的系统(例如,卷积神经网络(cnn)或递归神经网络(rnn))、支持向量机(svm)、线性回归、逻辑回归、朴素贝叶斯、随机森林、决策树或k最近邻算法。可替代地,ai模型可以是上述示例的组合或任何其他ai模型。根据实施例,处理器1200使用的ai模型可以被存储在设备确定模型1330中。
180.根据实施例,存储在集线器设备1000的存储器1300中的设备确定模型1330可以从根据集线器设备1000的用户账户注册的多个设备4000当中确定操作执行设备。根据实施例,集线器设备1000可以通过使用通信接口1400从语音助理服务器2000接收关于多个设备4000中的每一个的设备信息。根据实施例,设备信息可以包括例如多个设备4000中的每一个的标识信息(例如,设备id信息)、多个设备4000中的每一个的设备类型、多个设备4000中的每一个的功能执行能力、位置信息和状态信息中的至少一个。根据实施例,处理器1200可以通过使用存储在存储器1300中的关于设备确定模型1330的数据,基于设备信息从多个设备4000当中确定用于根据意图执行操作的设备。
181.在本公开的实施例中,处理器1200可以通过使用设备确定模型1330来分析指示意图与多个设备4000之间的关系程度的数值,所述多个设备4000是通过使用与集线器设备1000的用户账户相同的用户账户先前注册的,并可以将指示具有意图与多个设备4000之间的关系程度的数值当中的最大值的设备确定为操作执行设备。
182.因为设备确定模型1330被配置为通过仅使用多个设备4000作为设备候选来确定操作执行设备,所述多个设备4000通过使用与集线器设备1000的用户账户相同的用户账户登录和注册,所以可能存在以下技术效果:由处理器1200执行以便确定与意图的关系程度的计算量可以减少到小于语音助理服务器2000的处理器2200的计算量。此外,由于计算量的减少,可以减少确定操作执行设备所需的处理时间,并且因此可以提高响应速度。
183.在本公开的实施例中,处理器1200可以通过使用第一nlu模型1332从文本获得设备的名称,并可以通过使用存储在存储器1300中的关于设备确定模型1330的数据基于设备的名称确定操作执行设备。在本公开的实施例中,处理器1200可以通过使用第一nlu模型1332从文本中提取与设备相关的通用名称和关于设备的安装位置的单词或短语,并可以基于提取的通用名称和设备的安装位置来确定操作执行设备。例如,当从语音输入转换的文本是“在tv上播放电影复仇者”时,处理器1200可以通过使用第一nlu模型1332以单词或短语为单位解析文本,并可以通过将单词或短语与预先存储的单词或短语进行比较来识别与“tv”相对应的设备的名称。根据实施例,处理器1200可以将通过使用与集线器设备1000的用户账户相同的账户登录并且是连接到集线器设备1000的多个设备4000当中的tv的第二
设备4200确定为操作执行设备。
184.在本公开的实施例中,多个设备4000中的任何一个可以是从用户接收语音输入的收听设备,并且处理器1200可以通过使用设备确定模型1330将收听设备确定为操作执行设备。然而,本公开不限于此,并且处理器1200可以通过使用设备确定模型1330从多个设备4000当中确定除收听设备之外的设备作为操作执行设备。
185.根据实施例,处理器1200可以通过使用通信接口1400从语音助理服务器2000接收设备确定模型1330的更新数据。在本公开的实施例中,更新的最新功能可以被包括在多个设备4000中的至少一个中,或者可以将具有新功能的新设备添加到用户账户。在这种情况下,集线器设备1000的设备确定模型1330可能无法确定多个设备4000的新功能,或者可能无法将添加的新设备确定为操作执行设备。根据实施例,处理器1200可以通过使用接收的更新数据将设备确定模型1330更新为最新版本。根据实施例,最新版本可以与语音助理服务器2000的设备确定模型2330(参见图3)的版本相同。
186.根据实施例,设备确定模型1330的更新数据可以包括更新的数据,使得设备确定模型1330可以确定关于通过用户账户连接的多个设备4000中的每一个的更新的最新功能的详细操作信息,并可以从文本确定执行更新的最新功能的操作执行设备。在本公开的实施例中,根据实施例,设备确定模型1330的更新数据可以包括关于新添加到用户账户的新设备的功能的信息。
187.将参考图17和18描述更新设备确定模型1330的实施例。
188.根据实施例,处理器1200可以通过使用通信接口1400从语音助理服务器2000接收新设备的设备信息。根据实施例,由集线器设备1000的处理器1200从语音助理服务器2000获得的设备信息可以包括例如新设备的设备标识信息(例如,设备id信息)、新设备的设备确定模型的存储信息和新设备的功能确定模型的存储信息中的至少一个。根据实施例,新设备可以是预期在语音助理服务器2000的用户账户中注册的目标设备。
189.根据实施例,处理器1200可以通过使用从语音助理服务器2000获得的新设备的设备信息,将新设备添加到可以由设备确定模型1330确定为操作执行设备的设备候选。在本公开的实施例中,因为设备确定模型1330促使新设备被包括在设备候选中,所以处理器1200可以提升设备确定能力以从文本确定操作执行设备。
190.参考图19描述注册新设备的实施例。
191.根据实施例,nlg模型1320可以用于在集线器设备1000与用户之间的交互期间提供响应消息。例如,处理器1200可以通过使用nlg模型1320生成诸如“我将在tv上播放电影”或“我会将空调的设定温度降低2℃”的响应消息。
192.根据实施例,当存在由处理器1200确定的多个操作执行设备或者存在与意图具有相似关系程度的多个设备时,nlg模型1320可以存储用于生成用于确定特定操作执行设备的查询消息的数据。在本公开的实施例中,处理器1200可以通过使用nlg模型1320生成用于从多个设备候选当中选择一个操作执行设备的查询消息。根据实施例,查询消息可以是用于请求来自用户的关于多个设备候选中的哪一个设备候选将被识别(确定)为操作执行设备的响应的消息。
193.根据实施例,功能确定设备确定模块1340可以是用于识别其中存储有与操作执行设备相对应的功能确定模型的设备并可以确定要向其发送至少部分文本或全部整个文本
的目标设备的模块。根据实施例,功能确定设备确定模块1340可以通过使用包括关于设备的功能确定模型的信息的数据库1360,从集线器设备1000、语音助理服务器2000和操作执行设备当中识别其中存储有与操作执行设备相对应的功能确定模型的设备。在本公开的实施例中,当集线器设备1000从收听设备接收语音信号时,功能确定设备确定模块1340可以通过使用数据库1035从集线器设备1000、操作执行设备的内部存储器、收听设备的内部存储器和语音助理服务器2000当中识别其中存储有与操作执行设备相对应的功能确定模型的设备。
194.根据实施例,关于是否可以存储先前通过使用用户账户注册的多个设备4100中的每一个的功能确定模型的信息,以及关于多个设备4000中的每一个的功能确定模型的存储位置的信息(例如,设备标识信息、ip地址或mac地址)可以以查找表(lut)的形式存储在数据库1360中。在本公开的实施例中,功能确定设备确定模块1340可以根据由设备确定模型1330输出的操作执行设备的设备标识信息在数据库1360中搜索查找表,并可以基于查找表的搜索结果获得关于与操作执行设备相对应的功能确定模型的存储位置的信息。
195.在本公开的实施例中,功能确定设备确定模块1340本身可以存储用于确定要向其发送整个文本或整个文本的至少一部分的目标设备的数据。根据实施例,处理器1200可以通过使用关于功能确定设备确定模块1340的数据来识别存储与操作执行设备相对应的功能确定模型的设备。
196.根据实施例,与操作执行设备相对应的功能确定模型可以被存储在集线器设备1000的存储器1300中、可以被存储在操作执行设备本身的存储器中,或者可以被存储在语音助理服务器2000的存储器2300中。
197.根据实施例,术语“与操作执行设备相对应的功能确定模型”是指用于获得关于根据操作执行设备的确定的功能执行操作的详细操作以及详细操作之间的关系的操作信息的模型。在本公开的实施例中,存储在集线器设备1000的存储器1300中的扬声器功能确定模型1352和tv功能确定模型1354可以分别与通过使用与用户账户相同的账户登录并通过网络连接到集线器设备1000的多个设备相对应。
198.例如,作为第一功能确定模型的扬声器功能确定模型1352可以是用于获得关于根据第一设备4100(参见图1)的功能执行操作的详细操作以及详细操作之间的关系的操作信息的模型。在本公开的实施例中,扬声器功能确定模型1352可以是但不限于用于根据集线器设备1000的功能获得操作信息的模型。同样,作为第二功能确定模型的tv功能确定模型1354可以是用于获得关于根据第二设备4200(参见图1)的功能执行操作的详细操作以及详细操作之间的关系的操作信息的模型。
199.根据实施例,扬声器功能确定模型1352和tv功能确定模型1354可以分别包括第二nlu模型1352a和1354a,被配置为分析文本的至少一部分并获得关于要由基于文本的至少一部分的分析结果确定的操作执行设备执行的操作的操作信息。根据实施例,扬声器功能确定模型1352和tv功能确定模型1354可以分别包括动作计划管理模块1352b和1354b,被配置为管理与设备的详细操作相关的操作信息,以便生成要由设备执行的详细操作和详细操作的执行顺序。根据实施例,动作计划管理模块1352b和1354b可以根据设备和详细操作之间的关系来管理关于设备的详细操作的操作信息。根据实施例,动作计划管理模块1352b和1354b可以基于文本的至少一部分的分析结果来计划要由设备执行的详细操作和详细操作
的执行顺序。
200.根据实施例,多个设备的多个功能确定模型,例如,扬声器功能确定模型1352和tv功能确定模型1354,可以被存储在集线器设备1000的存储器1300中。
201.如上所述,根据实施例,处理器1200可以通过使用关于功能确定设备确定模块1340的数据搜索存储在数据库1360中的查找表来检查与操作执行设备相对应的功能确定模型是否被存储在存储器1300中。例如,基于确定操作执行设备是第一设备4100,可以不将与第一设备4100相对应的功能确定模型存储在集线器设备1000的存储器1300中。在这种情况下,根据实施例,处理器1200可以检查到与操作执行设备相对应的功能确定模型未存储在集线器设备1000中。作为另一示例,基于确定操作执行设备是第二设备4200,与第二设备4200相对应的tv功能确定模型1354可以被存储在集线器设备1000的存储器1300中。在这种情况下,根据实施例,处理器1200可以检查到与操作执行设备相对应的功能确定模型存储在集线器设备1000中。
202.根据实施例,当处理器1200检查到与操作执行设备相对应的功能确定模型存储在集线器设备1000中时,处理器1200可以通过使用关于功能确定设备确定模块1340的数据,向存储在集线器设备1000中的与操作执行设备相对应的功能确定模型提供文本的至少一部分。例如,当操作执行设备是第二设备4200时,与作为第二设备4200的tv相对应的tv功能确定模型1354可以被存储在集线器设备1000的存储器1300中,因此处理器1200可以通过使用功能确定设备确定模块1340将文本的至少一部分提供给tv功能确定模型1354。
203.在本公开的实施例中,处理器1200可以仅将整个文本的一部分(而不是整个文本)发送到tv功能确定模型1354。例如,当从语音输入转换的文本是“在tv上播放电影复仇者”时,“在tv上”指定操作执行设备的名称,因此对于电视功能确定模型1354可以是不必要的信息。根据实施例,处理器1200可以通过使用第一nlu模型1332以单词或短语为单位解析文本,可以识别指定名称、通用名称或设备的安装位置的单词或短语,并可以将除了在整个文本中识别的单词或短语之外的文本的剩余部分提供给tv功能确定模型1354。
204.根据实施例,处理器1200可以通过使用存储在存储器1300中的与操作执行设备相对应的功能确定模型,例如,tv功能确定模型1354的第二nlu模型1354a,来获得与要由操作执行设备执行的操作相关的操作信息。根据实施例,作为专用于特定设备(例如,tv)的模型的第二nlu模型1354a可以是被训练为获得与由第一nlu模型1332确定的操作执行设备相对应并与文本相对应的设备相关的意图的ai模型。此外,第二nlu模型1354a可以是被训练为通过解释文本来确定与用户的意图相关的设备的操作的模型。根据实施例,操作可以指当设备执行特定功能时由设备执行的至少一个动作。操作可以指当设备执行应用时由设备执行的至少一个动作。
205.在本公开的实施例中,处理器1200可以通过使用与确定的操作执行设备(例如,tv)相对应的tv功能确定模型1354的第二nlu模型1354a来分析文本。根据实施例,处理器1200可以通过使用第二nlu模型1354a以词素、单词或短语为单位解析文本,可以识别通过语法或语义分析解析的词素、单词或短语的含义,并可以通过将识别的含义与预定义单词进行匹配来确定意图和参数。根据实施例,本文使用的术语“参数”是指用于确定与意图相关的操作执行设备的详细操作的可变信息。例如,当发送到tv功能确定模型1354的文本是“在tv上播放电影复仇者”时,意图可以是“内容回放”,并且参数可以是作为关于要播放的
内容的信息的“电影复仇者”。
206.根据实施例,处理器1200可以通过使用tv功能确定模型1354的动作计划管理模块1354b来获得与意图和参数相关的关于至少一个详细操作的操作信息。根据实施例,动作计划管理模块1354b可以根据设备和详细操作之间的关系来管理关于设备的详细操作的信息。根据实施例,处理器1200可以通过使用动作计划管理模块1354b基于意图和参数来计划要由操作执行设备(例如,tv)执行的详细操作和详细操作的执行顺序,并可以获得操作信息。根据实施例,操作信息可以是与要由设备执行的详细操作和详细操作的执行顺序相关的信息。根据实施例,操作信息可以包括与要由设备执行的详细操作、每个详细操作与另一详细操作之间的关系以及详细操作的执行顺序相关的信息。操作信息可以包括但不限于由操作执行设备执行以执行特定操作的功能、功能的执行顺序、执行功能所需的输入值以及作为功能的执行结果输出的输出值。
207.根据实施例,处理器1200可以基于操作信息生成用于控制操作执行设备的控制命令。根据实施例,控制命令可以指由操作执行设备可读和可执行的指令,使得操作执行设备执行操作信息中包括的详细操作。根据实施例,处理器1200可以控制通信接口1400将生成的控制命令发送到操作执行设备。
208.在本公开的实施例中,处理器1200可以通过通信接口1400从通过使用与集线器设备1000的用户账户相同的账户登录并通过网络连接到集线器设备1000的多个设备4000获得关于功能确定模型的信息。根据实施例,关于功能确定模型的信息可以包括关于多个设备4000中的每一个是否存储功能确定模型的信息。参考图1,尽管在图1的实施例中,多个设备4000中的第一设备4100可以将功能确定模型4132存储在存储器4130中,但是第二设备4200和第三设备4300可以不具有功能确定模型(或者可以不具有功能确定模型4132)。根据实施例,当关于第一设备4100、第二设备4200或第三设备4300中的至少一个是否存储功能确定模型的信息被发送到集线器设备1000时(s4、s6和s8),集线器设备1000可以将通过通信接口1400获得的关于功能确定模型的信息提供给处理器1200。
209.在本公开的实施例中,处理器1200可以通过通信接口1400从语音助理服务器2000(参见图1)获得关于多个设备4000(参见图1)的功能确定模型的信息。根据实施例,可以根据通过在用户输入用户id和密码时登录的用户账户来注册多个设备4000中的每一个,并可以将多个设备4000中的每一个的用户账户信息和设备信息发送到iot服务器3000。在这种情况下,关于多个设备4000中的每一个本身是否存储设备确定模型和存储功能确定模型的信息也可以被发送到iot服务器3000。根据实施例,iot服务器3000可以将关于在用户账户信息中注册的多个设备4000的设备信息、关于设备确定模型的信息和关于功能确定模型的信息发送到语音助理服务器2000。根据实施例,语音助理服务器2000可以将关于多个设备4000的设备信息、关于设备确定模型的信息和关于功能确定模型的信息发送到具有相同用户账户信息的集线器设备1000。根据实施例,集线器设备1000可以将关于多个设备4000中的每一个的功能确定模型的信息以查找表的形式存储在数据库1360中。
210.然而,本公开不限于此,并且集线器设备1000可以从多个设备4000中的至少一个接收关于功能确定模型的信息。在本公开的实施例中,处理器1200可以控制通信接口1400从存储用于确定多个设备4000中的每一个的功能的功能确定模型的至少一个设备接收关于功能确定模型的信息。根据实施例,基于接收到关于多个设备4000的功能确定模型的信
息,处理器1200可以控制通信接口1400以进一步接收关于多个设备4000中的每一个的功能确定模型的存储位置的信息(例如,设备标识信息、ip地址或mac地址)。
211.根据实施例,处理器1200可以将接收的关于功能确定模型的信息和接收的关于每个设备的功能确定模型的存储位置的信息存储在数据库1360中。在本公开的实施例中,处理器1200可以根据设备的名称或标识信息以查找表的形式存储关于功能确定模型的存储位置的信息和关于是否存储功能确定模型的信息。
212.根据实施例,处理器1200可以通过搜索存储在数据库1360中的查找表来获得关于每个设备的功能确定模型的信息,并可以基于获得的关于功能确定模型的信息来识别存储与操作执行设备相对应的功能确定模型的设备。例如,根据实施例,当基于文本确定的操作执行设备是第一设备4100时,处理器1200可以基于从第一设备4100获得的关于功能确定模型的信息将第一设备4100本身确定为存储功能确定模型4132(参见图1)的设备。在这种情况下,处理器1200可以通过使用关于功能确定设备确定模块1340的数据,将第一设备4100确定为要向其发送文本的至少一部分的目标设备。根据实施例,处理器1200可以控制通信接口1400将文本的至少一部分发送到第一设备4100的功能确定模型4132。
213.在本公开的实施例中,处理器1200可以控制通信接口1400从文本中分离关于操作执行设备的名称的部分,并仅将文本的剩余部分发送到第一设备4100。例如,当第一设备4100是空调并且文本是“在空调中降低设定温度2℃”时,当文本被发送到空调时,不需要发送“在空调中”。在这种情况下,处理器1200可以以单词或短语为单位解析文本,可以识别指定第一设备4100的名称、通用名称、安装位置等的单词或短语,并可以向第一设备4100提供除了在整个文本中识别的单词或短语之外的文本的剩余部分。
214.根据实施例,当处理器1200要基于获得的关于功能确定模型的信息来识别存储与操作执行设备相对应的功能确定模型的设备时,处理器1200可以检查功能确定模型是否未存储在操作执行设备中。例如,基于确定操作执行设备是第三设备4300,根据实施例,功能确定模型不存储在第三设备4300中。根据实施例,与第三设备4300相对应的功能确定模型也不存储在集线器设备1000中。在这种情况下,处理器1200可以通过使用关于功能确定设备确定模块1340的数据来检查到与操作执行设备相对应的功能确定模型未存储在集线器设备1000和多个设备4000中的任何一个中。根据实施例,处理器1200可以通过使用关于功能确定设备确定模块1340的数据来确定要向其发送文本的至少一部分的目标设备是语音助理服务器2000。根据实施例,处理器1200可以控制通信接口1400将文本的至少一部分发送到语音助理服务器2000。
215.在本公开的实施例中,功能确定设备确定模块1340可以被配置为确定由设备确定模型1330确定的操作执行设备是否与收听设备相同。在本公开的实施例中,当处理器1200通过通信接口1400从收听设备接收语音信号时,处理器1200还可以接收收听设备的设备标识信息(例如,收听设备的设备id信息)。根据实施例,功能确定设备确定模块1340可以从收听设备的设备标识信息中检查收听设备的功能信息,并可以通过将收听设备的功能信息与操作执行设备的功能信息进行比较来确定收听设备和操作执行设备是否相同。
216.根据实施例,基于确定操作执行设备与收听设备相同,处理器1200可以通过使用关于功能确定设备确定模块1340的数据来确定收听设备是否将功能确定模型存储在内部存储器中。根据实施例,当存储在收听设备的内部存储器中的功能确定模型与对应于操作
执行设备的功能确定模型相同时,处理器1200可以通过使用通信接口1400将文本的至少一部分发送到先前存储在收听设备的内部存储器中的功能确定模型。在本公开的实施例中,处理器1200可以控制通信接口1400从文本中分离关于操作执行设备的名称的部分,并仅将文本的剩余部分发送到收听设备。例如,当收听设备是空调并且文本是“在空调中将设定温度降低到20℃”时,当文本被发送到空调时,不需要发送“在空调中”。在这种情况下,处理器1200可以以单词或短语为单位解析文本,可以识别指定收听设备的名称、通用名称、安装位置等的单词或短语,并可以将除了在整个文本中识别的单词或短语之外的文本的剩余部分提供给收听设备。
217.根据实施例,当存储在收听设备的内部存储器中的功能确定模型与对应于操作执行设备的功能确定模型不相同时,处理器1200可以通过使用通信接口1400将文本的至少一部分发送到语音助理服务器2000。
218.根据实施例,基于确定操作执行设备是与收听设备不同的单独设备,处理器1200可以通过使用关于功能确定设备确定模块1340的数据来确定操作执行设备是否将功能确定模型存储在内部存储器中。根据实施例,当功能确定模型存储在操作执行设备的内部存储器中时,处理器1200可以通过使用通信接口1400将文本的至少一部分发送到先前存储在操作执行设备的内部存储器中的功能确定模型。在本公开的实施例中,处理器1200可以控制通信接口1400将关于操作执行设备的名称的部分与文本分离,并仅将文本的剩余部分发送到操作执行设备。
219.根据实施例,当功能确定模型未存储在操作执行设备的内部存储器中时,处理器1200可以通过使用通信接口1400将文本的至少一部分发送到语音助理服务器2000。
220.根据实施例,可以确定操作执行设备和收听设备是否相同,并可以将文本的至少一部分发送到将参考图14描述的操作执行设备、收听设备和语音助理服务器中的任何一个。
221.根据实施例,通信接口1400可以与语音助理服务器2000、iot服务器3000和多个设备4000执行数据通信。根据实施例,通信接口1400可以通过使用包括无线lan、wi

fi、蓝牙、zigbee、wfd、irda、ble、nfc、无线宽带互联网(wibro)、世界微波接入互操作性(wimax)、共享无线接入协议(swap)、无线吉比特联盟(wigig)和射频(rf)通信的数据通信方法中的至少一个来与语音助理服务器2000、iot服务器3000和多个设备4000中的一个或多个执行数据通信。
222.根据实施例,数据库1360可以存储多个设备4000中的每一个的标识信息、关于是否存在功能确定模型的信息以及关于多个设备4000中的每一个的功能确定模型的存储位置的信息(例如,所存储的设备的标识信息、所存储的设备的ip地址或所存储的设备的mac地址)。
223.尽管数据库1360可以被存储在图2中的存储器1300中,但是数据库1360也可以被存储在与存储器1300分离的存储器中。
224.在(例如,图1和图2的)实施例中,集线器设备1000可以包括设备确定模型1330,所述设备确定模型1330被配置为通过仅使用多个设备4000作为设备候选来确定操作执行设备,多个设备4000是通过使用与集线器设备1000的用户账户信息相同的用户账户信息登录并根据用户账户信息注册的,并且功能确定设备确定模块1340可以被配置为识别存储与由
设备确定模型1330确定的操作执行设备相对应的功能确定模型的设备,并可以确定要发送到识别的设备的文本的至少一部分。因为集线器设备1000包括在语音助理服务器2000中包括的一些模型,通过使用所述模型确定操作执行设备,并控制操作执行设备的操作,所以不必在所有过程中通过使用网络来操作语音助理服务器2000,因此可以降低网络使用费并可以提高服务器操作效率。此外,因为通过仅使用通过使用集线器设备1000的用户账户注册的多个设备作为设备候选来确定操作执行设备,所以可以减少计算量和处理时间,并可以提高响应速度。
225.图3是图示根据本公开的实施例的语音助理服务器2000的元件的框图。
226.根据实施例,语音助理服务器2000可以是从集线器设备1000接收从用户的语音输入转换的文本、基于接收的文本确定操作执行设备并通过使用与操作执行设备相对应的功能确定模型来获得操作信息的服务器。
227.参考图3,根据实施例,语音助理服务器2000可以至少包括通信接口2100、处理器2200和存储器2300。
228.根据实施例,语音助理服务器2000的通信接口2100可以通过与iot服务器3000(参见图1)执行数据通信来从iot服务器3000接收包括以下项中的至少一个的设备信息:多个设备4000(参见图1)中的每一个的标识信息(例如,设备id信息)、多个设备4000中的每一个的设备类型、多个设备4000中的每一个的功能执行能力、位置信息和状态信息。在本公开的实施例中,语音助理服务器2000可以通过通信接口2100从iot服务器3000接收关于多个设备4000中的每一个的功能确定模型的信息。根据实施例,语音助理服务器2000可以通过通信接口2100从集线器设备1000接收用户账户信息,并可以将关于根据接收的用户账户信息注册的多个设备4000的设备信息和关于功能确定模型的信息发送到集线器设备1000。
229.根据实施例,语音助理服务器2000的处理器2200和存储器2300可以执行与集线器设备1000(参见图2)的处理器1200(参见图2)和存储器1300(参见图2)的功能相同或相似的功能。因此,这里不提供与对集线器设备1000的处理器1200和存储器1300进行的描述相同的对语音助理服务器2000的处理器2200和存储器2300的描述。
230.根据实施例,语音助理服务器2000的存储器2300可以存储关于以下项中的一个或多个或全部的数据:asr模块2310、关于nlg模块2320的数据、关于设备确定模型2330的数据以及与多个功能确定模型2340中的每一个相对应的数据。根据实施例,语音助理服务器2000的存储器2300可以存储对应于与多个不同用户账户相关的多个设备的多个功能确定模型2340,而非存储在集线器设备1000的存储器1300中的多个功能确定模型1350(参见图2)。此外,根据实施例,用于比存储在集线器设备1000的存储器1300中的多个功能确定模型1350更多类型的设备的多个功能确定模型2340可以被存储在语音助理服务器2000的存储器2300中。存储在语音助理服务器2000的存储器2300中的多个功能确定模型2340的总容量可以大于存储在集线器设备1000的存储器1300中的多个功能确定模型1350的容量。
231.根据实施例,当从集线器设备1000接收到文本的至少一部分时,语音助理服务器2000的通信接口2100可以将接收的文本的至少一部分发送到处理器2200,并且处理器2200可以通过使用存储在存储器2300中的第一nlu模型2332来分析文本的至少一部分。根据实施例,处理器2200可以通过使用存储在存储器2300中的关于设备确定模型2330的数据,基于分析结果来确定与文本的至少一部分相关的操作执行设备。根据实施例,处理器2200可
以从存储在存储器2300中的多个功能确定模型中选择与操作执行设备相对应的功能确定模型,并可以通过使用所选择的功能确定模型来获得关于执行操作执行设备的功能的详细操作以及详细操作之间的关系的操作信息。
232.例如,基于确定操作执行设备是作为空气净化器的第三设备4300,处理器2200可以通过使用与空气净化器相对应的功能确定模型2346的第二nlu模型2346a来分析文本的至少一部分,并可以通过使用动作计划管理模块2346b计划要由设备执行的详细操作和详细操作的执行顺序来获得操作信息。其详细描述与集线器设备1000的描述相同,因此将省略重复的说明。
233.根据实施例,基于集线器设备1000发送用户语音的整个文本的至少一部分,语音助理服务器2000可以确定与整个文本的至少一部分相关的操作执行设备,并可以获得用于执行操作执行设备的操作的操作信息。根据实施例,整个文本的部分可以小于用户语音的整个文本。根据实施例,语音助理服务器2000可以通过通信接口2100将获得的操作信息发送到iot服务器3000。
234.根据实施例,语音助理服务器2000可以从多个设备4000当中的操作执行设备接收功能确定模型的更新请求信息和设备标识信息。根据实施例,功能确定模型的更新请求信息可以是用于请求将存储在操作执行设备的存储器中的功能确定模型的版本与存储在语音助理服务器2000中的多个功能确定模型2342、2344、2346和2348当中的与操作执行设备相对应的功能确定模型的版本同步的信息。根据实施例,语音助理服务器2000的处理器2200可以基于从操作执行设备接收的设备标识信息来识别与操作执行设备相对应的功能确定模型,并可以检查识别的功能确定模型的版本信息。根据实施例,处理器2200可以通过使用通信接口2100将用于更新操作执行设备的功能确定模型的更新数据发送到操作执行设备。
235.在本公开的实施例中,基于操作执行设备从iot服务器3000接收到控制命令,处理器2200可以控制通信接口2100将用于更新功能确定模型的更新数据发送到操作执行设备。
236.在本公开的实施例中,处理器2200可以控制通信接口2100周期性地将功能确定模型的更新数据发送到通过集线器设备1000的用户账户连接的多个设备4000当中的存储功能确定模型的设备。在本公开的实施例中,当处理器2200将用于更新应用或固件的更新数据发送到通过集线器设备1000的用户账户连接的多个设备4000当中的存储功能确定模型的设备时,处理器2200可以控制通信接口2100也发送功能确定模型的更新数据。
237.在本公开的实施例中,可以在注册到iot服务器300的用户账户信息中注册新设备。在这种情况下,处理器2200可以通过使用通信接口2100从iot服务器3000接收用户账户信息、被更新为包括新设备的设备列表以及设备列表中包括的每个设备候选的设备确定模型和功能确定模型的存储信息。根据实施例,处理器2200可以基于设备确定模型的存储信息,从根据用户账户注册的多个设备当中识别其中存储设备确定模型的设备,并可以将识别的设备确定为集线器设备。根据实施例,处理器2200可以通过使用通信接口2100将新设备的设备标识信息以及设备确定模型和功能确定模型的存储信息发送到集线器设备。参考图19描述注册新设备的实施例。
238.图4是图示根据本公开的实施例的iot服务器3000的元件的框图。
239.根据实施例,iot服务器3000可以是获得、存储和管理关于多个设备4000(参见图
1)中的每一个的设备信息的服务器。根据实施例,iot服务器3000可以通过使用存储的设备信息来获得、确定或生成用于控制设备的控制命令。尽管iot服务器3000被实现为与图1中的语音助理服务器2000分离的独立硬件设备,但是本公开不限于此。在本公开的实施例中,iot服务器3000可以是语音助理服务器2000(参见图1)的元件,或者可以是被设计成分类为软件的服务器。
240.根据实施例,参考图4,iot服务器3000可以至少包括通信接口3100、处理器3200和存储器3300。
241.根据实施例,iot服务器3000可以通过通信接口3100经由网络连接到操作执行设备或语音助理服务器2000,并可以接收或发送数据。根据实施例,iot服务器3000可以在处理器3200的控制下通过通信接口3100将存储在存储器3300中的数据发送到语音助理服务器2000或操作执行设备。此外,iot服务器3000可以在处理器3200的控制下通过通信接口3100从语音助理服务器2000或操作执行设备接收数据。
242.在本公开的实施例中,通信接口3100可以从多个设备4000(参见图1)中的每一个接收包括设备标识信息(例如,设备id信息)、功能执行能力信息、位置信息和状态信息中的至少一个的设备信息。在本公开的实施例中,通信接口3100可以从多个设备4000中的每一个接收用户账户信息。此外,通信接口3100可以从多个设备4000接收关于通电/断电或正在执行的操作的信息。根据实施例,通信接口3100可以将接收的设备信息提供给存储器3300。
243.根据实施例,存储器3300可以存储通过通信接口3100接收的设备信息。在本公开的实施例中,存储器3300可以根据从多个设备4000接收的用户账户信息对设备信息进行分类,并可以以查找表的形式存储分类的设备信息。
244.在本公开的实施例中,通信接口3100可以从语音助理服务器2000接收用于请求用户账户信息和关于先前通过使用用户账户信息注册的多个设备4000的设备信息的查询。根据实施例,响应于接收的查询,处理器3200可以从存储器3300获得关于先前通过使用用户账户注册的多个设备4000的设备信息,并可以控制通信接口3100将获得的设备信息发送到语音助理服务器2000。
245.根据实施例,处理器3200可以基于从语音助理服务器2000接收的操作信息来控制通信接口3100将控制命令发送到被确定为执行操作的操作执行设备。根据实施例,iot服务器3000可以通过通信接口3100从操作执行设备接收根据控制命令的操作执行结果。
246.图5是图示根据本公开的实施例的多个设备4000的一些元件的框图。
247.根据实施例,多个设备4000可以是由集线器设备1000(参见图1)或iot服务器3000(参见图1)控制的设备。在本公开的实施例中,多个设备4000可以是基于从集线器设备1000或iot服务器3000接收的控制命令来执行操作的执行器设备。根据实施例,多个设备4000可以是iot设备。
248.参考图5,多个设备4000可以包括第一设备4100、第二设备4200和第三设备4300。尽管在图5的实施例中,第一设备4100是空调,第二设备4200是tv,并且第三设备4300是空气净化器,但这仅仅是示例,本公开的多个设备4000不限于图5所示的那些设备。
249.根据实施例,第一设备4100、第二设备4200和第三设备4300中的每一个可以是如图5所示的处理器、存储器和通信接口。根据实施例,还可以包括多个设备4000基于控制执行操作所需的元件。根据实施例,所需的元件可以是例如用于空调的风扇。
250.根据实施例,多个设备4000中的一个或多个可以存储功能确定模型。在图5的实施例中,第一设备4100可以包括通信接口4110、处理器4120和存储器4130,并且功能确定模型4132可以被存储在存储器4130中。根据实施例,存储在第一设备4100中的功能确定模型4132可以是用于获得关于执行第一设备4100的操作的详细操作以及详细操作之间的关系的操作信息的模型。根据实施例,功能确定模型4132可以包括第一nlu模型4134,被配置为分析从集线器设备1000或iot服务器3000接收的文本的至少一部分,并基于文本的至少一部分的分析结果来获得关于要由第一设备4100执行的操作的操作信息。根据实施例,功能确定模型4132可以包括动作计划管理模块4136,被配置为管理与设备的详细操作相关的操作信息,以便生成要由第一设备4100执行的详细操作和详细操作的执行顺序。动作计划管理模块4136可以基于文本的至少一部分的分析结果来计划要由第一设备4100执行的详细操作和详细操作的执行顺序。
251.根据实施例,第二设备4200可以包括通信接口4210、处理器4220和存储器4230。根据实施例,第三设备4300可以包括通信接口4310、处理器4320和存储器4330。根据实施例,与第一设备4100不同,第二设备4200和第三设备4300可以不存储功能确定模型。根据实施例,第二设备4200和第三设备4300可以不从集线器设备1000(参见图1)或iot服务器3000(参见图1)接收文本的至少一部分。根据实施例,第二设备4200和第三设备4300可以从集线器设备1000或iot服务器3000接收控制命令,并可以基于接收的控制命令来执行操作。
252.根据实施例,多个设备4000可以通过使用通信接口4110、4210和4310将关于用户账户信息的信息、设备信息和关于功能确定模型的信息发送到iot服务器3000。在本公开的实施例中,当用户登录到多个设备4000时,多个设备4000可以向iot服务器3000发送用户账户信息、关于多个设备4000中的每一个本身是否存储设备确定模型的信息以及关于多个设备4000中的每一个本身是否存储功能确定模型的信息。根据实施例,设备信息可以包括多个设备4000的标识信息(例如,设备id信息)、多个设备4000中的每一个的设备类型、多个设备4000中的每一个的功能执行能力、位置信息和状态信息中的至少一个。
253.在本公开的实施例中,多个设备4000可以通过使用通信接口4110、4210和4310向集线器设备1000(参见图1)发送用户账户信息、关于多个设备4000中的每一个本身是否存储设备确定模型的信息以及关于多个设备4000中的每一个本身是否存储功能确定模型的信息。
254.根据实施例,多个设备4000中的一个或多个可以是由与集线器设备1000的制造商不同的制造商制造的第三方设备。例如,第三设备4300可以是第三方设备。当第三设备4300是第三方设备时,可以通过第三设备4300使用第三方用户账户来登录第三方iot服务器,并且iot服务器3000可以通过使用临时账户来访问第三方iot服务器,并可以获得设备信息和关于第三设备4300的功能确定模型的信息。根据实施例,基于确定第三设备4300是操作执行设备,iot服务器3000可以将控制命令转换为第三设备4300可读和可执行的控制命令,并可以将控制命令发送到第三方iot服务器。根据实施例,第三方iot服务器可以向第三设备4300发送转换的控制命令,并且第三设备4300可以基于接收的控制命令来执行操作。
255.图6是根据本公开的实施例的由集线器设备1000执行的基于语音输入来控制设备的方法的流程图。
256.根据实施例,在操作s610中,集线器设备1000可以接收语音数据(例如,用户的语
音输入)。在本公开的实施例中,集线器设备1000可以通过麦克风1100(参见图2)从用户接收语音输入(例如,用户的话语),并可以从接收的语音输入获得语音信号或语音数据。在本公开的实施例中,集线器设备1000的处理器1200(参见图2)可以将语音数据(例如,通过麦克风1100接收的声音)转换为声学信号,并可以通过从声学信号中去除噪声(例如,非语音分量)来获得语音信号。
257.根据实施例,在操作s620中,集线器设备1000可以通过执行asr将接收的语音输入转换为文本。在本公开的实施例中,集线器设备1000可以执行asr,所述asr通过使用诸如声学模型(am)或语言模型(lm)的预定义模型将语音信号转换为计算机可读文本。当接收到未去除噪声的声学信号时,集线器设备1000可以通过从接收的声学信号中去除噪声来获得语音信号,并可以对语音信号执行asr。
258.根据实施例,在操作s630中,集线器设备1000可以通过使用第一nlu模型来分析文本,并可以通过使用设备确定模型来确定与分析的文本相对应的操作执行设备。在本公开的实施例中,集线器设备1000可以通过使用包括在设备确定模型中的第一nlu模型来分析文本,并可以基于文本的分析结果从多个设备中确定用于根据用户的意图执行操作的操作执行设备。根据实施例,多个设备可以指通过使用与集线器设备1000的用户账户相同的用户账户登录并通过网络连接到集线器设备1000的设备,诸如iot设备。多个iot设备可以是通过使用与集线器设备1000的用户账户相同的用户账户注册到iot服务器的设备。
259.根据实施例,第一nlu模型可以是被训练为分析从语音输入转换的文本并基于分析结果确定操作执行设备的模型。根据实施例,第一nlu模型可以用于通过解释文本来确定意图,并基于意图来确定操作执行设备。根据实施例,集线器设备1000可以通过使用第一nlu模型以词素、单词或短语为单位来解析文本,并可以通过使用词素、单词或短语的语言特征(例如,语法成分)来推断从解析的文本中提取的单词的含义。根据实施例,集线器设备1000可以将推断的单词的含义与由第一nlu模型提供的预定义意图进行比较,并可确定与单词的推断的含义相对应的意图。
260.根据实施例,集线器设备1000可以基于用于确定意图与设备之间的关系的匹配模型,将与从文本识别的意图相关的设备确定为操作执行设备。在本公开的实施例中,可以通过经由基于规则的系统的学习来获得匹配模型,但是本公开不限于此。
261.在本公开的实施例中,集线器设备1000可以通过将匹配模型应用于意图来获得指示意图与多个设备之间的关系程度的多个数值,并可以将具有获得的多个数值中的最大值的设备确定为最终操作执行设备。例如,当意图与第一设备和第二设备中的每一个相关时,集线器设备1000可以获得指示意图与第一设备之间的关系程度的第一数值和指示意图与第二设备之间的关系程度的第二数值,并可以将具有第一数值和第二数值中的较大数值的第一设备确定为操作执行设备。
262.尽管集线器设备1000可以通过使用例如基于规则的系统来训练意图与操作执行设备之间的匹配模型,但是本公开不限于此。集线器设备1000使用的ai模型可以包括例如基于神经网络的系统(例如,cnn或rnn)、svm、线性回归、逻辑回归、朴素贝叶斯、随机森林、决策树或k最近邻算法。可替换地,ai模型可以是上述示例的组合或任何其他ai模型。
263.根据实施例,存储在集线器设备1000的存储器1300(参见图2)中的设备确定模型1330(参见图2)可以从根据集线器设备1000的用户账户注册的多个设备当中确定操作执行
设备。在本公开的实施例中,设备确定模型可以分析指示意图与通过使用与集线器设备1000的用户账户相同的用户账户登录和先前注册的多个设备之间的关系程度的数值,并可以将具有指示意图与多个设备之间的关系程度的数值当中的最大值的设备确定为操作执行设备。
264.在本公开的实施例中,集线器设备1000可以从语音助理服务器2000(参见图1)接收关于先前根据用户账户注册的多个设备中的每一个的设备信息。设备信息可以包括例如多个设备中的每一个的标识信息(例如,设备id信息)、多个设备中的每一个的设备类型、多个设备中的每一个的功能执行能力、位置信息和状态信息中的至少一个。集线器设备1000可以基于接收的设备信息从多个设备当中确定用于根据意图执行操作的设备。
265.根据实施例,在操作s640中,集线器设备1000可以识别存储与从多个设备中确定的操作执行设备相对应的功能确定模型的设备。
266.根据实施例,与操作执行设备相对应的功能确定模型可以存储在集线器设备1000的存储器中、可以存储在操作执行设备本身的存储器中,或者可以存储在语音助理服务器2000的存储器中(参见图1)。根据实施例,术语“与操作执行设备相对应的功能确定模型”可以指用于获得与用于根据操作执行设备的确定的功能执行操作相关的详细操作以及详细操作之间的关系的操作信息的模型。
267.在本公开的实施例中,集线器设备1000可以通过使用关于是否存储在数据库1360(参见图2)中的多个设备中的每一个的功能确定模型的信息和关于与多个设备中的每一个相对应的功能确定模型的存储位置的信息,从集线器设备1000的存储器、语音助理服务器2000的存储器或操作执行设备本身的存储器中识别存储功能确定模型的设备。根据实施例,集线器设备1000可以从多个设备当中存储用于确定与多个设备中的每一个相关的功能的功能确定模型的至少一个设备获得关于功能确定模型的信息,并可以将获得的关于功能确定模型的信息存储在数据库1360中。根据实施例,基于接收到关于多个设备的功能确定模型的信息,集线器设备1000还可以接收关于多个设备中的每一个的功能确定模型的存储位置的信息(例如,设备标识信息、ip地址或mac地址)。根据实施例,关于是否存储根据用户账户先前注册的多个设备中的每一个的功能确定模型的信息以及关于多个设备中的每一个的功能确定模型的存储位置的信息可以以查找表的形式存储在数据库1360中。
268.在本公开的实施例中,集线器设备1000可以获得在操作s630中确定的操作执行设备的设备标识信息、可以根据设备标识信息在数据库1360中搜索查找表,并可以基于查找表的搜索结果获得关于与操作执行设备相对应的功能确定模型的存储位置的信息。通过使用上述方法,集线器设备1000可以从集线器设备1000的存储器、语音助理服务器2000的存储器和操作执行设备本身的存储器中识别存储与操作执行设备相对应的功能确定模型的设备。
269.根据实施例,在操作s650中,集线器设备1000可以向识别的设备提供文本的至少一部分。例如,当在操作s640中检查到与操作执行设备相对应的功能确定模型存储在集线器设备1000中时,集线器设备1000可以将文本的至少一部分提供给与操作执行设备相对应的功能确定模型。
270.例如,当在操作s640中检查到与操作执行设备相对应的功能确定模型存储在语音助理服务器2000中时,集线器设备1000可以将文本的至少一部分发送到语音助理服务器
2000。
271.例如,当在操作s640中检查到与操作执行设备相对应的功能确定模型存储在操作执行设备本身的存储器中时,集线器设备1000可以将文本的至少一部分发送到操作执行设备。
272.在本公开的实施例中,集线器设备1000可以仅提供文本的一部分,而不向识别的设备提供整个文本。例如,当从语音输入转换的文本是“在tv上播放电影复仇者”时,“在tv上”指定操作执行设备的名称,因此对于电视功能确定模型1354可以是不必要的信息。根据实施例,集线器设备1000可以通过使用第一nlu模型1332(参见图2)以单词或短语为单位来解析文本,可以识别指定名称、通用名称或设备的安装位置的单词或短语,并可以将除了在整个文本中识别的单词或短语之外的文本的剩余部分提供给识别的设备。
273.图7是图示根据本公开的实施例的由集线器设备1000执行的根据用户的语音输入向集线器设备1000、语音助理服务器2000和操作执行设备4000a中的一个提供文本的至少一部分的方法的流程图。图7图示了图6的操作s640和s650的详细实施例。图7的操作s710至s730是操作s640的详细实施例,并且操作s740至s760是图6的操作s650的详细实施例。
274.根据实施例,可以在图6的操作s630之后执行操作s710。在操作s710中,根据实施例,集线器设备1000可以从多个设备当中存储功能确定模型的至少一个设备获得关于功能确定模型的信息。在本公开的实施例中,集线器设备1000可以通过使用通信接口1400(参见图2)从存储用于确定与多个设备中的每一个相关的功能的功能确定模型的至少一个设备接收关于功能确定模型的信息。根据实施例,术语“关于功能确定模型的信息”可以指关于多个设备中的每一个本身是否存储用于获得关于根据功能执行操作的详细操作以及详细操作之间的关系的操作信息的功能确定模型的信息。在本公开的实施例中,当从多个设备接收到关于功能确定模型的信息时,集线器设备1000还可以获得关于多个设备中的每一个的功能确定模型的存储位置的信息(例如,设备标识信息、ip地址或mac地址)。
275.根据实施例,集线器设备1000可以将接收的关于功能确定模型的信息和关于每个设备的功能确定模型的存储位置的信息存储在数据库1360(参见图2)中。在本公开的实施例中,集线器设备1000可以根据设备的名称或标识信息以查找表的形式将关于是否存储功能确定模型的信息和关于功能确定模型的存储位置的信息存储在数据库1360中。
276.根据实施例,在操作s720中,集线器设备1000可以检查与确定的操作执行设备相对应的功能确定模型是否存储在集线器设备1000的存储器中。根据实施例,术语“与操作执行设备相对应的功能确定模型”可以是用于获得关于根据操作执行设备的确定的功能执行操作的详细操作以及详细操作之间的关系的操作信息的模型。
277.根据实施例,与操作执行设备相对应的功能确定模型可以存储在集线器设备1000的存储器1300(参见图2)中、可以存储在操作执行设备本身的存储器中,或者可以存储在语音助理服务器2000中。
278.在本公开的实施例中,集线器设备1000可以通过搜索存储在数据库1360中的查找表来获得关于每个设备的功能确定模型的信息。在本公开的实施例中,集线器设备1000可以基于获得的关于功能确定模型的信息来检查与操作执行设备相对应的功能确定模型是否存储在集线器设备1000的存储器1300中。在本公开的另一实施例中,集线器设备1000可以通过访问存储器1300并扫描存储在存储器1300中的数据来确定与操作执行设备相对应
的功能确定模型是否存储在存储器1300中。
279.多个设备的多个功能确定模型可以存储在集线器设备1000的存储器1300中。在本公开的实施例中,与通过使用与用户账户相同的账户登录并通过网络连接到集线器设备1000的多个设备相对应的多个功能确定模型可以被存储到集线器设备1000的存储器1300。
280.根据实施例,在操作s730中,基于在操作s720中确定在集线器设备1000的存储器1300中不存在与操作执行设备相对应的功能确定模型,集线器设备1000可以基于关于功能确定模型的信息来检查与操作执行设备相对应的功能确定模型是否存储在操作执行设备的存储器中。在本公开的实施例中,集线器设备1000可以通过搜索存储在数据库1360中的查找表来检查与操作执行设备相对应的功能确定模型是否存储在操作执行设备本身的存储器中。例如,当基于文本确定的操作执行设备是第一设备时,集线器设备1000可以通过搜索查找表来检查关于第一设备本身是否存储功能确定模型的信息。
281.在本公开的实施例中,功能确定模型可以不存储在被确定为操作执行设备的第一设备的存储器中。根据实施例,在操作s740中,当集线器设备1000在操作s730中基于关于功能确定模型的信息确定功能确定模型未存储在操作执行设备中时,集线器设备1000将文本的至少一部分发送到语音助理服务器。在本公开的实施例中,集线器设备1000可以将文本的至少一部分发送到与存储在语音助理服务器中的操作执行设备相对应的功能确定模型。在这种情况下,集线器设备1000还可以将操作执行设备的设备标识信息连同文本的至少一部分一起发送。
282.根据实施例,在操作s750中,当集线器设备1000在操作s720中检查到与操作执行设备相对应的功能确定模型存储在集线器设备1000的存储器中时,集线器设备1000可以将文本的至少一部分提供给先前存储的功能确定模型。在本公开的实施例中,集线器设备1000可以从先前存储在存储器1300(参见图2)中的多个功能确定模型当中选择与操作执行设备相对应的功能确定模型,并可以将文本的至少一部分证明给所选择的功能确定模型。例如,当操作执行设备是第二设备时,集线器设备1000的处理器1200可以从先前存储在存储器1300中的第一功能确定模型和第二功能确定模型中选择与第二设备相对应的第二功能确定模型,并可以将文本的至少一部分提供给第二功能确定模型。
283.根据实施例,在操作s760中,当集线器设备1000在操作s730中检查到与操作执行设备相对应的功能确定模型存储在操作执行设备本身的存储器中时,集线器设备1000可以将文本的至少一部分发送到存储在操作执行设备中的功能确定模型。
284.根据实施例,在操作s740、s750和s760中,集线器设备1000可以仅发送文本的至少一部分,而不发送整个文本。在本公开的实施例中,集线器设备1000的处理器1200可以通过使用第一nlu模型以单词或短语为单位来表述文本,可以识别指定名称、通用名称或设备的安装位置的单词或短语,并可以将除了在整个文本中识别的单词或短语之外的文本的剩余部分发送到操作执行设备的功能确定模型。
285.图8是图示根据本公开的实施例的操作集线器设备1000、语音助理服务器2000、iot服务器3000和操作执行设备4000a的方法的流程图。
286.图8是图示在图7中描绘的步骤之后包括集线器设备1000、语音助理服务器2000、iot服务器3000和操作执行设备4000a的多设备系统环境中的实体的操作的流程图。图7中描绘的步骤指示检查到与操作执行设备4000a相对应的功能确定模型未存储在集
线器设备1000的存储器和操作执行设备4000a本身的存储器两者中的状态。
287.参考图8,集线器设备1000可以包括asr模块1310、nlg模块1320、设备确定模型1330和功能确定设备确定模块1340。在图8的实施例中,集线器设备1000可以不存储功能确定模型,或者可以不存储与操作设备相对应的功能确定模型。
288.根据实施例,语音助理服务器2000可以存储多个功能确定模型2342、2344和2346。例如,作为第一功能确定模型并存储在语音助理服务器2000中的功能确定模型2342可以是用于确定空调的功能并获得关于与确定的功能相关的详细操作以及详细操作之间的关系的操作信息的模型。例如,作为第二功能确定模型的功能确定模型2344可以是用于确定tv的功能并获得关于与确定的功能相关的详细操作以及详细操作之间的关系的操作信息的模型,并且功能确定模型2346可以是用于确定洗衣机的功能并获得关于与确定的功能相关的详细操作以及详细操作之间的关系的操作信息的模型。
289.在图8的实施例中,可以确定操作执行设备4000a是“tv”,并且与tv相对应的功能确定模型2344可以存储在语音助理服务器2000中。
290.在操作s810中,集线器设备1000将文本的至少一部分和操作执行设备4000a的标识信息发送到语音助理服务器2000。集线器设备1000可以将从语音输入转换的文本的至少一部分发送到语音助理服务器2000,而不发送整个文本。在本公开的实施例中,基于确定操作执行设备4000a是“tv”,在与“在tv上播放电影复仇者”相对应的文本中,“在tv上”指定操作执行设备4000a的名称或通用名称,因此可以是不必要的信息。此外,因为集线器设备1000将操作执行设备4000a的标识信息(例如,设备id)发送到语音助理服务器2000,所以“在tv上”是不必要的信息。集线器设备1000的处理器1200(参见图2)可以通过使用第一nlu模型1332以单词或短语为单位解析文本,可以识别指定名称、通用名称或设备的安装位置的单词或短语,并可以将除了在整个文本中识别的单词或短语之外的文本的剩余部分发送到语音助理服务器2000。
291.在操作s810中,在接收到文本的至少一部分和操作执行设备4000a的标识信息的同时,集线器设备1000可以将集线器设备1000和操作执行设备4000a的用户账户信息发送到语音助理服务器2000。
292.根据实施例,在操作s820中,语音助理服务器2000选择与操作执行设备4000a相对应的功能确定模型。在本公开的实施例中,语音助理服务器2000可以基于从集线器设备1000接收的操作执行设备4000a的标识信息来识别操作执行设备4000a,并可以从多个功能确定模型2342、2344和2346当中选择与操作执行设备4000a相对应的功能确定模型。术语“与操作执行设备相对应的功能确定模型”是指用于获得关于执行操作执行设备4000a的确定功能的详细操作以及详细操作之间的关系的操作信息的模型。在图8的实施例中,当操作执行设备4000a是tv时,语音助理服务器2000可以从存储在存储器中的多个功能确定模型2342、2344和2346当中选择用于获得关于根据tv的功能——例如,播放电影的功能——执行操作的详细操作以及详细操作之间的关系的操作信息的功能确定模型2344。
293.在操作s830中,语音助理服务器2000通过使用所选择的功能确定模型的nlu模型来解释文本,并基于分析结果确定意图。语音助理服务器2000可以通过使用功能确定模型2344的nlu模型2344a来分析从集线器设备1000接收的文本的至少一部分。作为被训练为解释与特定设备相关的文本的ai模型的nlu模型2344a可以是被训练为确定与用户预期的操
作相关的意图和参数的模型。nlu模型2344a可以是被训练为在输入文本时确定与特定设备的类型相关的功能的模型。
294.在本公开的实施例中,语音助理服务器2000可以通过使用nlu模型2344a以单词或短语为单位解析文本的至少一部分,可以通过使用解析的词素、单词或短语的语言特征(例如,语法元素)推断从解析的文本中提取的单词的含义,并可以通过将推断的含义与预定义的意图和参数进行匹配来从文本获得意图和参数。作为指示文本中包括的用户的话语意图的信息的意图可以用于确定要由操作执行设备4000a执行的操作。参数是指用于确定与意图相关的操作执行设备4000a的详细操作的可变信息。参数可以是与意图相对应的信息,并且多种类型的参数可以与一个意图相对应。例如,当文本是“在tv上播放电影复仇者”时,意图可以是“视频内容回放”,并且参数可以是“电影”或“电影复仇者”。
295.在本公开的实施例中,语音助理服务器2000可以仅从文本的至少一部分确定意图。
296.在操作s840中,语音助理服务器2000基于意图获得关于要由操作执行设备4000a执行的操作的操作信息。在本公开的实施例中,语音助理服务器2000通过使用功能确定模型2344的动作计划管理模块2344b,基于意图和参数来计划要由操作执行设备4000a执行的操作信息。动作计划管理模块2344b可以基于意图和参数来解释将由操作执行设备4000a执行的操作。动作计划管理模块2344b可以从先前存储的设备的操作当中选择与解释的操作相关的详细操作,并可以计划所选择的详细操作的执行顺序。动作计划管理模块2344b可以通过使用计划结果来获得关于要由操作执行设备4000a执行的详细操作的操作信息。术语“操作信息”可以是与要由设备执行的详细操作相关的信息、详细操作之间的关系以及与详细操作的执行顺序相关的信息。操作信息可以包括但不限于由操作执行设备4000a执行以执行详细操作的功能、功能的执行顺序、执行功能所需的输入值以及作为功能的执行结果输出的输出值。
297.在操作s850中,语音助理服务器2000将获得的操作信息和操作执行设备4000a的标识信息发送到iot服务器3000。
298.在操作s860中,iot服务器3000基于操作执行设备4000a的标识信息和接收的操作信息来获得控制命令。iot服务器3000可以包括其中存储有用于多个设备的控制命令和操作信息的数据库。在本公开的实施例中,iot服务器3000可以基于操作执行设备4000a的标识信息,从先前存储在数据库中的与多个设备相关的控制命令当中选择用于控制操作执行设备4000a的详细操作的控制命令。
299.根据实施例,作为设备可读和可执行的信息的控制命令可以包括用于当设备执行功能时根据操作信息以执行顺序顺序地执行详细操作的指令。
300.根据实施例,在操作s870中,iot服务器3000可以通过使用操作执行设备4000a的标识信息来向操作执行设备4000a发送控制命令。
301.在操作s880中,操作执行设备4000a可以根据接收的控制命令执行与控制命令相对应的操作。例如,操作执行设备4000a可以基于控制命令播放电影。
302.在本公开的实施例中,在执行操作之后,操作执行设备4000a可以向iot服务器3000发送关于操作执行结果的信息。
303.图9是图示根据本公开的实施例的操作集线器设备1000和操作执行设备4000a的
方法的流程图。
304.图9是图示在图7的步骤之后包括集线器设备1000和操作执行设备4000a的多设备系统中的实体的操作的流程图。图7所描绘的步骤指示检查到与操作执行设备4000a相对应的功能确定模型未存储在集线器设备1000的存储器中而是存储在操作执行设备4000a本身的存储器中的状态。尽管图9中未示出语音助理服务器2000和iot服务器3000,但这并不意味着多设备系统不包括语音助理服务器2000和iot服务器3000。
305.参考图9,集线器设备1000可以包括asr模块1310、nlg模块1320、设备确定模型1330和功能确定设备确定模块1340。在图8的实施例中,集线器设备1000可以不存储功能确定模型,或者可以不存储与操作设备相对应的功能确定模型。
306.操作执行设备4000a可以存储操作执行设备4000a本身的功能确定模型4032。操作执行设备4000a本身可以分析文本,并且用于基于文本的分析结果根据用户的意图执行操作的功能确定模型4032可以存储在操作执行设备4000a的存储器中。例如,当操作执行设备4000a是“空调”时,存储在操作执行设备4000a的存储器中的功能确定模型4032可以是用于确定空调的功能并获得关于与确定的功能相关的详细操作以及详细操作之间的关系的操作信息的模型。
307.在操作s910中,集线器设备1000将文本的至少一部分和文本发送通知信号发送到操作执行设备4000a的功能确定模型4032。集线器设备1000可以将从语音输入转换的文本的至少一部分发送到操作执行设备4000a,而不发送整个文本。例如,在说“在空调中降低温度2℃”的文本中,“在空调中”指定操作执行设备4000a的名称或通用名称,因此可以是不必要的信息。此外,因为操作执行设备4000a本身是空调,所以“在空调中”是不必要的信息。集线器设备1000的处理器1200(参见图2)可以通过使用第一nlu模型1332以单词或短语为单位解析文本,可以识别指定名称、通用名称或设备的安装位置的单词或短语,并可以将除了在整个文本中识别的单词或短语之外的文本的剩余部分发送到操作执行设备4000a。
308.在本公开的实施例中,集线器设备1000可以将文本发送通知信号发送到操作执行设备4000a。文本发送通知信号是通知文本被发送到操作执行设备4000a的信号。当操作执行设备4000a接收到文本发送通知信号时,可以省略asr操作、确定操作执行设备的操作和选择功能确定模型的操作,并且操作执行设备4000a可以直接将文本的至少一部分提供给功能确定模型4032,并可以通过使用功能确定模型4032从文本确定意图。
309.然而,本公开不限于此,并且在操作s910中,集线器设备1000可以不向操作执行设备4000a发送文本发送通知信号。在这种情况下,当操作执行设备4000a从集线器设备1000接收到文本的至少一部分时,操作执行设备4000a可以被预设为将接收的文本的至少一部分提供给功能确定模型4032。在本公开的实施例中,关于被设置为识别接收到文本并将文本提供给功能确定模型4032的策略的数据可以存储在操作执行设备4000a的存储器中。
310.根据实施例,在操作s920中,操作执行设备4000a可以通过使用nlu模型4034解释文本来确定意图。在本公开的实施例中,操作执行设备4000a可以通过使用功能确定模型4032的nlu模型4034来分析从集线器设备1000接收的文本的至少一部分。作为被训练为解释与操作执行设备4000a相关的文本的ai模型的nlu模型4034可以是被训练为确定与用户意图的操作相关的意图和参数的模型。nlu模型4034可以是被训练为在输入文本时确定与特定设备的类型相关的功能的模型。
311.在本公开的实施例中,操作执行设备4000a可以通过使用nlu模型4034以单词或短语为单位解析文本的至少一部分,可以通过使用解析的词素、单词或短语的语言特征(例如,语法元素)推断从解析的文本中提取的单词的含义,并可以通过将推断的含义与预定义的意图和参数进行匹配来从文本获得意图和参数。作为指示文本中包括的用户的话语意图的信息的意图可以用于确定要由操作执行设备4000a执行的操作。参数是指用于确定与意图相关的操作执行设备4000a的详细操作的可变信息。参数可以是与意图相对应的信息,并且多种类型的参数可以与一个意图相对应。例如,当文本是“在空调中降低温度2℃”时,意图可以是“设置温度控制”或“设置温度下降”,并且,参数可以是“2℃”。
312.在本公开的实施例中,操作执行设备4000a可以仅从文本的至少一部分确定意图。
313.根据实施例,在操作s930中,操作执行设备4000a基于意图获得关于将由操作执行设备4000a执行的操作的操作信息。在本公开的实施例中,操作执行设备4000a通过使用功能确定模型4032的动作计划管理模块4036,基于意图和参数来计划将由操作执行设备4000a执行的操作信息。动作计划管理模块4036可以基于意图和参数来解释要由操作执行设备4000a执行的操作。动作计划管理模块4036可以从先前存储的设备的操作当中选择与解释的操作相关的详细操作,并可以计划所选择的详细操作的执行顺序。动作计划管理模块4036可以通过使用计划结果来获得关于要由操作执行设备4000a执行的详细操作的操作信息。术语“操作信息”可以是与要由设备执行的详细操作、详细操作之间的关系以及详细操作的执行顺序相关的信息。操作信息可以包括但不限于由操作执行设备4000a执行以执行详细操作的功能、功能的执行顺序、执行功能所需的输入值以及作为功能的执行结果输出的输出值。
314.根据实施例,在操作s940中,操作执行设备4000a基于操作信息获得控制命令。在本公开的实施例中,分别与多条不同的操作信息相对应的多个控制命令可以存储在操作执行设备4000a的存储器中。在本公开的实施例中,操作执行设备4000a可以从先前存储在存储器中的多个控制命令当中选择根据操作信息控制详细操作的控制命令。作为由操作执行设备4000a可读和可执行的信息的控制命令可以包括用于当操作执行设备4000a执行功能时以执行顺序根据操作信息顺序地执行详细操作的指令。
315.根据实施例,在操作s950中,操作执行设备4000a可以根据控制命令执行与控制命令相对应的操作。例如,操作执行设备4000a可以基于控制命令将设定温度降低2℃。
316.图10是图示根据本公开的实施例的操作集线器设备1000和操作执行设备4000a的方法的流程图。
317.图10是图示在图7的步骤之后包括集线器设备1000和操作执行设备4000a的多设备系统环境中的实体的操作的流程图。图7所示的步骤表示检查到与操作执行设备4000a相对应的功能确定模型存储在集线器设备1000的存储器中的状态。尽管图10中未示出语音助理服务器2000和iot服务器3000,但这并不意味着多设备系统不包括语音助理服务器2000和iot服务器3000。
318.参考图10,根据实施例,集线器设备1000可以包括asr模块1310、nlg模块1320、设备确定模型1330、功能确定设备确定模块1340、扬声器功能确定模型1352和tv功能确定模型1354。在图10的实施例中,集线器设备1000可以存储与操作执行设备4000a相对应的功能确定模型。例如,当操作执行设备4000a是tv时,集线器设备1000可以将与tv相对应的tv功
能确定模型1354存储在存储器中。tv功能确定模型1354可以是用于确定tv的功能并获得关于与确定的功能相关的详细操作以及详细操作之间的关系的操作信息的模型。
319.根据实施例,在操作s1010中,集线器设备1000可以从先前存储在集线器设备1000中的扬声器功能确定模型1352和tv功能确定模型1354中选择与操作执行设备4000a相对应的功能确定模型。在本公开的实施例中,基于确定操作执行设备4000a是tv,集线器设备1000可以从扬声器功能确定模型1352和tv功能确定模型1354中选择与tv相对应的tv功能确定模型1354。
320.在操作s1020中,集线器设备1000将文本的至少一部分提供给所选择的功能确定模型。在本公开的实施例中,集线器设备1000的处理器1200(参见图2)可以将文本的至少一部分提供给存储在存储器中的tv功能确定模型1354。在这种情况下,处理器1200可以向tv功能确定模型1354提供文本的至少一部分,而不提供整个文本。例如,基于确定操作执行设备4000a是“tv”,在说出“在tv上播放电影复仇者”的文本中,“在tv上”指定操作执行设备4000a的名称或通用名称,因此可以是不必要的信息。此外,因为tv功能确定模型1354是与tv相对应的功能确定模型,所以“在tv上”对于tv功能确定模型1354是不必要的信息。处理器1200可以通过使用第一nlu模型1332以单词或短语为单位解析文本,可以识别指定名称、通用名称或设备的安装位置的单词或短语,并可以将除了在整个文本中识别的单词或短语之外的文本的剩余部分提供给tv功能确定模型1354。
321.在操作s1030中,集线器设备1000通过使用所选择的功能确定模型的第二nlu模型解释文本的至少一部分来确定意图。在本公开的实施例中,集线器设备1000的处理器1200(参见图2)可以通过使用tv功能确定模型1354的第二nlu模型1354a来分析文本的至少一部分。作为专用于特定设备的模型的第二nlu模型1354a可以是被训练为获得与设备相关的意图的ai模型,所述设备与由第一nlu模型1332确定的操作执行设备4000a相对应并且与文本的至少一部分相对应。此外,第二nlu模型1354a可以是被训练为通过解释文本来确定与用户的意图相关的设备的操作的模型。
322.根据实施例,在本公开的实施例中,处理器1200可以通过使用第二nlu模型1354a以词素、单词或短语为单位解析文本,可以识别通过语法和语义分析解析的词素、单词或短语的含义,并可以通过将识别的含义与预定义的单词进行匹配来确定意图和参数。本文使用的术语“参数”是指用于确定与意图相关的目标设备的详细操作的可变信息。这里不提供与参考图7相同的意图和参数的描述。
323.在本公开的实施例中,处理器1200可以通过使用第二nlu模型1354a仅从文本的至少一部分确定意图。
324.在操作s1040中,集线器设备1000基于意图获得关于将由操作执行设备4000a执行的操作的操作信息。在本公开的实施例中,集线器设备1000的处理器1200(参见图2)可以通过使用tv功能确定模型1354的动作计划管理模块1354b来获得关于与意图和参数相关的至少一个详细操作的操作信息。动作计划管理模块1354b可以管理关于操作执行设备4000a的详细操作以及详细操作之间的关系的信息。集线器设备1000的处理器1200可以通过使用动作计划管理模块1354b基于意图和参数来计划要由操作执行设备4000a执行的详细操作和详细操作的执行顺序,并可以获得操作信息。
325.操作信息可以是与要由操作执行设备4000a执行的详细操作和详细操作的执行顺
序相关的信息。操作信息可以包括与要由操作执行设备4000a执行的详细操作、每个详细操作与另一详细操作之间的关系以及详细操作的执行顺序相关的信息。操作信息可以包括但不限于由操作执行设备4000a执行以执行特定操作的功能、功能的执行顺序、执行功能所需的输入值以及作为功能的执行结果输出的输出值。
326.根据实施例,在操作s1050中,集线器设备1000基于操作信息生成控制命令。控制命令是指由操作执行设备4000a可读和可执行的指令,使得操作执行设备4000a执行操作信息中包括的详细操作。
327.图10与图9的不同之处在于,由集线器设备1000执行确定意图(s1030)、获得操作信息(s1040)和生成控制命令(s1050)的操作。参考图9和图10,执行确定意图、获得操作信息和生成控制命令的操作的实体根据与操作执行设备4000a相对应的功能确定模型是存储在集线器设备1000中还是存储在操作执行设备4000a中而变化。
328.根据实施例,在操作s1060中,集线器设备1000通过使用操作执行设备4000a的标识信息将控制命令发送到操作执行设备4000a。在本公开的实施例中,集线器设备1000可以通过使用通过网络连接并通过使用相同的用户账户预先注册的多个设备当中的操作执行设备4000a的标识信息来识别操作执行设备4000a,并可以将控制命令发送到识别的操作执行设备4000a。
329.根据实施例,在操作s1070中,操作执行设备4000a根据接收的控制命令执行操作。
330.图11是图示根据本公开的实施例的操作集线器设备1000、语音助理服务器2000、iot服务器3000、第三方iot服务器5000和第三方设备5100的方法的流程图。
331.图11是图示在图7的步骤之后包括集线器设备1000、语音助理服务器2000、iot服务器3000、第三方iot服务器5000和第三方设备5100的多设备系统环境中的实体的操作的流程图。图7所示的步骤表示检查到与操作执行设备4000a相对应的功能确定模型未存储在集线器设备1000的存储器和操作执行设备4000a本身的存储器两者中的状态。
332.参考图11,集线器设备1000可以包括asr模块1310、nlg模块1320、设备确定模型1330和功能确定设备确定模块1340。在图11的实施例中,集线器设备1000可以不存储功能确定模型,或者可以不存储与操作设备相对应的功能确定模型。
333.语音助理服务器2000可以存储多个功能确定模型2342、2344和2348。语音助理服务器2000可以存储功能确定模型2348(称为第三方功能确定模型)。
334.第三方设备5100是指由除了集线器设备1000的制造商之外的制造商、附属公司或具有技术捆绑的公司制造的设备。在本公开的实施例中,当第三方设备5100的用户与集线器设备1000的用户相同时,在用户通过使用用于登录到集线器设备1000的用户账户来注册第三方设备5100时,第三方功能确定模型2348可以存储在语音助理服务器2000中。例如,当用户通过使用集线器设备1000的用户账户登录来注册第三方设备5100时,第三方iot服务器5000可以允许iot服务器3000的访问权限,并且iot服务器3000可以访问第三方iot服务器5000并可以根据第三方设备5100的多个功能以及详细操作之间的关系来请求用于获得关于详细操作的操作信息的第三方功能确定模型2348。开放授权(oauth)方法可以用于将第三方设备5100注册到iot服务器3000。第三方iot服务器500可以根据所述请求向iot服务器3000提供第三方功能确定模型2348的数据,并且iot服务器3000可以向语音助理服务器2000提供第三方功能确定模型2348。
335.第三方iot服务器5000是存储和管理第三方设备5100的设备标识信息、第三方设备5100的设备类型、功能执行能力信息、位置信息和状态信息中的至少一个的服务器。第三方iot服务器5000可以通过使用第三方设备5100的设备信息来获得、确定或生成用于控制第三方设备5100的控制命令。第三方iot服务器5000可以向基于操作信息确定执行操作的第三方设备5100发送第二控制命令。第三方iot服务器5000可以由第三方设备5100的制造商操作,但不限于此。
336.在图11的实施例中,可以确定操作执行设备是第三方设备5100。
337.根据实施例,在操作s1110中,集线器设备1000将文本的至少一部分和第三方设备5100的标识信息发送到语音助理服务器2000。除了第三方5100的标识信息——例如,第三方设备5100的设备id——被发送到语音助理服务器2000,操作s1110与图8的操作s810相同,因此将不提供其重复说明。
338.根据实施例,在操作s1120中,语音助理服务器2000通过使用接收的第三方设备5100的标识信息来选择与第三方设备5100相对应的功能确定模型。在本公开的实施例中,语音助理服务器2000可以基于从集线器设备1000接收的第三方设备5100的标识信息来识别第三方设备5100,并可以从多个功能确定模型2342、2344和2348当中选择与第三方设备5100相对应的第三方功能确定模型2348。
339.根据实施例,在操作s1130中,语音助理服务器2000通过使用第三方功能确定模型2348的nlu模型2348a来分析文本,并基于分析结果确定意图。除了使用第三方功能确定模型2348的nlu模型2348a之外,操作s1130与图8的操作s830相同,因此这里将不提供其重复说明。
340.根据实施例,在操作s1140中,语音助理服务器2000基于意图获得关于要由第三方设备5100执行的操作的操作信息。除了获得关于要由第三方设备5100执行的操作的信息之外,操作s1140与图8的操作s840相同,因此这里将不提供其重复说明。
341.根据实施例,在操作s1142中,语音助理服务器2000将第三方设备5100的标识信息(例如,第三方设备5100的设备id)和操作信息发送到iot服务器3000。
342.根据实施例,在操作s1150中,iot服务器3000基于第三方设备5100的标识信息和接收的操作信息来获得第一控制命令。iot服务器3000可以包括存储关于第三方设备5100的操作信息和根据操作信息的控制命令的数据库。iot服务器3000可以通过第三方设备5100的注册方法从第三方iot服务器5000获得第三方设备5100的操作信息,并可以将获得的操作信息存储在数据库中。在本公开的实施例中,iot服务器3000可以基于第三方设备5100的标识信息来识别第三方设备5100,并可以通过使用第三方设备5100的操作信息来生成第一控制命令。
343.第一控制命令可以包括用于当第三方设备5100执行功能时,以执行顺序根据操作信息顺序地执行详细操作的指令。在本公开的实施例中,第一控制命令可以不被第三方设备5100读取。
344.根据实施例,在操作s1152中,iot服务器3000向第三方iot服务器5000发送第三方设备5100的标识信息和第一控制命令。
345.根据实施例,在操作s1160,第三方iot服务器5000将第一控制命令转换为第三方设备5100可读和可执行的第二控制命令。第三方iot服务器5000可以通过使用接收的第三
方设备5100的标识信息来将第一控制命令转换成第三方设备5100可读和可执行的第二控制命令。
346.根据实施例,在操作s1162中,第三方iot服务器5000通过使用第三方设备5100的标识信息向第三方设备5100发送第二控制命令。
347.根据实施例,在操作s1170中,第三方设备5100根据接收的第二控制命令执行与第二控制命令相应的操作。
348.图12a是图示根据本公开的实施例的集线器设备1000和多个设备(例如,第一设备4100a和第二设备4200a)的操作的概念图。
349.图12a是图示用于描述集线器设备1000和多个设备(例如,第一设备4100a和第二设备4200a)的操作的基本元件的框图。然而,集线器设备1000和多个设备(4100a和4200a)的元件不限于图12a的元件。
350.图12a的箭头指示集线器设备1000与第一设备4100a之间的包括语音信号和文本的数据的移动、发送和接收。带圆圈的数字表示执行操作的顺序。
351.参考图12a,集线器设备1000和多个设备(例如,第一设备4100a和第二设备4200a)可以通过使用有线通信方法或无线通信方法彼此连接,并可以执行数据通信。在本公开的实施例中,集线器设备1000和多个设备(例如,第一设备4100a和第二设备4200a)可以通过通信网络彼此直接连接,但本公开不限于此。在本公开的实施例中,尽管集线器设备1000和多个设备(例如,第一设备4100a和第二设备4200a)可以连接到语音助理服务器2000(参见图3),但是集线器设备1000可以通过语音助理服务器2000连接到多个设备(例如,第一设备4100a和第二设备4200a)。
352.集线器设备1000和多个设备(例如,第一设备4100a和第二设备4200a)可以通过lan、wan、van、移动无线电通信网络、卫星通信网络或其组合来连接。无线通信方法的示例可以包括但不限于wi

fi、蓝牙、ble、zigbee、wfd、uwb、irda和nfc。
353.集线器设备1000是接收语音信号并基于接收的语音信号来控制多个设备(例如,第一设备4100a和第二设备4200a)中的至少一个的设备。
354.多个设备(例如,第一设备4100a和第二设备4200a)可以是通过使用与集线器设备1000的用户账户相同的用户账户登录并通过使用集线器设备1000的用户账户先前注册到iot服务器3000的设备。
355.多个设备(例如,第一设备4100a和第二设备4200a)中的至少一个可以是从用户接收语音输入的收听设备。在图12a的实施例中,第一设备4100a可以是从用户接收包括用户话语的语音输入的收听设备。收听设备可以是但不限于仅从用户接收语音输入的设备。在本公开的实施例中,收听设备可以是从集线器设备1000接收控制命令并执行用于特定功能的操作的操作执行设备。在本公开的实施例中,收听设备可以从用户接收与由收听设备执行的功能相关的语音输入。例如,第一设备4100a可以是空调,并且第一设备4100a可以通过麦克风4140从用户接收诸如“将空调温度降低到20℃”的语音输入。
356.作为收听设备的第一设备4100a可以从接收自用户的语音输入接收语音信号。在本公开的实施例中,第一设备4100a可以将通过麦克风4140接收的声音转换为声学信号,并可以通过从声学信号去除噪声(例如,非语音分量)来获得语音信号。
357.第一设备4100a可以将语音信号发送到集线器设备1000(步骤1)。
358.集线器设备1000可以从第一设备4100a接收语音信号,并可以通过使用先前存储在存储器中的asr模块1310的数据执行asr来将语音信号转换为文本(步骤2)。
359.集线器设备1000的存储器1300(参见图2)可以包括设备确定模型1330,设备确定模型1330通过解释文本来从文本检测意图,并确定执行与检测到的意图相对应的操作的设备。设备确定模型1330可以从根据用户账户注册的多个设备(例如,第一设备4100a和第二设备4200a)当中确定操作执行设备。集线器设备1000可以通过使用包括在设备确定模型1330中的第一nlu模型1332的数据解释文本来从文本检测意图。第一nlu模型1332是用于通过解释文本来确定意图并基于意图来确定操作执行设备的模型。集线器设备1000可以通过使用设备确定模型1330的数据来确定执行与意图相对应的操作的操作执行设备是第一设备4100a(步骤3)。
360.与由集线器设备1000确定的操作执行设备相对应的功能确定模型可以存储在集线器设备1000的存储器1300中,可以存储在被确定为操作执行设备的第一设备4100a本身中,或者可以存储在语音助理服务器2000的存储器2300(参见图3)中。与每个设备相对应的功能确定模型是用于获得关于根据设备的确定功能执行操作的详细操作以及详细操作之间的关系的操作信息的模型。
361.集线器设备1000本身可以存储与多个设备(例如,第一设备4100a和第二设备4200a)中的至少一个相对应的功能确定模型。例如,当集线器设备1000是语音助理扬声器时,集线器设备1000可以存储扬声器功能确定模型1352,其用于获得关于执行语音助理扬声器的功能的详细操作以及详细操作之间的关系的操作信息。
362.集线器设备1000还可以存储与另一设备相对应的功能确定模型。例如,集线器设备1000可以存储冰箱功能确定模型1356,其用于获得关于与冰箱相对应的详细操作以及详细操作之间的关系的操作信息。冰箱可以是通过使用与集线器设备1000的用户账户相同的用户账户而先前注册到iot服务器3000的设备。
363.扬声器功能确定模型1352和冰箱功能确定模型1356可以分别包括第二nlu模型1352a和1356a以及动作计划管理模块1352b和1356b。在图12a的实施例中,集线器设备1000包括用于扬声器的第二nlu模型1352a和动作计划管理模块1352b,并包括用于冰箱的第二nlu模块1356b和动作计划管理模块1356b。除了设备类型从tv改变为冰箱之外,分别包括在图2的扬声器功能确定模型1352和tv功能确定模型1354中的第二nlu模型1352a和1354a以及动作计划管理模块1352b和1354b是相同的,因此将不给出重复的说明。
364.集线器设备1000可以通过使用功能确定设备确定模块1340的数据来识别存储有功能确定模型4132的设备,该功能确定模型4132与被确定为操作执行设备的第一设备4100a相对应。在本公开的实施例中,集线器设备1000可以从多个设备(例如,第一设备4100a和第二设备4200a)中的每一个获得关于功能确定模型的信息。术语“关于功能确定模型的信息”是指关于多个设备(例如,第一设备4100a和第二设备4200a)中的每一个本身是否存储用于获得关于根据功能执行操作的详细操作以及详细操作之间的关系的操作信息的功能确定模型的信息。在本公开的实施例中,当集线器设备1000从多个设备(例如,第一设备4100a和第二设备4200a)中的每一个接收到关于功能确定模型的信息时,集线器设备1000还可以获得关于多个设备中的每一个的功能确定模型的存储位置的信息(例如,设备标识信息、ip地址或mac地址)。
365.在本公开的另一实施例中,集线器设备1000可以通过使用包括关于存储在存储器中的设备的功能确定模型的信息的数据库1360(参见图2)来从集线器设备1000、第一设备4100a、第二设备4200a和语音助理服务器2000中识别其中存储有与操作执行设备相对应的功能确定模型的设备。在本公开的实施例中,集线器设备1000可以通过使用功能确定设备确定模块1340的数据,根据被确定为操作执行设备的第一设备4100a的设备标识信息来搜索数据库1360,并可以基于数据库1360的搜索结果获得关于与第一设备4100a相对应的功能确定模型4132的存储位置的信息。
366.集线器设备1000可以通过使用功能确定设备确定模块1340将文本的至少一部分发送到被识别为存储与操作执行设备相对应的功能确定模型4132的第一设备4100a(步骤4)。
367.第一设备4100a可以从集线器设备1000接收文本的至少一部分,并可以通过使用先前存储在存储器4130中的功能确定模型4132来解释文本的至少一部分。在本公开的实施例中,第一设备4100a可以通过使用包括在功能确定模型4132中的nlu模型4134来分析文本的至少一部分,并可以基于文本的至少一部分的分析结果来获得关于要由第一设备4100a执行的操作的操作信息。功能确定模型4132可以包括动作计划管理模块4136,其被配置为管理与设备的详细操作相关的操作信息,以便生成要由第一设备4100a执行的详细操作和详细操作的执行顺序。动作计划管理模块4136可以管理关于第一设备4100a的详细操作以及详细操作之间的关系的操作信息。动作计划管理模块4136可以基于文本的至少一部分的分析结果来计划要由第一设备4100a执行的详细操作和详细操作的执行顺序。第一设备4100a可以基于功能确定模型4132对文本的至少一部分的分析结果来计划详细操作和详细操作的执行顺序,并可以基于计划结果来执行操作(步骤5)。
368.然而,本公开的第一设备4100a不限于基于从集线器设备1000接收的文本的至少一部分来执行操作。在本公开的另一实施例中,第一设备4100a可以通过使用麦克风4140从用户接收语音输入,可以通过使用asr模型4138将接收的语音输入转换为文本,并可以通过使用功能确定模型4132解释文本来执行与文本相对应的操作。也就是说,即使没有集线器设备1000的参与,第一设备4100a也可以独立地执行操作。
369.图12a图示了其中作为从用户接收语音输入的收听设备的第一设备4100a和要执行与通过集线器设备1000输入的语音相关的操作的操作执行设备相同的实施例。例如,当第一设备4100a从用户接收到说“将空调温度降低到20℃”的语音输入时,集线器设备1000可以从作为收听设备的第一设备4100a接收用户的语音输入,并可以将作为空调的第一设备4100a确定为与语音输入相关的操作执行设备。第一设备4100a可以从集线器设备1000接收与语音输入相关的文本,并可以基于所述文本执行空调温度调节操作。
370.与图12a不同,收听设备和操作执行设备可以彼此不同,这将参考图12b进行描述。
371.图12b是图示根据本公开的实施例的集线器设备1000和多个设备(例如,第一设备4100a和第二设备4200a)的操作的概念图。
372.图12b是图示用于描述集线器设备1000和多个设备(例如,第一设备4100a和第二设备4200a)的操作的基本元件的框图。将不重复描述与图12a的集线器设备1000和多个设备(例如,第一设备4100a和第二设备4200a)的元件相同的元件。
373.参考图12b,第二设备4200a可以是从用户接收语音输入的收听设备。在本公开的
实施例中,尽管第二设备4200a可以是收听设备,但是第二设备4200a可以不是从集线器设备1000接收控制命令或执行用于特定功能的操作的操作执行设备。在图12b的实施例中,作为tv的第二设备4200a可以通过麦克风4240接收与tv无关的语音输入,诸如“将空调温度降低到20℃”。
374.第二设备4200a可以从通过麦克风4240接收的语音输入获得语音信号,并可以将语音信号发送到集线器设备1000(步骤1)。
375.集线器设备1000可以从第二设备4200a接收语音信号,并可以通过使用先前存储在存储器中的asr模块1310的数据执行asr来将语音信号转换为文本(步骤2)。
376.集线器设备1000可以通过使用第一nlu模型1332解释文本来确定意图,并可以通过使用设备确定模型1330的数据来确定与意图相关的操作执行设备(步骤3)。在图12b的实施例中,集线器设备1000可以通过使用设备确定模型1330的数据来确定执行与意图相对应的操作的操作执行设备是第一设备4100a。第一设备4100a可以是与从用户接收语音输入的收听设备不同的设备。例如,第一设备4100a可以是空调。
377.集线器设备1000可以通过使用功能确定设备确定模块1340的数据来识别其中存储有与被确定为操作执行设备的第一设备4100a相对应的功能确定模型4132的设备,并可以将文本的至少一部分发送到识别的第一设备4100a(步骤4)。
378.第一设备4100a可以从集线器设备1000接收文本的至少一部分,可以通过使用功能确定模型4132来分析文本的至少一部分,可以基于分析结果来计划详细操作和详细操作的执行顺序,并可以基于计划结果来执行操作(步骤5)。
379.因为可以解释关于与第二设备4200a的功能相关的详细操作和详细操作的执行顺序的信息的功能确定模型4232被存储在第二设备4200a的存储器4230中,所以第二设备4200a可以不解释与第一设备4100a的操作相关的文本。在图12b的实施例中,因为第二设备4200a是tv并且与tv相对应的功能确定模型4232存储在存储器4230中,所以第二设备4200a可以不解释说“将空调温度降低到20℃”的语音输入。在这种情况下,作为收听设备的第二设备4200a可以将从用户接收的语音输入发送到集线器设备1000,并且集线器设备1000可以将与操作相关的文本发送到被确定为操作执行设备的第一设备4100a。第一设备4100a可以基于从集线器设备1000接收的文本来执行空调温度调节操作。
380.参考图12a和图12b的实施例,用户可以不将与要执行的操作相关的语音命令发送到执行与特定功能相关的操作的特定设备,而是可以通过使用用户账户将语音命令发送到通过有线/无线通信网络连接的多个设备(例如,第一设备4100a和第二设备4200a)中的任何一个。例如,当用户生成说“将空调温度降低到20℃”的语音命令时,用户可以将语音命令发送到执行与“冷却温度设置”相关的功能的空调,或者可以将与冷却温度调节相关的语音命令发送到根本不与空调相关的tv。多个设备(例如,第一设备4100a和第二设备4200a)当中的从用户接收语音输入的收听设备可以将语音输入发送到集线器设备1000,并且集线器设备1000可以确定与语音输入中包括的用户的话语意图相对应的操作执行设备,并可以控制操作执行设备执行操作。
381.在图12a和图12b的实施例中,因为用户不需要从多个设备(例如,第一设备4100a和第二设备4200a)当中直接指定与功能相关的特定设备并将语音命令发送到特定设备,并且用于执行与功能相关的操作的操作执行设备被自动确定,所以可以提高用户便利性。此
外,因为集线器设备1000在不涉及诸如语音助理服务器2000的外部服务器的情况下确定操作执行设备,所以可以不需要使用网络,因此可以减少网络使用费。
382.图13是图示根据本公开的实施例的集线器设备1000基于从收听设备接收的语音信号来确定操作执行设备并将文本发送到存储与操作执行设备相应的功能确定模型的设备的方法的流程图。
383.根据实施例,在操作s1310中,集线器设备1000从收听设备接收语音信号。收听设备可以是通过使用与集线器设备1000的用户账户相同的用户账户登录并通过使用与集线器设备1000的用户账户相同的用户账户先前注册到iot服务器3000的多个设备中的任何一个。收听设备可以通过有线或无线通信网络连接到集线器设备1000。收听设备可以是但不限于仅从用户接收语音输入的设备。在本公开的实施例中,收听设备可以是从集线器设备1000接收控制命令并执行用于特定功能的操作的操作执行设备。
384.在本公开的实施例中,集线器设备1000的处理器1200(参见图2)可以通过通信接口1400(参见图2)从收听设备接收语音信号。
385.根据实施例,在操作s1320中,集线器设备1000通过执行asr将接收的语音信号转换为文本。在本公开的实施例中,集线器设备1000可以通过使用诸如am或lm的预定义模型来执行asr以将从收听设备接收的语音信号转换为计算机可读文本。当集线器设备1000从收听设备接收到未去除噪声的声学信号时,集线器设备1000可以通过从接收的声学信号去除噪声来获得语音信号,并可对语音信号执行asr。
386.根据实施例,在操作s1330中,集线器设备1000通过使用第一nlu模型来分析文本,并通过使用设备确定模型来确定与分析的文本相对应的操作执行设备。除了收听设备也被包括在可以被确定为操作执行设备的设备候选中,操作s1330与图6的操作s630相同,因此将不给出重复的说明。
387.根据实施例,在操作s1340中,集线器设备1000识别存储与从收听设备和操作执行设备当中确定的操作执行设备相对应的功能确定模型的设备。与由集线器设备1000确定的操作执行设备相对应的功能确定模型可以存储在集线器设备1000的存储器1300(参见图2)中,可以存储在操作执行设备本身的内部存储器中,或者可以存储在语音助理服务器2000的存储器2300(参见图3)中。当确定的操作执行设备和收听设备不相同时,可以将与操作执行设备相对应的功能确定模型存储在收听设备中。与操作执行设备相对应的功能确定模型是由被确定为操作执行设备的设备使用的模型,以获得关于根据操作执行设备的确定功能来执行操作的详细操作以及详细操作之间的关系的操作信息。
388.在本公开的实施例中,集线器设备1000的处理器1200(参见图2)可以通过使用功能确定设备确定模块1340(参见图2)的程序代码或数据来识别存储与操作执行设备相对应的功能确定模型的设备。在本公开的实施例中,集线器设备1000可以从通过有线或无线通信网络连接到集线器设备1000并通过使用与集线器设备1000相同的用户账户登录的多个设备中的每一个获得功能确定模型的存储信息。术语“功能确定模型的存储信息”是指关于多个设备中的每一个本身是否存储功能确定模型的信息,其中,所述功能确定模型用于获得关于根据功能执行操作的详细操作以及详细操作之间的关系的操作信息。在本公开的实施例中,当集线器设备1000从多个设备接收关于功能确定模型的信息时,集线器设备1000还可以获得关于多个设备中的每一个的功能确定模型的存储位置的信息(例如,设备标识
信息、ip地址或mac地址)。当操作执行设备和收听设备不相同时,集线器设备1000可以从收听设备接收关于功能确定模型的信息,并可以基于接收的关于功能确定模型的信息来确定与操作执行设备相对应的功能确定模型是否存储在收听设备的内部存储器中。
389.在本公开的另一实施例中,集线器设备1000可以通过使用数据库1360(参见图2)来从集线器设备1000、操作执行设备和语音助理服务器2000当中识别其中存储有与操作执行设备相对应的功能确定模型的设备,数据库1360包括关于存储在存储器1300(参见图2)中的设备的功能确定模型的信息。在本公开的实施例中,集线器设备1000可以通过使用功能确定设备确定模块1340的程序代码或数据根据操作执行设备的设备标识信息搜索数据库1360,并可以基于数据库1360的搜索结果获得关于与操作执行设备相对应的功能确定模型的存储位置的信息。当操作执行设备和收听设备不相同时,集线器设备1000可以在数据库1360中搜索收听设备的标识信息,并可以基于数据库1360的搜索结果来确定与操作执行设备相对应的功能确定模型是否存储在收听设备的内部存储器中。
390.将参考图14描述操作s1340。
391.根据实施例,在操作s1350中,集线器设备1000将文本的至少一部分发送到识别的设备。集线器设备1000可以通过使用通信接口1400(参见图2)将文本的至少一部分发送到识别的设备。例如,基于确定与操作执行设备相对应的功能确定模型存储在操作执行设备的内部存储器中,集线器设备1000可以通过使用通信接口1400将文本的至少一部分发送到操作执行设备。当收听设备和操作执行设备相同时,集线器设备1000可以将文本的至少一部分发送到收听设备。作为另一示例,基于确定与操作执行设备相对应的功能确定模型未存储在收听设备和操作执行设备中,而是存储在语音助理服务器2000的存储器2300(参见图3)中,集线器设备1000可以通过使用通信接口1400将文本的至少一部分发送到语音助理服务器2000。
392.在本公开的实施例中,集线器设备1000可以控制通信接口将关于操作执行设备的名称的部分与文本分离,并仅将文本的剩余部分发送到识别的设备。例如,当被识别为存储与操作执行设备相对应的功能确定模型的设备是“空调”并且文本是“在空调中将设定温度降低到20℃”时,在文本被发送到空调时,不需要发送“在空调中”。在这种情况下,集线器设备1000可以以单词或短语为单位解析文本,可以识别指定设备的名称、通用名称、安装位置等的单词或短语,并可以将文本中除了在文本中识别的单词或短语之外的剩余部分提供给设备(例如,空调)。
393.图14是图示根据本公开的实施例的集线器设备1000将文本发送到存储与操作执行设备相对应的功能确定模型的设备的方法的流程图。图14图示了图13的操作s1340和s1350。图14的操作s1410至s1450是图13的操作s1340的详细实施例,并且操作s1460至s1480是图13的操作s1350的详细实施例。
394.在执行图13的操作s1330之后执行操作s1410。在操作s1410中,集线器设备1000确定收听设备和确定的操作执行设备是否相同。在本公开的实施例中,集线器设备1000的处理器1200可以获得在操作s1330(参见图13)中确定的操作执行设备的设备标识信息(例如,设备id信息)和收听设备的设备标识信息,然后可以通过将获得的操作执行设备的设备标识信息与获得的收听设备的设备标识信息进行比较来确定收听设备和操作执行设备是否相同。
395.基于在操作s1410中确定收听设备和操作执行设备相同(是),集线器设备1000可以从收听设备获得功能确定模型的存储信息(s1420)。在本公开的实施例中,集线器设备1000可以通过使用通信接口1400(参见图2)从收听设备接收功能确定模型的存储信息。功能确定模型的存储信息是指关于收听设备本身是否在内部存储器中存储功能确定模型的信息,所述功能确定模型用于获得关于根据功能执行操作的详细操作以及详细操作之间的关系的操作信息。在本公开的实施例中,当集线器设备1000从收听设备接收关于功能确定模型的信息时,集线器设备1000还可以获得关于功能确定模型的存储位置的信息(例如,收听设备的标识信息、ip地址或mac地址)。
396.在操作s1430中,集线器设备1000基于收听设备的功能确定模型的存储信息来确定与确定的操作执行设备相对应的功能确定模型是否存储在收听设备的内部存储器中。在本公开的实施例中,集线器设备1000的处理器1200(参见图2)可以通过使用功能确定设备确定模块1340(参见图2)的程序代码或数据来确定与操作执行设备相对应的功能确定模型是否存储在收听设备的内部存储器中。在本公开的实施例中,处理器1200可以基于获得的收听设备的功能确定模型的存储信息来确定存储在收听设备的内部存储器中的功能确定模型是否与对应于操作执行设备的功能确定模型相同。
397.在本公开的另一实施例中,处理器1200可以通过使用存储关于多个设备的功能确定模型的信息的数据库1360(参见图2)来确定与操作执行设备相对应的功能确定模型是否存储在收听设备的内部存储器中。在本公开的实施例中,处理器1200可以通过使用功能确定设备确定模块1340的程序代码或数据根据收听设备的设备标识信息搜索数据库1360,并可以基于数据库1360的搜索结果获得与操作执行设备相对应的功能确定模型是否存储在收听设备中的信息。
398.基于在操作s1430中确定与操作执行设备相对应的功能确定模型存储在收听设备的内部存储器中(是),集线器设备1000将文本的至少一部分发送到收听设备(s1460)。在本公开的实施例中,处理器1200可以通过使用通信接口1400将文本的至少一部分发送到先前存储在收听设备的内部存储器中的功能确定模型。
399.基于在操作s1430中确定与操作执行设备相对应的功能确定模型未存储在收听设备的内部存储器中(否),集线器设备1000将文本的至少一部分发送到语音助理服务器2000(s1480)。在本公开的实施例中,处理器1200可以通过使用通信接口1400将文本的至少一部分发送到先前存储在语音助理服务器2000的存储器1300(参见图3)中的多个功能确定模型2342、2344、2346和2348当中与操作执行设备相对应的功能确定模型。
400.在操作s1460和s1480中,处理器1200可以仅发送文本的至少一部分,而不发送整个文本,这与参考图13描述的相同,因此将不给出重复说明。
401.基于在操作s1410中确定收听设备和操作执行设备彼此不同(否),集线器设备1000从操作执行设备获得功能确定模型的存储信息(s1440)。在本公开的实施例中,集线器设备1000可以通过使用通信接口1400(参见图2)从操作执行设备接收功能确定模型的存储信息。在本公开的实施例中,当集线器设备1000从操作执行设备接收关于功能确定模型的信息时,集线器设备1000还可以获得功能确定模型的存储位置的信息(例如,操作执行设备的标识信息、ip地址或mac地址)。
402.在操作s1450中,集线器设备1000确定功能确定模型是否存储在操作执行设备的
内部存储器中。在本公开的实施例中,处理器1200可以通过使用功能确定设备确定模块1340的程序代码或数据来确定与操作执行设备相对应的功能确定模型是否存储在操作执行设备的内部存储器中。在本公开的另一实施例中,处理器1200可以通过使用存储关于多个设备的功能确定模型的信息的数据库1360来确定与操作执行设备相对应的功能确定模型是否存储在操作执行设备的内部存储器中。在本公开的实施例中,处理器1200可以通过使用功能确定设备确定模块1340的程序代码或数据根据操作执行设备的设备标识信息搜索数据库1360,并可以基于数据库1360的搜索结果获得关于与操作执行设备相对应的功能确定模型是否存储在操作执行设备本身的内部存储器中的信息。
403.基于在操作s1450中确定与操作执行设备相对应的功能确定模型存储在操作执行设备的内部存储器中(是),集线器设备1000将文本的至少一部分发送到操作执行设备(操作s1470)。在本公开的实施例中,处理器1200可以通过使用通信接口1400将文本的至少一部分发送到先前存储在操作执行设备的内部存储器中的功能确定模型。
404.基于在操作s1450中确定与操作执行设备相对应的功能确定模型未存储在操作执行设备中(否),集线器设备1000将文本的至少一部分发送到语音助理服务器2000(s1480)。
405.图15是图示根据本公开的实施例的操作集线器设备1000、语音助理服务器2000和收听设备4000b的方法的流程图。图15图示了通过集线器设备1000经由自然语言解释将收听设备4000b确定为操作执行设备。
406.参考图15,集线器设备1000可以包括asr模块1310、nlg模块1320、设备确定模型1330、功能确定设备确定模块1340和多个功能确定模型(例如,1352、1354和1356)。然而,本公开不限于此,并且集线器设备1000可以不存储功能确定模型,或者可以不存储与操作设备相对应的功能确定模型。
407.语音助理服务器2000可以存储多个功能确定模型2342、2344和2346。例如,作为存储在语音助理服务器2000中的第一功能确定模型的功能确定模型2342可以是用于确定空调的功能并获得关于与确定的功能相关的详细操作以及详细操作之间的关系的操作信息的模型。例如,作为第二功能确定模型的功能确定模型2344可以是用于确定tv的功能并获得关于与确定的功能相关的详细操作以及详细操作之间的关系的操作信息的模型,并且作为第三功能确定模型的功能确定模型2346可以是用于确定洗衣机的功能并获得关于与确定的功能相关的详细操作以及详细操作之间的关系的操作信息的模型。
408.收听设备4000b是从用户接收语音输入的设备。然而,本公开不限于此,并且在本公开的实施例中,收听设备4000b可以是从集线器设备1000接收控制命令并执行用于特定功能的操作的操作执行设备。在图15的实施例中,收听设备4000b可以包括功能确定模型4032b、asr模块4038b和麦克风4040b。功能确定模型4032b可以包括nlu模型4034b和动作计划管理模块4036b。
409.在操作s1510中,收听设备4000b接收来自用户的语音输入。在本公开的实施例中,收听设备4000b可以通过麦克风4040b从用户接收与由收听设备4000b执行的功能相关的语音输入。例如,当收听设备4000b是空调时,收听设备4000b可以通过麦克风4040b从用户接收诸如“将空调温度降低到20℃”的语音输入。
410.在本公开的实施例中,收听设备4000b可以从接收自用户的语音输入获得语音信号。在本公开的实施例中,收听设备4000b可以将通过麦克风4040b接收的声音转换为声学
信号,并可以通过从声学信号中去除噪声(例如,非语音分量)来获得语音信号。
411.在操作s1520中,收听设备4000b确定设备确定模型是否存储在收听设备4000b的存储器中。在本公开的实施例中,收听设备4000b可以通过扫描存储器来确定是否存储了与设备确定模型相对应的程序代码或数据。然而,本公开不限于此,并且收听设备4000b可以基于设备标识信息(例如,设备id信息)获得设备规格信息,并可以通过使用设备规格信息来确定设备确定模型是否存储在收听设备4000b的内部存储器中。
412.基于确定设备确定模型未存储在收听设备4000b的存储器中(否),收听设备4000b将语音信号发送到集线器设备1000(s1522)。
413.基于确定设备确定模式存储在收听设备4000b的存储器中(是),收听设备4000b通过执行asr将语音信号转换为文本(s1530)。收听设备4000b可以通过使用asr模块4038b执行asr来将语音信号转换为计算机可读文本。当收听设备4000b接收到未去除噪声的声学信号时,收听设备4000b可以通过从接收的声学信号中去除噪声来获得语音信号,并可以对语音信号执行asr。
414.根据实施例,在操作s1540中,收听设备4000b通过使用设备确定模型解释文本来将收听设备4000b确定为操作执行设备。在本公开的实施例中,包括在收听设备4000b中的设备确定模型可以包括nlu模型,并且收听设备4000b可以通过使用nlu模型解释文本来将收听设备4000b确定为操作执行设备。例如,当从语音信号转换的文本是“将空调温度降低到20℃”时,收听设备4000b可以通过使用nlu模型解释文本来将作为空调的收听设备4000b确定为操作执行设备。
415.在操作s1550中,收听设备4000b将文本提供给功能确定模型4032。例如,作为空调的功能确定模型的功能确定模型4032可以是用于获得关于根据空调的功能执行操作的详细操作以及详细操作之间的关系的操作信息的模型。功能确定模型4032可以包括nlu模型4034b,nlu模型4034b被配置为基于文本的至少一部分的分析结果来获得与要由收听设备4000b执行的操作相关的操作信息。功能确定模型4032b可以包括动作计划管理模块4036b,动作计划管理模块4036b管理与设备的详细操作相关的操作信息以生成要由收听设备4000b执行的详细操作以及详细操作的执行顺序。动作计划管理模块4036b可以基于文本的至少一部分的分析结果来计划要由收听设备4000b执行的详细操作和详细操作的执行顺序。
416.在本公开的实施例中,收听设备4000b可以向用于空调的功能确定模型4032b提供表示“将空调温度降低到20℃”的文本,可以通过使用nlu模型4034b解释文本来获得要由空调执行的操作信息,例如,关于“设定温度降低”的操作的信息,并可以通过使用动作计划管理模块4036b计划用于执行“设定温度降低”的操作的详细操作和详细操作的执行顺序。
417.在操作s1522中,集线器设备1000从收听设备4000b接收语音信号。
418.根据实施例,在操作s1560中,集线器设备1000通过执行asr将语音信号转换为文本。集线器设备1000执行asr的详细方法与图6的操作s620中描述的方法相同,因此将不给出详细说明。
419.根据实施例,在操作s1570中,集线器设备1000通过使用第一nlu模型1332解释文本,并通过使用设备确定模型1330将收听设备4000b确定为与文本相关的操作确定设备。例如,集线器设备1000可以通过使用第一nlu模型1332解释说“将空调温度降低到20℃”的文
本来获得与“空调设置温度降低”相对应的意图,并可以通过使用设备确定模型1330基于获得的意图将作为空调的收听设备4000b确定为操作执行设备。集线器设备1000确定操作执行设备的详细方法与图6的操作s630中描述的方法相同,因此将不给出详细说明。
420.根据实施例,在操作s1580中,集线器设备1000确定功能确定模型是否存储在收听设备4000b中。在本公开的实施例中,集线器设备1000的处理器1200(参见图2)基于从收听设备4000b获得的功能确定模型的存储信息来确定与收听设备4000b相对应的功能确定模型是否存储在收听设备4000b的内部存储器中。在本公开的另一实施例中,处理器1200可以通过使用存储关于多个设备的功能确定模型的信息的数据库1360(参见图2)来确定与收听设备4000b相对应的功能确定模型是否存储在收听设备4000b的内部存储器中。确定与收听设备4000b相对应的功能确定模型是否存储在收听设备4000b的内部存储器中的详细方法与图14的操作s1430中描述的方法相同,因此将不给出重复的说明。
421.基于在操作s1580中确定功能确定模型存储在收听设备4000b中(是),集线器设备1000将文本发送到收听设备4000b的功能确定模型(s1592)。
422.基于在操作s1580中确定功能确定模型未存储在收听设备4000b中(否),集线器设备1000将文本发送到与语音助理服务器2000的收听设备4000b相对应的功能确定模型(s1594)。当收听设备4000b是空调并且确定用于空调的功能确定模型未存储在收听设备4000b的内部存储器中时,集线器设备1000可以将文本发送到功能确定模型2342,所述功能确定模型2342是先前存储在语音助理服务器2000的存储器2300(参见图3)中的多个功能确定模型2342、2344、m和2346当中用于空调的功能确定模型。
423.在本公开的实施例中,由收听设备4000b执行的操作s1530至s1550和由集线器设备1000执行的操作s1560至s1594可以由单独的实体并行执行。此外,由收听设备4000b执行的操作s1530至s1550可以独立地执行,而与由集线器设备1000执行的操作s1560至s1594无关。也就是说,尽管收听设备4000b可以被集线器设备1000确定为操作执行设备并可以接收文本的至少一部分,但是本公开不限于此。在本公开的实施例中,收听设备4000b可以通过解释用户的语音输入来确定操作执行设备,并可以将文本的至少一部分提供给功能确定模型4032b。
424.图16是图示根据本公开的实施例的操作集线器设备1000、语音助理服务器2000、操作执行设备4000a和收听设备4000b的方法的流程图。图16图示了收听设备4000b和操作执行设备4000a彼此不同。例如,收听设备4000b可以是tv,并且操作执行设备4000a可以是空调。
425.参考图16,集线器设备1000可以包括asr模块1310、nlg模块1320、设备确定模型1330、功能确定设备确定模块1340和多个功能确定模型(例如,1352、1354和1356)。
426.语音助理服务器2000可以存储多个功能确定模型2342、2344和2346。
427.图16的集线器设备1000和语音助理服务器2000分别与图15的集线器设备1000和语音助理服务器2000相同,因此将不给出重复的说明。
428.与图15不同,图16的收听设备4000b可以仅包括麦克风4040b。收听设备4000b可以通过麦克风4040b接收用户的语音输入,并可以将接收的语音输入发送到集线器设备1000。在本公开的实施例中,当收听设备4000b接收到用户的语音输入时,收听设备4000b可被预设为执行将语音输入发送到集线器设备1000的操作。
429.操作执行设备4000a本身可以存储功能确定模型4032。操作执行设备4000a本身可以分析文本,并且用于基于文本的分析结果根据用户的意图执行操作的功能确定模型4032可以存储在操作执行设备4000a的存储器中。例如,当操作执行设备4000a是“空调”时,存储在操作执行设备4000a的存储器中的功能确定模型4032可以是用于确定空调的功能并获得关于确定的功能的详细操作以及详细操作之间的关系的操作信息的模型。
430.根据实施例,在操作s1610中,收听设备4000b从用户接收语音输入。操作s1610与图15的操作s1510相同,因此将不给出重复的说明。
431.根据实施例,在操作s1620中,收听设备4000b从先前通过使用用户账户注册的多个设备当中确定包括设备确定模型1330的设备作为集线器设备1000。在本公开的实施例中,收听设备4000b可以从通过有线或无线通信网络连接并通过使用相同的用户账户登录的多个设备获得设备确定模型信息,并可以基于获得的设备确定模型信息将存储设备确定模型1330的设备确定为集线器设备1000。设备确定模型信息可以包括关于是否存在多个设备中的每一个的设备确定模型的信息、其中存储有设备确定模型的设备/服务器的标识信息和关于所存储的设备/服务器的ip地址或所存储的设备/服务器的mac地址的信息中的至少一个。
432.在操作s1630中,收听设备4000b将语音信号发送到集线器设备1000。
433.根据实施例,在操作s1640中,集线器设备1000通过执行asr将语音信号转换为文本。
434.根据实施例,在操作s1650中,集线器设备1000通过使用第一nlu模型1332来解释文本,并通过使用设备确定模型1330来确定与文本相关的操作执行设备。
435.操作s1640和s1650分别与图6的操作s620和s630相同,因此将不给出重复说明。
436.根据实施例,在操作s1660中,集线器设备1000确定功能确定模型是否存储在操作执行设备中。在本公开的实施例中,集线器设备1000的处理器1200(参见图2)基于从操作执行设备4000a获得的功能确定模型4032的存储信息来确定与操作执行设备4000a相对应的功能确定模型4032是否存储在操作执行设备4000a的内部存储器中。在本公开的另一实施例中,处理器1200可以通过使用存储关于多个设备的功能确定模型的信息的数据库1360(参见图2)来确定与操作执行设备4000a相对应的功能确定模型是否存储在操作执行设备4000a的内部存储器中。确定与操作执行设备4000a相对应的功能确定模型是否存储在操作执行设备4000a的内部存储器中的详细方法与图14的操作s1450中描述的方法相同,因此将不给出重复说明。
437.基于在操作s1660中确定功能确定模型4032存储在操作执行设备4000a中(是),集线器设备1000将文本发送到操作执行设备4000a(s1672)。例如,当操作执行设备4000a是空调并且确定存储在操作执行设备4000a的存储器中的功能确定模型4032是用于获得空调的操作信息的模型时,集线器设备1000可以将文本的至少一部分发送到存储在操作执行设备4000a中的功能确定模型4032。
438.基于在操作s1660中确定功能确定模型未存储在操作执行设备4000a中(否),集线器设备1000将文本发送到语音助理服务器2000(s1674)。例如,当操作执行设备4000a是空调但是确定存储在操作执行设备4000a的存储器中的功能确定模型4032是用于获得tv的操作信息的模型时,集线器设备1000可以将文本的至少一部分发送到存储在语音助理服务器
2000中的多个功能确定模型2342、2344和2346当中用于获得空调的操作信息的功能确定模型2342。
439.图17是图示根据本公开的实施例的操作执行设备4000a更新功能确定模型的示例的示图。
440.参考图17,语音助理服务器2000可以包括设备确定模型2330和多个功能确定模型2342、2344和2346。操作执行设备4000a可以包括功能确定模型4032,并且功能确定模型4032可以包括nlu模型4034和动作计划管理模块4036。
441.语音助理服务器2000中包括的设备确定模型2330可以是被配置为通过解释针对最新功能或最新设备的语音输入来确定操作执行设备4000a的最新版本的模型。语音助理服务器2000中包括的多个功能确定模型2342、2344和2346可以是被配置为解释与例如空调、冰箱和tv相关的最新功能的语音输入并生成操作信息作为分析结果的最新版本的模型。
442.操作执行设备4000a中包括的功能确定模型4032被配置为为解释从语音输入转换的文本并生成用于执行特定功能的操作信息,功能确定模型4032可以包括被训练为仅解释关于有限数量的功能的文本的nlu模型4034和被训练为从由nlu模型4034解释的文本生成操作信息的动作计划管理模块4036。在本公开的实施例中,包括在操作执行设备4000a中的功能确定模型4032可能不是最新版本,并且因此可能无法解释关于最新功能的文本,并可能无法生成关于最新功能的操作信息。当接收到关于最新功能的文本时,因为功能确定模型4032即使在使用nlu模型4034时也可能无法解释文本并可能无法确定功能,所以即使在使用动作计划管理模块4036时,功能确定模型4032也可能无法生成操作信息。在这种情况下,操作执行设备4000a不能确定功能。
443.根据实施例,在操作s1710中,操作执行设备4000a将功能确定模型的设备信息和更新请求信息发送到语音助理服务器2000。功能确定模型的更新请求信息可以是用于请求存储在操作执行设备4000a的存储器中的功能确定模型4032的版本与存储在语音助理服务器2000中的多个功能确定模型2342、2344和2346当中与操作执行设备4000a相对应的功能确定模型的版本同步的信息。
444.在本公开的实施例中,操作执行设备4000a可以以特定时间间隔、特定日期等将功能确定模型的更新请求信息周期性地发送到语音助理服务器2000。然而,本公开不限于此,并且当更新应用或固件时,操作执行设备4000a可以将功能确定模型的更新请求信息发送到语音助理服务器2000。在本公开的另一实施例中,当操作执行设备4000a从iot服务器3000接收到控制命令时,操作执行设备4000a可以将功能确定模型的更新请求信息发送到语音助理服务器2000。
445.根据实施例,在操作s1720中,语音助理服务器2000发送功能确定模型的更新数据。
446.根据实施例,在操作s1730中,操作执行设备4000a通过使用更新数据将功能确定模型更新为最新版本。在本公开的实施例中,操作执行设备4000a可以通过使用从语音助理服务器2000接收的最新版本的功能确定模型的数据来覆盖和更新先前存储的功能确定模型4032。操作执行设备4000a可以通过更新功能确定模型4032来执行训练以解释关于添加、修改或删除的最新功能的文本,并根据解释结果生成操作信息。
447.根据实施例,在操作s1740中,语音助理服务器2000更新设备确定模型2330。在本公开的实施例中,当语音助理服务器2000解释与最新功能相关的文本并确定用于对最新功能执行操作的设备时,可以更新操作执行设备4000a,使得设备确定模型2330也包括在设备候选中。
448.根据图17的实施例,因为存储在操作执行设备4000a本身的内部存储器中的功能确定模型4032与语音助理服务器2000的最新功能确定模型同步,所以当用户说话以执行最新功能时,即使没有通过使用通信网络访问语音助理服务器2000,也可以通过操作执行设备4000a的功能确定模型4032执行操作,从而减少网络使用费并提高服务器操作效率。
449.图18是图示根据本公开的实施例的操作集线器设备1000、语音助理服务器2000、iot服务器3000和操作执行设备4000a的方法的流程图。图18图示了当从iot服务器3000接收到控制命令时,操作执行设备4000a将功能确定模型4032更新为最新版本。
450.参考图18,集线器设备1000可以包括asr模块1310、nlg模块1320、设备确定模型1330、功能确定设备确定模块1340和多个功能确定模型(例如,1352、1354和1356)。
451.操作执行设备4000a可以包括功能确定模型4032,并且功能确定模型4032可以包括nlu模型4034和动作计划管理模块4036。
452.图18的集线器设备1000和操作执行设备4000a分别与图16的集线器设备1000和操作执行设备4000a相同,因此将不给出重复说明。
453.语音助理服务器2000可以包括设备确定模型2330和多个功能确定模型2342、2344和2346。设备确定模型2330与图3的设备确定模型2330相同,因此将不给出重复的说明。
454.在操作s1810中,iot服务器3000向操作执行设备4000a发送控制命令。
455.在操作s1820中,操作执行设备4000a确定与控制命令相对应的操作信息是否包括在功能确定模型4032中。在本公开的实施例中,操作执行设备4000a可以确定关于根据从iot服务器3000接收的控制命令执行操作的功能的信息是否包括在功能确定模型4032中。例如,当操作执行设备4000a是空调并且接收到除湿模式的控制命令时,操作执行设备4000a可以确定关于操作除湿模式的除湿功能的详细操作和详细操作的执行顺序的信息是否存储在功能确定模型4032中。
456.基于在操作s1820中确定与控制命令相对应的操作信息被存储在功能确定模型4032中(是),操作执行设备4000a根据控制命令执行操作(s1830)。
457.基于在操作s1820中确定与控制命令相对应的操作信息未存储在功能确定模型4032中(否),操作执行设备4000a将功能确定模型4032的更新请求信息和设备信息发送到语音助理服务器2000(s1840)。设备信息可以包括操作执行设备4000a的设备标识信息(例如,设备id信息)、操作执行设备4000a的功能确定模型4032的存储信息和功能确定模型4032的版本信息中的至少一个。功能确定模型4032的版本信息可以包括关于可以通过使用功能确定模型4032识别的功能的属性、类型或数量的信息。
458.在操作s1842中,语音助理服务器2000将功能确定模型的更新数据发送到操作执行设备4000a。
459.在操作s1850中,操作执行设备4000a通过使用更新数据将功能确定模型4032更新为最新版本。操作s1850与图17的操作s1730相同,因此将不给出重复的说明。
460.在操作s1860中,操作执行设备4000a将功能确定模型4032的更新信息发送到语音
助理服务器2000。在本公开的实施例中,操作执行设备4000a可以向语音助理服务器2000发送关于更新之后的功能确定模型4032的版本的信息和关于在更新之后可以通过使用功能确定模型4032识别的功能的属性、类型或数量的信息中的至少一个。
461.在操作s1870中,语音助理服务器2000基于操作执行设备的功能确定模型4032的更新信息来更新设备确定模型2330。在本公开的实施例中,语音助理服务器2000可以基于功能确定模型4032的更新的版本信息和关于可以通过使用从操作执行设备4000a接收的更新的功能确定模型4032识别的功能的属性、类型和数量的信息中的至少一个来更新设备确定模型2330,使得操作执行设备4000a被包括在用于确定执行最新功能的操作的设备的设备候选列表中。
462.在操作s1880中,语音助理服务器2000将设备确定模型2330的更新数据发送到集线器设备1000。
463.在操作s1890中,集线器设备1000基于接收的更新数据来更新设备确定模型1330。设备确定模型1330可以通过被更新而与语音助理服务器2000的设备确定模型2330同步。因此,当通过集线器设备1000接收到与最新功能相关的用户的语音输入时,因为集线器设备1000本身可以通过使用存储在内部存储器1300(参见图2)中的设备确定模型1330来确定操作执行设备4000a,而无需通过使用通信网络访问语音助理服务器2000,所以可以减少网络使用费,可以减少处理时间,因此可以提高响应速度。
464.图19是图示操作集线器设备1000、语音助理服务器2000、iot服务器3000和新设备4000c的方法的流程图。
465.参考图19,集线器设备1000可以包括asr模块1310、nlg模块1320、设备确定模型1330和功能确定设备确定模块1340。
466.语音助理服务器2000可以包括设备确定模型2330和多个功能确定模型2342、2344和2346。设备确定模型2330与图3的设备确定模型2330相同,因此将不给出重复的说明。
467.新设备4000c是通过使用与集线器设备1000的用户账户相同的用户账户登录并且预期在语音助理服务器2000的用户账户中注册的目标设备。新设备4000c可以通过有线或无线通信网络连接到集线器设备1000、语音助理服务器2000和iot服务器3000。
468.在图19的实施例中,新设备4000c本身可以分析文本,并且用于基于文本的分析结果根据用户的意图执行操作的功能确定模型4032c可以存储在新设备4000c的存储器中。例如,当新设备4000c是“空气净化器”时,存储在新设备4000c的存储器中的功能确定模型4032c可以是用于确定空调的功能并获得关于确定的功能的详细操作以及详细操作之间的关系的操作信息的模型。功能确定模型4032c可以包括nlu模型4034c和动作计划管理模块4036c。
469.然而,本公开不限于此,并且,新设备4000c可以不包括功能确定模型4032c。在本公开的另一实施例中,新设备4000c可以包括设备确定模型。
470.在操作s1910中,新设备4000c通过登录获得用户账户信息。用户账户信息包括用户id和密码。获得的用户账户信息可以与集线器设备1000的用户账户信息相同。
471.在操作s1920中,集线器设备1000向iot服务器3000提供设备确定模型1330的设备标识信息和确定能力信息。术语“设备确定能力信息”是指关于集线器设备1000通过使用包括在设备确定模型1330中的第一nlu模型1332解释文本并通过使用设备确定模型1330根据
文本的解释结果确定用于执行操作的设备的能力的信息。能力信息可以包括关于由设备确定模型1330使用以确定操作执行设备的设备候选的信息。例如,集线器设备1000的设备确定模型1330可以是被训练为仅解释与空调、tv和冰箱相关的文本并根据解释结果仅将空调、tv和冰箱当中的一个设备确定为操作执行设备的模型。在这种情况下,候选设备可以是“空调、tv和冰箱”。
472.在操作s1930中,新设备4000c向iot服务器3000提供用户账户信息、新设备4000c的标识信息(例如,设备id信息)以及设备确定模型和功能确定模型的存储信息。术语“设备确定模型的存储信息”是指关于新设备4000c本身是否在内部存储器中存储用于确定操作执行设备的设备确定模型的信息。术语“功能确定模型的存储信息”是指关于新设备4000c是否在内部存储器中存储用于获得关于根据功能执行操作的详细操作以及详细操作之间的关系的操作信息的功能确定模型的信息。功能确定模型的存储信息可以包括关于是否不仅存储与新设备4000c相对应的功能确定模型而且还存储与除新设备4000c之外的设备相对应的功能确定模型的信息。
473.在操作s1940中,iot服务器3000将新设备4000c添加到与用户账户相对应的设备列表。iot服务器3000可以将新设备4000c的设备确定模型和功能确定模型的设备标识信息和存储信息存储在根据每个用户账户注册的设备列表中。操作s1940可以是注册新设备4000c的操作。当执行操作s1940时,新设备4000c是注册的设备。
474.在操作s1950中,iot服务器3000将用户账户、设备列表以及设备列表中包括的每个设备候选的设备确定模型和功能确定模型的存储信息提供给语音助理服务器2000。
475.在操作s1960中,语音助理服务器2000将在用户账户中注册的多个设备当中存储设备确定模型的设备确定为集线器设备1000。在本公开的实施例中,语音助理服务器2000可以基于根据从iot服务器3000获得的用户账户注册的多个设备中的每一个的设备确定模型的存储信息来识别存储设备确定模型的设备,并可以将识别的设备确定为集线器设备1000。
476.在操作s1970中,语音助理服务器2000将新设备4000c的设备确定模型和功能确定模型的设备标识信息和存储信息发送到集线器设备1000。
477.在操作s1980中,集线器设备1000更新设备确定模型1330,以便将新设备4000c添加到可以由设备确定模型1330确定为操作执行设备的设备候选。通过更新,设备确定模型1330可以通过使用第一nlu模型1332来解释与新设备4000c相关的文本,并且设备确定模型1330可以根据解释结果将新设备4000c确定为操作执行设备。
478.例如,当新设备4000c是空气净化器时,在更新设备确定模型1330之前,设备确定模型1330可能无法解释诸如“操作细尘净化模式”的文本,可能无法确定操作执行设备,因此可能输出“失败”消息。当通过更新设备确定模型1330将新设备4000c添加到设备候选时,设备确定模型1330可以通过使用更新的第一nlu模型1332来解释说“操作细尘净化模式”的文本,并可以基于文本的解释结果将作为新设备4000c的空气净化器确定为操作执行设备。
479.图20是图示包括集线器设备1000、多个设备4000和语音助理服务器2000的网络环境的示图。
480.参考图20,集线器设备1000、多个设备4000、语音助理服务器2000和iot服务器3000可以通过使用有线通信或无线通信方法彼此连接,并可以执行通信。在本公开的实施
例中,集线器设备1000和多个设备4000可以通过通信网络彼此直接连接,但是本公开不限于此。
481.集线器设备1000和多个设备4000可以连接到语音助理服务器2000,并且集线器设备1000可以通过服务器连接到多个设备4000。此外,集线器设备1000和多个设备4000可以连接到iot服务器3000。在本公开的另一实施例中,集线器设备1000和多个设备4000可以均通过通信网络连接到语音助理服务器2000,并可以通过语音助理服务器2000连接到iot服务器30000。在本公开的另一实施例中,集线器设备1000可以连接到多个设备4000,并且集线器设备1000可以通过一个或多个附近接入点连接到多个设备4000。此外,集线器设备1000可以在集线器设备1000连接到语音助理服务器2000或iot服务器3000的状态下连接到多个设备4000。
482.集线器设备1000、多个设备4000、语音助理服务器2000和iot服务器3000可以通过lan、wan、van、移动无线电通信网络、卫星通信网络、或其组合来连接。无线通信方法的示例可以包括但不限于wi

fi、蓝牙、ble、zigbee、wfd、uwb、irda和nfc。
483.在本公开的实施例中,集线器设备1000可以接收用户的语音输入。多个设备4000中的至少一个设备可以是接收语音助理服务器2000和/或iot服务器3000的控制命令并执行特定操作的目标设备。可以控制多个设备4000中的至少一个以基于由集线器设备1000接收的用户的语音输入来执行特定操作。在本公开的实施例中,多个设备4000中的至少一个可以从集线器设备1000接收控制命令,而无需从语音助理服务器2000和/或iot服务器3000接收控制命令。
484.集线器设备1000可以从用户接收语音输入(例如,话语)。在本公开的实施例中,集线器设备1000可以包括asr模型。在本公开的实施例中,集线器设备1000可以包括具有有限功能的asr模型。例如,集线器设备1000可以包括asr模型,所述asr模型具有检测指定语音输入(例如,诸如“hi,bixby”或“ok,google”的唤醒输入)的功能或对从部分语音输入获得的语音信号进行预处理的功能。尽管集线器设备1000是图20中的ai扬声器,但是本公开不限于此。在本公开的实施例中,多个设备4000中的一个可以是集线器设备1000。此外,集线器设备1000可以包括第一nlu模型、第二nlu模型和自然语言生成模型。在这种情况下,集线器设备1000可以通过麦克风接收用户的语音输入,或者可以从多个设备4000中的至少一个接收用户的语音输入。当接收到用户的语音输入时,集线器设备1000可以通过使用asr模型、第一nlu模型、第二nlu模型和自然语言生成模型来处理用户的语音输入,并可以提供对用户的语音输入的响应。
485.集线器设备1000可以基于接收的语音信号来确定用于执行用户意图的操作的目标设备的类型。集线器设备1000可以接收作为模拟信号的语音信号,并可以通过执行asr将语音部分转换为计算机可读文本。集线器设备1000可以通过使用第一nlu模型来解释文本,并可以基于解释结果来确定目标设备。集线器设备1000可以将多个设备4000中的至少一个确定为目标设备。集线器设备1000可以从多个存储的第二nlu模型当中选择与确定的目标设备相对应的第二nlu模型。集线器设备1000可以通过使用所选择的第二nlu模型来确定要由用户请求的目标设备执行的操作。基于确定多个存储的第二nlu模型当中不存在与确定的目标设备相对应的第二nlu模型,集线器设备1000可以将文本的至少一部分发送到多个设备4000和语音助理服务器2000中的至少一个。集线器设备1000将关于确定的操作的信息
发送到目标设备,使得确定的目标设备执行确定的操作。
486.集线器设备1000可以从iot服务器3000接收多个设备4000的信息。集线器设备1000可以通过使用接收的多个设备4000的信息来确定目标设备。此外,集线器设备1000可以通过使用iot服务器3000作为用于发送关于确定的操作的信息的中继服务器来控制目标设备执行确定的操作。
487.集线器设备1000可以通过麦克风接收用户的语音输入,并可以将接收的语音输入发送到语音助理服务器2000。在本公开的实施例中,集线器设备1000可以从接收的语音输入获得语音信号,并可以将语音信号发送到语音助理服务器2000。
488.在图20的实施例中,多个设备4000包括但不限于作为空调的第一设备4100、作为tv的第二设备4200、作为洗衣机的第三设备4300以及作为冰箱的第四设备4400。例如,多个设备4000可以包括智能电话、平板pc、平板pc、移动电话、视频电话、电子书阅读器、台式pc、膝上型pc、上网本计算机、工作站、服务器、pda、pmp、mp3播放器、移动医疗设备、相机和可穿戴设备中的至少一个。在本公开的实施例中,多个设备4000可以是家用电器。家用电器可以包括以下项中的至少一项:tv、数字视频盘(dvd)播放器、音频设备、冰箱、空调、吸尘器、烤箱、微波炉、洗衣机、空气净化器、机顶盒、家庭自动化控制面板、安全控制面板、游戏机、电子钥匙、摄像机和电子相框。
489.语音助理服务器2000可以基于接收的语音信号来确定用于执行用户意图的操作的目标设备的类型。语音助理服务器2000可以从集线器设备1000接收作为模拟信号的语音信号,并可以通过执行asr将语音部分转换为计算机可读文本。语音助理服务器2000可以通过使用第一nlu模型来解释文本,并可以基于解释结果来确定目标设备。此外,语音助理服务器2000可以从集线器设备1000接收文本的至少一部分和关于由集线器设备1000确定的目标设备的信息。在这种情况下,集线器设备1000通过使用集线器设备1000的asr模型和第一nlu模型将用户语音信号转换为文本,并通过解释文本来确定目标设备。此外,集线器设备1000将文本的至少一部分和关于确定的目标设备的信息发送到语音助理服务器2000。
490.语音助理服务器2000可以通过使用与确定的目标设备相对应的第二nlu模型来确定要由用户请求的目标设备执行的操作。语音助理服务器2000可以从iot服务器3000接收多个设备4000的信息。语音助理服务器2000可以通过使用接收的多个设备4000的信息来确定目标设备。此外,语音助理服务器2000可以通过使用iot服务器3000作为用于发送关于确定的操作的信息的中继服务器来控制目标设备执行确定的操作。iot服务器3000可以存储关于通过网络连接并且先前注册的多个设备4000的信息。在本公开的实施例中,iot服务器3000可以存储多个设备4000的标识信息(例如,设备id信息)、多个设备4000中的每一个的设备类型和多个设备4000中的每一个的功能执行能力信息中的至少一个。
491.在本公开的实施例中,iot服务器3000可以存储关于多个设备4000中的每一个的通电/断电或正在执行的操作的状态信息。iot服务器3000可以向多个设备4000当中的目标设备发送用于执行确定的操作的控制命令。iot服务器3000可以从语音助理服务器2000接收关于确定的目标设备的信息和关于确定的操作的信息,并可以基于接收的信息向目标设备发送控制命令。
492.图21a和图21b是图示根据本公开的实施例的可由集线器设备1000和语音助理服务器2000执行的语音助理模型200的示图。
493.参考图21a和图21b,语音助理模型200被实现为软件。语音助理模型200可以被配置为从用户的语音输入确定用户的意图并控制与用户的意图相关的目标设备。当添加通过语音助理模型200控制的设备时,语音助理模型200可以包括被配置为通过学习等将现有模型更新为新模型的第一助理模型200a,以及被配置为将与添加的设备相对应的模型添加到现有模型的第二助理模型200b。
494.第一助理模型200a是通过分析用户的语音输入来确定与用户的意图相关的目标设备的模型。第一助理模型200a可以包括asr模型202、nlg模型204、第一nlu模型300a和设备确定模型310。在本公开的实施例中,设备确定模型310可以包括第一nlu模型300a。在本公开的另一实施例中,设备确定模型310和第一nlu模型300a可以被配置为单独的元件。
495.设备确定模型310是用于通过使用第一nlu模型300a的分析结果来执行确定目标设备的操作的模型。设备确定模型310可以包括多个详细模型,并且多个详细模型中的一个可以是第一nlu模型300a。第一nlu模型300a或设备确定模型310可以是ai模型。
496.当添加通过语音助理模型200控制的设备时,第一助理模型200a可以通过学习至少更新设备确定模型310和第一nlu模型300a。学习可以指使用用于训练现有设备确定模型和第一nlu模型的训练数据以及与添加的设备相关的附加训练数据两者的学习。此外,学习可以指通过仅使用与添加的设备相关的附加训练数据来更新设备确定模型和第一nlu模型。
497.作为专用于特定设备的模型的第二助理模型200b是从可由特定设备执行的多个操作当中确定要由与用户的语音输入相对应的目标设备执行的操作的模型。在图21a中,第二助理模型200b可以包括多个第二nlu模型300b、nlg模型206和动作计划管理模块210。多个第二nlu模型300b可以分别与多个不同的设备相对应。第二nlu模型、nlg模型和动作计划管理模块可以是通过基于规则的系统实现的模型。在本公开的实施例中,第二nlu模型、nlg模型和动作计划管理模型可以是ai模型。多个第二nlu模型可以是多个功能确定模型的元件。
498.当添加通过语音助理模型200控制的设备时,第二助理模型200b可以被配置为添加与添加的设备相对应的第二nlu模型。也就是说,除了现有的多个第二nlu模型300b之外,第二助理模型200b还可以包括与添加的设备相对应的第二nlu模型。在这种情况下,第二助理模型200b可以被配置为通过使用通过第一助理模型200a确定的关于目标设备的信息,从包括添加的第二nlu模型的多个第二nlu模型当中选择与确定的目标设备相对应的第二nlu模型。
499.参考图21b,第二助理模型200b可以包括多个动作计划管理模型和多个nlg模型。在图21b中,包括在第二助理模型200b中的多个第二nlu模型可以分别与图21a的第二nlu模型300b相对应,包括在第二助理模型200b中的多个nlg模型中的每一个可以与图21a的nlg模型206相对应,并且包括在第二助理模型200b中的多个动作计划管理模型中的每一个可以与图21a的动作计划管理模块210相对应。
500.在图21b中,多个动作计划管理模型可以被配置为分别与多个第二nlu模型相对应。此外,多个nlg模型可以被配置为分别与多个第二nlu模型相对应。在本公开的另一实施例中,一个nlg模型可以被配置为与多个第二nlu模型相对应,并且一个动作计划管理模型可以被配置为与多个第二nlu模型相对应。
501.在图21b中,当添加通过语音助理模型200控制的设备时,第二助理模型200b可以被配置为添加与所添加的设备相对应的第二nlu模型、nlg模型和动作计划管理模型。
502.在图21b中,当添加通过语音助理模型200控制的设备时,第一nlu模型300a可以被配置为通过学习等更新为新模型。此外,当设备确定模型310包括第一nlu模型300a时,设备确定模型310可以被配置为使得当添加通过语音助理模型200控制的设备时,通过学习等将现有模型完全更新为新模型。第一nlu模型300a或设备确定模型310可以是ai模型。学习可以指使用用于训练现有设备确定模型和第一nlu模型的训练数据以及与添加的设备相关的附加训练数据两者的学习。此外,学习可以指通过仅使用与添加的设备相关的附加训练数据来更新设备确定模型和第一nlu模型。
503.在图21b中,当添加通过语音助理模型200控制的设备时,可以通过将与添加的设备相对应的第二nlu模型、nlg模型和动作计划管理模型添加到现有模型来更新第二助理模型200b。第二nlu模型、nlg模型和动作计划管理模型可以是通过基于规则的系统实现的模型。
504.在图21b的实施例中,第二nlu模型、nlg模型和动作计划管理模型可以是ai模型。第二nlu模型、nlg模型和动作计划管理模型可以均根据对应的设备作为一个设备进行管理。在这种情况下,第二助理模型200b可以包括分别与多个设备相对应的多个第二助理模型200b

1、200b

2和200b

3。例如,与tv相对应的第二nlu模型、与tv相对应的nlg模型以及与tv相对应的动作计划管理模型可以被管理为第二助理模型200b

1。此外,可以将与扬声器相对应的第二nlu模型、与扬声器相对应的nlg模型以及与扬声器相对应的动作计划管理模型管理为与扬声器相对应的第二助理模型200b

2。此外,与冰箱相对应的第二nlu模型、与冰箱相对应的nlg模型以及与冰箱相对应的动作计划管理模型可以被管理为与冰箱相对应的第二助理模型200b

3。
505.当添加通过语音助理模型200控制的设备时,第二助理模型200b可以被配置为添加与所添加的设备相对应的第二助理模型。也就是说,除了现有的多个第二助理模型200b

1至200b

3之外,第二助理模型200b还可以包括与添加的设备相对应的第二助理模型。在这种情况下,第二助理模型200b可以被配置为通过使用关于由第一助理模型200a确定的目标设备的信息,从包括与所添加的设备相对应的第二助理模型的多个第二助理模型当中选择与确定的目标设备相对应的第二助理模型。
506.由根据本公开的集线器设备1000、语音助理服务器2000和多个设备4000执行的程序可以被实现为硬件组件、软件组件和/或硬件组件和软件组件的组合。程序可以由能够执行计算机可读指令的任何系统执行。
507.软件可以包括计算机程序、代码、指令或其一个或多个的组合,并可以将处理设备配置为依据需要操作或者单独地或共同地命令处理设备。
508.软件可以在包括存储在计算机可读存储介质中的指令的计算机程序中实现。计算机可读存储介质可以包括例如磁存储介质(例如,rom、ram、软盘、硬盘等)和光学读取介质(例如,压缩盘(cd)

rom、dvd等)。计算机可读记录介质可以分布在连接在网络中的计算机系统中,并可以以分布式方式存储和执行计算机可读代码。介质可以是计算机可读的,可以存储在存储器中,并可以由处理器执行。
509.计算机可读存储介质可以以非暂时性存储介质的形式提供。这里,“非暂时性”意
味着存储介质不包括信号并且是有形的,但是不区分数据是半永久地还是临时地存储在存储介质上。
510.此外,根据本公开的实施例的程序可以在计算机程序产品中提供。计算机程序产品是可在卖方和买方之间购买的产品。
511.计算机程序产品可以包括软件程序和其中存储软件程序的计算机可读存储介质。例如,计算机程序产品可以包括由设备或电子市场(例如,googleplay
tm
商店、app商店等)的制造商电子分发的软件程序类型的产品(例如,可下载的应用)。对于电子分发,软件程序的至少一部分可以存储在存储介质中或临时生成。在这种情况下,存储介质可以是制造商的服务器、电子市场的服务器或临时存储软件程序的广播服务器的存储介质。
512.计算机程序产品可以包括服务器的存储介质或包括服务器和设备的系统中的设备的存储介质。可替代地,当存在与服务器或设备连接以通信的第三设备(例如,智能电话)时,计算机程序产品可以包括第三设备的存储介质。可替代地,计算机程序产品可以包括从服务器发送到设备或第三设备或从第三设备发送到设备的软件程序。
513.在这种情况下,服务器、设备和第三设备中的一个可以通过执行计算机程序产品来执行根据本公开的实施例的方法。可替代地,服务器、设备和第三设备中的至少两个可以通过执行计算机程序产品以分布式方式执行根据本公开的实施例的方法。
514.例如,服务器(例如,iot服务器或语音助理服务器)可以执行存储在服务器中的计算机程序产品,并控制与用于通信的服务器连接的设备以执行根据本公开的实施例的方法。
515.作为另一示例,第三设备可以执行计算机程序产品并控制连接到用于通信的第三设备的设备以执行根据本公开的实施例的方法。
516.当第三设备执行计算机程序产品时,第三设备可以从服务器下载计算机程序产品并执行下载的计算机程序产品。可替代地,第三设备可以执行以自由加载状态提供的计算机程序产品,并执行根据本公开的实施例的方法。
517.尽管已经通过如上所述的有限实施例和附图描述了本公开的实施例,但是本领域普通技术人员可以根据上述描述进行各种修改和变化。例如,所描述的技术可以以与所描述的方法不同的顺序执行,和/或所描述的计算机系统、模块等的元件可以以与所描述的方法不同的形式组合或集成,或者可以由其他元件或等同物替换或替代以实现适当的结果。