Интернет наводнен статьями и сообщениями для определения языка текстов, а затем для его перевода на любой другой язык с использованием моделей машинного обучения или глубокого обучения LSTM, переноса моделей преобразования обучения, таких как BERT, GPT-2 и т. д., и построения глубокой нейронной сети. для разработки собственной модели перевода.

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

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

Переводчик Google:

Эта библиотека имеет название Googletrans. Googletrans – это бесплатная и неограниченная библиотека, в которой реализован API Google Translate для вызова таких методов, как обнаружение и перевод. Он быстрый и надежный и использует те же серверы, что и translate.google.com.

Простота установки: «pip install googletrans».

Он поддерживает несколько языков, включая некоторые из индийских языков, которые можно перечислить в приведенном ниже коде Python.

Он обнаруживает несколько текстов на разных языках с достоверностью результата обнаружения, которая находится между 0,0 и 1,0.

Перевод с одного языка на другой также довольно прост, как показано в приведенном ниже коде.

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

Если вы хотите использовать переведенный текст для предварительной обработки текста, используйте приведенный ниже пример кода:

Итак, я попытался перевести немецкий на хинди. Разве это не круто? Переходим к следующей библиотеке.

ТекстБлоб:

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

Простота установки: «pip install textblob».

Нам также необходимо загрузить необходимые корпуса NLTK, используя приведенный ниже оператор python:

python -m textblob.download_corpora

Обнаружение языка:

Перевод:

Анализ настроений:

Функция настроений возвращает два свойства: полярность и субъективность. полярность предложения равна 0,8, что указывает на то, что настроение положительное. Полярность имеет тип «плавающий» и находится в диапазоне -1,1, где 1 означает высокую положительную тональность, а -1 означает высокую негативную тональность.

Вывод также выводит субъективность текста, которая в нашем примере равна 0,75. Субъективность также имеет «плавающий» тип и лежит в пределах 0,1. Значение, близкое к 1, указывает на то, что предложение в основном является общественным мнением, а не фактической информацией, и наоборот.

Тегирование частей речи:

Извлечение фразы существительного:

Орфографическая коррекция:

СтэнфордНЕРТаггер:

NLTK является ведущей платформой на Python для создания различных программ для работы с данными человеческого языка и уже творит чудеса в области обработки естественного языка. Он имеет целый ряд встроенных функций для предварительной обработки текста, включая токенизацию, выделение корней, лемматизацию, удаление стоп-слов, удаление пунктуации, тегирование частей речи, анализ текста и т. д. Здесь мы не будем вдаваться в эти подробности, но узнаем о специальный пакет с именем StanfordNERTagger, который снова играет важную роль в предварительной обработке текста, когда вы хотите извлечь именованные объекты, такие как имя человека, местоположение и т. д.

StanfordNERtagger — это пакет Python, доступный в библиотеке NLTK, который является альтернативой классификатору распознавания именованных объектов (NER) NLTK. Этот теггер в значительной степени считается стандартом для распознавания именованных объектов, но, поскольку он использует расширенный алгоритм статистического обучения, он требует больше вычислительных ресурсов, чем вариант, предоставляемый NLTK.

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

  • Модель 3 класса для распознавания мест, людей и организаций
  • Модель 4 классов для распознавания местоположений, людей, организаций и различных объектов
  • 7-классовая модель для распознавания мест, людей, организаций, времени, денег, процентов и дат.

Классификатор NER написан на языке JAVA. Они доступны бесплатно в Stanford Natural Language Processing Group. NTLK также предоставляет оболочку для тега Stanford, поэтому мы можем использовать ее в python. Для разных языков вам необходимо загрузить файлы jar. В этом посте мы покажем пример функции кода только для английского языка.

Чтобы этот тег работал, в вашей системе должна быть установлена ​​Java. Вышеприведенный код показывает, что путь к java-приложению определен. По ссылке на страницу, приведенной выше, вы можете загрузить файлы jar, а затем необходимо инициализировать путь к файлу модели .gz и путь к файлу jar, используемому для выполнения этой модели. В примере кода мы используем модель класса 3.

На выходе кода создается список кортежей. Каждый токен помечен (с использованием модели 3 классов) либо «ЧЕЛОВЕК», «МЕСТОПОЛОЖЕНИЕ», «ОРГАНИЗАЦИЯ», либо «О». «О» просто означает другие, то есть неназванные сущности.

P.S.: Если вам понравился пост, поделитесь своим мнением в комментариях или любой вводящей в заблуждение информацией в блоге, и вы можете связаться со мной через Linkedin.