所以很明显:我们想要使用嵌入。但是我应该使用哪个模型来创建它们呢?

Rate this post

嵌入的问题在于,虽然对嵌入的定义以及对嵌入的期望是相当标准化的,但生成嵌入的过程,以及最重要的是生成嵌入的模型的结果却不是。

换句话说,不同模型的嵌入并不相似。以色列 WhatsApp 号码数据 事实上,它们彼此之间毫无关联。如果我将 OpenAI 模型生成的一个向量与 Google 模型生成的另一个向量进行比较,它会告诉我,完全不相关的词是相似的,因为每种情况下维度的含义不同。这甚至与公司无关;它与训练本身有关,因此同一家公司的不同嵌入模型也不会匹配。

因此,你应该了解的一件事是,有哪些嵌入模型以及它们的特点。总结所有嵌入模型是不可能的,尤其是在人工智能发展如此迅速的情况下,每天都有新的模型涌现。但我想总结一下最重要、最稳定的模型,以便你随时掌握。

所以我创建了这个表,以便它可以作为参考,你可以开始决定要嫁给哪一个(因为是的,一旦你在嵌入模型中有了内容,你就必须坚持使用它)。

我特别希望你注意它们是否是可下载的模型。可下载的模型是你可以在电脑上使用的。我说的可不是破旧的办公室电脑,而是那些适合人工智能的强大模型。不可下载的模型是最强大的,但你只能通过为想要转换成嵌入的每个文本字符付费购买它们的专有 API 才能使用它们。

开始工作前的警告:使用嵌入时的问题,或者为什么如果不理解嵌入就会很危险

尽管嵌入很有用,但它也带来了一些我们必须考虑的挑战:

  • 解释:要解释嵌入的每个维度的含义并不容易。它们就像“黑匣子”,捕捉着复杂的语义信息。每个维度都代表着不同方面的含义,而且并不总是能够确定每个维度单独的含义。如果你不理解它们,也不要灰心。没有人能理解。
  • 数学复杂性:嵌入分析需要线性代数和其他数学技术的知识。要计算向量之间的距离、执行聚类或应用其他分析技术,需要了解线性代数的基础知识。将所有号码统一为国际标准格式 但这并不意味着你必须知道如何操作它;你只需要对你正在做的事情有一个基本的了解。
  • 全局含义:嵌入通常表示文本的整体含义,而不是具体的细节。如果我们需要分析文本的细节,嵌入可能不是最合适的工具。
  • 它们不可互换: 正如我多次提到的,不同模型生成的嵌入不能直接比较,因为每个模型都有自己独特的含义表示方式。如果我们想要比较不同模型生成的嵌入,需要应用“对齐”技术来使它们兼容。
  • 模型置信度:选择适合任务和语言的模型至关重要。并非所有模型在西班牙语中都同样准确。测试不同的模型并评估其在特定语境下的表现至关重要。目前,大型语言模型 (LLM) 是最先进的,但验证它们对于确保其在西班牙语中的有效性至关重要。
  • 内容质量:嵌入的质量取决于输入文本的质量。包含错误、HTML 或代码的文本可能会生成不可靠的嵌入。在生成嵌入之前,对文本进行预处理至关重要,以消除噪声和不相关的信息。很多人忘记了这一点,并因此而遭受损失。
  • 成本:使用大型语言模型生成嵌入可能成本高昂,尤其是在使用按次付费 API 的情况下。LLM 嵌入是按字符付费的,而 Word2Vec 或 BERT 等可下载模型虽然价格低得多,但计算密集度相当高。在选择用于生成嵌入的模型和平台时,成本至关重要。

你已经选好模型了吗?现在开始动手吧:你可以执行的最常见语义向量分析包括……

1. 基础层面:语义距离

语义距离是分析文本相似性的基本工具。它衡量语义空间中两个嵌入之间的“接近度”,反映它们含义的相似性。

距离有多种类型,每种类型都有自己的特点和应用:

  • 余弦距离:测量两个向量之间的角度。它是嵌入分析中最常用的指标之一(我们甚至可以说在很多场景中是唯一的指标),因为它不受向量幅值的影响。商业 带领 两个方向相同的向量(即指向相同的方向,因此指向相同的含义)的余弦距离为 0,无论它们的长度如何。例如,这使我们能够将关键词(幅值较小的短短语)与全文(其中含义的重复会改变向量幅值)进行比较。因此,在讨论纯粹的含义时,余弦距离是最常用的。
  • 欧氏距离:测量多维空间中两点之间的直线距离。它对向量的幅值敏感,因此两个方向相同但幅值不同的向量的欧氏距离会比两个幅值相同但方向不同的向量的欧氏距离更大。这使得它们在寻找文本之间的相似性(而不仅仅是含义)时非常有用。
  • 曼哈顿距离:又称“城市街区”距离,它测量两点之间的距离,即它们坐标绝对差之和。它在嵌入分析中不太常用(好吧,根本没用过),但由于很多人反复强调它在某些情况下很有用,所以必须把它包含进来。

距离度量的选择取决于您想要执行的分析类型。对于大多数嵌入应用来说,余弦距离是正确的选择,因为它关注的是向量方向上的相似性,而这恰恰反映了语义。

语义距离允许进行各种各样的分析,例如:

  • 搜索:查找与给定查询或关键词最相似的文本。我们可以计算查询的嵌入与文本集合中的嵌入之间的距离。距离最小的文本与查询最相似。
  • 分类:根据语义相似性将文本分组。我们可以使用聚类算法对具有相似嵌入的文本进行分组。或者,直接传入类别定义,查看哪些文本符合类别。
  • 优化:提高内容与目标关键词的语义相关性。我们可以将文本的嵌入与关键词的嵌入进行比较,以确定文本是否与该关键词相关。
  • 异常值检测:识别偏离一般模式的文本。我们可以计算每个文本与其聚类质心的距离。与质心明显偏离的文本可视为异常值。

正如您所见,像知道如何应用“余弦距离”这样简单的事情(听起来很复杂,但最终是机器为我们创建的公式,仅此而已)已经代表了我们在进行语义分析时可能性的根本变化。

2. K均值和自动聚类

K-means 是一种聚类算法,它允许根据数据点的相似性将其分组。在嵌入的上下文中,K-means 可以将具有相似含义的文本分组,从而有助于分析和理解大量文档。

假设您有数千篇新闻文章,并希望按主题对它们进行分组。K 均值算法可以帮助您自动识别涵盖类似主题(例如体育、政治、经济等)的文章聚类。

K均值算法的工作原理如下:

  1. 您要创建的聚类数量 (k) 已定义。这是您必须指定的参数。k 的值没有固定的选择规则,但有一些方法(例如“肘部法”或“轮廓法”)可以帮助您找到最佳值。
  2. 数据点(嵌入)被迭代地分配到各个聚类中。该算法首先将每个点分配到一个随机聚类。然后计算每个聚类的质心(中心点)。之后,算法将每个点重新分配到质心最接近的聚类。重复此过程,直到聚类稳定下来。
  3. 质心是每个聚类的中心点。它们表示属于该聚类的文本嵌入的“平均值”。

K-means 允许您执行如下分析:

  • 宏观分析:了解文本集的整体结构。通过将文本分组,我们可以大致了解该文本集涵盖的主要主题。
  • 聚类比较:分析文本组之间的差异和相似之处。我们可以比较聚类的质心,以识别区分它们的特征。
  • 识别主题:发现文本集合中涵盖的主要主题。我们可以分析属于每个集群的文本,以识别将它们联系在一起的主题或概念。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端