[Speel van musiek] David Malan: Dit is CS50. Dit is die einde van die week 10. En die seun, het ons 'n goeie klas vir jou vandag. Ons is so opgewonde om te nooi twee van ons vriende van Yale tot ons vandag en om te kyk na die kruising van kunsmatige intelligensie, robotika, natuurlike taal verwerking, en nog baie meer. En inderdaad, oor die afgelope paar weke, het ons beslis het 'n baie tyd, veral in die vroeër psets, fokus op redelik lae-vlak besonderhede. En dit is baie maklik om te uit die oog verloor van die bos vir die bome en kry hang op lusse en voorwaardes en wysers, beslis, en dies meer. Maar die werklikheid is julle ouens het nou die bestanddele wat jy kan regtig 'n paar interessante probleme op te los, onder hulle wat ons vriende by Yale werk net skaam van Cambridge. So laat my eers ons hoof stel onderrig assistent van Yale, Andy. [Applous] ANDY: Eerste van alles, net dankie jy vir die feit dat 'n paar Yalies pop af na Cambridge vandag. Ons waardeer dit regtig. Tweedens, om ons vriende terug home-- Jason, Dankie vir 'n verblyf en hardloop lesing. Hoop dit is alles goed in New Haven. So ja, ek is super opgewonde om Scaz stel vandag. Scaz loop die robotika lab. Hy is 'n professor in, soos, vyf verskillende departemente by Yale. In sy laboratorium, hy het baie, baie robots dat hy daarvan hou om te speel met. Hy het, soos die coolste werk in die wêreld. En hy kry soort gemors rond met wat die hele dag lang en 'n werk te doen, as well. En so het ons eintlik gebring een van hulle met ons vandag. So sonder verdere uitstel het, is Scaz gaan om voort te gaan en stel ons om sy robot vriend. [Applous] BRIAN SCASSELLATI: Dankie, David. Dankie, Andy. Dit is so wonderlik om hier met almal vandag. Ek wil die eerste wees baie duidelik dat die CS50 personeel hier in Cambridge het ongelooflik gasvry ons. Ons is so dankbaar vir alles wat hulle gedoen het om ons te ondersteun. En so ons wil graag in staat wees dieselfde guns terug te keer. So vandag, kry ons om aan te kondig dat ons gaan om 'n nuwe te hê, een-of-a-kind CS50 gebeurtenis gebeur in New Haven volgende week. En dit is die CS50 Navorsing Expo. So ons gaan nooi everyone-- CS50 studente, personeel van beide Harvard en Yale-- om afkom en besoek met ons op Vrydag. Ons sal 'n wye verskeidenheid van meer as het 30 verskillende mense aanbieding en exhibiting-- upperclassmen wys 'n paar van hul navorsing produkte. Ons sal 'n paar startups te hê, selfs, soek vir 'n bietjie van 'n nuwe tegnologie talent, startups van beide Harvard en Yale. En ons sal 'n paar groepe studente het soek vir 'n paar nuwe lidmaatskap. Dit gaan 'n baie opwindende tyd wees. Hopelik dié van julle wat neerdaal vir die Harvard-Yale spel in staat wees om te stop nie deur 'n bietjie vroeg, reg in die middel van die kampus, Sterling Memorial Library. Ons gaan 'n stel van het uitstallings wat wissel van outonome seilbote maniere van die gebruik van sagteware om Middeleeuse manuskripte bewaar. Ons gaan advertensie hoc netwerke en mense onderrig sagteware kodering in Kaapstad. Ons sal rekenaar musiek demonstrasies. En ons sal natuurlik meer robots. So ons hoop dat jy saam met ons vir hierdie gebeurtenis. Dit moet 'n baie wees pret, 'n bietjie van kos, en 'n baie interessante dinge om oor te praat. So vandag, ons gaan om te praat oor natuurlike taal verwerking. En dit is die poging vir ons om 'n nuwe manier van tussenbelegsel bou met ons toestelle, omdat vir die laaste paar weke, jy is gefokus op hoe dit is dat kan jy die kode te skryf, skryf sagteware dit is 'n manier om te kan sê vir 'n masjien, dit is wat ek wil hê jy moet doen. Maar ons moet nie nodig het om te verwag dat alles dit is daar uit wat gebruik word deur almal in die wêreld gaan vaardig te wees in hierdie soort van onderrig. So ons onderskei tussen die rekenaar tale en natuurlike languages-- dit is, dinge wat die mens gebruik om te kommunikeer met ander mense. En ons probeer om koppelvlakke wat gebruik bou hierdie natuurlike kommunikasie meganismes. Nou, net soos elke ander onderwerp wat ons het begin met in CS50, ons gaan om te begin met die eenvoudigste bietjie van natuurlike taal verwerking dat ons kan dink. Ons gaan begin met die historiese deel van natuurlike taal. En dan sal ons bou tot meer en meer onlangse stelsels en het 'n paar pret demos langs die pad. So ons gaan om te begin met wat waarskynlik die eerste natuurlike taal verwerking stelsel. Dit was 'n sagteware stelsel wat geskryf is in 1966 deur Joseph Weizenbaum genoem ELIZA. En ELIZA is ontwerp om herhaal die soort van interaksie jy wil hê met 'n Rogerian psigoterapeut. Nou, die Rogerians, het hulle 'n idee wat psigoterapie betrokke in staat is om terug te weerspieël om 'n pasiënt en met hulle praat, basies, met slegs gee hulle 'n klein bietjie van die terapeut. Dit is alles dat die terapeut gesê veronderstel was om net 'n weerspieëling van wees wat die pasiënt vertel aan hulle. So kom ons probeer en demo hierdie. Het ons 'n vrywilliger wat wil wees bereid is om hul diepste deel, donkerste en / of vals geheime met ELIZA? Seker nie, waarom kom jy nie op up. Fantasties. En jou naam? MILES: Miles. BRIAN SCASSELLATI: Miles. Nice om jou te ontmoet, Miles. As jy wil vashou nie. En ons gaan gebruik 'n weergawe van ELIZA wat ons het herhaal binne die CS50 IDE. En ons sal kyk na die bron kode om dit in 'n klein tydjie. Maar vir nou, ons is net gaan om dit te roep deur te tik Eliza. En ELIZA gaan jou antwoorde te gee wat gaan wees in hoofletters. En gaan jou 'n paar vrae. En ons sal reageer en tik in reaksie op ELIZA. So ELIZA het gesê, "Hi, ek is ELIZA. Wat is jou probleem?" Wat sou jy graag vertel ELIZA van vandag? MILES: Ek kan net aan die slaap raak as ek bunny pantoffels. BRIAN SCASSELLATI: Alle reg. Alles reg. [Gelag] "Ek kan net aan die slaap raak met bunny pantoffels. " En ELIZA sê: "Sê, het jy enige sielkundige probleme? Miskien is dit 'n goeie aanduiding. " OK. So, wat sou jy graag om te reageer? MILES: Ja. BRIAN SCASSELLATI: Ja. Man van baie woorde. Ek geniet dit. Eliza sê, "Jy lyk baie positief." MILES: Nee, ek is, in werklikheid, 'n elektron. BRIAN SCASSELLATI: "Nee Trouens, ek is 'n elektron. " "Het jy na my toe kom want jy is 'n elektron? " Nou kan ons 'n paar van sien die things-- ek gaan om jou te breek vir net 'n tweede, Miles. Moenie oral te gaan. Ons is nog nie klaar met jou. ELIZA is, in 'n paar maniere, reageer op sekere dinge wat hy sê, maar sonder enige werklike begrip. En dit is ook 'n paar papegaai terug van die dele van sy vonnis. Daarom het ons gesê: "Nee, Trouens, ek is 'n elektron. " Eliza gereageer terug, "Het jy kom vir my, want jy is 'n elektron? " Alles reg. Kom ons gee dit 'n meer reaksie hier. Gee dit 'n goeie een, Miles. MILES: Goeie een? Ja, help my asseblief. BRIAN SCASSELLATI: "Ja. Help my asseblief. "" Is jy seker? " MILES: No. BRIAN SCASSELLATI: No. "Wat beteken dit stel vir jou?" MILES: Ek kan nie 'n elektron wees. BRIAN SCASSELLATI: "Ek mag 'n elektron te wees nie. " "Is jy sê nie net negatief wees?" Alles reg. So Miles, baie dankie. MILES: Dankie. BRIAN SCASSELLATI: Baie dankie. [Applous] So hierdie ELIZA program, op baie maniere, reageer net om die stukke dat ons die verskaffing sonder enige diep begrip van wat hier gebeur. Dit is 'n soort van die stelsel genoem patroonpassing waar Ons is op soek na sekere stukkies van die teks wat ons dan gaan uit om te neem wat is as insette, skakel dit, potensieel, in een of ander manier, en gee dit dan weer terug na die gebruiker. Het enige van julle dink dat ELIZA is eintlik presterende geldig psigoanalise hier? Een persoon, miskien. GEHOOR: [onhoorbaar]. BRIAN SCASSELLATI: En hoe laat dit jou voel? Ja, in werklikheid, is dit nie. En ons gaan om te sien, eintlik, die bronkode vir dit in net 'n oomblik. En so gaan jy wees staat wees om presies dit te doen. Nou, ELIZA is een vorm van wat sou ons vandag 'n chat bot noem. Dit gaan net deur die teks wat jy verskaf, bied die absolute minimum bedrag begrip of verwerking, en papegaaie dit dan weer terug na jou. So laat ons 'n blik, konseptueel, en praat oor wat dit is dat ELIZA eintlik doen. ELIZA is om 'n sentence-- laat se sê, "Ek wil my baas te beïndruk." En ELIZA soek deur daardie vonnis en probeer om uit te vind en ooreenstem met sekere patrone. So, byvoorbeeld, een van die patrone dat ELIZA is op soek na is die woorde "Ek wil." En enige tyd wat dit iets sien wat "Ek wil" in dit, dit formuleer 'n antwoord. En dat die reaksie is 'n vaste string. In hierdie geval, dit is "hoekom wil jy hê?" En ek het 'n bietjie ster op die einde, want dit is net die begin van ons reaksie. En die ster dui daarop dat ons gaan die res van utterance-- die gebruiker se "om my baas te beïndruk" - en ons gaan om by te voeg dat op die einde van hierdie string. So nou, eerder as sê, "Hoekom wil jy my baas te beïndruk, " daar is 'n bietjie van bykomende verwerking wat ons gaan doen. Dit is, ons sal moet omskep 'n paar van die voornaamwoorde hier van "my baas" na "jou baas." En daar dalk 'n paar ander wees veranderinge wat ons nodig het om te maak. So eerder as om net steek dit direk op die einde, wat ons sal doen is ons sal die res van die neem utterance-- gebruiker in wit here-- en ons sal dit neem een ​​stuk op 'n tyd en omskep elke string teken, elke woord, in die sin. So sal ons die woord te neem "om." Daar is geen sukses wat ons nodig het om dit te doen. "Impress." Daar is geen sukses ons nodig het om daar te doen. "My" sal skakel na "jou." En "baas" sal ons net laat as "baas." En dan uiteindelik, enigiets wat eindig met 'n tydperk, ons sal dit te omskep in 'n vraag. Hierdie baie eenvoudige patroonpassing is eintlik baie suksesvol. En wanneer hierdie is ingestel in 1966-- Joseph Weizenbaum geprogrammeer dit op 'n rekenaar. Nou, rekenaars in die tyd was nie lessenaar modelle. Hulle is gedeelde hulpbronne. En sy studente sou gaan gesels met ELIZA. Uiteindelik moes hy toegang tot dit beperk Omdat sy studente was nie om enige werk te doen. Hulle was net gesels met ELIZA. En, in werklikheid, moes hy vuur sy assistent, wat spandeer al haar tyd praat ELIZA omtrent haar diep en kommerwekkende probleme. Almal wat hierdie stelsels gebruik begin om hulle anthropomorphize. Hulle het begin om te dink van hulle as om lewende en ware mense. Hulle het begin om 'n paar van erken die dinge wat hulle sê is terug te kom na hulle. En hulle was om uit te vind dinge oor hulself. En, in werklikheid, selfs die kenners, selfs die psigoterapeute, begin bekommerd te wees dat, in werklikheid, Miskien ELIZA sou wees om dit te vervang. En selfs die rekenaar wetenskaplikes bekommerd dat ons so naby aan die oplossing van natuurlike taal. Nou, dit was nie oral naby aan waar. Maar dit is hoe indrukwekkend hierdie stelsels kan lyk. So laat ons begin om te kyk onder en probeer om 'n bietjie van 'n vraag te kry waar hierdie kode werklik gebeur. So sal ons hierdie kode te maak daarna beskikbaar. En dit is 'n baie eenvoudige en direkte hawe van die oorspronklike ELIZA implementering. So 'n paar van hierdie stilistiese dinge wat jy hier sal sien is nie stilisties wat sou ons wil hê jy moet doen of wat ons het geleer om te doen. Maar ons het probeer om hulle te hou dieselfde oor die talle hawens dat dit sodat gehad het dit het die geur van die oorspronklike. So ons gaan sluit 'n klomp van die dinge, en dan sal ons 'n het stel sleutelwoorde, dinge dat ELIZA sal erken en direk te reageer op. So as jy woorde soos "Jy kan" of "Ek weet nie" of "nee" of "ja" of "droom" of "hallo", dan ELIZA sal selektief reageer op diegene. Ons sal ook 'n sekere aantal van die dinge dat ons sal ruil, soos omskakeling "my" na "jou." En dan sal ons 'n stel van die antwoorde het wat vir elk van hierdie dokumente, ons sal deur middel van roteer hierdie verskillende antwoorde. So as ek sê "ja" drie keer in 'n ry, het ek kan kry drie verskillende antwoorde van ELIZA. Ons kode, dan is eintlik merkwaardig eenvoudig. As ek rol af afgelope al hierdie antwoorde dat ons in geprogrammeer en ons kry af na ons hoof, ons gaan inisialiseer 'n paar van die verskillende veranderlikes en doen 'n bietjie van die huishouding in die begin. Maar dan is daar absoluut 'n stel van die kode wat jy kan verstaan. Een groot while lus wat sê ek is gaan dit oor en oor herhaal. Ek sal lees in 'n lyn, en ek sal winkel wat in 'n inset string. Ek sal kyk en kyk of dit die spesiale navraag "bye", wat beteken die program te verlaat. En dan sal ek kyk en sien of iemand hulself net herhaal oor en oor. En ek sal skree as hulle doen nie. Ek sal sê "nie jouself herhaal." So lank as een van daardie gebeur nie, sal ons dan scan deur en lus deur, op die lyne 308-313 hier, en kyk en kyk enige van dié navraag frases soos vervat in die insette dat ek net gegee? As daar is 'n wedstryd vir hulle, goed dan sal ek dit ligging onthou. Ek sal onthou dat navraag. En ek sal in staat wees om 'n reaksie te bou. As ek nie een vind, goed dan, die laaste ding wat in my navraag array sal my standaard antwoorde, wanneer niks anders wedstryde. Ek sal vrae soos vra "Hoekom het jy hier kom? "of" Hoe kan ek jou help? " wat net gedeeltelik toepaslik maak nie saak wat die insette is. Ons sal dan bou reaksie ELIZA se. Ons sal in staat wees om te neem daardie basis reaksie, net soos ons gedoen het in daardie "my baas" voorbeeld. As dit al dat daar is-- al is dit net een string wat ek veronderstel is om respond-- Ek kan net stuur dit uit terug. As dit 'n asterisk by die einde van dit, dan sal ek verwerk elke individuele teken is in die res van die reaksie van die gebruiker se en voeg dié in, uitruiling woord vir woord soos ek nodig het om te. Al hierdie is absoluut iets wat jy kan bou. En in die feit, die maniere waarop ons verwerk command line argumente, die manier waarop jy verwerk deur middel van HTTP-versoek volg dieselfde soorte reëls. Hulle is patroonpassing. So ELIZA het 'n relatief belangrik impak op natuurlike taal want dit het dit lyk soos dit was 'n baie haalbaar doel soos een of ander manier wat ons wil in staat wees om hierdie probleem op te los direk. Nou, dit is nie te sê dat ELIZA doen alles wat ons wil doen nie. Beslis nie. Maar ons moet in staat wees om iets te doen nie. Ons eerste stap om te gaan buite ELIZA gaan in staat wees om te kyk na nie teks wat aangegaan in die sleutelbord, maar spraak, werklike toespraak aangeteken in 'n mikrofoon. So as ons kyk na hierdie verskillende stukke, ons is gaan hê om 'n stel van modelle te bou. Ons gaan hê om in staat wees om te gaan van die lae-vlak akoestiese information-- toonhoogte, amplitude, frequency-- en omskep wat in sommige eenhede wat ons staat wees om meer maklik manipuleer en laastens, manipuleer in woorde en sinne. Sodat die meeste spraakherkenning stelsels wat daar vandag volg 'n statistiese model waarop ons bou drie afsonderlike vertoë van wat dat klank-sein bevat eintlik. Ons begin met 'n fonetiese model wat praat oor net die basis klink dat ek produseer. Ek vervaardiging iets wat 'n B soos in seuntjie of 'n D soos in hond? Hoe kan ek erken die twee verskillende selfone as afsonderlike en aparte? Op die top van dat, sal ons dan bou 'n woord uitspraak model, iets wat saam skakels diegene individuele fone en kombineer hulle in 'n woord. En daarna sal ons die woorde neem en ons sal hulle vergader met 'n taal model in 'n volledige sin. Nou, ons gaan om te praat oor elke van hierdie onafhanklik en apart. Maar hierdie drie modelle is almal net gaan om statistiek. En dit beteken dat wanneer ons saam met hulle werk, sal ons in staat wees om te werk met hulle almal gelyktydig. Alles reg. Kom ons begin met ons fonetiese model. So fonetiese modelle staatmaak op 'n rekenmetode genoem verskuilde Markov-modelle. Dit is grafiese modelle waarin ek het en erken 'n toestand van die wêreld as wat gekenmerk deur 'n stel van die funksies. En dat die staat 'n deel beskryf van 'n aksie wat ek betrokke is in. So as ek dink oor die maak die klank "ma" soos die moeder, daar is verskillende komponente wat klank. Daar is 'n deel waar ek trek asem. En tuit ek my lippe. En ek rol my lippe 'n bietjie terug bietjie dat "ma" geluid te maak. En dan is daar 'n kwytskelding. My lippe kom uitmekaar. Lug geskors. "Ma." Daardie drie verskillende dele sou wees verteenwoordig deur state in hierdie graph-- die aanvang, die middel en die einde. En ek sou oorgange het dat my toegelaat om te reis van een toestand na die volgende met 'n sekere waarskynlikheid. So, byvoorbeeld, dat M klink 'n baie het, baie kort inname by die beginning-- "mm" - en dan 'n langer, tril fase waar ek hou my lippe saam en byna humming-- "mmmm" - en dan 'n baie kort plosief waar ek verdryf breath-- "ma." Die verskuilde Markov model is ontwerp om die feit te vang dat die manier wat ek maak dat 'n gesonde "ma" gaan effens anders in te wees sy tydsberekening, is frekwensie, en sy funksies as die manier waarop jy dit maak of die manier wat ek kan maak dit wanneer ek praat oor die verskillende gebruike van die brief. "Moeder" en "mag ek" sal klink effens anders. So 'n erkenning spesifieke klank, sou ons bou Markov-modelle, hierdie verskuilde Markov modelle, van elke moontlike selfoon wat ek dalk wil om te erken, elke moontlike klank, en dan kyk na die akoestiese data wat ek het en bepaal statisties watter een is die mees waarskynlike een hierdie klank te vervaardig het. OK. Met hierdie model, dan sal ons begin om te bou op die top van dit. Ons neem 'n uitspraak model. Nou, soms uitspraak modelle is eenvoudig en maklik want daar is net een manier om iets te spreek. Ander tye, hulle is 'n bietjie meer ingewikkeld. Hier is 'n uitspraak-gids vir daardie rooi ding wat 'n vrug wat jy maak ketchup uit. Mense dink nie dit is 'n vrug. Reg? Nou, daar is baie verskillende maniere dat mense hierdie woord sal spreek. Sommige sal sê "toe-Mei-toe." Sommige sal sê "toe-mah-toe." En ons kan vang wat saam met een van hierdie grafiese modelle waar, weer, oorgange verteenwoordig ons as 'n sekere waarskynlikheid en gepaardgaande waarskynlikheid saam met hulle. So in hierdie geval, as ek om te volg die top roete deur hierdie hele grafiek, Ek sou begin by die letter op die ver links, die "ta" klank. Ek sou die boonste helfte neem, die "O," en dan 'n "ma" en dan 'n "a" en dan 'n "ta" en 'n "O". "Toe-kan-toe." As ek het die onderste pad deur hierdie, kry ek "ta-mah-toe." En as ek afgegaan en dan up, ek sou kry "ta-may-toe." Hierdie modelle vang hierdie verskille, want wanneer Ons sit een van hierdie erkenning stelsels, dit gaan om te werk met baie van die verskillende soort mense, baie van die verskillende aksente, en selfs verskillende gebruike van dieselfde woorde. Ten slotte, op die top van dat, ons sal iets te bou wat lyk ingewikkeld, genoem die taal model, maar in werklikheid is die eenvoudigste van die drie omdat hierdie bedryf op wat genoem word n-gram modelle. En in hierdie geval, ek wys jou 'n twee-deel N-gram model, 'n bigram. Ons gaan die idee maak fisiese wat soms sekere woorde is meer geneig om 'n opvolg gegewe woord as ander. As ek het net gesê "weervoorspelling" die volgende woord kon "vandag" waarskynlik of kan wees "die weer voorspel môre. " Maar dit is onwaarskynlik te wees "die weervoorspelling artisjok. " Wat 'n taal model doen, is dit vang die statisties deur die tel van 'n paar baie groot corpus, almal van die gevalle waarin een woord volg die ander. So as ek 'n groot corpus-- soos elke Wall Street Journal wat reeds geproduseer sedert 1930, Dit is een van die standaard corpuses-- en ek kyk deur al dat die teks, en ek reken up hoeveel keer na "voorspelling" sien ek "vandag" en hoeveel keer sien ek "voorspelling" gevolg deur "artisjok," die eerste een gaan om baie meer geneig wees. Dit gaan om te verskyn veel meer gereeld. En so sal dit 'n hoër het waarskynlikheid daarmee gepaard gaan. As ek wil om uit te vind die waarskynlikheid van 'n hele woord, dan, ek breek dit net op. So die waarskynlikheid van verhoor die sin "die rot kaas" is die waarskynlikheid van die woord "die" begin van 'n sin, en dan is die waarskynlikheid dat die woord "rot" volg die woord "die" en die waarskynlikheid dat die woord "geëet het" volg "rat" en die waarskynlikheid dat "kaas" volg "geëet." Dit klink soos 'n baie statistieke, 'n baie van waarskynlikhede. En dit is al wat dit is. Maar die wonderlike ding is as jy dit doen met 'n groot genoeg steekproef data, dit werk. En dit werk geweldig goed. Ons weet almal hierdie tegnologie. Die meeste bedryfstelsels kom met stem erkenning op hierdie punt. Ons gebruik Siri en Cortana en Echo. En hierdie dinge is gebaseer op hierdie tipe van drie-laag model-- 'n fonetiese model aan die onderkant, 'n uitspraak model in die middel, en 'n taal model op die top van hulle. Nou, hulle het 'n bietjie meer te doen as dit in orde om vrae te beantwoord. Maar die erkenning van wat jy woord hang presies op daardie. So laat ons 'n voorbeeld hier. So ek het my selfoon sit hier onder die dokument kamera. En ons gaan vra Siri 'n paar vrae. Alles reg? So laat wakker my selfoon hier. Siri, wat is die weer soos in New Haven vandag? SIRI: Hier is die weer vir New Haven, Connecticut vandag. BRIAN SCASSELLATI: OK. So die eerste wat jy sien dat Siri erken elk van die individuele woorde en dan het 'n reaksie. Ons sal praat oor hoe daardie reaksie kom oor in 'n bietjie. Maar nou dat ons weet dat dit net is gebaseer op die rou statistieke en dit patroonpassing tipe benadering, kan ons 'n paar wedstryde te speel met Siri. So ek kan weer probeer. Siri, wat is die weer seekoei New Haven, vandag? SIRI: OK. Hier is die weer vir New Haven, Connecticut vir vandag. BRIAN SCASSELLATI: Siri se nie afgeskrik deur daardie want dit is gevind dat die pattern-- "weer", "vandag", "New Haven." Dit is wat dit is reageer om, net soos ELIZA. Alles reg. Kom ons gee dit 'n meer gelyke meer belaglik voorbeeld. Siri, weer artisjok armadillo seekoei New Haven? SIRI: Laat my gaan op daardie. Hier is wat ek gevind op die web vir wat is artisjokke Armadillo seekoei New Haven. BRIAN SCASSELLATI: OK. So as ek gaan ver genoeg weg van hierdie model, Ek is in staat om dit te verwar omdat dit geen meer ooreenstem met die patroon wat dit het. En dat statistiese enjin wat sê, Wat is die waarskynlikheid dat jy het die woorde seekoeie en artisjok bymekaar, en Armadillo? Dit is het iets nuuts wees. So hierdie tegnologie wat ons gebruik elke dag. As ons wil hê om hulle te neem 'n stap verder, al is, as ons werklik wil in staat wees om te praat oor wat dit is dat hierdie stelsels is te reageer op, ons het om te praat, weer, oor 'n meer fundamentele stel vrae. En dit is 'n onderwerp in kommunikasie wat ons noem die vraag antwoord. Dit is, ons wil in staat wees aan- ja? GEHOOR: [onhoorbaar]. BRIAN SCASSELLATI: Het ons kry in latente semantiese verwerking? So ja. Daar is 'n baie van die dinge wat gebeur onder die oppervlak met Siri en in sommige van die voorbeelde Ek gaan om jou te wys volgende waar daar nogal 'n bietjie in terme van die struktuur van wat jy sê dit is belangrik. En in die feit dat is 'n groot voorloper vir die volgende skyfie vir my. So in die dieselfde manier as wat ons spraakherkenning is opgebou uit verskeie lae, as ons wil verstaan ​​wat dit is wat eintlik gesê, is ons weer gaan staatmaak op 'n multi-laag analise van die teks wat is erken. So wanneer Siri is eintlik in staat om sê, kyk ek gevind hierdie woorde. Nou wat moet ek doen met hulle? Die eerste komponent is dikwels gaan deur en probeer om te analiseer die struktuur van die sin. En in wat ons gesien het in graad skool, dikwels as 'n soort van diagram sinne, ons gaan te bepaal dat sekere erken woorde het sekere rolle. Dit is naamwoorde. Dit is voornaamwoorde. Hierdie is werkwoorde. En ons gaan om te erken wat vir 'n spesifieke taal, in hierdie geval Engelse grammatika, is daar geldig maniere waarop ek hulle kan kombineer en ander maniere wat nie geldig is. Dat erkenning dat struktuur, genoeg om te help lei ons kan wees n bietjie. Maar dit is nie heeltemal genoeg vir ons in staat wees om te gee enige betekenis aan wat hier gesê word. Om dit te doen, sal ons moet staatmaak op 'n bedrag van semantiese verwerking. Dit is, ons gaan om te kyk op onder wat elkeen van hierdie woorde eintlik dra as 'n betekenis. En in die eenvoudigste manier om dit te doen, ons gaan om te assosieer met elke woord dat ons weet dat 'n sekere funksie, 'n sekere transformasie wat dit toelaat om te gebeur. In hierdie geval, kan ons benoem die woord "John" as 'n behoorlike naam, dat dit dra dit met 'n identiteit. En ons kan etiketteer "Maria" as dieselfde manier. Terwyl 'n werkwoord soos "liefdes," wat maak 'n besonder verhouding dat ons in staat is om te verteenwoordig. Nou, dit beteken nie dat dat ons verstaan wat liefde is maar slegs dat ons verstaan dit in die pad van 'n simboliese stelsel. Dit is, ons kan etiketteer dit en manipuleer dit. Met elkeen van hierdie tipes benaderings, 'n tipe van semantiese verwerking hier gaan om 'n bietjie nodig bietjie van kennis en 'n baie werk aan ons kant. Ons is nie meer in die koninkryk waar net plain statistieke gaan genoeg wees vir ons om te wees. Nou, ten einde om te gaan Van hierdie punt te word in staat wees om te praat oor die binnekant van wat eintlik hier gebeur, om te kan hierdie manipuleer struktureer en te verstaan ​​'n vraag en dan in staat is om uit te gaan en soek, dat 'n meer vereis komplekse kognitiewe model. Die wyse waarop hierdie sisteme is gebou is vir die grootste deel baie, baie arbeid intensief. Dit behels die mens spandeer 'n groot deel van die tyd die strukturering van die maniere wat hierdie soort van sinne voorgestel kan word in sommige logika. Dit raak selfs 'n bietjie meer komplekse, al is. Selfs wanneer ons het gehandel met semantiek, sal ons nog steeds om te kyk na die pragmatiek van wat gesê word. Dit is, hoe kan ek die woorde in verband dat ek iets fisies uit daar in die wêreld of by minste 'n paar bron van inligting dat ek kan manipuleer? Soms is hierdie lei tot wonderlike stukkies dubbelsinnigheid. "Red-warm ster te sterrekundige wed." OK. Nou, dat die lees ons snaaks tipe kop dat ons sal sien op die einde van die nag TV omdat ons nie "ster" interpreteer om sy hemelliggaam betekenis. Ons weet dat dit beteken dat die meer alledaags akteur of aktrise met 'n hoë bedrae van sigbaarheid. "Squad help hond byt slagoffer." Is dit dat die groep is eintlik daar 'n hond help in rondte en byt slagoffers? Of is dit dat daar 'n individu wat was gebyt deur 'n hond wat 'n paar hulp nodig? Net te kyk na die sintaksis en die semantiek van die sinne, kan ons nie bepaal nie. "Helicopter aangedryf deur menslike vlieë." Is daar, in werklikheid, die werklike klein dingetjies wat rondom wat is mense met vlerke brandstof helikopters vir die goeie van die mensdom? Of is daar een meganiese toestel dat sy krag is afgelei van 'n persoon? As ons kyk na die vraag beantwoord stelsels, dit is die lae wat ons nodig het om te hanteer. Nou, die beste en die mees soort van algemeen van hierdie stelsels vandag kan doen dinge op 'n vlak wat veel verder as wat ons gehad het 10 jaar gelede. Hier is een van die beste stelsels dit is daar vandag. En dit is 'n stelsel van IBM genoem Watson. Dit is van ons vriende by IBM. Dit is Katherine banke, Jia Chen, en Priscilla Moraes gee ons 'n demonstrasie van Watson gister in IBM Yorktown. [Video speel] -Hoe gaan dit? -Dit gaan goed met my. Ek is altyd bly wanneer ek dink, veral wanneer ek kan koel in hierdie bediener kamers bly. -Wie Is jou gunsteling aktrise? -My gunsteling aktrise Angelina Jolie as Lara Croft in Tomb Raider omdat haar oorspronklike vorm was as 'n virtuele karakter soos ek. -Hoe Kan Watson help om pasiënte? -Is Die plan vir pasiënte het toegang tot Watson direk? Toegang tot Watson adviserende aansoeke sal afhanklik van die gebruik geval. Maar op die oomblik, sal Watson slegs ' moontlike diagnose en behandeling opsies om mediese beroep. Waar toepaslik, pasiënte kan inligting Watson, miskien deur 'n portaal web interface, tablet, of selfs 'n selfoon. Byvoorbeeld, kan 'n pasiënt wees gevra om hul simptome te beskryf in natuurlike taal direk in 'n Watson oplossing sodat die dokter om te fokus op diagnose en nie data-insameling. -Wie Vermoor Abraham Lincoln? Joh Wilkes Booth. -In Watter jaar het die Arizona Diamondbacks wen die World Series? -2001. [Einde afspeel] BRIAN SCASSELLATI: So hierdie soort stelsels moet staatmaak op die eerste van alles die erkenning van die toespraak; tweede, omskakeling dit in 'n betekenisvolle interne verteenwoordiging; en dan, derde, in staat is om uit te gaan en vind die inligting bron wat hulle toelaat om daardie vraag te beantwoord. Hierdie vlak van kompleksiteit behels dieselfde tipes programmatiese dinge dat jy gewees doen in die probleem stelle. Ons is in staat om HTTP versoeke ontleed in dieselfde tipe van lae-vlak patroon ooreenstem dat ELIZA kan doen. Ons is in staat om diegene te omskep in 'n interne voorstelling, en dan gebruik hulle om 'n paar navraag eksterne databasis, moontlik met behulp van SQL. Al die stelsels wat word vandag gebou om hierdie tipe van natuurlike doen taal kommunikasie is gebou op dieselfde beginsels. Nou, selfs 'n stelsel soos Watson is nie kompleks genoeg in staat wees om te antwoord arbitrêre vrae oor enige onderwerp. En in die feit, hulle het om te wees gestruktureer binne 'n gegewe gebied. Sodat jy kan aanlyn gaan en jy kan vind weergawes van Watson wat goed funksioneer binne mediese informatika. Of daar is 'n aanlyn wat net handel oor hoe goeie aanbevelings te maak oor wat bier gaan waarmee voedsel. En binne daardie gebiede, dit kan vrae te beantwoord, vind die inligting wat dit nodig het. Maar jy kan nie meng en pas hulle. Die stelsel wat opgelei met die databasis van voedsel en bier nie goed werk wanneer jy skielik sit dit in die mediese informatika databasis. So selfs ons beste stelsels vandag staatmaak op 'n vlak van verwerking waarin ons hand kodering en gebou in die infrastruktuur in orde hierdie stelsel termyn. Nou, die laaste onderwerp ek wil in staat wees om vandag te kry is oor die nie-verbale kommunikasie. 'N groot massa van inligting wat ons met mekaar kommunikeer kom nie oor deur die individuele woorde dat ons aansoek doen. Dit het te doen met dinge soos nabyheid, blik, jou stemtoon, jou infleksie. En dat kommunikasie is ook iets wat baie verskillende interfaces sorg baie oor. Dit is nie wat Siri omgee. Ek kan Siri iets in een stem te vra of in 'n ander stemtoon, en Siri gaan gee my dieselfde antwoord. Maar dit is nie wat ons bou vir vele ander vorme van koppelvlakke. Ek wil u bekend te stel nou een van die robots. Dit is gebou deur my jarelange vriend en kollega Cynthia Breazeal en haar maatskappy Jibo. En dit robot-- ons gaan om 'n paar vrywilligers het kom tot interaksie met hierdie. So kan ek het twee mense wat bereid is om te speel met die robot vir my? Hoekom kom jy nie op up, en waarom kom jy nie op up. As jy hier wil saam met my, asseblief. En as ek kon jy kom reg hier. Dankie. Hi. ALFREDO: Nice om jou te ontmoet. Alfredo. BRIAN SCASSELLATI: Alfredo. RACHEL: Rachel. BRIAN SCASSELLATI: Rachel. Nice om jou te ontmoet beide. Alfredo, ek gaan hê jy eers gaan. Kom hier reg. Ek gaan stel you-- as ek dit kan kry af sonder om te klop die microphone-- om 'n klein robot genoem Jibo. OK? Nou, Jibo is ontwerp om interaktief te wees. En hoewel dit jou toespraak kan gee, baie van die interaksie met die robot is verbale. Alfredo, ek gaan jou vra om sê iets mooi en komplimentêre om die robot, asseblief. ALFREDO: Ek dink jy lyk oulik. [Woer KLANK] BRIAN SCASSELLATI: OK. Sy reaksie is nie verbale. En tog is dit aan jou gegee het beide 'n duidelike erkenning wat jy dit gehoor het gesê en ook een of ander manier verstaan ​​dat. OK? Stap terug hier vir 'n sekonde. Dankie. Rachel, as jy wil. Nou, ek gaan om te gee jy die veel harder werk. As jy hier wil bly staan, back-up net 'n bietjie, sodat kan ons jy op kamera en kyk op hierdie manier. Ek gaan jou vra om iets te sê werklik beteken en nare met die robot. RACHEL: Wat jy was net om te doen was heeltemal absurd. [Neurie KLANK] Dit was selfs meer absurd. Wat gaan aan met jou? Aw, moenie sleg voel. Ek sal jou 'n drukkie gee. BRIAN SCASSELLATI: Alle reg. Dankie, Rachel. Alfredo, Rachel, danksy ouens baie. [Applous] So hierdie soort interaksie het in baie maniere van dieselfde reëls en 'n paar van dieselfde struktuur as wat ons dalk in taalkundige interaksie. Dit is beide kommunikatiewe en dien 'n belangrike doel. En dat interaksie, in baie maniere, is ontwerp om 'n bepaalde effek op die het persoon interaksie met of luister om die robot. Nou, ek is gelukkig genoeg om Jibo hier vandag. Sam Spaulding is hier help ons uit met die robot. En ek gaan Sam vra om te gee ons een lekker demo van Jibo dans dat ons hier aan die einde kan sien. So gaan voort, Jibo. SAM: OK, Jibo. Wys ons jou danspassies. [Speel van musiek] BRIAN SCASSELLATI: Alle reg, almal. Dankie aan ons vriende by Jibo. [Applous] En te danke aan ons vriende by IBM vir die hulp vandag. Kommunikasie is iets dat jy gaan om te sien kom meer en meer as ons bou meer komplekse koppelvlakke. Volgende week, sal ons praat oor hoe om saam met 'n rekenaar teenstanders in speletjies. Maar as jy vrae oor hierdie te hê, Ek sal rondom by kantoorure vanaand. Ek is bly om jou te praat oor AI onderwerpe of om in meer detail. Het 'n groot naweek. [Applous] [Speel van musiek]