Proje Defteri

Yapay Zeka Metin Dedektörü

Metnin içindeki görünmez Unicode karakterleri, sıra dışı boşlukları, yön kontrollerini, tipografik izleri ve Latin kelimelere sızmış Kiril harflerini bulun. Her bulguyu kod noktasıyla birlikte, tam olarak durduğu yerde görün, gizlenmiş mesajları çözün ve tek tıkla temizleyin. Metniniz tarayıcınızdan çıkmaz.

Bu araç yapay zeka yazarlığını kanıtlamaz

Hiçbir dedektör bir metnin yapay zeka tarafından yazıldığını kanıtlayamaz, bu araç da kanıtlamaz. Aşağıda gördüğünüz her bulgu, metinde fiziksel olarak bulunan bir Unicode karakteridir; aynı karakterler bir kelime işlemciden, bir web sayfasından, bir PDF kopyasından veya sıradan bir klavyeden de gelmiş olabilir.

Bu aracı hiç kimseyi suçlamak için kullanmayın. Burada bir "yapay zeka olma olasılığı" puanı yoktur ve bilerek yoktur. Bir ölçüm metni betimler, bir çıkarım yazarı betimler; bu araç yalnızca birincisini yapar.

Metin tarayıcınızdan çıkmaz. Sunucuya gönderilmez, kaydedilmez; sayfa bir kez yüklendikten sonra araç çevrimdışı da çalışır.

Görünmez Karakterler Nedir?

Unicode'da hiçbir çizimi olmayan, ekranda hiçbir şey göstermeyen ama metinde gerçekten yer kaplayan bir karakter ailesi vardır. En bilineni U+200B sıfır genişlikli boşluk'tur. Genişliği sıfırdır, seçtiğinizde görünmez, ama karakter sayısına dahildir, aramayı bozar, bir parola alanına düşerse girişi engeller ve bir kod satırının ortasına düşerse derleyici anlaşılmaz bir hata verir.

Aynı ailenin diğer üyeleri de benzer davranır: U+FEFF bir dosyanın başında bayt sırası işareti olarak normaldir ama metnin ortasında hiçbir işi yoktur, U+00AD yumuşak tire yalnızca satır sonunda görünür, U+2060 kelime birleştirici kelimenin bölünmesini engeller. U+E0000 ile başlayan etiket bloğu ise en dikkat çekicisidir: bu karakterlerin normal yazıda hiçbir işlevi yoktur, düz metnin içine gizli bir mesaj gömmek için kullanılırlar.

Metne nasıl giriyorlar?

Bir dil modeliyle sohbet ederken cevabı kopyalayıp bir belgeye yapıştırdığınızda, yalnızca gördüğünüz harfleri kopyalamış olmazsınız. Sohbet arayüzü metni HTML olarak çizer; satır sarma ipuçları, arayüz bileşenlerinin ayırıcıları ve bazen kasıtlı işaretler panoya birlikte gider. Aynı şey bir web sayfasından, bir PDF'ten veya bir Word belgesinden kopyalarken de olur. Yani görünmez bir karakter bulmak, metnin bir arayüzden geçtiğini gösterir; kim yazdığını değil.

Hangi İşaret Bir Şey Söyler, Hangisi Masum?

En sık yapılan hata, bulunan her karakteri aynı ağırlıkta saymaktır. Aşağıdaki tablo, aracın işaretlediği başlıca karakterlerin gerçekte ne kadar bilgi taşıdığını gösterir.

