- Создаем свой переводчик за 5 минут
- Делаем свой переводчик на python!
- Пишем консольный переводчик для *nix на Python
- На старт!
- Решение
- Итого:
- Бесплатный сервис по распознаванию текста из изображений
- который поможет получить напечатанный текст из PDF документов и фотографий
- Принцип работы ресурса
- Наши преимущества
- Основные возможности
- Как за 10 рублей создать переводчик текстов?
- О менеджменте
- Об аудитории
- Доходы и инвестиции
- Планы
Создаем свой переводчик за 5 минут
Крупные компании вносят большой вклад в развитие инфраструктуры интернета. Они предоставляют доступ к своим сервисам и позволяют сторонним разработчикам использовать их. Существует множество таких сервисов (https://yandex.ru/dev/). Сегодня я расскажу про сервис Яндекс.Переводчик и как получить к нему доступ, используя API на примере с использованием языка C#.
Цель подключения сервиса через API:
Во время разработки приложения для поиска объявлений, я столкнулся с тем, что необходимо было внедрить функцию – выбор пользователем интересующего города или иного населенного пункта России. Проблема заключалась в том, что в базах данных, с которыми приложение должно взаимодействовать, все города записаны на латинице, и никаких других единых идентификаторов нет. Так как список населенных пунктов России весьма крупный – статически присваивать им англоязычное название было слишком трудоемкой задачей. Поэтому я решил внедрить в приложение автоматический переводчик, который воспринимал бы города, введенные пользователем на русском языке, и выдавал латинский вариант написания города, который соответствовал значению в базах данных.
API (Application Programming Interface), предоставляемое Яндексом, состоит из различных инструментов, которые позволяют использовать сервис в своих целях. API сервиса Яндекс.Переводчика позволяет переводить слова в своих приложениях.
Разберем на примере:
- Необходимо получить API-ключ сервиса Яндекс.Переводчик. Для этого нужно зарегистрировать аккаунт на Яндекс и перейти по ссылке. Ключ создается по простому нажатию кнопки.
Рисунок 1 – личный кабинет в Яндекс.Переводчик
2. Ключ представляет собой набор символов (зачеркнут).
Рисунок 2 – Api-ключ подключения к Яндекс.Переводчик
3. Создадим проект простого приложения в Visual Studio C#. Импортируем необходимые библиотеки.
4. Создадим форму с двумя полями ввода и кнопкой.
Рисунок 4 – созданная форма для переводчика
5. Код двух классов для перевода
Рисунок 5 – Код для перевода с помощью API
Здесь переменная request содержит строку для подключения к сервису перевода. Она состоит из адреса сервиса, API-ключа (зачеркнут), текста для перевода, и языка перевода. Запрос отправляется на сервер, после чего мы получаем ответ в переменной response. Ответ представляет собой структуру в формате JSON, поэтому необходимо ее конвертировать обратно. Для этого создан класс Translation, в переменной text которого будет содержаться переведенный текст.
6. Вызываем написанный код при нажатии на кнопку формы.
Рисунок 7- результат работы реализованного переводчика
В итоге, мы создали приложение, которое связывается с сервисом Яндекс.Переводчик и может переводить любой введенный текст на выбранный язык.
Источник
Делаем свой переводчик на python!
Сегодня мы напишем свой переводчик всего за 10 минут!
Для начала нам нужно установить модуль translate с помощью которого мы будем переводить текст
Импортируем ранее установленый модуль для работы переводчика
from translate import Translator
tkinter — библиотека для создания графического интерфейса, она встроена!
ttk — модуль для создания интерфейса как у Windows
Создадим окно и назовем его root
Названия нашего окна(оно находится в левом верхнем углу)
Указываем размер окна(ширину-730 пикселей и высоту-480 пикселей)
Делаем окно неизменяемым в размерах, чтобы виджеты в окне не съезжали как здесь
Создаем переменную в которой будет храниться значение радиокнопки
Cоздаем главную функцию которая будет переводить текст
# если получено значение 0 то текст переводиться с английского на русский
translator = Translator(from_lang=’English’, to_lang=’Russian’)
# если получено значение 1 то текст переводиться с русского на английский
translator = Translator(from_lang=’Russian’, to_lang=’English’)
# получаем введеный нами текст из поля
# вставляем полученный текст в поле вывода
Функция перевода готова, осталось создать и расположить элементы в окне.
Cоздаем поле ввода
pole = Text(root, width=80, height=10, font=’Arial, 13′)
Первая радиокнопка с значением 0
algo01 = Radiobutton(root, text=»Перевод на русский», variable=rBtn, value=0, font=’Arial, 12′)
Кнопка при нажатие которой будет осуществляться перевод
Btn = ttk.Button(root, text=»Перевести», command=translater)
Вторая радиокнопка с значением 1
algo02 = Radiobutton(root, text=»Перевод на английский», variable=rBtn, value=1, font=’Arial, 12′)
Создаем поле вывода
poleTranslate = Text(root, width=80, height=10, font=’Arial, 13′)
Метод mainloop запускает главный цикл обработки событий, что приводит к отображению главного окна со всеми «упакованными» на нем виджетами:
Весь код, получилось 34 строки вместе с пробелами:
from translate import Translator
translator = Translator(from_lang=’English’, to_lang=’Russian’)
translator = Translator(from_lang=’Russian’, to_lang=’English’)
pole = Text(root, width=80, height=10, font=’Arial, 13′)
algo01 = Radiobutton(root, text=»Перевод на русский», variable=rBtn, value=0, font=’Arial, 12′)
Btn = ttk.Button(root, text=»Перевести», command=translater)
algo02 = Radiobutton(root, text=»Перевод на английский», variable=rBtn, value=1, font=’Arial, 12′)
poleTranslate = Text(root, width=80, height=10, font=’Arial, 13′)
Переводчик получился довольно простой, без каких-то особых фич и крутого интерфейса, так что у вас есть над чем поработать!
Подписывайтесь на канал, переходите в наш телеграм и учите python!
Источник
Пишем консольный переводчик для *nix на Python
Здравствуйте. Наверняка Вам встречались незнакомые английские слова или фразы, и Вам постоянно приходилось лезть в браузер, открывать сайт с онлайн переводчиком и переводить, при этом думая как хорошо было бы, если это было реализовано бы в виде софта под *nix.
Под операционные системы семейства Windows существует уже давно много переводчиков, а вот для unix систем, лично я, пока не встречал.
На старт!
И так начнём, писать мы будем на языке программирования python. Он есть практически во всех *nix системах.
Для написания переводчика, нам понадобится одна библиотека не входящая в стандартный набор python’a — simplejson. Скачать её можно на официальном сайте.
После того как скачали, можете либо установить в систему, либо положить папку simplesjon расположенную в архиве рядом с нашим исполняемым python файлом.
Раздобыли simplejson? Теперь создадим файл translate.py и перейдём от теории к практике.
Программировать можно в чём угодно, хоть в nano, но я предпочитаю редактор Geany.
У нас должна получится вот такая структура проекта:
- ..
- simplejson/
- __init__.py
- decoder.py
- encoder.py
- scanner.py
- tool.py
- translate.py
Библиотеку мы трогать не будем, поэтому переходим к файлу 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:
python /usr/share/translate/translate.py en $$*
Итого:
В нашей системе теперь появилось 2 новые команды: en и ru соответственно.
Теперь пользоваться стало на много удобнее: en текст для перевода или же ru текст для перевода
Можно заюзать еще вот так:
Минусы:
Практически у любой программы есть свои минусы: у этой — это отсутствие локальной базы данных, весь перевод осуществляется через интернет. Но в век интернет-технологий, когда интернет в каждом доме — я думаю это не проблема.
Спасибо за внимание.
UPD: Я никому не навязываю своё мнение, я показал как реализовал это я
Источник
Бесплатный сервис по распознаванию
текста из изображений
который поможет получить напечатанный текст из PDF документов и фотографий
Принцип работы ресурса
Отсканируйте или сфотографируйте текст для распознавания
Загрузите файл
Выберите язык содержимого текста в файле
После обработки файла, получите результат * длительность обработки файла может составлять до 60 секунд
- Форматы файлов
- Изображения: jpg, jpeg, png
- Мульти-страничные документы: pdf
- Сохранение результатов
- Чистый текст (txt)
- Adobe Acrobat (pdf)
- Microsoft Word (docx)
- OpenOffice (odf)
Наши преимущества
- Легкий и удобный интерфейс
- Мультиязычность
Сайт переведен на 9 языков - Быстрое распознавание текста
- Неограниченное количество запросов
- Отсутствие регистрации
- Защита данных. Данные между серверами передаются по SSL + автоматически будут удалены
- Поддержка 35+ языков распознавания текста
- Использование движка Tesseract OCR
- Распознавание области изображения (в разработке)
- Обработано более чем 21.4M+ запросов
Основные возможности
Распознавание отсканированных файлов и фотографий, которые содержат текст
Форматирование бумажных и PDF-документов в редактируемые форматы
Приветствуем студентов, офисных работников или большой библиотеки!
У Вас есть учебник или любой журнал, текст из которого необходимо получить, но нет времени чтобы напечатать текст?
Наш сервис поможет сделать перевод текста с фото. После получения результата, Вы сможете загрузить текст для перевода в Google Translate, конвертировать в PDF-файл или сохранить его в Word формате.
OCR или Оптическое Распознавание Текста никогда еще не было таким простым. Все, что Вам необходимо, это отсканировать или сфотографировать текст, далее выбрать файл и загрузить его на наш сервис по распознаванию текста. Если изображение с текстом было достаточно точным, то Вы получите распознанный и читабельный текст.
Сервис не поддерживает тексты написаны от руки.
Поддерживаемые языки:
Русский, Українська, English, Arabic, Azerbaijani, Azerbaijani — Cyrillic, Belarusian, Bengali, Tibetan, Bosnian, Bulgarian, Catalan; Valencian, Cebuano, Czech, Chinese — Simplified, Chinese — Traditional, Cherokee, Welsh, Danish, Deutsch, Greek, Esperanto, Estonian, Basque, Persian, Finnish, French, German Fraktur, Irish, Gujarati, Haitian; Haitian Creole, Hebrew, Croatian, Hungarian, Indonesian, Icelandic, Italiano, Javanese, Japanese, Georgian, Georgian — Old, Kazakh, Kirghiz; Kyrgyz, Korean, Latin, Latvian, Lithuanian, Dutch; Flemish, Norwegian, Polish Język polski, Portuguese, Romanian; Moldavian, Slovakian, Slovenian, Spanish; Castilian, Spanish; Castilian — Old, Serbian, Swedish, Syriac, Tajik, Thai, Turkish, Uzbek, Uzbek — Cyrillic, Vietnamese
© 2014-2021 img2txt Сервис распознавания изображений / v.0.6.6.0
Источник
Как за 10 рублей создать переводчик текстов?
Иногда перспективные ИТ-проекты рождаются спонтанно и без инвестиций. Сервис Words from text, созданный выпускником физтеха МФТИ Дмитрием Копытиным, как раз один из них. Первые несколько лет, пока проект дорабатывался, пользоваться им можно было бесплатно, сегодня сервис уже начинает приносить небольшой доход.
О том, как создать сайт со стартовым капиталом в 10 руб., чем полезна работа с пользователями сервиса и почему технарю сложно заниматься продвижением ИТ-проектов, Дмитрий рассказал Контур.Журналу.
Сначала мы с моей на тот момент девушкой, а теперь супругой, захотели сделать проект за неделю, проверить свои возможности, можно даже сказать, повеселиться. На тот момент задача была следующая: сделать так, чтобы можно было загрузить свой текст, проанализировать список слов, которые в нем есть, понять, какие слова незнакомы и попробовать их выучить. Идея проекта Words from text была исключительно в построении статистики слов. Я знаю, что несколько таких проектов уже существует, а многие технически одаренные люди делают их просто для себя.
Когда ты создаешь какой-то продукт, ты начинаешь задумываться о его дальнейшем развитии. В определенный момент мы подумали, что было бы здорово, если бы сайт переводил в тексте те слова, которые ты не знаешь. Для меня эта проблема очень актуальна, потому что я технарь, у меня неплохой технический английский, я могу общаться на ИТ-темы и темы, касающиеся физики, но с прилагательными у меня ужасные проблемы. Читать сложную художественную литературу я не могу, так же как и литературу о музыке.
Все похожие проекты, которые я видел, представляют собой узкие технические решения, которые можно рассматривать не как самостоятельные проекты, а как одно из многих упражнений. Многим сервисам не хватает базы известных слов. Мне же хотелось сделать сервис, который мог бы развиваться самостоятельно.
О менеджменте
Я в некотором смысле универсал, который может осуществлять все связанное с разработкой продукта: умею писать хорошие коды, продумывать структуру решений. Мне очень повезло с преподавателем в МФТИ. На физтехе есть система курсов по выбору, я попал на спецкурс к дизайнеру, который дал мне понимание того, что такое дизайн с точки зрения технаря. Он объяснил, что такое цвет, научил работать в Photoshop, рассказал много вещей по юзабилити. Еще он научил нас тому, что нарабатывать опыт нужно на плохих примерах. Когда ты смотришь на хороший дизайн, у тебя не возникает вопросов, когда же ты смотришь на плохой, ты начинаешь рефлексировать на тему того, что именно в нем можно было бы исправить.
После этого я начал общаться в интернете, смотреть на чужие сайты, давать обратную связь. А затем я занялся своими прототипами. В общем, я умею делать дизайн, правда, до сих пор не умею рисовать, не знаю, например, как падают тени. За годы работы я руководил командой, я умею составлять планы работ, так что дизайн, менеджмент, юзабилити, техническая разработка и верстка мной закрываются. При этом я абсолютный ноль в вопросах бизнеса и рекламы, и это является серьезной проблемой. Я могу писать нормальные статьи, и весь трафик идет сейчас на две статьи, написанные мной.
Стартовый капитал составил всего 10 руб. Сейчас я понимаю, что мой проект мог бы иметь большую аудиторию, если бы я серьезно занялся рекламой. Я попадаюсь в ловушку технаря, когда технические вещи кажутся более важными, чем продвижение. На аутсорс отдать эту задачу я не могу, поскольку у меня нет лишних денег.
Об аудитории
У проекта Words from text есть группа «ВКонтакте», мне очень нравятся люди, с которыми я там общаюсь. Пока я развиваю только одну социальную сеть, потому что поддерживать сразу несколько не готов.
Аудитория активно пользуется сайтом, я получаю от нее обратную связь, поэтому хорошо представляю пользователей своего сервиса. Разные люди по-разному воспринимают информацию, но я больше склонен работать на людей, которые умеют читать.
У проекта всегда должно быть два потока, которые потом сливаются в единый процесс разработки: с одной стороны поток должен идти от пользователей, а с другой — от самого создателя проекта. Наш проект мы переделали в проект для чтения из проекта по статистике слов, так как было много подобных пожеланий.
Три года назад, когда мы запустили проект, он тоже имел какую-то аудиторию, и поступало очень много обратной связи. Мы заметили, что все просьбы связаны с мелкими улучшениями. Крупные задачи, конечно, надо решать самостоятельно, но при этом не игнорировать пожелания пользователей.
Доходы и инвестиции
Кризис на этот проект вряд ли повлияет, он, правда, приносит небольшой доход, который пока с трудом окупает затраты.
Буду ли я искать инвестора? Пока я не могу однозначно ответить на этот вопрос. Все зависит от конкретного человека, я не готов доверить контроль над проектом случайному человеку или даже взять у него деньги. Инвестор и создатель бизнеса должны иметь общие ценности и смотреть в одном направлении. Проблема скорее не в том, что я хочу все контролировать, а в том, что я очень избирателен в выборе партнера. По моему опыту, лучше всего живут проекты, которыми рулит один человек. В двух штурманов я не верю.
Планы
Мои планы разделяются на две части. Во-первых, я планирую в ближайшее время пообщаться с рядом сообществ «ВКонтакте», оплатить определенное количество постов, и на это уже есть бюджет. Во-вторых, нужно решить некоторые технические задачи, на которые указывают сами пользователи. Например, я хочу заняться фразовыми глаголами. Техническая возможность уже есть, осталось создать контент.
Не пропустите новые публикации
Подпишитесь на рассылку, и мы поможем вам разобраться в требованиях законодательства, подскажем, что делать в спорных ситуациях, и научим больше зарабатывать.
Источник