ahmetaa / zemberek-nlp

NLP tools for Turkish.
Other
1.14k stars 207 forks source link

language detection for documents that have multiple languages #185

Open crayzsociety opened 5 years ago

crayzsociety commented 5 years ago

hi, we have a problem about language detection for documents has multiple languages, could you help to us for this

ahmetaa commented 5 years ago

Please define the problem with a small code example and document in question (or a public text you find if doc contains private data). Also keep in mind language detection may make mistakes.

crayzsociety commented 5 years ago

LanguageIdentifier lid = LanguageIdentifier.fromInternalModels(); result = lid.identify("Ahmet eve gitti.Ayşe has gone");

bu örnekte dökümanda hem türkçe hem ingilizce veri olduğunu anlamaya çalışıyoruz.zemberek bize bir tane dil veriyor birden fazla olduğunu anlamamızın bir yolu var mıdır ?

ahmetaa commented 5 years ago

Bunun bir kaç yolu olabilir. Paragrafı cümlelere ayırıp belli karakterden uzun cümleler için ayrı ayrı tespit yapılabilir. Sonra bazı kurallar vs kullanıp aşağı yukarı hangi dillerin kullanıldığı bulunabilir.

Alternatif olarak belli bir kaç dilin olduğunu kesin ise her dil için containsLanguage metodu denenebilir. Ama metindeki dile ait karakter sayısı vs başarı oranını etkiler. Denemeniz gerekir.

Son olarak, Müge, satırlara bölünürse ployglot aracının bunu yapabildiğini söylemiş.

ahmetaa commented 5 years ago

Bahsi geçen yöntemlerin işlemi oldukça yavaşlatacağını da hatırlatırım. Bu konuyu açık bırakıyorum, belki buna özel bir metod yazılabilir.

ahmetaa commented 5 years ago

polyglot'u inceleyebilirsiniz, Karışık dilli metinler için özel hazırlanmış bir kütüphane imiş. https://github.com/saffsd/polyglot

crayzsociety commented 5 years ago

teşekkürler