Прискорюйте багатомовні робочі процеси за допомогою настроюваного рішення перекладу, створеного за допомогою Amazon Translate PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Прискорюйте багатомовні робочі процеси за допомогою настроюваного рішення перекладу, створеного за допомогою Amazon Translate

Підприємствам часто потрібно ефективно спілкуватися з великою базою клієнтів, партнерів і зацікавлених сторін кількома різними мовами. Їм потрібно перекласти та локалізувати такий вміст, як маркетингові матеріали, вміст продукту, посібники з експлуатації та юридичні документи. Кожен бізнес-підрозділ на підприємстві має різне навантаження на переклад і часто керує власними вимогами до перекладу та постачальниками. Хоча цей розподілений підхід може надати бізнес-підрозділам автономність і гнучкість перекладу, підприємствам стає важко підтримувати узгодженість перекладу на підприємстві.

Amazon Translate — це a нейронний машинний переклад послуга, яка забезпечує швидкий, високоякісний, доступний і адаптований мовний переклад. Сьогодні Amazon Translate підтримує масштабований мовний переклад для понад 5,500 мовних пар у пакетному режимі та в реальному часі. Його можна використовувати для створення рішень, які вирішують проблеми, з якими стикаються підприємства з кількома бізнес-підрозділами, коли шукають шляхи прискорення багатомовних робочих процесів за допомогою підтримки налаштування.

Наприклад, Група BMW потрібне уніфіковане рішення для перекладу, щоб допомогти своїм бізнес-підрозділам, таким як продажі та виробництво, використовувати технологію перекладу в масштабах і усунути поширені проблеми з неправильним перекладом на підприємстві. Їх вирішення с Amazon Translate скорочує час перекладу більш ніж на 75%, водночас надаючи кожному бізнес-підрозділу можливість налаштовувати вихідні дані відповідно до своїх конкретних вимог до перекладу.

У цій публікації блогу ми демонструємо, як створити уніфіковане рішення перекладу з функціями налаштування за допомогою Amazon Translate та інших служб AWS. Ми також покажемо вам, як інсталювати та протестувати рішення, а також як ви можете створити настроюване та масштабоване рішення перекладу для користувачів залежно від локалізаційних потреб їхніх відділів.

Огляд рішення

Рішення використовує власні функції Amazon Translate, такі як переклад у реальному часі, автоматичне визначення вихідної мови та нестандартна термінологія. Використання API -шлюз Amazon, ці функції представлені як одна проста /translate API. Користувацька термінологія дозволяє визначати конкретні пари перекладу. Щоб користувацька термінологія працювала, вам потрібно завантажити файл термінології в Amazon Translate. Тому інший API /customterm піддається.

Рішення ілюструє два варіанти перекладу: стандартний переклад і індивідуальний переклад (з використанням функції спеціальної термінології). Однак ви можете змінити ці параметри відповідно до потреб вашого бізнесу. Споживачі можуть використовувати ці параметри за допомогою API Gateway Ключі API. Коли API отримує запит на переклад, він перевіряє запит (за допомогою AWS Lambda функція авторизації), чи наданий ключ API авторизований для виконання запитуваного типу перекладу. Ми використовуємо Amazon DynamoDB таблиця для зберігання інформації метаданих про споживачів, дозволи та ключі API.

Це рішення підходить для трьох типів персон:

  • Стандартна персона перекладу – Користувачі в бізнес-підрозділі, які не потребують налаштування. Це включає стандартні параметри перекладу та такі функції, як автоматичне визначення мови Amazon Translate.
  • Персональний переклад – Користувачі в бізнес-підрозділі, які мають вимоги до налаштування. Це включає в себе всі функції стандартного перекладу, а також можливість налаштовувати переклади за допомогою спеціального файлу термінології.
  • Персона адміністратора – Підтримує налаштований варіант перекладу, керуючи завантаженням файлів спеціальної термінології, але не може здійснювати будь-які інші виклики API перекладу.

На наступній діаграмі показано централізоване рішення перекладу з архітектурою налаштування.

Для особи перекладу користувача процес включає такі дії (синій шлях на попередній діаграмі):

1a. Телефонуйте /translate API та передайте ключ API в заголовок API. Крім того, для персоналізованого перекладу користувач може ввімкнути спеціальний переклад, передавши додатковий параметр рядка запиту (useCustomTerm).

2. Шлюз API перевіряє ключ API.

3. Настроюваний авторизатор Lambda викликається для перевірки дії, чи дозволено наданий ключ API. Наприклад, стандартний перекладач не може запитувати власний переклад, або адміністратор не може виконувати будь-який переклад тексту.

