Mycket matematik och ingen magi: hur röstassistenter faktiskt fungerar

Assistent Zuckerberg och operativsystemet "Samantha": två typer av röstsystem

Jag arbetar i ett laboratorium

maskininlärningsdatarepresentation.Jag undervisar i två block av ämnen på universitetet: ett av dem är relaterat till tillämpad maskininlärning och artificiell intelligens. Den andra är med sök och dess varianter. I skärningspunkten mellan dessa ämnen ligger området som jag ska försöka prata om idag.

Det finns två sätt att se på vad som ärröstassistent. Föreställ dig att du har en virtuell butler. Till exempel, för ungefär fem år sedan, gjorde Mark Zuckerberg en smart assistent i sitt hem, kallade honom "Jarvis". Han visste hur han skulle släppa in människor i huset, öppna och stänga dörrar, gardiner, tända ljuset. Andra exempel på sådana enheter är "Alexa" och "Alice", de bor i enheten och kan förbättra livet. De kan styra ugnen, tvättmaskinen, dammsugaren och så vidare.

Ett annat sätt att se på assistenter är somgränssnitt. I filmen "She" fanns ett operativsystem som heter "Samantha", i det ryska röstskådespeleriet hade hon samma röst som "Alice" från Yandex. Hon fungerade som ett gränssnitt till operativsystemhantering och var inte designad som assistent. Apple har detta tillvägagångssätt - Siri, Microsoft - Сortana, Google - Google Assistant.

Hur fungerar de?

Alla assistenter är byggda på en mycket liknandeprincip. Det första han behöver göra är att höra rösten. Detta händer på användarens enhet - en mobiltelefon eller en smart högtalare. Användaren säger: "Alice", "Alexa", "OK Google". Efter dessa magiska ord är enheten redo att spela in användarens röst. Detta händer upp till en viss punkt - tills klienten är tyst eller enheten är trött på att vänta tills den är tyst. Därefter skickas uppgifterna till företagets server som tillhandahåller tjänsterna.

Det är här magin börjar.Den första operationen är tal-till-text-konvertering. Alla säger olika, hur konverterar jag detta till text? Sedan börjar det vi använder röstassistenter till – tillhandahållandet av en tjänst. Detta är vilken operation som helst som är tillgänglig online - köpa biljetter, boka bord på en restaurang. Frågan är bara hur man tillhandahåller ett användarvänligt gränssnitt. Om den inte finns där förvandlas enheten till en talare.

Efter att ha ringt tjänsten behöver användarenreturnera resultaten, för detta måste du packa dem ordentligt. Troligtvis kommer det att vara en text, en fråga från en sida på Internet, en låt, data som räknaren beräknade. Data konverteras tillbaka till tal och överförs till klienten.

Tal till text

Vår kommunikation sker genom tal, det är röstenluftrörelser runt. Dessa vibrationer faller på trumhinnan, det trycker tre ben - stigbygeln, städet och hammaren. De i sin tur rockar en orgel som kallas snigel. Vi fick snigeln från fisk, den är fylld med vatten och det bor hårceller i den, de pendlar tillsammans med vattnet i snigeln. De övre hårcellerna förstärker fluktuationerna i vätskan och överför dem till den nedre delen av hårcellerna som bildar en elektrisk impuls. Denna impuls överförs till hjärnan.

Dessutom, på olika platser i snäckan är hårcellerna ansvariga för olika frekvenser. Höga frekvenser bearbetas i den breda delen, mellanfrekvenser kommer att vara i mitten och låga frekvenser närmare mitten.

Hur kan vi få maskinen att uppfatta ljud så härpå samma sätt - inte i form av en råsignal, utan i form av en uppsättning frekvenser? Svaret på denna fråga gavs av den franske matematikern Jean Baptiste Fourier, han bodde på gränsen till XVIII-XIX århundraden. Forskaren föreslog en sådan matematisk transformation, med hjälp av vilken allt är detsamma som i örat - en råsignal tas och bryts ner i frekvenskomponenter.

Vad ska man göra med frekvenskomponenter?Vi kan mappa en spektral representation till ett fonem, det vill säga vi kan omvandla tal till fonem. De omvandlas mer eller mindre lätt algoritmiskt till bokstäver. Det vill säga vi kan få ett ord från en fonetisk representation.

Men allt detta är felaktigt.Det finns fonem som skiljer sig något, övergångar från ett ljud till ett annat kan låta olika. De kallas senoner, det finns cirka 10 000. Men när det är så många av dem blir uppgiften att definiera ord mycket svårare.

Bekämpa buggar

Hur hanterar forskare fel?Svaret på denna fråga gavs av den ryske matematikern Andrei Markov, som levde i början av 1800- och 1900-talet. Han utvecklade en teori som beskriver processer där den ena följer av den andra. Och tack vare hans teori utvecklades dolda Markov-modeller. Detta är ett av de första sätten att åtgärda fel av detta slag.

Till exempel, när en person talar otydligt, hanaccent eller han uttalar ordet fel - det finns en matematisk mekanism som låter dig återställa och bestämma med hög noggrannhet vad personen menade. Människor gör trots allt också misstag, men de förstår varandra, vilket gör att vi har en mekanism för att rätta till fel i våra huvuden.

