האץ זרימות עבודה רב לשוניות עם פתרון תרגום הניתן להתאמה אישית שנבנה עם Amazon Translate PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

האץ זרימות עבודה רב לשוניות עם פתרון תרגום הניתן להתאמה אישית שנבנה עם Amazon Translate

ארגונים צריכים לעתים קרובות לתקשר ביעילות עם בסיס גדול של לקוחות, שותפים ובעלי עניין בכמה שפות שונות. הם צריכים לתרגם ולוקליזציה של תוכן כגון חומרים שיווקיים, נכסי תוכן מוצרים, מדריכים תפעוליים ומסמכים משפטיים. לכל יחידה עסקית בארגון עומסי עבודה שונים של תרגום ולעיתים קרובות מנהלת את דרישות התרגום והספקים שלה. בעוד שגישה מבוזרת זו עשויה להעניק ליחידות העסקיות אוטונומיה וגמישות בתרגום, קשה לארגונים לשמור על עקביות תרגום ברחבי הארגון.

אמזון תרגום הוא תרגום מכונה עצבית שירות המספק תרגום שפה מהיר, איכותי, זול וניתן להתאמה אישית. כיום, Amazon Translate תומכת בתרגום שפה ניתן להרחבה עבור למעלה מ-5,500 זיווגי שפות באצווה ובזמן אמת. ניתן להשתמש בו כדי לבנות פתרונות העונים על האתגר שעומד בפני ארגונים עם מספר יחידות עסקיות כאשר הם מחפשים דרכים להאיץ זרימות עבודה רב לשוניות עם תמיכה בהתאמה אישית.

לדוגמה, קבוצת BMW היו זקוקים לפתרון תרגום מאוחד כדי לעזור ליחידות העסקיות שלהם, כגון מכירות וייצור, להשתמש בטכנולוגיית תרגום בקנה מידה גדול ולהסיר בעיות תרגום שגוי נפוצות ברחבי הארגון. הפתרון שלהם עם אמזון תרגם מקטין את זמן התרגום ביותר מ-75% ובו זמנית נותן לכל יחידה עסקית את היכולת להתאים אישית את הפלט כדי לענות על דרישות התרגום הספציפיות שלה.

בפוסט זה בבלוג, אנו מדגימים כיצד לבנות פתרון תרגום מאוחד עם תכונות התאמה אישית באמצעות Amazon Translate ושירותי AWS אחרים. אנו גם נראה לך כיצד להתקין ולבדוק את הפתרון וכיצד תוכל לבנות פתרון תרגום הניתן להתאמה אישית וניתן להרחבה עבור משתמשים בהתאם לצרכי הלוקליזציה של המחלקה שלהם.

סקירת פתרונות

הפתרון משתמש בתכונות המקוריות של Amazon Translate כגון תרגום בזמן אמת, זיהוי שפת מקור אוטומטי ו מונחים מותאמים אישית. שימוש שער API של אמזון, תכונות אלה נחשפות כאחת פשוטה /translate ממשק API. מינוח מותאם אישית מאפשר לך להגדיר צמדי תרגום מותאמים אישית ספציפיים. כדי שהטרמינולוגיה המותאמת אישית תעבוד, עליך להעלות קובץ מינוח לאמזון טרנסלייט. לכן, API אחר /customterm חשוף.

הפתרון ממחיש שתי אפשרויות לתרגום: תרגום סטנדרטי ותרגום מותאם אישית (באמצעות תכונת המינוח המותאם אישית). עם זאת, אתה יכול לשנות את האפשרויות האלה לפי הצורך כדי להתאים לדרישות העסקיות שלך. צרכנים יכולים להשתמש באפשרויות אלה באמצעות שער API מפתחות API. כאשר בקשת תרגום מתקבלת על ידי ה-API, הוא מאמת את הבקשה (באמצעות AWS למבדה פונקציית authorizer) האם מפתח ה-API שסופק מורשה לבצע את סוג התרגום המבוקש. אנו משתמשים ב- אמזון דינמו טבלה לאחסון מידע מטא נתונים על צרכנים, הרשאות ומפתחות API.

