自然语言处理(NLP)之词嵌入(word embedding)

词嵌入(word embedding) 是在自然语言处理中广泛使用的一个手段,在概念上而言,是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中(降维思想),每个单词或词组(甚至更粗粒度,如文档)被映射为实数域上的向量。(将词转化为计算机能够处理的数值向量)
即:f(x)–>y [其中x为非数值的词,y为实数域上的一个向量]

一.NLP的几种词的表示方式
1.one-hot representation(独热表示):思想比较简单,即对于有n个不同词的集合,建立一个长度为n的一维向量,对每个词,其向量都只有一个1且位置唯一不共享,其余均为0。

例如:语料库中词为:我,你,他;则词的总数量为n=3
则建立一维向量:我=[1,0,0],你=[0,1,0],他=[0,0,1]

其实现较为简单方便,但存在一些处理时的缺点:
(1)向量的维度会随着词的数量类型增大而增大,对于一个庞大的语料库,这可能是内存无法承受的。
(2)任意两个词之间都是相互孤立的,无法表示在语义层面上词之间的相关信息。这对于一些NLP的处理任务来说是极大的缺点。

2.distributed representation(分布式表示):这里面又有很多种表示方法,包括人工神经网络、对词语同现矩阵降维、概率模型以及单词所在上下文的显式表示等,核心是通过上下文的表示以及上下文与目标词之间的关系的建模。

二.word embedding
词向量,或词嵌入,一般来说主要讲基于神经网络得到的分布表示。
其主要优点为:
(1)在维度较小的实数域上的词表示弥补了one-hot编码的巨大维度问题,实现了数据降维;
(2)可以通过相似的向量表示得到词之间存在的相似关系。

三.词嵌入的几种实现
词嵌入的提出已经有一段历史了,随着时间的推移不断有新的模型出现。
CBOW( Continuous Bagof-Words,连续词袋模型),其通过上下文来预测当前词;
Skip-gram 模型,功能恰恰相反,其从当前词得到上下文。
在这里插入图片描述之后,google的托马斯·米科洛维借助类似的思想得到的著名的Word2vec、Stanford University的GloVe和Deeplearning4j模型都具有很好的词嵌入效果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值