>> [MUSIK SPELA]
>> DAVID MALAN: Detta är CS50.
Detta är slutet av vecka 10.
Och pojke, har vi en bra klass för dig idag.
Vi är så glada att bjuda in två av våra vänner från Yale upp till oss i dag
och att titta på skärningspunkten mellan artificiell intelligens, robotik,
naturliga språk, och mer.
>> Och faktiskt, över senaste veckorna, vi har
säkert tillbringade en hel del tid, särskilt i de tidigare psets,
med fokus på ganska låg nivå detaljer.
Och det är mycket lätt att glömma bort av skogen för alla träd
och få hängas upp på loopar och villkor och pekare, förvisso, och liknande.
Men verkligheten är ni nu har ingredienser som du verkligen kan
lösa några intressanta problem, bland dem dessa som våra vänner på Yale
arbeta på bara blyg av Cambridge.
>> Så låt mig först med att introducera vårt huvud lärarassistent från Yale, Andy.
>> [APPLÅDER]
>> ANDY: Först av allt, bara tacka du för att låta ett par Yalies
pop ner till Cambridge idag.
Vi uppskattar verkligen det.
Dels till våra vänner tillbaka home-- Jason,
Tack för att stanna och köra föreläsning.
Hoppas det är allt bra i New Haven.
>> Så ja, jag är superglad att införa SCAZ idag.
SCAZ driver robotlabb.
Han är professor i, typ, fem olika avdelningar vid Yale.
I sitt labb, har han många, många robotar som han gillar att leka med.
Han har, liksom den coolaste jobbet i världen.
Och han får typ av röran runt med det hela dagen
lång och göra en del arbete, liksom.
>> Och så att vi faktiskt tog en Av dem ner med oss ​​i dag.
Så utan vidare, är SCAZ kommer att gå vidare och presentera oss
till sin robot vän.
>> [APPLÅDER]
BRIAN Scassellati: Tack, David.
Tack, Andy.
Det är så underbart att vara här med alla idag.
Jag vill först vara mycket tydligt att den CS50 personal här i Cambridge
har varit otroligt gästvänliga för oss.
Vi är så tacksamma för allt de har gjort för att stödja oss.
Och så skulle vi vilja kunna att återvända vänlighet.
>> Så idag, vi får tillkännage att vi kommer att ha en ny,
one-of-a-kind CS50 händelse händer i New Haven nästa vecka.
Och detta är CS50 Research Expo.
Så vi kommer att bjuda in everyone-- CS50 studenter,
personal från både Harvard och Yale-- till komma ner och besöka oss på fredag.
Vi kommer att ha ett brett utbud av mer än 30 olika personer som uppvisar
och exhibiting-- upperclassmen visar ut en del av sina forskningsprodukter.
Vi kommer att ha några starter, med, ser för en liten bit av ny teknik talang,
startups från både Harvard och Yale.
Och vi kommer att ha vissa elevgrupper letar efter något nytt medlemskap.
>> Det kommer att bli en mycket spännande tid.
Förhoppningsvis de av er som är coming down för Harvard-Yale spel
kommer att kunna stoppa med lite tidigt,
mitt i centrum av campus, Sterling Memorial Library.
Vi kommer att ha en uppsättning utställningar som sträcker sig från autonoma
segelbåtar till sätt att använda programvara att bevara medeltida handskrifter.
>> Vi kommer att ha en annons hoc-nätverk och människor
pedagogisk programvara kodning i Kapstaden.
Vi kommer att ha dator musik demonstrationer.
Och vi kommer naturligtvis att ha flera robotar.
Så vi hoppas att du ansluta sig till oss för detta evenemang.
Det bör finnas en hel del roligt, lite mat,
och en hel del intressant saker att prata om.
>> Så idag ska vi prata om behandling av naturligt språk.
Och detta är ett försök för oss att bygga ett nytt sätt att samverkan
med våra produkter på grund av under de senaste veckorna,
du har fokuserats på hur det är att Du kan skriva kod, skriva program
det är ett sätt att kunna säga till en maskin, detta är vad jag vill att du gör.
>> Men vi ska inte behöva förvänta sig att allt
det är där ute som används av alla i världen
kommer att vara skickliga i denna typ av undervisning.
Så vi skilja mellan dator språk och naturliga languages--
det vill säga saker som människor använder att kommunicera med andra människor.
Och vi försöker att bygga gränssnitt som använder dessa naturliga kommunikationsmekanismer.
>> Nu, precis som alla andra ämne att vi har börjat med i CS50,
Vi ska börja med den enklaste bit av naturligt språk
att vi kan föreställa oss.
Vi kommer att börja med historiska delen av naturligt språk.
Och sedan ska vi bygga upp till fler och fler nya system
och har några roliga demonstrationer längs vägen.
>> Så vi kommer att börja med vad som var förmodligen den första naturligt språk
behandlingssystemet.
Detta var ett programvarusystem skrivet i 1966 av Joseph Weizenbaum kallas ELIZA.
Och Eliza var avsedd att replikera typ av interaktion
du skulle ha med en Rogerian psykoterapeut.
Nu är Rogerians, de hade en idé som psykoterapi
inblandade att kunna spegla tillbaka till en patient och prata med dem,
princip, bara genom att ge dem en liten, liten bit av terapeuten.
Det vill säga, allt att terapeuten sa
var tänkt att vara bara en återspegling av vad patienten berättade för dem.
>> Så låt oss försöka och demo redan.
Har vi en volontär som skulle vara villiga att dela sin djupaste,
mörkaste, och / eller falska hemligheter med ELIZA?
Visst, varför inte du kommer på dig.
Fantastisk.
Och ditt namn?
>> MILES: Miles.
>> BRIAN Scassellati: Miles.
Trevligt att träffa dig, Miles.
Om du vill hålla fast vid det.
Och vi kommer att Använd en version av ELIZA
att vi har replik inom CS50 IDE.
Och vi kommer att titta på käll kod till detta om en liten stund.
Men just nu, vi är bara kommer att åberopa den genom att skriva eliza.
>> Och Eliza kommer att ge dig svar som kommer att vara i alla huvudstäder.
Och kommer att ställa några frågor.
Och vi kommer att svara och skriv i svar på ELIZA.
Så ELIZA har sagt: "Hej, jag heter ELIZA.
Vad är ditt problem?"
Vad skulle du vilja berätta ELIZA om idag?
>> MILES: Jag kan bara somna om jag har kaninhäftklammermatare på.
>> BRIAN Scassellati: Okej.
Okej.
>> [SKRATT]
>> "Jag kan bara somna med kaninhäftklammermatare på. "
Och Eliza säger "Säg, gör du har några psykiska problem?
Kanske detta är en bra indikator. "
>> OK.
Så vad vill du svara?
>> MILES: Ja.
>> BRIAN Scassellati: Ja.
Man med många ord.
Jag tycker det.
Eliza säger: "Du verkar ganska positiv."
>> MILES: Nej, jag är i själva verket en elektron.
>> BRIAN Scassellati: "Nej.
I själva verket är jag en elektron. " "Har du kommit till mig
eftersom du är en elektron? "
Nu kan vi se några av den saker-- jag ska
att pausa dig för bara en sekund, Miles.
Inte gå någonstans.
Vi är inte klar med dig än.
ELIZA är, på sätt och vis, att svara på vissa saker
att han säger, men utan någon verklig förståelse.
Och det är också parroting tillbaka en del av de delar av sitt straff.
>> Så vi sa, "Nej.
I själva verket är jag en elektron. "
Eliza svarade tillbaka, "Har du kommit för mig eftersom du är en elektron? "
Okej.
Låt oss ge det en mer svar här.
Ge det en bra, Miles.
>> MILES: Bra ett?
>> Ja, snälla hjälp mig.
BRIAN Scassellati: "Ja.
Snälla hjälp mig. "" Är du säker? "
MILES: Nej
BRIAN Scassellati: Nej
"Vad betyder det föreslår till dig?"
>> MILES: Jag kan inte vara en elektron.
>> BRIAN Scassellati: "Jag kanske inte är en elektron. "
"Menar du att någon bara för att vara negativ?"
>> Okej.
Så Miles, tack så mycket.
>> MILES: Tack.
>> BRIAN Scassellati: Tack så mycket.
[APPLÅDER]
>> Så detta ELIZA programmet, på många sätt, svarar bara för bitarna
att vi ger utan djup förståelse för vad som händer här.
Detta är en typ av system kallas mönstermatchning, där
Vi letar efter vissa bitar av text som vi är sedan
kommer att ta ut vad tillhandahölls som indata,
konvertera det, potentiellt, på något sätt, och sedan ge den tillbaka till användaren.
>> Gör något av er tror att ELIZA är faktiskt
utför giltig psyko här?
En person, kanske.
>> PUBLIK: [OHÖRBAR].
BRIAN Scassellati: Och hur Gör det du känner?
Ja, i själva verket gör det.
Och vi kommer att se, faktiskt, den Källkoden för det på bara ett ögonblick.
Och så att du kommer att vara kunna göra just detta.
>> Nu är ELIZA en form av vad vi skulle kalla idag en chat bot.
Det går bara igenom text som du ger,
ger ett absolut minimibelopp förståelse eller behandling
och sedan papegojor det tillbaka till dig.
Så låt oss ta en titt, konceptuellt, och tala om vad
det är att ELIZA faktiskt gör.
>> ELIZA tar en sentence-- låt oss säger: "Jag vill imponera min chef."
Och Eliza ser genom den meningen
och försöka hitta och matcha vissa mönster.
Så, till exempel, ett av mönstren att ELIZA är ute efter är de ord
"Jag vill."
Och varje gång det ser något som har "jag vill" i det,
Det formulerar ett svar.
Och att svaret är en fast sträng.
I det här fallet är det "varför vill du?"
Och jag satte en liten stjärna på slutet eftersom det är bara
I början av vårt svar.
Och stjärnan visar att vi kommer att ta resten
av användarens utterance-- "att imponera på min chef" -
och vi kommer att lägga det på änden av denna sträng.
>> Så nu, istället för att säga, "varför vill du imponera på min chef, "
det finns en liten bit av ytterligare bearbetning som vi ska göra.
Det vill säga, vi måste omvandla en del av de pronomen
här från "min chef" till "din chef."
Och det kan finnas några andra förändringar som vi måste göra.
Så i stället för att bara sticker direkt på slutet, vad vi ska göra
är vi tar resten av användarens utterance-- i vitt här--
och vi tar det en bit i en tid och konvertera varje sträng
token, varje ord, i meningen.
>> Så vi tar ordet "till."
Det finns ingen omvandling att vi måste göra det.
"Imponera på."
Det finns ingen omvandling vi behöver göra det.
"Min" kommer att konvertera till "din".
Och "boss" vi ska bara lämna som "boss".
Och slutligen, vad som helst som slutar med en period,
vi ska omvandla den till en fråga.
>> Detta mycket enkla mönstermatchning är faktiskt ganska framgångsrik.
Och när detta infördes i 1966-- Joseph Weizenbaum
programmerat detta på en dator.
Nu, datorer på den tiden var inte stationära modeller.
De delades resurser.
Och hans studenter skulle gå och prata med ELIZA.
Till slut var han tvungen att begränsa tillgången till det
eftersom hans elever var inte få något arbete gjort.
De var bara chatta med ELIZA.
Och i själva verket var han tvungen att brand hans assistent, som
bringat all sin tid att tala med ELIZA om hennes djupa och oroande problem.
>> Alla som använt dessa system började lik människan dem.
De började att tänka på dem som är levande och verkliga människor.
De började att känna igen några av de saker som de säger
kom tillbaka till dem.
Och de var att ta reda på saker om sig själva.
Och i själva verket, även experterna, även psykoterapeuter,
började oroa sig för att, i själva verket, kanske ELIZA skulle ersätta dem.
Och även om datorn Forskarna oroar sig för att vi var
så nära att lösa naturligt språk.
>> Nu var det inte någonstans nära till true.
Men det är hur imponerande dessa system kan tyckas.
Så låt oss börja titta undertill och försök
att få en liten bit av en fråga var denna kod faktiskt händer.
Så vi kommer att göra denna kod tillgänglig i efterhand.
Och detta är en mycket enkel och direkt port
av den ursprungliga genomförandet ELIZA.
>> Så en del av dessa stilist saker som du ser här
är inte stilist vad Vi vill att du ska göra
eller vad vi har att lära dig att göra.
Men vi har försökt att hålla dem samma över många hamnar
att detta har haft så att det har smak av originalet.
Så vi kommer att inkludera en massa saker,
och sedan kommer vi att ha en uppsättning sökord, saker
att ELIZA kommer att känna igen och svara på direkt.
Så om du har ord som "kan du" eller "Jag vet inte" eller "nej"
eller "ja" eller "dröm" eller "Hej" och sedan ELIZA
kommer att svara selektivt till dem.
Vi kommer också att ha en visst antal saker
att vi kommer att byta, liksom omvandla "min" till "din".
>> Och då kommer vi att ha ett antal svar att för var och en av dessa kategorier,
vi ska rotera dessa olika reaktioner.
Så om jag säger "ja" tre gånger i rad, jag
kan få tre olika svar från ELIZA.
Vår kod, då är faktiskt anmärkningsvärt enkel.
Om jag bläddra ner förbi alla dessa reaktioner som vi har programmerat in
och vi får ner till våran, vi kommer att initiera
ett par olika variabler och göra lite städning
i början.
Men sedan finns det absolut en uppsättning kod som du kan förstå.
En stor medan slinga som säger att jag är kommer att upprepa detta om och om igen.
Jag ska läsa i en linje, och jag ska lagra den i en inmatningssträng.
Jag ska kolla och se om det är speciella nyckelordet "bye", som
innebär avsluta programmet.
Och sen ska jag kolla och se om någon bara upprepar sig
om och om.
Och jag ska skrika på dem om de gör.
Jag ska säga "inte upprepa dig själv."
>> Så länge ingen av dem hända, vi ska sedan söka igenom och slinga genom,
på ledningarna 308 till 313 här, och kontrollera och se
är några av de sökord fraser som ingår i inmatnings
att jag bara fick?
Om det finns en match för dem, och då kommer jag ihåg den platsen.
Jag kommer ihåg det sökordet.
Och jag kommer att kunna bygga ett svar.
>> Om jag inte hittar en, ja då, det sista i min sökords array
kommer att vara mina standardsvaren, när inget annat matcher.
Jag ska ställa frågor som "Varför gjorde du hit? "eller" Hur kan jag hjälpa dig? "
som bara delvis är lämpligt oavsett vad ingången är.
>> Vi kommer sedan bygga upp ELIZA svar.
Vi kommer att kunna ta denna bas svar,
precis som vi gjorde i att "min chef" exempel.
Om det är allt som finns är-- om det bara är en
sträng som jag ska respond-- Jag kan bara skicka det tillbaka ut.
Om den har en asterisk på I slutet av det, då ska jag
behandla varje enskild token i resten av användarens svar
och lägga till dem i, byta ut ord för ord som jag behöver.
>> Allt detta är absolut något som du kan bygga.
Och faktiskt, det sätt på vilket vi har bearbetat kommandoradsargument,
det sätt på vilket du har bearbetas genom HTTP-förfrågningar
följa samma slags regler.
De är mönstermatchning.
>> Så ELIZA hade en relativt viktig inverkan på naturligt språk
eftersom det gjorde det verkar som om det var en mycket realistiskt mål, som på något sätt skulle vi
kunna lösa detta problem direkt.
Nu, som inte är att säga att ELIZA gör allt som vi skulle vilja göra.
Absolut inte.
Men vi bör kunna att göra något mer.
>> Vårt första steg att gå bortom ELIZA går
för att kunna titta på inte text matas in
i tangentbordet men tal, faktiska tal registreras i en mikrofon.
Så som vi ser på dessa olika delar, vi är
kommer att behöva bygga en uppsättning av modeller.
Vi kommer att behöva för att kunna att gå från låg nivå akustiska
information-- beck, amplitud, frequency--
och omvandla det till vissa enheter som vi är
kunna lättare manipulera och slutligen manipulera dem
i ord och meningar.
>> Så de flesta taligenkänning system som finns där ute idag
följa en statistisk modell där vi bygger
tre separata representationer av vad att ljudsignalen faktiskt innehåller.
Vi börjar med en fonetisk modell som talar om just basen
ljud som jag producerar.
Jag producera något som är B som i pojke eller en D som i hund?
Hur känner jag igen dessa två olika telefoner som separata och distinkta?
>> Ovanpå det, ska vi sedan bygga ett ord uttal modell,
något som binder samman de enskilda telefoner
och kombinerar dem i ett ord.
Och efter det, tar vi orden och vi kommer att sätta ihop dem med ett språk
modell till en hel mening.
>> Nu ska vi prata om varje av dessa oberoende och separat.
Men dessa tre modeller är alla bara kommer att bli statistik.
Och det betyder när vi arbeta med dem, vi ska
kunna arbeta med dem alla samtidigt.
Okej.
Låt oss börja med vår fonetiska modell.
Så fonetiska modeller lita på en beräkningsteknik
kallade dolda Markov-modeller.
Dessa är grafiska modeller där jag har och erkänna en stat i världen
som kännetecknas genom en uppsättning funktioner.
Och detta tillstånd beskriver å ena sidan en åtgärd som jag sysslar med.
>> Så om jag tycker om att göra ljudet "ma" som mamma,
det finns olika komponenter till ljudet.
Det finns en del där jag dra in andan.
Och då jag handväska mina läppar.
Och jag rullar mina läppar tillbaka lite bit för att göra det "ma" ljud.
Och så finns det en release.
Mina läppar faller isär.
Luft utvisas.
"Ma."
>> Dessa tre olika delar skulle vara representeras av stater i denna graph--
början, mitten och slutet.
Och jag skulle ha övergångar som tillät mig att resa från en stat
till nästa med en viss sannolikhet.
Så, till exempel, att M ljud kan ha en mycket,
mycket kort intag vid beginning-- "mm" - och sedan en längre,
vibrations fas där jag höll min läppar tillsammans och nästan humming--
"mmmm" - och sedan en mycket kort klusil där jag utvisa breath-- "ma".
>> Den dolda Markov-modellen är utformade för att fånga det faktum
att det sätt som jag gör att ljudet "ma" kommer
att vara något olika i Tidpunkt, är frekvensen,
och dess funktioner än det sätt som du gör det
eller det sätt som jag kan gör det när jag pratar
om olika användningar av brevet.
"Mother" och "kan jag" kommer låter lite annorlunda.
>> Så för att känna igen en visst ljud, vi skulle
bygga Markov-modeller, dessa dolda Markov modeller, av alla möjliga telefon som jag
kanske vill erkänna, alla möjliga ljud,
och sedan titta på akustiska data som jag har
och bestämma statist vilken som är den mest sannolika en
att ha producerat detta ljud.
OK.
Med denna modell, vi sedan börja bygga ovanpå den.
Vi tar en uttal modell.
Nu, ibland uttal modeller är enkla och lätta
eftersom det finns bara en sätt man uttalar något.
Andra gånger, de är en lite mer komplicerat.
Här är en uttals för det röda sak som är
en frukt som du gör ketchup ur.
Folk tror inte att det är en frukt.
Höger?
>> Nu finns det många olika sätt att människor kommer att uttala ordet.
Vissa kommer att säga "toe-maj-tå."
Vissa kommer att säga "toe-mah-tå."
Och vi kan fånga det med en av dessa grafiska modeller
där, återigen, vi representerar övergångar som har en viss sannolikhet
och tillhörande sannolikhet med dem.
>> Så i det här fallet, om jag skulle följa topp vägen genom hela denna graf,
Jag skulle börja på brevet längst till vänster, den "ta" ljud.
Jag skulle ta den övre halvan, den "Åh," och sedan en "ma"
och sedan ett "a" och sedan en "ta" och en "oh." "Toe-maj-tå."
Om jag tog botten väg genom detta kommer jag att få "ta-mah-tå."
Och om jag gick ner och sedan upp, jag skulle få "ta-maj-tå."
>> Dessa modeller fånga dessa skillnader för när
Vi distribuerar ett av dessa erkännande system,
det kommer att behöva arbeta med massor av olika typer av människor,
massor av olika accenter, och även olika användningar av samma ord.
Slutligen, på toppen av det, Vi ska bygga något
som ser riktigt komplicerat, kallas språkmodellen,
men i själva verket är det enklaste av den tre eftersom dessa fungerar
på så kallade n-gram modeller.
Och i detta fall, jag visar dig en tvådelad n-gram modellen, en bigram.
Vi kommer att göra fysiska idén som ibland, vissa ord är
mer benägna att följa en givet ord än andra.
Om jag sa bara "väderprognos" nästa ord skulle sannolikt vara "i dag"
eller kan vara "vädret prognos i morgon. "
Men det är osannolikt att vara " väderprognos kronärtskocka. "
>> Vilken språkmodell gör är den fångar de statist
genom att räkna, från några mycket stora corpus, alla instanser
i vilket ett ord följer en annan.
Så om jag tar en stor corpus-- som varje Wall Street Journal
som har producerats sedan 1930, vilket är en av standard corpuses--
och jag ser igenom alla texten, och jag räknar
upp hur många gånger efter "prognos" gör jag ser "i dag"
och hur många gånger ser jag "prognos" följt av "kronärtskocka"
den första går att vara mycket mer benägna.
Det kommer att visas mycket oftare.
Och så det ska ha en högre sannolikhet i samband med det.
>> Om jag vill räkna ut Sannolikheten för en hel yttrande,
då, jag bara bryta upp.
Så sannolikheten för förhandlingen meningen "råttan åt osten"
är sannolikheten för ordet "" start en mening,
och sedan sannolikheten för att ordet "råtta" följer ordet "den"
och sannolikheten att den ordet "åt" följer "råtta"
och sannolikheten att "ost" följer "åt."
>> Detta låter som en hel del statistik, en hel del sannolikheter.
Och det är allt som det är.
Men det fantastiska är om du gör detta med en tillräckligt stor prov av data,
det fungerar.
Och det fungerar oerhört bra.
Vi vet alla dessa tekniker.
De flesta operativsystem komma med röstigenkänning på denna punkt.
Vi använder Siri och Cortana och Echo.
Och dessa saker är baserade på denna typ av tre-skikt model--
en fonetisk modell i botten, en uttal modell i mitten,
och en språkmodell ovanpå dem.
>> Nu måste de göra en lite mer än att för att svara på frågor.
Men erkännandet av vad du ordspråket beror just på det.
Så låt oss ta ett exempel här.
Så jag har min telefon sitter här uppe under dokumentkamera.
Och vi kommer att uppmanas Siri några frågor.
Okej?
>> Så låt oss vakna upp min mobiltelefon.
Siri, vad är vädret som i New Haven i dag?
>> SIRI: Här är vädret för New Haven, Connecticut idag.
>> BRIAN Scassellati: OK.
Så du först såg att Siri igen vart och ett av de enskilda ord
och sedan producerade ett svar.
Vi pratar om hur detta svar kommer till stånd i en liten bit.
Men nu när vi vet att detta bara är baserad
på rå statistik och detta mönstermatchning typ av strategi,
vi kan spela vissa spel med Siri.
>> Så jag kan försöka igen.
Siri, vad är vädret flodhäst New Haven, idag?
>> SIRI: OK.
Här är vädret för New Haven, Connecticut för i dag.
BRIAN Scassellati: Siris inte skrämda av det
eftersom det är hittat pattern-- "väder", "idag", "New Haven."
Det är vad det svarar till, precis som ELIZA.
Okej.
Låt oss ge det en jämnare mer löjligt exempel.
Siri, väder kronärtskocka bältdjur flodhäst New Haven?
>> SIRI: Låt mig kontrollera det.
Här är vad jag hittade på webben för vad är kronärtskockor bältdjur
flodhäst New Haven.
>> BRIAN Scassellati: OK.
Så om jag går tillräckligt långt borta från denna modell,
Jag kan förvirra det eftersom det inte längre matchar mönster som den har.
Och det statistiska motor som säger,
Vad är sannolikheten för att du har orden flodhäst och kronärtskocka
tillsammans, och bältdjur?
Det har kommit att bli något nytt.
>> Så dessa tekniker som vi använder varje dag.
Om vi ​​vill ta dem ett steg vidare, men om vi faktiskt
vill kunna tala om vad det är att dessa system svarar på,
Vi måste prata, återigen, om en mer grundläggande uppsättning frågor.
Och det är ett ämne i kommunikation som vi kallar fråga svarare.
Det vill säga, vi vill kunna att-- ja?
PUBLIK: [OHÖRBAR].
BRIAN Scassellati: Får vi i latent semantisk behandling?
Så ja.
Det finns en massa saker som är händer under ytan med Siri
och i några av exemplen Jag ska visa dig nästa
där det finns en hel del i termer av struktur
av vad du säger som är viktigt.
Och i själva verket är det en stor föregångare för nästa bild för mig.
>> Så på samma sätt som vår taligenkänning byggdes upp
av flera skikt, om vi vill förstå vad det är som faktiskt
sagt, ska vi igen förlita sig på en flerskiktsanalys
av texten som är erkänns.
Så när Siri är faktiskt kan säg, ser jag hittade dessa ord.
Nu vad ska jag göra med dem?
Den första komponenten är ofta att gå igenom och försöka analysera
strukturen av meningen.
Och vad har vi sett i skolan, ofta,
som en slags diagram meningar, kommer vi
att erkänna att vissa ord har vissa roller.
Dessa är substantiv.
Dessa är pronomen.
Dessa är verb.
Och vi kommer att känna igen att för en viss grammatik,
i det här fallet engelsk grammatik, finns giltiga sätt som jag kan kombinera dem
och andra sätt som inte är giltiga.
>> Att erkännandet, denna struktur, kan vara tillräckligt för att hjälpa vägleda oss
lite grann.
Men det är inte tillräckligt för att vi ska kunna ge
någon mening vad som sägs här.
För att göra det, vi måste lita på en viss mängd av semantisk bearbetning.
Det vill säga, vi kommer att behöva leta på undersidan vad var och en av dessa ord
faktiskt bedriver som en mening.
Och i det enklaste sättet att göra detta, vi kommer att associera med varje ord
att vi känner en viss funktion, en viss omvandling som det
gör det möjligt att hända.
>> I det här fallet kan vi märka ordet "John" som ett egennamn,
att den bär med sig en identitet.
Och vi kan märka "Mary" som på samma sätt.
Medan ett verb som "älskar", som utgör ett speciellt förhållande
att vi kan företräda.
Nu, det betyder inte att att vi förstår
vad kärlek är, men bara att vi förstår den i vägen för ett symboliskt system.
Det vill säga, vi kan märka den och manipulera den.
>> Med var och en av dessa typer av tillvägagångssätt, någon typ av semantisk bearbetning
här kommer att kräva lite lite kunskap och en hel del arbete
på vår del.
Vi är inte längre i riket där bara vanlig statistik
kommer att vara tillräckligt för oss.
Nu, för att gå från denna punkt till vara
kunna tala om insidan av vad som faktiskt händer här,
att kunna manipulera denna strukturera och förstå en fråga
och sedan kunna att gå ut och söka,
som kräver en mer komplex kognitiv modell.
>> Det sätt på vilket dessa system byggs är för det mesta mycket, mycket arbets
intensiv.
De involverar människor spendera en hel del
tid strukturera sätt i som dessa typer av meningar
kan representeras i en viss logik.
Det blir även lite mer komplex, men.
>> Även när vi har behandlat med semantik, vi ska
fortfarande måste titta på pragmatik av vad som sägs.
Det är, hur gör jag relatera ord att jag måste något fysiskt ut
där i världen eller åtmin stone någon informationskälla
att jag kan manipulera?
>> Ibland dessa leder till underbara bitar av tvetydighet.
"Red-hot stjärnan att gifta astronom."
OK.
Nu läser vi att när rolig typ av rubrik
att vi skulle se på sena natten TV eftersom vi inte tolka "stjärna"
att få sin himlakropp innebörd.
Vi vet att det betyder mer vanliga skådespelare
med höga halter av synlighet.
>> "Squad hjälper hund biter offer."
Är det så att truppen är faktiskt därute hjälpa en hund
att gå runt och bita offer?
Eller är det så att det fanns en person som var
biten av en hund som behövde lite hjälp?
Bara från att titta på syntaxen och semantiken av meningar,
vi kan inte avgöra det.
>> "Helikopter drivs av mänskliga flugor."
Finns det, i själva verket, faktiska små saker som flyger runt det
är människor med vingar driver helikoptrar för mänsklighetens bästa?
Eller finns det en mekanisk anordning som får sin ström från en person?
>> När vi tittar på frågan svarar system,
dessa är de lager som Vi måste ta itu med.
Nu, den bästa och mest sortera av förekommande av dessa system
idag kan göra saker på en nivå som är
långt utöver vad vi hade för 10 år sedan.
Här är en av de bästa systemen det är där ute idag.
Och detta är ett system från IBM kallade Watson.
Detta är från våra vänner på IBM.
Detta är Katherine banker, Jia Chen, och Priscilla Moraes ger oss
en demonstration av Watson igår i IBM Yorktown.
[VIDEOAVSPELNING]
-Hur mår du?
>> -Jag mår bra.
Jag är alltid glad när jag tänkande, särskilt när jag
kan sval i dessa serverrum.
-Vem Är din favorit skådespelare?
>> -Min Favorit skådespelare Angelina Jolie som Lara Croft
i Tomb Raider eftersom hennes ursprungliga formen var som en virtuell karaktär som mig.
>> -Hur Kan Watson hjälpa patienter?
>> -Är Planen för patienter till har tillgång till Watson direkt?
Tillgång till Watson rådgivande applikationer varierar beroende på användningsfall.
Men för närvarande, kommer Watson bara ge möjlig diagnos och behandling
optioner till läkare eller sjuksköterska.
I förekommande fall, patienter kan ge information
Watson, kanske genom en portal webbgränssnitt, tablet,
eller till och med en mobiltelefon.
Till exempel kan en patient vara ombedd att beskriva sina symptom
i naturligt språk direkt till en Watson-lösning,
tillåter läkaren att fokusera på datainsamling diagnos och inte.
>> -Vem Mördade Abraham Lincoln?
>> -John Wilkes Booth.
>> -I Vilket år gjorde Arizona Diamond vinna World Series?
>> -2001.
>> [END SPELA]
>> BRIAN Scassellati: Så dessa typer av system
måste förlita sig på först och främst erkänner tal; andra,
omvandla den till en meningsfull inre representation; och sedan, för det tredje,
att kunna gå ut och hitta informationskällan som
ger dem möjlighet att svara på den frågan.
Denna nivå av komplexitet innebär samma typer av prog saker
att du har varit gör i problemsamlingar.
>> Vi kan analysera HTTP-begäranden i samma typ av lågaktivt mönster
matchning som ELIZA kan göra.
Vi kan konvertera dem i en intern representation,
och sedan använda dem för att fråga några extern databas, eventuellt med hjälp av SQL.
Alla system som byggs idag
att göra den här typen av naturliga språkkommunikations
byggs på samma principer.
>> Nu, även ett system som Watson är inte komplex nog
för att kunna svara på godtyckliga frågor om vilket ämne som helst.
Och i själva verket måste vara strukturerad inom en viss domän.
Så du kan gå online och du kan hitta versioner av Watson som fungerar väl
inom medicinsk informatik.
Eller det finns en på nätet som bara handlar om hur
att göra bra rekommendationer om vilken öl går med vilken mat.
Och inom dessa områden, det kan svara på frågor,
hitta den information den behöver.
>> Men du kan inte blanda och matcha dem.
Systemet som har tränats med databasen över mat och öl
fungerar inte bra när du plötsligt sätta in med den medicinska informatik
databas.
Så även våra bästa systemen idag förlita sig på en nivå av behandling
där vi är hand kodning och byggnad i infrastrukturen för
att göra detta system kör.
>> Nu, det sista ämnet jag vill för att kunna komma till idag
handlar om icke-verbal kommunikation.
En stor mängd information som vi kommunicerar med varandra
inte komma till stånd genom enskilda ord som vi tillämpar.
Det har att göra med saker som närhet, blick, din röst,
din böjningsformer.
Och att kommunikation är också något som många olika gränssnitt
bryr sig mycket om.
Det är inte vad Siri bryr sig om.
Jag kan be Siri något med en röst eller i en annan ton i rösten,
och Siri kommer att ge mig samma svar.
Men det är inte vad vi bygger för många andra typer av gränssnitt.
>> Jag vill presentera dig nu till en av robotarna.
Detta byggdes av min longtime vän och kollega Cynthia
Breazeal och hennes företag Jibo.
Och detta robot-- vi ska att ha ett par volontärer
komma att interagera med detta.
Så kan jag ha två människor som är villiga att leka med roboten för mig?
Varför inte komma på upp, och varför inte du kommer på dig.
Om du skulle gå upp mig här, tack.
>> Och om jag kunde ha dig komma rätt hit.
Tack.
Hej.
>> ALFREDO: Trevligt att träffas.
Alfredo.
>> BRIAN Scassellati: Alfredo.
>> RACHEL: Rachel.
BRIAN Scassellati: Rakel.
Trevligt att träffas båda.
Alfredo, jag kommer att ha dig gå först.
Komma rätt upp här.
Jag kommer att införa du-- om jag kan få detta av
utan knackar microphone-- till en liten robot som heter Jibo.
OK?
>> Nu är Jibo utformad för att vara interaktivt.
Och även om det kan ge dig tal, mycket av interaktionen med roboten
är icke-verbal.
Alfredo, jag kommer att be er att säga något trevligt och gratis
roboten, tack.
ALFREDO: Jag tycker att du ser söt.
>> [Surrande ljudet]
BRIAN Scassellati: OK.
Dess svar är inte verbal.
Och ändå gav dig både en tydlig bekräftelse
att det hade hört vad du sa och även något sätt förstod det.
OK?
Steg tillbaka hit för en sekund.
Tack.
>> Rachel, om du vill.
Nu, jag kommer att ge dig mycket hårdare jobb.
Om du skulle stå här, säkerhetskopiera bara lite så
Vi kan få dig på kamera och ser det här sättet.
Jag kommer att be er att säga något verkligen menar och otäck till roboten.
>> RACHEL: Vad du bara verkade att göra var helt absurt.
>> [Brummande ljud]
>> Det var ännu mer absurt.
Vad är det med dig?
Aw, inte må dåligt.
Jag ska ge dig en kram.
BRIAN Scassellati: Okej.
Tack, Rachel.
Alfredo, Rachel, Tack killar mycket.
>> [APPLÅDER]
>> Så denna typ av interaktion har i många sätt en del av samma regler
och en del av samma struktur som vad vi
kan ha i språklig interaktion.
Det är både kommunikativ och tjänar ett viktigt syfte.
Och att växelverkan, i många sätt, är utformad
för att ha en viss effekt på person som interagerar med eller lyssna
till roboten.
>> Nu är jag turen att ha Jibo här i dag.
Sam Spaulding är här hjälper oss med roboten.
Och jag kommer att be Sam att ge oss en trevlig demo av Jibo dans
att vi kan titta på slutet här.
Så sätt igång, Jibo.
>> SAM: OK, Jibo.
Visa oss dina danssteg.
>> [MUSIK SPELA]
BRIAN Scassellati: Okej, alla.
Tack vare våra vänner på Jibo.
>> [APPLÅDER]
>> Och tack vare våra vänner på IBM för att hjälpa ut i dag.
Kommunikation är något att du kommer
att se komma upp mer och mer som vi bygger mer komplexa gränssnitt.
Nästa vecka kommer vi att prata om hur gränssnittet
med datormotståndare i spel.
Men om du har frågor om detta, Jag kommer att vara runt på kontorstid ikväll.
Jag är glad att prata med dig om AI ämnen eller för att få in mer i detalj.
Ha en bra helg.
>> [APPLÅDER]
[MUSIK SPELA]