引自Fabian Suchanek的讲义。
总结:Pos Tagging的目的是利用POS,对句子中的每个单词找到对应的Tag,如果用概率来做这个过程的话,就叫做probabilistic POS Tagging,利用概率计算的话,就需要用到隐式马尔科夫模型,关于这个模型我们需要知道两个马尔科夫假设(tag只由它的predecessor决定和word只由它的tag决定)和两个同质假设(tag在任何位置的概率是相同的即tagA的后面跟着tagB在句子中的任何位置这个概率都是相同的,word在任何位置的概率都是相同的即由tag决定的word在句子中的任何位置出现的概率是相同的),很重要的两个概率:跃进概率和发射概率,跃进概率代表从一个tag后跟着另一个tag的概率,发射概率代表该tag下选择某词的概率,知道这两个概率,就可以根据带有概率的图示计算最大可能的路径,要利用到Virterbi算法,即找到一条路径到END的时候概率为最大。POS Tag可以帮助实例提取,比方说我们可以规定只提取出什么样词性的词。
POS:Part of speech,一些有相同语法角色单词
例如:这些词都是 DT,NOUN,etc……
POS Tagging:为文章或句子中的每个单词找到tag的过程
Probabilistic POS Tagging 定义:给出一个句子,给出该句子的跃进概率和发射概率,计算出对应该句子每个单词的tags,并且这些tags的概率要使在HMM中计算的概率最大
Probabilistic POS Tagging算法:目的是使用随机变量实现POS Tagging
给出一个句子,w1,w2,……,wn,找出对应每个单词的tag,使概率最大,即:
一部分为可见的visible,一部分为隐式的hidden:
- 可见部分为:可能世界中的单词
- 隐式部分为:对应的每个单词的tag
马尔科夫假设Markov Assumption
1 - 每个tag只由它的predecessor决定,即:
例如:ADJ后面跟着什么类型的词,只有ADJ决定
2 – 每个word只由它的tag决定
例如:这里是什么word,只由它自己本身的tag决定
同质假设 Homogeinity Assumption
1 – 同一tag在不同位置上的概率相等
例如:P(T1 = Noun | T0 = Det) = P(T3 = Noun [ T2 = Det]
2 – 同一word在不同位置上的概率相等
例如:P(W1 = song | T0 = Noun) = P(W3 = song | T2 = Noun)
我们由此引出隐式马尔科夫模型Hidden Markov Model
有一系列的随机变量构成,这些随机变量满足:
即发射概率*跃进概率
跃进概率:表示一个tag到另一个tag的概率
发射概率:表示一个tag可以有多个词属于这个tag类型,选择其中一个词的概率
小练习1:计算nice, sounds, ., Adj, Noun, End这一句子的概率
P括号里的东西分别是:词 nice, sounds, . 词的tag:Adj, Noun, End
P (nice, sounds, ., Adj, Noun, End)
= 50% * 50% (nice) * 100% * 50% (sounds) * 20% * 100% (.) = 2.5%
小练习2:依据上图,找到sound sounds. 的最有可能的pos tagging
P(sound,sounds,. ,Adj ,Noun ,End) = 50% * 50% * 50% * 100% * 100% * 20% = 2.5%
P(sound,sounds,.,Noun,Verb,End) = 50% * 50% * 50% * 80% * 100% * 100% = 10%
所以应该是第二种
小练习3:一句下图,从左到右,找到最有可能的路径
备注:带百分比的为该路径的可能性,不带的为0,红色为跃进概率,蓝色的为发射概率。
50% * 50% * 80% * 50% * 100% * 100% = 10%
路径为下图:
想法:找走到这个节点最大的path
具体算法为Virterbi Algorithm
对于每个word,对于每个tag,对于当前tag的predecessor t’:
我们计算P(t’) * P(t|t’) * P(w|t’)
要点是找到path,到达end时概率最大