提取
,意思是从文本里面把意义最相关的词语抽取出来。
在文献检索、自动文摘、文本聚类/分类等任务中有重要的应用
主要有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)
学习资料:
《中文自然语言处理入门实战》