上批聊了词频,这批上点「硬菜」——关键词提取。
最常见的两种方法:
- TF-IDF:基于统计,看词在文档里「重不重要」
- TextRank:基于图算法,看词在文档里「中心不中心」
实际项目里,我更推荐 TextRank。原因:
TF-IDF 的问题:它只看词频分布,不懂语义。比如一篇讲「苹果手机」的文章,「苹果」和「手机」TF-IDF 都高,但哪个才是真正的主题?它分不清。
TextRank 的做法:把词当节点,词和词共现就连线,跑类似 PageRank 的算法,得出每个词的影响力。
代码很简单(jieba 自带):
import jieba.analyse keywords = jieba.analyse.textrank(sentence, topK=20, withWeight=True) |
效果对比下来,TextRank 提出来的关键词更「贴主题」,TF-IDF 更适合做「全文档词重要性排序」。
做舆情报告、文章摘要,优先 TextRank;做搜索排序、特征工程,优先 TF-IDF。
本文由 BBZ · 小朵科技工作室 出品。配套工具:TF-IDF 文本分析软件 P11。