中文文本相似度检测接口只支持中文?英文数字检测的边界与应对策略
# 中文文本相似度检测接口只支持中文?英文数字检测的边界与应对策略
> 元信息:接口/接入点 中文文本相似度检测接口(294/1、294/2)· 免费 · 返回格式 JSON · 适用人群 已接入或准备接入的开发者 · 阅读时间 约 6 分钟
## 核心要点
- 两个接入点均明确:**不适用于英文和数字的检测**。这是文档声明的语言限制,不是偶发故障。
- 传入英文/数字文本不会报"不支持"错误,但返回结果无意义,需在业务层先做语言识别与兜底。
- 应对策略:中文走本接口;英文/数字走专门的英文相似度方案或翻译前置。
## Why:为什么这条边界值得单列一篇
新手最容易踩的坑是:拿一段英文产品名或订单号丢给接口,发现 `like` 莫名偏高或偏低,以为是代码写错。其实接口从设计上就只处理中文。把这条边界讲清楚,能省掉大量无效的"接口是不是坏了"的排查。
## What:语言限制事实
| 接入点 | 文档原文表述 |
|--------|------|
| 294/1 | "请注意,本接口的文本相似度检测功能不适用于英文和数字的检测。" |
| 294/2 | "请注意,目前暂不支持英文及数字的相似度检测。" |
结论:**仅适用于中文文本**。数字(纯数字串、手机号、订单号)与英文(单词、句子、代码)均不在支持范围。
## How:在业务层做语言识别与分流
### 步骤 1:判断文本是否"以中文为主"
```python
import re
def is_mostly_chinese(text, threshold=0.5):
if not text:
return False
cn = len(re.findall(r"[一-鿿]", text))
return cn / max(len(text), 1) >= threshold
```
### 步骤 2:分流调用
```python
def similarity(text_a, text_b):
if not (is_mostly_chinese(text_a) and is_mostly_chinese(text_b)):
# 非中文:走兜底,不调用本接口或返回"不适用"
return None # 由调用方决定兜底策略
r = requests.post("https://route.showapi.com/294-1",
params={"appKey": "YOUR_APPKEY"},
data={"t1": text_a, "t2": text_b}, timeout=10).json()
return r["showapi_res_body"].get("like")
```
### 步骤 3:英文/数字的兜底
- **英文相似度**:使用面向英文的语义/编辑距离方案(如英文 embedding、difflib 的 SequenceMatcher),不在本接口能力范围。
- **数字/编码比对**:订单号、手机号这类用精确相等或前缀匹配即可,无需相似度。
- **中英混排**:先抽取中文片段再比,或对整体标注"部分不支持"并提示用户。
## 返回示例与解析
当传入英文时,接口通常不返回错误(`ret_code` 仍为 0),但 `like` 数值不可信——这正是"静默无效"的危险点,务必在调用前识别。
## 进阶 / 边界
- **不要依赖接口报错来发现语言问题**:它不会为英文/数字返回非 0 错误码,只会在结果上"悄悄失效"。
- **翻译前置的代价**:把英文先机翻中文再比,会引入翻译误差,相似度仅作粗略参考,不适合精确判重。
- **混合语种内容**:如用户评论常含中英文,建议按句/按段切分后分别处理,中文段走本接口。
## FAQ
**Q1:传英文进去会报错吗?**
通常不会返回错误,`ret_code` 仍为 0,但相似度结果无意义。属于"静默失效",需在调用前做语言识别。
**Q2:数字串(手机号、订单号)能比吗?**
不能。数字不在支持范围,这类精确标识直接用相等或前缀匹配更准确。
**Q3:中英混排的评论怎么处理?**
建议先抽取中文片段再做相似度检测;或整体标注"含非中文"并提示用户结果仅参考。
**Q4:英文相似度有什么替代方案?**
使用面向英文的语义向量或编辑距离方案(如英文 embedding、difflib),不属于本接口能力,需另行集成。
## 下一步阅读
- [中文文本相似度检测接口返回字段全解:like / likeValue / mostLike / ret_code 一文读懂](https://www.showapi.com/guides/text-similarity-response-fields-294)
- [中文文本相似度检测接口实战:UGC 评论 / 文章去重从采集到判重的全链路设计](https://www.showapi.com/guides/text-similarity-dedup-294)
- [中文文本相似度检测接口:5 分钟从注册到第一条相似度结果](https://www.showapi.com/guides/text-similarity-quickstart-294)
- **本系列共 12 篇**:查看[中文文本相似度检测接口指南总目录](https://www.showapi.com/guides/text-similarity-guides-294)