zoukankan      html  css  js  c++  java
  • 词向量1.md

    词向量

    我们以句子分类为例,我们使用深度学习模型对句子进行分类,本质上这个模型的接受的舒服需要是数值型。因为文字是人们抽象出来的一个概念,这个
    东西是不能被计算机直接理解的,我们需要人为的将这个文字转为数值,换句话讲,我们需要把这个文字嵌入到一个数学空间中去,这中嵌入方式就是词嵌入方式。
    Word2vec 就是词嵌入的一种方式(word embedding)

    对于有监督的一个机器学习过程,我们可以这么理解这个模型,是一个 f(x) -> y 的映射关系。

    在NLP中,x代表的是句子中的一个词,y是这个词的上下文词语,那么这里的f代表的就是NLP中出现的语言模型(language model),这个模型的目的,
    最根本的就是判断(x,y)这个样本是否符合自然语言的法则,通俗点将,就是说x和y放在一起是不是人话。

    关于语言模型来讲,
    如果用一个词语作为输入,来预测它周围的上下文,这个模型我们称之为 skip-gram模型
    如果用一个词语的上下文作为输入,来预测这个词语的本身,则是 CBOW 模型

    [NLP] 秒懂词向量Word2vec的本质 - 穆文的文章 - 知乎
    https://zhuanlan.zhihu.com/p/26306795
    word2vec是如何得到词向量的? - crystalajj的回答 - 知乎
    https://www.zhihu.com/question/44832436/answer/266068967
    Word Embedding 如何处理未登录词? - 韦阳的回答 - 知乎
    https://www.zhihu.com/question/308543084/answer/576517555

    引申
    哈哈,之前也突然懵逼过,word2vec那么简单,那么用的是输入还是输出矩阵?个人感觉,两者都可以用,甚至可以拿输入矩阵转置作为输出矩阵,也没必要存储两个矩阵,不管CBOW还是skip-gram都能保证相似语境下的相关性。主要是w2v太简单了,纯粹是内积运算,本身是对称的。其他例如fasttext或doc2vec就不太一样,加入了side infomation,更极端DNN中常用的embdding,都不能脱离网络直接拿来用了。相似性度量方法太多了,分应用场景吧,w2v本身就是内积,用cos很合适,还归一化了。
    另外不知道item2vec是不是真的有效,在i2i挖掘上,graph embedding真的是神器。
    不得不说,w2v虽然简单,但是影响了很多模型应用,五体投地了~

    上面这个文字见下面这个文章的评论
    万物皆Embedding,从经典的word2vec到深度学习基本操作item2vec - 王喆的文章 - 知乎
    https://zhuanlan.zhihu.com/p/53194407

  • 相关阅读:
    大数据HIve
    大数据笔记
    [Leetcode]653.Two Sum IV
    [Leetcode]652.Find Duplicate Subtrees
    [Leetcode]650.2 Keys Keyboard
    [Leetcode]648.Replace Words
    [Leetcode Weekly Contest]173
    [总结]最短路径算法
    [Leetcode]647.Palindromic Substrings
    [Leetcode]646.Maximum Length of Pair Chain
  • 原文地址:https://www.cnblogs.com/lzida9223/p/10535914.html
Copyright © 2011-2022 走看看