一种藏文命名实体的标注方法与流程

文档序号:14911139发布日期:2018-07-10 23:26阅读:483来源:国知局

本发明涉及语言处理技术领域,尤其涉及一种藏文命名实体的标注方法。



背景技术:

命名实体识别(Named Entity Recognition,NER)是指检测文本中由单个字、 词或者多个词复合而成的实体词,并确定其属于哪一实体类:人名、地名、组 织机构等。从自然语言处理(Natural Language Processing,NLP)角度,命名实 体识别面临的主要问题是要解决未登录在词典的实体识别问题。从知识发现和 获取的角度,命名实体识别是从无结构文本中抽取涉及用户需求信息的命名实 体。命名实体识别的效果会直接影响到凌驾于其之上的相关研究和应用系统的 性能,如文本的结构化表示、信息抽取、信息检索、机器翻译和问答系统等。

藏文与中文、英文等语言文字都存在一定的共性和特有的某些特点,如藏 文字形结构均以一个基字为核心,其余字母均以此为基础前后附加和上下叠写, 组合成一个完整的字表结构。尽管藏文命名实体识别所使用的词典、规则、语 法和特征与其他语言有所区别,但是从命名实体识别的方法论角度,该实体识 别所采用的方法与其他语言所涉及的方法并无区别。

命名实体识别方法有很多,可以说涉足了监督学习(Supervised Learning, SL)到无监督学习(Unsupervised Learning,UL),基于规则和词典的学习 (Rules-and-Dictionary Based Learning,RDBL)到统计机器学习(Statistical Machine Learning,SML),但是这些方法仍然存在一定的缺陷。比如,在监督学 习环境下,分类器在经过标注数据的训练和学习后,虽然得到了较好的拟合性 能,但其前提是需要许多语言学家耗费大量的时间对原始语料进行标注。作为 SL对立面的无监督学习,虽然UL避免了标注数据带来的代价,但由于其缺乏 训练和学习的先验知识,在实体识别的性能上明显不如前者。人们在标注数据 的过程中,获取了大量的规则,从实体构建规则的角度进行实体识别,虽然该 方法在小数据集中获得了一定的准确率,但是,随着数据集的增大,尤其在当 今的大数据时代,基于规则的实体识别方法的突显出的主要问题在于规则库不 能穷举所有的命名实体规则。换一个角度来讲,RDBL没有充分利用命名实体的 上下文与相关特征。然而,SML正是充分利用了标注数据中命名实体的上下文 相关特征,显著地提升了准确性。比如隐马尔科夫模型(Hidden Harkov Models, HMM)、支持向量机(Support Vector Machine,SVM)、最大熵隐马尔科夫模型 (Maximum Entropy Markov Model,MEMM)、条件随机场(Conditional Random Fields,CRF)和跳跃链条件随机场(skip-chain CRFs)。相比之下,条件随机场 采用了全局范围内统计归范化的概率,克服了HMM和MEMM的标注偏置问题, 能够获得了更好的分类结果,而且skip-chain CRFs在基本CRFs的基础上,利 用人工近义词对取得了比以往NER算法更好的篇章内NER的准确率。以上所 述的统计学习方法都是从一个细粒度角度考虑实体识别,且在判别一个NE (Named Entity)时,CRFs类方法缺乏考虑特征的度量性、实体的内部特征(比 如无马尔可夫性)等。此外,这类方法过度依赖于标注语料,即类似于在一个 广义的词典(包含特征和命名实体的标注语料)中寻找实体和匹配计算,但是, 当我们需要标注的命名实体未出现在该广义词典中,且其近义NE未具有其相似 的上下文,则可能导致识别误差增大。



技术实现要素:

本发明的目的在于克服现有技术中的不足,提供一种藏文命名实体的标注 方法,克服了监督学习法过度依赖标注语料的局限性、传统基于规则和统计方 法的单独式地判别方式的技术问题。

为解决上述技术问题,本发明所采用的技术方案是:一种藏文命名实体的 标注方法,该方法包括如下步骤:

对未标注数据进行规范化处理,得到未标注的规范化语料,将新标注的命 名实体加入到原标注语料;

利用标注语料训练名词短语标注器Semi-Markov CRFs_1,再利用其对规范 化语料进行名词短语的分割和标注;

读取标注语料和规范化语料,建立字、词、短语和命名实体联合的CBOW 模型,通过CBOW模型的训练得到语料矩阵和名词性的字、词、短语和命名实 体的向量空间;

