【文本挖掘】——文本信息化——词袋模型

  将文本信息数值化,从而便于建模。工欲善其事,必先利其器。在数据挖掘中,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。因此文档信息向量化决定模型的高度。

一、词袋模型:

1.One-hot

  在之前做纯数据挖掘时,我记得它叫独热编码,它的基本思想时将每个特征可能取到的值单独作为一个变量,该变量出现记为1,不出现记为0.
  在文本分析中,它是一种最早用于提取文本特征的方法,也很简单,与纯数据中一样,不考虑语法和语序地把文本简化成一系列独立的词的集合,对每个词进行编码,形成字典,用0/1表示某个词是否出现,从而将文本转化为一个数学上的特征向量,便于进一步建模分析。

举个栗子:

  “狗喜欢吃骨头”:{“狗”:1,“喜欢”:2,“吃”:3,“骨头”:4}这样经过分词和编码就形成了一个特征向量。当新的句子进来时候就会依照该字典对其0/1编码:“吃骨头”:[0,0,1,1]

2. One-hot=Bag of Words词袋模型

  形象的看,文本就是一个袋子,每个词毫无顺序的扔进袋子。为减小模型复杂度,可以不考虑词频,即使用词集模型Set of Words:它只包含词的集合,不包含词出现的频数,出现则为1,不出现则为0

优缺点:优点:可处理离散数据,且相当于扩充了特征
     缺点:没有考虑词之间的顺序关系;它的假设:词之间相互独立在很多情况下是不符合实际的;造成维数灾难,扩充后的特征是稀疏的,这无疑导致维数的爆炸式增长。

3.gensim实现词袋模型

   首先安装pip install genism

1.实现过程:分词、建立字典

  Genism中的Dictionary类可实现把所有单词建立一个集合,给每个单词分配一个id号,这样就建立了一个词对Id的映射。就像是建立了一本新华字典,在后面新过来一个句子时,就去字典里查,得出每个词对应的ID和它在这个句子中出现的次数。

Dictionary的部分属性:


在这里插入图片描述

#建立字典
from gensim.corpora import Dictionary
text=[['july','可爱','傻fufu','聪明','好可爱','精致','猪猪女孩']]
dc=Dictionary(text)
print("映射关系:",dc.token2id)
print(
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值