KarakterNerede normaldirNe zaman anlamlıdır
U+00A0 kırılmayan boşlukWord, Google Docs, HTML sayfaları, "10 000" gibi sayı biçimleriNeredeyse hiçbir zaman. Kod veya veri içine düşerse teknik sorun çıkarır, o kadar.
U+202F dar kırılmayan boşlukFransızca noktalama, saat ve sayı biçimleri, dizgi yazılımlarıNeredeyse hiçbir zaman. Nisan 2025'te ChatGPT çıktısında görülüp filigran sanıldı; bunun bir filigran değil, büyük ölçekli pekiştirmeli öğrenmeden kaynaklanan bir çıktı özelliği olduğu açıklandı ve davranış bir gün içinde kayboldu.
U+2014 uzun tire (—)Word, macOS, Pandoc, Hugo ve bu sitenin kendisi dahil tipografi dönüştüren her yazılımTek başına asla. Yazarı değil, metnin geçtiği yazılımı gösterir.
U+2019 kıvrık kesme (’)Otomatik tipografi değiştirmesi yapan her editör ve yayın hattıNeredeyse hiçbir zaman. Kod bloğunun içine düşerse sorun olur.
U+00AD yumuşak tireWeb sayfaları, dizgi programlarıAynı paragrafta onlarca kez tekrar ediyorsa dikkat çeker.
U+200B sıfır genişlikli boşlukWeb arayüzlerinden yapılan kopyalarKelimenin ortasında ve düzenli aralıklarla tekrar ediyorsa anlamlıdır. Tek tük dağınık olanı satır sarma ipucudur.
U+034F grafem birleştiriciNeredeyse hiçbir yerdeBulunduğu her yerde. Görsel etkisi yoktur, kazara metne girmez.
U+202E sağdan sola geçersiz kılmaHiçbir yerdeBulunduğu her yerde. Metnin göründüğü gibi olmadığı anlamına gelir; Trojan Source sınıfı hilelerin temel aracıdır.
U+E0000 etiket bloğuHiçbir yerdeBulunduğu her yerde. Bu blok düz metne veri gizlemek için kullanılır ve ASCII'yi birebir yansıttığı için doğrudan okunabilir.
Kiril "а" Latin kelime içindeHiçbir yerdeBulunduğu her yerde. Metnin bilerek işlendiğini gösterir: yazım denetiminden, filtreden veya arama eşleşmesinden kaçmak için konur.

Kısacası: masum karakterler kalabalık yapar, anlamlı olanlar azdır. Bir metinde yüz tane kırılmayan boşluk bulunması hiçbir şey söylemez; bir tane etiket karakteri bulunması çok şey söyler.

Gizli Mesajlar Nasıl Gömülür ve Nasıl Çözülür?

Görünmez karakterlerin var olduğunu söylemek kolaydır. Asıl işe yarayan kısım, ne dediklerini söylemektir. Bu araç dört şema dener ve hangisinin tuttuğunu raporlar.

Bu özelliğin değeri, yanlış alarm vermemesine bağlıdır. Bu yüzden bir yük raporlanmadan önce birkaç kapıdan geçmesi gerekir: karakterlerin bitişik bir dizi oluşturması (kelime aralarına serpiştirilmiş tek tük U+200B bir içerik yönetim sisteminin satır sarma ipucudur, veri değil), alfabenin dar olması (gerçek bir ikili yük tam olarak iki farklı kod noktası kullanır; altı farklı sıfır genişlikli karakterin karışması yapıştırma artığıdır), uzunluğun 8 veya 16'ya bölünebilmesi ve çözülen metnin makul olması. Yüksek entropili çöp çıkarsa araç onu göstermek yerine reddeder. Hiçbiri tutmazsa cevap nettir: bu karakterler aracın bildiği hiçbir şemayla okunabilir bir metne çözülmüyor. Araç tahmin yürütmez, kısmen de tahmin yürütmez.

Bir Karakter Neyi Kanıtlar, Neyi Kanıtlamaz?

Bir ölçüm metni betimler. Bir çıkarım yazarı betimler. Bu araç yalnızca birincisini yapar ve bunun nedeni teknik bir kısıt değil, bir tercih. Bir U+200B ya oradadır ya değildir; bunu herkes kendi bilgisayarında tekrarlayabilir ve yanılıyorsak bize kanıtlayabilir. Bir yüzde ise tekrarlanamaz ve çürütülemez, yalnızca inanılır ya da inanılmaz. Bu yüzden burada yüzde yok.

