
Zemberek ülkemizde yazılım adına yapılan en önemli çalışmalardan biridir bana göre. Eğer Pardus ya da OpenOffice kullandıysanız zemberek’in ne denli düzgün çalıştığına şahit olmuşsunuzdur.
Bu yazıda, JRuby[1] üzerinden Zemberek kütüphanelerine erişim konusuna değineceğim.
Sisteminizde JRuby’nin kurulu olduğu varsayılmıştır.
[1] JRuby %100 java ile yazılmış Ruby yorumlayıcısıdır.
Zemberek & JRuby
Öncelikle Zemberek ile çalışabilmek için Zemberek kütüphanelerine sahip olmamız gerekmektedir. Bu kütüphaneye ait dosyaları buradan bulabilir ya da zembereğin tüm modüllerini tek jar dosyası altında toplayan zemberek-tum-2.0.jar dosyasını indirebilirsiniz.
Bu dosyayı Java’nın hali hazırda bulabileceği bir yere kaydedebilir ya da oluşturacağımız dosya ile aynı yere kaydedebilirsiniz. (JRuby’ye require ile kolayca belirtmek için)
Dosyamızı kaydettikten sonra editörümüzü açıp zemberek kullanımına geçebiliriz.
zem.rb
İlk önce JRuby’ye zemberek kütüphanesini dahil etmesini söyleyelim.
# zemberek kütüphanemizi dahil edelim
require 'zemberek-tum-2.0.jar'
Zemberek kütüphanesinde kullanacağımız sınıfları projemize dahil edelim.
include_class 'net.zemberek.tr.yapi.TurkiyeTurkcesi'
Zemberek için nesnemizi oluşturalım
Artık şöyle bir kullanım yapabiliriz.
yazi = ARGV.shift || 'meraba'
# belirtlen yazı için öneriler isteyelim
oneriler = zembo.oner(yazi)
# önerilerimizi ekrana yazdıralım
puts "#{yazi} icin size #{oneriler.length} tane onerim var:"
oneriler.each_with_index do |oneri, i|
puts "Oneri #{i+1}: #{oneri}"
end
Yazının devamında dosyaya ait kaynak kodları bulabilirsiniz.
# zemberek kütüphanemizi dahil edelim
require 'zemberek-tum-2.0.jar'
include_class 'net.zemberek.erisim.Zemberek'
include_class 'net.zemberek.tr.yapi.TurkiyeTurkcesi'
yazi = ARGV.shift || 'meraba'
# Zemberek için nesnemizi oluşturalım
zembo = Zemberek.new(TurkiyeTurkcesi.new)
# belirtlen yazı için öneriler isteyelim
oneriler = zembo.oner(yazi)
# önerilerimizi ekrana yazdıralım
puts "#{yazi} icin size #{oneriler.length} tane onerim var:"
oneriler.each_with_index do |oneri, i|
puts "Oneri #{i+1}: #{oneri}"
end
Yazının bir sonraki sürümünde katarlar üzerinden işlemlerin ruby sınıflarıyla nasıl yapılacağına göz atacağınız inşallah.







[…] Bundan önceki yazımda JRuby ile Zemberek kütüphanesinin nasıl kullanılabileceğini basitçe görmüştük. Yazıda yer alan örneklere göz attığımızda Zemberek kütüphanesini kullanırken Java’da izlenen yolu birebir izledik. […]