[学习笔记]词向量模型-Word2vec

参考资料:
【word2vec词向量模型】原理详解+代码实现
NLP自然语言处理的经典模型Word2vec

论文背景知识

词的表示方法

One-hot Representation:独热表示

简单,但词越多,向量越长。且无法表示词与词之间的关系。

论文储备知识-pre-knowledge

语言模型的概念

语言模型是计算一个句子是句子的概率的模型。(语法和语义上)

语言模型的发展

基于专家语法规则的语言模型

语言学家企图总结出一套通用的语法规则,比如形容词后面接名词等。

统计语言模型



有些词可能没出现在语料中,或者短语太长了。所以概率为0。为了解决这个问题,下面提出统计语言模型中的平滑操作

统计语言模型中的平滑操作

但这只解决了词的概率。

为了解决参数空间过大的问题,引入马尔可夫假设。

语言模型的评价指标

每个领域都有自己的评价指标。

语言模型可以看成是多分类问题

开n次方根是为了避免长句子的概率比小句子概率小,导致评价偏颇

对比模型

NNLM

语言模型是无监督的,不需要标注语料。

输入层

能不写成循环,写成矩阵就写成矩阵。能降低复杂度。

隐藏层

输出层

Loss

batchsize是一种tradeoff

由于句子长度不一,所以要补pad,但是最后要去掉

RNNLM


word2vec

多分类下的逻辑回归模型也是Log线性模型。

下面的skip-gram和cbow也都是Log线性模型。

word2vec的原理

skip-gram



cbow

词袋模型,忽略词的顺序。


关键技术

需要降低softmax的复杂度。

层次softmax

将softmax计算转化为求sigmoid的计算

写成二叉树的结构


skip-gram中的层次softmax


cbow中的层次softmax

与skip-gram的层次softmax的区别是u0是上下文词向量avg

skip-gram只有一组完整的中心词向量,没法像之前一样将中心词向量和周围词向量相加求平均

cbow只有一组完整的周围词向量

负采样

思想:将多分类转化为二分类问题。

负采样效果比层次softmax要好。

一般采样3-10个负样本

skip-gram负采样


重要的词往往出现的频率比较小,不重要的词往往出现的频率比较高

CBOW负采样

重采样



模型复杂度

不同模型的E和T认为一样,所以下面用Q来代表模型复杂度。

NNLM

用层次softmax,V*H会变成 l o g 2 V ∗ H log_2V*H log2V∗H

RNNLM

Skip-gram

skip-gram负采样

CBOW

比较

相关推荐
一个人旅程~36 分钟前
虚数与量子迷踪
经验分享·笔记·微信·电脑·量子计算
前端小趴菜~时倾36 分钟前
自我提升-python爬虫学习:day04
爬虫·python·学习
淮北4948 小时前
vim学习进阶
学习·编辑器·vim
智者知已应修善业9 小时前
【proteus中lm339电压滞回比较器达到三角波转换成方波】2023-4-13
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
551只玄猫9 小时前
新编大学德语1第三版笔记 第5课Essen und Trinken
笔记·学习笔记·德语·外语·德语a1·自学德语·新编大学德语
sayang_shao9 小时前
ARM架构运行模式学习笔记
arm开发·学习·架构
不只会拍照的程序猿10 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
happymaker062611 小时前
web前端学习日记——DAY04
前端·学习
solicitous12 小时前
遇到一个口头机遇
学习·生活
观书喜夜长14 小时前
大模型应用开发学习-基于 LangChain 框架实现的交互式问答脚本
python·学习