能够创建一个倒排索引,但我不能完全实现位置索引。位置索引的格式为[doc_ID, pos_1, pos_2, ...]
位置索引在python中?
此处doc_ID指示该单词出现在哪个文档以及该文档出现在哪个位置。
Ex。 index = positional_index(['a','b','a'], ['a','c']])
当用户输入时index['a']
它会返回[[0,0,2], [1,0]]
以下代码是针对提到的倒排索引。我不知道还有什么要补充,使其位置指数:
def positional index(tokens):
d = defaultdict(lambda:[])
for docID, t_list in enumerate(tokens):
for t in t_list:
d[t].append(docID)
return d
所有的帮助将不胜感激。
什么背后的逻辑'[[0,0,2],[ 1,0]]为'a'的索引?你的解释不清楚! – Kasramvd 2015-01-26 20:40:37
'a'在文档0中,位置0和2以及文档1的位置0.基本上,第一个数字是[]它是从0开始的,其余的在[]中是[ (这种情况'a')存在...这也从零开始 – Makio21 2015-01-26 20:43:29
是'__getitem__'样式访问(即'index ['a']')是强制性的?如果不是,那么卡斯拉AD的答案很好 – Anentropic 2015-01-26 21:01:24