Automatische spraakherkenning: wat komt erbij kijken?

Vanaf begin 2021 kunnen leermaterialen ontsloten worden via edusources, het landelijk platform voor digitale leermaterialen. Op 1 plek vind je daar een groot en gevarieerd aanbod van digitale leermaterialen, zoals kennisclips, PowerPoint-presentaties, pdf’s, online e-modules en oefentoetsen. Om goed te kunnen zoeken in al die materialen, maken we gebruik van full text search. Tekstmateriaal is vrij gemakkelijk te doorzoeken, maar hoe maak je video- en audiomateriaal doorzoekbaar? Om uit die materialen de tekst de extraheren, is automatische spraakherkenning nodig. Hoe verloopt dit proces en hoe kunnen we spraakherkenning zinvol inzetten? Spraakherkenningsdeskundige Arjan van Hessen zocht dit voor ons uit.

Hij schreef er een uitgebreid rapport (pdf) over. In deze blogpost lees je de belangrijkste aspecten die bij automatische spraakherkenning komen kijken.

Nauwkeurigheid

Als je aan de slag gaat automatische spraakherkenning is het belangrijk om vast te stellen wat het doel is dat je ermee wilt bereiken. Dat bepaalt namelijk hoe nauwkeurig de spraakherkenning moet zijn, en dus ook hoeveel inspanning het kost om tot een werkbaar transcript te komen. Voor analyses van het spraaksignaal is een zeer hoge nauwkeurigheid gewenst, maar voor het ontsluiten van (open) leermaterialen is 60% correcte herkenning vaak voldoende, mits de belangrijke inhoudswoorden maar goed herkend worden.

Schema van analoog audiobestand naar doorzoekbaar digitaal bestand met video, geluid en tekst
Schema van analoog audiobestand naar doorzoekbaar digitaal bestand met video, geluid en tekst

Onderdelen van spraakherkenning

Spraakherkenning begint bij goede opnamen. Vervolgens moet je zorgen voor een goed akoestisch model en taalmodel: deze worden gebruikt door de spraakherkenningssoftware om de opnamen zo goed mogelijk om te zetten naar tekst. De resultaten moeten vervolgens nog gecorrigeerd en uiteraard gepresenteerd worden.

Opnamen

Geluidsopnamen kun je zo maken dat de audiokwaliteit “zo goed als mogelijk” wordt voor de spraakherkenning. Je kunt bijvoorbeeld achtergrondlawaai vermijden en de sprekers uitspraakinstructies geven. Ook de techniek kan helpen: als je iedere spreker via een eigen microfoon laat spreken en de overspraak tussen de microfoon beperkt, kan iedere spreker apart herkend worden. Dat kan de kwaliteit voor de herkenning verbeteren en bovendien kun je dan later zoeken op uitingen van een bepaalde spreker.

Akoestisch model

Uitspraakinformatie over een taal is opgenomen in een akoestisch model, dat gebruikt wordt bij het herkennen van spraak. Iedere taal heeft zijn eigen set betekenisdragende klanken: fonemen. Dit zijn klanken die het verschil maken in de betekenis van de verschillende woorden (een is niet hetzelfde als aan). Het aantal fonemen verschilt per taal maar ligt voor de meeste West-Europese talen op 40 à 50. De uitspraakvariatie binnen fonemen kunnen groot zijn. Zo kent het Nederlands een /o/ (als in boom) maar de realisatie ervan is in Twente duidelijk anders dan in Utrecht.

Het akoestisch model moet met alle uitspraakverschillen binnen een taal kunnen omgaan. Bovendien verandert de uitspraak in de loop van de tijd (luister maar eens naar opnamen uit de jaren ’30 of ’50) en door de komst van emigranten die hun eigen klanken meenemen die in het Nederlands een plek krijgen (denk bijvoorbeeld aan de Marokkaanse /s/). Het akoestisch model moet dus regelmatig worden geactualiseerd.

Taalmodel

Ook het taalmodel speelt een grote rol bij automatische spraakherkenning. Hierin is vastgelegd wat er hoe gezegd wordt: welke woorden en woordcombinaties worden gebruikt om in een bepaalde context iets te zeggen? Het woordgebruik bij een vergadering van chirurgen over het menselijk hart zal anders zijn dan bij een les over hetzelfde onderwerp voor basisschoolkinderen.

