最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
JavaScript实现文本相似度对比代码示例
时间:2022-06-29 01:45:37 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下JavaScript实现文本相似度对比代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
一、发现问题
在开发过程中,难免会使用到2个(多个)文本内容处理,一是便于宏观知道文本的重合度,而是更好的区分文本的创新度,也能更好的避免出现大篇幅复制。
为此,可以通过2个文本的相似度对比来实现业务需求。
二、解决问题
如果使用后端语言1来处理,就需要调取接口,对比少量的短文本可以实现,但是一旦遇到在界面实现多个文本对比,并且篇幅巨多,再通过接口可能就出现耗时特别长的情况。既然如此,但不如直接使用前端来处理。
使用算法:编辑距离。
1、编辑距离的概念
设A和B是两个字符串,使用最少的字符操作将字符串A转换为B。字符操作包括:(1)删除一个字符;(2)插入一个字符;(3)将一个字符改写为另一个字符。将字符串A变换为字符串B所需要的最少字符操作数称为字符串A到字符串B的编辑距离(Edit Distance)
2、测试文本
举例,文字来自网络。
文本1
北京商报讯(记者 魏蔚)1月21日,交通运输部官方微信公众号披露,1月20日上午,交通运输新业态协同监管部际联席会议办公室对满帮、货拉拉、滴滴货运、快狗打车等4家互联网道路货运平台公司进行约谈,对滴滴出行、曹操出行、T3出行、美团出行等4家网约车平台公司进行提醒。
文本2
智通财经APP获悉,1月20日,交通运输新业态协同监管部际联席会议办公室对满帮、货拉拉、滴滴货运、快狗打车等4家互联网道路货运平台公司进行约谈,对滴滴出行、曹操出行、T3出行、美团出行等4家网约车平台公司进行提醒。
3、代码实现
实现代码如下,最后返回的数据逻辑可以自行修改。
/** * 相似度对比 * @param s 文本1 * @param t 文本2 * @param f 小数位精确度,默认2位 * @returns {string|number|*} 百分数前的数值,最大100. 比如 :90.32 */ function similar(s, t, f) { if (!s || !t) { return 0 } if(s === t){ return 100; } var l = s.length > t.length ? s.length : t.length var n = s.length var m = t.length var d = [] f = f || 2 var min = function (a, b, c) { return a4、相似度对比结果
根据测试文本对比,结果为:
75.00
相关文章
- 燕云十六声信笺连年任务怎么做-万事知信笺连年任务攻略 09-18
- 无主之地4存档怎么替换 存档替换方法教程 09-18
- 无主之地4存档在哪 存档位置教程 09-18
- 无主之地4小吵闹声音怎么关闭 小吵闹静音的方法 09-18
- 地狱即我们守望者巢穴怎么过 第四章剧情流程视频攻略 09-18
- 地狱即我们阿卡萨沼泽怎么过 第三章剧情流程视频攻略 09-18