文本特征提取 (Transformers.js)¶
体验直接在浏览器中运行的 AI 文本特征提取模型!借助 Transformers.js,我们可以将文本转换为密集的向量表示(也称为嵌入/embeddings),这些向量能够捕捉文本的语义信息。
在下面的文本框中输入一些英文文本,然后点击“提取特征”按钮,模型将计算并显示文本的特征向量 (embedding) 的一部分及其维度。
特征向量 (部分展示):
-
向量维度: -
工作原理¶
此演示利用 Transformers.js 库在浏览器中执行文本特征提取:
- 加载库: 通过 CDN 引入 Transformers.js。
- 模型加载: 首次点击“提取特征”按钮时,会从 Hugging Face Hub 下载预训练的特征提取模型 (例如
Xenova/all-MiniLM-L6-v2
)。这类模型,特别是句子转换器 (Sentence Transformers) 模型,经过训练,能够将句子和段落映射到高维向量空间,使得语义相似的文本在向量空间中距离相近。模型下载后会被浏览器缓存。 - 文本处理与特征提取:
- 用户输入的文本被传递给加载的
feature-extraction
pipeline��� - 模型处理输入文本并生成一个数值向量(嵌入)。
- 参数如
pooling
(池化策略,如 'mean' 或 'cls') 和normalize
(是否对向量进行归一化) 会影响最终输出的向量。
- 用户输入的文本被传递给加载的
- 显示结果: 生成的特征向量的维度及其部分数值会显示在页面上。
什么是特征提取/文本嵌入?¶
特征提取是将非结构化数据(如文本)转换为结构化数值表示(特征向量或嵌入)的过程。这些向量旨在捕捉输入数据的核心语义信息。
- 语义相似性: 语义上相似的文本片段,其对应的嵌入向量在向量空间中会更接近。
- 下游任务: 这些嵌入可以用作各种自然语言处理任务的输入,例如:
- 语义搜索: 查找与查询文本语义最相关的文档。
- 文本聚类: 将相似的文本文档分组。
- 文本分类: 作为分类器的输入特征。
- 信息检索 和 推荐系统。
客户端 AI 的优势¶
- 即时处理: 对于短文本,特征提取可以在客户端快速完成。
- 隐私保护: 文本数据保留在用户浏览器中。
- 赋能高级功能: 使得在浏览器中实现语义搜索、文本比较等高级功能成为可能。
- 降低服务器成本: AI 推理在客户端完成。
Transformers.js 使得在 Web 应用中利用强大的预训练模型进行特征提取变得简单易行,为构建更智能的客户端应用提供了基础。