1 puan yazan GN⁺ 2025-05-19 | 1 yorum | WhatsApp'ta paylaş
  • Bu depo, Voynich Elyazması’nın gerçek bir dil gibi davranan yapısal örüntülere sahip olup olmadığını görmek için çeviri tahminleri yapmadan kümeleme, sözcük türü çıkarımı, Markov geçişleri ve bölüm bazlı örüntüler uyguluyor
  • Analiz hattı, yinelenen sonekler gibi görünen aiin, dy, chy vb. öğeleri kaldırdıktan sonra kökleri multilingual SBERT ile gömüyor ve kümeliyor; elyazmasındaki her satırı küme dizilerine eşliyor
  • Sonuçlar, Cluster 8’in yüksek frekanslı, düşük çeşitlilikli ve satır başında sık görülen bir küme olarak işlev sözcüğü grubuna benzediğini; Cluster 3’ün ise yüksek çeşitlilik ve konum esnekliğiyle içerik sözcüğü kökü sınıfına benzediğini gösteren yapısal farklar sunuyor
  • Sonek kaldırma, benzer gövdeleri daha sıkı gruplandırıp geçiş matrisini daha temiz hâle getirdi; ancak gerçek biçimbilimsel bilgiyi kaldırabilecek, anlamlı çekim varyasyonlarını gizleyebilecek veya işlev odaklı bir yanlılık oluşturabilecek güçlü bir ön işleme tercihi
  • Proje, anlamsal çeviri denemiyor; Voynich Elyazması’nın sözdizim, işlev/içerik sözcüğü ayrımı ve bölüm bazlı dil değişimi gibi dil benzeri yapılar gösterip göstermediğini veri temelli olarak incelemeye odaklanıyor

Projenin amacı

  • Voynich Elyazması hâlâ çözülemedi ve üzerinde uzlaşılan dilbilimsel ya da kriptografik bir çözüm yok
  • Bu proje, istatistiksel entropi testleri ile temelsiz yorumlar arasında orta bir yol izleyerek, hesaplamalı dilbilim teknikleriyle elyazmasının yapılandırılmış dil benzeri davranış kodlayıp kodlamadığını değerlendiriyor
  • Çeviri ya da GPT tarzı tahminler yapmıyor; yalnızca dil gibi davranan bir yapı olup olmadığına odaklanıyor

Analiz hattı ve dosya yapısı

  • /data/ içinde tam transkripsiyon, kök sözcük dosyası, kaldırılan kök listesi, küme arama tablosu ve satır bazlı küme dizileri yer alıyor
  • /scripts/ analiz adımlarını ayrı ayrı çalıştırıyor
    • cluster_roots.py: SBERT kümelemesi ve sonek kaldırma
    • map_lines_to_clusters.py: Elyazması satırlarını küme ID’lerine eşleme
    • pos_model.py: Küme davranışına göre dilbilgisel rol çıkarımı
    • transition_matrix.py: Küme geçişleri oluşturma ve görselleştirme
    • lexicon_builder.py: Bölüm ve rol bazlı aday sözcük tabloları üretme
    • cluster_language_similarity.py: İsteğe bağlı olarak kümeleri gerçek dillerle karşılaştırma
  • /results/ içinde PCA ile indirgenmiş küme görselleri, Markov geçiş matrisi ısı haritaları, küme rol özetleri, geçiş matrisi CSV’leri ve aday sözcük CSV’leri saklanıyor

Temel katkılar

  • Sonekleri kaldırılmış kökleri kümelemek için multilingual SBERT kullanıyor
  • İşlev sözcüğüne benzeyen kümeler ile içerik sözcüğüne benzeyen kümeleri ayırıyor
  • Küme dizileri üzerinde Markov tarzı geçiş modellemesi yapıyor
  • Botanical, Biological gibi elyazması bölümlerine göre sözdizim yapısını eşliyor
  • Bölüm ve role göre veri temelli sözcük dağarcığı hipotez tabloları üretiyor

