Kur'ân için hibrit bir arama ve metin analiz motoru — Arapça üzerinde ISRI kök bulucuyla BM25, diller arası çeviri gömme vektörleri ve Tanzil külliyatına doğrulanmış harf/Ebced hesapları.
Rol
Yazar ve sürdürücü
Tarih
Oca 2026
Yığın
Python
BM25
ISRI stemmer
Translation embeddings
FastAPI
Problem
Kur'ân'ı iyi aramak ve analiz etmek göründüğünden zordur. Arapça biçimbilimsel açıdan zengindir, bu yüzden naif anahtar kelime araması bariz eşleşmeleri kaçırır; kullanıcılar yalnızca Arapça değil, Türkçe ve İngilizce de sorgular; harf sayıları ve Ebced toplamları yaygınca dolaşır ama nasıl hesaplandıkları gösterilmediği için çoğu zaman yanlıştır.
Kısıtlar
▸
Her sayı ve Ebced toplamı, iddia edilmek yerine yetkili bir külliyata karşı harf-harf doğrulanabilir olmalıdır.
▸
Sorgular Arapçanın yanı sıra Türkçe ve İngilizce de gelir; motor diller arasında köprü kurmalıdır.
Yaklaşım
Mizan, klasik bilgi erişimini modern diller arası gömme vektörleriyle birleştirir. BM25, bir ISRI kök bulucu aracılığıyla Arapça kaynak üzerinde biçimbilim duyarlı sözcüksel aramayı yürütür; çeviri gömme vektörleri Türkçe ve İngilizce sorguları Arapça metne bağlar. Harf sayımı ve Ebced hesabı hesaplanır ve ardından Tanzil.net'e karşı harf-harf doğrulanır.
Önemli kararlar
Saf sözcüksel ya da saf anlamsal arama yerine hibrit erişim
ISRI kök buluculu BM25, Arapça üzerinde kesin ve açıklanabilir sözcüksel eşleşmeler verir; çok dilli gömmeler diller arası ve başka sözcüklerle ifade edilmiş sorguları yakalar. Hiçbiri tek başına hem bir âlimin tam-ifade aramasını hem de sıradan bir Türkçe soruyu kapsamaz.
Her sonuca yeniden üretilebilirlik meta-verisi ekle
Her arama ve analiz sonucu, onu hesaplamak için kullanılan veri kümesi SHA'sını, model sürümünü ve metodoloji notlarını taşır; böylece motorun ürettiği herhangi bir sayı bağımsız olarak yeniden oluşturulabilir ve güvenilir olur.
Mimari
Arapça, Türkçe veya İngilizce bir sorgu FastAPI servisine girer. Hibrit erişimci, Arapça kaynak üzerinde BM25'i (ISRI kök buluculu) çok dilli bir gömme yedeğiyle paralel çalıştırır, sonuçları birleştirir ve analiz motorunun harf ve Ebced sayımlarıyla birlikte döndürür — her yanıt yeniden üretilebilirlik meta-verisi taşır.
BM25 + ISRI ve bir çeviri-gömme yedeği, tek bir birleşik ve meta-veri etiketli sonucu besler.
Sonuç
Mizan, 172 test geçen bir FastAPI servisi ve bir Python istemcisi olarak gelir — sayımlar ve Ebced toplamları, bayt düzeyinde yeniden üretilebilirlikle Tanzil külliyatına karşı doğrulanmıştır. Daha sonra Muhabbet yığınına bağlanacak şekilde tasarlanmıştır.
Rakamlarla
172 Geçen test
3 Köprülenen sorgu dili
Tanzil corpus Sayım doğrulaması
SHA + model + notes Sonuç başına yeniden üretilebilirlik etiketi
Aşağıdaki yapılandırılmış bölümler Türkçe mevcuttur; ayrıntılı anlatım İngilizce yazılmıştır. Tam Türkçe çeviri henüz mevcut değildir.
Derinlemesine
Mizan (“the scale” / “the balance”) combines classical information retrieval
with modern cross-language embeddings to make Quranic text searchable and its
letter-level statistics verifiable.
Why hybrid retrieval
Arabic is morphologically rich: the same root surfaces in many inflected forms.
A plain keyword index misses obvious matches, so Mizan runs BM25 over the
Arabic with an ISRI stemmer to get morphology-aware lexical recall. But a
scholar’s exact-phrase lookup and a casual Turkish question are different
problems — the second needs to bridge languages. So a multilingual
translation-embedding path runs alongside BM25 and catches cross-language and
paraphrase queries. The two are merged into one ranked result.
Verifiable, not just asserted
The part that matters most for trust is the numbers. Letter counts and Abjad
(numerological) totals circulate widely and are frequently wrong because nobody
shows the work. Mizan computes them and then verifies them letter-by-letter
against the Tanzil corpus, and every search and analysis result carries the
dataset SHA, the model version, and the methodology notes used to produce it.
That means any number the engine reports can be reconstructed independently —
the result is reproducible down to the byte.
Where it goes next
Mizan is a FastAPI service plus a Python client, with 172 tests passing. It
is built to plug into the Muhabbet stack later, so the same verified retrieval
and analysis can sit behind a conversational interface. The source is public on
GitHub.