将词性标注转为数学描述问题。此文参考 NLP --- 词性标注
词性标注转数学描述
词性标注任务描述,已知句子S的单词序列 \(W\)为\((w_1,w_2,...,w_n)\),则该句子对应的词性序列\(T=(t_1,t_2,...,t_n)\)便为隐藏的状态序列。现在假设\(W\)为分词后的句子序列,\(T\)是\(W\)的某个可能的词性标注序列,\(T^*\)为最终的标注结果,即概率最大的词性序列,则有
根据贝叶斯定理
则有
对于一个给定的词序列 \(W\),其词序列的概率\(P(W)\)对于任意一个标注的序列都是相同的,故可以将上式的\(P(W)\)忽略,变为下式
我们对上式右侧计算进行说明
针对 \(P(W|T)=P((w_1,w_2,...,w_n)|(t_1,t_2,...,t_n))\),我们利用马尔科夫假设,每个单词的词性仅与该单词相关,则
针对 \(p((t_1,t_2,...,t_n))\)利用链式法则及Bigram语言模型可以转换为下式
整合上述两式与求 \(T^*\)整合
其中 \(P(w_i|t_i)\)解释为词性为\(t_i\)的词\(w_i\)的概率,\(P(t_i|t_{i-1})\)解释为词性\(t_{i-1}\)到词性\(t_i\)转移的概率。这两个概率的统计可以基于语料采用最大似然估计来统计得到
其中 \(C(w_i,t_i)\)指语料库中词\(w_i\)词性为\(t_i\)的出现次数,\(C(t_i)\)表示词性\(t_i\)出现的次数;\(C(t_i,t_{i-1})\)则为相邻两个词性\(t_{i-1},t_i\)出现的次数(考虑先后顺序)。
我们知道,在概率的计算中经常会出现underflow问题,所以一般我们都会对概率计算的两端取对数处理,上式转换为
令
上述的表述便于后续我们对维特比算法的描述,其中A是词性为 \(t_i\)的词\(w_i\)的概率,\(\pi\)可以解释为开头的词性概率,B可解释为为词性\(t_{i-1}\)到词性\(t_i\)转移的概率。