Ana içeriğe geç

İki sürümü karşılaştır

Aynı metnin iki hâlini ölçmek — düzenleme öncesi/sonrası, çeviri/asıl, taslak/son — kütüphanenin en doğrudan kullanımıdır. Karşılaştırma adildir çünkü aynı metin, aynı boru hattından iki kez geçer.

Yöntem

import turkish_linguistic_features as tlf

once  = tlf.analyze(once_metin, lang="tr")
sonra = tlf.analyze(sonra_metin, lang="tr")

print(f"{'anahtar':22s} {'önce':>10} {'sonra':>10} {'fark':>10}")
for k in ("sent_len_mean", "word_len_mean", "syllable_mean", "atesman",
          "cetinkaya_uzun", "ttr", "long_word_ratio"):
    print(f"{k:22s} {once[k]:10.4f} {sonra[k]:10.4f} {sonra[k]-once[k]:+10.4f}")

Gerçek bir örnek

Akademik bir paragrafın ağır hâli ve sadeleştirilmiş hâli:

Çalışmanın amacı, Türkçe metinlerin okunabilirlik düzeylerinin belirlenmesinde kullanılan formüllerin karşılaştırmalı olarak değerlendirilmesi ve bu formüllerin birbirleriyle olan uyumluluk derecelerinin ortaya konulmasıdır. Bu bağlamda, alanyazında yer alan ve yaygın biçimde kullanılmakta olan üç farklı formül ele alınmıştır.

Bu çalışma Türkçe okunabilirlik formüllerini karşılaştırır. Amaç, formüllerin birbiriyle ne kadar uyuştuğunu göstermektir. Alanyazında yaygın olan üç formül ele alındı.

Çıktı:

anahtar                      önce      sonra       fark
sent_len_mean             18.0000     6.6667   -11.3333
word_len_mean              8.0278     7.2500    -0.7778
syllable_mean              3.3611     3.0500    -0.3111
atesman                   16.8124    58.8913   +42.0789
cetinkaya_uzun            13.9998    33.0893   +19.0895
ttr                        0.8889     1.0000    +0.1111
long_word_ratio            0.5278     0.4500    -0.0778

Okunuşu:

  • Ortalama tümce uzunluğu 18 → 6,7 sözcük. Asıl değişiklik bu; iki uzun tümce üç kısa tümceye bölündü.
  • Ateşman 16,8 → 58,9. Ateşman'ın bantlarına göre 16,8 "çok zor", 58,9 "orta". 42 puanlık sıçramanın çoğu tümce uzunluğundan geliyor, çünkü formülde sözcük/tümce terimi var.
  • Hece ortalaması 3,36 → 3,05. "değerlendirilmesi" gibi uzun türetmeler gitti.
  • ttr 0,89 → 1,00 ama bu anlamlı değil. İkinci metin kısaldığı için TTR yükseldi; üslup değişikliğinin değil uzunluğun sonucu.

Birden çok çifti karşılaştırmak

Elinizde çok sayıda çift varsa tablo hâline getirin:

import turkish_linguistic_features as tlf

satirlar = []
for ad, once_m, sonra_m in ciftler:
    for etiket, metin in (("once", once_m), ("sonra", sonra_m)):
        satirlar.append({"label": etiket, "source": ad, "segment_id": 0,
                         **tlf.analyze(metin, lang="tr")})

tlf.save_csv(satirlar, "oncesi-sonrasi.csv")

label sütunu once/sonra olduğu için CSV doğrudan eşleştirilmiş bir analize girer.