'list'对象没有属性'lower''list'对象在TfidfVectorizer中没有属性'lower'

问题描述 投票:0回答:2

我有一些关于一些阿拉伯推文的 csv 文件,我做了标记、词干和清理文本


`data = pd.read_csv(r"tweet.csv" ,dtype=str, encoding="utf-8")

    
def preprocessing(text):
\#remove stop words
stop_words = set(stopwords.words('arabic'))
\#takenazation
tokens = word_tokenize(text.lower())
result = \[i for i in tokens if not i  in stop_words\]
\#stemming
als=ArabicLightStemmer();
word_list = \[als.light_stem(w) for w in  result\]
return word_list

data\['text'\]  = data\['text'\].apply(preprocessing)

vectorizer=TfidfVectorizer(binary=False,norm='l2',use_idf=True,smooth_idf=True,lowercase=True,min_df=1,
max_df=1.0,max_features=None,ngram_range=(1,1))
vectorizer.fit(data\["text"\])
x=vectorizer.transformv(data\["text"\])

我在 TfidfVectorizer 中有错误,它说“list”对象没有属性“lower”

我想对我的文本进行矢量化

python nlp vectorization sentiment-analysis tfidfvectorizer
2个回答
0
投票

如果“文本”是列表格式,则下部功能不适用于列表。 它适用于将字符串作为列表中的元素。

所以你应该输入

[x.lower() for x in text]

作为函数的参数。


0
投票

我们应该把 [x.lower() for x in text] 放在函数中的哪里?

© www.soinside.com 2019 - 2024. All rights reserved.