Ön işleme tercihi ve etkisi

  • Her sözcükten aiin, dy, chy ve benzer varyantlar gibi yinelenen sonek görünümlü öğeler kaldırılıyor
  • Bu tercihin amacı, varyasyonlarla birlikte yinelenen kök biçimlerini ayrıştırmaktı
  • Soneklerin aşağıdakilerden biri olabileceği değerlendiriliyor
    • Sesbilimsel dolgu
    • Dilbilgisel parçacık
    • Büyü/formül ya da bellek tekniği türü tekrar
    • Gürültü
  • Sonekler kaldırıldıktan sonra benzer gövdeler daha sıkı kümeleniyor ve geçiş matrisinde daha temiz yapısal örüntüler ortaya çıkıyor
  • Ancak bu ön işleme nötr değil
    • Gerçek biçimbilimsel bilgiyi kaldırmış olabilir
    • Anlamlı çekim varyasyonlarını gizlemiş olabilir
    • Sonuçları içerikten çok işlev odaklı olacak şekilde yanlılaştırmış olabilir
  • Sonekler kaldırılmadan ya da sonekler ayrı token sınıfları olarak işlenerek hattın yeniden çalıştırıldığı karşılaştırmalar yapılabilir

Gözlenen yapı

  • Cluster 8 yüksek frekans, düşük çeşitlilik ve sık satır başı konumu gösteriyor; bu nedenle bir işlev sözcüğü grubu olma olasılığı var
  • Cluster 3 yüksek çeşitlilik ve esnek konum gösteriyor; kök içerik sözcüğü sınıfı olma olasılığı var
  • Geçiş matrisi, rastgelelikten uzak güçlü bir iç yapı sergiliyor
  • Küme kullanımı ve sözcük türü örüntüleri, Biological ve Botanical gibi elyazması bölümlerine göre değişiyor

Hipotez ve sınırlamalar

  • Elyazmasının, hece dolgusu ve konumsal tekrar kullanan yapılandırılmış bir yapay dil ya da bellek tekniği dili kodladığı hipotezi var
  • Doğrudan çeviri olmadan da sözdizim, işlev/içerik sözcüğü ayrımı ve bölüm duyarlı dil değişimi görüldüğü değerlendiriliyor
  • Sınırlamalar da açıkça belirtilmiş
    • Küme ve sözcük eşlemeleri dolaylı olduğu için frekans tahminleri çakışabilir
    • Sonek kaldırma sezgiseldir ve anlamlı ekleri kaldırmış olabilir
    • Anlamsal çeviri denenmiyor; yalnızca yapı modellemesi yapılıyor

Yeniden üretim ve son değişiklikler

  • Yeniden üretim süreci, bağımlılıkları kurduktan sonra her betiği sırayla çalıştırma biçiminde
    • pip install -r requirements.txt
    • python scripts/cluster_roots.py
    • python scripts/map_lines_to_clusters.py
    • python scripts/pos_model.py
    • python scripts/transition_matrix.py
    • python scripts/lexicon_builder.py
  • Görselleştirmede PCA’ya ek olarak UMAP, PaCMAP ve LocalMAP desteği eklendi
  • CLI indirgeyicide argüman verilmediğinde PCA kullanılıyor; --reducer umap, --reducer pacmap seçenekleri işleniyor
  • Projenin Windows’ta çalıştığı, ancak MacOS’ta düzgün çalışır hâle getirilemediği sınırlaması var
  • Model, all-MiniLM-L6-v2 yerine daha büyük paraphrase-multilingual-mpnet-base-v2 olarak değiştirildi
    • README’de boyut karşılaştırması 22M vs 110M olarak yazıyor

