您好,我正在尝试编写一个小程序来索引xml集合中的一些文档。我使用tf-idf方法。现在,当我的程序读取查询时,它为每个文档中的每个单词返回一个元组列表('tf-idf','docid')。
这是一个示例:
Query: "Dog water"
Documents: [(0.212,1),(0.334,1),(0.111,2),(0,2)] 在这种情况下,文档2中只有一个单词。
现在我的问题是:我知道我必须在这些文档和查询之间做点积,但是我该怎么做呢?如何将查询转换为权重向量?
谢谢。
发布于 2014-09-08 22:48:47
如果你的问题是:“我如何从这个列表构建一个docid: [weight,...]字典,答案很简单:
from collections import defaultdict
def transform(query_results):
revindex = defaultdict(list)
for weight, docid in query_results:
revindex[docid].append(weight)
return revindex否则,请给出更多的解释-如果可能的话,还有一个预期的输出示例。
https://stackoverflow.com/questions/25726608
复制相似问题