一种基于复杂意图理解构建智能设备执行复杂任务的方法与流程

文档序号:31713518发布日期:2022-10-04 20:36阅读:76来源:国知局
一种基于复杂意图理解构建智能设备执行复杂任务的方法与流程

1.本技术实施例涉及智能家居技术领域,特别涉及一种基于复杂意图理解构建智能设备执行复杂任务的方法。


背景技术:

2.市面上对于复杂语句的多意图理解还没有完全商业化,现有的意图理解成熟的方案是单意图理解,如智能家居控制相关的指令,车载智能设备控制指令,都只能处理一条用户意图,如果用户一句话下达多个指令,则程序就无法完全执行。
3.也有一些机构在研究处理多种意图的技术,但很多是基于依存句法树来分析句子意图,采用依存句法分析对硬件设备要求是比较高的,并且训练依存句法树的模型也需要使用大量的可靠性比较高的语句数据源,这种深层次的句法分析在口语化的日常交流中,效果是比较差的,准确率很难达到商用标准。


技术实现要素:

4.本技术提供了一种基于复杂意图理解构建智能设备执行复杂任务的方法,以解决现有技术中智能设备执行复杂业务时无法解析复杂意图的问题。
5.本技术提供了一种基于复杂意图理解构建智能设备执行复杂任务的方法,所述方法包括:
6.获取命令语句;
7.对所述语句进行预定义分词,得到带标记的自定义分词;
8.对所述带标记的自定义分词进行词块组合,得到低颗粒度的词组;
9.对所述低颗粒度的词组语义裁剪,得到裁剪词组;
10.对所述裁剪词组进行语义角色标注,得到带标记的词组;
11.将所述带标记的词组按照软件工程定义的协议进行数据封装,填充至任务链,得到任务链片段;
12.根据所述任务链片段构建完整任务链;
13.执行所述完整任务链。
14.进一步地,所述预定义分词包括标注自定义词汇中的真实值。
15.进一步地,所述词块组合包括将所述带标记的自定义分词组合形成词组。
16.进一步地,所述语义裁剪包括消除所述语句中的停用词。
17.进一步地,所述语义裁剪还包括根据所述语句之间的关系,用明确的名称替代所述语句中的代词。
18.进一步地,所述语义角色标注包括标注每个角色对应的行为信息。
19.进一步地,所述构建完整任务链包括与用户交互获取真实世界的基础信息。
20.本技术提供的一种基于复杂意图理解构建智能设备执行复杂任务的方法,基于现有的自然语言处理技术方案,通过流程化的技术路线,构建出浅层多意图理解的模型,从而
降低设备性能要求,同时对于句子的准确意图能够清晰的描绘,从而让智能设备能够更加准确的处理用户意图。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为本技术一种基于复杂意图理解构建智能设备执行复杂任务的方法数据处理的示意图;
23.图2为本技术一种基于复杂意图理解构建智能设备执行复杂任务的方法构建完整任务链的示意图。
具体实施方式
24.为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.参见图1,图1为本技术一种基于复杂意图理解构建智能设备执行复杂任务的方法数据处理的示意图;
26.由图1可知,本技术提供了一种基于复杂意图理解构建智能设备执行复杂任务的方法,所述方法包括:
27.获取命令语句;
28.对所述语句进行预定义分词,得到带标记的自定义分词;
29.对所述带标记的自定义分词进行词块组合,得到低颗粒度的词组;
30.对所述低颗粒度的词组语义裁剪,得到裁剪词组;
31.对所述裁剪词组进行语义角色标注,得到带标记的词组;
32.将所述带标记的词组按照软件工程定义的协议进行数据封装,填充至任务链,得到任务链片段;
33.根据所述任务链片段构建完整任务链;
34.执行所述完整任务链。
35.进一步地,所述预定义分词包括标注自定义词汇中的真实值。在预定义分词步骤,可以自定义领域内的专属分词,从而高概率命中本领域内的分词,让智能设备更加准确理解意图。由于需要能够让设备理解语言文字的含义,所以自定义词汇中需要包含文字背后的真实值,如位置空间坐标,口语化的时间标注,以及物品名称,设备可执行的行为等信息。也要标记词在句子中的坐标位置信息,以便后续流程处理。通用分词的方法可以使用开源分词工具先将词汇进行拆分,拆分完成后,需要通过自定义词进行消除组合,这里记输入的句子为s,在使用分词工具划分的词为w=w1+w2+w3+...+wn。
36.句子与分词关系为s=w,分词颗粒度为s’,转换后变成了自定义分词属于分词后的一种组合形式,可表示为w’=w1+w2和w’=w1-w1’两种,所以自定义分词结合通用分词后会出现两种表示形式:和
37.算法确定下来后,还需要将分词中的信息提取出来,如位置实体中的真实三维坐标,时间值等,这些都属于预定义分词标注的特殊属性。
38.在一种实施例中,“你去一下前台”,“你待会找一下小明”,经过预定义分词组合后,得到如下结果,见表1:
39.表1
40.你(r)去(v)一下(d)前台(n){10,20,10} 你(r)待会(t){+10}找(v)一下(d)小明(n)
41.通过表1可以看出,经过自定义分词后,会标注出一个真实值,“前台”就会有该坐标的三维空间位置,“待会”会有一个预估的时间区间范围,有了这些预定义的真实属性,对后续理解复杂语句打下了基础。
42.进一步地,所述词块组合包括将所述带标记的自定义分词组合形成词组。该步骤主要是将句子分词处理后,能够将词进行组合形成词组,这样能更加贴近句子的表述意图,降低分词的颗粒度。组合主要对相同词性相邻关系进行组合,如“去找”实际上是两个动词,但最终要表示的意图则是“找”的行为,这种相似的情况就可以进行组合标记,当后续的词性发生变化,或者变成了停用词、标点符号等没有实际意义的词时,就可以结束该段标记,这里将可组合词汇量记为o,结合上一轮对预定义分词结果,就可以表示为:
[0043][0044]
这样就降低了分词颗粒度。
[0045]
进一步地,所述语义裁剪包括消除所述语句中的停用词。该步骤将会消除句子中“你、我、他”的指代词,同时还会将词块组合步骤中组合后的词进行停用词删减。依据上下文关系,替代句子中的指代关系,使指代能够更加准确的描述句子中的人物,而对于在句子中没有实际意义的停用词则删除,这样会使句子描述意图更加明确,且词汇颗粒度也会进一步降低,句子颗粒度的降低,会使算法复杂度同步降低。
[0046]
进一步地,所述语义角色标注包括标注每个角色对应的行为信息。该步骤依据前面的几个步骤,标记出句子中的人物角色、行为、时间、空间等信息,基于相邻词强相互关系的原则,来划分每个角色对应的行为信息。这里相邻词强相互关系,指的是与当前词相邻的词语,会影响当前词的含义,在这里能够对当前词wn产生意图影响的词主要集中在wn-1和wn+1上,其中wn-1会影响wn,而wn主要会对wn+1产生影响,至于句子中其他距离wn更远的词汇,则对wn的影响也会降低。基于该原则,将角色划分后,就可标注出句子中的每个角色对应的行为信息,和所需处理的事务信息,以及处理事务的时间信息等。
[0047]
在一种实施例中,如“你待会去前台找一下小明,让他给我倒杯水。”,可参考表2所示:
[0048]
表2
[0049][0050]
结合表2的信息,可以清晰的看到标记的角色,行为以及时空关系,句子中共出现了三个角色,分别为robot和小明、“我”,其中小明和“我”都是有face id的真实信息,这样以来,智能设备就可以根据句子的描述,映射到现实中的真实人物,同样的对于时间的描述,对于位置的描述都有真实的属性值。智能设备可以依据空间坐标,通过导航定位到达该目的地,通过闹钟或其他时间计算方法来定义时间片执行任务的时机。需要注意的是由于语言具备变化性,所以对于人的名称上可能会产生一个人有多种称谓的情况,所以在人物标记时,并非单独标记一个人名,还会对别名,昵称,职位等信息进行标记,排出最高的匹配概率。同样的,时间,地点的描述也是一样,位置相近的空间坐标,都需要有相似的匹配关系。
[0051]
基于上述句子分析流程,任务链填充时只需要关注角色对应的行为信息,标注出实施者角色,被实施者角色,受益人角色的各种行为信息,以及任务执行的时间、空间等信息,将标注出的信息,按照软件工程定义的协议进行数据封装,就可以在系统中传输并被解码执行了。在以上步骤中,在测试过程中由于句子长短不一致,运行android平台4g内存环境下,耗时区间在30ms~100ms以内,cpu使用率在3%~9%,相对于传统的依存句法分析,速度明显更快。
[0052]
进一步地,所述构建完整任务链包括与用户交互获取真实世界的基础信息。任务构建步骤,由于在任务链填充之前分析的句子含义都是基于用户话语分析出来的内容,而分析出来的角色“我”和“他”对应到现实世界的人,则需要有该对应角色的真实信息,如人脸信息特征,空间坐标等,这样智能设备通过人名就能准确知道现实中对应的角色,智能设备理解到的形象才会更加立体。另外用户描述的空间信息需要智能设备提前知道该位置在现实世界的空间坐标,这样智能设备才能依据用户描述的词汇找到现实世界的空间位置,而如果用户输入的问题在智能设备中没有预设真实世界的具体信息,此时需要构建完整任务链时填充真实世界的值信息。
[0053]
构建完整任务链时将依赖产品定义的行为信息,进行属性真实值的填充,可通过命令式填充,主动询问的方式填充以及设备自身探索式填充等方式构建真实值。命令式填充主要是通过预设的地址命令进行响应和标记,如“这个地方是客厅”等类似的命令来构建三维坐标。主动式询问的方式填充,依据原始的用户问题,将位置信息提取出来,询问位置相近的地理坐标来达到模糊位置的判断。自主探索式填充则依据用户原始的问题,如果任务并非实时执行,则可以在任务执行前,进行地点探索,从而找到未知的地理坐标。同理,任务填充步骤也会对人的各种信息进行标记,智能设备了解的越多,则对意图理解的能力就更加立体完善。
[0054]
在一种实施例中,用户描述动态构建任务真实值信息,通过交互将真实值扩充出来,如下表3:
[0055]
表3
[0056]
词词性意图真实值客厅nlocation{10,20,9}小明rnnamefaceid:1001倒水vfillwater [0057]
如图2所示,图2为本技术一种基于复杂意图理解构建智能设备执行复杂任务的方法构建完整任务链的示意图,任务构建步骤需要解决的问题主要集中在三个部分,即地点缺失、人脸缺失和行为缺失,针对这三种缺失真实值的情况,做交互逻辑扩充,实现不同的nlg与用户沟通,也可以依据知识库中的相似数据向用户确认信息。
[0058]
任务执行步骤,该步骤就是智能设备依据上述分析的任务信息,解码任务信息,按照任务中的时间节点逐个执行每一条任务,最终完成任务的过程,任务执行步骤涉及一定的决策逻辑,如任务能否完成,任务是否提前完成,任务执行的时间,任务执行的地点等等。在执行步骤设备已经对真实世界的时间、空间、人物信息都有个相对较为准确的认知,且知道处理任务的顺序逻辑及任务结束的标记,每执行一条任务,就会标记一条任务,防止任务重复执行,且任务在执行步骤,对于当下新增的任务是会被滞后的,这样做是为了防止同一时刻任务冲突,造成智能设备逻辑混乱。至此,整个多意图理解的处理流程才算完成,从最初用户简单的一句话,分析出用户的多个意图描述信息,真正能够做到让客户从简单中掌握复杂,叫出复杂的满足感,实现优质的用户体验。
[0059]
由于少了依存句法的语义处理步骤,本技术流程的执行对硬件要求更加低廉,不仅可以在云端执行,也可以放置到设备终端来处理,从而降低该功能对设备的性能影响,处理速度也会更加迅速。
[0060]
角色标注步骤则是依赖分词步骤提供的信息来划分角色,省略了传统角色标注中候选论元、论元剪除、论元识别和论元标注的过程,系统设计的链路越长,错误率也会越高,并且最终的效果未必就好。基于简单有效的标注方法,在智能设备应用场景中,角色往往是固定的,如“你”字的大概率属于智能设备的角色,“我”在场景中更偏向于当前的交互对象,“他”则需要在句子中出现人名来替换。角色的合理划分,对后续行为执行的对象就更加清晰明了,行为词一般是依据角色的就近原则进行划分,也就是行为词距离角色的偏移值越近,则角色对该行为的影响就会越大,基于该原则的建立,对算法复杂度的要求就会更低,一个行为词只会对就近的角色或者第一个角色产生影响,程序运行时对内存的消耗就可以降下来,该角色标注步骤时间复杂度为o(n),完全可以在设备终端高效率运行。
[0061]
由于采用自定义分词,所以在标注步骤就会对词义进行意图标签填充,待句子的角色标注完成时,每个角色的行为信息也就标注完成了,程序的业务就是依赖分词中的意图信息执行程序的行为逻辑,一句话会有多个意图标签,将这些标签按照角色的模块进行组合填充,就解决了多意图的理解处理流程。
[0062]
本方案可以应用在各种智能设备上,对于智能设备涉及到复杂的意图理解时,采用该方案,程序可以更加准确且可控地执行用户意图。另外对于开发人员也可以更加自由地标注意图信息。
[0063]
本技术提供的一种基于复杂意图理解构建智能设备执行复杂任务的方法,基于现有的自然语言处理技术方案,通过流程化的技术路线,构建出浅层多意图理解的模型,从而
降低设备性能要求,同时对于句子的准确意图能够清晰的描绘,从而让智能设备能够更加准确的处理用户意图。
[0064]
在以上的描述中阐述了很多具体细节以便于充分理解本发明。但是以上描述仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。本发明能够以很多不同于在此描述的其它方式来实施,因此本发明不受上面公开的具体实施的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1