[Musikwiedergabe] DAVID MALAN: Dies ist CS50. Dies ist das Ende der 10. Woche. Und Junge, haben wir ein gute Klasse für Sie heute. Wir sind so aufgeregt, um zwei einladen unsere Freunde aus Yale bis zu uns heute und an der Kreuzung der aussehen künstliche Intelligenz, Robotik, Verarbeitung natürlicher Sprache und vieles mehr. Und in der Tat, über die letzten Wochen, haben wir sicherlich verbrachten viel Zeit, vor allem in den früheren psets, Schwerpunkt auf ziemlich Low-Level-Details. Und es ist sehr einfach, aus den Augen verlieren der Wald vor lauter Bäumen und erhalten Sie bis zu Schleifen und Bedingungen aufgehängt und Zeiger, sicher, und dergleichen. Aber die Realität ist euch nun die Zutaten mit denen Sie wirklich lösen einige interessante Probleme, unter sie diejenigen, die unsere Freunde an der Yale arbeiten nur schüchtern von Cambridge. So gestatten Sie mir zunächst, um unserem Kopf vorstellen Lehrassistent an der Yale, Andy. [BEIFALL] ANDY: Zunächst einmal, nur danken, Ihnen dafür, dass Sie ein paar Yalies Pop auf bis zu Cambridge heute. Wir schätzen es wirklich. Zweitens, unsere Freunde zurück home-- Jason, Dank für den Aufenthalt und Lauf Vortrag. Hoffe, es ist alles gut in New Haven. Also ja, ich bin super aufgeregt einzuführen Scaz heute. Scaz läuft die Robotik-Labor. Er ist Professor für, wie, fünf verschiedenen Abteilungen in Yale. In seinem Labor hat er viele, viele Roboter, die er mag, mit zu spielen. Er hat, wie die coolsten Job der Welt. Und er bekommt, um Art von Chaos herum mit, dass den ganzen Tag lang und einige Arbeit, wie gut. Und so haben wir eigentlich eine gebracht von ihnen sich mit uns heute. So ohne weiteres ist Scaz werde weitermachen und führen uns um seinen Roboter Freund. [BEIFALL] BRIAN Scassellati: Danke, David. Danke, Andy. Es ist so schön zu sein hier mit jeder heute. Ich möchte zunächst ganz klar, dass sein Die CS50 Personal hier in Cambridge hat unglaublich gastfreundlich zu uns gewesen. Wir sind so dankbar für alles, was sie getan haben, um uns zu unterstützen. Und so möchten wir zu können um die Güte zurückzugeben. Also heute, bekommen wir zu verkünden, dass wir gehen, ein neues zu haben, one-of-a-kind-CS50 Ereignis geschieht in New Haven nächste Woche. Und dies ist der CS50 Forschung Expo. So werden wir einladen everyone-- CS50 Studenten, Mitarbeiter aus beiden Harvard und Yale-- zu komm herab und besuchen Sie mit uns am Freitag. Wir werden eine große Auswahl von über haben 30 verschiedene Menschen präsentieren und exhibiting-- upperclassmen zeigen einige ihrer Forschungsprodukte. Wir werden einige Start-ups haben, auch, auf der Suche für ein wenig von neuen Tech-Talent, Startups aus sowohl Harvard und Yale. Und wir werden einige Schülergruppen haben Suche nach einigen neuen Mitglieds. Es wird eine sehr aufregende Zeit sein. Hoffentlich diejenigen von euch, sind herab für die Harvard-Yale-Spiel in der Lage zu stoppen durch ein kleines bisschen zu früh, direkt im Zentrum von Campus, Sterling Memorial Library. Wir werden eine Reihe von haben Exponate, die vom autonomen Bereich Segelboote, um Möglichkeiten der Verwendung von Software- In den mittelalterlichen Handschriften zu erhalten. Wir werden Anzeiger hoc-Vernetzung und die Menschen Lernsoftware Codierung in Kapstadt. Wir werden Computer haben Musikvorführungen. Und wir haben natürlich mehr Roboter. So dass wir hoffen, dass Sie besuchen Sie uns für diese Veranstaltung. Es sollte eine Menge sein, Spaß, ein bisschen von Lebensmitteln, und eine Menge interessanter Dinge zu reden. Also heute werden wir zu sprechen über die Verarbeitung natürlicher Sprache. Und das ist der Versuch für uns um ein neues Verfahren zur Verknüpfung bauen mit unseren Geräten, weil für den letzten Wochen, Sie, wie es ist, dass konzentriert haben können Sie Code schreiben, schreiben Software das ist eine Art des Seins in der Lage, ein Mitsprache Maschine, das ist, was ich will, was Sie tun. Aber wir sollten nicht zu erwarten, dass alles, was das ist, gibt, wird verwendet, von jeder in der Welt wird tüchtig zu sein in dieser Art von Unterricht. So unterscheiden wir zwischen Computer Sprachen und Natur languages-- das heißt, Dinge, die Nutzung der Mensch mit anderen Menschen kommunizieren. Und wir versuchen, Schnittstellen, verwenden zu bauen diese natürlichen Kommunikationsmechanismen. Jetzt, nur jede zweite Thema wünschen dass wir mit in CS50 begonnen, werden wir mit dem einfachsten starten Bit Verarbeitung natürlicher Sprache dass wir uns vorstellen können. Wir werden mit dem Start historischen Teil der natürlichen Sprache. Und dann werden wir aufbauen mehr neueren Systemen und Spaß haben Demos auf dem Weg. So werden wir mit dem, was war, zu starten wahrscheinlich das erste natürliche Sprache Verarbeitungssystem. Dies war ein Software-System in schriftlicher 1966 von Joseph Weizenbaum namens ELIZA. Und ELIZA wurde entwickelt replizieren die Art der Interaktion Sie mit einer hätte Rogers Psychotherapeut. Nun werden die Rogerians hatten sie eine Idee, die Psychotherapie beteiligt in der Lage, wieder zu spiegeln zu einem Patienten und mit ihnen sprechen, im Grunde nur um ihnen eine kleines bisschen des Therapeuten. Das heißt, alles, was dass der Therapeut sagte, sollte nur ein Spiegelbild sein was der Patient erzählte sie. Also lassen Sie uns versuchen, diese Demo. Haben wir einen Freiwilligen, der sein würde bereit sind, ihre tiefsten teilen, dunkelsten, und / oder gefälschten Geheimnisse mit ELIZA? Sicher, warum gehst du nicht zu kommen. Fantastisch. Und dein Name? MILES: Miles. BRIAN Scassellati: Miles. Freut mich, Miles. Wenn Sie auf, dass zu halten. Und wir sind zu gehen verwenden Sie eine Version von ELIZA dass wir repliziert haben innerhalb des CS50 IDE. Und wir werden an der Quelle zu suchen Code, um diese in eine kleine Weile. Aber für jetzt, nur wir sind werde es durch Eingabe von eliza aufzurufen. Und Eliza wird Ihnen Antworten zu geben, die gehen, um in allen Hauptstädten ist. Und werde Ihnen ein paar Fragen stellen. Und wir werden reagieren, und geben Sie in Reaktion auf ELIZA. So ELIZA hat gesagt: "Hallo, ich bin ELIZA. Was ist dein Problem?" Was würdest du gerne sagen ELIZA heute? MILES: Ich kann nur einschlafen wenn ich Häschenpantoffeln auf. BRIAN Scassellati: Alles klar. Gut. [LACHEN] "Ich kann nur einschlafen mit Häschenpantoffeln auf. " ELIZA und sagt: "Sag mal, hast du keine psychische Probleme? Vielleicht ist das ein guter Indikator. " OK. Also, was wollen Sie darauf reagieren? MILES: Ja. BRIAN Scassellati: Ja. Mann vieler Worte. Das macht mir viel Spaß. Eliza sagt: "Sie scheinen sehr positiv." MILES: Nein, ich bin in der Tat, ein Elektron. BRIAN Scassellati: "No. In der Tat, ich bin ein Elektron. " "Hast du zu mir kommen weil Sie eine Elektronen sind? " Jetzt können wir einige zu sehen die things-- Ich werde , Sie nur für eine Sekunde Pause, Miles. Überall Gehen Sie nicht. Wir sind noch nicht mit dir geschehen. ELIZA ist, in gewisser Weise, Reaktion auf bestimmte Dinge, , dass er sagt, aber ohne eine wirkliche Verständnis. Und es ist auch wieder einige parroting der Teile seiner Strafe. Also sagten wir: "Nein, In der Tat, ich bin ein Elektron. " Eliza reagierte zurück, "Bist du gekommen, für mich, denn du bist ein Elektron? " Gut. Geben wir es noch Antwort hier. Geben Sie ihm ein gutes, Miles. MILES: Good one? Ja, bitte hilf mir. BRIAN Scassellati: "Ja. Bitte helfen Sie mir. "" Bist du sicher? " MILES: Nein BRIAN Scassellati: Nein "Was bedeutet das für Sie vor?" MILES: Ich kann nicht ein Elektron ist. BRIAN Scassellati: "Ich kann nicht ein Elektron zu sein. " "Wollen Sie damit sagen nicht nur negativ zu sein?" Gut. So Miles, ich danke Ihnen so sehr. MILES: Ich danke Ihnen. BRIAN Scassellati: Vielen Dank. [BEIFALL] So dass diese ELIZA Programms in vielerlei Hinsicht, wird nur die Reaktion auf den Stücken dass wir ohne tiefe Bereitstellung zu verstehen, was hier passiert. Dies ist eine Art von System genannt Pattern-Matching, wo wir sind für bestimmte suchen Bits der Text, den wir dann gehen, um von zu nehmen, was als Eingabe bereitgestellt, umwandeln, was möglicherweise in irgendeiner Weise, und dann geben wir es zurück an den Benutzer. Hat jemand von euch denken, dass ELIZA ist eigentlich Durchführung gültig Psychoanalyse hier? Eine Person, vielleicht. ZIELGRUPPE: [unverständlich]. BRIAN Scassellati: Und wie Heißt das, fühlen Sie sich? Ja, in der Tat, es tut. Und wir werden sehen, die tatsächlich die Quellcode für sie in nur einem Augenblick. Und so wirst du sein wirst Lage, genau dies zu tun. Nun, das ist eine Form von ELIZA, was wir heute ein Chat-Bot nennen würde. Es geht nur über die Text, den Sie bieten bist, bietet das Nötigste Menge Verständnis oder Verarbeitung, und dann plappert sie zurück zu Ihnen. Werfen wir also einen Blick, konzeptionell und darüber zu sprechen, was es ist, dass ELIZA tatsächlich tut. ELIZA nimmt ein sentence-- Lassen Sie uns sagen: "Ich will mein Chef zu beeindrucken." Und Eliza suchen durch diesen Satz und versuchen zu finden und entsprechen bestimmte Muster. So, zum Beispiel, eines der Muster dass ELIZA ist auf der Suche sind die Worte "Ich will." Und jedes Mal, es war etwas sieht, das hat "Ich will" in ihm, es formuliert eine Antwort. Und diese Antwort ist ein fester String. In diesem Fall ist es, "warum willst du?" Und ich einen kleinen Stern auf das Ende, denn das ist nur der Anfang unserer Antwort. Und der Stern zeigt an, dass wir werden den Rest von utterance-- des Benutzers "Zu meinen Chef zu beeindrucken" - und wir werden, dass anhängen auf das Ende dieser Zeichenfolge. So, jetzt, anstatt zu sagen, "warum Sie zu meinem Chef zu beeindrucken wollen " es ist ein bisschen von zusätzlichen Verarbeitung, die wir tun. Das heißt, wir werden zu müssen konvertieren einige der Pronomina hier von "mein Chef" bis "Ihrem Chef." Und es könnte ein paar andere sein Änderungen, die wir brauchen, um zu machen. Also nicht nur Aufkleben direkt auf das Ende, was wir tun wird wir erledigen den Rest des nehmen utterance-- Benutzers in weißen hier-- und wir werden es ein Stück zu nehmen eine Zeit, und wandeln jede Saite Token, jedes Wort, in den Satz. Also werden wir das Wort "bis". Nehmen Es gibt keine Umrechnungs dass wir das tun. "Beeindrucken." Es gibt keine Umrechnungs wir brauchen, um es zu tun. "Mein" konvertiert, um "Ihre". Und "Chef" wir lassen Sie einfach als "Chef". Und dann schließlich alles dass endet mit einem Punkt, wir werden es in eine Frage zu konvertieren. Diese sehr einfache Mustererkennung ist eigentlich recht erfolgreich. Und wenn diese eingeführt wurde in 1966-- Joseph Weizenbaum programmiert diese auf einem Computer. Nun, Computer zu diesem Zeitpunkt waren nicht Desktop-Modelle. Sie wurden gemeinsam genutzten Ressourcen. Und seine Schüler würden gehen und sich mit ELIZA. Schließlich hatte er den den Zugriff auf sie weil seine Schüler waren nicht immer alle Arbeit getan. Sie wurden gerade im Chat mit ELIZA. Und, in der Tat, hatte er Feuer seine Assistentin, die verbrachte ihre ganze Zeit im Gespräch mit ELIZA über ihre tiefen und beunruhigenden Problemen. Jeder, der diese Systeme verwendet werden, begann, sie zu vermenschlichen. Sie fingen an, von ihnen als zu denken wobei belebten und echten Menschen. Sie fingen an, einige erkennen, die Dinge, die sie sagten wurden wieder zu ihnen kommen. Und sie wurden herausfinden, Dinge über sich selbst. Und in der Tat auch die Experten, selbst die Psychotherapeuten, begann sich Sorgen zu machen, dass in der Tat, vielleicht ELIZA wäre zu ersetzen. Und selbst der Computer Wissenschaftler befürchten, dass wir so nah an der Lösung der natürlichen Sprache. Nun, das war nicht annähernd so wahr. Aber das ist, wie beeindruckend diese Systeme scheinen. Lassen Sie uns also beginnen zu schauen unterhalb und versuchen um ein wenig von einer Frage zu erhalten von denen dieser Code tatsächlich passiert. Also werden wir diesen Code machen verfügbar danach. Und das ist eine sehr einfachen und direkten Port- des ursprünglichen ELIZA Umsetzung. So einige dieser stilistischen Dinge, die Sie hier sehen, nicht stilistisch, was wir möchten Sie tun oder was wir unterrichtet, was Sie tun. Aber wir haben versucht, sie zu halten das gleiche für die vielen Häfen daß dies so, daß sie zu hat den Geschmack des ursprünglichen. So werden wir schließen eine Reihe von Dingen, und dann werden wir eine haben, Satz von Schlüsselwörtern, die Dinge dass ELIZA erkennen und darauf zu reagieren direkt. Also, wenn Sie Wörter wie haben "Sie" oder "Ich weiß nicht" oder "nein" oder "Ja" oder "Traum" oder "Hallo", dann ELIZA wird selektiv an denjenigen zu reagieren. Wir haben auch ein bestimmte Anzahl von Dingen dass wir uns wie zu tauschen Umwandlung von "mein" zu "Ihrem". Und dann werden wir eine Reihe von Reaktionen haben , dass für jedes dieser Stichworte, wir werden durch Drehen diese unterschiedlichen Reaktionen. Also, wenn ich sage, "Ja" drei Mal in Folge, I vielleicht bekommen drei verschiedene Antworten von ELIZA. Unser Code ist also tatsächlich bemerkenswert einfach. Wenn ich nach unten scrollen Vergangenheit alle diese Antworten, die wir in programmiert haben und wir uns an die unsere, wir werden initialisiert ein paar verschiedene Variablen und tun, ein wenig von der Hauswirtschaft am Anfang. Aber dann gibt es absolut ein Satz der Code, den Sie verstehen können. Ein großer while-Schleife, die sagt, ich bin werde dies immer und immer zu wiederholen. Ich werde in einer Zeile zu lesen, und ich werde zu speichern, die in einer Eingabezeichenfolge. Ich werde zu überprüfen und sehen, ob es die spezielle Schlüsselwort "Auf Wiedersehen", die bedeutet, das Programm zu beenden. Und dann werde ich überprüfen und sehen, ob jemand gerade sich zu wiederholen über und über. Und ich werde sie an zu schreien, wenn sie es tun. Ich werde sagen, "Sie sich nicht wiederholen." Solange keiner von denen geschehen, werden wir dann durch und Schleife durch Scannen, auf den Leitungen 308-313 hier und überprüfen und sehen, sind irgendwelche von denen Schlüsselwort Sätze in der Eingabe enthalten dass ich gerade gegeben? Wenn es eine Übereinstimmung für sie, gut dann werde ich diesen Ort erinnern. Ich werde dieses Schlüsselwort zu erinnern. Und ich werde in der Lage, eine Antwort zu bauen. Wenn ich nicht finden ein, auch dann, das Letzte, was in meinem Keyword-Array meine Standardantworten zu sein, wenn sonst nichts passt. Ich werde Fragen wie: "Warum hast du hierher zu kommen? "oder" Wie kann ich Ihnen helfen? " dass sind nur teilweise entsprechende egal, was die Eingabe ist. Wir werden dann aufzubauen ELIZA Antwort. Wir werden in der Lage, zu nehmen daß Basisantwort, so wie wir das gemacht haben, dass "mein Chef" Beispiel. Wenn das alles ist, dass es ist-- wenn es nur einen Zeichenfolge, die ich soll respond-- Ich kann senden Sie ihn wieder heraus. Wenn sie einen Stern in hat das Ende vom Lied, dann werde ich verarbeiten jedes einzelne Zeichen in der Rest der Antwort des Benutzers und fügen Sie den in, Auslagern Wort für Wort, wie es sein muss. All dies absolut etwas, das Sie bauen können. Und in der Tat die Art und Weise, in der wir müssen verarbeitet Befehlszeilenargumente, die Art, wie Sie über HTTP-Anfragen bearbeitet befolgen Sie die gleichen Arten von Regeln. Sie sind Mustererkennung. Also musste ELIZA eine relativ wichtige Auswirkungen auf die natürliche Sprache denn es machte es scheinen, wie es war sehr erreichbares Ziel, wie irgendwie würden wir in der Lage, dieses Problem unmittelbar zu lösen. Nun, das ist nicht zu sagen, dass ELIZA tut alles, was wir tun wollen. Sicher nicht. Aber wir sollten in der Lage sein, , etwas mehr zu tun. Unser erster Schritt zu gehen über ELIZA wird in der Lage sein, zu betrachten nicht Text eingegeben in die Tastatur, sondern rede, tatsächliche Sprach aufgezeichnet in ein Mikrofon. So, wie wir diese verschiedenen Stücken, wir sind zu haben, um eine Reihe von Modellen zu bauen. Wir werden in der Lage sein, von der Low-Level-akustische gehen information-- Tonhöhe, Amplitude, frequency-- und konvertieren, dass in einige Einheiten, die wir sind in der Lage, leichter zu manipulieren und schließlich manipulieren zu Wörtern und Sätzen. So sind die meisten Spracherkennungs Systeme, die es gibt heute folgen eine statistische Modell, in dem wir bauen drei separate Darstellungen dessen, was dass Audiosignal tatsächlich enthält. Wir beginnen mit einem Lautmodell dass etwa nur die Basis spricht Sounds, die ich produziere. Bin ich etwas, das ist die Herstellung a B wie in Junge oder ein D wie in Hund? Wie erkenne ich die beiden unterschiedlichen Telefonen als getrennt und verschieden? Hinzu kommt, dass, werden wir dann bauen ein Wort Aussprachemodell, etwas, das miteinander verbindet diese einzelnen Telefone und kombiniert sie zu einem Wort. Und danach werden wir die Worte zu nehmen und wir werden sie mit einer Sprache zu montieren Modell in ein vollständiger Satz. Nun, wir werden zu jedem sprechen von diesen unabhängig und getrennt. Aber diese drei Modelle sind alle nur gehen, um Statistiken zu sein. Und das bedeutet, wenn wir mit ihnen arbeiten, werden wir in der Lage zu arbeiten sie alle gleichzeitig. Gut. Lassen Sie uns mit unserem phonetischen Modells starten. So phonetische Modelle stützen sich auf eine Rechentechnik genannte Hidden-Markov-Modellen. Sind graphische Modelle, in denen I haben und erkennen, ein Zustand der Welt wie gekennzeichnet durch eine Reihe von Funktionen. Und dieser Zustand beschreibt ein Teil einer Aktion, die ich in Eingriff. Also, wenn ich darum, denken der Klang "ma" wie die Mutter, es gibt verschiedene Komponenten in diesem Ton. Es gibt einen Teil, wo ich ziehen in Atem. Und dann Geldbeutel Ich meine Lippen. Und ich rolle meinen Lippen ein wenig zurück Bit auf, dass "ma" Ton. Und dann gibt es eine Freigabe. Meine Lippen kommen auseinander. Luft ausgestoßen. "Ma". Diese drei verschiedenen Teilen wäre von den Staaten in diesem graph-- vertreten der Beginn, die Mitte und das Ende. Und ich möchte, dass Übergänge mir erlaubt, von einem Zustand zu reisen auf die nächste mit einer gewissen Wahrscheinlichkeit. So, zum Beispiel, dass M klingen mag eine sehr haben, sehr kurze Aufnahme am beginning-- "mm" - und dann einen längeren, Vibrations Phase, wo ich hielt meine die Lippen zusammen und fast humming-- "mmmm" - und dann eine sehr kurze plosive wo ich zu vertreiben breath-- "ma". Die Hidden-Markov-Modell entworfen, um die Tatsache zu erfassen dass der Weg, den ich machen dass eine solide "ma" geht in etwas anders deren Zeitpunkt ist die Frequenz, und seine Funktionen als die Art, wie Sie es machen oder die Art und Weise, dass ich vielleicht machen es, wenn ich im Gespräch über die verschiedenen Verwendungen des Briefes. "Mutter" und "Darf ich" werden klingt etwas anders. So, um eine zu erkennen insbesondere Ton, würden wir Markov-Modelle zu bauen, diese Hidden-Markov- Modelle, von jedem möglichen Telefon, dass ich Vielleicht möchten Sie zu erkennen, jeden möglichen Ton, und dann bei der Suche akustischen Daten, die ich habe und festzustellen, statistisch eine davon ist die wahrscheinlichste um diesen Sound produziert haben. OK. Mit diesem Modell haben wir dann starten, um auf es zu bauen. Wir nehmen ein Aussprachemodell. Nun, manchmal Aussprache Modelle sind einfach und leicht denn es gibt nur einen Möglichkeit, etwas auszusprechen. Andere Zeiten, sie sind ein wenig komplizierter. Hier ist eine Ausspracheführer für die rote Sache, die ist eine Frucht, die Sie Ketchup aus zu machen. Die Leute wissen nicht, dass es eine Frucht ist. Recht? Nun gibt es viele verschiedene Möglichkeiten, dass die Menschen dieses Wort auszusprechen. Einige werden sagen, "toe-May-Zehe." Einige werden sagen, "toe-mah-toe." Und wir können das mit erfassen eine dieser graphischen Modellen wo wiederum vertreten wir Übergänge als mit einer bestimmten Wahrscheinlichkeit und zugehörige Wahrscheinlichkeit mit ihnen. Also in diesem Fall, wenn ich folge der obere Weg durch dieses gesamte Grafik, Ich würde auf den Brief ab werden ganz links, die "ta" Sound. Ich würde die obere Hälfte zu nehmen, die "Oh", und dann ein "ma" und dann wird ein "a", und dann wird ein "TA", und ein "Oh." "Toe-May-Zehe." Wenn ich nahm den unteren Pfad durch Dazu werde ich bekommen "ta-mah-toe." Und wenn ich ging hinunter und dann up, ich bekommen würde "ta-May-Zehe." Diese Modelle erfassen diese Unterschiede, weil, wenn wir eins von diesen bereitstellen Erkennungssysteme, es wird mit arbeiten müssen viele verschiedene Arten von Menschen, viele verschiedene Akzente und sogar verschiedenen Verwendungen von den gleichen Worten. Schließlich oben auf, dass, wir etwas aufbauen das sieht wirklich kompliziert, nannte das Sprachmodell, aber in der Tat ist die einfachste drei, da diese zu betreiben was sind n-Gramm-Modelle genannt. Und in diesem Fall, ich zeige Ihnen eine zweiteilige n-Gramm-Modell, ein Bigramm. Wir werden physikalische den Gedanken zu machen dass manchmal sind bestimmte Worte eher ein Follow- gegebene Wort als andere. Wenn ich sagte nur "Wettervorhersage" das nächste Wort könnte "heute" wahrscheinlich oder "das Wetter sein könnte Vorhersage morgen. " Aber es ist unwahrscheinlich, dass "sein, die Wettervorhersage Artischocke. " Was für ein Sprachmodell tut, ist, es erfasst denen statistisch durch Zählen, von einigen sehr großen Korpus alle Instanzen in dem ein Wort anderen folgt. Also, wenn ich eine große corpus-- nehmen wie jedes Wall Street Journal das hat seit 1930 produziert worden, Das ist einer der Standard corpuses-- und ich über alle sehen dass der Text, und ich zähle up wie oft nach "Vorhersagen", sehe ich "heute" und wie oft muss ich sehen "Vorhersagen", gefolgt von "Artischocke" die erste wird zu viel eher. Es wird angezeigt weitaus häufiger. Und so wird es eine höhere haben Wahrscheinlichkeit zugeordnet. Wenn ich will, um herauszufinden, die Wahrscheinlichkeit eines gesamte Äußerung, dann, ich brechen sie auf. So dass die Wahrscheinlichkeit des Hörens der Satz "die Ratte aß Käse" ist die Wahrscheinlichkeit der Wort ", die" Gründung eines Satzes, und dann wird die Wahrscheinlichkeit, dass das Wort "Ratte" folgt das Wort "das" und die Wahrscheinlichkeit, dass das Wort "gegessen" folgt "Ratte" und die Wahrscheinlichkeit, dass "Käse" folgt "gegessen." Das klingt wie eine Menge Statistiken, eine Menge von Wahrscheinlichkeiten. Und das ist alles, was es ist. Aber das Erstaunliche ist, wenn Sie dies tun mit einer ausreichend großen Probe von Daten, es funktioniert. Und es funktioniert unglaublich gut. Wir alle wissen, diese Technologien. Die meisten Betriebssysteme verfügen über Spracherkennung an dieser Stelle. Wir verwenden Siri und Cortana und Echo. Und diese Dinge sind, auf der Grundlage Diese Art der dreischichtigen model-- eine phonetische Modell am Boden, ein Aussprache-Modell in der Mitte, und eine Sprachmodell auf ihnen. Nun, ein wenig mehr zu tun, müssen sie als dass, um Fragen zu beantworten. Aber die Anerkennung dessen, was du bist Spruch hängt genau darauf. Werfen wir also ein Beispiel hier. So habe ich mein Handy sitzen hier unter der Dokumentenkamera. Und wir werden ersucht Siri ein paar Fragen. Gut? Lassen Sie uns also aufwachen mein Handy hier. Siri, was ist das Wetter wie in New Haven heute? SIRI: Hier ist das Wetter für New Haven, Connecticut heute. BRIAN Scassellati: OK. Also zuerst Sie sah, dass Siri erkannt jede der einzelnen Wörter und dann erzeugt eine Antwort. Wir werden, wie diese Antwort sprechen kommt in ein wenig. Aber jetzt, da wir wissen, dass dies nur auf der Basis auf den rohen Statistiken und dies Pattern-Matching Art von Ansatz, wir können einige Spiele mit Siri zu spielen. So kann ich noch einmal zu versuchen. Siri, was ist das Wetter Nilpferd New Haven, heute? SIRI: OK. Hier ist das Wetter für New Haven, Connecticut für heute. BRIAN Scassellati: Siris nicht, dass eingeschüchtert weil es die pattern-- gefunden "wetter", "heute", "New Haven". Das ist, was es reagiert zu, genau wie ELIZA. Gut. Geben wir es noch einmal lächerlicher Beispiel. Siri, Wetter Artischocke Gürteltier Nilpferd New Haven? SIRI: Lassen Sie mich auf, dass zu prüfen. Hier ist, was ich im Netz gefunden für was sind Artischocken Gürteltier Nilpferd New Haven. BRIAN Scassellati: OK. Also, wenn ich weit genug weg von diesem Modell, Ich bin in der Lage, weil es nicht zu verwechseln das Muster, das es mehr übereinstimmt. Und das statistische Motor, der sagt, was ist die Wahrscheinlichkeit, dass Sie haben die Worte Nilpferd und Artischocken zusammen und Gürteltier? Das muss etwas Neues sein. Also diese Technologien nutzen wir jeden Tag. Wenn wir sie einen Schritt machen wollen Weiterhin kann, obwohl, wenn wir tatsächlich wollen in der Lage, über das, was sie sprechen ist, dass diese Systeme reagieren auf, Wir müssen reden, wieder über eine grund Reihe von Fragen. Und das ist ein Thema in der Kommunikation dass wir als Frage-Antwort. Das heißt, dass wir in der Lage zu-- ja sein? ZIELGRUPPE: [unverständlich]. BRIAN Scassellati: Bekommen wir in latente semantische Verarbeitung? Also ja. Es gibt eine Menge Dinge, die sind geschieht unter der Oberfläche mit Siri und in einigen der Beispiele Ich werde Ihnen zeigen, nächste wo gibt es ein ganzes Stück in Bezug auf die Struktur von dem, was Sie sagen, das ist wichtig. Und in der Tat, das ist ein großes Vorläufer für die nächste Folie für mich. So in der gleichen Weise, dass unsere Spracherkennungs aufgebaut wurde aus mehreren Schichten, wenn wir wollen verstehen, was es ist, dass ist eigentlich Davon abgesehen, sind wir wieder in Gang zu stützen sich auf eine mehrschichtige Analyse der Text, der erkannt hat. Also, wenn Siri ist eigentlich in der Lage, sagen wir, schauen Ich fand diese Worte. Nun, was soll ich tun mit ihnen? Die erste Komponente ist oft gehen Sie durch und versuchen zu analysieren, die Struktur des Satzes. Und in dem, was wir gesehen haben, in der Grundschule, die oft, als eine Art Diagramm- Sätze, wir gehen dass bestimmte, zu erkennen, Worte haben bestimmte Rollen. Dies sind Substantive. Dies sind Pronomen. Dies sind Verben. Und wir erkennen, dass für ein bestimmtes Grammatik, in diesem Fall der englischen Grammatik gibt es gültig Möglichkeiten, in denen ich sie kombinieren und andere Wege, die nicht gültig sind. Dass die Anerkennung, dass Struktur, könnte ausreichen, um zu helfen, uns zu sein ein bisschen. Aber es ist nicht genug Für uns in der Lage zu geben, zu sein einen Sinn zu dem, was hier gesagt wird. Um dies zu erreichen, müssen wir vertrauen eine gewisse Menge von semantischen Verarbeitung. Das heißt, wir werden schauen zu müssen bei unter, was jedes dieser Wörter tatsächlich ausübt als eine Bedeutung hat. Und auf die einfachste Weise, dies zu tun, wir werden mit jedem Wort zu assoziieren da wir wissen, eine bestimmte Funktion, eine gewisse Transformation, dass es können passieren. In diesem Fall könnte man die kenn Wort "John" als ein Eigenname, sie birgt es eine Identität. Und wir könnten beschriften "Mary", wie dieselbe Weise. Während ein Verb wie "Liebe", dass stellt eine besondere Beziehung dass wir in der Lage, zu vertreten. Nun, das bedeutet nicht, dass wir verstehen, was Liebe ist, sondern nur, dass wir verstehen, es in der Art eines Symbolsystems. Das heißt, wir Etikett Sie und manipulieren. Mit jedem dieser Typen von Ansätzen jede Art von semantische Verarbeitung Hier wird sich ein wenig erforderlich wenig Wissen und viel Arbeit von unserer Seite. Wir sind nicht mehr in das Reich wo einfach nur Statistiken gehen, um genug für uns sein. Nun, um zu gehen, von diesem Punkt zu sein in der Lage, über das Innere sprechen was hier wirklich passiert, zu der Möglichkeit, diese zu manipulieren strukturieren und zu verstehen, eine Frage und dann in der Lage zu gehen und suchen, dass eine weitere benötigt komplexe kognitive Modell. Die Art, in der diese Systeme integriert sind ist in den meisten Fällen sehr, sehr arbeits intensiv. Sie beinhalten Menschen verbringen viel Zeit Strukturierung der Möglichkeiten die diese Art von Sätzen kann in einigen Logik vertreten sein. Es wird noch ein wenig komplexer, though. Selbst wenn wir behandelt haben mit Semantik, werden wir immer noch auf der Suche Pragmatik, was gesagt wird. Das heißt, wie kann ich beziehen sich die Worte dass ich etwas physisch heraus dort in der Welt oder zumin dest einige Informationsquelle dass ich zu manipulieren? Manchmal führen diese zu wunderbare Bits der Mehrdeutigkeit. "Red-Hot Stern, um Astronomen heiraten." OK. Jetzt lesen wir, dass die lustige Art von headline dass wir am späten Abend TV zu sehen weil wir nicht interpretieren "Stern" seiner Himmelskörper Bedeutung haben. Wir wissen, daß es die weitere Mittel Gemein Schauspieler oder Schauspielerin mit hohen Mengen an Sichtbarkeit. "Squad hilft Hundebiss Opfer." Ist es, dass der Kader ist eigentlich da draußen helfen, einen Hund in gehen um und beißt die Opfer? Oder ist es, dass es eine Person, die war von einem Hund, der etwas Hilfe brauchte gebissen? Nur vom Blick auf die Syntax, und die Semantik der Sätze, können wir nicht feststellen, dass. "Hubschrauber angetrieben durch menschliche Fliegen." Gibt es in der Tat tatsächlich Kleinigkeiten herumfliegen, sind Menschen mit Flügeln Versorgung Hubschrauber für das Wohl der Menschheit? Oder gibt es eine mechanische Vorrichtung dass schöpft ihre Kraft von einer Person? Wenn wir auf Frage Antwort-Systemen, das sind die Schichten, wir brauchen, zu beschäftigen. Nun, die beste und Sortier der vorherrschenden dieser Systeme Heute sind in der Lage zu tun, Dinge, auf einem Niveau, sind weit darüber hinaus, was wir hatten vor 10 Jahren. Hier ist eines der besten Systeme das ist, gibt heute. Und dies ist ein System von IBM namens Watson. Dies ist von unseren Freunden bei IBM. Dies ist Katherine Banken, Jia Chen, und Priscilla Moraes geben uns eine Demonstration der Watson gestern in IBM Yorktown. [VIDEO-WIEDERGABE] -Wie geht es dir? -Mir geht es gut. Ich bin immer glücklich, wenn ich denken, vor allem, wenn ich kann cool in dieser Serverräume bleiben. -Wer Ist Ihre Lieblings-Schauspielerin? -Mein Lieblingsschauspielerin Angelina Jolie als Lara Croft in Tomb Raider, weil ihr ursprünglicher Form war als virtueller Charakter wie ich. -Wie Kann Watson Patienten helfen? -Ist Der Plan für die Patienten, Zugang zu Watson direkt? Zugang zu Watson Beratungs Anwendungen werden von Anwendungsfall variieren. Aber derzeit wird Watson nur liefern mögliche Diagnose und Behandlung Optionen zum Arzt. Gegebenenfalls Patienten kann Informationen liefern Watson, vielleicht durch eine Portal Web-Interface, einer Tablette, oder sogar ein Handy. Zum Beispiel kann ein Patient sein aufgefordert, ihre Symptome zu beschreiben in natürlicher Sprache direkt in eine Watson-Lösung, ermöglicht es dem Arzt, den Schwerpunkt auf die Diagnose und nicht die Datenerfassung. -Wer Abraham Lincoln ermordet? -John Wilkes Booth. -In Welchem ​​Jahr die Arizona Diamondbacks gewinnen die World Series? -2001. [END PLAYBACK] BRIAN Scassellati: So Diese Arten von Systemen müssen auf zunächst verlassen Erkennen der Sprache; zweite, Umwandlung in einen sinnvollen internen Darstellung; und dann, dritten in der Lage zu gehen und finden die Informationsquelle, ermöglicht es ihnen, diese Frage zu beantworten. Diese Komplexität beinhaltet die gleichen Arten von program Dinge dass Sie gewesen sein tut in Problem-Sets. Wir sind in der Lage, HTTP-Anforderungen in parsen die gleiche Art von Low-Level-Muster Matching, die ELIZA tun können. Wir sind in der Lage, diejenigen zu konvertieren in eine interne Darstellung, und dann nutzen sie, um einige abfragen externen Datenbank, gegebenenfalls unter Verwendung von SQL. Alle Systeme, werden heute gebaut um diese Art von natürlichen zu tun Sprachkommunikation werden ausgebaut diese gleichen Prinzipien. Nun, auch ein System wie Watson ist nicht komplex genug, zu beantworten willkürlich Fragen zu jedem Thema. Und in der Tat, müssen sie sein in einer bestimmten Domäne strukturiert. So können Sie online gehen und finden Sie Versionen von Watson, die gut arbeiten in der medizinischen Informatik. Oder es gibt einen Online- dass nur befasst sich mit, wie gute Empfehlungen zu machen was Bier mit dem Essen gehen. Und innerhalb dieser Domänen, kann Fragen beantworten, finden Sie die Informationen, die er braucht. Aber man kann nicht zu mischen und Spiel ihnen. Das System, das geschult ist mit der Datenbank von Essen und Bier funktioniert nicht gut, wenn Sie plötzlich legen Sie sie in der medizinischen Informatik Datenbank. Also selbst unsere besten Systeme heute verlassen sich auf einem Niveau von Verarbeitungs in dem wir Hand-Codierung und Aufbau der Infrastruktur, um dieses System zum Laufen zu bringen. Nun, das letzte Thema, das ich will in der Lage sein, um heute zu bekommen ist etwa nonverbale Kommunikation. Eine große Masse von Informationen, wir miteinander kommunizieren, nicht etwa durch die gekommen einzelne Wörter, die wir die Anwendung. Es geht um Dinge wie Nähe, Blick, Ihre Stimme, Ihre Einbiegung. Und dass eine Kommunikation auch etwas, das viele verschiedene Schnittstellen Pflege viel über. Es ist nicht das, was Siri kümmert. Ich kann Siri etwas in einer Stimme fragen oder in einem anderen Tonfall, und Siris zu gehen geben Sie mir die gleiche Antwort. Aber das ist nicht das, was wir zu bauen für viele andere Arten von Schnittstellen. Ich möchte Ihnen vorstellen nun auf einen der Roboter. Dies wurde von meinem langjährigen gebaut Freund und Kollege Cynthia Breazeal und ihre Firma Jibo. Und dies robot-- wir gehen um ein paar Freiwillige haben kommen, um mit diesem zu interagieren. So kann ich zwei Menschen, die bereit um mit dem Roboter für mich zu spielen? Warum gehst du nicht zu kommen, und warum gehst du nicht auf kommen. Wenn Sie möchten mich hier verbinden sich, bitte. Und wenn ich Sie kommen direkt hier. Vielen Dank. Hallo. ALFREDO: Nice to meet you. Alfredo. BRIAN Scassellati: Alfredo. RACHEL: Rachel. BRIAN Scassellati: Rachel. Schön, dass Sie beide zu erfüllen. Alfredo, ich werde müssen Sie zuerst gehen. Kommen Sie hier. Ich werde einzuführen Sie-- ob ich das aussteigen ohne an die microphone-- zu einem kleinen Roboter namens Jibo. OK? Nun Jibo wird interaktiv angelegt. Und obwohl es kann Ihnen Rede zu halten, viel von der Wechselwirkung mit dem Roboter ist nonverbal. Alfredo, werde ich Sie bitten, sagen, etwas nettes und kostenlose an den Roboter, bitte. ALFREDO: Ich glaube, Sie sehen niedlich. [Surren] BRIAN Scassellati: OK. Seine Antwort ist nicht verbal. Und doch ist es ihr habt sowohl ein klares Bekenntnis dass er gehört hatte, was Sie gesagt haben und auch irgendwie verstehen, dass. OK? Schritt zurück mit rechts hier für eine Sekunde. Danke. Rachel, wenn Sie möchten. Nun, ich werde geben, Sie das viel schwieriger Job. Wenn Sie gleich hier stehen würde, Sichern nur ein bisschen so können wir Sie mit der Kamera bekommen und suchen Sie auf diese Weise. Ich werde Sie bitten, etwas zu sagen wirklich bedeuten und böse an den Roboter. Rachel: Was Sie gerade schien, zu tun, war völlig absurd. [Brummton] Das war noch absurder. Was ist los mit dir? Aw, fühlen sich nicht schlecht. Ich gebe Ihnen eine Umarmung. BRIAN Scassellati: Alles klar. Vielen Dank, Rachel. Alfredo, Rachel, Danke Jungs sehr viel. [BEIFALL] So dass diese Art der Interaktion hat bei viele Möglichkeiten, einige der gleichen Regeln und einige der gleichen Struktur, wie das, was wir vielleicht in der sprachlichen Interaktion haben. Es ist sowohl kommunikativ und dient einem wichtigen Zweck. Und die Wechselwirkung, vielerlei Hinsicht ist entworfen um eine bestimmte Wirkung auf die haben Person, die Interaktion mit oder Hören an den Roboter. Nun, ich bin das Glück, um Jibo hier heute haben. Sam Spaulding ist hier helfen uns mit dem Roboter. Und ich werde Sam fragen zu geben uns eine schöne Demo von Jibo Tanz dass wir hier am Ende sehen. Also zögern Sie nicht, Jibo. SAM: OK, Jibo. Zeigen Sie uns Ihre Tanzschritte. [Musikwiedergabe] BRIAN Scassellati: Okay, alle. Dank unseren Freunden bei Jibo. [BEIFALL] Und dank unserer Freunde bei IBM für die Unterstützung aus heute. Kommunikation ist etwas, dass du gehst um zu sehen, kommen mehr und mehr als wir bauen komplexere Schnittstellen. Nächste Woche werden wir im Gespräch darüber, wie Sie eine Schnittstelle mit Computer-Gegner in den Spielen. Aber wenn Sie Fragen haben, Ich werde in der Umgebung zu Bürozeiten heute Abend. Ich bin glücklich, mit Ihnen über AI sprechen Themen oder mehr ins Detail zu erhalten. Habe ein schönes Wochenende. [BEIFALL] [Musikwiedergabe]