Τα τελευταία χρόνια, οι διαδικτυακές πλατφόρμες εκπαίδευσης έχουν δει μια αύξηση στην υιοθέτηση και μια αύξηση της ζήτησης για εκμάθηση που βασίζεται σε βίντεο, επειδή προσφέρει ένα αποτελεσματικό μέσο για να προσελκύσουν τους μαθητές. Για να επεκταθούν στις διεθνείς αγορές και να απευθυνθούν σε έναν πολιτιστικά και γλωσσικά ποικιλόμορφο πληθυσμό, οι επιχειρήσεις εξετάζουν επίσης τη διαφοροποίηση των μαθησιακών τους προσφορών τοπικοποιώντας το περιεχόμενο σε πολλές γλώσσες. Αυτές οι επιχειρήσεις αναζητούν αξιόπιστους και οικονομικά αποδοτικούς τρόπους για να λύσουν τις περιπτώσεις χρήσης τοπικής προσαρμογής.
Η τοπική προσαρμογή περιεχομένου περιλαμβάνει κυρίως τη μετάφραση πρωτότυπων φωνών σε νέες γλώσσες και την προσθήκη οπτικών βοηθημάτων, όπως υπότιτλων. Παραδοσιακά, αυτή η διαδικασία είναι απαγορευτική από πλευράς κόστους, χειροκίνητη και απαιτεί πολύ χρόνο, συμπεριλαμβανομένης της συνεργασίας με ειδικούς εντοπισμού. Με τη δύναμη των υπηρεσιών μηχανικής εκμάθησης AWS (ML) όπως π.χ Μεταγραφή Amazon, Amazon Μετάφραση, να Amazon Polly, μπορείτε να δημιουργήσετε μια βιώσιμη και οικονομικά αποδοτική λύση εντοπισμού. Μπορείτε να χρησιμοποιήσετε το Amazon Transcript για να δημιουργήσετε μια μεταγραφή των υπαρχουσών ροών ήχου και βίντεο και, στη συνέχεια, να μεταφράσετε αυτήν τη μεταγραφή σε πολλές γλώσσες χρησιμοποιώντας το Amazon Translate. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το Amazon Polly, μια υπηρεσία μετατροπής κειμένου σε ομιλία, για να μετατρέψετε το μεταφρασμένο κείμενο σε ανθρώπινη ομιλία με φυσικό ήχο.
Το επόμενο βήμα της τοπικής προσαρμογής είναι να προσθέσετε υπότιτλους στο περιεχόμενο, οι οποίοι μπορούν να βελτιώσουν την προσβασιμότητα και την κατανόηση και να βοηθήσουν τους θεατές να κατανοήσουν καλύτερα τα βίντεο. Η δημιουργία υποτίτλων σε περιεχόμενο βίντεο μπορεί να είναι δύσκολη, επειδή η μεταφρασμένη ομιλία δεν ταιριάζει με τον αρχικό χρόνο ομιλίας. Αυτός ο συγχρονισμός μεταξύ ήχου και υποτίτλων είναι μια κρίσιμη εργασία που πρέπει να λάβετε υπόψη, επειδή μπορεί να αποσυνδέσει το κοινό από το περιεχόμενό σας εάν δεν είναι συγχρονισμένο. Το Amazon Polly προσφέρει μια λύση σε αυτήν την πρόκληση μέσω της ενεργοποίησης σημάδια ομιλίας, το οποίο μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε ένα αρχείο υπότιτλων που μπορεί να συγχρονιστεί με την έξοδο ομιλίας που δημιουργείται.
Σε αυτήν την ανάρτηση, εξετάζουμε μια λύση τοπικής προσαρμογής χρησιμοποιώντας υπηρεσίες AWS ML, όπου χρησιμοποιούμε ένα πρωτότυπο αγγλικό βίντεο και το μετατρέπουμε στα ισπανικά. Εστιάζουμε επίσης στη χρήση σημαδιών ομιλίας για τη δημιουργία ενός συγχρονισμένου αρχείου υπότιτλων στα ισπανικά.
Επισκόπηση λύσεων
Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσεων.
Η λύση παίρνει ως είσοδο ένα αρχείο βίντεο και τις ρυθμίσεις γλώσσας προορισμού και χρησιμοποιεί το Amazon Transcribe για να δημιουργήσει μια μεταγραφή του βίντεο. Στη συνέχεια χρησιμοποιούμε το Amazon Translate για να μεταφράσουμε τη μεταγραφή στη γλώσσα-στόχο. Το μεταφρασμένο κείμενο παρέχεται ως είσοδος στο Amazon Polly για να δημιουργήσει τη ροή ήχου και τα σημάδια ομιλίας στη γλώσσα-στόχο. Η Amazon Polly επιστρέφει Έξοδος σήμανσης ομιλίας σε μια ροή JSON οριοθετημένης γραμμής, η οποία περιέχει τα πεδία όπως ώρα, τύπος, αρχή, τέλος και τιμή. Η τιμή μπορεί να διαφέρει ανάλογα με τον τύπο της ένδειξης ομιλίας που ζητείται στην είσοδο, όπως π.χ SSML, viseme, λέξη ή πρόταση. Για τους σκοπούς του παραδείγματός μας, ζητήσαμε το τύπος ομιλίας as word
. Με αυτήν την επιλογή, το Amazon Polly χωρίζει μια πρόταση σε μεμονωμένες λέξεις στην πρόταση και τους χρόνους έναρξης και λήξης στη ροή ήχου. Με αυτά τα μεταδεδομένα, τα σημάδια ομιλίας υποβάλλονται σε επεξεργασία για να δημιουργηθούν οι υπότιτλοι για την αντίστοιχη ροή ήχου που δημιουργείται από το Amazon Polly.
Τέλος, χρησιμοποιούμε AWS Elemental MediaConvert για απόδοση του τελικού βίντεο με τον μεταφρασμένο ήχο και τους αντίστοιχους υπότιτλους.
Το παρακάτω βίντεο δείχνει το τελικό αποτέλεσμα της λύσης:
Ροή εργασιών AWS Step Functions
Χρησιμοποιούμε Λειτουργίες βημάτων AWS να ενορχηστρώσει αυτή τη διαδικασία. Το παρακάτω σχήμα δείχνει μια προβολή υψηλού επιπέδου της ροής εργασιών Step Functions (ορισμένα βήματα παραλείπονται από το διάγραμμα για καλύτερη σαφήνεια).
Τα βήματα της ροής εργασιών είναι τα εξής:
- Ένας χρήστης ανεβάζει το αρχείο προέλευσης βίντεο σε ένα Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) κάδος.
- Η Ειδοποίηση συμβάντος S3 πυροδοτεί το AWS Lambda λειτουργία state_machine.py (δεν φαίνεται στο διάγραμμα), το οποίο καλεί τη μηχανή κατάστασης Βήμα Λειτουργίες.
- Το πρώτο βήμα, Μεταγραφή ήχου, καλεί τη συνάρτηση Λάμδα transcribe.py, το οποίο χρησιμοποιεί το Amazon Transcribe για να δημιουργήσει μια μεταγραφή του ήχου από το βίντεο πηγής.
Το ακόλουθο δείγμα κώδικα δείχνει πώς να δημιουργήσετε μια εργασία μεταγραφής χρησιμοποιώντας το Amazon Transcript Boto3 Python SDK:
Αφού ολοκληρωθεί η εργασία, τα αρχεία εξόδου αποθηκεύονται στον κάδο S3 και η διαδικασία συνεχίζεται στο επόμενο βήμα της μετάφρασης του περιεχομένου.
- Η Μετάφραση μεταγραφής Το βήμα καλεί τη συνάρτηση Λάμδα translate.py που χρησιμοποιεί το Amazon Translate για να μεταφράσει τη μεταγραφή στη γλώσσα-στόχο. Εδώ, χρησιμοποιούμε τη σύγχρονη μετάφραση σε πραγματικό χρόνο χρησιμοποιώντας το translate_text λειτουργία:
Η σύγχρονη μετάφραση έχει όρια στο μέγεθος του εγγράφου που μπορεί να μεταφράσει. από τη στιγμή που γράφεται αυτό, έχει οριστεί στα 5,000 byte. Για μεγαλύτερα μεγέθη εγγράφων, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε μια ασύγχρονη διαδρομή δημιουργίας της εργασίας χρησιμοποιώντας start_text_translation_job και έλεγχος της κατάστασης μέσω describe_text_translation_job.
- Το επόμενο βήμα είναι οι Λειτουργίες Βήματος Παράλληλο κατάσταση, όπου δημιουργούμε παράλληλους κλάδους στην κρατική μας μηχανή.
- Στον πρώτο κλάδο, καλούμε τη συνάρτηση Λάμδα τη συνάρτηση Λάμδα generate_polly_audio.py για να δημιουργήσετε τη ροή ήχου Amazon Polly:
Εδώ χρησιμοποιούμε το start_speech_synthesis_task μέθοδος του Amazon Polly Python SDK για την ενεργοποίηση της εργασίας σύνθεσης ομιλίας που δημιουργεί τον ήχο Amazon Polly. Ρυθμίσαμε το
OutputFormat
προς τηνmp3
, το οποίο λέει στο Amazon Polly να δημιουργήσει μια ροή ήχου για αυτήν την κλήση API. - Στον δεύτερο κλάδο, καλούμε τη συνάρτηση Λάμδα generate_speech_marks.py για τη δημιουργία εξόδου σημαδιών ομιλίας:
- Στον πρώτο κλάδο, καλούμε τη συνάρτηση Λάμδα τη συνάρτηση Λάμδα generate_polly_audio.py για να δημιουργήσετε τη ροή ήχου Amazon Polly:
- Χρησιμοποιούμε ξανά το start_speech_synthesis_task μέθοδο αλλά διευκρινίστε
OutputFormat
προς τηνjson
, το οποίο λέει στο Amazon Polly να δημιουργήσει σημάδια ομιλίας για αυτήν την κλήση API.
Στο επόμενο βήμα του δεύτερου κλάδου, καλούμε τη συνάρτηση Λάμδα generate_subtitles.py, το οποίο εφαρμόζει τη λογική για τη δημιουργία ενός αρχείου υποτίτλων από την έξοδο σημείων ομιλίας.
Χρησιμοποιεί τη λειτουργική μονάδα Python στο αρχείο webvtt_utils.py. Αυτή η ενότητα έχει πολλαπλές βοηθητικές λειτουργίες για τη δημιουργία του αρχείου υποτίτλων. μια τέτοια μέθοδος get_phrases_from_speechmarks
είναι υπεύθυνος για την ανάλυση του αρχείου σημείων ομιλίας. Η δομή JSON σημάτων ομιλίας παρέχει μόνο την ώρα έναρξης για κάθε λέξη ξεχωριστά. Για να δημιουργήσουμε τον χρονισμό των υποτίτλων που απαιτείται για το αρχείο SRT, δημιουργούμε πρώτα φράσεις περίπου n (όπου n=10) λέξεις από τη λίστα λέξεων στο αρχείο σημείων ομιλίας. Στη συνέχεια τα γράφουμε στη μορφή αρχείου SRT, παίρνοντας την ώρα έναρξης από την πρώτη λέξη της φράσης, και για την ώρα λήξης χρησιμοποιούμε την ώρα έναρξης της λέξης (n+1) και την αφαιρούμε κατά 1 για να δημιουργήσουμε την καταχώρηση με ακολουθία . Η ακόλουθη συνάρτηση δημιουργεί τις φράσεις κατά την προετοιμασία για την εγγραφή τους στο αρχείο SRT:
- Το τελευταίο βήμα, Μετατροπή Media, καλεί τη συνάρτηση Λάμδα create_mediaconvert_job.py για να συνδυάσετε τη ροή ήχου από το Amazon Polly και το αρχείο υποτίτλων με το αρχείο προέλευσης βίντεο για να δημιουργήσετε το τελικό αρχείο εξόδου, το οποίο στη συνέχεια αποθηκεύεται σε έναν κάδο S3. Αυτό το βήμα χρησιμοποιεί
MediaConvert
, μια υπηρεσία διακωδικοποίησης βίντεο που βασίζεται σε αρχεία με δυνατότητες βαθμού εκπομπής. Σας επιτρέπει να δημιουργείτε εύκολα περιεχόμενο βίντεο κατά παραγγελία και συνδυάζει προηγμένες δυνατότητες βίντεο και ήχου με μια απλή διεπαφή ιστού. Εδώ πάλι χρησιμοποιούμε την Python Boto3 SDK για τη δημιουργία ενόςMediaConvert
δουλειά:
Προϋποθέσεις
Πριν ξεκινήσετε, πρέπει να έχετε τις ακόλουθες προϋποθέσεις:
Αναπτύξτε τη λύση
Για να αναπτύξετε τη λύση χρησιμοποιώντας το AWS CDK, ολοκληρώστε τα παρακάτω βήματα:
- Κλωνοποιήστε το Αποθήκη:
- Για να βεβαιωθείτε ότι το AWS CDK είναι μπότες, εκτελέστε την εντολή
cdk bootstrap
από τη ρίζα του αποθετηρίου: - Αλλάξτε τον κατάλογο εργασίας στη ρίζα του αποθετηρίου και εκτελέστε την ακόλουθη εντολή:
Από προεπιλογή, οι ρυθμίσεις ήχου προορισμού έχουν οριστεί σε US Spanish (es-US
). Εάν σκοπεύετε να το δοκιμάσετε με διαφορετική γλώσσα-στόχο, χρησιμοποιήστε την ακόλουθη εντολή:
Η διαδικασία διαρκεί λίγα λεπτά για να ολοκληρωθεί, μετά από τα οποία εμφανίζει έναν σύνδεσμο που μπορείτε να χρησιμοποιήσετε για να προβάλετε το αρχείο βίντεο προορισμού με τον μεταφρασμένο ήχο και τους μεταφρασμένους υπότιτλους.
Δοκιμάστε τη λύση
Για να δοκιμάσουμε αυτό το διάλυμα, χρησιμοποιήσαμε ένα μικρό μέρος από τα ακόλουθα Βίντεο AWS re:Invent 2017 από το YouTube, όπου πρωτοπαρουσιάστηκε το Amazon Transcribe. Μπορείτε επίσης να δοκιμάσετε τη λύση με το δικό σας βίντεο. Η αρχική γλώσσα του δοκιμαστικού μας βίντεο είναι τα Αγγλικά. Όταν αναπτύσσετε αυτήν τη λύση, μπορείτε να καθορίσετε τις στοχευόμενες ρυθμίσεις ήχου ή μπορείτε να χρησιμοποιήσετε τις προεπιλεγμένες ρυθμίσεις ήχου στόχου, οι οποίες χρησιμοποιούν ισπανικά για τη δημιουργία ήχου και υπότιτλων. Η λύση δημιουργεί έναν κάδο S3 που μπορεί να χρησιμοποιηθεί για τη μεταφόρτωση του αρχείου βίντεο.
- Στην κονσόλα Amazon S3, μεταβείτε στον κάδο
PollyBlogBucket
. - Επιλέξτε τον κάδο, πλοηγηθείτε στο
/inputVideo
κατάλογο, και ανεβάστε το αρχείο βίντεο (η λύση ελέγχεται με βίντεο τύπου mp4). Σε αυτό το σημείο, μια ειδοποίηση συμβάντος S3 ενεργοποιεί τη λειτουργία Lambda, η οποία εκκινεί το μηχάνημα κατάστασης. - Στην κονσόλα Step Functions, μεταβείτε στο μηχάνημα κατάστασης (
ProcessAudioWithSubtitles
). - Επιλέξτε μία από τις εκτελέσεις του μηχάνημα κατάστασης για να εντοπίσετε το Επιθεωρητής γραφήματος.
Αυτό δείχνει τα αποτελέσματα εκτέλεσης για κάθε κατάσταση. Η ροή εργασίας Βήμα Λειτουργίες διαρκεί λίγα λεπτά για να ολοκληρωθεί, μετά από τα οποία μπορείτε να επαληθεύσετε εάν όλα τα βήματα ολοκληρώθηκαν με επιτυχία.
Ελέγξτε την έξοδο
Για να ελέγξετε την έξοδο, ανοίξτε την κονσόλα Amazon S3 και ελέγξτε εάν το αρχείο ήχου (.mp3) και το αρχείο σήμανσης ομιλίας (.marks) είναι αποθηκευμένα στον κάδο S3 κάτω από <ROOT_S3_BUCKET>/<UID>/synthesisOutput/
.
Το παρακάτω είναι ένα δείγμα του αρχείου σήμανσης ομιλίας που δημιουργήθηκε από το μεταφρασμένο κείμενο:
Σε αυτήν την έξοδο, κάθε μέρος του κειμένου αναλύεται ως προς τα σημάδια ομιλίας:
- ώρα – Η χρονική σήμανση σε χιλιοστά του δευτερολέπτου από την αρχή της αντίστοιχης ροής ήχου
- τύπος – Ο τύπος του λόγου (πρόταση, λέξη, viseme ή SSML)
- Εκκίνηση – Η μετατόπιση σε byte (όχι χαρακτήρες) της αρχής του αντικειμένου στο κείμενο εισαγωγής (χωρίς τα σημάδια viseme)
- τέλος – Η μετατόπιση σε byte (όχι χαρακτήρες) του τέλους του αντικειμένου στο κείμενο εισαγωγής (χωρίς τα σημάδια viseme)
- αξία – Επιμέρους λέξεις στην πρόταση
Το αρχείο υποτίτλων που δημιουργείται γράφεται πίσω στον κάδο S3. Μπορείτε να βρείτε το αρχείο κάτω από <ROOT_S3_BUCKET>/<UID>/subtitlesOutput/
. Επιθεωρήστε το αρχείο υποτίτλων. το περιεχόμενο θα πρέπει να είναι παρόμοιο με το ακόλουθο κείμενο:
Αφού δημιουργηθεί το αρχείο υποτίτλων και το αρχείο ήχου, δημιουργείται το αρχείο βίντεο τελικής πηγής χρησιμοποιώντας το MediaConvert. Ελέγξτε την κονσόλα MediaConvert για να επαληθεύσετε εάν η κατάσταση της εργασίας είναι COMPLETE
.
Όταν ολοκληρωθεί η εργασία MediaConvert, δημιουργείται το τελικό αρχείο βίντεο και αποθηκεύεται πίσω στον κάδο S3, ο οποίος βρίσκεται στο <ROOT_S3_BUCKET>/<UID>/convertedAV/
.
Ως μέρος αυτής της ανάπτυξης, το τελικό βίντεο διανέμεται μέσω ενός Amazon CloudFront (CDN) και εμφανίζεται στο τερματικό ή στο AWS CloudFormation κονσόλα.
Ανοίξτε τη διεύθυνση URL σε ένα πρόγραμμα περιήγησης για να προβάλετε το αρχικό βίντεο με πρόσθετες επιλογές για ήχο και υπότιτλους. Μπορείτε να επαληθεύσετε ότι ο μεταφρασμένος ήχος και οι υπότιτλοι είναι συγχρονισμένοι.
Συμπέρασμα
Σε αυτήν την ανάρτηση, συζητήσαμε πώς να δημιουργήσετε νέες γλωσσικές εκδόσεις αρχείων βίντεο χωρίς την ανάγκη χειροκίνητης παρέμβασης. Οι δημιουργοί περιεχομένου μπορούν να χρησιμοποιήσουν αυτήν τη διαδικασία για να συγχρονίσουν τον ήχο και τους υπότιτλους των βίντεό τους και να προσεγγίσουν ένα παγκόσμιο κοινό.
Μπορείτε εύκολα να ενσωματώσετε αυτή την προσέγγιση στους δικούς σας αγωγούς παραγωγής για να χειριστείτε μεγάλους όγκους και κλίμακα ανάλογα με τις ανάγκες σας. χρησιμοποιεί το Amazon Polly Νευρικό TTS (NTTS) να παράγουν φυσικές και ανθρώπινες φωνές μετατροπής κειμένου σε ομιλία. Υποστηρίζει επίσης δημιουργία ομιλίας από SSML, το οποίο σας δίνει πρόσθετο έλεγχο στον τρόπο με τον οποίο το Amazon Polly δημιουργεί ομιλία από το παρεχόμενο κείμενο. Η Amazon Polly παρέχει επίσης α ποικιλία διαφορετικών φωνών σε πολλές γλώσσες για να υποστηρίξετε τις ανάγκες σας.
Ξεκινήστε με τις υπηρεσίες μηχανικής εκμάθησης AWS μεταβαίνοντας στο σελίδα του προϊόντος, ή ανατρέξτε στο Εργαστήριο Amazon Machine Learning Solutions σελίδα όπου μπορείτε να συνεργαστείτε με ειδικούς για να φέρετε λύσεις μηχανικής εκμάθησης στον οργανισμό σας.
Επιπρόσθετο υλικό
Για περισσότερες πληροφορίες σχετικά με τις υπηρεσίες που χρησιμοποιούνται σε αυτήν τη λύση, ανατρέξτε στα ακόλουθα:
Σχετικά με τους συγγραφείς
Ρέιγκαν Ροζάριο εργάζεται ως αρχιτέκτονας λύσεων στην AWS με επίκεντρο τις εταιρείες τεχνολογίας εκπαίδευσης. Του αρέσει να βοηθά τους πελάτες να δημιουργήσουν επεκτάσιμες, εξαιρετικά διαθέσιμες και ασφαλείς λύσεις στο AWS Cloud. Έχει πάνω από μια δεκαετία εμπειρίας σε διάφορους ρόλους τεχνολογίας, με έμφαση στη μηχανική λογισμικού και την αρχιτεκτονική.
Ανίλ Κόνταλι είναι αρχιτέκτονας λύσεων με τις υπηρεσίες Web της Amazon. Συνεργάζεται με πελάτες της AWS EdTech, καθοδηγώντας τους με βέλτιστες αρχιτεκτονικές πρακτικές για τη μετεγκατάσταση υφιστάμενων φόρτων εργασίας στο cloud και σχεδιάζοντας νέους φόρτους εργασίας με μια προσέγγιση που βασίζεται στο cloud. Πριν ενταχθεί στην AWS, συνεργάστηκε με μεγάλους λιανοπωλητές για να τους βοηθήσει με τις μετακινήσεις τους στο cloud.
Prasanna Saraswathi Krishnan είναι αρχιτέκτονας λύσεων με τις υπηρεσίες Web της Amazon που εργάζεται με πελάτες της EdTech. Τους βοηθά να οδηγήσουν την αρχιτεκτονική cloud και τη στρατηγική δεδομένων τους χρησιμοποιώντας βέλτιστες πρακτικές. Το υπόβαθρό του είναι στους κατανεμημένους υπολογιστές, στην ανάλυση μεγάλων δεδομένων και στη μηχανική δεδομένων. Είναι παθιασμένος με τη μηχανική μάθηση και την επεξεργασία φυσικής γλώσσας.
- AI
- αι τέχνη
- ι γεννήτρια τέχνης
- ρομπότ ai
- Εργαστήριο Amazon ML Solutions
- Amazon Polly
- Μεταγραφή Amazon
- Amazon Μετάφραση
- τεχνητή νοημοσύνη
- πιστοποίηση τεχνητής νοημοσύνης
- τεχνητή νοημοσύνη στον τραπεζικό τομέα
- ρομπότ τεχνητής νοημοσύνης
- ρομπότ τεχνητής νοημοσύνης
- λογισμικό τεχνητής νοημοσύνης
- Μηχανική εκμάθηση AWS
- blockchain
- συνέδριο blockchain ai
- Coingenius
- συνομιλητική τεχνητή νοημοσύνη
- κρυπτοσυνεδριο αι
- του νταλ
- βαθιά μάθηση
- έχεις google
- μάθηση μηχανής
- Πλάτων
- πλάτων αι
- Πληροφορία δεδομένων Plato
- Παιχνίδι Πλάτωνας
- Πλάτωνα δεδομένα
- platogaming
- κλίμακα αι
- σύνταξη
- zephyrnet