str_Similarity函数
函数名:wb_文本相似度 / str_Similarity
会员等级:🟢 免费版(Free)
函数功能
计算两段文本之间的相似度,基于余弦相似度算法(字符级分词),返回0~1之间的相似度评分。自动去除标点符号和空白字符,支持中英文混合文本,适用于查重检测、内容匹配、相似问句识别等场景。
参数规范
| 参数名 | 类型 | 必填 | 示例 | 特殊说明 |
|---|---|---|---|---|
文本1 | String | 是 | "人工智能是一项前沿技术" | 支持直接文本或单元格引用 |
文本2 | String | 是 | "AI是一种创新技术" | 支持直接文本或单元格引用 |
精度 | Int | 否 | 8 | 小数位数,默认8位 |
使用案例
基本文本相似度计算
问题描述:判断两段文本是否表达相近含义
公式演示:
excel
=str_Similarity("机器学习是人工智能的分支", "深度学习属于人工智能")输出效果:
text
0.73333333自定义精度
问题描述:保留2位小数的相似度评分
公式演示:
excel
=str_Similarity(A1, B1, 2)输出效果:
text
0.73批量查重检测
问题描述:对比A列和B列文本,标记相似度高于80%的记录
公式演示:
excel
=IF(str_Similarity(A2, B2, 4) > 0.8, "疑似重复", "正常")输出效果:
text
疑似重复技术说明
核心逻辑
- 预处理:移除标点符号和空白字符,保留数字和字母
- 分词:采用字符级分词(每个字符作为一个词),兼容中英文
- 算法:基于词频向量计算余弦相似度(Cosine Similarity)
- 输出:相似度范围0~1,1表示完全相同,0表示完全无关
异常处理
| 错误场景 | 返回值 |
|---|---|
| 任一文本为空 | 0 |
| 预处理后文本为空 | 0 |
| 文本完全相同 | 1 |
注:本函数为本地计算,无需联网,不消耗AI额度