当前位置:   article > 正文

文本向量化(理论篇)

bow是离散表示嘛

本文介绍常见的文本表示模型,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模型假定对于一个文档,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立

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

闽ICP备14008679号