word embedding

词嵌入

词嵌入: 把词映射为实数向量的技术。NLP任务中,文本表示是第一步,即将文本转变为机器可以计算的数字表示–>将词映射为词向量。
早期的表示方法有:one-hot表示、词袋模型、TF-IDF、n-gram模型等。

离散表示

one-hot表示

即独热编码,其步骤为

  • 构造文本分词后的字典,每个分词是一个比特值,比特值为0或1
  • 每个分词的文本表示为该分词的比特位为1,其余为0的矩阵表示。
    在这里插入图片描述
    one-hot表示的缺点:
  • 随着语料库的增加,数据特征的维度会越来越大,产生一个高维度且稀疏的矩阵。
  • one-hot表示的词,其分词顺序和在句子中的顺序是无关的,不能保留词与词之间的关系信息。

词袋模型

即Bag-of-words model,像是句子或文件这样的句子可以用一个袋子装着这些词方式表示
文档的向量表示可以直接将各词的词向量表示加和。
在这里插入图片描述
词袋模型缺点:

  • 词向量化后,词与词之间存在大小关系,但一句话中出现次数多的词,其权重并不不一定大。
  • 词与词之间没有顺序关系。

TF-IDF

即词频-逆文档频率。其含义是一个词的重要程度随着其在文件中出现频率增加而增加,但随着其在文档(语料库)出现频率的增加而下降。也就是说,当一个词在该文件中出现频率越大,同时在语料库中出现频率越小,那么这个词就可以代表这个文件。
在这里插入图片描述
TF-IDF = TF * IDF
缺点: 没有把词与词之间的顺序关系表示出来。

n-gram模型

n-gram模型采用滑动窗口的形式进行分词,将n个单词作为一组,每后移一个词的长度,再次组成另一组词,将这些组词生成一个字典,按照词袋模型的方式进行编码。
在这里插入图片描述
n-gram模型考虑了词的顺序,但随着n的增大,词表成指数型膨胀。

离散表示存在的问题

  • 无法衡量词向量之间的关系
  • 词表的维度随着语料库的增长而膨胀
  • n-gram词序随语料库增长呈指数型膨胀,更加快
  • 离散数据来表示文本会带来数据稀疏问题,导致丢失信息。

分布式表示

用一个词附近的其他词来表示该词。

共现矩阵

共现矩阵,即共同出现,词文档的共现矩阵主要用于发现主题,用于主题模型,如LSA。
局域窗中的word-word共现矩阵可以挖掘语法和语义信息
在这里插入图片描述
存在的问题:

  • 向量维度随着词典大小线性增长
  • 存储整个词典的空间消耗非常大
  • 一些模型如文本分类模型会面临稀疏问题
  • 模型欠稳定,每一份新增的语料会带来稳定性的变化

神经网络表示

NNLM

神经网络语言模型,通过训练得到中间产物–词向量矩阵。
NNLM:定义一个前向窗口大小,将之前的词当作输入x,最后一个词当作预测值y,
其网络结构图:
在这里插入图片描述

  • input层是一个前向词的输入,是经过one-hot编码的词向量表示形式,具有V*1的矩阵。
  • C矩阵是投影矩阵,也就是稠密词向量表示,在神经网络中是w参数矩阵,该矩阵的大小为DV,正好与input层进行全连接(相乘)得到D1的矩阵,采用线性映射将one-hot表示投影到稠密D维表示。
  • output层(softmax)自然是前向窗中需要预测的词。
  • 通过BP+SGD得到最优的C投影矩阵,这就是NNLM的中间产物,也是我们所求的文本表示矩阵,通过NNLM将稀疏矩阵投影到稠密向量矩阵中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值