Geri Dön
İngilizcede a mı an mı: kural ilk harfe değil, sese bağlı
SiTech AI Team2 წთ. საკითხავი

İngilizcede a mı an mı: kural ilk harfe değil, sese bağlı

Red Blob Games'in kısa yazısı, metin üretiminde önemsiz görünen bir sorunu inceliyor: a ile an arasında nasıl seçim yapılır. Belirleyici olan ilk harf değil, söylenen sözcüğün ilk sesi.

Programlama bloğu Red Blob Games, otomatikleştirmeye kalkışana kadar önemsiz görünen bir sorun üzerine kısa bir yazı yayımladı: üretilen metinde bir sözcüğün önüne a mı an mı geleceğine karar vermek.

Kural yazıma değil sese bakıyor

Akla ilk gelen yaklaşım ilk harfin sesli olup olmadığını kontrol etmektir, ama bu an unicorn çıktısını verir. Gerçek kural söylenen sözcüğe uygulanır: unicorn sesli bir harfle başlar ama ünsüz bir sesle — cmudict'te Y, uluslararası fonetik alfabede /j/ — dolayısıyla a alır. Bunun tersi hour sözcüğüdür: ünsüz bir harfle başlar ama sesli bir sesle (cmudict AW, IPA /aʊ/), bu yüzden an hour denir.

Yani kuralın doğru uygulanması için dize kontrolü değil, bir telaffuz sözlüğü gerekir; proje de tam bu noktadan başladı.

32.455 sözcükle bir gün

Yazar cmudict'i indirip ilk ses kuralını ilk harf kuralıyla karşılaştırdı. İlk deneme çok sayıda uyuşmazlık üretti, bu yüzden liste bilinçli olarak budandı: özel adlar (3.133), tek harfler (26), ikincil telaffuzlar (9.114; herb sözcüğünün Amerikan ve İngiliz okunuşu dahil), iyelik ve kısaltmalar gibi noktalama örnekleri (8.574), kısaltma harf grupları (10) ve elle çıkarılan iki madde. Geri kalan 81.852 kayıt da bir kenara ayrıldı.

Geriye 32.455 sözcük kaldı ve bunların, yazarın şaşkınlığına göre, yalnızca 129'u istisna gerektirdi. Listeye bakınca tanımak kolay: eu ve ew ile başlayanlar (eucalyptus, ewe), heir ailesi, honor ve honest grubunun çoğu, hour, once ve one ile unicorn, uniform, unique, union, university, urine, useful, usual, uranium, utensil, uterus, utility, utopia ve hatta yttrium gibi uzun bir u sözcükleri kuyruğu.

Proje sayfasına iki d3 görselleştirmesi eşlik ediyor: biri bir sözcüğün ilk iki harfinin karar vermeye yetip yetmediğini, diğeri kaç harfe bakılması gerektiğini gösteriyor. İlk sorunun yanıtı net: hayır. Grafik, telaffuzun sesli ve ünsüz arasında değiştiği kırmızı dallarla dolu.

Karar ağacı yerine elle yazılmış kurallar

Yazar istisnaları asgari bir karar ağacına indirmeyi umuyordu ve sorunun DFA en aza indirmeyle ilişkili olduğunu tahmin ediyordu; ancak bunu başaramadı ve kuralları elle yazdı: eu ve ew ünsüz ses sayılıyor, heir, homage, hones ve hono sesli ses, herb ve türevleri için ayrı durumlar tanımlanıyor.

Yazıda kodun nasıl yazıldığına dair açık sözlü bir not da var. Bir dil modeli kullanılmamış, ancak yazara göre sonradan bakınca kullanılmalıymış: tek bir soruyu yanıtlamak için yazılan bir kerelik kodun temiz ya da bakımı kolay olması gerekmez, doğru olması yeter. Yazara göre bir model cmudict'i ayrıştırıp d3.js grafiklerini üretebilir, böylece daha iyi bir trie analiz algoritmasına zaman kalırdı.

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.