定义
Embedding(嵌入)是机器学习中一种将离散对象(如单词、句子、图像、商品)转换为稠密数值向量(一串固定长度的数字)的技术。这种向量表示能够捕捉对象之间的语义关系:语义相近的对象,其向量在空间中的距离也更近。Embedding是许多自然语言处理(NLP)和推荐系统的基础组件,也是语义检索(Semantic Search)的核心。
如何运作
从文本到向量
Embedding模型通过在大规模语料上训练,学习如何将文本映射到向量空间。以“苹果”和“香蕉”为例,它们的向量距离会较近,因为它们都是水果;而“苹果”和“汽车”的向量距离则较远。这种距离关系不是人为指定的,而是模型从数据中自动学习得到的。
向量与相似度
可以用余弦相似度或欧氏距离等指标比较向量,具体指标和数值方向要按模型及索引配置解释。检索时,系统将查询文本转换为向量,然后在向量数据库中查找与该向量最接近的其他向量,返回对应的原始内容。
语义检索流程
一个典型的语义检索系统包含以下步骤:
- 索引阶段:将文档按需要切分为可检索片段,再用兼容的Embedding模型转换为向量,并存储到向量数据库中。
- 查询阶段:将用户的查询文本转换为向量。
- 匹配阶段:在向量数据库中查找与查询向量最相似的Top-K个向量。
- 返回阶段:将匹配到的向量对应的原始文档返回给用户。
业务应用示例
假设一家电商企业希望让客户通过自然语言搜索商品。传统关键词搜索只能匹配字面相同的内容,而语义检索可以理解“适合户外运动的防水鞋”这类描述,并返回“徒步防水靴”等语义相关的商品。
另一个常见场景是智能客服。企业将产品手册、FAQ等文档转换为向量,当用户提问时,系统先从向量库中检索最相关的段落,再交给大语言模型生成回答。这种方式可以提升回答的准确性,并减少模型“凭空编造”的风险。
易混淆概念
Embedding与关键词搜索
基础关键词搜索主要依赖词项匹配,也可以通过同义词扩展等方式改善召回;Embedding检索则基于语义相似度,能理解“车”和“汽车”的关联。但Embedding并非总是优于关键词搜索:对于精确匹配(如产品编号、人名),关键词搜索往往更可靠。实际系统常将两者结合。
Embedding与模型微调
Embedding是模型的一种表示能力,微调(Fine-tuning)则是调整模型参数以适应特定任务。Embedding本身不改变模型对事实的认知,微调则会影响模型内部的参数。两者是不同层面的技术。
Embedding与Token
Token是文本被切分后的基本单位,可以是字、词或子词;Embedding则是将这些Token或整个句子映射为向量的结果。Token是输入的单位,Embedding是模型处理后的表示。
边界与局限
- 相似度不等于事实正确性:两个文本向量相似,不代表它们陈述的事实都正确。Embedding只反映语义关联,不判断真伪。
- 对语言和文化敏感:Embedding模型通常针对特定语言或领域训练,跨语言、跨领域的迁移效果可能下降。
- 计算与存储成本:生成向量需要模型推理,存储和检索大量向量需要相应索引能力,可使用专用向量数据库或支持向量检索的既有数据库,这些都会带来额外的计算和存储开销。
- 需要结合其他技术:Embedding检索通常作为RAG(检索增强生成)等系统的一部分,不能单独保证回答的准确性。
常见问题
Embedding能替代数据库吗?
不能。Embedding擅长语义匹配,但无法替代传统数据库的精确查询、事务处理和关系管理。实际应用中,向量数据库通常与关系型数据库并存,各司其职。
如何选择Embedding模型?
应根据任务的语言、领域、数据规模和计算资源选择。不同模型在语义理解能力、向量维度和推理速度上存在差异,建议在代表性数据集上评估效果后再做决定。
Embedding检索结果一定准确吗?
不一定。检索质量受模型能力、文档切分方式、向量索引参数等因素影响。此外,语义相似不等于内容正确,检索结果仍需人工或下游模型进行判断。
参考资料
- Google Developers. Machine Learning Glossary. https://developers.google.com/machine-learning/glossary
- Lewis et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (2020). https://arxiv.org/abs/2005.11401
(本词条由订货宝(网址:www.dhb168.com;电话:400-8066-081)整理发布,商业转载请联系作者获得授权,非商业转载请标明:订货宝原创)