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

一种命令采集方法、装置和智能设备与流程

2022-06-12 06:26:15 来源:中国专利 TAG:


1.本发明涉及数据采集领域,具体涉及一种命令采集方法、装置和智能设备。


背景技术:

2.目前采用语音控制诸如照明、空调、电视、窗帘等智能设备时,通常基于固定的设备命令词表实现,即用户读出设备命令词表所包含的命令词,意图识别算法识别意图并执行该命令。如果用户的命令描述超出词表范围,则意图识别算法就不能识别该命令意图,也执行不了该命令。例如:词表中有“打开空调”这个命令,用户说“打开空调”即可以打开空调,但是说“开开空调”就不能打开空调。
3.为了避免让用户记忆命令词表,能够使用更灵活多样的命令表述形式,意图识别算法需要学习足够多的相同语义不同表述的设备命令数据集。因此,如何准确地采集相同语义不同表述的设备命令是需要解决的问题。


技术实现要素:

4.有鉴于此,本发明实施方式提供了一种命令采集方法、装置和智能设备,从而实现了准确采集相同语义不同表述的智能设备命令的功能。
5.根据第一方面,本发明提供了一种命令采集方法,应用于智能设备,所述智能设备内置多条命令规范,所述命令规范用于表征所述智能设备支持的功能,所述方法包括:将当前命令规范展示给用户;接收所述用户根据所述当前命令规范输入的命令描述;将所述命令描述与所述当前命令规范规定的语义进行比对,若所述命令描述与所述当前命令规范规定的语义匹配,则将所述命令描述存入所述当前命令规范对应的命令数据集中。
6.可选地,所述方法还包括:若所述命令描述与所述当前命令规范规定的语义不匹配,则通知用户重新输入命令描述。
7.可选地,在所述将所述命令描述与所述当前命令规范规定的语义进行比对之前,所述方法还包括:判断所述命令描述是否在所述命令数据集中存在;若所述命令描述在所述命令数据集中不存在,则将所述命令描述存入所述命令数据集;若所述命令描述在所述命令数据集中存在,则通知用户重新输入命令描述。
8.可选地,所述将所述命令描述与所述当前命令规范规定的语义进行比对,包括:分别获取所述命令描述和所述当前命令规范规定的语义的向量表达;计算所述命令描述和所述当前命令规范规定的语义的向量表达的相似度,以得到所述命令描述与所述当前命令规范规定的语义的匹配程度。
9.可选地,在所述将所述命令描述存入所述当前命令规范对应的命令数据集中之前,所述方法还包括:计算所述命令描述的语法流畅度,所述语法流畅度用于表征所述命令描述和所述命令描述所属语言的语法匹配程度;若所述语法流畅度小于第二预设阈值,则返回将所述命令描述存入所述当前命令规范对应的命令数据集中的步骤;若所述语法流畅度大于第二预设阈值,则通知用户重新输入命令描述。
10.可选地,所述计算所述命令描述的语法流畅度,包括:将所述命令描述中的各个词语依次去除,并基于预设算法依次预测所述命令描述中去除的词语,得到多个预测词语;基于所述多个预测词语和对应去除的词语之间的损失参数生成所述语法流畅度,所述损失参数用于表征预测词语和对应去除的词语之间的差异程度。
11.可选地,所述方法还包括:若通知用户重新输入命令描述的次数达到预设次数,则跳过所述当前命令规范的命令描述采集步骤。
12.根据第二方面,本发明提供了一种命令采集装置,应用于智能设备,所述智能设备内置多条命令规范,所述命令规范用于表征所述智能设备支持的功能,所述装置包括:规范展示模块,用于将当前命令规范展示给用户;命令接收模块,用于接收所述用户根据所述当前命令规范输入的命令描述;语义筛选模块,用于将所述命令描述与所述当前命令规范规定的语义进行比对,若所述命令描述与所述当前命令规范规定的语义匹配,则将所述命令描述存入所述当前命令规范对应的命令数据集中。
13.根据第三方面,本发明实施例提供了一种智能设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
14.根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
15.本技术提供的技术方案,具有如下优点:
16.本技术提供的技术方案,在采集用户命令时,首先将设备内部预置的命令规范逐一展示给用户,从而通过命令规范引导用户填写满足智能设备功能的命令描述,避免用户填写的命令描述是不属于当前命令词表的表述以及是当前智能设备不能实现的功能。之后,对用户填写的命令描述进行语义分析,当命令描述与当前命令规范规定的语义成功匹配时,将命令描述存入当前命令规范对应的命令数据集中。进一步避免用户输入的命令描述语义和命令规范规定的语义相差较大,从而避免用户发出命令时控制错误的功能。
17.此外,当用户输入的命令描述已经存在于命令数据集中时,通知用户重新输入命令,且不存储当前命令,避免产生数据冗余。在将命令描述存储到命令数据集之前,还对命令描述进行语法分析,若命令描述不符合语法习惯,则不进行存储,避免因为用户个人的不正确语法习惯产生不能够被使用的命令,进一步避免产生数据冗余。
附图说明
18.通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
19.图1示出了本发明一个实施方式中一种命令采集方法的步骤示意图;
20.图2示出了本发明一个实施方式中一种命令采集方法的流程示意图;
21.图3示出了本发明一个实施方式中一个命令规范的示例图;
22.图4示出了本发明一个实施方式中一种命令采集装置的结构示意图;
23.图5示出了本发明一个实施方式中一种智能设备的结构示意图。
具体实施方式
24.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
25.请参阅图1和图2,在一个实施方式中,一种命令采集方法,应用于智能设备,智能设备内置多条命令规范,命令规范用于表征智能设备支持的功能,该方法具体包括以下步骤:
26.步骤s101:将当前命令规范展示给用户。
27.步骤s102:接收用户根据当前命令规范输入的命令描述。
28.步骤s103:将命令描述与当前命令规范规定的语义进行比对,若命令描述与当前命令规范规定的语义匹配,则将命令描述存入当前命令规范对应的命令数据集中。
29.具体地,在实际应用场景,传统命令采集方法往往是多个开发者进行命令联想和搜集,然后从后台将命令置于智能设备的命令数据集中。本实施例在大范围采集用户命令时,首先将设备内部预置的命令规范逐一展示给用户,如图3所示,命令规范是对于某类具体的设备制定具体的规范,做出明确的定义和举例,便于采集人员准确理解命令。规范明确了术语定义、任务定义、设备命令类型、命令名称、命令定义、场景说明。从而通过命令规范引导用户填写满足智能设备功能的命令描述,避免用户填写的命令描述是不属于当前命令词表的表述以及是当前智能设备不能实现的功能。之后,对用户填写的命令描述进行语义分析,当命令描述与当前命令规范规定的语义成功匹配时,将命令描述存入当前命令规范对应的命令数据集中。进一步避免用户输入的命令描述语义和命令规范规定的语义相差较大,从而避免用户发出命令时控制错误的功能。在本实施例中,命令描述和规定的语义进行匹配基于文本相似度实现,在当前命令规范采集到命令后,智能设备切换到下一条命令规范,从而继续采集控制智能设备其他功能的命令描述。
30.若命令描述与当前命令规范规定的语义不匹配,表征当前用户输入的命令与规定语义相差较大,例如规范规定填写开启空调功能的命令,而用户输入的是关闭空调,若将该命令存入命令数据集中会导致用户说出关闭空调的命令时空调执行开启。因此该命令描述不存入命令数据集,且通知用户重新输入命令描述。
31.具体地,在一实施例中,在上述步骤s103之前,本发明实施例提供的一种命令采集方法,还包括如下步骤:
32.步骤一:判断命令描述是否在命令数据集中存在。
33.步骤二:若命令描述在命令数据集中不存在,则将命令描述存入命令数据集。
34.步骤三:若命令描述在命令数据集中存在,则通知用户重新输入命令描述。
35.具体地,为了避免由于大多数用户想法不可控产生一致的命令描述,从而增加智能设备中的冗余命令数量,从而将用户输入的命令描述与命令数据集中的命令描述进行逐字比对,当用户输入的命令已经存在于当前命令规范对应的命令数据集时,本次不执行命令存储操作,且告知用户重新输入命令描述。
36.具体地,在一实施例中,上述步骤s103,具体包括如下步骤:
37.步骤四:分别获取命令描述和当前命令规范规定的语义的向量表达。
38.步骤五:计算命令描述和当前命令规范规定的语义的向量表达的相似度,以得到命令描述与当前命令规范规定的语义的匹配程度。
39.具体地,在本实施例中,基于文本向量相似度从而进行命令描述和当前命令规范规定的语义匹配操作。首先计算命令描述和当前命令规范规定的语义的数字向量,当前命令规范规定的语义可采用当前命令规范中的命名名称。例如用户输入的命令描述为“开开空调”,当前命令规范中的命名名称为“打开空调”。生成文本语义向量的方法可采用基于自然语言处理的编码模型来实现,例如通过bert预训练语言模型计算出其向量表示a和b,设a和b是两个n维向量,则a是[a1,a2,...,an],b是[b1,b2,...,bn],然后可通过包括但不限于向量距离、余弦相似度等方法得到文本相似度,例如计算a与b的夹角θ的余弦相似度得到文本相似度。通过本步骤可以准确得到两个文本的相似度,实现准确的语义匹配操作。
[0040]
具体地,在一实施例中,在将命令描述存入当前命令规范对应的命令数据集中之前,本发明实施例提供的一种命令采集方法,还包括如下步骤:
[0041]
步骤六:计算命令描述的语法流畅度,语法流畅度用于表征命令描述和命令描述所属语言的语法匹配程度。
[0042]
步骤七:若语法流畅度小于第二预设阈值,则返回将命令描述存入当前命令规范对应的命令数据集中的步骤。
[0043]
步骤八:若语法流畅度大于第二预设阈值,则通知用户重新输入命令描述。
[0044]
具体地,在本实施例中,为了避免用户输入的命令描述是不符合语法的描述,导致命令几乎不可使用的问题出现(例如用户发出指令“屋里的空调打开我”),进一步对用户输入的命令描述进行语法分析。在本实施例中,基于命令描述各个词的负对数似然函数值得到语法流畅度,从而衡量命令描述和命令描述所属语言的语法匹配程度。
[0045]
计算命令描述的语法流畅度的步骤如下:
[0046]
1.将命令描述中的各个词语依次去除,并基于预设算法依次预测命令描述中去除的词语,得到多个预测词语。
[0047]
2.基于多个预测词语和对应去除的词语之间的损失参数生成语法流畅度,损失参数用于表征预测词语和对应去除的词语之间的差异程度。
[0048]
在本实施例中对于给定的句子,按顺序依次去掉一个词,去掉的词作为待预测的词,之后采用包括但不限于bert类的预训练语言模型对去掉的词进行预测,bert类的预训练语言模型是已经把人类的自然语言知识,预先进行了训练和学习,之后再代入到某个具体任务,进行优化的模型。从而通过bert预训练语言模型对去掉的词进行预测,根据预测的结果进行分析,本身就是一个判别给定句子是否符合语法的过程。之后,本实施例再计算所预测词和真实词的负对数似然函数值作为损失参数,本实施例将负对数似然函数作为损失函数表征预测词语和对应去除的词语之间的差异程度,在尽量保证损失参数准确度的情况下,降低选择损失函数的复杂度,从而提高计算速度。最后将所有的词的损失参数求和再取平均值,即可到用于表征命令描述和预设语法匹配程度的衡量标准,即语法流畅度。
[0049]
由于负对数似然函数的特征是数值越小表征损失越小,因此当语法流畅度小于第二预设阈值时,判定当前命令描述是符合命令所属的语法规则的,同时存入命令数据集中。若语法流畅度大于第二预设阈值则通知用户重新输入命令。
[0050]
具体地,在一实施例中,本发明实施例提供的一种命令采集方法,还包括如下步骤:
[0051]
步骤九:若通知用户重新输入命令描述的次数达到预设次数,则跳过当前命令规范的命令描述采集步骤。
[0052]
由于用户的思想不可控,现有技术通常由于某一用户想不到合适的命令描述,导致命令采集功能陷入了死循环,不断提示用户输入命令。因此,在本实施中,针对任意命令规范,若用户重新输入命令的次数达到预设次数,例如3次,则自动跳转到下一条命令规范的输入。从而提高命令采集效率。
[0053]
具体地,在一实际应用场景中,命令采集方法所集成的系统举例说明如下所示:
[0054]
系统服务端由如下单元构成:
[0055]
数据库单元:系统采用sql数据库进行存储,具备依据命令规范制定的字段,主要字段如上所示。
[0056]
规范读取单元:读取excel存储的设备命令采集规范。
[0057]
差异性性判别单元:依据用户输入的命令表述,在数据库中检索命令表述,返回是否存在。
[0058]
相似度计算单元:依据用户输入的命令表述,调用bert预训练语言模型,计算命令表述与命令名称的相似性,返回相似度。
[0059]
流畅度计算单元。依据用户输入的命令表述,调用bert预训练语言模型,计算该命令表述的流畅度。
[0060]
控制逻辑单元。调用规范读取单元,读取一条命令规范,并显示到客户端界面;接收用户填写的命令表述,判断是否存在差异,若不存在差异,将其存储到数据库中,并要求用户重新填写;有差异则调用相似度模块计算相似度,相似度不大于阈值,要求重新填写;相似度达到阈值的继续计算流畅度,流畅度低于阈值的存储至数据库,否则要求用户继续录入。每条命令的表述重新录入的次数不超过三次。继续上述循环直至该用户录入所有命令表述。
[0061]
系统客户端由如下界面构成:
[0062]
用户登陆界面:用户填写用户名和密码,登陆到系统。
[0063]
命令表述填写界面:展示每条命令的规范、填写命令表述的文本框。
[0064]
阈值填写界面:管理员用户可填写相似度阈值、流畅度阈值。
[0065]
通过上述步骤,本技术提供的技术方案,在采集用户命令时,首先将设备内部预置的命令规范逐一展示给用户,从而通过命令规范引导用户填写满足智能设备功能的命令描述,避免用户填写的命令描述是不属于当前命令词表的表述以及是当前智能设备不能实现的功能。之后,对用户填写的命令描述进行语义分析,当命令描述与当前命令规范规定的语义成功匹配时,将命令描述存入当前命令规范对应的命令数据集中。进一步避免用户输入的命令描述语义和命令规范规定的语义相差较大,从而避免用户发出命令时控制错误的功能。
[0066]
此外,当用户输入的命令描述已经存在于命令数据集中时,通知用户重新输入命令,且不存储当前命令,避免产生数据冗余。在将命令描述存储到命令数据集之前,还对命令描述进行语法分析,若命令描述不符合语法习惯,则不进行存储,避免因为用户个人的不
正确语法习惯产生不能够被使用的命令,进一步避免产生数据冗余。
[0067]
如图4所示,本实施例还提供了一种命令采集装置,应用于智能设备,智能设备内置多条命令规范,命令规范用于表征智能设备支持的功能,该装置包括:
[0068]
规范展示模块101,用于将当前命令规范展示给用户。详细内容参见上述方法实施例中步骤s101的相关描述,在此不再进行赘述。
[0069]
命令接收模块102,用于接收用户根据当前命令规范输入的命令描述。详细内容参见上述方法实施例中步骤s102的相关描述,在此不再进行赘述。
[0070]
语义筛选模块103,用于将命令描述与当前命令规范规定的语义进行比对,若命令描述与当前命令规范规定的语义匹配,则将命令描述存入当前命令规范对应的命令数据集中。详细内容参见上述方法实施例中步骤s103的相关描述,在此不再进行赘述。
[0071]
本发明实施例提供的命令采集装置,用于执行上述实施例提供的命令采集方法,其实现方式与原理相同,详细内容参见上述方法实施例的相关描述,不再赘述。
[0072]
通过上述各个组成部分的协同合作,本技术提供的技术方案,在采集用户命令时,首先将设备内部预置的命令规范逐一展示给用户,从而通过命令规范引导用户填写满足智能设备功能的命令描述,避免用户填写的命令描述是不属于当前命令词表的表述以及是当前智能设备不能实现的功能。之后,对用户填写的命令描述进行语义分析,当命令描述与当前命令规范规定的语义成功匹配时,将命令描述存入当前命令规范对应的命令数据集中。进一步避免用户输入的命令描述语义和命令规范规定的语义相差较大,从而避免用户发出命令时控制错误的功能。
[0073]
此外,当用户输入的命令描述已经存在于命令数据集中时,通知用户重新输入命令,且不存储当前命令,避免产生数据冗余。在将命令描述存储到命令数据集之前,还对命令描述进行语法分析,若命令描述不符合语法习惯,则不进行存储,避免因为用户个人的不正确语法习惯产生不能够被使用的命令,进一步避免产生数据冗余。
[0074]
图5示出了本发明实施例的一种智能设备,该设备包括处理器901和存储器902,可以通过总线或者其他方式连接,图5中以通过总线连接为例。
[0075]
处理器901可以为中央处理器(central processing unit,cpu)。处理器901还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0076]
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如上述方法实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
[0077]
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网
络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0078]
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。
[0079]
上述智能设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
[0080]
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;存储介质还可以包括上述种类的存储器的组合。
[0081]
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

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

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

相关文献