Atıf — Türkçe Atıf Doğrulayıcı · Turkish Citation & Attribution Verifier
Atıf, bir iddiayı ve iddianın dayandığı kaynak metni alır; kaynağın iddiayı tam destekleyip desteklemediğini, kısmen desteklediğini, iddiayla çeliştiğini ya da iddiayı desteklemediğini söyler ve kaynakta kanıt olan kısmı (destekleyen ya da çürüten) karakter düzeyinde işaretler. 307M parametre, CPU'da örnek başına ~0,2 saniye.
Eğitim ve test verisi: furkanbekmezci/atif-turkish-attribution-data
English version below.
Ne işe yarar?
Yapay zekâ cevaplarında, raporlarda ya da haberlerde bir bilgi kaynak gösterilerek verildiğinde, o bilginin kaynakta gerçekten yazıp yazmadığını denetler:
| Etiket | Anlamı |
|---|---|
supported — Tam destekliyor |
İddiadaki bütün bilgiler kaynakta var (farklı kelimelerle, farklı ek ve yapılarla ya da sayının başka yazımıyla olsa da). |
partial — Kısmen destekliyor |
Bilgilerin bir kısmı kaynakta var, en az biri yok (ör. kaynakta olmayan bir tarih, yer ya da "tüm kültürlerde" gibi bir genelleme eklenmiş). Hiçbiri kaynakla çelişmiyor. |
contradicted — Çelişiyor |
En az bir bilgi kaynakla açıkça çelişiyor (farklı sayı/tarih, olumsuzluk, farklı kişi/kurum ya da rol). |
unsupported — Desteklemiyor |
Kaynak iddiayı ne destekliyor ne çürütüyor; ilgili görünse de iddiadaki bilgi kaynakta yok. |
Önemli iki kural: Model dünya bilgisini değil kaynağı esas alır; gerçekte doğru olsa bile kaynakta olmayan bilgi "desteklemiyor" sayılır. Kaynak bir bilgiyi temkinli verdiğinde ("muhtemelen", "tahmin ediliyor", "-mış") onu kesin bir olgu gibi sunan iddia desteklenmiş sayılmaz. Yaygın kısaltma ve eş adlar (TCMB = Merkez Bankası) aynı şey kabul edilir.
Sayısal ve istatistiksel iddialarda karşılaştırmayı hesaplar: eşik ve hedefler ("klinik anlamlılık eşiğini geçti"), sınırlar ("400'den fazla hasta"), yön ve oranlar, yüzde ile yüzde puan farkı, p değeri ya da güven aralığından istatistiksel anlamlılık, istatistiksel anlamlılık ile klinik anlamlılık ayrımı, alt grup sonucunu genelleme, gözlemsel ilişkiyi nedensellik gibi sunma.
Hızlı başlangıç
import sys
from huggingface_hub import snapshot_download
path = snapshot_download("furkanbekmezci/atif-turkish-attribution-verifier")
sys.path.insert(0, path) # modelin yanındaki küçük `atif` paketi
from atif.verifier import Verifier
v = Verifier.from_pretrained(path, device="cpu") # GPU için device="cuda"
kaynak = ("Araştırmacılar, bazı yüz hareketi kümelerinin karşıdaki kişinin kısa süre içinde konuşmaya başlama olasılığıyla "
"ilişkili olduğunu gözlemledi. Bununla birlikte çalışma, bu hareketlerin konuşma başlangıcına doğrudan neden olduğunu göstermiyor.")
sonuc = v.verify("Çalışma, yüz hareketlerinin konuşma başlangıcına doğrudan neden olduğunu kanıtladı.", kaynak)
print(sonuc["label"]) # 'contradicted'
print(sonuc["probs"]) # {'supported': 0.0, 'partial': 0.0, 'contradicted': 1.0, 'unsupported': 0.0}
print(sonuc["spans"]) # [{'start': ..., 'end': ..., 'role': 'refute', 'text': 'birlikte çalışma, bu hareketlerin konuşma başlangıcına doğrudan neden olduğunu göstermiyor.'}]
Toplu kullanım: v.verify_batch(iddialar, kaynaklar, batch_size=16). Gereksinimler: torch, transformers>=4.48, safetensors
(requirements.txt). Kaynak metin 1.536 token'a kadar tek parça işlenir; daha uzun belgeleri paragraflara bölüp kullanın.
Model ve eğitim
- Mimari:
jhu-clsp/mmBERT-basekodlayıcı + iki başlık: 4 sınıflı karar başlığı ve kaynak metnin her token'ı için DESTEK / ÇÜRÜTME / DİĞER etiketleyen kanıt başlığı (birlikte eğitildi). Yayımlanan ağırlıklar, aynı ayarlarla yapılmış iki eğitim çalışmasının düz ortalamasıdır ("model soup"); doğrulama setlerinde iki çalışma birbirinden ayrışmadığı için tek bir çalışmanın rastlantısal kırılganlıklarını azaltan ortalama seçildi. - Veri: 103.007 Türkçe iddia–kaynak çifti (insan etiketlemesi yok):
- 3.328 Türkçe Vikipedi makalesinden paragraflar (53.496 örnek) ve kurgusal haber/duyuru/rapor metinleri (10.027 örnek);
- 752 kurgusal çalışma ve rapor metni (klinik çalışma, kohort, tanı testi, halk sağlığı, hastane kalite, ekonomi, eğitim) üzerinde sayısal ve istatistiksel iddialar (10.603 örnek): eşik, sınır, karşılaştırma, yüzde/puan, basit hesap, yaklaşık değer, p değeri ve güven aralığı, istatistiksel ve klinik anlamlılık, alt grup, çalışma tasarımı, nedensellik — her türün doğru ve yanlış iddiası aynı metin üzerinde;
- iddiaları Gemma 4 31B yazdı; bağımsız ikinci bir çağrı (türleri görmeden) iddiaları yeniden etiketledi ve yalnızca iki çağrının aynı etikette birleştiği örnekler tutuldu;
- aynı iddianın, kaynağı en az değişiklikle düzenlenmiş hâliyle farklı etiket aldığı karşı-olgusal örnekler (12.335) — modelin kaynağa bakmadan tahmin etmesini engellemek için;
- tek cümlelik kısa kanıt (5.168), iki iddianın birleştirildiği kısmi destek örnekleri (11.378), kısaltma/eş ad, eklenmiş bağlam ("Eylül toplantısında"), eski/yeni değer ayırımı ("önceki tahmin %8,2, yeni tahmin %7,7") gibi Türkçe ve gerçek hayata özgü zor durumlar.
- Model seçimi yalnızca doğrulama setiyle yapıldı; test setleri eğitimde kullanılmadı ve makale düzeyinde ayrıldı.
Değerlendirme
Kendi test setlerimiz (eğitimdeki veriyle aynı yöntemle üretilmiş, eğitimde görülmemiş makale ve metinler; 4 sınıf, macro-F1):
| Model | Genel test (4.113) | Kısmi destek F1 | Kanıt işaretleme F1 | Haber tarzı test (2.144) | Elle yazılmış 25 örnek |
|---|---|---|---|---|---|
| Atıf (bu model, 307M) | 95,9 | 95,1 | 88,3 | 97,2 | 21/25 |
| Gemma 4 31B (etiketleri üreten model) | 94,2 | 89,0 | 87,6 | – | – |
| Qwen3-14B (sıfır-atış) | 81,1 | 60,9 | 77,4 | 82,8 | 17/25 |
| mDeBERTa-v3 XNLI (sıfır-atış NLI) | 55,5 | 0,0 | 26,1 | 52,6 | 16/25 |
Kanıt tek cümleye indirildiğinde doğruluk 1,2 puan düşüyor (95,7 → 94,5).
Sayısal ve istatistiksel iddialar:
| Model | Sayısal/istatistiksel test (2.470): doğruluk | kanıt işaretleme F1 | Elle yazılmış 52 sayısal/istatistiksel örnek |
|---|---|---|---|
| Atıf (bu model) | 90,6 | 86,0 | 41/52 |
| Atıf, sayısal veri eklenmeden önce | 58,9 | 63,0 | 30/52 |
| Qwen3-14B (sıfır-atış) | 76,3 | 76,7 | 38/52 |
Sayısal test, eğitim verisiyle aynı yöntemle (Gemma yazar + iki bağımsız Gemma hakem) üretildi; rastgele 30 örneğin elle kontrolünde 29'u açıkça doğru, biri tartışmalıydı. 52 örneklik set tamamen elle yazıldı (kurgusal metinler).
Gerçek, insanların etiketlediği dış veriler (ikili: destekleniyor mu, değil mi; dengeli doğruluk):
| Veri | Atıf | Qwen3-14B | mDeBERTa-v3 XNLI |
|---|---|---|---|
| SEAHORSE-tr — haber özetleri (1.114) | 63,4 | 70,3 | 57,1 |
| SEAHORSE-tr — "nasıl yapılır" talimatları (1.226) | 63,0 | 74,5 | 58,5 |
| RAGTruth-TR — RAG cevap cümleleri (3.000; makine çevirisi) | 67,0 | 75,0 | 58,0 |
Dürüst özet: Atıf, açık bir iddiayı kaynağıyla karşılaştırmada — kısmi desteği, sayısal/istatistiksel karşılaştırmaları ve kanıtın yerini bulmada — çok daha büyük modellerden iyi. Buna karşılık başka modellerin yazdığı serbest özetlerde ve talimat metinlerinde 14B'lik bir LLM'in gerisinde; bu metinlerde gereğinden sık "çelişiyor" deme eğilimi var.
Sınırlılıklar
- Eğitim verisi sentetik (LLM üretimi, insan denetimi olmadan otomatik iki aşamalı kontrol); etiket hataları içerebilir.
- Serbest yazılmış özetler, talimat/liste metinleri ve çok uzun belgeler (>1.536 token) zayıf alanlar.
- Sayısal tarafta oran ve kesir gerektiren hesaplar ("dörtte biri", "iki katına çıktı") ile nedensellik dili hâlâ en sık hata yapılan durumlar (elle yazılmış 52 örneğin 11'i hatalı).
- Son seçim (iki eğitim çalışması ve ortalamaları arasında) doğrulama verisine göre yapıldı; ancak bu karar verilirken test sonuçları da görülmüştü, bu yüzden test sonuçlarında küçük bir iyimserlik payı olabilir.
- Kaynağın doğruluğunu değil, iddianın kaynağa uygunluğunu ölçer. Tıbbi, hukuki ya da finansal kararlarda tek başına kullanılmamalı.
Lisans
Model ağırlıkları ve kod: Apache-2.0. Temel model jhu-clsp/mmBERT-base: MIT. Eğitim verisi Türkçe Vikipedi (CC BY-SA 4.0) ve
Gemma 4 çıktılarından (Apache-2.0) türetildi. Ayrıntı: NOTICE.md.
English
Atıf ("citation" in Turkish) takes a claim and the source passage it cites, and decides whether the source fully supports, partially supports, contradicts or does not support the claim. It also marks the exact evidence span in the source (supporting or refuting) at character level. 307M parameters, ~0.2 s per claim–passage pair on CPU.
| Label | Meaning |
|---|---|
supported |
Every piece of information in the claim is stated in the source (paraphrases, Turkish suffix/structure changes and number formats count). |
partial |
Some of it is in the source, at least one piece is not (an added date, place or generalisation); nothing contradicts the source. |
contradicted |
At least one piece clearly contradicts the source (different number/date, negation, different entity or role). |
unsupported |
The source neither supports nor refutes the claim. |
The model judges against the source, not world knowledge; hedged evidence ("probably", "estimated", evidential -mış) does not support a firm claim; well-known abbreviations and aliases count as the same entity (TCMB = Central Bank of Turkey). For numerical and statistical claims it checks thresholds and targets, bounds ("more than 400 patients"), directions and ratios, percent vs percentage points, statistical significance from p values or confidence intervals, statistical vs clinical significance, subgroup-to-population generalisation and association presented as causation.
Data: training, validation and test sets are at furkanbekmezci/atif-turkish-attribution-data.
Usage: see the quick-start above (Verifier.from_pretrained(path).verify(claim, evidence) → label, probs, spans).
Requirements: torch, transformers>=4.48, safetensors. Inputs up to 1,536 tokens; split longer documents into paragraphs.
Model and training. mmBERT-base encoder with a 4-way classification head and a token-level evidence tagger, trained jointly on 103,007 synthetic Turkish claim–passage pairs: paragraphs from 3,328 Turkish Wikipedia articles, fictional news-style texts, and 752 fictional study and report texts (clinical trials, cohorts, diagnostic tests, public health, hospital quality, economy, education) with numerical/statistical claims in correct–incorrect pairs; claims written by Gemma 4 31B and kept only when an independent second labelling call agreed; plus counterfactual pairs (the same claim with a minimally edited source and a different label), one-sentence evidence, composed partial-support claims, aliases, added context and old-vs-new value alignment. No human annotation. The released weights are the uniform average of two training runs with the same settings (a "model soup"), chosen because the runs could not be separated on the validation sets. Model selection on validation only; tests are held out at the article level.
Evaluation (4-way macro-F1 on our held-out synthetic tests): 95.9 overall (partial-support F1 95.1, evidence-span F1 88.3), 97.2 on news-style texts, 21/25 on a small hand-written challenge set — versus Qwen3-14B zero-shot 81.1 / 82.8 / 17 of 25 and Gemma 4 31B (the model that produced the labels) 94.2. Numerical/statistical claims: 90.6 % accuracy and 86.0 evidence-span F1 on a 2,470-example test (the same model before the numerical data: 58.9 % / 63.0; Qwen3-14B: 76.3 % / 76.7) and 41 of 52 on a hand-written set (before: 30; Qwen3-14B: 38). On real human-labelled data (binary supported vs. not, balanced accuracy) Atıf is behind Qwen3-14B: SEAHORSE-tr news summaries 63.4 vs 70.3, how-to summaries 63.0 vs 74.5, RAGTruth-TR (machine-translated RAG answers) 67.0 vs 75.0. It is strongest at checking explicit claims against their sources (partial support, numbers and statistics, locating evidence) and weaker on free-form summaries written by other models, where it says "contradicted" too often.
Limitations. Synthetic, automatically double-checked training labels (no human review); weaker on abstractive summaries, instruction lists and documents longer than 1,536 tokens; among numerical claims, ratios and fractions ("a quarter", "doubled") and causal language remain the most frequent errors (11 of the 52 hand-written items); the final choice between two training runs and their average was made on validation data, but test results had already been seen at that point, so the test numbers may be slightly optimistic; measures agreement with the source, not truth. Do not use as the sole basis for medical, legal or financial decisions.
License. Weights and code: Apache-2.0. Base model jhu-clsp/mmBERT-base: MIT. Training data derived from Turkish Wikipedia
(CC BY-SA 4.0) and Gemma 4 outputs (Apache-2.0). See NOTICE.md.