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

Обновлено: 03.07.2024

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

Этот пакет можно установить следующим образом. Он обеспечивает перевод для основных языков.

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

from translate import Translator translator = Translator ( to_lang = "German" ) translation = translator . translate ( "Good Morning!" ) print translation

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:

Между любыми двумя языками

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

В этом уроке мы будем использовать Text Blob с Python для выполнения перевода строк и слов на различные языки.

Вступление

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

Помимо их большого личного использования, эти сервисы могут быть использованы разработчиками через различные API. Эта статья о Text Blob который использует один из таких API для выполнения перевода текста.

Что такое TextBlob?

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

Внутренне/| TextBlob полагается на API Google Translate. Это означает, что для выполнения переводов требуется активное подключение к Интернету.

Установка TextBlob

Давайте начнем с установки Text Blob using pip , и загрузка корпусов слов, которые ему нужны для работы:

Использование TextBlob

Использование TextBlob прост и понятен. Мы просто импортируем его, назначаем строку конструктору и затем переводим ее с помощью функции translate() :

Функция translate() принимает два аргумента – from_lang и to . Параметр from_lang устанавливается автоматически в зависимости от языка, который обнаруживает TextBlob.

В приведенном выше примере используется итальянская фраза Buongiorno , которая переводится на английский как Good morning .

Иногда мы можем захотеть определить язык, чтобы решить, нуждается ли текст в переводе вообще. Для определения языка некоторого текста используется функция Text Blob ‘s detect_language() :

Примеры перевода и точность

Перевод предложения С английского на хинди

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

В результате получается следующее:

Перевод русской поэзии на хорватский язык

Давайте посмотрим, как TextBlob управляет поэзией. Ниже приводится произведение русского поэта Владимира Маяковского, сначала на русском, а затем на английском языках:

Мы скормим оригинальное стихотворение на кириллице Text Blob и посмотрите, как хорошо он переводится на хорватский. Поскольку и русский, и хорватский, и славянский языки, перевод ожидается относительно хорошим:

Запустив приведенный выше код, мы получим следующий вывод (отформатированный для удобства):

Большая часть перевода хороша , за исключением первого слова, которое звучало бы лучше, если бы оно было Slušajte вместо Slušati в вокативе. Хотя и не идеально, вы могли бы понять перевод.

Перевод Массива немецких слов на английский язык

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

В результате получается:

Перевод еды с английского на французский

Наконец, давайте переведем английское слово на французский:

Французский перевод/| яблоко|/. Приятного аппетита!

Вывод

Перевод – интересная, но сложная компьютерная задача. Глубокое обучение и другие методы искусственного интеллекта становятся все более эффективными в понимании языка и выполнении автоматического перевода. Text Blob – это один из инструментов, доступных разработчикам, который может быть использован для выполнения таких автоматизированных языковых переводов.

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

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

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

Цель: создать англо-русский, русско-английский словарь с возможностью вносить в него новые, пользовательские значения. Первое, что приходи на ум — словари языка python.

Словарь в питоне — неупорядоченная последовательность пар ключ — значение. Что, собственно, и требовалось, верно?

Пример первый

Итак, первый файл должен содержать сам словарь с некоторыми значениями.

Создадим его. Назовём words.py

Теперь нужно как-то спросить у пользователя, перевод какого именно слова он хотел бы найти и вывести значение на экран. Кроме того, не стоит забывать, что наш словарь работает в двух направлениях: он должен не только переводить с английского на русский, но и наоборот!

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

Отлично! Разберём построчно:

from words import words — импортируем из файла words.py сам словарь — words

Пишем две функции: eng и rus без параметров.

eng_words=dict([[v, k] for k,v in words.items()]) — это словарь "наоборот" для перевода русских слов на английские, теперь ключи стали значениями, а значения — ключами!

find_word=input('Enter word ' '') - просим пользователя ввести искомое слово

print(eng_words.get(find_word) or print('No such key')) — выводим на экран ответ с помощью функции print , получаем значение ( get ). В противном случае, отвечаем, что не смогли отыскать нужное слово.

Функция rus() работает так же, но без инвертирования словаря.

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

Попробуйте запустить mydictionary.py и насладитесь результатом.

Что сейчас делает наша программа?

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

Пример второй

Создание базы данных. Файл words_db.py

База данных создаётся при помощи модуля shelve , импортируем его. Далее укажем входной файл: db_file , он открывается, в него записываются данные — теперь именно это наш словарь. Файл words.py , используемый в первом примере, нам больше не нужен.

После записи значений, базу данных нужно закрыть — db.close() . Создайте нашу базу данных — db_file :

Восстановление базы данных из файла db_file

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

Мы импортировали модуль shelve и открыли нашу базу данных, содержащую словарь

Далее создали функцию, которая будет искать в файле db_file значение ключа. В случае с функцией eng() — значения в словаре инвертируются.

Кроме того, нужно дать пользователю внести свои значения - дополнить словарь, если он не нашёл в нём перевода нужного слова.

За это отвечает функция newRecord() , которая предлагает ввести новые ключ и значение, а затем записывает их в базу данных и обновляет её.

Что означает последняя запись? Она работает, когда запускается программа и предлагает различные варианты. Если пользователь ввёл в ответ 'y' — ищет перевод русского слова на английский, если 'n' — ищет перевод английского слова на русский, если 'u' (update) — позволяет внести свои значения.

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

В последнее время язык программирования python (или еще говорят – питон) стал довольно популярным благодаря простоте реализации инженерных задач разного уровня сложности. Например, программисты яндекса используют его для проверки качества работы алгоритмов, связанных с поисковой выдачей или работоспособностью нейронных сетей: их проектирования и обучения. Но все же, почему этот язык приобрел такую популярность? Дело в том, что в отличие от многих популярных языков высокого уровня, вроде

и других, python предоставляет очень удобные конструкции языка для быстрого, удобного и наглядного написания текста программ, которые бы на других языках программирования пришлось бы писать заметно дольше. Правда, как всегда, за любое удобство приходится расплачиваться. И ценой здесь является относительно невысокая скорость работы программ. То есть, если требуется написать быстро исполняемый код программы, то, обычно, для этого используют С++. Но, если критичным становится скорость разработки программы (например, для проверки качества работы алгоритма), то здесь лучше использовать python. Хорошая новость состоит в том, что python может запускать программные модули, написанные на С++. Поэтому, если имеется критический по скорости работы модуль алгоритма, то его можно отдельно реализовать на С++ и, затем, вызвать в python как составную часть всего проекта.

  • нейронные сети;
  • робототехника (управление, распознавание);
  • реализация сложных математических алгоритмов;
  • создание ботов (искусственный интеллект)

и многих других.

С чего же начать программирование на этом языке? Конечно с его установки на компьютер. Сам язык можно бесплатно скачать с официального сайта:


Для проверки работоспособности питона запустим

IDLE (python GUI)

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

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

Для примера, напишем в этом окне:

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

Итак, на этом первом занятии мы с вами установили среду программирования python и научились исполнять отдельные конструкции языка в интерактивном и файловом вариантах. В принципе этого программного обеспечения вам будет достаточно для изучения данного языка. На этом первое вводное занятие завершим. Установите у себя необходимое программное обеспечение и переходите к следующему занятию по курсу программирования на python.

Видео по теме


































































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

Читайте также: