Ξεπεράστε τα γλωσσικά εμπόδια με το Amazon Transcribe, το Amazon Translate και το Amazon Polly PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ξεπεράστε τα γλωσσικά εμπόδια με το Amazon Transcribe, το Amazon Translate και το Amazon Polly

Φανταστείτε έναν χειρουργό να πραγματοποιεί βιντεοκλήσεις με ασθενείς σε όλο τον κόσμο χωρίς να χρειάζεται ανθρώπινο μεταφραστή. Τι θα γινόταν αν μια νέα startup μπορούσε εύκολα να επεκτείνει το προϊόν της πέρα ​​από τα σύνορα και σε νέες γεωγραφικές αγορές, προσφέροντας ρευστή, ακριβή, πολύγλωσση υποστήριξη πελατών και πωλήσεις, όλα αυτά χωρίς την ανάγκη ενός ζωντανού ανθρώπινου μεταφραστή; Τι συμβαίνει στην επιχείρησή σας όταν δεν δεσμεύεστε πλέον από τη γλώσσα;

Είναι σύνηθες σήμερα να πραγματοποιούνται εικονικές συναντήσεις με διεθνείς ομάδες και πελάτες που μιλούν πολλές διαφορετικές γλώσσες. Είτε πρόκειται για εσωτερικές είτε για εξωτερικές συναντήσεις, πράγμα που σημαίνει ότι συχνά χάνεται σε περίπλοκες συζητήσεις και μπορεί να συναντήσετε γλωσσικά εμπόδια που σας εμποδίζουν να είστε όσο πιο αποτελεσματικοί θα μπορούσατε.

Σε αυτήν την ανάρτηση, θα μάθετε πώς να χρησιμοποιείτε τρεις πλήρως διαχειριζόμενες υπηρεσίες AWS (Μεταγραφή Amazon, Amazon Μετάφραση, να Amazon Polly) για την παραγωγή μιας λύσης μεταφραστή ομιλίας σε ομιλία σχεδόν σε πραγματικό χρόνο που μπορεί να μεταφράσει γρήγορα τη ζωντανή φωνητική είσοδο ενός ομιλητή πηγής σε μια προφορική, ακριβή, μεταφρασμένη γλώσσα-στόχο, όλα με μηδενική εμπειρία μηχανικής εκμάθησης (ML).

Επισκόπηση της λύσης

Ο μεταφραστής μας αποτελείται από τρεις πλήρως διαχειριζόμενες υπηρεσίες AWS ML που συνεργάζονται σε ένα σενάριο Python χρησιμοποιώντας το AWS SDK για Python (Boto3) για τα τμήματα μετάφρασης κειμένου και μετατροπής κειμένου σε ομιλία και ένα SDK ασύγχρονης ροής για μεταγραφή εισόδου ήχου.

Amazon Transcribe: Ροή ομιλίας σε κείμενο

Η πρώτη υπηρεσία που χρησιμοποιείτε στη στοίβα μας είναι το Amazon Transcribe, μια πλήρως διαχειριζόμενη υπηρεσία ομιλίας σε κείμενο που λαμβάνει εισαγόμενη ομιλία και τη μεταγράφει σε κείμενο. Το Amazon Transcribe έχει ευέλικτες μεθόδους απορρόφησης, ομαδικής ή ροής, επειδή δέχεται είτε αποθηκευμένα αρχεία ήχου είτε ροή δεδομένων ήχου. Σε αυτήν την ανάρτηση, χρησιμοποιείτε το ασύγχρονο SDK ροής Amazon Transcribe για Python, το οποίο χρησιμοποιεί το πρωτόκολλο ροής HTTP/2 για τη ροή ζωντανού ήχου και τη λήψη ζωντανών μεταγραφών.

Όταν κατασκευάσαμε για πρώτη φορά αυτό το πρωτότυπο, η απορρόφηση ροής Amazon Transcribe δεν υποστήριζε τον αυτόματο εντοπισμό γλώσσας, αλλά αυτό δεν ισχύει πλέον από τον Νοέμβριο του 2021. Τόσο η απορρόφηση ομαδικής όσο και η ροή ροής υποστηρίζουν πλέον τον αυτόματο εντοπισμό γλώσσας για όλους υποστηριζόμενες γλώσσες. Σε αυτήν την ανάρτηση, δείχνουμε πώς είναι δυνατή μια λύση που βασίζεται σε παραμέτρους μέσω μιας απρόσκοπτης σχεδίασης χωρίς παραμέτρους πολλών γλωσσών μέσω της χρήσης αυτόματης ανίχνευσης γλώσσας ροής. Αφού επιστραφεί το μεταγραμμένο τμήμα ομιλίας μας ως κείμενο, στέλνετε ένα αίτημα στο Amazon Translate για μετάφραση και επιστροφή των αποτελεσμάτων στο Amazon Transcribe EventHandler μέθοδος.

Amazon Translate: Αιχμής, πλήρως διαχειριζόμενη μετάφραση API

Στη συνέχεια στη στοίβα μας είναι το Amazon Translate, μια υπηρεσία νευρωνικής μηχανικής μετάφρασης που παρέχει γρήγορη, υψηλής ποιότητας, προσιτή και προσαρμόσιμη μετάφραση γλώσσας. Από τον Ιούνιο του 2022, το Amazon Translate υποστηρίζει μετάφραση σε 75 γλώσσες, με νέα ζεύγη γλωσσών και βελτιώσεις που γίνονται συνεχώς. Το Amazon Translate χρησιμοποιεί μοντέλα βαθιάς εκμάθησης που φιλοξενούνται σε μια εξαιρετικά επεκτάσιμη και ανθεκτική αρχιτεκτονική AWS Cloud για να παρέχει γρήγορα ακριβείς μεταφράσεις είτε σε πραγματικό χρόνο είτε ομαδικά, ανάλογα με την περίπτωση χρήσης σας. Η χρήση του Amazon Translate είναι απλή και δεν απαιτεί διαχείριση της υποκείμενης αρχιτεκτονικής ή δεξιοτήτων ML. Το Amazon Translate έχει πολλές δυνατότητες, όπως δημιουργία και χρήση α προσαρμοσμένη ορολογία να χειριστεί τη χαρτογράφηση μεταξύ συγκεκριμένων όρων του κλάδου. Για περισσότερες πληροφορίες σχετικά με τα όρια υπηρεσιών Amazon Translate, ανατρέξτε στο Οδηγίες και όρια. Αφού η εφαρμογή λάβει το μεταφρασμένο κείμενο στη γλώσσα-στόχο μας, στέλνει το μεταφρασμένο κείμενο στο Amazon Polly για άμεση αναπαραγωγή μεταφρασμένου ήχου.

Amazon Polly: Πλήρως διαχειριζόμενο API μετατροπής κειμένου σε ομιλία

Τέλος, στέλνετε το μεταφρασμένο κείμενο στο Amazon Polly, μια πλήρως διαχειριζόμενη υπηρεσία μετατροπής κειμένου σε ομιλία που μπορεί είτε να στείλει ρεαλιστικές απαντήσεις κλιπ ήχου για άμεση αναπαραγωγή ροής είτε ομαδοποιημένες και αποθηκευμένες σε Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) για μελλοντική χρήση. Μπορείτε να ελέγξετε διάφορες πτυχές της ομιλίας, όπως την προφορά, την ένταση, τον τόνο, τον ρυθμό ομιλίας και άλλα χρησιμοποιώντας τυποποιημένα Γλώσσα σήμανσης σύνθεσης ομιλίας (SSML).

Μπορείτε να συνθέσετε ομιλία για συγκεκριμένο Amazon Polly Νευρικές φωνές χρησιμοποιώντας το στυλ Newscaster για να ακούγονται σαν παρουσιαστής ειδήσεων τηλεόρασης ή ραδιοφώνου. Μπορείτε επίσης να εντοπίσετε πότε εκφωνούνται συγκεκριμένες λέξεις ή προτάσεις στο κείμενο με βάση τα μεταδεδομένα που περιλαμβάνονται στη ροή ήχου. Αυτό επιτρέπει στον προγραμματιστή να συγχρονίζει γραφικές επισημάνσεις και κινούμενα σχέδια, όπως οι κινήσεις των χειλιών ενός avatar, με τη συνθετική ομιλία.

