COMU / zemberek-extension

LibreOffice için Türkçe imla denetimi eklentisi.
https://comu.github.io/zemberek-extension
Mozilla Public License 2.0
33 stars 1 forks source link

Informal Analysis mekanizmasının eklentiye eklenmesi #7

Closed ahmetaa closed 6 years ago

ahmetaa commented 6 years ago

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

talhakanyilmaz commented 6 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?

ahmetaa commented 6 years ago

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.

https://github.com/ahmetaa/zemberek-nlp/blob/master/examples/src/main/java/zemberek/examples/morphology/AnalyzeAndConvertInformalWords.java

Denemelerini doğrudan kod üzerinde yapabilirsin eklenti kurmadan.

Muhtemelen kelimelerin formatlanması ile ilgili sorun olacak ama oraya kadar ilerleyince bakalım.

ahmetaa commented 6 years ago

Takıldığın bir yer olursa yaz.

ahmetaa commented 6 years ago

Bu iş Zemberek iç yapısını bilmeyi gerektirdiğinden ben üzerime alıyorum.