赞
踩
审校:龙心尘
作者:Jay Alammar
编译:张秋玥、毅航、高延
https://blog.csdn.net/longxinchen_ml/article/details/89077048
原文链接:
https://jalammar.github.io/illustrated-word2vec/
嵌入(embedding)是机器学习中最迷人的想法之一。 如果你曾经使用Siri、Google Assistant、Alexa、Google翻译,甚至智能手机键盘进行下一词预测,那么你很有可能从这个已经成为自然语言处理模型核心的想法中受益。
在过去的几十年中,嵌入技术用于神经网络模型已有相当大的发展。尤其是最近,其发展包括导致BERT和GPT2等尖端模型的语境化嵌入。
BERT:
https://jalammar.github.io/illustrated-bert/
Word2vec是一种有效创建词嵌入的方法,它自2013年以来就一直存在。但除了作为词嵌入的方法之外,它的一些概念已经被证明可以有效地创建推荐引擎和理解时序数据。在商业的、非语言的任务中。像Airbnb、阿里巴巴、Spotify这样的公司都从NLP领域中提取灵感并用于产品中,从而为新型推荐引擎提供支持。
在这篇文章中,我们将讨论嵌入的概念,以及使用word2vec生成嵌入的机制。让我们从一个例子开始,熟悉使用向量来表示事物。你是否知道你的个性可以仅被五个数字的列表(向量)表示?
如何用0到100的范围来表示你是多么内向/外向(其中0是最内向的,100是最外向的)? 你有没有做过像MBTI那样的人格测试,或者五大人格特质测试? 如果你还没有,这些测试会问你一系列的问题,然后在很多维度给你打分,内向/外向就是其中之一。
五大人格特质测试测试结果示例。它可以真正告诉你很多关于你自己的事情,并且在学术、人格和职业成功方面都具有预测能力。此处可以找到测试结果。
假设我的内向/外向得分为38/100。 我们可以用这种方式绘图:
让我们把范围收缩到-1到1:
当你只知道这一条信息的时候,你觉得你有多了解这个人?了解不多。人很复杂,让我们添加另一测试的得分作为新维度。
我们可以将两个维度表示为图形上的一个点,或者作为从原点到该点的向量。我们拥有很棒的工具来处理即将上场的向量们。
我已经隐藏了我们正在绘制的人格特征,这样你会渐渐习惯于在不知道每个维度代表什么的情况下,从一个人格的向量表示中获得价值信息。
我们现在可以说这个向量部分地代表了我的人格。当你想要将另外两个人与我进行比较时,这种表示法就有用了。假设我被公共汽车撞了,我需要被性格相似的人替换,那在下图中,两个人中哪一个更像我?
处理向量时,计算相似度得分的常用方法是余弦相似度:
1号替身在性格上与我更相似。指向相同方向的向量(长度也起作用)具有更高的余弦相似度。
再一次,两个维度还不足以捕获有关不同人群的足够信息。心理学已经研究出了五个主要人格特征(以及大量的子特征),所以让我们使用所有五个维度进行比较:
使用五个维度的问题是我们不能在二维平面绘制整齐小箭头了。这是机器学习中的常见问题,我们经常需要在更高维度的空间中思考。 但好在余弦相似度仍然有效,它适用于任意维度:
余弦相似度适用于任意数量的维度。这些得分比上次的得分要更好,因为它们是根据被比较事物的更高维度算出的。
在本节的最后,我希望提出两个中心思想:
1.我们可以将人和事物表示为代数向量(这对机器来说很棒!)。
2.我们可以很容易地计算出相似的向量之间的相互关系。
通过上文的理解,我们继续看看训练好的词向量实例(
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。