averkij / lingtrain-aligner

Lingtrain Aligner — ML powered library for the accurate texts alignment.
GNU General Public License v3.0
119 stars 8 forks source link

razdel.sentenize does not process text in Georgian language #9

Open niufir opened 6 months ago

niufir commented 6 months ago

problem in this code

def split_by_razdel(line):
    """Split line using 'razdel' library"""
    return list(x.text for x in razdel.sentenize(line))

Sample text (language abbr - KA ):

"ჭეშმარიტების სამინისტრო - ჭეშსამინი ახალმეტყველების [2] ენაზე - გამაოგნებლად განსხვავდებოდა ყველა ობიექტისგან, რაც იმ არემარეში ჩანდა. ეს იყო მბზინავი თეთრი ბეტონით ნაგები უზარმაზარი პირამიდული სტრუქტურა, ტერასებად ატყორცნილი სამასი მეტრის სიმაღლეზე. შორიდანვე იკითხებოდა შენობის თეთრ ზედაპირზე ლამაზი ასოებით გამოყვანილი პარტიის სამი ლოზუნგი: ომი მშვიდობაა მონობა თავისუფლებაა უმეცრება ძალაა ჭეშმარიტების სამინისტრო, როგორც ამბობენ, შეიცავდა სამი ათასამდე ოთახს მიწის ზემოთ და შესაბამის განშტოებებს მიწის ქვეშ. ლონდონის სხვადასხვა რაიონში არსებობდა ასეთივე შესახედაობისა და ზომის კიდევ სამი შენობა. იმდენად ჩრდილავდნენ ეს შენობები ქალაქის მთელ დანარჩენ არქიტექტურას, რომ „გამარჯვების სახლის“ სახურავიდან ერთდროულად შეგეძლოთ დაგენახათ ოთხივე. ისინი წარმოადგენდნენ მმართველობის მთელი აპარატის მომცველ ოთხ სამინისტროს: ჭეშმარიტების სამინისტროს, რომელსაც ეხებოდა ახალი ამბები, საზოგადოებრივი გართობა, განათლება და ხელოვნება ; მშვიდობის სამინისტროს, რომელიც დაკავებული იყო ომის საკითხებით ; სიყვარულის სამინისტროს, რომელიც იცავდა კანონსა და წესრიგს ; და ეკონომიკის საკითხებზე პასუხისმგებელ დოვლათის სამინისტროს. მათი სახელები ახალმეტყველებაში ასე ჟღერდა: ჭეშსამინი, მშვიდსამინი, სიყვასამინი, დოვსამინი. [3] სიყვარულის სამინისტრო, მართლაცდა, დამაფრთხობელი შესახედაობისა იყო: არც ერთი ფანჯარა არ ჰქონდა. ამ შენობაში უინსტონი არასოდეს ყოფილა, ნახევარ კილომეტრზეც კი არ მიახლოებია. შეუძლებელი იყო იქ მოხვედრა, თუ არა ოფიციალური საქმისთვის და მაშინაც მხოლოდ ეკლიანი მავთულხლართების, ფოლადის კარიბჭეებისა და ფარულად დადგმული ტყვიამფრქვევების გავლით. მისი გარეთა ბარიერებისკენ მიმავალი ქუჩებიც კი გორილასსახიან, შავფორმიან, დრეკადი ხელკეტებით აღჭურვილ მცველებს გადაეკეტათ. "

for fix i add new attribute for language and this function using nltk module:

def split_ka(line):
    """Split line in Geogrian"""
    return list( x for x in nltk.sent_tokenize(line) )
averkij commented 6 months ago

Thank you. I'll check and add it to python module and Georgian to UI.