
İngilis dilində a, yoxsa an: qayda ilk hərfdən deyil, səsdən asılıdır
Red Blob Games bloqunun qısa yazısı mətn generasiyasında əhəmiyyətsiz görünən bir məsələni araşdırır: a və an arasında necə seçim etmək lazımdır. Həlledici olan ilk hərf deyil, deyilən sözün ilk səsidir.
Red Blob Games proqramlaşdırma bloqu avtomatlaşdırmağa çalışana qədər əhəmiyyətsiz görünən bir məsələ barədə qısa yazı dərc edib: yaradılan mətndə sözün qarşısına a, yoxsa an yazılmalıdır.
Qayda yazıya deyil, səsə aiddir
Ağıla ilk gələn yanaşma ilk hərfin sait olub-olmadığını yoxlamaqdır, amma bu halda an unicorn alınır. Əsl qayda deyilən sözə aiddir: unicorn sait hərflə başlayır, lakin samit səslə — cmudict-də Y, beynəlxalq fonetik əlifbada /j/ — ona görə də a alır. Bunun əksi hour sözüdür: samit hərflə başlayır, amma sait səslə (cmudict AW, IPA /aʊ/), buna görə an hour yazılır.
Yəni qaydanın düzgün tətbiqi üçün sətir yoxlaması deyil, tələffüz lüğəti lazımdır; layihə də elə buradan başlayıb.
32.455 sözlə bir gün
Müəllif cmudict-i yükləyib ilk səs qaydasını ilk hərf qaydası ilə müqayisə edib. İlk cəhd çoxlu uyğunsuzluq göstərdi, ona görə siyahı qəsdən azaldıldı: xüsusi adlar (3.133), tək hərflər (26), ikinci dərəcəli tələffüzlər (9.114; herb sözünün amerikan və britaniya oxunuşu da daxil), sahiblik və ixtisarlar kimi durğu işarələri (8.574), hərf-hərf oxunan ixtisarlar (10) və əl ilə çıxarılan iki söz. Qalan 81.852 qeyd də kənara qoyuldu.
32.455 söz qaldı və müəllifin təəccübünə görə bunlardan yalnız 129-u istisna tələb etdi. Onları siyahıda asanlıqla tanımaq olar: eu və ew ilə başlayanlar (eucalyptus, ewe), heir ailəsi, honor və honest qrupunun çoxu, hour, once və one, həmçinin unicorn, uniform, unique, union, university, urine, useful, usual, uranium, utensil, uterus, utility, utopia və hətta yttrium kimi uzun u sözləri silsiləsi.
Layihə səhifəsinə d3 ilə hazırlanmış iki vizuallaşdırma əlavə olunub: biri sözün ilk iki hərfinin qərar üçün kifayət edib-etmədiyini, digəri neçə hərfə baxmaq lazım olduğunu göstərir. Birinci sualın cavabı aydındır: xeyr. Qrafik tələffüzün sait və samit arasında dəyişdiyi qırmızı budaqlarla doludur.
Qərar ağacı yerinə əl ilə yazılmış qaydalar
Müəllif istisnaları minimum qərar ağacına endirmək istəyirdi və məsələnin DFA minimallaşdırması ilə bağlı olduğunu güman edirdi, lakin buna nail ola bilmədi və qaydaları əl ilə yazdı: eu və ew samit səslər sayılır, heir, homage, hones və hono sait səslər, herb və onun törəmələri üçün ayrıca hallar var.
Yazıda kodun necə yazıldığı barədə səmimi qeyd də var. Dil modeli istifadə olunmayıb, amma müəllifin sözlərinə görə, geriyə baxanda istifadə etmək lazım idi: bir suala cavab vermək üçün yazılan birdəfəlik kodun səliqəli və ya saxlanıla bilən olması vacib deyil — düzgün olması kifayətdir. Onun fikrincə, model cmudict-i emal edib d3.js qrafiklərini qura bilərdi və bu, daha yaxşı trie analizi alqoritmi üçün vaxt qazandırardı.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.