网站建设解决方案ppt,wordpress默认用户头像,网站建设 模版,长沙装修公司哪家好文章目录1. 词汇表征2. 使用词嵌入3. 词嵌入的特性4. 嵌入矩阵5. 学习词嵌入6. Word2Vec7. 负采样8. GloVe 词向量9. 情感分类10. 词嵌入除偏作业参考#xff1a;吴恩达视频课深度学习笔记自然语言处理与词嵌入 Natural Language Processing and Word Embeddings
1. 词汇表征…
文章目录1. 词汇表征2. 使用词嵌入3. 词嵌入的特性4. 嵌入矩阵5. 学习词嵌入6. Word2Vec7. 负采样8. GloVe 词向量9. 情感分类10. 词嵌入除偏作业参考吴恩达视频课深度学习笔记自然语言处理与词嵌入 Natural Language Processing and Word Embeddings
1. 词汇表征
词嵌入word embeddings这是语言表示的一种方式可以让算法自动的理解一些类似的词比如 男人对女人比如 国王对王后
one-hot 向量来表示词缺点它把每个词孤立起来算法对相关词的泛化能力不强每两个词之间的向量内积都是0 2. 使用词嵌入 用词嵌入做迁移学习的步骤 从大量的文本集中学习词嵌入。或者下载网上预训练好的词嵌入模型 用词嵌入模型把它迁移到你的新的只有少量标注训练集的任务中 例如用这个300维的词嵌入来表示你的单词代替原来的10000维的one-hot向量 新的任务训练模型时你可以选择要不要继续微调用新的数据调整词嵌入。实际中只有第二步中有很大的数据集你才会这样做如果数据集不是很大通常不会在微调词嵌入上费力气你的数据很小微调词嵌入效果也不明显
词嵌入 在语言模型、机器翻译领域用的少一些因为这些任务你有大量的数据可用于训练不必使用迁移 人脸识别中的人脸Encoding算法未来可能涉及到海量的人脸照片 而自然语言处理 有一个固定的词汇表 embedding而像一些没有出现过的单词我们就记为 未知单词UNK 总结 用词嵌入来实现迁移学习抛弃原来的one-hot表示而是用之前的嵌入的向量你的算法会泛化的更好你也可以从较少的标记数据中进行学习
3. 词嵌入的特性 找到一个单词 w:argmaxSimilarity(ew,eking −emanewoman )w : \operatorname{argmax} \operatorname{Similarity}\left(e_{w}, e_{\text {king }}-e_{\operatorname{man}}e_{\text {woman }}\right)w:argmaxSimilarity(ew,eking −emanewoman )
通过这种方法来做类比推理准确率大概只有30%~75%
还有余弦相似度夹角
sim(u,v)cos(θ)uTv∣u∣∣2∣∣v∣∣2\operatorname{sim}(u, v) cos(\theta) \frac{u^{T} v}{\left.|u|\right|_{2}|| v||_{2}}sim(u,v)cos(θ)∣u∣∣2∣∣v∣∣2uTv
4. 嵌入矩阵 我们的目标是学习一个嵌入矩阵。
我们将随机地初始化矩阵然后使用梯度下降法来学习这个300×10000的矩阵中的各个参数然后取出你需要的列
5. 学习词嵌入 如果想建立一个语言模型用目标词的前几个单词作为上下文是常见做法
如果你的目标是学习词嵌入那么你就可以用这些其他类型的上下文下图所示也能得到很好的词嵌入
6. Word2Vec p(t∣c)eθtTec∑j110,000eθjTecp(t \mid c)\frac{e^{\theta_{t}^{T} e_{c}}}{\sum_{j1}^{10,000} e^{\theta_{j}^{T} e_{c}}}p(t∣c)∑j110,000eθjTeceθtTec
L(y^,y)−∑i110,000yilogy^iL(\hat{y}, y)-\sum_{i1}^{10,000} y_{i} \log \hat{y}_{i}L(y^,y)−i1∑10,000yilogy^i
为了解决 softmax 对分母求和很慢的问题
采用 分级hierarchical的softmax分类器、负采样Negative Sampling 如果对上下文进行随机均匀采样像 the、of、a、and、to 之类出现得相当频繁于是你会发现你的上下文到目标词的映射会相当频繁地得到这些种类的词。
实际上词 p(c)p(c)p(c) 的分布并不是单纯的在训练集语料库上均匀且随机的采样得到的而是采用了不同的分级来平衡更常见的词和不那么常见的词
以上就是 Word2Vec 的其中一种 Skip-Gram 模型另一个叫做CBOW即连续词袋模型Continuous Bag-Of-Words Model它获得中间词两边的上下文然后用周围的词去预测中间的词这个模型也很有效
总结下CBOW是从原始语句推测目标字词而Skip-Gram正好相反是从目标字词推测出原始语句。 CBOW对小型数据库比较合适而Skip-Gram在大型语料中表现更好 7. 负采样
构造一个新的监督学习问题就是给定一对单词比如orange和juice要去预测这是否是一对上下文词-目标词context-target 选取负样本采用经验分布
P(wi)f(wi)34∑j110,000f(wj)34P\left(w_{i}\right)\frac{f\left(w_{i}\right)^{\frac{3}{4}}}{\sum_{j1}^{10,000} f\left(w_{j}\right)^{\frac{3}{4}}}P(wi)∑j110,000f(wj)43f(wi)43
因为在softmax分类器中计算成本很高。本节我们学到了如何通过将其转化为一系列二分类问题使你可以非常有效的学习词向量。
当然网上也有别人预训练过的词向量你想要在NLP问题上取得快速进展去下载他人的词向量是很好的方法在此基础上改进
8. GloVe 词向量
GloVe代表用词表示的全局变量global vectors for word representation
对于GloVe算法我们可以定义上下文和目标词为任意两个位置相近的单词假设是左右各10词的距离那么 XijX_{ij}Xij 就是一个能够获取单词 iii 和单词 jjj 出现位置相近时或是彼此接近的频率的计数器
GloVe模型做的就是进行优化我们将他们之间的差距进行最小化处理 minimize∑i110,000∑j110,000f(Xij)(θiTejbibj′−logXij)2\operatorname{minimize} \sum_{i1}^{10,000} \sum_{j1}^{10,000} f\left(X_{i j}\right)\left(\theta_{i}^{T} e_{j}b_{i}b_{j}^{\prime}-\log X_{i j}\right)^{2}minimizei1∑10,000j1∑10,000f(Xij)(θiTejbibj′−logXij)2
9. 情感分类
情感分类一个最大的挑战就是可能标记的训练集没有那么多。
对于情感分类任务来说训练集大小从10,000到100,000个单词都很常见甚至有时会小于10,000个单词采用了词嵌入能够带来更好的效果泛化好尤其是只有很小的训练集时。 10. 词嵌入除偏
根据训练模型所使用的文本词嵌入能够反映出性别、种族、年龄、性取向等其他方面的偏见修改学习算法来尽可能减少或是理想化消除这些非预期类型的偏见是十分重要的
定位偏见中和减少两个词在某个轴上的距离均衡将两个词移至与中间轴线等距的一对点上
作业
作业词向量Emoji表情生成 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步