统计一行文本的单词个数pta_15-NLP文本预处理总结(BOW、TF-IDF、word2vec)

NLP训练数据都是中文,不能直接喂传统机器学习模型,此时我们需要将中文文本数字化。如何将文本数字化是NLP领域的基础工作,也是多数任务的第一步。文本数字化的技术大致分为向量空间模型和文本的分布式表示。下面我将详细介绍这两种技术。1 向量空间模型向量空间模型要做的事情就是将一行文本转换为一个向量。其中典型的技术有词袋模型、TF-IDF(词频逆文档频率)模型。1.1 词袋模型(bag of words...
摘要由CSDN通过智能技术生成

58531ad1f92083152875dfd3196bbbd5.png

NLP训练数据都是中文,不能直接喂传统机器学习模型,此时我们需要将中文文本数字化

如何将文本数字化是NLP领域的基础工作,也是多数任务的第一步。文本数字化的技术大致分为向量空间模型文本的分布式表示。下面我将详细介绍这两种技术。

1 向量空间模型

向量空间模型要做的事情就是将一行文本转换为一个向量。其中典型的技术有词袋模型、TF-IDF(词频逆文档频率)模型。

1.1 词袋模型(bag of words,BOW)

(1)简介

该模型忽略掉文本的语法和语序等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的。它不考虑句子中单词的顺序,只考虑词表(vocabulary)中单词在这个句子中的出现次数向量中每个位置的值为该编码对应的词在这段话中出现的次数。

与词袋模型非常类似的一个模型是词集模型(Set of Words,简称SoW),和词袋模型唯一的不同是它仅仅考虑词是否在文本中出现,而不考虑词频。也就是一个词在文本在文本中出现1次和多次特征处理是一样的。在大多数时候,我们使用词袋模型

大部分的文本都只会使用词汇表中的很少一部分的词,因此我们的词向量中会有大量的0。也就是说词向量是稀疏的。在实际应用中一般使用稀疏矩阵来存储。

向量的维度根据词典中不重复词的个数确定

向量中每个元素顺序与原来文本中单词出现的顺序没有关系,与词典中的顺序一一对应

向量中每个数字是词典中每个单词在文本中出现的频率---即词频表示

https:// blog.csdn.net/u01232815 9/article/details/84719494 人类身份验证 - SegmentFault​segmentfault.com

(2)代码

(i)实现方式1 : 只要在词典中出现的词,无论出现多少次,在BOW向量中都只算成1次,未出现的词算0次,然后根据词典构造只有0/1的向量。

代码使用scikit-learn官方文档中的API实现:

from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer(binary=True)
<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值