本发明涉及家电控制领域,特别涉及一种基于用户指令识别家电的方法、系统和装置。
背景技术:
智能家居系统已经在我们的日常生活中运用得越来越广泛,通过智能家居系统,可以简单方便的对家庭中各个家电进行智能控制,提高了家居的便利性和舒适性。现有的智能家居系统对家电进行控制时,需要清楚地指明被控制对象,否则无法判断是要对哪台家电进行控制,比如用户说:“温度设成27度”,而家中有多台温度控制设备时,则无法识别到底操作哪台,只能随机一台执行,或执行用户预先设定的指定家电。因此,现有技术的智能家居系统仍旧不够智能,难以满足用户的需求。
技术实现要素:
本发明提供了一种基于用户指令识别家电的方法、系统和装置,解决了以上所述的技术问题。
本发明解决上述技术问题的技术方案如下:
依据本发明的一个方面,提供了一种基于用户指令识别家电的方法,包括以下步骤:
步骤1,获取用户指令的语境信息;
步骤2,获取实现所述语境信息对应的用户控制意图的所有家电信息;
步骤3,获取所有家电信息中每个家电与用户控制意图的匹配度;
步骤4,将所述用户指令发送给最高匹配度对应的家电。
本发明的有益效果是:本发明的方法可以根据用户指令自动识别操控对象,尤其是在用户指令中没有指定操控对象或者指定的操控对象不能实现操作功能时,通过对用户指令进行语义分析和情境分析,找到最符合用户控制意图的家电,并对所述家电进行控制,解决了传统语音或文字控制方法中需要强制指定或者预先设定操控对象的问题,控制方式更加智能和多样化,满足用户的使用需求。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述语境信息包括控制信息和指令信息,所述控制信息包括用户识别码和操作功能对应的操作动作代码,所述指令信息包括家电类型代码、用户指令获取时间和/或用户操作地点。
采用上述进一步方案的有益效果是:本进一步技术方案中,所述语境信息表示为c=[uid,Td,f,Time,Loc],其中uid表示用户识别码,Td表示家电类型代码,f表示操作动作代码,Time表示用户指令获取时间,Loc表示用户操作地点。本进一步技术方案中,用户在第一次操作家电前进行注册,此时会生成一个用户识别码,根据所述用户识别码即可查询得到用户可以控制的所有家电设备。用户在发送用户指令时,会在发送用户指令的同时夹带所述用户识别码,从而可以对用户身份进行识别。本进一步技术方案中,通过识别用户的语音指令或者文字指令,还可以获取用户操作意图对应的操作功能,并获取操作功能对应的操作动作代码,从而方便进行步骤3中匹配度的计算。
进一步,步骤1中,当所述用户指令包含待控制的家电类型时,通过查询预先建立的家电类型代码表,获取待控制的家电类型对应的家电类型代码,或者当所述用户指令包含操作功能时,根据操作功能获取唯一对应的家电类型,并通过查询所述家电类型代码表,获取对应的家电类型代码,或者当无法从用户指令中识别家电类型时,将所述家电类型代码赋值为预设代码。
采用上述进一步方案的有益效果是:本进一步技术方案中,通过分析用户指令即可得到家电类型代码,主要包括以下三种方式:第一种,用户在语音指令或文字指令中,描述了家电类型,例如用户指令为:「我要净化器风量变大」或者「风扇风量变大」,由于用户已在用户指令中描述了家电类型,因此可利用预先建立的家电类型代码表,获取家电类型对应的家电类型代码;第二种,用户在语音指令或文字指令中,描述了操作功能,且此功能只能唯一对应到特定家电类型种,例如用户指令为:「打开纳米负离子」,若只有净化器可以实现「纳米负离子」功能,则根据所述操作功能,识别出家电类型为净化器,然后通过查询家电类型代码表,即可获取净化器的家电类型代码;第三种情况,当用户指令中没有涉及到具体的被操控对象,或者根据用户指令难以得到具体被操控对象时,则使用一个预设代码,代表无法识别,例如0代表无法识别。通过以上三种情况,可以获取各种情况下,用户指令对应的家电类型代码,从而方便进行步骤3中匹配度的计算。
进一步,步骤1中,根据定位方法获取所述用户操作地点,或者根据用户指令中的位置信息或房间信息获取所述用户操作地点。
采用上述进一步方案的有益效果是:本进一步技术方案中,在接收到用户的语音指令或文字指令时,记录用户操作地点,用户操作地点的获取方法包括以下几种情况:第一种,利用定位方法获取用户的绝对位置或相对位置,例如使用带有GPS功能的装置时,取得经纬度的绝对位置,或者利用多点无线信号在用户设备之间的信号强度,定位出相对位置。第二种情况,可以通过用户语音指令或者文字指令中所夹带的位置信息或房间信息,获取用户操作地点,例如用户指令为:「我要客厅的空调25度」、「我要厨房的电风扇开启」、「我要家中的空调打开」、「我要办公室的空调打开」,由于文字指令内带有客厅,厨房,家中,办公室等房间信息,可以直接得到用户操作地点。本进一步方法包括多种获取用户操作地点的方法,适用范围广,从而增加了本发明方法的使用环境。
进一步,步骤2具体包括以下步骤:
根据所述用户识别码获取用户具备使用权限的所有家电;
通过查询预先建立的家电功能对照表,获取所有家电中实现所述操作功能的家电,建立家电清单;
获取所述家电清单中每个家电的设备信息,以便获取所述匹配度。
进一步,所述设备信息包括每个家电的家电类型代码、所述用户上一次使用所述家电的时间和/或所述用户上一次操作所述家电的地点。
采用上述进一步方案的有益效果是:本进一步技术方案中,通过查询所述用户识别码uid,即可获取用户识别码uid可以控制的全部家电设备,然后通过查询家电功能对照表,即可在全部家电设备中过滤掉不能实现所述操作功能的设备,从而建立家电清单。通过获取家电清单上每个家电的设备信息,可以得到每个家电与用户控制意图的匹配度,即每个家电被选中进行操控的概率,从而当用户指令中没有说明操控对象或者操控对象信息错误时,生成满足用户需求的操控对象。
进一步,所述设备信息包括每个家电的家电类型代码、用户上次使用所述家电的所述操作功能的时间和/或用户上次使用所述家电的所述操作功能的地点。
进一步,根据所述设备信息和所述指令信息获取所述家电清单中每个家电与用户控制意图的匹配度,具体为:
获取所述家电清单中每个家电距离上次使用所述操作功能的时间间隔;
获取所述家电清单中每个家电上次使用所述操作功能的地点与本次用户操作地点的距离;
获取所述家电清单中每个家电的家电类型代码与所述语境信息中家电类型代码的匹配值;
根据所述时间间隔、所述距离和所述匹配值中的至少一个信息,生成每个家电与用户控制意图的匹配度。
采用上述进一步方案的有益效果是:本进一步技术方案中,所述设备信息定义为Di=[ti,timei,li],其中ti为家电i的家电类型代码,timei为用户上次使用家电i的所述操作功能的时间,li为用户上次使用家电i的所述操作功能的地点,通过获取上述设备信息,计算出的匹配度更加准确。本发明可以综合考虑家电距离上次使用所述操作功能的时间间隔、家电上次使用所述操作功能的地点与本次用户操作地点的距离、家电的家电类型代码与所述语境信息中家电类型代码的匹配值,生成家电清单中每个家电与用户控制意图的匹配度,即每个家电被选中进行操控的概率。具体的,衡量所述匹配度的公式为:
其中,dtype表示家电的家电类型代码与所述语境信息中家电类型代码的匹配值,所述dtype根据设备信息中的家电类型代码ti与语境信息中家电类型代码td是否一致进行赋值,当td无法识别,即td取值为0时,dtype=0;当td=ti,dytpe=0;当td不等于ti,dtype=1。即当用户指令中没有指定操控对象,或指定操控对象与家电清单中的家电一致时,所述dtype取值为0;当用户指定的操控对象,与家电清单中的家电不一致时,所述dtype取值为1,例如用户有风扇没有空调,却说「我要空调强风」,则设备清单中,风扇对应的dtype取值为1。本进一步技术方案中,匹配值dtype越小,计算出的Disti值越小,家电与用户控制意图的匹配度越高。
所述dtime根据家电i距离上次使用所述操作功能的时间间隔与预设时间参数Tthreshold的比较结果进行赋值,当时间间隔>Tthreshold,则dtime=1,否则dtime=abs(时间间隔)/Tthreshold,其中abs为数学的绝对值(absolute value),因此,同一个家电功能,距离上次操作的时间间隔越久,则dtime越大,计算出的Disti值越大,家电与用户控制意图的匹配度越低。
本发明的所述dloc存在三种赋值方式:第一种方式,当位置信息为文字时,若设备信息中家电的上次用户操作地点与所述用户指令对应的本次操作地点相符,则dloc赋值为0,否则,赋值为1。第二种方式,根据家电i上次使用所述操作功能的地点与本次用户操作地点的距离与预设距离参数Lthreshold的比较结果进行赋值,当距离>Lthreshold,则dloc=1,否则dloc=abs(距离)/Lthreshold,其中abs为数学的绝对值(absolute value),因此,同一个家电功能,两次操作的地点隔的距离越远,则dLoc越大。第三种方式,当难以获取到所述用户指令对应的本次操作地点或者家电的上次操作地点时,将家电清单中的所有家电对应的dloc均赋值为0,即忽略位置对家电选择的影响。
本进一步技术方案中,计算得到的Dist值越小,说明家电与用户控制意图的匹配度越高,即用户越有可能操作该台家电。选择Dist最小的值,就可以将所述用户指令发送给最高匹配度对应的家电,从而满足用户的需求。
依据本发明的另一方面,提供了一种基于用户指令识别家电的系统,包括:
第一获取模块,用于获取用户指令的语境信息;
第二获取模块,用于获取实现所述语境信息对应的用户控制意图的所有家电信息;
匹配度生成模块,用于获取所有家电信息中每个家电与用户控制意图的匹配度;
输出模块,用于将所述用户指令发送给最高匹配度对应的家电。
本发明的有益效果是:本发明的系统可以根据用户指令自动识别操控对象,尤其是在用户指令中没有指定操控对象或者指定的操控对象不能实现操作功能时,通过对用户指令进行语义分析和情境分析,找到最符合用户控制意图的家电,并对所述家电进行控制,解决了传统语音或文字控制方法中需要强制指定或者预先设定操控对象的问题,控制方式更加智能和多样化,满足用户的使用需求。
进一步,所述获取模块包括:
第一获取单元,用于获取用户指令中的用户识别码;
第二获取单元,用于获取用户指令中操作功能对应的操作动作代码;
第三获取单元,用于获取用户指令中的家电类型代码;
第四获取单元,用于生成用户指令获取时间;
第五获取单元,用于生成用户操作地点。
进一步,所述第三获取单元具体用于当所述用户指令包含待控制的家电类型时,通过查询预先建立的家电类型代码表,获取待控制的家电类型对应的家电类型代码,或者当所述用户指令包含操作功能时,根据操作功能获取唯一对应的家电类型,并通过查询所述家电类型代码表,获取对应的家电类型代码,或者当无法从用户指令中识别家电类型时,将所述家电类型代码赋值为预设代码。
进一步,所述第五获取单元具体用于根据定位方法获取所述用户操作地点,或者根据用户指令中的位置信息或房间信息获取所述用户操作地点。
进一步,所述第二获取模块包括:
第六获取单元,用于根据所述用户识别码获取用户具备使用权限的所有家电;
清单建立单元,用于通过查询预先建立的家电功能对照表,获取所有家电中实现所述操作功能的家电,建立家电清单;
第七获取单元,获取所述家电清单中每个家电的设备信息,以便获取所述匹配度。
进一步,所述匹配度生成模块包括:
第八获取单元,用于获取所述家电清单中,每个家电距离上次使用所述操作功能的时间间隔、每个家电上次使用所述操作功能的地点与本次用户操作地点的距离和/或每个家电的家电类型代码与所述语境信息中家电类型代码的匹配值;
匹配度生成单元,用于根据所述时间间隔、所述距离和所述匹配值中的至少一个信息,生成每个家电与用户控制意图的匹配度。
为了解决本发明的问题,还提供了一种装置,包括所述的基于用户指令识别家电的系统。
本发明的有益效果是:本发明的装置可以根据用户指令自动识别操控对象,尤其是在用户指令中没有指定操控对象或者指定的操控对象不能实现操作功能时,通过对用户指令进行语义分析和情境分析,找到最符合用户控制意图的家电,并对所述家电进行控制,解决了传统语音或文字控制方法中需要强制指定或者预先设定操控对象的问题,控制方式更加智能和多样化,满足用户的使用需求。
附图说明
图1为本发明一种基于用户指令识别家电的方法的流程示意图;
图2为本发明一种基于用户指令识别家电的系统的结构示意图;
图3为本发明一种装置的结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明一种基于用户指令识别家电的方法的流程示意图,包括以下步骤:
步骤1,获取用户指令的语境信息;
步骤2,获取实现所述语境信息对应的用户控制意图的所有家电信息;
步骤3,获取所有家电信息中每个家电与用户控制意图的匹配度;
步骤4,将所述用户指令发送给最高匹配度对应的家电。
以下通过两个具体的实施例对上述步骤进行说明。
实施例1:用户有两台空调,用户使用语音控制对APP说:「开机」,即可以获取到用户的语音指令为:「开机」。
步骤1,首先获取用户指令的语境信息。由于用户未指定家电类型,且开机不是独特功能,无法从语音指令中识别出家电类型,因此以预设代码0替代家电类型代码。此时,根据用户指令得到语境信息如下:
语境信息c=[uid,Td,F,Time,Loc]=[uid,0,open,07/21 14:00,(113.126,23.068)]
步骤2,建立家电清单。根据uid,查询此uid所拥有的所有设备,过滤掉没有开机功能的设备后,产生一个家电列表:Df=[D1,D2]。
取得Df内所有家电的设备信息Di:
Di1=[空调,07/21 11:00,(113.126,23.068)],用户上次操作D1的时间为11:00;
Di2=[空调,07/21 09:00,(113.126,23.068)],用户上次操作D2的时间为09:00。
步骤3,获取所述家电清单中每个家电与用户控制意图的匹配度。获取语境信息中的指令信息,即指令信息u=[0,07/21 14:00,(113.126,23.068)]
由于用户的语音指令并未指定家电类型,因此dtype=0,由于用户操作家电位置皆相同,因此dloc=0。本实施例中,设Tthreshold=12小时。因此:
Distd1=sqrt(02+(3/12)2+02)=0.25;
Distd2=sqrt(02+(5/12)2+02)=0.416,其中sqrt为开根号。
步骤4,将所述用户指令发送给最高匹配度对应的家电。因为Distd1<Distd2,因此D1为匹配度最高的家电,将所述「开机」指令发送给D1设备。
实施例2
实施例2:用户有一台空调,一台净化器,用户使用语音控制对APP说:「电风扇增加风量」,即可以获取到用户的语音指令为:「电风扇增加风量」。
步骤1,首先获取用户指令的语境信息。由于用户的语音指令中指定家电类型为电风扇,获取电风扇的家电类型代码为1,因此得到语境信息如下:
语境信息c=[uid,Td,F,Time,Loc]=[uid,1,增加风量,07/21 14:00,(113.126,23.068)]
步骤2,建立家电清单。根据uid,查询此uid所拥有的所有设备(空调和净化器),过滤掉没有“增加风量”功能的设备后,产生一个家电列表:Df=[D1,D2],取得Df内所有家电的设备信息Di:
Di1=[2,07/21 09:00,(113.126,23.068)],用户上次操作D1的时间为9:00;
Di2=[3,07/21 13:00,(113.126,23.068)],用户上次操作D2的时间为13:00;其中2代表空调的家电类型代码为2,3代表净化器的家电类型代码为3。
步骤3,获取所述家电清单中每个家电与用户控制意图的匹配度。获取语境信息中的指令信息,即指令信息u=[1,07/21 14:00,(113.126,23.068)]
由于空调的家电类型代码、净化器的家电类型代码均与指令信息中的家电类型代码不一致,因此空调和净化器对应的dtype均为1;由于用户操作家电位置皆相同,因此dloc均为0。本实施例中,设Tthreshold=12小时。因此:
Distd1=sqrt(12+(5/12)2+02)=1.08333;
Distd2=sqrt(12+(1/12)2+02)=1.00347,其中sqrt为开根号。
步骤4,将所述用户指令发送给最高匹配度对应的家电。因为Distd2<Distd1,因此D2为匹配度最高的家电,将所述「电风扇增加风量」指令发送给D2设备,即发送给净化器,从而控制净化器的风量增加,满足用户需求。
图2为本发明一种基于用户指令识别家电的系统的结构示意图,如图2所示,包括:第一获取模块,用于获取用户指令的语境信息;第二获取模块,用于获取实现所述语境信息对应的用户控制意图的所有家电信息;匹配度生成模块,用于获取所有家电信息中每个家电与用户控制意图的匹配度;输出模块,用于将所述用户指令发送给最高匹配度对应的家电。
优选实施例中,所述获取模块包括:第一获取单元,用于获取用户指令中的用户识别码;第二获取单元,用于获取用户指令中操作功能对应的操作动作代码;第三获取单元,用于获取用户指令中的家电类型代码;第四获取单元,用于生成用户指令获取时间;第五获取单元,用于生成用户操作地点。所述第三获取单元具体用于当所述用户指令包含待控制的家电类型时,通过查询预先建立的家电类型代码表,获取待控制的家电类型对应的家电类型代码,或者当所述用户指令包含操作功能时,根据操作功能获取唯一对应的家电类型,并通过查询所述家电类型代码表,获取对应的家电类型代码,或者当无法从用户指令中识别家电类型时,将所述家电类型代码赋值为预设代码。所述第五获取单元具体用于根据定位方法获取所述用户操作地点,或者根据用户指令中的位置信息或房间信息获取所述用户操作地点。
优选实施例中,所述第二获取模块包括:第六获取单元,用于根据所述用户识别码获取用户具备使用权限的所有家电;清单建立单元,用于通过查询预先建立的家电功能对照表,获取所有家电中实现所述操作功能的家电,建立家电清单;第七获取单元,获取所述家电清单中每个家电的设备信息,以便获取所述匹配度。所述匹配度生成模块包括:第八获取单元,用于获取所述家电清单中,每个家电距离上次使用所述操作功能的时间间隔、每个家电上次使用所述操作功能的地点与本次用户操作地点的距离和/或每个家电的家电类型代码与所述语境信息中家电类型代码的匹配值;匹配度生成单元,用于根据所述时间间隔、所述距离和所述匹配值中的至少一个信息,生成每个家电与用户控制意图的匹配度。
图3为本发明一种装置的结构示意图,如图3所示,包括所述的基于用户指令识别家电的系统。
本发明可以根据用户指令自动识别操控对象,尤其是在用户指令中没有指定操控对象或者指定的操控对象不能实现操作功能时,通过对用户指令进行语义分析和情境分析,找到最符合用户控制意图的家电,并对所述家电进行控制,解决了传统语音或文字控制方法中需要强制指定或者预先设定操控对象的问题,控制方式更加智能和多样化,满足用户的使用需求。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。