При nlp обробці текстів, частіше за все, бажано знати, якою мовою цей текст написано. Це потрібно, щоб застосувати для роботи з ним відповідні алгоритми чи інструменти.
Як же можна визначити мову документу? Найпростіший спосіб - якщо мова має якісь специфічні та властиві лише їй символи (українська літера є чи ї, російська літера ы). Але, навіть у цьому випадку, теоретично, може зустрітися текст, який не містить таких літер-маркерів.
"Дорослі" дяді використовують для аналізу імовірнісну величину для наборів пар літер. Скажімо (уявно - це не реальні дані), в сербській мові більша імовірність зустріти пару "тц" чим в російській і тд. Але для застосування такого підходу потрібно, щоб були відомі такі імовірності.
На думку спав дещо подібний підхід - матеріал написано тією мовою, якою написано більшість його слів. А як можна перевірити чи слово написане якоюсь мовою? Спробувати застосувати до нього стемер мови. Якшо стемер зумів підібрати для слова стем - з великою імовірністю, це валідне слово цієї мови.
Цей підхід я перевірив на наборі текстів українською і російською мовою. Алгоритм помилився в 3 випадках на 20 тисяч статей.
No comments:
Post a Comment