常见的面试问题————NLP篇(持续更新)

  1. Word2Vec 的原理,使用的技巧? https://mp.weixin.qq.com/s/lerKdFXkhqQaaVl4BGgblA
  2. Word2Vec 的多层 softmax 是怎么实现的,思路是怎样的,损失函数变化 https://zhuanlan.zhihu.com/p/56382372
  3. Word2vec的损失函数 http://zh.d2l.ai/chapter_natural-language-processing/approx-training.html (当简历上没什么项目和实习的时候,面试官就喜欢问Word2vec,非常的无聊)
  4. 为什么基于 skip-gram 的 word2vec 在低频词汇相比 cbow 更有效?为什么会好?http://sofasofa.io/forum_main_post.php?postid=1002735
  5. Word2Vec 怎么将得到的词向量变成句子向量,以及怎么衡量得到词向量的好坏https://blog.csdn.net/Matrix_cc/article/details/105138478
  6. Word2vec为什么会有用?word2vec本质是把相似的词或者上下文相近的词映射到几乎是同一个点,所以语义相近的词的weight是接近的,那样做下游任务比随机初始化的词向量要好
  7. word2vec的缺点是什么?1、结构太简单,无法更好地学习句法知识和语义知识。2、没办法解决OOV 。3、没法解决词语顺序的问题。4、没法解决一词多义的问题
  8. 层次softmax为什么要以词频构建二叉树 https://www.zhihu.com/question/398884697
  9. 负采样的是如何带权采样的,为什么负采样权重开 3/4 次幂?https://zhuanlan.zhihu.com/p/144563199
  10. 负采样的负样本和层次softmax的负样本有什么不一样?负采样的负样本的个数是固定的,层次softmax的负样本是不均衡的,词频高的词里根节点接近,采样到的负样本就比较少,低频词采样的负样本就比较多。
  11.  fasttext 、word2vec、glove、elmo、bert、GPT、xlnet 的区别,fasttext相比于 word2vec 有什么优势,它是怎么做分类的
  12.  textcnn 原理,为什么选择用2,3,4不同尺寸的卷积核
  13. BiLSTM+Attention 是怎么分类的 https://blog.csdn.net/google19890102/article/details/94412928
  14. Transformer的结构,multi-head Attention 的作用  Ps. pytorch手动实现一下multi-head  https://blog.csdn.net/Matrix_cc/article/details/104868571【NLP】Transformer详解
  15. Transformer的位置编码和bert的位置编码的区别,为什么要加位置编码?Transformer的位置编码是人为定义,bert是自己学习的,像word Embedding一样在训练中学习到它的词序信息。因为传统LSTM的模型自带词序信息,而Transformer不带词序信息,所以需要加上位置编码。
  16. Transformer里self-attention 中词向量不乘 QKV 参数矩阵,会有什么问题?

    Self-Attention 的核心是用文本中的其它词来增强目标词的语义表示,从而更好的利用上下文的信息。self-attention 中,sequence 中的每个词都会和 sequence 中的每个词做点积去计算相似度,也包括这个词本身。如果不乘 QKV 参数矩阵,那这个词对应的 q,k,v 就是完全一样的。在相同量级的情况下,qi 与 ki 点积的值会是最大的(可以从 “两数和相同的情况下,两数相等对应的积最大” 类比过来)。那在 softmax 后的加权平均中,该词本身所占的比重将会是最大的,使得其他词的比重很少,无法有效利用上下文信息来增强当前词的语义表示。而乘以 QKV 参数矩阵,会使得每个词的 q,k,v 都不一样,能很大程度上减轻上述的影响。

  17. Transformer的残差作用 :减少梯度消失和梯度爆炸的问题,同时能解决退化问题。退化问题是指:当网络隐藏层变多时,网络的准确度达到饱和然后急剧退化,而且这个退化不是由于过拟合引起的。
  18. Transformer 怎么解决长文本问题?
  19. Transformer里使用的是LN还是BN    Ps. LN的原理,pytorch手动实现一下
  20. Transformer 模型中 dropout 主要用在哪里
  21. self-attention里为什么要除以根号d? 为了降低 Q*K 的数值,防止它落入到 softmax 函数的饱和区间。因为 softmax 函数的饱和区梯度几乎为 0,容易发生梯度消失。
  22. Transformer为什么表现的比LSTM和CNN好?https://blog.csdn.net/None_Pan/article/details/106485896
  23. BERT为什么表现好 https://blog.csdn.net/jlqCloud/article/details/104742091 1、预训练数据较大和使用两种预训练的方式2、使用的模型结构较LSTM和CNN较好 3、模型层数深 
  24. BERT的三个embedding为什么可以想加?答案
  25. BERT的缺点:1、无法解决长文本问题  2、输入噪声 [MASK],造成预训练 - 精调两阶段之间的差异  3、生成任务表现不佳:预训练过程和生成过程的不一致,导致在生成任务上效果不佳  4、位置编码使用绝对编码 https://www.jiqizhixin.com/articles/2019-08-26-16
  26. Bert里的mask机制?是随机 mask 语料中 15% 的 token,其中80% 的单词用 [MASK] token 来代替,10% 单词用任意的词来进行代替,10% 单词不变。
  27. bert里的mask和word2vec里的CBOW的区别

    相同点:CBOW 的核心思想是,给定上下文,根据它的上文 context-before 和下文 context-after 去预测 input word。Bert 本质上也是如此。

    不同点:首先,在 CBOW 中,每个单词会称为 input word,而 Bert 中只有 15% 的词会称为 input word。其次,对于数据输入部分,CBOW 中的输入数据只有待预测单词的上下文,而 Bert 的输入是带有 [MASK]  token 的 “完整” 句子,也就是说 Bert 在输入端将待预测的 input word 用 [MASK] token 代替了。

    另外,通过 CBOW 模型训练后,每个单词的 word embedding 是唯一的,因此并不能很好的处理一词多异的问题;而 Bert 模型得到的 word embedding (token embedding)融合了上下文信息,就算是同一个单词,在不同的上下文环境下,得到的 word embedding 是不一样的。

  28. BERT为什么用字粒度而不是用词粒度?因为在做MLM预训练任务时,最后预测单词是用softmax进行预测。使用字粒度的话,总字数大概在2w左右,而使用词粒度的话,则有十几万个词,在训练时显存会爆炸。

  29. HMM 和 CRF 的原理和区别,其中维特比算法的复杂度  区别:

    1.HMM 是生成模型,CRF 是判别模型

    2.HMM 是概率有向图,CRF 是概率无向图

    3.HMM 求解过程可能是局部最优,CRF 可以全局最优 

    4.HMM是做的马尔科夫假设,而CRF是马尔科夫性,因为马尔科夫性是是保证或者判断概率图是否为概率无向图的条件                                                             、HMM原理:三个问题:1、概率计算问题:前向—后向算法  给定模型 λ=(A,B,π) 和观测序列 Q={q1,q2,...,qT},计算模型 λ 下观测到序列 Q 出现的概率 P (Q|λ);2、学习问题:Baum-Welch 算法 (状态未知) 已知观测序列 Q={q1,q2,...,qT},估计模型 λ=(A,B,π) 的参数,使得在该模型下观测序列 P (Q|λ) 最大  3、预测问题:Viterbi 算法 给定模型 λ=(A,B,π) 和观测序列 Q={q1,q2,...,qT},求给定观测序列条件概率 P (I|Q,λ) 最大的状态序列 I。

  30. Albert里的SOP为什么会有效?

    ALBERT 认为,NSP (下一个句子预测) 将话题预测和连贯预测混为一谈。作为参考,NSP 使用了两个句子 —— 正样本匹配是第二个句子来自同一个文档,负样本匹配是第二个句子来自另一个文档。相比之下,ALBERT 的作者认为句子间的连贯是真正需要关注的任务 / 损失,而不是主题预测,因此 SOP 是这样做的:

    使用了两个句子,都来自同一个文档。正样本测试用例是这两句话的顺序是正确的。负样本是两个句子的顺序颠倒。
     

  31. bert 里 add&norm 是什么以及作用
  32. local attention 和 global attention 的区别:https://easyai.tech/ai-definition/attention/
  33. Attention的理解和它的优缺点:Attention即从大量的信息中选择出少量的重要信息,并聚焦到这些重要信息上,忽略大多不重要的信息。权重越大越聚焦于其对应的 Value 值上,即权重代表了信息的重要性,而 Value 是其对应的信息。   优点:

    参数少

    模型复杂度跟 CNNRNN 相比,复杂度更小,参数也更少。所以对算力的要求也就更小。

    速度快

    Attention 解决了 RNN 不能并行计算的问题。Attention 机制每一步计算不依赖于上一步的计算结果,因此可以和 CNN 一样并行处理。

    效果好

    在 Attention 机制引入之前,有一个问题大家一直很苦恼:长距离的信息会被弱化,就好像记忆能力弱的人,记不住过去的事情是一样的。

    缺点:没法捕捉位置信息,即没法学习序列中的顺序关系。这点可以通过加入位置信息,如通过位置向量来改善
  34. Bahdanau 和 Luong 两种 Attention 机制的区别:https://zhuanlan.zhihu.com/p/129316415
  35. graph embedding 的原理
  36. TF-IDF 的原理  https://blog.csdn.net/zrc199021/article/details/53728499
  37. n-gram原理及有哪些平滑处理 https://blog.csdn.net/songbinxu/article/details/80209197
  38. 解决OOV的方法: NLP 研究主流目前如何处理 out of vocabulary words?
  39. 词向量的降维
  40. nlp 分词技术有哪些,如何分的
  41. nlp有哪些数据增强的方法 https://blog.csdn.net/Matrix_cc/article/details/104864223
  42. 文本预处理的方法有哪些

猜你喜欢

转载自blog.csdn.net/Matrix_cc/article/details/105513836
今日推荐