CN111309915B - 联合学习的自然语言训练方法、系统、设备及存储介质 - Google Patents

联合学习的自然语言训练方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN111309915B
CN111309915B CN202010139364.3A CN202010139364A CN111309915B CN 111309915 B CN111309915 B CN 111309915B CN 202010139364 A CN202010139364 A CN 202010139364A CN 111309915 B CN111309915 B CN 111309915B
Authority
CN
China
Prior art keywords
slot
loss
intention
training
intent
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.)
Active
Application number
CN202010139364.3A
Other languages
English (en)
Other versions
CN111309915A (zh
Inventor
杨铁龙
张坤雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aiways Automobile Co Ltd
Original Assignee
Aiways Automobile Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aiways Automobile Co Ltd filed Critical Aiways Automobile Co Ltd
Priority to CN202010139364.3A priority Critical patent/CN111309915B/zh
Publication of CN111309915A publication Critical patent/CN111309915A/zh
Application granted granted Critical
Publication of CN111309915B publication Critical patent/CN111309915B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供了联合学习的自然语言训练方法、系统、设备及存储介质,该方法包括以下步骤:对训练数据进行预处理,每个训练数据预处理后包括与输入文本相互关联的预测槽位序列和预测意图标签;将每个训练数据的输入文本进行分词,经过预训练模型的嵌入层进行词嵌入后输出到编码器层;获得预测意图节点以及预测槽位节点的概率集合;根据意图节点的损失和槽位节点的损失以及准确性获得本次训练的预测意图节点的损失和槽位节点的损失;根据预测槽位序列中的槽位与中文分词的匹配关系获得损失系数,获得联合损失,来更新预训练模型中编码器层中的单元。本发明通过平衡意图和槽位中所占的权重,加快意图识别的收敛,提高了槽位识别准确率和训练速度。

Description

联合学习的自然语言训练方法、系统、设备及存储介质
技术领域
本发明涉及自然语言处理领域,具体地说,涉及联合学习的自然语言训练方法、系统、设备及存储介质。
背景技术
目前自然语言理解(NLU)中趋势是利用意图(intent)和填槽(slot)联合学习的方法提高识别准确率,而不是分别单独建模,意图和槽位信息本身是相互联系,联合学习有助于更准确的进行语言理解。
Bert(Bidirectional Encoder Representation from Transformers)是一种新的语言表示模型(language representation),不同于以往提出的语言表示模型,它在每一层的每个位置都能利用其左右两侧的信息用于学习,因此,它具有强大的表示能力,所以,BERT在预训练之后,只需要加一个简单的输出层,并在新结构上fine-tuned就能获得SOTA的结果。
Bert的出现大幅度提高了自然语言任务的准确率,在问答系统、情感分析、命名实体识别、文档聚类等任务中都表现优秀。在意图和填槽联合学习上已有利用Bert在进行尝试和验证,效果的确有所提升。
但是现有方法中还存在许多不足,主要表现为:
(1)在联合学习的过程中,槽位的损失(loss)计算通常远大于意图的损失(loss)计算,影响意图识别的收敛速度,从而整个训练速度变慢。
(2)Bert本身是基于单个英文单词进行训练的语言模型,而中文实体多为2个字或多个,因此会干扰槽位识别。
(3)进行联合学习时,槽位中相似的标注细分会干扰模型本身的意图识别,并且不利于多轮对话的下一轮决策,而全部统一标注又无法准确定位语义依赖关系。
(4)Bert模型中原有接口更偏向于批量推理,而在实际运用中,单个会话推理更为重要。
因此,本发明提供了一种联合学习的自然语言训练方法、系统、设备及存储介质。
发明内容
针对现有技术中的问题,本发明的目的在于提供联合学习的自然语言训练方法、系统、设备及存储介质,能够通过平衡意图和槽位中所占的权重,加快意图识别的收敛,提高了槽位识别准确率和训练速度。
本发明的实施例提供一种联合学习的自然语言训练方法,包括以下步骤:
S110、提供多个自然语言文本的训练数据,对所述训练数据进行预处理,每个训练数据具有输入文本节点、标注意图节点、标注槽位节点,每个所述训练数据预处理后包括与输入文本相互关联的预测槽位序列和预测意图标签;
S120、建立联合学习模型,将所述训练数据输入预训练模型进行训练,将每个所述训练数据的输入文本进行分词,经过所述预训练模型的嵌入层进行词嵌入后输出到编码器层;
S130、根据经所述编码器层处理后的输出获得多个预测意图节点的概率集合和多个预测槽位节点的概率集合;
S140、根据意图节点的损失和槽位节点的损失以及准确性获得本次训练的预测意图节点的损失lossintent和槽位节点的损失lossslot
S150、根据所述预测槽位序列中的槽位与中文分词的匹配关系获得损失系数q,当所述预测槽位序列中的槽位与中文分词的结果不同时,q增大;以及
S160、根据所述预测意图节点的损失lossintent和槽位节点的损失lossslot以及损失系数q获得联合损失loss,根据所述联合损失loss更新传播权重,来更新所述预训练模型中编码器层中的单元。
优选地,所述步骤S110中,对所述自然语言文本的训练数据进行预处理包括以下步骤:
对输入文本去除标点符号、大小写转换,只保留汉字、英文单词和分隔符,获得字符数组;
提取文本中实体信息和情感修饰词,并获得槽位列表;
针对输入文本和槽位序列标注对应的意图分类;以及
槽位对应的标识序列标注对应的意图分类标签。
优选地,所述字符数组的长度与所述槽位序列的长度相同。
优选地,对于同类别的、含义相同的槽位使用同一种意图分类标签进行标注;对于同类别的、含义不同的槽位使用不同种意图分类标签进行标注。
优选地,所述步骤S120中,建立联合学习模型中包括:
选择预训练模型;
将输入的所述输入文本、槽位序列和预测意图标签进行字符级分词,然后向量化;
将所述输入文本、槽位序列和预测意图标签基于嵌入层进行词嵌入、段嵌入和位置嵌入处理,获得嵌入后的向量输入双向编码器;
获取意图节点和槽位节点,经过双向编码器处理后会将所有的编码器层节点信息返回;
所述预测意图标签的概率集合为logitsintent
logitsintent=outputpooled*weightintent+biasintent (1)
所述槽位的概率集合为logitsslot
logitsslot=outputsequence*weightslot+biasslot (2)
其中,outputpooled为最后一个编码器中的池化层输出,outputsequence为最后一个编码器中的序列输出;weightintent和biasintent分别是意图节点的权重和偏移量,weightslot和biasslot分别是槽位节点的权重和偏移量。
优选地,所述步骤S140中,对预测意图标签labelsintent进行one_hot独热编码,对意图节点logitsintent进行log_softmax代价函数运算,之后乘积求和的负数除以每批训练数据量batch_size获得意图当前批的损失lossintent
Figure GDA0003711039340000031
优选地,所述步骤S140中,对槽位标签labelsslot进行one_hot独热编码,对槽位节点logitsslot进行log_softmax代价函数运算,之后乘积求和的负数除以每批训练数据量batch_size获得槽位当前批的损失lossslot
Figure GDA0003711039340000041
优选地,所述步骤S160中,当所述预测槽位序列中的槽位与中文分词的结果相同,则q=1;
当所述预测槽位序列中的槽位与中文分词的结果不同,则q=1.2。
优选地,所述步骤S160中,更新联合学习方向传播权重loss:
loss=α*lossintent+q*β*lossslot (9)
其中,α为1,β为
Figure GDA0003711039340000042
N等于槽位序列的长度。
本发明的实施例还提供一种联合学习的自然语言解析系统,包括:
预处理模块,提供多个自然语言文本的训练数据,对所述训练数据进行预处理,每个训练数据具有输入文本节点、标注意图节点、标注槽位节点,每个所述训练数据预处理后包括与输入文本相互关联的预测槽位序列和预测意图标签;
联合学习模块,建立联合学习模型,将所述训练数据输入预训练模型进行训练,将每个所述训练数据的输入文本进行分词,经过所述预训练模型的嵌入层进行词嵌入后输出到编码器层;
概率集合模块,根据经所述编码器层处理后的输出获得多个预测意图节点的概率集合和多个预测槽位节点的概率集合;
损失获得模块,根据意图节点的损失和槽位节点的损失以及准确性获得本次训练的预测意图节点的损失lossintent和槽位节点的损失lossslot
损失系数获得模块,根据所述预测槽位序列中的槽位与中文分词的匹配关系获得损失系数q,当所述预测槽位序列中的槽位与中文分词的结果不同时,q增大;以及
权重更新模块,根据所述预测意图节点的损失lossintent和槽位节点的损失lossslot以及损失系数q获得联合损失loss,根据所述联合损失loss更新传播权重,来更新所述预训练模型中编码器层中的单元。
本发明的实施例还提供一种联合学习的自然语言解析设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述联合学习的自然语言训练方法的步骤。
本发明的实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述联合学习的自然语言训练方法的步骤。
本发明的目的在于提供联合学习的自然语言训练方法、系统、设备及存储介质,能够通过平衡意图和槽位中所占的权重,加快意图识别的收敛,提高了槽位识别准确率和训练速度。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明的联合学习的自然语言训练方法的流程图。
图2是本发明的联合学习的自然语言解析系统的模块示意图。
图3是本发明的联合学习的自然语言解析设备的结构示意图。以及
图4是本发明一实施例的计算机可读存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
图1是本发明的联合学习的自然语言训练方法的流程图。如图1所示,本发明的实施例提供一种联合学习的自然语言训练方法,包括以下步骤:
S110、提供多个自然语言文本的训练数据,对所述训练数据进行预处理,每个训练数据具有输入文本节点、标注意图节点、标注槽位节点,每个所述训练数据预处理后包括与输入文本相互关联的预测槽位序列和预测意图标签。
S120、建立联合学习模型,将所述训练数据输入预训练模型进行训练,将每个所述训练数据的输入文本进行分词,经过所述预训练模型的嵌入层进行词嵌入后输出到编码器层。
S130、根据经所述编码器层处理后的输出获得多个预测意图节点的概率集合和多个预测槽位节点的概率集合。
S140、根据意图节点的损失和槽位节点的损失以及准确性获得本次训练的预测意图节点的损失lossintent和槽位节点的损失lossslot
S150、根据所述预测槽位序列中的槽位与中文分词的匹配关系获得损失系数q,当所述预测槽位序列中的槽位与中文分词的结果不同时,q增大。
S160、根据所述预测意图节点的损失lossintent和槽位节点的损失lossslot以及损失系数q获得联合损失loss,根据所述联合损失loss更新传播权重,来更新所述预训练模型中编码器层中的单元。
在一个优选方案中,所述步骤S110中,对所述自然语言文本的训练数据进行预处理包括以下步骤:
对输入文本去除标点符号、大小写转换,只保留汉字、英文单词和分隔符,获得字符数组;
提取文本中实体信息和情感修饰词,并获得槽位列表;
针对输入文本和槽位序列标注对应的意图分类;以及
槽位对应的标识序列标注对应的意图分类标签。
在一个优选方案中,所述字符数组的长度与所述槽位序列的长度相同。
在一个优选方案中,对于同类别的、含义相同的槽位使用同一种意图分类标签进行标注;对于同类别的、含义不同的槽位使用不同种意图分类标签进行标注。
在一个优选方案中,所述步骤S120中,建立联合学习模型中包括:
选择预训练模型;
将输入的所述输入文本、槽位序列和预测意图标签进行字符级分词,然后向量化;
将所述输入文本、槽位序列和预测意图标签基于嵌入层进行词嵌入、段嵌入和位置嵌入处理,获得嵌入后的向量输入双向编码器;
获取意图节点和槽位节点,经过双向编码器处理后会将所有的编码器层节点信息返回;
所述预测意图标签的概率集合为logitsintent
logitsintent=outputpooled*weightintent+biasintent (1)
所述槽位的概率集合为logitsslot
logitsslot=outputsequence*weightslot+biasslot (2)
其中,outputpooled为最后一个编码器中的池化层输出,outputsequence为最后一个编码器中的序列输出;weightintent和biasintent分别是意图节点的权重和偏移量,weightslot和biasslot分别是槽位节点的权重和偏移量。
在一个优选方案中,所述步骤S140中,对预测意图标签labelsintent进行one_hot独热编码,对意图节点logitsintent进行log_softmax代价函数运算,之后乘积求和的负数除以每批训练数据量batch_size获得意图当前批的损失lossintent
Figure GDA0003711039340000071
在一个优选方案中,所述步骤S140中,对槽位标签labelsslot进行one_hot独热编码,对槽位节点logitsslot进行log_softmax代价函数运算,之后乘积求和的负数除以每批训练数据量batch_size获得槽位当前批的损失lossslot
Figure GDA0003711039340000072
在一个优选方案中,所述步骤S160中,当所述预测槽位序列中的槽位与中文分词的结果相同,则q=1;
当所述预测槽位序列中的槽位与中文分词的结果不同,则q=1.2。
在一个优选方案中,所述步骤S160中,更新联合学习方向传播权重loss:
loss=α*lossintent+q*β*lossslot (9)
其中,α为1,β为
Figure GDA0003711039340000081
N等于槽位序列的长度。
本实施例的具体实施过程如下:
本发明提出了一种基于Bert的意图和填槽联合学习的方法,主要包括数据预处理、联合学习模型设计、模型训练、意图(intent)和填槽(slot)联合预测。
1、数据预处理。
每个训练数据节点包括了输入文本text、场景domain、意图intent、槽位列表slots、槽位对应的标注bio_list和最终的分类标签domain_intent。
Text 来一首周华健的花心
Domain Music
Intent PLAY
Slots singer:周华健song:花心
bio_list [‘O’,‘O’,‘O’,‘B-singer’,‘I-singer’,‘I-singer’,‘O’,‘B-song’,‘I-song’]
domain_intent music-PLAY
表1样本预处理后的单元
对输入文本text,去除标点符号,使得文本中只保留汉字、英文单词、分隔符。text重组为字符数组时长度与bio_list一致。最后获得标准化后的输入文本Text。
提取文本text中实体信息和情感修饰词,并且在与对话管理时模板设置一致,获得槽位列表slots。
针对输入文本text、槽位序列slots标注对应的意图分类label。
槽位对应的序列bio_list中,使用BIO标注,对于同类别、相似的槽位进行统一标注,针对同类别但是含义不同的槽位分开标注。例如,地点类似词如省、城市、区、街道等统一标注成地点(loc),而订票业务中,出发地与目的地带有不同的含义,则标注成出发地(start_loc)和目的地(end_loc),利用transformer模型具有上下文关联的能力在推理中进行区分。
2、联合学习模型设计
预训练模型选择。本发明的模型可以选用基于Bert的预训练模型,比如chinese_L-12_H-768_A-12。对于本发明中的输入文本text和槽位slot加上[CLS]标签以确认分类任务。
输入向量化处理。对于输入的文本Text、槽位序列slots和对应分类label先进行分词,然后向量化,bert中由于基于字符级,因此最终结果为字向量列表。
嵌入处理。输入文本text对应Bert中的text_a,槽位序列slots对应text_b,意图分类intent对应标签label输入,经过Bert的embedding层中,进行词嵌入、段嵌入和位置嵌入处理,获取嵌入后的向量输出到transformer模块。
获取意图(intent)和槽位(slot)节点。输入包括文本、对应的槽位序列和意图标签,经过transformer模块处理后会将所有的编码器(encoder)层节点信息返回。意图(intent)和槽位(slot)节点概率集合获取如下面公式(1)和(2)所示。
logitsintent=outputpooled*weightintent+biasintent (1)
logitsslot=outputsequence*weightslot+biasslot (2)
其中,outputpooled为最后一个编码器(encoder)中的pooled_output,outputsequence为最后一个编码器(encoder)中的sequence_output。weightintent和biasintent是意图(intent)节点的权重和偏移量,weightslot和biasslot是槽位(slot)节点的权重和偏移量。
联合学习正向传播loss计算。如公式(3)和(4)所示,logitsintent为意图(intent)节点概率集合,labelsintent为当前batch中数据实际对应的标签label集合,batcg_size为每批训练数据量。对于槽位(slot),则同理。
Figure GDA0003711039340000091
Figure GDA0003711039340000092
loss=α*lossintent+β*lossslot (5)
如公式(3)所示,对意图标签进行独热编码(one_hot),对意图节点进行log_softmax代价函数运算,之后乘积求和的负数除以数据批量大小获得意图当前批的损失大小(loss),公式(4)同理。
如公式(5)所示,考虑到槽位(slot)为一个序列,因此槽位(slot)的损失(loss)远大于意图(intent)的损失(loss),需要添加权重进行平衡,α为1,β为
Figure GDA0003711039340000101
(N为slot_list长度)为一个较优组合。引入中文分词纠错。计算损失(loss)时,对输入文本利用中文分词,检查分词结果是否与槽位识别进行匹配,如果不匹配,则降低本次训练的损失(loss)更新,更新权重为0.2。例如“明天从上海出发”中,“明天”作为日期槽位可以识别,“上海”作为出发地识别,同时也满足中文分词,但是如果识别错误时,例如将“明天从”错误的作为时间槽位,与分词系统冲突,则降低更新权重。
联合学习方向传播权重更新。
Figure GDA0003711039340000102
Figure GDA0003711039340000103
J(W,b;text,slot,label)=f(loss) (8)
loss=α*lossintent+q*β*lossslot (9)
如公式(6)(7)(8)所示,神经网络反向传播更新时需要借助于正向传播时获得的预测值和真实值的差距loss,而loss在公式(9)中是在公式(5)的基础之上添加q系数。lossintent用来反映意图预测的差距,lossslot用来反映槽位序列预测的差距,α和β用来平衡意图和槽位序列损失的量级,由于槽位序列中包含n个元素|oss计算,对应意图并不公平,可将α设为1和β设为
Figure GDA0003711039340000104
来平衡,q系数用来反映中文分词,当中文分词正确时,说明效果良好,可将q设为1,表示正常lossslot计算,如果中文分词错误,说明槽位序列识别有偏差,设置q为1.2来增加lossslot
3、模型训练
训练时,进行一些超参数的设置,比如句子最大长度截取设为128,批大小为32,学习率为5e-5,对模型训练设置提前终止可以更好的拟合。
4、意图(intent)和槽位(slot)联合预测
与训练相同,共用同一个模型图,获取最后一个编码器(encoder)的pooled_output和sequence_output,最后通过计算获得logitsintent和logitsslot
预测时输出意图(intent)和槽位(slot)节点信息序列,将原本批量预测的输入变为单个输入,减少参数维度,提高推理速度,并计算出(intent)和槽位(slot)节点中得分最高的意图项和其对应的槽位标注。如公式(6)和(7)所示:
predictionintent=argmax(logitsintent) (6)
predictionslot=argmax(softmax(logitsslot)) (7)
其中如公式(6)所示,argmax函数获取intent节点中得分最高的节点位置。而公式(7)中,需要对所有的槽位序列利用softmax进行概率计算,然后返回利用argmax获得得分最高的节点的位置。
由于基于Bert的意图和槽位联合学习存在不足,包括Bert本身基于单个字进行训练,中文槽位识别存在误差;联合学习中相似标注存在相互干扰;Bert联合学习的推理中为批量接口,没有单个对会话接口。
针对现有基于Bert的技术方法存在的不足,本文提出一种新的基于Bert的意图和填槽联合学习的方法,在意图和填槽联合学习中损失(loss)的计算、槽位标注和单个会话推理等方面进行了改进。本发明所提出的基于Bert的意图和填槽联合学习的方法创新性主要包括:
在意图和填槽联合学习中损失(loss)的计算上使用超参,设计意图和槽位各自的损失(loss)权重,槽位识别时按照槽位序列的个数进行平衡。提高意图识别的收敛速度,减小意图和填槽损失计算的差异性并因此提高了整个流程的训练速度。
引入中文分词验证,当中文分词与槽位识别不吻合时,降低本轮损失(loss)计算权重。提高了训练速度和降低了槽位识别不准带来了干扰,提高准确率。
槽位标注中,使用BIO标注,对于同类别、相似的槽位进行统一标注,针对同类别但是含义不同的槽位分开标注,利用Bert可以学习上下文关系的能力进行区分。这样可以提高同类别的槽位匹配率,另外有助于在多轮对话中减少同类别模板,提高识别率。
在Bert推理的图中,插入意图(intent)和槽位(slot)节点,通过计算意图(intent)和槽位(slot)节点信息来获取预测的标签和置信度。推理时就降低维度,改成单个推理,节省了推理时间。
本发明所提出的基于Bert的意图和填槽联合学习方法是在Bert分类基础之上,针对Bert中联合学习所存在的不足,提出优化方法,提高训练速度和识别准确率。
本发明提出了一种基于Bert的意图和填槽联合学习的方法,包括数据预处理、联合学习模型设计、模型训练、意图(intent)和槽位(slot)联合预测。具有的优势主要有:
联合学习中,通过平衡意图(intent)和槽位(slot)中所占的权重,加快了意图识别的收敛,提高了训练的速度。
通过中文分词对槽位识别再检验,增加了纠错能力,提高了槽位识别准确率。
使用BIO进行槽位标注,并同时对相似词统一标注,对存在依赖关系的词分开标注,提高了槽位的识别准确率。
在模型绘图中引入意图(intent)和槽位(slot)节点,在加载模型并进行保存的同时,保证单个对话中可以进行意图(intent)和槽位(slot)联合预测,降低参数维度,节省了多轮对话中的预测时间。
图2是本发明的联合学习的自然语言解析系统的模块示意图。如图2所示,本发明的联合学习的自然语言解析系统5,包括:
预处理模块51,提供多个自然语言文本的训练数据,对所述训练数据进行预处理,每个训练数据具有输入文本节点、标注意图节点、标注槽位节点,每个所述训练数据预处理后包括与输入文本相互关联的预测槽位序列和预测意图标签。
联合学习模块52,建立联合学习模型,将所述训练数据输入预训练模型进行训练,将每个所述训练数据的输入文本进行分词,经过所述预训练模型的嵌入层进行词嵌入后输出到编码器层。
概率集合模块53,根据经所述编码器层处理后的输出获得多个预测意图节点的概率集合和多个预测槽位节点的概率集合。
损失获得模块54,根据意图节点的损失和槽位节点的损失以及准确性获得本次训练的预测意图节点的损失lossintent和槽位节点的损失lossslot
损失系数获得模块55,根据所述预测槽位序列中的槽位与中文分词的匹配关系获得损失系数q,当所述预测槽位序列中的槽位与中文分词的结果不同时,q增大。
权重更新模块56,根据所述预测意图节点的损失lossintent和槽位节点的损失lossslot以及损失系数q获得联合损失loss,根据所述联合损失loss更新传播权重,来更新所述预训练模型中编码器层中的单元。
本发明的联合学习的自然语言训练系统能够通过平衡意图和槽位中所占的权重,加快意图识别的收敛,提高了槽位识别准确率和训练速度。
本发明实施例还提供一种联合学习的自然语言解析设备,包括处理器。存储器,其中存储有处理器的可执行指令。其中,处理器配置为经由执行可执行指令来执行的联合学习的自然语言训练方法的步骤。
如上所示,该实施例能够通过平衡意图和槽位中所占的权重,加快意图识别的收敛,提高了槽位识别准确率和训练速度。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
图3是本发明的联合学习的自然语言解析设备的结构示意图。下面参照图3来描述根据本发明的这种实施方式的电子设备600。图3显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元610可以执行如图1中所示的步骤。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,程序被执行时实现的联合学习的自然语言训练方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
如上所示,该实施例能够通过平衡意图和槽位中所占的权重,加快意图识别的收敛,提高了槽位识别准确率和训练速度。
图4是本发明的计算机可读存储介质的结构示意图。参考图4所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上,本发明的目的在于提供联合学习的自然语言训练方法、系统、设备及存储介质,能够通过平衡意图和槽位中所占的权重,加快意图识别的收敛,提高了槽位识别准确率和训练速度。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (9)

1.一种联合学习的自然语言训练方法,其特征在于,包括以下步骤:
S110、提供多个自然语言文本的训练数据,对所述训练数据进行预处理,每个训练数据具有输入文本节点、标注意图节点、标注槽位节点,每个所述训练数据预处理后包括与输入文本相互关联的预测槽位序列和预测意图标签;
S120、建立联合学习模型,将所述训练数据输入预训练模型进行训练,将每个所述训练数据的输入文本进行分词,经过所述预训练模型的嵌入层进行词嵌入后输出到编码器层;
S130、根据经所述编码器层处理后的输出获得多个预测意图节点的概率集合和多个预测槽位节点的概率集合;
S140、根据意图节点的损失和槽位节点的损失以及准确性获得本次训练的预测意图节点的损失lossintent和槽位节点的损失lossslot
S150、根据所述预测槽位序列中的槽位与中文分词的匹配关系获得损失系数q,当所述预测槽位序列中的槽位与中文分词的结果不同时,q增大;以及
S160、根据所述预测意图节点的损失lossintent和槽位节点的损失lossslot以及损失系数q获得联合损失loss,根据所述联合损失loss更新传播权重,来更新所述预训练模型中编码器层中的单元;
其中,所述步骤S130中,建立联合学习模型中包括:
选择预训练模型;
将输入的所述输入文本、槽位序列和预测意图标签进行字符级分词,然后向量化;
将所述输入文本、槽位序列和预测意图标签基于嵌入层进行词嵌入、段嵌入和位置嵌入处理,获得嵌入后的向量输入双向编码器;
获取意图节点和槽位节点,经过双向编码器处理后会将所有的编码器层节点信息返回;
所述预测意图标签的概率集合为logitsintent:
logitsintent=outputpooled*weightintent+biasintent (1)
所述槽位的概率集合为logitsslot
logitsslot=outputsequence*weightslot+biasslot (2)
其中,outputpooled为最后一个编码器中的池化层输出,outputsequence为最后一个编码器中的序列输出;weightintent和biasintent分别是意图节点的权重和偏移量,weightslot和biasslot分别是槽位节点的权重和偏移量;
其中,所述步骤S140中,对预测意图标签labelsintent进行one_hot独热编码,对意图节点logitsintent进行log_softmax代价函数运算,之后乘积求和的负数除以每批训练数据量batch_size获得意图当前批的损失lossintent
Figure FDA0003711039330000021
其中,所述步骤S140中,对槽位标签labelsslot进行one_hot独热编码,对槽位节点logitsslot进行log_softmax代价函数运算,之后乘积求和的负数除以每批训练数据量batch_size获得槽位当前批的损失lossslot
Figure FDA0003711039330000022
2.根据权利要求1所述的联合学习的自然语言训练方法,其特征在于:所述步骤S110中,对所述自然语言文本的训练数据进行预处理包括以下步骤:
对输入文本去除标点符号、大小写转换,只保留汉字、英文单词和分隔符,获得字符数组;
提取文本中实体信息和情感修饰词,并获得槽位列表;
针对输入文本和槽位序列标注对应的意图分类;以及
槽位对应的标识序列标注对应的意图分类标签。
3.根据权利要求2所述的联合学习的自然语言训练方法,其特征在于:所述字符数组的长度与所述槽位序列的长度相同。
4.根据权利要求2所述的联合学习的自然语言训练方法,其特征在于:对于同类别的、含义相同的槽位使用同一种意图分类标签进行标注;对于同类别的、含义不同的槽位使用不同种意图分类标签进行标注。
5.根据权利要求1所述的联合学习的自然语言训练方法,其特征在于,所述步骤S160中,当所述预测槽位序列中的槽位与中文分词的结果相同,则q=1;
当所述预测槽位序列中的槽位与中文分词的结果不同,则q=1.2。
6.根据权利要求1所述的联合学习的自然语言训练方法,其特征在于,所述步骤S160中,更新联合学习方向传播权重loss:
loss=α*lossintent+q*β*lossslot (9)
其中,α为1,β为
Figure FDA0003711039330000031
N等于槽位序列的长度。
7.一种联合学习的自然语言训练系统,用于实现权利要求1至6中任意一项所述联合学习的自然语言训练方法,其特征在于,包括:
预处理模块,提供多个自然语言文本的训练数据,对所述训练数据进行预处理,每个训练数据具有输入文本节点、标注意图节点、标注槽位节点,每个所述训练数据预处理后包括与输入文本相互关联的预测槽位序列和预测意图标签;
联合学习模块,建立联合学习模型,将所述训练数据输入预训练模型进行训练,将每个所述训练数据的输入文本进行分词,经过所述预训练模型的嵌入层进行词嵌入后输出到编码器层;
概率集合模块,根据经所述编码器层处理后的输出获得多个预测意图节点的概率集合和多个预测槽位节点的概率集合;
损失获得模块,根据意图节点的损失和槽位节点的损失以及准确性获得本次训练的预测意图节点的损失lossintent和槽位节点的损失lossslot
损失系数获得模块,根据所述预测槽位序列中的槽位与中文分词的匹配关系获得损失系数q,当所述预测槽位序列中的槽位与中文分词的结果不同时,q增大;以及
权重更新模块,根据所述预测意图节点的损失lossintent和槽位节点的损失lossslot以及损失系数q获得联合损失loss,根据所述联合损失loss更新传播权重,来更新所述预训练模型中编码器层中的单元;
其中,所述联合学习模块,还用于:
选择预训练模型;
将输入的所述输入文本、槽位序列和预测意图标签进行字符级分词,然后向量化;
将所述输入文本、槽位序列和预测意图标签基于嵌入层进行词嵌入、段嵌入和位置嵌入处理,获得嵌入后的向量输入双向编码器;
获取意图节点和槽位节点,经过双向编码器处理后会将所有的编码器层节点信息返回;
所述预测意图标签的概率集合为logitsintent
logitsintent=outputpooled*weightintent+biasintent (1)
所述槽位的概率集合为logitsslot
logitsslot=outputsequence*weightslot+biasslot (2)
其中,outputpooled为最后一个编码器中的池化层输出,outputsequence为最后一个编码器中的序列输出;weightintent和biasintent分别是意图节点的权重和偏移量,weightslot和biasslot分别是槽位节点的权重和偏移量;
其中,所述损失获得模块,还用于:
对预测意图标签labelsintent进行one_hot独热编码,对意图节点logitsintent进行log-softmax代价函数运算,之后乘积求和的负数除以每批训练数据量batch_size获得意图当前批的损失lossintent
Figure FDA0003711039330000041
其中,所述损失获得模块,还用于:
对槽位标签labelsslot进行one_hot独热编码,对槽位节点logitsslot进行log_softmax代价函数运算,之后乘积求和的负数除以每批训练数据量batch_size获得槽位当前批的损失lossslot
Figure FDA0003711039330000042
8.一种联合学习的自然语言训练设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至6中任意一项所述联合学习的自然语言训练方法的步骤。
9.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1至6中任意一项所述联合学习的自然语言训练方法的步骤。
CN202010139364.3A 2020-03-03 2020-03-03 联合学习的自然语言训练方法、系统、设备及存储介质 Active CN111309915B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010139364.3A CN111309915B (zh) 2020-03-03 2020-03-03 联合学习的自然语言训练方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010139364.3A CN111309915B (zh) 2020-03-03 2020-03-03 联合学习的自然语言训练方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111309915A CN111309915A (zh) 2020-06-19
CN111309915B true CN111309915B (zh) 2022-09-13

Family

ID=71145517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010139364.3A Active CN111309915B (zh) 2020-03-03 2020-03-03 联合学习的自然语言训练方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111309915B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737417B (zh) * 2020-07-03 2020-11-17 支付宝(杭州)信息技术有限公司 修正自然语言生成结果的方法和装置
CN113971399A (zh) * 2020-07-23 2022-01-25 北京金山数字娱乐科技有限公司 识别模型的训练方法及装置、文本识别方法及装置
CN112241631A (zh) * 2020-10-23 2021-01-19 平安科技(深圳)有限公司 文本语义识别方法、装置、电子设备及存储介质
CN112329391B (zh) * 2020-11-02 2024-08-06 上海明略人工智能(集团)有限公司 目标编码器生成方法、装置、电子设备和计算机可读介质
CN112800190B (zh) * 2020-11-11 2022-06-10 重庆邮电大学 基于Bert模型的意图识别与槽值填充联合预测方法
CN112489639A (zh) * 2020-11-26 2021-03-12 北京百度网讯科技有限公司 音频信号处理方法及装置、系统、电子设备、可读介质
CN112507712B (zh) * 2020-12-11 2024-01-26 北京百度网讯科技有限公司 建立槽位识别模型与槽位识别的方法、装置
CN112613316B (zh) * 2020-12-31 2023-06-20 北京师范大学 一种生成古汉语标注模型的方法和系统
CN112528664B (zh) * 2021-02-05 2021-04-27 湖南工商大学 基于多任务联合学习与地址层级结构知识的地址匹配方法
CN113326676B (zh) * 2021-04-19 2024-09-20 北京快确信息科技有限公司 一种将金融文本结构化为表格的深度学习模型的建立方法
CN113515594B (zh) * 2021-04-28 2024-09-20 京东科技控股股份有限公司 意图识别方法、意图识别模型训练方法、装置及设备
CN113297364B (zh) * 2021-06-07 2023-06-09 吉林大学 一种面向对话系统中的自然语言理解方法及装置
CN113254617B (zh) * 2021-06-11 2021-10-22 成都晓多科技有限公司 基于预训练语言模型和编码器的消息意图识别方法及系统
CN113391907B (zh) * 2021-06-25 2024-08-06 中债金科信息技术有限公司 一种任务的放置方法、装置、设备和介质
US20230252982A1 (en) * 2022-02-07 2023-08-10 Samsung Electronics Co., Ltd. Modeling attention to improve classification and provide inherent explainability
US12086565B2 (en) * 2022-02-28 2024-09-10 International Business Machines Corporation Meaning and sense preserving textual encoding and embedding
CN114707513A (zh) * 2022-03-22 2022-07-05 腾讯科技(深圳)有限公司 一种文本语义识别方法、装置、电子设备和存储介质
CN114881046B (zh) * 2022-05-23 2023-07-25 平安科技(深圳)有限公司 任务会话模型的训练方法、装置、计算机设备及存储介质
CN116186272B (zh) * 2023-04-23 2023-07-14 之江实验室 一种联合训练方法、装置、存储介质及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108417029A (zh) * 2018-02-11 2018-08-17 东南大学 基于自适应多任务深度学习的城市路网行程时间估计方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674077B2 (en) * 2013-10-03 2017-06-06 National Chiao Tung University Vehicular communication system and routing method thereof
CN106156003B (zh) * 2016-06-30 2018-08-28 北京大学 一种问答系统中的问句理解方法
US9972339B1 (en) * 2016-08-04 2018-05-15 Amazon Technologies, Inc. Neural network based beam selection
CN108920622B (zh) * 2018-06-29 2021-07-20 北京奇艺世纪科技有限公司 一种意图识别的训练方法、训练装置和识别装置
US10831997B2 (en) * 2018-08-09 2020-11-10 CloudMinds Technology, Inc. Intent classification method and system
CN110532355B (zh) * 2019-08-27 2022-07-01 华侨大学 一种基于多任务学习的意图与槽位联合识别方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108417029A (zh) * 2018-02-11 2018-08-17 东南大学 基于自适应多任务深度学习的城市路网行程时间估计方法

Also Published As

Publication number Publication date
CN111309915A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111309915B (zh) 联合学习的自然语言训练方法、系统、设备及存储介质
CN110717039B (zh) 文本分类方法和装置、电子设备、计算机可读存储介质
US11574122B2 (en) Method and system for joint named entity recognition and relation extraction using convolutional neural network
CN108363790B (zh) 用于对评论进行评估的方法、装置、设备和存储介质
US11972365B2 (en) Question responding apparatus, question responding method and program
CN110705301B (zh) 实体关系抽取方法及装置、存储介质、电子设备
CN110795938B (zh) 文本序列分词方法、装置及存储介质
US20170351663A1 (en) Iterative alternating neural attention for machine reading
US11232263B2 (en) Generating summary content using supervised sentential extractive summarization
CN109857846B (zh) 用户问句与知识点的匹配方法和装置
CN111079432B (zh) 文本检测方法、装置、电子设备及存储介质
CN111401064B (zh) 一种命名实体识别方法、装置及终端设备
CN110210043A (zh) 文本翻译方法、装置、电子设备及可读存储介质
CN113158656B (zh) 讽刺内容识别方法、装置、电子设备以及存储介质
CN111488742B (zh) 用于翻译的方法和装置
CN113743101B (zh) 文本纠错方法、装置、电子设备和计算机存储介质
CN117114063A (zh) 用于训练生成式大语言模型和用于处理图像任务的方法
CN110874536A (zh) 语料质量评估模型生成方法和双语句对互译质量评估方法
CN112687328A (zh) 确定临床描述信息的表型信息的方法、设备和介质
CN113268560A (zh) 用于文本匹配的方法和装置
CN112818091A (zh) 基于关键词提取的对象查询方法、装置、介质与设备
CN112599211B (zh) 一种医疗实体关系抽取方法及装置
CN113705207A (zh) 语法错误识别方法及装置
CN116306663B (zh) 语义角色标注方法、装置、设备以及介质
CN111666405B (zh) 用于识别文本蕴含关系的方法和装置

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
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20230131

Granted publication date: 20220913

PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20240108

Granted publication date: 20220913

PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20240227

Granted publication date: 20220913