语言: 意大利语
许可证: MIT
标签:
- 文本分类
- PyTorch
- TensorFlow
数据集:
- multi_nli
- glue
流水线标签: 零样本分类
小部件示例:
- 文本: "第二次世界大战见证了1939年至1945年间所谓的轴心国与同盟国的对抗,如同第一次世界大战的交战方一样,双方在全球大部分地区展开战斗;冲突始于1939年9月1日纳粹德国对波兰的进攻,欧洲战场于1945年5月8日以德国投降告终,亚洲战场则在随后的9月2日因广岛和长崎原子弹轰炸后日本帝国投降而结束。"
候选标签: 战争, 历史, 时尚, 食物
多类别: 是
模型索引:
- 名称: Jiva/xlm-roberta-large-it-mnli
结果:
- 任务:
类型: 自然语言推理
名称: 自然语言推理
数据集:
名称: glue
类型: glue
配置: mnli
拆分: validation_matched
指标:
- 类型: 准确率
值: 0.8819154355578197
名称: 准确率
已验证: 是
验证令牌: [省略]
[其他指标详情类似省略...]
XLM-roBERTa-large-it-mnli
版本0.1
|
意大利语匹配准确率 |
意大利语不匹配准确率 |
XLM-roBERTa-large-it-mnli |
84.75 |
85.39 |
模型描述
本模型基于xlm-roberta-large,在从MNLI语料库自动翻译的意大利语子集上进行微调,专用于意大利语文本的零样本分类,例如配合Hugging Face的ZeroShotClassificationPipeline使用。
使用场景
适用于意大利语文本的零样本分类。由于基础模型预训练涵盖100种语言(参见XLM Roberata论文附录A),该模型对其他语言也展现一定效果。英语分类推荐使用bart-large-mnli或其蒸馏版本。
通过零样本分类流水线
from transformers import pipeline
classifier = pipeline("zero-shot-classification",
model="Jiva/xlm-roberta-large-it-mnli", device=0, use_fast=True, multi_label=True)
支持跨语言分类,例如标签用意大利语而待分类文本用其他语言:
待分类文本 = "撒丁岛是意大利特别行政区,人口1,592,730,首府卡利亚里,官方双语名称为Regione Autonoma della Sardegna / Regione Autònoma de Sardigna。"
候选标签 = ["地理", "政治", "汽车", "食物", "时尚"]
classifier(待分类文本, 候选标签)
提供翻译后的假设模板效果更佳:
假设模板 = "本文讨论的是{}"
手动PyTorch调用
from transformers import AutoModelForSequenceClassification, AutoTokenizer
nli_model = AutoModelForSequenceClassification.from_pretrained('Jiva/xlm-roberta-large-it-mnli')
tokenizer = AutoTokenizer.from_pretrained('Jiva/xlm-roberta-large-it-mnli')
前提 = 文本
假设 = f'本文讨论的是{标签}。'
[代码细节省略...]
训练
版本0.1
完整训练集上重新训练,移除了约1000条机器翻译异常的句子对。
指标 |
值 |
学习率 |
4e-6 |
优化器 |
AdamW |
批次大小 |
80 |
马修斯相关系数 |
0.77 |
训练损失 |
0.34 |
验证损失 |
0.40 |
停止步数 |
9754 |
版本0.0
初始基于100种语言预训练,在85%意大利语MNLI训练集(通过Helsinki-NLP/opus-mt-en-it翻译,最大输出序列长度120)上微调1个epoch(学习率4e-6,批次80),剩余15%训练集准确率82%。