文本向量化(理论篇)

本文介绍常见的文本表示模型,One-hot、词袋模型(BOW)、TF-IDF、N-Gram和Word2Vec

一、离散表示
1、One-hot编码
2、词袋(BOW)模型
3、TF-IDF
4、N-Gram模型

二、分布式表示
1、共现矩阵
2、Word2Vec模型 

一、离散表示

1、One-hot编码

One-hot编码是非常用的方法,我们可以用One-hot编码的方式将句子向量化,大致步骤为:

  • 用构造文本分词后的字典
  • 对词语进行One-hot编码

John likes to watch movies. Mary likes too

John also likes to watch football games.

上面的两句话分词后可以构造一个字典,字典内容如下,字典的键是词语,值是ID

{
   "John": 1, "likes": 2, "to": 3, "watch": 4, "movies": 5, "also": 6, "football": 7, "games": 8, "Mary": 9, "too": 10}

我们可以根据ID值对每个词语进行向量化,用0和1代表这个词是否出现

# John
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
# too
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1]

用One-hot编码有明显的缺点

  • 维数过高。我们这里只有短短的2句话,每个词语已经是一个10维的向量了,随着语料的增加,维数会越来越大,导致维数灾难
  • 矩阵稀疏。利用One-hot编码的另一个问题就是矩阵稀疏,从上面也可以看到,每一个词向量只有1维是有数值的,其他维上的数值都为0
  • 不能保留语义。用这种方式得到的结果不能保留词语在句子中的位置信息, “我爱你” 和 “你爱我” 的向量化结果并没有什么不同。

2、词袋(BOW)模型

词袋模型(Bag-of-words model,BOW),BOW模型假定对于一个文档,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值