项目介绍:distilbert-base-uncased-finetuned-sst-2-english
这个项目是一个基于模型“distilbert-base-uncased-finetuned-sst-2-english”的自然语言处理工具,旨在通过JavaScript库Transformers.js对文本进行情感分析。这款工具使用了ONNX格式的权重,使其与Transformers.js的兼容性更强。
项目背景
“distilbert-base-uncased-finetuned-sst-2-english”模型最初是一个经过微调的DistilBERT模型,该模型在SST-2数据集上进行调整,主要用于情感分类任务。其轻量级的特性使得它在维持较高精度的同时,更加高效且计算速度更快。
使用说明
为使该工具在web环境下易于使用,用户可以使用NPM来安装Transformers.js JavaScript库。安装的命令如下:
npm i @xenova/transformers
安装完成后,用户可以通过以下示例代码来实现文本的情感分析:
import { pipeline } from "@xenova/transformers";
// 创建情感分析管道
const classifier = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english');
// 分析输入文本
const output = await classifier('I love transformers!');
console.log(output);
// 输出 [{ label: 'POSITIVE', score: 0.999788761138916 }]
// 分析输入文本(返回所有类别的结果)
const output2 = await classifier('I love transformers!', { topk: null });
console.log(output2);
// 输出 [
// { label: 'POSITIVE', score: 0.999788761138916 },
// { label: 'NEGATIVE', score: 0.00021126774663571268 }
// ]
注意事项
当前,这个项目使用单独的仓库来存储ONNX权重,这种做法是暂时的,直到WebML技术得到更广泛的应用。此外,对于希望使模型能够在web环境中使用的开发者,建议使用🤗 Optimum将模型转换为ONNX格式,并将ONNX权重放置在名为onnx
的子文件夹中,类似于本项目的结构。
通过这一项目,用户可以构建高效的情感分析应用,而无需关心底层实现的复杂性,从而专注于开发应用的具体需求。