一句话定义:关键词抽取(Keyword Extraction)是让程序读完一篇长文,自动挑出几个最能代表"这篇到底讲什么"的词或短语。
打个比方。假设你面前堆着几百份没归类的公司文件,你的任务不是给每份写内容提要,而是想在文件夹脊背上写下三个字——"报销""续约""供应商"。写摘要的人要读完全文再用自己的话复述;贴关键词的人只需要指出哪几个词最有代表性。这是两种不同的活儿。
它怎么工作
主流做法分三步:先造候选,再打分排序,最后去重归并。
造候选:把正文切成词,过滤掉"的""而且""我们"这类停用词,剩下的名词、名词短语通常是候选。
打分:常用的信号组合起来看。词频加逆文档频率(AI 词典:TF-IDF">TF-IDF, term frequency–inverse document frequency)的意思是——在这篇里出现得多、在别的文章里出现得少的词,更可能是这篇的特色词;"会议"满世界都是,权重就低,"异地就医结算"只在这篇密集出现,权重就高。另一个经典方法是 TextRank,把词当成点、把"同时出现在一个窗口里"当成连线,谁被连接得多、连接它的人本身也重要,谁的排名就靠前——本质上是让词互相投票。位置和格式也是信号:标题、小标题、首段、加粗处的词更值得信任。
归并:把"客户流失""客户流失率""流失客户"合并成一个,去掉互为包含关系的冗余项,最后留下三到十个。
实现路径上,传统做法是"统计打分 + 规则",现代做法可以直接把它当作序列标注任务(给每个词打上"是/不是关键词"的标记,思路和命名实体识别相近),也可以让大语言模型读一遍直接输出候选词——后者能给出原文里没出现过的概括词,但要留意它凭空造词。
和邻近概念的区别
| 任务 | 输出 | 能不能直接读 | 典型用途 |
|---|---|---|---|
| 关键词抽取 | 几个词或短语 | 不能,是标签 | 打 tag、检索、聚合 |
| 文本摘要 | 连贯的句子 | 能 | 快速了解内容 |
| 命名实体识别 | 实体 + 固定类别 | 依赖原文 | 抽取人名、机构、时间等结构化字段 |
| 文本分类 | 事先定好的类别 | 需要标签体系 | 审核、路由、分流 |
关键差别在两点:摘要压缩的是句子,关键词压缩的是词;分类和实体识别的标签体系是事先定死的,关键词是开放式的——一篇文章的关键词可以是任何短语,包括昨天才出现的行话。
对实际工作的意义
它是内容系统里最便宜的一层"理解"。电商用它从商品详情里提卖点,知识库用它给文档建倒排索引和筛选器,客服系统用它把一万条工单压成几十个高频问题,检索增强生成(RAG)里也常给文档块打关键词做混合检索。内容运营拿它自动生成标签和专题聚合,比自己手打省事得多。
两点提醒。第一,关键词没有唯一标准答案,换个人标结果就不一样,所以评估通常靠人工判断相关性,加上和"标准答案"比对后的准确率、召回率——具体口径以团队自己的标注规范为准。第二,机器给出的词一定要留人工校正的入口,尤其是长尾专有名词和行业缩写,模型漏掉它们的时候往往不声不响。
