词向量-Question

1. 了解过哪些embedding技术?

  • one-hot vector

  • SVD Based Methods

    1. Word-Document Matrix
    2. Window based Co-occurrence Matrix


  • Iteration Based Methods

    1. Language Models(Unigrams, Bigrams, etc.)
    2. Continuous Bag of Words Model(CBOW)
    3. Skip-Gram Model(Skip-gram)

2. 计算相似度的方法?

  • 欧氏距离:
    dist(X,Y)=\sqrt{\sum_{i=1}^k|x_i-y_i|^2}
  • 余弦相似度:
    dist(X,Y)=\frac{\vec{A}·\vec{B}}{|\vec{A}||\vec{B}|}
  • Jaccard距离:
    Jaccard(X,Y)=\frac{A\cap B}{A\cup B}

3. tfidf有哪些优化方法?实现tfidf

词频(TF)=\frac{某个词在文章中的出现次数}{文章的总词数}\tag{3.1}
逆文档频率(IDF)=log(\frac{语料库的文档总数}{包含该词的文档数+1})\tag{3.2}
特征维度是词表维度。
https://www.cnblogs.com/lianyingteng/p/7755545.html

4. 基于SVD的方法有哪些?SVD分解的时间复杂度?

  • Word-Document Matrix

  • Window based Co-occurrence Matrix


  • Applying SVD to the cooccurrence matrix
    dimensions


5. skip-gram和CBOW有什么不同,哪个性能更好?

  • skip-gram:跳字模型,中心词预测上下文词。CBOW:连续词袋模型,上下文词预测中心词。
  • skip-gram:一般使用跳字模型的中心词向量作为词的表征向量。CBOW:一般使用连续词袋模型的背景词向量作为词的表征向量。

6. word2vec,层次softmax,用什么树,哈夫曼树,怎么做层次softmax?

两种模型:Skip-gram、CBOW;两种优化算法:层次Softmax、负采样。

Skip-gram:
模型:P(w_o|w_c)=\frac{exp(u_o^Tv_c)}{\sum_{i\in V}exp(u_i^Tv_c)}
似然函数:\prod_{t=1}^T\prod_{-m\ge j\le m,j\ne 0}P(w^{(t+j)}|w^{(t)})
损失函数:

CBOW:
模型:P(w_c|w_o)=\frac{exp(u_c^T\hat{v}_o)}{\sum_{i\in V}exp(u_i^T\hat{v}_o)}
似然函数:\prod_{t=1}^TP(w^{(t)}|w^{t-m},...,w^{(t-1)},w^{(t+1)},...,w^{t+m})
损失函数:

Negative Sampling:
损失函数:


Hierarchical Softmax:
损失函数:

霍夫曼树:
Huffman树(霍夫曼树/最优二叉树):给定n个权值作为n个叶子节点,则带权路径最小的树称为Huffman树。

Huffman树的构造:
给定n个权值w_1,w_2,...,w_n作为二叉树的n个叶子节点,则以此构造Huffman树的算法如下所示:

  1. w_1,w_2,...,w_n看成是有n棵树的森林(每棵树仅有一个节点)
  2. 从森林中选择两个根节点权值最小的树合并,作为一棵新树的左右子树,且新树的根节点权值为其左右子树根节点权值之和
  3. 从森林中删除被选中的两棵树,并且将新树加入森林
  4. 重复2-3步,知道森林中只有一棵树为止,则该树即所求的Huffman树

https://www.zybuluo.com/Dounm/note/591752

7. 当今embedding技术有哪些挑战与机遇?

word2vec、Glove、BERT、RoBERTa、XLNET...等。

1. 简单介绍一下word2vec和fasttext?

两种词嵌入技术;

  • word2vec包含跳字模型连续词袋模型。跳字模型假设基于中心词来生成背景词。连续词袋模型假设基于背景词来生成中心词。而有监督fasttext的学习目标是人工标注的分类结果(比如情感分类的情感标签)
  • word2vec只能用于无监督训练,而fasttext可以用于有监督训练。
  • fastText提出了子词嵌入方法。它在word2vec中的跳字模型的基础上,将中心词向量表示成单词的子词向量之和。
  • 子词嵌入利用构词上的规律,通常可以提升生僻词表示的质量。

2. word2vec与glove的区别?

  • word2vec可以进行在线学习,而Glove需要统计固定预料信息。
  • word2vec使用交叉熵(Cross Entropy)作为损失函数,而Glove的损失函数可以是最小(对数)平方函数。

3. 说一下fasttext,有什么好处?

  • fastText提出了子词嵌入方法。它在word2vec中的跳字模型的基础上,将中心词向量表示成单词的子词向量之和。
  • 子词嵌入利用构词上的规律,通常可以提升生僻词表示的质量。

4. 有哪些Embedding模型?

word2vec、Glove、BERT、RoBERTa、XLNET...等。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容