首页 > 解决方案 > 矢量化标记法文文本

问题描述

我有Tokenised法语文本,Spacy但无法使用 TFidfvectoriser 进行矢量化

我试过这段代码,但它给出了错误

vectorizer.fit_transform(data.spacyd)

from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
from spacy.tokenizer import Tokenizer
vectorizer=CountVectorizer()

'spacy.tokens.doc.Doc' 对象没有属性 'lower'

标签: python-3.xnlpspacy

解决方案


看起来您正在向矢量化器传递一个 spaCyDocument对象(而不是一个可迭代的字符串)。因此,您需要首先提取每个文档的标记。

尝试使用列表推导之类的方法,首先获取token.text可以传递给矢量化器的标记字符串列表(在 spaCy 中为您提供标记的文本):

vectorizer.fit_transform([token.text for token in data.spacyd])

如果data.spacyd其中有多个Document,则只需调整上述内容以迭代每个。


推荐阅读