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

0 投票
1 回答
1012 浏览
提问于 2025-04-17 21:56

我开始在学习《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

我的问题是,如何利用这个字典找到标签之间的相似性呢?

1 个回答

0

“用这个来计算标签之间的相似度”

“几乎一模一样”

考虑一下 莱文斯坦距离:"莱文斯坦距离是一种字符串度量,用来衡量两个序列之间的差异"。

撰写回答