在当今的自然语言处理领域,文本嵌入技术正如星辰般璀璨,照亮了信息检索、问答系统、语义相似性等多个应用场景。随着大型语言模型(LLMs)的崛起,研究者们发现这些模型在生成高质量文本嵌入方面表现出色。然而,尽管密集嵌入(dense embeddings)在许多任务中占据主导地位,基于词典的嵌入(lexicon-based embeddings)依然具有独特的优势,尤其是在透明性和可解释性方面。本文将深入探讨 LENS(Lexicon-based EmbeddiNgS)框架的具体实现,揭示其如何通过创新的算法设计,提升基于词典的文本嵌入的性能。
🧩 LENS 框架概述
LENS 框架的核心思想是通过聚类技术和双向注意力机制,克服传统 LLM 在词典冗余和单向注意力方面的局限。LENS 的设计流程如下:
- 词典聚类:将原始的词嵌入通过 KMeans 聚类,生成语义相似的词汇组。
- 双向注意力:修改 LLM 的注意力机制,使其能够在生成嵌入时考虑上下文的双向信息。
- 特征生成:通过聚类后的词嵌入生成最终的文本嵌入。
接下来,我们将详细解析 LENS 的算法实现细节。
🔍 1. 词典聚类
1.1 KMeans 聚类算法
LENS 框架首先对 LLM 的词嵌入进行 KMeans 聚类,以减少词典冗余并提高嵌入的表达能力。具体步骤如下:
- 输入:原始的词嵌入矩阵 $E \in \mathbb{R}^{n \times d}$,其中 $n$ 是词汇表的大小,$d$ 是嵌入的维度。
- 聚类:使用 KMeans 算法将这些词嵌入分为 $k$ 个簇。每个簇的中心(centroid)将作为新的词嵌入。 具体的 KMeans 算法步骤如下:
- 随机选择 $k$ 个初始中心点。
- 对于每个词嵌入 $e_i$,计算其与每个中心点的距离,并将其分配到最近的中心点。
- 更新每个簇的中心点为该簇中所有词嵌入的均值。
- 重复步骤 2 和 3,直到中心点不再变化或达到最大迭代次数。
1.2 词嵌入替换
完成聚类后,LENS 将原始的词嵌入替换为其对应簇的中心点。这样,嵌入的维度从 $n$ 降低到 $k$,显著减少了计算复杂度。
🧠 2. 双向注意力机制
传统的 LLM 通常采用单向注意力机制,限制了模型对上下文信息的全面理解。LENS 通过引入双向注意力机制,解决了这一问题。
2.1 注意力机制的修改
在 LENS 中,注意力机制的计算过程如下:
- 输入序列:给定一个输入序列 $X = (x_1, x_2, \ldots, x_n)$,每个 $x_i$ 是一个词嵌入。
- 计算注意力权重:使用双向注意力公式计算每个词对其他词的注意力权重:
- 其中,$\text{score}(x_i, x_j)$ 是计算词 $x_i$ 和 $x_j$ 之间相似度的函数(如点积或余弦相似度)。
- 生成上下文表示:通过加权求和生成每个词的上下文表示:
2.2 训练过程中的注意力调整
在训练过程中,LENS 采用双向注意力来生成嵌入,确保每个词的上下文信息都能被充分利用。这一调整显著提升了模型在文本嵌入任务中的表现。
⚙️ 3. 特征生成
在完成词嵌入的聚类和上下文表示的生成后,LENS 通过以下步骤生成最终的文本嵌入:
- 构建输入格式:对于每个任务,LENS 采用特定的输入格式,例如:
- 计算 logits:将构建的输入序列输入到修改后的 LLM 中,得到 logits 向量 $L = (l_1, l_2, \ldots, l_n)$。
- 应用 log-saturation 和 max-pooling:对 logits 进行 log-saturation 变换,确保权重为非负:
- 然后,使用 max-pooling 计算每个词的最终权重:
- 生成最终嵌入:最终的文本嵌入通过聚合上述权重生成,形成低维的词典嵌入。
📊 性能评估与结果
LENS 在 Massive Text Embedding Benchmark(MTEB)上进行了广泛的实验,结果表明其在多个任务上均优于传统的密集嵌入模型。具体而言,LENS-8000 在完全公共数据上达到了最高的平均性能,证明了其在文本嵌入中的有效性和通用性。
3.1 结果分析
- 聚类效果:LENS 通过聚类显著减少了词典的冗余,提升了嵌入的表达能力。
- 双向注意力:引入双向注意力后,模型在理解上下文方面表现更佳,尤其在复杂的文本嵌入任务中。
- 融合效果:LENS 与密集嵌入的结合进一步提升了性能,显示了两者的互补性。
🌈 结论
LENS 框架通过创新的聚类和双向注意力机制,成功提升了基于词典的文本嵌入的性能。其在 MTEB 上的出色表现,证明了在文本嵌入领域中,结合传统方法与现代 LLM 的潜力。未来,LENS 有望在更多的自然语言处理任务中发挥重要作用,推动文本嵌入技术的进一步发展。
📚 参考文献
- Yibin Lei, Tao Shen, Yu Cao, Andrew Yates. “Enhancing Lexicon-Based Text Embeddings with Large Language Models.” University of Amsterdam, University of Technology Sydney, Tencent IEG.
- Formal et al. “Lexicon-Based Embeddings.”
- Li et al. “LLM2Vec: Aligning LLMs with Text Embedding Tasks.”
- Muennighoff et al. “Massive Text Embedding Benchmark (MTEB).”
- Zhuang et al. “PromptReps: Generating Lexicon-Based Embeddings from LLMs.”
通过以上详实的算法实现和实验结果分析,LENS 框架展示了其在文本嵌入领域的巨大潜力,期待未来更多的研究和应用。
LENS框架的动机在于利用LLM在自然语言理解和推理方面的卓越能力,解决从视觉输入进行推理的任务。
现有的LLM虽然在自然语言处理方面表现出色,但无法直接处理视觉输入。LENS框架通过引入视觉模块,提取图像的文本描述,并将这些描述输入到LLM中,使LLM能够执行视觉和语言任务.
有点奇怪这不就是 Bert那种MLM么?