基于向量空间,利用KNN算法找到未标注名词短语的K个最近邻的标注命 名实体,计算未标注名词短语与K个最近邻的标注命名实体之间的cosine相似 度,然后先从K近邻中选择相似值大于预设阈值λ的q个命名实体,0≤q≤K,如 果q>0,则把未标注名词短语的命名实体类别取为K个最近邻中最大cosine相 似度的命名实体的类别;将新标注的命名实体加入到标注语料,使规范化语料 得到部分标注;

读取标注语料的序列数据,对细粒度标注器Semi-Markov CRFs_2进行训练; 再利用Semi-Markov CRFs_2对规范化语料中未标注的命名实体进行标注,实现 命名实体的全标注。

所述规范化处理包括:分词和语句规范化、标点符号规范化、分词与词性 标注规范化和去停用词规范化。

所述语料矩阵的获取方法如下:

首先,构建一个包含字、词、短语和命名实体四个子集合的字典,将字典 的每个元素进行向量初始化操作:给每个元素赋值一个400~600维的随机向量, 每个维度取值限制在[-1,1];

其次,建立一个长度为5的滑动窗口,从标注语料和已名词标注的规范化 语料中顺序地滑动读取数据,得到窗口数据win=<x-2x-1x0x+1x+2>,其中0 表示窗口的中心位置,x0表示目标词;

用Context={x±p,p=1,2}表示x0的上下文,并进行x0的上下文词向量的 预处理,对x±p为词、短语或命名实体时,分别作如下处理:

当x±p∈{字},x±p的向量取值为字向量charachervector;

当x±p∈{词},x±p的向量取值为词向量wordvecotr,公式如下:

式中,wordvecotr表示x±p属于词时对应的向量,表示词中第 j个藏文字的向量,|N±p|表示目标词x0的某个上下文词x±p包含的字的个数;

当x±p∈{短语},x±p的向量取值为短语向量chunkingvector,公式 如下:

其中,chunkingvector表示x±p属于短语时对应的向量,表示短语 中第q个藏文词的向量,|N′±p|表示目标词x0的某个上下文词x±p包含的词个数;

当x±p∈{命名实体},则按其属于上述字、词、短语的对应类别进行相应处 理;

然后,计算输入到CBOW模型的x0的上下文的向量均值Context(x0),公式 如下:

式中,Context(x0)表示CBOW模型的输入;p=1,2;

利用对比噪音估计,建立CBOW学习算法的目标函数,公式如下:

式中,θ表示Context(x0)的权重向量;D表示语料库;表示激 活函数;x′0表示负样本;NCE(x′0)表示负样本集合,x0不属于此集合; Context(x′0)表示负样本的上下文的词向量均值,负样本是指窗口中的原目标词 被替换为x′0;

最后,利用随机梯度上升算法学习参数,更新上下文词向量;当CBOW遍 历整个语料,得到语料矩阵。

构建向量空间的方法包括:从语料矩阵中抽取所有名词性字、词、短语和 命名实体的向量生成的向量空间。

训练所述细粒度标注器Semi-Markov CRFs_2的具体方法如下:

利用长度为3个单元的滑动窗口,从标注语料滑动式读取一个句子的短语 分割序列数据s_x的一个窗口数据s_w=<s-1s0s+1>和与s_x对应的短语标记序 列s_y的一个窗口标记数据s_l=<y′-1y′0y′+1>;其中:s0表示目标短语,s-1和 s+1分别表示s0的上文与下文;y′-1,y′0,y′+1∈Y′,Y′={R,T,P,O,N},R表示人 名;T表示时间;P表示地点;O表示组织机构;N表示其他类型短语;

构建状态转移特征函数tv1(y′-1,y′0,s_x,k′)和t′v2(y′+1,y′0,s_x,k′)、状态特征函数s′v3(y′0,s_x,k′)、分割特征函数segv4(y′0,s0,ss0,ee0)和特征函数向量F′(s_x,s_y)=<f1(s_x,s_y),f2(s_x,s_y)…fz(s_x,s_y)>,其中y′0,y′-1和y′+1分别表示窗口的当前单元,前一个单元和后一个单元的命名实体类别的标记;k′表示特征函数所在的当前位置;0表示窗口中间位置,表示分割s0的起点,表示分割s0的终点;表示对各位置上特征 的求和,z′,z″=1,2…z;fz′(y′-1,y′0,s_x,k′)表示v1+v2个状态转移特征函数、 v3个状态函数和v4个分割特征函数的串联组合成的特征函数向量,其中 z=v1+v2+v3+v4;

根据以上特征函数,创建半马尔可夫条件随机场的藏文细粒度标注器 Semi-Markov CRFs_2,并利用标注语料,结合L-BFGS算法和梯度上升方法, 对该标注器进行训练。

