美文网首页
词向量-Question

词向量-Question

作者: 魏鹏飞 | 来源:发表于2020-11-14 07:47 被阅读0次

    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...等。

    相关文章

      网友评论

          本文标题:词向量-Question

          本文链接:https://www.haomeiwen.com/subject/xpueahtx.html