Closed ahmetaa closed 5 years ago
Bunun için nasıl bir yol izlenmesini önerirsiniz? isCorrect methodunun false döndürdüğü bütün kelimeleri analiz edip informal ise convert etmek gibi mi?
Bunun için bir kaç değişiklik gerekecek. Öncelikle TurkishMorphology oluşturulurken informal analiz eklenmesi gerekiyor.
https://github.com/ahmetaa/zemberek-nlp/tree/master/morphology#informal-turkish-words-analysis
Buradaki şekilde. Ama ben 0.16.0'dan sonra bir değişiklik yapmıştım. O nedenle RootLexicon.DEFAULT yerine RootLexicon.getDefault() kullanman gerekiyor.
Daha sonra yeni eklediğim bir kod var TurkishSpellCheck sınıfı içinde
this.spellChecker.setAnalysisPredicate(...
oraya a.containsInformalMorpheme() eklemek gerekiyor.
Bu şekilde informal ek içeren kelimeler isCorrect'ten geçemez.
Sonra getSuggestions içerisinde dediğin gibi bir şey yapmak gerekiyor. Şuradaki örneğe göre bir dene istersen.
Denemelerini doğrudan kod üzerinde yapabilirsin eklenti kurmadan.
Muhtemelen kelimelerin formatlanması ile ilgili sorun olacak ama oraya kadar ilerleyince bakalım.
Takıldığın bir yer olursa yaz.
Bu iş Zemberek iç yapısını bilmeyi gerektirdiğinden ben üzerime alıyorum.
Zemberek 0.16.0 ile informal analiz denen bir fonksiyon eklendi. Bunun ile yaygın konuşma kelimelerinin bir kısmı analiz edilip düzeltilebiliyor. Şimdilik sadece bazı fiiller için çalışıyor
okuycam -> okuyacağım yapıyo -> yapıyor
gibi. Bu mekanizma spell check öneri sistemine eklenebilir.
@COMU/zemberek