一种基于状态转移与神经网络的汉语组块分析方法转让专利
申请号 : CN201610324281.5
文献号 : CN106021227B
文献日 : 2018-08-21
发明人 : 戴新宇 , 程川 , 陈家骏 , 黄书剑 , 张建兵
申请人 : 南京大学
摘要 :
权利要求 :
1.一种基于状态转移与神经网络的汉语组块分析方法,其特征在于,包括如下步骤:
步骤1,计算机读取一个包含待分析句子的汉语文本文件,定义汉语组块的类型,对待分析句子进行分词并对每个词进行词性标注,进行词性标注时,根据当前句子状态确定所能选择的词性标注类型;
步骤2,利用基于状态转移和神经网络的方法对待分析句子进行汉语组块分析;
步骤1包括如下步骤:
步骤1-1,根据如下定义的12种短语类型定义汉语组块类型:
类型为ADJP、ADVP、CLP、DNP、DP、DVP、LCP、LST、NP、PP、QP、VP,它们的含义分别为:形容词短语、副词短语、类别型短语、多重限定短语、限定词短语、地字短语、方位短语、序列短语、名词短语、介词短语、数量词短语、动词短语;
步骤1-2,采用BIOES标注体系与步骤1-1中定义的汉语组块类型相结合的方式确定标注过程中对每个待标注词进行词性标注时所能选择的标注类型;
步骤2中,将汉语组块分析过程当成一个序列化标注任务,标注的类型由步骤1-1中定义的汉语组块类型和步骤1-2中采用的BIOES标注体系相结合的方式生成;
在整个步骤2中用n表示待分析句子的长度,步骤2包括如下步骤:
步骤2-1,给定状态下,在处理第t个词时对所有标注类型进行打分,此时给定的状态即为待分析句子前t-1个词已完成标注且已知其对应的标注类型,第t到第n个词为未标注词以及第t个词为下一个待处理词;
步骤2-2,给定状态集合St,在处理第t个词时对该状态集合中的每个状态按步骤2-1中的方式对所有标注类型进行打分,该打分通过计算完成,将赋予每个标注类型一个实数值,此实数值称为该类型对应的得分,再按步骤1-2所述方式生成候选标注类型,按每个候选标注类型对词进行标注从而对该状态进行扩展,并按柱搜索的方式挑选得分最高的m个新状态,得到新的状态集合St+1;
步骤2-3,对t=1,2,...,n,迭代执行步骤2-1和2-2,得到最终的目标状态集合Sn+1,并取出其中得分最高的状态 从该状态出发回溯得到得分最高的标注序列,此时所有词的类型标注都已完成,将该得分最高的标注序列还原为对应的组块分析结果,该结果即为当前句子的分析结果;
步骤2-1包括如下步骤:
步骤2-1-1,生成特征向量,特征向量包括基本信息特征向量和附加信息特征向量;
步骤2-1-2,利用前向神经网络对步骤2-1-1中生成的特征向量进行计算得到所有候选标注类型的得分;
在整个步骤2-1-1中待分析句子中的所有词从左到右依次表示为w1,w2,...,wn,wn表示待分析句子中第n个词,n取值为自然数;待分析句子中所有词对应的词性从左到右依次表示为p1,p2,...,pn,pn表示待分析句子中第n个词对应的词性;一个特征*对应的特征向量表示为e(*),步骤2-1-1包括如下步骤:步骤2-1-1-1,生成基本信息特征向量,基本信息特征向量包括以当前待标注词所在位置为基准的一定窗口内的词和词性特征对应的特征向量,以及以当前待标注词所在位置为基准的一定窗口内的已标注词所属类别特征对应的特征向量;具体过程如下:基本信息特征中词特征向量包括:以当前待处理词为中心向左数第二个词对应的特征向量e(w-2)、以当前待处理词为中心向左数第一个词对应的特征向量e(w-1)、当前待处理词对应的特征向量e(w0)、以当前待处理词为中心向右数第一个词对应的特征向量e(w1),以及以当前待处理词为中心向右数第二个词对应的特征向量e(w2);
词性特征向量包括:以当前待处理词为中心向左数第二个词的词性对应的特征向量e(p-2)、以当前待处理词为中心向左数第一个词的词性对应的特征向量e(p-1)、当前待处理词的词性对应的特征向量e(p0)、以当前待处理词为中心向右数第一个词的词性对应的特征向量e(p1)、以当前待处理词为中心向右数第二个词的词性对应的特征向量e(p2)、以当前待处理词为中心向左数第二个词和第一个词的词性组合对应的特征向量e(p-2p-1)、以当前待处理词为中心向左数第一个词和当前待处理词的词性组合对应的特征向量e(p-1p0)、以当前待处理词为中心向右数第一个词和当前待处理词的词性组合对应的特征向量e(p0p1)、以当前待处理词为中心向右数第二个词和第一个词的词性组合对应的特征向量e(p1p2);
步骤2-1-1-2,生成附加信息特征向量:附加信息特征向量包括以当前待标注词所在位置为基准的一定窗口内已标注组块相关的词特征向量和词性特征向量、使用双向长短记忆神经网络模型计算的当前待标注位置的词特征向量和词性特征向量;
步骤2-1-1-2包括如下步骤:
步骤2-1-1-2-1,以当前待处理词为中心向左数第二个组块、第一个组块分别表示为c-2、c-1,组块ci的第一个词表示为start_word(ci),最后一个词表示为end_word(ci),i=-
2,-1,语法中心词表示为head_word(ci),组块ci的第一个词的词性表示为start_POS(ci)、最后一个词的词性表示为end_POS(ci),语法中心词的词性表示为head_POS(ci),生成以当前待标注词所在位置为基准的一定窗口内已标注组块相关的词特征向量和词性特征向量:组块级别的词特征向量包括:以当前待处理词为中心向左数第二个组块的第一个词的特征向量e(start_word(c-2))、以当前待处理词为中心向左数第二个组块的最后一个词的特征向量e(end_word(c-2))、以当前待处理词为中心向左数第二个组块的语法中心词的特征向量e(head_word(c-2))、以当前待处理词为中心向左数第一个组块的第一个词的特征向量e(start_word(c-1))、以当前待处理词为中心向左数第一个组块的最后一个词的特征向量e(end_word(c-1))、以当前待处理词为中心向左数第一个组块的语法中心词的特征向量e(head_word(c-1));
组块级别的词性特征向量包括:以当前待处理词为中心向左数第二个组块的第一个词的词性的特征向量e(start_POS(c-2))、以当前待处理词为中心向左数第二个组块的最后一个词的词性的特征向量e(end_POS(c-2))、以当前待处理词为中心向左数第二个组块的语法中心词的词性的特征向量e(head_POS(c-2))、以当前待处理词为中心向左数第一个组块的第一个词的词性的特征向量e(start_POS(c-1)、以当前待处理词为中心向左数第一个组块的最后一个词的词性的特征向量e(end_POS(c-1))、以当前待处理词为中心向左数第一个组块的语法中心词的词性的特征向量e(head_POS(c-1));
步骤2-1-1-2-2,使用双向长短记忆神经网络模型计算生成当前待标注位置的词和词性特征向量:双向长短记忆神经网络模型的输入为待分析句子中的所有词以及待分析句子中所有词对应的词性,输出为前向词特征向量、前向词性特征向量、后向词特征向量和后向词性特征向量,下面公式中所用的tanh是双曲函数,为一个实值函数,其作用在一个向量上表示对向量中的每个元素都做此操作,得到一个与输入向量维度相同的目标向量;σ是sigmod函数,为一个实值函数,其作用在一个向量上表示对向量中的每个元素都做此操作,得到一个与输入向量维度相同的目标向量;⊙是点乘运算,即将两个维度相同的向量按位做乘法得到一个相同维度的结果向量,这四种特征向量的计算过程如下:前向词特征向量依次表示为hf(w1),hf(w2),...,hf(wn),hf(wt)表示第t个前向词特征向量,其计算方式按如下公式进行:其中,
是已经训练好的模型参数矩阵,矩阵中每个元素的值均为
实数值,这组参数与t无关,即一个计算序列中的所有计算单元共享同一组参数;
是第t个计算单元中的中间计算结果,均为实值向量;
e(wt)、hf(wt-1)、 是第t个计算单元的输入,均为实值向量,其中的e(wt)即为词wt对应的特征向量;hf(wt)、 为第t个计算单元的输出, 为长短记忆神经网络模型的辅助计算结果,最终作为前向词特征向量的只有hf(wt-1),由于这是一个序列化的计算模型,第t-1f个计算单元的输出h(wt-1)、 即为第t个计算单元的输入;
前向词性特征向量依次表示为hf(p2),...,hf(pn),hf(pt)表示第t个前向词性特征向量,其计算方式按如下公式进行:其中,
是已经训练好的模型参数矩阵,矩阵中每个元素的值均为实数
值,这组参数与t无关,即一个计算序列中的所有计算单元共享同一组参数;
是第t个计算单元中的中间计算结果,均为实值向量;
e(pt)、hf(pt-1)、 是第t个计算单元的输入,均为实值向量,其中的e(pt)即为词性pt对应的特征向量;hf(pt)、 为第t个计算单元的输出, 为长短记忆神经网络模型的辅助计算结果,最终作为前向词特征向量的只有hf(pt-1),由于这是一个序列化的计算模型,第t-1个计算单元的输出hf(pt-1)、 即为第t个计算单元的输入;
后向词特征向量依次表示为hb(w1),hb(w2),...,hb(wn),hb(wt)表示第t个后向词特征向量,其计算方式按如下公式进行:其中,
是已经训练好的模型参数矩阵,矩阵中每个元素的值均为实数
值,这组参数与t无关,即一个计算序列中的所有计算单元共享同一组参数;
是第t个计算单元中的中间计算结果,均为实值向量;e(wt)、hb(wt+1)、
是第t个计算单元的输入,均为实值向量,其中的e(wt)即为词wt对应的特征向量;hb(wt)、 为第t个计算单元的输出, 为长短记忆神经网络模型的辅助计算结果,最终作为前向词特征向量的只有hb(wt-1),由于这是一个序列化的计算模型,第t+1个计算单元的输出hb(wt-1)、 即为第t个计算单元的输入;
后向词性特征向量依次表示为hb(p1),hb(p2),...,hb(pn),hb(pt)表示第t个后向词性特征向量,其计算方式按如下公式进行:其中,
是已经训练好的模型参数矩阵,矩阵中每个元素的值均
为实数值,这组参数与t无关,即一个计算序列中的所有计算单元共享同一组参数;
是第t个计算单元中的中间计算结果,均为实值向量;
e(pt)、hb(pt+1)、 是第t个计算单元的输入,均为实值向量,其中的e(pt)即为词性pt对应的特征向量;hb(pt)、 为第t个计算单元的输出, 为长短记忆神经网络模型的辅助计算结果,最终作为前向词特征向量的只有hb(pt+1),由于这是一个序列化的计算模型,第tb+1个计算单元的输出h(pt+1)、 即为第t个计算单元的输入;
步骤2-1-2中使用了前向神经网络来计算得到所有标注类型的得分,整个前向神经网络的计算过程按如下公式进行:h=σ(W1x+b1),
o=W2h,
其中,W1、b1、W2是已训练好的模型参数矩阵,矩阵中每个元素的值均为实数值;x是输入向量,它由步骤2-1-1中所得的所有特征向量拼接而成,其维度为步骤2-1-1中生成的所有特征向量的维度之和,其每个元素的值均为实数值;h是神经网络的隐层向量,是中间计算结果单元;o是计算输出,是一个实值向量,其维度大小对应于步骤1-2中定义的标注过程中对每个词进行标注时所能选择的标注类型数,其中第g个值表示将当前步骤标为类型g的得分,该得分是一个实数值;W1x、W2h均为矩阵乘法操作;
步骤2-2包括如下步骤:
步骤2-2-1,给定前一个状态集合中的每个状态,按步骤2-1中的方式对所有标注类型进行打分,设定状态Sx的得分为score(Sx),标注类型typek的得分为score(typek),设定对所有标注类型都进行扩展,则扩展后将得到K个新的状态,表示为 K为所有标注类型总数,按如下公式计算第k个状态的对应得分其中,k取值为1~K,得分均为实数值,按步骤1-2中的方式确定候选标注类型,按候选标注类型将状态进行扩展,设定状态集合St中的状态按步骤1-2中的方式确定的候选标注类型有c(i)个,则对状态扩展后将得到c(i)个新状态,表示为步骤2-2-2,设定状态集合St有z个状态,z取值为自然数,将状态集合St中所有状态按步骤2-2-1中的方式进行扩展,所有扩展后的状态为步骤2-2-3,按柱搜索的方式从步骤2-2-2中得到的所有扩展后的状态中取出得分最高的m个状态,组成新的状态集合
说明书 :
一种基于状态转移与神经网络的汉语组块分析方法
技术领域
背景技术
因素以致分析正确率较低、速度较慢,从而实用性受限。组块分析,又叫浅层句法分析,与以获得一个句子的完整句法树为目的的完整句法分析不同,其分析目标是识别句子中某些结
构相对简单、非嵌套的句子成分,例如非嵌套的名词短语、动词短语等。由于其识别目标是句子中非嵌套、不重叠的符合一定语法规定的短语成分,所以相对于完整句法分析而言组
块分析任务的复杂度较小,处理速度也更快,同时由于它可以作为机器翻译、完整句法分
析、信息抽取等诸多任务的前处理阶段,所以一直受到研究人员的关注。针对汉语的组块分析,随着汉语树库的出现以及有研究人员从中抽取了针对组块分析任务的数据集以来,相
关研究持续不断。
看成序列化标注任务并采用前述的五类标注方式。
其对组块级别的特征使用受限,对于以整个句子为处理对象、需要更多考虑全局信息的组
块分析任务来说会有不小影响。为了缓解这类模型带来的影响,基于状态转移的方法是一
个选择,该方法在完整句法分析中使用较多,它具有高效、准确的特点。其工作过程为:针对待分析的句子,以词为单位,从左至右顺序读入词,对读入的每一个词进行标注操作,标注类型参考前述标注方式,每次标注操作的进行对应了一个定义在整个句子上的状态(句子
的一个状态记录了当前句子哪些词已被标注、每个已标注词对应的标注类型以及哪些词还
未标注)转移,而具体的标注类型的选择则由训练好的打分模型完成。由于在对某个词进行标注时,句子中该词左边所有词的标注类型已经确定,所以可以充分利用这部分已标注词
的信息来对当前词的标注进行指导,特别是利用该词左边已识别为组块的组块相关信息来
进行指导。为了更多地利用组块级别的信息特征,本发明采用基于状态转移的方式来进行
汉语组块分析。
模板的传统方法。神经网络在中文信息处理中被大量尝试,但目前为止在汉语组块分析中
还未见有被使用。神经网络的使用,可以省去人工定制大量组合特征模板的工作,同时可以借助神经网络强大的表达能力来自动地学习特征之间的组合。另一方面,在传统的组块分
析技术中,对每个词进行标注时所用的信息特征都是以当前词为基准的某个固定大小窗口
内的词或者词性信息,但在分析树库中的汉语句子后可以发现,许多对组块分析有用的信
息特征常常会在窗口以外,例如“《”“,》”等标点符号信息、“词、词、词、词…”等以顿号为间隔的文本模式信息,这类信息常常所跨范围较广,不容易纳入传统的组块分析技术中。为了充分利用这种信息,本发明使用了双向长短记忆神经网络来对句子的词和词性序列进行计
算,从而更多地捕获远距离的词和词性特征。
发明内容
与神经网络的方法来缓解这方面的限制,提升汉语组块分析的准确度。
定所能选择的词性标注类型;
语组块类型;组块类型由使用者根据其具体目标自行选择,传统的汉语组块分析任务一般
有两种具体的短语识别任务:一是只针对名词短语进行识别,二是针对在宾州树库中文版
CTB4.0的基础上定义的12种类型的组块进行识别。在实施例1中,选取了第二种方式,对这
12种短语类型的具体含义说明如表1所示:
ADJP 形容词短语 发展中/JJ国家/NN
ADVP 副词短语 普遍/AD使用/VV
CLP 类别型短语 港元/M与/CC美元/M
DNP 多重限定短语 的/DEG
DP 限定词短语 这/DT
DVP 地字短语 平等/VA和睦/VA地/DEV
LCP 方位短语 近年/NT来/LC
LST 序列短语 (/PU一/CD)/PU
NP 名词短语 公路/NN项目/NN
PP 介词短语 与/P整机厂/NN
QP 数量词短语 一/CD个/M
VP 动词短语 永远/AD盛开/VV
成序列化标注任务以后,需要确定采用何种标注体系。在英文组块分析任务中,所采用的标注体系一般有BIO和BIOES两类,即将句子中的每个词标注以组块类型和BIO或BIOES的组
合。其中,在BIO标注方式中,B表示一个组块的开始,I表示一个组块的内部,O表示组块以外的其它位置;在BIOES标注方式中,B表示一个组块的开始,I表示一个组块的内部,E表示一个组块的末尾,O表示组块以外的其它位置,S表示一个词单独成组块。下面用一个已标注的句子为例来帮助说明BIOES标注体系的含义。首先,给出一个已按组块进行分块的句子:
type2,…,typek共k种,则它们与B和S组合后,就有B-type1,B-type2,…,B-typek,S-type1,S-type2,…,S-typek共2k种,再加上I、O、S三种类型,所以一共有2k+3中标注类型,本发明中k=12,所以共有27种。上面的例句按这种方式标注后即为:
法国 NR
国防 NN
部长 NN
莱奥塔尔 NR
1日 NT
说 VV
, PU
法国 NR
正在 AD
研究 VV
从 P
波黑 NR
撤军 VV
的 DEC
计划 NN
。 PU
一个句子,以词为单位,从左至右顺序读入词,每个词的读入都会引起当前句子状态的一次转移,句子的一个状态记录了当前句子哪些词已被标注、每个已标注词对应的标注类型以
及哪些词还未标注。如果针对每个词的标注是唯一的,那么在对句子中的每个词进行标注
后就得到了针对该句子的完整标注序列,其过程可以简单描述为:假设句子长度为n、初始状态为s1、对第t个词进行的标注为markt、对第t个词进行标注后的状态为st+1,则整个过程可简单简略描述为 整个句子对应的标注序列即为mark1,
mark2,…,markn,本发明中将这种标注方式叫做贪心搜索。但这种标注方式得到的针对整个句子的标注准确度较低,所以本发明采用了柱搜索的方法来完成对整个句子的标注。
表示为Si,故在对句子的第一个词进行标注之前句子的状态集合为S1,其中只有一个状态,表示为 在对第一个词进行标注时其候选标注类型由步骤1-2定义,假设针对状态集合S1
中的每个状态在对当前词进行标注时所能选的标注方式均为k个,则对状态 进行完全的k
种标注和扩展后得到的状态集合S2中有k个状态,表示为 (顺序按得分高低
2
进行排序);同理,在对第二个词进行标注时,将对状态集合S 中的每个状态进行k种扩
展,得到的新的状态集合将有k2个状态,表示为 以此类
推 ,在对第t个词进行扩展后就得到了对整个句子的完全标注状态集合
如果每次扩展操作(即针对此进行了何种标注)
都能保留在扩展后的新状态中,就可以从状态集合Sn+1中的每个状态出发回溯,还原一个针对该句子的完整标注序列,其中由Sn+1中得分最高的那个状态还原的序列就是该方法对该
句子的标注结果。使用这种搜索方法,将使状态集合大小快速增长,这在现实操作中是不可行的,所以本发明中采用了柱搜索的方式来减小每次扩展后的状态集合。柱搜索与完全搜
索不同的地方在于:在对前一个状态集合St-1中的所有状态进行扩展时,不管得到的新状态集合的状态数有多少个,都只保留得分最高的m(m的选取由使用者视具体任务而选择,一般m越大,得到的标注精度越高,但开销也越大,如在实施例1中选取的m为4)个,这样可以保证针对每个词的状态扩展操作完成后得到的新的状态集合的大小不超过m。同完全搜索一样,从状态集合Sn+1中得分最高的那个状态出发往前回溯,还原得到的对该句子的标注序列即
为该方法对该句子的标注结果。本发明中就采用了这种柱搜索方式。
词为未标注词以及第t个词为下一个待处理词;
个新状态,得到新的状态集合St+1;
前句子的分析结果。
类型进行打分的过程包括两个步骤:一是特征信息的生成,即神经网络输入的生成;二是利用神经网络对所有候选类别进行打分。步骤2-1具体包括如下步骤:
1-1中待分析句子中的所有词从左到右依次表示为w1,w2,…,wn,wn表示待分析句子中第n个词,n取值为自然数;待分析句子中所有词对应的词性从左到右依次表示为p1,p2,…,pn,pn表示待分析句子中第n个词对应的词性;一个特征*对应的特征向量表示为e(*),步骤2-1-1包括如下步骤:
置为基准的一定窗口内的已标注词所属类别特征对应的特征向量,具体过程如下:基本信
息特征中词特征向量包括:以当前待处理词为中心向左数第二个词对应的特征向量e(w-2)、以当前待处理词为中心向左数第一个词对应的特征向量e(w-1)、当前待处理词对应的特征
向量e(w0)、以当前待处理词为中心向右数第一个词对应的特征向量e(w1),以及以当前待处理词为中心向右数第二个词对应的特征向量e(w2);
特征向量e(p1)、以当前待处理词为中心向右数第二个词的词性对应的特征向量e(p2)、以当前待处理词为中心向左数第二个词和第一个词的词性组合对应的特征向量e(p-2p-1)、以当前待处理词为中心向左数第一个词和当前待处理词的词性组合对应的特征向量e(p-1p0)、
以当前待处理词为中心向右数第一个词和当前待处理词的词性组合对应的特征向量e
(p0p1)、以当前待处理词为中心向右数第二个词和第一个词的词性组合对应的特征向量e
(p1p2);
置为基准的一定窗口内的已标注词所属类别特征。通常,当前的词被记作w0,左边第i个词被记作w-i,右边第i个词被记作wi;当前词的词性被记作p0,左边第i个词的词性被记作p-i,右边第i个词的词性被记作pi;已标注词所属类别特征与前面两种有一定差异,因为对于整个句子的所有词和词性信息是分析开始就知道的,所以窗口一般是以当前词为基准向两边
同时扩展,而由于标注过程是从左向右的,在标注一个待标注词时,只有当前词左边的词的标注类型是已知的,所以只能以当前词为基准向左扩展,记当前词左边第i个词已标注类型为t-i。i的选取根据所选择的窗口大小的不同而不同,如实施例1中选定的i的值为2(即窗口大小为5),其所对应的基本特征如表3、表4和表5所示:
Isahara H.An empirical study of Chinese chunking[C]//Proceedings of the
COLING/ACLon Main conference poster sessions.Association for Computational
Linguistics,2006:97-104.
式在融入这类特征时速度上的一个优势;
记忆神经网络模型计算的当前待标注位置的词特征向量和词性特征向量。
(ci)、最后一个词的词性表示为end_POS(ci),语法中心词的词性表示为head_POS(ci),生成以当前待标注词所在位置为基准的一定窗口内已标注组块相关的词特征向量和词性特征
向量:组块级别的词特征向量包括:以当前待处理词为中心向左数第二个组块的第一个词
的特征向量e(start_word(c-2))、以当前待处理词为中心向左数第二个组块的最后一个词
的特征向量e(end_word(c-2))、以当前待处理词为中心向左数第二个组块的语法中心词的
特征向量e(head_word(c-2))、以当前待处理词为中心向左数第一个组块的第一个词的特征向量e(start_word(c-1))、以当前待处理词为中心向左数第一个组块的最后一个词的特征
向量e(end_word(c-1))、以当前待处理词为中心向左数第一个组块的语法中心词的特征向
量e(head_word(c-1));
语法中心词的词性的特征向量e(head_POS(c-2))、以当前待处理词为中心向左数第一个组
块的第一个词的词性的特征向量e(start_POS(c-1)、以当前待处理词为中心向左数第一个
组块的最后一个词的词性的特征向量e(end_POS(c-1))、以当前待处理词为中心向左数第一个组块的语法中心词的词性的特征向量e(head_POS(c-1));i的选取根据所选择的窗口大小的不同而不同,如实施例1中选定的i的值为2,其对应的组块级别的特征如表6所示:
动态规划算法中有被使用,具体可以参考以下文献:Zhou J,Qu W,Zhang F.Exploiting
chunk-level features to improve phrase chunking[C]//Proceedings of the
2012Joint Conference on Empirical Methods in Natural Language Processing and
Computational Natural Language Learning.Association for Computational
Linguistics,2012:557-567.
分析句子中所有词对应的词性,输出为前向词特征向量、前向词性特征向量、后向词特征向量和后向词性特征向量。首先需要说明的是下面公式中所用的tanh是双曲函数,为一个实
值函数,其作用在一个向量上表示对向量中的每个元素都做此操作,得到一个与输入向量
维度相同的目标向量;σ是sigmod函数,为一个实值函数,其作用在一个向量上表示对向量中的每个元素都做此操作,得到一个与输入向量维度相同的目标向量;⊙是点乘运算,即将两个维度相同的向量按位做乘法得到一个相同维度的结果向量。这四种特征向量的计算过
程如下:
附加说明中的方式完成)好的模型参数矩阵,矩阵中每个元素的值均为实数值,这组参数与t无关,即一个计算序列中的所有计算单元共享同一组参数;
助计算结果,最终作为前向词特征向量的只有h (wt-1),由于这是一个序列化的计算模型,第t-1个计算单元的输出hf(wt-1)、 即为第t个计算单元的输入;
明中的方式完成)好的模型参数矩阵,矩阵中每个元素的值均为实数值,这组参数与t无关,即一个计算序列中的所有计算单元共享同一组参数;
型,第t-1个计算单元的输出hf(pt-1)、 即为第t个计算单元的输入;
附加说明中的方式完成)好的模型参数矩阵,矩阵中每个元素的值均为实数值,这组参数与t无关,即一个计算序列中的所有计算单元共享同一组参数;
附加说明中的方式完成)好的模型参数矩阵,矩阵中每个元素的值均为实数值,这组参数与t无关,即一个计算序列中的所有计算单元共享同一组参数;
辅助计算结果,最终作为前向词特征向量的只有h (pt+1),由于这是一个序列化的计算模
b
型,第t+1个计算单元的输出h(pt+1)、 即为第t个计算单元的输入
体计算过程分前向和后向两步,前向从左向右,后向从右向左,计算方式一致,故此处仅详细说明前向计算过程:首先,假设句子长度为n,句子中的词从左到右依次表示为w1,w2,…,wn,其对应的特征向量依次为e(w1),e(w2),…e(wn);句子中的词性从左到右依次表示为p1,p2,…,pn,其对应的特征向量依次为e(p1),e(p2),…e(pn);另外将计算所得的前向词特征向量依次表示为hf(w1),hf(w2),…,hf(wn),将计算所得的前向词性特征向量依次表示为hf
(p1),hf(p2),…,hf(pn);需要说明的是,这些向量均为已经训练好的实值向量,它们的维度由使用者设定,如实施例1中wt和pt的维度设定为50,hf(wt)和hf(pt)的维度设定为25。
经网络的计算过程按如下公式进行:
K为所有标注类型总数,按如下公式计算第k个状态的对应得分
型,按候选标注类型将状态 进行扩展,假设状态集合S中的状态按步骤1-2中的方式确定
的候选标注类型有c(i)个,则对状态扩展后将得到c(i)个新状态,表示为
的候选转移类型进行打分时采用的神经网络模型可以自动学到特征之间的组合方式,此外
双向长短记忆神经网络模型的利用引入了有用的附加信息特征,三者结合起来提高了汉语
组块分析的精确度。
附图说明
具体实施方式
所有候选类别进行打分,然后执行状态转移操作。在现有汉语组块分析技术中,由于模型自身假设的原因导致对远距离特征的使用不够充分,并且要求手动设计复杂的特征模板,本
发明提出的方法有效缓解了这两个缺点。
式,还通过双向长短记忆神经网络模型使用引入了有用的附加信息特征,进而提高了汉语
组块分析的精确度。
定所能选择的词性标注类型;
识别,二是针对在宾州树库中文版CTB4.0的基础上定义的12种类型的组块进行识别;
为m,其中的本发明所述的针对该句子的分析过程包括如下步骤:
类型进行打分的过程包括两个步骤:一是特征信息的生成,即神经网络输入的生成;二是利用神经网络对所有候选类别进行打分,步骤3-1具体包括如下步骤:
词特征有e(w-2),e(w-1),e(w0),e(w1),e(w2),它们分别表示以当前待处理词为中心向左数第二、第一个词、当前词、以当前词为中心向右数第一、第二个词对应的特征向量;词性特征有e(p-2),e(p-1),e(p0),e(p1),e(p2),e(p-2p-1),e(p-1p0),e(p0p1),e(p1p2),e(p-2p-1p0),e(p-1p0p1),e(p0p1p2),它们分别表示以当前待处理词为中心向左数第二、第一个词的词性、当前词的词性、以当前词为中心向右数第一、第二个词的词性、向左数第二和第一个词的词性组合、向左数第一和当前词的词性组合等对应的特征向量。这些特征向量均为已训练好
的实值向量。
(head_word(c-2)),e(start_word(c-1),e(end_word(c-1)),e(head_word(c-1)),分别表示以当前待处理词为中心向左数第二个组块的第一个词、最后一个词、语法中心词、以当前词为中心向左数第一个组块的第一个词、最后一个词、语法中心词;组块级别的词性特征有e
(start_POS(c-2)),(end_POS(c-2)),e(head_POS(c-2)),e(start_POS(c-1),e(end_POS
(c-1)),e(head_POS(c-1)),分别表示以当前待处理词为中心向左数第二个组块的第一个词的词性、最后一个词的词性、语法中心词的词性、以当前词为中心向左数第一个组块的第一个词的词性、最后一个词的词性、语法中心词的词性。这些特征向量均为已训练好的实值向量;
所以此处只详细说明前向计算过程,针对每个h (x)(x可以为wt或pt(t=1,2,…n),只是输
入和计算参数不同,计算方式完全一致,简写为hf),按如下公式进行计算:
正向、逆向计算序列,所以共有4组参数;ft、it、ot是第t个计算单元中的中间计算结果,均为实值向量;ht-1、ct-1、xt是第t个计算单元的输入,均为实值向量,其中的xt即为e(wt)或e(pt);ct、ht为第t个计算单元的输出,但ct为长短记忆神经网络模型的辅助计算结果,最终f f
作为词或词性特征向量的只有ht,ht即为目标特征向量h (wt)或h(pt),需要指出的是,由于这是一个序列化的计算模型,第t-1个计算单元的输出ht-1、ct-1即为第t个计算单元的输入;
tanh是双曲函数,为一个实值函数,其作用在一个向量上表示对向量中的每个元素都做此
操作,得到一个与输入向量维度相同的目标向量;σ是sigmod函数,为一个实值函数,其作用在一个向量上表示对向量中的每个元素都做此操作,得到一个与输入向量维度相同的目标
向量;⊙是点乘运算,即将两个维度相同的向量按位做乘法得到一个相同维度的结果向量;
Wfhht-1、Wfxxt等均为矩阵乘法操作。
向量拼接而成的实值向量,其维度大小为前述所有特征向量的维度之和,这个向量作为前
向神经网络的输入,整个前向神经网络的计算过程按如下公式进行:
态,表示为 其对应得分按如下公式进行计算:
确定的候选标注类型有c(i)个,则对状态 扩展后将得到c(i)个新状态,表示为
预料中出现的所有词和词性以及相邻两个词的组合和相邻两个词性的组合都对应一组特
征向量;
0.1之间的均匀分布随机采样取值。然后使用已标注数据集(假设数据集大小为D)dataest
={sent1,sent2,…,sentD}对参数进行训练:首先定义一个训练目标,该目标定义在整个数据集上,又称为损失函数,它是整个模型参数组中所有参数的函数,假设为L(dataset),针对每一个句子sentr的损失函数表示为loss(sentr)两者的定义与计算过程按下述方式进
行:
前该状态下对第k个标注类型进行打分所得到的分数score(typek)实际上是模型参数组第
2~5组中所有参数(假设表示为Θ)、以及模型参数组第1组参数中当前该状态下按步骤2-
1-1-1和步骤2-1-1-2-1中取出的那些特征向量的一个复合函数。假设在在给定状态 处
理第t个时取出的所有特征向量整体表示为 因为此处要对整个句子的得分进行表
示,为了方便我们将在给定状态 处理第t个时对第k标注类型进行打分所得到的分数表
示为 则有:
(假设表示为Θ)、以及第1组参数中在从一开始的状态 扩展到状态 的整个路径中处
理每个词时按步骤2-1-1-1和步骤2-1-1-2-1中取出的所有特征向量的一个复合函
数。假设对于状态集合Sn+1中的每一个状态 其从状态 扩展到状态 的过程
中所选的标注类型序列为 过程中所经历的状态序列为
( 即为 即为 ),则状态 的得分为:
解。
从chtb_001.fid到chtb_899.ptb,需要注意的是该编号并不是连续都有,所以只有110个文件)的9978个句子上进行训练所得。
1;
应的向量表示,对于词性特征向量,输入为句子中每个词性对应的向量表示,这些向量表示与步骤3-1-1-1中对应的相同词或词性的向量表示一致,例如e(w0)(w0=“上海”)的前5项元素值仍为-0.0999、0.0599、0.0669、-0.0786、0.0527;对于长短记忆模型中的参数,其取值均为实数值,例如用于计算前向词向量的矩阵Wfh中第一行中的前5个参数值为0.13637、
0.11527、-0.06217、-0.19870、0.03157;然后计算得到各个词和词性对应的特征向量hf和hb,它们均为实值向量,本实施例中所设置的hf和hb的维度均为25。
(B-DNP),0.5265(B-DP),-0.0789(B-DVP),0.4362(B-LCP),-0.2250(B-LST),2.9887(B-
NP),-0.0726(B-PP),0.1320(B-QP),0.4636(B-VP),1.6294(E),1.8871(I),-0.3904(O),
0.6985(S-ADJP),-0.1703(S-ADVP),-0.3287(S-CLP),0.1734(S-DNP),0.5694(S-DP),
0.0990(S-DVP),0.0902(S-LCP),-1.0364(S-LST),2.0767(S-NP),-0.0179(S-PP),-0.0606
(S-QP),0.0941(S-VP);
(score(I)=1.8871,score(E)=1.6294),将状态 按剩下的每个标注类型进行
扩展并计算其对应的目标状态的得分 因为 所以有
例如有
由它们组成新的状态集合S2,它包
含四个新状态,分别为:
Chinese Penn Treebank)4.0中的728个文件中(文件编号从chtb_001.fid到chtb_
899.ptb,需要注意的是该编号并不是连续都有,所以只有110个文件)的9978个句子上进行训练所得。实验测试所用数据采用了110个文件中(文件编号从chtb_900.fid到chtb_
1078.ptb,需要注意的是该编号并不是连续都有,所以只有110个文件)的5290个句子进行
组块分析,实验结果如表7所示:
Field)为条件随机场学习方法、SVM(Support Vector Machin)为支持向量机学习方法,这
四种为传统的处理该任务的常用机器学习算法。需要说明的是,在该数据集上进行评测是
评价中文组块分析方法的一个常用方式。可以看出,本发明中的方法在该数据集上取得了
较高的F1-score值,说明了该方法的有效性。
(predict)中相同的组块组成的集合为S(correct),其大小为count(correct);假设预测准确度表示为precision,预测召回率表示为recall,则各个值的计算按如下公式进行: