Δώστε τη δυνατότητα σε άτομα με προβλήματα όρασης να ακούν έγγραφα χρησιμοποιώντας το Amazon Textract και το Amazon Polly PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ενεργοποιήστε τα άτομα με προβλήματα όρασης να ακούν έγγραφα χρησιμοποιώντας το Amazon Textract και το Amazon Polly

Στο συνέδριο AWS re:Invent 2021 στο Λας Βέγκας, παρουσιάσαμε την επίδειξη Διαβάστε για μένα στο AWS Builders Fair—ένας ιστότοπος που βοηθά τα άτομα με προβλήματα όρασης να ακούν έγγραφα.

Για καλύτερη ποιότητα, δείτε το βίντεο εδώ.

Η προσαρμοστική τεχνολογία και τα χαρακτηριστικά προσβασιμότητας είναι συχνά ακριβά, αν είναι καθόλου διαθέσιμα. Τα ηχητικά βιβλία βοηθούν τα άτομα με προβλήματα όρασης να διαβάσουν. Η ηχητική περιγραφή καθιστά προσβάσιμες τις ταινίες. Τι κάνετε όμως όταν το περιεχόμενο δεν είναι ήδη ψηφιοποιημένο;

Αυτή η ανάρτηση εστιάζει στις υπηρεσίες AWS AI Textract Amazon και Amazon Polly, που ενδυναμώνουν τα άτομα με μειωμένη όραση. Το Read For Me αναπτύχθηκε από κοινού από τον Jack Marchetti, ο οποίος έχει προβλήματα όρασης.

Επισκόπηση λύσεων

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

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

Δώστε τη δυνατότητα σε άτομα με προβλήματα όρασης να ακούν έγγραφα χρησιμοποιώντας το Amazon Textract και το Amazon Polly PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Η ροή εργασίας περιλαμβάνει τα ακόλουθα βήματα:

  1. Στατικό περιεχόμενο (HTML, CSS, JavaScript) φιλοξενείται σε Ενίσχυση AWS.
  2. Παρέχεται προσωρινή πρόσβαση σε ανώνυμους χρήστες σε υπηρεσίες υποστήριξης μέσω ενός Amazon Cognito δεξαμενή ταυτότητας.
  3. Τα αρχεία εικόνας αποθηκεύονται σε Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3).
  4. Ένας χρήστης κάνει ένα αίτημα POST μέσω Amazon API Gateway στην υπηρεσία ήχου, η οποία παρέχει πληρεξούσιο σε ένα express Λειτουργίες βημάτων AWS ροή εργασίας.
  5. Η ροή εργασίας Step Functions περιλαμβάνει τα ακόλουθα βήματα:
    1. Textract Amazon εξάγει κείμενο από την εικόνα.
    2. Κατανοήστε το Amazon εντοπίζει τη γλώσσα του κειμένου.
    3. Εάν η γλώσσα-στόχος διαφέρει από τη γλώσσα που εντοπίστηκε, Amazon Μετάφραση μεταφράζεται στη γλώσσα-στόχο.
    4. Amazon Polly δημιουργεί ένα αρχείο ήχου ως έξοδο χρησιμοποιώντας το κείμενο.
  6. Η ροή εργασίας AWS Step Functions δημιουργεί ένα αρχείο ήχου ως έξοδο και το αποθηκεύει στο Amazon S3 σε μορφή MP3.
  7. Μια προ-υπογεγραμμένη διεύθυνση URL με τη θέση του αρχείου ήχου που είναι αποθηκευμένο στο Amazon S3 αποστέλλεται πίσω στο πρόγραμμα περιήγησης του χρήστη μέσω της πύλης API. Η κινητή συσκευή του χρήστη αναπαράγει το αρχείο ήχου χρησιμοποιώντας την προϋπογεγραμμένη διεύθυνση URL.

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

Υπηρεσίες AWS AI

Πολλές υπηρεσίες τεχνητής νοημοσύνης συνδέονται μεταξύ τους για να τροφοδοτήσουν το Read For Me:

  • Το Amazon Textract προσδιορίζει το κείμενο στη μεταφορτωμένη εικόνα.
  • Το Amazon Comprehend καθορίζει τη γλώσσα.
  • Εάν ο χρήστης επιλέξει διαφορετική γλώσσα ομιλίας από τη γλώσσα της εικόνας, τη μεταφράζουμε χρησιμοποιώντας το Amazon Translate.
  • Η Amazon Polly δημιουργεί το αρχείο MP3. Εκμεταλλευόμαστε τη νευρωνική μηχανή Amazon Polly, η οποία δημιουργεί μια πιο φυσική, ρεαλιστική ηχογράφηση.

