CN115329766B - 一种基于动态词信息融合的命名实体识别方法 - Google Patents

一种基于动态词信息融合的命名实体识别方法 Download PDF

Info

Publication number
CN115329766B
CN115329766B CN202211009812.3A CN202211009812A CN115329766B CN 115329766 B CN115329766 B CN 115329766B CN 202211009812 A CN202211009812 A CN 202211009812A CN 115329766 B CN115329766 B CN 115329766B
Authority
CN
China
Prior art keywords
character
word
module
vector
expression vector
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
CN202211009812.3A
Other languages
English (en)
Other versions
CN115329766A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202211009812.3A priority Critical patent/CN115329766B/zh
Publication of CN115329766A publication Critical patent/CN115329766A/zh
Application granted granted Critical
Publication of CN115329766B publication Critical patent/CN115329766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Character Discrimination (AREA)

Abstract

本发明公开了一种基于动态词信息融合的命名实体识别方法。目的是提高实体识别准确率。技术方案是构建由字符表示模块、动态词信息融合模块、拼接模块、识别模块构成的命名实体识别系统;对命名实体识别系统进行训练;训练好的字符表示模块对输入文本处理得到输入文本字符级别的表示向量;训练好的动态词信息融合模块对输入文本字符级别的表示向量进行动态融合,得到输入文本的动态词信息表示向量;拼接模块拼接两种表示向量,得到包含输入文本字符信息、词信息以及字符与潜在词之间的相对位置信息的表示向量;训练好的识别模块对表示向量进行编码、解码,得到输入文本包含的命名实体类型。本发明可有效提高实体识别的准确率、召回率和F1值。

Description