Başlamak için bu sitenin kendisi

Bu blogun yapılandırma dosyasında Goldmark'ın tipografi dönüştürücüsü açık. Bunun pratik sonucu şu: Türkçe yazıların kaynak dosyalarının 72 tanesinden 71'i düz tırnak içeriyor, ama yayımlanan sayfalarda hepsi kıvrık tırnak olarak çıkıyor. Aradaki dönüşümü hiçbir insan yapmadı, bir derleyici yaptı. Yukarıdaki "Tipografiden geçmiş örnek" düğmesine basın: bulguların tamamı bir yazılımın ürünü. Tipografik izleri parmak izi sayan bir yaklaşım, yazarı değil yayın hattını okur.

Görünmez karakterler filigran değil, köken izidir

Birbirine çok benzeyen iki iddia var ve karıştırılmaları çok kolay. Birincisi, dil modellerinin çıktısında bu karakterlerin görüldüğü: bu doğru ve bu araç zaten onu ölçüyor. İkincisi, dil modellerinin bu karakterlerle metni filigranladığı: bunun için bir dayanak yok. Originality.ai bu okumayı yayımladığı bir sayfada açıkça reddetti ve gerekçesi mantıklı: bir filigranın işe yaraması için silinmesinin zor olması gerekir, oysa bu karakterler tek tıkla, örneğin bu sayfayla, kaybolur. Nisan 2025'teki U+202F olayı da aynı yöne işaret ediyor; davranış bir gün içinde kayboldu ve bir filigran değil, büyük ölçekli pekiştirmeli öğrenmenin bir yan ürünü olarak açıklandı. Filigran dediğiniz şeyin bir günde kaybolmaması gerekir.

Silmek dedektör sonucunu değiştirmiyor

Bunun doğrudan bir ölçümü var. Originality.ai kendi dedektörüyle test etti: metne görünmez karakter eklemek veya çıkarmak, sonucu değiştirmedi. Bunun bir satıcının kendi ürünü üzerinde yaptığı bir test olduğunu ve bağımsız olarak tekrarlanmadığını belirtmek dürüstlük gereği. Yine de sonuç şaşırtıcı değil, çünkü istatistiksel dedektörler kelime seçimlerinin dağılımına bakar, boşluk karakterlerine değil. Bunun buradaki pratik anlamı açık: bu araç bir dedektörü atlatmak için işe yaramaz, biz de o iş için tasarlamadık.

İstatistiksel tespit döneminden geriye ne kaldı

Bu alanın geçmişi, bugünün doğruluk iddialarından bağımsız olarak, kayda değer. Vanderbilt Üniversitesi Ağustos 2023'te Turnitin'in yapay zeka dedektörünü kapattı ve gerekçesini yayımladı. Aritmetiği şuydu: satıcının o dönem açıkladığı yüzde bir yanlış pozitif oranı, yılda yaklaşık 75 000 teslim üzerinden yılda yaklaşık 750 ödevin haksız yere işaretlenmesi demekti. Turnitin daha sonra kendi yanlış pozitif oranını cümle düzeyinde yaklaşık yüzde dörde yükseltti. 2023'te yapılan ve geniş yankı bulan bir çalışma, o dönemin dedektörlerinin anadili İngilizce olmayan yazarları orantısız biçimde işaretlediğini ölçtü; çalışmanın gerekçesi, dedektörlerin sınırlı dilsel ifadeyi cezalandırmasıydı. Vanderbilt'in ardından başka üniversiteler de aynı yolu izledi.

Buradan bugüne dair bir sonuç çıkarmıyoruz ve çıkarılmasını da önermiyoruz. O çalışma 2023 dönemi dedektörlerini ölçtü. Satıcılar o günden beri belirgin biçimde daha iyi rakamlar açıkladı; anadili farklı olan yazarlarda yanlış pozitifin azaldığı iddiaları da bunlara dahil. Bu iddiaların doğru mu yanlış mı olduğunu söyleyecek durumda değiliz: tespit edebildiğimiz kadarıyla bağımsız olarak tekrarlanmış değiller. Kendi belirsizliğimizi de açıkça yazalım, çünkü bu bölümü inanılır kılan şey tam olarak budur.

