Vi kan prata med nästan alla våra prylar nu, men exakt hur fungerar det? När du frågar “Vilken låt är det här?” eller säg “Ring mamma”, ett mirakel av modern teknik händer. Och även om det känns som att det är i framkant, går idén om att prata med enheter tillbaka årtionden – nästan lika långt som jetpacks inom science fiction!
Idag ligger huvuddelen av uppmärksamheten på röststyrd datoranvändning på smartphones. Apple, Amazon, Microsoft och Google är överst i kedjan, var och en erbjuder sitt eget sätt att prata med elektronik. Du visste vilka de är: Siri, Alexa, Cortana och det namnlösa “Ok, Google”-väsen. Vilket väcker en stor fråga…
Hur tar en enhet talade ord och omvandlar dem till kommandon som den kan förstå? I huvudsak handlar det om mönstermatchning och att göra förutsägelser baserat på dessa mönster. Mer specifikt är röstigenkänning en komplex uppgift som kommer från Akustisk modellering och Språkmodellering.
Akustisk modellering: vågformer och telefoner
Akustisk modellering är processen att ta en vågform av tal och analysera den med hjälp av statistiska modeller. Den vanligaste metoden för detta är Dold Markov-modellering, som används i vad som kallas uttalsmodellering för att dela upp tal i komponenter som kallas telefoner (inte att förväxla med faktiska telefonenheter). Microsoft har varit en ledande forskare inom detta område i många år.
Hidden Markov Modeling: Sannolikhetstillstånd
Hidden Markov Modeling är en prediktiv matematisk modell där det aktuella tillståndet bestäms genom att analysera resultatet. Wikipedia har ett bra exempel med två vänner.
Föreställ dig två vänner – Local Friend och Remote Friend – som bor i olika städer. Local Friend vill ta reda på hur vädret är där Remote Friend bor, men Remote Friend vill bara prata om vad han gjorde den dagen: promenerade, shoppade eller städade. Sannolikheten för varje aktivitet beroende på dagens väder.
Låtsas att detta är den enda information som finns tillgänglig. Med den kan Local Friend hitta trender i hur vädret förändrades från dag till dag, och med hjälp av dessa trender kan hon börja göra välgrundade gissningar om vad dagens väder kommer att bli baserat på hennes väns aktivitet igår. (Du kan se ett diagram över systemet ovan.)
Om du vill ha ett mer komplext exempel, kolla in det här exemplet på Matlab. Inom röstigenkänning jämför denna modell i huvudsak varje del av vågformen med vad som kommer före och vad som kommer efter, och mot en ordbok över vågformer för att ta reda på vad som sägs.
I huvudsak, om du gör ett “th” ljud, kommer det att kontrollera det ljudet mot de mest troliga ljuden som vanligtvis kommer före och efter det. Kanske betyder det att man kontrollerar mot “e”-ljudet, “at”-ljudet och så vidare. När mönstret stämmer överens har det hela ditt ord. Detta är en alltför förenkling, men du kan se hela Microsofts förklaring här.
Språkmodellering: Mer än ljud
Akustisk modellering hjälper din dator att förstå dig, men hur är det med homonymer och regionala variationer i uttalet? Det är där språkmodellering kommer in i bilden. Google har drivit mycket forskning inom detta område, främst genom användning av N-gram modellering.
När Google försöker förstå ditt tal gör det det baserat på modeller som härrör från dess enorma bank av röstsökning och YouTube-transkriptioner. Alla dessa lustigt felaktiga videotexter har faktiskt hjälpt Google att utveckla sina ordböcker. Dessutom använde de den avlidna GOOG-411 för att samla in information om hur människor pratar.
Hela den här språksamlingen skapade ett stort utbud av uttal och dialekter, vilket skapade en robust ordbok över ord och hur de låter. Detta möjliggör matchningar som har en kraftigt reducerad felfrekvens än brute force-matchning baserat på råa sannolikheter. Du kan läsa en kort artikel som beskriver deras metoder här.
Medan Google är ledande inom detta område, finns det andra matematiska modeller som utvecklas, inklusive modeller för kontinuerliga rymd och positionella språkmodeller, som är mer avancerade tekniker som kommer från forskning inom artificiell intelligens. Dessa metoder är baserade på att replikera den typ av resonemang människor gör när de lyssnar på varandra. Dessa är mycket mer avancerade både när det gäller tekniken bakom dem, men också den matematik och programmering som behövs för att kartlägga dessa modeller.
N-Gram-modellering: Sannolikhet möter minne
N-gram Modellering fungerar baserat på sannolikheter, men den använder en befintlig ordbok för att skapa ett förgrenat träd av möjligheter, som sedan jämnas ut för effektivitetens skull. På sätt och vis betyder det att N-gram Modeling gör bort mycket av osäkerheten i den tidigare nämnda Hidden Markov Modeling.
Som nämnts ovan kommer denna metods styrka från att ha en stor ordbok över ord och användande, inte bara primitiv ljud. Detta ger programmet möjlighet att se skillnad på homofoner, som “beat” och “beet”. Det är kontextuellt, vilket betyder att när du pratar om gårdagens resultat, så drar programmet inte upp ord om borsjtj.
Men dessa modeller är faktiskt inte de bästa för språk, främst på grund av problem med sannolikheter för ord i längre fraser. När du lägger till fler ord i en mening, blir den här modellen lite sämre eftersom dina tidiga ord sannolikt inte har laddat allt som behövs för din fullständiga tanke.
Men det är enkelt och lätt att implementera, vilket gör det till en bra match för ett företag som Google som tycker om att kasta servrar på beräkningsproblem. Du kan läsa vidare på N-gram Modelieng vid University of Washington, eller så kan du se en föreläsning på Coursera.
Shouting at Clouds: Appar och enheter
Alla som har använt Siri känner till frustrationen med en långsam nätverksanslutning. Detta beror på att dina kommandon till Siri skickas över nätverket för att avkodas av Apple. Cortana för Windows-telefon kräver också en nätverksanslutning för att fungera korrekt. Däremot är Amazons Echo bara en Bluetooth-högtalare utan internet.
Varför skillnaden? Eftersom Siri och Cortana behöver tunga servrar för att avkoda ditt tal. Kan det göras på din telefon eller surfplatta? Visst, men du skulle döda din prestanda och batteritid i processen. Det är bara mer meningsfullt att överföra bearbetningen till dedikerade maskiner.
Tänk på det så här: ditt kommando är en bil som har fastnat i leran. Du kan förmodligen driva ut det själv med tillräckligt med tid och ansträngning, men det kommer att ta timmar och göra dig utmattad. Istället ringer du vägassistans och de drar ut din bil på bara några minuter. Nackdelen är att du måste ringa och vänta på dem, men det är fortfarande snabbare och mindre belastande.
Desktopmodeller som Nuance tenderar att använda lokala resurser på grund av den mer kraftfulla hårdvaran. När allt kommer omkring, med Steve Jobs ord, är ditt skrivbord en lastbil. (Vilket gör det lite dumt att OS X använder servrar för sin bearbetning.) Så när du behöver bearbeta språk och röst är det redan tillräckligt välutrustat för att hantera det på egen hand.
Å andra sidan tillåter Android utvecklare att inkludera offline taligenkänning i sina appar. Google gillar att gå före tekniken, och du kan slå vad om att de andra plattformarna kommer att få denna förmåga när deras hårdvara blir kraftfullare. Ingen gillar när dålig täckning eller dålig mottagning lobotomiserar sin enhet.
Börja använda röstkommandon nu
Nu när du känner till de grundläggande begreppen bör du leka med dina olika enheter. Testa den nya röstinmatningen i Google Dokument. Som om webbkontoret inte redan var tillräckligt kraftfullt låter röststyrning dig helt diktera och formatera dina dokument. Detta utökar den kraftfulla teknik som de redan har designat för Chrome och Android.
Andra idéer inkluderar att ställa in din Mac för att använda röstkommandon och ställa in ditt Amazon Echo med automatisk utcheckning. Lev i framtiden och omfamna att prata med dina prylar – även om du bara beställer fler pappershanddukar. Om du är en smartphonemissbrukare har vi också handledningar för Siri, Cortana och Android.
Vilken är din favorit användning av röststyrning? Låt oss veta i kommentarerna.
Bildkrediter: T-flex via Shutterstock, Terencehonles via Wikimedia Foundation, Arizona State, Cienpies Design via Shutterstock [Broken URL Removed]
Om författaren
Michael McConnell (44 artiklar publicerade)
Michael använde inte en Mac när de var dömda, men han kan koda i Applescript. Han har examen i datavetenskap och engelska; han har skrivit om Mac, iOS och videospel ett tag nu; och han har varit en IT-apa dagtid i över ett decennium, specialiserad på skript och virtualisering.
Mer från Michael McConnell
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
