CN112800190A - 基于Bert模型的意图识别与槽值填充联合预测方法 - Google Patents
基于Bert模型的意图识别与槽值填充联合预测方法 Download PDFInfo
- Publication number
- CN112800190A CN112800190A CN202011249692.5A CN202011249692A CN112800190A CN 112800190 A CN112800190 A CN 112800190A CN 202011249692 A CN202011249692 A CN 202011249692A CN 112800190 A CN112800190 A CN 112800190A
- Authority
- CN
- China
- Prior art keywords
- value
- vector
- intention
- slot
- bert
- 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.)
- Granted
Links
Images
Classifications
-
- 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/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及智能问答技术领域,具体涉及一种基于Bert模型的意图识别与槽值填充联合预测方法,该方法包括:输入目标文本,得到目标文本的词向量、段向量和位置向量,将词向量、段向量和位置向量拼接作为Bert模型的输入向量,输入训练好的Bert模型中,训练好的Bert模型输出意图表示向量和槽值序列表示向量,将意图表示向量和槽值序列表示向量在Gate层通过权重计算,计算出联合作用因子,将联合作用因子作用于槽值序列表示向量,最终输出预测的意图分类和槽值序列。本发明在Bert层上使用Gate机制,充分利用意图识别和槽值填充的内在联系,降低任务错误预测率。
Description
技术领域
本发明涉及智能问答技术领域,具体涉及一种基于Bert模型的意图识别与槽值填充联合预测方法。
背景技术
随着人工智能技术的飞跃,人与机器的交互越来越频繁,人向机器传达指令的方式也从按键操作走向语音交互,机器可以通过多种模式的交互过程帮助人们完成特定任务。为了解决人机对话的交流问题,智能对话系统成为人工智能领域的核心技术之一,其中任务型对话系统是为完成特定任务而设计的,例如机票预定、餐厅预订等多种应用。任务型对话系统的实施过程主要包括五个部分:语音识别、自然语言理解、对话状态跟踪、对话策略以及自然语言生成,其中自然语言理解是对话系统的控制核心,自然语言理解包括意图识别和槽值填充两个任务,意图识别即根据文本信息识别出用户意图和目的,通常将意图识别看作是一个分类任务;槽值填充指的是为了让用户意图转化为用户明确的指令而补全信息的过程,槽值填充可以看作是序列标注任务,将用户给出的文本解析为预定义的语义槽,标注时采用Begin/Inside/Outside(BIO)标签标注分词结果。
传统的意图识别方法主要分为三大类,其一是基于规则模板的意图识别方法,其二是基于统计特征分类的意图识别方法,其三是基于深度学习的意图识别方法。基于规则模板的意图识别方法一般需要人为构建规则模板以及类别信息对用户意图文本进行分类。基于统计特征分类的意图识别方法需要对文本进行特征提取,然后通过训练分类器实现意图分类。经典的统计机器学习模型有支持向量机(Support Vector Machine,SVM)、朴素贝叶斯(Naive Bayes,NB), K近邻(K-Nearest Neighbor,KNN),Adaboost等。随着深度神经网络的发展,深度学习逐渐被应用到自然语言处理任务上,并且相比于传统方法表现出更高的效率和准确率。深度学习方法与传统方法相比能够自动提取特征,捕获句子内部更深层的语义,获取更好的分类效果。
传统的解决槽值填充的方法主要有四类,分别是基于字典的,基于规则的,基于统计的和基于深度学习的方法。基于字典的方法主要是通过字符串匹配查找词库;基于规则的方法主要是在基于语言学知识的基础上,由相关领域专家制定相应规则,通过人工构造模板来匹配、抽取槽信息。基于统计的方法则使用人工标注好的语料对模型进行训练。
上述方法中,意图识别和槽值填充任务通常是独立建模的,但由于意图识别和槽值填充存在内部语义联系,大量研究者开始对语义识别和槽值填充联合建模、同时优化。例如,Xu等人提出一种基于CNN-TriCRF的意图检测和槽值填充联合训练模型,所提出的模型可被看作TRiCRF的神经网络版本,句子特征通过CNN自动提取,并由意图模型共享,在槽值填充中使用TriCRF进行全局归一化,实验显示联合模型在意图识别和槽值填充的任务上均高于标准 TriCRF模型。Li等人提出一种具有门控机制的自注意力模型,为意图槽值联合训练模型提出了更优的语义框架。输入向量使用CNN自动获取局部特征,并在 CNN隐藏层添加自注意力机制,注意全局信息,使用BLSTM有效利用上下文时序信息,将意图信息作为门控机制提高槽值填充的性能。但现有基于深度学习的联合预测方法由于忽略了意图识别和槽值填充的内在关系或者只是简单拼接意图表示向量和槽值序列向量来表达两者之间的内在关系,导致槽值填充的准确率不高,影响了最终对话系统的质量。
发明内容
为了解决上述问题,本发明提供一种基于Bert模型的意图识别与槽值填充联合预测方法。
一种基于Bert模型的意图识别与槽值填充联合预测方法,包括以下步骤:输入目标文本,得到目标文本的词向量、段向量和位置向量,将词向量、段向量和位置向量拼接作为Bert模型的输入向量,输入到经过调参后的最佳Bert模型中,Bert层输出意图表示向量和槽值序列表示向量,将意图表示向量和槽值序列表示向量在Gate层通过权重计算,计算出联合作用因子,将联合作用因子作用于槽值序列表示向量,最终输出预测的意图分类和槽值序列。
其中,Bert模型先训练后使用,训练过程包括以下过程:
S1、获得训练集的词向量、段向量和位置向量,将词向量、段向量和位置向量拼接作为模型的输入向量,输入Bert层,Bert层输出分类意图表示向量和槽值表示向量;
S2、将Bert层的输出数据输入到Gate层,在Gate层,首先用权重矩阵W 统一意图表示向量和槽值表示向量的图形状;统一图形状之后,先用tanh激活函数分别处理意图表示向量和槽值表示向量,再利用不同的可训练向量分别对意图表示向量和槽值表示向量加权求和,得到联合作用因子t;
S3、将Gate层输出的混入联合作用因子的槽值表示向量输入到Softmax层,进行槽值序列预测;
S4、将Bert层输出的意图表示向量输入到Softmax层,进行意图分类预测。
意图分类预测:Softmax层直接使用Bert层输出的意图表示向量,计算每个类别的分类预测概率值,再进行归一化,将预测概率映射到(0,1)之间,计算表达式如下:
yI=softmax(WI·HI+bI)
其中,yI表示归一化后的意图类别预测,WI表示第一权重矩阵,HI表示 Bert层输出的意图表示向量,bI表示偏置值;
计算每个类别的分类概率值后,取最大概率对应的分类作为意图类别预测值;根据意图类别预测值和真实的意图分类数计算意图识别损失函数,通过意图识别损失函数训练第一权重矩阵WI,得到训练好的第一权重矩阵WI;
槽值序列预测:使用Softmax层归一化Gate层输出的槽值表示向量,取每个归一化后的最大概率值作为槽值预测值,计算整个目标文本的槽值损失之和,通过槽值损失函数训练第二权重矩阵WS,得到训练好的第二权重矩阵WS;
将每个epoch训练好的第一权重矩阵WI和训练好的第二权重矩阵WS存储起来,得到多组模型参数,每一组参数中包括一个训练好的第一权重矩阵WI和训练好的第二权重矩阵WS;
S5、验证集验证Bert模型效果,从多组模型参数中找到最优参数组:使用验证集,分别使用每个epoch已训练好的模型参数参与计算,计算验证集在每个模型参数组上的意图识别准确率和槽值填充的F1值,将意图识别准确率和槽值填充的F1值最高的一组模型参数作为最终模型参数,得到最佳Bert模型。
进一步的,通过意图识别损失函数训练第一权重矩阵WI,具体包括:通过在意图识别损失函数中对可训练参数进行求导,获得各可训练参数的梯度值 diff,求得所有可训练参数梯度值的平方和sum_diff,若sum_diff大于阈值,则计算第一缩放因子scale_factor=阈值/sum_diff,最后将所有第一缩放因子乘以各可训练参数梯度值,得到新的梯度值,使用Adam优化器将新的梯度值应用于变量,以更新优化可训练参数,直至意图识别损失函数达到最小时,可训练参数达到最合适的值,停止迭代过程,得到训练好的第一权重矩阵WI。
进一步的,意图识别损失函数的计算公式如下:
进一步的,通过槽值损失函数训练第二权重矩阵WS,具体包括:通过槽值损失函数对可训练参数求导,获得各可训练参数的梯度值diff,求得所有可训练参数梯度值的平方和sum_diff,若sum_diff大于阈值,则计算第二缩放因子 scale_factor=阈值/sum_diff,最后将所有第二缩放因子乘以各可训练参数梯度值,得到新的梯度值,每个epoch使用Adam优化器将新的梯度值应用于变量,以更新优化可训练参数,直至槽值损失函数达到最小时,停止迭代,得到训练好的第二权重矩阵WS。
进一步的,槽值损失函数公式如下:
其中表示序列中第j个槽值对应的第i个真实标签,是Softmax层输出的槽值序列预测值,表示序列中第j个槽值被预测为第i个真实标签的概率值, K表示真实的分类类别数,T表示序列的长度,JS表示整个句子的的槽值损失。
进一步的,统一图形状的计算表达式如下:
H′I=W·HI
进一步的,联合作用因子t的计算表达式如下所示:
其中,表示Bert层输出的槽值表示向量,H′I表示与槽值表示向量图形状相同的意图表示向量,t为同时考虑意图识别和槽值填充两个任务的联合作用因子,是综合了意图表示向量和槽值表示向量在槽值序列识别上的联合权重值。
进一步的,使用Softmax层归一化Gate层输出的槽值表示向量,归一化表达式如下:
本发明的有益效果:
(1)本发明使用Bert层预训练模型训练数据,联合建模意图识别和槽值填充两个任务,从而有效避免两个任务的叠加错误率。
(2)本发明在Bert上层使用Gate机制建模两个任务之间的内部联系,充分利用意图识别和槽值填充的内在联系,达到降低任务错误预测的效果。
(3)本发明在Bert模型上改进的Gate层为意图向量和槽值向量分别添加可训练权重,细化了意图识别任务在槽值填充任务中的权重比例,更准确的表达了意图识别和槽值填充对于槽值序列预测的影响程度大小,使槽值序列的预测准确度更高,进而提高整个对话系统质量。
附图说明
下面结合附图和具体实施方式对本发明做进一步详细的说明。
图1为本发明实施例的一种Gate-Bert模型结构示意图;
图2为本发明实施例的一种Gate-Bert模型的深度学习体系架构图;
图3为本发明实施例的一种Gate层示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的Bert模型单独使用Bert进行意图识别或槽值填充、直接使用微调的 Bert联合训练两个任务。本发明改进的Bert模型包括:Bert层、Gate层、Softmax 层,Bert层使用训练好的Bert模型联合训练两个任务;Gate层主要是进行权重计算,再根据权重计算联合因子,即计算意图向量对于槽值序列的影响程度大小,Gate层中包括两个可训练权重矩阵,分别表示意图向量和槽值序列向量的影响程度大小,相较于直接拼接意图向量和槽值序列向量作为Gate层,本发明考虑了意图向量和槽值序列向量在槽值序列识别上的联合权重值,更加准确的描述了意图向量和槽值序列向量的影响程度大小,从而更准确的表达两者之间的内在关系,提高槽值填充的准确度,提高整个对话系统的质量;Softmax层将预测概率映射到(0,1)之间,以便于取到最大概率对应的值作为最终预测值。
图1所示为本发明方法的整个流程的实施步骤,组合词向量、段向量和位置向量,将组合向量输入Bert层处理,再依次经过Gate层,最后输入Softmax 层进行意图识别和槽值填充的预测。本发明的一种基于Bert模型的意图识别与槽值填充联合预测方法可以提高整个对话系统质量。本实施例提供一种基于Bert 模型的意图识别与槽值填充联合预测方法,包括但不限于如下实施过程:输入目标文本,得到目标文本的词向量、段向量和位置向量,将词向量、段向量和位置向量拼接作为Bert模型的输入向量,输入训练好的Bert模型中,训练好的 Bert模型输出意图表示向量和槽值序列表示向量,将意图表示向量和槽值序列表示向量在Gate层通过权重计算,计算出联合作用因子,将联合作用因子作用于槽值序列表示向量,最终输出预测的意图分类和槽值序列。
其中,Bert模型需要先训练后使用,训练好的Bert模型可以直接输出准确率较高的意图分类和槽值序列,Bert模型的训练过程包括但不限以下实施方式:
数据集及模型的输入:
数据集使用的是来自Snips私人语音助理的数据集和来自航班预定系统的 Atis数据集。其中Snips数据集中训练集,测试集和验证集数据数量分别为13084, 700和700个句子,Atis数据集中训练集,测试集和验证集数据数量分别为4478, 500和893个句子。
模型的输入表示是词嵌入(Ew)、位置嵌入(Ep)和段嵌入(Es)的级联。使用WordPiece模型处理输入句子,句子前插入[CLS]标记作为分类token,句尾插入 [SEP]作为结尾token,生成词嵌入(Ew=(ECLS,Ew1.....,EwT,ESeq))。由于我们是针对单个句子的意图分类和槽值识别,因此每个句子的段嵌入为全0。位置嵌入是每个词在句子中的位置,因此,位置嵌入表示为每个词汇对应在序列中的位置的向量(Ep=(E0,E1.....,ET,ET+1))。级联后的输入向量表示为:
E=Es+Ep+Ew
图2所示为本发明方法的神经网络架构图,包含各层输入输出示意。如图2 所示,ECi表示段向量、词向量和位置向量的的拼接向量,H表示Bert层输出的表示向量,其中HI表示CLS输出的分类表示向量,表示每个槽值输出的表示向量。表示经过Gate层输出的序列表示向量,表示输出的槽值预测向量。
S1、训练集训练Bert模型参数。使用训练集,将词向量、段向量和位置向量拼接作为模型的输入向量,输入Bert层,Bert层输出对应位置的中间表示向量(分类意图表示向量和槽值表示向量)。
Bert的模型体系结构是基于原始Transformer的多层双向Transformer编码器。Bert模型能够提供强大的上下文相关的向量表示。经过预训练Bert模型输出表示如下:
S2、Gate层建模——表示意图识别和槽值序列的内在联系
基于意图识别和槽值填充存在的内部联系,建立一个门控机制(Gate)来表示意图识别和槽值填充的内部关联。由于Bert层输出的分类表示向量和槽值表示向量的图形状不同,无法直接进行拼接,因此,首先使用可训练矩阵W统一分类表示向量和槽值序列表示向量的图形状,使得分类表示向量和槽值表示向量的图形状相同,计算表达式如下:
H′I=W·HI
统一图形状之后,使用tanh激活函数分别处理意图表示向量H'I和槽值表示向量再对tanh激活后的意图表示向量和tanh激活后的槽值表示向量进行加权求和,得到联合作用因子t,又称作影响因子。加权求和时,使用可训练向量 V1表示意图识别的权重,使用可训练向量V2表示槽值填充的权重。联合作用因子t的计算表达式如下所示:
其中,表示Bert层输出的槽值表示向量,H'I表示与槽值表示向量图形状相同的意图表示向量,t为同时考虑意图识别和槽值填充两个任务的联合作用因子,是综合了意图表示向量和槽值表示向量在槽值序列识别上的联合权重值。
图3所示为Gate层的详细结构图,以示意Gate层建模意图识别和槽值填充内在联系细节。
S4、将Bert层输出的意图表示向量输入到Softmax层进行意图分类预测。
意图分类预测:Softmax层直接使用Bert层输出的意图表示向量,计算每个类别的分类预测概率值,再进行归一化,将预测概率映射到(0,1)之间,计算表达式如下:
yI=softmax(WI·HI+bI)
其中,yI表示归一化后的意图类别预测,WI表示第一权重矩阵,HI表示 Bert输出的意图分类表示向量,bI表示偏置值。
计算每个类别的分类概率值后,取最大概率值所对应的分类作为意图类别预测值;根据意图类别预测值和真实的意图分类数计算意图识别损失函数,使用交叉熵损失函数计算多分类的损失,计算公式如下:
根据意图识别损失函数对权重矩阵WI中的可训练参数求导,获得各可训练参数的梯度值diff_I,求得所有可训练参数梯度值的平方和intent_diff,若 intent_diff大于阈值clip_gradient_intent,则计算第一缩放因子scale_intent:
scale_intent=clip_gradient_intent/intent_diff
最后将所有第一缩放因子乘以各可训练参数梯度值,得到新的梯度值。反之梯度值保持不变。以此保证了在一次迭代更新中,所有可训练参数的梯度的平方和在设定范围以内。使用Adam优化器将新的梯度值应用于变量,以更新优化可训练参数,直至意图识别损失函数达到最小时,可训练参数达到最合适的值,停止迭代过程,得到训练好的权重矩阵WI。
使用Softmax层归一化Gate层输出的槽值表示向量,取归一化后的最大概率值作为槽值预测初值;根据槽值预测初值计算目标文本的整个句子中所有槽值序列预测的损失值之和,公式如下:
其中表示序列中第j个槽值对应的第i个真实标签,是Softmax层输出的槽值序列预测值,表示序列中第j个槽值被预测为第i个真实标签的概率值。 K表示真实的分类类别数。T表示序列的长度。JS表示整个句子的的槽值损失。
通过槽值损失函数对可训练参数求导,获得各可训练参数的梯度值diff_S,求得所有可训练参数梯度值的平方和slot_diff,若slot_diff大于阈值 clip_gradient_slot,则计算第二缩放因子scale_slot:
scale_slot=clip_gradient_slot/slot_diff
最后将所有第二缩放因子乘以各可训练参数梯度值,得到新的梯度值;若 slot_diff小于等于阈值clip_gradient_slot,则梯度值不改变。以此截取保证了在一次迭代更新中,所有可训练参数的梯度的平方和在设定范围以内。每个epoch 使用Adam优化器将新的梯度值应用于变量,以更新优化可训练参数,直至槽值损失函数达到最小时,停止迭代,得到训练好的权重矩阵WS,将将每个epoch 训练好的模型参数(即训练好的第一权重矩阵WI和训练好的第二权重矩阵WS) 存储起来。上述步骤中,不同epoch使用Adam优化器进行参数训练,得到多组模型参数,每一组参数中包括一个训练好的第一权重矩阵WI和训练好的第二权重矩阵WS。
S5、验证集验证Bert模型效果,从多组模型参数中找到最优参数组。使用验证集,分别使用每个epoch的已训练好的模型参数参与计算,计算对比验证集在每个模型参数组上意图识别准确率和槽值填充的F1值,将意图识别准确率和槽值填充的F1值最高的一组模型参数作为最终模型参数,得到最佳Bert模型。
在利用本发明的最佳Bert模型进行意图识别和槽值填充预测时,首先将测试集输入到最佳Bert模型中,最佳Bert模型中使用最终模型参数进行计算,得到各标签预测概率。
模型的评价指标:
对于模型的评价主要使用准确率和F1值,准确率用于评价意图识别任务, F1值用于评价槽值识别任务。
准确率表示为对测试数据预测正确的意图数量除以总的测试数据数量,表示如下:
其中,accuracy表示准确率,count(·)表示总数,totalData表示数据总数, yI==trueLabel表示真实标签与预测标签一致。
F1值是以每个类别为基础进行定义的,包括两大概念:精确率(precision) 和召回率(recall)。精确率是指预测结果属于某一类的个体,实际属于该类的比例。召回率是指被正确预测为某个类别的个体数量与数据集中该类别个体总量的比例。计算F1值首先要计算精确率和召回率,F1值计算为precision和recall的调和平均数。F1值基本计算公式如下:
其中,precition表示精确率,指预测结果属于某一类的个体,实际属于该类的比例。recall表示召回率,指被正确预测为某个类别的个体数量与数据集中该类别个体总量的比例。
上述公式为二分类F1值计算公式,由于,本发明的模型分类有多个类别,因此采用Macro Average F1方法计算F1Macro值。
当计算第i个slot类别时,将第i个slot类别置为True(T),将其他slot类别置为False(F),P表示阳性,N表示阴性,表示预测值是真实值也是 表示预测值是真实值不是 表示预测不是真实值是每个slot 类别精确率计算公式如下:
每个slot类别召回率计算公式如下:
F1值计算如下,M表示slot的类别数:
在训练模型时,当模型的训练结果达到上述评价指标时,得到训练好的模型。
当介绍本申请的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。
需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-0nly Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所述仅是本申请的具体实施方式,应当指出,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (9)
1.一种基于Bert模型的意图识别与槽值填充联合预测方法,其特征在于,包括以下步骤:输入目标文本,得到目标文本的词向量、段向量和位置向量,将词向量、段向量和位置向量拼接作为Bert模型的输入向量,输入最佳Bert模型中,Bert层输出意图表示向量和槽值序列表示向量,将意图表示向量和槽值序列表示向量在Gate层通过权重计算,计算出联合作用因子,将联合作用因子作用于槽值序列表示向量,最终输出预测的意图分类和槽值序列;
其中,Bert模型先训练后使用,训练过程包括以下过程:
S1、获得训练集的词向量、段向量和位置向量,将词向量、段向量和位置向量拼接作为模型的输入向量,输入Bert层,Bert层输出分类意图表示向量和槽值表示向量;
S2、将Bert层的输出数据输入到Gate层,在Gate层,首先用权重矩阵W统一意图表示向量和槽值表示向量的图形状;统一图形状之后,先用tanh激活函数分别处理意图表示向量和槽值表示向量,再利用不同的可训练向量分别对意图表示向量和槽值表示向量加权求和,得到联合作用因子t;
S3、将Gate层输出的混入联合作用因子的槽值表示向量输入到Softmax层,进行槽值序列预测;
S4、将Bert层输出的意图表示向量输入到Softmax层进行意图分类预测;
意图分类预测:Softmax层直接使用Bert层输出的意图表示向量,计算每个类别的分类预测概率值,再进行归一化,将预测概率映射到(0,1)之间,计算表达式如下:
yI=softmax(WI·HI+bI)
其中,yI表示归一化后的意图类别预测,WI表示第一权重矩阵,HI表示Bert输出的意图分类表示向量,bI表示偏置值;
计算每个类别的分类概率值后,取最大概率对应的分类作为意图类别预测值;根据意图类别预测值和真实的意图分类数计算意图识别损失函数,通过意图识别损失函数训练第一权重矩阵WI,得到训练好的第一权重矩阵WI;
槽值序列预测:使用Softmax层归一化Gate层输出的槽值表示向量,取每个归一化后的最大概率值作为槽值预测值,计算整个目标文本的槽值损失之和,通过槽值损失函数训练第二权重矩阵WS,得到训练好的第二权重矩阵WS;
将每个epoch训练好的第一权重矩阵WI和训练好的第二权重矩阵WS存储起来,得到多组模型参数,每一组参数中包括一个训练好的第一权重矩阵WI和训练好的第二权重矩阵WS;
S5、验证集验证Bert模型效果,从多组模型参数中找到最优参数组:使用验证集,分别使用每个epoch已训练好的模型参数参与计算,计算验证集在每个模型参数组上的意图识别准确率和槽值填充的F1值,将意图识别准确率和槽值填充的F1值最高的一组模型参数作为最终模型参数,得到最佳Bert模型。
2.根据其权利要求1所述的一种基于Bert模型的意图识别与槽值填充联合预测方法,其特征在于,通过意图识别损失函数训练第一权重矩阵WI,具体包括:通过在意图识别损失函数中对可训练参数进行求导,获得各可训练参数的梯度值diff,求得所有可训练参数梯度值的平方和sum_diff,若sum_diff大于阈值,则计算第一缩放因子scale_factor=阈值/sum_diff,最后将所有第一缩放因子乘以各可训练参数梯度值,得到新的梯度值,使用Adam优化器将新的梯度值应用于变量,以更新优化可训练参数,直至意图识别损失函数达到最小时,可训练参数达到最合适的值,停止迭代过程,得到训练好的第一权重矩阵WI。
4.根据其权利要求1所述的一种基于Bert模型的意图识别与槽值填充联合预测方法,其特征在于,通过槽值损失函数训练第二权重矩阵WS,具体包括:通过槽值损失函数对可训练参数求导,获得各可训练参数的梯度值diff,求得所有可训练参数梯度值的平方和sum_diff,若sum_diff大于阈值,则计算第二缩放因子scale_factor=阈值/sum_diff,最后将所有第二缩放因子乘以各可训练参数梯度值,得到新的梯度值,每个epoch使用Adam优化器将新的梯度值应用于变量,以更新优化可训练参数,直至槽值损失函数达到最小时,停止迭代,得到训练好的第二权重矩阵WS。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011249692.5A CN112800190B (zh) | 2020-11-11 | 2020-11-11 | 基于Bert模型的意图识别与槽值填充联合预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011249692.5A CN112800190B (zh) | 2020-11-11 | 2020-11-11 | 基于Bert模型的意图识别与槽值填充联合预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800190A true CN112800190A (zh) | 2021-05-14 |
CN112800190B CN112800190B (zh) | 2022-06-10 |
Family
ID=75806193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011249692.5A Active CN112800190B (zh) | 2020-11-11 | 2020-11-11 | 基于Bert模型的意图识别与槽值填充联合预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800190B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239151A (zh) * | 2021-05-18 | 2021-08-10 | 中国科学院自动化研究所 | 基于bart模型的口语理解数据增强方法、系统及设备 |
CN113704452A (zh) * | 2021-08-31 | 2021-11-26 | 平安银行股份有限公司 | 基于Bert模型的数据推荐方法、装置、设备及介质 |
CN114036306A (zh) * | 2022-01-07 | 2022-02-11 | 四川大学 | 模型训练方法、装置、计算机设备及计算机可读存储介质 |
CN114818644A (zh) * | 2022-06-27 | 2022-07-29 | 北京云迹科技股份有限公司 | 文本模板生成方法、装置、设备及存储介质 |
EP4109323A3 (en) * | 2021-09-16 | 2023-03-01 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method and apparatus for identifying instruction, and screen for voice interaction |
US20230161944A1 (en) * | 2021-11-24 | 2023-05-25 | Adobe Inc. | Multimodal input contextual font recommendations |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785833A (zh) * | 2019-01-02 | 2019-05-21 | 苏宁易购集团股份有限公司 | 用于智能设备的人机交互语音识别方法及系统 |
US20190266236A1 (en) * | 2019-05-14 | 2019-08-29 | Intel Corporation | Early exit for natural language processing models |
CN110321418A (zh) * | 2019-06-06 | 2019-10-11 | 华中师范大学 | 一种基于深度学习的领域、意图识别和槽填充方法 |
CN110532355A (zh) * | 2019-08-27 | 2019-12-03 | 华侨大学 | 一种基于多任务学习的意图与槽位联合识别方法 |
CN111104498A (zh) * | 2019-12-12 | 2020-05-05 | 华南理工大学 | 一种任务型对话系统中的语义理解方法 |
CN111177381A (zh) * | 2019-12-21 | 2020-05-19 | 深圳市傲立科技有限公司 | 基于语境向量反馈的槽填充和意图检测联合建模方法 |
CN111177341A (zh) * | 2019-12-11 | 2020-05-19 | 江苏艾佳家居用品有限公司 | 一种基于端到端的id+sf模型的用户对话需求提取方法及系统 |
CN111221961A (zh) * | 2019-10-31 | 2020-06-02 | 南京南邮信息产业技术研究院有限公司 | 一种基于s-lstm模型与槽值门的说话人意图识别系统及方法 |
CN111309915A (zh) * | 2020-03-03 | 2020-06-19 | 爱驰汽车有限公司 | 联合学习的自然语言训练方法、系统、设备及存储介质 |
CN111708873A (zh) * | 2020-06-15 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 智能问答方法、装置、计算机设备和存储介质 |
-
2020
- 2020-11-11 CN CN202011249692.5A patent/CN112800190B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785833A (zh) * | 2019-01-02 | 2019-05-21 | 苏宁易购集团股份有限公司 | 用于智能设备的人机交互语音识别方法及系统 |
US20190266236A1 (en) * | 2019-05-14 | 2019-08-29 | Intel Corporation | Early exit for natural language processing models |
CN110321418A (zh) * | 2019-06-06 | 2019-10-11 | 华中师范大学 | 一种基于深度学习的领域、意图识别和槽填充方法 |
CN110532355A (zh) * | 2019-08-27 | 2019-12-03 | 华侨大学 | 一种基于多任务学习的意图与槽位联合识别方法 |
CN111221961A (zh) * | 2019-10-31 | 2020-06-02 | 南京南邮信息产业技术研究院有限公司 | 一种基于s-lstm模型与槽值门的说话人意图识别系统及方法 |
CN111177341A (zh) * | 2019-12-11 | 2020-05-19 | 江苏艾佳家居用品有限公司 | 一种基于端到端的id+sf模型的用户对话需求提取方法及系统 |
CN111104498A (zh) * | 2019-12-12 | 2020-05-05 | 华南理工大学 | 一种任务型对话系统中的语义理解方法 |
CN111177381A (zh) * | 2019-12-21 | 2020-05-19 | 深圳市傲立科技有限公司 | 基于语境向量反馈的槽填充和意图检测联合建模方法 |
CN111309915A (zh) * | 2020-03-03 | 2020-06-19 | 爱驰汽车有限公司 | 联合学习的自然语言训练方法、系统、设备及存储介质 |
CN111708873A (zh) * | 2020-06-15 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 智能问答方法、装置、计算机设备和存储介质 |
Non-Patent Citations (4)
Title |
---|
FUJI REN: "Intention Detection Based on Siamese Neural Network With Triplet Loss", 《IEEE ACCESS》 * |
GOO C.W. 等: "Slot-gated modeling for joint slot filling and intent prediction", 《IN PROCEEDINGS OF THE 2018 CONFERENCE OF THE NORTH AMERICAN CHAPTER OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS:HUMAN LANGUAGE TECHNOLOGIES》 * |
王子岳 等: "基于S-LSTM模型利用‘槽值门’机制的说话人意图识别", 《南京信息工程大学学报(自然科学版)》 * |
赵笑天: "任务型对话关键技术及其应用研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239151A (zh) * | 2021-05-18 | 2021-08-10 | 中国科学院自动化研究所 | 基于bart模型的口语理解数据增强方法、系统及设备 |
CN113704452A (zh) * | 2021-08-31 | 2021-11-26 | 平安银行股份有限公司 | 基于Bert模型的数据推荐方法、装置、设备及介质 |
CN113704452B (zh) * | 2021-08-31 | 2023-08-25 | 平安银行股份有限公司 | 基于Bert模型的数据推荐方法、装置、设备及介质 |
EP4109323A3 (en) * | 2021-09-16 | 2023-03-01 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method and apparatus for identifying instruction, and screen for voice interaction |
US20230161944A1 (en) * | 2021-11-24 | 2023-05-25 | Adobe Inc. | Multimodal input contextual font recommendations |
US11775734B2 (en) * | 2021-11-24 | 2023-10-03 | Adobe Inc. | Multimodal input contextual font recommendations |
CN114036306A (zh) * | 2022-01-07 | 2022-02-11 | 四川大学 | 模型训练方法、装置、计算机设备及计算机可读存储介质 |
CN114036306B (zh) * | 2022-01-07 | 2022-03-29 | 四川大学 | 模型训练方法、装置、计算机设备及计算机可读存储介质 |
CN114818644A (zh) * | 2022-06-27 | 2022-07-29 | 北京云迹科技股份有限公司 | 文本模板生成方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112800190B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112800190B (zh) | 基于Bert模型的意图识别与槽值填充联合预测方法 | |
CN108733792B (zh) | 一种实体关系抽取方法 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
Xiang et al. | A convolutional neural network-based linguistic steganalysis for synonym substitution steganography | |
WO2023024412A1 (zh) | 基于深度学习模型的视觉问答方法及装置、介质、设备 | |
CN107590127B (zh) | 一种题库知识点自动标注方法及系统 | |
CN110083682A (zh) | 一种基于多轮注意力机制的机器阅读理解答案获取方法 | |
CN109992780B (zh) | 一种基于深度神经网络特定目标情感分类方法 | |
US20210375280A1 (en) | Systems and methods for response selection in multi-party conversations with dynamic topic tracking | |
Cai et al. | Intelligent question answering in restricted domains using deep learning and question pair matching | |
CN112883714B (zh) | 基于依赖图卷积和迁移学习的absc任务句法约束方法 | |
Ma et al. | An end-to-end dialogue state tracking system with machine reading comprehension and wide & deep classification | |
CN111414481A (zh) | 基于拼音和bert嵌入的中文语义匹配方法 | |
CN111897944A (zh) | 基于语义空间共享的知识图谱问答系统 | |
CN112232053A (zh) | 一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质 | |
CN114492441A (zh) | 基于机器阅读理解的BiLSTM-BiDAF命名实体识别方法 | |
CN112347269A (zh) | 基于BERT和Att-BiLSTM的论点对识别方法 | |
CN111914553A (zh) | 一种基于机器学习的金融信息负面主体判定的方法 | |
CN113869055A (zh) | 基于深度学习的电网项目特征属性识别方法 | |
CN112988970A (zh) | 一种服务于智能问答系统的文本匹配算法 | |
CN111368524A (zh) | 一种基于自注意力双向gru和svm的微博观点句识别方法 | |
Huang et al. | Enhancing Efficiency and Quality of Image Caption Generation with CARU | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 | |
CN114548117A (zh) | 一种基于bert语义增强的因果关系抽取方法 | |
Guo et al. | Ernie-bilstm based Chinese text sentiment classification method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |