Przyspiesz wielojęzyczny przepływ pracy dzięki konfigurowalnemu rozwiązaniu tłumaczeniowemu zbudowanemu za pomocą Amazon Translate PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Przyspiesz wielojęzyczne przepływy pracy dzięki konfigurowalnemu rozwiązaniu tłumaczeniowemu zbudowanemu z Amazon Translate

Przedsiębiorstwa często muszą skutecznie komunikować się z dużą bazą klientów, partnerów i interesariuszy w kilku różnych językach. Muszą tłumaczyć i lokalizować treści, takie jak materiały marketingowe, zasoby zawartości produktów, instrukcje operacyjne i dokumenty prawne. Każda jednostka biznesowa w przedsiębiorstwie ma inne obciążenia związane z tłumaczeniami i często zarządza własnymi wymaganiami dotyczącymi tłumaczeń i dostawcami. Chociaż to rozproszone podejście może zapewnić autonomię i elastyczność tłumaczeń jednostek biznesowych, przedsiębiorstwom trudno jest zachować spójność tłumaczeń w całym przedsiębiorstwie.

Amazon Translate to tłumaczenie maszyny neuronowej usługa, która zapewnia szybkie, wysokiej jakości, przystępne cenowo i dostosowywane tłumaczenia językowe. Obecnie Amazon Translate obsługuje skalowalne tłumaczenia językowe dla ponad 5,500 par językowych w trybie wsadowym iw czasie rzeczywistym. Można go używać do tworzenia rozwiązań, które odpowiadają na wyzwania, przed którymi stają przedsiębiorstwa z wieloma jednostkami biznesowymi, poszukujące sposobów na przyspieszenie wielojęzycznych przepływów pracy dzięki obsłudze dostosowywania.

Na przykład, BMW Group potrzebowała ujednoliconego rozwiązania tłumaczeniowego, aby pomóc swoim jednostkom biznesowym, takim jak sprzedaż i produkcja, wykorzystywać technologię tłumaczeniową na dużą skalę i usuwać typowe problemy z błędami w tłumaczeniu w całym przedsiębiorstwie. Ich rozwiązanie z Tłumacz Amazon skraca czas tłumaczenia o ponad 75%, jednocześnie dając każdej jednostce biznesowej możliwość dostosowania wyników do specyficznych wymagań tłumaczeniowych.

W tym poście na blogu pokazujemy, jak zbudować ujednolicone rozwiązanie tłumaczeniowe z funkcjami dostosowywania za pomocą usługi Amazon Translate i innych usług AWS. Pokażemy Ci również, jak zainstalować i przetestować rozwiązanie oraz jak zbudować konfigurowalne i skalowalne rozwiązanie tłumaczeniowe dla użytkowników w zależności od potrzeb lokalizacyjnych ich działu.

Omówienie rozwiązania

Rozwiązanie wykorzystuje natywne funkcje Amazon Translate, takie jak tłumaczenie w czasie rzeczywistym, automatyczne wykrywanie języka źródłowego i niestandardowa terminologia, Za pomocą Brama Amazon API, te funkcje są widoczne jako jeden prosty /translate API. Niestandardowa terminologia umożliwia zdefiniowanie określonych niestandardowych par tłumaczeń. Aby niestandardowa terminologia działała, musisz przesłać plik terminologiczny do usługi Amazon Translate. Dlatego inny interfejs API /customterm jest narażony.

Rozwiązanie ilustruje dwie opcje tłumaczenia: standardowe tłumaczenie i niestandardowe tłumaczenie (przy użyciu funkcji niestandardowej terminologii). Można jednak zmodyfikować te opcje zgodnie z wymaganiami biznesowymi. Konsumenci mogą korzystać z tych opcji za pomocą API Gateway Klucze API. Gdy żądanie tłumaczenia zostanie odebrane przez interfejs API, weryfikuje żądanie (przy użyciu metody AWS Lambda autoryzacji), czy podany klucz API jest uprawniony do wykonania żądanego typu tłumaczenia. używamy Amazon DynamoDB table do przechowywania metadanych informacji o konsumentach, uprawnieniach i kluczach API.

To rozwiązanie jest przeznaczone dla trzech typów person:

  • Standardowa postać tłumaczenia – Użytkownicy w ramach jednostki biznesowej nie mający wymagań dotyczących dostosowywania. Obejmuje to standardowe opcje tłumaczenia i funkcje, takie jak automatyczne wykrywanie języka w usłudze Amazon Translate.
  • Dostosowana persona tłumacza – Użytkownicy w jednostce biznesowej mający wymagania dotyczące dostosowywania. Obejmuje to wszystkie funkcje tłumaczenia standardowego, a także możliwość dostosowywania tłumaczeń za pomocą niestandardowego pliku terminologicznego.
  • Osoba administratora – Obsługuje niestandardową opcję tłumaczenia, zarządzając przesyłaniem niestandardowych plików terminologicznych, ale nie może wykonywać żadnych innych wywołań interfejsu API tłumaczenia.

Poniższy diagram ilustruje scentralizowane rozwiązanie tłumaczeniowe z architekturą dostosowywania.

W przypadku osoby tłumaczącej użytkownika proces obejmuje następujące działania (niebieska ścieżka na powyższym diagramie):

1a. Zadzwoń do /translate API i przekaż klucz API w nagłówku API. Opcjonalnie w przypadku dostosowanej osoby tłumaczenia użytkownik może włączyć niestandardowe tłumaczenie, przekazując opcjonalny parametr ciągu zapytania (useCustomTerm).

2. API Gateway weryfikuje klucz API.

3. Niestandardowy autoryzator Lambda jest wywoływany w celu zweryfikowania akcji, czy podany klucz API jest dozwolony. Na przykład osoba zajmująca się tłumaczeniem standardowym nie może poprosić o tłumaczenie niestandardowe, a administrator nie może wykonać żadnego tłumaczenia tekstu.

4. Autoryzator Lambda pobiera informacje o użytkowniku z tabeli DynamoDB i weryfikuje je pod kątem dostarczonego klucza API.

5a. Po sprawdzeniu poprawności wywoływana jest inna funkcja Lambda (Translate) w celu wywołania API Amazon Translate translate_text.

6a. Przetłumaczony tekst jest zwracany w odpowiedzi API.

Osoba administratora może przesłać niestandardowy plik terminologiczny, którego może używać dostosowana osoba tłumacząca, dzwoniąc pod numer /customterm API. Etapy przepływu pracy są następujące (zielona ścieżka na poprzednim diagramie):

1b. Zadzwoń do /customterm API i przekaż klucz API w nagłówku API.

2. API Gateway weryfikuje klucz API.

3. Niestandardowy autoryzator Lambda jest wywoływany w celu zweryfikowania akcji, czy podany klucz API jest dozwolony. Na przykład tylko administrator może przesyłać niestandardowe pliki terminologiczne.

4. Autoryzator Lambda pobiera informacje o użytkowniku z tabeli DynamoDB i weryfikuje je pod kątem dostarczonego klucza API.

5b. Po sprawdzeniu poprawności klucza API wywoływana jest inna funkcja Lambda (Upload) w celu wywołania API Amazon Translate import_terminology.

6b. Niestandardowy plik terminologiczny jest przesyłany do usługi Amazon Translate z unikalną nazwą wygenerowaną przez funkcję Lambda.

W poniższych sekcjach omówimy kroki wdrażania i testowania rozwiązania.

Wymagania wstępne

Aby wdrożyć rozwiązanie, potrzebujesz konta AWS. Jeśli nie masz jeszcze konta AWS, możesz to zrobić stworzyć jeden. Twój dostęp do konta AWS musi mieć AWS Zarządzanie tożsamością i dostępem (IAM) uprawnienia do uruchomienia Tworzenie chmury AWS szablony, które tworzą role IAM.

Pamiętaj, że ponosisz odpowiedzialność za koszty usług AWS używanych podczas uruchamiania tego przykładowego wdrożenia. Wiele z tych usług (takich jak Amazon Translate, API Gateway i Lambda) jest dostępnych z bezpłatnym poziomem na początek. Aby uzyskać szczegółowe informacje, zobacz strony z cenami dla każdej usługi AWS, z której korzystasz w tym poście.

Wdróż rozwiązanie z AWS CloudFormation

Uruchom dostarczony szablon CloudFormation, aby wdrożyć rozwiązanie na swoim koncie AWS. Ten stos działa tylko w us-east-1 or eu-west-1 Regiony. Jeśli chcesz wdrożyć to rozwiązanie w innych regionach, zapoznaj się z sekcją GitHub repo i wdrożyć CloudFormation w wybranym regionie.

  1. Wdróż najnowszy szablon CloudFormation, korzystając z łącza dla preferowanego regionu:
Region Stos CloudFormation
Północna Wirginia (us-east-1) Uruchom przycisk stosu
Irlandia (eu-west-1) Uruchom przycisk stosu
  1. Jeśli pojawi się monit, zaloguj się przy użyciu poświadczeń konta AWS.
  2. Zostaw pola na Utwórz stos stronę z ich wstępnie wypełnionymi wartościami domyślnymi.
  3. Dodaj Następna.
  4. W razie zamówieenia projektu Nazwa stosu, wprowadź nazwę stosu CloudFormation (dla tego postu EnterpriseTranslate).
  5. W razie zamówieenia projektu NazwaTabeli DDBT¸ wprowadź nazwę tabeli DynamoDB (EnterpriseTranslateTable).
  6. W razie zamówieenia projektu apiBramaNazwa, wprowadź bramę interfejsu API utworzoną przez stos (EnterpriseTranslateAPI).
  7. W razie zamówieenia projektu apiGatewayNazwa etapu, wprowadź nazwę środowiska dla API Gateway (prod).
  8. Dodaj Następna.
  9. Na stronie przeglądu zaznacz pola wyboru, aby potwierdzić utworzenie zasobów IAM. Jest to wymagane, aby umożliwić CloudFormation utworzenie roli przyznającej dostęp do zasobów wymaganych przez stos i nadanie im dynamicznej nazwy.
  10. Dodaj Utwórz stos.

Możesz monitorować postęp tworzenia stosu na Eventy patka. Stos jest kompletny, gdy stan stosu pokazuje jako CREATE_COMPLETE.

Wdrożenie tworzy następujące zasoby (wszystkie z prefiksem EntTranslate):

  • API Gateway API z dwoma zasobami o nazwie /customterm i /translate, z trzema kluczami API reprezentującymi dwie osoby tłumaczące i osobę administratora
  • Tabela DynamoDB z trzema elementami odzwierciedlającymi jednego konsumenta z trzema różnymi rolami (trzy klucze API)
  • Kilka funkcji Lambda (przy użyciu Pythona 3.9) zgodnie ze schematem architektury

Po wdrożeniu zasobów na Twoim koncie w AWS Cloud możesz przetestować rozwiązanie.

Zbieraj klucze API

Wykonaj następujące kroki, aby zebrać klucze API:

  1. Nawiguj do Wyjścia tab stosu CloudFormation i skopiuj wartość klucza apiGatewayInvokeURL.Aby znaleźć klucze API utworzone przez rozwiązanie, przejrzyj właśnie utworzoną tabelę DynamoDB lub przejdź do strony kluczy API w konsoli API Gateway. W tym poście zastosowano to drugie podejście.
  2. Na Zasoby tab stosu CloudFormation znajdź identyfikator logiczny EntTranslateApi dla API Gateway i otwórz link pod Identyfikator fizyczny kolumna w nowej karcie.
  3. W konsoli API Gateway wybierz Klucze API w okienku nawigacji.
  4. Zwróć uwagę na trzy klucze API (standardowy, dostosowany, administrator) wygenerowane przez rozwiązanie. Na przykład wybierz klucz standardowy EntTranslateCus1StandardTierKey i wybierz Pokaż link względem właściwości klucza interfejsu API.

Teraz możesz przetestować interfejsy API przy użyciu dowolnych narzędzi open source. W tym poście używamy Listonosz Narzędzie do testowania API wyłącznie do celów ilustracyjnych. Aby uzyskać szczegółowe informacje na temat testowania interfejsu API za pomocą programu Postman, zobacz Omówienie rozwoju API.

Test 1: Tłumaczenie standardowe

Aby przetestować standardowy interfejs API tłumaczenia, najpierw utwórz żądanie POST w programie Postman.

  1. Dodaj Dodaj żądanie w Listonoszu.
  2. Ustaw typ metody jako POST.
  3. Wprowadź adres URL wywołania API Gateway z karty Dane wyjściowe wdrożonego stosu CloudFormation.
  4. Dodaj /translate do punktu końcowego adresu URL.
  5. Na Nagłówki tab dodaj nowy klucz nagłówka o nazwie x-api-key.
  6. Wprowadź standardową wartość klucza API (skopiowaną na etapie zbierania kluczy API).
  7. Na Ciało kartę, wybierz Surowy i wprowadź treść JSON w następujący sposób:
    {   "sourceText": "some text to translate",   "targetLanguage": "fr",   "sourceLanguage":"en"}

    sourceLanguage jest parametrem opcjonalnym. Jeśli go nie podasz, system ustawi go jako auto do automatycznego wykrywania języka źródłowego.

  8. Wywołaj interfejs API, wybierając Wyślij i zweryfikować wyjście.
    Przyspiesz wielojęzyczny przepływ pracy dzięki konfigurowalnemu rozwiązaniu tłumaczeniowemu zbudowanemu za pomocą Amazon Translate PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Interfejs API powinien działać pomyślnie i zwrócić przetłumaczony tekst w formacie Ciało sekcja obiektu odpowiedzi.

Test 2: Dostosowane tłumaczenie z niestandardową terminologią

Aby przetestować funkcję przesyłania niestandardowego terminu, najpierw tworzymy żądanie PUT w Postmanie.

  1. Dodaj Dodaj żądanie w Listonoszu.
  2. Ustaw typ metody jako PUT.
  3. Wprowadź adres URL wywołania interfejsu API Gateway.
  4. Dodaj /customterm na koniec adresu URL.
  5. Na Nagłówki tab dodaj nowy klucz nagłówka o nazwie x-api-key.
  6. Wprowadź wartość klucza API administratora (skopiowaną na etapie zbierania kluczy API).
  7. Na Ciało kartę, zmień format na dwójkowy i prześlij plik CSV niestandardowego terminu. Przykładowy plik CSV znajduje się w pliku /Resources folder w repozytorium GitHub.
  8. Wywołaj interfejs API, wybierając Wyślij i zweryfikować wyjście.
    Przyspiesz wielojęzyczny przepływ pracy dzięki konfigurowalnemu rozwiązaniu tłumaczeniowemu zbudowanemu za pomocą Amazon Translate PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
    Interfejs API powinien działać pomyślnie z komunikatem w sekcji Treść obiektu odpowiedzi „Pomyślnie przesłano termin niestandardowy”
  9. W konsoli Amazon Translate wybierz Terminologia niestandardowa w okienku nawigacji.
    Niestandardowy plik terminologii powinien zostać przesłany i jest wyświetlany na liście terminologii. Składnia nazwy pliku to identyfikator klienta z tabeli DynamoDB dla wybranego klucza API, po którym następuje ciąg znaków _customterm_1.Przyspiesz wielojęzyczny przepływ pracy dzięki konfigurowalnemu rozwiązaniu tłumaczeniowemu zbudowanemu za pomocą Amazon Translate PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
    Pamiętaj, że jeśli nie użyłeś klucza interfejsu API administratora, system nie prześle niestandardowego pliku terminów. Teraz możesz wykonać niestandardowe tłumaczenie.
  10. Dodaj Dodaj żądanie w Listonoszu.
  11. Ustaw typ metody jako POST.
  12. Wprowadź adres URL wywołania interfejsu API Gateway.
  13. Dodaj /translate do punktu końcowego adresu URL.
  14. Na Nagłówki tab dodaj nowy klucz nagłówka o nazwie x-api-key.
  15. Wprowadź standardową wartość klucza API.
  16. Na Ciało tab, wprowadź treść JSON w następujący sposób:
    {   "sourceText": "some text to translate",   "targetLanguage": "fr",   "sourceLanguage":"en"}

  17. Na Param Dodaj nowy parametr ciągu zapytania o nazwie useCustomTerm o wartości 1.
  18. Wywołaj interfejs API, wybierając Wyślij i sprawdź dane wyjściowe. Interfejs API powinien zakończyć się niepowodzeniem z komunikatem „Brak autoryzacji”. Dzieje się tak, ponieważ próbujesz wywołać niestandardową funkcję tłumaczenia przy użyciu standardowego klucza API persona.
  19. Na Nagłówki wprowadź dostosowaną wartość klucza API.
  20. Uruchom test ponownie i powinien być w stanie przetłumaczyć przy użyciu niestandardowego pliku terminologii.

Zauważysz również, że tym razem przetłumaczony tekst zachowuje słowo „przetłumacz” bez tłumaczenia (jeśli korzystałeś z dostarczonego przykładowego pliku). Wynika to z faktu, że wcześniej przesłany niestandardowy plik terminologiczny zawiera słowo „przetłumacz”, co sugeruje, że niestandardowa terminologia zmodyfikowała podstawowe dane wyjściowe z usługi Amazon Translate.

Test 3: Dodaj dodatkowych konsumentów i jednostki biznesowe

