veridive’ın yanıt motorunu veya ücretsiz araçlarını mı arıyorsunuz?Yanıt motorunu mu arıyorsunuz? Neler değişti

veridive EN Proje başlatın Menü

Saha notlarıTürkçe ve çok dilli

Türkçeyi yapay zeka için zorlaştıran nedir ve tasarımda nasıl ele alınır?

Ekler, noktalı ve noktasız i ve cümlelere karışan İngilizce terimler, varsayılan ayarlarla kurulmuş yazılımı zorlar. Bunların hiçbiri iyi bir sistemin önünde engel değil; ama gerçek Türkçe metinle test etmeyi, aramayı, harf dönüşümünü ve üslubu bilerek tasarlamayı gerektirir.

veridive6 dk okuma

Bir doküman asistanının demosu İngilizce yapılır, yanıtlar iyidir ve ekip pilot için asistanı Türkçeye geçirir. Bir gün içinde şikayetler gelir, üstelik çok somut: arama, belgede apaçık duran bölümleri bulamıyor; büyük harfle yazılmış isimler yanlış harfle çıkıyor; bir yanıt müşteriye bir cümlede sizli, sonrakinde senli hitap ediyor.

Bu, Türkçenin yapay zekaya uygun olmadığını göstermez; sistem İngilizce varsayılanlarla kurulmuştur. Türkçe yapay zeka zorlukları da bu varsayılanların hesaba katmadığı yerlerde çıkar: anlamı eklerin taşıması, kendi büyük harfleri olan iki ayrı i, dilbilgisinde işaretlenen resmiyet ve iş yazışmalarında aynı cümleye giren İngilizce. Her birinin bilinen bir tasarım çözümü var ve her biri, gerçek Türkçe metin gelene kadar kolayca gözden kaçar.

Bu yüzden aramayı, harf dönüşümünü ve üslubu bilerek Türkçeye göre tasarlayın. Bir modelin Türkçeyi idare edeceğini varsaymayın; kendi Türkçe metinlerinizle ve anadili Türkçe olan değerlendiricilerle test edin.

Türkçe yapay zeka zorlukları nereden kaynaklanır?

Yazılımın takıldığı yerlerin çoğu beş özellikten çıkar.

  • Dilbilgisini ekler taşır. Çoğul, iyelik, hal ve zaman, köke art arda eklenen eklerle kurulur. “Fatura” metinlerde “faturalar”, “faturayı”, “faturanın” ve “faturalarımızdan” olarak da geçer; bilgisayar için bunların her biri ayrı bir dizgedir. Olumsuzluk da bir ektir: “ödenecek” ile “ödenmeyecek” arasında tek bir ek vardır, anlam ise tam tersidir.
  • Ekler ve kökler biçim değiştirir. Ünlü uyumu aynı eke birkaç yazım verir (-ler ya da -lar; -de, -da, -te ya da -ta). Kökler de ek alınca değişir: “kitap” “kitabı”, “izin” “izni” olur.
  • Dört ayrı i. Noktalı i’nin büyüğü İ, noktasız ı’nın büyüğü I’dır; varsayılan yazılım ayarları ise yalnızca İngilizcedeki çifti bilir.
  • İki ayrı hitap. Sizli ve senli hitap fiillerde ve iyelik eklerinde işaretlenir; yani resmiyet düzeyi yalnızca kelime seçimiyle değil, dilbilgisiyle kurulur.
  • Türkçenin içinde İngilizce. “PO’yu onayladım”, “deadline’ı kaçırdık”, “case’i escalate ettim”: İngilizce kelimeler Türkçe ek alır, çoğunlukla bir kesme işaretinden sonra.

Ekler aramayı ve bilgi erişimini nasıl etkiler?

Anahtar kelime araması birebir eşleşme arar; “fatura” araması “faturanın” geçen metni bulmaz. Joker karakterler (wildcard) düzenli biçimleri yakalar ama kök değişince işe yaramaz: “kitap*” araması “kitabı” biçimini hiç bulmaz. Kısa köklerde ise fazla sonuç getirir: “mal” araması “maliyet” ve “malzeme” kelimelerini de bulur.

Kelimeyi temel biçimine indirmenin iki yolu var. Kök bulma (stemming) ekleri kurallarla atar: hızlıdır ve düzenli biçimler için yeterlidir. Lemmatizasyon biçimbilimsel bir çözümleyici ve sözlük kullanır; bu yüzden değişen kökleri de çözer, örneğin “iznini” biçimini “izin”e indirir. Arama motorlarında genellikle bir Türkçe çözümleyici (analyzer) bulunur. Sık yapılan hata, onu belgelere uygulayıp sorgulara uygulamamaktır.

Anlamsal arama dizgeleri değil anlamı karşılaştırır ve kelime biçimleriyle daha iyi başa çıkar. Ama kodlar, isimler ve madde numaraları gibi birebir aranan öğelerde ve tek kelimelik sorgularda zayıftır. İş hayatındaki arama ikisine de ihtiyaç duyar; hibrit arama bu ikisini birleştirir.

