在使用python sklearn.feature_extraction.text的CountVectorizer时,发现会自动剔除掉单字的中文和只有一个字母的英文。

#CountVectorizer convert a collection of text documents to a matrix of token counts
from sklearn.feature_extraction.text import CountVectorizer
vectorizer=CountVectorizer()
cor_test=["贵 磨脚 这么 磨脚 磨","20 元 运费","鞋面 皱 很 皱"]
vv=vectorizer.fit_transform(cor_test)
print(vv.shape)
(3, 5)
#获取所有词
words=vv.get_feature_names()
print(words)
['20', '磨脚', '运费', '这么', '鞋面'] #单字“贵”,“磨”,“元”,“皱”,“很”没有被计算出现次数corpus=['This is a document.', 'This is the a second document.', 'And the third one.', 'Is this the first document?']
v=vectorizer.fit_transform(corpus)
v.get_feature_names()
['and', 'document', 'first', 'is', 'one', 'second', 'the', 'third', 'this'] #单字母的“a”没有被计算出现次数

单字被自动剔除的原因:

token_pattern : string

Regular expression denoting what constitutes a “token”, only used if analyzer == 'word'. The default regexp select tokens of 2 or more alphanumeric characters (punctuation is completely ignored and always treated as a token separator).

CountVectorizer的参数token_pattern保留2个或2个以上字母数字字符的词。

那应该怎样定义token_pattern对应的正则表达式来保留单字呢?

对英文来说,可以设置vectorizer=CountVectorizer(token_pattern='\w{1,}')

对中文来说,可以设置vectorizer=CountVectorizer(token_pattern='[\u4e00-\u9fa5_a-zA-Z0-9]{1,}')   正则表达式匹配中文或数字或字母出现一次会更多次

但,还有一些情况的中文也会被自动剔除掉。

我在处理一份电商类的文本时,发现以下词出现在语料中,但是没有出现在CountVectorizer转换后的词中。

例如: 'CHN', 'XL', '88A', 'EMS', 'VIP', 'CD','大S', 'ID',  'T恤'等。

请教该怎么解决?非常感谢!

sklearn CountVectorizer 单字相关推荐

  1. 详解sklearn——CountVectorizer

    One-hot 这里的One-hot与数据挖掘任务中的操作是一致的,即将每一个单词使用一个离散的向量表示.具体将每个字/词编码一个索引,然后根据索引进行赋值. One-hot表示方法的例子如下: 句子 ...

  2. python中fit是什么意思_python – 在sklearn countvectorizer中fit_transform和transform之间有什么区别?...

    我刚开始学习随机森林,所以如果这听起来很愚蠢我很抱歉 使用vectorizer.fit_transform("清洁评论列表*上的*") 现在当我们在火车评论上准备一堆单词数组时,我 ...

  3. sklearn——CountVectorizer详解

    https://blog.csdn.net/liuerin/article/details/91492708

  4. Python文本特征提取 DictVectorizer CountVectorizer TfidfVectorizer 附代码详解

    文章目录 DictVectorizer 对使用字典储存的数据进行特征提取与向量化 CountVectorizer / TfidfVectorizer 处理无特殊数据结构存储的数据 词袋模型(Bag o ...

  5. 【NLP自然语言处理】文本特征提取

    目录 1.文本表示方法: 2.Count Vecotrs(Bag of Words词袋模型) 3.TF-IDF模型 3.1 jieba 下载结巴 : 使用结巴进行分词 3.2TF-IDF提取文本特征实 ...

  6. 数据挖掘#金融风控总结

    作为本科某财经211出身的一只程序媛,大学期间的两份实习都是在金融科技公司做金融风控方向的数据分析与挖掘.一年多后的今天,借着知识梳理的机会,稍微总结回忆下接触到的金融风控知识. 第一份实习A是在大三 ...

  7. 亚马逊商城评论数据分析与可视化(KNN预测评分,绘制云图)

    目录 1.项目源码 2.数据部分 2.1.数据说明 2.2.数据预处理 2.3.文本清理 3.文本特征提取 4.KNN分类器寻找相似产品 5.基于聚类的词关联 1.项目源码 可在github下载: h ...

  8. Rasa特征提取之CountVectorsFeaturizer

    Rasa特征提取之CountVectorsFeaturizer rasa\nlu\featurizers\sparse_featurizer\count_vectors_featurizer.py t ...

  9. 自然语言处理 特征提取

    文章目录 1. 基本文本处理技能 1.1 分词 1.1.1 分词的正向最大匹配 1.1.2 分词的反向最大匹配 1.1.3 分词的双向最大匹配 1.2 字符和词频统计 2. 语言模型 2.1 语言模型 ...

最新文章

  1. 微软重新释出MS10-015 解决蓝屏问题
  2. HTML marquee标签详解
  3. 第三周项目5-数组作数据成员
  4. 第6讲 | 理解区块链之前,先上手体验一把数字货币
  5. 重学数据结构007——二叉查找树
  6. 蜂鸟开发板 linux,蜂鸟E203系列——Linux下运行hello world例程
  7. 实用必备xp框架模块_两款实用工具类软件,是你的日常必备!
  8. js 多个定时器_Node.js系列深入浅出Node模块化开发——CommonJS规范
  9. vue用阿里云oss上传图片使用分片上传只能上传100kb以内的解决办法 1
  10. python数学竞赛名次_如何让孩子在数学竞赛中取得好名次
  11. 汇编语言教程 -- out,in
  12. UCOSIII---工程移植
  13. android 模拟器创建,Android模拟器的建立以及HelloWorld的编写
  14. Error occurred during initialization of VM 解决
  15. C语言常见问题(9):Value stored to ret is never read
  16. 企业微信之微信接收消息(“暂不支持此消息类型”解决方案)
  17. 化工厂人员定位应考虑哪些因素?
  18. 开源DirectShow分析器和解码器: LAV Filter
  19. 亲身经历灵魂附体与出马仙之说
  20. 信息学奥赛一本通 1081:分苹果 | OpenJudge NOI 小学奥数 7826:分苹果

热门文章

  1. linux查看无线网卡的信息
  2. Qt开发技术:Q3D图表开发笔记(一):Q3DScatter三维散点图介绍、Demo以及代码详解
  3. R语言树轮数据可视化二——以contour图展示
  4. MMI SS USSD扫盲贴
  5. 解决kafka 消息堆积问题的排查及调优
  6. php有strock吗,HTML中stroke是什么意思?
  7. RF功率放大器简谈之输出功率
  8. 2004年的魔幻巨片,《范海辛》Van Helsing
  9. Javascript 基础知识学习
  10. 相位解包裹(八)多频外差法相位解包裹Multi-wavelength(heterodyne) phase unwrapping