4. Лямбда-авторизатор отримує інформацію про користувача з таблиці DynamoDB і перевіряє відповідність наданому ключу API.

5a. Після перевірки інша функція Lambda (Translate) викликається для виклику API перекладу Amazon translate_text.

6a. Перекладений текст повертається у відповідь API.

Особа адміністратора може завантажити спеціальний термінологічний файл, який може використовувати персоналізована особа перекладу, викликавши /customterm API. Нижче наведено кроки робочого процесу (зелений шлях на попередній діаграмі):

1b. Телефонуйте /customterm API та передайте ключ API в заголовок API.

2. Шлюз API перевіряє ключ API.

3. Настроюваний авторизатор Lambda викликається для перевірки дії, чи дозволено наданий ключ API. Наприклад, лише особа адміністратора може завантажувати спеціальні термінологічні файли.

4. Лямбда-авторизатор отримує інформацію про користувача з таблиці DynamoDB і перевіряє відповідність наданому ключу API.

5b. Після перевірки ключа API викликається інша функція Lambda (Upload) для виклику API перекладу Amazon import_terminology.

6b. Файл спеціальної термінології завантажується в Amazon Translate з унікальною назвою, згенерованою функцією Lambda.

У наступних розділах ми розглянемо кроки для розгортання та тестування рішення.

Передумови

Щоб розгорнути рішення, вам потрібен обліковий запис AWS. Якщо у вас ще немає облікового запису AWS, ви можете створити його. Ваш доступ до облікового запису AWS повинен мати Управління ідентифікацією та доступом AWS (IAM) дозволи на запуск AWS CloudFormation шаблони, які створюють ролі IAM.

Зауважте, що ви несете відповідальність за вартість послуг AWS, які використовуються під час виконання цього зразка розгортання. Багато з цих служб (наприклад, Amazon Translate, API Gateway і Lambda) мають безкоштовний рівень, який допоможе вам почати роботу. Щоб отримати повну інформацію, перегляньте сторінки з цінами для кожної служби AWS, якою ви користуєтеся, у цій публікації.

Розгорніть рішення за допомогою AWS CloudFormation

Запустіть наданий шаблон CloudFormation, щоб розгорнути рішення у своєму обліковому записі AWS. Цей стек працює лише в us-east-1 or eu-west-1 Регіони. Якщо ви хочете розгорнути це рішення в інших регіонах, зверніться до GitHub репо і розгорніть CloudFormation у вашому регіоні.

  1. Розгорніть останній шаблон CloudFormation, перейшовши за посиланням для бажаного регіону:
область Стек CloudFormation
Н. Вірджинія (us-east-1) Кнопка запуску стека
Ірландія (eu-west-1) Кнопка запуску стека
  1. Якщо буде запропоновано, увійдіть, використовуючи облікові дані свого облікового запису AWS.
  2. Залиште поля на Створити стек із попередньо заповненими параметрами за замовчуванням.
  3. Вибирати МАЙБУТНІ.
  4. для Назва стека, введіть назву стека CloudFormation (для цієї публікації, EnterpriseTranslate).
  5. для DDBTableName¸ введіть назву таблиці DynamoDB (EnterpriseTranslateTable).
  6. для apiGatewayName, введіть API Gateway, створений стеком (EnterpriseTranslateAPI).
  7. для apiGatewayStageName, введіть назву середовища для API Gateway (prod).
  8. Вибирати МАЙБУТНІ.
  9. На сторінці перегляду встановіть прапорці, щоб підтвердити створення ресурсів IAM. Це потрібно, щоб дозволити CloudFormation створити роль для надання доступу до ресурсів, необхідних стеку, і динамічно називати ресурси.
  10. Вибирати Створити стек.

Ви можете стежити за прогресом створення стека на Події вкладка. Стек завершено, коли стан стека відображається як CREATE_COMPLETE.

Розгортання створює такі ресурси (усі мають префікс EntTranslate):

  • Викликається API шлюзу API з двома ресурсами /customterm та /translate, з трьома ключами API для представлення двох персон перекладу та персони адміністратора
  • Таблиця DynamoDB із трьома елементами для відображення одного споживача з трьома різними ролями (три ключі API)
  • Кілька функцій Lambda (з використанням Python 3.9) відповідно до діаграми архітектури

Після розгортання ресурсів у вашому обліковому записі в AWS Cloud ви можете протестувати рішення.

Збирайте ключі API

