🚀 礼貌卫士(Polite Guard)
礼貌卫士(Polite Guard)是英特尔开发的开源NLP语言模型,基于BERT微调而来,用于文本分类任务。它能将文本分为礼貌、有点礼貌、中立和不礼貌四类,助力开发者构建更智能、更具上下文感知能力的AI系统。
🚀 快速开始
你可以直接使用管道将文本分类为礼貌、有点礼貌、中立和不礼貌类别。
from transformers import pipeline
classifier = pipeline("text-classification", "Intel/polite-guard")
text = "Your input 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 = "Your input text";
const output = await classifier(text);
console.log(`${text}: ${output[0].label}`);
</script>
</body>
</html>
✨ 主要特性
- 可扩展的模型开发:提供可扩展的模型开发管道和方法,方便开发者创建和微调自己的模型。
- 增强鲁棒性:为系统提供对抗攻击的防御机制,确保模型在面对潜在有害输入时仍能保持性能和可靠性。
- 基准测试与评估:引入首个礼貌基准,帮助开发者评估和比较模型在礼貌分类方面的性能。
- 提升客户体验:确保在各种平台上进行尊重和礼貌的交互,显著提高客户满意度和忠诚度。
📦 安装指南
文档未提供安装步骤,暂不展示。
💻 使用示例
基础用法
from transformers import pipeline
classifier = pipeline("text-classification", "Intel/polite-guard")
text = "Your input text"
output = classifier(text)
print(output)
高级用法
<!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 = "Your input text";
const output = await classifier(text);
console.log(`${text}: ${output[0].label}`);
</script>
</body>
</html>
📚 详细文档
模型信息
属性 |
详情 |
模型类型 |
BERT*(双向编码器表征,Bidirectional Encoder Representations from Transformers) |
架构 |
微调的 BERT-base uncased |
任务 |
文本分类 |
源代码 |
https://github.com/intel/polite-guard |
数据集 |
https://huggingface.co/datasets/Intel/polite-guard |
标签说明
- 礼貌(polite):文本体贴,表现出尊重和良好的礼仪,通常包含礼貌用语和友好的语气。
- 有点礼貌(somewhat polite):文本通常是尊重的,但缺乏热情或正式感,以得体的礼貌程度进行交流。
- 中立(neutral):文本直接且基于事实,没有情感暗示或特别的礼貌表达。
- 不礼貌(impolite):文本不尊重或粗鲁,通常直言不讳或不屑一顾,表现出对接收者感受的不考虑。
模型细节
- 训练数据:该模型在 礼貌卫士数据集 上进行训练,使用了英特尔® Gaudi® AI加速器。训练数据集由跨多个领域的合成客户服务交互组成,包括金融、旅游、食品和饮料、零售、体育俱乐部、文化和教育以及专业发展。
- 基础模型:BERT-base,有12层,1.1亿个参数。
- 微调过程:使用PyTorch Lightning*在礼貌卫士训练数据集上进行微调,使用以下超参数:
超参数 |
批量大小 |
学习率 |
学习率调度 |
最大轮数 |
优化器 |
权重衰减 |
精度 |
值 |
32 |
4.78e - 05 |
线性预热(步骤的10%) |
2 |
AdamW |
1.01e - 06 |
bf16 - 混合 |
使用Optuna*通过贝叶斯优化和树结构Parzen估计器(TPE)算法进行了35次试验,以最大化验证F1分数。超参数搜索空间包括:
学习率:[1e - 5, 5e - 4]
权重衰减:[1e - 6, 1e - 2]
微调过程使用了Optuna的剪枝回调来终止表现不佳的超参数试验,并使用模型检查点来保存表现最佳的模型状态。

合成数据生成和微调的代码可以在 这里 找到。
指标
以下是模型在包含合成和手动标注数据的测试数据集上的关键性能指标:
- 准确率:在礼貌卫士测试数据集上为92%。
- F1分数:在礼貌卫士测试数据集上为92%。
文章参考
加入社区
如果您有兴趣探索其他模型,欢迎加入英特尔和Hugging Face社区。这些模型简化了生成式AI解决方案的开发和采用,同时促进全球开发者的创新。如果您认为这个项目有价值,请在Hugging Face上点赞❤️ 并与您的人脉分享。您的支持有助于我们扩大社区并吸引更多贡献者。
免责声明
礼貌卫士在有限的客户评论、产品评论和企业通信数据集上进行了训练和验证。在这些狭窄用例之外,无法保证准确性指标,因此应在具体使用场景中验证此工具。此工具不用于评估员工绩效,在许多情况下不足以防止伤害,在不礼貌言论可能对个人、社区或社会造成伤害的任何敏感用例中,应使用其他工具和技术。
隐私声明
请注意,礼貌卫士模型使用AI技术,您正在与聊天机器人进行交互。演示期间使用的提示不会被存储。有关收集的个人数据处理信息,请参考 全球隐私声明,其中涵盖了我们的隐私实践。
🔧 技术细节
文档中关于技术细节的描述已在详细文档中体现,此处不再重复。
📄 许可证
本项目采用Apache 2.0许可证。