编辑距离(Levenshtein Distance)如何计算?它的主要应用是什么?
编辑距离Levenshtein Distance一、定义编辑距离是指将一个字符串变换为另一个字符串所需的最少单字符编辑操作次数。允许的三种操作操作含义示例s→t插入Insertion在 s 中插入一个字符“kitten” → “kittens”插入 ‘s’删除Deletion从 s 中删除一个字符“kitten” → “kittn”删除 ‘e’替换Substitution将 s 中一个字符替换为另一个字符“kitten” → “kitten”‘k’→’s’得 “sitten”每次操作代价为 1。距离越小两字符串越相似。二、动态规划计算状态定义dp[i][j] 将s[0..i-1]前 i 个字符变换为t[0..j-1]前 j 个字符的最小编辑次数。状态转移方程若 s[i-1] t[j-1]: dp[i][j] dp[i-1][j-1] # 字符相同无需操作 否则: dp[i][j] 1 min( dp[i-1][j], # 删除 s[i-1] dp[i][j-1], # 插入 t[j-1] dp[i-1][j-1] # 替换 s[i-1] 为 t[j-1] )边界条件dp[i][0] i # s 的前 i 个字符全部删除变为空串 dp[0][j] j # 空串插入 j 个字符变为 t 的前 j 个字符计算示例s “kitten”, t “sitting”填充 DP 表行 s列 t s i t t i n g 0 1 2 3 4 5 6 7 k 1 1 2 3 4 5 6 7 i 2 2 1 2 3 4 5 6 t 3 3 2 1 2 3 4 5 t 4 4 3 2 1 2 3 4 e 5 5 4 3 2 2 3 4 n 6 6 5 4 3 3 2 3dp[6][7] 3即 “kitten” → “sitting” 的编辑距离为3。操作路径kitten → sitten (替换 k→s) sitten → sittin (替换 e→i) sittin → sitting (插入 g)复杂度时间O(m·n)m、n 为两串长度空间O(m·n)可优化为O(min(m,n))滚动数组三、主要应用1. 拼写纠错 / 输入纠错计算用户输入与词典中候选词的编辑距离取距离最小的作为纠正建议。用户输入recive 词典候选receive(d2)、recite(d3)、recipe(d3) → 推荐 receive2. 模糊字符串匹配 / 搜索数据库脏数据清洗合并同一实体的不同写法“北京天安门” vs “天安门北京”搜索引擎容错查询用户输错一两个字符仍能命中3. 生物信息学DNA/蛋白质序列比对编辑距离是序列对齐的基础用于衡量基因序列相似度替换/插入/删除对应突变/缺失/插入。扩展为 Needleman-Wunsch、Smith-Waterman 等带权对齐算法。4. 自然语言处理词形归并比较词干相似度OCR 纠错识别结果与候选词对比机器翻译评估早期 MT 评价指标 WERWord Error Rate本质是词级编辑距离5. 数据去重 / 实体匹配记录链接场景中比较姓名、地址等字段的相似度判断是否为同一实体。6. 语音识别评估字错率CER/ 词错率WER 编辑距离 / 参考文本长度是语音识别的标准评测指标。四、常见变体变体说明Damerau-Levenshtein额外允许相邻字符交换transposition更贴合键盘输入错误加权编辑距离不同操作赋予不同代价如替换代价 2插入/删除代价 1Jaro-Winkler强调前缀匹配适合人名/短字符串相似度最长公共子序列LCS仅允许插入/删除无替换等价于一种特殊编辑距离五、一句话总结编辑距离通过动态规划计算两字符串间最少单字符编辑操作数时间复杂度O(m·n)其核心价值是提供一种字符级相似度度量广泛应用于拼写纠错、模糊匹配、序列比对、OCR/ASR 评测等需要容错比较的场景。

相关新闻

Kubernetes Pod

Kubernetes Pod

Kubernetes Pod:最小部署单元的深度解析 什么是 Pod?Pod 是 Kubernetes 中最基本、最小的可部署和可调度单元。它封装了一个或多个容器(通常是一个容器)、存储资源、一个唯一的网络 IP 以及控制容器运行方式的选项。Pod 的设计理念…

2026/7/26 22:28:00阅读更多 →
2026年毕业论文写作工具排行榜:学范文等五家降重查重实测对比

2026年毕业论文写作工具排行榜:学范文等五家降重查重实测对比

又到一年毕设季,后台私信被“毕业论文写作”相关提问轰炸。作为写了8年毕设指导、测评过上百款工具的行业老兵,今年带团队实测了市面上主流的毕业论文写作工具,结论先行:学范文、知网研学、笔杆网凭借不同的核心优势杀入前三——学…

2026/7/26 22:28:00阅读更多 →
2026毕业论文写作技巧工具深度横评,学范文领衔五强避坑指南

2026毕业论文写作技巧工具深度横评,学范文领衔五强避坑指南

2026年的毕业季还没到,但毕业论文的焦虑已经提前蔓延。打开社交平台,“毕业论文写作技巧”相关话题浏览量破亿,无数毕业生一边在深夜emo一边疯狂收藏各种攻略。作为在写作辅助行业摸爬滚打多年的技术顾问,我见过太多被不良工具坑到…

2026/7/26 22:28:00阅读更多 →
“我当下的人生到底有什么意义?”

“我当下的人生到底有什么意义?”

这个问题看似在寻找一个答案,实际上是在寻找一种“值得继续投入的方向感”。很多人在问: “人生有什么意义?” 深层可能是在问: 我现在做的事情值得吗?我的努力有没有价值?我的存在是不是重要?未…

2026/7/27 0:00:24阅读更多 →
WezTerm 终端 CJK 字形混乱排查与修复:从日文到简体中文

WezTerm 终端 CJK 字形混乱排查与修复:从日文到简体中文

现象在 WezTerm 终端中,包含中文路径的文本(如标签页标题、Shell 提示符、路径补全)中,某些汉字时而渲染为日文字形,时而显示为简体中文(中国大陆)字形。以「径」字为例,日文写法右侧…

2026/7/27 0:00:24阅读更多 →
2007-2023年各市区县生态文明建设示范区DID

2007-2023年各市区县生态文明建设示范区DID

数据简介 自改革开放以来,我国依赖高投入、高资源消耗和高污染等传统发展模式实现了经济短期内的快速增长, 然而这也导致了严重的生态环境危机。因此,国家有力于推动企业高质量经济发展,协同生态保护的方针,从而从201…

2026/7/27 0:00:24阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:24阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:24阅读更多 →
Claude API中转服务:解决国内开发者网络访问与支付难题

Claude API中转服务:解决国内开发者网络访问与支付难题

1. 先搞清楚为什么需要中转API,以及它到底解决什么实际问题如果你在国内调用Claude官方API时经常遇到"unable to connect to anthropic services"、"failed to connect to api.anthropic.com"这类错误,那这篇文章就是为你准备的。这…

2026/7/26 23:58:24阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:24阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:24阅读更多 →
2007-2023年各市区县生态文明建设示范区DID

2007-2023年各市区县生态文明建设示范区DID

数据简介 自改革开放以来,我国依赖高投入、高资源消耗和高污染等传统发展模式实现了经济短期内的快速增长, 然而这也导致了严重的生态环境危机。因此,国家有力于推动企业高质量经济发展,协同生态保护的方针,从而从201…

2026/7/27 0:00:24阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/26 19:05:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/26 19:05:21阅读更多 →