Ένα από τα κύρια πλεονεκτήματα της χρήσης αυτών των υπηρεσιών τεχνητής νοημοσύνης είναι η ευκολία υιοθέτησης με ελάχιστη ή καθόλου απαραίτητη βασική εμπειρία μηχανικής εκμάθησης. Οι υπηρεσίες εκθέτουν API που μπορούν να επικαλεστούν οι πελάτες χρησιμοποιώντας SDK που είναι διαθέσιμα σε πολλές γλώσσες προγραμματισμού, όπως Python και Java.

Με το Read For Me, γράψαμε τα υποκείμενα AWS Lambda συναρτήσεις στην Python.

AWS SDK για Python (Boto3)

Η AWS SDK για Python (Boto3) κάνει την αλληλεπίδραση με τις υπηρεσίες AWS απλή. Για παράδειγμα, οι ακόλουθες γραμμές κώδικα Python επιστρέφουν το κείμενο που βρίσκεται στην εικόνα ή το έγγραφο που παρέχετε:

import boto3
client = boto3.client('textract')
response = client.detect_document_text(
Document={ 'S3Object': { 'Bucket': 'bucket-name', 'Name': 's3-key'
}
})
#do something with the response

Όλος ο κώδικας Python εκτελείται σε μεμονωμένες συναρτήσεις Lambda. Δεν υπάρχουν διακομιστές για παροχή και καμία υποδομή για συντήρηση.

Αρχιτεκτονικά μοτίβα

Σε αυτή την ενότητα, συζητάμε τα διαφορετικά πρότυπα αρχιτεκτονικής που χρησιμοποιούνται στη λύση.

Χωρίς διακομιστή

Υλοποιήσαμε μια αρχιτεκτονική χωρίς διακομιστή για δύο βασικούς λόγους: ταχύτητα κατασκευής και κόστος. Χωρίς υποκείμενο υλικό για συντήρηση ή υποδομή για ανάπτυξη, εστιάσαμε αποκλειστικά στον κώδικα επιχειρηματικής λογικής και σε τίποτα άλλο. Αυτό μας επέτρεψε να θέσουμε σε λειτουργία ένα λειτουργικό πρωτότυπο μέσα σε λίγες μέρες. Εάν οι χρήστες δεν ανεβάζουν ενεργά φωτογραφίες και δεν ακούν εγγραφές, τίποτα δεν εκτελείται και, επομένως, τίποτα δεν επιβαρύνεται με κόστος εκτός του χώρου αποθήκευσης. Ένας κανόνας διαχείρισης κύκλου ζωής του S3 διαγράφει τις μεταφορτωμένες εικόνες και τα αρχεία MP3 μετά από 1 ημέρα, επομένως το κόστος αποθήκευσης είναι χαμηλό.

Σύγχρονη ροή εργασίας

Όταν δημιουργείτε ροές εργασίας χωρίς διακομιστή, είναι σημαντικό να κατανοήσετε πότε μια σύγχρονη κλήση έχει περισσότερο νόημα από την αρχιτεκτονική και την εμπειρία χρήστη παρά μια ασύγχρονη διαδικασία. Με το Read For Me, αρχικά ακολουθήσαμε την ασύγχρονη διαδρομή και προγραμματίσαμε να χρησιμοποιήσουμε WebSockets για αμφίδρομη επικοινωνία με το μπροστινό μέρος. Η ροή εργασιών μας θα περιλαμβάνει ένα βήμα για την εύρεση του αναγνωριστικού σύνδεσης που σχετίζεται με τη ροή εργασίας Step Functions και μετά την ολοκλήρωση, θα ειδοποιεί τη διεπαφή. Για περισσότερες πληροφορίες σχετικά με αυτή τη διαδικασία, ανατρέξτε στο Από το Poll to Push: Μετασχηματίστε API χρησιμοποιώντας Amazon API Gateway REST API και WebSockets.

Τελικά επιλέξαμε να μην το κάνουμε αυτό και χρησιμοποιήσαμε συναρτήσεις express step που είναι σύγχρονες. Οι χρήστες κατανοούν ότι η επεξεργασία μιας εικόνας δεν θα είναι άμεση, αλλά γνωρίζουν επίσης ότι δεν θα διαρκέσει 30 δευτερόλεπτα ή ένα λεπτό. Ήμασταν σε ένα χώρο όπου μερικά δευτερόλεπτα ήταν ικανοποιητικά για τον τελικό χρήστη και δεν χρειαζόμασταν το όφελος των WebSockets. Αυτό απλοποίησε τη ροή εργασιών συνολικά.

Ροή εργασιών Express Step Functions

