0
我已經開始從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距離算法](http://en.wikipedia.org/wiki/Levenshtein_distance),因爲這是計算典型的第一步字符串相似。 –
你有你認爲相似的標準嗎?語義相似('腳本','編程')?語義上相異但正字法相似('CS''CSS')? – RJFalconer