基础模型:
- google-bert/bert-base-uncased
数据集:
- Intel/polite-guard
语言:
- en
库名称: transformers
许可证: apache-2.0
管道标签: 文本分类
标签:
- Intel
- transformers.js
模型索引:
- 名称: polite-guard
结果:
- 任务:
类型: 文本分类
数据集:
名称: polite-guard
类型: polite-guard
指标:
- 类型: 准确率
值: 92
名称: 准确率
- 类型: f1分数
值: 92
名称: F1分数
礼貌卫士
- 模型类型: BERT*(来自Transformer的双向编码器表示)
- 架构: 基于BERT-base uncased微调
- 任务: 文本分类
- 源代码: https://github.com/intel/polite-guard
- 数据集: https://huggingface.co/datasets/Intel/polite-guard
礼貌卫士是由英特尔开发的开源NLP语言模型,基于BERT微调用于文本分类任务。它旨在将文本分为四类:礼貌、较为礼貌、中立和不礼貌。该模型及其配套数据集和源代码已在Hugging Face和GitHub上提供,以便社区共同开发更复杂、更具上下文感知的AI系统。
使用场景
礼貌卫士提供了一个可扩展的模型开发流程和方法论,使开发者更容易创建和微调自己的模型。项目的其他贡献包括:
- 增强鲁棒性:
礼貌卫士通过提供对抗攻击的防御机制,增强了系统的韧性。这确保了即使在面对潜在有害输入时,模型也能保持性能和可靠性。
- 基准测试与评估:
该项目引入了首个礼貌基准,允许开发者评估和比较模型在礼貌分类方面的性能。这有助于为该领域的未来发展设定标准。
- 提升客户体验:
通过确保在各种平台上的尊重和礼貌互动,礼貌卫士可以显著提高客户满意度和忠诚度。这对于客户服务应用尤为重要,因为保持积极的语气至关重要。
标签描述
- 礼貌: 文本体贴且表现出尊重和良好的礼仪,通常包括礼貌用语和友好的语气。
- 较为礼貌: 文本总体上尊重但缺乏热情或正式性,以适当的礼貌水平进行交流。
- 中立: 文本直截了当且基于事实,没有情感色彩或特定的礼貌尝试。
- 不礼貌: 文本不尊重或粗鲁,通常直率或轻蔑,表现出对接收者感受的缺乏考虑。
模型详情
- 训练数据: 模型在礼貌卫士数据集上训练,使用了英特尔® Gaudi® AI加速器。训练数据集包括跨多个领域的合成生成的客户服务互动,涵盖金融、旅行、餐饮、零售、体育俱乐部、文化与教育以及专业发展。
- 基础模型: BERT-base,具有12层,1.1亿参数。
- 微调过程: 使用PyTorch Lightning*在礼貌卫士训练数据集上进行微调,超参数如下:
超参数 |
批量大小 |
学习率 |
学习率调度 |
最大周期 |
优化器 |
权重衰减 |
精度 |
值 |
32 |
4.78e-05 |
线性预热(步数的10%) |
2 |
AdamW |
1.01e-06 |
bf16混合 |
超参数调优使用贝叶斯优化和Tree-structured Parzen Estimator (TPE)算法通过Optuna*进行,共35次试验以最大化验证F1分数。超参数搜索空间包括:
学习率: [1e-5, 5e-4]
权重衰减: [1e-6, 1e-2]
微调过程使用Optuna的剪枝回调终止表现不佳的超参数试验,并通过模型检查点保存最佳性能的模型状态。

合成数据生成和微调的代码可在此处找到。
指标
以下是模型在包含合成和手动标注数据的测试数据集上的关键性能指标:
- 准确率: 在礼貌卫士测试数据集上达到92%。
- F1分数: 在礼貌卫士测试数据集上达到92%。
使用方法
您可以直接使用该模型的管道将文本分类为礼貌、较为礼貌、中立和不礼貌。
from transformers import pipeline
classifier = pipeline("text-classification", "Intel/polite-guard")
text = "您的输入文本"
output = classifier(text)
print(output)
下一个示例演示了如何在浏览器中使用Hugging Face的transformers.js
库和webnn-gpu
进行硬件加速运行此模型。
<!DOCTYPE html>
<html>
<body>
<h1>WebNN Transformers.js Intel/polite-guard</h1>
<script type="module">
import { pipeline } from "https://cdn.jsdelivr.net/npm/@huggingface/transformers";
const classifier = await pipeline("text-classification", "Intel/polite-guard", {
dtype: "fp32",
device: "webnn-gpu",
});
const text = "您的输入文本";
const output = await classifier(text);
console.log(`${text}: ${output[0].label}`);
</script>
</body>
</html>
文章
要了解更多关于数据生成器和微调器包的实现,请参考:
更多AI开发相关内容,请访问英特尔® AI开发资源。
加入社区
如果您有兴趣探索其他模型,请加入英特尔和Hugging Face社区。这些模型简化了生成式AI解决方案的开发和采用,同时促进了全球开发者的创新。如果您觉得这个项目有价值,请在Hugging Face上点赞❤️并与您的网络分享。您的支持有助于我们扩大社区并吸引更多贡献者。
免责声明
礼貌卫士已在有限的与客户评论、产品评论和企业通信相关的数据集上进行了训练和验证。在此狭窄用例之外无法保证准确性指标,因此应在部署的具体使用情境中验证此工具。此工具不适用于评估员工绩效。在许多情境中,此工具不足以防止伤害,因此在任何不礼貌言论可能对个人、社区或社会造成伤害的敏感用例中,应使用其他工具和技术。
隐私声明
请注意,礼貌卫士模型使用AI技术,您正在与聊天机器人互动。演示期间使用的提示不会被存储。有关收集的个人数据处理的信息,请参阅全球隐私声明,其中涵盖我们的隐私实践。
*其他名称和品牌可能被声明为他人的财产。