Yazım denetleyicisi - Spell checker

Gelen yazılım , bir yazım denetleyicisi (veya yazım denetleyicisi veya yazım denetimi ) bir olduğunu yazılım özelliği bir de imla hataları denetler metin . Yazım denetimi özellikleri genellikle bir kelime işlemci , e-posta istemcisi , elektronik sözlük veya arama motoru gibi yazılımlara veya hizmetlere yerleştirilmiştir .

Gözün bir yazım denetimi var,
Bezelye Denizimle geldi.
Bu uçak lee dört revüme işaret ediyor
Bayan Steaks Denize düğüm atabilirim.

Göz rıhtımlara çarp
ve bir vızıltı yaz Ve ağırlık dört iki diyor
Hava gözü yanlış yazıyorum kürek
Bana doğruca tart diyor .

Göz bu şiiri fırlattı attı,
iki yok çok sevindim kıyın.
Ağırlığında cilalı olarak değişir.
Damarım dikmemi söyledi.

Bir
pulluk bir nimettir, Porsuk kekiklerini dondurur.
Tüm doğrultuları düzeltmeme yardım ediyor
ve gözüm kırıldığında bana yardım ediyor.

Ekranımda her fray ortaya çıkıyor
Göz de bir joule.
Dama her kelimeye dökülüyor
İki kontrol toplamı yazım kuralı.

Bu şiirin orijinal versiyonu 1992'de Jerrold H. Zar tarafından yazılmıştır. Gelişmiş olmayan bir yazım denetleyicisi bu şiirde çok az hata bulacaktır veya hiç hata bulmayacaktır çünkü sözcükleri ayrı ayrı kontrol eder. Daha karmaşık bir yazım denetleyicisi, bir kelimenin geçtiği bağlamı değerlendirmek için bir dil modelini kullanır.
Yukarıdaki şiir için Google Chrome yazım denetleyicisi iş başında, "dama" kelimesi tanınmayan kelime olarak işaretlendi

Tasarım

Temel bir yazım denetleyicisi aşağıdaki işlemleri gerçekleştirir:

  • Metni tarar ve içerdiği kelimeleri çıkarır.
  • Daha sonra her bir kelimeyi, doğru yazılmış kelimelerin bilinen bir listesiyle (yani bir sözlük) karşılaştırır. Bu, yalnızca bir sözcük listesi içerebilir veya tireleme noktaları veya sözcüksel ve dilbilgisel nitelikler gibi ek bilgiler de içerebilir.
  • Ek bir adım, morfolojiyi işlemek için dile bağlı bir algoritmadır . Hatta böyle bir hafif çekimli dil için İngilizce , yazım denetleyicisi bu tür çoğul aynı kelimenin farklı şekillerde, sözlü formları, dikkate almak gerekir kasılmalar ve zamirleri . Aglutinasyon ve daha karmaşık çekim ve çekim özelliklerine sahip olanlar gibi diğer birçok dil için, sürecin bu kısmı daha karmaşıktır.

Bir kelimenin gramer rolüne bağlı olarak birçok biçimine izin veren morfolojik analizin İngilizce için önemli bir fayda sağlayıp sağlamadığı açık değildir, ancak Almanca, Macarca veya Türkçe gibi oldukça sentetik diller için faydaları açıktır.

Bu bileşenlere ek olarak, programın kullanıcı arabirimi , kullanıcıların değiştirmeleri onaylamasına veya reddetmesine ve programın çalışmasını değiştirmesine olanak tanır.

Yazım denetleyicileri, yanlış yazılmış sözcüklerin doğru yazımlarını bulmak için Levenshtein mesafesi gibi yaklaşık dize eşleştirme algoritmalarını kullanabilir . Alternatif bir yazım denetleyicisi türü, doğru yazılmış sözcükler yerine hataları tanımak için yalnızca n-gram gibi istatistiksel bilgileri kullanır . Bu yaklaşım genellikle yeterli istatistiksel bilgi elde etmek için çok çaba gerektirir. Önemli avantajlar arasında daha az çalışma zamanı depolaması gerekmesi ve bir sözlüğe dahil olmayan sözcüklerdeki hataları düzeltme yeteneği yer alır.

Bazı durumlarda, yazım denetleyicileri sabit bir yazım hatası listesi ve bu yazım hataları için öneriler kullanır; bu daha az esnek yaklaşım, genellikle ansiklopedilerin girişlerine bakınız gibi kağıt tabanlı düzeltme yöntemlerinde kullanılır .

Fonetik bilgilerle birlikte yazım denetimi için kümeleme algoritmaları da kullanılmıştır.

Tarih

PC öncesi

