|
--- |
|
license: cc-by-nc-sa-4.0 |
|
language: |
|
- tr |
|
pipeline_tag: text-classification |
|
tags: |
|
- legal |
|
--- |
|
|
|
# Multilable classification Model for Legal Texts |
|
|
|
Released in January 2024, this is a Turkish BERT language model pretrained from scratch on an **optimized BERT architecture** using a 2 GB Turkish legal corpus. The corpus was sourced from legal-related thesis documents available in the Higher Education Board National Thesis Center (YÖKTEZ). The model has been fine-tuned for multi-label classification tasks using human-annotated datasets provided by **NewMind**, a legal tech company based in Istanbul, Turkey. |
|
|
|
--- |
|
|
|
## Overview |
|
- **Preprint Paper**: [https://arxiv.org/abs/2407.00648](https://arxiv.org/abs/2407.00648) |
|
- **Architecture**: Optimized BERT Base |
|
- **Language**: Turkish |
|
- **Supported Labels**: |
|
Supported Labels: |
|
|
|
A total of 31 legal-specific labels such as Vergiler (Taxes) and Sözleşme_Bedeli (Contract Price). |
|
|
|
Full list of labels: |
|
'Başlık', 'Ceza_Ödeme_Yükümlülükleri', 'Devir_ve_Temlik', 'Fesih_ve_Sona_Erme', 'Gizlilik', 'Sorumsuzluk_Kaydı', 'Tazminat', 'Mücbir_Sebep', 'Kontrol_Değişikliği', 'Kişisel_Verilerin_Korunması', 'FSM_Hak_ve_Yükümlülükleri', 'Feragat', 'Masraf_ve_Giderler', 'Vergiler', 'Münhasırlık_ve_Özgüleme', 'Uyarlama_Kaydı', 'Rekabet_Yasağı', 'Sigorta', 'Teminat_Kaydı', 'Uygulanacak_Hukuk', 'Uyuşmazlıkların_Çözümü', 'Ödeme', 'Takyidat_Kaydı', 'Hiyerarşi_Kaydı', 'Bildirim_Yükümlülüğü', 'İzin_ve_Onaylar', 'Sözleşme_Bedeli', 'Teminat_Bedeli', 'Sona_Ermeyen_Hüküm_Kaydı', 'Yenileme', 'Other'. |
|
|
|
**Model Name**: LegalTurk Optimized BERT |
|
|
|
--- |
|
|
|
## How to Use |
|
|
|
### Use a pipeline as a high-level helper |
|
```python |
|
from transformers import pipeline |
|
|
|
# Define label list |
|
label_list = [ |
|
'Başlık', 'Ceza_Ödeme_Yükümlülükleri', 'Devir_ve_Temlik', 'Fesih_ve_Sona_Erme', |
|
'Gizlilik', 'Sorumsuzluk_Kaydı', 'Tazminat', 'Mücbir_Sebep', 'Kontrol_Değişikliği', |
|
'Kişisel_Verilerin_Korunması', 'FSM_Hak_ve_Yükümlülükleri', 'Feragat', 'Masraf_ve_Giderler', |
|
'Vergiler', 'Münhasırlık_ve_Özgüleme', 'Uyarlama_Kaydı', 'Rekabet_Yasağı', 'Sigorta', |
|
'Teminat_Kaydı', 'Uygulanacak_Hukuk', 'Uyuşmazlıkların_Çözümü', 'Ödeme', 'Takyidat_Kaydı', |
|
'Hiyerarşi_Kaydı', 'Bildirim_Yükümlülüğü', 'İzin_ve_Onaylar', 'Sözleşme_Bedeli', |
|
'Teminat_Bedeli', 'Sona_Ermeyen_Hüküm_Kaydı', 'Yenileme', 'Other' |
|
] |
|
|
|
# Load model |
|
model = pipeline("text-classification", model="farnazzeidi/multilabel-legalturk-bert-model", return_all_scores=True) |
|
|
|
# Predict |
|
text = ["Her daire için aylık 5 TL + KDV ücret, SITE YÖNETIMI'ne e-posta ile gönderilecektir."] |
|
predictions = model(text) |
|
|
|
# Display results |
|
for i, pred in enumerate(predictions[0]): |
|
print(f"Label: {label_list[i]}, Score: {pred['score']:.4f}") |
|
|
|
``` |
|
|
|
|
|
### Load model directly |
|
```python |
|
from transformers import AutoTokenizer, AutoModelForTokenClassification |
|
import torch |
|
|
|
# Load model and tokenizer |
|
tokenizer = AutoTokenizer.from_pretrained("farnazzeidi/multilabel-legalturk-bert-model") |
|
model = AutoModelForSequenceClassification.from_pretrained("farnazzeidi/multilabel-legalturk-bert-model") |
|
|
|
# Define label list |
|
label_list = [ |
|
'Başlık', 'Ceza_Ödeme_Yükümlülükleri', 'Devir_ve_Temlik', 'Fesih_ve_Sona_Erme', |
|
'Gizlilik', 'Sorumsuzluk_Kaydı', 'Tazminat', 'Mücbir_Sebep', 'Kontrol_Değişikliği', |
|
'Kişisel_Verilerin_Korunması', 'FSM_Hak_ve_Yükümlülükleri', 'Feragat', 'Masraf_ve_Giderler', |
|
'Vergiler', 'Münhasırlık_ve_Özgüleme', 'Uyarlama_Kaydı', 'Rekabet_Yasağı', 'Sigorta', |
|
'Teminat_Kaydı', 'Uygulanacak_Hukuk', 'Uyuşmazlıkların_Çözümü', 'Ödeme', 'Takyidat_Kaydı', |
|
'Hiyerarşi_Kaydı', 'Bildirim_Yükümlülüğü', 'İzin_ve_Onaylar', 'Sözleşme_Bedeli', |
|
'Teminat_Bedeli', 'Sona_Ermeyen_Hüküm_Kaydı', 'Yenileme', 'Other' |
|
] |
|
|
|
# Predict |
|
text = ["Her daire için aylık 5 TL + KDV ücret, SITE YÖNETIMI'ne e-posta ile gönderilecektir."] |
|
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True) |
|
outputs = model(**inputs) |
|
|
|
# Process results |
|
probabilities = torch.sigmoid(outputs.logits) |
|
for i, prob in enumerate(probabilities[0]): |
|
print(f"Label: {label_list[i]}, Probability: {prob.item():.4f}") |
|
|
|
``` |
|
--- |
|
# Authors |
|
Farnaz Zeidi, Mehmet Fatih Amasyali, Çigdem Erol |
|
|
|
--- |
|
|
|
## License |
|
This model is shared under the [CC BY-NC-SA 4.0 License](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en). |
|
You are free to use, share, and adapt the model for non-commercial purposes, provided that you give appropriate credit to the authors. |
|
|
|
For commercial use, please contact [[email protected]]. |