> Weblog > 31 januari 2013

Spraakherkenning: bestemming bereikt?

“Ik wil nu van Alkmaar naar Berlijn”, zei ik tegen mijn telefoon. En meteen toonde de Reisplanner-app van de NS de eerstvolgende trein, inclusief vertrektijd, overstap en aankomsttijd op Berlin Hauptbahnhof. Door tegen de app te praten krijg ik sneller een reisadvies dan wanneer ik zelf de stationsnamen moet intikken. De app herkent ook vragen à la “Wat zijn de vertrektijden van Amsterdam Muiderpoort” en “Wat kost een enkele reis van Rotterdam naar Den Haag Centraal”.

De NS-app is zomaar een voorbeeld van een handige toepassing van spraakherkenning. Voor automobilisten is er de luisterende TomTom. De techniek wordt steeds vaker gebruikt, vooral bij diensten waar een computer goedkoper is dan een medewerker. Als de krant niet bezorgd is, kunnen we postcode en huisnummer inspreken om de krant alsnog in de bus te krijgen. Heel wat geavanceerder is dicteersoftware, die immers niet alleen de cijfers en letters van de postcode maar eigenlijk alle tekst moet herkennen. In dit artikel proberen we kort uit te leggen hoe het allemaal werkt.

spraakgolf

Om te bepalen wat er bedoeld wordt, gebruikt de NS-app vermoedelijk een relatief eenvoudige techniek die bekend staat als 'vaste grammatica'. De app herkent een beperkt aantal patronen, bijvoorbeeld “Ik wil van naar ”. Een alternatieve formulering als “Morgen zou ik graag willen instappen in Zwolle en uitstappen in Tilburg” wordt niet herkend, terwijl een loketmedewerker me waarschijnlijk wel het juiste kaartje had gegeven. Om het gebruik van dergelijke alternatieven te voorkomen, toont de app voorbeeldzinnen aan de gebruiker.


Spraak naar tekst

 

 

Voordat de app een patroon kan herkennen in een tekst, moeten de opgevangen geluiden worden omgezet naar tekst. Daarbij kan gebruik worden gemaakt van een drietal hulpmiddelen: spraakcorpus, lexicon en sequenties.

De software probeert uit het opgenomen geluid fonemen te destilleren: de kleinst mogelijke klankeenheden. Het Nederlands kent er ongeveer veertig, bijvoorbeeld s en ui. Om ze te herkennen wordt een spraakcorpus gebruikt, een bestand met zoveel mogelijk verschillende uitspraken van klanken.

Aan elkaar geplakte fonemen worden opgezocht in een lexicon, een lijst met fonetische transcripties van alle Nederlandse woorden. Dat is een forse lijst: een eenvoudig woordenboek Nederlands kent al zo'n 50.000 woorden, het Woordenboek der Nederlandsche Taal ongeveer 400.000. Met verbuigingen en uitspraakvarianten loopt het aantal fonetische transcripties snel op. Samenstellingen, persoons- en plaatsnamen ontbreken normaal gesproken in een lexicon, simpelweg omdat er te veel zijn.

Slimmere spraakherkenningssoftware gebruikt niet alleen een lexicon om woorden af te leiden. Uit grote tekstbestanden worden veel voorkomende woordcombinaties afgeleid, sequenties. Daarmee probeert de software dan te voorspellen welk woord er volgt op de twee of drie voorgaande. Het laatste woord van de zin “Hij is wereldkampioen [..]” is hoogst waarschijnlijk “geworden”, “geweest” of de naam van een sport.

Hoe beter spraakcorpus, lexicon en sequentiebestand, hoe betrouwbaarder de vertaling van spraak naar tekst.

Diensten

Diverse bedrijven werken aan de ontwikkeling van spraakherkenning. De app van de NS gebruikt een spraakherkenningsdienst van Google. Het opgenomen geluid wordt naar Google gestuurd en komt terug in de vorm van tekst, die de app zelf verder verwerkt. In de Lage Landen kenden we Lernout & Hauspie uit Ieper, het bedrijf dat op een gegeven moment 10 miljard dollar waard was maar in 2001 ten onder ging aan boekhoudschandalen. De technologie van L&H kwam in handen van het huidige Nuance Communications, een Amerikaans bedrijf. Nuance levert aan Microsoft en volgens onbevestigde berichten ook aan Apple, voor de spraakgestuurde iPhone-assistent Siri.

Spraakherkenning wordt langzaam maar zeker beter, maar heeft nog een lange weg te gaan. Het menselijk taalvermogen heeft zich gedurende tienduizenden jaren ontwikkeld; het zou wel heel bijzonder zijn als we dat binnen een paar jaar aan computers zouden kunnen leren. Voorlopig kunnen we voor snelle, foutloze spraakverwerking niet zonder tolken. Maar wie weet worden de omroepberichten op het station van Berlijn ooit rechtstreeks vertaald in het oortje van mijn telefoon.

Freek Roset

reacties