即使句子的语义不同,它也会给你近乎完美的匹配。
在我们的第一个向量嵌入示例中出现了这种情况,因为我们使用了稀疏嵌入结构,并且两个语义相似的句子显示出更大的距离。
在机器学习中,稀疏嵌入将仅存储相关数据。如果您要对文档进行矢量化,这些矢量将仅捕获特定标记及其在数据库中的关系位置以供快速参考。
对于需要在大量文本中快速找到特定的词组合的医学搜索机器人来说,这一点非常重要。
但是,这些向量嵌入在语义理解方面表现不佳。但 ChatGPT 和我们的客户服务聊天机器人需要理解语义,因此我们转而使用密集表示。
密集向量
密集向量嵌入具有高维性。从数学上讲,这些向 波兰手机号码 量具有大量非零值。
我们为单词和句子添加了不同的维度。786 个维度是标准维度,由神经网络确定。这些维度捕捉单词的上下文含义并将其映射到向量空间中。
这就是 word2vec 对其模型所做的工作。他们的方法有两个方面。
- Skip-Gram 模型– 他们用一个单词创建一个具有随机权重的向量,并尝试使用神经网络预测上下文。然后,选择正确预测上下文的神经 统一机器学习工作流程 网络权重作为向量表示。
- 连续词袋模型——嵌入是一个单词,神经网络试图根据上下文完美地表示嵌入。做出正确预测的隐藏层权重被选为向量表示。
在第一种情况下,模型试图最大限度地提高找到正确上下文的概率,而在第二种情况下,模型试图降低最终出现错误单词的可能性。
您可以看到这些模型如何大规模创 资料库资料库 建大量文本的语义表示。
虽然 word2vec 是传奇且必不可少的,但它 上下文的转换模型并不是我们在生成式 AI 聊天机器人模型中使用的。为此,我们需要转向最近的发现。
最常用的向量嵌入:BERT 和未来模型
Word2vec 每次只能处理一个单词(或 n-gram)。它擅长在简单上下文中识别单词,但当单词在数据库中体现不同上下文时,就会出现问题。