文本关键词提取算法总结
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/download/LJParser.rar
参考地址:http://www.lingjoin.com/product/ljparser.html
3.TF-IWF文档关键词自动提取算法
针对现有TF-IWF的领域文档关键词快速提取算法.该算法使用简单统计并考虑词长、位置、词性等启发性知识计算词权重,并通过文档净化、领域词典分词等方法提高了关键词提取的速度及准确度.对523篇学生心理健康领域文档的实验结果表明,该算法提取的文档关键词质量优于TF-IDF方法,且能在O(n)时间内完成.
4.基于分离模型的中文关键词提取算法研究
5.基于高维聚类技术的中文关键词提取算法
关键词提取是中文信息处理技术的热点和难点,基于统计信息的方法是其中一个重要分支。本文针对基于统计信息关键词提取方法准确率低的问题,提出基于高维聚类技术的中文关键词提取算法。算法通过依据小词典的快速分词、二次分词、高维聚类及关键词甄选四个步骤实现关键词的提取。理论分析和实验显示,基于高维聚类技术的中文关键词提取方法具备更好的稳定性、更高的效率及更准确的结果。
6.基于语义的中文文本关键词提取(SKE)算法
为克服传统关键词提取算法局限于字面匹配、缺乏语义理解的缺点,提出一种基于语义的中文文本关键词提取(SKE)算法。将词语语义特征融入关键词提取过程中,构建词语语义相似度网络并利用居间度密度度量词语语义关键度。实验结果表明,与基于统计特征的关键词提取算法相比,SKE算法提取的关键词能体现文档的主题,更符合人们的感知逻辑,且算法性能较优。
7.基于朴素贝叶斯模型的中文关键词提取算法研究
提出了一种基于朴素贝叶斯模型的中文关键词提取算法。该算法首先通过训练过程获得朴素贝叶斯模型中的各个参数,然后以之为基础,在测试过程完成关键词提取。实验表明,相对于传统的if*idf方法,该算法可从小规模的文档集中提取出更为准确的关键词,而且可灵活地增加表征词语重要性的特征项,因而具有更好的可扩展性。