词嵌入-----让算法自动的理解一些类似的词(给一些名词起他上一层的名字,看他们到上一层名字的距离)
one-hot的缺点:任何两个one-hot的向量内机为0,无法知道他们的联系和差别,故用特征化的表示来表示每个词,学习这些词的特征和数值
词嵌入可视化------把高维的词嵌入数据嵌入到一个二维空间里,这样就可以可视化了。常用的可视化算法是t-SNEs算法
使用词嵌入做迁移学习
①:从大量的文本集中学习词嵌入
②:用这些词嵌入模型把他迁移到新的只有少量标注训练集的任务中
③:
词嵌入的特性–类比推理
嵌入矩阵
目标:学习一个嵌入矩阵E。E乘以one-hot向量会得到嵌入向量。
学习词嵌入
建立一个语言模型是学习词嵌入的好方法
1800是6个嵌入向量堆在一起得到的
固定的历史窗口:看预测词的前k个词(k为超参数)
Word2Vec算法----学习一个神经语言模型来得到更好的词嵌入
目标:想要使用这个学习问题来学到一个好的词嵌入模型
困难:分母基数太大
解决:分级的softmax和负采样
分级的softmax
构建平衡树。采用不同的分级来平衡更常见的词和不那么常见的词,这就解决了Skip-Gram的缺点
Skip-Gram和CBOW对比
负采样
生成训练集的方法:
学习从x影射到y的监督学习模型:
负采样:有一个正样本orange和juice,然后会特意生成一系列负样本,所以叫负采样,即用四个负样本训练4个额外的二分类器,在每次迭代中选择4个不同的随机的负样本词去训练算法。
Glove词向量(对比skip-Gram和CBOW)
情感分析(餐饮评价)
求和或者求平均(嵌入矩阵法)
用RNN网络(考虑词序)
词嵌入除偏
偏见:人们在实际中存在的歧视被计算机学习到,但是在训练之后要除去
如图
步骤
1.辨别出想要减少或想要消除的特定偏见的趋势
2.中和步骤
3.均衡步