Идентификация языка (англ.
language identification
), в методике обработки
естественного языка
—
определение языка
. Проблема идентификации языка является особым случаем категоризации текста и решается с использованием
статистических методов
.
Содержание
Обзор
Для идентификации языка реализуется архитектура PPRLM (parallel phonemes recognition + language model) с параллельным подключением фонетических распознавателей, обученных на нескольких языках. Фонетическое распознавание производится на основе
скрытых марковских моделей (СММ)
с помощью
алгоритма Витерби
.
Для принятия решения о принадлежности речевого сообщения к тому или иному целевому языку реализуется подход с классификатором на основе
метода опорных векторов
(SVM — support vector machines).
Принцип работы системы, построенной на основе классического PPRLM заключается в следующем:
в системе присутствуют несколько фонетических распознавателей;
каждый входной звуковой файл распознаётся фонетическими распознавателями;
по результирующей последовательности фонем каждого фонетического распознавателя считаются меры близости к модели
n-gramm
того или иного целевого языка;
победившим считается язык с максимальной мерой близости модели
n-gramm
.
В усовершенствованных системах PPRLM идентификация языка реализуется в виде открытой задачи: производится проверка «принадлежит» / «не принадлежит» обработанный файл целевому языку, решение принимается автоматически с учётом порога установленного пользователем.
К базовому алгоритму добавляются следующие шаги:
на результирующую последовательность фонем каждого фонетического распознавателя накладывается модель
n-gramm
того или иного «опорного» языка и считаются меры близости модели
n-gramm
к последовательности фонем;
полный набор мер близости моделей
n-gramm
к последовательностям
фонем
является входным вектором для классификатора
SVM
;
по результату классификации SVM-классификатором принимается решение о принадлежности к целевому языку с помощью сравнения с установленным порогом для каждого целевого языка в отдельности.
Звуковой файл произнесён на целевом языке, если оценка, данная SVM-классификатором, больше порога. При этом звуковой файл может быть отнесён к одному или нескольким языкам одновременно или не отнесён ни к одному из них.
Benedetto, D., E. Caglioti and V. Loreto.
.
Physical Review Letters
, 88:4 (2002),
.
Cavnar, William B. and John M. Trenkle. «N-Gram-Based Text Categorization». Proceedings of SDAIR-94, 3rd Annual Symposium on Document Analysis and Information Retrieval (1994)
.
Cilibrasi, Rudi and Paul M.B. Vitanyi. «
».
IEEE Transactions on Information Theory
51(4), April 2005, 1523—1545.
Dunning, T. (1994) «Statistical Identification of Language». Technical Report MCCS 94-273, New Mexico State University, 1994.
Goodman, Joshua. (2002)
. Microsoft Research, Feb 21 2002. (This is a criticism of the data compression in favor of the Naive Bayes method.)
Grefenstette, Gregory. (1995) Comparing two language identification schemes.
Proceedings of the 3rd International Conference on the Statistical Analysis of Textual Data
(JADT 1995).
Poutsma, Arjen. (2001) Applying Monte Carlo techniques to language identification. SmartHaven, Amsterdam. Presented at
.
The Economist. (2002) «
»
Radim Řehůřek and Milan Kolkus. (2009) «
(недоступная ссылка)
»
Computational Linguistics and Intelligent Text Processing
Ссылки
Библиотеки
: algorithm and code example of an n-gram based LID tool in
Python
and
by Damir Cavar.
: by Lingua-Systems;
C
/
C++
library and
Perl
Extension (
).
, by Marco Olivo.
: including Microsoft Language Detection.
: including managed interfaces for the above.
: 280+ languages available out of the box. Recognizes language and encoding (
UTF-8
,
Windows-1252
,
, etc.) of text.
Mono
compatible.
— pure JavaScript Language Identification library.
-R library for Chromium-Author’s Compact Language Detection code.
: open-source language detection library for Java (forks:
and
).
: open-source language detection library for C++ by Google
: open-source language detection library for javascript
: open-source language detection library for python
: pear language detect (not maintained currently)
: open-source
MIT
JavaScript classification library. Automatically classify and recognize languages of input data. It can be used for any type of classification based on trained data.
Web-сервисы
: language detection API (JSON and XML) that detects 100+ languages in texts, websites and documents
: simple language identification API
: language identification RESTful API, part of
(named entity extraction, text similarity etc.)
: language identification API, available as SDK and through a RESTfull API (
).
: provides a choice between ngram, nvect and smart methods.
, available in web-based form or through API.
: web-based language identification
, Online identification from text or URL and API available for developers.
: web-based tool written by Henrik Falck.
: product by Basis Technology.
: product by Sematext; exposes Java API and is available through REST/Webservice.
.
by IMT Holdings provides language ID, entity and relationship extraction RESTfull web services available through Amazon Web Services Marketplace.
sentiment and text analytics API which features language detection
: Website language identification with API, (json/XML)