2019-10-26

词类标注(part of speech, POS)

  • 手写规则[基于规则的标注]
  • 统计方法[HMM ,基于转换的标注]

(大多数)英语词的分类

  • 封闭类(虚词) 介词
  • 开放类 名词、动词、形容词、副词
    给句子指派一个词类标记序列,对包含n个标记的wn1选择最大可能的标记序列tn1
    tn1 = argmax P(tn1|wn1)

HMM

  • HMM 假设
  • 单词出现的概率只与它本身的词类标记有关 P(wn1|tn1) = ∏P(wi|ti)
  • 标记出现的概率只与它前一个标记有关 P(tn1) = ∏ P(ti|ti-1)
  • 算法的形式化

Q = q1q2...qN; N个状态(state)的集合
A = a11a12...an1..amn:状态转移矩阵(transition probability matrix) A
O = o1o2...oT:T个观察(observations)序列,每个观察来自词汇V = v1v2...vv
B = bi(oi):观察似然度(observation likehoods)的序列,又称发射序列。每个观察似然度表示从状态i生成的观察值oi的概率
q0,qr:特定的开始和特定的终结状态

A 对应先验概率(prior)
B 对应似然度(likelihood)

  • Viterbi算法
    取一个单独的HMM和所观察的单词序列O = (o1o2...ot)作为输入,返回概率最大的状态/标记序列Q = (q1q2...qT)以及它们的概率作为输出

vt(j) = max vt-1(i)aijbj(ot)

TBL

三阶段:
1.每个单词标记
2.检查每一个可能的转换,选择最大程度改善标注的转换
3.根据这个规则对数据进行重新标注

隐马尔科夫和最大熵模型

马尔可夫链

不能表示固有的歧义问题
其他表示方法:

π = π12,...πN 在状态上的初始概率分布
QA = |qx,qy,... | 合法的接收状态集合

HMM

假设1、特定状态只与前一状态有关
假设2、输出观察只与产生该观察的状态有关

  • 三个基本问题

似然度问题:给定HMM λ(A,B)和一观察序列O,确定似然度P(O|λ)
解码问题: 给定一观察序列和HMM λ(A,B)找出隐藏状态序列
学习问题:给定一观察序列和状态集合,学习HMM λ(A,B)

问题1

对于特定的隐藏状态序列Qq1,q2,....qT以及
O: o1,o2,......oT观察序列的似然度
P(O|Q) = ∏P(oi|qi)
联合概率:P(O,Q) = P(O|Q) X P(Q) = ∏ P(oi|qi) x ∏P(qi|qi-1)
去除特定条件:
P(O) = ∑P(O,Q) = ∑P(O|Q)P(Q)

  • 向前算法:O(NT) -- O(N2T)

α t(j) 表示对于给定的自动机λ,在看了前t个观察之后,在状态j的概率,α t(j)=P(o1o2..otqt=j|λ)(注:这里的状态是给出前t个观察之后,处于qj的观察状态,附带观察)

αt(j) = ∑αt-1(j) aijbj(ot)

前向算法图

问题2
  • Viterbi算法

vt(j) 表示对于给定的自动机λ,HMM在看了前t个观察并通过了概率最大的状态序列q0,q1,...qt-1之后在状态j的概率。vt(j) = maxP(q0q1...qt-1,o1,o2,...ot,qt= j|λ)

vt(j) = maxvt-1(i)aijbj(ot)

问题3
  • 向前-向后算法
    在状态i和状态j之间的一个特定的转移概率aij的最大似然估计通过转移次数来计算,aij = C(i→j)/∑C(i→q)
  • 反复地估计所得的计数,从转移概率和观察概率的估计值开始,反复地使用这些估计概率来推出越来越好的概率
  • 对于一个观察,计算它二点前向概率,从而得到
    估计概率,把该估计量对前向概率有贡献的所有不同路径平摊

向后概率β表示对于给定的自动机λ,在状态i和时刻t观察从时刻t+1到终点的观察概率。βt(i) = P(ot+1,ot+2,...oT|qt = i,λ)

aij = 从状态i转移到状态j的期望/从状态i转移的期望数
ξt(i,j) = P(qt=i,qt+1=j|O,λ)
not-quite-ξt(i,j) = P(qt=i,qt+1=j,O|λ) = αt(i)aijbj(ot+1t+1(j)
=> P(X|Y,Z) = P(X,Y|Z)/P(Y|Z)
P(O|λ) = αT(N) = βT(1) = ∑jαt(j)β(j)

aij = ∑tξt(i,j)/∑tjξt(i,j)

bi(vk) 表示在给定状态j,观察V中的一个给定的符号vk的概率, = 观察词汇V中的一个给定的符号vk的期望数/状态j的期望次数

γt(j) = P(qt = j | O,λ) = P(qt=j,O|λ) / P(O|λ) = αt(j)βt(j)/P(O|λ)

EM算法

最大熵

与HMM不同之处: 直接比较后验概率,不使用似然度与先验分离的模型
T = argmaxP(T|W) = argmax ∏P(tagi|wordi,tagi-1)

HMM:
针对给定观察的状态序列概率:
P(Q|O) = ∏P(oi|qi) x ∏P(qi|qi-1)
MEMM:
P(Q|O) = ∏P(qi|qi-1,oi)
p(q|q',o) = exp(∑wifi(o,q))/Z(o,q')

MEMM的解码和训练

对于状态j在时间t的Viterbi值
vt(j) = max vt-1(i)aijbj(ot) , 1 <= j <= N, 1 < t <= T

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。