CN115270810A - 一种基于句子相似度的意图识别装置和方法 - Google Patents
一种基于句子相似度的意图识别装置和方法 Download PDFInfo
- Publication number
- CN115270810A CN115270810A CN202210846943.0A CN202210846943A CN115270810A CN 115270810 A CN115270810 A CN 115270810A CN 202210846943 A CN202210846943 A CN 202210846943A CN 115270810 A CN115270810 A CN 115270810A
- Authority
- CN
- China
- Prior art keywords
- sentence
- intention
- similarity
- data set
- semantic representation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于句子相似度的意图识别方法,包括:构建带有意图的句子标准数据集,获得句子标准数据集的语义表征;获取待预测句子的语义表征,计算待预测句子与句子标准数据集中句子的语义表征余弦相似度,以句子标准数据集中余弦相似度最高的句子意图作为输出意图。同时,本发明还公开了一种基于句子相似度的意图识别装置,利用分类模型训练,取到全连接层前的部分作为编码器,输入句子获取句子的语义表征来计算句子间的相似度;采用的语料数据可以和后续使用模型时预测的语料数据完全不相关;解决了意图识别模型迭代周期长、准确率不高的问题,通过该意图识别方法可随时增加或删减意图,提高了便利性。
Description
技术领域
本发明涉及自然语言处理领域,尤其涉及句子相似度的获得方法,一种基于句子相似度的意图识别装置和方法。
背景技术
意图识别是自然语言处理(Natural Language Processing,NLP)中一项重要功能,可识别出用户意图,其本质上是一个分类问题。目前普遍的方法是采用深度学习,根据创建好的意图和收集到的相关语料,训练模型,来实现意图识别(分类),一个数据充分、训练良好的模型在分类任务上表现一般很好,但在迭代、维护的过程中,耗时较长,如要新增一个意图类别,需要前期收集、整理大量该意图语料数据,在后续加入模型重新训练或者增量学习,整个过程都需要大量的时间,同时,模型训练的好坏程度也会对预测的准确率有很大的影响。
发明内容
本发明针对意图识别模型迭代耗时周期长、准确率不够高的问题,提供一种基于句子相似度的意图识别方法,采用训练分类模型构建句子编码器,利用编码器获取其语义表征后计算句子间的余弦相似度来表示句子间的相似度,不直接由模型给出分类结果,而是通过句子相似度来判断意图的方法。
为实现上述目的,本发明提供如下技术方案:
一种基于句子相似度的意图识别方法,包括:
构建带有意图的句子标准数据集,获得句子标准数据集的语义表征;
获取待预测句子的语义表征,计算待预测句子与句子标准数据集中句子的语义表征余弦相似度,以句子标准数据集中余弦相似度最高的句子意图作为输出意图。
进一步的技术方案是:所述意图识别方法还包括训练编码器,以获得各意图句子的语义表征,具体为:
收集、整理同义句子数据组,作为训练语料;
对训练语料进行数据预处理;
构建模型,将预处理后的训练语料通过Embedd、mask、BiLSTM、L2处理后,输入全连接层按分类模型进行训练,获取除最后全连接层外的所有部分作为编码器。
进一步的技术方案是:所述对训练语料进行数据预处理的方法,包括:
将全角转为半角,字母转为小写;
统计各字符出现的频次,按频次大小排序构建字典,依据字典将句子转化为整数序列并统一长度。
进一步的技术方案是:对所述预处理后的训练语料进行处理时,具体包括:
在mask时,前向直接对0遮盖,后向传播时在遮盖前处理,将有意义的整数反转,填充0不变,保证双向传播训练时0都表示具体语义特征。
进一步的技术方案是:所述编码器使用am-softmax约束分类。
进一步的技术方案是:所述am-softmax约束分类的方法,具体为:
对softmax的余弦值减去一个正数m同时缩放s倍,得到am-softmax取交叉熵loss有:
其中,p′t表示am-softmax的值,n表示目标类别总数,t表示预测标签的期望类别,e为自然对数底数,cosθt表示预测值与真实标签的内积,即为预测值与真实标签的余弦相似度,m为任意一个正数,s为缩放倍数;
由公式一得到cosθ,通过cosθ对句子标准数据集进行聚类,a0,a1∈N0,b0∈N1,a0,b0分别为类别N0,N1的聚类中心,其中,|a1-a0|<0.5|a1-b0|。
进一步的技术方案是:所述m=30,s=0.35。
进一步的技术方案是:所述意图识别方法还包括:通过定时任务工具直接配置意图所属标准语句至编码器,对意图进行新增或更改;具体为:
1).定时查询数据库,判断更新时间的数据是否大于上次查询时间的数据;
2).如有,则判断更改标志,是新增还是删除;
3).如果为新增:计算句子的向量表示,按“意图、文本、序列表示、向量表示”的格式加入句子标准数据集中;如为删除:将句子标准数据集中的“意图”修改为无效意图。
另外,本发明提供如下技术方案:一种基于句子相似度的意图识别装置,包括:
构建单元,用于构建带有意图的句子标准数据集,
获取单元,获取句子标准数据集的语义表征,作为标准语义表征数据集;并获取待预测句子的语义表征;
对比单元,将待预测句子的语义表征和标准语义表征数据集进行对比,获得余弦相似度最高的句子意图作为输出意图。
与现有技术相比,本发明的有益效果是:
本发明在于句子相似度的判断,利用分类模型训练,但是不取最终全连接层的分类结果,而是取到全连接层前的部分作为编码器,输入句子获取句子的语义表征来计算句子间的相似度;在训练模型阶段,采用的语料数据可以和后续使用模型时预测的语料数据完全不相关;不采用常见的孪生模型计算语义表征,而是训练一个单独编码器,分别计算句子的语义表征,再通过其之间的余弦相似度作为其相似判断的依据;解决了意图识别模型迭代周期长、准确率不高的问题,通过该意图识别方法可随时增加或删减意图,提高了便利性。
附图说明
图1为本发明实施例中模型结构图;
图2为本发明实施例中基于句子相似度的意图识别方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在其中一个实施例中,一种基于句子相似度的意图识别方法,包括以下步骤:
构建带有意图的句子标准数据集,获得句子标准数据集的语义表征;
获取待预测句子的语义表征,计算待预测句子与句子标准数据集中句子的语义表征余弦相似度,以句子标准数据集中余弦相似度最高的句子意图作为输出意图。
在一个可能的实施例中,意图识别方法还包括训练编码器,以获得各意图句子的语义表征,具体为:
收集、整理同义句子数据组,作为训练语料;
对训练语料进行数据预处理;
构建模型,将预处理后的训练语料通过Embedd、mask、BiLSTM、L2处理后,输入全连接层按分类模型进行训练,获取除最后全连接层外的所有部分作为编码器。
进一步地,对训练语料进行数据预处理的方法,包括:
将全角转为半角,字母转为小写;
统计各字符出现的频次,按频次大小排序构建字典,依据字典将句子转化为整数序列并统一长度。
更进一步地,对预处理后的训练语料进行处理时,具体包括:
在mask时,前向直接对0遮盖,后向传播时在遮盖前处理,将有意义的整数反转,填充0不变,保证双向传播训练时0都表示具体语义特征。
在一个可能的实施例中,编码器使用am-softmax约束分类。
具体约束分类方法为:
对softmax的余弦值减去一个正数m同时缩放s倍,得到am-softmax取交叉熵loss有:
其中,p′t表示am-softmax的值,n表示目标类别总数,t表示预测标签的期望类别,e为自然对数底数,cosθt表示预测值与真实标签的内积,即为预测值与真实标签的余弦相似度,m为任意一个正数,s为缩放倍数;
由公式一得到cosθ,通过cosθ对句子标准数据集进行聚类,a0,a1∈N0,b0∈N1,a0,b0分别为类别N0,N1的聚类中心,其中,|a1-a0|<0.5|a1-b0|。
在一个具体的实施例中,包括:
1.训练语料准备
通过爬虫或者开源数据集,收集、整理同义句子数据组,作为训练语料;构建带有意图的句子标准数据集,并聚类,一组数据为3-6条,共组建约20000组同义句子数据组,格式包括:组号、语句。例如:
0为什么我的借呗用不了;
0为什么我的借呗不能接了;
0我的借呗为什么一直开通不了;
1不能用花呗;
1我的花呗用不了;
1花呗怎么用不了
…………等等
将全角转为半角,字母转为小写;对同义句子数据组统一处理后,再基于字统计语料中各字符出现频次,按出现频次大小排序构建字典,依据字典将句子转化为整数序列,并统一长度,不足补“0”,超出截断;例如最大长度为10,则:“我想看电影”的整数序列为[1 23 4 5 0 0 0 0 0]。
2.构建模型,训练编码器
构建如图1所示的模型结构,训练阶段有Embedd、mask、BiLSTM、L2和全连接层。将预处理后的训练语料通过Embedd、mask、BiLSTM、L2处理后,输入全连接层按分类模型进行训练,获取除最后全连接层外的所有部分作为编码器。其中,双向序列模型有前后向传播,在mask时,前向直接对0遮盖,后向传播时需要在遮盖前处理,将有意义的反转,填充0不变,例如“我想看电影”—[1 2 3 4 5 0 0 0 0 0],在后向传播遮盖时,应使其序列变为[5 4 32 1 0 0 0 0 0],而不是[0 0 0 0 0 5 4 3 2 1],保证双向传播训练时0都表示具体语义特征。
为使训练过程中类与类间距离更大,编码器使用am-softmax约束分类,让同一类别的句向量间的距离更近,提高后续对相似度计算的精度。原来对softmax取交叉熵loss有:
为使训练过程中类与类间距离更大,使用am-softmax约束分类,让同一类别的句向量间的距离更近,提高后续对相似度计算的精度。
其中,pt表示softmax的值,n表示目标类别总数,t表示预测标签的期望类别,因前面对其作了L2归一化处理,<ypred,ytrue>表示预测值与真实标签的内积:<ypred,ytrue>=ypredytrue=|ypred||ytrue|cosθt,ypred为预测值,ytrue为目标值,且|ypred||ytrue|=1,因此预测值与真实标签的内积也可以用cosθt表示:cosθt=ypredytrue=<ypred,ytrue);
为保证后续预测相似度的准确率,需要分类模型将一个类别尽可能集中,类与类之间的距离尽可能大。
需保证|a1-a0|<0.5|a1-b0|,a0,a1∈N0,b0∈N1,其中a0,b0分别为类别N0,N1的聚类中心,可依据人脸识别领域当中的am-softmax设计,对目标的余弦值减去一个正数m同时缩放s倍,以此加强分类约束,减小类内距离,增大类间距离,作为优选,m=30,s=0.35。
对am-softmax取交叉熵loss有:
其中,p′t表示am-softmax的值,n表示目标类别总数,t表示预测标签的期望类别,e为自然对数底数,cosθt表示预测值与真实标签的内积,即为余弦相似度,m为任意一个正数,s为缩放倍数。
通过对am-softmax交叉熵loss的约束,到达聚类更集中的目的,即相似语句的语义向量之间的距离更小,即可提高相似度判断的精确度。保存模型时,舍去最后一层全连接层,将模型作为编码器。
3.标准数据集构建
整理待识别意图的数据集,以及从线上用户数据中收集的部分无具体意图请求作为召回修正,构建为句子标准数据集,包括意图、词条等;
再将句子标准数据集输入上述步骤训练好的模型当中,得到各意图的标准数据语义表征库。同时使用定时任务工具,为服务添加增删标准数据的功能:
1).定时查询数据库,判断是否更新时间大于上次查询时间的数据;
2).如有,则判断更改标志,是新增还是删除;
3).新增:计算句子的向量表示,按“意图文本序列表示向量表示”的格式加入标准数据中,同时将向量表示添加到标注数据矩阵中;删除:将标准数据中的“意图”修改为无效意图。
这样,可实时增加意图以及所属标准数据,以及其数据的语义表征,便于对线上服务的实时维护同时缩短迭代周期。
4.预测相似度
计算通过模型后输出的句子的句向量之间的余弦相似度:
其中,表示待预测句子向量,表示句子标准数据集中的句子向量,表示待预测句子的模长,表示句子标准数据集中的句子模长。计算出输入请求的待预测句子与标准数据集中的所有标准数据的余弦相似度,排序,取得分最高的数据所在意图为最终结果,输出。
例如:输入文本“打开语音设置菜单”,可得到其向量表示(256维向量):
[-0.0552034 0.0439968 …… 0.03779338];
将10000条标准数据矩阵,即100000×256的矩阵,每一行代表一个标准数据与其相乘,得到10000维的相似度向量[0.2276204 0.15901154 …… 0.19017453],从中选取相似度的最高得分0.8195756673812866,输出其标签对应的标准数据的文本“把语音设置菜单开启”。
在一个可能的实施例中,还公开了一种基于句子相似度的意图识别装置,包括:
构建单元,用于构建带有意图的句子标准数据集,
获取单元,获取句子标准数据集的语义表征,作为标准语义表征数据集;并获取待预测句子的语义表征;
对比单元,将待预测句子的语义表征和标准语义表征数据集进行对比,获得余弦相似度最高的句子意图作为输出意图。
本发明在于句子相似度的判断,利用分类模型训练,但是不取最终全连接层的分类结果,而是取到全连接层前的部分作为编码器,输入句子获取句子的语义表征来计算句子间的相似度;在训练模型阶段,采用的语料数据可以和后续使用模型时预测的语料数据完全不相关;不采用常见的孪生模型计算语义表征,而是训练一个单独编码器,分别计算句子的语义表征,再通过其之间的余弦相似度作为其相似判断的依据;解决了意图识别模型迭代周期长、准确率不高的问题,通过该意图识别方法可随时增加或删减意图,提高了便利性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于句子相似度的意图识别方法,其特征在于,包括:
构建带有意图的句子标准数据集,获得句子标准数据集的语义表征;
获取待预测句子的语义表征,计算待预测句子与句子标准数据集中句子的语义表征余弦相似度,以句子标准数据集中余弦相似度最高的句子意图作为输出意图。
2.根据权利要求1所述一种基于句子相似度的意图识别方法,其特征在于,所述意图识别方法还包括训练编码器,以获得各意图句子的语义表征,具体为:
收集、整理同义句子数据组,作为训练语料;
对训练语料进行数据预处理;
构建模型,将预处理后的训练语料通过Embedd、mask、BiLSTM、L2处理后,输入全连接层按分类模型进行训练,获取除最后全连接层外的所有部分作为编码器。
3.根据权利要求2所述一种基于句子相似度的意图识别方法,其特征在于,所述对训练语料进行数据预处理的方法,包括:
将全角转为半角,字母转为小写;
统计各字符出现的频次,按频次大小排序构建字典,依据字典将句子转化为整数序列并统一长度。
4.根据权利要求2所述一种基于句子相似度的意图识别方法,其特征在于,对所述预处理后的训练语料进行处理时,具体包括:
在mask时,前向直接对0遮盖,后向传播时在遮盖前处理,将有意义的整数反转,填充0不变,保证双向传播训练时0都表示具体语义特征。
5.根据权利要求2所述一种基于句子相似度的意图识别方法,其特征在于,所述编码器使用am-softmax约束分类。
6.根据权利要求5所述一种基于句子相似度的意图识别方法,其特征在于,所述am-softmax约束分类的方法,具体为:
对softmax的余弦值减去一个正数m同时缩放s倍,得到am-softmax取交叉熵loss有:
其中,p′t表示am-softmax的值,n表示目标类别总数,t表示预测标签的期望类别,e为自然对数底数,cosθt表示预测值与真实标签的内积,即为预测值与真实标签的余弦相似度,m为任意一个正数,s为缩放倍数;
由公式一得到cosθ,通过cosθ对句子标准数据集进行聚类,a0,a1∈N0,b0∈N1,a0,b0分别为类别N0,N1的聚类中心,其中,|a1-a0|<0.5|a1-b0|。
7.根据权利要求6所述一种基于句子相似度的意图识别方法,其特征在于,所述m=30,s=0.35。
8.根据权利要求2所述一种基于句子相似度的意图识别方法,其特征在于,所述意图识别方法还包括:通过定时任务工具直接配置意图所属标准语句至编码器,对意图进行新增或更改;具体为:
1).定时查询数据库,判断更新时间的数据是否大于上次查询时间的数据;
2).如有,则判断更改标志,是新增还是删除;
3).如果为新增:计算句子的向量表示,按“意图、文本、序列表示、向量表示”的格式加入句子标准数据集中;如为删除:将句子标准数据集中的“意图”修改为无效意图。
9.一种基于句子相似度的意图识别装置,其特征在于,包括:
构建单元,用于构建带有意图的句子标准数据集,
获取单元,获取句子标准数据集的语义表征,作为标准语义表征数据集;并获取待预测句子的语义表征;
对比单元,将待预测句子的语义表征和标准语义表征数据集进行对比,获得余弦相似度最高的句子意图作为输出意图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210846943.0A CN115270810A (zh) | 2022-07-06 | 2022-07-06 | 一种基于句子相似度的意图识别装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210846943.0A CN115270810A (zh) | 2022-07-06 | 2022-07-06 | 一种基于句子相似度的意图识别装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115270810A true CN115270810A (zh) | 2022-11-01 |
Family
ID=83767464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210846943.0A Pending CN115270810A (zh) | 2022-07-06 | 2022-07-06 | 一种基于句子相似度的意图识别装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115270810A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272123A (zh) * | 2023-11-22 | 2023-12-22 | 中电科大数据研究院有限公司 | 一种基于大模型的敏感数据处理方法、装置及存储介质 |
-
2022
- 2022-07-06 CN CN202210846943.0A patent/CN115270810A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272123A (zh) * | 2023-11-22 | 2023-12-22 | 中电科大数据研究院有限公司 | 一种基于大模型的敏感数据处理方法、装置及存储介质 |
CN117272123B (zh) * | 2023-11-22 | 2024-02-27 | 中电科大数据研究院有限公司 | 一种基于大模型的敏感数据处理方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023065544A1 (zh) | 意图分类方法、装置、电子设备及计算机可读存储介质 | |
CN109359293B (zh) | 基于神经网络的蒙古文命名实体识别方法及其识别*** | |
CN109918666B (zh) | 一种基于神经网络的中文标点符号添加方法 | |
CN111241294B (zh) | 基于依赖解析和关键词的图卷积网络的关系抽取方法 | |
CN107798140B (zh) | 一种对话***构建方法、语义受控应答方法及装置 | |
CN110929030A (zh) | 一种文本摘要和情感分类联合训练方法 | |
CN109992775B (zh) | 一种基于高级语义的文本摘要生成方法 | |
CN111858932A (zh) | 基于Transformer的多重特征中英文情感分类方法及*** | |
CN102122298A (zh) | 一种中文相似性匹配方法 | |
CN105404621A (zh) | 一种用于盲人读取汉字的方法及*** | |
CN114880461A (zh) | 一种结合对比学习和预训练技术的中文新闻文本摘要方法 | |
CN111966797B (zh) | 利用引入了语义信息的词向量进行机器阅读理解的方法 | |
CN115617955B (zh) | 分级预测模型训练方法、标点符号恢复方法及装置 | |
CN112818698A (zh) | 一种基于双通道模型的细粒度的用户评论情感分析方法 | |
CN102214238A (zh) | 一种汉语词语相近性匹配装置及方法 | |
CN114153971A (zh) | 一种含错中文文本纠错识别分类设备 | |
CN115357719A (zh) | 基于改进bert模型的电力审计文本分类方法及装置 | |
CN115858750A (zh) | 基于自然语言处理的电网技术标准智能问答方法及*** | |
CN115270810A (zh) | 一种基于句子相似度的意图识别装置和方法 | |
CN116757195B (zh) | 一种基于提示学习的隐性情感识别方法 | |
CN115171870A (zh) | 一种基于m-BERT预训练模型的就诊引导提示方法及*** | |
CN116932736A (zh) | 一种基于用户需求结合倒排表的专利推荐方法 | |
WO2023130688A1 (zh) | 一种自然语言处理方法、装置、设备及可读存储介质 | |
WO2023123892A1 (zh) | 一种信息预测模块的构建方法、信息预测方法及相关设备 | |
CN114372138A (zh) | 一种基于最短依存路径和bert的电力领域关系抽取的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |