CBOW词向量模型

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

输出层

赫夫曼编码:左边记 为1,右边记为0 分类:分到左边为负 类,右边为正类
被分为正类的概率用 下式表示
对于“足球”这个叶子节点来说,经历了4次二分类 赫夫曼编码为1001
对于词典中的任意词w,赫夫曼树中必定存在一条从根节点到 其对应的叶子节点的一条路径,每个节点都有两个分支,可以 看成是一个二分类问题,将每一次分类所产生的概率相乘,得 到了最终的词w在上下文中的概率。 因此,条件概率Fra Baidu bibliotek(w|Context(w))的一般公式为
参数初始化

其中

得到的对数似然函数如下
用随机梯度下降法可以得到

CBOW模型更新参数的伪代码
若干源码细节



词典的存储
由于需要根据词的内容确定其对应的赫夫曼编码和获得该词的 词频,因此会有在词典中查找某个词的操作。 为了节省查找时间,将词典用哈希表进行存储。
低频词和高频词
Bengio提到的未来工作
他提出可以将条件概率用树结构进行表示,其中树的每个节点 表示在当前上下文下对词进行一次分类的概率,叶子节点表示 词在上下文下的条件概率。
CBOW模型
输入层:包括当前词t前面的c个词 以及当前词后的c个词 映射层:将输入层的若干词向量相 加 输出层:输出层是一个树结构,以 语料库中出现的词作叶子节点
对于低频词就是将词频小于某个值的词去掉,不参加训练。
对于高频词,以一定的概率确定其是否参与某一次训练。概率 的确定如下
其中
自适应学习率
学习率的计算公式如下
其中word_count_actual表示当前已训练的词数, train_words表示总词数。
学习率也不能过小,在小于某个值时就不再变化。
CBOW模型简介及若干源码细节
目录
神经网络语言模型 CBOW模型简介 若干源码细节
神经网络语言模型
神经网络语言模型即是用神经网络模型训练词向量,使生成的 词向量能够捕获语义信息,如语义相近的词它们的词向量也相 似。
一种比较常见的模型,其输入是某个词的上下文,输出为这个 词的概率,通过使这个概率最大进行参数的更新,其中参数包 括词向量。如Bengio提出的模型。
相关文档
最新文档