Python 如何计算标签之间的相似性?

Python 如何计算标签之间的相似性?,python,dictionary,Python,Dictionary,我已经开始解决《用Python编程集体智能》一书中的一些练习。问题二是: 使用del.icio.us API创建标记和项的数据集。使用此项计算标记之间的相似性,并查看是否可以找到几乎相同的标记。查找一些可能已标记为“编程”但未标记的项目 到目前为止,我创建了一个字典,从名为tags.txt的文本文件中解析数据 def asd(): d = dict() for line in open("tags.txt"): if len(line.strip().split("\t")) == 23

我已经开始解决《用Python编程集体智能》一书中的一些练习。问题二是: 使用del.icio.us API创建标记和项的数据集。使用此项计算标记之间的相似性,并查看是否可以找到几乎相同的标记。查找一些可能已标记为“编程”但未标记的项目

到目前为止,我创建了一个字典,从名为tags.txt的文本文件中解析数据

def asd():
d = dict()
for line in open("tags.txt"):
    if len(line.strip().split("\t")) == 23:
        url, number_of_saves, data_of_first_save, tag1, tagCount1, tag2, tagCount2, tag3, tagCount3, tag4, tagCount4, tag5,tagCount5,\
        tag6, tagCount6, tag7, tagCount7, tag8, tagCount8, tag9, tagCount9, tag10, tagCount10 = line.strip().split("\t")
        tags = [tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9,tag10]
        tagCounts = [tagCount1,tagCount2,tagCount3,tagCount4,tagCount5,tagCount6,tagCount7,tagCount8,tagCount9,tagCount10]
        d.setdefault(url, {})
        for index, tag in enumerate(tags):
            d[url][tag] = tagCounts[index]
return d
我的问题是如何使用这本词典找到标签之间的相似之处

“使用此选项计算标记之间的相似性”

“几乎相同”


请考虑:“Levenshtein距离是一个字符串度量,用于测量两个序列之间的差异。”

有很多方法可以解决这个问题,例如,查看两个url有多少个共同的标记。如果您要根据标记的字符串寻找严格的相似性,您可能需要调查,这是计算字符串相似度的典型的第一步。你有类似的标准吗?语义相似(
脚本编写
编程
)?语义不同但正交相似(
CS
CSS
)?要评估两个字符串的相似性,请使用
difflib
模块。你可能会对我的答案感兴趣:()