一种基于动态词信息融合的命名实体识别方法
技术领域
本发明涉及自然语言处理命名实体识别领域,具体涉及一种基于动态词信息融合模型对文本序列中命名实体进行识别的方法。
背景技术
自然语言是人类交流和思维的主要工具,是区别其他动物的本质特性,人类的多种都与语言有着密切的关系,而文字是记录语言的工具,人类的逻辑思维以语言为形式,人类的绝大部分知识也是以语言文字的形式记载和流传下来的。文本中大量的文字能够表达丰富的语义信息和特征内容,帮助人们理解文本所要传达的信息。在全球智能化及信息化的时代,自然语言中信息的抽取与处理技术一直是科学家们重点研究内容。人工智能技术的发展与硬件设备计算性能的提升,推动了自然语言处理领域信息抽取、文本分类、阅读理解等多项技术的深入研究。信息抽取是自然语言处理领域中的底层处理,即对里包含的信息进行结构化处理,并以统一的形式集成在一起,包括命名实体识别、指代消解、属性抽取、关系抽取、事件抽取等。
命名实体识别方法的研究与应用作为自然语言处理领域的一个重要分支,是信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术必不可少的组成部分,甚至是基础部分,因而命名实体识别方法一直是热门研究的课题之一。命名实体识别是指识别文本中具有特定意义的实体。具体来说,命名实体识别指的是,从一句话中识别出人名,地名,组织名,日期时间,这些人名,地名等被识别的目标就是命名实体,命名实体还可以是很多其它有意义的目标,比如产品,公司,专有名词等等。通过识别出来的命名实体,可以形成实体数据库,并为后续的关系抽取、舆情分析、知识图谱、指代消解和问答系统等任务提供前提。因此对命名实体识别技术展开研究是十分必要的。
命名实体识别方法主要分为三大类,基于规则和词典的算法、基于统计机器学习的算法和基于深度学习的算法。基于规则和词典的算法使用语言学专家手工构造规则模板,以模式和字符串相匹配为主要手段,这类方法依赖于知识库和词典的建立,代价大,系统建设周期长、移植性差。基于统计机器学习的算法,主要包括隐马尔可夫模型、最大熵、支持向量机、条件随机场等,算法训练一个判别器,对输入的各种特征进行判断,最终得到对应实体标签,这类方法需要依据特定命名实体识别所面临的主要困难和所表现出的特性,考虑选择能有效反映该类实体特性的特征集合。基于深度学习的算法利用神经网络提取的深层文本特征,具有语义更加丰富、表达能力更强的特点,相比前两类算法效果有提升,也更为方便。在实际场景中,为了提高实体识别任务的效率,往往需要融入静态词典的信息,但是传统的静态词典是通过统计数据集中命名实体的词频得到的,因此,在数据集中实体分布不均匀的情况下,其识别效果会大大下降。
在实际的命名实体识别任务中,由于语言场景的复杂性和语言本身的多义性,融入静态词典的命名实体识别模型通过统计数据集中命名实体的词频,并将这些词频信息作为特征融入单个字符的字符表示中,从而提高命名实体识别任务的效率。但是在多数情况下,命名实体在数据集中的分配并不是完全均匀的,即有些命名实体在特定的句子序列中出现频率较高,而在其他的句子序列中出现频率极低甚至不出现,这种情况下,会使得在某些句子中并不相关的两个字符被当成是一个实体,从而导致实体的识别率下降。因此,如果能够仅对输入序列本身的字符信息、词信息以及字符与潜在词之间的相对位置信息进行动态的融合会大大增加命名实体识别任务的识别效率。
利用输入文本自身的字符信息、词信息以及字符与潜在词之间的相对位置信息来进行命名实体识别是一个重要的研究点,现有的深度学习模型能够利用自注意力机制,加上残差估计、归一化处理等方法充分挖掘输入文本本身蕴含字符信息、词信息以及字符与潜在词之间的相对位置信息,从而提高命名实体识别任务的效率。因此,无需统计数据集中命名实体的词频从而形成静态词典,通过融入静态词典信息来提高模型的性能,直接利用输入序列自身的字符信息、词信息以及字符与潜在词之间的相对位置信息就可以有效提高模型的泛化能力和实体识别的准确率、召回率和F1值(F1值=(2×准确率×召回率)/(准确率+召回率))。
因此,如何充分的利用输入序列本身字符信息、词信息以及字符与潜在词之间的相对位置信息,提供一种准确率、召回率和F1值更高的命名实体识别方法,是本领域技术人员正在探讨的热点问题。
发明内容
本发明要解决的技术问题是提供一种基于动态词信息融合的命名实体识别方法。此方法基于深度学习的算法,利用输入文本本身的字符信息、词信息以及字符与潜在词之间的相对位置信息来进行命名实体识别,提高命名实体识别的准确率、召回率和F1值,无需统计数据集中命名实体的词频从而形成静态词典,通过融入静态词典信息来提高模型性能的情况下仍然能够有效识别命名实体。
为解决上述技术问题,本发明技术方案是:先构建由字符表示模块、词匹配模块、动态词信息融合模块、总拼接模块以及识别模块构成的命名实体识别系统;在开源的电话对话、新闻通讯社及Twitter数据集中选取部分数据进行细粒度命名实体标注得到OntoNotes数据集,将OntoNotes数据集作为对命名实体识别系统进行训练的训练数据集;采用有监督的方式对字符表示模块、词匹配模块、动态词信息融合模块和识别模块进行训练,得到网络权重参数;训练好的字符表示模块对输入文本进行处理得到输入文本字符级别的表示向量;训练好的词匹配模块对输入文本进行处理得到输入文本的词集合表示向量;训练好的动态词信息融合模块对输入文本字符级别的表示向量及输入文本的词集合表示进行动态融合,得到输入文本的动态词信息表示向量;拼接模块将输入文本字符级别的表示向量和动态词信息表示向量进行拼接,得到表示向量,将表示向量发送给训练好的识别模块,表示向量包含输入文本字符信息、词信息以及字符与潜在词之间的相对位置信息:训练好的识别模块对表示向量进行编码器编码、解码器解码,最终得到输入文本的预测标签序列,即输入文本包含的命名实体类型。
本发明包括以下步骤:
第一步:构建命名实体识别系统。命名实体识别系统由字符表示模块、词匹配模块、动态词信息融合模块、总拼接模块以及识别模块组成。
字符表示模块与动态词信息融合模块和总拼接模块相连,由字符嵌入层、Bigram语言模型、BERT预训练模型和子拼接模块组成。字符表示模块接收输入文本(包括用户输入的文本序列X、训练模型的训练集S及验证模型性能的测试集V),得到输入文本字符级别的表示向量,将输入文本字符级别的表示向量发送给动态词信息融合模块和总拼接模块。当对用户输入的文本序列X进行命名实体识别时,X={c1,c2,···,cn,···,cN}(其中cn代表输入文本中的第n个字符,1≤n≤N,N为X中的字符个数),字符表示模块将字符cn映射为一个多维向量
Figure BDA0003810290370000031
Figure BDA0003810290370000032
其中ec(cn)表示字符cn的字符嵌入表示向量,eb(cn)表示字符cn的Bigram表示向量,Bc(cn)表示字符cn的BERT表示向量。字符嵌入层将X中的字符c1,c2,···,cn,···,cN分别映射为一个多维向量,得到由N个多维向量组成的X的字符嵌入表示向量,并将X的字符嵌入表示向量分别发送给Bigram语言模型和BERT预训练模型;Bigram语言模型从字符嵌入层接收X的字符嵌入表示向量,在输入序列X给定的情况下,预测下一个时刻可能出现的字符的条件概率,得到X的Bigram表示向量;BERT预训练模型从字符嵌入层接收X的字符嵌入表示向量,挖掘X的字符级、词级、句子级甚至句间的特征,得到X的BERT表示向量。子拼接模块将X的字符嵌入表示向量、Bigram表示向量和BERT表示向量进行拼接,得到X的字符级别的表示向量,将X的字符级别的表示向量分别发送给动态词信息融合模块和总拼接模块。当训练时字符表示模块对训练集文本集合S中文本序列的处理过程与对X的处理过程相同,得到S的字符级别的表示向量,分别发送给动态词信息融合模块和总拼接模块。
词匹配模块与动态词信息融合模块相连,由一个词匹配层和第一前馈神经网络组成。词匹配层接收输入文本(包括用户输入的文本序列X、训练模型的训练集文本集合S及验证模型性能的测试集文本集合V),将输入文本中的每个字符与静态词典D中单词的字符进行匹配,得到输入文本中每个字符在静态词典D中匹配得到的词集合,第一前馈神经网络对词集合进行线性得到输入文本对应的词集合表示,将输入文本对应的词集合表示发送给动态词信息融合模块。当对X进行命名实体识别时,,对于输入文本序列X={c1,c2,···,cn,···,cN},词匹配模块将字符cn与静态词典D中单词的字符进行匹配,将匹配得到的潜在词(即可能成为命名实体的单词)加入到cn对应的词集合Wn,将词集合Wn发送给第一前馈神经网络;第一前馈神经网络对Wn进行线性映射得到cn对应的词集合表示En;将c1,c2,···,cn,···,cN对应的词集合表示E1,E2,···,En,···,EN进行拼接,得到X的词集合表示向量,将X的词集合表示向量发送给动态词信息融合模块。训练时词匹配模块对训练集S的文本序列处理过程与对X的处理过程相同,得到S的词集合表示向量,发送给动态词信息融合模块。
动态词信息融合模块与字符表示模块、词匹配模块和总拼接模块相连,由一个子注意力层和第二前馈神经网络组成。训练时,子注意力层从字符表示模块接收S的字符级别的表示向量作为计算自注意力的query向量;从词匹配模块中接收S的词集合表示向量用作计算自注意力的key向量和value向量;对S中的所有文本序列的每个字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到S的相对位置编码表示向量;第二前馈神经网络对S的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的S的动态词信息表示向量,将S的动态词信息表示向量发送给总拼接模块。当对文本序列X进行命名实体识别时,子注意力层从字符表示模块接收X字符级别的表示向量作为计算自注意力的query向量;从词匹配模块中得到X的词集合表示向量作为计算自注意力的key向量和value向量;对X中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到X的相对位置编码表示向量;第二前馈神经网络对X的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的X的动态词信息表示向量,将X的动态词信息表示向量发送给总拼接模块。
总拼接模块与字符表示模块、动态词信息融合模块、识别模块相连。训练时,总拼接模块从字符表示模块接收S的字符级别的表示向量、从动态词信息表示模块接收S的动态词信息表示向量,将S的字符级别的表示向量和动态词信息表示向量进行拼接,得到S的表示向量,将S的表示向量发送给识别模块,表示向量包含S的字符信息、词信息以及字符与潜在词之间的相对位置信息。当对文本序列X进行命名实体识别时,总拼接模块从字符表示模块接收X的字符级别的表示向量、从动态词信息表示模块接收X的动态词信息表示向量,将X的字符级别的表示向量和动态词信息表示向量进行拼接,得到X的表示向量,将X的表示向量发送给识别模块,表示向量包含X字符信息、词信息以及字符与潜在词之间的相对位置信息。
识别模块由下游编码器和解码器两个部分组成。编码器为Transformer网络(见文献Attention is all you need.In Advances in Neural Information ProcessingSystem,2017),解码器为CRF网络(见文献“Conditional Random Fields:ProbabilisticModels for Segmenting and Labeling Sequence Data.”,2001)。训练时,编码器从总拼接模块接收S的表示向量,对S的表示向量进行编码形成S的编码表示,并将S的编码表示发送给解码器;解码器对S的编码表示进行解码得到S的预测标签序列,即S中所包含的命名实体类型;当对文本序列X进行命名实体识别时,编码器从总拼接模块接收X的表示向量,形成X的编码表示,并将X的编码表示发送给解码器;解码器对X的编码表示进行解码得到X的预测标签序列,即X中所包含的命名实体类型。
第二步,准备训练命名实体识别系统的数据集,方法是:
2.1选择在开源的电话对话、新闻通讯社及Twitter数据集中选取部分数据进行细粒度命名实体标注得到OntoNotes数据集,将OntoNotes数据集(其版权属于LDC【Linguistic Data Consortium,语言数据联盟】,包含18类命名实体,900.5k条样本)中的692.4K条样本作为命名实体识别系统的训练集,另外208.1k作为测试集。每条样本包含一条文本和其对应的实际标签。训练集中的文本集合构成训练集文本集合S,训练集中的实际标签序列集合构成训练集实际标签序列集合Y;测试集中的文本集合构成测试集文本集合V,测试集样本中的实际标签序列集合构成测试集实际标签序列集合Y#,训练集文本集合S用于训练命名实体识别系统,测试集文本集合V用于测试命名实体识别系统的性能。
2.2构造静态词典D,遍历OntoNotes数据集中的所有样本,根据实际的标签序列找到文本中包含的所有命名实体,加入静态词典D中。最终得到的静态词典D是一个由单词构成的列表,即OntoNotes数据集中所有的命名实体的集合,令静态词典D中包含的单词个数为Ld,Ld为正整数。静态词典D={d1,d2,···,di,···,dLd}(1≤i≤Ld),di为静态词典D中的第i个单词。
第三步,使用训练集文本集合S训练命名实体识别系统的字符表示模块、词匹配模块、动态词信息融合模块和识别模块,采用有监督的方式进行训练,得到不同的网络权重参数。具体方法如下:
3.1初始化权重参数,将字符表示模块的Bigram语言模型网络权重参数Wb中的所有元素都初始化为[0,1]之间的随机数;将字符表示模块的BERT预训练模型的第一网络权重参数WB,第二网络权重参数bB中的所有元素初始化为[0,1]之间的随机数;将词匹配模块第一前馈神经网络的第一网络权重参数WE,第二网络权重参数bE中的所有元素初始化为[0,1]之间的随机数;将动态词信息融合模块子注意力层的第一网络权重参数Wq,第二网络权重参数Wk,第三网络权重参数Wv,以及第二前馈神经网络的第一网络权重参数Wr,第二网络权重参数br中的所有元素值都初始化为[0,1]之间的随机数;将识别模块的编码器即Transformer的第一网络权重参数
Figure BDA0003810290370000061
第二网络权重参数
Figure BDA0003810290370000062
第三网络权重参数
Figure BDA0003810290370000063
中的所有元素值都初始化为[0,1]之间的随机数;将识别模块的解码器即CRF网络权重参数Wc中所有元素值都初始化为[0,1]之间的随机数。
3.2设置网络训练超参数:网络模型学习率(learningRate)、批处理尺寸(batchsize)、文本最大长度(maxlen),实验证明,learningRate=0.00002,batchsize=8,maxlen=512时,实体识别的F1值最高,因此,令learningRate=0.00002,batchsize=8,maxlen=512。
3.3迭代计算Bigram语言模型、BERT预训练模型、词匹配模块前馈神经网络、动态词信息融合模块子注意力层及前馈神经网络、Transformer及CRF得到的预测标签与真实实体标签的分布差距,得到损失值,最小化损失值并更新网络参数,直到满足迭代次数要求,得到权重参数。具体方法如下:
3.3.1初始化训练迭代参数itretation=1;初始化迭代阈值K,K是[1,30]内的整数,实验证明,训练迭代10(即K为10)次时,实体识别的F1值最高。因此优选K为10。
3.3.2令m=1(m表示输入文本序列在训练集中的位置),令训练集文本集合S={S1,S2,···Sm,···,SM},其中Sm表示S中的第m条文本序列(其中1≤m≤M);
Figure BDA0003810290370000071
Figure BDA0003810290370000072
Figure BDA0003810290370000073
表示Sm的第n个字符(其中1≤n≤N)。
3.3.3字符表示模块从S读取训练集文本Sm,字符表示模块采用字符映射方法将Sm的字符
Figure BDA0003810290370000074
映射并拼接为Sm的字符级别的表示向量,并将Sm的字符级别的表示向量传入动态词信息融合模块和总拼接模块,方法是:
3.3.3.1令n=1;
3.3.3.2字符嵌入层将字符
Figure BDA0003810290370000075
映射层一个多维向量,得到
Figure BDA0003810290370000076
的字符嵌入表示向量
Figure BDA0003810290370000077
并将
Figure BDA0003810290370000078
分别发送给Bigram语言模型、Bert预训练模型以及子拼接模块;
3.3.3.3 Bigram语言模型从字符嵌入层接收到
Figure BDA0003810290370000079
的字符嵌入表示向量
Figure BDA00038102903700000710
在输入文本序列Sm给定的情况,Bigram语言模型通过预测下一时刻字符的条件概率得到
Figure BDA00038102903700000711
的Bigram表示向量
Figure BDA00038102903700000712
Figure BDA00038102903700000713
发送给子拼接模块;
3.3.3.4Bert预训练模型从字符嵌入层接收到
Figure BDA00038102903700000714
的字符嵌入表示向量
Figure BDA00038102903700000715
通过挖掘Sm的字符级、词级、句子级甚至句间的特征得到字符
Figure BDA00038102903700000716
的Bert表示向量
Figure BDA00038102903700000717
Figure BDA00038102903700000718
发送给子拼接模块。
3.3.3.5子拼接模块将字符
Figure BDA00038102903700000719
的字符嵌入表示向量、Bigram表示向量以及Bert表示向量进行拼接得到
Figure BDA00038102903700000720
字符级别的表示向量
Figure BDA00038102903700000721
Figure BDA00038102903700000722
这里,“:”是向量拼接的意思。
3.3.3.6令n=n+1,若n≤N,转3.3.3.2;若n>N,子拼接模块将Sm
Figure BDA00038102903700000723
映射得到的字符级别的表示向量
Figure BDA00038102903700000724
进行拼接,得到Sm字符级别的表示向量,将Sm字符级别的表示向量发送给总拼接模块和动态词信息融合模块。
3.3.4词匹配模块从S读取训练集文本Sm,找出Sm中每个字符
Figure BDA00038102903700000725
在静态词典D中匹配得到的词集合
Figure BDA00038102903700000726
第一前馈神经网络对于词集合
Figure BDA00038102903700000727
进行线性映射,得到每个字符对应的词集合表示向量
Figure BDA00038102903700000728
Figure BDA00038102903700000729
Figure BDA00038102903700000730
进行拼接,得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方式是:
3.3.4.1词匹配层采用词匹配方法找出Sm中每个字符
Figure BDA0003810290370000081
以及字符在静态词典D中匹配得到的词集合
Figure BDA0003810290370000082
方法是:
3.3.4.1.1令n=1;
3.3.4.1.2遍历静态词典D,找出字符
Figure BDA0003810290370000083
在静态词典中匹配得到词集合
Figure BDA0003810290370000084
也就是以字符
Figure BDA0003810290370000085
作为开头的单词的集合,方法是:
3.3.4.1.2.1初始化变量i=1;(i表示静态词典D中的第i个命名实体)
3.3.4.1.2.2当Sm以字符
Figure BDA0003810290370000086
作为开头的子序列与di完全相同时,说明匹配成功,将di加入词集合
Figure BDA0003810290370000087
中,di在词集合
Figure BDA0003810290370000088
中的用e(n,k)记录,e(n,k)表示di在Sm匹配得到的子序列是以第n个字符作为起始字符,第k个字符作为结束字符;
3.3.4.1.2.3令i=i+1,若i≤Ld(静态词典中命名实体的个数),转3.3.4.1.2.2,否则说明静态词典已经被检索完,Sm中以字符
Figure BDA0003810290370000089
作为起始字符的潜在的命名实体已经全部找出并加入到了词集合
Figure BDA00038102903700000810
中,转3.3.4.1.3;
3.3.4.1.3将词集合
Figure BDA00038102903700000811
作为以字符
Figure BDA00038102903700000812
作为开头的潜在的命名实体的集合,令该集合中单词的数量为
Figure BDA00038102903700000813
3.3.4.1.4令n=n+1,若n≤N,转3.3.4.1.2,否则说明序列Sm中所有的字符
Figure BDA00038102903700000814
都已经匹配得到相应的词集合
Figure BDA00038102903700000815
Figure BDA00038102903700000816
Figure BDA00038102903700000817
传入第一前馈神经网络,转3.3.4.2;
3.3.4.2第一前馈神经网络从词匹配层接收
Figure BDA00038102903700000818
采用词映射方法对
Figure BDA00038102903700000819
进行线性映射,得到词集合表示向量
Figure BDA00038102903700000820
将词集合表示向量
Figure BDA00038102903700000821
进行拼接,得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方法是:
3.3.4.2.1令n=1;
3.3.4.2.2若
Figure BDA00038102903700000822
则令
Figure BDA00038102903700000823
的词表示向量为None,转3.3.4.2.4;否则转3.3.4.2.3;
3.3.4.2.3将词集合
Figure BDA00038102903700000824
中的每个单词进行线性映射,得到其单词的词表示,将每个单词的词表示进行拼接,得到字符
Figure BDA00038102903700000825
对应的词集合表示
Figure BDA00038102903700000826
方法是:
3.3.4.2.3.1令i=1;
3.3.4.2.3.2取词集合
Figure BDA00038102903700000827
中的第一个单词,用e(n,k)表示,说明该单词在Sm中是以第n个字符作为起始字符,第k个字符作为结束字符。第一前馈神经网络对e(n,k)进行线性映射,得到单词的词表示oi=o(e(n,k));
3.3.4.2.3.3令i=i+1,如果
Figure BDA0003810290370000091
转3.3.4.2.3.2;否则说明词集合
Figure BDA0003810290370000092
中所有的单词都已经被映射成对应的词表示,将
Figure BDA0003810290370000093
进行拼接,得到字符
Figure BDA0003810290370000094
对应的词集合表示
Figure BDA0003810290370000095
转3.3.4.2.4;
3.3.4.2.4令n=n+1,若n≤N,转3.3.4.2.2,否则,说明序列Sm中所有字符对应的词集合都已经进行线性映射,得到相应的词集合表示向量
Figure BDA0003810290370000096
Figure BDA0003810290370000097
得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块。
3.3.5动态词信息融合模块的子注意力层从字符表示模块的子拼接模块接收Sm字符级别的表示向量,作为计算自注意力的query向量;从词匹配模块中接收Sm的词集合表示向量,作为计算自注意力的key向量和value向量。对Sm中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到Sm的相对位置编码表示向量;第二前馈神经网络对Sm的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的Sm的动态词信息表示向量,将Sm的动态词信息表示向量发送给总拼接模块,方法是:
3.3.5.1子注意力层采用动态词信息融合方法对Sm中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到Sm的相对位置编码表示向量,方法是:
3.3.5.1.1令n=1;
3.3.5.1.2将字符
Figure BDA0003810290370000098
与其匹配得到的词集合
Figure BDA0003810290370000099
中的每一个单词进行动态融合,得到字符
Figure BDA00038102903700000910
的相对位置编码表示向量,方法是:
3.3.5.1.2.1令i=1;
3.3.5.1.2.2子注意力层从字符表示模块的子拼接模块接收字符
Figure BDA00038102903700000911
的字符级别的表示向量
Figure BDA00038102903700000912
作为计算自注意力的query向量,从词匹配模块中接收词集合表示向量
Figure BDA00038102903700000913
中的第i个词表示向量oi=o(e(n,k)),作为计算自注意力的key向量和value向量;
3.3.5.1.2.3用head[·]表示字符
Figure BDA00038102903700000914
和匹配得到潜在词e(n,k)在输入文本序列Sm中的头位置,用tail[·]表示字符
Figure BDA00038102903700000915
和匹配得到潜在词e(n,k)在输入文本序列Sm中的尾位置;字符的头位置是指从前向后字符在输入文本中的位置,字符的尾位置是指从后往前字符在输入文本中的位置,以字符
Figure BDA0003810290370000101
为例,
Figure BDA0003810290370000102
的头位置
Figure BDA0003810290370000103
为n、尾位置
Figure BDA0003810290370000104
为N-n;单词的头位置是指单词的起始字符在输入文本中的头位置,单词的尾位置是指单词的结束字符在输入文本中的尾位置,以潜在词e(n,k)为例,e(n,k)的头位置head[e(n,k)]为n、尾位置tail[e(n,k)]为N-k。
3.3.5.1.2.4根据字符
Figure BDA0003810290370000105
Figure BDA0003810290370000106
在静态词典D中匹配得到的潜在词o(n,k)在Sm中的头尾位置计算四个距离。四个距离通过如下公式计算得到:字符
Figure BDA0003810290370000107
在句子中的头位置与匹配得到的词on,k在句子中头位置的距离
Figure BDA0003810290370000108
字符
Figure BDA0003810290370000109
在句子中的头位置与匹配得到的词on,k在句子中尾位置的距离
Figure BDA00038102903700001010
字符
Figure BDA00038102903700001011
在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离
Figure BDA00038102903700001012
Figure BDA00038102903700001029
字符
Figure BDA00038102903700001013
在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离
Figure BDA00038102903700001014
四个距离可以用来表示字符和匹配的单词之间的关系。
3.3.5.1.2.5将四个距离进行余弦变换得到位置编码,分别是
Figure BDA00038102903700001015
Figure BDA00038102903700001016
(见文献Attention is all you need.In Advances in NeuralInformation Processing Systems,2017即注意力是你所需要的:在神经网络信息处理系统中),将
Figure BDA00038102903700001017
进行拼接,得到字符
Figure BDA00038102903700001018
与匹配词oi的相对位置编码表示向量。
3.3.5.1.2.6令i=i+1,如果
Figure BDA00038102903700001019
转3.3.5.1.2.2,否则说明字符
Figure BDA00038102903700001020
对应的词集合中所有的单词都已经与
Figure BDA00038102903700001021
进行动态融合,得到词集合
Figure BDA00038102903700001022
中每个单词
Figure BDA00038102903700001030
Figure BDA00038102903700001023
进行动态融合得到的单词
Figure BDA00038102903700001024
的相对位置编码表示向量,将字符
Figure BDA00038102903700001025
与单词
Figure BDA00038102903700001026
相对位置编码表示向量进行拼接,得到字符
Figure BDA00038102903700001027
的相对位置编码表示向量;
3.3.5.1.3令n=n+1,如果n≤N(输入文本序列Sm的长度),转3.3.5.1.2;否则说明Sm中的所有字符都已经被检索,将Sm
Figure BDA00038102903700001028
的相对位置编码表示向量进行拼接,得到Sm的相对位置编码表示向量,将Sm的相对位置编码表示向量发送给第二前馈神经网络。
3.3.5.2第二前馈神经网络从自注意力接收Sm的相对位置编码表示向量,对Sm的相对位置编码表示向量进行线性映射,得到Sm的动态词信息表示向量,将Sm的动态词信息表示向量发送给总拼接模块。
3.3.6总拼接模块从字符表示模块接收Sm字符级别的表示向量,从动态词信息表示模块中接收Sm动态词信息表示向量,将Sm的字符级别的表示向量和Sm的动态词信息表示向量进行拼接,得到Sm的表示向量,将Sm的表示向量发送给识别模块,Sm的表示向量包含输入文本序列Sm字符信息、词信息以及字符与潜在词之间的相对位置信息。
3.3.7识别模块从总拼接模块接收Sm的表示向量,编码器对Sm的表示向量进行编码,形成Sm的编码表示,并将Sm的编码表示发送给解码器;解码器对Sm的编码表示进行解码,得到Sm的预测标签序列Yp
3.3.8用交叉损失熵函数计算预测标签序列Yp和真实标签Y之间的差距,得到损失值Loss,使用Adam优化算法(见文献“Kingma D P,Ba J.Adam:A method for stochasticoptimization[J].arXiv preprint arXiv:1412.6980,2014”,Kingma的论文:Adam,一种随机优化方法)对Loss最小化以更新一次命名实体识别系统中所有网络的权重参数。
3.3.9令m=m+1,如果m≤M(S中文本序列的数量),转3.3.3;否则说明S的文本都已经参与训练,一次迭代训练已经完成,转3.3.10。
3.3.10令itretation=itretation+1,如果itretation≤迭代阈值K,转3.3.2;否则说明训练满足迭代次数要求,训练结束,转第四步。
第四步,将训练得到的网络权利参数赋值给命名实体识别系统各模块,即将训练得到的Wb作为字符表示模块Bigram语言模型的网络权重参数;将训练得到的WB,bB作为字符表示模块BERT预训练模型的网络权重参数;将训练得到的WE,bE作为词匹配模块的网络权重参数;将训练得到的Wq,Wk,Wv,Wr作为动态词信息融合模块的网络权重参数,将训练得到的
Figure BDA0003810290370000111
作为识别模块中编码器transformer网络的网络权重参数,将训练得到的Wc作为识别模块中解码器CRF网络的网络权重参数,得到训练好的命名实体识别系统。
第五步:使用训练好的命名实体识别系统对用户输入的文本X进行实体识别,得到X中所包含的命名实体类型,方法为:
5.1字符表示模块接收用户输入的文本X={c1,c2,···,cn,···,cN}(其中cn代表输入文本中的第n个字符),字符表示模块采用3.3.3步所述的字符映射方法将X的每个字符c1,c2,···,cn,···,cN映射并拼接为X的字符级别的表示向量,将X的字符级别的表示向量发送给动态词信息融合模块和总拼接模块。
5.2词匹配模块接收用户输入的文本X,找出X中每个字符c1,c2,···,cn,···,cN在静态词典D中匹配得到的词集合W1,W2,···,Wn,···,WN,第一前馈神经网络对词集合W1,W2,···,Wn,···,WN中的每个单词进行线性映射后,得到每个字符对应的词集合表示向量E1,E2,···,En,···,EN,将E1,E2,···,En,···,EN进行拼接,得到X的词集合表示向量,将X的词集合表示向量发送给动态词信息融合模块,方法是:
5.2.1词匹配层采用3.3.4.1步所述的词匹配方法找出X中每个字符c1,c2,···,cn,···,cN在静态词典D中匹配得到的词集合W1,W2,···,Wn,···,WN,将W1,W2,···,Wn,···,WN发送给词匹配模块中的第一前馈神经网络;
5.2.2第一前馈神经网络从词匹配层接收W1,W2,···,Wn,···,WN,采用3.3.4.2所述的词映射方法对W1,W2,···,Wn,···,WN进行线性映射,得到词集合表示向量E1,E2,···,En,···,EN,将E1,E2,···,En,···,EN进行拼接得到X的词集合表示向量,将X的词集合表示向量发送给动态词信息模块;
5.3动态词信息融合模块的子注意力层从字符表示模块的子拼接模块接收X字符级别的表示向量,用作计算自注意力query向量,从词匹配模块中接收X的词集合表示向量,用作计算自注意力的key向量和value向量。对X中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到X的相对位置编码表示向量;第二前馈神经网络对X的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的X的动态词信息表示向量,将X的动态词信息表示向量发送给总拼接模块,方法是:
5.3.1子注意力层采用3.3.5.1步所述的动态词信息融合方法对X中的每个字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到c1,c2,···,cn,···,cN的相对位置编码信息,将c1,c2,···,cn,···,cN的相对位置编码信息拼接,得到X的相对位置编码表示向量,将X的相对位置编码表示向量发送给第二前馈神经网络;
5.3.2第二前馈神经网络从动态词信息统融合模块接收X的相对位置编码表示向量,对X的相对位置编码表示向量进行线性映射,得到X的动态词信息表示向量,将X的动态词信息表示向量发送给总拼接模块。
5.3总拼接模块从字符表示模块接收X的字符级别的表示向量,从动态词信息融合模块接收到X的动态词信息表示向量,将X的字符级别的表示向量和动态词信息表示向量进行拼接,得到X的表示向量,将X的表示向量发送给识别模块。
5.4识别模块从总拼接模块接收X的表示向量,编码器对X的表示向量进行编码,得到X的编码表示,将X的编码表示发送给解码器;解码器对X的编码表示进行解码,得到X的预测标签序列,即X中所包含的命名实体类型。
采用本发明可以达到以下技术效果:
1、本发明第一步构建的命名实体识别系统能够充分利用输入序列本身的相对位置信息和词信息,实验结果显示,本发明能够获得更好的实体识别效果,使得实体识别的准确率、召回率和F1值较背景技术所述方法均有所提高。
2、本发明无需统计数据集中命名实体的词频从而形成静态词典,而是直接利用输入序列自身的相对位置信息和词信息就可以有效提高模型的泛化能力和实体识别的准确率、召回率和F1值。
附图说明
图1是本发明第一步构建命名实体识别系统逻辑结构图;
图2是本发明总体流程图。
图3为本发明与背景技术所述的基于深度学习的算法中常见的6种模型结构(Transformer+CRF、Transformer+Sotfmax、Transformer+Span、RoBERTa+CRF、RoBERTa+Softmax、RoBERTa+Span)的精确率(Precision)、召回率(Recall)和F1值三种命名实体识别任务常用的评价指标的比较结果。
具体实施方式
下面结合附图和具体实例对本发明进行具体说明,图2是本发明总体流程图,如图2所示,本发明包括以下步骤:
第一步:构建命名实体识别系统。命名实体识别系统如图1所示。命名实体识别系统由字符表示模块、词匹配模块、动态词信息融合模块、总拼接模块以及识别模块组成。
字符表示模块与动态词信息融合模块和总拼接模块相连,由字符嵌入层、Bigram语言模型、BERT预训练模型和子拼接模块组成。字符表示模块接收输入文本(包括用户输入的文本序列X、训练模型的训练集S及验证模型性能的测试集V),得到输入文本字符级别的表示向量,将输入文本字符级别的表示向量发送给动态词信息融合模块和总拼接模块。以用户输入的文本序列X为例,对于输入文本序列X={c1,c2,···,cn,···,cN}(其中cn代表输入文本中的第n个字符,1≤n≤N,N为X中的字符个数),字符表示模块将字符cn映射为一个多维向量
Figure BDA0003810290370000141
Figure BDA0003810290370000142
其中ec(cn)表示字符cn的字符嵌入表示向量,eb(cn)表示字符cn的Bigram表示向量,Bc(cn)表示字符cn的BERT表示向量。字符嵌入层将X中的字符c1,c2,···,cn,···,cN分别映射为一个多维向量,得到由N个多维向量组成的X的字符嵌入表示向量,并将X的字符嵌入表示向量分别发送给Bigram语言模型和BERT预训练模型;Bigram语言模型从字符嵌入层接收X的字符嵌入表示向量,在输入序列X给定的情况下,预测下一个时刻可能出现的字符的条件概率,得到X的Bigram表示向量;BERT预训练模型从字符嵌入层接收X的字符嵌入表示向量,挖掘X的字符级、词级、句子级甚至句间的特征,得到X的BERT表示向量。子拼接模块将X的字符嵌入表示向量、Bigram表示向量和BERT表示向量进行拼接,得到X的字符级别的表示向量,将X的字符级别的表示向量分别发送给动态词信息融合模块和总拼接模块。训练时字符表示模块对训练集文本集合S中文本序列的处理过程与对X的处理过程相同,得到S的字符级别的表示向量,分别发送给动态词信息融合模块和总拼接模块。
词匹配模块与动态词信息融合模块相连,由一个词匹配层和第一前馈神经网络组成。词匹配层接收输入文本(包括用户输入的文本序列X、训练模型的训练集文本集合S及验证模型性能的测试集文本集合V),将输入文本中的每个字符与静态词典D中的单词的字符进行匹配,得到输入文本中每个字符在静态词典D中匹配得到的词集合,第一前馈神经网络对词集合进行线性得到输入文本对应的词集合表示,将输入文本对应的词集合表示发送给动态词信息融合模块。以用户输入的文本序列X为例,对于输入文本序列X={c1,c2,···,cn,···,cN},此匹配模块将字符cn与静态词典D进行匹配,将匹配得到的潜在词(即可能成为命名实体的单词)加入到cn对应的词集合Wn,将词集合Wn发送给第一前馈神经网络;第一前馈神经网络对Wn进行线性映射得到cn对应的词集合表示En;将c1,c2,···,cn,···,cN对应的词集合表示E1,E2,···,En,···,EN进行拼接,得到X的词集合表示向量,将X的词集合表示向量发送给动态词信息融合模块。训练时词匹配模块对训练集S的文本序列处理过程与对X的处理过程相同,得到S的词集合表示向量,发送给动态词信息融合模块。
动态词信息融合模块与字符表示模块、词匹配模块和总拼接模块相连,由一个子注意力层和第二前馈神经网络组成。训练时,子注意力层从字符表示模块接收S的字符级别的表示向量作为计算自注意力的query向量;从词匹配模块中接收S的词集合表示向量用作计算自注意力的作key向量和value向量;对S中的所有文本序列的每个字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到S的相对位置编码表示向量;第二前馈神经网络对S的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的S的动态词信息表示向量,将S的动态词信息表示向量发送给总拼接模块。识别时,子注意力层从字符表示模块接收X字符级别的表示向量作为计算自注意力的query向量;从词匹配模块中得到X的词集合表示向量作为计算自注意力的key向量和value向量;对X中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到X的相对位置编码表示向量;第二前馈神经网络对X的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的X的动态词信息表示向量,将X的动态词信息表示向量发送给总拼接模块。
总拼接模块与字符表示模块、动态词信息融合模块、识别模块相连。训练时,总拼接模块从字符表示模块接收S的字符级别的表示向量、从动态词信息表示模块接收S的动态词信息表示向量,将S的字符级别的表示向量和动态词信息表示向量进行拼接,得到S的表示向量,将S的表示向量发送给识别模块,表示向量包含S的字符信息、词信息以及字符与潜在词之间的相对位置信息。识别时,总拼接模块从字符表示模块接收X的字符级别的表示向量、从动态词信息表示模块接收X的动态词信息表示向量,将X的字符级别的表示向量和动态词信息表示向量进行拼接,得到X的表示向量,将X的表示向量发送给识别模块,表示向量包含X字符信息、词信息以及字符与潜在词之间的相对位置信息。
识别模块由下游编码器和解码器两个部分组成。编码器为Transformer网络(见文献Attention is all you need.In Advances in Neural Information ProcessingSystem,2017),解码器为CRF网络(见文献“Conditional Random Fields:ProbabilisticModels for Segmenting and Labeling Sequence Data.”,2001)。训练时,编码器从总拼接模块接收S的表示向量,形成S的编码表示,并将S的编码表示发送给解码器;解码器对S的编码表示进行解码得到S的预测标签序列,即S中所包含的命名实体类型;识别时,编码器从总拼接模块接收X的表示向量,形成X的编码表示,并将X的编码表示发送给解码器;解码器对X的编码表示进行解码得到X的预测标签序列,即X中所包含的命名实体类型。
第二步,准备训练命名实体识别系统的数据集,方法是:
2.1选择在开源的电话对话、新闻通讯社及Twitter数据集中选取部分数据进行细粒度命名实体标注得到OntoNotes数据集,将OntoNotes数据集(其版权属于LDC【Linguistic Data Consortium,语言数据联盟】,包含18类命名实体,900.5k条样本)中的692.4K条样本作为命名实体识别系统的训练集,另外208.1k作为测试集。每条样本包含一条文本和其对应的实际标签。训练集中的文本集合构成训练集文本集合S,训练集中的实际标签序列集合构成训练集实际标签序列集合Y;测试集中的文本集合构成测试集文本集合V,测试集样本中的实际标签序列集合构成测试集实际标签序列集合Y#,训练集文本集合S用于训练命名实体识别系统,测试集文本集合V用于测试命名实体识别系统的性能。
2.2构造静态词典D,遍历OntoNotes数据集中的所有样本,根据实际的标签序列找到文本中包含的所有命名实体,加入静态词典D中。最终得到的静态词典D是一个由单词构成的列表,即OntoNotes数据集中所有的命名实体的集合,令静态词典D中包含的单词个数为Ld,Ld为正整数。静态词典D={d1,d2,···,di,···,dLd}(1≤i≤Ld),di为静态词典D中的第i个单词。
第三步,使用训练集文本集合S训练命名实体识别系统的字符表示模块、词匹配模块、动态词信息融合模块和识别模块,采用有监督的方式进行训练,得到不同的网络权重参数。具体方法如下:
3.1初始化权重参数,将字符表示模块的Bigram语言模型网络权重参数Wb中的所有元素都初始化为[0,1]之间的随机数;将字符表示模块的BERT预训练模型的第一网络权重参数WB,第二网络权重参数bB中的所有元素初始化为[0,1]之间的随机数;将词匹配模块第一前馈神经网络的第一网络权重参数WE,第二网络权重参数bE中的所有元素初始化为[0,1]之间的随机数;将动态词信息融合模块子注意力层的第一网络权重参数Wq,第二网络权重参数Wk,第三网络权重参数Wv,以及第二前馈神经网络的第一网络权重参数Wr,第二网络权重参数br中的所有元素值都初始化为[0,1]之间的随机数;将识别模块的编码器即Transformer的第一网络权重参数
Figure BDA0003810290370000161
第二网络权重参数
Figure BDA0003810290370000162
第三网络权重参数
Figure BDA0003810290370000163
中的所有元素值都初始化为[0,1]之间的随机数;将识别模块的解码器即CRF网络权重参数Wc中所有元素值都初始化为[0,1]之间的随机数。
3.2设置网络训练超参数:网络模型学习率(learningRate)、批处理尺寸(batchsize)、文本最大长度(maxlen),本实施例中令learningRate=0.00002,batchsize=8,maxlen=512。
3.3迭代计算Bigram语言模型、BERT预训练模型、词匹配模块前馈神经网络、动态词信息融合模块子注意力层及前馈神经网络、Transformer及CRF得到的预测标签与真实实体标签的分布差距,得到损失值,最小化损失值并更新网络参数,直到满足迭代次数要求,得到权重参数。具体方法如下:
3.3.1初始化训练迭代参数itretation=1;初始化迭代阈值K为10。
3.3.2令m=1(m表示输入文本序列在训练集中的位置),令训练集文本集合S={S1,S2,···Sm,···,SM},其中Sm表示S中的第m条文本序列(其中1≤m≤M);
Figure BDA0003810290370000171
Figure BDA0003810290370000172
Figure BDA0003810290370000173
表示Sm的第n个字符(其中1≤n≤N)。
3.3.3字符表示模块从S读取训练集文本Sm,字符表示模块采用字符映射方法将Sm的字符
Figure BDA0003810290370000174
映射并拼接为Sm的字符级别的表示向量,并将Sm的字符级别的表示向量传入动态词信息融合模块和总拼接模块,方法是:
3.3.3.1令n=1;
3.3.3.2字符嵌入层将字符
Figure BDA0003810290370000175
映射层一个多维向量,得到
Figure BDA0003810290370000176
的字符嵌入表示向量
Figure BDA0003810290370000177
并将
Figure BDA0003810290370000178
分别发送给Bigram语言模型、Bert预训练模型以及子拼接模块;
3.3.3.3 Bigram语言模型从字符嵌入层接收到
Figure BDA0003810290370000179
的字符嵌入表示向量
Figure BDA00038102903700001710
在输入文本序列Sm给定的情况,Bigram语言模型通过预测下一时刻字符的条件概率得到
Figure BDA00038102903700001711
的Bigram表示向量
Figure BDA00038102903700001712
Figure BDA00038102903700001713
发送给子拼接模块;
3.3.3.4 Bert预训练模型从字符嵌入层接收到
Figure BDA00038102903700001714
的字符嵌入表示向量
Figure BDA00038102903700001715
通过挖掘Sm的字符级、词级、句子级甚至句间的特征得到字符
Figure BDA00038102903700001716
的Bert表示向量
Figure BDA00038102903700001717
Figure BDA00038102903700001718
发送给子拼接模块。
3.3.3.5子拼接模块将字符
Figure BDA00038102903700001719
的字符嵌入表示向量、Bigram表示向量以及Bert表示向量进行拼接得到
Figure BDA00038102903700001720
字符级别的表示向量
Figure BDA00038102903700001721
Figure BDA00038102903700001722
3.3.3.6令n=n+1,若n≤N,转3.3.3.2;若n>N,子拼接模块将Sm
Figure BDA00038102903700001723
映射得到的字符级别的表示向量
Figure BDA00038102903700001724
进行拼接,得到Sm字符级别的表示向量,将Sm字符级别的表示向量发送给总拼接模块和动态词信息融合模块。
3.3.4词匹配模块从S读取训练集文本Sm,找出Sm中每个字符
Figure BDA00038102903700001725
在静态词典D中匹配得到的词集合
Figure BDA00038102903700001726
第一前馈神经网络对于词集合
Figure BDA0003810290370000181
进行线性映射后得到每个字符对应的词集合表示向量
Figure BDA0003810290370000182
Figure BDA0003810290370000183
Figure BDA0003810290370000184
进行拼接得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方式是:
3.3.4.1词匹配层采用词匹配方法找出Sm中每个字符
Figure BDA0003810290370000185
以及字符在静态词典D中匹配得到的词集合
Figure BDA0003810290370000186
方法是:
3.3.4.1.1令n=1;
3.3.4.1.2遍历静态词典D,找出字符
Figure BDA0003810290370000187
在静态词典中匹配得到词集合
Figure BDA0003810290370000188
也就是以字符
Figure BDA0003810290370000189
作为开头的单词的集合,方法是:
3.3.4.1.2.1初始化变量i=1(i表示静态词典D中的第i个命名实体)
3.3.4.1.2.2当Sm以字符
Figure BDA00038102903700001810
作为开头的子序列与di完全相同时,说明匹配成功,将di加入词集合
Figure BDA00038102903700001811
中,di在词集合
Figure BDA00038102903700001812
中的用e(n,k)记录,e(n,k)表示di在Sm匹配得到的子序列是以第n个字符作为起始字符,第k个字符作为结束字符;
3.3.4.1.2.3令i=i+1,若i≤Ld(静态词典中命名实体的个数),转3.3.4.1.2.2,否则说明静态词典已经被检索完,Sm中以字符
Figure BDA00038102903700001813
作为起始字符的潜在的命名实体已经全部找出并加入到了词集合
Figure BDA00038102903700001814
中,转3.3.4.1.3;
3.3.4.1.3将词集合
Figure BDA00038102903700001815
作为以字符
Figure BDA00038102903700001816
作为开头的潜在的命名实体的集合,令该集合中单词的数量为
Figure BDA00038102903700001817
3.3.4.1.4令n=n+1,若n≤N,转3.3.4.1.2,否则说明序列Sm中所有的字符
Figure BDA00038102903700001818
都已经匹配得到相应的词集合
Figure BDA00038102903700001819
Figure BDA00038102903700001820
Figure BDA00038102903700001821
传入第一前馈神经网络,转3.3.4.2;
3.3.4.2第一前馈神经网络从词匹配层接收
Figure BDA00038102903700001822
采用词映射方法对将
Figure BDA00038102903700001823
进行线性映射得到词集合表示向量
Figure BDA00038102903700001824
将词集合表示向量
Figure BDA00038102903700001825
进行拼接得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方法是:
3.3.4.2.1令n=1;
3.3.4.2.2若
Figure BDA00038102903700001826
则令
Figure BDA00038102903700001827
的词表示向量为None,转3.3.4.2.4;否则转3.3.4.2.3
3.3.4.2.3将词集合
Figure BDA00038102903700001828
中的每个单词进行线性映射得到其单词的词表示,将每个单词的词表示进行拼接,得到字符
Figure BDA00038102903700001829
对应的词集合表示,方法是:
3.3.4.2.3.1令i=1;
3.3.4.2.3.2取词集合
Figure BDA0003810290370000191
中的第一个单词,用e(n,k)表示,说明该单词在序列Sm中是以第n个字符作为起始字符,第k个字符作为结束字符。第一前馈神经网络对于e(n,k)进行线性映射得到单词的词表示oi=o(e(n,k));
3.3.4.2.3.3令i=i+1,如果
Figure BDA0003810290370000192
转3.3.4.2.3.2;否则说明词集合
Figure BDA0003810290370000193
中所有的单词都已经被映射成对应的词表示,将
Figure BDA0003810290370000194
进行拼接,得到字符
Figure BDA0003810290370000195
对应的词集合表示
Figure BDA0003810290370000196
转3.3.4.2.4
3.3.4.2.4令n=n+1,若n≤N,转3.3.4.2.2,否则,说明序列Sm中所有字符对应的词集合都已经进行线性映射,得到相应的词集合表示向量
Figure BDA0003810290370000197
Figure BDA0003810290370000198
进行拼接得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块。
3.3.5动态词信息融合模块的子注意力层从字符表示模块的子拼接模块接收Sm字符级别的表示向量作为计算自注意力的query向量;从词匹配模块中接收Sm的词集合表示向量作为计算自注意力的key向量和value向量。对Sm中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到Sm的相对位置编码表示向量;第二前馈神经网络Sm的对相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的Sm的动态词信息表示向量,将Sm的动态词信息表示向量发送给总拼接模块,方法是:
3.3.5.1子注意力层采用动态词信息融合方法对Sm中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到Sm的相对位置编码表示向量,方法是:
3.3.5.1.1令n=1;
3.3.5.1.2将字符
Figure BDA0003810290370000199
与其匹配得到的词集合
Figure BDA00038102903700001910
中的每一个单词进行动态融合得到字符
Figure BDA00038102903700001911
的相对位置编码表示向量,方法是:
3.3.5.1.2.1令i=1;
3.3.5.1.2.2子注意力层从字符表示模块的子拼接模块接收字符
Figure BDA00038102903700001912
的字符级别的表示向量
Figure BDA00038102903700001913
作为计算自注意力的query向量,从词匹配模块中接收词集合表示向量
Figure BDA00038102903700001914
中的第i个词表示向量oi=o(e(n,k)),作为计算自注意力的key向量和value向量;
3.3.5.1.2.3用head[·]表示字符
Figure BDA00038102903700001915
和匹配得到潜在词e(n,k)在输入文本序列Sm中的头位置,用tail[·]表示字符
Figure BDA0003810290370000201
和匹配得到潜在词e(n,k)在输入文本序列Sm中的尾位置;字符的头位置是指从前向后字符在输入文本中的位置,字符的尾位置是指从后往前字符在输入文本中的位置,以字符
Figure BDA0003810290370000202
为例,
Figure BDA0003810290370000203
的头位置
Figure BDA0003810290370000204
为n、尾位置
Figure BDA0003810290370000205
为N-n;单词的头位置是指单词的起始字符在输入文本中的头位置,单词的尾位置是指单词的结束字符在输入文本中的尾位置,以潜在词e(n,k)为例,e(n,k)的头位置head[e(n,k)]为n、尾位置tail[e(n,k)]为N-k。
3.3.5.1.2.4根据字符
Figure BDA0003810290370000206
Figure BDA0003810290370000207
在静态词典D中匹配得到的潜在词o(n,k)在输入序列Sm中的头尾位置计算四个距离。四个距离通过如下公式计算得到:字符
Figure BDA0003810290370000208
在句子中的头位置与匹配得到的词on,k在句子中头位置的距离
Figure BDA0003810290370000209
字符
Figure BDA00038102903700002010
在句子中的头位置与匹配得到的词on,k在句子中尾位置的距离
Figure BDA00038102903700002011
Figure BDA00038102903700002012
字符
Figure BDA00038102903700002013
在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离
Figure BDA00038102903700002014
字符
Figure BDA00038102903700002015
在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离
Figure BDA00038102903700002016
四个距离可以用来表示字符和匹配的单词之间的关系。
3.3.5.1.2.5将四个距离进行余弦变换得到位置编码,分别是
Figure BDA00038102903700002017
Figure BDA00038102903700002018
(见文献Attention is all you need.In Advances in NeuralInformation Processing Systems,2017),将
Figure BDA00038102903700002019
进行拼接,得到字符
Figure BDA00038102903700002020
与匹配词oi的相对位置编码表示向量。
3.3.5.1.2.6令i=i+1,如果
Figure BDA00038102903700002021
转3.3.5.1.2.2,否则说明字符
Figure BDA00038102903700002022
对应的词集合中所有的单词都已经与
Figure BDA00038102903700002023
进行动态融合,得到单词
Figure BDA00038102903700002024
相对位置编码表示向量。将字符
Figure BDA00038102903700002025
与单词
Figure BDA00038102903700002026
相对位置编码表示向量进行拼接,得到字符
Figure BDA00038102903700002027
的相对位置编码表示向量;
3.3.5.1.3令n=n+1,如果n≤N(输入文本序列Sm的长度),转3.3.5.1.2;否则说明Sm中的所有字符都已经被检索,将Sm
Figure BDA00038102903700002028
的相对位置编码表示向量进行拼接,得到Sm的相对位置编码表示向量,将Sm的相对位置编码表示向量发送给第二前馈神经网络。
3.3.5.2第二前馈神经网络从自注意力接收Sm的相对位置编码表示向量,对Sm的相对位置编码表示向量进行线性映射,得到Sm的动态词信息表示向量,将Sm的动态词信息表示向量发送给总拼接模块。
3.3.6总拼接模块从字符表示模块接收Sm字符级别的表示向量,从动态词信息表示模块中接收Sm动态词信息表示向量,将Sm的字符级别的表示向量和Sm的动态词信息表示向量进行拼接,得到Sm的表示向量,将Sm的表示向量发送给识别模块,Sm的表示向量包含输入文本序列Sm字符信息、词信息以及字符与潜在词之间的相对位置信息。
3.3.7识别模块从总拼接模块接收Sm的表示向量,经编码器编码和解码器解码得到预测标签序列Yp,用交叉损失熵函数计算预测标签序列Yp和真实标签Y之间的差距,得到损失值Loss,使用Adam优化算法(见文献“Kingma D P,Ba J.Adam:A method forstochastic optimization[J].arXiv preprint arXiv:1412.6980,2014”,Kingma的论文:Adam,一种随机优化方法)对Loss最小化以更新一次命名实体识别系统中所有网络的权重参数。
3.3.8令m=m+1,如果m≤M,转3.3.3;否则说明S的文本都已经参与训练,一次迭代训练已经完成,转3.3.9。
3.3.9令itretation=itretation+1,如果itretation≤迭代阈值K,转3.3.2;否则说明训练满足迭代次数要求,训练结束,转第四步。
第四步,将训练得到的网络权利参数赋值给命名实体识别系统各模块,即将训练得到的Wb作为字符表示模块Bigram语言模型的网络权重参数;将训练得到的WB,bB作为字符表示模块BERT预训练模型的网络权重参数;将训练得到的WE,bB作为词匹配模块的网络权重参数;将训练得到的Wq,Wk,Wv,Wr作为动态词信息融合模块的网络权重参数,将训练得到的
Figure BDA0003810290370000211
作为识别模块中编码器transformer网络的王权重参数,将训练得到的Wc作为识别模块中解码器CRF网络的网络权重参数,得到训练好的命名实体识别系统。
第五步:使用训练好的命名实体识别系统对用户输入的文本X进行实体识别,得到X中所包含的命名实体类型,方法为:
5.1字符表示模块接收用户输入的文本X={c1,c2,···,cn,···,cN}(其中cn代表输入文本中的第n个字符),以X为“国防科技大学位于长沙”为例进行说明,字符表示模块采用3.3.3步所述的字符映射方法将X的每个字符c1,c2,···,cn,···,cN(c1为“国”,c2为“防”,依此类推,N为10)映射并拼接为X的字符级别的表示向量,每个字符用一个多维向量进行表示,X字符级别的表示向量为将每个字符的多维向量进行拼接得到,是一个10维数组。将X的字符级别的表示向量发送给动态词信息融合模块和总拼接模块。
5.2词匹配模块接收用户输入的文本X,找出X中每个字符c1,c2,···,cn,···,cN在静态词典D中匹配得到的词集合W1,W2,···,Wn,···,WN,以W1为例进行说明,W1为字符c1(‘国’)在静态词典中匹配得到的单词集合,在该实例中,W1={"国防科技大学"}。“国防科技大学”用e(1,6)表示,表示该单词在实例“国防科技大学位于长沙”中以第1个字符作为起始字符,第6个字符组作为结束字符,单词的表示由构成单词的每个字符的字符表示向量取平均值得到,将词集合W1中所有单词的表示向量取平均值得到W1。第一前馈神经网络对词集合W1,W2,···,Wn,···,WN中的每个单词进行线性映射后,得到每个字符对应的词集合表示向量E1,E2,···,En,···,EN(,E1是在W1的基础上进行线性映射得到的多维向量,将E1,E2,···,En,···,EN进行拼接,得到X的词集合表示向量,X的词集合表示向量为一个10维数组(),将X的词集合表示向量发送给动态词信息融合模块,方法是:
5.2.1词匹配层采用3.3.4.1步所述的词匹配方法找出X中每个字符c1,c2,···,cn,···,cN在静态词典D中匹配得到的词集合W1,W2,···,Wn,···,WN,以W1为例进行说明,W1为字符c1(‘国’)在静态词典中匹配得到的单词集合,在该实例中,W1={"国防科技大学"},
“国防科技大学”用e(1,6)表示,表示该单词在实例“国防科技大学位于长沙”中以第1个字符作为起始字符,第6个字符组作为结束字符。单词的表示由构成单词的每个字符的字符表示向量取平均值得到,将词集合W1中所有单词的表示向量取平均值得到W1,将W1,W2,···,Wn,···,WN发送给词匹配模块中的第一前馈神经网络;
5.2.2第一前馈神经网络从词匹配层接收W1,W2,···,Wn,···,WN,采用3.3.4.2所述的词映射方法对W1,W2,···,Wn,···,WN进行线性映射,得到每个字符对应的词集合表示向量E1,E2,···,En,···,EN,E1是在W1的基础上进行线性映射得到的多维向量,将E1,E2,···,En,···,EN进行拼接得到X的词集合表示向量,X的词集合表示向量为一个10维数组,将X的词集合表示向量发送给动态词信息模块;
5.3动态词信息融合模块的子注意力层从字符表示模块的子拼接模块接收X字符级别的表示向量,用作计算自注意力query向量,从词匹配模块中接收X的词集合表示向量,用作计算自注意力的key向量和value向量。对X中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到X的相对位置编码表示向量,X的相对位置编码表示向量由组成序列的每个字符c1,c2,···,cn,···,cN的相对位置编码表示向量拼接得到,c1的相对位置编码表示向量是一个多维向量,X的相对位置编码表示向量是一个10维数组;第二前馈神经网络对X的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的X的动态词信息表示向量(X的动态词信息表示向量是由X的相对位置编码表示向量进行线性映射得到,是一个10维数组,将X的动态词信息表示向量发送给总拼接模块,方法是:
5.3.1子注意力层采用3.3.5.1步所述的动态词信息融合方法对X中的每个字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到c1,c2,···,cn,···,cN的相对位置编码表示向量,将c1,c2,···,cn,···,cN的相对位置编码表示向量拼接,c1的相对位置编码表示向量是一个多维向量,得到X的相对位置编码表示向量(多维数组),X的相对位置编码表示向量为一个10维数组,将X的相对位置编码表示向量发送给第二前馈神经网络;
5.3.2第二前馈神经网络从动态词信息统融合模块中接收到X的相对位置编码表示向量,对X的相对位置编码表示向量进行线性映射,得到X的动态词信息表示向量,X的动态词信息表示向量是由X的相对位置编码表示向量进行线性映射得到,是一个10维数组,将X的动态词信息表示向量发送给总拼接模块。
5.3总拼接模块从字符表示模块接收X的字符级别的表示向量,从动态词信息融合模块接收到X的动态词信息表示向量,将X的字符级别的表示向量和动态词信息表示向量进行拼接,得到X的表示向量,X的表示向量为一个10维数组,其单个字符的维数是字符级别的表示向量与动态词信息表示向量的维数之和。,将X的表示向量发送给识别模块。
5.4识别模块从总拼接模块接收X的表示向量,编码器对X的表示向量进行编码,得到X的编码表示,将X的编码表示发送给解码器;解码器对X的编码表示进行解码,得到X的预测标签序列,即X中所包含的命名实体类型,为(国防科技大学,学校)、(长沙,地名)。
图3为采用本发明对命名实体进行识别的精确率(Precision)、召回率(Recall)和F1值。实验过程是:
选择OntoNotes数据集中剩余208.1k条数据作为命名实体识别测试集,实验的软件系统环境为乌班图22.04版本(即Ubuntu 22.04,Linux系统的一个版本),搭载英特尔Xeon Gold系列6154中央处理器,处理频率为3.0Hz,另外配有四块英伟达Tesla V100显卡,每块显卡CUDA核心数为5120个,显存容量为32GB。在本实验环境下,采用本发明对测试集中的命名实体进行识别。
图3比较了本发明与背景技术所述的基于深度学习的算法中常见的6种模型结构(Transformer+CRF、Transformer+Sotfmax、Transformer+Span、RoBERTa+CRF、RoBERTa+Softmax、RoBERTa+Span)的精确率(Precision)、召回率(Recall)和F1值三种命名实体识别任务常用的评价指标,这6种模型结构均不包含本发明所设计的动态词信息融合模块,仅由编码器和解码器组成。其中精确率,即查准率,表示真正正确的占所有预测为正的比例;召回率,即查全率,表示真正正确的占所有实际为正的比例;F1值=精确率×召回率×2/(精确率+召回率),是对Precision和Recall进行的整体评价。这三种评价指标越大,说明命名实体识别系统的性能越好。通过图3可以看出,采用本发明进行实体识别相较于背景技术的深度学习算法显著提高了精确率、召回率和F1值这三项性能指标。说明本发明是确实有效的。
以上对本发明所提供的一种基于动态词信息融合命名实体识别方法进行了详细介绍。本文对本发明的原理及实施方式进行了阐述,以上说明用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通研究人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (5)

1.一种基于动态词信息融合的命名实体识别方法,其特征在于包括以下步骤:
第一步:构建命名实体识别系统;命名实体识别系统由字符表示模块、词匹配模块、动态词信息融合模块、总拼接模块以及识别模块组成;
字符表示模块与动态词信息融合模块和总拼接模块相连,由字符嵌入层、Bigram语言模型、BERT预训练模型和子拼接模块组成;字符表示模块接收输入文本,得到输入文本字符级别的表示向量,将输入文本字符级别的表示向量发送给动态词信息融合模块和总拼接模块;当对用户输入的文本序列X进行命名实体识别时,X={c1,c2,…,cn,…,cN},其中cn代表输入文本中的第n个字符,1≤n≤N,N为X中的字符个数,字符表示模块将字符cn映射为一个多维向量
Figure FDA0004068556830000011
Figure FDA0004068556830000012
其中ec(cn)表示字符cn的字符嵌入表示向量,eb(cn)表示字符cn的Bigram表示向量,Bc(cn)表示字符cn的BERT表示向量;字符嵌入层将X中的字符c1,c2,…,cn,…,cN分别映射为一个多维向量,得到由N个多维向量组成的X的字符嵌入表示向量,并将X的字符嵌入表示向量分别发送给Bigram语言模型和BERT预训练模型;Bigram语言模型从字符嵌入层接收X的字符嵌入表示向量,预测下一个时刻可能出现的字符的条件概率,得到X的Bigram表示向量;BERT预训练模型从字符嵌入层接收X的字符嵌入表示向量,挖掘X的字符级、词级、句子级甚至句间的特征,得到X的BERT表示向量;子拼接模块将X的字符嵌入表示向量、Bigram表示向量和BERT表示向量进行拼接,得到X的字符级别的表示向量,将X的字符级别的表示向量分别发送给动态词信息融合模块和总拼接模块;当训练时字符表示模块对训练集文本集合S中文本序列的处理过程与对X的处理过程相同,得到S的字符级别的表示向量,分别发送给动态词信息融合模块和总拼接模块;
词匹配模块与动态词信息融合模块相连,由一个词匹配层和第一前馈神经网络组成;词匹配层接收输入文本,将输入文本中的每个字符与静态词典D中单词的字符进行匹配,得到输入文本中每个字符在静态词典D中匹配得到的词集合,第一前馈神经网络对词集合进行线性得到输入文本对应的词集合表示,将输入文本对应的词集合表示发送给动态词信息融合模块;当对X进行命名实体识别时,词匹配模块将字符cn与静态词典D中单词的字符进行匹配,将匹配得到的潜在词即可能成为命名实体的单词加入到cn对应的词集合Wn,将词集合Wn发送给第一前馈神经网络;第一前馈神经网络对Wn进行线性映射得到cn对应的词集合表示En;将c1,c2,…,cn,…,cN对应的词集合表示E1,E2,…,En,…,EN进行拼接,得到X的词集合表示向量;将X的词集合表示向量发送给动态词信息融合模块;训练时词匹配模块对训练集S的文本序列处理过程与对X的处理过程相同,得到S的词集合表示向量,发送给动态词信息融合模块;
动态词信息融合模块与字符表示模块、词匹配模块和总拼接模块相连,由一个子注意力层和第二前馈神经网络组成;训练时,子注意力层从字符表示模块接收S的字符级别的表示向量作为计算自注意力的query向量;从词匹配模块中接收S的词集合表示向量用作计算自注意力的key向量和value向量;对S中的所有文本序列的每个字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到S的相对位置编码表示向量;第二前馈神经网络对S的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的S的动态词信息表示向量,将S的动态词信息表示向量发送给总拼接模块;当对文本序列X进行命名实体识别时,子注意力层从字符表示模块接收X字符级别的表示向量作为计算自注意力的query向量;从词匹配模块中得到X的词集合表示向量作为计算自注意力的key向量和value向量;对X中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到X的相对位置编码表示向量;第二前馈神经网络对X的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的X的动态词信息表示向量,将X的动态词信息表示向量发送给总拼接模块;
总拼接模块与字符表示模块、动态词信息融合模块、识别模块相连;训练时,总拼接模块从字符表示模块接收S的字符级别的表示向量、从动态词信息表示模块接收S的动态词信息表示向量,将S的字符级别的表示向量和动态词信息表示向量进行拼接,得到S的表示向量,将S的表示向量发送给识别模块,表示向量包含S的字符信息、词信息以及字符与潜在词之间的相对位置信息;当对文本序列X进行命名实体识别时,总拼接模块从字符表示模块接收X的字符级别的表示向量、从动态词信息表示模块接收X的动态词信息表示向量,将X的字符级别的表示向量和动态词信息表示向量进行拼接,得到X的表示向量,将X的表示向量发送给识别模块,表示向量包含X字符信息、词信息以及字符与潜在词之间的相对位置信息;
识别模块由下游编码器和解码器组成;编码器为Transformer网络,解码器为CRF网络;训练时,编码器从总拼接模块接收S的表示向量,形成S的编码表示,并将S的编码表示发送给解码器;解码器对S的编码表示进行解码得到S的预测标签序列,即S中所包含的命名实体类型;当对文本序列X进行命名实体识别时,编码器从总拼接模块接收X的表示向量,形成X的编码表示,并将X的编码表示发送给解码器;解码器对X的编码表示进行解码得到X的预测标签序列,即X中所包含的命名实体类型;
第二步,准备训练命名实体识别系统的数据集,方法是:
2.1选择在开源的电话对话、新闻通讯社及Twitter数据集中选取部分数据进行细粒度命名实体标注得到OntoNotes数据集,将OntoNotes数据集中的692.4K条样本作为命名实体识别系统的训练集;每条样本包含一条文本和其对应的实际标签;训练集中的文本集合构成训练集文本集合S,训练集中的实际标签序列集合构成训练集实际标签序列集合Y;
2.2构造静态词典D,遍历OntoNotes数据集中的所有样本,根据实际的标签序列找到文本中包含的所有命名实体,加入静态词典D中;最终得到的静态词典D是一个由单词构成的列表,即OntoNotes数据集中所有的命名实体的集合,令静态词典D中包含的单词个数为Ld,Ld为正整数;静态词典D={d1,d2,…,di,…,dLd},1≤i≤Ld,di为静态词典D中的第i个单词;
第三步,使用训练集文本集合S训练命名实体识别系统的字符表示模块、词匹配模块、动态词信息融合模块和识别模块,采用有监督的方式进行训练,得到不同的网络权重参数;方法如下:
3.1初始化权重参数,将字符表示模块的Bigram语言模型网络权重参数Wb中的所有元素都初始化为[0,1]之间的随机数;将字符表示模块的BERT预训练模型的第一网络权重参数WB,第二网络权重参数bB中的所有元素初始化为[0,1]之间的随机数;将词匹配模块第一前馈神经网络的第一网络权重参数WE,第二网络权重参数bE中的所有元素初始化为[0,1]之间的随机数;将动态词信息融合模块子注意力层的第一网络权重参数Wq,第二网络权重参数Wk,第三网络权重参数Wv,以及第二前馈神经网络的第一网络权重参数Wr,第二网络权重参数br中的所有元素值都初始化为[0,1]之间的随机数;将识别模块的编码器即Transformer的第一网络权重参数
Figure FDA0004068556830000031
第二网络权重参数
Figure FDA0004068556830000032
第三网络权重参数
Figure FDA0004068556830000033
中的所有元素值都初始化为[0,1]之间的随机数;将识别模块的解码器即CRF网络权重参数Wc中所有元素值都初始化为[0,1]之间的随机数;
3.2设置网络训练超参数:令网络模型学习率learningRate=0.00002,批处理尺寸batchsize=8,文本最大长度maxlen=512;
3.3迭代计算Bigram语言模型、BERT预训练模型、词匹配模块前馈神经网络、动态词信息融合模块子注意力层及前馈神经网络、Transformer及CRF得到的预测标签与真实实体标签的分布差距,得到损失值,最小化损失值并更新网络参数,直到满足迭代次数要求,得到权重参数;具体方法如下:
3.3.1初始化训练迭代参数itretation=1;初始化迭代阈值K,K是[1,30]内的整数;
3.3.2令输入文本序列在训练集中的位置m=1,令训练集文本集合S={S1,S2,…Sm,…,SM},其中Sm表示S中的第m条文本序列,1≤m≤M,M为S中文本序列的数量;
Figure FDA0004068556830000041
Figure FDA0004068556830000042
表示Sm的第n个字符,1≤n≤N;
3.3.3字符表示模块从S读取训练集文本Sm,字符表示模块采用字符映射方法将Sm的字符
Figure FDA0004068556830000043
映射并拼接为Sm的字符级别的表示向量,并将Sm的字符级别的表示向量传入动态词信息融合模块和总拼接模块,方法是:
3.3.3.1令n=1;
3.3.3.2字符嵌入层将字符
Figure FDA0004068556830000044
映射层一个多维向量,得到
Figure FDA0004068556830000045
的字符嵌入表示向量
Figure FDA0004068556830000046
并将
Figure FDA0004068556830000047
分别发送给Bigram语言模型、Bert预训练模型以及子拼接模块;
3.3.3.3 Bigram语言模型从字符嵌入层接收到
Figure FDA0004068556830000048
的字符嵌入表示向量
Figure FDA0004068556830000049
在输入文本序列Sm给定的情况,Bigram语言模型通过预测下一时刻字符的条件概率得到
Figure FDA00040685568300000410
的Bigram表示向量
Figure FDA00040685568300000411
Figure FDA00040685568300000412
发送给子拼接模块;
3.3.3.4 Bert预训练模型从字符嵌入层接收到
Figure FDA00040685568300000413
的字符嵌入表示向量
Figure FDA00040685568300000414
通过挖掘Sm的字符级、词级、句子级甚至句间的特征得到字符
Figure FDA00040685568300000415
的Bert表示向量
Figure FDA00040685568300000416
Figure FDA00040685568300000417
发送给子拼接模块;
3.3.3.5子拼接模块将字符
Figure FDA00040685568300000418
的字符嵌入表示向量、Bigram表示向量以及Bert表示向量进行拼接得到
Figure FDA00040685568300000419
字符级别的表示向量
Figure FDA00040685568300000420
Figure FDA00040685568300000421
“:”表示向量拼接;
3.3.3.6令n=n+1,若n≤N,转3.3.3.2;若n>N,子拼接模块将Sm
Figure FDA00040685568300000422
映射得到的字符级别的表示向量
Figure FDA00040685568300000423
进行拼接,得到Sm字符级别的表示向量,将Sm字符级别的表示向量发送给总拼接模块和动态词信息融合模块;
3.3.4词匹配模块从S读取训练集文本Sm,找出Sm中每个字符
Figure FDA00040685568300000424
在静态词典D中匹配得到的词集合
Figure FDA00040685568300000425
第一前馈神经网络对于词集合
Figure FDA0004068556830000051
进行线性映射,得到每个字符对应的词集合表示向量
Figure FDA0004068556830000052
Figure FDA0004068556830000053
Figure FDA0004068556830000054
进行拼接,得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方式是:
3.3.4.1词匹配层采用词匹配方法找出Sm中每个字符
Figure FDA0004068556830000055
以及字符在静态词典D中匹配得到的词集合
Figure FDA0004068556830000056
方法是:
3.3.4.1.1令n=1;
3.3.4.1.2遍历静态词典D,找出字符
Figure FDA0004068556830000057
在静态词典中匹配得到词集合
Figure FDA0004068556830000058
也就是以字符
Figure FDA0004068556830000059
作为开头的单词的集合;
3.3.4.1.3将词集合
Figure FDA00040685568300000510
作为以字符
Figure FDA00040685568300000511
作为开头的潜在的命名实体的集合,令该集合中单词的数量为
Figure FDA00040685568300000512
3.3.4.1.4令n=n+1,若n≤N,转3.3.4.1.2,否则说明序列Sm中所有的字符
Figure FDA00040685568300000513
都已经匹配得到相应的词集合
Figure FDA00040685568300000514
Figure FDA00040685568300000515
Figure FDA00040685568300000516
传入第一前馈神经网络,转3.3.4.2;
3.3.4.2第一前馈神经网络从词匹配层接收
Figure FDA00040685568300000517
采用词映射方法对
Figure FDA00040685568300000518
进行线性映射,得到词集合表示向量
Figure FDA00040685568300000519
将词集合表示向量
Figure FDA00040685568300000520
进行拼接,得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方法是:
3.3.4.2.1令n=1;
3.3.4.2.2若
Figure FDA00040685568300000521
则令
Figure FDA00040685568300000522
的词表示向量为None,转3.3.4.2.4;否则转3.3.4.2.3;
3.3.4.2.3将词集合
Figure FDA00040685568300000523
中的每个单词进行线性映射,得到其单词的词表示,将每个单词的词表示进行拼接,得到字符
Figure FDA00040685568300000524
对应的词集合表示
Figure FDA00040685568300000525
3.3.4.2.4令n=n+1,若n≤N,转3.3.4.2.2,否则,说明序列Sm中所有字符对应的词集合都已经进行线性映射,得到相应的词集合表示向量
Figure FDA00040685568300000526
Figure FDA00040685568300000527
得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块;
3.3.5动态词信息融合模块的子注意力层从字符表示模块的子拼接模块接收Sm字符级别的表示向量,作为计算自注意力的query向量;从词匹配模块中接收Sm的词集合表示向量,作为计算自注意力的key向量和value向量;对Sm中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到Sm的相对位置编码表示向量;第二前馈神经网络对Sm的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的Sm的动态词信息表示向量,将Sm的动态词信息表示向量发送给总拼接模块,方法是:
3.3.5.1子注意力层采用动态词信息融合方法对Sm中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到Sm的相对位置编码表示向量,方法是:
3.3.5.1.1令n=1;
3.3.5.1.2将字符
Figure FDA0004068556830000061
与其匹配得到的词集合
Figure FDA0004068556830000062
中的每一个单词进行动态融合,得到字符
Figure FDA0004068556830000063
的相对位置编码表示向量;
3.3.5.1.3令n=n+1,如果n≤N,转3.3.5.1.2;否则说明Sm中的所有字符都已经被检索,将Sm
Figure FDA0004068556830000064
的相对位置编码表示向量进行拼接,得到Sm的相对位置编码表示向量,将Sm的相对位置编码表示向量发送给第二前馈神经网络;
3.3.5.2第二前馈神经网络从自注意力接收Sm的相对位置编码表示向量,对Sm的相对位置编码表示向量进行线性映射,得到Sm的动态词信息表示向量,将Sm的动态词信息表示向量发送给总拼接模块;
3.3.6总拼接模块从字符表示模块接收Sm字符级别的表示向量,从动态词信息表示模块中接收Sm动态词信息表示向量,将Sm的字符级别的表示向量和Sm的动态词信息表示向量进行拼接,得到Sm的表示向量,将Sm的表示向量发送给识别模块,Sm的表示向量包含输入文本序列Sm字符信息、词信息以及字符与潜在词之间的相对位置信息;
3.3.7识别模块从总拼接模块接收Sm的表示向量,编码器对Sm的表示向量进行编码,形成Sm的编码表示,将Sm的编码表示发送给解码器;解码器对Sm的编码表示进行解码,得到Sm的预测标签序列Yp
3.3.8用交叉损失熵函数计算预测标签序列Yp和真实标签Y之间的差距,得到损失值Loss,使用Adam优化算法对Loss最小化以更新一次命名实体识别系统中所有网络的权重参数;
3.3.9令m=m+1,如果m≤M,转3.3.3;否则说明S的文本都已经参与训练,一次迭代训练已经完成,转3.3.10;
3.3.10令itretation=itretation+1,如果itretation≤迭代阈值K,转3.3.2;否则说明训练满足迭代次数要求,训练结束,转第四步;
第四步,将训练得到的网络权利参数赋值给命名实体识别系统各模块,即将训练得到的Wb作为字符表示模块Bigram语言模型的网络权重参数;将训练得到的WB,bB作为字符表示模块BERT预训练模型的网络权重参数;将训练得到的WE,bE作为词匹配模块的网络权重参数;将训练得到的Wq,Wk,Wv,Wr,br作为动态词信息融合模块的网络权重参数,将训练得到的
Figure FDA0004068556830000071
作为识别模块中编码器transformer网络的网络权重参数,将训练得到的Wc作为识别模块中解码器CRF网络的网络权重参数,得到训练好的命名实体识别系统;
第五步:使用训练好的命名实体识别系统对用户输入的文本X进行实体识别,得到X中所包含的命名实体类型,方法为:
5.1字符表示模块接收用户输入的文本X={c1,c2,…,cn,…,cN},字符表示模块采用3.3.3步所述的字符映射方法将X的每个字符c1,c2,…,cn,…,cN映射并拼接为X的字符级别的表示向量,将X的字符级别的表示向量发送给动态词信息融合模块和总拼接模块;
5.2词匹配模块接收用户输入的文本X,找出X中每个字符c1,c2,…,cn,…,cN在静态词典D中匹配得到的词集合W1,W2,…,Wn,…,WN,第一前馈神经网络对词集合W1,W2,…,Wn,…,WN中的每个单词进行线性映射后,得到每个字符对应的词集合表示向量E1,E2,…,En,…,EN,将E1,E2,…,En,…,EN进行拼接,得到X的词集合表示向量,将X的词集合表示向量发送给动态词信息融合模块,方法是:
5.2.1词匹配层采用3.3.4.1步所述的词匹配方法找出X中每个字符c1,c2,…,cn,…,cN在静态词典D中匹配得到的词集合W1,W2,…,Wn,…,WN,将W1,W2,…,Wn,…,WN发送给词匹配模块中的第一前馈神经网络;
5.2.2第一前馈神经网络从词匹配层接收W1,W2,…,Wn,…,WN,采用3.3.4.2所述的词映射方法对W1,W2,…,Wn,…,WN进行线性映射,得到词集合表示向量E1,E2,…,En,…,EN,将E1,E2,…,En,…,EN进行拼接得到X的词集合表示向量,将X的词集合表示向量发送给动态词信息模块;
5.3动态词信息融合模块的子注意力层从字符表示模块的子拼接模块接收X字符级别的表示向量,用作计算自注意力query向量,从词匹配模块中接收X的词集合表示向量,用作计算自注意力的key向量和value向量;对X中的字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到X的相对位置编码表示向量;第二前馈神经网络对X的相对位置编码表示向量进行线性变换,得到包含字符与匹配得到的潜在词相对位置信息的X的动态词信息表示向量,将X的动态词信息表示向量发送给总拼接模块,方法是:
5.3.1子注意力层采用3.3.5.1步所述的动态词信息融合方法对X中的每个字符以及该字符在静态词典D中匹配得到的潜在词的相对位置进行融合后做残差连接和正则化处理,得到c1,c2,…,cn,…,cN的相对位置编码信息,将c1,c2,…,cn,…,cN的相对位置编码信息拼接,得到X的相对位置编码表示向量,将X的相对位置编码表示向量发送给第二前馈神经网络;
5.3.2第二前馈神经网络从动态词信息统融合模块接收X的相对位置编码表示向量,对X的相对位置编码表示向量进行线性映射,得到X的动态词信息表示向量,将X的动态词信息表示向量发送给总拼接模块;
5.3总拼接模块从字符表示模块接收X的字符级别的表示向量,从动态词信息融合模块接收到X的动态词信息表示向量,将X的字符级别的表示向量和动态词信息表示向量进行拼接,得到X的表示向量,将X的表示向量发送给识别模块;
5.4识别模块从总拼接模块接收X的表示向量,编码器对X的表示向量进行编码,得到X的编码表示,将X的编码表示发送给解码器;解码器对X的编码表示进行解码,得到X的预测标签序列,即X中所包含的命名实体类型。
2.如权利要求1所述的一种基于动态词信息融合的命名实体识别方法,其特征在于3.3.1步所述迭代阈值K为10。
3.如权利要求1所述的一种基于动态词信息融合的命名实体识别方法,其特征在于3.3.4.1.2步所述遍历静态词典D,找出字符
Figure FDA0004068556830000081
在静态词典中匹配得到的单词的集合
Figure FDA0004068556830000082
的方法是:
3.3.4.1.2.1初始化变量i=1;
3.3.4.1.2.2当Sm以字符
Figure FDA0004068556830000083
作为开头的子序列与di完全相同时,说明匹配成功,将di加入词集合
Figure FDA0004068556830000084
中,di在词集合
Figure FDA0004068556830000085
中的用e(n,k)记录,e(n,k)表示di在Sm匹配得到的子序列是以第n个字符作为起始字符,第k个字符作为结束字符;
3.3.4.1.2.3令i=i+1,若i≤Ld,转3.3.4.1.2.2,否则说明静态词典已经被检索完,Sm中以字符
Figure FDA0004068556830000086
作为起始字符的潜在的命名实体已经全部找出并加入到了词集合
Figure FDA0004068556830000091
中,结束。
4.如权利要求1所述的一种基于动态词信息融合的命名实体识别方法,其特征在于3.3.4.2.3步所述将词集合
Figure FDA0004068556830000092
中的每个单词进行线性映射得到其单词的词表示,将每个单词的词表示进行拼接得到字符
Figure FDA0004068556830000093
对应的词集合表示
Figure FDA0004068556830000094
的方法是:
3.3.4.2.3.1令i=1;
3.3.4.2.3.2取词集合
Figure FDA0004068556830000095
中的第一个单词,用e(n,k)表示,说明该单词在Sm中是以第n个字符作为起始字符,第k个字符作为结束字符;第一前馈神经网络对e(n,k)进行线性映射,得到单词的词表示oi=o(e(n,k));
3.3.4.2.3.3令i=i+1,如果
Figure FDA0004068556830000096
转3.3.4.2.3.2;否则说明词集合
Figure FDA0004068556830000097
中所有的单词都已经被映射成对应的词表示,将
Figure FDA0004068556830000098
进行拼接,得到字符
Figure FDA0004068556830000099
对应的词集合表示
Figure FDA00040685568300000910
结束。
5.如权利要求1所述的一种基于动态词信息融合的命名实体识别方法,其特征在于3.3.5.1.2步所述将字符
Figure FDA00040685568300000911
与其匹配得到的词集合
Figure FDA00040685568300000912
中的每一个单词进行动态融合得到字符
Figure FDA00040685568300000913
的相对位置编码表示向量的方法是:
3.3.5.1.2.1令i=1;
3.3.5.1.2.2子注意力层从字符表示模块的子拼接模块接收字符
Figure FDA00040685568300000914
的字符级别的表示向量
Figure FDA00040685568300000915
作为计算自注意力的query向量,从词匹配模块中接收词集合表示向量
Figure FDA00040685568300000916
中的第i个词表示向量oi=o(e(n,k)),作为计算自注意力的key向量和value向量;
3.3.5.1.2.3用head[·]表示字符
Figure FDA00040685568300000917
和匹配得到潜在词e(n,k)在输入文本序列Sm中的头位置,用tail[·]表示字符
Figure FDA00040685568300000918
和匹配得到潜在词e(n,k)在输入文本序列Sm中的尾位置;字符的头位置是指从前向后字符在输入文本中的位置,字符的尾位置是指从后往前字符在输入文本中的位置;单词的头位置是指单词的起始字符在输入文本中的头位置,单词的尾位置是指单词的结束字符在输入文本中的尾位置;
3.3.5.1.2.4根据字符
Figure FDA00040685568300000919
Figure FDA00040685568300000920
在静态词典D中匹配得到的潜在词o(n,k)在Sm中的头尾位置计算四个距离;四个距离通过如下公式计算得到:字符
Figure FDA00040685568300000921
在句子中的头位置与匹配得到的词on,k在句子中头位置的距离
Figure FDA00040685568300000922
字符
Figure FDA00040685568300000923
在句子中的头位置与匹配得到的词on,k在句子中尾位置的距离
Figure FDA00040685568300000924
字符
Figure FDA00040685568300000925
在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离
Figure FDA00040685568300000926
Figure FDA00040685568300000927
字符
Figure FDA00040685568300000928
在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离
Figure FDA0004068556830000101
四个距离用来表示字符和匹配的单词之间的关系;
3.3.5.1.2.5将四个距离进行余弦变换得到位置编码,分别是
Figure FDA0004068556830000102
Figure FDA0004068556830000103
Figure FDA0004068556830000104
进行拼接,得到字符
Figure FDA0004068556830000105
与匹配词oi的相对位置编码表示向量;
3.3.5.1.2.6令i=i+1,如果
Figure FDA0004068556830000106
转3.3.5.1.2.2,否则说明字符
Figure FDA0004068556830000107
对应的词集合中所有的单词都已经与
Figure FDA0004068556830000108
进行动态融合,得到词集合
Figure FDA0004068556830000109
中每个单词
Figure FDA00040685568300001010
Figure FDA00040685568300001011
进行动态融合得到的单词
Figure FDA00040685568300001012
的相对位置编码表示向量;将字符
Figure FDA00040685568300001013
与单词
Figure FDA00040685568300001014
相对位置编码表示向量进行拼接,得到字符
Figure FDA00040685568300001015
的相对位置编码表示向量。
CN202211009812.3A 2022-08-23 2022-08-23 一种基于动态词信息融合的命名实体识别方法 Active CN115329766B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211009812.3A CN115329766B (zh) 2022-08-23 2022-08-23 一种基于动态词信息融合的命名实体识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211009812.3A CN115329766B (zh) 2022-08-23 2022-08-23 一种基于动态词信息融合的命名实体识别方法

Publications (2)

Publication Number Publication Date
CN115329766A CN115329766A (zh) 2022-11-11
CN115329766B true CN115329766B (zh) 2023-04-18

Family

ID=83926413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211009812.3A Active CN115329766B (zh) 2022-08-23 2022-08-23 一种基于动态词信息融合的命名实体识别方法

Country Status (1)

Country Link
CN (1) CN115329766B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115935994B (zh) * 2022-12-12 2024-03-08 芽米科技(广州)有限公司 一种智能识别电商标题方法
CN116227495B (zh) * 2023-05-05 2023-07-21 公安部信息通信中心 一种实体分类的数据处理系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114386417A (zh) * 2021-12-28 2022-04-22 北京理工大学 一种融入词边界信息的中文嵌套命名实体识别方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062193A1 (en) * 1999-04-08 2000-10-19 Kent Ridge Digital Labs System for chinese tokenization and named entity recognition
WO2021000362A1 (zh) * 2019-07-04 2021-01-07 浙江大学 一种基于深度神经网络模型的地址信息特征抽取方法
CN111160031A (zh) * 2019-12-13 2020-05-15 华南理工大学 一种基于词缀感知的社交媒体命名实体识别方法
CN111783459A (zh) * 2020-05-08 2020-10-16 昆明理工大学 一种基于改进Transformer+CRF的老挝语命名实体识别方法
CN112632997A (zh) * 2020-12-14 2021-04-09 河北工程大学 基于BERT和Word2Vec向量融合的中文实体识别方法
CN113806494B (zh) * 2021-10-11 2022-05-27 中国人民解放军国防科技大学 一种基于预训练语言模型的命名实体识别方法
CN114154504A (zh) * 2021-12-06 2022-03-08 重庆邮电大学 一种基于多信息增强的中文命名实体识别算法
CN114048750A (zh) * 2021-12-10 2022-02-15 广东工业大学 一种融合信息高级特征的命名实体识别方法
CN114662476A (zh) * 2022-02-24 2022-06-24 北京交通大学 一种融合词典与字符特征的字符序列识别方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114386417A (zh) * 2021-12-28 2022-04-22 北京理工大学 一种融入词边界信息的中文嵌套命名实体识别方法

Also Published As

Publication number Publication date
CN115329766A (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
CN108920460B (zh) 一种多类型实体识别的多任务深度学习模型的训练方法
CN111444726B (zh) 基于双向格子结构的长短时记忆网络的中文语义信息提取方法和装置
CN109299273B (zh) 基于改进seq2seq模型的多源多标签文本分类方法及其系统
CN111738003B (zh) 命名实体识别模型训练方法、命名实体识别方法和介质
CN111914067B (zh) 中文文本匹配方法及系统
CN115329766B (zh) 一种基于动态词信息融合的命名实体识别方法
CN110516253B (zh) 中文口语语义理解方法及系统
CN112800776B (zh) 双向gru关系抽取数据处理方法、系统、终端、介质
CN110275936B (zh) 一种基于自编码神经网络的相似法律案例检索方法
CN114169330A (zh) 融合时序卷积与Transformer编码器的中文命名实体识别方法
CN113076739A (zh) 一种实现跨领域的中文文本纠错方法和系统
CN112100332A (zh) 词嵌入表示学习方法及装置、文本召回方法及装置
CN111611346A (zh) 一种基于动态语义编码和双注意力的文本匹配方法及装置
CN112446211A (zh) 文本处理装置、方法、设备和计算机可读存储介质
CN116127953B (zh) 一种基于对比学习的中文拼写纠错方法、装置和介质
CN116661805B (zh) 代码表示的生成方法和装置、存储介质及电子设备
CN114662476A (zh) 一种融合词典与字符特征的字符序列识别方法
CN111145914B (zh) 一种确定肺癌临床病种库文本实体的方法及装置
CN114691864A (zh) 文本分类模型训练方法及装置、文本分类方法及装置
CN113392265A (zh) 多媒体处理方法、装置及设备
CN114117041B (zh) 一种基于特定属性词上下文建模的属性级情感分析方法
Park et al. Natural language generation using dependency tree decoding for spoken dialog systems
CN112685538B (zh) 一种结合外部知识的文本向量检索方法
CN114154504A (zh) 一种基于多信息增强的中文命名实体识别算法
CN113609857A (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