本文为下述视频的笔记:
【论文复现代码数据集见评论区】5小时精讲 Paper,BAT大厂导师带你吃透NLP自然语言处理的经典模型Word2vec_哔哩哔哩_bilibili
论文:
目录
1. 词向量储备知识
语言模型
2. 论文模型导读
词的表示 word representation
发展历程
研究成果
研究意义
论文总览
摘要
介绍 Introduction
Word2Vec 评价方法
3. 前人提出的相关模型及其复杂度
NNLM 前馈神经网络语言模型
RNNLM 循环神经网络语言模型
4. 模型精讲
skip-gram
cbow
5. 效率提高的关键技术
层次softmax
负采样 (效果更好)
6. 实验及结果
概念:语言模型是计算一个句子是句子的概率的模型
基于专家语法规则的语言模型:语言学家企图总结出一套通用的语法规则,比如形容词后面接名词
统计语言模型:通过概率计算来刻画语言模型
用语料的频率代替概率 N表示语料中不去重词的总数 N1代表1个词,N2代表连续的2个词
N2=N1-1
因为count(wi-1) >= count(wi-1,wi),所以P的值处于0到1 之间
统计语言模型中的平滑操作:有一些词或者词组在语料中没有出现,但是不代表它不存在。平滑操作就是为那些没有出现过的词或词组也给一个比较小的概率。
Laplace Smoothing (或 加1平滑):每个词在原来出现次数的基础上加1
此时,
平滑操作的问题:参数空间过大;数据稀疏严重
假设语料库中没有“帅”和“桌子”,
语言模型评价指标:困惑度(Perplexity)
开n次方可以忽略句子的长短,长句出现的概率相对较小
句子概率越大,语言模型越好,困惑度越小
one-hot representation (独热表示):
衡量词向量之间的相似程度
词类比analogy
作为预训练模型提升nlp任务:外部任务如命名实体识别、文本分类;应用到其他nlp任务上,相当于半监督训练(减少过拟合,提高模型的泛化程度)
摘要核心:
论文小标题:
1. Introduction
n-gram: 根据前n-1个单词,预测第n个位置单词的概率
输入层: 输入每个单词的index,将每个index映射成一个向量,相当于一个1XV的one-hot向量乘以一个VXD的矩阵(该矩阵随机初始化,后续通过训练来更新)得到一个1XD的向量,然后将这些向量concat成一个向量
隐藏层:一个以tanh为激活函数的全连接层
输出层:一个全连接层,后面接一个softmax函数(将每个数归一化成0到1之间的数,并且这些数相加为1)来生成概率分布。,其中y是一个1XV的向量:
语言模型困惑度和Loss的关系:
如何改进/改进方向:
每个时间步预测一个词,在预测第n个词的时候使用了前n-1个词的信息
输入层:和NNLM一样,需要将当前时间步的单词转换为词向量
隐藏层:对输入和上一个时间步的隐藏输出进行全连接层操作:
输出层:一个全连接层,后面接一个softmax函数(将每个数归一化成0到1之间的数,并且这些数相加为1)来生成概率分布。,其中y是一个1XV的向量:
Log-linear model: 将语言模型的建立看成一个多分类问题,相当于线性分类器加上softmax
语言模型的基本思想:句子中下一个词的出现和前面的词是有关系的,所以可以使用前面的词预测下一个词
Word2Vec基本思想:句子中相近的词之间是有联系的,比如今天后面经常出现上午、下午和晚上。所以Word2Vec基本思想就是用词来预测词,skip-gram使用中心词预测周围词,cbow使用周围词预测中心词
skip-gram原理:看作多分类问题input:wi,label:wi-1,wi-2,wi+1,wi+2
word2vec原理(二) 基于Hierarchical Softmax的模型 - 刘建平Pinard - 博客园
word2vec原理(三) 基于Negative Sampling的模型 - 刘建平Pinard - 博客园