文章目录
前言
本期将包括语法分析和词法分析,以及翻译质量的评估。
词法分析和语法分析
在讲述这两个概念之前,我们先从一个实例出发去理解:
分词这个过程会把输入词串进行切分,切分为最小的单元(token)。例如猫/喜欢/吃鱼。句法分析,这个过程会对分词的结果进一步分析,包括得到句子中的实体的信息,以及完整的句法结构。下面看一下具体的定义:
词法分析是研究语言中 “词的构成和变化规则” 的任务,目标是将原始文本拆解为机器可处理的 “词单元”(Token),并分析词的内部形态结构。
句法分析是研究语言中 “句子的语法结构” 的任务,目标是根据语法规则分析句子中词与词之间的层次关系或依赖关系,构建句法结构树。
接下来将具体介绍。
词法分析
中文分词
分词得到的单元序列既可以是语言学上的词序列,也可以是根据其他方式定义的基本处理单元。我们把分词得到的一个个单元称为单词或词,尽管这些单元可以不是语言学上的完整单词,而这个过程也被称作词法分析,分词的目的是定义系统处理的基本单元。
基于词典的分词方法
基于词典的分词方法是典型的基于规则的方法,完全依赖于人工给定的词典。计算机通过构建词典的方法进行分词,先将词典加载到计算机中,扫描输入句子,查询其中的每个词典是否出现在词典中。看一个示例:输入句子“确实现在物价很高”后,分词系统自左至右遍历输入句子的每个字,发现词串“确实”在词典中出现,说明“确实”是一个“词”。之后,重复这个过程。
当然,基于词典的分词方法很容易遇到歧义,比如出现“‘实现”“现在”都命中的情况下,应该如何选择,这就需要人工定义消除歧义的规则,比如,可以自左向右扫描每次匹配最长的单词,这是一种简单的启发式消歧策略。
基于统计的分词方法
基于统计的分词方法是我们先分词好数据,然后利用分词数据,从中学到规律,利用学习到的规律进行预测。可以分为两个步骤:
- 训练。利用标注数据,对统计模型的参数进行学习。
- 预测。利用学习到的模型和参数,对新的句子进行切分。这个过程也可以被看作是利用学习到的模型在新的数据上进行推断。
统计学习的方法,我们以上一期博客学习的基于1-gram语言模型举例,给定任意分词结果W =w1w2…wm,都能通过P(W)=P(w1)· P(w2)·…·P(wm) 计算这种切分的概率值。枚举所有可能的切分方式,选择最佳结果。这种分词方法也称为全概率分词。其最大的优点在于方法简单、效率高,因此被广泛应用在工业界系统里。它本质上就是一个1gram语言模型,因此可以直接复用ngram语言模型的训练方法和未登录词处理方法。
命名实体识别
在人类使用语言的过程中,单词往往不是独立出现的。很多时候,多个单词会组合成一个更大的单元来表达特定的意思。其中,最典型的代表是命名实体(Named Entity)。命名实体是指名词性的专用短语,例如公司名称、品牌名称、产品名称等专有名词和行业术语。从句法分析的角度来说,命名实体识别是一种浅层句法分析任务。它在分词的基础上,进一步对句子浅层结构进行识别,包括词性标注、组块识别在内的很多任务都可以被看作是浅层句法分析的内容。
序列标注任务
命名实体识别是一种典型的序列标注任务,对于一个输入的序列,它会生成一个相同长度的输出序列。不仅如此,分词、词性标注、组块识别都可以看作是序列标注任务。常见的标注策略有:
- BIO格式。以命名实体识别为例,B表示一个命名实体的开始,I表示一个命名实体的其他部分,O表示一个非命名实体单元。
- BIOES格式。与BIO相比,多了E和S,分别表示一个命名实体的结束位置和仅含一个单词的命名实体。我们看一个标注示例:
常见的应用于命名实体识别的任务,包括隐马尔可夫模型、条件随机场、最大熵、支持向量机等统计学习方法,也包括深度学习方法等等。
基于特征的统计学习
基于特征的统计学习是解决序列标注的有效方法之一。这种方法中,系统研发人员通过定义不同的特征来完成对问题的描述,之后利用统计模型完成对这些特征的某种融合,并得到最终的预测结果。系统开发者可以通过定义多样的特征来从多个不同的角度对目标问题进行建模。而这种设计特征的过程也被称作特征工程(FeatureEngineering)。
设计特征我们一般考虑两个因素,1 样本在这些特征上的差异度。 2 特征与任务目标的相关性。
我们可以将输入的单词,表示为一个单词和对应的词特征,记作<w,f>。我们看一下命名实体 识别任务中的一些典型的特征:
基于概率图模型的方法
**概率图模型(Probabilistic Graphical Model)**是使用图表示变量及变量间概率依赖关系的方法。在概率图模型中,可以根据可观测变量推测出未知变量的条件概率分布等信息。如果把序列标注任务中的输入序列看作观测变量,而把输出序列看作需要预测的未知变量,那么就可以把概率图模型应用于命名实体识别等序列标注任务。
隐马尔可夫模型
隐马尔可夫模型的本质就是概率化的马尔可夫过程,这个过程隐含着状态间转移和可见状态生成的概率。隐马尔可夫模型是一种生成式模型,它假设一个系统是一个由隐藏状态组成的马尔可夫过程,而我们只能观察到这些状态所产生的观测值(可见变量)。在模型中,有两个概率分别是发射概率和转移概率,前者表示隐含状态与可见状态之间的输出概率,后者表示的隐含状态和隐含状态的转移概率。
隐马尔可夫模型处理序列标注问题的基本思路是:
1 :根据可见状态序列(输入序列)和其对应的隐含状态序列(标记序列)样本,估算模型的转移概率和发射概率;
2 对于给定的可见状态序列,预测概率最大的隐含状态序列,比如,根据输入的词序列预测最有可能的命名实体标记序列
一种简单的办法是使用相对频次估计得到转移概率和发射概率估计值。令xi表示第i个位置的可见状态,yi表示第i个位置的隐含状态,P(yi|yi−1)表示第i−1个位置到第i个位置的状态转移概率,P(xi|yi)表示第i个位置的发射概率,于是有:
在获得转移概率和发射概率的基础上,对于一个句子进行命名实体识别可以被描述为:在观测序列x(可见状态,即输入的词序列)的条件下,最大化标签序列y(隐含状态,即标记序列)的概率,即:
条件随机场
上述的隐马尔可夫模型有个明显的缺点,就是在预测标签序列的时候,过度依赖标签之间的转移概率,观察序列的实际信息往往会被忽略,导致预测结果出现偏差,这个问题称为标注偏置。而条件随机场能够解决这一问题,在条件随机场模型中,以全局范围的统计归一化代替了隐马尔可夫模型中的局部归一化。除此之外,条件随机场模型中并非使用概率计算而是特征函数的方式对可见状态序列x对应的隐含状态序列y的概率进行计算,其直接建模在给定观测序列条件下,预测标签序列的概率。CRF定义为在给定输入序列 X 的条件下,输出标签序列 Y 的条件概率分布:
f表示特征函数,k 这里表示特征函数的个数,λ表示k个特征函数的权重,,t表示句子的每个位置,Z(x)是归一化因子。f特征函数会根据输入的上一个位置的标注
y
t
−
1
y_{t-1}
yt−1和当前标注
y
t
y_t
yt,以及可见状态序列X和当前位置t根据这些信息,输出一个值(通常是0或者1),举个例子:
f
1
=
(
当
y
t
是
′
地
名
′
并且
x
t
是
′
北
京
′
时为
1
,
否则为
0
)
f_1 = (当 y_t 是 '地名' 并且 x_t 是 '北京' 时为 1, 否则为 0)
f1=(当yt是′地名′并且xt是′北京′时为1,否则为0),当 t 对应“北京”这个词,且我们正在评估的 Y 序列中这个位置的标注 y_t 恰好是“地名”时,f_1 就返回 1,否则返回 0。
最终我们计算出最大的P(Y|X),Y就是标注的标签。
条件随机场模型处理命名实体识别任务时,可见状态序列对应着文本内容,隐含状态序列对应着待预测的标签。对于命名实体识别任务,需要单独设计若干适合命名实体识别任务的特征函数。例如在使用BIOES标准标注命名实体识别任务时,标签“BORG”后面的标签必然是“IORG”或是“EORG”,而不可能是“O”,针对此规则可以设计相应特征函数。
基于分类器的方法
基于概率图的方法将序列表示为有向图和无向图,这种方法增加了建模的难度,更直接的方法是采用分类器直接对每个位置进行独立预测,把每个位置所对应的特征看作是输入,这个位置对应的标签看作输出。像在BIO标注就是三分类问题,有三个类别(B、I和O),BIOES标注包含5个类别,是五分类问题。一般来说,类别数量越大分类的难度也越大。接下来简单介绍一下基本的分类模型。
K-近邻分类算法
:K近邻分类算法通过计算不同特征值之间的距离进行分类,这种方法适用于可以提取到数值型特征的分类问题。该方法的基本思想为:将提取到的特征分别作为坐标轴,建立一个k维坐标系(对应特征数量为k的情况),此时每个样本都将成为该k维空间的一个点,将未知样本与已知类别样本的空间距离作为分类依据进行分类,比如,考虑与输入样本最近的K个样本的类别进行分类。- 核心思想: K个邻居中哪个类别最多,就把样本归为哪个类别
支持向量机
:支持向量机是一种二分类模型,其思想是通过线性超平面将不同输入划分为正例和负例,并使线性超平面与不同输入的距离都达到最大。与K近邻分类算法类似,支持向量机也适用于可以提取到数值型特征的分类问题。- 核心思想:找到一条最宽的分界线将两类数据分开
最大熵模型
:最大熵模型是根据最大熵原理提出的一种分类模型,其基本思想是:以在训练数据集中学习到的经验知识作为一种“约束”,并在符合约束的前提下,在若干合理的条件概率分布中选择“使条件熵最大”的模型。- 核心思想:在已知条件下,不做多余的假设,让熵最大。
决策树分类算法
:决策树分类算法是一种基于实例的归纳学习方法:将样本中某些决定性特征作为决策树的节点,根据特征表现进行对样本划分,最终根节点到每个叶子节点均形成一条分类的路径规则。这种分类方法适用于可以提取到离散型特征的分类问题- 核心思想:对于每个特征进行决策分类。
朴素贝叶斯分类算法
:朴素贝叶斯算法是以贝叶斯定理为基础并且假设特征之间相互独立的方法,以特征之间相互独立作为前提假设,学习从输入到输出的联合概率分布,并以后验概率最大的输出作为最终类别。- 核心思想:假设特征独立,分别统计类别下的特征概率,最后通过条件概率计算最大后验概率。
句法分析
前面介绍了词法分析,实际上就是分词,现在介绍一下句法分析,句法是研究句子的组成部分和它们之间的组合方式,主要有两种句法分析形式,短语结构句法分析和依存句法分析。下图左侧是短语结构树,右侧是依存树。
在短语结构句法分析中,通常把单词称作终结符,把词性称为预终结符,而把其他句法标记称为
非终结符。依存句法树则没有这些,所有节点都是单词,通过不同连线表示单词之间的依存关系,每个依存关系都是有方向的。本节将主要对应短语结构句法进行分析。句法分析主要对句子中各个成分内部、外部关系进行判断。
在自然语言或者计算机语言中,句法分析是利用形式化的文法规则对一个符号串进行分析的过程。句法分析包含三个基本概念,形式化文法、符号串、以及分析。
上下文无关文法
句法树是对句子的一种抽象,通过使用形式文法对词串进行分析,形式文法主要分为四种类型:无限制文法(0型文法)、上下文有关文法(1型文法)、上下文无关文法(2型文法)和正规文法(3型文法)。本期主要介绍上下文无关文法。
一个上下文无关文法可以视作一个四元组G=<N,Σ,R,S>,其中
- N为非终结符集合
- Σ为终结符集合
- R为一个规则集合
- S为一个起始符号集合
如果我们用G表示一个简单的汉语句法结构。其中非终结符集合为不同的汉语句法标记。
NN代表名词,VV代表动词,NP代表名词短语,VP代表动词短语,IP代表单句。把终结符集合定义为
再定义起始符集合为
最后定义规则R,上下文无关文法的规则是一种产生式规则(ProductionRule),形如α→β,它表示把规则左端的非终结符α替换为规则右端的符号序列β。给定起始非终结符,可以不断地使用规则,最终生成一个终结符串,这个过程也被称为推导(Derivation)。
我们看一下实例,从IP开始使用 r 8 r_8 r8规则到最终的终结符串:
一个推导所生成的字符串,也被称作文法所产生的一个句子(Sentence),这里就是猫喜欢吃鱼,而一个文法所能生成的所有句子的集合是这个文法所对应的语言(Language)。但是,规则顺序的不同会导致句法树的推导这一确定的过程变得不确定,我们称之为歧义,因此,需要进行消歧(Disambiguation)。这里,可以使用启发式方法:要求规则使用都服从最左优先原则,这样得到的推导被称为最左优先推导(LeftmostDerivation)。这样,对于一个上下文无关文法,每一棵句法树都有唯一的最左推导与之对应。
由此,句法分析可以被描述为:对于一个句子找到能够生成它的最佳推导,这个推导所对应的句法树就是这个句子的句法分析结果。
对于如何找对最佳推导,这个推导所对应的句法树就是这个句子的句法分析结果。我们可以沿着之前介绍的统计建模的思想,给每个规则建立设定概率,概率由人工标注的句法树统计频次得来。这个方法称之为概率上下文无关文法。对于规则 r : α→β 可以使用基于频次的方法:
建立好概率之后,计算不同句法树出现的概率,计算概率最高出现的句法树作为输出。
翻译质量评估
我们将翻译质量评估分为人工评价、有参考答案的自动评价以及无参考答案的自动评价。
- 当需要对系统进行准确的评估时,往往采用人工评价。比如,对于机器翻译的一些互联网应用,在系统上线前都会采用人工评价对机器翻译系统性能进行测试。当然,这种方法的时间和人力成本是最高的。
- 有参考答案的自动评价。由于机器翻译系统研发过程中需要频繁地对系统性能进行评价,这时可以让人标注一些正确的译文,之后把这些译文作为参考答案与机器翻译系统输出的结果进行比对。这种自动评价的结果获取成本低,可以多次重复,而且可以用于对系统结果的快速反馈,指导系统优化的方向。
- 无参考答案的自动评价。在很多应用场景中,在系统输出译文时,使用者希望提前知道译文的质量,即使这时并没有可比对的参考答案。这样,系统使用者可以根据这个对质量的“估计”结果有选择地使用机器翻译译文。严格意义上说,这并不是一个传统的译文质量评价方法,而是一种对译文置信度和可能性的估计。
人工评价
顾名思义,人工评价是指评价者根据翻译结果好坏对译文进行评价。在人工评价时,一般由多个评价者匿名对译文打分,之后综合所有评价者的评价结果给出最终的得分。人工评价可以准确反映句子的翻译质量,是最权威、可信度最高的评价方法,但是其缺点也十分明显:需要耗费人力物力,而且评价的周期长,不能及时得到有效的反馈。
有参考答案的自动评价
人工评价费时费力,为了克服这些问题,另一种思路是将人类专家翻译的结果看作是参考答案,将译文与答案的近似程度作为评价结果。下面简单讲述几个代表性的方法。
翻译错误率(TER)
TER 是一种典型的基于距离的评价方法,通过评定机器译文的译后编辑工作量来衡量机器译文质量。在这里“距离”被定义为将一个序列转换成另一个序列所需要的最少编辑操作次数,操作次数越多,距离越大,序列之间的相似性越低;相反距离越小,表示一个句子越容易改写成另一个句子,序列之间的相似性越高。TER使用的编辑操作包括:增加、删除、替换和移位。其中增加、删除、替换操作计算得到的距离被称为编辑距离。
其中,edit(o,g) 表示系统生成的译文o和参考答案g之间的距离,l是归一化因子,通常为参考答案的长度。在距离计算中所有的操作的代价都为1。通过计算得分,我们能够评估译文的质量。
基于 n-gram 的方法
BLEU 是目前使用最广泛的自动评价指标。BLEU是Bilingual Evaluation Under-study 的缩写,由IBM的研究人员在2002年提出。通过采用n-gram匹配的方式评定机器翻译结果和参考答案之间的相似度,机器译文越接近参考答案就认定它的质量越高。BLEU 的计算首先考虑待评价机器译文中n-gram在参考答案中的匹配率,称为n-gram 准确率(ngramPrecision)。
其中,
c
o
u
n
t
h
i
t
count_{hit}
counthit 表示机器译文中n-gram在参考答案中命中的次数,
c
o
u
n
t
o
u
t
p
u
t
count_{output}
countoutput表示机
器译文中总共有多少n-gram。为了避免重复计算,BLEU使用了截断的方式定义
c
o
u
n
t
h
i
t
count_{hit}
counthit和
c
o
u
n
t
o
u
t
p
u
t
count_{output}
countoutput。
引入截断操作的话,会取机器译文和参考答案两者的最小值,比如the在译文出现4次,在参考答案出现2次,我们取
c
o
u
n
t
h
i
t
=
2
count_{hit} = 2
counthit=2 ,
c
o
u
n
t
o
u
t
p
u
t
=
4
count_{output} = 4
countoutput=4 ,该译文的1gram准确率为2/4。
令N表示最大n-gram的大小,则译文整体的准确率等于各n-gram的加权平均。
但是,该方法更倾向于对短句子打出更高的分数。一个极端的例子是译文只有很少的几个词,但是都命中答案,准确率很高可显然不是好的译文。因此,BLEU引入短句惩罚因子BP的概念,对短句进行惩罚:
其中,c表示机器译文的句子长度,r表示参考答案的句子长度。最终BLEU的计算公式为:
基于词对齐的方法
基于词对齐的方法,顾名思义就是根据参考答案中的单词与译文中的单词之间的对齐关系对机器翻译译文进行评价。这其中我们主要介绍一下Meteor方法。
在机器译文与参考答案之间建立单词之间的对应关系。单词之间的对应关系在建立过程中主要涉及三个模型,在对齐过程中依次使用这三个模型进行匹配:
1 精确模型在建立单词对应关系时,要求机器译文端的单词与参考答案端的单词完全一致,并且在参考答案端至多有1个单词与机器译文端的单词对应,否则会将其视为多种对应情况。
2 “波特词干”模型(PorterStemModel)。该模型在精确匹配结果的基础上,对尚未对齐的单词进行基于词干的匹配,只需机器译文端单词与参考答案端单词的词干相同即可,如上文中的“he”和“him”。
3 “同义词”模型(WNSynonymyModel)。该模型在前两个模型匹配结果的基础上,对尚未对齐的单词进行同义词的匹配,即基于WordNet词典匹配机器译文与参考答案中的同义词。如实例中的“eat”和“have”
经过上面的处理,可以得到机器译文与参考答案之间的单词对齐关系。下一步需要从中确定一个拥有最大的子集的对齐关系,即机器译文中被对齐的单词个数最多的对齐关系。
在得到机器译文与参考答案的对齐关系后,需要基于对齐关系计算准确率和召回率。
- 准确率:机器译文中命中单词数与机器译文单词总数的比值。
- 召回率:机器译文中命中单词数与参考答案单词总数的比值。
最后,计算机器译文的得分。利用调和均值(Harmonicmean)将准确率和召回率结合起来,并加大召回率的重要性将其权重调大,例如将召回率的权重设置为9:
当然,我们需要可以语序的关系,也就是被分的块越多,给予的惩罚越大。其中
c
o
u
n
t
c
h
u
n
k
s
count_{chunks}
countchunks 表示匹配的块数。我们可以看到机器译文被分为了三个“块”——
“CanIhave it”、“like he”、“?”。
Meteor 评价方法的最终评分为:
当然最后还有基于检查点的,基于多策略融合的,基于词嵌入分布式的评价方法,这里就不介绍了。
无参考答案的自动评价
无参考答案自动评价在机器翻译领域又被称作质量评估(QualityEstimation,QE)。与传统的译文质量评价方法不同,质量评估旨在不参照标准译文的情况下,对机器翻译系统的输出在单词、短语、句子、文档等各个层次进行评价。
参考文献
机器翻译:基础与模型 肖桐 朱靖波
写在文末
有疑问的友友,欢迎在评论区交流,笔者看到会及时回复。
请大家一定一定要关注!!!
请大家一定一定要关注!!!
请大家一定一定要关注!!!
友友们,你们的支持是我持续更新的动力~