文本关键词生产算法的目标。 #
- 在某种先验之下,无论对一篇文章,还是一句话,都能准确提取出其中的关键词
doc2vec 算法 #
gensim TaggedDocumen #
基于fasttext 的关键词提取 #
- 速度是textrank4zh的8倍。github 代码
基于TF-IDF算法进行关键词提取 #
- TF-IDF是一个很强的基准。没有特别的情况下,可以选择作为实现方式。
- 结巴分词、scikit-learn、gensium 都有对应的实现
jieba分词:jieba.analyse.extract_tags(sentence, topK=20, withWeight=False,allowPOS=()) 3种库的比较: https://www.solarck.com/compare-tfidf.html
基于TextRank算法 #
- 结巴分词:jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=(’ns’, ’n’, ‘vn’, ‘v’))
- textrank4zh
- TextRank实际应用效果并不比TFIDF有明显优势,而且由于涉及网络构建和随机游走的迭代算法,效率极低
基于Word2Vec词聚类的文本关键词抽取方法 #
- 参考 效果:差
- 主要思路是对于用词向量表示的文本词语,通过K-Means算法对文章中的词进行聚类,选择聚类中心作为文章的一个主要关键词,计算其他词与聚类中心的距离即相似度,选择topN个距离聚类中心最近的词作为文本关键词,而这个词间相似度可用Word2Vec生成的向量计算得到。scikit-learn 可提供聚类计算框架
Topic Model #
- 模型较复杂。它的主要问题是抽取的关键词一般过于宽泛,不能较好反映文章主题。
有监督学习 #
通常效果会比较好