Служба нейронного машинного перевода на основе бессерверных микросервисов

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

Amazon Translate обеспечивает нейросетевой перевод для 75 языков и 5550 языковых пар. Таким образом, пользователь может написать что угодно на любом языке, и это будет переведено в соответствии с желаемой парой языков.

Архитектура АВС:

Интеграция внешнего интерфейса в качестве шлюза API и внутреннего интерфейса в качестве функции Lambda с Amazon Translate. Все журналы будут записываться в AWS CloudWatch Logs.

Цель:

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

Как показано ниже:

खराब मौसम के चलते पीएम मोदी की उत्तराखंड में होने वाली वर्चुअल चुनाव रैली रद्द कर दी गई है।
Due to bad weather, PM Modi's virtual election rally in Uttarakhand has been canceled.

Прежде чем перейти к практическим занятиям, давайте ознакомимся с приведенными ниже ресурсами AWS:

Что такое Amazon Translate?

Amazon Translate – это сервис нейронного машинного перевода, который обеспечивает быстрый, качественный, доступный и настраиваемый языковой перевод.

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

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

Как показано ниже:

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

Что такое Amazon API Gateway?

Amazon API Gateway — это полностью управляемый сервис, который позволяет разработчикам легко создавать, публиковать, поддерживать, отслеживать и защищать API любого масштаба. API-интерфейсы действуют как «входная дверь» для доступа приложений к данным, бизнес-логике или функциям из ваших серверных служб.

Используя API Gateway, вы можете создавать RESTful API и API WebSocket, которые позволяют приложениям двусторонней связи в режиме реального времени. Шлюз API поддерживает контейнерные и бессерверные рабочие нагрузки, а также веб-приложения.

Что такое лямбда-функция Amazon?

AWS Lambda — это сервис бессерверных вычислений, который запускает ваш код в ответ на события и автоматически управляет базовыми вычислительными ресурсами для вас. Эти события могут включать изменения в состоянии или обновление, например, когда пользователь кладет товар в корзину на веб-сайте электронной коммерции.

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

Итак, начнем ….!

Следуйте простым шагам, приведенным ниже:

Шаг 1. Войдите в консоль AWS.

Шаг 2. Создайте роль AWS IAM ROLE.

На этом шаге мы разрешаем AWS Lambda доступ к CloudWatch и AWS Translate с помощью роли IAM.

JSON Policy для CloudWatch регистрирует полный доступ.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "logs:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

Политика JSON для опытных пользователей Amazon Translate.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "translate:*",
                "comprehend:DetectDominantLanguage",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "iam:ListRoles",
                "iam:GetRole"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

Шаг 3: Создайте лямбда-функцию.

  1. Создайте новую функцию Lambda и выберите роль IAM из предыдущего шага.

2. Когда Lambda будет готова, скопируйте и вставьте указанный ниже код в свой файл lambda_function.

import boto3
translate_client = boto3.client('translate')
def lambda_handler(event, context): 
    review_text = event['text']
    translate_response = translate_client.translate_text(
        Text=review_text,
        SourceLanguageCode='auto',
        TargetLanguageCode='en'
    )
    print(translate_response)    
    return translate_response['TranslatedText']

Ваша лямбда-функция будет выглядеть следующим образом:

3. Теперь вы можете развернуть и протестировать свою лямбда-функцию, нажав кнопку Развернуть.

4. Затем перейдите на вкладку Тест и напишите следующие строки в своем тестовом событии в текстовом формате:

{"text"  : "खराब मौसम के चलते पीएम मोदी की उत्तराखंड में होने वाली वर्चुअल चुनाव रैली रद्द कर दी गई है।"}

5. Затем нажмите test ивы получите ожидаемый результат, как показано ниже:

"Due to bad weather, PM Modi's virtual election rally in Uttarakhand has been canceled."

Это означает, что ваша функция Lambda и Amazon Translate взаимодействуют друг с другом и работают успешно.

Шаг 4. Журналы AWS CloudWatch.

Вы можете проверить журналы функций AWS Lambda в журналах AWS CloudWatch, как показано ниже:

Сейчас половина проекта готова. Теперь перейдем к фронтенду.

Шаг 5. Создайте Rest API в AWS API GATEWAY.

  1. Создайте новый Rest API и назовите его Translate в AWS API Gateway.
  2. Затем создайте метод публикации из раскрывающегося списка вкладки «Действия».

3. Напишите имя лямбда-функции в текстовом поле. В моем случае «перевести с хинди на английский» — это имя.

4. Теперь нажмите ОК. вы увидите что-то вроде следующего:

5. Затем нажмите Стадия и Разверните свой API с описанием.

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

Invoke URL: 
https://0ue7hq0vy1.execute-api.us-east-1.amazonaws.com/dev

Шаг 6: Протестируйте конечную точку API в Почтальоне.

В конце вы откроете программное обеспечение почтальона для тестирования конечных точек API.

  1. Выберите метод публикации.
  2. Вставьте URL-адрес в текстовое поле.
  3. Щелкните переключатель Body и вставьте необработанные данные.
  4. Нажмите Отправить. Вы получите результаты, указанные ниже.

Теперь ваша вторая часть проекта также успешно завершена.

Вариант использования:

Языковая локализация

  • Команде переводчиков очень сложно успевать за динамическим контентом или контентом в реальном времени. С помощью Amazon Translate вы можете легко переводить огромные объемы пользовательского контента в режиме реального времени.
  • Веб-сайты и приложения могут автоматически делать такой контент, как истории в лентах, описания профилей и комментарии, доступными на предпочитаемом пользователем языке одним нажатием кнопки «перевести».

Текстовая аналитика

  • С Amazon Translate вы не ограничены языковыми барьерами. Понимайте социальные настроения вашего бренда, продукта или услуги, отслеживая онлайн-разговоры на разных языках.
  • Просто переведите текст на английский, прежде чем использовать приложение для обработки естественного языка (NLP), такое как Amazon Comprehend, для анализа текстового контента на множестве языков.

Коммуникация

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

Заключение:

Мы успешно интегрировали AWS Lambda, API Gateway и Amazon Translate и можем переводить языки в соответствии с нашими потребностями при отправке API от Postman.

Для получения дополнительной информации, пожалуйста, подключитесь и следуйте за мной:

LinkedIn: https://www.linkedin.com/in/vkmanik/

Электронная почта: [email protected]

Facebook: https://www.facebook.com/cloudvirtualization/

YouTube: https://bit.ly/32fknRN

Твиттер: https://twitter.com/varunkmanik

Использованная литература:

  1. https://aws.amazon.com/translate/
  2. https://aws.amazon.com/translate/faqs/
  3. https://aws.amazon.com/api-gateway/