Как узнать, на каком языке написан текст? Мне, главному редактору бюро переводов "Фларус", вспоминается университетский курс лекций по славянской филологии, который завершался зачетом. Сам зачет заключался в следующем: студент тянул билет, в котором ему предлагался небольшой (строчек 4-6) отрывок текста на одном из славянских языков. Нужно было определить язык и датировать текст (по веку).
Изначально, конечно, смотришь на то, латиницей или кириллицей написан текст. После данного действия круг языков заметно сужается. Далее обращаешь внимание на различные диакритические знаки, свойственные тому или иному языку, например: ů ("у-кружкована") встречается только в чешском языке; ł (диагонально перечеркнутая буква l) – только в польском и т.д. Также замечаешь те или иные сочетания букв, диграфы и дифтонги, которые относятся к одному языку и не относятся к другому. Так, постепенно, круг языков все более сужается, и вы, наконец, определяете тот самый язык, на котором написан ваш текст.
Принцип работы Guesser похож на вышеописанный. Однако область применения автоматического определителя языка текста распространяется не только на славянские языки, но гораздо шире. В каждом языке мы нашли определенные "маркеры": это и уникальные для данного языка буквы, и диграфы, а также просто частотные сочетания букв. Алгоритм не претендует на научность, так как в виде маркеров выбирались не морфемы, а именно употребляемые рядом буквы. Чтобы пояснить этот момент, приведу пример. Буква "ъ" болгарского алфавита обозначает гласный звук и является омографом русского "ъ" (твердый знак). Определитель языка не видит разницы между болгарским и русским "ъ", потому что буква и в том, и в другом языке пишется одинаково. Однако при введении в болгарский язык маркеров "бъ" и "ър" (такие сочетания не могут встречаться в русском языке) процент верного определения языка значительно возрос.
Проверить работу автоматического определителя языка Guesser можно, перейдя по ссылке.