Word2vec词向量

词向量(word embedding):
用一个向量表示一个词,机器学习任务需要把任何输入量化成数值表示(稠密向量DenseVector),然后通过充分利用计算机的计算能力,计算得到最终的结果,词向量的一种表达形式为one-hot

CBOW(continuous bag of words)和skip-gram
这是word2vec的两种模式,CBOW是根据目标单词所在的原始语句的上下文来推测目标单词本身,而skip-gram则是利用该目标单词推测原始语句信息也就是上下文

词向量的获取方法

基于奇异值分解的方法:

  • 单词-文档矩阵
    基于的假设:
    相关词往往出现在同一文档中,例如,banks和bonds,stocks,money 更相关常
    出现在一篇文档中,而banks 和octous,banana,hockey 不太可能同时出现在一起,
    因此可以建立词和文档的矩阵,通过对此矩阵做奇异值分解,可以获取词的向量表示.
  • 单词-单词矩阵
    基于的假设:
    一个词的含义由上下文信息决定,那么两个词之间的上下文相似,是否可推测二者
    非常相似.设定上下文窗口,统计建立词和词之间的共现矩阵,通过对矩阵做奇异值分解获得词向量

基于迭代的方法:

目前基于迭代的方法获取词向量大多是基于语言模型的训练得到的,对于一个合理的句子,希望语言模型能够给予一个较大的概率,同理,对于一个不合理的句子,给予较小的概率评估,具体的形式化表示如下:P(w(1),w(2), ,w(n))=i=1nP(w(i))P\left(w^{(1)}, w^{(2)}, \cdots, w^{(n)}\right)=\prod_{i=1}^{n} P\left(w^{(i)}\right)

第一个公式:一元语言模型,假设当前词的概率只和自己有关;
第二个公式: 二元语言模型,假设当前词的概率和前一个词有关.那么问题来了,如何从语料库中学习给定上下文预测当前词的概率值呢?
就是使用我们上面说的两种模式:CBOW与skip-gram

code_train_word2vec

达观杯(Day3)

相关文章:

  • 2021-08-29
  • 2021-04-29
  • 2021-08-05
  • 2021-12-27
  • 2021-05-22
  • 2021-10-23
  • 2021-05-16
猜你喜欢
  • 2021-09-10
  • 2021-06-11
  • 2021-06-08
  • 2021-11-30
  • 2021-11-25
  • 2022-12-23
  • 2021-08-01
相关资源
相似解决方案