zemberek-nlp
zemberek-nlp copied to clipboard
TurkishSentenceNormalizer combineNecessaryWords() java.lang.ArrayIndexOutOfBoundsException: -1
Merhaba,
normalize() fonksiyonunu çalıştırdığımda combineNecessaryWords() fonksiyonu içerisinde java.lang.ArrayIndexOutOfBoundsException: -1 exception'ını alıyorum. Kodu incelediğimde
if (!combined) {
result.add(((Token)tokens.get(tokens.size() - 1)).getText());
}
buradaki tokens.size()'ın olmasından kaynaklandığını ve
boolean combined = false;
olarak ilklendirildiğinden ve size 0 iken for
döngüsüne girmediğini ve combined'ın değerinin değişmemesinden kaynaklanıyor.
Sadace rakamlardan oluşan bir inputum vardı. Normalizasyon işlemi öncesinde sayıları temizleyip o şekilde parametre geçmemden kaynaklı olmuş gibi gözüküyor. İşlem sırasını değiştirerek bu durumdan cok kolay bir şekilde kurtulabilirim ama ilgili yerdeki if'te de bir kontrol olması daha iyi olabilir diye düşünüyorum
Ya da daha öncesinde yapılabilecek bir kontrole ihtiyaç duyulabilir.
@kaansonmezoz Hata olusturan giris tam olarak nedir? bu hatayi tetikleyen kod orneginizi verirseniz hatayi tekrarlayabiliriz ve cozumu bulmak daha kolay olur.
1111 000 gibi sadece binaryden oluşan bir inputu alıyorum ve rakamları empty string ile replace ediyorum. Dolayısıyla normalize fonksiyonuna gönderilen string empty string oluyor. Bu durumun kontrolu developera bırakilabilir tabii neden empty string geçsin ki diye düşünülüp, ama bu fonksiyonu çağıran kişi farkında olmayabilir bazı işlemleri uygulayıp bir sonuç alıp normalize'i çağırabilir
@kaansonmezoz iki hafta icinde bir bugfix release cikarmayi umit ediyorum. Bunu orada duzeltiriz insallah.
Açık olan issueları alıp contribution yapabilir miyiz peki ?