Downloads · 30 days
55
8% of all-time downloads
ece-irem/berturk-legal-chunk-retriever
berturk-legal-chunk-retriever is a sentence similarity model from ece-irem. Use it when you need a score for how close two texts are. It is set up for sentence-transformers. The card lists the license as mit.
Bu model, Ankara Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü son sınıf mezuniyet projesi (BLM 4061-A / BLM 4062 Bilgisayar Mühendisliği Tasarımı) kapsamında geliştirilen Hukuki Asistan sisteminin…
Downloads · 30 days
55
8% of all-time downloads
All-time downloads
730
Public
Parameters
111M
442 MB on disk
Likes
4
Public
Click a slice to open those files.
.safetensors442 MB · 100%
From the Hugging Face model README
Bu model, Ankara Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü son sınıf mezuniyet projesi (BLM 4061-A / BLM 4062 Bilgisayar Mühendisliği Tasarımı) kapsamında geliştirilen Hukuki Asistan sisteminin çekirdek anlamsal getirim (Semantic Information Retrieval) motorudur.
Mevcut hukuk arama sistemlerinin anahtar kelime eşleşmesine (Keyword Matching) dayalı morfolojik yetersizliklerini aşmak adına, "Getir ve Yeniden Sırala" (Retrieve & Re-rank) prensibine dayalı hibrit bir derin öğrenme mimarisi sunmaktadır. Projemiz, Bilişim Vadisi Hızlandırma Programı bünyesinde Birincilik Ödülü'ne layık görülmüş ve ITTA 2026 uluslararası akademik konferansında "Strong Accept" derecesiyle kabul alarak bilimsel olarak tescillenmiştir.
Geliştirilen bu SOTA (State-of-the-Art) Hukuki Asistan projesi, Ankara Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü bünyesinde, yüksek akademik standartlar ve yoğun bir AR-GE (Araştırma-Geliştirme) süreci rehberliğinde hayata geçirilmiştir.
Prof. Dr. Refik SAMET - Ankara Üniversitesi Bilgisayar Mühendisliği
Kullanıcıların sisteme girdiği doğal dil tabanlı hukuki sorguların en doğru emsallerle eşleştirilmesi, arka planda gelişmiş bir vektör uzayı modellemesi ve iki aşamalı hiyerarşik bir süzgeç ile gerçekleştirilir:
Türk yargı sistemine ait mahkeme kararları, yapıları gereği son derece uzun, ağdalı ve karmaşık hukuki terminolojiler içerir. Derin öğrenme ve transformatör tabanlı modern dil modellerinin işlem kapasitesi, belirli bir maksimum dizi uzunluğu (512 token) ile sınırlıdır. Ham bir kararın modele tek parça halinde doğrudan beslenmesi metnin kırpılmasına (truncation) ve en hayati bilgileri barındıran gerekçe bölümlerinin kaybolmasına neden olur.
Bu kısıtı aşmak amacıyla geliştirdiğimiz Tokenized Fixed-Window Chunking mekanizması, uzun dökümanları belirli oranlarda örtüşen (overlapping) pencereler yardımıyla, anlamsal bütünlüğü korunmuş daha küçük metin dilimlerine (chunks) böler. Böylece hem modelin sınırları aşılmaz hem de dökümanın farklı yerlerindeki bağlamsal geçişler korunmuş olur.
Sistemimiz, leksikal (kelime tabanlı) arama ile yoğun semantik (vektör tabanlı) aramayı ardışık düzende birleştiren İki Aşamalı Sıralı Hibrit (Two-Stage Sequential Hybrid) bir akış yürütür:
$$\text{Cosine Similarity} = \frac{A \cdot B}{|A| |B|}$$
olarak anlık olarak skorlanır.
Türk hukuk sistemindeki dijitalleşme ve döküman sayısındaki logaritmik artış, hukuk profesyonellerinin (avukatlar, hakimler, araştırmacılar) bir davanın kaderini belirleyecek "öz hakiki emsal kararlara" ulaşmasını zorlaştırmaktadır.
Hukuki Asistan projesinin temel amacı; doğal dil işleme (NLP) ve derin öğrenme tekniklerini kullanarak, yapısal olmayan ham yargı kararlarını anlamsal segmentlere ayırmak ve kullanıcı sorgularıyla dökümanların derin hukuki gerekçeleri (reasoning) arasında semantik bağ kurarak nokta atışı emsal tespiti gerçekleştirmektir. Proje, güncel sektörel ihtiyaçlar doğrultusunda Türkiye Barolar Birliği (TBB) Yapay Zeka ve Avukatlık Çalıştayı standartlarında etik ve veri gizliliği kurallarına tam uyumlu olarak tasarlanmıştır.
Uzun ve ağdalı hukuk metinlerinin dil modellerindeki Maksimum Dizi Uzunluğu (Max Sequence Length) kısıtlarına takılmasını engellemek amacıyla özgün bir veri mühendisliği boru hattı inşa edilmiştir:
meta_data): case_id, court_name, esas_no, karar_no gibi ayırt edici parametreler döküman takibi için izole edilmiştir.rrl_segments): Kararın özünü oluşturan olay örgüsü (facts_text), hakimin karar gerekçesi (reasoning_text) ve nihai hüküm fıkrası (verdict_text) ayrı alanlara bölünerek hedeflenmiş arama (Targeted Retrieval) kabiliyeti kazandırılmıştır.mentioned_laws) semantik ilişkulendirme için filtrelenmiş; yoğun retrieval modelleri için üretilen özel özetler (summary_for_model) vektör uzayı hizalamasında kullanılmıştır.Projenin teknik olgunlaşma süreci, 5 sıralı ve temizlenmiş (cleared outputs) araştırma not defteri üzerinden tekrarlanabilir (reproducible) bir şekilde yürütülmüştür:
01_Data_Prep_and_Classification.ipynb: VisionLM katmanından çıkan ham veriler doğrulanmış, summary_for_model alanlarında oluşan metinsel kesintiler (... karakterleri) ve potansiyel veri sızıntıları (data leakage) temizlenerek veri kümesi model eğitimine hazır hale getirilmiştir.02_Lexical_Search_BM25.ipynb: Vektörel modellere geçmeden önce, kelime frekansı ve birebir eşleşmeye dayalı geleneksel arama algoritmalarının veri seti üzerindeki temel performans sınırları (baseline) ve emsal kararları kaçırma oranları analitik olarak raporlanmıştır.03_Dense_Models.ipynb: Taban model olarak dbmdz/bert-base-turkish-cased (BERTurk) seçilmiş ve kontrastif öğrenme tabanlı Multiple Negatives Ranking Loss (MNRL) ile eğitilmiştir. Mini-batch içindeki diğer dökümanlar "In-batch Negative" kabul edilerek sorgu ile doğru karar arasındaki Kosinüs Benzerliği optimize edilmiştir.04_Hybrid_Models.ipynb: Kelime benzerliği eşleşmelerindeki (Vocabulary Mismatch) kaçırma risklerini sıfırlamak adına, BM25L Plus algoritması kaba eleme (Coarse Retrieval) katmanı olarak sisteme entegre edilmiştir. Arama uzayı ilk 50 dökümana daraltılarak modelin Recall tavanı güvenceye alınmıştır.05_Final_Champion_Optimization.ipynb: Model, Google Colab Pro üzerinde NVIDIA A100-SXM4-40GB GPU mimarisinde 20 epoch tavanıyla eğitime alınmış; validasyon seti üzerindeki anlık MRR skoru izlenerek patience=3 erken durdurma (Early Stopping) kriteriyle Epoch 8 yakınsama zirvesinde mühürlenmiştir.Projenin deneysel doğrulaması, hiperparametre optimizasyon döngüleri (iç validasyon verileri) ve proje ekibimiz tarafından tüm yargı kararlarının tek tek manuel incelenmesiyle oluşturulan tamamen izole bağımsız Gold-Set test ortamı üzerinde gerçekleştirilmiştir.
Aşağıdaki tablo, bert-base-turkish-cased mimarisinin VisionLM ile ayrıştırılan 10 farklı anlamsal metin yerleşim stratejisi altındaki iç validasyon performans taramasını (Grid-Search) listelemektedir:
| Model | Strateji / Segment | Loss Tipi | Optimal Epoch | Test MRR | R@1 (%) | R@5 (%) | R@10 (%) |
|---|---|---|---|---|---|---|---|
| bert-base-turkish-cased | strategy_facts_only | MNRL | 2 | 0.5439 | 48.00 | 62.00 | 69.50 |
| bert-base-turkish-cased | strategy_reasoning_only | MNRL | 3 | 0.7218 | 67.50 | 79.50 | 84.00 |
| bert-base-turkish-cased | strategy_verdict_only | MNRL | 4 | 0.1802 | 13.00 | 24.50 | 33.00 |
| bert-base-turkish-cased | strategy_facts_reasoning | MNRL | 4 | 0.7201 | 65.00 | 80.50 | 86.00 |
| bert-base-turkish-cased | strategy_reasoning_verdict | MNRL | 2 | 0.7015 | 63.50 | 80.50 | 82.50 |
| bert-base-turkish-cased | strategy_head_tail_25_75 | MNRL | 3 | 0.7023 | 63.50 | 79.00 | 85.00 |
| bert-base-turkish-cased | strategy_head_tail_50_50 | MNRL | 7 | 0.7211 | 65.00 | 82.00 | 86.50 |
| bert-base-turkish-cased | strategy_head_tail_75_25 | MNRL | 2 | 0.7404 | 69.00 | 81.00 | 85.00 |
| bert-base-turkish-cased | strategy_segment_mix | MNRL | 4 | 0.7761 | 72.00 | 84.50 | 89.50 |
| bert-base-turkish-cased | chunking | MNRL | 8 | 0.7839 | 72.07 | 87.71 | 91.90 |
Bilimsel Çıkarım: Sadece kısa sonuç fıkralarına (strategy_verdict_only) odaklanmak yetersiz kalırken, dökümanı anlamsal pencerelere bölen Chunking stratejisi iç doğrulamada 0.7839 MRR ile en yüksek performansa ulaşmıştır.
Aşağıdaki tablo, test edilen 5 farklı dil modeli mimarisinin kendi içlerindeki en iyi konfigürasyonlarıyla, bağımsız Gold-Set üzerindeki saf semantik getirim (DPR) performansını listelemektedir:
| Model Architecture | Optimal Strategy | Gold-Set MRR | Gold-Set R@1 (%) | Gold-Set R@5 (%) | Gold-Set R@10 (%) | Gold-Set R@50 (%) |
|---|---|---|---|---|---|---|
| bert-base-turkish-cased | chunking | 0.3786 | 28.57 | 57.14 | 57.14 | 85.71 |
| xlm-roberta-base | chunking | 0.1614 | 14.29 | 14.29 | 14.29 | 42.86 |
| paraphrase-multilingual-MiniLM-L12-v2 | chunking | 0.3605 | 14.29 | 57.14 | 57.14 | 71.43 |
| paraphrase-multilingual-mpnet-base-v2 | chunking | 0.3716 | 28.57 | 42.86 | 57.14 | 85.71 |
| bert-base-turkish-cased-mean-nli-stsb-tr | strategy_reasoning_only | 0.0680 | 0.00 | 14.29 | 28.57 | 28.57 |
Aşağıdaki tablo, kelime frekansı tabanlı kaba eleme (BM25L Plus) katmanı entegre edildikten sonra 5 model mimarisinin bağımsız test kümesi üzerindeki hibrit performans sıçramasını net bir şekilde göstermektedir:
| Model Architecture | Selected Strategy | Sequential Hybrid MRR | Hybrid R@1 (%) | Hybrid R@5 (%) | Hybrid R@10 (%) | Hybrid R@50 (%) |
|---|---|---|---|---|---|---|
| bert-base-turkish-cased | chunking | 0.5951 | 57.14 | 57.14 | 57.14 | 100.00 |
| xlm-roberta-base | chunking | 0.2434 | 14.29 | 42.86 | 42.86 | 100.00 |
| paraphrase-multilingual-MiniLM-L12-v2 | chunking | 0.4543 | 28.57 | 57.14 | 71.43 | 100.00 |
| paraphrase-multilingual-mpnet-base-v2 | chunking | 0.4115 | 28.57 | 42.86 | 71.43 | 100.00 |
| bert-base-turkish-cased-mean-nli-stsb-tr | strategy_reasoning_only | 0.0776 | 0.00 | 14.29 | 28.57 | 42.86 |
Aşağıdaki tablo, optimizasyon döngüleri tamamlanan en iyi modelimizin saf semantik arama ile iki aşamalı sıralı hibrit arama mimarileri arasındaki performans farkını tüm netliğiyle ortaya koymaktadır:
| Pipeline Architecture | MRR | R@1 (%) | R@5 (%) | R@10 (%) | R@50 (%) |
|---|---|---|---|---|---|
| BERT-Base-Turkish (Pure Dense) | 0.5762 | 42.86 | 85.71 | 85.71 | 100.00 |
| 🚀 BERT-Base-Turkish (Sequential Hybrid) | 0.7500 | 57.14 | 100.00 | 100.00 | 100.00 |
Bu modeli projenizde semantik arama, metin benzerliği hesaplama veya re-ranker tabanlı kaba getirim süreçlerinde entegre etmek için sentence-transformers kütüphanesini kullanabilirsiniz:
from sentence_transformers import SentenceTransformer, util
import torch
# 1. En İyi Modelin Hugging Face Üzerinden Yüklenmesi
model = SentenceTransformer("ece-irem/berturk-legal-chunk-retriever")
# 2. Örnek Hukuki Doğal Dil Arama Sorgusu
sorgu = "Sosyal medya danışmanlık şirketinin avukatlık yetkisi olmadığı halde internet üzerinden dava takip hizmeti vadetmesi ve haksız rekabet yaratması."
# 3. VisionLM ve Chunking İşleminden Geçmiş Emsal Karar Havuzu
emsal_kararlar = [
"Avukatlık Kanunu'nun 35. maddesine göre yalnız avukatların yapabileceği işleri, yetkisi olmayan kişilerin internet siteleri aracılığıyla sigorta hasar danışmanlığı adı altında yürütmesi haksız rekabet teşkil eder.",
"Ticari alacak davalarında yetkili mahkemenin tayini ve taraflar arasında akdedilen sözleşmedeki tahkim şartının geçerliliğine ilişkin yerel mahkeme kararının incelenmesi.",
"5651 Sayılı Kanun kapsamında kişilik haklarının ihlal edilmesi nedeniyle sosyal medya platformundaki ilgili URL içeriğine erişimin engellenmesi talebi."
]
# 4. Vektör Biçimine Dönüştürme (Embedding Generation)
query_emb = model.encode(sorgu, convert_to_tensor=True)
corpus_embs = model.encode(emsal_kararlar, convert_to_tensor=True)
# 5. Anlamsal Benzerlik Hesaplaması (Semantic Search)
hits = util.semantic_search(query_emb, corpus_embs, top_k=2)
# 6. Sonuçların Ekrana Basılması
print("=== Hukuki Asistan Arama Sonuçları ===")
for hit in hits[0]:
print(f"📄 Karar ID: {hit['corpus_id']} | 🎯 Benzerlik Skoru: {hit['score']:.4f}")
print(f"📝 İçerik: {emsal_kararlar[hit['corpus_id']]}\n")
Bu model, ilişkili iki aşamalı (Two-Stage) hibrit arama boru hatları ve entegre edilen veri mühendisliği mimarisi MIT Lisansı altında açık kaynaklı olarak korunmaktadır.