CN115329766A - 一种基于动态词信息融合的命名实体识别方法 - Google Patents
一种基于动态词信息融合的命名实体识别方法 Download PDFInfo
- Publication number
- CN115329766A CN115329766A CN202211009812.3A CN202211009812A CN115329766A CN 115329766 A CN115329766 A CN 115329766A CN 202211009812 A CN202211009812 A CN 202211009812A CN 115329766 A CN115329766 A CN 115329766A
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- 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
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
-
- 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)
- 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映射为一个多维向量 其中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的第一网络权重参数第二网络权重参数第三网络权重参数中的所有元素值都初始化为[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); 表示Sm的第n个字符(其中1≤n≤N)。
3.3.3.1令n=1;
3.3.3.6令n=n+1,若n≤N,转3.3.3.2;若n>N,子拼接模块将Sm中映射得到的字符级别的表示向量进行拼接,得到Sm字符级别的表示向量,将Sm字符级别的表示向量发送给总拼接模块和动态词信息融合模块。
3.3.4词匹配模块从S读取训练集文本Sm,找出Sm中每个字符在静态词典D中匹配得到的词集合第一前馈神经网络对于词集合进行线性映射,得到每个字符对应的词集合表示向量 将进行拼接,得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方式是:
3.3.4.1.1令n=1;
3.3.4.1.2.1初始化变量i=1;(i表示静态词典D中的第i个命名实体)
3.3.4.1.2.2当Sm以字符作为开头的子序列与di完全相同时,说明匹配成功,将di加入词集合中,di在词集合中的用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中以字符作为起始字符的潜在的命名实体已经全部找出并加入到了词集合中,转3.3.4.1.3;
3.3.4.2第一前馈神经网络从词匹配层接收采用词映射方法对进行线性映射,得到词集合表示向量将词集合表示向量进行拼接,得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方法是:
3.3.4.2.1令n=1;
3.3.4.2.3.1令i=1;
3.3.4.2.3.2取词集合中的第一个单词,用e(n,k)表示,说明该单词在Sm中是以第n个字符作为起始字符,第k个字符作为结束字符。第一前馈神经网络对e(n,k)进行线性映射,得到单词的词表示oi=o(e(n,k));
3.3.4.2.4令n=n+1,若n≤N,转3.3.4.2.2,否则,说明序列Sm中所有字符对应的词集合都已经进行线性映射,得到相应的词集合表示向量将得到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.1令i=1;
3.3.5.1.2.2子注意力层从字符表示模块的子拼接模块接收字符的字符级别的表示向量作为计算自注意力的query向量,从词匹配模块中接收词集合表示向量中的第i个词表示向量oi=o(e(n,k)),作为计算自注意力的key向量和value向量;
3.3.5.1.2.3用head[·]表示字符和匹配得到潜在词e(n,k)在输入文本序列Sm中的头位置,用tail[·]表示字符和匹配得到潜在词e(n,k)在输入文本序列Sm中的尾位置;字符的头位置是指从前向后字符在输入文本中的位置,字符的尾位置是指从后往前字符在输入文本中的位置,以字符为例,的头位置为n、尾位置为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根据字符和在静态词典D中匹配得到的潜在词o(n,k)在Sm中的头尾位置计算四个距离。四个距离通过如下公式计算得到:字符在句子中的头位置与匹配得到的词on,k在句子中头位置的距离字符在句子中的头位置与匹配得到的词on,k在句子中尾位置的距离字符在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离 字符在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离四个距离可以用来表示字符和匹配的单词之间的关系。
3.3.5.1.2.5将四个距离进行余弦变换得到位置编码,分别是 (见文献Attention is all you need.In Advances in NeuralInformation Processing Systems,2017即注意力是你所需要的:在神经网络信息处理系统中),将进行拼接,得到字符与匹配词oi的相对位置编码表示向量。
3.3.5.1.2.6令i=i+1,如果转3.3.5.1.2.2,否则说明字符对应的词集合中所有的单词都已经与进行动态融合,得到词集合中每个单词 进行动态融合得到的单词的相对位置编码表示向量,将字符与单词相对位置编码表示向量进行拼接,得到字符的相对位置编码表示向量;
3.3.5.1.3令n=n+1,如果n≤N(输入文本序列Sm的长度),转3.3.5.1.2;否则说明Sm中的所有字符都已经被检索,将Sm中的相对位置编码表示向量进行拼接,得到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作为动态词信息融合模块的网络权重参数,将训练得到的作为识别模块中编码器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映射为一个多维向量 其中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的第一网络权重参数第二网络权重参数第三网络权重参数中的所有元素值都初始化为[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); 表示Sm的第n个字符(其中1≤n≤N)。
3.3.3.1令n=1;
3.3.3.6令n=n+1,若n≤N,转3.3.3.2;若n>N,子拼接模块将Sm中映射得到的字符级别的表示向量进行拼接,得到Sm字符级别的表示向量,将Sm字符级别的表示向量发送给总拼接模块和动态词信息融合模块。
3.3.4词匹配模块从S读取训练集文本Sm,找出Sm中每个字符在静态词典D中匹配得到的词集合第一前馈神经网络对于词集合进行线性映射后得到每个字符对应的词集合表示向量 将进行拼接得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方式是:
3.3.4.1.1令n=1;
3.3.4.1.2.1初始化变量i=1(i表示静态词典D中的第i个命名实体)
3.3.4.1.2.2当Sm以字符作为开头的子序列与di完全相同时,说明匹配成功,将di加入词集合中,di在词集合中的用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中以字符作为起始字符的潜在的命名实体已经全部找出并加入到了词集合中,转3.3.4.1.3;
3.3.4.2.1令n=1;
3.3.4.2.3.1令i=1;
3.3.4.2.3.2取词集合中的第一个单词,用e(n,k)表示,说明该单词在序列Sm中是以第n个字符作为起始字符,第k个字符作为结束字符。第一前馈神经网络对于e(n,k)进行线性映射得到单词的词表示oi=o(e(n,k));
3.3.4.2.4令n=n+1,若n≤N,转3.3.4.2.2,否则,说明序列Sm中所有字符对应的词集合都已经进行线性映射,得到相应的词集合表示向量将进行拼接得到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.1令i=1;
3.3.5.1.2.2子注意力层从字符表示模块的子拼接模块接收字符的字符级别的表示向量作为计算自注意力的query向量,从词匹配模块中接收词集合表示向量中的第i个词表示向量oi=o(e(n,k)),作为计算自注意力的key向量和value向量;
3.3.5.1.2.3用head[·]表示字符和匹配得到潜在词e(n,k)在输入文本序列Sm中的头位置,用tail[·]表示字符和匹配得到潜在词e(n,k)在输入文本序列Sm中的尾位置;字符的头位置是指从前向后字符在输入文本中的位置,字符的尾位置是指从后往前字符在输入文本中的位置,以字符为例,的头位置为n、尾位置为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根据字符和在静态词典D中匹配得到的潜在词o(n,k)在输入序列Sm中的头尾位置计算四个距离。四个距离通过如下公式计算得到:字符在句子中的头位置与匹配得到的词on,k在句子中头位置的距离字符在句子中的头位置与匹配得到的词on,k在句子中尾位置的距离 字符在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离字符在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离四个距离可以用来表示字符和匹配的单词之间的关系。
3.3.5.1.2.5将四个距离进行余弦变换得到位置编码,分别是 (见文献Attention is all you need.In Advances in NeuralInformation Processing Systems,2017),将进行拼接,得到字符与匹配词oi的相对位置编码表示向量。
3.3.5.1.2.6令i=i+1,如果转3.3.5.1.2.2,否则说明字符对应的词集合中所有的单词都已经与进行动态融合,得到单词相对位置编码表示向量。将字符与单词相对位置编码表示向量进行拼接,得到字符的相对位置编码表示向量;
3.3.5.1.3令n=n+1,如果n≤N(输入文本序列Sm的长度),转3.3.5.1.2;否则说明Sm中的所有字符都已经被检索,将Sm中的相对位置编码表示向量进行拼接,得到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作为动态词信息融合模块的网络权重参数,将训练得到的作为识别模块中编码器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映射为一个多维向量其中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的第一网络权重参数第二网络权重参数第三网络权重参数中的所有元素值都初始化为[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.3.1令n=1;
3.3.3.6令n=n+1,若n≤N,转3.3.3.2;若n>N,子拼接模块将Sm中映射得到的字符级别的表示向量进行拼接,得到Sm字符级别的表示向量,将Sm字符级别的表示向量发送给总拼接模块和动态词信息融合模块;
3.3.4词匹配模块从S读取训练集文本Sm,找出Sm中每个字符在静态词典D中匹配得到的词集合第一前馈神经网络对于词集合进行线性映射,得到每个字符对应的词集合表示向量 将进行拼接,得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方式是:
3.3.4.1.1令n=1;
3.3.4.2第一前馈神经网络从词匹配层接收采用词映射方法对进行线性映射,得到词集合表示向量将词集合表示向量进行拼接,得到Sm的词集合表示向量,将Sm的词集合表示向量发送给动态词信息融合模块,方法是:
3.3.4.2.1令n=1;
3.3.4.2.4令n=n+1,若n≤N,转3.3.4.2.2,否则,说明序列Sm中所有字符对应的词集合都已经进行线性映射,得到相应的词集合表示向量将得到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.3令n=n+1,如果n≤N,转3.3.5.1.2;否则说明Sm中的所有字符都已经被检索,将Sm中的相对位置编码表示向量进行拼接,得到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作为动态词信息融合模块的网络权重参数,将训练得到的作为识别模块中编码器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.3.4.1.2.1初始化变量i=1;
3.3.4.1.2.2当Sm以字符作为开头的子序列与di完全相同时,说明匹配成功,将di加入词集合中,di在词集合中的用e(n,k)记录,e(n,k)表示di在Sm匹配得到的子序列是以第n个字符作为起始字符,第k个字符作为结束字符;
4.如权利要求1所述的一种基于动态词信息融合的命名实体识别方法,其特征在于3.3.4.2.3步所述将词集合中的每个单词进行线性映射得到其单词的词表示,将每个单词的词表示进行拼接得到字符对应的词集合表示的方法是:
3.3.4.2.3.1令i=1;
3.3.4.2.3.2取词集合中的第一个单词,用e(n,k)表示,说明该单词在Sm中是以第n个字符作为起始字符,第k个字符作为结束字符;第一前馈神经网络对e(n,k)进行线性映射,得到单词的词表示oi=o(e(n,k));
3.3.5.1.2.1令i=1;
3.3.5.1.2.2子注意力层从字符表示模块的子拼接模块接收字符的字符级别的表示向量作为计算自注意力的query向量,从词匹配模块中接收词集合表示向量中的第i个词表示向量oi=o(e(n,k)),作为计算自注意力的key向量和value向量;
3.3.5.1.2.3用head[·]表示字符和匹配得到潜在词e(n,k)在输入文本序列Sm中的头位置,用tail[·]表示字符和匹配得到潜在词e(n,k)在输入文本序列Sm中的尾位置;字符的头位置是指从前向后字符在输入文本中的位置,字符的尾位置是指从后往前字符在输入文本中的位置;单词的头位置是指单词的起始字符在输入文本中的头位置,单词的尾位置是指单词的结束字符在输入文本中的尾位置;
3.3.5.1.2.4根据字符和在静态词典D中匹配得到的潜在词o(n,k)在Sm中的头尾位置计算四个距离;四个距离通过如下公式计算得到:字符在句子中的头位置与匹配得到的词on,k在句子中头位置的距离字符在句子中的头位置与匹配得到的词on,k在句子中尾位置的距离字符在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离 字符在句子中的尾位置与匹配得到的词on,k在句子中头位置的距离四个距离用来表示字符和匹配的单词之间的关系;
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 true CN115329766A (zh) | 2022-11-11 |
CN115329766B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115935994A (zh) * | 2022-12-12 | 2023-04-07 | 重庆邮电大学 | 一种智能识别电商标题方法 |
CN116227495A (zh) * | 2023-05-05 | 2023-06-06 | 公安部信息通信中心 | 一种实体分类的数据处理系统 |
WO2024139293A1 (zh) * | 2022-12-29 | 2024-07-04 | 深圳云天励飞技术股份有限公司 | 地址提取方法、装置、计算机设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311152B1 (en) * | 1999-04-08 | 2001-10-30 | Kent Ridge Digital Labs | System for chinese tokenization and named entity recognition |
CN111783459A (zh) * | 2020-05-08 | 2020-10-16 | 昆明理工大学 | 一种基于改进Transformer+CRF的老挝语命名实体识别方法 |
US20210012199A1 (en) * | 2019-07-04 | 2021-01-14 | Zhejiang University | Address information feature extraction method based on deep neural network model |
CN112632997A (zh) * | 2020-12-14 | 2021-04-09 | 河北工程大学 | 基于BERT和Word2Vec向量融合的中文实体识别方法 |
WO2021114745A1 (zh) * | 2019-12-13 | 2021-06-17 | 华南理工大学 | 一种基于词缀感知的社交媒体命名实体识别方法 |
CN113806494A (zh) * | 2021-10-11 | 2021-12-17 | 中国人民解放军国防科技大学 | 一种基于预训练语言模型的命名实体识别方法 |
CN114048750A (zh) * | 2021-12-10 | 2022-02-15 | 广东工业大学 | 一种融合信息高级特征的命名实体识别方法 |
CN114154504A (zh) * | 2021-12-06 | 2022-03-08 | 重庆邮电大学 | 一种基于多信息增强的中文命名实体识别算法 |
CN114386417A (zh) * | 2021-12-28 | 2022-04-22 | 北京理工大学 | 一种融入词边界信息的中文嵌套命名实体识别方法 |
CN114662476A (zh) * | 2022-02-24 | 2022-06-24 | 北京交通大学 | 一种融合词典与字符特征的字符序列识别方法 |
-
2022
- 2022-08-23 CN CN202211009812.3A patent/CN115329766B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311152B1 (en) * | 1999-04-08 | 2001-10-30 | Kent Ridge Digital Labs | System for chinese tokenization and named entity recognition |
US20210012199A1 (en) * | 2019-07-04 | 2021-01-14 | Zhejiang University | Address information feature extraction method based on deep neural network model |
WO2021114745A1 (zh) * | 2019-12-13 | 2021-06-17 | 华南理工大学 | 一种基于词缀感知的社交媒体命名实体识别方法 |
CN111783459A (zh) * | 2020-05-08 | 2020-10-16 | 昆明理工大学 | 一种基于改进Transformer+CRF的老挝语命名实体识别方法 |
CN112632997A (zh) * | 2020-12-14 | 2021-04-09 | 河北工程大学 | 基于BERT和Word2Vec向量融合的中文实体识别方法 |
CN113806494A (zh) * | 2021-10-11 | 2021-12-17 | 中国人民解放军国防科技大学 | 一种基于预训练语言模型的命名实体识别方法 |
CN114154504A (zh) * | 2021-12-06 | 2022-03-08 | 重庆邮电大学 | 一种基于多信息增强的中文命名实体识别算法 |
CN114048750A (zh) * | 2021-12-10 | 2022-02-15 | 广东工业大学 | 一种融合信息高级特征的命名实体识别方法 |
CN114386417A (zh) * | 2021-12-28 | 2022-04-22 | 北京理工大学 | 一种融入词边界信息的中文嵌套命名实体识别方法 |
CN114662476A (zh) * | 2022-02-24 | 2022-06-24 | 北京交通大学 | 一种融合词典与字符特征的字符序列识别方法 |
Non-Patent Citations (1)
Title |
---|
王颖等: "基于 XAr/T-net的业务流程建模与分析" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115935994A (zh) * | 2022-12-12 | 2023-04-07 | 重庆邮电大学 | 一种智能识别电商标题方法 |
CN115935994B (zh) * | 2022-12-12 | 2024-03-08 | 芽米科技(广州)有限公司 | 一种智能识别电商标题方法 |
WO2024139293A1 (zh) * | 2022-12-29 | 2024-07-04 | 深圳云天励飞技术股份有限公司 | 地址提取方法、装置、计算机设备及存储介质 |
CN116227495A (zh) * | 2023-05-05 | 2023-06-06 | 公安部信息通信中心 | 一种实体分类的数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115329766B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444726B (zh) | 基于双向格子结构的长短时记忆网络的中文语义信息提取方法和装置 | |
CN109299273B (zh) | 基于改进seq2seq模型的多源多标签文本分类方法及其系统 | |
CN110083831B (zh) | 一种基于BERT-BiGRU-CRF的中文命名实体识别方法 | |
CN115329766B (zh) | 一种基于动态词信息融合的命名实体识别方法 | |
CN111914067B (zh) | 中文文本匹配方法及系统 | |
CN109635279B (zh) | 一种基于神经网络的中文命名实体识别方法 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN110516253B (zh) | 中文口语语义理解方法及系统 | |
CN112800776B (zh) | 双向gru关系抽取数据处理方法、系统、终端、介质 | |
CN114330354B (zh) | 一种基于词汇增强的事件抽取方法、装置及存储介质 | |
CN113076739A (zh) | 一种实现跨领域的中文文本纠错方法和系统 | |
CN116127953B (zh) | 一种基于对比学习的中文拼写纠错方法、装置和介质 | |
CN109918681B (zh) | 一种基于汉字-拼音的融合问题语义匹配方法 | |
CN111611346A (zh) | 一种基于动态语义编码和双注意力的文本匹配方法及装置 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN113239663B (zh) | 一种基于知网的多义词中文实体关系识别方法 | |
CN113282729B (zh) | 基于知识图谱的问答方法及装置 | |
CN114691864A (zh) | 文本分类模型训练方法及装置、文本分类方法及装置 | |
CN114662476A (zh) | 一种融合词典与字符特征的字符序列识别方法 | |
CN115600597A (zh) | 基于注意力机制和词内语义融合的命名实体识别方法、装置、系统及存储介质 | |
CN113609857A (zh) | 基于级联模型和数据增强的法律命名实体识别方法及系统 | |
CN117875326A (zh) | 一种基于词汇增强的司法命名实体识别方法 | |
CN113392929A (zh) | 一种基于词嵌入与自编码器融合的生物序列特征提取方法 | |
CN111199152A (zh) | 一种基于标签注意力机制的命名实体识别方法 | |
CN115358227A (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 |