Bir nokta daha: perplexity ve burstiness üzerine kurulu en bilinen dedektör olan GPTZero, 2023 sonbaharında bu yaklaşımı bırakıp eğitilmiş bir modele geçtiğini kendisi duyurdu. Yani bu sayfadaki cümle uzunluğu ölçümünü de dahil, o dönemin popüler sinyallerini üreticileri bile yeterli bulmadı.

Peki bu karakterler ne işe yarar?

Yazarlığı belirlemeye değil, metnin ne olduğunu bilmeye. Kod bloğuna düşen kıvrık tırnak derlemeyi durdurur. Sıfır genişlikli boşluk aramanın eşleşmemesine, iki kaydın eşit sayılmamasına ve bir parola alanının sessizce reddedilmesine yol açar. Excel'de bir hücreyi sayıdan metne çevirir. Bir veritabanında birincil anahtarı bozar. Bunlar gerçek, tekrarlanabilir, çözülebilir sorunlardır; bu araç onlar için yapıldı.

Haksız Yere Suçlandıysanız Ne Yapmalısınız?

Önce şunu net söyleyelim: bu araç size karşı da lehinize de kanıt üretmez. Metninizde hiçbir bulgu çıkmaması sizi aklamaz, bulgu çıkması da suçlamaz. Yazarlığa gerçekten tanıklık eden şey metin değil, süreçtir.

Bir Belgeyi Biçimini Bozmadan Nasıl Temizlersiniz?

Bu bölüm yapay zeka peşinde olmayan, yalnızca belgesi bozulmuş insanlar için. Görünmez karakterler Word, Excel, Google Docs, Notepad++ ve Figma içeriğinde düzenli olarak sorun çıkarır ve çoğu zaman kaynağı çok sıradandır: bir web sayfasından biçimlendirmeyle yapıştırma, bir PDF kopyası, bir dışa aktarma hatası veya bir çeviri aracı.

  1. Önce yalnızca görünmez karakterleri silin. Sıfır genişlikli karakterler, etiket bloğu ve yön kontrolleri neredeyse her zaman gereksizdir. Bu adım metnin görünümünü hiç değiştirmez, yani riski en düşük adımdır.
  2. Boşluklara dikkat edin. Kırılmayan boşluk bazen bilerek konur: "10 000 TL", "Prof. Dr. Ayşe Yılmaz" veya bir tablo hizası bozulmasın diye. Yayına gidecek bir metinde bu seçeneği kapalı bırakın, koda ve veriye giden metinde açın.
  3. Excel'de sorun genellikle sayı hücresidir. Hücrenin içine düşen bir U+00A0 veya U+200B, sayıyı metne çevirir ve toplam aniden yanlış çıkar. Karakterleri temizledikten sonra sütunu yeniden sayıya dönüştürmeyi unutmayın, yoksa hücre metin olarak kalır.
  4. Tırnak ve tire dönüşümünü ayrı düşünün. Kıvrık tırnak ve uzun tire, basılacak veya web'de yayınlanacak bir metinde doğru tipografidir; düzleştirmek kaliteyi düşürür. Buna karşılık bir .json, .csv veya kaynak kod dosyasında bunlar doğrudan hataya yol açar, orada mutlaka düzleştirin.
  5. Karışabilir karakterleri her zaman değiştirin. Latin bir kelimenin içindeki Kiril harfi hiçbir durumda istenen bir şey değildir. Aramayı, sıralamayı ve eşleştirmeyi sessizce bozar.
  6. Normalizasyonu en son uygulayın ve doğrusunu seçin. NFC kayıpsızdır ve neredeyse her zaman güvenlidir. NFKC kayıplıdır: tam genişlikli harfleri, ligatürleri ve matematiksel kalın harfleri düz karşılıklarına indirger. Arama ve veri uyumu için NFKC harika, bilerek biçimlendirilmiş bir metin için yıkıcıdır.

