📜  countvectorizer 删除停用词 - Python (1)

📅  最后修改于: 2023-12-03 14:40:13.983000             🧑  作者: Mango

使用CountVectorizer删除停用词 - Python

在使用自然语言处理技术时,常常需要对文本进行特征提取。其中,一种常用的特征提取方法是使用词袋模型,即将文本转化为向量表示。在这个过程中,我们通常会删除一些常见且没有实际含义的词语,称为停用词。

在Python中,我们可以使用CountVectorizer库来实现对文本的向量化表示,并删除停用词。

首先,我们需要安装CountVectorizer库,可以使用以下命令:

$ pip install scikit-learn

接下来,我们可以编写以下代码来使用CountVectorizer删除停用词:

from sklearn.feature_extraction.text import CountVectorizer

# 停用词列表
stopwords = ['a', 'an', 'the', 'is', 'and', 'or', 'that']

# 文本列表
corpus = ['This is a sample text',
          'It contains stopwords',
          'We want to remove stopwords']

# 初始化CountVectorizer对象
vectorizer = CountVectorizer(stop_words=stopwords)

# 文本向量化处理
X = vectorizer.fit_transform(corpus)

# 输出特征词和其数量
features = vectorizer.get_feature_names_out()
counts = X.toarray().sum(axis=0)
for feature, count in zip(features, counts):
    print(feature, count)

在以上代码中,我们首先定义了一个停用词列表stopwords,然后定义了一个包含了三个样本文本的文本列表corpus。接着,我们初始化了一个CountVectorizer对象,并将停用词列表传递给stop_words参数。然后,我们使用fit_transform方法对文本进行向量化处理。最后,我们使用get_feature_names_out方法获取特征词列表,并使用toarray().sum(axis=0)方法获取每个特征词的数量。

以上代码将输出每个特征词及其数量,例如:

contains 1
remove 1
sample 1
text 1
want 1
we 1

如上所示,停用词(例如 "is"、"the")已经被成功删除。

希望以上介绍对你有帮助!