Η δυνατότητα διάσπασης του κώδικά σας σε μικρότερες, απομονωμένες συναρτήσεις επιτρέπει λεπτομερή έλεγχο, ευκολότερη συντήρηση και δυνατότητα ακριβέστερης κλίμακας. Για παράδειγμα, αν προσδιορίζαμε ότι η συνάρτηση Lambda που ενεργοποίησε το Amazon Polly για τη δημιουργία του αρχείου ήχου εκτελούσε πιο αργά από τη συνάρτηση που καθόριζε τη γλώσσα, θα μπορούσαμε να κλιμακώσουμε κάθετα αυτήν τη λειτουργία, προσθέτοντας περισσότερη μνήμη, χωρίς να χρειάζεται να το κάνουμε για τους άλλους. Ομοίως, περιορίζετε την ακτίνα έκρηξης του τι μπορεί να κάνει ή να έχει πρόσβαση η συνάρτηση Lambda όταν περιορίζετε το εύρος και την εμβέλειά της.

Ένα από τα πλεονεκτήματα της ενορχήστρωσης της ροής εργασιών σας με τις λειτουργίες Step Functions είναι η δυνατότητα εισαγωγής λογικής ροής αποφάσεων χωρίς να χρειάζεται να γράψετε κώδικα.

Η ροή εργασίας του Step Functions δεν είναι περίπλοκη. Είναι γραμμικό μέχρι το βήμα της μετάφρασης. Εάν δεν χρειάζεται να καλέσουμε μια συνάρτηση μετάφρασης Lambda, αυτό είναι λιγότερο κόστος για εμάς και μια πιο γρήγορη εμπειρία για τον χρήστη. Μπορούμε να χρησιμοποιήσουμε τον οπτικό σχεδιαστή στην κονσόλα Step Functions για να βρούμε το συγκεκριμένο κλειδί στο ωφέλιμο φορτίο εισόδου και, εάν υπάρχει, να καλέσουμε τη μία συνάρτηση πάνω στην άλλη χρησιμοποιώντας το JSONPath. Για παράδειγμα, το ωφέλιμο φορτίο μας περιλαμβάνει ένα κλειδί που ονομάζεται μετάφραση:

{ 
extracted_text: "hello world",
target_language: "es",
source_language: "en",
translate: true
}

Στον οπτικό σχεδιαστή Step Functions, βρίσκουμε το κλειδί μετάφρασης και ρυθμίζουμε κανόνες που να ταιριάζουν.

Δώστε τη δυνατότητα σε άτομα με προβλήματα όρασης να ακούν έγγραφα χρησιμοποιώντας το Amazon Textract και το Amazon Polly PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ακέφαλη αρχιτεκτονική

Το Amplify φιλοξενεί τον κώδικα διεπαφής. Η διεπαφή είναι γραμμένη στο React και ελέγχεται ο πηγαίος κώδικας AWS CodeCommit. Το Amplify επιλύει ορισμένα προβλήματα για τους χρήστες που προσπαθούν να αναπτύξουν και να διαχειριστούν στατικούς ιστότοπους. Εάν το κάνατε αυτό με μη αυτόματο τρόπο (χρησιμοποιώντας έναν κάδο S3 που έχει ρυθμιστεί για στατική φιλοξενία ιστοτόπων και την πρόσοψη του με Amazon CloudFront), θα έπρεπε να λήγετε μόνοι σας την προσωρινή μνήμη κάθε φορά που κάνατε αναπτύξεις. Θα πρέπει επίσης να γράψετε τη δική σας διοχέτευση CI/CD. Το Amplify χειρίζεται αυτό για εσάς.

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

Αναλύστε το αναγνωριστικό

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

Το Analyze ID είναι μια δυνατότητα του Amazon Textract που σας δίνει τη δυνατότητα να υποβάλετε ερωτήματα σε έγγραφα. Το Read For Me περιέχει ένα αναπτυσσόμενο μενού όπου μπορείτε να ζητήσετε συγκεκριμένα την ημερομηνία λήξης, την ημερομηνία έκδοσης ή τον αριθμό του εγγράφου. Μπορείτε να χρησιμοποιήσετε την ίδια ροή εργασίας για να δημιουργήσετε ένα αρχείο MP3 που παρέχει απάντηση στη συγκεκριμένη ερώτησή σας.

Μπορείτε να επιδείξετε τη δυνατότητα Ανάλυση αναγνωριστικού στο readforme.io/analyze.