1961'de, bu gelişen teknolojiyle ilgili araştırmayı yöneten Les Earnest , 10.000 kabul edilebilir kelimeden oluşan bir listeye erişen ilk yazım denetleyicisini eklemenin gerekli olduğunu gördü. O sırada Earnest'in lisansüstü öğrencisi olan Ralph Gorin, genel İngilizce metin için (araştırma yerine) bir uygulama programı olarak yazılmış ilk gerçek yazım denetimi programını yarattı: Şubat ayında Stanford Üniversitesi'nin Yapay Zeka Laboratuvarında DEC PDP-10 için SPELL 1971. Gorin , daha hızlı eylem için SPELL'i assembly dilinde yazdı ; ilk imla düzelticisini kelime listesinde tek bir harf veya bitişik harf transpozisyonları ile farklılık gösteren akla yatkın doğru yazımları aratıp kullanıcıya sunarak yapmıştır. Gorin, çoğu SAIL (Stanford Yapay Zeka Laboratuvarı) programında olduğu gibi, SPELL'i herkesin erişimine açık hale getirdi ve kişisel bilgisayarların genel kullanıma girmesinden yaklaşık on yıl önce, yeni ARPAnet aracılığıyla kısa sürede dünyaya yayıldı. SPELL, algoritmaları ve veri yapıları Unix ispell programına ilham verdi .

İlk yazım denetleyicileri, 1970'lerin sonlarında ana bilgisayar bilgisayarlarında yaygın olarak bulunuyordu. Georgetown Üniversitesi'nden altı dilbilimciden oluşan bir grup , IBM şirketi için ilk yazım denetimi sistemini geliştirdi.

Henry Kučera , 1981'de Digital Equipment Corp'un VAX makineleri için bir tane icat etti.

bilgisayarlar

Kişisel bilgisayarlar için ilk yazım denetleyicileri 1980'de ortaya çıktı, örneğin Commodore sistemleri için "WordCheck" ve 1980'in sonlarında reklamların Ocak 1981'de basılması için piyasaya sürüldü. Maria Mariani ve Random House gibi geliştiriciler OEM paketlerini aceleye getirdiler veya -kullanıcı ürünleri hızla genişleyen yazılım pazarına. Windows öncesi bilgisayarlarda, bu yazım denetleyicileri, çoğu yeterli belleğe sahip bilgisayarlarda sözcük işlem paketlerinden TSR modunda çalıştırılabilen bağımsız programlardı .

Bununla birlikte, 1980'lerin ortalarında WordStar ve WordPerfect gibi popüler kelime işlemci paketlerinin geliştiricileri tarafından paketlerine yazım denetleyicileri dahil edildiğinden, bağımsız paketler pazarı kısa ömürlü oldu. İngilizce'den birçok Avrupa diline ve hatta Asya diline kadar . Ancak bu, özellikle Macarca ve Fince gibi ağır sondan eklemeli dillerle ilgili olarak, yazılımın morfoloji rutinlerinde artan bir karmaşıklık gerektiriyordu . İzlanda gibi bir ülkedeki kelime işlemci pazarının büyüklüğü, bir yazım denetleyicisi uygulama yatırımını haklı çıkarmasa da, WordPerfect gibi şirketler, küresel pazarlama stratejilerinin bir parçası olarak yazılımlarını mümkün olduğunca çok sayıda ulusal pazar için yerelleştirmeye çalıştılar .

Apple, Mac OS X için "sistem çapında bir yazım denetleyicisi" geliştirdiğinde, "işletim sistemi yazım düzeltmelerini devraldı", bu bir ilkti: birinin "her biri için ayrı bir yazım denetleyicisi tutması gerekmiyordu". Mac OS X'in yazım denetimi kapsamı hemen hemen tüm paketlenmiş ve üçüncü taraf uygulamaları içerir.

1994'te tanıtılan Visual Tools'un VT Speller , "Windows'u destekleyen uygulama geliştiricileri için tasarlandı". Bir sözlükle geldi, ancak ikincil sözlüklerin kullanımını oluşturma ve birleştirme yeteneğine sahipti.

tarayıcılar

Firefox 2.0, bir web tarayıcı , bu tür pek çok yazılı, Vikimetin düzenlerken gibi kullanıcı yazılı içerik için yazım denetimi desteği vardır web posta siteleri, bloglar ve sosyal ağ siteleri. Web tarayıcıları Google Chrome , Konqueror ve Opera , e-posta istemcisi Kmail ve anlık mesajlaşma istemcisi Pidgin ayrıca, daha önce GNU Aspell'i ve şu anda Hunspell'i motorları olarak şeffaf bir şekilde kullanarak yazım denetimi desteği sunar .

spesiyaller

Bazı yazım denetleyicileri, tıbbi hataları önlemeye yardımcı olmak için tıbbi sözlükler için ayrı bir desteğe sahiptir.

işlevsellik

İlk yazım denetleyicileri "düzelticiler" yerine "doğrulayıcılar"dı. Yanlış yazılan kelimeler için hiçbir öneride bulunmadılar. Bu yazım hataları için yardımcı oldu, ancak mantıksal veya fonetik hatalar için pek yardımcı olmadı. Geliştiricilerin karşılaştığı zorluk, yanlış yazılmış kelimeler için faydalı öneriler sunmanın zorluğuydu. Bu, sözcükleri bir iskelet biçimine indirgemeyi ve örüntü eşleştirme algoritmaları uygulamayı gerektirir.

