Python 3.6
我正在尝试计算大约10,000份文件的标准路透社文档的余弦相似度。
我用
创建了一个字典full_docs_id = reuters.fileids()
vectorizer = TfidfVectorizer(tokenizer=tokenize);
vec_full_docs = vectorizer.fit_transform(full_docs_id)
newdict = dict(zip(full_docs_id,vec_full_docs))
然后我运行循环,但是在运行了很多个小时之后我没有得到任何输出
com = defaultdict(lambda : defaultdict(lambda: {'weight':0}))
for key, value in newdict.items():
for first, second in newdict.items():
cosine_similarities = cosine_similarity(value,second).flatten()
com[key][first]['weight'] = cosine_similarities[0]
权重的原因是我需要输入网络分析。
有更好的方法吗?这是我的第一个主要Python项目。
由于
答案 0 :(得分:0)
如果我猜对你使用的是Python 2:尝试更改这两行以使用iteritems()并让我知道它是否适合你:
for key, value in newdict.iteritems():
for first, second in newdict.iteritems():