Главная » Правописание слов » Как написать переводчик на питоне

Слово Как написать переводчик на питоне - однокоренные слова и морфемный разбор слова (приставка, корень, суффикс, окончание):


Морфемный разбор слова:

Однокоренные слова к слову:

Пишем консольный переводчик для *nix на Python

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

Под операционные системы семейства Windows существует уже давно много переводчиков, а вот для unix систем, лично я, пока не встречал.

На старт!

И так начнём, писать мы будем на языке программирования python. Он есть практически во всех *nix системах.
Для написания переводчика, нам понадобится одна библиотека не входящая в стандартный набор python’a — simplejson. Скачать её можно на официальном сайте.

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

Раздобыли simplejson? Теперь создадим файл translate.py и перейдём от теории к практике.
Программировать можно в чём угодно, хоть в nano, но я предпочитаю редактор Geany.

Библиотеку мы трогать не будем, поэтому переходим к файлу translate.py:
Делаем импорт необходимых нам библиотек:

Самая главная и единственная функция

На всякий случай опубликую весь код целиком:

На этом разработка программной части закончена. Можете проверить и запустить файл таким образом:
python translate.py en привет — переведёт текст на английский
python translate.py ru hello — переведёт текст на русский

«Но это же не удобно» — скажите вы. Действительно, набирать такую большую команду запуска в консоли действительно затруднительно.

Решение

Возьмём папку с проектом и переместим её какую нибудь директорию например в /usr/share
и получится у нас /usr/share/translate

Затем в вашем BINDIR’e (у меня на debian — /usr/bin) создадим 2 файла, en и ru:

Сожержимое файла /usr/bin/ru:
Сожержимое файла /usr/bin/en:

Итого:

В нашей системе теперь появилось 2 новые команды: en и ru соответственно.
Теперь пользоваться стало на много удобнее: en текст для перевода или же ru текст для перевода

Можно заюзать еще вот так:

Минусы:

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

Спасибо за внимание.

UPD: Я никому не навязываю своё мнение, я показал как реализовал это я

Источник

Python + Keras + LSTM: делаем переводчик текстов за полчаса

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

Для тех, кому интересно как это работает, подробности под катом.

Примечание: данный проект использования нейронной сети для перевода исключительно учебный, поэтому вопрос «зачем» не рассматривается. Просто для интереса. Я не ставлю целью доказать что тот или иной метод лучше или хуже, просто интересно было проверить, что получится. Метод, используемый ниже, разумеется, упрощенный, но надеюсь никто и не надеется, что мы напишем второй Lingvo за полчаса.

Сбор данных

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

Файл содержит 192тыс строк и имеет размер 13МБайт. Загружаем текст в память и разбиваем данные на два блока, для английских и немецких слов.

Также мы перевели все слова в нижний регистр и убрали знаки препинания.

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

Его использование просто проиллюстрировать примером:

Фраза «to be or not to be» будет заменена массивом [1 2 3 4 1 2 0 0], где как не сложно догадаться, 1=to, 2=be, 3=or, 4=not. Эти данные мы уже можем подавать на нейросеть.

Обучение нейронной сети

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

Теперь мы можем создать модель нейронной сети и запустить её обучение. Как можно видеть, нейронная сеть содержит слои LSTM, имеющие ячейки памяти. Хотя возможно, заработало бы и на «обычной» сети, желающие могут проверить самостоятельно.

Само обучение выглядит примерно так:

Процесс, как можно видеть, не быстрый, и занимает порядка получаса на Core i7 + GeForce 1060 для набора из 30тыс строк. По окончании обучения (его нужно сделать всего один раз) модель сохраняется в файл, и дальше её можно использовать повторно.

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

Результаты

Теперь собственно, самое любопытное — результаты. Интересно посмотреть, как обучается нейронная сеть и «запоминает» соответствия между английскими и немецкими фразами. Я специально взял 2 фразы попроще и 2 посложнее, чтобы увидеть разницу.

«the weather is nice today» — «das ist ist tom»
«my name is tom» — «wie für tom tom»
«how old are you» — «wie geht ist es»
«where is the nearest shop» — «wo ist der»

