iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript实现文本相似度对比
  • 584
分享到

JavaScript实现文本相似度对比

2024-04-02 19:04:59 584人浏览 八月长安
摘要

目录一、发现问题二、解决问题1、编辑距离的概念2、测试文本3、代码实现4、相似度对比结果一、发现问题 在开发过程中,难免会使用到2个(多个)文本内容处理,一是便于宏观知道文本的重合度

一、发现问题

开发过程中,难免会使用到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、代码实现

实现代码如下,最后返回的数据逻辑可以自行修改。


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 a < b ? (a < c ? a : c) : (b < c ? b : c)
  }
  var i, j, si, tj, cost
  if (n === 0) return m
  if (m === 0) return n
  for (i = 0; i <= n; i++) {
    d[i] = []
    d[i][0] = i
  }
  for (j = 0; j <= m; j++) {
    d[0][j] = j
  }
  for (i = 1; i <= n; i++) {
    si = s.charAt(i - 1)
    for (j = 1; j <= m; j++) {
      tj = t.charAt(j - 1)
      if (si === tj) {
        cost = 0
      } else {
        cost = 1
      }
      d[i][j] = min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost)
    }
  }
  let res = (1 - d[n][m] / l) *100
  return res.toFixed(f)
}

4、相似度对比结果

根据测试文本对比,结果为:

75.00

到此这篇关于javascript实现文本相似度对比的文章就介绍到这了,更多相关js文本相似度内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaScript实现文本相似度对比

本文链接: https://www.lsjlt.com/news/150455.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript实现文本相似度对比
    目录一、发现问题二、解决问题1、编辑距离的概念2、测试文本3、代码实现4、相似度对比结果一、发现问题 在开发过程中,难免会使用到2个(多个)文本内容处理,一是便于宏观知道文本的重合度...
    99+
    2024-04-02
  • JavaScript如何实现文本相似度对比
    本篇内容介绍了“JavaScript如何实现文本相似度对比”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、发现问题在开发过程中,难免会使用...
    99+
    2023-06-30
  • python怎么实现余弦相似度文本比较
    这篇文章将为大家详细讲解有关python怎么实现余弦相似度文本比较,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问...
    99+
    2023-06-14
  • python实现余弦相似度文本比较的示例
    目录向量空间模型VSM:VSM的介绍:VSM的例子:TF-IDF权重计算:TF的由来:IDF的出现:TF-IDF的计算:余弦相似度的计算:文本比较实例:对文本进行去停用词和分词:余弦...
    99+
    2024-04-02
  • Python利用模糊哈希实现对比文件相似度
    对比两个文件相似度,python中可通过difflib.SequenceMatcher/ssdeep/python_mmdt/tlsh实现,在大量需要对比,且文件较大时,需要更高的效...
    99+
    2023-01-28
    Python对比文件相似度 Python对比相似度 Python 相似度
  • Jetpack Compose对比React Hooks API相似度
    目录React Component vs ComposableJSX vs DSLloopIf statementkey componentChildren Prop vs Chil...
    99+
    2022-11-13
    Jetpack Compose对比React Jetpack Compose
  • 用java计算文本相似度
    遇到这样一个需求,需要计算两个文本内容的相似度,以前也接触过,下面列举几种方式,也是我在网上查了很多内容整理的,直接上代码,供大家参考,如果你也有这样的需求,希望能帮到你: 内容目录 1、字符...
    99+
    2023-09-21
    java 开发语言
  • 基于Java实现图片相似度对比的示例代码
    目录前言依赖基本算法相关代码前言 很多时候我们需要将两个图片进行对比,确定两个图片的相似度。一般常用的就是openCv库,这里就是使用openCv进行图片相似度对比。 依赖 <...
    99+
    2024-04-02
  • JavaScript中怎么实现一个图片相似度算法
    这篇文章给大家介绍JavaScript中怎么实现一个图片相似度算法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。特征提取算法为了便于理解,每种算法都会经过“特征提取”和“特征比对”两个...
    99+
    2024-04-02
  • sentence-transformers(SBert)中文文本相似度预测(附代码)
    前言 训练文本相似度数据集并进行评估:sentence-transformers(SBert)预训练模型:chinese-roberta-wwm-ext数据集:蚂蚁金融文本相似度数据集前端:Vue2...
    99+
    2023-09-20
    python vue vue.js 文本相似度 sbert
  • 用Python进行简单的文本相似度分析
    学习目标: 利用gensim包分析文档相似度 使用jieba进行中文分词 了解TF-IDF模型 环境: Python 3.6.0 |Anaconda 4.3.1 (64-bit) 工具: jupyter notebook 注:...
    99+
    2023-01-31
    文本 简单 Python
  • oracle相似度排序方法怎么实现
    要实现oracle相似度排序方法,可以使用以下步骤: 确定相似度排序的指标:在进行相似度排序之前,需要确定用于衡量相似度的指标,...
    99+
    2024-04-09
    oracle
  • 使用Redis实现向量相似度搜索
    目录什么是向量向量相似度搜索的基本原理Redis实现向量相似度搜索1、Redis Search安装2、创建向量索引库3、添加向量到索引库4、向量搜索5、从索引库中删除向量6、删除向量索引库7、查询索引库信息在自...
    99+
    2023-08-07
    Redis向量相似度搜索 Redis向量相似度 Redis相似度
  • WPF+DiffPlex实现文本比对工具
    目录背景关于 DiffPlex准备代码实现效果图背景 现行的文本编辑器大多都具备文本查询的能力,但是并不能直观的告诉用户两段文字的细微差异,所以对比工具在某种情况下,就起到了很便捷的...
    99+
    2022-11-21
    WPF DiffPlex文本比对工具 WPF DiffPlex文本比对 WPF 文本比对
  • JAVA实现基于皮尔逊相关系数的相似度详解
    最近在看《集体智慧编程》,相比其他机器学习的书籍,这本书有许多案例,更贴近实际,而且也很适合我们这种准备学习machinelearning的小白。这本书我觉得不足之处在于,里面没有对算法的公式作讲解,而是直接用代码去实现,所以给想具体了解该...
    99+
    2023-05-30
    java 皮尔逊相关系数 算法
  • SpringBoot下载文件的实现及速度对比
    目录前言文件来源文件下载1、OutputStream形式2、ResponseEntity形式两种方式下载速度比较后话前言 承上篇上传文件之后,本文就主要介绍下SpringBoot下下...
    99+
    2024-04-02
  • javascript怎么实现类似百度分享功能
    百度分享是一个非常流行的社交分享插件,允许网站的访问者方便地分享网站上的内容。这个功能非常受欢迎,因为它允许用户快速地将他们所喜欢的内容分享到不同的社交网络,例如微信、微博、QQ等。但是,你知道吗?你也可以使用javascript实现类似的...
    99+
    2023-05-14
  • au3实现文件对比
    ;要打开的文件Local $file = FileOpen("D:\au3_test\ice2.conf", 0)Local $file2 = FileOpen("D:\au3_test\ice.conf", 0); 检查打开的文件是否可读...
    99+
    2023-01-31
    文件
  • 版本号对比 -- Python实现
    相同位数版本号大小比较: 1 def abc(str1, str2): 2 if str1 == "" or str2 == "": 3 print("输入包含空字符串,请重新输入") 4 ...
    99+
    2023-01-31
    版本号 Python
  • JavaScript中如何实现文本左对齐
    这篇文章主要介绍了JavaScript中如何实现文本左对齐的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript中如何实现文本左对齐文章都会有所收获,下面我们一起来...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作