Geliştiriciler için kısa notlar: VS Code'un editor.unicodeHighlight ayarları bu karakterleri editörde işaretler ve beklenen karakterler ile beklenen diller için bir muafiyet listesi tutar. Python'da unicodedata.normalize aynı normalizasyon biçimlerini uygular ve str.isprintable() hızlı bir kontrol verir. Notepad++'ta Görünüm menüsündeki Tüm karakterleri göster seçeneği aynı karakterleri yerinde gösterir. Git deposuna giren bir metinde ise en iyi yer commit'ten öncesidir; bir kez girdikten sonra geçmişte kalır.

Her çalıştırmadan sonra kategori kategori ne değiştiğini gösteren makbuzu ve önce sonra karşılaştırmasını okuyun. Beklediğinizden çok daha büyük bir fark çıkıyorsa, kapatmanız gereken bir seçenek var demektir. Ve her temizleme geri alınabilir: geri alma düğmesi bir zamanlayıcıyla kaybolmaz, sayfa açık kaldığı sürece durur.

Yöntem ve Sınırlar

Ne tespit edilir: sıfır genişlikli ve görünmez karakterler, Unicode etiket bloğu, varyasyon seçiciler, yön kontrolleri ve bunların dengesizliği, sıra dışı boşluklar, C0 ve C1 kontrol karakterleri, satır ve paragraf ayırıcılar, yerine koyma karakteri, tam genişlikli biçimler, ligatürler, matematiksel alfanümerik semboller, birleşen işaret yığılmaları, NFC biçiminde olmayan diziler ve Latin bir kelimenin içine yerleştirilmiş Latin dışı karakterler. Ayrıca dört şemayla gizlenmiş yükler çözülür.

Ne tespit edilmez: yazarlık. Üslup. Bir metnin kopyalanıp kopyalanmadığı. Ve en önemlisi: istatistiksel filigran. Anthropic'in anlattığı türden bir filigran metne tek bir karakter eklemez, modelin kelime seçimlerinin dağılımını değiştirir. Bu araç onu göremez ve hiçbir karakter tabanlı araç göremez. Bunu bir eksiklik değil, sınırın dürüst ifadesi olarak yazıyoruz.

İşaretleme yöntemi hakkında bir not: bu araç görünmez bir karakteri görünür kılarken onun yerine bir simge koymaz. UTS #55'in 4.2 bölümünün gerekçesi tam olarak budur: even if these characters are made visible, their normal effect on the text should be retained, as this can otherwise lead to misleading rendering. Yani bir sıfır genişlikli karaktere görünürlük kazandırmak için yerine boşluk koyarsanız, gösterdiğiniz şey artık kullanıcının metni değildir; farklı sarar, farklı ölçülür. Bu yüzden burada işaret, karakterin etrafına çerçeveyle çizilir. Kaynak: UTS #55, Unicode Source Code Handling. Karışabilir karakterlerin ele alınışı için UTS #39, yön kontrollerinin davranışı için UAX #9 esas alınmıştır.

Metin Filigranı: Daha Derin Arka Plan

Bu araçtaki bulgular karakter düzeyindedir: metinde fiziksel olarak duran bir şeyi gösterir. Filigran meselesinin bir de tamamen farklı bir katmanı var. Anthropic'in kendi destek sayfasına göre, 2 Ağustos 2026 tarihinde veya sonrasında piyasaya sürülen modeller, makine tarafından okunabilir işaretlemeyi çıkış anından itibaren destekliyor; mevcut modeller için işaretleme çalışması ise sürüyor. Yani bu tarihten sonraki her Claude çıktısının filigranlı olduğunu söylemek doğru olmaz, doğru olan modelin ne zaman yayımlandığına bakmaktır.