Μπορείτε να τροποποιήσετε την προφορά συγκεκριμένων λέξεων, όπως ονόματα εταιρειών, ακρωνύμια, ξένες λέξεις ή νεολογισμούς, για παράδειγμα «P!nk», «ROTFL» ή «C'est la vie» (όταν ομιλούνται σε μη γαλλικά φωνή), χρησιμοποιώντας προσαρμοσμένα λεξικά.

Επισκόπηση αρχιτεκτονικής

Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσεών μας.

Αυτό το διάγραμμα δείχνει τη ροή δεδομένων από τη συσκευή-πελάτη προς το Amazon Transcribe, το Amazon Translate και το Amazon Polly

Η ροή εργασίας έχει ως εξής:

  1. Ο ήχος απορροφάται από το Python SDK.
  2. Το Amazon Polly μετατρέπει την ομιλία σε κείμενο, σε 39 πιθανές γλώσσες.
  3. Το Amazon Translate μετατρέπει τις γλώσσες.
  4. Το Amazon Live Transcribe μετατρέπει κείμενο σε ομιλία.
  5. Ο ήχος εξάγεται στα ηχεία.

Προϋποθέσεις

Χρειάζεστε ένα κεντρικό μηχάνημα με μικρόφωνο, ηχεία και αξιόπιστη σύνδεση στο Διαδίκτυο. Ένας σύγχρονος φορητός υπολογιστής θα πρέπει να λειτουργεί καλά για αυτό γιατί δεν χρειάζεται πρόσθετο υλικό. Στη συνέχεια, πρέπει να ρυθμίσετε το μηχάνημα με ορισμένα εργαλεία λογισμικού.

Πρέπει να έχετε εγκαταστήσει την Python 3.7+ για να χρησιμοποιήσετε το ασύγχρονο SDK ροής Amazon Transcribe και για μια λειτουργική μονάδα Python που ονομάζεται pyaudio, το οποίο χρησιμοποιείτε για τον έλεγχο του μικροφώνου και των ηχείων του μηχανήματος. Αυτή η ενότητα εξαρτάται από μια βιβλιοθήκη C που ονομάζεται portaudio.h. Εάν αντιμετωπίσετε προβλήματα με pyaudio λάθη, προτείνουμε να ελέγξετε το λειτουργικό σας σύστημα για να δείτε εάν το έχετε portaudio.h εγκατεστημένη βιβλιοθήκη.

Για την εξουσιοδότηση και τον έλεγχο ταυτότητας των κλήσεων υπηρεσίας, δημιουργείτε ένα Διαχείριση ταυτότητας και πρόσβασης AWS ρόλος υπηρεσίας (IAM) με δικαιώματα κλήσης των απαραίτητων υπηρεσιών AWS. Με τη διαμόρφωση του Διεπαφή γραμμής εντολών AWS (AWS CLI) με αυτόν τον ρόλο υπηρεσίας IAM, μπορείτε να εκτελέσετε το σενάριό μας στον υπολογιστή σας χωρίς να χρειάζεται να μεταβιβάσετε κλειδιά ή κωδικούς πρόσβασης, επειδή οι βιβλιοθήκες AWS έχουν γραφτεί για να χρησιμοποιούν τα διαμορφωμένα διαπιστευτήρια του χρήστη AWS CLI. Αυτή είναι μια βολική μέθοδος για γρήγορη δημιουργία πρωτοτύπων και διασφαλίζει ότι οι υπηρεσίες μας καλούνται από μια εξουσιοδοτημένη ταυτότητα. Όπως πάντα, ακολουθήστε την αρχή του ελάχιστου προνομίου κατά την εκχώρηση πολιτικών IAM κατά τη δημιουργία ενός χρήστη ή ενός ρόλου IAM.

