- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多种字符串相似度算法的比较研究
总第269 期
2012 年第3 期
计算机与数字工程
Computer & DigitalEngineering
Vol.40 No.3
14
多种字符串相似度算法的比较研究*
牛永洁1 张
成2
(1.延安大学计算中心
延安
716000)(2.延安大学网络中心
延安
716000)
摘 要 对计算字符串相似度的编辑距离算法、最长公共子串算法、贪心字符串匹 配 算 法、RKR-GST 等 多 种 算 法,根据匹配过程是否
有序,对这些算法进行了分类。 然后对每种算法的实现原理进行了描述,并给出每个算法的运行步骤,结合一个实际的例子列出了算法运行 的结果,最后给出每种算法计算相似度的计算公式和算法时间复杂度及应用领域。 由于字符串相似度具有广泛的应用领域,对其中经典的 几种算法进行总结对比是一件十分有意义的研究工作。
关键词 字符串相似度;??辑距离;最长公共子串;贪心字符串匹配;RKR-GST
中图分类号
TP301.6
ComparationofStringSimilarityAlgorithm
NIU Yongjie1 ZHANG Cheng2
(1.ComputingCenter,Yanan University,Yanan 716000)(2.NetworkCenter,Yanan University,Yanan 716000)
Abstract ForLevenshteinDistance,LongestCommonSubsequences,GreedyStringTiling,RKR-GSTandotheralgorithms,theseal-
gorithmswereclassifiedaccordingtowhetherthematchingprocessisorderly.Thentherealizationoftheprinciplesofeachalgorithm wasde-
scribed,andgiventherunofeachalgorithmstep,combinedwithapracticalexampleshowstheresultsofthealgorithm,theformulaofsimi-
larityandalgorithmtimecomplexityandapplicationsofeachalgorithm weregiven.Asthestringsimilaritywithawiderangeofapplications,
whichisavery meaningfulworktosummarizetheseveralclassicalgorithms.
Key Words stringsimilarity,levenshteindistance,longestcommonsubsequences,greedystringtiling,RKR-GST
ClassNumber TP301.6
定义如式(1)所示。
引言
字符串相似度在很多领域都有广泛的应用。 如在抄袭 检测 系 统[1]、自 动 评 分 系 统[2]、防代码剽窃系统[3~4]、数 据 清洗[5]、网页搜索[6]和 DNA 序 列 匹 配[7]等领域都有应用。 目前,字 符串相似度度量算 法 有 很 多,如编辑距离算法
(LevenshteinDistance),最长 公 共 子 串 算 法 (LongestCom- monSubsequences,LCS)、Heckel算 法、贪心字符串匹配算 法(GreedyString Tiling,GST))及 RKR-GST 算 法 (Run- ningKarp-RabinGreedyStringTiling,RKR-GST)等。 这些 算法因为实现的原理 不 同,得到的字符串相似度也会有些
差别,进而应用的领域也会有所不同。
1
|{pi|(pi,tj)∈Rs}|+|{tj|(pi,tj)∈Rs}|
S(P,T)=
×100
|P|+|T|
(1)
式(1)中的符号|·|表 示 元 素 个 数,此 定 义 表 明,P 和
T 之间的相似性是一个比值,这个比值是由 RS 中的元素个
数除以P 和T 中元素个数的总和。 若 RS 较小,则S 较小,
若 RS = ,则S=0,当 P 和 T 完 全 相 同 时,i(pi,ti )∈
S , 。
R S=1
算法描述及实例
编辑距离算法
编辑距离是用来计算从原字符串S 转换到目标字符串
3
3.1
字符串相似度概念
字符串相似度度量是寻找两个字符串的公共子串,利 用公共子串的长度根据相应的公式来衡量两个字符串的相 似程度。 对于待比较的两个字符串,把其中比较短
文档评论(0)