• 9.15-词向量


    1、ReadME

    在这里插入图片描述

    2.一文总结词向量的计算、评估与优化

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.聊一下Word2vec-模型篇

    4.聊一下Word2vec-细节篇

    在这里插入图片描述

    5.聊一下Word2vec-训练优化篇

    在这里插入图片描述

    6.聊一下Glove

    在这里插入图片描述

    7.Word2vec的负采样

    在这里插入图片描述

    8.Word2vec训练参数的选定

    语料小(小于一亿词,约 500MB 的文本文件)的时候用 Skip-gram 模型,语料大的时候用 CBOW 模型。

    9.Word2vec模型究竟是如何获得词向量的

    在这里插入图片描述

    10.word2vec两种优化方式的联系和区别

    负采样的本质在于生成K个噪声。它的本质是基于中心词生成正确的背景词概率为1,生成噪声词概率为0,这个是我们的优化方向。

    负采样和霍夫曼都是讲Softmax转化为二分类的问题从而降低了复杂度。负采样是针对是不是背景词做二分类,霍夫曼是在对是不是正确路径上的节点做二分类。

    11.Word2vec为什么需要二次采样?

    在这里插入图片描述

    12.Fasttext解读

    fastText 在使用负采样的skip-gram模型基础上,讲每个中心词视为子词(subword)的集合,并学习子词的词向量。

    第一个是Bag of Tricks for Efficient TextClassification(201607)。它解决的问题是使用Fasttext进行文本分类
    第二个是Enriching Word Vectors with Subword Information(201607) 。它解决的是使用Fasttext训练词向量。

    Fasttext用在文本分类,模型架构使用的是CBOW的变种
    这里和Word2vec的CBOW有两个区别:

    第一,使用类别标签替换了中心词。
    第二,使用句子中所有单词作为输入,而不再是单单的针对滑动窗口中的单词。

    fasttext 训练词向量的时候一般是使用Skip-gram模型的变种。在用作文本分类的时候,一般是使用CBOW的变种。

    13.面试题

    1、有没有使用自己的数据训练过Word2vec,详细说一下过程。包括但是不限于:语料如何获取,清理以及语料的大小,超参数的选择及其原因,词表以及维度大小,训练时长等等细节点。
    Word2vec模型是如何获得词向量的?聊一聊你对词嵌入的理解?如何理解分布式假设?
    如何评估训练出来的词向量的好坏
    Word2vec模型如何做到增量训练
    大致聊一下 word2vec这个模型的细节,包括但不限于:两种模型以及两种优化方法(大致聊一下就可以,下面会详细问)
    解释一下 hierarchical softmax 的流程(CBOW and Skip-gram)
    基于6,可以展开问一下模型如何获取输入层,有没有隐层,输出层是什么情况。
    基于6,可以展开问输出层为何选择霍夫曼树,它有什么优点,为何不选择其他的二叉树
    基于6,可以问该模型的复杂度是多少,目标函数分别是什么,如何做到更新梯度(尤其是如何更新输入向量的梯度)
    基于6,可以展开问一下 hierarchical softmax 这个模型 有什么缺点
    聊一下负采样模型优点(为什么使用负采样技术)
    如何对输入进行负采样(负采样的具体实施细节是什么)
    负采样模型对应的目标函数分别是什么(CBOW and Skip-gram)

    CBOW和skip-gram相较而言,彼此相对适合哪些场景

    有没有使用Word2vec计算过句子的相似度,效果如何,有什么细节可以分享出来
    详细聊一下Glove细节,它是如何进行训练的?有什么优点?什么场景下适合使用?与Word2vec相比,有什么区别(比如损失函数)?
    详细聊一下Fasttext细节,每一层都代表了什么?它与Wod2vec的区别在哪里?什么情况下适合使用Fasttext这个模型?
    ELMO的原理是什么?以及它的两个阶段分别如何应用?(第一阶段如何预训练,第二阶段如何在下游任务使用)
    ELMO的损失函数是什么?它是一个双向语言模型吗?为什么?
    ELMO的优缺点分别是什么?为什么可以做到一词多义的效果?

    引文:
    https://zhuanlan.zhihu.com/p/56382372

    一、文本表示和各词向量间的对比
    1、文本表示哪些方法?
    在这里插入图片描述

    2、怎么从语言模型理解词向量?怎么理解分布式假设?
    one-hot是可认为是最为简单的词向量,但存在维度灾难和语义鸿沟等问题
    通过构建共现矩阵并利用SVD求解构建词向量,则计算复杂度高
    分布式假设,用一句话可以表达:相同上下文语境的词有似含义

    3、传统的词向量有什么问题?怎么解决?各种词向量的特点是什么?
    在这里插入图片描述

    4、word2vec和NNLM对比有什么区别?(word2vec vs NNLM)
    在这里插入图片描述

    5、word2vec和fastText对比有什么区别?(word2vec vs fastText)
    在这里插入图片描述

    6、glove和word2vec、 LSA对比有什么区别?(word2vec vs glove vs LSA)

    在这里插入图片描述

    7、 elmo、GPT、bert三者之间有什么区别?(elmo vs GPT vs bert)
    在这里插入图片描述

    二、深入解剖word2vec
    1、word2vec的两种模型分别是什么?

    skip-gram和CBOW

    2、word2vec的两种优化方法是什么?它们的目标函数怎样确定的?训练过程又是怎样的?
    hierarchical softmax 和negative sampling
    在这里插入图片描述
    在这里插入图片描述

    三、深入解剖Glove详解
    1、GloVe构建过程是怎样的?

    2、GloVe的训练过程是怎样的?

    3、Glove损失函数是如何确定的?

    四、深入解剖bert(与elmo和GPT比较)
    1、为什么bert采取的是双向Transformer Encoder,而不叫decoder?
    2、elmo、GPT和bert在单双向语言模型处理上的不同之处?
    3、bert构建双向语言模型不是很简单吗?不也可以直接像elmo拼接Transformer decoder吗?
    4、为什么要采取Marked LM,而不直接应用Transformer Encoder?
    5、bert为什么并不总是用实际的[MASK]token替换被“masked”的词汇?

  • 相关阅读:
    干货 | 一文搞定 pytest 自动化测试框架
    Vue3 常用组件
    2022年最新互联网大厂92题高频面试题,直接吊打面试官!
    710. 黑名单中的随机数
    1. STL六大组件
    TensorFlow学习:使用官方模型和自己的训练数据进行图片分类
    kotling构造函数
    AQS核心原理分析《上》
    leetcode 图相关的题
    SSM之spring注解式缓存redis->redis整合,redis的注解式开发及应用场景,redis的击穿穿透雪崩
  • 原文地址:https://blog.csdn.net/weixin_44522477/article/details/126865292