Για να συνοψίσουμε, χρειάζεστε τις ακόλουθες προϋποθέσεις:

  • Μηχάνημα υπολογιστή, Mac ή Linux με μικρόφωνο, ηχεία και σύνδεση στο διαδίκτυο
  • Η portaudio.h Βιβλιοθήκη C για το λειτουργικό σας σύστημα (brew, apt get, wget), που απαιτείται για να λειτουργήσει το pyaudio
  • AWS CLI 2.0 με κατάλληλα εξουσιοδοτημένο χρήστη IAM που έχει ρυθμιστεί εκτελώντας τη διαμόρφωση aws στο AWS CLI
  • Python 3.7+
  • Το ασύγχρονο Amazon Transcribe Python SDK
  • Οι παρακάτω βιβλιοθήκες Python:
    • boto3
    • amazon-transcribe
    • pyaudio
    • asyncio
    • concurrent

Εφαρμόστε τη λύση

Θα βασίζεστε σε μεγάλο βαθμό στο ασύγχρονο SDK ροής Amazon Transcribe για την Python ως σημείο εκκίνησης και πρόκειται να χτίσετε πάνω από αυτό το συγκεκριμένο SDK. Αφού πειραματιστείτε με το streaming SDK για Python, προσθέτετε μικρόφωνο ροής εισαγωγή με χρήση pyaudio, μια ευρέως χρησιμοποιούμενη βιβλιοθήκη ανοιχτού κώδικα Python που χρησιμοποιείται για τον χειρισμό δεδομένων ήχου. Στη συνέχεια, προσθέτετε κλήσεις Boto3 στο Amazon Translate και στο Amazon Polly για τη λειτουργία μετάφρασης και μετατροπής κειμένου σε ομιλία. Τέλος, μεταφέρετε ξανά τη μεταφρασμένη ομιλία μέσω των ηχείων του υπολογιστή pyaudio. Η ενότητα Python concurrent σας δίνει τη δυνατότητα να εκτελείτε κώδικα αποκλεισμού στο δικό του ασύγχρονο νήμα για να αναπαράγετε την επιστρεφόμενη ομιλία σας στο Amazon Polly με απρόσκοπτο, μη αποκλειστικό τρόπο.

Ας εισαγάγουμε όλες τις απαραίτητες ενότητες, μεταγράψουμε τις τάξεις ροής και ας δημιουργήσουμε ορισμένα παγκόσμια:

import boto3
 import asyncio
 import pyaudio
 import concurrent
 from amazon_transcribe.client import TranscribeStreamingClient
 from amazon_transcribe.handlers import TranscriptResultStreamHandler
 from amazon_transcribe.model import TranscriptEvent


 polly = boto3.client('polly', region_name = 'us-west-2')
 translate = boto3.client(service_name='translate', region_name='us-west-2', use_ssl=True)
 pa = pyaudio.PyAudio()

 #for mic stream, 1024 should work fine
 default_frames = 1024

 #current params are set up for English to Mandarin, modify to your liking
 params['source_language'] = "en"
 params['target_language'] = "zh"
 params['lang_code_for_polly'] = "cmn-CN"
 params['voice_id'] = "Zhiyu"
 params['lang_code_for_transcribe'] = "en-US"

Πρώτα, χρησιμοποιείτε pyaudio για να λάβετε τον ρυθμό δειγματοληψίας, τον δείκτη συσκευής και τον αριθμό καναλιών της συσκευής εισόδου:

#try grabbing the default input device and see if we get lucky
 default_indput_device = pa.get_default_input_device_info()

 # verify this is your microphone device 
 print(default_input_device)

 #if correct then set it as your input device and define some globals
 input_device = default_input_device

 input_channel_count = input_device["maxInputChannels"]
 input_sample_rate = input_device["defaultSampleRate"]
 input_dev_index = input_device["index"]

