Πώς λειτουργεί η αναγνώριση φωνής στους υπολογιστές
Όλο και περισσότερο εξελίσσεται η δυνατότητα να μιλάμε στους υπολογιστές (ή σε άλλες “έξυπνες” συσκευές) προκειμένου να δώσουμε εντολές αντί να τις γράφουμε, ή να απαγγέλλουμε ένα κείμενο και ο υπολογιστής να το γράφει. Μπορούμε να πούμε στο τηλέφωνό μας να πάρει τον τάδε φίλο ή την τάδε συγγενή, να υπαγορεύσουμε ένα email στον υπολογιστή, να καθοδηγήσουμε ένα παιχνίδι με φωνητικές εντολές στη παιχνιδομηχανή και πάει λέγοντας.
Και ενώ, είναι αλήθεια, κάποιες φορές μας καταλαβαίνει λάθος, όλο και πιο συχνά καταλαβαίνει το σωστό, κάτι που είναι αξιοθαύμαστο αν σκεφτούμε τι διεργασίες πρέπει να εκτελεστούν προκειμένου να μετατραπεί η ανθρώπινη ομιλία σε γραπτό λόγο – δεδομένου ότι οι απειροελάχιστες αλλαγές στην πίεση του αέρα, αλλάζουν τον ήχο, ειδικά στην ομιλία.
Η αναγνώριση φωνής (για την ακρίβεια ομιλίας) έχει μακρά ιστορία και είναι ιδιαίτερα πολύπλοκη διαδικασία, όμως παρακάτω, θα σας παρουσιάσουμε συνοπτικά τα επτά “βήματα” που χρειάζεται να κάνει ένας υπολογιστής προκειμένου να την καταλάβει και να τη μετατρέψει σε κείμενο.
1. Μετατροπή της κίνησης των μορίων του αέρα σε αριθμούς
Ο ήχος φτάνει στ’ αυτιά μας (ή στο μικρόφωνο ενός υπολογιστή) σαν μεταβολές στην πίεση του αέρα που δημιουργούν ένα συνεχές ηχητικό κύμα. Ο υπολογιστής, καταγράφει μια μέτρηση αυτού του κύματος σε μια χρονική στιγμή, την αποθηκεύει και μετά την μετράει ξανά. Αν περιμένει πολύ μεταξύ των μετρήσεων τότε θα υπάρξουν μεταβολές που θα χαθούν από το ηχητικό κύμα (η διαδικασία αυτή λέγεται δειγματοληψία).
Για να έχει μια “καθαρή” εικόνα του ηχητικού κύματος η δειγματοληψία αυτή πρέπει να είναι σε ρυθμό τουλάχιστον 8.000 μετρήσεων ανά δευτερόλεπτο. Λειτουργεί όμως καλύτερα αν γίνει στις 44.100 λήψεις-μετρήσεις ανά δευτερόλεπτο. Αυτή η διαδικασία είναι επίσης γνωστή ως ψηφιοποίηση στα 8kHz ή στα 44.1kHz (ανάλογα με τη συχνότητα της δειγματοληψίας).
2. Αναγνώριση των τμημάτων του ηχητικού κύματος που είναι ομιλία
Όταν ο υπολογιστής εκτελεί την παραπάνω διαδικασία δε γνωρίζει ακόμη ποια τμήματα του ήχου είναι ομιλία, ποια είναι θόρυβος, ποια είναι παράσιτα, ποια είναι άλλοι άσχετοι ήχοι κλπ. Μια πληθώρα μαθηματικών αλγορίθμων εφαρμόζεται στο ηχητικό κύμα, προκειμένου να παραλειφθούν όλα τα τμήματά του που δε μοιάζουν με αυτό που περιμένουμε από ένα ήχο ομιλίας.
Αν και γνωρίζουμε πώς είναι συνήθως η κυματομορφή που παράγεται από την ανθρώπινη ομιλία, δεν είμαστε απόλυτα σίγουροι ώστε να μπορούμε να την ξεχωρίσουμε εντελώς από τους άλλους ήχους. Γι’ αυτό η διαδικασία διαχωρισμού δεν είναι καθόλου απλή διαδικασία.
3. Διαλογή των τμημάτων της κυματομορφής που μοιάζουν περισσότερο με αυτήν της ομιλίας
Η κυματομορφή της ομιλίας είναι στην ουσία μια σύνθεση – ιδιαίτερα πολύπλοκη – άλλων απλούστερων κυματομορφών που είναι σε διαφορετικές συχνότητες. Οι συγκεκριμένες συχνότητες και το πόσο αλλάζουν στη διάρκεια του χρόνου καθώς και το πόσο δυνατότερα ακούγεται μία από μία άλλη έχουν μεγάλη σημασία στο διαχωρισμό ενός “ο” από ένα “ου” για παράδειγμα. Ακόμη πιο πολύπλοκες μαθηματικές διεργασίες και αναλύσεις εκτελούνται προκειμένου να αναλυθεί η σύνθετη αυτή κυματομορφή σε ένα μαθηματικό μοντέλο των σημαντικότερων στοιχείων της.
4. Διαχωρισμός του ηχητικού κύματος σε μικρά τμήματα και αναγνώριση ομιλίας στο καθένα από αυτά
Υπάρχουν 25 φωνήματα (στοιχειώδεις γλωσσικές μονάδες που έχουν εννοιολογικά διαφοροποιητική αξία), στην Ελληνική γλώσσα (44 στην Αγγλική κοκ). Ο υπολογιστής έχει μια γενική ιδέα για το πώς πρέπει να μοιάζουν γιατί έχει εκπαιδευτεί και έχει δείγματα για το καθένα από αυτά σε αρκετά διαφορετικά παραδείγματα.
Όμως (κι αυτό ισχύει περισσότερο σε γλώσσες σαν την Αγγλική) τα ίδια φωνήματα αλλάζουν κυματομορφή όχι μόνο ανάλογα με την προφορά του ομιλητή, αλλά και ανάλογα με το πού βρίσκονται σε μια λέξη (το “t” στη λέξη “star” παρουσιάζει άλλη εικόνα από το “t” στη λέξη “city“). Ο υπολογιστής λοιπόν πρέπει να έχει ένα παράδειγμα για κάθε φώνημα σε παραπάνω από μία διαφορετικές λέξεις και συνδυασμούς προκειμένου να μαντέψει σωστά.
5. Μαντεύει πιθανές λέξεις που αποτελούνται από τα φωνήματα που αναγνωρίστηκαν
Ο υπολογιστής έχει ένα πολύ μεγάλο κατάλογο διαφορετικών λέξεων μαζί με τον τρόπο που μπορεί να προφέρονται. Στην ουσία μαντεύει ποιες λέξεις υπάρχουν στο ηχητικό κύμα με το να διαχωρίζει τα φωνήματα που ακούγονται και να επιλέγει τις πιθανές σωστές λέξεις που παράγονται από αυτά. Αν συναντήσει την ακολουθία ήχων “Καλώς ήλθες“, δε θα τη μετατρέψει σε “Κα λωσηλθες“, γιατί το “λωσηλθες” δεν είναι μια επιτρεπτή λέξη (αφού δεν είναι υπαρκτή) επειδή δεν υπάρχει στο λεξικό του.
6. Αποφασίζει την πιθανότερη ακολουθία λέξεων βασισμένος στο πώς οι άνθρωποι μιλούν συνήθως
Στον κανονικό ανθρώπινο λόγο, δε γίνονται διακοπές ανάμεσα στις λέξεις. Ο υπολογιστής πρέπει να αποφασίσει πού θα τις τοποθετήσει, βρίσκοντας ακολουθίες φωνημάτων που δημιουργούν σωστές λέξεις. Μπορεί να υπάρξουν πολλοί συνδυασμοί, αλλά δεν παράγουν όλοι σωστούς συνδυασμούς λέξεων. Το αποτέλεσμα πρέπει να παράγει λογικό αποτέλεσμα όσον αφορά; την τελική πρόταση.
Ο υπολογιστής εφαρμόζει διάφορα μοντέλα όσον αφορά το ποια λέξη μπορεί να ακολουθεί μια άλλη για να έχουμε λογικά αποτελέσματα. Σε κάποια συστήματα μάλιστα λαμβάνονται υπόψιν και άλλοι παράγοντες όπως, το ποιες λέξεις ταιριάζουν συνήθως με άλλες κλπ. Όμως όσο περισσότερες πληροφορίες πρέπει να χρησιμοποιηθούν, τόσο περισσότερη υπολογιστική ισχύς απαιτείται.
7. Ενεργεί με βάση τα προηγούμενα
Από τη στιγμή που ο υπολογιστής έχει καταλήξει όσον αφορά όλες τις προηγούμενες διεργασίες, θα εκτελέσει τις εντολές μας, ή θα εμφανίσει το κείμενο στην οθόνη (αν πρόκειται για υπαγόρευση). Στην περίπτωση ενός αυτοματοποιημένου συστήματος τηλεφωνικής υποστήριξης για παράδειγμα, θα προσπαθήσει να ταιριάξει την εντολή που θα δώσουμε με έναν αριθμό προ-αποθηκευμένων απαντήσεων που υπάρχουν στο μενού. Στην περίπτωση της Siri, θα κάνει μία κλήση, θα ψάξει στο διαδίκτυο, θα παίξει κάποιο τραγούδι κλπ.
Όλοι όσοι έχουν χρησιμοποιήσει συστήματα αναγνώρισης φωνής, γνωρίζουν ότι γίνονται λάθη. Όλα τα πολύπλοκα μαθηματικά μοντέλα, αλγόριθμοι και διεργασίες δε μας προστατεύουν από το να καταλάβει “Πιπεριές Χλωρίνης” αντί για “Πιπεριές Φλωρίνης” (αν έχετε πεθερά, το πρώτο είναι πιο χρήσιμο). Το να εμφανίσει λοιπόν ένας υπολογιστής το πρώτο αντί του δεύτερου, είναι πάντα πολύ πιθανό.
από Elichord