Een taalmodel is eenvoudig gezegd een statistisch model dat aangeeft hoe groot de kans is op woord X gegeven de woorden A+B+C. Het wordt gemaakt door grote hoeveelheden tekst te verzamelen en daar alle combinaties van (in dit voorbeeld) 4 opeenvolgende woorden te verzamelen. Het nadeel van deze methode is dat op deze manier eigenlijk voorspeld wordt welk woord geschreven zal worden, gegeven de woorden A+B+C. Gesproken taal is anders dan geschreven taal. In het ideale geval zou een taalmodel gemaakt moeten worden op basis van de transcripten van spraak, maar in de praktijk is dat lastig en duur om te doen.

Correctie

Het herkennen van spraak is een veel complexere taak dan het “simpel” overzetten van geluid in tekst. Mensen houden bij het spreken meestal sterk rekening met hun verwachtingen over hun gehoor en zullen woorden die door de context goed voorspelbaar zijn, ‘sloppy’ kunnen uitspreken zonder dat de boodschap verloren gaat. Een woord als hepatosplenomegalie zal door een arts tijdens een lezing voor collega’s rommelig kunnen worden uitgesproken: ze weten toch wel wat er bedoeld wordt. Hetzelfde geldt voor algemene woorden die slechts als vulling voor de boodschap dienen. Verder maken alle mensen fouten in hun uitspraak en maakt de spraakherkenner fouten bij het herkennen van de spraak.

Dit houdt in dat je automatisch gegenereerde transcripten altijd moet controleren, en meestal ook corrigeren. Hierbij speelt ook het doel van de transcripties een duidelijke rol. Gaat het om een verbatim transcriptie, om een grammaticaal correcte tekst die erg dicht bij de spraak blijft of om een leesbare samenvatting van die “real time” kan worden meegelezen (bijvoorbeeld ondertitels)?

Alle vormen anders dan een verbatim transcriptie zijn in wezen interpretaties van de spraak en hebben hun eigen mores. Voorop moet staan: wat is het doel van de herkenning en hoe ga je dat zo goed mogelijk met zo weinig mogelijk inspanning bereiken?

Presentatie van de resultaten

Een spraakherkenner levert in principe een CSV/XML-tabel met herkende woorden op, inclusief de starttijd, eindtijd en geschatte betrouwbaarheid van de herkenning. Voor verdere processing is dit voldoende, maar voor het lezen dan gebruiken door mensen is het niet voldoende. Afhankelijk van wat je ermee wil, moet je de  herkende woorden nog omzetten naar bijvoorbeeld een tekst, ondertitels of karaoke-vorm (waarbij het gesproken woord wordt gehighlight tijdens het afspelen van het audio- of videobestand).

Verschillende presentatie modi van spraakherkenning. De basis is een tabel met herkende woorden, starttijd, duur en de waarschijnlijkheid.
Verschillende presentatie modi van spraakherkenning. De basis is een tabel met herkende woorden, starttijd, duur en de waarschijnlijkheid.

Vervolgstappen in 2021

Begin 2021 komt edusources beschikbaar als landelijk platform voor digitale leermaterialen. Om goed te kunnen zoeken in al die materialen, maakt edusources gebruik van full text search. Er is een grote behoefte om videocontent open te delen. Dat bleek uit het visietraject videolearning, dat onlangs werd uitgevoerd in opdracht van SURF in samenwerking met onderwijsinstellingen (link). Eén van de aanbevelingen uit het visietraject is dat SURF moet werken aan een strategie om videocontent te kunnen blijven vinden en classificeren.

De verkenningen die we in 2020 uitvoerden naar spraakherkenning in combinatie met full text search lijken veelbelovend voor het beter vindbaar maken van videocontent. Naast dit onderzoek van Arjan van Hessen deed SURF in samenwerking met VU Amsterdam en EUR een technologische verkenning. Op 28 januari 2021 organiseren we van 13-14 uur een webinar waarin de uitkomsten van deze verkenning gedemonstreerd worden. In 2021 willen we vanuit SURF, in samenwerking met de versnellingszone naar (open) digitale leermaterialen, vervolgstappen zetten om spraakherkenning verder te verkennen, aan gespecialiseerde taalmodellen te werken en spraakherkenning uiteindelijk toe te voegen als functionaliteit aan edusources om in de nabije toekomst video efficiënter en beter te kunnen ontsluiten.

Meer informatie en & inschrijven voor webinar “Verbeteren doorzoekbaarheid van videomaterialen” op 28 januari 2021.

Lees het volledige rapport van Arjan van Hessen (pdf)

Author

Comments

Dit artikel heeft 0 reacties