利用Semi-Markov CRFs_2对规范化语料实现命名实体全标注,具体方法如 下:

从部分标注的规范化语料,读取一个句子的短语分割序列s_x的一个大小为 3的窗口数据s_w=<s-1s0s+1>,利用已训练的细粒度级的藏语命名实体标注 器遍历该语料中未被标注的名词短语,计算s_x的命名实体标记序列s_y的最大 条件概率P(s_y|s_x,W′)来确定未标注实体的类别,公式如下:

式中,|W′|=|Wv1|+|Wv2|+|Wv3|+|Wv4|,||表示向量长度;根据计算的 条件概率,使用Viterbi算法输出标记序列,最终实现命名实体全标注。

与现有技术相比,本发明所达到的有益效果:

1、克服了监督式CRFs学习中,可供模型训练的预备知识的局限性;利用 了外部辞典中命名实体的内部特征信息,进一步提高了辞典的利用率和提升了 藏文命名实体识别的准确率。

2、结合了实体近义词,实体词上下文和实体词向量的语义相似性等特征, 结合了聚类和概率图,实现了集体地实体识别,相比CRFs类方法,融合了多个 方面的特征,进一步提高藏文命名实体识别的准确度;

3、能够利用粗粒度级的基于词向量KNN聚类的NER和细粒度级的基于半 马尔可夫的CRFs的NER,从命名实体的语义和语法结构的优势互补角度来提 高模型拟合度。

附图说明

图1为本发明的流程图;

图2为语料规范化流程图;

图3为名词短语标注流程图;

图4为根据字词实体联合的CBOW模型创建语料矩阵的流程图;

图5为粗粒度标注的流程图;

图6为细粒度标注的流程图。

具体实施方式:

本发明提供的一种藏文命名实体的标注方法,利用标注语料训练名词短语 标注器和细粒度级的命名实体标注器,以半监督学习方式利用非标注语料来提 升藏文命名实体标注方法的性能。首先对非标注语料进行规范化,再利用标注 语料和规范化语料用于名词短语标注器Semi-Markov CRFs_1的训练和名词短语 分割与标注,进而创建字、词、实体联合的CBOW,得到语料矩阵和向量空间, 以此实现粗粒度K-Nearest Neighbor的命名实体标注,将新标注的命名实体加入 标注语料,训练细粒度标注器Semi-Markov CRFs_2,遍历部分标注的规范化语 料,实现语料全标注。本发明克服了监督学习过度依赖标注语料的局限性、传 统基于规则和统计方法的单独式地判别方式的问题,融合了实体语义特征、命 名实体之间的相互作用等特征,以及结合了聚类和概率图,实现了集体地实体 识别,有效地提高了藏文命名实体识别的效率。

下面结合附图和具体实施例,对本发明的技术方案进行详细阐明,但是本 发明的保护范围不局限于所述实施例。

图1为本发明的流程图,包括以下步骤:

步骤101,语料规范化

对未标注数据进行规范化处理,得到未标注的规范化语料,将新标注的命 名实体加入到原标注语料。

如图2所示,具体包括如下步骤:

步骤201,输入非标注语料,用窗口函数每次读取语料中的一个句子,每次 滑动以一个句子为基本单位,并且滑动窗口的大小以最长句子的长度。

步骤202,对藏语句子进行分词(使用第三方分词工具进行分词)得到基本 词和归范化处理,包括非法藏语句子的去除,即不符合藏语言模型的句子;非 藏文数字的藏化;对藏语标点符号的进行归范化处理,比如短语或者词之间采 用“/”作为分隔符;将用于句尾的单垂符于章节末尾的双垂符和用于 卷次末尾四垂符以及用于书题或篇首的云头符统一采用“//”作为分 隔符。

步骤203,输出规范化语料,即得到非标注语料的规范化数据;将新标注的 名词短语和命名实体加入到标注语料。

步骤102,名词短语标注器Semi-Markov CRFs_1

利用标注语料训练Semi-Markov CRFs_1,然后去实现夫规范化语料的名词 短语的分割与标注。

如图3所示,具体包括如下步骤:

步骤301,进行语料的输入。根据模型的训练和测试分别输入标注语料和规 范化语料。

