CN113515947A - 一种用于级联地名实体识别模型的训练方法 - Google Patents
一种用于级联地名实体识别模型的训练方法 Download PDFInfo
- Publication number
- CN113515947A CN113515947A CN202110837354.1A CN202110837354A CN113515947A CN 113515947 A CN113515947 A CN 113515947A CN 202110837354 A CN202110837354 A CN 202110837354A CN 113515947 A CN113515947 A CN 113515947A
- Authority
- CN
- China
- Prior art keywords
- place name
- layer
- model
- word
- output
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012549 training Methods 0.000 title claims abstract description 33
- 239000013598 vector Substances 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 9
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 4
- 230000003190 augmentative effect Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000013138 pruning Methods 0.000 claims description 2
- 238000013528 artificial neural network Methods 0.000 description 88
- 238000002372 labelling Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 230000000694 effects Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Character Discrimination (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种用于级联地名实体识别模型的训练方法,所述级联地名实体识别模型是端到端模型,从输入到输出依次包括嵌入层、BiLSTM层、自注意力层以及CRF层,其中,所述嵌入层用于将语料样本的每个字映射为低维随机变量,所述自注意力层用于根据BiLSTM的输出计算级联地名文字的隐向量,所述方法包括:对级联地名语料数据进行预处理,获取训练样本;基于所述训练样本训练所述模型。
Description
技术领域
本发明涉及自然语言处理技术领域,具体涉及命名实体识别,更具体涉及一种用于级联地名实体识别模型的训练方法。
背景技术
中文地名实体识别存在汉语分词与地名实体识别互相影响的问题,当多个地名连续出现时该问题尤难处理。近年来的地名识别方法主要可以分为下述两种:
第一种,基于规则的地名识别方法。通过将人们对地名识别的认知组织为一系列的规则,实现对文本的地名识别与抽取。例如通过识别“省”、“市”、“县”等关键词触发实体识别规则。该类方法在结构单一、样本趋同、数据集较小的情况下能够取得较好的效果,且实现简单快速。但随着数据集的扩大以及对更细粒度地名识别需求的产生,这类关键词的数量会急剧膨胀,人工化的规则编写变得繁琐低效,适用性差,且维护成本很高。
第二种,基于机器学习或深度学习模型的地名识别方法。一般是通过对大规模文本语料中已标注好的命名实体进行上下文分析,构建模型进行分析,其实质是一个序列标注问题。模型的输入为一串连续的文本,输出是对应输入文本长度的一串连续标注。常见的序列标注模型包括隐马尔可夫模型(Hidden Markov Model,简称HMM)、条件随机场(Conditional Random Fields,简称CRF)、循环神经网络(Recurrent Neural Network,简称RNN)等。
隐马尔可夫模型是一个广泛应用于标注问题的统计学模型。该模型基于齐次马尔可夫性假设和观测独立性假设,一般通过EM算法学习模型参数λ=(A,B,π),再基于这些参数,使用Viterbi算法对新进的模型输入进行标注输出,其中,A为转移概率矩阵,B为观测概率矩阵,π为初始状态概率矩阵。EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,是很多机器学习领域算法的基础。Viterbi算法是一种动态规划算法,用于寻找最有可能产生观测事件序列的维特比路径——隐含状态序列。中科院词法分析系统ICTCLAS采用的就是基于层叠马尔可夫模型的命名实体识别,在对词语进行粗粒度切分的结果集上,采用底层HMM识别出普通的无嵌套人名、地名、机构名等,再利用高层HMM模型识别出嵌套的人名、复杂地名和机构名。
条件随机场模型属于判别式模型,是给定随机变量条件X的情况下,随机变量Y的马尔可夫随机场。标注问题中所指的一般为线性链条件随机场模型。相较于HMM,CRF可以采用更多的特征函数,理论上能有较好的效果,但相对的训练更为复杂。
RNN、LSTM(Long-Short Term Memory,长短期记忆网络)等模型在序列问题上具有更良好的表现,这类模型能够更长远地考虑上下文的信息。相较于HMM和CRF,该类模型避免了对文本语料的上下文关系进行齐次马尔科夫性假设,也不需要像CRF纠结于特征函数的选择,更多的关注点在于模型调参。
现有的技术中多是针对多类融合了人名、地名、机构名的命名实体识别任务进行分析建模,没有对级联地名的划分标注问题进行深入研究。现有技术对于级联地名标注适用性有限、对于重复、缺失地名现象识别准确率低。
发明内容
为解决上述现有技术中存在的问题,提供一种用于级联地名实体识别模型的训练方法,所述级联地名实体识别模型是端到端模型,从输入到输出依次包括嵌入层、BiLSTM层、自注意力层以及CRF层,其中,所述嵌入层用于将语料样本的每个字映射为低维随机变量,所述自注意力层用于根据BiLSTM的输出计算级联地名文字的隐向量,所述方法包括:
对级联地名语料数据进行预处理,获取训练样本;
基于所述训练样本训练所述模型。
在一些实施例中,所述预处理包括对省市两级数据进行随机采样并作人工删减和/或扩充。
在一些实施例中,以40%的比例对原始数据进行随机采样,将所述采样后的数据中的省、市两级数据分别以1/2的概率删除后加入到原始数据。
在一些实施例中,所述自注意力层利用以下公式计算级联地名文字的隐向量,
其中,π(i,j)是级联地名中第i个文字与第j个上下文文字的注意力得分,hi表示BiLSTM层的第i个级联地名文字的输出向量,hj表示BiLSTM层的第j个级联地名文字的输出向量,π*(i,j)表示每个注意力得分的归一化权重,ei表示第i个地名文字输出对应的隐向量。
在一些实施例中,所述训练的损失函数为:
loss=∑log(p(ytrue|X))
其中,
其中,p表示概率,ytrue为样本的真实标签序列,X表示输入序列,y表示预测序列,s表示得分函数,YX是序列X的所有可能输出,表示其中每个可能的地名标签序列,A是标签转移得分矩阵,表示对第i个字打上标签yi的非归一化概率,yi表示第i个标签,yi+1表示第i+1个标签,log(p(ytrue|X))是单个样本的对数损失,loss是对一个批次样本的对数损失求和。
在一些实施例中,抽取训练集数据与测试集数据的数量比例为4:1。
在一些实施例中,利用Mini-batch GD方法对所述模型进行训练。
本发明提供一种利用上述方法产生的模型进行级联地名实体识别的方法,包括:基于所述模型对新的语料进行标签预测,其中,所述标签预测采用以下公式,
本发明提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述任一项方法的步骤。
本发明提供一种计算机设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述任一项方法的步骤。
本发明具有如下特点和有益效果:本发明采用BiLSTM进行级联地名识别问题的模型训练,改良了对于重复、缺失地名现象识别准确率低的问题;本发明采用CRF作为级联地名实体识别的输出层,解决了输出标签不合法的问题;本发明首次将BiLSTM+CRF模型应用于级联地名分析问题中。与直接使用CRF进行地名识别的技术方案相比,在准确率上有较好的提升。
附图说明
图1示出了根据本发明一个实施例所采用的模型。
图2示出了现有技术的神经网络模型。
图3示出了现有技术的RNN模型。
图4示出了现有技术RNN模型的展开图。
图5示出了现有技术RNN对于距离较近的信息的利用过程。
图6示出了现有技术RNN对于距离较近的信息的利用过程。
图7示出了现有技术RNN神经网络的结构。
图8示出了现有技术LSTM中神经网络的结构。
图9示出了现有技术LSTM的输入和输出。
图10示出了现有技术LSTM的“门”的结构。
图11示出了LSTM神经网络信息传递的关键线路。
图12示出了LSTM中“遗忘门”对数据的处理过程。
图13示出了LSTM中“输入门”对数据的处理过程。
图14示出了LSTM中根据中间数据计算当前神经网络状态的过程。
图15示出了LSTM中“输出门”对数据的处理过程。
图16示出了线性链条件随机场的图结构。
具体实施方式
下面结合附图和具体实施例对本发明加以说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明的研究范畴为对于一串连续出现的地名进行标注,例如,“浙江省杭州市滨江区长河街道滨安路1197号杭州高新后勤服务中心4号1单元4123室”,标注内容可由省、市、区县精确到楼牌号。其问题研究的核心是对于一组连续出现且存在前后层级依赖关系的地名进行地名实体识别及划分。
现有的技术中多是针对多类融合了人名、地名、机构名的命名实体识别任务进行分析建模,没有对级联地名的划分标注问题进行深入研究。发明人在研究级联地名实体识别问题时认识到:
第一,级联地名的划分标注应具有严格的上下文依赖关系,例如对当前词标注为“city”,则其上下文不能再次出现该标签,且前文必须为市级以上的标签,后文只能出现市级以下的标签。因此上下文标签存有一定的条件关系。
第二,实际语料中,存在地名缺失和地名重复的现象。地名缺失现象经常出现,地名缺失一般以缺少省、市名为主,例如,对于“北京市海淀区中关村街道”,地名语料中经常会出现省略“北京市”的情况,成为“海淀区中关村街道”。地名重复现象则随机出现,例如,“北京市北京市海淀区中关村街道”,其中,“北京市”重复出现两次。
针对以上两个问题,发明人认为:
现有技术中,传统的HMM和CRF模型通过对上下文依赖关系进行假设来保证前后预测结果具有强依赖关系。采用CRF进行序列标注时,对级联结构比较完整的文本语料能取得较好的效果,但对于存在缺失、重复的语料,CRF的标注准确率会快速下降,因此对当前词的标注还需要依赖于历史词。
现有技术中,BiLSTM模型能够利用更早的历史预测结果来辅助标签预测。BiLSTM是LSTM模型的变种,采用从前往后,从后往前的两层LSTM,从两个方向对语料进行建模,这种方式不但可以提高命名实体识别的准确率,而且与级联地名识别任务中前后地名词存在依赖关系的任务场景相契合。采用BiLSTM模型虽然可以有效的结合历史词对当前字进行标注,但是考虑到在本方法所述标注问题中,每个地名的标注是具有层级依赖关系的,以IOB标注体系为例,标注为B-city的字后下一个字的标签只能是I-city而不能是I-province,这个问题仅凭BiLSTM很难解决,单一的BiLSTM模型很难对该问题进行建模。IOB是标注体系中的一种,在IOB标注体系中,I表示In,即内部,O表示Outside,即外部,B表示Beginning,即开始。例如,“浙江省”的标注为:浙(B-province),江(I-province),省(I-province)。O用于标注非地名名词。单纯采用BiLSTM理论上会有更高的准确率,但是无法保证标签前后依赖关系。例如,对于“浙江省杭州市”,可能出现以下标注结果:
浙(B-province)
江(I-province)
省(I-province)
杭(B-city)
州(I-province)
市(I-city)。
其中,“州”的正确标注应为“I-city”,但是其错误地将“州”标为I-province。通过添加CRF层可以保证B-city后不会出现I-province或更高地名级别的标签。
本发明的目的是解决上述现有技术对于级联地名标注适用性有限、对于重复、缺失地名现象识别准确率低的问题。考虑到级联地名的标注划分存在严格的上下文依赖关系,因此本发明在采用BiLSTM提高标注准确率的基础上,在输出层引入了CRF层来保证前后地名间的强约束关系,因此,通过在BiLSTM的输出之上增加自注意力层和CRF层,可以解决BiLSTM中每个神经元独立的对当前字进行打标签而无法保证标签之间的强依赖约束问题。
根据本发明的一个实施例,提供一种基于BiLSTM+CRF模型进行级联地名识别的方法,所采用的模型如图1所示,自下而上,从输入到输出依次包括嵌入层、BiLSTM层、自注意力层以及CRF层。其中,101表示输入的级联地名,以地名包含5个字为例,w1、w2、w3、w4、w5分别表示级联地名的5个字;102代表嵌入层,即Embedding层,所述嵌入层用于将语料样本的每个字映射为低维随机变量,每个字会先经过Embedding层得到对应的向量表示;103为BiLSTM中的一层,方向为从左向右,l1、l2、l3、l4、l5分别表示LSTM中的神经网络单元,每个神经网络单元对应于图8中的神经网络900。104为BiLSTM中的另外一层,其方向为从右向左,r1、r2、r3、r4、r5分别表示LSTM中的神经网络单元,每个神经网络单元对应于图8中的神经网络900;105是LSTM的隐层输出,用h1、h2、h3、h4、h5表示;106代表自注意力层,即selfattention层;107表示CRF层;108表示输出的与输入字对应的标签,分别用tag1、tag2、tag3、tag4、tag5表示。
为了方便理解本发明,以下对RNN、LSTM、BiLSTM进行说明。
传统的神经网络如图2所示,其中,A表示神经网络,Xt表示输入,ht表示输出。当其用于级联地名识别时,将字逐个输入,输出每个字的标签。在传统的神经网络中,打标签的过程不能利用字与字之间语义上的联系。
循环神经网络RNN对此进行了改进,图3示出了RNN的结构,与图2相比,图3增加了一个循环箭头,用于表示神经网络利用历史信息。
将图3的循环神经网络展开得到图4。图4中,RNN展开后得到一系列基本的神经网络,分别是501、502、503以及504,省略号表示不限于四个神经网络。这些基本的神经网络内部结构完全相同,他们之间并不不孤立,501有箭头指向502,502有箭头指向503,503有箭头指向504,这些箭头表示神经网络的输出不仅与输入有关,还与上一个神经网络的信息有关。以神经网络502为例,其输出h1不仅与输入X1有关,还与501的信息有关。
当RNN用于级联地名识别时,多个字同时输入RNN,每个字输入对应的神经网络,对每个字打标签不再是孤立的行为,其要依赖上一个神经网络的信息。可以理解,在用程序语言实现RNN时,只需要利用一个神经网络进行循环计算。
从图4中可以看出,502依赖501,503依赖502,因此,503间接依赖501,即503也利用了501的信息。理论上如此,但是在实际应用中,RNN对于距离较近的信息的利用有较好的效果,对于距离较远的信息表现不佳。图5中示出了RNN对于距离较近的信息的利用过程。图5中,603与601和602距离较近,因此,603的输出h3可以较好地利用601的输入X1以及602的输入X2的信息。图6示出了RNN对于距离较远的信息的利用过程。图6中,省略号表示703距离701和702较远,因此703的输出ht+1对701的输入X1以及702的输入X2的信息利用不佳。
有研究认为,RNN对于较远距离的信息利用不佳的原因在于其神经网络比较简单,图7示出了常见的RNN神经网络的结构,其中,其神经网络只有一个tanh层。
LSTM对RNN中简单的神经网络做出了改进,图8示出了LSTM中神经网络的结构。从图8可以看出,LSTM只是改变了神经网络的内部结构,并没有改变RNN的循环结构,因此,LSTM是一种特殊的RNN。图8中,神经网络900从输入Xt到输出ht经历了4层结构,分别是901、902、903以及904,比图7中的一个tanh层结构复杂。这些神经网络的层包含了要训练的权重,即神经网络的参数。
以下对图8中神经网络的4层网络结构进行详细说明。先说明其图例,这些图例也用于下文的附图。图8中包含5个图例,分别是981、982、983、984以及985,其中,直角矩形框981代表神经网络的层,901、902、903以及904是神经网络的层,此处的直角矩形框与图8中较大的圆角矩形框含义不同,较大的圆角矩形框表示神经网络,例如900,其包含多个直角矩形框所表示的神经网络层。图例中的圆圈982表示逐点操作,可以理解,圆圈中包含乘号表示逐点相乘,圆圈中包含加号表示逐点相加。图例中的单一箭头983表示向量传递,合并箭头984表示两个向量连接后向后传递,分叉箭头985表示一个向量复制为两个相同的向量向后传递。
以下从输入输出的角度说明图8中的神经网络900与前后神经网络的关系。为了清晰展示,将图8中的输入输出显示在图9中。在图9中,神经网络900的输入包括外部输入Xt,以及从箭头1001和箭头1002传来的上一个神经网络的信息,其中,箭头1001传来上一个神经网络的状态信息Ct-1,箭头1002传来上一个神经网络的输出ht-1。神经网络的输出包括外部输出ht以及自身的状态信息Ct,其中,ht复制后并通过箭头1004传给下一个神经网络,Ct通过箭头1003传给下一个神经网络。
明确了输入输出以后,以下针对图8中的局部细节,说明LSTM的神经网络如何将输入处理得到输出。
在图8中,对输入数据以及中间数据的处理有一些特定的计算过程,称为“门”,其含义是,信息通过这些“门”之后,被加工处理为新的信息。这些“门”的结构单独展示在图10中,其中,包含一个sigmoid神经网络层1101和一个逐点乘法操作1102。sigmoid层1201输出0到1之间的数值,描述每个部分有多少量可以通过。0代表“不许通过”,1代表“允许通过”。在图8中有3个这样的门,根据其所起的不同作用,分别称为“遗忘门”、“输入门”以及“输出门”,具体对应于图8中的神经网络层901、902以及904。
图8中LSTM神经网络的核心是信息的传递,图11示出了图8中LSTM神经网络信息传递的关键线路。图11包含了图8中神经网络的全部内容,其中,要重点说明的部分以黑色突出显示,其它部分用浅灰色显示。图11中,Ct-1表示前一个神经网络的状态,Ct表示当前神经网络的状态,黑色箭头表示当前神经网络的状态Ct是基于上一个神经网络的状态Ct-1计算得出的结果。
以上说明了LSTM神经网络中的输入输出以及其信息传递的主线,以下具体说明LSTM如何通过3个门将输入数据处理为主线所需的中间数据以及输出数据。
图12示出了“遗忘门”对数据的部分处理过程。其中,外部输入Xt与上一个神经网络的输出ht-1连接后通过sigmoid层,得到ft,公式如下,
ft=σ(Wf·[ht-1,xt]+bf)
其中,ft表示遗忘门的输出结果,σ表示sigmoid函数,Wf表示遗忘门的权重,ht-1表示上一个神经网络的输出,xt表示当前神经网络的输入,bf表示遗忘门的偏置。
图13示出了“输入门”对数据的部分处理过程。其中,外部输入Xt与上一个神经网络的输出ht-1连接后通过sigmoid层,得到输入门的处理结果it,公式如下:
it=σ(Wi·[ht-1,xt]+bi)
其中,it表示输入门的输出结果,σ表示sigmoid函数,Wi表示输入门的权重,ht-1表示上一个神经网络的输出,xt表示当前神经网络的输入,bi表示输入门的偏置。
以上通过遗忘门和输入门,得到了计算当前神经网络状态的全部中间数据,图14示出了根据这些中间数据计算当前神经网络状态的过程,即图11所示的主线过程。其中,上一个神经网络的状态Ct-1与遗忘门的输出ft逐点相乘,输入门的输出结果it与候选向量逐点相乘,两个逐点相乘的结果进行逐点相加后,即得出当前的神经网络的状态Ct,公式如下:
以上围绕计算主线,说明了如何计算得出当前神经网络的状态。
获得当前神经网络的状态后,即可利用输出门,根据当前神经网络的输入和状态计算输出。图15示出了输出的计算过程。其中,外部输入Xt与上一个神经网络的输出ht-1连接后通过sigmoid层,得到输出门的输出结果ot,公式如下:
ot=σ(Wo[ht-1,xt]+bo)
其中,ot表示输出门的输出结果,Wo表示输出门的权重,ht-1表示上一个神经网络的输出,xt表示当前神经网络的输入,bo表示输出门的偏置。
得到ot后,将当前网络状态Ct经过tanh处理后与ot逐点相乘,即可计算得出输出ht,公式如下:
ht=ot*tanh(Ct)
其中,ht表示当前神经网络的输出,ot表示输出门的输出结果,Ct表示当前神经网络状态。
通过以上说明,可以知道,LSTM是RNN的一种变体,能够学习长依赖关系,它解决了RNN训练时所产生的梯度爆炸或梯度消失问题。LSTM巧妙运用门控概念实现长期记忆,同时它也能够捕捉序列信息。
在一些文献中,将图8整体称为LSTM神经网络,将图8中的神经网络900称为神经元或神经网络模块,其原因是,在实际使用中,需要多个神经网络前后衔接来完成训练和预测任务,各个神经元之间共用相同的权值参数。
当仅使用一层LSTM时,表示当前字与前文的依赖关系。BiLSTM在原有LSTM的基础之上新增了一层反向的LSTM,用以表示当前字对后文的依赖关系。由此可得BiLSTM的完整输出为
为进一步刻画地名文字与上下文地名文字之间的关联关系,本发明在BiLSTM的输出之上叠加了一个自注意力层,即Self-Attention层。具体的,首先计算地名串中第i个文字与第j个上下文文字的注意力得分:
随后,通过应用softmax计算每个注意力得分的归一化权重,可以进一步得到每个输出的聚合表示:
其中,ei表示第i个地名文字输出对应的隐向量。通过这种方式,BiLSTM的每个输出节点能够提取上下文中与当前地名文字更相关的特征并聚合到自身表示中。
在级联地名实体识别中,为避免前文所述BiLSTM存在的输出不合法的情况,在模型中增加一个CRF层,完整的网络结构如图1所示。
为方便理解本发明,以下说明条件随机场CRF。
条件随机场由John Lafferty,Andrew McCallum和Fernando Pereira,于2001年在论文《Conditional Random fields:Probabilistic Models for Segmenting andLabeling Sequence Data》中提出。条件随机场定义为:
设X与Y是随机变量,P(Y|X)是在给定X的条件下Y的条件概率分布。若随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,即P(Yv∣X,Yw,w≠v)=P(Yv∣X,Yw,w~v)对任意顶点v成立,则称条件概率分布P(Y|X)是条件随机场。其中,V表示无向图的顶点,E表示无向图的边,w~v表示在无向图G=(V,E)中与顶点v有边连接的所有顶点w。w≠v表示顶点v以外的所有顶点。Yv表示与顶点v对应的随机变量,Yw表示与顶点w对应的随机变量。
其中,随机场定义为:
设T是一无限实数集,把依赖于参数t∈T的一族随机变量称为随机过程,记为{X(t),t∈T},若T是n维空间的某个子集,即t是一个n维向量,此时,随机过程又称为随机场。
马尔可夫随机场是具有马尔可夫性的随机场。
实际应用中,习惯把线性链条件随机场简称为条件随机场。线性链条件随机场的定义为:
设X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn)均为线性表示的随机变量序列,若在给定随机变量序列X的条件下,随机变量Y的条件概率分布P(Y|X)构成条件随机场,满足马尔可夫性
P(Yi∣X,Y1,…,Yi-1,Yi+1,…,Yn)=P(Yi∣X,Yi-1,Yi+1),
则称P(Y|X)为线性链条件随机场。其中,i=1,2,…,n。
图16示出了线性链条件随机场的图结构,其中,x1,x2,…,xn是输入,y1,y2,…,yn是输出。
本发明的模型中在BiLSTM的基础上增加了自注意力层和CRF层,解决了在级联地名识别中,BiLSTM存在的输出不合法的情况。
根据本发明的一个实施例,对上述模型采用以下训练方法进行训练,从而确定模型参数。本发明中的模型是一个端到端模型,各层参数是同时训练的,参数通过神经网络反向传播同步更新。本发明的模型采用有监督的方式训练,即训练样本包括文本与对应的标注标签。
本发明的训练方法包括以下步骤:
对IOB语料数据进行预处理。实际语料中,地名缺失一般以省、市为主,重复现象则随机出现。例如,对于“北京市海淀区中关村街道”,地名语料中经常会出现省略“北京市”的情况,即“海淀区中关村街道”;或者存在重复出现“北京市”的情况,“北京市北京市海淀区中关村街道”。因此在语料预处理阶段,为了强化地名缺失情况的训练效果,对省市两级进行随机采样并作人工删减/扩充处理。
删减的处理方式如下:
训练数据要考虑各种位置的地名缺失情况,因此随机抽取n%的原始数据,根据本发明的一个实施例,当n取40时取得较好的训练效果,对省、市两级数据分别给定1/2的概率删除数据,处理后重新加入到原始数据。由于省、市两级数据处理互相独立,且数据量足够大。根据本发明的一个实施例,处理结果如下表所示,
只缺省级数据 | 只缺市级数据 | 缺省市数据 | 不缺数据 |
0.1 | 0.1 | 0.1 | 0.7 |
扩充的处理方式如下:
以p%的概率对地名进行随机扩充处理,p为超参数。例如,对于ABC(A、B、C为各级地名),如果地名A满足概率条件,可以扩充为AABC。,根据本发明的一个实施例,p取0.1时可取的较好的训练效果。
对原始数据进行随机采样并作人工删减/扩充处理的目的是对原始数据进行增广,增强模型的泛化性能。
在对数据进行增广后,对数据进行随机采样,抽取训练集数据与测试集数据。根据本发明的一个实施例,二者的数量比例为4:1时,可取得较好的训练效果。
在数据预处理后,将所有样本中出现的字通过一个嵌入矩阵映射到低维稠密的向量空间中。在机器学习中,需要把one hot的高维稀疏的离散字向量映射到低维稠密的向量空间,方便后续模型读取与处理,一般通过一个N x d的嵌入矩阵实现。根据本发明的一个实施例,采用random embedding将每个字映射为d维的向量表示,其映射关系可用矩阵X∈RN×d表示,其中N为字符集大小。根据本发明的一个实施例,初始化方法还可采用zeroinitialization、Xavier initialization等方式。据本发明的一个实施例,d为200。根据本发明的一个实施例,d可以为50维或100维。
本发明采用端到端模型,输入是级联地名,输出是每个字的标签。每个字用计算机可识别的文字编码表示,根据本发明的一个实施例,每个字采用unicode表示。randomembedding为随机映射,每个维度会有一个随机的值,模型训练过程中,每个字映射的向量会根据模型反向传播的梯度动态调整。映射为相同维度是为了保证后续每一层传播的网络结构一致性。采用随机映射的主要目的是将每个字映射到一个低维稠密的空间。
在模型训练中,对于每一组输入文本序列X=(x1,x2,…,xn)和模型预测的可能结果y=(y1,y2,…yn),其中yi∈{1,2,…,K}表示第i个字的预测标签,K表示标签的总个数,n为序列长度,采用下式作为得分函数,
其中,P和A是CRF中的参数矩阵。P是输出得分矩阵,P是n×K的矩阵,其中n为词的个数,K为标签个数,表示对第i个字打上标签yi的非归一化概率。矩阵A是标签转移得分矩阵,表示当前文本从标签yi转移到标签yi+1的得分。通过上式可以同时保证样本标签准确性并建模标签的前后依赖关系。
对于输入序列X,对其所有可能的输出序列采用如下公式进行softmax处理,
loss=∑log(p(ytrue|X))
其中,ytrue为样本的真实标签序列,log(p(ytrue|X))是单个样本的对数损失,loss是对一个批次样本的对数损失求和。
随后,采用mini-Batch GD(BGD)对上式进行迭代优化直至收敛,可得模型参数。
根据本发明的一个实施例,采用mini-Batch GD基于上式的损失函数对模型进行迭代优化直至收敛,训练目标是使上述的模型损失函数最小化。mini-Batch GD,也称BGD(Batch Gradient Descent,批量梯度下降),是深度学习中常用的优化方法方法,与之相对的还有SGD(stochastic gradient descent,随机梯度下降)和GD(gradient descent,全量梯度下降)。BGD是两者的折衷,即批量地将文本与预测标签输入模型,根据本发明的一个实施例,一个批次32个样本,计算模型梯度,求平均值,然后更新模型,其优势在于相对GD收敛的更快,相对SGD更为稳定。
根据本发明的一个实施例,提供一种利用上述模型识别级联地名的方法,包括:
将一组新的文本语料输入上述训练好的模型,可以通过下式计算地名串X在所有可能输出序列上的得分,取得分最高的结果得到模型预测结果y*,
在命名实体识别任务中,本发明结合了BiLSTM和CRF的特点,即BiLSTM善于处理长距离的文本信息,但无法处理相邻标签之间的依赖关系,而CRF能通过邻近标签的关系获得一个最优的预测序列,可以弥补BiLSTM的缺点。实验结果显示,本发明将识别准确率由85%提高到91%,取得了较佳的识别效果。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。
Claims (10)
1.一种用于级联地名实体识别模型的训练方法,所述级联地名实体识别模型是端到端模型,从输入到输出依次包括嵌入层、BiLSTM层、自注意力层以及CRF层,其中,所述嵌入层用于将语料样本的每个字映射为低维随机变量,所述自注意力层用于根据BiLSTM的输出计算级联地名文字的隐向量,所述方法包括:
对级联地名语料数据进行预处理,获取训练样本;
基于所述训练样本训练所述模型。
2.根据权利要求1所述的方法,所述预处理包括对省市两级数据进行随机采样并作人工删减和/或扩充。
3.根据权利要求2所述的方法,以40%的比例对原始数据进行随机采样,将所述采样后的数据中的省、市两级数据分别以1/2的概率删除后加入到原始数据。
6.根据权利要求1所述的方法,抽取训练集数据与测试集数据的数量比例为4:1。
7.根据权利要求3所述的方法,利用Mini-batch GD方法对所述模型进行训练。
9.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现根据权利要求1至8任一项所述方法的步骤。
10.一种计算机设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110837354.1A CN113515947B (zh) | 2021-07-23 | 2021-07-23 | 一种用于级联地名实体识别模型的训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110837354.1A CN113515947B (zh) | 2021-07-23 | 2021-07-23 | 一种用于级联地名实体识别模型的训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515947A true CN113515947A (zh) | 2021-10-19 |
CN113515947B CN113515947B (zh) | 2024-03-08 |
Family
ID=78068671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110837354.1A Active CN113515947B (zh) | 2021-07-23 | 2021-07-23 | 一种用于级联地名实体识别模型的训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515947B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807328A (zh) * | 2019-10-25 | 2020-02-18 | 华南师范大学 | 面向法律文书多策略融合的命名实体识别方法及系统 |
CN111325022A (zh) * | 2018-11-28 | 2020-06-23 | 北京京东尚科信息技术有限公司 | 识别层级地址的方法和装置 |
CN111783462A (zh) * | 2020-06-30 | 2020-10-16 | 大连民族大学 | 基于双神经网络融合的中文命名实体识别模型及方法 |
CN111967266A (zh) * | 2020-09-09 | 2020-11-20 | 中国人民解放军国防科技大学 | 中文命名实体识别模型及其构建方法和应用 |
-
2021
- 2021-07-23 CN CN202110837354.1A patent/CN113515947B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111325022A (zh) * | 2018-11-28 | 2020-06-23 | 北京京东尚科信息技术有限公司 | 识别层级地址的方法和装置 |
CN110807328A (zh) * | 2019-10-25 | 2020-02-18 | 华南师范大学 | 面向法律文书多策略融合的命名实体识别方法及系统 |
CN111783462A (zh) * | 2020-06-30 | 2020-10-16 | 大连民族大学 | 基于双神经网络融合的中文命名实体识别模型及方法 |
CN111967266A (zh) * | 2020-09-09 | 2020-11-20 | 中国人民解放军国防科技大学 | 中文命名实体识别模型及其构建方法和应用 |
Non-Patent Citations (1)
Title |
---|
毛明毅等: "加入自注意力机制的BERT命名实体识别模型", 《智能系统学报》, vol. 15, no. 4, pages 2 * |
Also Published As
Publication number | Publication date |
---|---|
CN113515947B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ganea et al. | Hyperbolic neural networks | |
CN111291556B (zh) | 基于实体义项的字和词特征融合的中文实体关系抽取方法 | |
CN112819023B (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN109800437A (zh) | 一种基于特征融合的命名实体识别方法 | |
CN108388559A (zh) | 地理空间应用下的命名实体识别方法及系统、计算机程序 | |
CN111191466B (zh) | 一种基于网络表征和语义表征的同名作者消歧方法 | |
CN106909537B (zh) | 一种基于主题模型和向量空间的一词多义分析方法 | |
CN112052684A (zh) | 电力计量的命名实体识别方法、装置、设备和存储介质 | |
CN111222318A (zh) | 基于双通道双向lstm-crf网络的触发词识别方法 | |
CN113821635A (zh) | 一种用于金融领域的文本摘要的生成方法及系统 | |
Zhang et al. | Learn to abstract via concept graph for weakly-supervised few-shot learning | |
CN115600597A (zh) | 基于注意力机制和词内语义融合的命名实体识别方法、装置、系统及存储介质 | |
Zhang et al. | An attention-based word-level interaction model: Relation detection for knowledge base question answering | |
CN111145914A (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
Garrido-Munoz et al. | A holistic approach for image-to-graph: application to optical music recognition | |
CN113220900B (zh) | 实体消歧模型的建模方法和实体消歧预测方法 | |
Lu et al. | On semi-supervised multiple representation behavior learning | |
CN116226404A (zh) | 一种针对肠-脑轴的知识图谱构建方法及知识图谱系统 | |
CN113779520B (zh) | 基于多层属性分析的跨空间目标虚拟身份关联方法 | |
CN113515947B (zh) | 一种用于级联地名实体识别模型的训练方法 | |
CN114724167A (zh) | 一种营销文本识别方法及系统 | |
CN114882279A (zh) | 基于直推式半监督深度学习的多标签图像分类方法 | |
Liu et al. | Prerequisite relation learning for course concepts based on hyperbolic deep representation | |
CN113792144A (zh) | 基于半监督的图卷积神经网络的文本分类方法 | |
Li et al. | ViT2CMH: Vision Transformer Cross-Modal Hashing for Fine-Grained Vision-Text Retrieval. |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220207 Address after: 100190 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District Applicant after: Institute of Computing Technology, Chinese Academy of Sciences Applicant after: China xiong'an Group Co.,Ltd. Address before: 100190 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District Applicant before: Institute of Computing Technology, Chinese Academy of Sciences |
|
GR01 | Patent grant | ||
GR01 | Patent grant |