Birçok kullanıcı Türkçe karakter kullanmadan yazar: “siparis”, “sikayet”, “odeme”. Bu yazımları kaçırmamak için metnin, Türkçe karakterleri ASCII karşılıklarına çevrilmiş bir kopyasını da dizinleyin (ASCII folding). Birebir eşleşmeleri ise üst sıralara koyun, çünkü bu dönüştürme “sık” ile “şık” gibi iki gerçek kelimeyi aynı yazıma indirger.

Temsili bir vakaya bakalım. Bir çalışan, kullanmadığı iznin devredilip devredilmediğini öğrenmek için İK politika asistanına “izin” yazar; yanıt ise sistem erişim izinleri hakkındadır, çünkü “izin” yetki anlamına da gelir. Aradığı “Kullanılmayan izinlerin devri” başlıklı bölüm modele hiç ulaşmamıştır: dizin “izinlerin” kelimesini başka bir kelime saymış, anlamsal arama da tek kelimelik sorguyu yetkilerle ilgili her şeyle eşleştirmiştir. Sorunu iki değişiklik çözer. Belgelere ve sorgulara uygulanan Türkçe çözümleyici, “izinlerin” ve “iznini” biçimlerini “izin” ile eşleştirir; hibrit arama da anahtar kelime eşleşmesini ve bölümün anlamını birlikte hesaba katar. Düzeltmeden sonra bölüm ilk sırada çıkar ve bu sorgular kalıcı test vakalarına dönüşür.

Noktalı ve noktasız i yazılımda neden sorun çıkarır?

Varsayılan harf dönüşümü İngilizceye göre yapılmıştır: i’yi İ’ye değil, I’ya çevirir. Bazı sonuçlar göze batar, bazıları fark edilmez:

  • “iade” varsayılan kurallarla büyütülünce “IADE” olur; okuyan herkes bunu “İADE” kelimesinin yanlış yazımı olarak görür.
  • “KAPI” varsayılan kurallarla küçültülünce “kapı” değil, “kapi” olur.
  • “İADE”, birçok varsayılan uygulamada küçültülünce bir i ile ardından gelen ayrı bir birleşen nokta işaretine dönüşür. Bu yüzden büyük/küçük harfe duyarsız bir “iade” araması o başlığı hiç bulmaz.

Çözüm, Türkçe metinde yerel ayara (locale) duyarlı, yani Türkçe kurallarla çalışan harf dönüşümüdür; kodda, tanımlayıcılarda ve sistem anahtarlarında ise yerel ayardan bağımsız dönüşüm kullanılır. Türkçe kuralları koda uygularsanız “id”, “İD” olur ve anahtar eşleştirmeleri bozulur.

Eski dosyalar da aynı türden sorunları gizler: bildik “Türkçe karakter sorunu”. Eski bir Türkçe kodlamayla kaydedilmiş metin Batı Avrupa kodlamasıyla okununca “İş Sözleşmesi”, “Ýþ Sözleþmesi” olur. Bozulma kolayca gözden kaçar, çünkü ö, ü ve ç sağlam kalır. Belgelerde diller de karışır; Türkçe paragrafların üstünde İngilizce başlıklar olur. Dili dosya bazında değil bölüm bazında tespit edin ve dizinlemeden önce kodlamaları normalleştirin.

Modeller Türkçede kaliteyi ve üslubu ne kadar tutturabiliyor?

Bu modele, göreve ve alana bağlıdır; İngilizce sonuçlar Türkçedeki kalite hakkında pek bir şey söylemez. Test edin ve özellikle şu hatalara bakın:

  • Eklerdeki dilbilgisi. Yanlış hal ekleri ya da hantal ek zincirleri, bilgiler doğru olsa bile metnin makine elinden çıktığını belli eder.
  • Karışık hitap. “Siparişiniz kargoya verildi, takip numaranı aşağıda bulabilirsin” cümlesi sizli başlar, senli biter.
  • Tahmin edilen hitap unvanları. “Bey” ve “Hanım” ada eklenir; Deniz gibi hem kadınlara hem erkeklere verilen bir addan tahmin yürüten model zaman zaman yanılır.
  • Terimler. Ekiplerinizin her gün kullandığı İngilizce terimlerin kimsenin kullanmadığı Türkçe karşılıklara çevrilmesi ya da bunun tersi.
  • Sayı biçimleri. Türkçe biçimde ondalık ayracı virgüldür: “1.250,50 TL”. İngilizce kurallarla okunduğunda “1.250” bir virgül iki yüz elli olur.

Ağırlıkla İngilizce metinle oluşturulmuş tokenizer’lar (metni token’lara bölen bileşenler), Türkçe metni çoğu zaman eşdeğer İngilizce metinden daha fazla parçaya böler; maliyeti bu yüzden Türkçe metin üzerinde ölçün. Bu hataları fark etmek, Türkçe verilen ve role göre tasarlanan eğitimlerde çalışılmaya değer bir beceridir.

Bir sistem Türkçede nasıl değerlendirilir?