Εάν αυτό δεν λειτουργεί, μπορείτε επίσης να κάνετε επαναφορά και να εκτυπώσετε τις συσκευές σας όπως φαίνεται στον παρακάτω κώδικα και, στη συνέχεια, να χρησιμοποιήσετε το ευρετήριο της συσκευής για να ανακτήσετε τις πληροφορίες της συσκευής με pyaudio:

print ("Available devices:n")
 for i in range(0, pa.get_device_count()):
     info = pa.get_device_info_by_index(i)
     print (str(info["index"])  + ": t %s n t %s n" % (info["name"], p.get_host_api_info_by_index(info["hostApi"])["name"]))

 # select the correct index from the above returned list of devices, for example zero
 dev_index = 0 
 input_device = pa.get_device_info_by_index(dev_index)

 #set globals for microphone stream
 input_channel_count = input_device["maxInputChannels"]
 input_sample_rate = input_device["defaultSampleRate"]
 input_dev_index = input_device["index"]

Εσυ χρησιμοποιεις channel_count, sample_rate, να dev_index ως παράμετροι σε μια ροή μικροφώνου. Στη συνάρτηση επανάκλησης αυτής της ροής, χρησιμοποιείτε ένα asyncio επαναφορά κλήσης χωρίς αποκλεισμό, ασφαλή για νήματα για να τοποθετήσετε τα byte εισόδου της ροής μικροφώνου σε asyncio ουρά εισαγωγής. Σημειώστε τα αντικείμενα βρόχου και input_queue που δημιουργήθηκαν με asyncio και πώς χρησιμοποιούνται στον παρακάτω κώδικα:

async def mic_stream():
     # This function wraps the raw input stream from the microphone forwarding
     # the blocks to an asyncio.Queue.
     
     loop = asyncio.get_event_loop()
     input_queue = asyncio.Queue()
     
     def callback(indata, frame_count, time_info, status):
         loop.call_soon_threadsafe(input_queue.put_nowait, indata)
         return (indata, pyaudio.paContinue)
         
     # Be sure to use the correct parameters for the audio stream that matches
     # the audio formats described for the source language you'll be using:
     # https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html
     
     print(input_device)
     
     #Open stream
     stream = pa.open(format = pyaudio.paInt16,
                 channels = input_channel_count,
                 rate = int(input_sample_rate),
                 input = True,
                 frames_per_buffer = default_frames,
                 input_device_index = input_dev_index,
                 stream_callback=callback)
     # Initiate the audio stream and asynchronously yield the audio chunks
     # as they become available.
     stream.start_stream()
     print("started stream")
     while True:
         indata = await input_queue.get()
         yield indata

Τώρα όταν λειτουργεί η γεννήτρια mic_stream() καλείται, αποδίδει συνεχώς byte εισόδου για όσο διάστημα υπάρχουν δεδομένα εισόδου μικροφώνου στην ουρά εισόδου.

Τώρα που ξέρετε πώς να λαμβάνετε byte εισόδου από το μικρόφωνο, ας δούμε πώς μπορείτε να γράψετε byte ήχου εξόδου Amazon Polly σε μια ροή εξόδου ηχείου:

#text will come from MyEventsHandler
 def aws_polly_tts(text):

     response = polly.synthesize_speech(
         Engine = 'standard',
         LanguageCode = params['lang_code_for_polly'],
         Text=text,
         VoiceId = params['voice_id'],
         OutputFormat = "pcm",
     )
     output_bytes = response['AudioStream']
     
     #play to the speakers
     write_to_speaker_stream(output_bytes)
     
 #how to write audio bytes to speakers

 def write_to_speaker_stream(output_bytes):
     """Consumes bytes in chunks to produce the response's output'"""
     print("Streaming started...")
     chunk_len = 1024
     channels = 1
     sample_rate = 16000
     
     if output_bytes:
         polly_stream = pa.open(
                     format = pyaudio.paInt16,
                     channels = channels,
                     rate = sample_rate,
                     output = True,
                     )
         #this is a blocking call - will sort this out with concurrent later
         while True:
             data = output_bytes.read(chunk_len)
             polly_stream.write(data)
             
         #If there's no more data to read, stop streaming
             if not data:
                 output_bytes.close()
                 polly_stream.stop_stream()
                 polly_stream.close()
                 break
         print("Streaming completed.")
     else:
         print("Nothing to stream.")

