Методы и инструменты определения языка текста

Материал из NLPub
Перейти к: навигация, поиск

Данная страничка посвящена инструментам для определения языка документов.

Постановка задачи

Инструменты

  • textcat: http://www.let.rug.nl/~vannoord/TextCat/
    • поддержка русского, но только (?) в кодировках iso8859, koi8_r, windows_1251
    • есть python wrapper https://pypi.python.org/pypi/pylibtextcat/0.1 (не устанавливается корректно в ubuntu с настройками по умолчанию)
    • исходная библиотека textcat / libtextcat – популярный инструмент
  • langid.py: https://github.com/saffsd/langid.py
    • поддерживает русский
    • python
    • отбор переменных, позволяющий достигнуть лучшего обобщения модели
    • BSD лицензия
    • «стойкость» к html разметке
  • LID: http://www.cavar.me/damir/LID/
    • нет русского языка по умолчанию, но можно обучить модель самому
    • python
  • Яндекс: http://api.yandex.ru/translate/
    • поддерживает русский язык
    • стоимость: бесплатно
    • определение в plain text и html
  • language-detection. http://code.google.com/p/language-detection/
    • Naive Bayes, character n-grams
    • Apache License
    • Обучена на Википедии, проверена на коллекции новостных сайтов
    • Noise filter, character normalization
    • Короткие тексты (twitter) все еще являются проблемой.
    • Авторы обещают около 99% точности на всех языках.
    • лимит: 1M символов / день, не более 10 тыс обращения (100 символов в одном тексте)
  • JlangDetect. http://www.jroller.com/melix/entry/nlp_in_java_a_language
    • Нет поддержки русского, но можно обучить свою модель.
    • Проект не поддерживается.
    • Обучена на Europarl корпусе текстов.
    • Лицензия Apache.