1 yorum

 
GN⁺ 2025-05-19
Hacker News yorumları
  • PCA projeksiyonunda kümeler arıyorsanız, PaCMAP veya LocalMAP gibi modern boyut indirgeme algoritmaları ile daha derin yapıyı görmek daha iyi olur
    Pol.is [1] adlı anlam çıkarma aracıyla ilgili bir proje üzerinde çalışıyorum; wiki anket verilerini PCA yerine bu yeni algoritmalarla yeniden projekte edince ortaya çıkan yeni içgörüler epey şaşırtıcı oldu
    https://patcon.github.io/polislike-opinion-map-painting/
    Painted groups: https://t.co/734qNlMdeh
    Yalnızca masaüstünde düzgün çalışması üzücü
    [1]: https://www.technologyreview.com/2025/04/15/1115125/a-small-...

    • TDA denemenizi öneririm. “mapper” ya da daha geniş anlamda kernel yoğunluğu tabanlı bağlantısallık kullanan yöntemler bambaşka bir dünyanın kapısını açıyor
      Eski tarz “faktör analizi”nden farklı
    • LLM model yorumlanabilirliğinde de seyrek otoenkoderler ile kavram temsilleri aranıyor(https://openai.com/index/extracting-concepts-from-gpt-4/); son dönemde lineer probe’lar da kullanılıyor
    • Gömlemeleri indirgerken PCA veya t-SNE’ye kıyasla UMAP ile çok daha iyi sonuçlar aldım
  • Burada kullanılan metin gömleme modeli paraphrase-multilingual-MiniLM-L12-v2(https://huggingface.co/sentence-transformers/paraphrase-mult...); yaklaşık 4 yıllık bir model
    Doğal dil işleme dünyasında fiilen antik sayılabilecek bir model ve LLM’lerdeki genel ilerleme sayesinde küçük gömleme modellerinin bile bilgi ifade gücü ve gömleme uzayındaki ayırt ediciliği ciddi biçimde arttı
    Günümüz metin gömleme modelleri, açıkça çok dilli destek için eğitilmemiş olsalar bile bu tür verilerde epey iyi çalışıyor; bu yüzden görece az bilinen bir dil olan Voynich el yazması için daha iyi olabilir
    Sonekleri kaldırmak veya sözcük türlerini belirlemek gibi geleneksel doğal dil işleme teknikleri gömleme kalitesini aksine düşürebilir. Çünkü tüm gömleme için gerekli ilgili bağlam bilgisi ortadan kalkar

    • paraphrase-multilingual-MiniLM-L12-v2’yi esas olarak hız ve geniş uyumluluk nedeniyle varsayılan olarak kullandım, ama bugünün ölçütlerine göre eski bir model olduğu doğru
      all-mpnet-base-v2 veya text-embedding-ada-002 gibi modellerin nasıl çalışacağını merak ediyorum; özellikle de sonekleri koruyup kök biçimine indirgemeden tam bağlam gömlemesi kullanmak daha ilginç olabilir
  • Doğal dil işlemeyi pek bilmiyorum ama bu sürece bir kontrol grubu koymak mantıklı olur mu diye merak ediyorum
    Örneğin bir insana dil gibi görünen ama gerçek dil olmayan bir metin yazdırıp sonek kaldırma ve kümeleme gibi aynı süreçleri uygulayarak benzer sonuçların çıkma ihtimalini kontrol etmek mümkün olabilir

    • Yazım biçimine dair bir hipotez varsa, örneğin Cardan grille yöntemiyle metin üretip aynı özelliklerin ortaya çıkıp çıkmadığına bakılabilir
    • Aynen. Bu yüzden neden basitçe 100 kişiye Voynich el yazması yazdırıp o veri kümesiyle eğitim yapılmadığını merak ediyorum
  • El yazmasını bir süre inceledim; bazı sayfalarda yazının çizimlere fazlasıyla yakın durması şüpheli geldi
    Normal dillerde kelime ve harf genişlikleri farklı olduğundan satır sonuna yaklaşıldığında doğal olarak satır kırılır, yeni bir kelime başlatılır ve taşma önlenir
    Ancak bu el yazmasında bu tür bir kesinti yok gibi görünüyordu; birçok yerde satır sonuna sığabilecek hangi harf varsa zorla sıkıştırılmış gibiydi
    Satır kırılmasının hemen öncesinde ve sonrasında hangi harflerin geldiğini, bunun metnin geneliyle farklılık gösterip göstermediğini analiz etmek istedim ama transkripsiyon bulamadım
    Tamamen amatörce bir sezgiyle, ya incelikli bir sanat eseri ya da bir dolandırıcılık gibi geliyor

    • Bazı diller satır sonunda kelimeyi bölerek yazar
  • Yalnızca PCA ile bile ayrışma net görünüyor, ama UMAP veya t-SNE de iyi olabilir
    Her kümeyi diğer tüm kümelere göre referans eşlemeye tabi tutmak, analizde artık değişkenlik kalıp kalmadığını göstermenin iyi bir yolu olabilir

    • PCA’da ilk başta beklenmedik derecede temiz bir ayrışma ortaya çıktığı için ilk çalıştırmalarda onu olduğu gibi kullandım
      Ancak UMAP veya t-SNE uygulamanın doğrusal olmayan açıdan daha ince örüntüleri ya da başarısızlık vakalarını yakalayabileceği doğru
      Kümeler arası benzerlik matrisi oluşturmadım, ama böyle söyleyince gerçek sinyalin ne kadar yakalandığını doğrulamak için doğal bir sonraki adım gibi görünüyor
    • Bu referans eşlemenin nasıl yapıldığına dair bir örnek var mı merak ediyorum
      Bunu başka tür gömlemelere uygulamayı denemek istiyorum ama doğal dil işleme tarafında çok deneyimli değilim
    • PCA’da ayrışma net görünüyorsa şahsen UMAP’tan kaçınma eğilimindeyim. Çünkü tüm noktalar arasındaki göreli mesafeleri yorumlamak daha kolay
      t-SNE’den ise ne pahasına olursa olsun kaçınırım. Böyle grafiklerdeki mesafelerin neredeyse anlamsız olduğunu düşünüyorum
      Bu bir reçete değil, kişisel tercih
  • Çok ilginç. https://www.voynich.ninja/index.php adresine de bağlantı koymanız iyi olabilir
    SBERT’e ya da genel olarak modern istatistiksel doğal dil işlemeye aşina değilim, ancak SBERT cümle düzeyinde çalışıyor ve Voynich el yazmasında net cümle ayırıcıları yok. Yalnızca sözcük ve paragraf ayırıcıları var
    “Voynich sözcüklerinden yaygın sonekleri kaldırmak” kısmı da beni endişelendiriyor. Voynich el yazmasındaki sözcükler önek + sonek gibi görünüyor; önekler oldukça kısa olduğu için analize başlamadan önce bilginin yaklaşık yarısını kaybetmiş olabilirsiniz
    Bu yöntemin doğal dildeki anlamlı metinlerde de, anlamsız saçmalıklarda da çalışıp çalışmadığını doğrulamak iyi olurdu
    Şifreli metin bunun ortalarında bir yerde durur; daha basit şifreler doğal dile daha yakın, daha karmaşık şifreler ise anlamsız saçmalığa daha yakındır
    Gordon Rugg, Torsten Timm ve ben, farklı yöntemlerle Voynich el yazmasına çok benzeyen metinler ürettik
    Benimki burada: https://fmjlang.co.uk/voynich/generated-voynich-manuscript.h...
    Eşdeğer EVA sürümü burada: https://fmjlang.co.uk/voynich/generated-voynich-manuscript.t...

  • README’de kaçırmış olabilirim ama “sözcüklerin” ilk kodlamasını nasıl yaptığınızı merak ediyorum
    Örneğin "okeeodair" gibi bir sözcük varsa, bunun özgün sembollerde nereye eşlendiğini merak ediyorum

    • "okeeodair" gibi sözcükler, özgün Voynich gliflerini ASCII yaklaşık karşılıklarına eşleyen EVA transkripsiyon dosyasından doğrudan geliyor
      Yani gliflerin kendisiyle değil, EVA (European Voynich Alphabet) sistemine dayalı standart transkripsiyon sözcükleriyle çalışıyoruz
      Kullanılan transkripsiyonu burada bulabilirsiniz: https://www.voynich.nu/
      Bu projede tekrar gliflere eşleme yapılmadı; her şey başlangıç noktası olarak EVA transkripsiyonunu aldı
      Dolayısıyla veri kümesinde "okeeodair" varsa, bu benden çok daha zeki birinin glif dizisine bakıp onu böyle adlandırma konusunda uzlaşmış olmasındandır
  • En ilginç hipotezlerden biri olarak bunu görmüştüm: http://voynichproject.org/
    Yazar, Voynichese’in Cermen dilleri ailesinden olduğunu varsaymış ve belli ölçüde ilerleme kaydetmiş gibi görünüyor
    Ural dilleri ya da Fin-Ugor dilleri ailesinden olabileceğine dair şeyler de görmüştüm
    Bu yaklaşım harika; belirli bir dil ailesine göre ayarlanırsa daha ileri gidip gidemeyeceğini merak ediyorum

    • Çeşitli “çözüm” iddiaları bu başlıkta ele alınıyor: https://www.voynich.ninja/thread-4341.html
      Bernholz’un sitesi fena değil, ancak Child’ın çalışması el yazmasının gerçekten çözülmesine pek ışık tutmuyor
    • El yazması bu kadar çözülemez olduğuna göre, şahsen bunun naif bir sanatçının eseri olduğu ve arkasında bir dil bulunmadığı görüşüne yakınım
      Dil kurallarını bilmeyen birinin dili taklit etmesi olabilir: https://en.wikipedia.org/wiki/Naïve_art
      Bunun zihinsel bir sorun anlamına geldiğini söylemiyorum; nadiren görülen bir olgu
      Voynich, naif sanat eseri koşullarına epey iyi uyuyor
    • Edward Kelly[1] uygun yer ve zamanda bulunuyordu; uzun zaman önce okuduğum kaynaklarda onun Cardan grille[2] tekniğine aşina olduğuna dair kanıtlar da olduğunu hatırlıyorum. Şu anda kaynağı bulamıyorum ama yalnızca bu bile onun en olası yazar olduğu ve kitabın bir şaka ya da dolandırıcılık amacı taşıdığı konusunda beni epey ikna etmişti
      1.https://en.wikipedia.org/wiki/Edward_Kelley
      2.https://en.wikipedia.org/wiki/Cardan_grille
    1. yüzyıl için metni şifrelemenin bariz nedeni Engizisyondan ve dönemin diğer dinsel şiddetinden kaçınmak olurdu
      Bu yüzden aynı doğal dil işlemeyi İncil metinlerine uygulayıp korelasyon aramak ilginç olabilir
      Önce “sözcük” tabanlı bir karşılaştırma, ardından “karakter” tabanlı bir karşılaştırma yapılmalı gibi görünüyor. Yani İncil’in grafiğiyle Voynich’in grafiğini karşılaştırmak gibi
      Ayrıca kafa karıştırmak için eklenmiş karakterler olabilir
      Örneğin birkaç varyantı bulunan tuhaf büyük “P” benzeri sembol, gerçek bir dili temsil etmek için fazla sık göründüğünden çözümlemeden önce kaldırılması gereken bir karartma sembolü olabilir
      Olağandışı sıklıkta görülen başka karakterler de kullanılmayan kukla karakterler olabilir
      Elbette “çok fazla P var” olgusu tamamen kurmaca açıklamasıyla da uyumlu
  • Böyle el yazısı bir kitap yalnızca saçmalıktan ibaretse ve herhangi türden bir şifre değilse, üslubun, hat sanatının, kullanılan sözcüklerin, hatta harflerin kendisinin 1. sayfadan son sayfaya kadar değişmesi gerekir gibi geliyor
    Elbette sayfalar yeniden sıralanmış olabilir, ama yine de göze çarpması gerekirdi
    Tabii yazar böyle onlarca kitabı daha önce yazmış ve bunların hepsi ortadan kaybolmuş değilse
    Çok yeni bir fikir olmayabilir ama böyle örüntülere dair bir analiz olup olmadığını merak ediyorum
    Sayfalar arası tutarlılıktan hiçbir yerde bahsedildiğini görmedim

    • Sayfalar arası tutarlılık üzerine zaten epey çalışma yapıldı
      Kâtiplerin 2 kişi olduğu da düşünülüyor (bkz. Prescott Currier); Lisa Fagin Davis ise 5 kişi oldukları görüşünde
      Fagin Davis’in konumuna dayanan deney tartışması burada: https://www.voynich.ninja/thread-3783.html