編輯距離是針對二個字符串(例如英文字)的差異程度的量化量測,量測方式是看至少需要多少次的處理才能將一個字符串變成另一個字符串。編輯距離可以用在自然语言处理中,例如拼寫檢查可以根據一個拼錯的字和其他正確的字的編輯距離,判斷哪一個(或哪幾個)是比較可能的字。DNA也可以視為用A、C、G和T組成的字符串,因此編輯距離也用在生物信息学中,判斷二個DNA的類似程度。Unix 下的 diffpatch 即是利用编辑距离来进行文本编辑对比的例子。

編輯距離有幾種不同的定義,差異在可以對字符串進行的處理。

  • 萊文斯坦距離中,可以刪除、加入、取代字符串中的任何一個字元,也是較常用的編輯距離定義,常常提到編輯距離時,指的就是萊文斯坦距離[1]
  • 也存在其他編輯距離的定義方式,例如 Damerau-Levenshtein 距离是一种莱文斯坦距离的变种,但允许以单一操作交换相邻的两个字符(称为字符转置),如 AB→BA 的距离是 1(交换)而非 2(先删除再插入、或者两次替换)。
  • LCS(最长公共子序列)距離只允許刪除、加入字元[1]: 37 
  • Jaro 距离只允许字符转置。
  • 汉明距离只允許取代字元[1]

例子

编辑

kitten和sitting的萊文斯坦距離是3。將kitten變為sitting的最小處理方式如下:

  1. kitten → sitten(將k改為s)
  2. sitten → sittin(將e改為i)
  3. sittin → sitting(最後加入g)

若是考慮LCS距離(只考慮加入及刪除),LCS距離是5:

  1. 刪除位在第1個字的k
  2. 在第1個字之前加入s
  3. 刪除位在第4個字的e
  4. 在第4個字之前加入i
  5. 在第6個字之前加入g

參考資料

编辑
  1. ^ 1.0 1.1 1.2 Navarro, Gonzalo. A guided tour to approximate string matching (PDF). ACM Computing Surveys. 1 March 2001, 33 (1): 31–88 [19 March 2015]. doi:10.1145/375360.375365. (原始内容 (PDF)存档于2021-04-19). 

📚 Artikel Terkait di Wikipedia

Python

(原始内容存档于2012-10-26).  aspectlib. aspectlib is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior in existing

美国在线

[2015-05-12]. (原始内容存档于2017-05-03).  History of Computing Industrial Era (1985–1990). The History of Computing Project. 2006-03-20 [2005-09-24]. (原始内容存档于3

AMD

Opteron(Barcelona)和Phenom(Agena)效能不彰,時脈提升困難。為此AMD特別發佈解決B2核心步進BUG的Patch,名稱為「TLB Patch」。AMD接下來還將發佈解決TLB Bug問題的B3核心步進,可使AMD K10處理器的整體效能再提升15%。 K10

視覺化程式設計語言

Prograph(英语:Prograph) Ptolemy(英语:Ptolemy Project (computing)) PWGL (页面存档备份,存于互联网档案馆),一種作曲用的視覺化程式設計語言。為PatchWork的後繼。 Quartz Composer Reaktor(英语:Reaktor),Native

凯蒂·布曼

布曼研发了一套算法,名为利用补丁先验进行连续高分辨率图像重建系统(英語:Continuous High-resolution Image Reconstruction using Patch priors),或简称CHIRP。该算法用于对梅西耶87星系内的超重黑洞成像。 2019年4月,布曼在麻省理工学院发表了首个用于合成黑洞图像的

内核页表隔离

page-table isolation,缩写KPTI,也简称PTI,旧称KAISER)是Linux内核中的一种强化(英语:Hardening (computing))技术,旨在更好地隔离用户空间与内核空间的内存来提高安全性,缓解现代x86 CPU中的“熔毁(Meltdown)”硬件安全缺陷。

GIMP

Mattis)所创。对GIMP的开发始于1995年,作为加州大学伯克利分校eXperimental Computing Facility(英语:eXperimental Computing Facility)的中长期发展项目发展;第一个公开发行的GIMP(0

Ryzen

what's the real story with gaming?. [2017-04-08]. (原始内容存档于2017-04-09).  [PATCH] add znver1 processor. [2017-03-22]. (原始内容存档于2016-03-04).  Cutress, Ian