探索词义和词向量
B站视频地址 https://www.bilibili.com/video/BV1s4411N7fC?p=2
词向量表示
复习下上一篇文章中的词向量https://www.jianshu.com/p/a0755b865dd9
词向量是每个单词对应的稠密向量表示,是从稀疏的表示之中转换而来。
每个词向量的表示都包含两部分和
优化算法
使用优化算法最小化前一篇文章提到的损失函数。
梯度下降
使用来表示下降速度
随机梯度下降
因为梯度下降里是使用了全部数据集的计算结果,但数据集非常庞大时,使用全部数据集就很耗时,所以将大的数据集分为一个个bitch,来进行训练,可以加快训练的速度。
这种方式叫做随机梯度下降SGD
词向量和随机梯度下降
因为在训练词向量时,使用的输入是稀疏矩阵。所以在运算时会包含很多的0,。这个时候如果像正常的稠密矩阵进行梯度更新的话,会存在很多的无效更新。所以在词向量的训练上,可以在更新梯度时只更新输入非0的维度,减少同一时间的运算数量,减少内存使用加快更新速度。
两个主要算法
Skip-grams(SG)算法
给定中心词去预测outside词
Continuous Bag of Words(CBOW)
给定context词,预测中心词
HW2-负采样(Negative Sampling)
由于使用了softmax进行计算概率,但是如果词空间较大时,计算成本较高。
所以使用一种二元回归模型,将中心词和上下文词给一个比较高的权重,其他的噪音词汇给较低的权重。然后去最大化目标
使用sigmod去使用单个的概率替换softmax,比softmax的计算量要小。对于中心词和上下文词,最大化
对于随机采样的噪音词汇,最小化。
通过对采样算法的控制,可以提高低频词汇被采样的概率,提高对低频词汇的训练性能。
基于窗口的计数统计
特点
- 随词空间大小而增长
- 维度非常高
- 里面的大部分空间是稀疏的
- 健壮性和输入的词空间大小有关
降维
SVD,奇异值分解
变种
COALS 模型
- 加权采样
- 设置频率上限
- 使用相关性代替计数
计数统计和概率预测的对比
计数 | 预测 | |
---|---|---|
代表模型 | LSA, HAL / COALS, Hellinger-PCA | Skip-gram/CBOW, NHLM, HLBL, RNN |
训练速度快 | 依赖语料库大小 | |
统计学的有效应用 | 在统计学上不具备有效性 | |
擅于捕捉词的相似性 | 在其他任务上也可以改进生成性能 | |
计数的大小和重要性不成比例 | 可以捕捉词的复杂相似性 |
使用共现频率来作为概率的权重和目标
GloVe,假设是共现矩阵,则可以根据共现矩阵的定义,如果词向量的值符合预期的话,那么,通过词向量出的共现概率应该接近于共现矩阵。
函数是一个类似于,存在上下限,避免高频词汇的扰动。
如何评估词向量
内在评估
- 评估一个特定中间的子任务
- 计算速度
- 帮助理解系统
- 在真实统计简历前,无法确定是否真的有效
外在评估
- 评估真实任务
- 可以花大量事件计算准确率
- 使用一个更好的子系统替换,就会提高性能
网友评论