文本关键词提取

文本关键词生产算法的目标。 #

  • 在某种先验之下,无论对一篇文章,还是一句话,都能准确提取出其中的关键词

doc2vec 算法 #

  • dock2vec 计算出了总体语义,那这个总体语义就是关键词的等效。
  • gensim 提供了dock2vec 的实现。很棒。示例
  • 一个预先训练好的doc2vec 实现

gensim TaggedDocumen #

  • 在doc2vec的基础上,扩展一个标签向量,对许多标签都行训练,然后选择与文档向量最接近的标签向量作为标签 这个办法的标签选择准确性高达74%,是很棒的方法
  • 实现1 代码实现2

基于fasttext 的关键词提取 #


基于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算法 #


基于Word2Vec词聚类的文本关键词抽取方法 #

  • 参考 效果:差
  • 主要思路是对于用词向量表示的文本词语,通过K-Means算法对文章中的词进行聚类,选择聚类中心作为文章的一个主要关键词,计算其他词与聚类中心的距离即相似度,选择topN个距离聚类中心最近的词作为文本关键词,而这个词间相似度可用Word2Vec生成的向量计算得到。scikit-learn 可提供聚类计算框架

Topic Model #

  • 模型较复杂。它的主要问题是抽取的关键词一般过于宽泛,不能较好反映文章主题。

有监督学习 #

通常效果会比较好