def boolean_search_and(self, text):
results = []
and_tokens = self.tokenize(text)
tokencount = len(and_tokens)
term1 = and_tokens[0]
print ' term 1:', term1
term2 = and_tokens[1]
print ' term 2:', term2
#for term in and_tokens:
if term1 in self._inverted_index.keys():
resultlist1 = self._inverted_index[term1]
print resultlist1
if term2 in self._inverted_index.keys():
resultlist2 = self._inverted_index[term2]
print resultlist2
#intersection of two sets casted into a list
results = list(set(resultlist1) & set(resultlist2))
print 'results:', results
return str(results)
这段代码适用于两个令牌,例如:text=“Hello World”,因此,tokens=['Hello','World']。我想把它概括为多个标记,这样文本可以是一个句子,也可以是整个文本文件。
self.\u inversed_index是一个字典,它将标记保存为键,值是出现键/令牌的docid。在
您好->;[1,2,5,6]
世界->;[1,3,5,7,8]
结果:
你好和世界->;[1,5]
我希望取得以下成果: 说, ((你好和计算机)和科学和世界)
我正在努力使这个工作为多个词,而不是两个。我今早开始用python工作,所以我不知道它提供了很多特性。在
有什么想法吗?在
内置的set类型适合您吗?在
相关问题 更多 >
编程相关推荐