To rozwiązanie wdrożyło jednego konsumenta (customerA) z trzema różnymi kluczami API w ramach wdrożenia stosu CloudFormation. Możesz dodać dodatkowych konsumentów, tworząc nowy plan użytkowania w API Gateway i kojarząc nowe klucze API z tym planem użytkowania. Aby uzyskać więcej informacji na temat tworzenia planów użytkowania i kluczy API, zobacz Tworzenie i korzystanie z planów użytkowania z kluczami API. Następnie możesz dodać te klucze API jako dodatkowe wpisy w tabeli DynamoDB.

Sprzątać

Aby uniknąć przyszłych opłat, wyczyść zasoby utworzone w ramach stosu CloudFormation:

  1. W konsoli AWS CloudFormation przejdź do utworzonego stosu.
  2. Wybierz stos i wybierz Usuń stos.

Usunięcie stosu może zająć trochę czasu. Możesz śledzić jego postępy na stronie Eventy patka. Po zakończeniu usuwania stan stosu zmienia się z DELETE_IN_PROGRESS do DELETE_COMPLETE. Następnie znika z listy.

rozważania

Podczas korzystania z tego rozwiązania należy wziąć pod uwagę następujące kwestie:

  • Wywołania API dla tego rozwiązania są wolniejsze niż bezpośrednie wywoływanie API Amazon Translate. Dzieje się tak, ponieważ rozwiązanie implementuje dodatkową logikę biznesową i korzysta z dodatkowych usług (API Gateway i Lambda).
  • Proszę zwrócić uwagę na Tłumacz Amazon limity usług do synchronicznego tłumaczenia w czasie rzeczywistym i niestandardowych plików terminologicznych.
  • To rozwiązanie koncentruje się na udostępnianiu interfejsu API przy użyciu klucza interfejsu API. Jeśli planujesz przenieść to do środowisk produkcyjnych, rozważ mechanizm uwierzytelniania wykorzystujący otwarte standardy branżowe (takie jak OIDC), aby najpierw uwierzytelnić żądanie. Aby uzyskać więcej informacji, patrz Zarządzanie wielodostępnymi interfejsami API za pomocą Amazon API Gateway.

Wnioski

W tym poście pokazaliśmy, jak łatwo jest wykonywać tłumaczenia w czasie rzeczywistym, przesyłać niestandardowe pliki terminologiczne i wykonywać niestandardowe tłumaczenia w Amazon Translate przy użyciu jego natywnych interfejsów API, a także stworzyliśmy rozwiązanie do obsługi dostosowywania za pomocą API Gateway.

Możesz rozszerzyć rozwiązanie o dostosowania, które są odpowiednie dla Twoich wymagań biznesowych. Na przykład możesz zapewnić dodatkowe funkcje, takie jak Aktywne tłumaczenie niestandardowe używając danych równoległych za pośrednictwem innego klucza API lub utwórz warstwę buforowania do pracy z tym rozwiązaniem, aby jeszcze bardziej obniżyć koszty tłumaczeń i obsłużyć często używane tłumaczenia z pamięci podręcznej. Możesz włączyć ograniczanie przepustowości interfejsu API i ograniczanie szybkości, korzystając z Funkcje API Gateway. Możliwości są nieograniczone i chcielibyśmy usłyszeć, w jaki sposób przenosisz to rozwiązanie na wyższy poziom w swojej organizacji, przesyłając zgłoszenie AWS Skontaktuj się z nami żądanie. Możesz rozpocząć dostosowywanie tego rozwiązania, przechodząc do GitHub repo dla tego bloga.

Aby uzyskać więcej informacji o Tłumaczu Amazon, odwiedź Zasoby Amazon Translate aby znaleźć zasoby wideo i posty na blogu, a także odnieść się do Często zadawane pytania dotyczące tłumacza Amazon. Jeśli dopiero zaczynasz korzystać z usługi Amazon Translate, wypróbuj ją, korzystając z Poziom bezpłatny, która oferuje do 2 milionów znaków miesięcznie za darmo przez pierwsze 12 miesięcy, począwszy od pierwszego zlecenia tłumaczenia.


O autorze

Przyspiesz wielojęzyczny przepływ pracy dzięki konfigurowalnemu rozwiązaniu tłumaczeniowemu zbudowanemu za pomocą Amazon Translate PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Fahada Ahmeda jest architektem rozwiązań w Amazon Web Services (AWS) i opiekuje się firmami Digital Native w Wielkiej Brytanii. Ma ponad 17-letnie doświadczenie w budowaniu i projektowaniu aplikacji. Niedawno odkrył nową pasję, jaką jest udostępnianie usług sztucznej inteligencji masom.

Znak czasu:

Więcej z Uczenie maszynowe AWS