word embedding系列(一)背景知识

本文介绍了词向量的基础知识,包括one-hot编码的问题、稠密词向量的优势以及统计语言模型和神经网络语言模型(NNLM)的概念。文章通过NNLM的结构解释了词向量的学习过程,指出其在计算上的挑战,预示了word2vec的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一系列是去年更新在公众号上的,本篇的公众号链接:word embedding系列(一)背景知识

欢迎关注我的公众号,微信搜 algorithm_Tian 或者扫下面的二维码~

现在保持每周更新的频率,内容都是机器学习相关内容和读一些论文的笔记,欢迎一起讨论学习~


word embedding范围非常广泛,内容很多,所以先从基础的背景知识讲起。这个系列准备分为四部分:

一、背景知识,也就是本篇文章啦

二、word2vec

三、fasttext

四、Wsabie和TagSpace


目录

1.词向量

2.统计语言模型

3.神经网络语言模型NNLM


1.词向量

最初的词向量是one-hot形式的向量,即只有单词所在的那一维是1,其他维都是0,向量长度和词汇表大小一样。缺点显而易见,容易造成维度灾难,并且对词语之间的语义关系起不到任何表达作用。

于是后来就有人提出用稠密实数向量来表示词语,如下图所示:

 

这样可以被计算机理解,如果能找到比较好的映射方法,那么能够很好地表示语义相关性。学习出来的word embedding每一维度不会像图中所示一样具有特定的意思。

如果将词向量降维成2维画散点图,有

可以看到,虽然是不同的语言体系,可是相同语义的词语分布形式是基本一致的


2.统计语言模型

一个文本W的概率为P(W),W表示由T个词wi按顺序构成的一个句子:

利用贝叶斯公式可以被分解为下式,,w的上下标意思是从下标位置的词到上标位置的词组成的文本

利用大数定理可以将概率近似为词语出现的频率

利用最大似然可以将目标函数设为下式,

context(w)表示模型定义词语w的相关语料,比如ngram就是w的前序文本,word2vec是上下文。

在实际中经常采用最大对数似然,也就是:


3.神经网络语言模型NNLM

图中是NNLM的结构图,输入层(input+projection layer)、隐藏层和输出层。

它的输入是词的context中的词初始化的词向量,输出y每一维是词汇表中每个词的未归一化的log概率而不是词向量。

网络每一层的计算和输出如公式所示

目标函数是让词w的概率最大化

利用梯度上升来求解

这里需要更新的参数是

梯度上升过程中,将词向量也视为参数,进行更新。于是训练后能同时得到词向量和网络中的权重。

它的缺点很明显,从隐藏层到输出的softmax层的计算量很大,因为要计算所有词的softmax概率。

下一篇中要介绍的word2vec方法就比较机智的提出了两种替代隐层的方法,大大降低了计算量。


最后再来一波~

欢迎关注我的公众号,微信搜 algorithm_Tian 或者扫下面的二维码~

现在保持每周更新的频率,内容都是机器学习相关内容和读一些论文的笔记,欢迎一起讨论学习~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值