פתרון זה מתאים לשלושה סוגי אישיות:

  • אישיות תרגום סטנדרטית - למשתמשים בתוך יחידה עסקית אין דרישות התאמה אישית. זה כולל אפשרויות ותכונות תרגום סטנדרטיות כגון זיהוי שפות אוטומטי של Amazon Translate.
  • אישיות תרגום מותאמת אישית – למשתמשים בתוך יחידה עסקית יש דרישות התאמה אישית. זה כולל את כל התכונות לתרגום סטנדרטי, כמו גם את היכולת להתאים אישית את התרגומים באמצעות קובץ מינוח מותאם אישית.
  • אישיות מנהל - תומך באפשרות התרגום המותאם אישית על ידי ניהול ההעלאה של קבצי מינוח מותאמים אישית אך אינו מסוגל לבצע קריאות API אחרות לתרגום.

התרשים הבא ממחיש את פתרון התרגום המרוכז עם ארכיטקטורת התאמה אישית.

עבור דמות תרגום המשתמש, התהליך כולל את הפעולות הבאות (הנתיב הכחול בתרשים הקודם):

1a. התקשר /translate API והעבירו את מפתח ה-API בכותרת ה-API. לחלופין, עבור דמות התרגום המותאמת אישית, המשתמש יכול לאפשר תרגום מותאם אישית על ידי העברת פרמטר אופציונלי של מחרוזת שאילתה (useCustomTerm).

2. API Gateway מאמת את מפתח ה-API.

3. הסמכה המותאמת אישית של Lambda נקראת לאמת את הפעולה לפיה מותר מפתח ה-API שסופק. לדוגמה, דמות תרגום רגילה לא יכולה לבקש תרגום מותאם אישית, או שמנהל מערכת לא יכול לבצע תרגום טקסט כלשהו.

4. הסמכה של Lambda מקבל את פרטי המשתמש מטבלת DynamoDB ומאמת מול מפתח ה-API שסופק.

5a. לאחר אימות, פונקציית Lambda נוספת (Translate) מופעלת כדי לקרוא ל-Amazon Translate API translate_text.

6a. הטקסט המתורגם מוחזר בתגובת ה-API.

דמות המנהל יכולה להעלות קובץ מינוח מותאם אישית שיכול לשמש את דמות התרגום המותאמת אישית על ידי קריאה ל- /customterm ממשק API. להלן שלבי זרימת העבודה (הנתיב הירוק בתרשים הקודם):

1b. התקשר /customterm API והעבירו את מפתח ה-API בכותרת ה-API.

2. API Gateway מאמת את מפתח ה-API.

3. הסמכה המותאמת אישית של Lambda נקראת לאמת את הפעולה לפיה מותר מפתח ה-API שסופק. לדוגמה, רק דמות מנהל יכולה להעלות קובצי מינוח מותאמים אישית.

4. הסמכה של Lambda מקבל את פרטי המשתמש מטבלת DynamoDB ומאמת מול מפתח ה-API שסופק.

5b. לאחר אימות מפתח ה-API, מופעלת פונקציית Lambda נוספת (העלאה) כדי לקרוא ל-Amazon Translate API import_terminology.

6b. קובץ המינוח המותאם אישית מועלה לאמזון 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 שנוצר על ידי המחסנית (EnterpriseTranslateAPI).
  7. בעד apiGatewayStageName, הזן את שם הסביבה עבור API Gateway (prod).
  8. בחרו הַבָּא.
  9. בדף הסקירה, בחר את תיבות הסימון כדי לאשר את היצירה של משאבי IAM. זה נדרש כדי לאפשר ל-CloudFormation ליצור תפקיד כדי להעניק גישה למשאבים הדרושים למחסנית ולתת שם למשאבים בצורה דינמית.
  10. בחרו צור ערימה.

אתה יכול לעקוב אחר התקדמות יצירת הערימה ב- אירועים לשונית. הערימה הושלמה כאשר מצב הערימה מופיע כ CREATE_COMPLETE.

הפריסה יוצרת את המשאבים הבאים (כולם עם קידומת EntTranslate):

  • API Gateway API עם שני משאבים בשם /customterm ו /translate, עם שלושה מפתחות API לייצג שתי פרסונות תרגום ופרסונת מנהל
  • טבלת DynamoDB עם שלושה פריטים שישקפו צרכן אחד עם שלושה תפקידים שונים (שלושה מפתחות API)
  • מספר פונקציות למבדה (באמצעות Python 3.9) לפי דיאגרמת הארכיטקטורה

לאחר פריסת המשאבים בחשבון שלך בענן AWS, תוכל לבדוק את הפתרון.

