相似度计算是数据挖掘,推荐引擎中的最基本问题,例如在推荐系统(Recommender Systems,简称RSs)中计算带推荐物品(Item)相似度,或是用户(User)之间的相似度以期获得兴趣口味(Taste)相似的用户时,均需要使用到相似度计算技术。经常使用的相似度计算方式较多,且各有特点, 以...
分类:
其他好文 时间:
2014-07-07 12:09:43
阅读次数:
448
算法介绍:
编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。
步骤详解:
我们算V1中的值:以红色的0所在的格子为例
根据步骤5:
如果 s[i] 等于 t[j],则编辑代价cost为 0;
如果 s[i] 不等于 t[j],则编辑代价cost为1。
和
步骤6:
设置单元v1[j]为下面的最小值之一:
a、紧邻该单元上方+1:v1[j-1] + ...
分类:
编程语言 时间:
2014-07-06 08:31:41
阅读次数:
337
今天要研究的问题是如何计算两个文本的相似度。正如上篇文章描述,计算文本的相似度在工程中有着重要的应用,
比如文本去重,搜索引擎网页判重,论文的反抄袭,ACM竞赛中反作弊等等。
上篇文章介绍的SimHash算法是比较优秀的文档判重算法,它能处理海量文本的判重,Google搜索引擎也正是用这
个算法来处理网页的重复问题。实际上,仅拿文本的相似度计算来说,有很多算法都能解决这个问题,并且都达...
分类:
其他好文 时间:
2014-06-02 15:15:39
阅读次数:
200
1 using System; 2 using System.Collections.Generic;
3 using System.Text; 4 5 namespace ConsoleApplication6 6 { 7 class semblance 8 {
9 10 ...
分类:
数据库 时间:
2014-05-26 02:11:57
阅读次数:
486
计算字符串的相似度
提出问题
许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程度。我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:
1.修改一个字符(如把“a”替换为“b”)。
2.增加一个字符(如把“abdd”变为“aebdd”)。
3.删除一个字符(如把“travelling”变为“traveling”)。
比如,对于“abcdef...
分类:
其他好文 时间:
2014-05-24 19:32:33
阅读次数:
289