blog image

Spellchecker ve Spell Correction Nedir?

Bilgisayar ve cep telefonu kullanımı sırasında, özellikle tuşlara basımın hızlı olduğu durumlarda kelimelerin yanlış yazımı büyük oranda artıyor. Telefonların otomatik düzeltme gibi özellikleri olsa da, bilgisayar kullanımında böyle bir seçenek pek mümkün olmayabiliyor. Yanlış yazım ve imla hataları, özellikle sonradan değiştirilme imkanı olmayan noktalarda problem yaratabiliyor. Bu durumda, spellchecker ve spell correction kullanımı büyük faydalar sağlayabiliyor.

Bir kullanıcının aldığı bir ürün için yazdığı yorumu ele alalım; “Renginin siyha olması çok hoşuma gitti.” Yorumunda, siyah kelimesi yanlış yazılmış olsun. Öncelikle böyle bir kelimenin var olup olmadığına bakılır, kelimenin geçerli sözlükte olmaması durumunda ise devreye spell correction girer. Örnek olarak aldığımız “siyha” kelimesindeki düzeltme işlemi şu şekilde gerçekleşir: İlk harften başlayarak sırayla tüm harfler teker teker değiştirilir. İkinci aşamada, harfler bir yanındakiyle yer değiştirir; üçüncü aşama ise, her harfin arasına yeni bir harfin eklenmesidir. Her üç aşamada da, ortaya anlamlı bir kelimenin çıkıp çıkmadığına bakılır. Bu durumda “siyha” kelimesinin “siyah” olarak doğru biçimine kavuşması ikinci aşamada, kelimenin dördüncü ve beşinci harflerinin yer değiştiği noktada gerçekleşecektir. Böylece kelime, doğru anlamına evrilmiş olacaktır.

Elbette bu düzeltme işlemi için bazı istisnai durumlar vardır. Bazı kelimeler hem spell correction ile, hem de Türkçe harflerin düzeltildiği deasciification işlemi ile anlamlı hallerine bürünebilir.

Yine bir olası kullanıcı yorumundan örnek vermek gerekirse, “Maas yüzeyinin ahşap olması çok şık bir görünüm sağlıyordu.” Cümlesinde, “maas” kelimesinin iki farklı düzeltimi olabileceği görülebilir. Bu kelime, deasciifier ile “maaş” olarak, spell correction ile de “masa” olarak düzeltilebilir. Bu durumda, ortaya doğru yazılan iki farklı çıkar. İki algoritma da, kelimenin cümle içerisindeki kullanımı ile ilgilenmez. “Masa yüzeyinin ahşap olması çok şık bir görünüm sağlıyordu.” ve “Maaş yüzeyinin ahşap olması çok şık bir görünüm sağlıyordu.” Cümlelerinin ikisi de doğru yazılmış, imla hatası bulunmayan cümlelerdir. Elbette, “maaş yüzeyi” gibi bir kelime öbeğinin anlamlı olması beklenemez, ancak deasciifier da spell correction da cümlelerin anlamsal boyutlarıyla ilgilenmez.

Bu noktada devreye NGram modelleme girer. NGram modelleme ile kelimenin solundaki ve sağındaki kelimeler ele alınır ve uyumu incelenir. Öğrenilmiş modelleme ile “maaş yüzeyi” öbeğinin kullanılmayacağı, “masa yüzeyi” öbeğinin ise doğru bir kullanım olduğu görülür ve doğru ifadeye ulaşılabilir.

Spell correction, deasciifier ve NGram örneklerinden yola çıkarak, bir kelime üzerindeki yanlışlığın giderilmesi için tek algoritmanın yeterli olabileceği gibi, üç algoritmanın da aynı anda kullanılması gerektiği durumlar olduğu görülebilir. Üç algoritma da birbirinden farklı amaçlara hizmet eder ve ilgilendikleri problem için oldukça faydalı sonuçlar ortaya koyarlar ancak “maas” örneğindeki gibi kompleks durumlarda algoritmaların bir arada kullanımı en etkili sonucun elde edilmesini sağlayacaktır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir