您的位置首页 >人工智能 >

中文短文本相似度实测,字符 n-gram 推荐 n=2

在中文短文本字符 n-gram 相似度实测里,综合 Jaccard、Dice、TF-IDF 余弦三种指标,n=2 是最稳妥的默认选择,n=1 容易噪声太多、区分度差,n=3 及以上在同义改写、句式微调的短句上很容易出现匹配失效,同义句子直接算出相似度 0。这个实测一共用 28 对中文短文本,分成完全复制、同义改写、部分相似、完全无关四组,专门模拟标题、地址、简介这类短文本比对场景,很多人直觉觉得 n 越大越精准,但是中文短句字符少,改成同义表达之后连续三字重合的片段很容易消失,造成本该相似的句子直接判定不相似。工程上更推荐优先用 n=2,追求更好效果可以采用 n=1+2 组合特征;如果是长文本、查重、原文抄袭比对场景,才适合调高 n。

不同 n 值实测表现对比

n 取值优点缺点适合场景
n=1(单字符)特征多、不容易空匹配,同义改写不容易丢分噪声大,区分度弱,无关句子容易被算成相似粗筛、错别字多、极短文本
n=2(双字符)兼顾字符搭配和鲁棒性,区分度最好,是本次实测最优少量改写幅度很大的句子依然会降分绝大多数中文短文本相似度、标题比对、地址匹配
n=3(三字符)对原文一字不差抄袭识别很强同义改写极易出现交集为空,严重失真长文本查重、整段原文复制检测
n≥4顺序约束极强,几乎只认完全一致片段稀疏性爆炸,短文本基本不可用极少使用

实测流程清单

  1. 准备测试数据集:28 对中文短文本,4 类标签:copy、same 同义改写、partial 部分相似、diff 无关
  2. 预处理:统一去掉空格、标点,只保留汉字
  3. 分别提取字符 1-gram、2-gram、3-gram 特征集合
  4. 使用 Jaccard、Dice、TF-IDF 余弦三种相似度打分
  5. 计算区分度、可分性指标,对比 same 组和 diff 组的分数差距
  6. 统计失败案例:n=3 时 10 条同义改写里 4 条相似度直接等于 0

推荐工程落地步骤

  1. 默认基线直接选用字符 2-gram,Dice 或者 Jaccard 做粗排
  2. 想要提升召回,叠加 n=1 一起使用,合并特征
  3. 业务是抄袭查重,切换到 n=3;文本很短、错别字多,优先 n=1
  4. 设定阈值,粗筛后再用编辑距离、语义模型做二次精排
  5. 文本平均长度小于 6 个字,尽量避免单独用 n=3

关键局限说明

  1. 字符 n-gram 只看连续字符重合,不理解语义,只是字符串匹配手段
  2. 同义词替换、语序调换,都会让相似度下降,适合字符串比对,不适合纯语义匹配
  3. 文本越短,n 变大带来的稀疏问题越严重
  4. 不同业务阈值不一样,标题、地址、商品名称的阈值不能直接照搬

【常见问题】

问题 1:中文短文本相似度实测,字符 n-gram 的 n 该取几,为什么 n=3 不推荐?

回答 1:中文短文本相似度实测,字符 n-gram 优先 n=2;n=3 在同义改写短句里,连续三字片段很难重合,大量语义相似句子直接算出 0 分,失真严重。

问题 2:中文短文本相似度实测,字符 n-gram 取 n=1 和 n=2 怎么选?

回答 2:中文短文本相似度实测,字符 n-gram n=1 召回高但是噪声大;n=2 区分度更好,一般默认 n=2;错别字多、文本极短可以用 n=1。

问题 3:中文短文本相似度实测,字符 n-gram 能不能 n=1、n=2 一起组合使用?

回答 3:中文短文本相似度实测,字符 n-gram 可以组合 n=1+n=2,兼顾召回和区分度,是工程上提升稳定性常用方案。

问题 4:中文短文本相似度实测,字符 n-gram 适合用来做语义相似度吗?

回答 4:中文短文本相似度实测,字符 n-gram 属于字符串匹配,只看连续字符重合,没法理解语义,适合粗筛,精准语义匹配要搭配 BERT 等语义模型。

问题 5:中文短文本相似度实测,字符 n-gram 什么时候才适合用 n=3?

回答 5:中文短文本相似度实测,字符 n-gram 的 n=3 适合长文本原文抄袭、查重场景,不适合同义改写、标题、地址这类短文本比对。

【参考资料】

[2026-11-12](中文短文本相似度实测:字符 n-gram 的 n 该取几?)阿里云开发者社区

[2026-11-03](文本相似度计算:字符 n-gram 工程选型与踩坑)CSDN

[2026-08-24](Improving Chinese Segmentation-free Word Embedding)arXiv

[2026-05-15](中文信息检索:字符 bigram 效果调研)Semantic Scholar

【免责声明】

本文仅整理中文短文本相似度实测、字符 n-gram n 取值的实验结论,该结论基于字符级字符串比对,不同业务数据、文本长度、预处理方式会改变最优 n 值;不构成算法选型唯一标准,上线前建议用自己业务数据集复测。

今日大家都在搜的词: