Veel wiskunde en geen magie: hoe spraakassistenten echt werken

Assistent Zuckerberg en het besturingssysteem "Samantha": twee soorten spraaksystemen

Ik werk in een laboratorium

representatie van machine learning-gegevens.Ik geef les in twee blokken vakken aan de universiteit: één daarvan heeft betrekking op toegepast machine learning en kunstmatige intelligentie. De tweede is met zoeken en zijn variëteiten. Op het kruispunt van deze onderwerpen ligt het gebied waar ik vandaag over zal proberen te praten.

Er zijn twee manieren om te kijken naar wat isstem assistent. Stel je voor dat je een virtuele butler hebt. Zo maakte Mark Zuckerberg ongeveer vijf jaar geleden een slimme assistent in zijn huis, die hem "Jarvis" noemde. Hij wist mensen het huis binnen te laten, deuren te openen en te sluiten, gordijnen te sluiten, het licht aan te doen. Andere voorbeelden van dergelijke apparaten zijn "Alexa" en "Alice", ze leven in het apparaat en kunnen het leven verbeteren. Ze kunnen de oven, wasmachine, stofzuiger enzovoort bedienen.

Een andere manier om naar assistenten te kijken is als:koppel. In de film "She" was er een besturingssysteem genaamd "Samantha", in de Russische voice-acting had ze dezelfde stem als "Alice" van Yandex. Ze fungeerde als een interface voor het beheer van het besturingssysteem en was niet ontworpen als assistent. Apple heeft deze aanpak - Siri, Microsoft - Сortana, Google - Google Assistant.

Hoe werken ze?

Alle assistenten zijn gebouwd op een zeer vergelijkbarebeginsel. Het eerste wat hij moet doen, is de stem horen. Dit gebeurt op het apparaat van de gebruiker - een mobiele telefoon of een slimme luidspreker. De gebruiker zegt: "Alice", "Alexa", "OK Google". Na deze magische woorden is het apparaat klaar om de stem van de gebruiker op te nemen. Dit gebeurt tot op zekere hoogte - totdat de client stil is of het apparaat het wachten beu is totdat het stil is. Daarna worden de gegevens naar de server van het bedrijf gestuurd, dat de diensten levert.

Dit is waar de magie begint.De eerste bewerking is de conversie van spraak naar tekst. Iedereen zegt het anders, hoe zet ik dit om naar tekst? Dan begint waar we stemassistenten voor gebruiken: het leveren van een dienst. Dit is elke operatie die online beschikbaar is - kaartjes kopen, een tafel reserveren in een restaurant. De enige vraag is hoe u een gebruiksvriendelijke interface kunt bieden. Als het er niet is, verandert het apparaat in een prater.

Na het bellen van de dienst, moet de gebruiker:retourneer de resultaten, hiervoor dient u deze goed in te pakken. Hoogstwaarschijnlijk zal het een tekst zijn, een uitgave van een pagina op internet, een nummer, gegevens die de rekenmachine heeft berekend. De gegevens worden weer omgezet naar spraak en verzonden naar de klant.

Spraak naar tekst

Onze communicatie vindt plaats door middel van spraak, de stem isluchtbeweging rond. Deze trillingen vallen op het trommelvlies, het duwt drie botten - de stijgbeugel, het aambeeld en de hamer. Die rocken op hun beurt een orgel dat een slak wordt genoemd. We hebben de slak van vissen, hij is gevuld met water en er leven haarcellen in, ze oscilleren mee met het water in de slak. De bovenste haarcellen versterken de fluctuaties in de vloeistof en geven ze door aan het onderste deel van de haarcellen, die een elektrische impuls vormen. Deze impuls wordt doorgegeven aan de hersenen.

Bovendien zijn op verschillende plaatsen in het slakkenhuis haarcellen verantwoordelijk voor verschillende frequenties. Hoge frequenties worden in het brede gedeelte verwerkt, middenfrequenties komen in het midden en lage frequenties dichter bij het midden.

Hoe kunnen we de machine geluid als dit laten waarnemen?op dezelfde manier - niet in de vorm van een ruw signaal, maar in de vorm van een reeks frequenties? Het antwoord op deze vraag werd gegeven door de Franse wiskundige Jean Baptiste Fourier, hij woonde op de grens van de XVIII-XIX eeuw. De wetenschapper stelde een dergelijke wiskundige transformatie voor, met behulp waarvan alles hetzelfde is als in het oor - een ruw signaal wordt genomen en ontleed in frequentiecomponenten.

Wat te doen met frequentiecomponenten?We kunnen een spectrale representatie toewijzen aan een foneem, dat wil zeggen, we kunnen spraak omzetten in fonemen. Ze worden min of meer gemakkelijk algoritmisch omgezet in letters. Dat wil zeggen, we kunnen een woord krijgen van een fonetische representatie.

Maar dit is allemaal onjuist.Er zijn fonemen die enigszins verschillen, overgangen van het ene geluid naar het andere kunnen anders klinken. Ze worden senones genoemd, er zijn er ongeveer 10 duizend. Maar als er zoveel zijn, wordt de taak om woorden te definiëren veel moeilijker.

Insecten bestrijden

Hoe gaan onderzoekers om met fouten?Het antwoord op deze vraag werd gegeven door de Russische wiskundige Andrei Markov, die leefde aan het begin van de 19e-20e eeuw. Hij ontwikkelde een theorie die processen beschrijft waarbij het een uit het ander volgt. En dankzij zijn theorie werden verborgen Markov-modellen ontwikkeld. Dit is een van de eerste manieren om dit soort fouten op te lossen.

Als iemand bijvoorbeeld onduidelijk spreekt,accent of hij spreekt het woord verkeerd uit - er is een wiskundig mechanisme waarmee je met hoge nauwkeurigheid kunt herstellen en bepalen wat de persoon bedoelde. Mensen maken immers ook fouten, maar ze begrijpen elkaar, waardoor we een mechanisme hebben om fouten te corrigeren in ons hoofd.

Maar tekstweergave is niet genoeg -computer werkt met cijfers. Hoe ze te krijgen? Noam Chomsky heeft een hypothese dat we een structuur in de hersenen hebben, bovendien beschikbaar op geboorteniveau, die ons helpt om snel natuurlijke talen te leren. Chomsky bouwt, verfijnt en werkt zijn hele leven aan een model dat bepaalt welke gemeenschappelijke patronen er in een taal zijn, wat er ook gebeurt - Russisch, Engels of Chinees.

Op de dia - Chomsky's grammatica.Dit is ongeveer hetzelfde als wat ze doen in de Russische taallessen wanneer ze een zin op compositie analyseren. Er zijn zelfstandige naamwoorden, bijvoeglijke naamwoorden, onderwerpen, predikaten, werkwoordgroepen - dit alles is geformaliseerd en kan aan de machine worden getoond. Deze structuur kan gemakkelijk worden weergegeven in de vorm van getallen.

De machine kan begrijpen wat het onderwerp isvoorstel en welke actie te ondernemen. Als de klant bijvoorbeeld zegt: "Alice, zet wat muziek aan", dan zal "aanzetten" de actie zijn, "muziek" zal het object zijn waarop de actie plaatsvindt. "Alice" zal de cliënt begrijpen en actie ondernemen.

Maar de woorden zelf zijn een verzameling letters, zoalshun betekenis begrijpen? Er zijn vergelijkbare woorden - "play" en "play", zal het apparaat begrijpen dat dit hetzelfde is? Het antwoord op deze vraag werd gegeven door de Amerikaanse taalkundige Leonardo Bloomfield. Aan het begin van de twintigste eeuw stelde hij een theorie voor waarbij de betekenis van een woord wordt bepaald door de context waarin dit woord zich bevindt. Kijk naar de dia en bedenk welk woord in de plaats kan komen van drie stippen.

Mijn antwoord zou een olifant zijn, maar toen ik het vroegstudenten, zeggen ze dat er misschien een neushoorn of zelfs een giraf is. Maar over het algemeen begrijpen we dat dit een groot dier is dat in Afrika leeft en dat boos kan zijn. Als we dit alles combineren, krijgen we een semantische beschrijving van dit object zonder het woord zelf te gebruiken.

