2017-06-06 9 views

回答

0

根据每个文档中的每个单词,“移动器的距离”(应用于词向量组的地球移动器的距离)是相当复杂的优化计算。

我不知道有什么技巧可以帮助它在一次计算多个时更快 - 即使是到同一文档的许多距离。

因此,计算成对距离所需的唯一东西就是嵌套循环,以考虑每个(排序忽略唯一)配对。

例如,假设您的文件列表(每一个列表的字)是docs,在model一个gensim字矢量模型,并numpy导入为np,你可以计算成对距离d与数组:

D = np.zeros((len(docs), len(docs))) 
for i in range(len(docs)): 
    for j in range(len(docs)): 
     if i == j: 
      continue # self-distance is 0.0 
     if i > j: 
      D[i, j] = D[j, i] # re-use earlier calc 
     D[i, j] = model.wmdistance(docs[i], docs[j]) 

这可能需要一段时间,但那么你就必须在阵列中的所有成对距离D.

+0

嵌套循环在Python慢​​ - 可以切换到Java。尽管如此,谢谢你的答复。 – pythOnometrist