Viimastel aastatel on veebipõhistel haridusplatvormidel videopõhise õppe kasutuselevõtt ja nõudlus selle järele kasvanud, kuna see pakub õppijate kaasamiseks tõhusat vahendit. Rahvusvahelistele turgudele laienemiseks ning kultuuriliselt ja keeleliselt mitmekesise elanikkonnaga tegelemiseks soovivad ettevõtted mitmekesistada oma õppepakkumisi, lokaliseerides sisu mitmesse keelde. Need ettevõtted otsivad usaldusväärseid ja kulutõhusaid viise lokaliseerimise kasutusjuhtude lahendamiseks.
Sisu lokaliseerimine hõlmab peamiselt originaalhäälte tõlkimist uutesse keeltesse ja visuaalsete abivahendite (nt subtiitrid) lisamist. Traditsiooniliselt on see protsess kulukas, käsitsi ja võtab palju aega, sealhulgas lokaliseerimisspetsialistidega töötamine. Tänu AWS-i masinõppe (ML) teenustele nagu Amazoni transkribeerimine, Amazoni tõlgeja Amazon Polly, saate luua elujõulise ja kulutõhusa lokaliseerimislahenduse. Saate kasutada Amazon Transcribe'i, et luua oma olemasolevatest heli- ja videovoogudest transkriptsioon ja seejärel tõlkida see ärakiri Amazon Translate'i abil mitmesse keelde. Seejärel saate kasutada teksti kõneks muutmise teenust Amazon Polly, et teisendada tõlgitud tekst loomuliku kõlaga inimkõneks.
Lokaliseerimise järgmine samm on lisada sisule subtiitrid, mis võivad parandada juurdepääsetavust ja arusaamist ning aidata vaatajatel videoid paremini mõista. Subtiitrite loomine videosisule võib olla keeruline, kuna tõlgitud kõne ei ühti algse kõne ajastusega. Heli ja subtiitrite vaheline sünkroonimine on kriitilise tähtsusega ülesanne, kuna see võib vaatajaskonna teie sisust lahti ühendada, kui nad pole sünkroonis. Amazon Polly pakub sellele väljakutsele lahendust lubamise kaudu kõnemärgid, mille abil saate luua subtiitrite faili, mida saab genereeritud kõneväljundiga sünkroonida.
Selles postituses vaatame üle lokaliseerimislahenduse, mis kasutab AWS ML teenuseid, kus kasutame originaalset ingliskeelset videot ja teisendame selle hispaania keelde. Samuti keskendume kõnemärkide kasutamisele hispaaniakeelse sünkroonitud subtiitrite faili loomiseks.
Lahenduse ülevaade
Järgnev diagramm illustreerib lahenduse arhitektuuri.
Lahendus võtab sisendiks videofaili ja sihtkeele sätted ning kasutab videost transkriptsiooni loomiseks rakendust Amazon Transcribe. Seejärel kasutame ärakirja sihtkeelde tõlkimiseks Amazon Translate'i. Tõlgitud tekst antakse Amazon Polly sisendiks, et luua sihtkeeles helivoogu ja kõnemärke. Amazon Polly naaseb kõnemärgi väljund readega piiritletud JSON-voos, mis sisaldab selliseid välju nagu aeg, tüüp, algus, lõpp ja väärtus. Väärtus võib varieeruda olenevalt sisendis taotletava kõnemärgi tüübist, näiteks SSML, viseme, sõna või lause. Meie näite jaoks taotlesime kõnemärgi tüüp as word
. Selle valikuga jagab Amazon Polly lause üksikuteks sõnadeks lauses ning nende algus- ja lõpuajaks helivoos. Nende metaandmete abil töödeldakse seejärel kõnemärke, et luua Amazon Polly loodud vastava helivoo subtiitrid.
Lõpuks kasutame AWS Elemental MediaConvert lõpliku video renderdamiseks koos tõlgitud heli ja vastavate subtiitritega.
Järgmine video näitab lahenduse lõpptulemust:
AWS-i sammufunktsioonide töövoog
Me kasutame AWS-i astmefunktsioonid selle protsessi korraldamiseks. Järgmisel joonisel on kujutatud sammufunktsioonide töövoo kõrgetasemelist vaadet (mõned sammud on parema selguse huvides diagrammist välja jäetud).
Töövoo etapid on järgmised.
- Kasutaja laadib lähtevideofaili üles Amazoni lihtne salvestusteenus (Amazon S3) kopp.
- . S3 sündmuse teatis käivitab AWS Lambda funktsioon state_machine.py (pole diagrammil näidatud), mis kutsub esile astmefunktsioonide olekumasina.
- Esimene samm, Heli transkribeerimine, kutsub esile lambda funktsiooni transscribe.py, mis kasutab Amazon Transcribe'i, et genereerida lähtevideo helist transkriptsioon.
Järgmine näidiskood näitab, kuidas Amazon Transcribe'i abil transkriptsioonitööd luua Boto3 Pythoni SDK:
Pärast töö lõpetamist salvestatakse väljundfailid S3 ämbrisse ja protsess jätkub sisu tõlkimise järgmise sammuga.
- . Transkriptsiooni tõlkimine samm kutsub esile lambda funktsiooni translate.py mis kasutab Amazoni tõlget, et tõlkida ärakiri sihtkeelde. Siin kasutame sünkroonset/reaalajas tõlget, kasutades translate_text funktsioon:
Sünkroontõlkel on tõlgitava dokumendi suuruse piirangud; selle kirjutamise seisuga on see seatud 5,000 baiti. Suuremate dokumentide puhul kaaluge töö loomiseks asünkroonse marsruudi kasutamist algus_teksti_tõlketöö ja oleku kontrollimine kaudu kirjelda_teksti_tõlke_tööd.
- Järgmine samm on astmefunktsioonid Parallel olek, kus loome oma olekumasinas paralleelsed harud.
- Esimeses harus kutsume välja Lambda funktsiooni Lambda funktsiooni gener_polly_audio.py meie Amazon Polly helivoo loomiseks:
Siin kasutame start_speech_synthesis_task Amazon Polly Python SDK meetod, et käivitada kõnesünteesi ülesanne, mis loob Amazon Polly heli. Panime paika
OutputFormat
etmp3
, mis käsib Amazon Pollyl selle API-kõne jaoks helivoogu genereerida. - Teises harus kutsume esile lambda funktsiooni gener_speech_marks.py kõnemärkide väljundi genereerimiseks:
- Esimeses harus kutsume välja Lambda funktsiooni Lambda funktsiooni gener_polly_audio.py meie Amazon Polly helivoo loomiseks:
- Me kasutame taas start_speech_synthesis_task meetod, kuid täpsustage
OutputFormat
etjson
, mis käsib Amazon Pollyl selle API-kõne jaoks kõnemärgid genereerida.
Teise haru järgmises etapis kutsume välja lambda funktsiooni gener_subtitles.py, mis rakendab kõnemärkide väljundist subtiitrite faili genereerimise loogikat.
See kasutab failis Pythoni moodulit webvtt_utils.py. Sellel moodulil on subtiitrite faili loomiseks mitu utiliidi funktsiooni; üks selline meetod get_phrases_from_speechmarks
vastutab kõnemärkide faili sõelumise eest. Kõnemärkide JSON-i struktuur pakub iga sõna jaoks eraldi algusaega. SRT-faili jaoks vajaliku subtiitrite ajastuse loomiseks loome esmalt kõnemärkide faili sõnade loendist umbes n-sõnalised fraasid (kus n=10). Seejärel kirjutame need SRT-failivormingusse, võttes algusaja fraasi esimesest sõnast ja lõpuaja jaoks kasutame (n+1) sõna algusaega ja lahutame selle 1-ga, et luua järjestatud kirje. . Järgmine funktsioon loob fraasid nende SRT-faili kirjutamise ettevalmistamiseks:
- Viimane samm, Meedia Convert, kutsub esile lambda funktsiooni create_mediaconvert_job.py ühendada Amazon Polly helivoog ja subtiitrite fail lähtevideofailiga, et genereerida lõplik väljundfail, mis seejärel salvestatakse S3 ämbrisse. See samm kasutab
MediaConvert
, failipõhine video ümberkodeerimise teenus, millel on leviedastustaseme funktsioonid. See võimaldab teil hõlpsalt luua tellitavat videosisu ning ühendab täiustatud video- ja helivõimalused lihtsa veebiliidesega. Siin kasutame taas Pythonit Boto3 SDK loomiseks aMediaConvert
töökoht:
Eeldused
Enne alustamist peavad teil olema järgmised eeltingimused:
Rakendage lahendus
Lahenduse juurutamiseks AWS CDK abil toimige järgmiselt.
- Kloonige Hoidla:
- Veendumaks, et AWS CDK on alglaaditud, käivitage käsk
cdk bootstrap
hoidla juurest: - Muutke töökataloog hoidla juureks ja käivitage järgmine käsk:
Vaikimisi on sihtheli seaded seatud USA hispaania keelele (es-US
). Kui kavatsete seda testida mõne muu sihtkeelega, kasutage järgmist käsku:
Protsessi lõpuleviimiseks kulub mõni minut, pärast mida kuvatakse link, mida saate kasutada sihtvideofaili vaatamiseks koos tõlgitud heli ja tõlgitud subtiitritega.
Testige lahendust
Selle lahenduse testimiseks kasutasime väikest osa järgnevast AWS re:Invent 2017 video YouTube'ist, kus Amazon Transcribe esmakordselt tutvustati. Lahendust saab testida ka oma videoga. Meie testvideo originaalkeel on inglise keel. Selle lahenduse juurutamisel saate määrata sihthelisätted või kasutada sihtheli vaikesätteid, mis kasutavad heli ja subtiitrite loomiseks hispaania keelt. Lahendus loob S3 ämbri, kuhu saab videofaili üles laadida.
- Navigeerige Amazon S3 konsoolis ämbrisse
PollyBlogBucket
. - Valige ämber, liikuge jaotisse
/inputVideo
kataloogi ja laadige üles videofail (lahendust testitakse mp4 tüüpi videotega). Sel hetkel käivitab S3 sündmuse teatis lambda funktsiooni, mis käivitab olekumasina. - Sirvige sammufunktsioonide konsoolil olekumasin (
ProcessAudioWithSubtitles
). - Valige üks olekumasina käitamistest, et leida Graafiku inspektor.
See näitab iga osariigi käitamise tulemusi. Step Functions töövoo lõpuleviimiseks kulub mõni minut, pärast mida saate kontrollida, kas kõik sammud on edukalt lõpule viidud.
Vaadake väljund üle
Väljundi ülevaatamiseks avage Amazon S3 konsool ja kontrollige, kas helifail (.mp3) ja kõnemärgifail (.marks) on salvestatud all olevasse S3 ämbrisse. <ROOT_S3_BUCKET>/<UID>/synthesisOutput/
.
Järgmine on tõlgitud tekstist genereeritud kõnemärgifaili näidis:
Selles väljundis on iga tekstiosa jaotatud kõnemärkide järgi:
- aeg – ajatempel millisekundites vastava helivoo algusest
- tüüp - kõnemärgi tüüp (lause, sõna, viseem või SSML)
- algus – Sisendteksti objekti alguse nihe baitides (mitte tähemärkides) (ei sisalda viseemimärke)
- lõpp – Objekti lõpu nihe baitides (mitte tähemärkides) sisendtekstis (ei sisalda viseemimärke)
- väärtus – üksikud sõnad lauses
Loodud subtiitrite fail kirjutatakse tagasi S3 ämbrisse. Faili leiate alt <ROOT_S3_BUCKET>/<UID>/subtitlesOutput/
. Kontrollige subtiitrite faili; sisu peaks olema sarnane järgmise tekstiga:
Pärast subtiitrite faili ja helifaili loomist luuakse MediaConverti abil lõplik lähtevideofail. Kontrollige MediaConverti konsooli, et kontrollida, kas töö olek on COMPLETE
.
Kui MediaConvert töö on lõpetatud, genereeritakse lõplik videofail ja salvestatakse see tagasi S3 ämbrisse, mille leiate <ROOT_S3_BUCKET>/<UID>/convertedAV/
.
Selle juurutamise osana levitatakse lõplikku videot rakenduse kaudu Amazon CloudFront (CDN) link ja kuvatakse terminalis või AWS CloudFormation konsooli.
Avage URL brauseris, et vaadata originaalvideot koos heli ja subtiitrite lisavalikutega. Saate kontrollida, kas tõlgitud heli ja subtiitrid on sünkroonis.
Järeldus
Selles postituses arutasime, kuidas luua videofailidest uusi keeleversioone ilma käsitsi sekkumiseta. Sisuloojad saavad seda protsessi kasutada oma videote heli ja subtiitrite sünkroonimiseks ning ülemaailmse vaatajaskonnani jõudmiseks.
Saate hõlpsasti integreerida selle lähenemisviisi oma tootmistorudesse, et hallata suuri mahtusid ja mastaapi vastavalt oma vajadustele. Amazon Polly kasutab Neuraalne TTS (NTTS) luua loomulikke ja inimlikke tekst-kõneks muutvaid hääli. Samuti toetab kõne genereerimine SSML-ist, mis annab teile täiendava kontrolli selle üle, kuidas Amazon Polly esitatud tekstist kõnet genereerib. Amazon Polly pakub ka a mitmesuguseid erinevaid hääli mitmes keeles, et toetada teie vajadusi.
Alustage AWS-i masinõppeteenustega, külastades veebilehte Toote lehtvõi viidake Amazoni masinõppelahenduste labor leht, kus saate teha koostööd ekspertidega, et tuua oma organisatsiooni masinõppelahendusi.
Lisaressursid
Selles lahenduses kasutatavate teenuste kohta lisateabe saamiseks vaadake järgmist.
Autoritest
Reagan Rosario töötab lahenduste arhitektina AWSis, keskendudes haridustehnoloogia ettevõtetele. Talle meeldib aidata klientidel luua AWS-i pilves skaleeritavaid, väga kättesaadavaid ja turvalisi lahendusi. Tal on rohkem kui kümneaastane töökogemus erinevates tehnoloogiaalastes rollides, keskendudes tarkvaratehnikale ja arhitektuurile.
Anil Kodali on Amazon Web Servicesi lahenduste arhitekt. Ta töötab AWS EdTechi klientidega, juhendades neid parimate arhitektuuriliste tavadega olemasolevate töökoormuste pilve üleviimiseks ja uute töökoormuste kujundamiseks pilvepõhise lähenemisviisiga. Enne AWS-iga liitumist töötas ta suurte jaemüüjatega, et aidata neil pilve migratsioonil.
Prasanna Saraswathi Krishnan on Amazon Web Servicesi lahenduste arhitekt, kes töötab EdTechi klientidega. Ta aitab neil parimaid tavasid kasutades juhtida oma pilvearhitektuuri ja andmestrateegiat. Tema taust on hajutatud andmetöötlus, suurandmete analüütika ja andmetehnika. Ta on kirglik masinõppe ja loomuliku keele töötlemise vastu.
- AI
- ai kunst
- ai kunsti generaator
- on robot
- Amazon ML Solutions Lab
- Amazon Polly
- Amazoni transkribeerimine
- Amazoni tõlge
- tehisintellekti
- tehisintellekti sertifikaat
- tehisintellekt panganduses
- tehisintellekti robot
- tehisintellekti robotid
- tehisintellekti tarkvara
- AWS-i masinõpe
- blockchain
- plokiahela konverents ai
- coingenius
- vestluslik tehisintellekt
- krüptokonverents ai
- dall's
- sügav õpe
- google ai
- masinõpe
- Platon
- plato ai
- Platoni andmete intelligentsus
- Platoni mäng
- PlatoData
- platogaming
- skaala ai
- süntaks
- sephyrnet