具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个实施例的一种用于通过智能终端控制其所连接设备的控制设备1,其中,控制设备1包括第一获取装置111、第一确定装置112和第一发送装置113。具体地,第一获取装置111获取用户输入的用于控制所述设备的自然语言命令;第一确定装置112根据所述设备的设备类型信息,确定所述自然语言命令所对应的控制指令;第一发送装置113将所述控制指令发送至所述设备,以使得所述设备执行所述控制指令。
在此,所述控制设备1能够实现通过智能终端来控制该智能终端所连接的设备,在具体实施例中,控制设备1可以是智能终端本身,也可以是由智能终端和其对应的自然语言处理设备通过网络相集成所构成的设备实现。在此,所述自然语言处理设备是指能够理解、处理并响应用户的自然语言命令并将处理结果返回至对应控制设备以用于对智能终端所连接设备进行控制的设备,其包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。在此,智能终端可以是任何一种与用户能够通过语音交互方式和/或还能够通过键盘、触摸板、触摸屏、遥控器或手写设备等非语音交互方式进行人机交互的电子产品,例如PC、手机、智能手机、PDA、可穿戴设备、掌上电脑PPC、智能可穿戴设备、平板电脑、智能语音车载设备、智能语音电视、智能语音音箱等。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。本领域技术人员应能理解上述控制设备1仅为举例,其他现有的或今后可能出现的自然语言处理设备或智能终端如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,自然语言处理设备及智能终端均包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
在此,需要说明的是,图1至图10对应的实施例或从控制设备1由智能终端实现,或从控制设备1由智能终端与其对应的自然语言处理设备相互配合实现,对本发明进行了详细描述。
具体地,第一获取装置111通过智能终端1自身所提供的用于提供用户输入的控制该智能终端所连接设备的自然语言命令的应用程序接口(API),如智能终端的拾音设备如麦克风等的应用程序接口(API),来获取用户输入的用于控制该智能终端所连接设备的自然语言命令。在此,用户输入所述自然语言命令的方式包括但不限于如在智能终端1中安装的对应于自然语言处理设备的客户端上仅能语音输入的界面进行输入,或者通过智能终端1中专门用于用户输入控制该智能终端所连接设备的自然语言命令的统一界面进行输入。
例如,假设用户A的智能终端(如其智能手机)通过蓝牙或共同所接入的同一无线网或局域网连接了家里的空调,该用户进入到了该智能终端中安装的对应于自然语言处理设备的客户端上仅能语音输入的界面,然后输入了自然语言命令“将空调温度设置为26度”,则第一获取装置111通过智能终端的拾音设备如麦克风等的应用程序接口(API),获取到该自然语言命令。
接着,第一确定装置112首先通过智能终端和其所连接的设备所采用的网络对应的协议,对智能终端所连接的设备进行核实身份验证,从而基于设备的配对信息来得到所述设备的设备类型信息;然后再根据所述设备的设备类型信息,确定所述自然语言命令所对应的控制指令。
在此,所述设备类型信息是指根据事物本身的性质或特点而分成的门类,如空调、灯、冰箱、洗碗机、洗衣机、车机、电视、耳机、健身器、音箱、扫地机器人等。相应地,智能终端所连接的设备与其设备类型信息相适配,其可以是智能空调、智能灯、智能冰箱、智能洗碗机、智能洗衣机、智能车机、智能电视、智能耳机、智能健身器、智能音箱、智能扫地机器人等。
例如,以用户A的智能终端(如其智能手机)通过蓝牙连接了家里的一台智能空调为例,则智能终端与智能空调通过蓝牙连接之后,通过SDP(Service Discovery Protocol,服务发现协议)可查询到连接设备的设备信息,即从而得到其设备类型信息如“空调”。
本领域技术人员应能理解上述设备类型信息和获取所述设备类型信息的方式仅为举例,其他现有的或今后可能出现的设备类型信息或获取设备类型信息的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在此,需要说明的是,当智能终端连接上某个设备时,智能终端会在其所支持的设备库中进行查询以确定是否支持这个设备,若支持,再获取所连设备的设备类型信息。
然后,第一确定装置112根据所述设备的设备类型信息,确定所述自然语言命令所对应的控制指令。在此,所述控制指令是指所述设备可执行的指令。
在此,第一确定装置112确定所述控制指令的方式包括但不限于以下至少任一项:
1)首先将所述自然语言命令发送至对应的自然语言处理设备;然后接收所述自然语言处理设备返回的对所述自然语言命令进行语义解析的语义解析文本;再根据所述设备类型信息和所述语义解析文本,确定所述控制指令。
例如,接上例,则第一确定装置112将用户A发出的自然语言命令“将空调温度设置为26度”发送至对应的自然语言处理设备,由该自然语言处理设备对自然语言命令“将空调温度设置为26度”进行语义解析,获得相应的语义解析文本如{设备device:空调,温度temperature:26度},并接收该自然语言命令返回的该语义解析文本,然后,第一确定装置112根据所述设备类型信息和语义解析文本,在设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1,其中,所述设备指令信息库包含设备类型信息-语义解析文本-控制指令之间的映射关系,如以下表1示出设备指令信息库中各项对应关系:
表1
再如,假设用户A发出的自然语言命令为如可以解析出多条控制指令的自然语言命令“空调制冷26度”,则自然语言处理设备对该自然语言命令“空调制冷26度”进行语义解析,获得相应的语义解析文本如{设备device:空调,温度temperature:26度,模式mode:制冷},从而第一确定装置112根据所述设备类型信息和语义解析文本,在如上表1所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1和instuction-4。
在此,需要说明的是,表1所示的设备指令信息库仅为举例,并不构成对本发明的限制,在具体应用中,用户发出的语义近似的自然语言命令可对应于同一控制指令,如自然语言命令“将空调温度设置为26度”和“将空调温度调整为26度”语义近似。
2)首先将所述自然语言命令进行语义解析得到语义解析文本,然后根据所述设备类型信息和语义解析文本,在设备指令信息库中进行匹配查询,从而得到相应的控制指令,如在以上表1所示的设备指令信息库中进行匹配查询,得到相应的控制指令为instuction-1,其中,所述设备指令信息库包含设备类型信息-语义解析文本-控制指令之间的映射关系。
在此,以上所述设备指令信息库既可位于控制设备1中,也可位于与控制设备1通过网络相连的服务器中,如位于自然语言处理设备2中。
本领域技术人员应能理解上述确定所述控制指令的方式仅为举例,其他现有的或今后可能出现的确定所述控制指令的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
第一发送装置113将所述控制指令发送至所述设备,以使得所述设备执行所述控制指令。例如,接上例,第一发送装置113将控制指令instuction-1发送给智能空调,从而该智能空调可执行该控制指令,自动将空调设置为26度。
在另一个实施例中,若用户A正在开车,智能终端为车上的车机,假设车机与用户A家里的一个空调相连接,若第一获取装置111获取到用户输入的用于控制空调的自然语言命令为“将空调打开”;第一确定装置112根据空调的设备类型信息,在如以上表1所示的设备指令信息库中进行匹配查询,得到相应的控制指令为如instuction-3;第一发送装置113将所述控制指令发送至该空调,以使得该空调执行所述控制指令,从而实现用户在开车过程中通过车机即可打开家里的空调。
图2示出本发明一个实施例的一种用于通过智能终端控制其所连接设备的控制设备1和自然语言处理设备2,其中,控制设备1包括第一获取装置211、第一确定装置212和第一发送装置213,其中,自然语言处理设备2包括第一接收装置221、第二确定装置222和第二发送装置223。具体地,控制设备1的第一获取装置211获取用户输入的用于控制所述设备的自然语言命令;第一确定装置212首先将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2;相应地,自然语言处理设备2的第一接收装置221接收对应控制设备1发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制所述设备的自然语言命令;第二确定装置222根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本,确定所述自然语言命令所对应的控制指令;第二发送装置223将所述控制指令发送至所述控制设备1;相应地,控制设备1的第一确定装置212接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备基于所述设备类型信息和所述自然语言命令所对应的语义解析文本确定的;第一发送装置213将所述控制指令发送至所述设备,以使得所述设备执行所述控制指令。在此,第一获取装置211和第一发送装置213分别与图1实施例中第一获取装置111和第一发送装置113的内容相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
具体地,第一确定装置212首先获取所述设备类型信息,然后通过http、https等约定的通信方式,将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2。在此,第一确定装置212获取所述设备类型信息的方式与图1实施例中第一确定装置112获取所述设备类型信息的方式相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
在此,需要说明的是,控制设备1在向自然语言处理设备2上报智能终端所连接设备的设备类型信息时,还可上报该设备的设备标识信息(如设备ID、设备型号等),以使得当智能终端连接了多个所述设备时,控制设备1能够知晓将自然语言处理设备2返回的控制指令发送给哪个设备执行。
相应地,自然语言处理设备2的第一接收装置221通过http、https等约定的通信方式,接收对应控制设备1发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制所述设备的自然语言命令。
第二确定装置222首先对所述自然语言命令进行语义解析,获得对应的语义解析文本,然后根据所述设备类型信息和语义解析文本,在设备指令信息库中进行匹配查询,从而得到相应的控制指令。例如,对于用户A的自然语言命令“将空调温度设置为26度”,第二确定装置222对其进行语义解析,获得相应的语义解析文本如{设备device:空调,温度temperature:26度},然后根据所述设备类型信息和语义解析文本,在如上表1所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1。
接着,第二发送装置223通过http、https等约定的通信方式,将所述控制指令发送至所述控制设备1。
相应地,控制设备1的第一确定装置212通过http、https等约定的通信方式,接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备基于所述设备类型信息和所述自然语言命令所对应的语义解析文本确定的。
第一发送装置213将所述控制指令发送至所述设备,以使得所述设备执行所述控制指令。
在此,本发明通过在自然语言处理设备端实现控制指令的确定,提高了处理效率和响应速度。
图3示出本发明另一个实施例的一种用于通过智能终端控制其所连接设备的控制设备1,其中,若所述设备为多个,控制设备1包括第一获取装置311、第一确定装置312和第一发送装置313。具体地,第一获取装置311获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息;第一确定装置312根据所述设备类型信息和所述指示信息,确定所述自然语言命令所对应的控制指令;第一发送装置313将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。
具体地,第一获取装置311获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息。
在此,所述指示信息包括但不限于如设备品牌、位置、状态等。
在此,第一获取装置311获取所述自然语言命令的方式与图1实施例中第一获取装置111获取所述自然语言命令的方式相同或近似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
接着,第一确定装置312首先获取所述设备类型信息,然后根据所述设备类型信息和所述指示信息,确定所述自然语言命令所对应的控制指令。
例如,对于用户A的智能手机,若其连接了多个设备如空调、灯、冰箱等,或者,若连接的多个设备中,除不同类型设备之外,还有多个不同品牌/不同位置的同类型设备,如多个空调(三菱、松下等),假设用户A的智能手机通过蓝牙连接了家里的客厅三菱空调、主卧松下空调、客厅灯、厨房冰箱等多个设备,则第一确定装置312可通过SDP便可查询到智能手机所连接设备的设备信息,即从而得到所连接设备的设备类型信息有“空调”、“灯”、“冰箱”,假设用户A发出的用于控制客厅空调的自然语言命令为“将三菱空调的温度设置为26度”,该自然语言命令中包括用于控制目标设备(即三菱空调)的指示信息(即空调品牌“三菱”),则第一确定装置312对该自然语言命令进行语义解析,得到相应的语义解析文本{设备device:空调,品牌brand:三菱,温度temperature:26度},然后根据所述设备类型信息和所述指示信息,在如以下表2所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1,其中,该设备指令信息库包含设备类型信息-指示信息-语义解析文本-控制指令之间的映射关系。
在此,需要说明的是,以上表1所示的设备指令信息库可进一步细化增加设备的品牌、位置、状态等参数来进行拓展,从而能够适应于智能终端连接了多个设备的情形,拓展后的设备指令信息库如以下表2所示,其中,状态包括但不限于如关闭、运行、休眠等:
表2
优选地,第一确定装置312还可首先将所述自然语言命令发送至对应的自然语言处理设备;并接收所述自然语言处理设备返回的对所述自然语言命令进行解析的语义解析文本;接着,再根据所述设备类型信息、所述语义解析文本和所述指示信息,确定所述控制指令。
第一发送装置313将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。例如,接上例,第一发送装置313将第一确定装置312确定的控制指令instuction-1发送给目标设备“三菱空调”,从而使得“三菱空调”能够执行控制指令instuction-1,实现自动将“三菱空调”的温度调至/设置为26度。
图4示出本发明再一个实施例的一种用于通过智能终端控制其所连接设备的控制设备1和自然语言处理设备2,其中,控制设备1包括第一获取装置411、第一确定装置412和第一发送装置413,其中,第一确定的装置412包括发送单元4121和接收单元4122,其中,自然语言处理设备2包括第一接收装置421、第二确定装置422和第二发送装置423。具体地,控制设备1的第一获取装置411获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息;发送单元4121将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2;相应地,自然语言处理设备2的第一接收装置421接收对应控制设备发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息;第二确定装置422根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本和所述指示信息,确定所述自然语言命令所对应的控制指令;第二发送装置423将所述控制指令发送至所述控制设备1;相应地,控制设备1的接收单元4122接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备基于所述设备类型信息、所述自然语言命令所对应的语义解析文本和所述指示信息确定的;第一发送装置413将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。
在此,第一获取装置411、第一发送装置413分别与图3实施例中第一获取装置311和第一发送装置313的内容相同或相似,第二发送装置423与图2实施例中第二发送装置223的内容相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
具体地,发送单元4121首先获取所述设备类型信息,然后,通过http、https等约定的通信方式,将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2。在此,发送单元4121获取所述设备类型信息的方式与图1实施例中第一确定装置112获取所述设备类型信息的方式相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
相应地,自然语言处理设备2的第一接收装置421通过http、https等约定的通信方式接收对应控制设备发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息。
第二确定装置422首先对所述自然语言命令进行语义解析,获得对应的语义解析文本,并解析出所述自然语言命令中包括的用于控制目标设备的指示信息;然后,根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本和所述指示信息,在设备指令信息库中进行匹配查询,从而得到相应的控制指令。
例如,以用户A的智能手机通过蓝牙连接了家里的客厅三菱空调、主卧松下空调、客厅灯、厨房冰箱等多个设备为例,假设用户A发出的用于控制客厅空调的自然语言命令为“将三菱空调的温度设置为26度”,该自然语言命令中包括用于控制目标设备(即三菱空调)的指示信息(即空调品牌“三菱”),则第二确定装置422对该自然语言命令进行语义解析,得到相应的语义解析文本{设备device:空调,品牌brand:三菱,温度temperature:26度},然后根据所述设备类型信息和所述指示信息,在如以上表2所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1。
第二发送装置423通过http、https等约定的通信方式,将所述控制指令发送至所述控制设备1。
相应地,控制设备1的接收单元4122通过http、https等约定的通信方式,接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备基于所述设备类型信息、所述自然语言命令所对应的语义解析文本和所述指示信息确定的。
图5示出本发明还一个实施例的一种用于通过智能终端控制其所连接设备的控制设备1和自然语言处理设备2,其中,若所述自然语言命令中未包括所述指示信息,控制设备1包括第一获取装置511、第一确定装置512、第一发送装置513、第三接收装置514、第二获取装置515和第四发送装置515,其中,第一确定装置512包括发送单元5121和接收单元5122,自然语言处理设备2包括第一接收装置521、第二确定装置522、第二发送装置523、第三发送装置524和第四接收装置525。具体地,控制设备1的第一获取装置511获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中未包括关于所述目标设备的指示信息;发送单元5121将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2;相应地,自然语言处理设备2的第一接收装置521接收对应控制设备1发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中未包括关于所述目标设备的指示信息;第三发送装置524响应于所述自然语言命令,向所述控制设备1发送用于明确所述目标设备的询问反馈;相应地,控制设备1的第三接收装置514接收所述自然语言处理设备2根据所述自然语言命令返回的用于明确所述目标设备的询问反馈;第二获取装置515获取所述用户根据所述询问反馈输入的语音回答;第四发送装置516将所述语音回答发送至所述自然语言处理设备2;相应地,自然语言处理设备2的第四接收装置525接收所述控制设备1发送的所述用户根据所述询问反馈输入的语音回答;第二确定装置522根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本和所述语音回答,确定所述自然语言命令所对应的控制指令;第二发送装置523将所述控制指令发送至所述控制设备1;相应地,控制设备1的接收单元5122接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备根据所述自然语言命令所对应的语义解析文本、所述设备类型信息和所述语音回答确定的;第一发送装置513将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。
在此,第一发送装置513与图3实施例中第一发送装置313的内容相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
具体地,控制设备1的第一获取装置511获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中未包括关于所述目标设备的指示信息。
例如,以用户A的智能手机通过蓝牙连接了家里的客厅三菱空调、主卧松下空调、客厅灯、厨房冰箱等多个设备为例,假设用户A欲调整客厅三菱空调温度,发出的用于控制客厅空调的自然语言命令为“将空调的温度设置为26度”,则第一获取装置511通过智能手机的拾音设备如麦克风等的应用程序接口(API),获取到该自然语言命令,但该自然语言命令中未包括关于目标设备(客厅三菱空调)的指示信息。
发送单元5121首先获取所述设备类型信息,然后通过诸如http、https等约定的通信方式,将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2。在此,发送单元5121与图4实施例中发送单元4121的内容相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
相应地,自然语言处理设备2的第一接收装置521通过诸如http、https等约定的通信方式,接收对应控制设备1发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中未包括关于所述目标设备的指示信息。
第三发送装置524响应于所述自然语言命令,向所述控制设备1发送用于明确所述目标设备的询问反馈。
例如,接上例,自然语言处理设备2对接收到的自然语言命令“将空调的温度设置为26度”,因智能终端1连接了多个空调,而用户的自然语言命令未指明是哪个,使得自然语言处理设备2无法理解将哪个空调的温度设置为26度,为明确具体的目标设备,自然语言处理设备的第三发送装置524响应于所述自然语言命令,向所述控制设备1发送用于明确所述目标设备的询问反馈,如发送询问反馈“哪一个”,从而主动发问。
相应地,控制设备1的第三接收装置514接收所述自然语言处理设备2根据所述自然语言命令返回的用于明确所述目标设备的询问反馈,并可将该询问反馈播报给用户。
第二获取装置515获取所述用户根据所述询问反馈输入的语音回答。例如,接上例,用户A听到询问反馈“哪一个”后,可作出语音回答,如发出自然语音命令“客厅三菱空调”,第二获取装置515可通过智能终端的拾音设备如麦克风等的应用程序接口(API),获取到该语音回答。
接着,第四发送装置516将所述语音回答发送至所述自然语言处理设备2。
相应地,自然语言处理设备2的第四接收装置525接收所述控制设备1发送的所述用户根据所述询问反馈输入的语音回答;
第二确定装置522根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本和所述语音回答,确定所述自然语言命令所对应的控制指令,如在以上表2所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1。
然后,第二发送装置523将所述控制指令发送至所述控制设备1。具体地,第二发送装置523将所述控制指令和目标设备的标识信息(如设备ID、设备型号等),或者,在所述控制指令中关于目标设备的标识信息的字段,以使得控制设备1知晓将该控制指令发送给哪个设备。
相应地,控制设备1的接收单元5122接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备根据所述自然语言命令所对应的语义解析文本、所述设备类型信息和所述语音回答确定的。
第一发送装置513将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。
在此,当智能终端连接了多个设备时,即便用户发出的用于控制多个所述设备中目标设备的自然语言命令中未包括关于所述目标设备的指示信息,本发明能够通过主动发问来确定所述目标设备,更进一步提升了设备控制操作体验。
图6示出根据本发明一个实施例的一种用于通过智能终端控制其所连接设备的方法流程图。
其中,该方法包括步骤S61、步骤S62和步骤S63。
具体地,具体地,在步骤S61中,控制设备1获取用户输入的用于控制所述设备的自然语言命令;在步骤S62中,控制设备1根据所述设备的设备类型信息,确定所述自然语言命令所对应的控制指令;在步骤S63中,控制设备1将所述控制指令发送至所述设备,以使得所述设备执行所述控制指令。
在此,所述控制设备1能够实现通过智能终端来控制该智能终端所连接的设备,在具体实施例中,控制设备1可以是智能终端本身,也可以是由智能终端和其对应的自然语言处理设备通过网络相集成所构成的设备实现。在此,所述自然语言处理设备是指能够理解、处理并响应用户的自然语言命令并将处理结果返回至对应控制设备以用于对智能终端所连接设备进行控制的设备,其包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。在此,智能终端可以是任何一种与用户能够通过语音交互方式和/或还能够通过键盘、触摸板、触摸屏、遥控器或手写设备等非语音交互方式进行人机交互的电子产品,例如PC、手机、智能手机、PDA、可穿戴设备、掌上电脑PPC、智能可穿戴设备、平板电脑、智能语音车载设备、智能语音电视、智能语音音箱等。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。本领域技术人员应能理解上述控制设备1仅为举例,其他现有的或今后可能出现的自然语言处理设备或智能终端如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,自然语言处理设备及智能终端均包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,在步骤S61中,控制设备1通过智能终端1自身所提供的用于提供用户输入的控制该智能终端所连接设备的自然语言命令的应用程序接口(API),如智能终端的拾音设备如麦克风等的应用程序接口(API),来获取用户输入的用于控制该智能终端所连接设备的自然语言命令。在此,用户输入所述自然语言命令的方式包括但不限于如在智能终端1中安装的对应于自然语言处理设备的客户端上仅能语音输入的界面进行输入,或者通过智能终端1中专门用于用户输入控制该智能终端所连接设备的自然语言命令的统一界面进行输入。
例如,假设用户A的智能终端(如其智能手机)通过蓝牙或共同所接入的同一无线网或局域网连接了家里的空调,该用户进入到了该智能终端中安装的对应于自然语言处理设备的客户端上仅能语音输入的界面,然后输入了自然语言命令“将空调温度设置为26度”,则在步骤S61中,控制设备1通过智能终端的拾音设备如麦克风等的应用程序接口(API),获取到该自然语言命令。
接着,在步骤S62中,控制设备1首先通过智能终端和其所连接的设备所采用的网络对应的协议,对智能终端所连接的设备进行核实身份验证,从而基于设备的配对信息来得到所述设备的设备类型信息;然后再根据所述设备的设备类型信息,确定所述自然语言命令所对应的控制指令。
在此,所述设备类型信息是指根据事物本身的性质或特点而分成的门类,如空调、灯、冰箱、洗碗机、洗衣机、车机、电视、耳机、健身器、音箱、扫地机器人等。相应地,智能终端所连接的设备与其设备类型信息相适配,其可以是智能空调、智能灯、智能冰箱、智能洗碗机、智能洗衣机、智能车机、智能电视、智能耳机、智能健身器、智能音箱、智能扫地机器人等。
例如,以用户A的智能终端(如其智能手机)通过蓝牙连接了家里的一台智能空调为例,则智能终端与智能空调通过蓝牙连接之后,通过SDP(Service Discovery Protocol,服务发现协议)可查询到连接设备的设备信息,即从而得到其设备类型信息如“空调”。
本领域技术人员应能理解上述设备类型信息和获取所述设备类型信息的方式仅为举例,其他现有的或今后可能出现的设备类型信息或获取设备类型信息的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在此,需要说明的是,当智能终端连接上某个设备时,智能终端会在其所支持的设备库中进行查询以确定是否支持这个设备,若支持,再获取所连设备的设备类型信息。
然后,在步骤S62中,控制设备1根据所述设备的设备类型信息,确定所述自然语言命令所对应的控制指令。在此,所述控制指令是指所述设备可执行的指令。
在此,在步骤S62中,控制设备1确定所述控制指令的方式包括但不限于以下至少任一项:
1)首先将所述自然语言命令发送至对应的自然语言处理设备;然后接收所述自然语言处理设备返回的对所述自然语言命令进行语义解析的语义解析文本;再根据所述设备类型信息和所述语义解析文本,确定所述控制指令。
例如,接上例,则在步骤S62中,控制设备1将用户A发出的自然语言命令“将空调温度设置为26度”发送至对应的自然语言处理设备,由该自然语言处理设备对自然语言命令“将空调温度设置为26度”进行语义解析,获得相应的语义解析文本如{设备device:空调,温度temperature:26度},并接收该自然语言命令返回的该语义解析文本,然后,在步骤S62中,控制设备1根据所述设备类型信息和语义解析文本,在设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1,其中,所述设备指令信息库包含设备类型信息-语义解析文本-控制指令之间的映射关系,如以下表3示出设备指令信息库中各项对应关系:
表3
再如,假设用户A发出的自然语言命令为如可以解析出多条控制指令的自然语言命令“空调制冷26度”,则自然语言处理设备对该自然语言命令“空调制冷26度”进行语义解析,获得相应的语义解析文本如{设备device:空调,温度temperature:26度,模式mode:制冷},从而在步骤S62中,控制设备1根据所述设备类型信息和语义解析文本,在如上表3所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1和instuction-4。
在此,需要说明的是,表3所示的设备指令信息库仅为举例,并不构成对本发明的限制,在具体应用中,用户发出的语义近似的自然语言命令可对应于同一控制指令,如自然语言命令“将空调温度设置为26度”和“将空调温度调整为26度”语义近似。
2)首先将所述自然语言命令进行语义解析得到语义解析文本,然后根据所述设备类型信息和语义解析文本,在设备指令信息库中进行匹配查询,从而得到相应的控制指令,如在以上表3所示的设备指令信息库中进行匹配查询,得到相应的控制指令为instuction-1,其中,所述设备指令信息库包含设备类型信息-语义解析文本-控制指令之间的映射关系。
在此,以上所述设备指令信息库既可位于控制设备1中,也可位于与控制设备1通过网络相连的服务器中,如位于自然语言处理设备2中。
本领域技术人员应能理解上述确定所述控制指令的方式仅为举例,其他现有的或今后可能出现的确定所述控制指令的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S63中,控制设备1将所述控制指令发送至所述设备,以使得所述设备执行所述控制指令。例如,接上例,在步骤S63中,控制设备1将控制指令instuction-1发送给智能空调,从而该智能空调可执行该控制指令,自动将空调设置为26度。
在另一个实施例中,若用户A正在开车,智能终端为车上的车机,假设车机与用户A家里的一个空调相连接,若步骤S61中,控制设备1获取到用户输入的用于控制空调的自然语言命令为“将空调打开”;步骤S62中,控制设备1根据空调的设备类型信息,在如以上表1所示的设备指令信息库中进行匹配查询,得到相应的控制指令为如instuction-3;步骤S63中,控制设备1将所述控制指令发送至该空调,以使得该空调执行所述控制指令,从而实现用户在开车过程中通过车机即可打开家里的空调。
图7示出本发明一个实施例的控制设备和自然语言处理设备配合实现一种用于通过智能终端控制其所连接设备的方法流程图。
其中,该方法包括步骤S71、步骤S72、步骤S73和步骤S74。
具体地,具体地,在步骤S71中,控制设备1获取用户输入的用于控制所述设备的自然语言命令;在步骤S72中,控制设备1首先将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2;相应地,自然语言处理设备2接收对应控制设备1发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制所述设备的自然语言命令;在步骤S74中,自然语言处理设备2根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本,确定所述自然语言命令所对应的控制指令;在步骤S72中,自然语言处理设备2将所述控制指令发送至所述控制设备1;相应地,控制设备1接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备基于所述设备类型信息和所述自然语言命令所对应的语义解析文本确定的;在步骤S73中,控制设备1将所述控制指令发送至所述设备,以使得所述设备执行所述控制指令。在此,步骤S71和步骤S73分别与图6实施例中对应步骤S61和S63的内容相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
具体地,在步骤S72中,控制设备1首先获取所述设备类型信息,然后通过http、https等约定的通信方式,将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2。在此,在步骤S72中,控制设备1获取所述设备类型信息的方式与图6实施例中在步骤S62中,控制设备1获取所述设备类型信息的方式相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
在此,需要说明的是,控制设备1在向自然语言处理设备2上报智能终端所连接设备的设备类型信息时,还可上报该设备的设备标识信息(如设备ID、设备型号等),以使得当智能终端连接了多个所述设备时,控制设备1能够知晓将自然语言处理设备2返回的控制指令发送给哪个设备执行。
相应地,自然语言处理设备2通过http、https等约定的通信方式,接收对应控制设备1发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制所述设备的自然语言命令。
在步骤S74中,自然语言处理设备2首先对所述自然语言命令进行语义解析,获得对应的语义解析文本,然后根据所述设备类型信息和语义解析文本,在设备指令信息库中进行匹配查询,从而得到相应的控制指令。例如,对于用户A的自然语言命令“将空调温度设置为26度”,在步骤S74中,自然语言处理设备2对其进行语义解析,获得相应的语义解析文本如{设备device:空调,温度temperature:26度},然后根据所述设备类型信息和语义解析文本,在如上表1所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1。
接着,在步骤S72中,自然语言处理设备2通过http、https等约定的通信方式,将所述控制指令发送至所述控制设备1。
相应地,控制设备1通过http、https等约定的通信方式,接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备基于所述设备类型信息和所述自然语言命令所对应的语义解析文本确定的。
在步骤S73中,控制设备1将所述控制指令发送至所述设备,以使得所述设备执行所述控制指令。
在此,本发明通过在自然语言处理设备端实现控制指令的确定,提高了处理效率和响应速度。
图8示出本发明另一个实施例的一种用于通过智能终端控制其所连接设备的方法流程图。
其中,该方法包括步骤S81、步骤S82和步骤S83。
其中,若所述设备为多个,具体地,在步骤S81中,控制设备1获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息;在步骤S82中,控制设备1根据所述设备类型信息和所述指示信息,确定所述自然语言命令所对应的控制指令;在步骤S83中,控制设备1将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。
具体地,在步骤S81中,控制设备1获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息。
在此,所述指示信息包括但不限于如设备品牌、位置、状态等。
在此,在步骤S81中,控制设备1获取所述自然语言命令的方式与图6实施例中控制设备1在步骤S61中获取所述自然语言命令的方式相同或近似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
接着,在步骤S82中,控制设备1首先获取所述设备类型信息,然后根据所述设备类型信息和所述指示信息,确定所述自然语言命令所对应的控制指令。
例如,对于用户A的智能手机,若其连接了多个设备如空调、灯、冰箱等,或者,若连接的多个设备中,除不同类型设备之外,还有多个不同品牌/不同位置的同类型设备,如多个空调(三菱、松下等),假设用户A的智能手机通过蓝牙连接了家里的客厅三菱空调、主卧松下空调、客厅灯、厨房冰箱等多个设备,则在步骤S82中,控制设备1可通过SDP便可查询到智能手机所连接设备的设备信息,即从而得到所连接设备的设备类型信息有“空调”、“灯”、“冰箱”,假设用户A发出的用于控制客厅空调的自然语言命令为“将三菱空调的温度设置为26度”,该自然语言命令中包括用于控制目标设备(即三菱空调)的指示信息(即空调品牌“三菱”),则在步骤S82中,控制设备1对该自然语言命令进行语义解析,得到相应的语义解析文本{设备device:空调,品牌brand:三菱,温度temperature:26度},然后根据所述设备类型信息和所述指示信息,在如以下表4所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1,其中,该设备指令信息库包含设备类型信息-指示信息-语义解析文本-控制指令之间的映射关系。
在此,需要说明的是,以上表3所示的设备指令信息库可进一步细化增加设备的品牌、位置、状态等参数来进行拓展,从而能够适应于智能终端连接了多个设备的情形,拓展后的设备指令信息库如以下表4所示,其中,状态包括但不限于如关闭、运行、休眠等:
表4
优选地,在步骤S82中,控制设备1还可首先将所述自然语言命令发送至对应的自然语言处理设备;并接收所述自然语言处理设备返回的对所述自然语言命令进行解析的语义解析文本;接着,再根据所述设备类型信息、所述语义解析文本和所述指示信息,确定所述控制指令。
在步骤S83中,控制设备1将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。例如,接上例,在步骤S83中,控制设备1将在步骤S82中,控制设备1确定的控制指令instuction-1发送给目标设备“三菱空调”,从而使得“三菱空调”能够执行控制指令instuction-1,实现自动将“三菱空调”的温度调至/设置为26度。
图9示出本发明再一个实施例的控制设备和自然语言处理设备配合实现一种用于通过智能终端控制其所连接设备的方法流程图。
其中,该方法包括步骤S91、步骤S92、步骤S93、步骤S94,其中,步骤S92包括步骤S921和步骤S922。
具体地,具体地,在步骤S91中,控制设备1获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息;在步骤S921中,控制设备1将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2;相应地,自然语言处理设备2接收对应控制设备发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息;在步骤S94中,自然语言处理设备2根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本和所述指示信息,确定所述自然语言命令所对应的控制指令;在步骤S922中,自然语言处理设备2将所述控制指令发送至所述控制设备1;相应地,控制设备1接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备基于所述设备类型信息、所述自然语言命令所对应的语义解析文本和所述指示信息确定的;在步骤S93中,控制设备1将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。
在此,步骤S91、步骤S93分别与图8实施例中步骤S81和步骤S83的内容相同或相似,步骤S922与图7实施例中步骤S72的内容相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
具体地,在步骤S921中,控制设备1首先获取所述设备类型信息,然后,通过http、https等约定的通信方式,将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2。在此,在步骤S921中,控制设备1获取所述设备类型信息的方式与图6实施例中控制设备1在步骤S61中获取所述设备类型信息的方式相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
相应地,自然语言处理设备2通过http、https等约定的通信方式接收对应控制设备发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中包括关于所述目标设备的指示信息。
在步骤S94中,自然语言处理设备2首先对所述自然语言命令进行语义解析,获得对应的语义解析文本,并解析出所述自然语言命令中包括的用于控制目标设备的指示信息;然后,根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本和所述指示信息,在设备指令信息库中进行匹配查询,从而得到相应的控制指令。
例如,以用户A的智能手机通过蓝牙连接了家里的客厅三菱空调、主卧松下空调、客厅灯、厨房冰箱等多个设备为例,假设用户A发出的用于控制客厅空调的自然语言命令为“将三菱空调的温度设置为26度”,该自然语言命令中包括用于控制目标设备(即三菱空调)的指示信息(即空调品牌“三菱”),则在步骤S94中,自然语言处理设备2对该自然语言命令进行语义解析,得到相应的语义解析文本{设备device:空调,品牌brand:三菱,温度temperature:26度},然后根据所述设备类型信息和所述指示信息,在如以上表4所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1。
在步骤S922中,自然语言处理设备2通过http、https等约定的通信方式,将所述控制指令发送至所述控制设备1。
相应地,控制设备1通过http、https等约定的通信方式,接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备基于所述设备类型信息、所述自然语言命令所对应的语义解析文本和所述指示信息确定的。
图10示出本发明还一个实施例的控制设备和自然语言处理设备配合实现一种用于通过智能终端控制其所连接设备的方法流程图。
其中,该方法包括步骤S101、步骤S102、步骤S103、步骤S104、步骤S105、步骤S106和步骤S107,其中,步骤S102包括步骤S1021和步骤S1022。
具体地,其中,若所述自然语言命令中未包括所述指示信息。具体地,在步骤S101中,控制设备1获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中未包括关于所述目标设备的指示信息;在步骤S1021中,控制设备1将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2;相应地,自然语言处理设备2的接收对应控制设备1发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中未包括关于所述目标设备的指示信息;在步骤S105中,自然语言处理设备2响应于所述自然语言命令,向所述控制设备1发送用于明确所述目标设备的询问反馈;相应地,控制设备1接收所述自然语言处理设备2根据所述自然语言命令返回的用于明确所述目标设备的询问反馈;在步骤S106中,控制设备1获取所述用户根据所述询问反馈输入的语音回答;在步骤S107中,控制设备1将所述语音回答发送至所述自然语言处理设备2;相应地,自然语言处理设备2接收所述控制设备1发送的所述用户根据所述询问反馈输入的语音回答;在步骤S104中,自然语言处理设备2根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本和所述语音回答,确定所述自然语言命令所对应的控制指令;在步骤S1022中,自然语言处理设备2将所述控制指令发送至所述控制设备1;相应地,控制设备1收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备根据所述自然语言命令所对应的语义解析文本、所述设备类型信息和所述语音回答确定的;在步骤S103中,控制设备1将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。
在此,步骤S103与图8实施例中步骤S83的内容相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
具体地,在步骤S101中,控制设备1获取用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中未包括关于所述目标设备的指示信息。
例如,以用户A的智能手机通过蓝牙连接了家里的客厅三菱空调、主卧松下空调、客厅灯、厨房冰箱等多个设备为例,假设用户A欲调整客厅三菱空调温度,发出的用于控制客厅空调的自然语言命令为“将空调的温度设置为26度”,则在步骤S101中,控制设备1通过智能手机的拾音设备如麦克风等的应用程序接口(API),获取到该自然语言命令,但该自然语言命令中未包括关于目标设备(客厅三菱空调)的指示信息。
在步骤S1021中,控制设备1首先获取所述设备类型信息,然后通过诸如http、https等约定的通信方式,将所述设备类型信息和所述自然语言命令发送至对应的自然语言处理设备2。在此,步骤S1021与图9实施例中步骤S921的内容相同或相似,为简明起见,故在此不再赘述,并以引用的方式包含于此。
相应地,自然语言处理设备2通过诸如http、https等约定的通信方式,接收对应控制设备1发送的所述智能终端所连接设备的设备类型信息,以及用户输入的用于控制多个所述设备中目标设备的自然语言命令,其中,所述自然语言命令中未包括关于所述目标设备的指示信息。
在步骤S105中,自然语言处理设备2响应于所述自然语言命令,向所述控制设备1发送用于明确所述目标设备的询问反馈。
例如,接上例,自然语言处理设备2对接收到的自然语言命令“将空调的温度设置为26度”,因智能终端1连接了多个空调,而用户的自然语言命令未指明是哪个,使得自然语言处理设备2无法理解将哪个空调的温度设置为26度,为明确具体的目标设备,自然语言处理设备2响应于所述自然语言命令,向所述控制设备1发送用于明确所述目标设备的询问反馈,如发送询问反馈“哪一个”,从而主动发问。
相应地,控制设备1接收所述自然语言处理设备2根据所述自然语言命令返回的用于明确所述目标设备的询问反馈,并可将该询问反馈播报给用户。
在步骤S106中,控制设备1获取所述用户根据所述询问反馈输入的语音回答。例如,接上例,用户A听到询问反馈“哪一个”后,可作出语音回答,如发出自然语音命令“客厅三菱空调”,在步骤S106中,控制设备1可通过智能终端的拾音设备如麦克风等的应用程序接口(API),获取到该语音回答。
接着,在步骤S107中,控制设备1将所述语音回答发送至所述自然语言处理设备2。
相应地,自然语言处理设备2接收所述控制设备1发送的所述用户根据所述询问反馈输入的语音回答;
在步骤S104中,自然语言处理设备2根据所述设备类型信息,以及所述自然语言命令所对应的语义解析文本和所述语音回答,确定所述自然语言命令所对应的控制指令,如在以上表2所示的设备指令信息库中进行匹配查询,从而得到相应的控制指令,如得到相应的控制指令为instuction-1。
然后,在步骤S1022中,自然语言处理设备2将所述控制指令发送至所述控制设备1。具体地,在步骤S1022中,自然语言处理设备2将所述控制指令和目标设备的标识信息(如设备ID、设备型号等),或者,在所述控制指令中关于目标设备的标识信息的字段,以使得控制设备1知晓将该控制指令发送给哪个设备。
相应地,控制设备1接收所述自然语言处理设备返回的控制指令,其中,所述控制指令是所述自然语言处理设备根据所述自然语言命令所对应的语义解析文本、所述设备类型信息和所述语音回答确定的。
在步骤S103中,控制设备1将所述控制指令发送至所述目标设备,以使得所述目标设备执行所述控制指令。
在此,当智能终端连接了多个设备时,即便用户发出的用于控制多个所述设备中目标设备的自然语言命令中未包括关于所述目标设备的指示信息,本发明能够通过主动发问来确定所述目标设备,更进一步提升了设备控制操作体验。
图11示出了适于用来实现本发明实施方式的示例性计算机***/服务器的框图。图11显示的计算机***/服务器3仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,计算机***/服务器3以通用计算设备的形式表现。计算机***/服务器3的组件可以包括但不限于:一个或者多个处理器或者处理单元31、***存储器32、连接不同***组件(包括***存储器32和处理单元31)的总线33。
总线33表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MAC)总线、增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器3典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机***/服务器3访问的可用介质,包括易失性和非易失性介质、可移动的和不可移动的介质。
***存储器32可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)321和/或高速缓存存储器322。计算机***/服务器3可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***323可以用于读写不可移动的、非易失性磁介质(图11未显示,通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线33相连。***存储器32可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块325的程序/实用工具324,可以存储在例如***存储器32中,这样的程序模块325包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块325通常执行本发明所描述的实施例中的功能和/或方法。
计算机***/服务器3也可以与一个或多个外部设备35(例如键盘、指向设备、显示器34等)通信,还可与一个或者多个使得用户能与该计算机***/服务器3交互的设备通信,和/或与使得该计算机***/服务器3能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口36进行。并且,计算机***/服务器3还可以通过网络适配器30与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图11所示,网络适配器30通过总线33与计算机***/服务器3的其它模块通信。应当明白,尽管图11中未示出,可以结合计算机***/服务器3使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元31通过运行存储在***存储器32中的程序,从而执行各种功能应用以及数据处理,例如实现以下一种用于通过智能终端控制其所连接设备的方法,其中,该方法包括以下步骤:
a获取用户输入的用于控制所述设备的自然语言命令;
b根据所述设备的设备类型信息,确定所述自然语言命令所对应的控制指令;
c将所述控制指令发送至所述设备,以使得所述设备执行所述控制指令。
在另一个实施例中,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上实施例中的一种用于通过智能终端控制其所连接设备的方法。
在此,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或子。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或子可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或子的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。