Как узнать на каком языке написан текст
Перейти к содержимому

Как узнать на каком языке написан текст

  • автор:

На каком языке написан текст?

Иногда мы сталкиваемся с текстом на незнакомом нам языке. Как же определить, на каком языке написан текст? В этом вам помогут так называемые «Определители языков».

Определители языков — это особые программные комплексы, предоставляемые обычно разработчиками систем машинного перевода. Все, что нужно для определения языка текста — это ввести его в специальную форму, и нажать кнопку «Определить язык».

Через несколько секунд вы получите результат — это может быть точно определенный язык или несколько вариантов с процентами соответствия. Вам остается лишь выбрать более подходящий.

Определители языков — незаменимая вещь для активного пользователя интернета. Где, как ни здесь, мы можем встретиться с текстами на разнообразных языках и в разных кодировках.

Когда может потребоваться определитель языка?

  • Вам прислали e-mail на непонятном языке.
  • Вам пришло непонятное сообщение по ICQ.
  • Вы встретили фразу на непонятном языке в статье, новостях.

Как работает автоматический определитель языка?

В основу автоматического определителя языка положены особенности, различия языков мира.
Центральной частью определителей являются, конечно, афавиты языков мира. Путем анализа введенного текста, определитель выявляет наибольшие совпадения, и выводит результат в процентном соотношении.

Насколько эффективно работает определитель языка?

Основным параметров, влияющим на качество работы автоматического определителя языка, является объем введенного текста. Если ввести короткий текст, эффективность определения будет невысокой. Поэтому, рекомендуется указывать не менее 300 символов.

Где найти автоматический определитель языка?

Вы можете найти подборку определителей языков на этой странице. Это как онлайн-сервисы, так и программы. Если вам приходится часто сталкиваться с незнакомыми языками, вы можете воспользоваться программой. Или просто сохраните ссылку на этот сайт.

Теперь вы знаете, как идентифицировать (распознать) язык текста. Столкнувшись с текстом на непонятном языке или в непонятной кодировке, с набором непонятных символов, вам просто нужно будет ввести их в определитель, и узнать язык и кодировку.

Автоматические определители языков

Иногда мы сталкиваемся с текстом на незнакомом нам языке. Стандартные способы определения языка не помогают. Как узнать, на каком языке он написан? В этом вам помогут автоматические определители языков.

Как работает определитель языка (guesser)

Автоматический определитель языка называют иногда guesser. Он позволяет по введенным нескольким словам определить язык, на котором они написаны. Технически, определение языка реализуется при помощи словаря.

Введенный текст разбивается на слова, и они сравниваются со словами из базы определителя. В результате подсчитывается количество совпадений слов разных языков, и выводится отчет в виде названия одного языка или списка языков, которые были признаны наиболее подходящими.

Однако, работа автоматического определителя языка не так проста: система должна учитывать лексические особенности языков, правила построения предложений, различия в диалектах, и другие особенности. Поэтому, сервисы автоматического определения языка предоставляются обычно разработчиками систем машинного перевода. Результат определения языка не может быть 100% точным. Обычно определитель языка также сообщает, с какой вероятностью ему удалось определить язык. Чем больше символов текста вы укажете, тем более точным будет определение. Для вашего удобства на этой странице мы собрали несколько таких систем, каждая из которых работает по своему алгоритму. Отправить запрос на определение языка не составит труда, достаточно ввести текст в одну из представленных на странице форм.

Бесплатный определитель языка онлайн

Здесь вы можете определить язык любого текста. Укажите небольшой фрагмент текста (не более 500 символов), язык которого требуется определить. Распознавание языка введенного текста осуществляется специальным алгоритмом онлайн-сервиса переводов. То есть это не совсем определитель языка, а онлайн-переводчик, в котором не указан язык исходного текста. В процессе перевода язык будет определен автоматически, вы увидите его название в поле слева сверху (рядом с надписью Определен автоматически).

Автоматический определитель языка от WhatIsLanguage

Если при определении языка возникают проблемы с кодировкой, попробуйте вводить текст непосредственно на официальной странице сервиса.

Автоматический определитель языка от Xerox

Определитель языка от Xerox основан на экспериментальных разработках компании. Кроме определения языка система также также распознает кодировку. Эффективность определения языка этой системой — высокая. Поддерживаются большинство распространенных языков мира.

Автоматический идентификатор языка Translated Labs

Определитель языка разработан исследовательским центром Translated Labs (T-Labs), который занимается изучением семантики языков и разработкой языковых моделей для создания автоматизированных комплексов по работе с информацией: поисковых систем, систем анализа данных, систем машинного перевода.

Автоматический распознаватель языка Talenknobbel

Экспериментальный проект по созданию системы идентификации языка любого текста, в данный момент на сайте представлена уже вторая версия системы Talenknobbel v2.0. При анализе текста используется статистический метод, текст разбивается на слова, которые затем ищутся в словаре. Чем больше найдется совпадений, тем более точным будет результат. Следует учесть, что в словаре присутствуют только наиболее распространенные слова, поэтому для сложных текстов идентификация может быть неточной.

Если при определении языка возникают проблемы с кодировкой, попробуйте вводить текст непосредственно на официальной странице сервиса Talenknobbel.

Как повысить правильность определения языка

  • Текст должен состоять из не менее чем 20-ти слов (чем больше, тем лучше).
  • Проверяйте текст на ошибки перед определением языка.
  • Вводите в определитель ту часть текста, которая позволит эффективнее определить язык (например, слова с присутствием нестандартных букв, надстрочных и подстрочных символов, и т.д.).
  • Для более точного результата воспользуйтесь несколькими сервисами.

Автоматический определитель языка TextCat

Определитель языка TextCat — реализация алгоритма классификации текста (W. B. Trenkle и J. M. Trenkle, «N-Gram-Based Text Categorization»), который был представлен на третьем ежегодном симпозиуме по технологиям анализа документов и поиска информации, проходившем в Лас-Вегасе в апреле 1994 года. Определитель поддерживает 69 языков. К сожалению, онлайн-версия определителя больше недоступна, но вы можете детально ознакомиться с проектом и получить исходные коды алгоритма на его официальной странице.

Автоматический определитель языка Verbix

Определитель языка создан независимой некоммерческой организацией Verbix, основной деятельностью которой является сохранение языкового разнообразия на нашей планете. Множество языковых инструментов доступно на официальной странице Verbix.

Определитель языка Полиглот 3000 (программа для Windows)

Разработчик: Likasoft
Тип лицензии: Freeware
Требования: 95/98/NT/ME/2000/XP/Vista

Полиглот 3000

Полиглот 3000 — это уникальный автоматический определитель языка, предназначенный для быстрого и корректного ответа на вопрос: «На каком языке написан текст?». Программа распознает более 400 языков, быстро и качественно определяет язык введенного текста, имеет многоязычный интерфейс. Программа бесплатна, и будет полезна всем, кто постоянно сталкивается с иностранными языками или часто задает вопрос «Какой это язык?». Подробнее о Полиглот 3000 →

Как определить язык текста?

Если вы столкнулись с текстом на незнакомом вам языке, и если у вас возник вопрос «Какой это язык?», можно попробовать определить его самостоятельно. Это не так уж и сложно. В каждом языке есть свои определенные особенности, которые помогают его распознать: набор знаков, подстрочных и надстрочных символов, направление письма, и пр. Наверняка вы без труда сможете распознать основные языки.

Вы также можете просто воспользоваться одним из автоматических определителей языка. В этом случае от вас вообще не требуется никаких усилий, достаточно просто вставить текст в определитель.

Определить, на каком языке написан текст, может потребоваться, например, для того, чтобы воспользоваться онлайн-переводчиком. Некоторые переводчики умеют самостоятельно определять язык, но большая часть из них требуют указания языка вручную. Для автоматического определения языка текста онлайн-переводчиком следует или выбрать в качестве исходного языка вариант Автоматически или просто не указывать его вовсе (в зависимости от системы).

Инструмент автоматического определения языка

Инструмент определения языка — это автоматический классификатор. Он рассчитывает сходство документа с ранее загруженными справочными текстами.

Технология

Создается n-мерное представление текста (векторно-пространственная модель) с использованием в качестве координат статистических свойств последовательностей байтов, найденных в тексте. Та же операция выполняется с ранее загруженными справочными текстами. В n-мерном пространстве вставленный текст будет иметь точное положение. Справочный текст, расположенный к нему ближе всего, будет наиболее на него похожим.

Почему мы разработали это приложение?

Технология является неотъемлемой частью программы глобального поиска, способной извлекать из Интернета полезную для наших переводчиков информацию.

Приложение может использоваться в качестве автоматического классификатора для определения категории документа путем анализа документов-образцов. Поэтому мы также используем его для классификации нашей корреспонденции и определения темы письменного текста на языке, который не понимаем.

Мне это нужно!

Если вас заинтересовала эта технология, узнайте больше о Translated Labs и наших услугах по обработке естественного языка.

Я могу лучше!

Мы находимся в постоянном поиске первоклассных инженеров, мыслящих глобально.
Свяжитесь с нами, если считаете, что можете улучшить любое из этих приложений.

Как определить язык текста?

image

Хочется раз и навсегда решить проблему определения языка пользовательского ввода на сайте. Представьте, что я делаю многоязычный Habrahabr 🙂 и не хочу спрашивать у пользователя, на каком языке он пишет. Думаю, компьютер должен справится с такой проблемой.

Формулировка задачи
  • нужно по фрагменту текста определить его язык. Длина фрагмента — от нескольких слов до нескольких десятков предложений. Это может быть связный текст или, например, заголовок статьи;
  • текст дан в кодировке UTF-8;
  • набор интересующих меня языков жестко задан. Количество языков — 5..10. В рабочем приложении можно даже ограничиться меньшим количеством, чтобы увеличить точность определения;
  • текст может содержать включения других языков. Нужно определить основной (более 60% слов, например);
  • для моей задачи не всегда нужно точно определять. Например, чаще всего не нужно различать украинский и русский;
  • автор текста знает язык, на котором пишет.

Думаю, нужно последовательно анализировать много параметров.

Ради эксперимента я попробовал визуально определять незнакомый язык текста. Например, запросто отличу португальский от немецкого, хотя не знаю ни тот ни другой.

  • смотрю на набор символов, которые встречаются в словах. Причем, именно по словам, а не по всему тексту, т.к. в тексте могут быть «иностранные» слова. На этом этапе уже можно исключить две трети языков.
  • ищу характерные союзы и предлоги — по ним можно разделить языки с одинаковым набором символов
  • пытаюсь прочитать текст, исходя из предположения, что он написан на языке, который определился. Мне сложно сказать, что происходит на этом этапе… Думаю, это сложный анализ грамматики языка. Я распознаю известные мне слова, проверяю окончания.
Несколько примеров несостоятельных алгоритмов

vitali.at.tut.by — статистический алгоритм, основанный на подсчете количества двухбуквенных сочетаний в тексте. Протестировать не удалось, т.к. бинарник с сайта удалили.
Перловый модуль.
Живой пример, который сказал, что эта статья написана на турецком.
Еще есть статья про нейросетевые классификаторы и семантический анализ:

В полиграммной модели со степенью n и основанием M текст представляется вектором i>, i = 1..M n , где fi – частота встречаемости i-ой n-граммы в тексте.n-грамма является последовательностью подряд идущих n – символов вида a1…an-1an.

— нихрена не понял

Дальше искать не стал.

Пример состоятельного алгоритма

Переводчик Google прекрасно определяет язык по нескольким словам. Его не сбивает с толку даже включение «иностранного» слова в предложение.

P.S.

Еще у меня есть странное желание проделать это на стороне клиента, с использованием javascript. Не думаю, что анализ нескольких слов требует обращения к Google Language API…

P.S. 2

В итоге использовал Google Language API… Подозреваю, что в спорных случаях они используют поиск по словарю, а я этого не могу себе позволить на стороне клиента.

  • язык
  • определение языка
  • язык ввода
  • мультиязычность
  • google translate

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *