python-3.x - 矢量化标记法文文本
问题描述
我有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'
解决方案
看起来您正在向矢量化器传递一个 spaCyDocument
对象(而不是一个可迭代的字符串)。因此,您需要首先提取每个文档的标记。
尝试使用列表推导之类的方法,首先获取token.text
可以传递给矢量化器的标记字符串列表(在 spaCy 中为您提供标记的文本):
vectorizer.fit_transform([token.text for token in data.spacyd])
如果data.spacyd
其中有多个Document
,则只需调整上述内容以迭代每个。
推荐阅读
- java - Java中加载的共享库可以调用Java方法吗?
- sql-server - 将 CSV 导入 SQL Server 数据库,保留 ID 列值
- html - 我怎样才能使它成为我的
元素不相互重叠? - excel - 外部 CSV 文件更新或批处理文件完成时 Excel 中的触发功能
- hashicorp-vault - Hashicorp Vault - 进行 api 调用时出现 403
- c# - 类之间的转换是否有模式
- java - 在 JPA 中获取单列值
- javascript - 很难使用节点超级代理获取 API
- asp.net-core - ASP.NET Core 修改异常头
- spring-boot - 项目处理器中的 Spring Batch 运行时异常