免费中文分词(文本处理):6 种分词类型怎么选?标准/NLP/索引/N-最短/CRF/极速对比
免费中文分词文本处理中文NLPAPI教程ShowAPI # 免费中文分词(文本处理):6 种分词类型怎么选?标准/NLP/索引/N-最短/CRF/极速对比
> 接口:中文分词(2663-1)|是否免费:是(含档位限制)|请求方式:POST/GET|返回格式:JSON|适用人群:做搜索/索引/词典的开发者|阅读时间:约 6 分钟
## 核心要点
- 中文分词接入点(2663-1)通过 `type` 参数切换 6 种分词算法:标准分词、nlp、index、nShort、crf、fast。
- 不同 `type` 面向不同场景:建搜索索引用 `index`,追求速度用 `fast`,需要词性细标注用 `nlp`。
- `type` 不传时默认「标准分词」,最稳妥,适合大多数首次接入。
## Why
同一个句子,做搜索引擎和做词典排版需要的「切词粒度」完全不同。比如「北京大学」在搜索里可能要拆成「北京/大学」两个词才能命中更多文档,而在实体识别里最好保持「北京大学」整体。ShowAPI 把 6 种算法都封装在同一个接入点里,你只换一个 `type` 参数就能切换粒度,不用接多个服务。选错类型,要么召回太少、要么噪声太多——所以先搞清各自用途。
## What
**接口速览**
| 项 | 值 |
|------|------|
| 接口地址 | `https://route.showapi.com/2663-1` |
| 必填参数 | `text` |
| 可选参数 | `type`:`standard`(默认)/ `nlp` / `index` / `nShort` / `crf` / `fast` |
| 返回 | `words`: [{word, pos}] |
**6 种类型对照**
| type 值 | 名称 | 适用场景 |
|------|------|---------|
| `standard`(默认) | 标准分词 | 通用场景,平衡准确与速度 |
| `nlp` | NLP 分词 | 需要更细词性标注的 NLP 任务 |
| `index` | 索引分词 | 搜索引擎建倒排索引,倾向细粒度 |
| `nShort` | N-最短路径分词 | 基于 N-最短路径的多候选切分 |
| `crf` | CRF 分词 | 条件随机场,序列标注式分词 |
| `fast` | 极速词典分词 | 对延迟敏感、追求吞吐量的场景 |
## How
用一段文本跑全部 6 种类型,对比输出:
```python
import requests
text = "北京大学和复旦大学都是顶尖学府"
for t in ["standard", "nlp", "index", "nShort", "crf", "fast"]:
resp = requests.post(
"https://route.showapi.com/2663-1",
params={"appKey": "YOUR_APPKEY"},
data={"text": text, "type": t},
timeout=10,
).json()
body = resp["showapi_res_body"]
if body.get("ret_code") != 0:
print(t, "失败:", body.get("remark"))
continue
words = [w["word"] for w in body.get("words", [])]
print(f"{t:9s} -> {words}")
```
**cURL 示例(index 类型)**
```bash
curl -X POST "https://route.showapi.com/2663-1?appKey=YOUR_APPKEY" \
-H "content-type: application/x-www-form-urlencoded" \
--data-urlencode "text=北京大学和复旦大学都是顶尖学府" \
--data-urlencode "type=index"
```
## 返回示例与解析
`type=index` 时,倾向把「北京大学」拆成更细颗粒:
```json
{
"showapi_res_body": {
"ret_code": 0,
"remark": "成功",
"words": [
{ "word": "北京", "pos": "ns" },
{ "word": "大学", "pos": "n" },
{ "word": "和", "pos": "c" },
{ "word": "复旦大学", "pos": "nt" }
]
}
}
```
> 注:实际输出粒度取决于后端词典与算法实现;免费档位下可能返回空数组(见 [免费档位与调用策略](https://www.showapi.com/guides/cnseg-free-tier-2663)),请以有额度的账号实测为准。
## 进阶 / 边界
- **默认 `standard` 最稳**:不确定用哪种时先跑默认,再按场景微调。
- **建搜索索引优先 `index`**:细粒度更利于召回;但索引分词会增加词项数量,存储与查询要权衡。
- **速度敏感用 `fast`**:极速词典分词延迟最低,但切分准确率通常低于 `crf`/`nShort`。
- **不要混用 `type` 建索引与查询**:检索系统的「建索引分词」和「查询分词」应保持同一种 `type`,否则词项对不齐。
## FAQ
**Q1:type 不传会怎样?**
默认按「标准分词」处理,适合绝大多数通用场景。
**Q2:哪种最准?**
没有绝对「最准」,取决于语料。`crf`/`nShort` 在歧义切分上通常更优,`fast` 胜在速度。建议用你的真实文本做 A/B 对比。
**Q3:索引分词和搜索引擎什么关系?**
`index` 类型产出细粒度词项,适合喂给倒排索引;具体构建方法见 [搜索/站内检索场景指南](https://www.showapi.com/guides/cnseg-search-index-2663)。
**Q4:pos 词性标注在各 type 下一致吗?**
`nlp` 类型词性标注更细;不同 `type` 的 `pos` 粒度可能略有差异,以实际返回为准。
**Q5:切换 type 会增加计费吗?**
每次调用独立计费(见 `showapi_fee_num`),与选哪种 `type` 无关。
## 相关能力 / 下一步阅读
- [免费中文分词(文本处理):5 分钟快速接入](https://www.showapi.com/guides/cnseg-quickstart-2663)
- [免费中文分词(文本处理):返回结构与公共字段全解](https://www.showapi.com/guides/cnseg-response-2663)
- [免费中文分词(文本处理):中文搜索/站内检索场景——用索引分词构建倒排索引](https://www.showapi.com/guides/cnseg-search-index-2663)
> 本系列共 14 篇:查看[免费中文分词(文本处理)API 指南总目录](https://www.showapi.com/guides/cnseg-guides-2663)