Embedding(嵌入)是一个浮点数的向量(列表),两个向量之间的距离度量它们的相关性,小距离表示高相关性,大距离表示低相关性。
Embedding 是一种在机器学习和深度学习中广泛应用的技术,特别是在自然语言处理(NLP)和其他涉及高维离散数据的领域。它指将原本高维且通常离散的输入数据(如单词、短语、用户 ID、商品 ID 等)映射到一个低维连续向量空间中的过程,这些低维向量称为嵌入向量。
例如,“国王”和“王后”在嵌入向量的空间里位置挨得很近,而“苹果”与前两者差别较大,其嵌入向量位置较远。Embedding 不仅限于单词,还可扩展到句子、文档、实体或其他类型的对象。通过训练诸如 Word2Vec、GloVe 或 BERT 等模型,可从大规模文本数据中学习出这样的嵌入向量,这些嵌入向量可看作是输入数据在潜在语义空间中的表示,能改善下游任务(如文本分类、情感分析、问答系统、机器翻译等)的表现。
除文本数据外,嵌入技术还应用于社交网络分析、推荐系统、图像识别(如位置嵌入)、图神经网络(如节点嵌入)等多种场景,实现将复杂对象的有效编码和降维表示。
Embeddings 有多种分类及对应模型:
在将大型文档转换为可检索内容的过程中,嵌入向量生成这一步将文本块转换为实值向量并存储在数据库中。但检索 PDF 文档的过程充满挑战,可能出现文本提取不准确和 PDF 文档内表格行列关系混乱等问题。在检索增强生成(RAG)框架中,回答一个问题需要用户提出问询,系统从私有知识库中检索相关内容,将相关内容与用户查询合并为上下文,最后请求大语言模型生成答案,准确检索相关信息对 RAG 模型的效力至关重要。
大语言模型的训练数据主要来源于公开互联网资源,包括网页、书籍、新闻和对话文本。这意味着大语言模型主要依赖互联网资源作为它们的训练数据,这些资源量级大、种类繁多且易于访问,支持大语言模型扩展其性能。然而,在垂直领域应用中,专业任务需要大语言模型利用领域知识(Domain knowledge)。遗憾的是,这些知识是私有数据,并不属于它们预训练数据中的一部分。为大语言模型配备领域知识的一种流行方法是检索增强生成(Retrieval-Augmented Generation,以下简称RAG)。RAG框架回答一个问题需要四个步骤:用户提出问询;系统从私有知识库中检索相关内容;将相关内容与用户查询合并为上下文;最后请求大语言模型生成答案。图1通过一个简单示例说明了这个过程。该过程反映了遇到问题时的典型认知过程,包括查阅相关参考资料,然后推导出答案。在这个框架中,关键部分是要准确地检索相关信息,这对RAG模型的效力至关重要。图1检索增强生成(RAG)的工作流然而,检索PDF文档的过程充满挑战,经常会出现文本提取的不准确和PDF文档内表格的行列关系混乱等问题。因此,在RAG之前,我们需要将大型文档转换为可检索内容。转换涉及以下几个步骤,如图2所示:图2将PDF文档转换为可检索内容的过程文档解析和文本切分(Document parsing & chunking)。这一步涉及到提取段落、表格和其他内容块,然后将提取的内容分块以进行后续检索。嵌入向量(Embedding)生成。这一步将文本块转换为实值向量并存储在数据库中。由于这些步骤中的每一步都可能导致信息损失,因此复合损失会显著影响RAG响应的效果。
Embedding(嵌入)是一个浮点数的向量(列表)。两个向量之间的距离度量它们的相关性,小的距离表示高相关性,大的距离表示低相关性。Embedding(嵌入)也是是一种在机器学习和深度学习中广泛应用的技术,特别是自然语言处理(NLP)和其他涉及高维离散数据的领域。它指的是将原本高维且通常是离散的输入数据(如单词、短语、用户ID、商品ID等)映射到一个低维连续向量空间中的过程。这些低维向量称为嵌入(Embedding vectors)。例如,“国王”和“王后”在嵌入向量的空间里,位置就会挨得很近;而“苹果”这个词,虽然也是个词,但因为它的意思和前两者差别较大,所以它的嵌入向量就会落在离“国王”和“王后”比较远的地方。Embedding不仅限于单词,还可以扩展到句子、文档、实体或其他类型的对象。通过训练诸如Word2Vec、GloVe或BERT等模型,可以从大规模文本数据中学习出这样的嵌入向量。这些嵌入向量可以被看作是输入数据在潜在语义空间中的表示,使得机器学习模型能够更好地理解和处理这些数据,从而改善下游任务(如文本分类、情感分析、问答系统、机器翻译等)的表现。除了文本数据,嵌入技术也被应用于社交网络分析、推荐系统、图像识别(如位置嵌入)、图神经网络(如节点嵌入)等多种场景中,实现将复杂对象的有效编码和降维表示。
Doc2Vec:扩展了Word2Vec,能够为整个文档生成统一的向量表示。Average Word Embeddings:将一段文本中所有单词的嵌入取平均作为整体的文本表示。Transformers Sentence Embeddings:如BERT的[CLS]标记对应的向量,或者专门针对句子级别的模型如Sentence-BERT。[heading3]实体/概念嵌入[content]Knowledge Graph Embeddings:如TransE、DistMult、ComplEx等,用于将知识图谱中的实体和关系嵌入到低维向量空间中。[heading3]其他类型[content]图像Embeddings:使用卷积神经网络(CNN)进行图像特征提取,得到的特征向量即为图像嵌入。音频Embeddings:在语音识别和声纹识别中,将声音信号转化为有意义的向量表示。用户/物品Embeddings:在推荐系统中,将用户行为或物品属性映射到低维空间以进行协同过滤或基于内容的推荐。还有一种图Embeddings:是用于学习图结构的表示学习方法,将图中的节点和边映射到低维向量空间中。通过学习图嵌入,可以将复杂的图结构转化为向量表示,以捕捉节点之间的结构和关联关系。这些方法可以通过DeepWalk、Node2Vec、GraphSAGE等算法来实现。图嵌入在图分析、社交网络分析、推荐系统等领域中广泛应用,用于发现社区结构、节点相似性、信息传播等图属性。下面以OpenAI为例继续展开介绍