中文NLP笔记:3. 关键词提取的几个方法

提取 ,意思是从文本里面把意义最相关的词语抽取出来。

在文献检索、自动文摘、文本聚类/分类等任务中有重要的应用


主要有2种提取方法

  1. 关键词分配

  在一个已有的关键词库中匹配几个词语作为这篇文档的关键词。

  2. 关键词提取

  通过算法分析,提取文档中一些词语作为关键词。


其中第二种,关键词提取的常用算法有以下几个

  1. 基于 TF-IDF 算法进行关键词提取

  TF-IDF :用于反映一个词对于某篇文档的重要性。过滤掉常见的词语,保留重要的词语

  如果某个词在一篇文档中出现的频率高,则TF 高;并且在其他文档中很少出现,则 IDF 高,TF-IDF 就是将二者相乘为 TF * IDF, 这样这个词具有很好的类别区分能力。

  在  jieba 用以下代码实现

    jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())

  2. 基于 TextRank 算法进行关键词提取

  由 PageRank 改进而来,将文本中的词看作图中的节点,通过边相互连接,权重高的节点作为关键词。

  在  jieba 用以下代码实现

    jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))

  3. 基于 LDA 主题模型进行关键词提取

  一般步骤为:文件加载 -> jieba 分词 -> 去停用词 -> 构建词袋模型 -> LDA 模型训练 -> 结果可视化。

  4. 基于 pyhanlp 进行关键词提取

  可以用 HanLP 的 TextRankKeyword 实现

    from pyhanlp import *
    result = HanLP.extractKeyword(sentence, 20)
    print(result)

学习资料:

《中文自然语言处理入门实战》

你可能感兴趣的:(中文NLP笔记:3. 关键词提取的几个方法)