首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以前预处理过的数据

以前预处理过的数据
EN

Stack Overflow用户
提问于 2015-07-10 00:32:54
回答 1查看 1.7K关注 0票数 1

我试着一个接一个地使用几种信息检索技术。对于每一个文本,我都希望以完全相同的方式对文本进行预处理。我的预处理文本是作为一个列表的文字。不幸的是,scikit-学TfidfVectorizer似乎只接受字符串列表。目前,我是这样做的(当然这是非常低效的):

代码语言:javascript
复制
from sklearn.feature_extraction.text import TfidfVectorizer

train_data = [["the","sun","is","bright"],["blue","is","the","sky"]]

tfidf = TfidfVectorizer(tokenizer=lambda i:i.split(","))
converted_train = map(lambda i:",".join(i), train_data)
result_train = tfidf.fit_transform(converted_train)

是否有一种方法可以使用科学学习TfidfVectorizer直接对这种预处理的数据进行信息检索?

如果没有,是否可以让TfidfVectorizer进行预处理并在之后重用其预处理的数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-10 10:02:26

我自己找到了答案。我的问题是,我只是使用None作为TfidfVectorizer的令牌:

代码语言:javascript
复制
tfidf = TfidfVectorizer(tokenizer=None)

您必须使用只转发数据的令牌程序。此外,您还必须确保向量程序不会将列表转换为小写(这是不起作用的)。一个有用的例子是:

代码语言:javascript
复制
from sklearn.feature_extraction.text import TfidfVectorizer

train_data = [["the","sun","is","bright"],["blue","is","the","sky"]]

tfidf = TfidfVectorizer(tokenizer=lambda i:i, lowercase=False)
result_train = tfidf.fit_transform(train_data)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31330584

复制
相关文章

相似问题

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