איסוף מפתחות 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. בחרו הוסף בקשה ב- Postman.
  2. הגדר את סוג השיטה כ POST.
  3. הזן את כתובת האתר להפעלת שער API מהכרטיסייה פלט של מחסנית CloudFormation הפרוסה.
  4. להוסיף /translate לנקודת הקצה של כתובת האתר.
  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. חיפוש אנכי. איי.

ה-API אמור לפעול בהצלחה ולהחזיר את הטקסט המתורגם ב- גוף קטע של אובייקט התגובה.

מבחן 2: תרגום מותאם אישית עם מינוח מותאם אישית

כדי לבדוק את פונקציונליות העלאת המונח המותאם אישית, אנו יוצרים תחילה בקשת PUT ב-Postman.

  1. בחרו הוסף בקשה ב- Postman.
  2. הגדר את סוג השיטה כ PUT.
  3. הזן את כתובת האתר להפעלת שער API.
  4. להוסיף /customterm לסוף כתובת האתר.
  5. על כותרות לשונית, הוסף מפתח כותרת חדש בשם x-api-key.
  6. הזן את ערך מפתח ה-API של מנהל המערכת (הועתק בשלב איסוף מפתחות ה-API).
  7. על גוף לשונית, שנה את הפורמט ל בינרי והעלה את קובץ ה-CSV של המונח המותאם אישית. קובץ CSV לדוגמה מסופק תחת /Resources תיקייה ב- GitHub repo.
  8. התקשר ל-API על ידי בחירה שילחו ולאמת את הפלט.
    האץ זרימות עבודה רב לשוניות עם פתרון תרגום הניתן להתאמה אישית שנבנה עם Amazon Translate PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
    ה-API אמור לפעול בהצלחה עם הודעה בקטע Body של אובייקט התגובה האומרת "מונח מותאם אישית הועלה בהצלחה"
  9. במסוף אמזון תרגם בחר מונחים מותאמים אישית בחלונית הניווט.
    צריך היה להעלות קובץ מינוח מותאם אישית והוא מוצג ברשימת המינוחים. תחביר שם הקובץ הוא מזהה הלקוח מטבלת DynamoDB עבור מפתח ה-API שנבחר ואחריו מחרוזת _customterm_1.האץ זרימות עבודה רב לשוניות עם פתרון תרגום הניתן להתאמה אישית שנבנה עם Amazon Translate PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
    שים לב שאם לא השתמשת במפתח ה-API של admin, המערכת לא תצליח להעלות את קובץ המונחים המותאם אישית. כעת אתה מוכן לבצע את התרגום המותאם אישית שלך.
  10. בחרו הוסף בקשה ב- Postman.
  11. הגדר את סוג השיטה כ POST.
  12. הזן את כתובת האתר להפעלת שער API.
  13. להוסיף /translate לנקודת הקצה של כתובת האתר.
  14. על כותרות לשונית, הוסף מפתח כותרת חדש בשם x-api-key.
  15. הזן את ערך מפתח ה-API הסטנדרטי.
  16. על גוף לשונית, הזן גוף JSON באופן הבא:
    {   "sourceText": "some text to translate",   "targetLanguage": "fr",   "sourceLanguage":"en"}

  17. על פרמס בכרטיסייה, הוסף פרמטר חדש של מחרוזת שאילתה בשם useCustomTerm עם ערך של 1.
  18. התקשר ל-API על ידי בחירה שילחו ואמת את הפלט. ה-API אמור להיכשל עם ההודעה "לא מורשה". הסיבה לכך היא שאתה מנסה לקרוא לתכונת תרגום מותאמת אישית באמצעות מפתח פרסונה API סטנדרטי.
  19. על כותרות בכרטיסייה, הזן את ערך מפתח ה-API המותאם אישית.
  20. הפעל את הבדיקה שוב, והיא אמורה להיות מסוגלת לתרגם באמצעות קובץ המינוח המותאם אישית.

תבחין גם שהפעם הטקסט המתורגם שומר את המילה "תרגם" מבלי לתרגם אותה (אם השתמשת בקובץ לדוגמה שסופק). זאת בשל העובדה שבקובץ המינוח המותאם אישית שהועלה בעבר יש את המילה "תרגם", מה שמרמז שהטרמינולוגיה המותאמת אישית שינה את הפלט הבסיסי מאמזון טרנסלייט.

מבחן 3: הוסף צרכנים נוספים ויחידות עסקיות

