自然语言处理——词向量词嵌入

Posted xingzhelin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自然语言处理——词向量词嵌入相关的知识,希望对你有一定的参考价值。

1 ??传统方式的缺点

??使用索引的方式无法表达词之间的相似性,n元模型在很多场合难以取得明显的进步和表现

2??CBow连续词袋模型(周围词预测中心词)、SkipGram 中心词预测周围词

技术图片

3 ??参考知识点

霍夫曼树

给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)

设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:

(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);

(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;

(3)从森林中删除选取的两棵树,并将新树加入森林;

(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。

技术图片

负采样

4 ??参考文章

  1. Word2Vec Tutorial - The Skip-Gram Model
  2. Efficient Estimation of Word Representations in Vector Space(original word2vec paper)
  3. Distributed Representations of Words and Phrases and their Compositionality (negative sampling paper)
  4. word2vec Parameter Learning Explained

文章笔记:Efficient Estimation of Word Representations inVector Space

阅读摘要:

  1. 数据集16亿词汇量,语法和语义相似性方面达到领先水平
  2. NNLM(已经有很多研究)
  3. 单词的连续线表示方式:LSA,LDA(大型数据集对算力需求非常庞大)
  4. 比较不同模型结构的策略:计算复杂度-参数量,最大化准确率,最小化计算复杂度
  5. 模型训练复杂度定义为O=E(训练迭代次数) x T(训练集词汇量) x Q(根据模型结构定义)
  6. NNLM网络结构由输入(N个前面的单词one-hot)、映射层(NXD)、隐藏层、输出层
  7. 使用霍夫曼树降低计算复杂度,DistBelief分布式训练(CPU)以及Adagrad自适应异步学习率
  8. 从论文提供的结果来看貌似Skim-gram在大多数情况下优于Cbow

文章笔记:Distributed Representations of Words and Phrasesand their Compositionality

阅读摘要:

  1. 使用负采样,加速2-10倍,以及提高精度
  2. 使用NCE加速训练以及更高质量的词向量
  3. 使用向量来表示短语(比单个单词节省空间,且应该更加有效)
  4. 对词向量使用简单的数学运算能获得某些不明显的语义上的理解
  5. 直接使用softmax计算不太实际(词汇量太大会导致计算复杂度极高)
  6. 使用霍夫曼树的只需评估log2(W词汇量)个节点

以上是关于自然语言处理——词向量词嵌入的主要内容,如果未能解决你的问题,请参考以下文章

NLP⚠️学不会打我! 半小时学会基本操作 4⚠️词向量模型

NLP⚠️学不会打我! 半小时学会基本操作 7⚠️ Word2vec 电影影评建模

NLP⚠️学不会打我! 半小时学会基本操作 7⚠️ Word2vec 电影影评建模

第九篇:分布式语义

第九篇:分布式语义

电影影评的自然语言处理方法介绍