A vállalatoknak gyakran hatékonyan kell kommunikálniuk az ügyfelek, partnerek és érdekelt felek széles bázisával, több különböző nyelven. Le kell fordítaniuk és honosítaniuk kell a tartalmakat, például a marketinganyagokat, a terméktartalom-eszközöket, az üzemeltetési kézikönyveket és a jogi dokumentumokat. A vállalat minden üzleti egysége eltérő fordítási munkaterheléssel rendelkezik, és gyakran saját fordítási igényeit és szállítóit kezeli. Bár ez az elosztott megközelítés autonómiát és rugalmasságot biztosíthat az üzleti egységek fordításában, a vállalatok számára nehézkessé válik a fordítási konzisztencia fenntartása a vállalaton belül.
Az Amazon Translate a idegi gépi fordítás szolgáltatás, amely gyors, kiváló minőségű, megfizethető és személyre szabható nyelvi fordítást biztosít. Ma az Amazon Translate támogatja a méretezhető nyelvi fordítást több mint 5,500 nyelvpárosításhoz kötegelt és valós időben. Használható olyan megoldások kidolgozására, amelyek megválaszolják azokat a kihívásokat, amelyekkel több üzleti egységgel rendelkező vállalkozások szembesülnek, amikor a többnyelvű munkafolyamatok testreszabási támogatással történő felgyorsításának módját keresik.
Például a BMW Group Egységes fordítási megoldásra volt szükségük, hogy segítsék üzleti egységeiket, például az értékesítést és a gyártást, a fordítási technológiát széles körben használni, és kiküszöböljék a vállalaton belüli gyakori félrefordítási problémákat. Megoldásuk a Amazon Translate több mint 75%-kal csökkenti a fordítási időt, miközben minden üzleti egység számára lehetővé teszi a kimenet testreszabását a sajátos fordítási igényeik kielégítésére.
Ebben a blogbejegyzésben bemutatjuk, hogyan építsünk egységes fordítási megoldást testreszabási funkciókkal az Amazon Translate és más AWS-szolgáltatások segítségével. Azt is megmutatjuk, hogyan telepítheti és tesztelheti a megoldást, és hogyan hozhat létre testreszabható és méretezhető fordítási megoldást a felhasználók számára osztályuk lokalizációs igényeitől függően.
Megoldás áttekintése
A megoldás az Amazon Translate natív szolgáltatásait használja, mint például a valós idejű fordítás, az automatikus forrásnyelv-észlelés és egyéni terminológia. használata Amazon API átjáró, ezek a funkciók egy egyszerű /translate
API. Az egyéni terminológia lehetővé teszi konkrét egyéni fordításpárok meghatározását. Az egyéni terminológia működéséhez fel kell töltenie egy terminológiai fájlt az Amazon Translate szolgáltatásba. Ezért egy másik API /customterm
ki van téve.
A megoldás két fordítási lehetőséget szemléltet: egy szabványos fordítást és egy testreszabott fordítást (az egyéni terminológiai szolgáltatás használatával). Ezeket a beállításokat azonban szükség szerint módosíthatja üzleti igényeinek megfelelően. A fogyasztók ezeket a lehetőségeket az API Gateway segítségével használhatják API kulcsok. Amikor fordítási kérést kap az API, érvényesíti a kérést (egy AWS Lambda jogosultság funkció), hogy a megadott API-kulcs jogosult-e a kért típusú fordítás végrehajtására. Használunk egy Amazon DynamoDB táblázat a fogyasztókról, az engedélyekről és az API-kulcsokról szóló metaadatok tárolására.
Ez a megoldás három személytípust szolgál ki:
- Normál fordítói személy – Az üzleti egységen belüli felhasználók, akiknek nincs testreszabási követelménye. Ez magában foglalja a szabványos fordítási lehetőségeket és az olyan funkciókat, mint az Amazon Translate automatikus nyelvészlelése.
- Személyre szabott fordítói személy – Az üzleti egységen belüli felhasználók testreszabási követelményekkel. Ez magában foglalja a szabványos fordítás összes funkcióját, valamint a fordítások testreszabásának lehetőségét egyéni terminológiai fájl segítségével.
- Admin személy – Támogatja a testreszabott fordítási opciót az egyéni terminológiai fájlok feltöltésének kezelésével, de nem tud más fordítási API-hívásokat lebonyolítani.
A következő ábra a központosított fordítási megoldást szemlélteti testreszabási architektúrával.
A felhasználói fordítási személy esetében a folyamat a következő műveleteket tartalmazza (a kék útvonal az előző diagramon):
1a. Hívja a /translate
API-t, és adja át az API-kulcsot az API-fejlécben. Opcionálisan a személyre szabott fordítási személy számára a felhasználó engedélyezheti az egyéni fordítást egy opcionális lekérdezési karakterlánc paraméter átadásával (useCustomTerm
).
2. Az API-átjáró érvényesíti az API-kulcsot.
3. A Lambda egyéni jogosultság meghívása annak ellenőrzésére, hogy a mellékelt API-kulcs engedélyezett-e. Például egy szabványos fordító nem kérhet egyéni fordítást, vagy egy rendszergazda nem végezhet szövegfordítást.
4. A Lambda-engedélyező lekéri a felhasználói információkat a DynamoDB táblából, és ellenőrzi a megadott API-kulcsot.
5a. Az érvényesítés után egy másik Lambda-függvény (Translate) meghívásra kerül az Amazon Translate API meghívására translate_text
.
6a. A lefordított szöveg visszakerül az API-válaszban.
Az adminisztrátor személyre szabott fordítói személy által használható egyéni terminológiai fájlt tölthet fel a telefonszámon /customterm
API. A munkafolyamat lépései a következők (a zöld útvonal az előző diagramon):
1b. Hívja a /customterm
API-t, és adja át az API-kulcsot az API-fejlécben.
2. Az API-átjáró érvényesíti az API-kulcsot.
3. A Lambda egyéni jogosultság meghívása annak ellenőrzésére, hogy a mellékelt API-kulcs engedélyezett-e. Például csak egy rendszergazda tölthet fel egyéni terminológiai fájlokat.
4. A Lambda-engedélyező lekéri a felhasználói információkat a DynamoDB táblából, és ellenőrzi a megadott API-kulcsot.
5b. Az API-kulcs érvényesítése után egy másik Lambda-függvény (Feltöltés) meghívásra kerül az Amazon Translate API meghívásához. import_terminology
.
6b. Az egyéni terminológiai fájl a Lambda függvény által generált egyedi névvel töltődik fel az Amazon Translate-be.
A következő szakaszokban a megoldás üzembe helyezésének és tesztelésének lépéseit mutatjuk be.
Előfeltételek
A megoldás üzembe helyezéséhez AWS-fiókra van szüksége. Ha még nincs AWS-fiókja, megteheti csinálni egyet. Az AWS-fiókhoz való hozzáférésének rendelkeznie kell AWS Identity and Access Management (IAM) engedélyek az indításhoz AWS felhőképződés IAM-szerepeket létrehozó sablonok.
Ne feledje, hogy Ön felelős a mintatelepítés futtatása során használt AWS-szolgáltatások költségeiért. E szolgáltatások közül sok (mint például az Amazon Translate, az API Gateway és a Lambda) ingyenes szinttel érkezik, hogy elkezdhesse. A részletekért tekintse meg az ebben a bejegyzésben használt egyes AWS-szolgáltatások árképzési oldalait.
Telepítse a megoldást az AWS CloudFormation segítségével
Indítsa el a mellékelt CloudFormation-sablont, hogy üzembe helyezze a megoldást az AWS-fiókjában. Ez a verem csak a us-east-1
or eu-west-1
Régiók. Ha más régiókban szeretné telepíteni ezt a megoldást, tekintse meg a GitHub repo és telepítse a CloudFormation-t a választott régiójában.
- Telepítse a legújabb CloudFormation-sablont az előnyben részesített régióhoz tartozó hivatkozást követve:
Vidék | CloudFormation Stack |
N. Virginia (us-east-1 ) |
|
Írország (eu-west-1 ) |
- Ha a rendszer kéri, jelentkezzen be az AWS-fiókja hitelesítő adataival.
- Hagyja a mezőket a Verem létrehozása oldal az előre kitöltött alapértelmezett beállításokkal.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő.
- A Verem neve, írja be a CloudFormation verem nevét (ehhez a bejegyzéshez,
EnterpriseTranslate
). - A DDBTtableName¸ írja be a DynamoDB tábla nevét (
EnterpriseTranslateTable
). - A apiGatewayName, adja meg a verem által létrehozott API átjárót (
EnterpriseTranslateAPI
). - A apiGatewayStageName, adja meg az API-átjáró (termék) környezet nevét.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő.
- Az áttekintési oldalon jelölje be a jelölőnégyzeteket az IAM-erőforrások létrehozásának jóváhagyásához. Ez szükséges ahhoz, hogy a CloudFormation létrehozhasson egy szerepkört, amely hozzáférést biztosít a veremhez szükséges erőforrásokhoz, és dinamikus módon elnevezheti az erőforrásokat.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Verem létrehozása.
A verem létrehozásának folyamatát nyomon követheti a Események lapon. A verem akkor fejeződött be, ha a verem állapota a következőképpen jelenik meg: CREATE_COMPLETE
.
A telepítés a következő erőforrásokat hozza létre (mindegyik előtagja: EntTranslate
):
- Egy API Gateway API két erőforrással
/customterm
és a/translate
, három API-kulccsal, amelyek két fordító személyt és egy adminisztrátori személyt képviselnek - Egy DynamoDB tábla három elemmel, amelyek egy fogyasztót tükröznek három különböző szerepkörrel (három API-kulcs)
- Számos Lambda-függvény (Python 3.9 használatával) az architektúra diagram szerint
Miután az erőforrásokat telepítette a fiókjába az AWS Cloudban, tesztelheti a megoldást.
Gyűjtse össze az API-kulcsokat
Az API-kulcsok összegyűjtéséhez hajtsa végre a következő lépéseket:
- Navigáljon a Kimenetek fület a CloudFormation veremben, és másolja ki a kulcs értékét
apiGatewayInvokeURL
.A megoldás által létrehozott API-kulcsok megtalálásához tekintse meg az imént létrehozott DynamoDB táblát, vagy navigáljon az API-kulcsok oldalára az API-átjárókonzolon. Ez a bejegyzés az utóbbi megközelítést alkalmazza. - A Tudástár a CloudFormation verem lapján keresse meg a logikai azonosítót
EntTranslateApi
API Gateway esetén, és nyissa meg a hivatkozást a Fizikai azonosító oszlopban egy új lapon. - Az API Gateway konzolon válassza a lehetőséget API Keys a navigációs ablaktáblában.
- Jegyezze fel a megoldás által generált három API-kulcsot (standard, testreszabott, adminisztrátor). Például válassza ki a szabványos kulcsot
EntTranslateCus1StandardTierKey
És válasszon Link megjelenítése az API kulcs tulajdonságával szemben.
Mostantól bármilyen nyílt forráskódú eszközzel tesztelheti az API-kat. Ehhez a bejegyzéshez a Postás API-tesztelő eszköz csak illusztrációs célokat szolgál. Az API Postman segítségével történő tesztelésével kapcsolatos részletekért lásd: API fejlesztési áttekintés.
1. teszt: Szabványos fordítás
A szabványos fordítási API teszteléséhez először létre kell hoznia egy POST-kérést a Postmanban.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Kérelem hozzáadása a Postásban.
- Állítsa be a módszer típusát a következőre: POST.
- Adja meg az API-átjáró meghívási URL-jét a telepített CloudFormation-verem Kimenet lapján.
- hozzáad
/translate
az URL-végponthoz. - A Fejlécek lapon adjon hozzá egy új fejléckulcsot
x-api-key
. - Adja meg a szabványos API-kulcs értékét (az API-kulcsok összegyűjtése szakaszban másolva).
- A Test lapon válassza ki a lehetőséget Nyers és adjon meg egy JSON törzset a következőképpen:
sourceLanguage
egy opcionális paraméter. Ha nem adja meg, a rendszer így állítja beauto
a forrásnyelv automatikus felismeréséhez. - Válassza ki az API-t Küldés és ellenőrizze a kimenetet.
Az API-nak sikeresen futnia kell, és vissza kell adnia a lefordított szöveget a Test szakasz a válaszobjektumban.
2. teszt: Testreszabott fordítás egyéni terminológiával
Az egyéni terminus feltöltési funkció teszteléséhez először létrehozunk egy PUT kérést a Postmanban.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Kérelem hozzáadása a Postásban.
- Állítsa be a módszer típusát a következőre: PUT.
- Adja meg az API-átjáró meghívó URL-jét.
- hozzáad
/customterm
az URL végére. - A Fejlécek lapon adjon hozzá egy új fejléckulcsot
x-api-key
. - Adja meg az adminisztrátori API-kulcs értékét (az API-kulcsok összegyűjtése szakaszban másolva).
- A Test lapon módosítsa a formátumot erre kétkomponensű és töltse fel az egyéni kifejezés CSV-fájlját. Egy minta CSV-fájl található a
/Resources
mappát a GitHub repóban. - Válassza ki az API-t Küldés és ellenőrizze a kimenetet.
Az API-nak sikeresen futnia kell, és a válaszobjektum törzsrészében megjelenik egy üzenet, amely azt mondja: „Az egyéni kifejezés sikeresen feltöltve” - Az Amazon Translate konzolon válassza a lehetőséget Egyedi terminológia a navigációs ablaktáblában.
Fel kellett volna tölteni egy egyéni terminológiai fájlt, amely megjelenik a terminológiai listában. A fájlnév szintaxisa a kiválasztott API-kulcs DynamoDB-táblájából származó ügyfél-azonosító, amelyet karakterlánc követ_customterm_1
.
Vegye figyelembe, hogy ha nem az adminisztrátori API-kulcsot használta, a rendszer nem tudja feltölteni az egyéni kifejezésfájlt. Most már készen áll az egyéni fordítás végrehajtására. - A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Kérelem hozzáadása a Postásban.
- Állítsa be a módszer típusát a következőre: POST.
- Adja meg az API-átjáró meghívó URL-jét.
- hozzáad
/translate
az URL-végponthoz. - A Fejlécek lapon adjon hozzá egy új fejléckulcsot
x-api-key
. - Adja meg a szabványos API-kulcs értékét.
- A Test lapon írjon be egy JSON törzset az alábbiak szerint:
- A Params lapon adjon hozzá egy új lekérdezési karakterlánc-paramétert
useCustomTerm
értékkel1
. - Válassza ki az API-t Küldés és ellenőrizze a kimenetet.Az API-nak meg kell hibáznia az „Unauthorized” üzenettel. Ennek az az oka, hogy egy személyre szabott fordítási funkciót próbál meghívni egy szabványos persona API-kulcs használatával.
- A Fejlécek lapon adja meg a testreszabott API-kulcs értékét.
- Futtassa újra a tesztet, és képesnek kell lennie lefordítani az egyéni terminológiai fájl használatával.
Azt is észre fogja venni, hogy ezúttal a lefordított szöveg megtartja a „fordítás” szót lefordítás nélkül (ha a mellékelt mintafájlt használta). Ez annak a ténynek köszönhető, hogy a korábban feltöltött egyéni terminológiai fájlban a „fordítás” szó szerepel, ami arra utal, hogy az egyéni terminológia módosította az Amazon Translate alapkimenetét.
3. teszt: Adjon hozzá további fogyasztókat és üzleti egységeket
Ez a megoldás egy fogyasztót telepített (customerA
) három különböző API-kulccsal a CloudFormation veremtelepítés részeként. További fogyasztókat vehet fel, ha új használati tervet hoz létre az API-átjáróban, és új API-kulcsokat társít ehhez a használati tervhez. A használati tervek és API-kulcsok létrehozásával kapcsolatos további részletekért lásd: Használati tervek készítése és használata API-kulcsokkal. Ezután hozzáadhatja ezeket az API-kulcsokat további bejegyzésekként a DynamoDB táblában.
Tisztítsuk meg
A jövőbeni költségek elkerülése érdekében tisztítsa meg a CloudFormation verem részeként létrehozott erőforrásokat:
- Az AWS CloudFormation konzolon navigáljon a létrehozott veremhez.
- Válassza ki a köteget, és válassza ki Verem törlése.
A verem törlése eltarthat egy ideig. A folyamatot nyomon követheti a Események lapon. Amikor a törlés befejeződött, a verem állapota erről változik DELETE_IN_PROGRESS
nak nek DELETE_COMPLETE
. Ezután eltűnik a listáról.
Szempontok
A megoldás használatakor vegye figyelembe a következőket:
- Az API-hívások ehhez a megoldáshoz lassabbak, mint az Amazon Translate API közvetlen hívása. Ennek az az oka, hogy a megoldás további üzleti logikát valósít meg és további szolgáltatásokat (API Gateway és Lambda) használ.
- Kérjük, vegye figyelembe az Amazon Translate-t szolgáltatási korlátok szinkron valós idejű fordításhoz és egyedi terminológiai fájlokhoz.
- Ez a megoldás egy API-kulcs segítségével történő API-k feltárására összpontosít. Ha ezt éles környezetbe kívánja vinni, először fontolja meg a nyílt iparági szabványokat (például OIDC) használó hitelesítési mechanizmust a kérés hitelesítéséhez. További információkért lásd: Több bérlős API-k kezelése Amazon API Gateway használatával.
Következtetés
Ebben a bejegyzésben bemutattuk, milyen egyszerű a valós idejű fordítás végrehajtása, az egyéni terminológiai fájlok feltöltése és az egyéni fordítások elvégzése az Amazon Translate alkalmazásban a natív API-k használatával, és létrehoztunk egy megoldást az API Gateway segítségével történő testreszabás támogatására.
A megoldást kibővítheti olyan testreszabásokkal, amelyek megfelelnek üzleti igényeinek. Például további funkciókat biztosíthat, mint pl Aktív egyéni fordítás párhuzamos adatokat használ egy másik API-kulcson keresztül, vagy hozzon létre egy gyorsítótárazási réteget ezzel a megoldással, hogy tovább csökkentse a fordítások költségeit, és kiszolgálja a gyakran használt fordításokat a gyorsítótárból. Az API-szabályozást és a sebességkorlátozást a lehetőség kihasználásával engedélyezheti API Gateway funkciók. A lehetőségek végtelenek, és szeretnénk hallani, hogyan emeli ezt a megoldást a következő szintre szervezete számára egy AWS Vegye fel velünk a kapcsolatot kérés. A megoldás testreszabását a következő oldalon kezdheti el GitHub repo ehhez a bloghoz.
Az Amazon Translate szolgáltatással kapcsolatos további információkért látogasson el a webhelyre Amazon Translate források videóforrások és blogbejegyzések megtalálásához, valamint hivatkozásra Az Amazon Translate GYIK. Ha még nem ismeri az Amazon Translate szolgáltatást, próbálja ki a Ingyenes szint, amely havonta akár 2 millió karaktert kínál ingyenesen az első 12 hónapban, az első fordítási kéréstől kezdve.
A szerzőről
Fahad Ahmed az Amazon Web Services (AWS) megoldástervezője, és az Egyesült Királyságban működő digitális natív vállalkozásokat gondozza. Több mint 17 éves tapasztalattal rendelkezik szoftveralkalmazások építésében és tervezésében. A közelmúltban új szenvedélyt talált az AI-szolgáltatások tömegek számára való hozzáférhetővé tételében.
- Haladó (300)
- AI
- ai művészet
- ai art generátor
- van egy robotod
- Amazon Translate
- mesterséges intelligencia
- mesterséges intelligencia tanúsítás
- mesterséges intelligencia a bankszektorban
- mesterséges intelligencia robot
- mesterséges intelligencia robotok
- mesterséges intelligencia szoftver
- AWS gépi tanulás
- blockchain
- blokklánc konferencia ai
- coingenius
- társalgási mesterséges intelligencia
- kriptokonferencia ai
- dall's
- mély tanulás
- google azt
- gépi tanulás
- Plató
- plato ai
- Platón adatintelligencia
- Platón játék
- PlatoData
- platogaming
- skála ai
- szintaxis
- zephyrnet