法律状态公告日
法律状态信息
法律状态
2018-08-28
授权
授权
2016-10-19
实质审查的生效 IPC(主分类):G06F17/27 申请日:20160505
实质审查的生效
2016-09-21
公开
公开
技术领域
本发明涉及利用计算机对文本进行词性标注的方法,属于信息处理技术领域。
背景技术
目前尚未发现基于纠错输出编码(Error-Correcting Output Codes,ECOC)、自动生成训练与测试特征的无监督的词性标注方法,但存在手动生成训练和测试特征的无监督词性标注方法。也存在基于自动生成训练和测试特征的有监督的词性标注方法,而本方法与这些方法完全不同。
词性标注(Part-of-Speech tagging或POS tagging),又称词类标注或者简称标注,是指为句子中的每个单词标注一个正确的词性,即确定每个单词是名词、动词、形容词或其他词性的过程。正确的词性标注对于自动的自然语言处理具有重要意义。第一,它提供了单词及其邻近成分的关键信息。例如主有代词(my,your,his,her,its)和人称代词(I,you,she,he)。如果知道一个词是主有代词还是人称代词,就能知道什么词会出现在它的近邻(主有代词后面大多会出现名词,人称代词后面大多会出现动词),这些信息在语音识别的语言模型中非常有用;第二,词性能提供单词的发音信息,比如单词exercise既可以是名词,也可以是动词,但是发音是用区别的,因此,如果知道单词的词性,就能够更精确的进行语音识别,第三,词性标注对于信息抽取非常有用,如果我们能够知道单词的词性,我们就能快速的从文本中抽取重要的信息,比如对于一篇文章而言,动词和名词的重要性显然高于介词,代词。
当前的词性标注使用了多种技术方法,包括基于规则匹配的和基于机器学习的方法。规则匹配方法能准确地描述词性搭配之间的确定现象,然而规则的语言覆盖有限,庞大的规则库的编写和维护工作过于繁重。机器学习方法则考虑了词性之间的依存关系,可以覆盖大部分的语言现象。然而,上述两类方法要么基于大量的人工标注的语料要么基于庞大的专家规则库。对于某些少数民族语言,由于缺乏大量的标注语料、缺少专门的研究人员,上述方法很难应用。因此,基于词性字典进行词性标注,如下表一所示,具有很好的实用性,能够解决不易获得标注语料库的语言的词性标注问题。
表一,基于词性字典的意大利语词性标注
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于纠错输出编码的无需消歧的无监督词性标注方法,该方法能够解决不易获得标注语料的语言的词性标注问题的方法框架,来实现词性标注,以及便于一系列后续应用(如命名实体识别、信息抽取)的开展。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于纠错输出编码的无需消歧的无监督词性标注方法,包括以下步骤:
步骤1,将无标记的语料库U中的每个单词ωi通过基于神经语言模型转化为一个特征向量,其中,i=1…n,n为语料库U单词的个数。将每个单词ωi的特征向量以及其相邻单词的特征向量一起形成该单词的上下文特征φ(ωi)。从词性词典D中获取每个单词的候选标记集合将每个单词ωi,其上下文特征φ(ωi)以及该单词的候选词性集合构成训练数据集T中的一个训练样本
步骤2,在基于ECOC进行训练与测试编码阶段中,构造一个|O|×L的编码矩阵M∈{+1,-1}|O|×L,其中,O表示词性标记列表,|O|表示不同的词性标记的个数,L表示编码长度。编码矩阵中的第j行M(j,:)表示标记类yj的L位的编码。编码矩阵的第l列M(:,l)指定了标记空间y的划分,即以及
通过把来自的样本作为正类样本,来自的样本作为负类样本为编码矩阵的每一列构建一个二类分类器。对训练数据集T中的一个训练样本在构建一个二类分类器hl时,仅当全部落入或中时,该训练样本才被视为一个正类的或负类的训练样本。否则,将不会参与hl的训练过程。
步骤3,将待测试数据中的每个待测单词ω*通过基于神经语言模型转化为一个特征向量,进而得到每个待测单词的上下文特征φ(ω*)。将得到的上下文特征φ(ω*)根据其编码长度和步骤3得到的分类器进行编码分类,生成相应编码h(ω*):
步骤4,将待测试数据中的待测单词ω*从词性词典D中获取其对应的候选标记集合将待测单词ω*的选标记集合中的每个词性的编码与步骤3得到的编码h(ω*)的距离最小的词性作为单词ω*的最终预测结果。
优选的:所述步骤1中神经语言模型通过区别正确和不正确的短语来学习单词的特征表示。获取无标记语料库训练样本Q,在无标记语料库训练样本Q中获取一个窗口大小为d的单词序列p=(w1,w2,…,wd)。该模型的目标就是能够区别正确的单词序列p以及一个随机单词序列pr,其中pr表示把单词序列p的中间单词替换为r后的单词序列,r表示中间单词替换词,该模型的目标函数就是最小化与参数θ相关的排序损失:
其中,p是无标记语料库训练样本Q中所有的长度为d的单词序列,是单词词典,fθ(p)是p的得分,无标记语料库训练样本Q中所有的单词序列用于学习该语言模型。正例是语料库Q中的单词序列,负例是把这些单词序列的中心词替换为随机词的结果。
优选的:所述步骤3中待测单词ω*通过分类器进行编码分类,生成相应编码h(ω*):
h(ω*)=[h1(ω*),h2(ω*),…,hL(ω*)]T。
其中,L表示编码长度,h(ω*)表示待测单词ω*编码长度为L的编码,h1(ω*),h2(ω*),…,hL(ω*)表示确定的L个分类器生成的相应编码。
优选的:所述步骤3中将待测单词ω*的选标记集合中的每个词性的编码与步骤4得到的编码h(ω*)的距离最小的词性作为单词ω*的最终预测结果的方法:
其中,dist(,)表示距离函数。
优选的:所述距离函数dist(,)在意大利词性标注上采用逆海明距离。
有益效果:本发明提供的基于纠错输出编码的无需消歧的无监督词性标注方法,相比现有技术,具有以下有益效果:
本发明不需标注语料,可以应用于不易获得标注语料的语言的词性标注问题;不需消歧,避免了迭代式消歧过程中的错误传播问题;采用神经语言模型自动生成训练和测试使用的特征,避免了手动选取和构建特征,因此本发明能够解决不易获得标注语料的语言的词性标注问题的方法框架,来实现词性标注,以及便于一系列后续应用(如命名实体识别、信息抽取)的开展。
附图说明
图1是本发明实施的方法流程图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种基于纠错输出编码的无需消歧的无监督词性标注方法,如图1所示,该方法包含基于词性字典生成训练数据以及基于ECOC进行训练与测试两个步骤。
问题可以描述如下:用O表示词性标记列表,D表示单词与其候选词性组成的词典,即词性字典,无监督词性标注的任务就是基于词性字典D,预测一个句子中给定的单词ω的词性标记。在下面的叙述中标记和词性会交替使用,具有相同的含义。
一、生成训练数据
步骤1,将无标记的语料库U中的每个单词ωi通过基于神经语言模型转化为一个特征向量,其中,i=1…n,n为语料库U单词的个数。将每个单词ωi的特征向量以及其相邻单词的特征向量一起形成该单词的上下文特征φ(ωi)。从词性词典D中获取每个单词的候选标记集合将每个单词ωi,其上下文特征φ(ωi)以及该单词的候选词性集合构成训练数据集T中的一个训练样本
神经语言模型通过区别正确和不正确的短语来学习单词的特征表示。获取无标记语料库训练样本Q,在无标记语料库训练样本Q中获取一个窗口大小为d的单词序列p=(w1,w2,…,wd)。该模型的目标就是能够区别正确的单词序列p以及一个随机单词序列pr,其中pr表示把单词序列p的中间单词替换为r后的单词序列,r表示中间单词替换词,该模型的目标函数就是最小化与参数θ相关的排序损失:
其中,p是无标记语料库训练样本Q中所有的长度为d的单词序列,是单词词典,fθ(p)是p的得分,得分是在0-1之间,正常的单词序列趋向于1,随机的单词序列趋向于0。无标记语料库训练样本Q中所有的单词序列用于学习该语言模型。正例是语料库Q中的单词序列,负例是把这些单词序列的中心词替换为随机词的结果。
二、在基于ECOC进行训练与测试步骤中,ECOC通过编码解码过程来利用多个二类分类器来解决多类分类问题。
步骤2,在基于ECOC进行训练与测试编码阶段中,构造一个|O|×L的编码矩阵M∈{+1,-1}|O|×L,其中,O表示词性标记列表,|O|表示不同的词性标记的个数,L表示编码长度。编码矩阵中的第j行M(j,:)表示标记类yj的L位的编码。编码矩阵的第l列M(:,l)指定了标记空间y的划分,即以及
通过把来自的样本作为正类样本,来自的样本作为负类样本为编码矩阵的每一列构建一个二类分类器。对训练数据集T中的一个训练样本在构建一个二类分类器hl时,仅当全部落入或中时,该训练样本才被视为一个正类的或负类的训练样本。否则,将不会参与hl的训练过程。
步骤3,将待测试数据中的每个待测单词ω*通过基于神经语言模型转化为一个特征向量,进而得到每个待测单词的上下文特征φ(ω*)。将得到的上下文特征φ(ω*)根据其编码长度和步骤2得到的分类器进行编码分类,生成相应编码h(ω*):
h(ω*)=[h1(ω*),h2(ω*),…,hL(ω*)]T。
其中,L表示编码长度,h(ω*)表示待测单词ω*编码长度为L的编码,h1(ω*),h2(ω*),…,hL(ω*)表示确定的L个分类器生成的相应编码。
步骤4,将待测试数据中的待测单词ω*从词性词典D中获取其对应的候选标记集合将待测单词ω*的选标记集合中的每个词性的编码与步骤3得到的编码h(ω*)的距离最小的词性作为单词ω*的最终预测结果。
其中,dist(,)表示距离函数。
距离函数dist(,)有多种不同实现,本发明在意大利词性标注上采用了逆海明距离。逆海明距离定义为max(Δ-1DT),其中Δ(i1,i2)=海明距离(yi1,yi2),D是x和y的解码向量。x,y表示不同的待测单词。
基于ECOC的无监督的词性标注算法流程如下:
输入:词性的列表O,单词与其候选词性组成的词性字典D,由句子组成的无标注的语料U,单词与其词向量组成的列表G,ECOC编码长度L,用于ECOC训练的二类分类器控制二类分类器训练集大小的阈值thr,用于测试的给定句子中的一个单词ω*。
输出:ω*的预测词性标记。
Step1:训练数据设置
Step2:编码
Step3:解码
如Step1描述,生成ω*的特征φ(ω*);
根据二类分类器输出生成编码h(φ(ω*));
计算
并返回y*。
本发明在实验过程中,使用libsvm(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)作为分类器,参数设置如下:编码长度L为10log2(|O|),O为标记空间的长度,阈值thr设置为U为数据集中单词的个数。本发明提出的基于ECOC的无监督词性标注方法,在意大利语数据集CCG-TUT上,准确率达到90.9%,性能均优于其他现有的无监督方法。
本发明提出的基于纠错输出编码的无监督词性标注方法,可以解决不易获得标注语料的语言的词性标注问题,有利于一系列自然语言处理相关应用的展开。与已有的无监督的词性标注方法相比,本发明提出的方法基于ECOC,避免了消歧,也就避免了迭代式消歧过程中的错误传播问题。此外,本发明提出的方法中训练和测试使用的特征均采用神经语言模型自动生成,而已有的大部分方法往往是手动选取特征。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
机译: 手持电子设备和方法,用于在文本输入过程中执行拼写检查,并将此类拼写检查的输出整合到消歧的输出中
机译: 手持电子设备和方法,用于在文本输入过程中执行拼写检查,以及将此类拼写检查的输出整合到消歧的输出中
机译: 手持电子设备和方法,用于在文本输入过程中执行拼写检查,以及将此类拼写检查的输出整合到消歧的输出中