Men textrepresentation räcker inte -datorn fungerar med siffror. Hur får man tag i dem? Noam Chomsky har en hypotes om att vi har en struktur i hjärnan, dessutom tillgänglig på födelsenivå, vilket hjälper oss att snabbt lära oss naturliga språk. Chomsky bygger, förfinar och arbetar under hela sitt liv efter en modell som avgör vilka vanliga mönster som finns på ett språk, oavsett vad - ryska, engelska eller kinesiska.

På bilden - Chomskys grammatik.Det är ungefär samma sak som de gör på ryska språklektioner när de analyserar en mening för komposition. Det finns substantiv, adjektiv, ämnen, predikat, verbgrupper - allt detta är formaliserat och kan visas för maskinen. Denna struktur är lätt representerad i form av siffror.

Maskinen kan förstå vad ämnet är iförslag och vilka åtgärder som ska vidtas. Till exempel, om klienten säger: "Alice, sätt på lite musik," så kommer "slå på" att vara handlingen, "musik" kommer att vara objektet som handlingen äger rum på. "Alice" kommer att förstå klienten och börja vidta åtgärder.

Men själva orden är en samling bokstäver, somförstår deras betydelse? Det finns liknande ord - "play" och "play", kommer enheten att förstå att detta är samma sak? Svaret på denna fråga gavs av den amerikanske lingvisten Leonardo Bloomfield. I början av 1900-talet föreslog han en teori där betydelsen av ett ord bestäms av det sammanhang i vilket detta ord finns. Titta på bilden och fundera på vilket ord som kan ersättas med tre punkter.

Mitt svar skulle vara en elefant, men när jag frågadeelever, säger de att det kan finnas en noshörning eller till och med en giraff. Men generellt sett förstår vi att det här är ett stort djur som lever i Afrika och som kan vara argt. Om vi ​​kombinerar allt detta får vi en viss semantisk beskrivning av detta objekt utan att använda själva ordet.

Men om vi digitaliserar det här så får vi dettiotusentals nummer. Och tack vare den amerikanske matematikern Gene Golub lyckades han ta reda på hur man avsevärt skulle minska antalet siffror. Istället för att använda siffror använde de en samling tal som kallas vektor. Och denna vektor kan användas för att förstå närhet eller avstånd i betydelse, semantisk släktskap. Så du kan förstå att "lek" är ungefär detsamma som "lek".

Nu finns det verktyg där du kan skriva in ord,och det kommer att bli tydligt hur de är fördelade på betydelsekartan. Till exempel är orden "giraff", "elefant" och "noshörning" grupperade och hamnar sida vid sida i betydelsernas rymd. Dessa metoder har utvecklats och ser nu mycket mer avancerade ut.

Vi har presenterat ord i form av en struktur, meningar i form av en struktur, vi har presenterat ord i form av betydelser, allt detta är i form av siffror, vad händer härnäst?

tjänster

Varje tjänst har hundratusentals, miljoner,miljarder föremål. Om vi ​​pratar om att söka på Internet är det hundratals miljarder sidor, tiotals miljarder bilder. Om musik streamas, miljontals låtar.

En av de första metoderna för dataindexering −bygga binära sökträd. Detsamma används i ordböcker: du öppnar det i mitten, och om du hoppade över rätt ord, rulla tillbaka, om du inte förstod det, fortsätt. Men 1962 kom de sovjetiska matematikerna Georgy Adelson-Velsky och Evgeniy Landis med en datastruktur som håller sig i ett tillstånd av snabb återhämtning.

Detta system fungerar endast på linjära data −siffror eller ord. Och vad händer med flerdimensionell data om vi vill söka efter något på en karta eller i tredimensionell rymd? För att göra detta kom de med sådana strukturer som kd-träd, de klarar perfekt av uppgifterna att söka i tredimensionellt utrymme. Men de slutade arbeta för moderna uppgifter, där texten beskrivs med hundratals siffror.

Men tack vare det teoretiska arbetet i slutet av nittonhundrataletEric Berninson föreslog utvecklingen av sökträd, kallade Anna, som kan användas för att garantera god sökkvalitet på enorma samlingar. Detta fungerar för hela den stora Spotify-basen - ett underbart resultat som erhölls för bara fem år sedan.

Det finns också andra tillvägagångssätt:till exempel utförde sociologen Stanley Milgram bisarra och ibland omänskliga experiment. Han födde teorin om sex handslag, att alla människor på jorden känner varandra genom inte mer än sex handslag. För att göra detta bad han folk att skicka ett brev till en främling. De fick sedan välja bland sina bekanta dem som kunde vara bekanta med denna person. Och det visade sig att det tog sex bokstäver för dem att göra detta. Experimentet kritiserades, men upprepades på 2000-talet – och bekräftade resultaten.

Detta är en fantastisk egenskap, som i matematikfick namnet greve "Small World". Ryska forskare - gruppen Yuri Malkov - föreslog en intressant algoritm. De använde den för att hitta vad som helst var som helst. Noderna i denna graf är inte längre människor, utan dokument.

I denna graf - det kortaste avståndet mellan någonett par föremål. Användare kan hitta det vi behöver mycket snabbt. Denna datastruktur används nu i många företag i Ryssland och utomlands - Facebook, Mail.ru, Yandex. En utmärkt matematisk modell som har förändrat inte bara sök- och rekommendationstjänster, utan också röstassistenter.

Läs mer

Se världens första enstegs orbitalfartyg i framtiden

I tre år trodde forskare att det fanns vatten i södra Mars. Det visade sig att det inte var det

Ett hypersoniskt vätgasdrivet flygplan kan nå hastigheter på upp till 12 Mach. Det är nästan 15 000 km/h