Google till utvecklare: Så här slutar du göra dumma chatbots

I allmänhet är datorer värdelösa på att föra en konversation. De tar bara saker lite för bokstavligt. Men Google lär datorer hur man förstår nycklarna i mänskligt tal och text.





Från och med idag öppnar Google upp dessa algoritmer för externa mjukvaruutvecklare. De släppta verktygen kommer att hjälpa programmerare att bygga språkbaserade appar och tjänster som är mindre benägna för irriterande missförstånd än många av dagens chatbots. Och de borde hjälpa utvecklarna att fastna för de kraftfulla maskininlärningstekniker som Google finslipar.

Googles egen behärskning av grammatik och syntax hjälper företaget att leverera mer exakta sökresultat, och det kommer att bli allt viktigare eftersom fler av dess enheter och tjänster kommer att bero på röststyrning.

Smartphones baserade på Googles mjukvara kan naturligtvis redan röststyras, och företaget anses allmänt utveckla hemenheter, liknande Amazons Echo, som är mer beroende av röstinteraktion. Så att släppa ett verktyg som gör språkförståelsen mer tillgänglig är mycket strategiskt meningsfullt.



De flesta av våra användare interagerar med oss ​​genom språk, säger Fernando Pereira, som leder företagets insatser för förståelse av naturliga språk och maskininlärning. De ställer frågor, maskinskrivna eller talade. Och för att vi ska kunna tjäna användaren väl måste vi få våra system att förstå vad användarna vill ha.

Ett av verktygen som släpps idag, kallat SyntaxNet, kan lära sig att förstå betydelsen av ord och fraser givet deras sammanhang och vanliga användningsområden. Detta fungerar med ramverket för djupinlärning som tidigare släppts av Google, kallat TensorFlow. Och det är den mest komplexa och sofistikerade komponenten som byggts med TensorFlow hittills.

Google har också släppt en förtränad parser för engelska, kallad Parsey McParseface (en talesperson säger att företaget hade problem med att komma på ett namn när någon föreslog denna catchy moniker). Text som matas in i parsern kommer automatiskt att delas upp i syntaktiska komponenter som substantiv, verb, subjekt och objekt. Detta gör det lättare för en dator att analysera tvetydiga frågor eller kommandon korrekt.



Google förlitar sig vanligtvis på data och maskininlärning – och vissa andra tillvägagångssätt, som Facebooks, försöker faktiskt träna datorer att tolka språk genom att mata dem med stora mängder till stor del omärkta data (se Teaching Machines to Understand Us). Men Googles språkförståelseprojekt, beskrivet i ett papper online, är istället uppbyggd kring mänsklig expertis. I mer än åtta år har professionella lingvister arbetat med att kommentera text åt företaget. Och de senaste framsteg har gjorts genom att mata in dessa anteckningar till ett stort djupinlärningsnätverk.

Att förstå språk är otroligt svårt för datorer eftersom språket ofta är tvetydigt. En så enkel sökfråga som Hitta mig katter i hatt kan tolkas som en begäran om antingen katter som bär hattar eller katter som sitter i hattar. Medan människor använder allmän kunskap för att disambiguera sådana meningar, använder Googles teknik maskininlärning. Dess djupinlärningssystem, tränat med syntaktisk text, gör en bedömning om den mest sannolika korrekta strukturen för ett uttalande. När det gäller katter i hatt, förutsätter det att den som söker är intresserad av moderiktiga kattdjur.

Dave Orr, produktchefen på Google med ansvar för att hitta kommersiella tillämpningar för företagets forskning om språkförståelse, visade tekniken för mig. Han matade flera artiklar från MIT Technology Review till en intern version av språktolkaren. Den gjorde ett par triviala fel – till exempel att blanda ihop ordet vilja i början av en mening med mitt förnamn – men verkade i allmänhet kommentera meningar med imponerande noggrannhet, identifiera syntaktiska strukturer som korrekt fångar innebörden av rubriken eller leaden. Det är den bästa analysen någon har skapat, säger Orr. Vi tror att det är nära mänsklig nivå.



Internt kombinerar Google sitt naturliga språksystem med en databas med semantisk information som kallas Knowledge Graph. Detta gör att den kan känna igen särskilda föremål, människor, platser och andra koncept och reagera därefter. Systemet kan också ofta klassificera nya ord korrekt genom att jämföra dem med andra ord som förekommer i liknande sammanhang. Hittills fungerar tekniken för 15 språk. Vissa språk är mer utmanande att tolka språkligt, vilket gör träningen svårare, säger Orr.

Tekniken är dock långt ifrån kapabel att förstå engelska perfekt. Våra system fungerar bäst på välstrukturerad, välredigerad text, säger Pereira. Oegentligheten i sociala medier och sökfrågor är mer utmanande. Vi har gjort framsteg där, men det finns mycket utrymme.

Det finns också fortfarande många oklarheter som kräver en mänsklig nivå av sunt förnuft – saker som vi lär oss av erfarenhet och av instruktioner från våra kamrater och våra föräldrar, säger Pereira. Den typen av mycket rik förmåga att lösa problem är där våra system är helt förlorade.



Noah Goodman, professor vid Stanford University som forskar om språkförståelse, säger att förbättrad syntaktisk förståelse bara är början på vad datorer behöver för att behärska språket. Syntax är förvisso en viktig del av språket, säger han. Men det är ett stort steg från det till semantik och från ytlig semantik till antydd mening.

Dölj