今天看啥  ›  专栏  ›  prophet__

吴恩达深度学习-序列模型 2.3 词嵌入的特性

prophet__  · 简书  ·  · 2020-02-05 22:27

今天要学习的是一种词嵌入特性之间推导关系的算法。

假如,我们现在知道man-woman这两个词之间的相关关系,那么我们会知道king-?对应的词是什么吗?

我们当然知道这个对应的是queen,但是电脑需要通过某种算法才能找到它们之间的联系。

按照我们之前命名的方式,Eman和Ewoman分别代表他们的特征向量,我们如果使用Eman-Ewoman则可以得到一个新的向量。同样的,我们也可以对Eking和Equeen做出相同的操作,最后我们可以发现,除了在gender这一栏当中的值是-2之外,其他的值都趋近于0,这代表这两个词只有在性别方面有很大的区别,其他含义都差不多。

只要通过两个向量相减的等式就可以进行单词的类比推理,然后使用一个相似度函数(sim)进行比较,找到最符合的那个单词。

当我们把这个行为映射到空间当中的时候,之前相减的行为就会变成一个向量,我们可以把未知的那个单词放到的等式的一边,这样就可以直接通过计算出的向量值来寻找那个未知的单词了。

不过呢,在一些论文当中我们可以发现,这种算法得到的准确率只有30%-75%,因为其实有很多的词都具有很相近的意思,而且随着向量维度的增加,往往会出现一些很复杂的特征,我们并不了解他们是什么。

之前说到的使用t-SNE算法将多维向量映射到2D平面当中,我们是不可以使用这种相减的方式来判断两个词之间的相关关系的,因为t-SNE是一种非线性映射,它并不完全反应它在原向量空间里的相对位置关系。

今天讲的相似度函数叫做 余弦相似度函数 ,这个函数实际上计算的就是向量u与向量v的余弦值,通过他们在余弦函数当中位置来判断他们的相似程度。当夹角为0的时候,他们的相似度就为1。

今天我们要提到的一个




原文地址:访问原文地址
快照地址: 访问文章快照