步骤302,Semi-Markov CRFs_1分为训练和标注(测试)两个阶段。第一, 训练阶段,从标注语料读取一个句子的词序列数据x=<x1x2…xn>和词序列标 记数据y=<y1y2…yi…yn>,以及一个句子对应的短语分割序列s=< s1s2…sj…>,其中,xn表示一个词,yi表示表示当前分割标记,yi∈Y,Y={F,E}, F表示非名词标记,E表示名词标记,sj表示x的第j个短语分割,j≤n;对于每 个短语分割sj=<bj,ej,yj>,bi表示当前分割起点,ej表示当前分割终点,yj∈Y; 构建分割特征函数fk(j,x,sj)=fk(yj,yj-1,x,bj,ej)其中:yj-1为前一个分割标记, k都表示特征函数的数量;C表示语料中包含分割特征函数fk(j,x,sj)的数量;

建立名词短语标注器的条件概率,公式如下:

其中,W为分割特征函数向量F(x,s)的权重向量;ZW(x)=∑s′eW·F(x,s′)是规 范化因子,s′表示所有可能的有效序列分割;

根据标注语料st表示标注语料中第t个词序列xt的短语分割序列,Num为标注语料的句子总数量,创建短语分割序列的目标函 数,公式如下:

其中,st表示标注语料中第t个句子的词序列xt的名词短语标注序列,Num为 标注语料的词序列总数量;采用L-BFGS算法计算梯度,使用梯度上升更新权 重W。

第二,测试阶段,从规范化语料读取一个句子的词序列数据x′=< x′1x′2…x′n>,预设名词短语的最大长度值为L,根据词序列数据x′,计算短语分 割序列s的最大条件概率P(s|x′,W),公式如下:

式中,|s|表示x′被分割后的短语数量;i表示短语序列的当前短语的位置;

利用维特比算法得到x的最佳短语分割序列和名词短语标注,公式如下:

前提条件为i>0;如果i=0,Viterbi(i,y)取0值;否则Viterbi(i,y)取值 为-∞。

步骤303,利用已训练的Semi-Markov CRFs_1遍历规范化语料实现规范化 语料的序列分割和名词短语标注,比如,(中文译文 为:“赴/玉树/藏族/自治/州/访问”)”中的复合名词短语将作为一个整体: 中文译文为:“玉树藏族自治州”),尽管其包含了一个地 名类的命名实体“(中文译文为:“玉树”)”,非名词性短语不作切分和标 注,仍作为基本词处理。最终得到名词短语标注语料。

步骤103,字词实体联合的CBOW

利用标注语料和已名词短语标注的夫规范化语料构建和训练字词实体联合 的CBOW,得到语料短语和名词短语的向量空间。

如图4所示,具体包括如下步骤:

步骤401,输入名词短语标注语料。

步骤402,本步骤为字词实体联合的连续词袋模型(Continuous Bag-of-Word, CBOW),通过该模型的训练得到字、词、名词短语和命名实体的向量(统一称 为词向量),具体过程如下:(1)构建一个包含所有藏文语料的由第三方分词工 具切分出来的字、词(两个及以上藏文字构成的不可再切分的基本词)、短语(两 个及以及的字或词的复合词)、命名实体(已标注的字、词、短语的命名实体) 的字典,并将字典的每个元素做向量初始化,即给每个元素赋值一个的400-600 维的随机向量,每个维度取值限制在[-1,1]。

其次,建立一个长度为5的滑动窗口,从标注语料和规范化语料中顺序地 滑动读取序列数据x,得到窗口数据win=<x-2x-1x0x+1x+2>,其中0表示窗 口的中心位置,x0表示目标词;用Context={x±p,p=1,2}表示x0的上下文,并 进行x0的上下文词向量的预处理,对x±p为字、词、短语或命名实体时,分别表 示表示的上作如下处理:

当x±p∈{字},x±p的向量取值为字向量charachervector;

当x±p∈{词},x±p的向量取值为词向量wordvecotr,公式如下:

式中,wordvecotr表示x±p属于词时对应的向量,表示词中第j个藏文字的向量,N±p表示目标词x0的某个上下文词x±p包含的字个数;

当x±p∈{短语},更新为如下值:

式中,chunkingvector表示x±p属于短语时对应的向量,表示短语 中第q个藏文词的向量,N′±p表示目标词x0的某个上下文词x±p包含的词个数;

