跳转到主要内容

NLP Text Embedding(文本嵌入)的发展史

dawn

NLP Text Embedding(文本嵌入)的发展史,本质上是计算机如何从“读字”到“解意”的演进过程。它将碎片化的文字转化为数学空间里的连续向量,让计算机能够像人类一样理解语义的关联。

我们可以将其发展历程分为四个里程碑式的断代:


第一代:离散表示时代(20世纪90年代 - 2012年)

核心逻辑:计数与统计

在这一阶段,文字被视为独立的符号,计算机并不理解词与词之间的关系。

  • One-Hot Encoding(独热编码):最简单的表示法。给词典里每个词一个唯一的 ID。
    • 缺点:维度灾难(词典多大,向量就多长);语义孤岛(无法表达“猫”和“狗”比“猫”和“石头”更接近)。
  • TF-IDF(词频-逆文档频率):根据词在文档和语料库中出现的频率来衡量重要性。
    • 价值:至今仍是关键词提取和搜索排序的强力基准。
  • LSA(潜在语义分析):通过矩阵分解(SVD)尝试寻找词语背后的“隐含主题”。
    • 地位:这是人类第一次尝试通过数学手段捕捉语义,但计算成本极高。

第二代:静态分布式表示时代(2013年 - 2017年)

核心逻辑:分布式假设——“物以类聚,词以邻分”

2013年是 NLP 的分水岭,Google 发布了 Word2Vec,开启了深度学习在 NLP 领域的统治。

    • 突破:首次实现了低维、稠密的向量表示,且向量之间的几何距离代表了语义相似度。
  • GloVe (2014):由斯坦福提出,结合了全局统计信息和局部上下文窗。
  • FastText (2016):Facebook 提出,引入了**子词(Sub-word)**信息。
    • 价值:解决了“未登录词(OOV)”问题,能处理拼写错误(如 ebike 和 e-bike 的相似性)。
  • 局限性:这些向量是静态的。一个词无论在什么语境下,向量都一样(如“苹果公司”和“吃苹果”中的“苹果”向量相同,即无法处理歧义)。

Word2Vec (2013):利用“预测上下文”的任务来训练向量。著名的公式:

King−Man+Woman=QueenKing−Man+Woman=Queen


第三代:动态语境嵌入时代(2018年 - 2022年)

核心逻辑:预训练语言模型(Contextualized)

这一阶段,词向量不再是查表(Lookup),而是根据上下文实时计算生成的。

  • ELMo (2018):通过双向 LSTM 训练,首次实现了根据上下文动态改变词向量。
  • BERT (2018):Google 发布,基于 Transformer 架构。
    • 突破:彻底统治了语义理解。同一个词在不同句子中会有完全不同的向量表示,完美解决了多义词问题。
  • Sentence-BERT (SBERT, 2019):这是你提到的 all-MiniLM-L6-v2 的祖先。
    • 价值:BERT 虽然强,但计算两个句子的相似度极慢。SBERT 通过孪生网络结构,让计算机能预先算出句子的 Embedding 并进行极速对比。

第四代:大模型与通用检索时代(2023年 - 至今)

核心逻辑:对比学习、长文本与指令对齐

随着大模型(LLM)的爆发,Embedding 进入了“万物皆可嵌入”且“任务导向”的时代。

  • 对比学习(Contrastive Learning):如 SimCSE。通过让模型判断“这两个句子意思一样,那两个不一样”来大幅提升向量的区分度。
  • OpenAI Embeddings (2023):如 text-embedding-ada-002。通过极大规模的数据训练,提供了极其稳定的多语言通用表示。
  • BGE / GTE 模型 (2024-2026):北京智源(BAAI)等机构开源的模型,在多项榜单(MTEB)中超越了闭源模型。
    • 特点:支持极长的输入(从 512 扩展到 32k 个 token);支持指令触发(Instruction-tuned),即你可以告诉模型:“请为了搜索任务生成向量”或“请为了聚类任务生成向量”。
  • RAG(检索增强生成)的最佳拍档:现在的 Embedding 模型专门针对“寻找答案”进行优化,成为了所有 AI 决策系统的“引路人”。

总结对比

阶段代表模型特点解决了什么?
离散表示TF-IDF简单统计文档关键词匹配
静态向量Word2Vec / GloVe稠密向量、语义距离词语之间的语义关联
动态向量BERT / RoBERTa语境敏感多义词、深度意图理解
句子/任务向量all-MiniLM / BGE极速检索、指令对齐RAG、海量数据秒级聚类

针对你的项目:
你现在所处的重构阶段,正是利用 第四代模型(如 BGE 或 Llama-embedded) 来实现 L4 算力层 的时刻。这意味着你的系统不仅能识别词,还能在毫秒间从数千万的知识节点中,精准定位到与用户意图最吻合的那一个。