基于句法分析的意图识别模型的制作方法

文档序号:29125413发布日期:2022-03-04 23:47阅读:281来源:国知局
基于句法分析的意图识别模型的制作方法

1.本技术涉及句法分析技术领域,尤其是一种基于句法分析的意图识别模型。


背景技术:

2.意图识别是nlp(自然语言处理)领域经典任务之一,常用于对话系统,搜索引擎,智能物联网和机器人等应用场景下;对话系统在工业界最常用的实现形式是用户说话-》asr语音转文本-》nlu自然语言理解-》dm对话管理-》nlg自然语言生成回复-》用户下一轮说话的pipeline形式;其中asr语音转文本已有腾讯,科大讯飞,百度等成熟的sdk,可以将通用的汉语语言很好的转正文本形式;通过asr模块得到用户语言的文本形式后,下一步就是在nlu模块正确理解用户话的意思,也就是意图识别;在一个汽车领域的对话系统中,用户的意图除了搜车还可能有其他很多方面,比如

用车’,

贷款买车’,

汽车问答’等等;所以nlu意图识别模块的输入是文本形式的用户语言,输出是用户说的这句话的正确意图。
3.目前意图识别工业界常用的方法主要是模版规则配合机器学习/深度学习的方法;在最早的人工智能中,对话系统中的意图识别主要采取基于规则的方法,也就是模版匹配的方法;最早期的对话系统主要以专家系统的形式存在;即把所有某个领域的专家水平的知识和经验全部储存在一个动态数据库中,再用穷举的方法人工总结出用户和系统交互时所有可能说的话的文本形式,以模版规则的方式储存系统中;最后建立模版和知识的映射;而传统机器学习在到达一定精度后,精度不会再随着数据量的增加而提高。
4.工业界流行的意图识别方法缺点:
5.(a).需要人工参与较多,而且由于模版跟用户问题映射是一对一的关系所以系统几乎没有泛化性可言;
6.(b).基于正则表达式的规则模型解决了词表穷举法泛化性差和需要大量人工来创建模版的问题;正则表达式的缺点是当规则库变得复杂,模版数量多了以后很容易相互冲突,其中的任意匹配字符配合任意数量匹配字符

.?’很容易匹配上新增规则中的某个单元从而造成意图识别错误;正则表达式的一个问题是主体漂移;正则表达式的另一个问题是随着系统迭代,当规则库变得越来越复杂,由于正则表达式有容易冲突的特征,更改规则库中的某一条规则或者改变某一条规则的顺序就可能导致整个规则库无法正常运转;
7.(c)基于神经网络的意图识别模型也有它的问题;神经网络是黑箱系统,也就是我们无法知道为什么神经网络会得出任意一个结果,原因是我们没有可解释的数据特征;由于工业界落地对系统结果精度的要求,意图分类器的训练一般使用有监督的方法进行,这就带来了另一个问题:建立这样一个有监督模型需要大量人工标注的数据,会耗费非常多的人力。因此,针对上述问题提出一种基于句法分析的意图识别模型。


技术实现要素:

