首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何使用Whoosh获得文档内容的词袋表示法?

我如何使用Whoosh获得文档内容的词袋表示法?
EN

Stack Overflow用户
提问于 2016-02-24 08:57:07
回答 2查看 905关注 0票数 1

我有一个索引模式,如下所示:

代码语言:javascript
复制
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进行预处理,然后获得表示是一个单行函数或变量。每次我都想要表示,而不是进行实时处理。

EN

回答 2

Stack Overflow用户

发布于 2016-02-29 21:21:41

whoosh.reading.IndexReader中有实现此功能的函数

返回集合中给定术语的实例总数。

返回给定术语出现在其中的文档数。

要遍历所有索引项的列表,请使用:

为索引中的每个术语生成(字段名,文本)元组。

票数 2
EN

Stack Overflow用户

发布于 2016-02-24 09:34:10

你可以使用一个计数器来解决这个问题:

代码语言:javascript
复制
from collections import Counter

bow = Counter(content.split())

给出

代码语言:javascript
复制
Counter({'This': 1, 'a': 1, 'is': 1, 'document': 1})

Here是它的文档。

编辑:忘记了一些括号

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35591302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档