Πρόσθετα χαρακτηριστικά Polly

  • Το Read For Me προσφέρει πολλαπλές νευρικές φωνές που χρησιμοποιούν διαφορετικές γλώσσες και διαλέκτους. Σημειώστε ότι υπάρχουν πολλά άλλα φωνές μπορείτε να επιλέξετε από τα οποία δεν εφαρμόσαμε. Όταν μια νέα φωνή είναι διαθέσιμη, μια ενημέρωση στον κώδικα της διεπαφής και μια λειτουργία λάμδα είναι το μόνο που χρειάζεται για να την εκμεταλλευτείτε.
  • Η υπηρεσία Polly προσφέρει επίσης άλλες επιλογές που δεν έχουμε ακόμη συμπεριλάβει στο Read For Me. Αυτά περιλαμβάνουν την προσαρμογή του ταχύτητα των φωνών και σημάδια ομιλίας.

Συμπέρασμα

Σε αυτήν την ανάρτηση, συζητήσαμε τον τρόπο χρήσης πολυάριθμων υπηρεσιών AWS, συμπεριλαμβανομένης της τεχνητής νοημοσύνης και χωρίς διακομιστή, για να βοηθήσουμε τα άτομα με προβλήματα όρασης. Μπορείτε να μάθετε περισσότερα για το έργο Read For Me και να το χρησιμοποιήσετε επισκεπτόμενοι readforme.io. Μπορείτε επίσης να βρείτε παραδείγματα Amazon Textract στο GitHub repo. Για να μάθετε περισσότερα σχετικά με το Analyze ID, ρίξτε μια ματιά Ανακοίνωση υποστήριξης για την εξαγωγή δεδομένων από έγγραφα ταυτότητας χρησιμοποιώντας το Amazon Textract.

Ο πηγαίος κώδικας για αυτό το έργο θα είναι ανοιχτού κώδικα και θα προστεθεί σύντομα στο δημόσιο GitHub του AWS.


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

Δώστε τη δυνατότητα σε άτομα με προβλήματα όρασης να ακούν έγγραφα χρησιμοποιώντας το Amazon Textract και το Amazon Polly PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Τζακ Μαρκέτι είναι αρχιτέκτονας Senior Solutions στην AWS. Με υπόβαθρο στη μηχανική λογισμικού, ο Jack επικεντρώνεται κυρίως στο να βοηθά τους πελάτες να εφαρμόζουν αρχιτεκτονικές χωρίς διακομιστές, βασισμένες σε εκδηλώσεις. Κατασκεύασε την πρώτη του διανεμημένη εφαρμογή που βασίζεται σε σύννεφο το 2013, αφού παρακολούθησε το δεύτερο συνέδριο AWS re:Invent και από τότε έχει κολλήσει. Πριν από το AWS, ο Jack πέρασε το μεγαλύτερο μέρος της καριέρας του σε εμπειρίες κατασκευής διαστημικών πρακτορείων διαφημίσεων για μερικές από τις μεγαλύτερες μάρκες στον κόσμο. Ο Τζακ είναι νομικά τυφλός και μένει στο Σικάγο με τη γυναίκα του Έριν και τη γάτα Μίνου. Είναι επίσης σεναριογράφος και σκηνοθέτης με κύριο άξονα τις χριστουγεννιάτικες ταινίες και τον τρόμο. Δείτε τη φιλμογραφία του Jack στο δικό του IMDb .

Δώστε τη δυνατότητα σε άτομα με προβλήματα όρασης να ακούν έγγραφα χρησιμοποιώντας το Amazon Textract και το Amazon Polly PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Alak Eswaradass είναι αρχιτέκτονας λύσεων στην AWS με έδρα το Σικάγο του Ιλινόις. Είναι παθιασμένη να βοηθά τους πελάτες να σχεδιάζουν αρχιτεκτονικές cloud χρησιμοποιώντας υπηρεσίες AWS για την επίλυση επιχειρηματικών προκλήσεων. Έχει μεταπτυχιακό στη μηχανική επιστήμης υπολογιστών. Πριν ενταχθεί στην AWS, εργάστηκε για διάφορους οργανισμούς υγειονομικής περίθαλψης και έχει εις βάθος εμπειρία στην αρχιτεκτονική σύνθετων συστημάτων, στην τεχνολογική καινοτομία και στην έρευνα. Κάνει παρέα με τις κόρες της και εξερευνά την ύπαιθρο στον ελεύθερο χρόνο της.

Δώστε τη δυνατότητα σε άτομα με προβλήματα όρασης να ακούν έγγραφα χρησιμοποιώντας το Amazon Textract και το Amazon Polly PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Swagat Kulkarni είναι Senior Solutions Architect στο AWS και λάτρης της AI/ML. Είναι παθιασμένος με την επίλυση πραγματικών προβλημάτων για πελάτες με εγγενείς υπηρεσίες cloud και μηχανική εκμάθηση. Εκτός δουλειάς, ο Swagat απολαμβάνει τα ταξίδια, το διάβασμα και τον διαλογισμό.

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

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