IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 学习笔记之word2vec -> 正文阅读

[人工智能]学习笔记之word2vec


前言

word2vec的目的是通过探索文字之间的关系,产出牛逼的词向量

一、连续词袋模型CROW 和跳字模型Skip-gram

1、定义字典D:w1、w2、。。。、wN。
2、定义 w_t的上下文context(w_t) = 序列 {w_t-c, …w_t-1,w_t+1, …,w_t+c} 序列长度为2c。
3、word2vec的两个世界观:上下文决定中心词(context(w_t) →w_t) 为CROW, 中心词决定上下文(w_t → context(w_t)) 为Skip-gram模型。
4、CROW模型的流程就是
step1 将context(w_t)经过方法v()映射成2c个m维的词向量;
step2 映射层将2c个m维的词向量相加成1个m维的词向量Xw (可以视为特征汇总、葫芦小金刚)
step3 将葫芦小金刚经过一层神经网络输出一个N维的向量
step4 N维向量softmax一下输出概率最高的就是预测的中心词
5、上述流程中N的维度通常很大,直接对N维向量softmax的复杂度太高O(N)。所以这里必须要引入简化的方法层序softmax和负采样方法。

二、层序softmax方法

1、层序softmax是为了解决直接对N维向量softmax复杂度过高的问题,因此利用哈夫曼树将计算复杂度从O(N)降低到O(logN)。
2、哈夫曼树是预先构建好的利用贪心算法以极小化编码数量的最优化编码树。这里是根据词频构建,词频越大的单词离根节点越近(词频最大的哈夫曼编码为0)。哈夫曼树是从下向上构建的一个二叉树,每一个叶子节点对应着一个单词。
3、我们用 p w p_w pw?代表单词 w w w的路径,每一个我们用 θ w \theta_w θw?代表路径上节点对应的参数(不含叶子节点),用 d w d_w dw?代表路径上节点的哈夫曼编码值(左子树为1,右子树为0,不含根节点)。
那么,已知中心词 w w w的上下文,以及语料库哈夫曼树。预测的中心词为w的概率
p ( w ∣ c o n t e x t ( w ) ) = ∏ p ( d w ∣ X w , θ w ) p(w|context(w)) = \prod p(d_w|X_w, \theta_w) p(wcontext(w))=p(dw?Xw?,θw?) 其中 X w X_w Xw?是映射层的特征向量,葫芦小金刚, θ \theta θ是随机初始化的 m m m维的参数。每一步路径选择0或者1的概率可以定义为:

p ( d w ∣ X w , θ w ) = { σ ( X w T θ w ) d w = 0 1 ? σ ( X w T θ w ) ? d w = 1 ? p(d_w|X_w, \theta_w) = \begin{cases} \sigma(X_w^{T}\theta_w)& \text{$d_w= 0 $} \\ 1-\sigma(X_w^{T}\theta_w)& \text{ $ d_w= 1$ } \end{cases} p(dw?Xw?,θw?)={σ(XwT?θw?)1?σ(XwT?θw?)?dw?=0?dw?=1??

接下来就可以极小化对数损失函数,也就是最大化对数似然函数。分别对 X w X_w Xw? θ w \theta_w θw?求偏导数,然后设定一个学习率更新两个参数。接下来可以根据链式法则更新 w w w的上下文词向量。最终我们的目标是学习语料库中所有单词的 m m m维词向量编码。
4、基于层次softmax的跳字模型(skip-gram)几乎一致,有2点区别,第一,映射层这里和输入层是相等的都是中心词的词向量表示 v ( w ) v(w) v(w),第二,条件概率多了一层2c个的累乘(c是上下文窗口大小)。

三、负采样方法

1、负采样算法。首先根据语料库中每个词的词频为权重画一条长度为1的线段,也就是建立一个带权的不等距划分。再建立一个精度足够的等距划分。在等距划分中随机采样N个样本,属于哪个不等距划分的区间就能对应出语料库中的一个单词。这么做的目的是让抽样更符合语料库中词语的分布。
2、利用负采样抽样出的样本作为负样本和唯一真中心词作为正样本组合出新的语料库。进行训练,可以大大减小计算量。

总结

Word2vec的目的是通过对上下文和中心词的关联关系的学习和训练得到一个包含语义的词向量。这里的词向量的特点是同义词一般相距比较近。业务中尽量使用业务场景比较近的预料进行与训练。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-20 15:47:40  更:2021-09-20 15:49:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:47:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码