如何在 python 中对数据框使用文本分类

How to use text classification with dataframe in python

我正在使用文本分类来对方言进行分类。但是,我注意到我必须像这样使用 countVectorizer:

from sklearn.feature_extraction.text import CountVectorizer  
vectorizer = CountVectorizer(max_features=200, min_df=2, max_df=0.7, stop_words=stopwords.words('arabic'))  
X = vectorizer.fit_transform(X).toarray()

我为 csv 文件中的每一行创建了一个新的文本文件。我从推特上收集了 1000 条推文。他们被贴上了标签。我将它们作为 csv 放在一个文件中。

我有两个问题:

  1. 我必须这样做吗?分隔一个文本文件中的每一行?或者我可以将它用作数据框
  2. 我必须在文本分类中使用 countVectorizer 吗?还有别的办法吗?
  1. 不,您不必在新文本文件中分隔每一行。如果您查看官方 sklearn 文档示例 https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html ,您将了解如何执行此操作。如果您想遵循该示例,那么您必须将推文的 csv 列从数据框转换为列表,并将其传递给函数,就像他们在文档示例中所做的那样。

  2. 不,您不必使用 countvectorizer。还有其他几种方法可以做到这一点,如 Tf-IDF、Word2Vec、bag-of-words 等。有几种方法可以将文本转换为向量进行分类。对于您的情况,我相信 TF-IDF 或 Word2Vec 可以正常工作。