Τώρα ας επεκταθούμε σε αυτό που δημιουργήσατε στην ανάρτηση Ασύγχρονη μεταγραφή Amazon Streaming SDK για Python. Στον παρακάτω κώδικα, δημιουργείτε ένα αντικείμενο εκτελεστή χρησιμοποιώντας το ThreadPoolExecutor υποκατηγορία με τρεις εργαζόμενους ταυτόχρονα. Στη συνέχεια, προσθέτετε μια κλήση Μετάφρασης Amazon στην οριστικοποιημένη επιστρεφόμενη μεταγραφή στο EventHandler και περνάτε αυτό το μεταφρασμένο κείμενο, το αντικείμενο εκτελεστή και aws_polly_tts() λειτουργούν σε ένα asyncio βρόχο με loop.run_in_executor(), το οποίο εκτελεί τη συνάρτηση Amazon Polly (με μεταφρασμένο κείμενο εισαγωγής) ασύγχρονα στην αρχή της επόμενης επανάληψης του asyncio βρόχος.

#use concurrent package to create an executor object with 3 workers ie threads
 executor = concurrent.futures.ThreadPoolExecutor(max_workers=3)

 class MyEventHandler(TranscriptResultStreamHandler):
     async def handle_transcript_event(self, transcript_event: TranscriptEvent):

         #If the transcription is finalized, send it to translate
 
         results = transcript_event.transcript.results
         if len(results) > 0:
             if len(results[0].alternatives) > 0:
                 transcript = results[0].alternatives[0].transcript
                 print("transcript:", transcript)

                 print(results[0].channel_id)
                 if hasattr(results[0], "is_partial") and results[0].is_partial == False:
                     
                     #translate only 1 channel. the other channel is a duplicate
                     if results[0].channel_id == "ch_0":
                         trans_result = translate.translate_text(
                             Text = transcript,
                             SourceLanguageCode = params['source_language'],
                             TargetLanguageCode = params['target_language']
                         )
                         print("translated text:" + trans_result.get("TranslatedText"))
                         text = trans_result.get("TranslatedText")

                         #we run aws_polly_tts with a non-blocking executor at every loop iteration
                         await loop.run_in_executor(executor, aws_polly_tts, text)  

Τέλος, έχουμε το loop_me() λειτουργία. Σε αυτό, εσείς ορίζετε write_chunks(), το οποίο παίρνει μια ροή Amazon Transcribe ως επιχείρημα και γράφει ασύγχρονα κομμάτια εισόδου μικροφώνου ροής σε αυτήν. Στη συνέχεια χρησιμοποιείτε MyEventHandler() με το όρισμα της ροής μεταγραφής εξόδου και δημιουργήστε ένα αντικείμενο χειριστή. Στη συνέχεια, χρησιμοποιείτε την αναμονή με asyncio.gather() και περάστε το write_chunks() και το handler με τη μέθοδο handle_events() για να χειριστείτε τα ενδεχόμενα συμβόλαια μελλοντικής εκπλήρωσης αυτών των κορουτινών. Τέλος, συγκεντρώνετε όλους τους βρόχους συμβάντων και επαναλαμβάνετε το loop_me() λειτουργία με run_until_complete(). Δείτε τον ακόλουθο κώδικα:

