向量嵌入的定义

通过向量嵌入这种方法,可将词、句子和其他数据转换成能捕捉其含义和关系的数字。它们将不同的数据类型表示为多维空间中的点,其中相似的数据点彼此靠得更近。这种数字表示形式可帮助机器更有效地理解和处理这些数据。

和句子嵌入是两种最常见向量嵌入子类型,但也有其他类型。有些向量嵌入可以表示整个文档,图像向量用于匹配视觉内容,用户个人资料向量用于确定用户的偏好,产品向量用于帮助识别类似产品,等等。向量嵌入可以帮助 Machine Learning 算法在数据中找到模式,并执行情感分析、语言翻译、推荐系统等任务。

Diagram of how a vector search engine works using vector embeddings

向量嵌入的类型

有几种不同类型的向量嵌入常用于各种应用。下面是一些示例:

词嵌入将单个词表示为向量。Word2Vec、GloVe 和 FastText 等技术通过从大型文本语料库中捕获语义关系和上下文信息来学习词嵌入。

句子嵌入将整个句子表示为向量。Universal Sentence Encoder (USE) 和 SkipThought 等模型生成嵌入来捕获句子的整体含义和上下文。

文档嵌入将文档(来自从报纸文章、学术论文到书籍的任何文档)表示为向量。它们可捕获整个文档的语义信息和上下文。Doc2Vec 和段落向量等技术设计用于学习文档嵌入。

图像嵌入通过捕捉不同的视觉特征,将图像表示为向量。卷积神经网络 (CNN) 和预训练模型(如 ResNet 和 VGG)等技术为图像分类、物体检测和图像相似度等任务生成图像嵌入。

用户嵌入将系统或平台中的用户表示为向量。它们可捕获用户偏好、行为和特征。用户嵌入可用于多个领域,从推荐系统到个性化营销,再到用户细分,不一而足。

产品嵌入将电子商务或推荐系统中的产品表示为向量。它们可捕获产品的属性、特性和任何其他可用的语义信息。然后,算法可以使用这些嵌入,基于它们的向量表示形式来比较、推荐和分析产品。

嵌入和向量是一回事吗?

在向量嵌入的上下文中,嵌入和向量是一回事。两者都是指数据的数字表示形式,其中每个数据点由高维空间中的向量表示。

术语“向量”只是指具有特定维度的数字数组。在向量嵌入的情况下,这些向量在连续空间中表示上面提到的任何数据点。相反,“嵌入”指的是将数据表示为向量的技术,这种技术可以捕获有意义的信息、语义关系或上下文特征。嵌入的目的是捕获数据的底层结构或属性,通常通过训练算法或模型习得。

虽然在向量嵌入的上下文中,嵌入和向量可以互换使用,但“嵌入”强调以有意义和结构化的方式表示数据的概念,而“向量”指的是数值表示形式本身。

如何创建向量嵌入?

向量嵌入是通过 Machine Learning 过程创建的,在该过程中,会对模型进行训练以将上面列出的任何数据(以及其他数据)转换为数字向量。下面我们来快速了解一下它的工作原理:

  • 首先,收集一个大型数据集,该数据集表示要为哪种类型的数据创建嵌入,例如文本或图像。
  • 接下来,您将对数据进行预处理。这需要根据所处理的数据类型,通过去除噪声、规范化文本、调整图像大小或其他各种任务来清理和准备数据。
  • 您将选择一个适合您的数据目标的神经网络模型,并将预处理的数据馈送到该模型中。
  • 该模型通过在训练过程中调整其内部参数来学习数据中的模式和关系。例如,它会学习将经常一起出现的词关联起来,或者识别图像中的视觉特征。
  • 随着模型的学习,它将生成数字向量(或嵌入)来表示数据的含义或特征。每个数据点(例如一个词或一个图像)都由一个唯一的向量表示。
  • 此时,您可以评估嵌入的质量和有效性,方法是测量嵌入在特定任务上的性能或使用人工来评估给定结果的相似程度。
  • 一旦您判定嵌入运作良好,就可以使用它们来分析和处理您的数据集。

向量嵌入是什么样的?

向量的长度或维度取决于您正在使用的特定嵌入技术以及您希望的数据表示方式。例如,如果您正在创建词嵌入,它们的维度通常从几百到几千不等 — 这对于人类来说太复杂了,无法直观地绘制图表。句子或文档嵌入可能具有更高的维度,因为它们可捕获更复杂的语义信息。

向量嵌入本身通常表示为一个数字序列,例如 [0.2, 0.8, -0.4, 0.6, …]。序列中的每个数字都对应一个特定的特征或维度,并用于数据点的整体表示。也就是说,向量内的实际数字本身没有意义。捕获语义信息并允许算法有效处理和分析数据的是数字之间的相对值和关系。

向量嵌入的应用

向量嵌入在各个领域都有广泛的应用。以下是您可能会遇到的一些常见问题:

自然语言处理 (NLP) 广泛地使用向量嵌入来完成情感分析命名实体识别文本分类、机器翻译、问答和文档相似度等任务。通过使用嵌入,算法可以更有效地理解和处理与文本相关的数据。

搜索引擎使用向量嵌入来检索信息并帮助识别语义关系。向量嵌入可帮助搜索引擎处理用户查询并返回相关的主题网页、推荐文章、纠正查询中的拼写错误,以及建议可能会对用户有用的类似相关查询。此应用通常用于支持语义搜索

个性化推荐系统利用向量嵌入来捕获用户偏好和项目特征。它们基于用户与向量中项目之间的密切匹配项,帮助将用户个人资料与用户可能还喜欢的项目(如产品、电影、歌曲或新闻文章)进行匹配。一个熟悉的示例是 Netflix 的推荐系统。有没有想过它是如何选择符合您品味的电影的?它通过使用项目与项目相似度度量来推荐与用户通常观看的内容相似的内容。

视觉内容也可以通过向量嵌入进行分析。在这些向量嵌入上训练的算法可以对图像进行分类,识别物体并在其他图像中检测到它们,搜索相似的图像,以及将各种图像(以及视频)分类为不同的类别。Google Lens 使用的图像识别技术是一种常用的图像分析工具。

异常检测算法使用向量嵌入来识别各种数据类型中的异常模式或离群值。该算法在代表正常行为的嵌入上进行训练,从而可以学习发现偏离规范的情况,这可以基于嵌入之间的距离或相异度度量检测到。这在网络安全应用中尤其方便。

图表分析使用图表嵌入,其中图表是由线(称为边)连接的点(称为节点)的集合。每个节点代表一个实体,比如一个人、一个网页或一个产品,每个边代表这些实体之间的关系或连接。这些向量嵌入可以做任何事情,从在社交网络中推荐朋友到检测网络安全异常(如上所述)。

音频和音乐也可以处理和嵌入。向量嵌入可捕获音频特征,允许算法有效地分析音频数据。这可以用于各种应用,如音乐推荐、类型分类、音频相似度搜索、语音识别和说话者验证。

使用 Elasticsearch 开始向量嵌入

Elasticsearch 平台将强大的 Machine LearningAI 在本机集成到各个解决方案中,可助力您构建使用户受益的应用程序并更快地完成工作。Elasticsearch 是 Elastic Stack(一套用于数据采集、扩充、存储、分析和可视化的免费开放工具)的核心组件。

Elasticsearch 可帮助您:

  • 改善用户体验并提高转化率
  • 获得新见解,实现自动化、分析和报告功能
  • 提高员工在内部文档和应用程序中的工作效率

详细了解 Elasticsearch 向量数据库