8.在本实施例中提供了一种基于句法分析的意图识别模型用于解决目前现有基于句法分析的意图识别模型中容易出现信息泄露的情况,同时一些信息识别错误,增加工作
者的理解误差,降低实用性,不能满足使用需求,影响使用的问题。
9.根据本技术的一个方面,提供了一种基于句法分析的意图识别模型,所述意图识别模型包括如下步骤:
10.1.建立模板库:通过现有用户提问数据及其标签来建立模板库;
11.2.对用户问题进行意图分类:对用户问题句子进行句法解析,并判断句式之后跟模板库中的句法模板进行匹配;
12.3.系统维护:建立好规则库并可以用于意图识别后就需要考虑系统后续维护优化的问题。
13.进一步地,所述步骤(1)中建立模板库,首先利用句法分析工具对某一特定意图下的所有用户提问数据进行句法解析。
14.进一步地,所述句法依赖结果要更加清晰,更有利于开发人员总结模板,对ddparser解析出的结果建立依赖图。
15.进一步地,所述依赖图建立好后,我们把句子成分之间的依赖关系转换成类似句法成分分析cfg语法生成规则;以便于开发人员更直观的构建规则库了。
16.进一步地,所述步骤(1)中建立模板库需要判断句式并建立模板;不同句式之间建立模板和后续匹配模板的方法区别很大,所以我们首先判断用户问题的句式然后在不同句式下建立规则库;根据用户历史数据和文献查阅最终确定七种句式;之后即可摘出句子主干(主谓宾)进行意图识别匹配,句子修饰成分(定状补)进行补充条件匹配。
17.进一步地,所述步骤(3)中意图识别错其中分为两种情况,第一种是现有的意图识别错误,另一种是系统添加了新意图;对于第一种情况首先定位意图识别错误的用户问题是匹配了哪个句式下的哪个模板,之后具体分析是模板建立错误还是句子的修饰部分(定状补语)没有补充完整,通常可以通过细化具体规则模板来解决。
18.进一步地,所述添加了新意图的情况只需在规则模板中添加新的由中心词和修饰词生成的规则即可。
19.进一步地,所述句法模板进行匹配采用的方法是把句法模板储存在一个前缀树数据结构中,这样可以大大减少匹配所需要的时间;当整个系统不停的迭代开发规则库越来越复杂时,正则表达式规则模型在匹配时,会花大量的时间,因为单条正则表达式匹配文本需要用回溯法遍历模板文本,系统开发后期单条正则表达式可能会变得非常复杂,当模板数量变得很多的时候匹配时间会成平方时间增长,严重影响增加系统响应时间;而改用句法分析模板匹配所需时间为用户问题文本长度时间线性相关,可以近似为一个常数。
20.通过本技术上述实施例,采用了意图识别规则模型,解决了由于模版跟用户问题映射是一对一的关系所以系统几乎没有泛化性可言的问题,规则库无限扩展:通过汉语学家总结出的汉语常用十种句式可以包含易车网对话系统中所有用户交互中句子的句式,通过句法解析出的句子中心词和修饰词来建立模板成立模板库,模板库可以无限扩充,模板之间不会产生冲突。
附图说明
21.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
22.图1为本发明的方法流程图。
具体实施方式
23.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
24.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。在此不再一一赘述,下面对本技术实施例的处理的方法进行介绍。
25.实施例一:
26.一种基于句法分析的意图识别模型,所述意图识别模型包括如下步骤:
27.(1.建立模板库:通过现有用户提问数据及其标签来建立模板库;
28.2.对用户问题进行意图分类:对用户问题句子进行句法解析,并判断句式之后跟模板库中的句法模板进行匹配;
29.3.系统维护:建立好规则库并可以用于意图识别后就需要考虑系统后续维护优化的问题。
30.进一步地,所述步骤(1)中建立模板库,首先利用句法分析工具对某一特定意图下的所有用户提问数据进行句法解析。
31.比如:取某一条数据”适合上下班开的车“作为例子,句法解析后的结果如下所示
32.'word':['适合','上下班','开','的','车'],
[0033]
'head':[5,3,1,1,0],
[0034]
'deprel':['att','adv','vob','mt','hed']
[0035]

word’字段代表对句子切词后的结果,’head’字段代表切词后每个词的句法依赖词的位置下标,

deprel’字段代表切词后每个词的句法依赖词的依赖关系。部分词依赖之间的关系解释如下表所示
[0036][0037]
进一步地,所述句法依赖结果要更加清晰,更有利于开发人员总结模板,对ddparser解析出的结果建立依赖图。
[0038]
进一步地,所述依赖图建立好后,我们把句子成分之间的依赖关系转换成类似句法成分分析cfg语法生成规则;以便于开发人员更直观的构建规则库了。
[0039]
结果如下所示:
[0040]
车(hed)《-适合(att)《-开(vob)《-上下班(adv)
[0041]
车(hed)《-适合(att)《-的(mt)
[0042]
进一步地,所述步骤(1)中建立模板库需要判断句式并建立模板;不同句式之间建立模板和后续匹配模板的方法区别很大,所以我们首先判断用户问题的句式然后在不同句式下建立规则库;根据用户历史数据和文献查阅最终确定七种句式;之后即可摘出句子主干(主谓宾)进行意图识别匹配,句子修饰成分(定状补)进行补充条件匹配。
[0043]
进一步地,所述步骤(3)中意图识别错其中分为两种情况,第一种是现有的意图识别错误,另一种是系统添加了新意图;对于第一种情况首先定位意图识别错误的用户问题是匹配了哪个句式下的哪个模板,之后具体分析是模板建立错误还是句子的修饰部分(定状补语)没有补充完整,通常可以通过细化具体规则模板来解决。
[0044]
进一步地,所述添加了新意图的情况只需在规则模板中添加新的由中心词和修饰词生成的规则即可。
[0045]
进一步地,所述句法模板进行匹配采用的方法是把句法模板储存在一个前缀树数据结构中,这样可以大大减少匹配所需要的时间;当整个系统不停的迭代开发规则库越来越复杂时,正则表达式规则模型在匹配时,会花大量的时间,因为单条正则表达式匹配文本需要用回溯法遍历模板文本,系统开发后期单条正则表达式可能会变得非常复杂,当模板数量变得很多的时候匹配时间会成平方时间增长,严重影响增加系统响应时间;而改用句法分析模板匹配所需时间为用户问题文本长度时间线性相关,可以近似为一个常数。
[0046]
上述方法规则库无限扩展:通过汉语学家总结出的汉语常用十种句式可以包含易车网对话系统中所有用户交互中句子的句式。通过句法解析出的句子中心词和修饰词来建立模板成立模板库,模板库可以无限扩充,模板之间不会产生冲突。
[0047]
实施例二:
[0048]
一种基于句法分析的意图识别模型,所述意图识别模型包括如下步骤:
[0049]
1.建立模板库:通过现有用户提问数据及其标签来建立模板库;
[0050]
2.对用户问题进行意图分类:对用户问题句子进行句法解析,并判断句式之后跟模板库中的句法模板进行匹配;
[0051]
3.系统维护:建立好规则库并可以用于意图识别后就需要考虑系统后续维护优化的问题。
[0052]
进一步地,所述步骤(1)中建立模板库,首先利用句法分析工具对某一特定意图下的所有用户提问数据进行句法解析。
[0053]
进一步地,所述句法依赖结果要更加清晰,更有利于开发人员总结模板,对ddparser解析出的结果建立依赖图。
[0054]
进一步地,所述依赖图建立好后,我们把句子成分之间的依赖关系转换成类似句法成分分析cfg语法生成规则;以便于开发人员更直观的构建规则库了。
[0055]
进一步地,所述步骤(1)中建立模板库需要判断句式并建立模板;不同句式之间建立模板和后续匹配模板的方法区别很大,所以我们首先判断用户问题的句式然后在不同句式下建立规则库;根据用户历史数据和文献查阅最终确定七种句式;之后即可摘出句子主干(主谓宾)进行意图识别匹配,句子修饰成分(定状补)进行补充条件匹配。
[0056]
进一步地,所述步骤(3)中意图识别错其中分为两种情况,第一种是现有的意图识别错误,另一种是系统添加了新意图;对于第一种情况首先定位意图识别错误的用户问题是匹配了哪个句式下的哪个模板,之后具体分析是模板建立错误还是句子的修饰部分(定状补语)没有补充完整,通常可以通过细化具体规则模板来解决。
[0057]
进一步地,所述添加了新意图的情况只需在规则模板中添加新的由中心词和修饰词生成的规则即可。
[0058]
进一步地,所述句法模板进行匹配采用的方法是把句法模板储存在一个前缀树数据结构中,这样可以大大减少匹配所需要的时间;当整个系统不停的迭代开发规则库越来越复杂时,正则表达式规则模型在匹配时,会花大量的时间,因为单条正则表达式匹配文本需要用回溯法遍历模板文本,系统开发后期单条正则表达式可能会变得非常复杂,当模板数量变得很多的时候匹配时间会成平方时间增长,严重影响增加系统响应时间;而改用句法分析模板匹配所需时间为用户问题文本长度时间线性相关,可以近似为一个常数。
[0059]
上述方法方便后续系统的迭代开发:用句法分析处理意图识别任务更符合自然语言习惯,用户问题匹配模板时直接匹配句子的中心成分(主谓宾)和修饰成分(定状补),对比正则表达式或深度学习方法更加可控,准确,更加方便迭代优化和更新。
[0060]
本技术的有益之处在于:
[0061]
1.规则库无限扩展:通过汉语学家总结出的汉语常用十种句式可以包含易车网对话系统中所有用户交互中句子的句式;通过句法解析出的句子中心词和修饰词来建立模板成立模板库,模板库可以无限扩充,模板之间不会产生冲突。
[0062]
2.方便后续系统的迭代开发:用句法分析处理意图识别任务更符合自然语言习惯,用户问题匹配模板时直接匹配句子的中心成分(主谓宾)和修饰成分(定状补),对比正则表达式或深度学习方法更加可控,准确,更加方便迭代优化和更新。
[0063]
3.多用途:用句法分析处理意图识别任务时建立的句法模板和工具包不仅仅可以
处理意图识别任务,还可以用于更多易车网nlp任务比如汽车口碑标签生成,数据与标注,还可以作为特征转换成句向量后再处理下游任务。
[0064]
涉及到的技术均为现有技术,本领域技术人员完全可以实现,无需赘言,本技术保护的内容也不涉及对于软件和方法的改进。
[0065]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1