POS-tagging

判定给定句子中每个词的语法范畴, 确定其词性并加以标注的过程 (刘开瑛 2001)。
词性标注歧义 : 如果词 w 存在两个或两个以上的词性 , 则词 w 具有词性标注歧义。
词性标注是一个比较活跃的研究领域,它可以应用到许多领域, 其中包括: 口语识别和生成 , 机器翻译 , 信息检索和词典编篡等。

方法

  • 基于规则方法进行标注

规则方法对语料库进行标注主要利用规则对具有多个词性的词进行消歧 ,消歧主要利用上下文信息来排除多余的词性 , 而保留一个正确的词性。
具体做法 :
1 . 程序和规则分开;
2 . 对词性歧义建立了标注规则库 ;
3 . 查词典 , 如果某个词具有多个词性 , 则查找规则库 , 对具有相同模式的歧义进行排歧,否则, 保留。

  • 统计方法进行标注

1.词性标注模型
令$W=w_1 w_2⋯w_n$是由$n$个词组成的词串,其中$w_i(1≤i≤n)$代表句子中的第$i$个词,$w_1$和$w_n$是两个没有切分和词类歧义的词(如标点)。$T=t_1 t_2⋯t_n$是词串$W$对应的标注串,其中 $t_k (1≤k≤n)$是 $w_k$ 的词性标注。而在标注模型中,根据贝叶斯公式, 公式$(3 .1)$ 成立:


$$P( T / W ) =\cfrac{P(T)P( W / T)}{P(W)}\tag{3.1}$$
公式$(3 .1)$分子代表了词性标注的统计模型。
对于分子中的第二项, 可以简化认为:每个词的词性只与这个词本身有关 , 而与其他词无关。
$$P( W / T )=\prod_{i=1}^nP( w_i / t_i ) \tag{3.2} $$
对于$(3 .1)$中分子的第一项, 假设每个词的词性只与其先前一个词性有关。则有:
$$P( T ) = \prod_{i=1}^nP(t_i / t_1^{i-1} ) ≈ P(t_1 )\prod_{i=2}^nP(t_i | t_{i- 1} ) \quad 二元模型\tag{3.3}$$
对于$(3 .1)$中分子的第一项, 假设每个词的词性与其先前两个词性有关。则有:
$$P(T)≈P(t_1)P(t_2 / t_1)\prod_{i=3}^nP(t_i |t_{i-1} t_{i-2} )\quad 三元模型\tag{3.4}$$
因为词串 $W$ 不变,所以它不影响求 $P(T/W)$的最大值。


2 . $Viterbi$ 算法
根据 $Viterbi$ 算法,概率最大的结果为正确的结果。则:
$$\begin{split}
P ′( T / W ) &= m a x P ( T / W ) = m a x P ( T ) P ( W / T ) \
&=P(t_1)P(w_1 / t_1)\prod_{i=2}^nP(t_i |t_{i-1})P(w_i |t_i)
\end{split}\quad二元模型\tag{3.5} $$
$$\begin{split}
P ′( T / W ) &= m a x P ( T ) P ( W / T )\
&=maxP(t_1)P(t_2 / t_1)P(w_1 / t_1)P(w_2 /t_2)
\prod_{i=3}^nP(t_i |t_{i-1}t_{i-2})P(w_i |t_i)
\end{split}\quad三元模型\tag{3.6} $$


3 . 词性标注的参数估计
参数估计方法一般采用相对频率估计方法 , 一种方法要求事先有标注好的语料,采用有指导训练方法。另外一种方法:在事先不存在加工好的语料时或拥有较少的熟语料时, 可采用无指导的模型训练方法。
用有指导训练方法对二元模型中的参数按如下方式估计:
$$P(t_i / t_{i-1})= f(t_{i-1}t_i)/ \quad f(t_{i-1}) \tag{3.7}$$
$$P(w_i / t_i)=f(w_i,t_i)/ \quad f(t_i) \tag{3.8}$$
其中, $f(t_{i- 1} t_{i} )$表示 $t_{i- 1} t_i$在训练语料中出现的次数, $f(t_{i - 1} )$表示 $t_{i- 1}$ 在训练语料中出现的次数, $f(w_i ,t_i )$表示词 $w_i$标注为 $t_i$ 的次数。在训练参数中,会出现数据稀疏问题,使用改进的 $Turing$ 公式对数据稀疏进行平滑(刘颖 2001)。


4 . $CLAWS$ 算法
(1) 一个句子由 $N$ 个词组成;
(2) 这 $N$ 个词,首先查词典, 标上所有可能的词类;
(3) $N$ 个相邻的词每一种词类的排列叫做一条路径$(path)$;
(4) 求出具有最大似然估计值的那条路径——最佳路径(根据公式$(3 .5)$或$(3 .6)$求出最佳路径);
(5 ) 最佳路径上所对应的标注为这 $N$ 个词的标注。


5 . $VOLSUNGA$ 算法
$VOLSUNGA$ 算法是对 $CLAWS$ 算法进行改进后得到的。主要有: $CLAWS$ 最佳路 径的定义为 $N$ 个可能的排列中概率乘积最大的那条路径, 而 $VOLSUNGA$ 算法从左到右 , 对于当前考虑的词 , 只保留通往该词的每个词类的最佳路径 , 然后 , 继续将这些路径与下个词的所有词类标记进行匹配, 分别找出通往这个词的每个标记的最佳路径, 以下重复。


  • 基于转换的错误驱动学习

基于转换的错误驱动学习与纯统计语言模型不同 , 是一 种折中的方 法。这种方法学习与上下文有关的规则集 , 并且通过计算每个规则标注语料的正确与错误标注个数 , 来发现最可能的规则。
一个规则有两个成分组成:一个改写规则$(rewrite\quad rule)$, 另一个为与上下文有关的条件。

过程

在每次迭代学习时 , 把正确标注的语料库与当前标注的语料库进行比较学习 , 得到一个规则集 , 统计规则集中的每个规则标注当前语料后提高标注的正确率 , 得到一个按正确率高低排列的有序的规则列 , 选择出正 确率最高的规则 , 用这个规则去标注语料库, 再进行迭代学习。直到不能发现新的并能提高语料库标注 正确率的规则 , 学习才停止。这个过程就是基于转换的错误驱动学习过程。
在规则学习中 , 规则模板集定义了要寻找的候选规则空间 , 每个规则模板说明了特定的特征集作为上下文因素。