Το WER βαθμολογεί με τον ίδιο τρόπο ένα λάθος όνομα, έναν λάθος αριθμό και ένα «δεν» που λείπει, όπως ένα «the» που χάθηκε. Κρίνετε ένα σύστημα απομαγνητοφώνησης από τα λάθη που πιάνει και από το αν μπορείτε να δείτε τις διορθώσεις του, όχι από τον κεντρικό του αριθμό.
Το word error rate (WER) είναι το καθιερωμένο μέτρο για την αναγνώριση ομιλίας. Πάρτε ένα κείμενο αναφοράς που έχει ελέγξει ένας άνθρωπος, ευθυγραμμίστε λέξη προς λέξη την έξοδο της μηχανής με αυτό, και μετρήστε τρία είδη λάθους: αντικαταστάσεις (μια λάθος λέξη), εισαγωγές (μια λέξη που δεν ειπώθηκε ποτέ) και παραλείψεις (μια λέξη που λείπει). Προσθέστε τα και διαιρέστε με τον αριθμό των λέξεων του κειμένου αναφοράς.
WER = (αντικαταστάσεις + εισαγωγές + παραλείψεις) / λέξεις στο κείμενο αναφοράς
Η ευθυγράμμιση δεν γίνεται με το μάτι. Τα δύο κείμενα ευθυγραμμίζονται με ελάχιστη απόσταση επεξεργασίας (την απόσταση Levenshtein, εφαρμοσμένη σε λέξεις και όχι σε γράμματα): από όλους τους τρόπους να αντιστοιχιστεί η έξοδος με το κείμενο αναφοράς, ο βαθμολογητής διαλέγει εκείνον με τις λιγότερες επεξεργασίες και τις μετράει. Επειδή οι εισαγωγές μετράνε και ο παρονομαστής είναι το μήκος του κειμένου αναφοράς, το WER μπορεί να ξεπεράσει το 100 τοις εκατό: ένα μοντέλο που γεμίζει ένα σιωπηλό λεπτό με κείμενο βαθμολογείται χειρότερα από ένα που δεν γράφει τίποτα.
Ας υποθέσουμε ότι το κείμενο αναφοράς είναι "we will meet Dr Okafor at nine on Thursday", εννέα λέξεις, και η μηχανή γράφει "we will meet the doctor at nine on Tuesday". Αυτές είναι τρεις αντικαταστάσεις (Dr, Okafor, Thursday) στις εννέα λέξεις: WER 33 τοις εκατό. Τα δύο τρίτα των λέξεων είναι σωστά, κι όμως βρίσκεστε στη λάθος συνάντηση, τη λάθος μέρα. Αν λάθος ήταν μόνο το "Thursday", η βαθμολογία θα ήταν 11 τοις εκατό. Μια εκδοχή με κάθε λέξη σωστή αλλά με ένα προστιθέμενο "um" που κανείς δεν είπε βαθμολογείται επίσης 11 τοις εκατό, επειδή μια εισαγωγή μετράει όσο μια αντικατάσταση.
Πριν από την καταμέτρηση, και τα δύο κείμενα συνήθως κανονικοποιούνται, και οι επιλογές εκεί μετακινούν τη βαθμολογία όσο και το μοντέλο. Είναι το "Dr" η ίδια λέξη με το "Doctor"; Είναι το "nine" το ίδιο με το "9"; Μετρούν τα κεφαλαία και τα σημεία στίξης; Ένας αυστηρός βαθμολογητής θα μετρούσε το "Dr" απέναντι στο "Doctor" ως αντικατάσταση. Οι περισσότερες δημοσιευμένες βαθμολογίες μετατρέπουν όλα σε πεζά, αφαιρούν τη στίξη και γράφουν κάθε αριθμό με έναν τρόπο, ως λέξεις ή ως ψηφία, πριν τα συγκρίνουν. Η βαθμολογία ενός προμηθευτή εξαρτάται έτσι αθόρυβα από έναν κανονικοποιητή που δεν βλέπετε. Οι γλώσσες που γράφονται χωρίς κενά ανάμεσα στις λέξεις, όπως τα κινέζικα, τα ιαπωνικά και τα ταϊλανδέζικα, δεν έχουν καθαρό όριο λέξης για να μετρηθεί κανείς, γι' αυτό βαθμολογούνται με character error rate (CER): ο ίδιος τύπος, εφαρμοσμένος σε χαρακτήρες.
Δύο πράγματα προκύπτουν. Πρώτον, ένα WER 5 τοις εκατό σημαίνει μία λέξη στις είκοσι, δηλαδή αρκετές εκατοντάδες λέξεις σε μια ομιλία μίας ώρας. Για σύγκριση, οι άνθρωποι απομαγνητοφωνητές αναφέρονται συχνά με περίπου 4 έως 5 τοις εκατό σε συνομιλιακή ομιλία, και ένα πολυαναφερόμενο αποτέλεσμα του 2017 στο τηλεφωνικό corpus Switchboard έδωσε για μηχανή περίπου 5.1 τοις εκατό, αν και και οι δύο αριθμοί εξαρτώνται από τον ήχο και τους κανόνες βαθμολόγησης. Δεύτερον, ο αριθμός εξαρτάται πλήρως από τον ήχο δοκιμής: η καθαρή ανάγνωση δίνει έναν αριθμό, ενώ ένα θορυβώδες πάνελ με προφορές και επικαλυπτόμενες φωνές δίνει έναν πολύ διαφορετικό. Ένα κεντρικό WER περιγράφει το σύνολο δοκιμών του προμηθευτή όσο περιγράφει και το σύστημά του.
Αυτή είναι η καταμέτρηση. Αυτό που αφήνει έξω είναι το κόστος κάθε λάθους για τον αναγνώστη.
Το WER μετράει κάθε λέξη ισοδύναμα. Οι αναγνώστες όχι:
Καθένα από αυτά είναι ένα ή δύο λάθη στη στήλη του WER. Στη στήλη του αναγνώστη κυμαίνονται από το τίποτα έως μια διαφορετική συνάντηση σε διαφορετική μέρα. Άρα το ερώτημα δεν είναι μόνο "ποιο είναι το ποσοστό λάθους", αλλά "ποια είδη λαθών είναι, και τι τα πιάνει".
Αρκετά επίπεδα πιάνουν όσα κάνει λάθος η αναγνώριση, και κάθε αλλαγή καταγράφεται ώστε να μπορεί να ελεγχθεί και να αναιρεθεί. Σε μια ζωντανή απομαγνητοφώνηση αυτό γίνεται ενώ το κείμενο ακόμη φτάνει: κάθε γραμμή εμφανίζεται πρώτα ως προσχέδιο που μπορεί ακόμη να αλλάξει, και μετά γίνεται οριστική (Η καθυστέρηση της ζωντανής μετάφρασης, εξηγημένη εξηγεί γιατί).
Μερικά λάθη ταιριάζουν στον ήχο αλλά όχι στην πρόταση: το "their" εκεί όπου η πρόταση θέλει "there". Αυτά μπορούν να πιαστούν από το context, και η διόρθωση φτάνει στους αναγνώστες ως ορατή ενημέρωση (transcript.amended στο API), όχι ως αθόρυβη αντικατάσταση. Το context είναι καλό με λέξεις που η πρόταση μπορεί να προβλέψει. Είναι αβοήθητο με εκείνες που δεν μπορεί.
Τα ονόματα και οι τεχνικοί όροι είναι τα λάθη που το context δεν μπορεί να διορθώσει, επειδή ένα όνομα εμφανίζεται συχνά μόνο μία φορά, χωρίς τίποτα γύρω του από το οποίο να προβλεφθεί. Ένα σενάριο αναφοράς λύνει το πρόβλημα: δώστε στο σύστημα την ομιλία, τις διαφάνειες ή μια λίστα ονομάτων και όρων πριν ξεκινήσετε, και οι λέξεις του θα υπερισχύουν εκείνων που άκουσε λάθος η μηχανή. Κατά την εγγραφή, το σενάριο ακολουθεί την απομαγνητοφώνηση σαν τηλεπρομπτέρ, ώστε ο οικοδεσπότης να βλέπει πόσο έχει προχωρήσει η μηχανή. Ένα σενάριο καλύπτει τις λέξεις που μπορείτε να προβλέψετε· ο θόρυβος και οι προφορές παράγουν τις υπόλοιπες.
Μερικά λάθη τα βλέπει μόνο ένας άνθρωπος μέσα στην αίθουσα. Οι χειροκίνητες διορθώσεις επιτρέπουν στον οικοδεσπότη να ξαναγράψει οποιαδήποτε λέξη ή γραμμή ενώ η απομαγνητοφώνηση είναι ακόμη ζωντανή, και κάθε ακροατής της μετάδοσης βλέπει την αλλαγή. Το σύστημα δείχνει στον οικοδεσπότη τους πιθανούς υποψηφίους: οι λέξεις για τις οποίες η μηχανή ήταν αβέβαιη μπορούν να χρωματιστούν και να υπογραμμιστούν, και ο οικοδεσπότης μπορεί να περάσει τα αβέβαια τμήματα ένα προς ένα, αντί να ξαναδιαβάσει ολόκληρη την απομαγνητοφώνηση. Μέσω του API, το GET /v1/recordings/{id}/corrections εμφανίζει τις διορθώσεις μιας εγγραφής και το POST /v1/corrections/{id}/revert αναιρεί μία· δείτε την αναφορά του API. Ακόμη και ένας άνθρωπος μέσα στην αίθουσα, όμως, δεν μπορεί να διορθώσει μια γραμμή που κανείς δεν άκουσε.
Το τελευταίο επίπεδο δέχεται ότι κάποιος ήχος δεν ανακτάται. Όταν μια γραμμή βαθμολογείται κάτω από το όριο εμπιστοσύνης της απομαγνητοφώνησης (confidence.hideBelow, 0.60 από προεπιλογή), οι ακροατές βλέπουν στη θέση της «Ο ήχος είναι ασαφής» αντί για μια εικασία, και η γραμμή δεν διαβάζεται ποτέ φωναχτά. Οι αναγνώστες χάνουν μια γραμμή· δεν κερδίζουν μια κατασκευασμένη.
Τα ίδια ερωτήματα που διαμόρφωσαν αυτά τα επίπεδα ισχύουν για κάθε ισχυρισμό ακρίβειας προμηθευτή, και για τον δικό μας.
Ένας σύντομος κατάλογος για την ανάγνωση κάθε ισχυρισμού ακρίβειας:
Η VocalStack δεν δημοσιεύει εσωτερικό αριθμό WER, για τον πρώτο λόγο που αναφέραμε: θα περιέγραφε το δικό μας σύνολο δοκιμών, όχι τον δικό σας ήχο. Μετράμε την ακρίβεια συνεχώς. Όπου συγκρίνουμε άλλα συστήματα, χρησιμοποιούμε δημοσιευμένα ανεξάρτητα benchmarks και αριθμούς που δημοσιεύουν οι ίδιοι οι προμηθευτές, ποτέ ιδιωτικές δοκιμές. Τα υπόλοιπα είναι για τον δικό σας ήχο να αποφασίσει.