Closed ugrozkr closed 5 years ago
Bunu bir örnekle açıklayabilir misiniz?
Zemberek uygulamasını spring boot üzerinde api servis olarak açacağız jar paketi haline getirerek. Finans üzerine bir asistan yapmak istiyoruz basit anlamda fakat zemberek içerisinde yer alan türkçe kelimeler finans sektörü terimleri biraz farklı olduğu için çok eksik kalıyor. Örneğin ATM, Pos, Ekstre, Bono gibi kelimeleri mevcut sözlüğe ekleyerek daimi olarak kullanmak istiyoruz. birde bunlar dışında NER olarak eklememiz gereken tek yada iki kelimeden oluşan özel kelimeler var hepsini tek seferliğe mahsus ekleyip mevcut spring boot api üzerinde işlemi tekrar yapmaya gerek kalmadan daimi kullanabilmek istiyoruz.
NER mantığı için aşağıdakiler için içerisinde tek satır kayıt bulunan örnek dosya paylaşabilirseniz dummy data içeren
Path trainPath = Paths.get("ner-train"); Path testPath = Paths.get("ner-test"); Path modelRoot = Paths.get("my-model");
Yeni kelimeleri eklediğimizde nereye save edildiği ve recycle olup kaybolmaması içinde nasıl çalıştırmamız gerektiği konusunda kısa bilgi paylaşabilirseniz süper olur @ahmetaa bey
Zemberek jar içerisinde yer alan sözlükleri okumaya izin veriyor. Ama 0.16.0'dan sonra kaynak tanımlama konusunda bazı değişiklikler oldu. o nedenle aşağıdaki kod sadece trunk için çalışıyor olabilir.
Örneğin jar içerisinde size ait "resources/my_dictionary.txt" ve "resources/finance_dictionary.txt" dosyaları olsun:
RootLexicon lexicon = RootLexicon.builder()
.setDefaultLexicon(RootLexicon.getDefault()) // sabit zemberek sozlugunu ekler.
.addTextDictionaryResources("resources/my_dictionary.txt","resources/finance_dictionary.txt")
.build();
TurkishMorphology morphology = TurkishMorphology
.builder()
.setLexicon(lexicon)
.build();
sözlük için bu kısım ok hocam peki NER olunca konu ?? birde örnek file paylaşabilir misiniz ? gerçek ER olmasına gerek yok tek satır dummy kayıt olsa yeter mantığını oturtmak için.
https://github.com/ahmetaa/zemberek-nlp/blob/master/ner/README.md
Burada örnek var. Mesela:
<START:ORG> Enerji Verimliliği Merkezi <END> kurucu başkanı <START:PER> Bülent Yeşilata <END> , <START:LOC> Ankara'da <END> bir toplantıya katıldı.
Bu örnekte OpenNLP stili annotation yapılmış. Bu arada örnekte bir hata vardı sonradan düzelttim.
Selam, Net tarif edebilmek için soruyu türkçe soruyorum. Zemberek için finans terimlerini eklemek istiyoruz. Burada yeni kelime ekleyip türettiğimizde bu nereye eklenmiş oluyor nerede tutuluyor bizim bunu tekrar etmeden tek sefer yapıp daimi kullanabilmemiz gerekiyor.
Birde veritabanı tarafında tutulan bir sözlük ile zemberek kelime havuzunu mix kullanmak mümkün müdür ?