zoukankan      html  css  js  c++  java
  • 词性标注的数学描述

    将词性标注转为数学描述问题。此文参考 NLP --- 词性标注

    词性标注转数学描述

    词性标注任务描述,已知句子S的单词序列 (W)((w_1,w_2,...,w_n)),则该句子对应的词性序列(T=(t_1,t_2,...,t_n))便为隐藏的状态序列。现在假设(W)为分词后的句子序列,(T)(W)的某个可能的词性标注序列,(T^*)为最终的标注结果,即概率最大的词性序列,则有

    [T^* = argmaxP(T|W) ]

    根据贝叶斯定理

    [P(B|A)=frac{P(A|B)P(B)}{P(A)} ]

    则有

    [T^* = argmaxP(T|W)=argmaxfrac{P(W|T)P(T)}{P(W)} ]

    对于一个给定的词序列 (W),其词序列的概率(P(W))对于任意一个标注的序列都是相同的,故可以将上式的(P(W))忽略,变为下式

    [T^* = argmaxP(T|W)=argmaxP(W|T)P(T) ]

    我们对上式右侧计算进行说明

    [P(W|T)P(T)=P((w_1,w_2,...,w_n)|(t_1,t_2,...,t_n))p((t_1,t_2,...,t_n)) ]

    针对 (P(W|T)=P((w_1,w_2,...,w_n)|(t_1,t_2,...,t_n))),我们利用马尔科夫假设,每个单词的词性仅与该单词相关,则

    [P(W|T)=P((w_1,w_2,...,w_n)|(t_1,t_2,...,t_n))=P(w_1|t_1)P(w_2|t_2)...P(w_n|t_n)=prod_{i=1}^{n}P(w_i|t_i) ]

    针对 (p((t_1,t_2,...,t_n)))利用链式法则及Bigram语言模型可以转换为下式

    [p((t_1,t_2,...,t_n))=P(t_1)P(t_2|t_1)P(t_3|t_2)...P(t_n|t_{n-1})=P(t_1)prod_{i=2}^{n}P(t_i|t_{i-1}) ]

    整合上述两式与求 (T^*)整合

    [T^* = argmaxP(T|W)=argmaxP(W|T)P(T)=prod_{i=1}^{n}P(w_i|t_i)P(t_1)prod_{i=2}^{n}P(t_i|t_{i-1}) ]

    其中 (P(w_i|t_i))解释为词性为(t_i)的词(w_i)的概率,(P(t_i|t_{i-1}))解释为词性(t_{i-1})到词性(t_i)转移的概率。这两个概率的统计可以基于语料采用最大似然估计来统计得到

    [P(w_i|t_i)=frac{C(w_i,t_i)}{C(t_i))} \ P(t_i|t_{i-1})=frac{C(t_i,t_{i-1})}{C(t_{i-1}))} ]

    其中 (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问题,所以一般我们都会对概率计算的两端取对数处理,上式转换为

    [T^* = argmaxlogP(T|W)=argmaxlogP(W|T)P(T)=argmaxlogprod_{i=1}^{n}P(w_i|t_i)P(t_1)prod_{i=2}^{n}P(t_i|t_{i-1})=argmax(sum_{i=1}^{n}logP(w_i|t_i)+logP(t_1)+sum_{i=2}^{n}logP(t_i|t_{i-1})) ]

    [A=P(w_i|t_i) \ pi=P(t_1) \ B=P(t_i|t_{i-1}) ]

    上述的表述便于后续我们对维特比算法的描述,其中A是词性为 (t_i)的词(w_i)的概率,(pi)可以解释为开头的词性概率,B可解释为为词性(t_{i-1})到词性(t_i)转移的概率。

  • 相关阅读:
    leetcode108 Convert Sorted Array to Binary Search Tree
    leetcode98 Validate Binary Search Tree
    leetcode103 Binary Tree Zigzag Level Order Traversal
    leetcode116 Populating Next Right Pointers in Each Node
    Python全栈之路Day15
    Python全栈之路Day11
    集群监控
    Python全栈之路Day10
    自动部署反向代理、web、nfs
    5.Scss的插值
  • 原文地址:https://www.cnblogs.com/yhzhou/p/13334985.html
Copyright © 2011-2022 走看看