Jay*_*raj 4 nlp pos-tagger oov
在词性标注器中,使用HMM by确定给定句子的最佳可能标签
P(T*) = argmax P(Word/Tag)*P(Tag/TagPrev)
T
Run Code Online (Sandbox Code Playgroud)
但是当"Word"没有出现在训练语料库中时,P(Word/Tag)在给定所有可能的标签时产生ZERO,这就没有留下选择最佳标签的空间.
我尝试过几种方法,
1)为所有未知单词分配少量概率,P(UnknownWord/AnyTag)~Epsilon ...意味着通过分配常数概率完全忽略未知单词的P(字/标记).因此对未知单词做出决策是先验概率..正如预期的那样,它没有产生好的结果.
拉普拉斯平滑我很困惑.我不知道(1)和这之间有什么区别.我理解拉普拉斯平滑的方法为所有未知和已知单词添加了常数概率(lambda).因此,所有未知单词将获得恒定概率(lambda的分数),并且已知单词概率将相对相同,因为所有单词的概率增加了LAMBDA.拉普拉斯平滑是否与前一个相同?
*)有没有更好的处理未知单词的方法?
你的两种方法是相似的,但是,如果我理解正确,它们在一个关键方面有所不同.在(1)中,您将额外质量分配给未知单词的计数,并且(2)您为所有计数分配额外质量.你肯定想做(2)而不是(1).
拉普拉斯平滑的一个问题是它对未知单词给予过多的提升,并且过多地拖累高概率单词的概率(相对而言).你的版本(1)实际上会恶化这个问题.基本上,它会过度平滑.
拉普拉斯平滑词对于HMM来说还可以,但它并不好.大多数人都会添加一个平滑,但你可以尝试添加一半或其他东西.
如果你想超越这种天真的方法进行平滑,请查看"一次计数平滑",如Jason Eisner的HMM教程附录中所述.这里的基本思想是,对于未知单词,应该给出具有更多种低频词的标签更多的概率质量.例如,由于标签NOUN出现在大量不同的单词上,而DETERMINER出现在少量不同的单词上,因此更有可能是一个看不见的单词将成为NOUN.
如果你想变得更加漂亮,你可以使用从非参数贝叶斯统计数据中获取的中国餐馆过程模型来预先分配看不见的单词/标签组合. Kevin Knight的贝叶斯推理教程有详细介绍.