Aynı sayfa iki şey daha söylüyor. Üretilen dosyalar, C2PA standardına uygun imzalı köken bilgisi taşıyor; bu, metnin içindeki istatistiksel işaretten ayrı bir katmandır. Anthropic ayrıca kullanıcıların ve üçüncü tarafların bu işaretleri tespit edebilmesi için çalıştığını belirtiyor, yani bugün herkesin kullanabileceği açık bir doğrulama aracı henüz yok.

Bu bir istatistiksel filigrandır: metne fazladan hiçbir karakter eklemez, modelin kelime seçimlerinin dağılımını gizli bir anahtara göre değiştirir. Bu sayfadaki dedektör onu göremez, hiçbir karakter tabanlı araç da göremez. Filigranın nasıl yerleştirildiğini, neyi kanıtlayıp neyi kanıtlamadığını ve silinip silinemeyeceğini ayrıntılı olarak anlattığım yazı burada: Claude metne görünmez filigran ekliyor. Bu araç o yazının pratik tamamlayıcısıdır: yazı istatistiksel katmanı anlatır, araç karakter katmanını gösterir.

Sıkça Sorulan Sorular

Bu araç bir metnin yapay zeka tarafından yazıldığını kanıtlar mı?

Hayır. Hiçbir dedektör bunu kanıtlayamaz, bu araç da kanıtlamaz. Burada gördüğünüz her bulgu, metinde fiziksel olarak bulunan bir Unicode karakteridir. Aynı karakterler bir kelime işlemciden, bir web sayfasından, bir PDF kopyasından veya normal bir klavyeden de gelmiş olabilir. Bulgular metnin hangi yazılımlardan geçtiği hakkında ipucu verir, kim tarafından yazıldığı hakkında değil. Bu yüzden burada bir yüzde, bir olasılık veya bir karar yoktur.

Metnim bir yere yükleniyor mu? Bunu nasıl doğrularım?

Tüm analiz, çözme ve temizleme işlemi tarayıcınızın içinde JavaScript ile yapılır. Metin hiçbir sunucuya gönderilmez ve hiçbir yerde saklanmaz. Bunu bize güvenmeden doğrulayabilirsiniz: F12 ile geliştirici araçlarını açın, Ağ (Network) sekmesine geçin, metninizi yapıştırın ve isteklerin içeriğine bakın. Metniniz hiçbir isteğin içinde geçmez. Dürüst olalım: sayfanın kendisi reklam ve analitik betikleri yükler, yani ağ sekmesi boş olmayacak. Buradaki iddia sayfanın hiç istek yapmadığı değil, yapıştırdığınız metnin bu isteklerin hiçbirinde bulunmadığıdır. Sayfa bir kez yüklendikten sonra bağlantınızı kesip aracı çevrimdışı da kullanabilirsiniz.

Görünmez karakterleri silmek metni yapay zeka dedektörlerinden gizler mi?

Hayır. Originality.ai bunu yayımladığı bir testte doğrudan ölçtü: metne görünmez karakter eklemek veya metinden çıkarmak, kendi dedektörlerinin sonucunu değiştirmedi. Bu bir satıcının kendi ürünü üzerinde yaptığı testtir ve bağımsız olarak tekrarlanmış değildir, ama sonuç beklenen yöndedir; çünkü istatistiksel dedektörler kelime seçimlerinin dağılımına bakar, görünmez karakterlere değil. Yani bu araç bir teslim ödevini gizlemek için işe yaramaz. İşe yaradığı yer başkadır: kod bloklarını bozan, arama eşleşmesini kaçıran ve veritabanı alanlarını kirleten karakterleri temizlemek.

Sıfır genişlikli boşluk nedir ve metne nasıl girer?

