Closed hakkiyagiz closed 5 years ago
Analiz sonrasında gövde bilgisini getLemmas() ile alabilirsiniz.
Kod ile göstermeye çalışayım.
String sentence = "Jackie Chan'a yapmadıklarını bırakmadılar!";
Cümleyi analiz edip belirsiziliği gider, en iyi sonuç analizlerini ekrana bas (Henüz belirsizlik giderimi çok iyi çalışmıyor):
SentenceAnalysis result = morphology.analyzeAndDisambiguate(sentence);
result.bestAnalysis().forEach(System.out::println);
Çıktı:
[Jackie:Noun,Prop] jackie:Noun+A3sg
[Chan:Noun,Prop] chan:Noun+A3sg+a:Dat
[yapmak:Verb] yap:Verb+ma:Neg|dık:PastPart→Noun+lar:A3pl+ı:P3pl+nı:Acc
[bırakmak:Verb] bırak:Verb+ma:Neg+dı:Past+lar:A3pl
[!:Punc] !:Punc
Bu analizlerin lemma (gövdelerini) yazdır:
result.bestAnalysis().forEach(s->System.out.println(s.getLemmas()));
Çıktı:
[jackie]
[chan]
[yap, yapmadık]
[bırak]
[!]
En uzun gövdeleri kullanabilirsiniz.
Dokümandaki örneğin kodlarını inceleyebilirsiniz.
Ayrıca examples modülünde analiz vs işlemleri için basit örnekler var.
Çok teşekkürler epey detaylandırmışsınız.
https://github.com/ahmetaa/zemberek-nlp/wiki/Zemberek-NLP-ile-Metin-S%C4%B1n%C4%B1fland%C4%B1rma
Yukarıdaki linkte kelime gövdelerinin çıkarımı sayesinde sözlükteki kelimelerin daha aza indirgenmesi ve başarı artışı görülmekte.
Örnekteki cümledeki kelimelerden bazıları
Bu kelimeleri turkishMorphology.analyze methoduna soktuğumuzda aldığımız cevaplar şu şekilde oluşmakta.
Ancak devamında
şeklinde oluştuğunu görmekteyiz.
Burdaki analiz tam olarak ne şekilde gerçekleşmekte? Sanırım gözden kaçırdığım bir nokta var.