【关键词提取】第六篇:性能比较

原文地址:http://www.cnblogs.com/lessmore/category/1009890.html 转载请保留本行,欢迎交流。

目录:

  1. 第一篇:综述
  2. 第二篇:数据集、实现代码介绍
  3. 第三篇:特征设计
  4. 第四篇:候选词生成(上)
  5. 第五篇:候选词生成(下)
  6. 第六篇:性能比较

从候选词中筛选关键词这一过程可以看作分类问题,分类器告诉我们每个候选项是否是关键词。我们(x_i)表示一个候选词的特征,用(y_i)表示标注结果,(y_iin {0,1}),其中0表示不是关键词,1表示是关键词。这样虽然使用的是分类模型,我们也可以使用模型预测的条件概率 (P(y_i=1│x_i)) 视作关键词(x_i)可能是关键词的概率,这里有隐含的次序关系。

我们需要分类模型将候选词分为关键词和非关键词两部分,使用的特征文第三篇已经讨论,这里我们仅仅需要找一个合适的模型。可以选择的模型很多,例如感知机,决策树,逻辑斯谛回归,最大熵模型,支持向量机等等。另外机器学习中的集成学习(ensemble learning)方法可以在几乎没有代价的情况下提高性能,例如Boosting方法和决策树得到的提升树,Bagging方法和决策树得到的随机森林。面对训练数据不均衡的问题,常见的解决方式有重采样数据,增加类别权重等方式。

这一篇我们是要比较讨论我们方法的性能。我们的目标是构建一个关键词自动提取系统,从文本中自动提取关键词,评价的标准是提取的关键词与标注结果完全相同视作正确,我们依然是以准确率,召回率和F值三个指标衡量系统的性能。

候选词生成方法结果比较

我们首先给出一个关键词提取系统的基准,来自于论文Hulth (2004),结果见下图,他使用的方法是典型的规则提取候选词,分类模型选择关键词。第一行表示只用规则提取名词短语,第二行使用了更多的规则。

我们的系统中设计了两种候选词生成的方法,以随机森林分类方法比较了各种候选词生成方法的性能。具体结果见下图。

可以看出CRF标注方法在候选词生成方面性能好于名词短语组块提取方法,这既可以解释为机器学习模型的优越性,也可以归咎于提取的规则过于简陋。有意思的是,两种方法综合起来提取关键词,召回率提高不大,精确率相较于CRF标注方法有了明显的下降。两种方法生成的候选词通过随机森林分类得到结果性能各有所长,注意这里随机森林模型没有仔细调整参数,没有达到最好的结果,但也能反应的问题是,综合两种方法,生成的候选词正确的数量多,却不一定好,引入了过多的负例,降低了模型学习的性能。我们可以注意到,候选词准确率最高的CRF标注方法只有32%,造成的训练数据不均衡会给分类模型造成性能下降。

不同分类模型结果比较

为了解决训练数据不均衡的问题,我们使用了常用的增加类别权重的方式比较性能提升,这里我们选用的是CRF标注产生的候选词,具体结果见下图。

增加类别权重的方法,相当于隐式的加入更多的关键词,使得候选词中关键词、非关键词数目均衡。还有很多其他针对数据不均衡的情况我们也没有一一尝试比较。这里SVM模型表现不佳可能有些出人意料,实际上是我们使用的是线性支持向量机,没有加入核技巧使其能够处理非线性的特征,与决策树这类非线性分类模型难以相比。但是SVM和Rank SVM之间的比较还是有意义的,Rank SVM将分类问题转化成排序问题,得到候选词可能性的次序,尽管引入了选取关键词数量的问题,但性能的确有所提升。

总结

这一系列介绍关键词提取的文章到这里就要结束了,从实验结果中可以得出结论,候选词阶段使用CRF标注比规则提取性能更好。当然我们这里还有很多尚待完善的地方,比如分类模型的参数调优,或者使用深度学习模型处理关键词提取问题。

原文地址:https://www.cnblogs.com/lessmore/p/ke6_evaluate.html