免费关键词提取 / 主题抽取 API 完全教程:一句话总结 100 万文档,零成本给文本装上"找重点"的能力(2026-10-02 验证)
你有没有遇到过这种情况:手头堆了几百篇文章、几千条客服工单、几万条评论,想知道它们到底都在说什么,却不想(也不可能)一篇一篇读。关键词提取(Keyword Extraction)和主题抽取(Topic Modeling)就是干这件事的——它们用算法把一段长文字,自动压缩成几个最关键的词、短语或主题标签。
这是 AI 文本处理里最"低调却高频"的一环:搜索引擎的自动打标签、商品分类、舆情监控、问答系统的意图识别、RAG 知识库的建索引,背后都离不开它。而好消息是,这一环几乎可以零成本跑起来——本文实测整理了 4 条免费路线,从开箱即用的托管 API,到可完全自托管、一分钱不花的开源方案,并给出一段能直接跑的 Python 代码。
一、先分清三个概念:关键词提取 ≠ 分类 ≠ 主题建模
很多人把这几个名词混着用,动手前先对齐口径,能少走很多弯路:
| 任务 | 输入 → 输出 | 典型问法 |
|---|---|---|
| 关键词提取(Keyphrase Extraction) | 一篇文章 → 若干关键词/短语 | "这篇讲的核心是啥,抽 10 个词给我" |
| 文本分类(Text Classification) | 一段文本 → 预设标签之一 | "这条评论是好评、中评还是差评?" |
| 主题抽取 / 建模(Topic Modeling) | 一堆文档 → 若干主题簇 | "这 5000 篇新闻大概分哪几类话题?" |
一句话:关键词提取是"从单篇里揪重点",主题建模是"从一堆里归纳类别",文本分类是"往预设框里塞"。本文重点讲前两个——因为它们连标签都不用提前定,最适合"我还不知道数据里有什么"的冷启动场景。
二、4 条免费路线实测盘点
路线 1:Cohere Classify
另外,Cohere 这类托管接口的完整免费额度清单,在免费 API 汇集中心有按厂商整理的对照表,注册前先看一眼不亏。 / 托管 API(最省事)
Cohere 是这几家里把"文本理解"做成产品最彻底的。它的 Classify 端点专为打标签设计,注册即送 Trial Key,额度如下(2026-10-02 从 Cohere 官方文档核实):
| 额度项 | 实测上限 |
|---|---|
| 全账号每月调用总量 | 1,000 次 |
| Classify / Rerank 速率 | 10 次/分钟 |
| Classify 单条输入 | 最多 512 tokens(长文需截断) |
| Embed | 2,000 输入/分钟 |
| Tokenize | 100 次/分钟 |
Trial Key 明确标注"不可用于生产/商业"。它更偏"文本分类"而非纯关键词抽取,适合你已经知道大概有哪些标签、想快速打标的场景。对纯关键词抽取,下面这条开源路线更对症。
路线 2:KeyBERT(开源,完全自托管,零成本)
KeyBERT 是 GitHub 上最经典的关键词提取库(项目名 MaartenGr/KeyBERT,免费开源)。它的思路特别优雅:用 BERT 类 Embedding 把文档和候选词都向量化,再算相似度,挑出和整篇文档最像的那几个词。
这正好接上了我们站内已经讲透的一条链路——免费 Embedding API 完全教程:零成本搭好 RAG 向量检索地基(2026-09-12 验证)里的向量嵌入,就是 KeyBERT 的"发动机";而它和免费语义相似度(STS)API 完全教程:零成本给文本装上"像不像"的尺子(2026-10-02 验证)用的是同一套"像不像"数学。你完全可以把 KeyBERT 本地跑,一分钱不花。
路线 3:Hugging Face Inference Providers
先在免费 API 汇集中心挑好你要的接口类型,再去对应厂商注册,能省掉不少来回试错的时间。(有免费月额)
Hugging Face 上有一批现成的关键词/短语句抽取模型(如 ml6team/keyphrase-extraction-kbir-inspec、bloomberg/KeyBART),可以直接托管调用。注意其免费额度是"金额制"而非"次数制"(2026-10-02 官方口径):
| 档位 | 免费额度 |
|---|---|
| 免费用户 | $0.10 / 月(约 10 万 tokens 量级,极少量) |
| PRO($19/月) | $2.00 / 月 |
$0.10 真不多,只够做功能验证。真要做批量,要么用本地 KeyBERT,要么回落到上面的托管路由。
路线 4:Jina Reader + LLM(结构化抽取)
Jina 的 Reader 端点(站内2026 免费 Embedding 向量模型 API 全景对比有它的 Embedding 全景)能先把网页/文档转成干净的 Markdown,再交给任何 LLM 用"给我抽 10 个关键词"的提示词结构化输出。Jina 免费层开源版本 1,000 次/天(沿用站内既有口径),适合爬下来直接抽的流水线。
三、动手:10 行 Python 跑通 KeyBERT
下面这段是核心教学内容(唯一一篇代码),装上依赖就能抽关键词:
from keybert import KeyBERT
from sentence_transformers import SentenceTransformer
# 1. 选一个免费的 Embedding 模型(本地跑,不调 API)
model = SentenceTransformer("BAAI/bge-small-en-v1.5")
kw_model = KeyBERT(model=model)
# 2. 待抽取的长文本
doc = (
"Large language models have revolutionized how we build search and "
"retrieval systems. Vector embeddings turn words and documents into "
"points in space, letting us measure semantic similarity and rerank "
"results by relevance."
)
# 3. 抽出 Top 5 关键词,每个 1~2 词
keywords = kw_model.extract_keywords(
doc,
keyphrase_ngram_range=(1, 2), # 允许 1~2 词的短语
stop_words="english", # 去掉常见停用词
top_n=5, # 只要 Top 5
)
print(keywords) # 形如 [("vector embeddings", 0.72), ("semantic similarity", 0.69), ...]
输出就是"关键词 + 与全文的相似度分数"的列表,分数越高代表越像整篇文档的核心。要中文就用 paraphrase-multilingual-MiniLM-L12-v2 这类多语言模型替换第一行的模型名即可。
四、主题抽取:从"一篇"到"一堆"的升级
开始之前多说一句:本文用到的 Embedding、Reranker 等免费接口,都可以在免费 API 汇集中心一键找到并申请各自的免费额度。
关键词提取解决单篇,主题抽取面向批量文档。零成本做法有三档:
- 词频派(最快):对全部文档做分词 + 停用词过滤 + TF-IDF,按权重聚出高频词簇。无需任何模型,本地 Python 就能跑。
- Embedding 簇派(最稳):先把每篇文档 embed 成向量(复用上面 Step 1 的 Embedding 那步),再做聚类(KMeans/HDBSCAN),每个簇的中心词就是"主题"。
- 概率模型派(最学术):BERTopic / LDA,能给出每个主题的"主题词 + 概率分布",适合写报告。
无论哪一档,产出物都是同一件事:一份"这批数据都在聊什么"的地图。
五、选型速查:我该用哪条路线?
| 你的场景 | 推荐路线 | 理由 |
|---|---|---|
| 只有几篇、要快、要点准 | KeyBERT 本地 | 零成本、质量高、无额度焦虑 |
| 已有预设标签、要打标 | Cohere Classify | 开箱即用,1,000 次/月白嫖 |
| 要抽网页/文档,抽完直接入库 | Jina Reader + LLM | 抓取 + 抽取一条龙 |
| 要处理几千几万篇、找主题 | Embedding + 聚类 | 规模化、可解释 |
六、避坑清单(实测踩过)
挖坑前先补一句:如果你不想自己维护 KeyBERT 的环境,也可以直接在免费 API 汇集中心找支持文本理解的托管接口,把抽取这一步外包出去。
- 别把停用词当关键词:不滤掉 "the / and / 的 / 是",Top 结果会被虚词霸占。
- 长文要先分段:Cohere Classify 单条 512 tokens,整篇文章塞不进去,要截前 300 字符或分段。
- 别轻信$0.10 月额:Hugging Face 免费的"金额制"很坑,只够验证,批量得用本地 KeyBERT。
- 关键词 ≠ 摘要:关键词是"标签",摘要是"原文压缩",两者产出格式不同,别混用一个接口。
七、实战验收清单
跑通之后,用下面这张清单自检,能马上发现"抽得对不对":
| 自检项 | 通过标准 |
|---|---|
| 停用词 | Top 10 结果里不出现 the / and / 的 / 是 |
| 短语粒度 | 关键词是 1~2 词的短语,不是破碎单字 |
| 领域相关 | 抽出的词和你文章的主题一致,不是泛词 |
| 数量 | 每篇 5~10 个,不多不少 |
| 中文效果 | 换多语言模型后,中文长文也能抽出"向量嵌入""语义相似度"这类术语 |
八、总结与下一步
关键词提取和主题抽取,是文本流水线里"投入产出比最高"的一环:几十行代码就能把几百篇文章的"重点"自动捞出来。它天然是 免费 Embedding API 完全教程 和 免费语义相似度(STS)API 完全教程 的下游应用——向量嵌入 + 相似度 + 关键词抽取,构成一条完整的"理解文本"链路;抽出来的关键词,又能顺手喂给 免费 Reranker(重排序)API 完全教程:给 RAG 检索结果装上精准过滤器 做精准召回。
想把这套能力跑进生产?先到 免费 API 汇集中心 挑一个免费的 Embedding 或 LLM 接口搭好地基,再用本文的代码把关键词抽取接进去。如果你还没账号,点这里免费注册,全程不绑卡。
本文所有额度与限制均于 2026-10-02 从 Cohere / Hugging Face / KeyBERT 官方页面核实,免费额度以厂商实时调整为准。
九、为什么关键词抽取适合放在一切"理解类"任务的最前面
很多同学以为关键词抽取只是"写报告前抓几个词"的小工具,其实它是整条文本流水线的哨兵:在正式做分类、聚类、检索、生成之前,先用它把数据快速"扫一遍",你就能立刻知道这批数据里有哪些高频概念、哪些领域术语、哪几篇是重点。配合本文第一节的分类清单,你可以把任意一批杂乱文本,在一小时内变成"已打标签、已抽重点、已归好主题"的干净语料。
更进一步,把关键词抽取的输出喂给下游,收益是立竿见影的:关键词可以作为全文索引的标签,让 免费 Reranker(重排序)API 完全教程:给 RAG 检索结果装上精准过滤器 在召回阶段就过滤掉不相关的内容,也可以作为用免费 Embedding API 构建 RAG 知识库的元数据,让检索结果带上"为什么相关"的解释。这套组合拳,正是很多生产级搜索和问答系统的标配。检索落地时的存储与召回环节,可以参考免费向量数据库 API 实力榜单:Chroma / pgvector / Qdrant / Weaviate / Milvus 6 大方案 5 维实测排行,把抽取出的关键词直接写进向量库的元数据。
如果你希望整套流程都在零成本范围内跑通,本站的免费 API 汇集中心已经把 Embedding、Reranker、向量数据库、LLM 调用等免费接口按场景分好了类,照着链接去申请即可;还没有账号的话,先点这里免费注册,后续所有教程都能直接上手实践。