Parser ve Lexicon Nedir

Parser, NLP’in en temel elemanıdır. Parser verilen cümleyi sentaktik olarak analiz ederek, parser ağacı denilen yapıya ayırır. İngilizce cümleler için ortaya konulan parser ağacında öncelikle cümle (S), isim sözcük öbeği ( noun phrase- NP) ve fiil sözcük öbeği (verb phrase –VP-) olmak üzere ikiye . Daha sonra fiil sözcük öbeği fiil ve isim sözcük öbeği olmak üzere tekrar ikiye ayrılır. Burada dikkat edilmesi gereken nokta bulunan ilk isim sözcük öbeği cümlenin öznesini gösterir. Diğer sözcük öbeği ise cümlenin nesnesini belirler. Bu işlem bizim ilkokul yıllarında öğrendiğimiz cümlenin öğelere ayrılmasına benzemektedir. Bu işlemden sonra görevleri belirlenen kelimeler semantik analize tabi tutularak giriş cümlesi ile ilgili bir çıkış cümlesi oluşturulur.
Lexicon
Lexicon program tarafından tanınmasını istediğimiz tüm kelimeleri içeren bir çeşit sözlüktür. Daha önceden de bahsedildiği gibi alana veya göreve özel alt öğelere sahiptir. Parser, lexicon ile sentaktik analiz yaparak çalışır. Lexicon her kelimenin doğru hecelenmesi ile her kelimenin NLP sistemi tarafından tanımlanan ve tanınmasını istenilen kelimelerin kök ve anlamlarını içerir. Doğaldır ki, kelimeler tek başlarına bir anlama sahip oldukları gibi birden fazla kelime ile bir araya gelerekte çeşitli anlamlar içerebiliyorlar. Bu tür kelimelerin tanınması için NLP sisteminin buna göre yapılandırılması gereklidir.
Bazı parser sistemleri kök analizi yapabilir. Verilen kelimenin anlamına ulaşabilmek için kelimeyi hecelerine ayırarak kelimeni köküne ulaşılır. Bu durumdan dolayı lexicon içerisinde çeşitli kelimelerin temel köklerinin bulunması gereklidir. Kök analizi yapılmayan NLP sistemlerinde lexicon içerisinde kelimelerin muhtemel tüm köklerinin bulunması gereklidir.
NLP sistemlerinde parser ile lexicon birlikte çalışırlar. NLP sistemi giriş cümlesinde parser ağacını meydana getirir ve bir anlama ulaşmaya çalışır. Ancak sentaktik analize rağmen bir sonuç çıkatılamayabilir. Bu durumda NLP sistemi semantik analize ihtiyaç duyar. Cümle içerisinden bir kelime seçilerek bu kelime lexiconda içinde araştırılır. Bir onuça ulaşılmış ise bu bellek içerisinde saklanır ve parser diğer bir kelimeyi seçerek lexicon içerisindeki araştırmasına devam eder. Tüm bu arama ve seçme işlemleri sırasında tesbit edilen yazım ve kullanım hataları kullanıcıya gösterilerek, kullanıcıdan gelen cevaplara göre doğru sonuca ulaşılmaya çalışılır.
Lexicon üzerinde yapılan işlemler temel olarak dört bölümde incelenebilir.
1-Tokanizasyon: Giriş cümlesi belirli taken (jeton)lar kullanılarak bölümlenir. Bu jetonlar genellikle kelime ve noktalama işaretleridir. Yalnız bu jetonlar dilin yapısına bağlı olarak secilirler. Örneğin bir dilde boşluk jeton olarak seçilirken, japonca’da kullanılamaz. Çünkü japonca’da kelimeler arasında boşluk işareti kullanılmamaktadır.
2- Köksel analiz : Bu aşamada kelime hecelelerine ayırt edilerek kelimenin köküne ulaşılır. Hecelere bölümlenerek köksel analiz Türkçe ve Fince gibi sondan eklemeli diller için NLP sistemlerine önem arz etmektedir.
3- Sözlüğe bakma : Yukarıda belirtilen teknikler kullanılarak tesbit edilen kök kelimenin ne anlama geldiği sözlüğe bakılarak tesbit edilir.
4- Hata dönüşümü : ulaşmış olduğunuz bir kökü sözlük içerisinde bulamamış iseniz muhtemelen bir hata oluşmuştur. Bu hatalar genellikle kelimenin yanlış hecelenmesinden, özel isimlerin doğru tesbit edilememesinden ya da kelimein yazı biçiminden kaynaklanır.
Pratikte, NLP sistemleri içerisinde kullanılan lexicon içerisinde 10000 ile 100000 arasında kelime bulunur. Bu sayılar göz önüne alınırsa lexiconun oldukça büyük ve karmaşık bir yapı olduğu ve büyük bir yatırım ve zaman gerektirdiği görülür.