当前位置: 首页 > 专利查询>东北大学专利>正文

一种Web环境下的字符串相似度的分析方法技术

技术编号:3759405 阅读:461 留言:0更新日期:2012-04-11 18:40
一种Web环境下的字符串相似度分析方法,首先定义基本操作代价;对字符串预处理,识别它的词首字符和去除非实意字符;创建距离矩阵,通过创建匹配索引实现编辑距离的优化;然后,判断缩写词,先判断两个字符串是否是缩写关系,如果是缩写关系则进行距离优化;其中,缩写关系由2个因素决定:①判断两者是否有相似度;②判断两者的词首字符是否被匹配;之后对缩写词距离优化,通过减少连续插入字符和连续删除字符的代价实现。本发明专利技术的字符串相似度分析方法能很好地处理web中经常出现的省略、缩写和字符顺序颠倒情况,具有较高适用性,在Web未知环境下,具有较高的匹配精度。

【技术实现步骤摘要】

本专利技术属于计算机Web数据库领域,特别适用于Web数据库集成系统重复记录识别过 程中两条记录相似度的判定。
技术介绍
在web环境中,对于需要进行相似度匹配的字符串,常常会遇到拼写错误、关键词顺序 颠倒、缩写词或省略词匹配等情况,导致应用于web环境下的字符串相似度分析方法面临很 多困难。因为典型的常用字符串相似度分析方法通常只针对某一特定情况。如Levenshtein distance较适合于拼写错误,Jaro distance metric较适合于縮写词或省略词识别。在应用中, 常常需要人工来判断何种环境下使用什么样的算法。然而,web环境中多是半结构和无结构 数据,具体字符串的类型不容易判断,因此无法保证应用已有字符串匹配算法计算的字符串 匹配的准确度。Levenshtein Distance算法是首先由俄国科学家提出。在该方法中,求两字符串之间的相 似度的基本步骤如下首先,建立编辑距离矩阵,然后,依次由左向右,由上向下计算矩阵 单元的值,最后,矩阵中最右下矩阵单元的值即为两字符串的编辑距离。该算法为较传统的 算法,优点为过程简单,易于使用,但对逆序,縮写词匹配时效果不太好。著名的Smih-Wateman算法,是在传统的Levenshtein distance基础上改进的算法。其基 本步骤和Levenshtein Distance算法只在计算矩阵单元值时不同。Smih-Waternan算法通过引入 删除补偿、插入补偿和替换补偿三个参数来计算矩阵单元值。当矩阵中所有的矩阵单元计算 过以后,矩阵中最右下的矩阵单元值即为要计算的两个字符串的编辑距离。该算法主要适用 于寻找局部相似序列对,其缺点是对于逆序词效果不太好。字符串相似度的Jaro分析方法的主要思想是计算两个字符串(Tl和的Jaro距离为,其中丄(^ + ^ + ^ii), Icrll,lcr2l分别为两个字符长度,c为两字符串中的"公共子串"长度, 3 h| |o"2| ct为替换总数,替换总数计算方法为将al中的第i个公共字符与02中的第i个字符做比较, 若做比较的两个字符不相同则进行一次替换。该算法的优点是计算速度较快,对缩写词的识 别准确率较高。但该算法仅适合縮写词普遍存在的场合,对不是縮写词进行比较时常常将两 词的相似度错误提高,导致失真。
技术实现思路
为了解决巳有技术的不足,本专利技术提供一种应用于Web环境具有适应性的字符串相似度 分析方法——Ajusted-edit distance分析方法,能很好地处理web中经常出现的省略、縮写和 字符顺序颠倒情况。本专利技术的分析方法步骤如下-步骤1.定义基本操作代价,由删除字符代价,插入字符代价,替换字符代价组成。其中删除字符代价cost(a—>e),表示删除字符a的代价; 插入字符代价cost(s—〉a),表示插入字符a的代价;替换字符代价cost(a—>&)和cost(a—〉b),分别表示用字符a替换字符a的代价和用字符 a替换字符b的代价;步骤2.字符串预处理,包括识别词首字符和去除非实义字符。其中,词首字符指字符 串中第一个实义字符和字符串中非实义字符后的实义字符;非实义字符是指不具有实际意义的字符,包括空格、逗号、括号。步骤3.计算距离矩阵,通过创建匹配索引实现字符串中字符位置的交换,进而优化编 辑距离。其中,匹配索引是指将一个字符串以最小代价的编辑操作序列转换成另一个字符串的过 程中,原本被插入或删除的字符通过改变字符顺序能够以更小的代价进行替换的字符的索引。 在进行实际交换之前,需要先计算一下两个字符串的距离变化,只有当距离变化小于0时才 进行位置交换。创建匹配索引方法的步骤如下A. 计算两个字符串的距离矩阵;B. 将所有代价为O的字符对添加到匹配索引中;C. 通过距离矩阵选出一个代价最小的替换方案;D. 过滤匹配索引中在转换方案中已经采用的代价为0的替换方案;E. 过滤匹配索引中包含在其他索引对中出现的字符的索引对5F.结束优化编辑距离的具体公式如下ed '(x,力=ed(X力+ distanceChangedistanceChange = Z cos t(Xj') - Z cos t(x,.) + 2 / * dis』1SI iEl JSPCD其中,ed'(x,y)是指交换后两个字符串的距离;ed(x,y)是指交换前两个字符串的距离; distanceChange指距离所发生的变化,如果distanceChange小于0,则是距离变小,反之是变大;COSt(Xi')是指Xj'在交换后匹配的代价;COSt(Xj)是指字符Xi在交换前匹配的代价;P是由 用户设定的交换代价系数;diSj是指需要交换位置的第j个编辑操作序列对在编辑操作序列中 的距离;I为在所要处理的匹配索引中涉及到字符串X中字符的位置集合;P为针对匹配索引需要进行交换处理的编辑操作序列对的集合。步骤4.判断是否为縮写词,首先判断两个字符串是否为縮写关系;如果是縮写关系则 进行距离优化。所述的判断縮写包括2个判断因素①判断两者是否有一定的相似度;②判断两者的词 首字符是否被匹配。判断缩写词的公式如下■ , 、 ed'(x,y)sim(x, y)=-"Max(|x|,|y|)P +P ()Pxy=A * sim(x, y)+( 1 -A)*其中,sim(x,y)指字符串相似度;ed'(x,y)是指步骤3中交换字符后两个字符串的距离; lxl,lyl分别指字符字符串x,y的长度;Pxy指字符串x,y之间有一个是另一个的縮写词的可能性; 入指因素①的权重,Px,Py分别指串X,串Y词首字符被以O的代价进行替换的比例。缩写词距离优化,通过减少连续插入字符和连续删除字符的代价来实现。縮写词距离优化公式如下<formula>formula see original document page 7</formula>其中,ed"(x,y)是指縮写词优化后两个字符串的距离;ed'(x,y)是指步骤3中交换字符后两个 字符串的距离;distanceOptimized指优化后距离所发生的变化;集合D,I分别指匹配中出现连 续删除和连续插入的集合;costD(n), costl(n)分别指连续删除、连续插入n个字符的代价; count(d), coimt(i)分别指d, i中连续删除和插入字符的个数;q是代价衰减系数;d,i分别指集合 中的某个连续插入和删除操作,其中d, iGU),…,n-lhn为连续删除或连续插入的个数。本专利技术的有益效果本专利技术的字符串相似度分析方法具有较高适用性,Web未知环境下, 具有较高的匹配精度。另外,依据相似度分析方法的步骤可知字符串预处理的时间复杂度 为O(n)(设两个字符串最长为n);计算nXn的矩阵的时间复杂度为0(n2);根据索引改变一 个串中一些字符的顺序的时间复杂度为O(n);在最坏情况下,两个字符串中每个字符都为词 首字符,此时时间复杂度为0(n2);如果判断为縮写词,则需要进行距离优化,需要遍历一遍 匹配路径,时间复杂度为O(n)。整个分析方法的时间复杂度为0(n2)。附图说明图1为本专利技术实施例字符串X和Y的距离矩阵分析图。图2为本发本文档来自技高网
...

【技术保护点】
一种Web环境下的字符串相似度分析方法,其特征在于:该方法包括如下步骤; 步骤1.定义基本操作代价,基本操作代价由删除字符代价、插入字符代价、替换字符代价组成; 步骤2.字符串预处理,识别词首字符和去除非实义字符; 步骤3.计算编辑距离,通过创建匹配索引实现字符串中字符位置的交换,进而优化编辑距离;其中匹配索引是指将一个字符串以最小代价的编辑操作序列转换成另一个字符串的过程中,原本被插入或删除的字符通过改变字符顺序能够以更小的代价进行替换的字符的索引;步骤4.判断是否为缩写词,首先判断两个字符串是否是缩写关系;如果是缩写关系则进行距离优化;其中,缩写关系由2个因素决定:①判断两者是否有相似度;②判断两者的词首字符是否被匹配;缩写词距离优化,通过减少连续插入字符和连续删除字符的代价实现。

【技术特征摘要】

【专利技术属性】
技术研发人员:于戈申德荣朱命冬寇月聂铁铮王振华
申请(专利权)人:东北大学
类型:发明
国别省市:89[中国|沈阳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1