🚀 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許可證。