פתרון זה פרס צרכן אחד (customerA) עם שלושה מפתחות API שונים כחלק מפריסת המחסנית של CloudFormation. אתה יכול להוסיף צרכנים נוספים על ידי יצירת תוכנית שימוש חדשה ב-API Gateway ושיוך מפתחות API חדשים לתוכנית שימוש זו. לפרטים נוספים כיצד ליצור תוכניות שימוש ומפתחות API, עיין ב יצירה ושימוש בתוכניות שימוש עם מפתחות API. לאחר מכן תוכל להוסיף מפתחות API אלה כערכים נוספים בטבלת DynamoDB.

לנקות את

כדי להימנע מחיובים עתידיים, נקה את המשאבים שיצרת כחלק מחסנית CloudFormation:

  1. במסוף AWS CloudFormation, נווט אל המחסנית שיצרת.
  2. בחר את הערימה ובחר מחק ערימה.

המחיקה שלך עשויה לקחת זמן מה. אתה יכול לעקוב אחר ההתקדמות שלו ב- אירועים לשונית. כשהמחיקה תושלם, סטטוס המחסנית משתנה מ DELETE_IN_PROGRESS ל DELETE_COMPLETE. לאחר מכן הוא נעלם מהרשימה.

שיקולים

שקול את הדברים הבאים בעת שימוש בפתרון זה:

  • קריאות API לפתרון זה איטיות יותר מאשר קריאה ישירה ל-Amazon Translate API. הסיבה לכך היא שהפתרון מיישם לוגיקה עסקית נוספת ושימוש בשירותים נוספים (API Gateway ו- Lambda).
  • שימו לב ל-Amazon Translate מגבלות שירות לתרגום סינכרוני בזמן אמת וקבצי מינוח מותאמים אישית.
  • פתרון זה מתמקד בחשיפת API באמצעות מפתח API. אם אתה מתכנן לקחת את זה לסביבות ייצור, שקול מנגנון אימות המשתמש בתקני תעשייה פתוחים (כמו OIDC) כדי לאמת את הבקשה תחילה. למידע נוסף, עיין ב ניהול ממשקי API של ריבוי דיירים באמצעות Amazon API Gateway.

סיכום

בפוסט זה הדגמנו כמה קל לבצע תרגום בזמן אמת, להעלות קבצי מינוח מותאמים אישית ולבצע תרגום מותאם אישית באמזון Translate באמצעות ממשקי ה-API המקוריים שלה, ויצרנו פתרון לתמיכה בהתאמה אישית עם API Gateway.

אתה יכול להרחיב את הפתרון עם התאמות אישיות הרלוונטיות לדרישות העסקיות שלך. לדוגמה, אתה יכול לספק פונקציונליות נוספת כגון תרגום מותאם אישית פעיל שימוש בנתונים מקבילים דרך מפתח API אחר, או צור שכבת מטמון לעבודה עם פתרון זה כדי להפחית עוד יותר את עלות התרגומים ולהגיש תרגומים שנגישים אליהם לעתים קרובות ממטמון. אתה יכול להפעיל מצערת API והגבלת קצב על ידי ניצול היתרונות של תכונות שער API. האפשרויות הן אינסופיות, ונשמח לשמוע כיצד אתה לוקח את הפתרון הזה לשלב הבא עבור הארגון שלך על ידי שליחת AWS צור קשר בַּקָשָׁה. אתה יכול להתחיל להתאים אישית את הפתרון הזה על ידי מעבר אל GitHub ריפו עבור הבלוג הזה.

למידע נוסף על Amazon Translate, בקר משאבי תרגום של אמזון כדי למצוא משאבי וידאו ופוסטים בבלוג, וגם להתייחס אליהם שאלות נפוצות של Amazon Translate. אם אתה חדש ב-Amazon Translate, נסה זאת באמצעות ה שכבה חופשית, שמציע עד 2 מיליון תווים לחודש בחינם במשך 12 החודשים הראשונים, החל מבקשת התרגום הראשונה שלך.


על הסופר

האץ זרימות עבודה רב לשוניות עם פתרון תרגום הניתן להתאמה אישית שנבנה עם Amazon Translate PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.פאהד אחמד הוא אדריכל פתרונות בשירותי האינטרנט של אמזון (AWS) ודואג לעסקים דיגיטליים מקוריים בבריטניה. יש לו 17+ שנות ניסיון בבנייה ועיצוב אפליקציות תוכנה. לאחרונה הוא מצא תשוקה חדשה להנגיש שירותי AI להמונים.

בול זמן:

עוד מ למידת מכונות AWS