async def loop_me():
 # Setup up our client with our chosen AWS region

     client = TranscribeStreamingClient(region="us-west-2")
     stream = await client.start_stream_transcription(
         language_code=params['lang_code_for_transcribe'],
         media_sample_rate_hz=int(device_info["defaultSampleRate"]),
         number_of_channels = 2,
         enable_channel_identification=True,
         media_encoding="pcm",
     )
     recorded_frames = []
     async def write_chunks(stream):
         
         # This connects the raw audio chunks generator coming from the microphone
         # and passes them along to the transcription stream.
         print("getting mic stream")
         async for chunk in mic_stream():
             t.tic()
             recorded_frames.append(chunk)
             await stream.input_stream.send_audio_event(audio_chunk=chunk)
             t.toc("chunks passed to transcribe: ")
         await stream.input_stream.end_stream()

     handler = MyEventHandler(stream.output_stream)
     await asyncio.gather(write_chunks(stream), handler.handle_events())

 #write a proper while loop here
 loop = asyncio.get_event_loop()
 loop.run_until_complete(loop_me())
 loop.close()

Όταν ο προηγούμενος κώδικας εκτελείται μαζί χωρίς σφάλματα, μπορείτε να μιλήσετε στο μικρόφωνο και να ακούσετε γρήγορα τη φωνή σας μεταφρασμένη στα Κινεζικά Μανδαρινικά. Η δυνατότητα αυτόματης ανίχνευσης γλώσσας για το Amazon Transcribe και το Amazon Translate μεταφράζει οποιαδήποτε υποστηριζόμενη γλώσσα εισαγωγής στη γλώσσα-στόχο. Μπορείτε να μιλήσετε για αρκετή ώρα και λόγω της μη αποκλειστικής φύσης των κλήσεων συναρτήσεων, όλη η ομιλία σας μεταφράζεται και εκφωνείται, καθιστώντας αυτό ένα εξαιρετικό εργαλείο για τη μετάφραση ζωντανών ομιλιών.

Συμπέρασμα

Αν και αυτή η ανάρτηση έδειξε πώς αυτά τα τρία πλήρως διαχειριζόμενα API AWS μπορούν να λειτουργούν απρόσκοπτα μαζί, σας ενθαρρύνουμε να σκεφτείτε πώς θα μπορούσατε να χρησιμοποιήσετε αυτές τις υπηρεσίες με άλλους τρόπους για να παρέχετε πολύγλωσση υποστήριξη για υπηρεσίες ή μέσα όπως οι πολύγλωσσοι υπότιτλοι για ένα κλάσμα του τρέχοντος κόστους . Η ιατρική, οι επιχειρήσεις, ακόμη και οι διπλωματικές σχέσεις θα μπορούσαν όλα να επωφεληθούν από μια διαρκώς βελτιωμένη, χαμηλού κόστους και χαμηλής συντήρησης μεταφραστική υπηρεσία.

Για περισσότερες πληροφορίες σχετικά με τη βάση κώδικα απόδειξης της έννοιας για αυτήν την περίπτωση χρήσης, ανατρέξτε στο μας Github.


Σχετικά με τους Συγγραφείς

Ξεπεράστε τα γλωσσικά εμπόδια με το Amazon Transcribe, το Amazon Translate και το Amazon Polly PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Μάικλ Τραν είναι αρχιτέκτονας λύσεων με την ομάδα Envision Engineering στο Amazon Web Services. Παρέχει τεχνική καθοδήγηση και βοηθά τους πελάτες να επιταχύνουν την ικανότητά τους να καινοτομούν δείχνοντας την τέχνη του δυνατού στο AWS. Έχει δημιουργήσει πολλά πρωτότυπα γύρω από την AI/ML και το IoT για τους πελάτες μας. Μπορείτε να επικοινωνήσετε μαζί μου @Mike_Trann στο Twitter.

Ξεπεράστε τα γλωσσικά εμπόδια με το Amazon Transcribe, το Amazon Translate και το Amazon Polly PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Κάμερον Ουίλκς είναι αρχιτέκτονας πρωτοτύπων στην ομάδα του AWS Industry Accelerator. Ενώ ήταν στην ομάδα παρέδωσε πολλά πρωτότυπα βασισμένα σε ML σε πελάτες για να επιδείξει την «Τέχνη του δυνατού» του ML στο AWS. Του αρέσει η μουσική παραγωγή, το off-roading και το design.

Σφραγίδα ώρας:

Περισσότερα από Μηχανική εκμάθηση AWS