Yazım denetimi sözlükleri söz konusu olduğunda, doğru sözcüklerin yanlış olarak işaretlenmemesi için "daha büyük, daha iyi" olması mantıklı görünebilir. Ancak pratikte, İngilizce için en uygun boyut yaklaşık 90.000 giriş olarak görünmektedir. Bundan daha fazlası varsa, yanlış yazılan kelimeler başkaları ile karıştırıldığı için atlanabilir. Örneğin, bir dilbilimci, korpus dilbilim temelinde baht kelimesinin Tay para birimine yapılan bir referanstan daha sık olarak bath veya bat'ın yanlış yazıldığına karar verebilir. Bu nedenle, Tayland para birimi hakkında yazan birkaç kişinin biraz rahatsız olması, banyoları tartışan çok sayıda insanın yazım hatalarının gözden kaçırılmasından daha yararlı olacaktır.

Ekran görüntüsü Enchant , AbiWord yazım denetleyicisi.

İlk MS-DOS yazım denetleyicileri çoğunlukla sözcük işlem paketlerinin içinden prova modunda kullanıldı. Bir belgeyi hazırladıktan sonra, bir kullanıcı metni taradı ve yazım hataları aradı. Ancak daha sonra toplu işleme, Oracle'ın kısa ömürlü CoAuthor'u gibi paketlerde sunuldu ve bir kullanıcının bir belge işlendikten sonra sonuçları görüntülemesine ve yalnızca yanlış olduğu bilinen kelimeleri düzeltmesine izin verdi. Bellek ve işlem gücü çoğalınca, 1987'de piyasaya sürülen Sektör Yazılımı tarafından üretilen Spellbound programında ve Word 95'ten itibaren Microsoft Word'de olduğu gibi arka planda etkileşimli bir şekilde yazım denetimi yapıldı .

Son yıllarda, yazım denetleyicileri giderek daha karmaşık hale geldi; bazıları artık basit gramer hatalarını tanıyabilir . Bununla birlikte, en iyi hallerinde bile, bir metindeki tüm hataları ( sesteş sesli sözcükler gibi ) nadiren yakalarlar ve neolojizmleri ve yabancı sözcükleri yanlış yazım olarak işaretlerler . Bununla birlikte, yazım denetleyicileri, ana dili olmayan öğrencilerin hedef dildeki yazım hatalarını tespit etmek ve düzeltmek için güvenebilecekleri bir tür yabancı dil yazma yardımı olarak düşünülebilir .

İngilizce dışındaki diller için yazım denetimi

İngilizce, resmi yazılarda kullanılan çoğu kelimenin, bazı jargon ve değiştirilmiş kelimeler dışında, tipik bir sözlükte bulunabilecek tek bir yazımına sahip olması nedeniyle alışılmadık bir durumdur. Birçok dilde, kelimeler genellikle yeni kelime kombinasyonları halinde birleştirilir . Almanca'da bileşik isimler sıklıkla diğer mevcut isimlerden türetilir. Bazı komut dosyaları, bir kelimeyi diğerinden açıkça ayırmaz ve kelime bölme algoritmaları gerektirir. Bunların her biri, İngilizce olmayan yazım denetleyicileri için benzersiz zorluklar sunar.

Bağlama duyarlı yazım denetleyicileri

Yanlış yazılmış bir kelimeyi, kelimenin kendisi kelime dağarcığında olsa bile , çevreleyen kelimelerin bağlamına dayalı olarak tanıyabilen algoritmalar geliştirmek üzerine araştırmalar yapılmıştır . Bu sadece yukarıdaki şiirdeki gibi kelimelerin yakalanmasını sağlamakla kalmaz, aynı zamanda sözlükleri büyütmenin zararlı etkisini de azaltarak daha fazla kelimenin tanınmasını sağlar. Örneğin, Tay dili veya Tayland ile aynı paragrafta yer alan baht , banyonun yanlış yazılması olarak kabul edilmez . Böyle bir sistem tarafından yakalanan hataların en yaygın örneği , aşağıdaki cümledeki kalın kelimeler gibi sesteş sözcüklerdir:

Onların gelecek çok denize eğer onun makara .

Bugüne kadarki en başarılı algoritma, Andrew Golding ve Dan Roth'un 1999'da yayınlanan ve sıradan sözcük dışı yazım hatalarına ek olarak bağlama duyarlı yazım hatalarının yaklaşık %96'sını tanıyabilen " Winnow tabanlı yazım düzeltme algoritması"dır. Microsoft Office 2007'de içeriğe duyarlı bir yazım denetleyicisi görünür ve aynı zamanda artık geçersiz olan Google Wave'de de görünür .

Dilbilgisi denetleyicileri , yanlış sözcük seçimi de dahil olmak üzere, yazım hatalarının ötesinde dilbilgisi ile ilgili sorunları düzeltmeye çalışır.

Ayrıca bakınız

Referanslar

Dış bağlantılar