Maar als we dit digitaliseren, komen we er weltienduizenden nummers. En dankzij de Amerikaanse wiskundige Gene Golub slaagde hij erin erachter te komen hoe hij het aantal cijfers aanzienlijk kon verminderen. In plaats van getallen te gebruiken, gebruikten ze een verzameling getallen die een vector wordt genoemd. En deze vector kan worden gebruikt om nabijheid of afstand in betekenis en semantische verbondenheid te begrijpen. Je kunt dus begrijpen dat ‘spelen’ ongeveer hetzelfde is als ‘spelen’.

Nu zijn er tools waarmee je woorden kunt invoeren,en het zal duidelijk worden hoe ze zijn verdeeld op de kaart van betekenissen. Zo worden de woorden ‘giraffe’, ‘olifant’ en ‘neushoorn’ gegroepeerd en komen ze naast elkaar terecht in de ruimte van betekenissen. Deze methoden zijn geëvolueerd en zien er nu veel geavanceerder uit.

We hebben woorden gepresenteerd in de vorm van een structuur, zinnen in de vorm van een structuur, we hebben woorden gepresenteerd in de vorm van betekenissen, dit alles is in de vorm van getallen, wat nu?

Services

Elke dienst heeft honderdduizenden, miljoenen,miljarden objecten. Als we het hebben over zoeken op internet, dan zijn dat honderden miljarden pagina's, tientallen miljarden afbeeldingen. Als muziek streamen, miljoenen nummers.

Een van de eerste benaderingen voor het indexeren van gegevens −het bouwen van binaire zoekbomen. Hetzelfde wordt gebruikt in woordenboeken: je opent het in het midden, en als je het juiste woord hebt overgeslagen, scrol je terug, als je het niet hebt begrepen, ga je gang. Maar in 1962 kwamen de Sovjet-wiskundigen Georgy Adelson-Velsky en Evgeniy Landis met een datastructuur die zichzelf in een staat van snel opzoeken houdt.

Dit systeem werkt alleen op lineaire data −cijfers of woorden. En wat gebeurt er met multidimensionale data als we iets willen zoeken op een kaart of in een driedimensionale ruimte? Om dit te doen, bedachten ze structuren als kd-trees, ze kunnen perfect omgaan met de taken van het zoeken in de driedimensionale ruimte. Maar ze stopten met werken voor moderne taken, waar de tekst wordt beschreven met honderden cijfers.

Maar dankzij het theoretische werk van het einde van de twintigste eeuwEric Berninson stelde voor om zoekbomen te ontwikkelen, Anna genaamd, die kunnen worden gebruikt om een ​​goede zoekkwaliteit op grote collecties te garanderen. Dit werkt voor de hele enorme Spotify-basis - een prachtig resultaat dat pas vijf jaar geleden werd behaald.

Er zijn ook andere benaderingen:de socioloog Stanley Milgram deed bijvoorbeeld bizarre en soms onmenselijke experimenten. Hij bracht de theorie van zes handdrukken voort, dat alle mensen op aarde elkaar kennen door niet meer dan zes handdrukken. Om dit te doen, vroeg hij mensen een brief te sturen naar een vreemde. Vervolgens moesten ze uit hun kennissen degenen kiezen die bekend zouden kunnen zijn met deze persoon. En het bleek dat ze zes brieven nodig hadden om dit te doen. Het experiment werd bekritiseerd, maar herhaald in de jaren 2000 - en bevestigde de resultaten.

Dit is een geweldige eigenschap, die in de wiskundeverwierf de naam graaf "Small World". Russische wetenschappers - de groep van Yuri Malkov - stelden een interessant algoritme voor. Ze gebruikten het om overal iets te vinden. De knooppunten in deze grafiek zijn niet langer mensen, maar documenten.

In deze grafiek - de kortste afstand tussen alleeen paar objecten. Gebruikers kunnen heel snel vinden wat we nodig hebben. Deze datastructuur wordt nu gebruikt in veel bedrijven in Rusland en in het buitenland - Facebook, Mail.ru, Yandex. Een uitstekend wiskundig model dat niet alleen zoek- en aanbevelingsdiensten heeft veranderd, maar ook spraakassistenten.

Lees verder

Bekijk 's werelds eerste eentraps orbitale schip van de toekomst

Drie jaar lang geloofden wetenschappers dat er water was in het zuiden van Mars. Bleek het niet te zijn

Door waterstof aangedreven hypersonische vliegtuigen ontwikkelen snelheden tot Mach 12. Het is bijna 15.000 km/u