Değerlendirme setini gerçek Türkçe girdilerden, zorlu biçimleri de dahil ederek oluşturun: yardım masası soruları, arama kayıtları, e-postalar ve belgeler. Her örneği içerdiği duruma göre etiketleyin: çekimli sorgu, Türkçe karakter kullanılmadan yazılmış metin, büyük harfli kaynak, karışık dil, sizli ya da senli hitap. Böylece sonuçlar, sistemin hangi durumda zorlandığını gösterir.

Referans yanıtları, işi bilen ve anadili Türkçe olan kişiler yazmalı. Çıktıyı da bilgilerin yanı sıra dilbilgisini, hitap biçimini ve terimleri kapsayan bir puanlama ölçütüyle puanlamalılar. Her aday modeli aynı set üzerinde çalıştırın, Türkçe sonuçları ayrı raporlayın ve model, prompt ya da çözümleyici her değiştiğinde seti yeniden çalıştırın.

“Türkçeyi destekliyor” bir iddiadır. Biri “izin” yazdığında “izinlerin” geçen bölümü bulmak ise kanıttır.

Tedarikçiye Türkçe hakkında neler sorulmalı?

  1. Arama ve bilgi erişimi, belgelerde ve sorgularda hangi Türkçe çözümleyiciyi kullanıyor? Bir kelimenin üç ayrı biçimiyle yapılan aramayı görmek isteyin.
  2. Harf dönüşümü nasıl yapılıyor? “iade” aramasının “İADE” başlığını, “ışık” aramasının da “IŞIK” yazısını bulduğunu görmek isteyin.
  3. Türkçe karakter kullanılmadan yazılmış metne ne oluyor?
  4. Eski karakter kodlamaları nasıl tespit edilip onarılıyor?
  5. Hangi modeller Türkçede, kimin örnekleriyle test edildi ve sonuçları kim puanladı?
  6. Hitap biçimi ve terimler nasıl kontrol ediliyor ve test ediliyor?

İyi bir yanıt, “modelimiz Türkçeyi destekliyor” cümlesi değil, sizin dosyalarınız üzerinde yapılan bir gösterimdir.

Gerçek sorgularınız neyi kaçırıyor?

Arama kayıtlarından ya da yardım masasından, yazım hataları dahil birkaç düzine gerçek Türkçe sorgu alın ve her birinin hangi bölümü bulması gerektiğini not edin. Bunları mevcut aramanızda çalıştırın; kaçanlar önce çözümleyiciye mi, harf dönüşümüne mi yoksa kodlamaya mı bakmanız gerektiğini gösterir. Aynı kontroller Türkçe yanıt veren her doküman asistanı için geçerlidir. Alttaki çözümleyiciler, harf dönüşümü ve değerlendirme ise veri ve yapay zeka altyapısı çalışmasının konusudur.

Bu notu bir yapay zeka asistanına sorun

Türkçe ve çok dilliAramaDeğerlendirme

veridive

Saha notlarını veridive yazar ve gözden geçirir. Nasıl yazıyoruz

Sorular

Bu notla ilgili sorular

Türkçe yapay zeka ve arama sistemleri için neden zor bir dil?

Başlıca nedeni, Türkçenin anlamı köke ekler ekleyerek kurması: bir kelime metinlerde pek çok biçimde geçer ve tam eşleşme araması bunların çoğunu kaçırır. Noktalı ve noktasız i için harf dönüşümü kuralları İngilizce varsayılanlardan farklıdır, eski dosyalar eski karakter kodlamalarıyla kaydedilmiştir ve Türkçe cümlelerde sık sık İngilizce terimler geçer. Her birinin bilinen bir çözümü var; uygulanıp uygulanmadığını ise yalnızca gerçek Türkçe metinle yapılan testler gösterir.

Yazılımda Türkçe i problemi nedir?

Türkçe i problemi bir harf dönüşümü hatasıdır. Türkçede noktalı i’nin büyüğü İ, noktasız ı’nın büyüğü I’dır; varsayılan yazılım ayarları ise i’yi I’ya çevirir. Türkçe metni varsayılan kurallarla büyütüp küçültmek yazım hatalarına ve kaçan arama sonuçlarına yol açar; Türkçe kuralları koda uygulamak ise tanımlayıcıları bozar. Metin için yerel ayara duyarlı, kod için yerel ayardan bağımsız harf dönüşümü kullanın.

Bir yapay zeka sisteminin Türkçe kalitesi nasıl test edilir?

Gerçek Türkçe sorulardan ve belgelerden bir değerlendirme seti oluşturun; çekimli kelimeleri, Türkçe karakter kullanılmadan yazılmış metinleri, Türkçe ve İngilizce karışık mesajları, sizli ve senli hitabı da ekleyin. Referans yanıtları işi bilen ve anadili Türkçe olan kişiler yazsın ve puanlasın; her aday modeli aynı set üzerinde çalıştırın. Türkçe sonuçları ayrı raporlayın ki genel ortalama zayıf noktaları gizlemesin.