🚀 SCIroShot
SCIroShot是一个基于蕴含关系的零样本文本分类模型,使用来自微软学术图谱(MAG)的科学文章自制数据集进行微调。该模型在科学领域实现了SOTA性能,在其他领域也取得了极具竞争力的成果。
🚀 快速开始
SCIroShot是一个基于蕴含关系的零样本文本分类模型,使用来自微软学术图谱(MAG)的科学文章自制数据集进行了微调。所得模型在科学领域实现了SOTA性能,在其他领域也取得了极具竞争力的成果。
from transformers import pipeline
zstc = pipeline("zero-shot-classification", model="BSC-LT/sciroshot")
sentence = "Leo Messi is the best player ever."
candidate_labels = ["politics", "science", "sports", "environment"]
template = "This example is {}"
output = zstc(sentence, candidate_labels, hypothesis_template=template, multi_label=False)
print(output)
print(f'Predicted class: {output["labels"][0]}')
✨ 主要特性
- 基于蕴含关系的零样本文本分类模型。
- 使用科学文章自制数据集微调,在科学领域达到SOTA性能。
- 在其他领域也有极具竞争力的表现。
📦 安装指南
文档未提供安装步骤,故跳过此章节。
💻 使用示例
基础用法
from transformers import pipeline
zstc = pipeline("zero-shot-classification", model="BSC-LT/sciroshot")
sentence = "Leo Messi is the best player ever."
candidate_labels = ["politics", "science", "sports", "environment"]
template = "This example is {}"
output = zstc(sentence, candidate_labels, hypothesis_template=template, multi_label=False)
print(output)
print(f'Predicted class: {output["labels"][0]}')
高级用法
文档未提供高级用法代码示例,故跳过此部分。
📚 详细文档
模型概述
点击展开
- 模型类型:语言模型
- 架构:RoBERTa-large
- 语言:英语
- 许可证:Apache 2.0
- 任务:零样本文本分类
- 数据:微软学术图谱
- 额外资源:
预期用途
该模型旨在用于英语零样本文本分类。
局限性和偏差
未采取措施来估计模型中嵌入的偏差和毒性。
尽管微调数据(具有科学性质)可能看起来无害,但需要注意的是,用于预训练原始模型的语料库很可能包含大量来自互联网的未过滤内容,如RoBERTa-large模型卡片中所述。
训练
训练数据
我们的数据基于来自微软学术图谱(MAG)的科学领域标注数据。该数据库由一个异构图组成,包含来自科学出版物和专利的数十亿条记录,以及作者、机构、期刊、会议及其引用关系等元数据信息。
文档按照科学概念的六级层次结构进行组织,其中最上面两层是手动策划的,以保证较高的准确性。
为了创建训练语料库,从MAG中随机抽取了2000年至2021年期间发表的科学文章,获取了它们的英文标题和摘要。这产生了超过200万篇文档及其相应的研究领域,这些研究领域来自一级MAG分类法(292个可能的类别,如“计算生物学”或“运输工程”)。
微调数据集是以弱监督的方式构建的,将文本分类数据转换为蕴含格式。利用科学文本与其在一级MAG分类法中匹配概念之间的关系,我们能够生成与蕴含标签对应的前提 - 假设对。相反,我们通过去除文本与其科学概念之间的实际关系,并创建与它们不匹配的虚拟关系来生成中立标签的对。
训练过程
上一节中描述的新创建的科学数据集用于在蕴含任务上微调一个具有3.55亿参数的RoBERTa模型。为此,模型必须计算输入的每个文本与所有候选标签之间的蕴含分数。最终预测将是单标签分类设置中得分最高的类别,或者是多标签场景中高于某个阈值的N个类别。
训练数据中的52个标签被保留下来,用作完全未见类别的开发集。新颖之处在于,验证不是在蕴含任务(用作代理)上进行的,而是直接在目标文本分类任务上进行的。这使我们能够通过早停在合适的时间停止训练,从而防止模型对训练任务“过拟合”。这种方法是我们应对在实验期间凭经验发现的一种效应的方式,即在某一点之后,尽管模型在训练任务(RTE)中仍在继续改进,但在目标任务(ZSTC)中可能会开始变差。仅仅缩短训练时间就带来了性能的提升。
有关方法和RTE/ZSTC相关性分析的更多详细信息,请阅读论文。
评估
评估数据
模型的性能在一组带有学科标签的文本数据集上进行了评估,这些数据集既来自科学领域(更接近训练数据),也来自通用领域(以评估泛化能力)。
下表概述了每个数据集的示例数量和标签数量:
数据集 |
标签数量 |
规模 |
arXiv |
11 |
3,838 |
SciDocs-MeSH |
11 |
16,433 |
SciDocs-MAG |
19 |
17,501 |
Konstanz |
24 |
10,000 |
Elsevier |
26 |
14,738 |
PubMed |
109 |
5,000 |
主题分类 (雅虎问答) |
10 |
60,000 |
情感检测 (UnifyEmotion) |
10 |
15,689 |
情境框架检测 (情境类型) |
12 |
3,311 |
有关每个特定数据集的更多详细信息,请参考论文。
评估结果
以下是论文中报告的官方结果:
科学领域基准测试
模型 |
arXiv |
SciDocs-MesH |
SciDocs-MAG |
Konstanz |
Elsevier |
PubMed |
fb/bart-large-mnli |
33.28 |
66.18🔥 |
51.77 |
54.62 |
28.41 |
31.59🔥 |
SCIroShot |
42.22🔥 |
59.34 |
69.86🔥 |
66.07🔥 |
54.42🔥 |
27.93 |
通用领域基准测试
除主题分类数据集按照(Yin et al., 2019)的符号以准确率进行评估外,上述所有数字均代表按标签加权的F1值。
额外信息
作者
- SIRIS实验室,SIRIS学术研究部。
- 语言技术单元,巴塞罗那超级计算中心。
联系方式
如需更多信息,请发送电子邮件至 langtech@bsc.es 或 info@sirisacademic.com。
许可证
本作品根据Apache许可证,版本2.0分发。
资金支持
本工作部分由欧盟H2020研究与创新计划下的2个项目资助:
- INODE(赠款协议编号863410)。
- IntelComp(赠款协议编号101004870)。
引用
@inproceedings{pamies2023weakly,
title={A weakly supervised textual entailment approach to zero-shot text classification},
author={P{\`a}mies, Marc and Llop, Joan and Multari, Francesco and Duran-Silva, Nicolau and Parra-Rojas, C{\'e}sar and Gonz{\'a}lez-Agirre, Aitor and Massucci, Francesco Alessandro and Villegas, Marta},
booktitle={Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics},
pages={286--296},
year={2023}
}
免责声明
点击展开
本仓库中发布的模型旨在用于通用目的,并根据Apache v2.0许可证提供给第三方。
请记住,该模型可能存在偏差和/或其他不良失真。当第三方使用此模型(或基于它的系统)向其他方部署或提供系统和/或服务,或者成为模型本身的用户时,他们应该注意,减轻其使用带来的风险并在任何情况下遵守适用法规,包括有关人工智能使用的法规,是他们的责任。
在任何情况下,模型的所有者和创建者均不对第三方使用所产生的任何结果负责。
🔧 技术细节
SCIroShot模型基于RoBERTa-large架构,通过对科学文章数据的微调,在零样本文本分类任务中展现出强大性能。其训练过程结合了弱监督学习和蕴含任务,通过早停策略避免过拟合,提升了模型在目标任务上的表现。评估过程使用了多个科学和通用领域的数据集,全面验证了模型的性能和泛化能力。
📄 许可证
本工作根据Apache许可证,版本2.0分发。