«the weather is nice today» — «das haus ist bereit»
«my name is tom» — «mein heiße heiße tom»
«how old are you» — «wie alt sind sie»
«where is the nearest shop» — «wo ist paris»

Виден некий прогресс. Первая фраза совсем невпопад. Во второй фразе нейросеть «выучила» глагол heißen (называться), но «mein heiße heiße tom» все равно некорректно, хотя о смысле уже можно догадаться. Третья фраза уже правильная. В четвертой правильная первая часть «wo ist», но nearest shop почему-то было заменено на paris.

«the weather is nice today» — «das ist ist aus»
«my name is tom» — ««tom» ist mein name»
«how old are you» — «wie alt sind sie»
«where is the nearest shop» — «wo ist der»

Как можно видеть, вторая фраза стала правильной, хотя конструкция выглядит несколько непривычно. Третья фраза правильная, ну а 1я и 4я фразы пока так и не были «выучены». На этом я с целью экономии электроэнергии закончил процесс.

Заключение

Как можно видеть, в принципе это работает. Хотел бы я с такой скоростью запоминать новый язык 🙂 Конечно, результат пока что не идеален, но обучение на полном наборе в 190тыс строк заняло бы не один час.

Для желающих поэкспериментировать самостоятельно, исходный код под спойлером. Программа теоретически может использовать любую пару языков, не только английский и немецкий (файл должен быть в кодировке UTF-8). Вопрос качества перевода тоже остается открытым, здесь есть что потестировать.

Сам словарь слишком большой, чтобы приаттачить к статье, ссылка в комментариях.

Источник

How to translate text with python

Use different famous translators (E.g google translator and more) with python.

Introduction

In this tutorial, we will explore different possibilities to translate a text or word using python. From my experience, this is very helpful if you want to automate the translation of many paragraphs, sentences or words.

Furthermore, you can have a backend worker, which receives new data constantly and can either return a request with the translation or store different translations in a database (this is very useful in NLP tasks).

One of the reasons to choose Python apart from the clear syntax and the extensive library is the great community that works extensively on the development of the language itself or extending the functionality with third party modules.

Precisely, one of the modules that makes it straightforward to translate texts is the deep_translator, which provides support for multiple famous translators.

Overview

Installation

It is recommended to install the package using pip. Briefly, to install the stable release, run this command in your terminal:

This is the preferred method to install deep_translator, as it will always install the most recent stable release. If you don’t have pip installed, this Python installation guide can guide you through the process.

Google Translator

The google translator is already integrated in the deep_translator package and can be directly used by importing it. Then, an instance is created, where the source and target language are given as arguments. The translate method can be used afterwards to return the translated text.

In the code below, the value auto is used to let google translator detect which language is used as the source language and the target value is given as an abbreviation, which stands for german in this case.

Furthermore, you can translate from a text file. This is also straightforward and can be achieved easily by updating the previous code. I also wanted to indicate here that the source and target languages can be passed by names instead of abbreviations.

Now what if you have sentences in different languages and you want to translate all of them to the same target language. The following code demonstrate how you can do this

Ok great! Now let’s explore other translators.

PONS is one of Germany’s leading language publishers. It is mostly famous for translating single words or small sentences. It has a rich database of words and can even outperform google translate when it comes to translating words and getting synonyms.

Luckily, the deep_translator also support PONS. The following code demonstrates how to use it. The API looks like the previous one with only small changes

Furthermore, you can get all synonym or suggestions that pons returns

Linguee

The Linguee translator is an online bilingual concordance that provides an online dictionary for a number of language pairs, including many bilingual sentence pairs. Same as previous translators, this functionality is integrated in the deep_translator package.

Same as the Pons translator, you can get all synonyms and additional suggestions by setting the return_all argument

Mymemory

The mymemory translator is the world’s largest Translation Memory and it is 100% free to use. It has been created collecting TMs from the European Union, United Nations and aligning the best domain specific multilingual websites.

The last version of deep-translator supports mymemory translations. The following code demonstrates how to use it