U+200B sıfır genişlikli boşluk, hiçbir genişliği olmayan ama metinde gerçekten bulunan bir karakterdir. Ekranda görünmez, imleç üzerinden geçerken bir adım fazladan atar. Web sayfalarında uzun kelimelerin bölünmesi için, bazı arayüzlerde metin bileşenlerini ayırmak için ve bazı gizli veri yöntemlerinde kasıtlı olarak kullanılır. Kopyala yapıştır sırasında metne yapışır ve öylece kalır. Tek başına dağınık bir U+200B genellikle bir arayüzün satır sarma ipucudur; anlamlı olan, bir kelimenin ortasında düzenli aralıklarla tekrar edenidir.

Kırılmayan boşluk (U+00A0) bulundu, bu kötü bir şey mi?

Genellikle hayır. Kırılmayan boşluk, Word ve Google Docs gibi programların, HTML sayfalarının ve 10 000 gibi sayı biçimlerinin standart çıktısıdır. Metin bir web sayfasından kopyalandıysa onlarca tane bulunması normaldir. Tek başına hiçbir şeye işaret etmez. Ancak kodun içine düşerse derleyici hata verir ve bir CSV alanında sütun hizasını bozar, bu yüzden teknik metinlerde temizlemek mantıklıdır.

Uzun tire kullanmam beni yapay zeka gibi mi gösterir?

Hayır, ve bunun en iyi kanıtı bu sitenin kendisi. Bu blogun yapılandırmasında Goldmark'ın tipografi dönüştürücüsü açık. Türkçe yazıların kaynak dosyalarının 72 tanesinden 71'i düz tırnak içeriyor, ama hepsi kıvrık tırnakla yayımlanıyor. Yani bu siteden kopyalayacağınız herhangi bir paragrafı bu araca yapıştırırsanız, hiçbir insanın yazmadığı tipografik karakterler bulur. Uzun tire de aynı şekilde çalışır: Word, macOS, Pandoc ve Hugo kısa çizgiyi otomatik olarak tireye çevirir. Bu işaret yazarı değil, metnin geçtiği yazılım hattını gösterir.

Bu araç gizli mesajları nasıl çözüyor?

Dört şema deniyor. A şeması Unicode etiket bloğudur (U+E0000-U+E007F): blok ASCII'yi birebir yansıtır, U+E0020 ile U+E007E arası doğrudan 0x20-0x7E aralığına karşılık gelir, yani mesaj doğrudan okunur. B şeması varyasyon seçicilerdir: U+FE00-FE0F on altı, U+E0100-U+E01EF iki yüz kırk değer tutar, toplamı tam 256 eder ve her seçici bir bayt taşır. C şeması sıfır genişlikli ikilidir: iki farklı sıfır genişlikli karakter 0 ve 1 yerine geçer. D şeması aynı fikrin üç veya dört basamaklı halidir. Araç tahmin yürütmez: bir yükü raporlamak için karakterlerin bitişik bir dizi oluşturması, alfabenin tam olarak iki, üç veya dört karakterden ibaret olması, uzunluğun bölünebilir olması ve çözülen metnin okunabilir olması gerekir. Bunlardan biri tutmazsa araç bir şey bulduğunu söylemez.

Yön kontrolü karakterleri (U+202E gibi) neden önemli?

Çünkü metnin göründüğü gibi olmadığı anlamına gelirler. U+202D ve U+202E, karakterlerin doğal yönünü zorla değiştirir. Kaynak kodda bu, dosyanın gözünüze göründüğünden başka türlü derlenmesini sağlar; bu, Trojan Source adıyla bilinen ve CVE-2021-42574 numarasını taşıyan saldırı sınıfının temelidir. Dosya adlarında uzantı gizlemek için de kullanılır. Bu araç yalnızca bu karakterleri saymakla kalmaz, açılan blokların kapatılanlarla dengeli olup olmadığını da kontrol eder; dengesiz bir blok kendi başına ayrı bir bulgu olarak raporlanır.

NFC ile NFKC arasındaki fark nedir, hangisini seçmeliyim?

NFC kayıpsızdır: ayrı yazılmış harf ile aksanı tek bir karakterde birleştirir, görünüm ve anlam aynı kalır. Neredeyse her zaman güvenlidir. NFKC kayıplıdır: uyumluluk karşılıklarını da katlar, yani tam genişlikli A harfini A yapar, fi ligatürünü fi olarak açar, matematiksel kalın 𝐚 harfini düz a yapar. Aramayı ve sıralamayı düzeltmek için mükemmeldir, ama bilerek konmuş biçimlendirmeyi geri döndürülemez biçimde siler. Kural basit: veri temizliği ve arama uyumu için NFKC, yayımlanacak metin için NFC.

Bir dedektör beni haksız yere suçladı, ne yapmalıyım?

Yazarlığa gerçekten tanıklık eden şey süreçtir, metnin kendisi değil. Google Docs ve Word sürüm geçmişi metnin dakika dakika nasıl büyüdüğünü gösterir; taslak dosyaları, notlar, planlar ve kaynak listeleri bunu tamamlar. Suçlamayı yapan kişiden kullandığı dedektörün yanlış pozitif oranını ve bu oranın hangi bağımsız çalışmayla doğrulandığını yazılı olarak isteyin. Yapay zekanın olmadığı bir dönemde yazdığınız bir metni aynı dedektöre verin; sonuç çoğu zaman kendi kendini çürütür. Kurumdan, bir dedektör çıktısının tek başına disiplin gerekçesi sayılamayacağını yazılı olarak talep edin. Bu araç size karşı da lehinize de kanıt üretmez, bunu baştan bilin.

Word, Excel veya Google Docs belgemdeki görünmez karakterleri nasıl temizlerim?

Metni buraya yapıştırın, önce işaretli görünümde ne olduğuna bakın, sonra temizleyin ve sonucu geri yapıştırın. Sırayla ilerleyin: önce yalnızca görünmez karakterleri silin, çünkü bu adım belgenin görünümünü hiç değiştirmez. Boşluk sadeleştirmeyi ayrı düşünün; Word'de kırılmayan boşluk çoğu zaman bilerek konmuştur. Excel'de sorun genellikle U+00A0 veya U+200B'nin sayı hücresine düşüp hücreyi metne çevirmesidir; bunları temizledikten sonra sütunu yeniden sayıya dönüştürmeniz gerekir. Google Docs'ta en sık kaynak, bir web sayfasından biçimlendirmeyle yapıştırmaktır. Notepad++ kullanıyorsanız Görünüm menüsünden Tüm karakterleri göster seçeneği aynı karakterleri yerinde gösterir.

Temizleme metnimin biçimini bozar mı?

Seçeneklere bağlıdır ve her temizleme geri alınabilir. Görünmez karakterleri silmek neredeyse her zaman güvenlidir. Boşluk sadeleştirme, kasıtlı konmuş kırılmayan boşlukları da düz boşluğa çevirir; tablo hizası veya 10 000 gibi sayı biçimleri bundan etkilenebilir. Tırnak düzleştirme, yayına gidecek Türkçe bir metinde tipografiyi düşürür. NFKC, bilerek kullanılmış tam genişlikli veya matematiksel harfleri geri döndürülemez biçimde düzleştirir. Kod ve veri için hepsini açın, yayına gidecek metinde yalnızca görünmez karakter seçeneğiyle başlayın. Her çalıştırmadan sonra kategori kategori ne değiştiğini gösteren makbuzu ve önce sonra karşılaştırmasını okuyun.

Bu araç Claude'un veya ChatGPT'nin filigranını görebilir mi?

Hayır, ve hiçbir karakter tabanlı araç göremez. Anthropic'in anlattığı yöntem istatistikseldir: metne tek bir karakter eklemez, modelin kelime seçimlerinin dağılımını gizli bir anahtara göre değiştirir. Bu araç yalnızca metinde fiziksel olarak duran karakterleri görür, dolayısıyla böyle bir filigranı göremez. Bunu bir eksiklik olarak değil, aracın sınırının dürüst bir ifadesi olarak okuyun: bir aracın ne göremediğini söylemesi, göremediği şeyi gördüğünü iddia etmesinden iyidir.