Щоб отримати ключі API, виконайте такі дії:

  1. перейдіть до Виходи вкладку стека CloudFormation і скопіюйте значення ключа apiGatewayInvokeURL.Щоб знайти ключі API, створені рішенням, перегляньте таблицю DynamoDB, яку ви щойно створили, або перейдіть на сторінку ключів API на консолі API Gateway. У цій публікації використовується останній підхід.
  2. на ресурси вкладці стека CloudFormation знайдіть логічний ідентифікатор EntTranslateApi для API Gateway і відкрийте посилання під Фізичний ідентифікатор у новій вкладці.
  3. На консолі API Gateway виберіть API ключі у навігаційній панелі.
  4. Зверніть увагу на три ключі API (стандартний, індивідуальний, адміністратор), згенеровані рішенням. Наприклад, виберіть стандартний ключ EntTranslateCus1StandardTierKey І вибирай Показати посилання проти властивості ключа API.

Тепер ви можете протестувати API за допомогою будь-яких інструментів з відкритим кодом на ваш вибір. Для цієї публікації ми використовуємо Листоноша Інструмент тестування API лише для ілюстрації. Докладніше про тестування API за допомогою Postman див Огляд розробки API.

Тест 1: Стандартний переклад

Щоб протестувати стандартний API перекладу, ви спочатку створюєте запит POST у Postman.

  1. Вибирати Додати запит в листоноші.
  2. Встановіть тип методу як POST.
  3. Введіть URL-адресу виклику шлюзу API на вкладці «Вихід» розгорнутого стеку CloudFormation.
  4. додавати /translate до кінцевої точки URL-адреси.
  5. на Заголовки додайте новий ключ заголовка під назвою x-api-key.
  6. Введіть стандартне значення ключа API (скопійоване на етапі збору ключів API).
  7. на тіло вкладка, виберіть Сировина і введіть тіло JSON таким чином:
    {   "sourceText": "some text to translate",   "targetLanguage": "fr",   "sourceLanguage":"en"}

    sourceLanguage є необов'язковим параметром. Якщо ви не вкажете його, система встановить його як auto для автоматичного визначення вихідної мови.

  8. Викличте API, вибравши Відправити і перевірте вихід.
    Прискорюйте багатомовні робочі процеси за допомогою настроюваного рішення перекладу, створеного за допомогою Amazon Translate PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

API має працювати успішно та повертати перекладений текст у тіло розділ об'єкта відповіді.

Тест 2: Індивідуальний переклад із використанням спеціальної термінології

Щоб перевірити функцію завантаження спеціальних термінів, ми спочатку створюємо запит PUT у Postman.

  1. Вибирати Додати запит в листоноші.
  2. Встановіть тип методу як PUT.
  3. Введіть URL-адресу виклику шлюзу API.
  4. додавати /customterm до кінця URL-адреси.
  5. на Заголовки додайте новий ключ заголовка під назвою x-api-key.
  6. Введіть значення ключа API адміністратора (скопійоване на етапі збору ключів API).
  7. на тіло змініть формат на двійковий і завантажте файл CSV спеціального терміна. Зразок файлу CSV наведено під /Resources папку в сховищі GitHub.
  8. Викличте API, вибравши Відправити і перевірте вихід.
    Прискорюйте багатомовні робочі процеси за допомогою настроюваного рішення перекладу, створеного за допомогою Amazon Translate PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
    API має працювати успішно з повідомленням у розділі Body об’єкта відповіді про те, що «Спеціальний термін завантажено успішно».
  9. На консолі Amazon Translate виберіть Спеціальна термінологія у навігаційній панелі.
    Файл спеціальної термінології має бути завантажений і відображається в списку термінології. Синтаксис назви файлу — це ідентифікатор клієнта з таблиці DynamoDB для вибраного ключа API, після якого йде рядок _customterm_1.Прискорюйте багатомовні робочі процеси за допомогою настроюваного рішення перекладу, створеного за допомогою Amazon Translate PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
    Зауважте, що якщо ви не використовували ключ API адміністратора, система не зможе завантажити користувацький файл термінів. Тепер ви готові виконати власний переклад.
  10. Вибирати Додати запит в листоноші.
  11. Встановіть тип методу як POST.
  12. Введіть URL-адресу виклику шлюзу API.
  13. додавати /translate до кінцевої точки URL-адреси.
  14. на Заголовки додайте новий ключ заголовка під назвою x-api-key.
  15. Введіть стандартне значення ключа API.
  16. на тіло вкладці введіть тіло JSON таким чином:
    {   "sourceText": "some text to translate",   "targetLanguage": "fr",   "sourceLanguage":"en"}

  17. на Params вкладку, додайте новий параметр рядка запиту під назвою useCustomTerm зі значенням 1.
  18. Викличте API, вибравши Відправити і перевірте вихід. API має вийти з ладу з повідомленням «Неавторизовано». Це тому, що ви намагаєтеся викликати налаштовану функцію перекладу за допомогою стандартного ключа API особи.
  19. на Заголовки вкладці введіть налаштоване значення ключа API.
  20. Запустіть тест знову, і він повинен мати можливість перекладу за допомогою спеціального файлу термінології.

