Zemberek Kütüphanesini Kullanmak

Bu yazıda bir Java projesine zemberek kütüphanesini dahil etmeyi ve temel işlevlerini nasıl kullanabileceğimizi göreceğiz.


Zemberek Türkçe için bir doğal dil işleme kütüphanesidir. Bu yazının kaleme alındığı tarih itibari ile eski zemberek2 projesi yerine Zemberek-NLP projesi geliştiriliyor.

Projenin github sayfasından gerekli bilgilere, Examples kısmından ise örnek kodlara ulaşabiliriz.

  • Projenin googledocs sayfasından 0.11.1 versiyonun tüm modüllerini içeren aşağıdaki dosyayı indirelim.
    • zemberek-all-0.11.1.jar
  • Yine aynı sayfadan dependencies klasörünü indirelim. İçerisindeki dosyalar:
    • guava-18.0.jar
    • antlr4-runtime-4.6.jar
    • args4j-2.0.25.jar

Diğer gereksinimlerimiz ise JDK‘nın öncelikle sistemimizde hazır olarak bulunması. IDE olarak NetBeans kullanacağız ve herhangi bir framework kullanmadan yalnızca temel işlevleri kullanabilir hale gelmeyi amaçlıyoruz.

Amacımız kütüphanenin ayrıntılı bir kullanımından ziyade bir başlangıç yapmak olacak.

Örnek Projenin Oluşturulması

NetBeans içersisinden File > New Project diyerek Zemberek1 isimli bir Java Application oluşturuyoruz.

Ardından yukarıdaki 4 jar dosyasını projemize ekliyoruz.

Add Jar File NetBeans

Dosyalar eklendikten sonra artık Zemberek1.java dosyası içerisine ilk kodlarımızı yazmaya başlayabiliriz.

Zemberek Jar Files

Aşağıdaki örnekte Zemberek’ten morphology modülünü kullanarak şimdilerde kelimesini analiz etmesini istiyoruz.

Analizin sonucuna bakacak olursak şimdilerde kelimesinin zarf olduğunu anladığını, şimdi‘nin zaman bildirdiğini ve isim olduğunu tespit ettiğini görüyoruz.

Zemberek Output NetBeans

  • Analiz sonuçlarında Türkçedeki soneklerin kodlarını görüyoruz. (morpheme names) Detaylı açıklama burada mevcut.
  • 7 saniye çok uzun fakat burada esas zamanı morphology nesnesinin oluşturulması alıyor. Burada amacımız en kısa sürede çalıştırmak olduğundan nesne yönelimli yaklaşıma dikkat etmedik.
  • Dilin kendisindeki belirsizlikten dolayı analizin sonuçları birden fazla olabiliyor. Aynı zamanda zemberek kütüphanesi henüz stabil olmadığından bug’lar ve yanlış sonuçlarla karşılaşabiliyoruz.

1 Comment

  1. hocam teşekürler. güzel bir başlangıç yazısı olmuş.

Bir cevap yazın

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