跳转至

文本特征提取 (Transformers.js)

体验直接在浏览器中运行的 AI 文本特征提取模型!借助 Transformers.js,我们可以将文本转换为密集的向量表示(也称为嵌入/embeddings),这些向量能够捕捉文本的语义信息。

在下面的文本框中输入一些英文文本,然后点击“提取特征”按钮,模型将计算并显示文本的特征向量 (embedding) 的一部分及其维度。

特征向量 (部分展示):

-

向量维度: -

工作原理

此演示利用 Transformers.js 库在浏览器中执行文本特征提取:

  1. 加载库: 通过 CDN 引入 Transformers.js。
  2. 模型加载: 首次点击“提取特征”按钮时,会从 Hugging Face Hub 下载预训练的特征提取模型 (例如 Xenova/all-MiniLM-L6-v2)。这类模型,特别是句子转换器 (Sentence Transformers) 模型,经过训练,能够将句子和段落映射到高维向量空间,使得语义相似的文本在向量空间中距离相近。模型下载后会被浏览器缓存。
  3. 文本处理与特征提取:
    • 用户输入的文本被传递给加载的 feature-extraction pipeline���
    • 模型处理输入文本并生成一个数值向量(嵌入)。
    • 参数如 pooling (池化策略,如 'mean' 或 'cls') 和 normalize (是否对向量进行归一化) 会影响最终输出的向量。
  4. 显示结果: 生成的特征向量的维度及其部分数值会显示在页面上。

什么是特征提取/文本嵌入?

特征提取是将非结构化数据(如文本)转换为结构化数值表示(特征向量或嵌入)的过程。这些向量旨在捕捉输入数据的核心语义信息。

  • 语义相似性: 语义上相似的文本片段,其对应的嵌入向量在向量空间中会更接近。
  • 下游任务: 这些嵌入可以用作各种自然语言处理任务的输入,例如:
    • 语义搜索: 查找与查询文本语义最相关的文档。
    • 文本聚类: 将相似的文本文档分组。
    • 文本分类: 作为分类器的输入特征。
    • 信息检索推荐系统

客户端 AI 的优势

  • 即时处理: 对于短文本,特征提取可以在客户端快速完成。
  • 隐私保护: 文本数据保留在用户浏览器中。
  • 赋能高级功能: 使得在浏览器中实现语义搜索、文本比较等高级功能成为可能。
  • 降低服务器成本: AI 推理在客户端完成。

Transformers.js 使得在 Web 应用中利用强大的预训练模型进行特征提取变得简单易行,为构建更智能的客户端应用提供了基础。