当x±p∈{命名实体},则按其属于上述字、词、短语对应类别进行相应处理 (字典的,(字典的,(字典的。

(2)均值,计算输入到CBOW的x0的上下文的向量均值Context(x0),公 式如下:

式中,Context(x0)表示CBOW的输入;,

(3)利用Noise-Contrastive Estimation算法,简称为NCE,建立CBOW学 习算法的目标函数,公式如下:

式中,θ表示Context(x0)的权重向量;D表示语料库;表示激 活函数;x′0表示负样本;NCE(x′0)表示负样本集合,表 示负样的上下文的词向量均值,也就是窗口中的目标词被替换成负样本x′0;利 用随机梯度上升算法学习参数,更新上下文词向量。

步骤403,当CBOW遍历整个语料,得到语料矩阵,即语料矩阵包含所有 基本词和复合词的词向量。

步骤104,粗粒度标注器

根据语料矩阵,利用K-Nearest Neighbor对规范化语料中的命名实体实现部 分标注。

如图5所示,具体包括如下步骤:

步骤501,输入语料矩阵。

步骤502,从语料矩阵中抽取所有名词性的字、词、短语的词向量生成名词 短语的向量空间。

步骤503,基于向量空间,利用KNN算法找到未标注名词短语的K个最近 邻的标注命名实体,计算未标注名词短语与K个最近邻的标注命名实体之间的 cosine相似度,然后先从K近邻中选择相似值大于预设阈值λ的q(0≤q≤K) 个命名实体,如果q>0,则把未标注名词短语的命名实体类别取为K个最近邻 中最大cosine相似度的命名实体的类别。

步骤505,将新标注的命名实体加入到标注语料,使规范化语料的得到部分 命名实体标注。

步骤105,细粒度标注

利用标注语料训练半马尔可夫条件随机场的细粒度级标注器Semi-Markov CRFs_2,并使用该标注器对规范化语料进行全标注。

如图6所示,具体包括如下步骤:

步骤601,进行语料的输入。根据模型的训练阶段和标注(测试)阶段分别 输入标注语料和部分标注语料,如图中虚线箭头所示。

步骤602,利用长度为3个单元的滑动窗口,从标注语料滑动式读取一个句 子的短语分割序列数据s_x的一个窗口数据s_w=<s-1s0s+1>和与s_x对应的短 语标记序列s_y的一个窗口标记数据s_l=<y′-1y′0y′+1>;其中:s0表示目标短 语,s-1和s+1分别表示s0的上文与下文;y′-1,y′0,y′+1∈Y′,Y′={R,T,P,O,N},R 表示人名;T表示时间;P表示地点;O表示组织机构;N表示其他类型短语。

步骤603,Semi-Markov CRFs_2分为训练和测试两个阶段。

(1)训练阶段,根据滑动窗口读取的数据,创建状态转移特征函数tv1(y′-1,y′0,s_x,k′)和t′v2(y′+1,y′0,s_x,k′)、状态特征函数s′v3(y′0,s_x,k′)、分割特征函数和特征函数向量 F′(s_x,s_y)=<f1(s_x,s_y),f2(s_x,s_y)…fz(s_x,s_y)>,其中y′0,y′-1和y′+1分 别表示窗口的当前单元,前一个单元和后一个单元的命名实体类别的标记;k′表 示特征函数所在的当前位置;0表示窗口中间位置,表示分割s0的起点,表 示分割s0的终点;表示对各位置上特征 的求和,z′,z″=1,2…z;fz′(y′-1,y′0,s_x,k′)表示v1+v2个状态转移特征函数、 v3个状态函数和v4个分割特征函数的串联组合成的特征函数向量,其中 z=v1+v2+v3+v4;

建立命名实体标注器的条件概率,公式如下:

其中,W′为F′(s_x,s_y)的权重向量,Z′W′(s_x)为规范化因子;然后,根据 标注语料其中,M为标注语料的短语序列总数量,x′m和y′m分 别表示一个句子的短语序列和对应标记Y′序列,建立对数似然函数的目标函数, 公式如下:

L′(W′)=ΣmlogP(y′m|x′m,W′) =∑m(W′·F′(X′m,y′m)-logZ′w′(X′m))

采用L-BFGS算法计算梯度,使用梯度上升更新权重向量W′。

(2)测试(标注)阶段,利用一个长度为3个单元的滑动窗口,从已进行 名词短语标注的规范化语料滑动式读取一个句子的短语分割序列s_x的一个窗 口数据s_w=<s-1s0s+1>,利用已训练的细粒度级的藏语命名实体标注器遍历 该语料中未被标注的名词短语,计算s_x的命名实体标记序列s_y的最大条件概 率P(s_y|s_x,W′)来确定未标注实体的类别,公式如下:

式中,|W′|=|Wv1|+|Wv2|+|Wv3|+|Wv4|,||表示向量长度;根据计算的 条件概率,使用Viterbi算法输出标记序列。

步骤604,利用优化的Semi-Markov CRFs_2遍历部分标注语料中未标注的 名词性字、词和短语,实现命名实体的全标注,得到新命名实体标注语料。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通 技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变 形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1