文本关键词提取算法总结

1.TF-IDF
昨天给大家演示简单的文本聚类,但要给每个聚类再提取一两个关键词用于表示该聚类。我们还是用TFIDF算法来做,因为这是比较简单的提取特征算法,不过这里的TF是指某词在本聚类内所有文章的词频,而不是本文章内出现的次数,IDF还是在所有文章里出现的倒文档频率。
原理:1、先给本聚类内的所有文档进行分词,然后用一个字典保存每个词出现的次数
2、遍历每个词,得到每个词在所有文档里的IDF值,和在本聚类内出现的次数(TF)相乘的值
3、用一个字典(key是词,value是TF*IDF权重)来保存所有的词信息,然后按value对字典排序,最后取权重排名靠前的几个词作为关键词。

2.基于语义的统计语言模型

文章关键词提取基础件能够在全面把握文章的中心思想的基础上,提取出若干个代表文章语义内容的词汇或短语,相关结果可用于精化阅读、语义查询和快速匹配等。
采用基于语义的统计语言模型,所处理的文档不受行业领域限制,且能够识别出最新出现的新词语,所输出的词语可以配以权重。
文章关键词提取组件的主要特色在于:
1、速度快:可以处理海量规模的网络文本数据,平均每小时处理至少50万篇文档;
2、处理精准:Top N的分析结果往往能反映出该篇文章的主干特征;
3、精准排序:关键词按照影响权重排序,可以输出权重值;
4、开放式接口:文章关键词提取组件作为TextParser的一部分,采用灵活的开发接口,可以方便地融入到用户的业务系统中,可以支持各种操作系统,各类调用语言。
主要接口:

KWEXTRACT_API bool KDT_Init(const char*sLicenseCode=0);
KWEXTRACT_API const char* KDT_ParseContent(constchar *sText, int nMaxCount, bool bWeightFlag=false);

//退出,释放资源;进程结束前须调用它释放所占用的内存资源
KWEXTRACT_API void KDT_Exit();

//获得错误消息
KWEXTRACT_API const char* KDT_GetLastErrMsg();
参考地址:http://www.lingjoin.com/

3.TF-IWF文档关键词自动提取算法
针对现有TF-IWF的领域文档关键词快速提取算法.该算法使用简单统计并考虑词长、位置、词性等启发性知识计算词权重,并通过文档净化、领域词典分词等方法提高了关键词提取的速度及准确度.对523篇学生心理健康领域文档的实验结果表明,该算法提取的文档关键词质量优于TF-IDF方法,且能在O(n)时间内完成.

4.基于分离模型的中文关键词提取算法研究
关键词提取在自动文摘、信息检索、文本分类、文本聚类等方面具有十分重要的作用。通常所说的关键词实际上有相当一部分是关键的短语和未登录词,而这部分关键词的抽取是十分困难的问题。该文提出将关键词提取分为两个问题进行处理:关键单词提取和关键词串提取,设计了一种基于分离模型的中文关键词提取算法。该算法并针对关键单词提取和关键词串提取这两个问题设计了不同的特征以提高抽取的准确性。实验表明,相对于传统的关键词提取算法,基于分离模型的中文关键词提取算法效果更好。

5.基于高维聚类技术的中文关键词提取算法
关键词提取是中文信息处理技术的热点和难点,基于统计信息的方法是其中一个重要分支。本文针对基于统计信息关键词提取方法准确率低的问题,提出基于高维聚类技术的中文关键词提取算法。算法通过依据小词典的快速分词、二次分词、高维聚类及关键词甄选四个步骤实现关键词的提取。理论分析和实验显示,基于高维聚类技术的中文关键词提取方法具备更好的稳定性、更高的效率及更准确的结果。
6.基于语义的中文文本关键词提取(SKE)算法
为克服传统关键词提取算法局限于字面匹配、缺乏语义理解的缺点,提出一种基于语义的中文文本关键词提取(SKE)算法。将词语语义特征融入关键词提取过程中,构建词语语义相似度网络并利用居间度密度度量词语语义关键度。实验结果表明,与基于统计特征的关键词提取算法相比,SKE算法提取的关键词能体现文档的主题,更符合人们的感知逻辑,且算法性能较优。
7.基于朴素贝叶斯模型的中文关键词提取算法研究
提出了一种基于朴素贝叶斯模型的中文关键词提取算法。该算法首先通过训练过程获得朴素贝叶斯模型中的各个参数,然后以之为基础,在测试过程完成关键词提取。实验表明,相对于传统的if*idf方法,该算法可从小规模的文档集中提取出更为准确的关键词,而且可灵活地增加表征词语重要性的特征项,因而具有更好的可扩展性。

Leave a Reply