NLP ——GloVe

NLP ——GloVe

  • glove是一个全局对数双线性回归模型(global log bilinear regression model)。顾名思义,该模型用到了语料库的全局特征,即单词的共现频次矩阵,并且,其优化目标函数是对数线性的,并用回归的形式进行求解。本质上是对共现矩阵进行降维。
  • 首先基于语料库构建词的共现矩阵,然后基于共现矩阵和GloVe模型学习词向量。
    NLP ——GloVe_第1张图片NLP ——GloVe_第2张图片
    对于中心词:
    NLP ——GloVe_第3张图片
    NLP ——GloVe_第4张图片

中心词变换:
NLP ——GloVe_第5张图片
NLP ——GloVe_第6张图片
现在我们已经知道ice和steam这两个词在语料中出现的频率,这两个词被视为目标词(target words) ,也就是需要对它们的词向量进行学习和表征的词语。此时,我们暂且不直接去求解这两个词之间的共现关系,而是基于这两个词的频率,去探索一下其他词的条件概率是一个什么情况,这里的k就是其他词,这个条件概率记做P(k|ice),P(k|steam)。我们观察两个条件概率的比值,也就是对于任一个k,k出现在ice的context中的条件概率,与k出现在steam的context中的条件概率,这两者之间的比值。正是基于这个朴素的道理,glove的作者决定用一个函数去拟合这个条件概率的比值,即:
NLP ——GloVe_第7张图片
换句话说,每个词语只有当与其他词语比较时才真正能有其意义。比如NLP中常举例的一个栗子:king - man + woman = queen,这个analogy中,我们其实并不需要实际地知道king和man等词语在实际的世界中所指称的对象(很多抽象概念甚至没有实际指称的经验对象),而是只需要知道这几个词之间的逻辑关系即可。因此,相比起绝对地描述一个词语,通过与第三者的比较,得到第三者与两个词语中的哪个更接近这样一个相对的关系,来表达词语的含义,实际上更符合我们对于语言的认知。
构建词向量和共现矩阵的近似关系:
NLP ——GloVe_第8张图片

你可能感兴趣的:(nlp)