当前位置:   article > 正文

CountVectorizer使用方法及参数详解

countvectorizer

一、引言

CountVectorizer自然语言处理中常用的文本特征提取方法之一,用于将文本数据转换为词袋(Bag of Words,BoW)表示。它将文本文档转换为词汇表中的单词计数向量。

二、 CountVectorizer使用及参数

以下是CountVectorizer的使用方法和一些常见参数的含义:

1.导入库:首先,你需要导入Python的相关库。在scikit-learn中,你可以使用以下导入语句:

from sklearn.feature_extraction.text import CountVectorizer

2.创建CountVectorizer对象:接下来,创建一个CountVectorizer对象,可以通过设定一些参数来控制文本向量化的方式:

vectorizer = CountVectorizer()

 你也可以在创建对象时设置一些参数,例如:

vectorizer = CountVectorizer(stop_words='english', max_features=500)

下面是一些常见的参数:

  • stop_words:指定停用词列表,这些词将被忽略不计入词袋中。
  • max_features:限制词汇表中的最大单词数量,保留出现频率最高的前n个单词。
  • ngram_range:指定要提取的n-gram范围,例如,ngram_range=(1, 2)将提取单个词和二元词组。
  • lowercase:是否将文本转换为小写。
  • 更多参数可以在scikit-learn的文档中找到。

3.拟合和转换数据:使用创建的CountVectorizer对象,对文本数据进行拟合和转换: 

X = vectorizer.fit_transform(text_data)

 这里的text_data是一个包含文本文档的列表或数组。

 4.获取词汇表:你可以通过以下方式获取词汇表,即向量中的特征名称:

vocabulary = vectorizer.get_feature_names_out()

 5.获得词频矩阵:通过X变量,你可以获得文本的词频矩阵,其中每行表示一个文档,每列表示一个词汇表中的单词,矩阵中的值表示单词在文档中的出现次数。

word_counts = X.toarray()

 6.使用文本向量:现在你可以将这些词频矩阵作为特征输入到机器学习模型中,用于文本分类、聚类等任务。

下面是一个小案例:

  1. #从特征提取库中导入向量转化模块儿
  2. from sklearn.feature_extraction.text import CountVectorizer
  3. #需要转化的语句
  4. """
  5. ngram_range(1, 2):对词进行组合
  6. (1)本例组合方式:两两组合 #贝叶斯 模型,它只能识别数字, 传入模型,
  7. ['bird', 'cat', 'cat cat', 'cat fish', 'dog', 'dog cat', 'fish', 'fish bird']
  8. (2)如果ngram_range(1, 3),则会出现3个词进行组合
  9. ['bird', 'cat', 'cat cat', 'cat fish', 'dog', 'dog cat', 'dog cat cat',
  10. 'dog cat fish', 'fish', 'fish bird']
  11. """
  12. texts=["dog cat fish","dog cat cat","fish bird", 'bird']
  13. cont = []
  14. #实例化一个模型
  15. cv = CountVectorizer(ngram_range=(1,2)) #统计每篇文章中每个词出现的频率次数
  16. #训练此模型
  17. cv_fit=cv.fit_transform(texts)#每个词在这篇文章中出现的次数
  18. print(cv_fit)
  19. # 打印出模型的全部词库
  20. print(cv.get_feature_names())
  21. #打印出每个语句的词向量
  22. print(cv_fit.toarray())
  23. # #打印出所有数据求和结果
  24. # print(cv_fit.toarray().sum(axis=0))

输出的结果如下图:

 

 

三、总结 

CountVectorizer是一个简单而强大的文本特征提取工具,它能够将文本数据转换成数值形式,以便于机器学习算法的处理。根据具体的任务和需求,你可以根据上述参数进行配置,以获得最佳的特征表示。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/361079
推荐阅读
相关标签
  

闽ICP备14008679号