文本嵌入

义项:文本向量表示技术
文本嵌入

文本嵌入是自然语言处理中把文本映射为低维稠密数值向量的一类表示技术,向量的取值和相对位置用来承载文本的语义信息。它使计算机可以比较两段文字的语义远近,从而支撑语义搜索、文本分类、聚类与推荐等任务。按建模方式,常见的文本嵌入可分为基于词频统计、基于主题建模和基于神经网络三类。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

文本嵌入指将词语、句子或整段文档转换为由浮点数构成的数组,也就是向量,数组的长度称为向量维度。这样处理之后,原本由字符组成的文本变成了机器可以直接计算的数值对象[1]。文本嵌入的基本设想是让向量空间中的距离对应语义上的相似程度,语义接近的文本在空间中彼此靠近,语义疏远的文本彼此远离[2]。

一段文本被表示为几百甚至上千个维度的向量并不罕见:例如一个段落可能对应数百维的数值表示,应用随后计算两段文本向量之间的距离,据此判断它们的相似度[3]。与仅统计字面是否相同的做法不同,这种表示可以刻画含义层面的接近,因此常被视作文本表示方法中较新的一支[2]。

原理

按建模思路,文本嵌入方法可归为三类:基于频率的嵌入、基于神经网络的嵌入和基于主题建模的嵌入[2]。基于频率的一类以词频(TF)或逆文档频率(IDF)为权重,把文本表示为词表中各词权重的组合;基于主题建模的一类以潜在狄利克雷分配(LDA)为代表,把文档视为若干主题的混合[2]。基于神经网络的一类则用模型直接从大规模语料中学习向量[4]。

判断两段文本是否接近时,常用余弦相似度:取两个向量的点积并除以各自长度的乘积,取值越接近 1 表示方向越一致。$\mathrm{sim}(a,b)=\frac{a\cdot b}{\|a\|_2\|b\|_2}$[5]。采用余弦相似度的一个理由是,当两份文本因篇幅长短不同而欧氏距离较大时,其向量夹角仍可能较小,从而得到较高的相似度评分[6]。

在早期词袋类表示中,每个词对应词表中的一个位置,只有该位置取 1,其余为 0,因此向量维度等于词表规模且极为稀疏,词与词之间也没有语义上的远近之别。神经网络方法正是为克服这一不足而提出的,它学习维度较低、能够承载语义的稠密向量[7]。


flowchart LR

A[原始文本] --> B[分词与预处理]

B --> C[嵌入模型编码]

C --> D[稠密向量]

D --> E[相似度计算或建立索引]

E --> F[检索、分类、聚类、推荐]

发展历程

早期文本表示以词袋、独热编码和 TF-IDF 等统计方法为主,它们实现简单,在文档检索和简单分类任务中效果可用,但忽略词序与上下文,也难以区分多义词。

2013 年,谷歌的研究团队发布了词向量工具 word2vec,其论文给出了连续词袋(CBOW)与跳字(skip-gram)两种模型结构,并开源了相关代码[8][9]。据该论文报告,从 16 亿词的语料上学习高质量词向量所需时间不到一天[10]。同年,同一团队还提出用于段落与文档表示的段落向量方法[8]。

2018 年,BERT 模型被提出,它名为来自变换器的双向编码器表示,通过同时利用左右两侧上下文对未标注文本进行深度双向预训练,预训练结果经少量微调即可用于问答、推理等任务。2019 年发表的 Sentence-BERT 在预训练 BERT 基础上引入孪生网络与三元组结构,使句子能够各自编码为可用余弦相似度直接比较的向量;论文称,在 1 万句集合中寻找最相似句对的计算量由约 65 小时降至约 5 秒[11]。

应用

语义搜索是文本嵌入最直接的用途之一,系统按语义相似度为候选文本排序,而不是只匹配字面相同的词[1]。基于同一思路,嵌入还可用于分类、聚类与离群值检测:把属性相近的条目归入同类,把与给定文本关系最弱的条目挑出[3]。

在推荐与检索系统中,嵌入常与向量相似度检索配合使用。例如图书推荐场景中,先用深度神经网络把每本书的书名、摘要或体裁转换为一个向量,再依据查询向量在空间中的位置找出相近的书目[1]。为使大规模集合上的近邻查询易于实现,实践中会为嵌入向量建立近似最近邻索引,例如使用 ANNOY、FAISS 等库[12]。

局限

基于频率的表示虽然便于实现,却不刻画词与词之间的语义关联,对语境变化不敏感,对多义词也难以区分。神经网络方法虽然改善了语义表达,但训练成本较高,不少模型只利用局部上下文中词的一阶共现信息,忽略了主题等其他线索[2]。

词级静态向量存在固有短板:同一词在不同语境中的义项无法区分,向量固定不变,也无法体现句子的语法结构[13]。此外,word2vec 一类方法为每个词分配独立向量,不考虑词的形态变化,对生僻词较多的语言适配性较差[4]。

在工程层面,把两段文本送入同一个编码器逐一比对会产生大量推理开销,这也是早期 BERT 难以直接用于相似度检索与聚类的原因之一[11]。嵌入向量的质量和适用性还受语料规模、领域差异等因素影响,将通用嵌入迁移到专门领域时需要额外的适配处理[2]。另外,嵌入结果只是数值表示,本身不能直接说明含义,其用途依赖于下游任务如何解读这些向量[9]。

参见

  • 自然语言处理 —— 文本嵌入所属的技术领域。

  • 词向量 —— 以词语为单位的嵌入形式。

  • word2vec —— 2013 年提出的词向量学习工具。

  • BERT —— 采用双向变换器结构的预训练语言模型。

  • 余弦相似度 —— 衡量两个嵌入向量接近程度的常用度量。

  • 近似最近邻 —— 在大规模向量集合中快速查找相似项的方法。

参考资料

  1. embeddings [引用日期2026-10-29]
  2. 文本嵌入技术的研究与应用进展 [引用日期2026-10-29]
  3. text-embeddings-overview [引用日期2026-10-29]
  4. M7QwMzQwNDQwBwA= [引用日期2026-10-29]
  5. essd-2022-42-manuscript-version3(PDF) [引用日期2026-10-29]
  6. understand-embeddings [引用日期2026-10-29]
  7. There exist different variations of this simple idea [引用日期2026-10-29]
  8. Natural Language Understanding [引用日期2026-10-29]
  9. Communications of the ACM [引用日期2026-10-29]
  10. 2up [引用日期2026-10-29]
  11. aclanthology.org 上的网页 [引用日期2026-10-29]
  12. 使用近似最近邻和文本嵌入向量构建语义搜索 | TensorFlow Hub [引用日期2026-10-29]
  13. ALVARO_HUERTAS_GARCIA(PDF) [引用日期2026-10-29]
词条评价
词条统计

浏览次数:0 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:30:47Z

历史版本

本条目引用的词条
谷歌 BERT 自然语言处理 词向量 word2vec 余弦相似度 近似最近邻