Описание проекта
Переводчик+ — проект сервиса по автоматическому переводу громоздких текстов; от художественных произведений до научных статей.
В чем заключается суть проекта?
Проект был задуман группой студентов-любителей иностранной литературы и IT-энтузиастов как идея, способная приблизить массовую аудиторию к решению насущной проблемы машинного перевода — ограниченности существующих продуктов в вопросе перевода больших текстов.
Кому может пригодится такой сервис?
Многие пользователи информационных технологий в своей деятельности время от времени вынуждены обращаться к иноязычным источникам в надежде получить ответ на свой вопрос, будь тому причиной устаревание доступной информации на родном языке или ее полное отсутствие. Однако пробелы в языковых способностях заставляют некоторых читателей обращаться за помощью к машинному переводу.
Если большинству пользователей не приходится подолгу работать с текстом, то также существуют те, кому перевод объемного текста может быть необходим.
Это в первую очередь, такие пользователи как:
- Изучающие иностранный язык с помощью произведений в оригинале, владеющие языком на разном уровне;
- Учащиеся школ, вузов, а также работники разных отраслей деятельности, обращающиеся к иностранным материалам в рамках учебной или профессиональной деятельности;
- Любители современной или редкой иностранной литературы, не имеющей перевода на данный момент времени, но не владеющие языком на достаточном уровне.
План и этапы разработки
Разрабатываемый сервис по автопереводу позиционируется как онлайн-решение, использующее постоянно совершенствующиеся технологии Google Translate непосредственно в задаче машинного перевода. При этом, сайт продукта предусматривает возможность регистрации пользователей с возможностью использования сервиса при бесплатном и платном тарифах. Последний предоставляет пользователям дополнительный функционал при работе с сервисом, а также помогает обеспечивать финансовую поддержку проекта и его обслуживание.
Этапы разработки:
- аналитика существующих решений и потенциальной аудитории;
- создание и описание концепции сервиса;
- разработка алгоритма перевода; -------в процессе-------
- проектирование и разработка структуры БД и функционала работы с файлами;
- разработка и интеграция серверной части продукта;
- разработка клиентского функционала и интерфейса взаимодействия с пользователем;
- тестирование составляющих продукта;
- релиз сервиса.
Какие аналоги существуют на рынке в данный момент?
Идея разработки сервиса возникла в результате анализа рынка существующих решений для машинного перевода. Было рассмотрено несколько популярных продуктов от разных разработчиков.
- Google Translate — бесплатный популярный сервис перевода от Google. Занимает основную долю, как российской, так и зарубежной аудитории. Имеет поддержку более 100 языков и большую скорость по сравнению с конкурентами. Использует статистический метод при формировании базы переводов, базируясь на частоте т.н. языковых пар. Направлен на большой круг пользователей и за время работы успел сформировать обширную онлайн-базу данных, благодаря чему имеет хорошую точность перевода.
- Яндекс Переводчик — сервис для онлайн-перевода от российского IT-гиганта — компании Яндекс. Направлен в основном на российскую аудиторию. Переводит тексты на более чем 90 языков и поддерживает озвучку для каждого из них. Из фишек сервиса можно выделить вывод транскрипции для слова, а также базу распространенных устойчивых выражений (идиом). Платная версия предоставляет статическую и нейронную системы перевода для более качественного результата при переводе.
- Bing Microsoft Translator — сервис перевода от компании Microsoft, оцениваемый как один из лучших среди аналогов. Имеет озвучку для всех 108 поддерживаемых языков, при этом качественный перевод устойчивых выражений доступен в бесплатной версии. В числе особенностей отдельный раздел с часто переводимыми фразами, разделенными по категориям, которые могут пригодиться в повседневных ситуациях. В целом сервис подразумевается как переводчик отдельных фраз и небольших текстов.
- Reverso — сервис перевода, поддерживающий множество дополнительных функций для всех поддерживаемых 18 языков. Для каждого из них доступен словарь, грамматический справочник, синонимайзер и корректор, при этом также используется несколько вариантов для перевода. Выводит также варианты выражений с переводимым словом или фразой, как и транскрипцию с озвучкой. Платная версия предоставляет расширенные возможности, такие как увеличение максимального объема текста для разового перевода, отсутствие рекламы и т.д.
- DeepL Translator — сервис, использующий собственные алгоритмы искусственного интеллекта для достижения наиболее точного результата. Поддерживает 28 языков и тексты в разных форматах. Одной из фишек является наличие глоссария, позволяющего точечно настроить аспекты перевода для отдельных слов или фраз и особенности грамматики. В платной версии можно настроить в т.ч. стиль перевода и сохранение форматирования.
Принцип работы вышеперечисленных сервисов онлайн-перевода заключается в максимально быстром отклике при ограничении объема вводимого текста, что позволяет практически моментально обрабатывать сотни тысяч запросов в секунду. При анализе рынка было замечено практически полное отсутствие сервисов перевода, рассчитанных на большие объемы данных, например громоздкие документы или книги, не говоря уже о их популярности.
Планы по популяризации проекта
Отсутствие популярных решений для перевода больших текстов ставит задачу заполнения этой ниши. Актуальность этой нехватки особенно понятна авторам проекта Переводчик+ как студентам. При выполнении отчетов по работам студентам часто приходится обращаться к различным научным статьям за примерами и разъяснениями. Тем не менее, оригинальность таких текстов после многочисленных заимствований с каждым годом снижается, из-за чего информация в таких работах все чаще повторяется и ощущается нехватка свежих идей.
На начальной стадии продвижения именно студенческая аудитория послужит основой для популяризации проекта, как наиболее понятная и знакомая авторам.
В частности, для продвижения предлагается использовать:
- размещение рекламных объявлений в различных социальных сетях, как основных интернет-площадках взаимодействия с молодежью;
- использование контекстной рекламы на популярных сайтах;
- размещение тематических публикаций на соответствующих площадках, где можно было бы предложить пользователям сервис для решения описанных задач.
В будущем финансовая поддержка со стороны пользователей Переводчик+ поспособствует дальнейшей популяризации и развитию проекта.
Какие технологии планируется использовать?
Готовый проект по текущему плану будет представлять собой онлайн-сервис, взаимодействие с которым клиент будет осуществлять через сайт. При одновременной обработке объемных данных и постепенное увеличение числа клиентов требуется упор на масштабируемость и распределение нагрузки. На текущий момент определен следующий стек технологий:
- Серверная часть (backend) — Go;
- База данных и управление доступом — СУБД PostgreSQL;
- Клиентская часть (frontend) — HTML, CSS, JavaScript;
- Взаимодействие: Google API (Google Translate API, Google OAuth API), ориентир на REST API.
О серверной части
В перспективе ожидается, что сервис перевода и доступный функционал сайта на пике будет одновременно использоваться десятками тысяч пользователей. В связи с этим, для реализации backend важно предупредить такой сценарий и подобрать технологию с упором на производительность и относительно легкую масштабируемость.
В качестве языка программирования для реализации backend части сайта был выбран Go. Его многопоточность, масштабируемость и хорошая производительность позволяет рассчитывать на эффективность в работе при больших нагрузках, а простота синтаксиса упрощает реализацию требований.
О базе данных и хранении файлов
При создании базы данных для проекта необходимо учесть обработку большого количества файлов и задачи управления доступом. Для создания структуры базы данных и базовой логики в качестве СУБД предлагается использовать PostgreSQL.
Свободная объектно-реляционная СУБД PostgreSQL отличается хорошей надежностью и производительностью, а также допускает расширение логики за счёт языковых расширений. При этом, СУБД качественно выделяется среди других аналогов в вопросе обработки больших объемов информации, что может быть полезно в случае больших документов. Также PostgreSQL является хорошим инструментом для задач авторизации, имея для этого отлаженный и понятный функционал, что позволяет вносить своевременные правки в логику взаимодействия с данными в БД.
Учитывая контекст проекта, вместо хранения документов непосредственно в базе данных предлагается использовать файловые хранилища, чтобы не создавать дополнительную нагрузку на БД.
Немного про API и взаимодействие
При реализации алгоритма автоперевода с использованием технологий Google Translate необходима интеграция с соответствующими API от Google, в частности Google Translate API. Также планируется возможность авторизации на сайте через Google-аккаунт, для чего необходим Google OAuth API. В целом разработка API для сервиса при планировании клиент-серверного взаимодействия будет ориентирована на соблюдение принципов архитектуры REST. Детали, касающиеся структуры сайта обсуждаются на текущий момент времени.
Презентации
Пульс
Публикация о проекте
Разработан первый прототип алгоритма автоперевода на основе технологий Google.
g_translate.py