网站大量收购独家精品文档,联系QQ:2885784924

编辑距离算法的优化与实现..doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 21 PAGE 1 编辑距离算法的优化与实现 摘 要:在分析基于动态规划的编辑距离算法对文本相似度计算的不足的基础上,利用数据结构在空间效率和时间效率上优化该算法、采用中文分词的思想优化和改善该算法的时间效率和准确率,克服了原有的基于动态规划的计算方法所具有的效率低、准确率低、耗内存高的缺点。通过多种优化方案的实验测试和分析,结果表明优化后的算法取得了很好的准确率和时空效率,更好的用于文本相似度计算。 关键词:编辑距离算法;文本相似度计算;算法优化;动态规划 引言 文本相似度的计算在信息检索、文本分类、知识挖掘、网页去重、问答系统等诸多领域有着极为广泛的应用,长期以来一直是研究的热点和难点。人们在文本相似度计算中使用编辑距离算法,但该方法单纯以字为单位计算各个字符之间的编辑距离,插入删除替换三种基本操作的代价值的方法不够明确合理,从而使计算结果存在一定的偏差。故对传统的文本相似度检测编辑距离算法进行优化和改善,提出了一种基于改进编辑距离和中文分词相融合的计算文本相似度的方法,使优化改善后的算法具有较高的准确率和效率、较低的存储空间,更符合文本相似度计算的要求,有效提高文本相似度算法的效率和准确性,使文本相似度计算的性能进一步改善。 编辑距离算法 编辑距离定义 编辑距离又称Levenshtein距离(也叫做Edit Distance),是由俄国科学家Vladimir Levenshtein于1965年在文献[1]中提出的,是一种常用的距离函数度量方法,在多个领域特别是文本相似度检测得到了广泛的应用。编辑距离是指两系列字符串之间只能通过插入、删除和替换三种基本操作把源字符串(S)转换成目标字符串(T)所需的最少基本操作次数。编辑距离值越大,则相似度越小。 编辑距离算法原理 对于求两个字符串之间的编辑距离实际上可以转化为一个求最优解的问题,可以利用动态规划的思想[2]来计算,计算原理的步骤如下表2-1所示: 表2-1 编辑距离算法原理的计算步骤 步骤 描述 1 设置n为源字符串s的长度。 设置m为目标字符串t的长度。 如果n等于0,返回m并退出。 如果m等于0,返回n并退出。 构造一个矩阵d[m+1,n+1]含有0..m行和0..n列。 2 初始化矩阵第一行0..?。 初始化矩阵第一列0..m。 3 检查 s (i from 1 to n) 中的每个字符。 4 检查 t (j from 1 to m) 中的每个字符。 5 如果 s[i] 等于 t[j],则编辑代价cost为0; 如果 s[i] 不等于 t[j],则编辑代价cost为1。 6 设置矩阵单元格d [i,j] 的值为下面的最小值: a. 正上方单元格的值1: d[i-1,j] + 1. b. 左边单元格的值加1: d[i,j-1] + 1. c. 对角线单元格的值加上编辑代价cost的值: d[i-1,j-1] + cost. 7 在完成迭代 (3, 4, 5, 6) 之后,d[m,n]便是编辑距离的值。 本小节将演示如何计算源字符串GUMBO和目标字符串GAMBOL两个字符串之间的Levenshtein距离,计算步骤如下: 步骤1、2 步骤3、6,当i=1 步骤3、6,当i=2 ? ? G U M B O ? 0 1 2 3 4 5 G 1 ? ? A 2 ? ? M 3 ? ? B 4 ? ? O 5 ? ? L 6 ? ? ? ? G U M B O ? 0 1 2 3 4 5 G 1 0 ? ? A 2 1 ? ? M 3 2 ? ? B 4 3 ? ? O 5 4 ? ? L 6 5 ? ? ? ? G U M B O ? 0 1 2 3 4 5 G 1 0 1 ? ? A 2 1 1 ? ? M 3 2 2 ? ? B 4 3 3 ? ? O 5 4 4 ? ? L 6 5 5 ? ? 步骤3、6,当i=3 步骤3、6,当i=4 步骤3、6,当i=5 ? ? G U M B O ? 0 1 2 3 4 5 G 1 0 1 2 ? ? A 2 1 1 2 ? ? M 3 2 2 1 ? ? B 4 3 3 2 ? ? O 5 4 4 3 ? ? L 6 5 5 4 ? ? ? ? G U M B O ? 0 1 2 3 4 5 G 1 0 1 2 3 ? A 2 1 1 2 3 ? M 3 2 2 1 2 ? B 4 3 3 2 1 ? O 5 4 4 3 2 ? L 6 5 5 4 3 ? ? ? G U M B O ? 0 1 2 3 4 5 G 1 0 1 2 3 4 A 2 1 1 2 3 4 M 3 2 2 1 2 3 B 4 3 3 2 1

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档