我有一个索引模式,如下所示:
schema = Schema(
title=TEXT(stored=True),
content=TEXT,
id=ID,
topicID=NUMERIC,
)我首先使用searcher.documents(topicID=t)获取主题t的文档。这将返回命中结果。我想要获得hits的content字段的词袋表示。例如,当content=u'This is a document'时为[(u'This',1),(u'is',1),(u'a',1),(u'document',1)]。
如果有一种方法可以获得更通用的词袋表示(或TF-IDF) -也许是文档表示,而不是命中表示-也是可以接受的。
编辑:我想要一个解决方案,在索引时对bag-of-words/TF-IDF进行预处理,然后获得表示是一个单行函数或变量。每次我都想要表示,而不是进行实时处理。
发布于 2016-02-29 21:21:41
在whoosh.reading.IndexReader中有实现此功能的函数
返回集合中给定术语的实例总数。
返回给定术语出现在其中的文档数。
要遍历所有索引项的列表,请使用:
为索引中的每个术语生成(字段名,文本)元组。
发布于 2016-02-24 09:34:10
你可以使用一个计数器来解决这个问题:
from collections import Counter
bow = Counter(content.split())给出
Counter({'This': 1, 'a': 1, 'is': 1, 'document': 1})Here是它的文档。
编辑:忘记了一些括号
https://stackoverflow.com/questions/35591302
复制相似问题