Ви також помітите, що цього разу перекладений текст зберігає слово «перекласти» без його перекладу (якщо ви використовували наданий зразок файлу). Це пов’язано з тим, що файл спеціальної термінології, який було завантажено раніше, містить слово «translate», що свідчить про те, що спеціальна термінологія змінила вихідні дані Amazon Translate.

Тест 3: додайте додаткових споживачів і бізнес-одиниці

Це рішення розгорнуто одного споживача (customerA) із трьома різними ключами API як частина розгортання стеку CloudFormation. Ви можете додати додаткових споживачів, створивши новий план використання в API Gateway і пов’язавши нові ключі API з цим планом використання. Докладніше про те, як створити плани використання та ключі API, див Створення та використання планів використання з ключами API. Потім ви можете додати ці ключі API як додаткові записи в таблицю DynamoDB.

Прибирати

Щоб уникнути майбутніх витрат, очистіть ресурси, які ви створили як частину стеку CloudFormation:

  1. На консолі AWS CloudFormation перейдіть до створеного стека.
  2. Виберіть стек і виберіть Видалити стек.

Видалення вашого стека може зайняти деякий час. Ви можете відстежувати його прогрес на Події вкладка. Після завершення видалення статус стека змінюється на DELETE_IN_PROGRESS до DELETE_COMPLETE. Потім він зникає зі списку.

Міркування

Під час використання цього рішення враховуйте наступне:

  • Виклики API для цього рішення повільніші, ніж прямі виклики API Amazon Translate. Це пояснюється тим, що рішення реалізує додаткову бізнес-логіку та використовує додаткові сервіси (API Gateway і Lambda).
  • Зверніть увагу на Amazon Translate ліміти обслуговування для синхронного перекладу в реальному часі та файлів спеціальної термінології.
  • Це рішення зосереджено на розкритті API за допомогою ключа API. Якщо ви плануєте застосувати це до робочих середовищ, розгляньте механізм автентифікації за допомогою відкритих галузевих стандартів (наприклад, OIDC), щоб спочатку автентифікувати запит. Для отримання додаткової інформації див Керування мультитенантними API за допомогою Amazon API Gateway.

Висновок

У цьому дописі ми продемонстрували, як легко виконувати переклад у реальному часі, завантажувати файли спеціальної термінології та виконувати власний переклад у Amazon Translate за допомогою його рідних API, а також створили рішення для підтримки налаштування за допомогою API Gateway.

Ви можете розширити рішення за допомогою налаштувань, які відповідають вимогам вашого бізнесу. Наприклад, ви можете надати додаткові функції, такі як Активний індивідуальний переклад використовуючи паралельні дані через інший ключ API, або створіть рівень кешування для роботи з цим рішенням, щоб ще більше зменшити вартість перекладів і обслуговувати часто використовувані переклади з кешу. Ви можете ввімкнути регулювання API та обмеження швидкості, скориставшись перевагами Функції API Gateway. Можливості безмежні, і ми хотіли б почути, як ви виведете це рішення на новий рівень для своєї організації, надіславши AWS Зв'яжіться з нами запит. Ви можете почати налаштування цього рішення, перейшовши на сторінку GitHub репо для цього блогу.

Для отримання додаткової інформації про Amazon Translate відвідайте веб-сайт Ресурси Amazon Translate щоб знайти відеоресурси та публікації в блогах, а також посилатися на них Поширені запитання щодо Amazon Translate. Якщо ви новачок у Amazon Translate, спробуйте його за допомогою Безкоштовний рівень, яка пропонує до 2 мільйонів символів на місяць безкоштовно протягом перших 12 місяців, починаючи з вашого першого запиту на переклад.


Про автора

Прискорюйте багатомовні робочі процеси за допомогою настроюваного рішення перекладу, створеного за допомогою Amazon Translate PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Фахад Ахмед є архітектором рішень в Amazon Web Services (AWS) і опікується Digital Native Businesss у Великобританії. Він має понад 17 років досвіду створення та проектування програмних додатків. Нещодавно він знайшов нову пристрасть — зробити сервіси ШІ доступними для мас.

Часова мітка:

Більше від AWS Машинне навчання