Conclusion

Источник

Перевод текста с помощью Google Translate API в Python

На самом деле вы можете многое сделать с помощью Google Translate API, начиная от определения языков и заканчивая простым переводом текста, настройкой исходного и целевого языков и переводом целых списков текстовых фраз. В этой статье вы узнаете, как работать с Google Translate API на языке программирования Python.

Установка Google Translate API

Прежде чем вы сможете работать с Google Translate API в Python, вам нужно будет установить его. Существует два разных способа установки API. Первый способ прост. Просто зайдите в терминал и используйте pip для установки API, как и для любой другой библиотеки Python. Для этого введите в своем терминале следующую команду:

Нажмите Enter и модуль Python для Google Translate API будет установлен в вашей системе.

Теперь, когда вы установили API, мы увидим его в действии с помощью нескольких примеров.

Список поддерживаемых языков

Google Translate API поддерживает множество языков. Чтобы вывести список всех поддерживаемых языков, запустите следующий скрипт:

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

Основное использование

Давайте напечатаем все вышеперечисленные атрибуты и посмотрим, что мы получим

В приведенном выше примере мы не указали исходный язык. Поэтому Google Translate API пытается определить исходный язык. Аналогично, мы также не указали ни одного языка назначения, и поэтому API перевел исходный язык на язык по умолчанию, английский. Но что, если вы хотите указать исходный и целевой языки?

Указание исходного и целевого языков

На самом деле, очень легко указать язык назначения и исходный язык в Google Translate API. Вот код, который вы будете использовать для передачи только исходного языка:

Вы также можете передать исходный и целевой языки одновременно:

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

Приведенный выше фрагмент кода даст следующий результат.

Перевод списка фраз

Давайте создадим список строк, содержащих некоторые фразы из французского языка.

Теперь пришло время вызвать метод translate() и передать в качестве параметров список, исходный язык и язык назначения.

Следующий результат будет отображаться на экране.

Перевод текстовых документов

Вы также можете проверить, находится ли файл в режиме «чтения», используя свойство mode :

Вот вывод содержимого файла:

Убедитесь, что у вас есть вышеуказанный контент в вашем текстовом файле, если вы хотите следовать нашему примеру.

Вывод должен выглядеть следующим образом:

Чтобы записать переведенный текст в тот же файл или другой текстовый файл, вы просто откроете файл в режиме записи («w»). Затем вам нужно вызвать метод write() и передать ему переведенный текст, как показано ниже:

В приведенном выше примере мы использовали менеджер контекста with для автоматического открытия и закрытия потока записи. Во-вторых, мы открыли файл в режиме записи. Наконец, мы использовали метод write() для записи переведенной строки в новый файл.

Вывод

Источник

Yandex Translate API создания переводчика на Python

Автор: Рамис, 26 сентября 2019

Яндекс приостановили выдачу ключей для бесплатного использования API Переводчика, поэтому прошу сюда API Google Translate перевод текста на Python

API Яндекс.Переводчик

С помощью API можно получить доступ к онлайн-сервису машинного перевода Яндекса. Он поддерживает более 90 языков и умеет переводить отдельные слова и целые тексты. Этот API позволяет встроить Яндекс.Переводчик в мобильное приложение или веб-сервис для конечных пользователей. Или же переводить большие объёмы текста — например, техническую документацию.

Как работает Яндекс.Переводчик

Как только пользователь вводит текст для перевода, Яндекс.Переводчик передает этот текст сразу двум системам: и нейронной сети, и статистическому переводчику.

Получаем API Ключ

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

Python код

Для работы с HTTP запросами будем использовать мощщщную библиотеку requests.

Параметры POST запроса:

В виде пары кодов языков («с какого»-«на какой»), разделенных дефисом. Например, en-ru обозначает перевод с английского на русский.

В виде кода конечного языка (например ru). В этом случае сервис пытается определить исходный язык автоматически

plain : текст без разметки (значение по умолчанию)

html : текст в формате HTML

Источник

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

Какие вы еще знаете однокоренные слова к слову Как написать переводчик на питоне:



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

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