Методы и инструменты определения языка текста
Материал из 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 разметке
- chromium compact language detector: https://code.google.com/p/chromium-compact-language-detector/
- поддержка русского
- python (C++ binding)
- очень быстрая скорость обработки
- BSD лицензия
- «стойкость» к html разметке
- guess-language: https://code.google.com/p/guess-language/
- поддержка русского
- python
- GPL
- LID: http://www.cavar.me/damir/LID/
- нет русского языка по умолчанию, но можно обучить модель самому
- python
- Google: https://developers.google.com/translate/v2/using_rest#detect-language
- поддерживает русский язык
- стоимость: 20$ / 1M символов
- лимит: до 50M символов в день (1000$ / день), до 10 запросов / сек
- Яндекс: 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 символов в одном тексте)
- Apache Tika. http://tika.apache.org/
- LanguageIdentifier Class http://tika.apache.org/0.10/api/org/apache/tika/language/LanguageIdentifier.html
- Нет поддержки Болгарского и Чешского (?)
- Apache OpenNLP
- Apache License
- JlangDetect. http://www.jroller.com/melix/entry/nlp_in_java_a_language
- Нет поддержки русского, но можно обучить свою модель.
- Проект не поддерживается.
- Обучена на Europarl корпусе текстов.
- Лицензия Apache.
- Lc4j: http://olivo.net/software/lc4j/
- Использует модели из TextCat.
- Просто n-граммы.