Zemberek 2.1.1
Zemberek projesi ile Türkçe diline ilişkin çeşitli bilgi işlem problemlerinin çözümlenmesi için açık kodlu, platform bağımsız bir kütüphane oluşturulması amacı ile başlatılmıştır.Türkçe yapı itibarı ile Ingilizce, Almanca gibi Hint Avrupa dillerinden çok farklıdır. Ulamalı bir dil olmasından dolayı başka dillerde kolayca gerçekleştirilebilecek bilgisayarla kelime doğruluk tespiti, hata-öneri sistemi gibi işlemler Türkçe için son derece güç bir hale gelmiştir. Zemberek, Javanın sağladığı kütüphane, hız, dil ve platform avantajları ile bu tür zorlukların üstesinden gelmeye çalışacaktır.
Zemberek, açık kaynak kodlu Türkçe doğal dil işleme kütüphanesidir.Türkçe Doğal dil işleme kütüphanesi ve OpenOffice , LibreOffice eklentisidir.Java ile geliştirilmektedir ve yazım denetimi, hatalı yazımlar için öneri, heceleme, çözümleme gibi işlevlere sahiptir.İlk öce zembereği çalışmamiza ekleme işlemini anlatacağım.İlk olarak Zemberek kütüphanesinin java dosyasini 4Primesin github hesabındaki projeden inidiriyoruz.Ardindan bu 2 java dosyasini kendi projemizde olusturdugumuz jar klasörü içerisine ekliyoruz.
Konsol ekranindan” C:\Users\Freedom\Desktop\New folder\projects\AdresDefteri>” nin içerisinde play deps komutunu verdikten sonra sıra bagimliliklari vermeye geliyoruz.İlk önce bagimliliklari conf/dependencies.yml dosyasi içerisine yaziyoruz.
– play 1.2.4
– provided -> zemberek-cekirdek 2.1.1
– provided -> zemberek-tr 2.1.1
– org.apache.tika -> tika-parsers 1.0
repositories:
– provided:
type: local
artifact: “${application.path}/jar/[module]-[revision].jar”
contains:
– provided -> *
Bu komut satirlari sayesinde zemberek kütüphanesini projemize ekliyoruz.Tekrar “play deps” komutunu verip projemize ekliyoruz.“play eclisify –deps”komutundan sonra adres defteri adindaki projemiz senkronize edilmis hale geliyor.Bu islem adimlarindan sonra iki kütüphane dosyasi projemize eklenmis oluyor.Zemberek kütüphanesi fonksiyonlarını kullanmak için ise “import net.zemberek.erisim.Zemberek;” komutunu kullandıgımız projenin üst kısmına yazmamız yeterli olacak.Artık zemberek türünde bir nesne tanımlayabiliriz onuda şöyle yapıyoruz:
Zemberek zemberek = new Zemberek(new TurkiyeTurkcesi());
Komutundan sonra “zemberek.(ctrl+space)”yapınca bize zemberek ile ilgini kullanabileceğimiz metotları veriyor.Bunlardan bazilarini listeledim;
Öner:
Yanlış yazdiğimiz kelimeleri düzeltip bize dogru sonucu veriyor.Bu yanlışlığı açmam gerekirse bir harf eksikliği,bir harf fazlaliği veya yanlış kullanım şeklindedir.
Örnek:merhba=merhaba
Kelime Denetle:
Ben bu fonksiyonu kelimenin denetlenmesi için kullandım.Burda kelimenin doğru yazılıp yazılmadıgını kontrol ediyorum.
if(!zemberek.kelimeDenetle(giris)){
System.out.println(“hatalı” );
System.exit(1);
}
else System.out.println(“dogru:”);
Kelime Çözümle:Kelimenin boyu,ekleri,içeriği,son harfi,eksayisi gibi bilgiler verir.Ayrica ek ekleme özelliğide sunar.Kullanımında ise çözümleme seviyesi olarak “TUM_KOK_VE_EKLER”,”TEK_KOK”,”TUM_KOKLER” alinabilir.Aşağıdaki şekilde bir yapıyla oluşturabilir.
Örnek:
CozumlemeSeviyesi strateji=CozumlemeSeviyesi.TUM_KOK_VE_EKLER;
Kelime[] kelime=zemberek.kelimeCozumle(giris, strateji);
Kelime Üret:İstenilen kök ve eke göre kelime üretiyor.
ASCİİ Çözümle:Girdiğimiz kelime veya isimlerin ascii karşiliklarini verir.
Örnek:görüşürüz=gorusuruz
ASCİİDEN Türkçeye:Ascii girilmiş degeri türkçeye uygun şekilde verir verir.
Dil Testi:Zemberek oluşturulurken oluşan dille olan benzerliği kontrol eder.
Kelime Üret:Verilen eklere göre kelime üretir.
Kelime Ayrıştır:Aldığı string türü değişkene ait olası ayrıştırma sonuçlarını (kök ve ek oluşumları) string dizisi şeklinde ifade eden liste döndürür.
Hecele:Alinan degeri hecelerine ayirir.
Örnek:
girdi:kedilerimizden
heceleme sonucu:[ke, di, le, ri, miz, den]
örnek:
String[] heceler = zemberek_nesnesi.hecele(alınanDeğer);
System. out.println(“\nheceleme sonucu:” + Arrays.toString(heceler));
Eğer zembereğin kod yapisini ve arka planda ne yaptiğinida ögrenmek isterseniz:
http://code.google.com/p/zemberek/source/browse/trunk/zemberek2/src/cekirdek/net/?r=234#net%2Fzemberek
adresinden detayli bilgi alabilirsiniz.
Yorum gönder