中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript如何實現文本相似度對比

發布時間:2022-06-02 13:49:40 來源:億速云 閱讀:166 作者:iii 欄目:開發技術

本篇內容介紹了“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 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如何實現文本相似度對比”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长阳| 苏尼特右旗| 安康市| 合川市| 庆元县| 汉寿县| 布尔津县| 寿光市| 上思县| 武功县| 毕节市| 公安县| 石首市| 汉沽区| 呈贡县| 桦川县| 班玛县| 富阳市| 师宗县| 洞头县| 正安县| 新绛县| 商河县| 延长县| 怀来县| 淮北市| 梁平县| 林芝县| 错那县| 通渭县| 宁河县| 陈巴尔虎旗| 石首市| 常德市| 柘荣县| 长泰县| 潜江市| 新干县| 长春市| 武强县| 达州市|