🚀 LEGAL-ROBERTA
LEGAL-ROBERTA是一个特定领域的语言表示模型,它在大规模法律语料库(4.6GB)上进行了微调。该模型能够更好地理解和处理法律文本,在法律相关的自然语言处理任务中具有重要价值。
🚀 快速开始
加载预训练模型
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("saibo/legal-roberta-base")
model = AutoModel.from_pretrained("saibo/legal-roberta-base")
✨ 主要特性
- 领域特定微调:在大规模法律语料库上进行微调,更适合处理法律文本。
- 多任务表现:在法律文本多标签分类和法律案例描述关键词检索等下游任务中进行了基准测试。
📦 安装指南
文档未提及安装步骤,可参考transformers
库的安装方法来安装依赖。
💻 使用示例
基础用法
以下是加载预训练模型的示例代码:
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("saibo/legal-roberta-base")
model = AutoModel.from_pretrained("saibo/legal-roberta-base")
📚 详细文档
演示示例
示例一
句子:'This <mask> Agreement is between General Motors and John Murray .'
模型 |
预测结果1 |
预测结果2 |
预测结果3 |
预测结果4 |
预测结果5 |
Bert |
new |
current |
proposed |
marketing |
joint |
legalBert |
settlement |
letter |
dealer |
master |
supplemental |
legalRoberta |
License |
Settlement |
Contract |
license |
Trust |
示例二
句子:'The applicant submitted that her husband was subjected to treatment amounting to <mask> whilst in the custody of Adana Security Directorate'
模型 |
预测结果1 |
预测结果2 |
预测结果3 |
预测结果4 |
预测结果5 |
Bert |
torture |
rape |
abuse |
death |
violence |
legalBert |
torture |
detention |
arrest |
rape |
death |
legalRoberta |
torture |
abuse |
insanity |
cruelty |
confinement |
示例三
句子:'Establishing a system for the identification and registration of <mask> animals and regarding the labeling of beef and beef products .'
模型 |
预测结果1 |
预测结果2 |
预测结果3 |
预测结果4 |
预测结果5 |
Bert |
farm |
livestock |
draft |
domestic |
wild |
legalBert |
live |
beef |
farm |
pet |
dairy |
legalRoberta |
domestic |
all |
beef |
wild |
registered |
训练数据
训练数据由以下三部分组成:
属性 |
详情 |
专利诉讼(Patent Litigations) |
数据集涵盖了52年的74000多个案例和500多万份相关文件。包含5个不同的文件,详细记录了诉讼方、他们的律师、结果、地点和日期。数据量:原始1.57GB,清理后1.1GB。数据集链接:https://www.kaggle.com/uspto/patent-litigations |
判例法访问项目(Caselaw Access Project,CAP) |
该项目跟踪了360年的美国判例法,其API和批量数据服务包含4000万页美国法院判决和近650万个单独案例。数据量:原始5.6GB,清理后2.8GB。数据集链接:https://case.law/ |
谷歌专利公共数据(Google Patents Public Data) |
包含一组可公开访问的、相互关联的数据库表,用于对国际专利系统进行实证分析。数据量:清理后1GB。数据集链接:https://www.kaggle.com/bigquery/patents |
训练过程
从预训练的ROBERTA-BASE模型开始,在法律语料库上进行微调。
- 微调配置:
- 学习率(lr):5e - 5(带有学习率衰减,最终为4.95e - 8)
- 训练轮数(num_epoch):3
- 总步数(Total steps):446500
- 总浮点运算次数(Total_flos):2.7365e18
- 损失:从1.850开始,最终为0.880
- 困惑度:在法律语料库上微调后的困惑度为2.2735
- 设备:2 * GeForce GTX TITAN X(计算能力:5.2)
评估结果
在两个下游任务上对模型进行了基准测试:
法律多标签文本分类(LMTC)
- 数据集:
- 标签形状:4271
- 频繁标签:739
- 少量标签:3369
- 零标签:163
- 超参数:
- 学习率(lr):1e - 05
- 批量大小(batch_size):4
- 最大序列长度(max_sequence_size):512
- 最大标签数量(max_label_size):15
- 少量标签阈值(few_threshold):50
- 训练轮数(epochs):10
- 丢弃率(dropout):0.1
- 提前停止(early stop):是
- 耐心值(patience):3
🔧 技术细节
局限性
- 掩码语言模型展示问题:在掩码语言模型展示中,标记有前缀 Ġ。这似乎有些奇怪,但尚未能修复。在BPE分词器(ROBERTA的分词器)中,符号 Ġ 表示新标记的开始,预训练分词器词汇表中的大多数标记都以 Ġ 开头。例如:
import transformers
tokenizer = transformers.RobertaTokenizer.from_pretrained('roberta-base')
print(tokenizer.tokenize('I love salad'))
输出:
['I', 'Ġlove', 'Ġsalad']
- 训练不足:LegalRoBERTa的预训练受到可用法律语料库大小的限制,与流行的领域自适应模型相比,预训练步骤的数量较少,这使得LegalRoBERTa明显 训练不足。
📄 许可证
本项目采用Apache-2.0许可证。