词性标注:标记未知单词

时间:2012-09-27 02:37:43

标签: nlp pos-tagger oov

在词性标注器中,给定句子的最佳可能标签是使用HMM确定的

    P(T*) = argmax P(Word/Tag)*P(Tag/TagPrev)
              T

但是当“Word”没有出现在训练语料库中时,P(Word / Tag)会在给定所有可能的标签时产生ZERO,因此没有留下选择最佳标签的空间。

我尝试过几种方法,

1)为所有未知单词分配少量概率,P(UnknownWord / AnyTag)~Epsilon ...意味着通过分配常数概率,这完全忽略了未知单词的P(字/标签)。所以决策制定在未知单词上是先验概率..正如预期的那样,它没有产生好的结果。

2)拉普拉斯平滑 我对此感到困惑。我不知道(1)和这之间有什么区别。我理解拉普拉斯平滑的方法将常数概率(lambda)添加到所有未知和&已知单词..因此,所有未知单词将获得恒定概率(lambda的分数),并且已知单词概率将相对相同,因为所有单词的概率都由Lambda增加。 拉普拉斯平滑是否与前一个相同?

*)有没有更好的方法来处理未知单词?

2 个答案:

答案 0 :(得分:8)

你的两种方法是相似的,但是,如果我理解正确,它们在一个关键方面有所不同。在(1)中,您将额外质量分配给未知单词的计数,并且(2)您为所有计数分配额外质量。你肯定想做(2)而不是(1)。

拉普拉斯平滑的一个问题是,它对未知单词给予过多的提升,并且过多地拖累高概率单词的概率(相对而言)。你的版本(1)实际上会恶化这个问题。基本上,它会过度平滑。

拉普拉斯平滑词对于HMM来说是好的,但它并不好。大多数人都会添加一个平滑,但你可以尝试添加一半或其他任何东西。

如果您想超越这种天真的方法进行平滑,请查看“一位数平滑”,如Jason Eisner's HMM tutorial附录中所述。这里的基本思想是,对于未知单词,应该给出具有更多种低频词的标签更多的概率质量。例如,由于标签NOUN出现在大量不同的单词上,而DETERMINER出现在少数不同的单词上,因此更有可能是一个看不见的单词将成为NOUN。

如果你想变得更加漂亮,你可以使用取自非参数贝叶斯统计数据的中国餐馆过程模型,将先前的分布放在看不见的单词/标签组合上。 Kevin Knight's Bayesian inference tutorial有详细信息。

答案 1 :(得分:0)

我认为基于HMM的TnT tagger提供了一种处理未知单词的更好方法(参见TnT tagger's paper中的方法)。

包含保加利亚语,捷克语,荷兰语,英语,法语,德语,印地语,意大利语,葡萄牙语,西班牙语,瑞典语,泰语在内的13种语言的TnT和其他两种POS和形态标记符的准确度结果(已知单词和未知单词)和越南语,可以在this article找到。