CEYD ile Doğal Dil İşlemeye Giriş

Cenker Sisman tarafından tarihinde yayınlandı

Tanıdıklarınıza bu yazıyı önerin

CEYD ile Doğal Dil İşlemeye Giriş

CEYD-A’ yı geliştirmek için kullanılan CEYD platformu, cihaz üzerinde yorumlanıp çalışan yapısal ve sıralı programlama geliştirme ortamıdır.

CEYD kodları komutlar içine yazılır. Bu yazımızda Doğal Dil İşleme (NLP) çalışmalarında kullanabileceğiniz kod örneklerine giriş yapacağız.

CEYD platformu kendi bünyesindeki algoritmaları yeniden kod geliştirmek isteyen geliştiricilerin kendi kodlarında yararlanabilmesi için komutlar halinde sunmaktadır. CEYD-A’nın neredeyse tamamı CEYD yapısındaki bu komutlar ile geliştirilmektedir. Yapının geçersiz kılma (override) özelliği ile komutlar, geliştiriciler tarafından kendi cihazları üzerinde kullanılmak üzere tekrardan yazılabilir.

CEYD üzerinde geliştirme yapmak için önceki yazılara buradan ulaşabilirsiniz. Yukarıdaki görsellerde çıktıları gösterilen cmdtokenize komutunun kodu aşağıdaki gibidir. CEYD kodlarının daha iyi anlaşılabilmesi için cümle kelimelere bölünmüş ve her kelime için ayrı işlemlerin yapılışı döngü içinde gösterilmiştir. Gerekirse yöntem değiştirilerek kelime yerine cümle bazlı daha performanslı komutlar da yazılabilir.


 

Yukarıda kullanılan örnekteki Doğal Dil İşleme komutlarını ayrı arı denediğimizde aşağıdaki sonuçları elde edebiliriz:

Doğal Dil işleme komutlarını gerçekleştirirken Zemberek kütüphanesinden ve CEYD yapısının kendi oluşturduğu modüllerden yararlanılmıştır.

Komutların söz dizimleri şu şekildedir:

cmdsplit AYIRAÇ KARAKTERİ,OLUŞACAK DİZİ İSMİ,CÜMLE
Verilen cümleyi içinde ayıraç karakteri geçen yerlerden bölerek dizi haline getirir.

cmdgetlemma KELİME
Lemmatization kelimenin morfolojik analizini dikkate alarak kelimenin kök kısmını tespit eder.

cmdgetspeechtag KELİME
Kelimenin dilbilgisi açısından türü (Part Of Speech) tespit edilir.

cmdgetfamily KELİME
Kelimenin anlamsal olarak sözlükte geçen kategorilerini döndürür.

Diğer Doğal Dil İşleme komutlarından bazılarını ise şu şekilde sıralayabiliriz:

cmdspellcheck KELİME
Kelime veya cümlede geçen küçük imla hatalarını düzeltmeye çalışır.

isverb KELİME
isadjective KELİME
isfood KELİME
getrelation KELİME,KELİME

Kelimenin anlamsal olarak hangi türe ait olduğunu döner.


 

cmdanalyzeword KELİME
CEYD yapısında asistan kişilik özelliklerine sahip olabilir. Bu komut ile KELİME ile gösterilen özelliğin asistanda olup olmadığı tespit edilir. Eğer mevcut ise 1 değerini döner.

 

cmdfetchpersonfromstring CÜMLE
Cümlenin içinde geçen kişi ismi tespit edilir ve bu değer döndürülür. Bu yöntemle tüm cümlenin ana komut kelimesi öncesinde geçen bölgesinde isim tespiti yapılabilir. Örneğin ana komut kelime(ler)i isminin anlamı olsun. Öncesinde geçen bana lütfen zeynep cümle olarak atanırsa, içindeki Zeynep tespit edilip karışık cümlelerin daha rahat çözümlenmesi sağlanır.


 

cmdfetchlocationfromstring CÜMLE
Aynı şekilde, cümlenin içinde geçen yer ismi tespit edilir ve bu değer döndürülür. Yer ismi Türkiye’deki tüm şehir, ilçe, kasaba, köy ve mahalleleri içermektedir.


 

staTopic, staAction, staMainTopic

CEYD yapısında yazım düzeni olarak genel amaçlı kullanılan değişkenlerin ismi sta ile başlar. Bu değişkenler hem kod içinde kullanıcı tarafından hem de oluşan ortama göre kendiliğinden değişebilir. staTopic, yapılan konuşmalarda cümleden alınan konuyu ifade eden kelimedir. Sonraki konuşmalarda eğer özne bulunmayan bir cümle yapısı görülürse staTopic değişkenin içeriği otomatik olarak konu olarak ele alınır ve cümle tamamlanır.

Aşağıdaki örnekte, öncesinde bahsi geçen bir yer ile ilgili BURADAN UZAKLIĞI NE KADAR diye sorulduğunda staTopic değerinin ele alındığını görüyoruz. cremainingdistance (YER İSMİ) komutu mevcut yer ile yer ismi arasındaki km cinsinden mesafeyi dönmektedir.


 

Aynı şekilde staAction değişkeni, eylemin olmadığı cümlelerde kullanılmak üzere bir önceki konuşmalardaki eylem olarak ele alınır.

staMainTopic ise ana konuyu belirler. Örneğin konu elma ise, ana konu otomatik olarak meyveler olur.

Bonus komutlar:

cmdspell CÜMLE
Verilen cümle Türkçe dil kurallarına uygun olarak hecelerine ayrılır.


 

Kuş dili; her sesli harften sonra “g, c” gibi bir sessiz harfler eklenerek yapılır. Eklemeli bir dil olarak bilinir ve bazı harfler eklenerek gerçekleştirilir. Şifreli konuşmak isteyenlerin daha çok uyguladığı bir yöntemdir.

İlerleyen yazılarda Doğal Dil İşleme ile ilgili konulara değinileceği gibi yapının içerdiği Derin Öğrenme metodlarına da değineceğiz.


Cenker Sisman

1971 yılında doğan Cenker Sisman, Saint-Joseph lisesini bitirdi. Yıldız Teknik Üniversitesi’nde Bilgisayar Mühendisliği ve İstanbul Teknik Üniversitesi’nde aynı bölümün yüksek lisans eğitimlerini tamamladı. Savaş Köse ile beraber yazdığı ‘Parallel Implementation of The Hough Transformation’ çalışması SCI’99/ISAS’99 da yayınlandı. Yazdığı uzaktan bilgisayar kontrol uygulaması ‘Panda Future Connection’ Bimeks 1998 En İyi Yazılım – Mansiyon ödülünü aldı. Diğer programları olan WinPerfect, CleanDisk, VideoCapture, FTPExplorer, CardReader ve Multi-Email Sender uygulamaları zaman zaman yurtdışındaki medyalarda yayınlandı ve çeşitli otoriteler tarafından ödüller aldı.

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.