如何用通俗的语言解释 “基于结构化感知机的中文分词器对OOV的召回率比HMM好很多?”

不是很能理解为什么基于结构化感知机的中文分词器能较好的召回OOV中的人名、地名和机构名,效果比HMM好。有没有大佬能用通俗的语言给小白解释一下,谢谢!

这是个好问题,值得讨论。

《自然语言处理入门》所言,除了前一个标签外,HMM只用了1种特征:当前字符,而感知机用了7种左右(当前字符,前后2个字符等)。当然,这只是最常见的一种实现。我想补充的是,在另一些实现里面,HMM还用到了trigram等特征。在特征完全一致的情况下公平竞争,预计感知机的效果仍然更好。因为HMM关于观测的独立性假设太强烈了,不符合特征的概率分布。对一个中文字符序列,哪怕给定BMES标签,前后字符肯定不是独立的。而感知机对特征独立性就没做假设,更符合中文构词的规律。

嗯嗯,谢谢大佬!看了书中6.1节对生成式模型和判别式模型的讲解之后,就更能理解了。HMM和结构化感知机在中文构词规律上的假设的区别,就是生成式模型和判别式模型对p(x)的区别。

大佬,我还想问一个问题:书第181页对结构化感知机算法在参数更新策略上的讲解里,“正确答案触发的特征函数的权重”是什么意思呀?我如何知道正确答案和错误答案触发的特征函数的权重分别是什么呀(源码中没看懂goldFeature和predFeature是怎么提取的TAT)?大佬可以结合中文分词的例子说一下吗~~ 这问题困扰我两天了,谢谢!!

对“商品服务”中的“和”抽取特征,正确答案 y=S ,假设特征模板仅有当前字符,那么触发的特征就是“S和”,其他特征都没有被触发。

嗯嗯!感谢何博士点拨,我终于想明白了!原来是我在结构化感知机中状态特征的构造上没有转过弯来。原来一个状态特征有 tagSet.size() 个权重w,我之前以为只有1个。看来是我书看的不够仔细呀。

2 Likes

另外,方便的话,欢迎去豆瓣留下公正的书评。

好的!!