Python循环花费大量时间来执行余弦相似性路透社文档

时间:2017-04-20 19:50:36

标签: python python-3.x loops cosine-similarity

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项目。

由于

1 个答案:

答案 0 :(得分:0)

如果我猜对你使用的是Python 2:尝试更改这两行以使用iteritems()并让我知道它是否适合你:

for key, value in newdict.iteritems():
    for first, second in newdict.iteritems():