[Jouer de la musique] DAVID MALAN: Ceci est CS50. Ceci est la fin de la semaine 10. Et le garçon, avons-nous un bonne classe pour vous aujourd'hui. Nous sommes très heureux d'inviter deux des nos amis de Yale jusqu'à nous aujourd'hui et à comparer à l'intersection de l'intelligence artificielle, la robotique, traitement du langage naturel, et plus encore. Et en effet, au cours de la dernières semaines, nous avons certainement passé beaucoup de temps, en particulier dans les psets précédentes, concentrant sur jolis détails de bas niveau. Et il est très facile de perdre de vue de la forêt pour les arbres et vous attardez sur les boucles et conditions et des pointeurs, certes, et analogues. Mais la réalité est que vous avez maintenant les gars ingrédients avec lesquels vous pouvez vraiment résoudre des problèmes intéressants, parmi les eux ces que nos amis de Yale travailler sur un peu moins de Cambridge. Alors, permettez-moi d'abord de vous présenter notre tête assistant d'enseignement de l'Université Yale, Andy. [APPLAUDISSEMENTS] ANDY: Tout d'abord, tout simplement remercier vous pour permettre à un couple Yalies de la pop sur le bas à Cambridge aujourd'hui. Nous l'apprécions vraiment. Deuxièmement, à nos amis Retour home-- Jason, Merci de rester opérationnel conférence. Espérons que tout va bien à New Haven. Donc oui, je suis super excité d'introduire Scaz aujourd'hui. Scaz dirige le laboratoire de robotique. Il est un professeur de, comme, cinq différents départements à Yale. Dans son laboratoire, il a beaucoup, beaucoup robots qui il aime jouer avec. Il a, comme, le cool emplois dans le monde. Et il arrive à type de désordre autour de toute la journée que long et faire un peu de travail, aussi bien. Et donc nous avons effectivement apporté un d'entre eux avec nous aujourd'hui. Alors sans plus tarder, est Scaz aller de l'avant et de nous présenter à son ami robot. [APPLAUDISSEMENTS] BRIAN Scassellati: Merci, David. Merci, Andy. Il est si merveilleux d'être ici avec tout le monde aujourd'hui. Je veux d'abord être très clair que le personnel de la CS50 ici à Cambridge a été incroyablement accueillant pour nous. Nous sommes tellement reconnaissants pour tout qu'ils ont fait pour nous soutenir. Et donc nous aimerions être en mesure pour retourner la gentillesse. Donc, aujourd'hui, nous obtenons d'annoncer que nous allons avoir un nouveau, one-of-a-kind d'événement CS50 passe à New Haven la semaine prochaine. Et cela est l'Expo recherche CS50. Donc, nous allons être invitant everyone-- CS50 étudiants, le personnel de Harvard et à Yale-- descendre et visiter avec nous le vendredi. Nous avons une grande variété de cours 30 personnes présentant différents et upperclassmen exhibiting-- montrant une partie de leurs produits de recherche. Nous aurons quelques startups, même, à la recherche pour un peu de nouveaux talents de la technologie, startups de Harvard et Yale. Et nous aurons des groupes d'étudiants la recherche d'une nouvelle adhésion. Ça va être un moment très excitant. Espérons que ceux d'entre vous qui sont descendre pour le jeu Harvard-Yale sera en mesure d'arrêter par un peu plus tôt, en plein centre du campus, Sterling Memorial Library. Nous allons avoir un ensemble de expositions qui vont de la autonome voiliers à des moyens d'utiliser le logiciel pour préserver les manuscrits médiévaux. Nous allons devoir annonce réseau hoc et les gens enseignement codage logiciel à Cape Town. Nous aurons ordinateur démonstrations de musique. Et nous avons bien sûr plusieurs robots. Donc, nous espérons que vous aurez ne joindre à nous pour cet événement. Il devrait y avoir beaucoup de amusant, un peu de nourriture, et beaucoup d'intéressant choses à raconter. Donc, aujourd'hui, nous allons parler sur le traitement du langage naturel. Et cela est une tentative pour nous de construire une nouvelle façon d'interfaçage avec nos appareils parce que pour les quelques dernières semaines, vous avez été porté sur la façon dont il est que vous pouvez écrire du code, écrire des logiciels qui est une façon d'être en mesure de dire à un linge, voici ce que je veux que vous fassiez. Mais nous ne devrions pas besoin de attendre que tout qui est là qui est utilisé par tous dans le monde va être compétent dans ce type d'enseignement. Donc, nous distinguons entre l'ordinateur langues et languages-- naturelle qui est, les choses que les humains utilisent pour communiquer avec d'autres humains. Et nous essayons de construire des interfaces qui utilisent ces mécanismes de communication naturelles. Maintenant, comme tout autre sujet que nous avons commencé avec en CS50, Nous allons commencer par le plus simple peu de traitement du langage naturel que nous pouvons imaginer. Nous allons commencer avec le partie historique de la langue naturelle. Et puis nous allons construire jusqu'à des systèmes de plus en plus récents et ont quelques démos plaisir à le faire. Nous allons donc commencer avec ce qui était probablement le premier langage naturel Système de traitement. Ceci est un système logiciel écrit en 1966 par Joseph Weizenbaum appelé ELIZA. Et Eliza a été conçu pour reproduire le genre d'interaction vous auriez avec un Psychothérapeute rogérienne. Maintenant, les Rogerians, ils avaient une idée que la psychothérapie impliqué être en mesure de refléter de retour à un patient et de leur parler, essentiellement, en ne leur donnant une petit peu du thérapeute. Voilà, tout que le thérapeute ladite était censé être juste un reflet de ce que le patient a été dit d'eux. Donc, nous allons essayer de DEMO. Avons-nous un bénévole qui serait prêts à partager leur plus profonde, les plus sombres, et / ou secrets faux Eliza? Bien sûr, pourquoi ne venez-vous pas sur place. Fantastique. Et votre nom? Miles: Miles. BRIAN Scassellati: Miles. Ravi de vous rencontrer, Miles. Si vous souhaitez conserver cela. Et nous allons utiliser une version d'Eliza que nous avons répliqué au sein de l'IDE CS50. Et nous allons regarder à la source code pour cela dans un peu de temps. Mais pour l'instant, nous sommes juste aller de l'invoquer en tapant Eliza. Et Eliza va vous donner des réponses qui vont être dans toutes les capitales. Et vais vous poser quelques questions. Et nous allons réagir et tapons dans les réponses à Eliza. Donc ELIZA a dit, "Salut, je suis ELIZA. Quel est ton problème?" Que voudriez-vous ELIZA dire aujourd'hui? MILES: Je peux seulement endormir si je dois pantoufles de lapin sur. BRIAN Scassellati: Très bien. Bien. [RIRE] "Je peux seulement endormir avec pantoufles de lapin sur ". Et Eliza dit: «Dis, avez-vous avoir des problèmes psychologiques? Peut-être que cela est un bon indicateur. " D'ACCORD. Alors, que voulez-vous répondre? MILES: Oui. BRIAN Scassellati: Oui. L'homme de beaucoup de mots. Je apprécie cela. Eliza dit, "Vous semblez très positive." MILES: Non, je suis, en fait, un électron. BRIAN Scassellati: "No. En fait, je suis un électron. " "Avez-vous venez à moi parce que vous êtes un électron? " Maintenant, nous pouvons voir quelques-uns des l'things-- je vais vous une pause pendant une seconde, Miles. Ne pas aller n'importe où. Nous ne sommes pas encore fini avec vous. ELIZA est, à certains égards, répondre à certaines choses qu'il a dit, mais sans une réelle compréhension. Et il est également parroting récupérer une partie des parties de sa peine. Alors nous avons dit: «Non, En fait, je suis un électron. " Eliza a répondu en arrière, "Es-tu venu pour moi parce que vous êtes un électron? " Bien. Donnons-lui encore une réponse ici. Donnez-lui un bon, Miles. MILES: Good one? Oui, s'il vous plaît aider moi. BRIAN Scassellati: "Oui. S'il vous plaît aidez-moi "." Etes-vous sûr? " MILES: Non BRIAN Scassellati: Non "Qu'est-ce que vous suggérer?" MILES: Je ne peut pas être un électron. BRIAN Scassellati: «Je peut ne pas être un électron. " "Dites-vous pas juste pour être négatif?" Bien. Donc Miles, je vous remercie beaucoup. MILES: Je vous remercie. BRIAN Scassellati: Merci beaucoup. [APPLAUDISSEMENTS] Donc, ce programme ELIZA, à bien des égards, est de répondre juste pour les pièces que nous mettons à la disposition sans aucune profondeur compréhension de ce qui se passe ici. Ceci est une sorte de système appelé correspondance de modèles, où nous sommes à la recherche pour certains des morceaux de texte que nous sommes alors va sortir de ce a été fournie en entrée, convertir, potentiellement, d'une certaine façon, et puis le donner à l'utilisateur. Effectuez l'une d'entre vous pensent qui est en fait ELIZA effectuer la psychanalyse valable ici? Une personne, peut-être. AUDIENCE: [inaudible]. BRIAN Scassellati: Et comment est-ce que ressentez-vous? Oui, en fait, il le fait. Et nous allons voir, en fait, la code source pour cela dans un instant. Et si vous allez être capable de faire exactement cela. Maintenant, ELIZA est une forme de ce nous appellerions aujourd'hui un bot de chat. Il va juste à travers la texte que vous êtes fournissant, fournit le strict minimum de la compréhension ou le traitement, et des perroquets, puis de nouveau à vous. Donc, nous allons jeter un coup d'oeil, conceptuellement, et parler de ce il est qu'Eliza est en train de faire. ELIZA prend de un let sentence-- dis, "Je veux impressionner mon patron." Et Eliza est à la recherche grâce à cette phrase et essayer de trouver et de correspondre à certains modèles. Ainsi, par exemple, l'un des motifs qu'Eliza recherche sont les mots "Je veux." Et chaque fois qu'il voit quelque chose qui a «je veux» en elle, il formule une réponse. Et cette réponse est une chaîne fixe. Dans ce cas, il est «pourquoi voulez-vous?" Et je mets une petite étoile au la fin est juste parce que ce le début de notre réponse. Et l'étoile indique que nous allons prendre le reste de utterance-- de l'utilisateur "pour impressionner mon patron" - et nous allons ajouter que sur l'extrémité de cette chaîne. Alors maintenant, plutôt que de dire «pourquoi voulez-vous impressionner mon patron, " il ya un peu de plus le traitement que nous ferons. Autrement dit, nous devrons convertir une partie des pronoms ici de «mon patron" à "votre patron." Et il pourrait y avoir quelques autres les changements que nous devons faire. Donc, plutôt que de simplement coller directement sur la fin, ce que nous ferons est nous allons prendre le reste de la la utterance-- de l'utilisateur dans ici-- blanc et nous allons prendre un morceau à un temps et de convertir chaque chaîne jeton, chaque mot, dans la phrase. Nous allons donc le mot «à». Il n'y a pas de conversion que nous devons faire. "Impressionner." Il n'y a pas de conversion nous devons y faire. "Mon" vous permet de convertir à «votre». Et «patron», nous allons laisser comme «patron». Et puis finalement, rien qui se termine par une période, nous allons convertir en une question. Cette très simple correspondance de modèles est en fait tout à fait réussie. Et quand cela a été introduit en 1966-- Joseph Weizenbaum cette programmé sur un ordinateur. Maintenant, les ordinateurs de l'époque étaient pas des modèles de bureau. Ils ont été des ressources partagées. Et Ses élèves aller discuter avec ELIZA. Finalement, il a dû restreindre l'accès à ce parce que ses étudiants étaient pas obtenir un travail fait. Ils étaient tout simplement bavarder avec ELIZA. Et, en fait, il a dû tirer son assistant, qui passé tout son temps à parler à Eliza de ses problèmes profonds et inquiétants. Tout le monde qui a utilisé ces systèmes commencé à les anthropomorphisme. Ils ont commencé à penser à eux comme étant animés et des personnes réelles. Ils ont commencé à reconnaître certains des les choses qu'ils disaient revenaient à eux. Et ils découvraient des choses sur eux-mêmes. Et, de fait, même les experts, même les psychothérapeutes, commencé à craindre que, en fait, peut-être ELIZA serait de les remplacer. Et même l'ordinateur les scientifiques craignent que nous étions si proche de résoudre langage naturel. Maintenant, qui était nulle part près de vrai. Mais voilà comment impressionnante ces systèmes peuvent sembler. Donc, nous allons commencer à regarder dessous et essayez pour obtenir un peu d'une question d'où ce code qui se passe réellement. Donc, nous allons rendre ce code disponible par la suite. Et cela est une très le port simple et direct de la mise en œuvre originale ELIZA. Donc, certains de ces stylistique choses que vous verrez ici ce ne sont pas stylistiquement nous voudrions que vous fassiez ou ce que nous avons été enseigner que vous fassiez. Mais nous avons essayé de les garder même à travers les nombreux ports que cela a eu pour qu'il a la saveur de l'original. Donc, nous allons inclure un tas de choses, puis nous aurons une ensemble de mots clés, les choses qu'Eliza reconnaîtra et de répondre directement. Donc si vous avez des mots comme "pouvez-vous" ou "je ne fais pas" ou "non" ou "oui" ou "rêve" ou "bonjour", puis ELIZA répondra sélectivement à ceux-ci. Nous aurons aussi un certain nombre de choses que nous allons échanger, comme conversion de «mon» à «votre». Et puis nous aurons un ensemble de réponses que pour chacun de ces mots-clés, nous allons tourner de ces différentes réponses. Donc, si je dis "oui" trois fois de suite, je pourrait obtenir trois différentes des réponses d'ELIZA. Notre code, puis, est en fait remarquablement simple. Si je défiler vers le bas après toutes ces les réponses que nous avons programmées dans et nous nous attelons à notre principale, nous allons initialiser un couple de différentes variables et faire un peu de l'entretien ménager au début. Mais alors, il n'y a absolument un ensemble de code que vous pouvez comprendre. Une grande boucle while qui dit que je suis vais répéter encore et encore. Je vais le lire en ligne, et je vais stocker que dans une chaîne d'entrée. Je vais vérifier et voir si elle est la mot-clé spécial "bye", qui signifie quitter le programme. Et puis, je vais vérifier et voir si quelqu'un vient à se répéter encore et encore. Et je vais crier à eux si ils le font. Je vais dire "ne pas répéter vous-même." Tant qu'aucun de ceux arriver, nous allons puis parcourir par boucle, sur les lignes 308 à 313 ici, et vérifier et voir sont l'un de ceux mot-clé phrases contenues dans l'entrée que je viens de recevoir? Si il ya un match pour eux, bien alors, je vais me souviens de cet emplacement. Je me souviendrai de ce mot clé. Et je serai en mesure de construire une réponse. Si je ne trouve pas un, eh bien, la dernière chose dans mon tableau mot-clé seront mes réponses par défaut, quand rien ne correspond à autre. Je vais poser des questions comme «Pourquoi avez-vous viens ici? »ou« Comment puis-je vous aider? " qui sont tout partiellement appropriée peu importe ce que l'entrée est. Nous construisons ensuite jusqu'à la réponse d'Eliza. Nous serons en mesure de prendre que la réponse de base, tout comme nous l'avons fait dans ce par exemple "mon patron". Si cela est tout ce qu'il ya est-- si elle est juste un chaîne que je suis censé respond-- Je peux juste le renvoyer sur. Si elle a un astérisque à la fin de celui-ci, alors je vais traiter chaque jeton en particulier le reste de la réponse de l'utilisateur et d'ajouter ceux, échangeant mot pour mot, comme je l'ai besoin. Tout cela est absolument quelque chose que vous pourriez construire. Et en fait, les façons dont nous avoir des arguments de ligne de commande transformés, la façon dont vous avez traitées par des requêtes HTTP suivez les mêmes types de règles. Ils sont pattern matching. Donc ELIZA était relativement importante l'impact sur le langage naturel car il donnait l'impression qu'il était un objectif très réalisable, comme nous serions en quelque sorte être en mesure de résoudre ce problème directement. Maintenant, cela ne veut pas dire que le fait ELIZA tout ce que nous voudrions faire. Certainement pas. Mais nous devrions être en mesure à faire quelque chose de plus. Notre première étape pour aller ELIZA va au-delà pour être en mesure de regarder pas le texte étant entré dans le clavier, mais la parole, réelle discours enregistré dans un microphone. Alors que nous regardons ces différentes pièces, nous sommes allez avoir à construire un ensemble de modèles. Nous allons avoir de pouvoir pour aller de l'acoustique de bas niveau information-- terrain, amplitude, frequency-- et convertir en certaines unités que nous sommes capable de manipuler plus facilement et, enfin, les manipuler en mots et en phrases. Donc plus la reconnaissance vocale systèmes qui sont là aujourd'hui suivre une statistique modèle dans lequel nous construisons trois représentations séparées de ce que ce signal audio contient réellement. Nous commençons avec un modèle phonétique qui parle juste de la base sons que je vais produire. Suis-je produis quelque chose qui est B comme dans garçon ou une D comme chien? Comment puis-je reconnaître ces deux différents téléphones comme séparé et distinct? En plus de cela, nous allons alors construisons un modèle de prononciation d'un mot, quelque chose qui relie ces téléphones individuels et les combine en un mot. Et après cela, nous allons prendre les mots et nous les assemblons avec une langue modéliser dans une phrase complète. Maintenant, nous allons parler de chacun de ceux-ci de façon indépendante et séparée. Mais ces trois modèles sont tous tout va être statistiques. Et cela signifie que lorsque nous travailler avec eux, nous allons être capable de travailler avec tous simultanément. Bien. Commençons avec notre modèle phonétique. Donc modèles phonétiques reposent sur une technique de calcul appelé modèles de Markov cachés. Ce sont des modèles graphiques dans lequel je avoir et reconnaître un état du monde caractérisé comme étant par un ensemble de caractéristiques. Et cet état décrit une partie d'une action que je suis engagé dans. Donc, si je pense à faire le son «ma» comme la mère, Ils sont différents composants à ce son. Il ya une partie où je dessine en haleine. Et puis je Purse mes lèvres. Et je roule mes lèvres un peu en arrière peu à faire que le son "ma". Et puis il ya une libération. Mes lèvres se séparent. De l'air est expulsé. «Ma." Ces trois différentes parties seraient représenté par les Etats dans ce graph-- le début, le milieu et la fin. Et je voudrais avoir des transitions m'a permis de voyager d'un État à l'autre avec une certaine probabilité. Ainsi, par exemple, que M son pourrait avoir une très, apport très court à l'beginning-- "mm" - et puis un plus, la phase vibratoire où je me tenant les lèvres et presque humming-- "mmmm" - et puis un très court Plosive où je expulse breath-- "ma". Le modèle de Markov caché est conçu pour capter le fait que la façon dont je fais que le son «ma» va pour être légèrement différente en son calendrier, est la fréquence, et ses fonctionnalités que la façon dont vous le faites ou la façon dont je pourrais faire quand je parle au sujet des utilisations différentes de la lettre. «Mère» et «may I" un son légèrement différemment. Donc, pour reconnaître un notamment son, nous le ferions construire des modèles de Markov, Markov caché ces modèles, de chaque téléphone possible que je peut-être envie de reconnaître, tous les sons possibles, et puis regardez la données acoustiques que je dois et de déterminer statistiquement lequel est le plus probable avoir produit ce son. D'ACCORD. Avec ce modèle, nous avons ensuite commencer à construire au-dessus de celui-ci. Nous prenons un modèle de prononciation. Maintenant, parfois Prononciation modèles sont simples et faciles parce qu'il ya un seul façon dont quelque chose à prononcer. D'autres fois, ils sont un peu plus compliqué. Voici un guide de prononciation pour que cette chose rouge qui est un fruit que vous faites du ketchup sur. Les gens ne pensent pas que ce soit un fruit. Droit? Maintenant, il ya beaucoup de façons différentes que les gens vont prononcer ce mot. Certains diront "toe-mai-orteil." Certains diront "toe-mah-toe." Et nous pouvons capturer qu'avec l'un de ces modèles graphiques où, encore une fois, nous représentons transitions comme ayant une certaine probabilité et la probabilité associée. Donc dans ce cas, si je devais suivre la route haut à travers l'ensemble de ce graphique, Je serais à partir de la lettre À l'extrême gauche, le "ta" sonore. Je voudrais prendre la moitié supérieure, le «oh», puis un «MA», puis un «a», puis une "ta" et un "oh." «Toe-mai-orteil." Si je prenais le chemin bas à travers cela, je vais obtenir "ta-mah-toe." Et si je suis descendu et ensuite , je voudrais obtenir "ta-mai-orteil." Ces modèles capturer ces différences parce que chaque fois nous déployons un de ces systèmes de reconnaissance, il va avoir à travailler avec beaucoup de différents types de personnes, beaucoup d'accents différents, et même différentes utilisations des mêmes mots. Enfin, en plus de cela, nous allons construire quelque chose qui ressemble vraiment compliquée, appelé le modèle de langage, mais, en fait, est le plus simple des les trois parce que ces derniers agissent sur ce qu'on appelle des modèles n-grammes. Et dans ce cas, je vous montre un modèle n-gramme en deux parties, une bigram. Nous allons faire l'idée physique que, parfois, certains mots sont plus susceptibles de suivre une étant donné que d'autres mots. Si je viens de dire "Prévisions météo" le mot suivant pourrait probablement "aujourd'hui" ou pourrait être "le temps prévoir demain ". Mais il est peu probable d'être «le météo artichaut ". Quel modèle de langage est fait il capture ceux statistiquement en comptant, à partir de très grand corpus, toutes les instances dans lequel un mot suit une autre. Donc, si je prends un grand corpus-- comme chaque Wall Street Journal qui a été produite depuis 1930, qui est une norme de la corpuses-- et je regarde à travers tous ce texte, et je compte combien de fois après "prévisions" je ne vois "aujourd'hui" et combien de fois je ne vois «prévision» suivi de «artichaut» le premier va à être beaucoup plus probable. Il va apparaître beaucoup plus fréquemment. Et donc il va avoir une meilleure probabilité associée. Si je veux comprendre la la probabilité de tout un énoncé, alors, je casse tout en place. Donc, la probabilité d'audience la phrase «le rat a mangé le fromage" est la probabilité du mot "la" à partir d'une phrase, et ensuite la probabilité que l' mot «rat» suit le mot «le», et la probabilité que l' mot "mangé" suit "rat" et la probabilité que "fromage" suit "mangé." Cela ressemble à un grand nombre de statistiques, beaucoup de probabilités. Et voilà tout ce qu'il est. Mais le plus étonnant est que si vous faites cela, avec un échantillon suffisamment grand de données, Ça marche. Et cela fonctionne extrêmement bien. Nous savons tous que ces technologies. La plupart des systèmes d'exploitation sont livrés avec la reconnaissance vocale à ce point. Nous utilisons Siri et Cortana et Echo. Et ces choses sont basées sur ce type de trois couches modèle-- un modèle phonétique en bas, un modèle de prononciation dans le milieu, et un modèle de langage sur le dessus d'eux. Maintenant, ils ont à faire un peu plus que dans le but de répondre aux questions. Mais la reconnaissance de ce que vous êtes dicton dépend exactement sur cela. Prenons donc un exemple ici. Donc je dois mon téléphone assis ici sous la caméra de documents. Et nous allons demande Siri quelques questions. Bien? Donc, nous allons réveiller mon téléphone ici. Siri, quelle est la météo comme à New Haven aujourd'hui? SIRI: Voici la météo de New Haven, Connecticut aujourd'hui. BRIAN Scassellati: OK. Donc tout d'abord que vous avez vu que Siri reconnu chacun des mots individuels puis produit une réponse. Nous allons parler de la façon dont cette réponse vient à propos dans un peu. Mais maintenant que nous savons que ceci est basé juste sur les statistiques brutes et ce modèle type de correspondance d'approche, nous pouvons jouer à des jeux avec Siri. Donc, je peux essayer à nouveau. Siri, quelle est la météo hippopotame New Haven, aujourd'hui? SIRI: OK. Voici la météo de New Haven, Connecticut pour aujourd'hui. BRIAN Scassellati: Siri pas intimidé par ce parce qu'il a trouvé l'pattern-- "météo", "aujourd'hui", "New Haven." Voilà ce que ça répond à, tout comme ELIZA. Bien. Donnons-lui un plus même exemple de plus ridicule. Siri, la météo artichaut tatou hippopotame New Haven? SIRI: Permettez-moi de vérifier. Voici ce que je trouvais sur le web pour ce que sont les artichauts tatou hippopotame New Haven. BRIAN Scassellati: OK. Donc, si je vais assez loin l'écart de ce modèle, Je suis en mesure de le confondre, car il ne correspond plus le motif qu'il a. Et que statistique moteur qui est dit, quelle est la probabilité que vous avez mots hippopotame et d'artichaut ensemble, et le tatou? Ça doit être quelque chose de nouveau. Donc, ces technologies que nous utilisons tous les jours. Si nous voulons leur faire un pas plus loin, cependant, si l'on fait veulent être en mesure de parler de ce qu'il est que ces systèmes réagissent à, nous devons parler, encore une fois, sur une ensemble plus fondamental de questions. Et cela est un sujet en communication que nous appelons de question-réponse. Autrement dit, nous voulons être en mesure to-- ouais? AUDIENCE: [inaudible]. BRIAN Scassellati: Obtenons-nous dans le traitement sémantique latente? Donc oui. Il ya beaucoup de choses qui sont passe en dessous de la surface avec Siri et dans certains des exemples Je vais vous montrer prochaine où il ya un peu en termes de la structure de ce que vous dites qui est important. Et, en fait, que ya une grande précurseur de la diapositive suivante pour moi. Ainsi, de la même façon que notre reconnaissance de la parole a été construit de plusieurs couches, si nous voulons comprendre ce qu'il est que est effectivement étant dit, nous allons à nouveau compter sur une analyse multi-couche du texte qui est reconnu. Alors, quand Siri est réellement en mesure de disons, regarde, je trouve ces mots. Maintenant, je fais quoi avec eux? Le premier composant est souvent passer et essayer d'analyser la structure de la phrase. Et dans ce que nous avons vu à l'école primaire, souvent, comme une sorte de diagrammes phrases, nous allons de reconnaître que certains les mots ont certains rôles. Ce sont des noms. Ce sont des pronoms. Ce sont des verbes. Et nous allons à reconnaître que, pour une grammaire particulière, dans ce cas, la grammaire anglaise, il ya façons valables dans lequel je peux les combiner et d'autres moyens qui ne sont pas valides. Cette reconnaissance, que la structure, pourrait être suffisant pour nous aider à guider un petit peu. Mais il est pas assez pour que nous soyons en mesure de donner un sens à ce qui est dit ici. Pour ce faire, nous devrons compter sur une certaine quantité de traitement sémantique. Autrement dit, nous allons avoir à regarder au-dessous de ce que chacun de ces mots exerce effectivement un sens. Et de la façon la plus simple de le faire, nous allons associer à chaque mot que nous connaissons une certaine fonction, un certain transformation qu'il permet de se produire. Dans ce cas, nous pourrions appeler le mot "John" comme un nom propre, qu'elle porte avec elle une identité. Et nous pourrions étiqueter "Mary" que de la même façon. Alors qu'un verbe comme «amours», ce constitue une relation particulière que nous sommes en mesure de représenter. Maintenant, cela ne signifie pas que nous comprenons ce qu'est l'amour, mais seulement que nous comprenons de la manière d'un système symbolique. Autrement dit, nous pouvons étiqueter et le manipuler. Avec chacun de ces types d'approches, tout type de traitement sémantique ici il va falloir faire un peu peu de connaissances et beaucoup de travail de notre part. Nous ne sommes plus dans le domaine où les statistiques tout simples vont être assez pour nous. Maintenant, pour aller de ce point d'être capable de parler de l'intérieur de ce qui se passe réellement ici, d'être capable de manipuler cette structurer et comprendre une question et ensuite être capable de sortir et de recherche, qui nécessite une plus modèle cognitif complexe. La manière dont ces systèmes sont construits est la plupart du temps très, beaucoup de main- intensif. Ils impliquent l'homme dépenser beaucoup de temps de structurer les moyens à qui ces types de phrases peut être représenté dans une certaine logique. Il obtient même un peu plus complexe, cependant. Même une fois que nous avons traité avec la sémantique, nous allons ont encore à regarder le pragmatique de ce qui se dit. Autrement dit, comment puis-je raconte les mots que je dois quelque chose de physiquement là dans le monde ou au moins certains source d'information que je peux manipuler? Parfois, ceux-ci conduisent à merveilleux morceaux de l'ambiguïté. "Rouge-chaud étoile à wed astronome." D'ACCORD. Maintenant, nous lisons que le Type drôle de titre que nous verrions sur télévision tard le soir parce que nous ne l'interprétons pas "star" avoir son sens de corps céleste. Nous savons que cela signifie plus acteur ou une actrice banale avec des quantités élevées de visibilité. "Squad aide morsure de chien victime." Est-ce que l'équipe est en fait là-bas aider un chien en faisant le tour et mordant victimes? Ou est-ce qu'il y avait un individu qui était mordu par un chien qui avait besoin d'un peu d'aide? Juste en regardant la syntaxe et la sémantique des phrases, nous ne pouvons pas déterminer. "Hélicoptère alimenté par les mouches humaines." Y at-il, en fait, réelle petites choses qui volent autour sont des gens avec des ailes alimenter hélicoptères pour le bien de l'humanité? Ou est-il un dispositif mécanique qui tire sa puissance d'une personne? Quand nous regardons à la question systèmes de réponse, ce ne sont que les couches nous devons traiter. Maintenant, le meilleur et le plus tri de répandue de ces systèmes sont aujourd'hui en mesure de le faire les choses à un niveau qui sont bien au-delà ce que nous avions il ya 10 ans. Voici l'un des meilleurs systèmes qui est là-bas aujourd'hui. Et ceci est un système d'IBM appelé Watson. Ceci est de nos amis chez IBM. Ce sont les banques Katherine, Jia Chen, et Priscilla Moraes nous donner une démonstration de Watson hier à IBM Yorktown. [LECTURE VIDÉO] -Comment allez-vous? -Je vais bien. Je suis toujours heureux quand je suis penser, surtout quand je peut rester cool dans ces salles de serveurs. -Qui Est votre actrice préférée? -Mon Actrice préférée Angelina Jolie comme Lara Croft dans Tomb Raider parce que son origine forme était aussi un personnage virtuel comme moi. -Comment Watson peut aider les patients? -Le Plan de patients à avoir accès à Watson directement? Accès à Watson consultatif applications varient par cas d'utilisation. Mais actuellement, Watson ne fournira diagnostic et le traitement possible options aux professionnel de la santé. Le cas échéant, les patients peut fournir des informations à Watson, peut-être à travers un interface de portail web, tablette, ou même un téléphone mobile. Par exemple, un patient peut être a demandé de décrire leurs symptômes en langage naturel directement dans une solution Watson, permettant au médecin de se concentrer sur la collecte des données de diagnostic et non. -Qui Assassiné Abraham Lincoln? -John Wilkes Booth. -En Quelle année l'Arizona Diamondbacks gagner la Série mondiale? -2001. [FIN LECTURE] BRIAN Scassellati: Donc, ces types de systèmes avoir à compter sur d'abord la reconnaissance de la parole; deuxième, à le transformer en un sens interne représentation; puis, troisième, être en mesure de sortir et de trouver la source d'informations que leur permet de répondre à cette question. Ce niveau de complexité implique les mêmes types de choses programmatiques que vous avez été faire dans des ensembles de problèmes. Nous sommes en mesure d'analyser les requêtes HTTP dans le même type de modèle de bas niveau appariement qui ELIZA peut faire. Nous sommes en mesure de convertir ceux en une représentation interne, et les utiliser ensuite pour interroger certains base de données externe, éventuellement en utilisant SQL. Tous les systèmes que sont en cours de construction aujourd'hui à faire ce type de naturel la communication de la langue sont en cours de construction sur ces mêmes principes. Maintenant, même un tel système Watson est pas assez complexe pour être en mesure de répondre arbitraire des questions sur tout sujet. Et en fait, ils doivent être structurée dans un domaine donné. Ainsi, vous pouvez aller en ligne et vous pouvez trouver versions de Watson qui fonctionnent bien au sein de l'informatique médicale. Ou il ya une ligne qui vient de traite de la manière pour faire de bonnes recommandations sur ce que la bière ira avec laquelle la nourriture. Et dans ces domaines, il peut répondre à des questions, trouver l'information dont il a besoin. Mais vous ne pouvez pas mélanger et assortir. Le système qui a été formé avec la base de données de nourriture et la bière ne fonctionne pas bien quand vous avez soudain mettre dans le informatique médicale base de données. Ainsi, même nos meilleurs systèmes aujourd'hui compter sur un niveau de traitement dans lequel nous sommes codage à la main et la construction de l'infrastructure en vue pour faire de ce système d'exécution. Maintenant, le dernier sujet que je veux pour être en mesure d'obtenir à aujourd'hui est sur la communication non verbale. Une grande masse d'informations qui nous communiquons les uns avec les autres ne se fait pas par la mots individuels qui nous appliquons. Il a à voir avec des choses comme proximité, regard, ton de votre voix, votre inflexion. Et que la communication est également quelque chose que de nombreuses interfaces différentes soins beaucoup sur. Il est pas ce que Siri se soucie. Je peux demander à Siri quelque chose d'une seule voix ou dans un ton différent, et Siri va me donner la même réponse. Mais que ce pas ce que nous construisons pour beaucoup d'autres types d'interfaces. Je tiens à vous présenter maintenant à l'un des robots. Elle a été construite par mon longue date ami et collègue Cynthia Breazeal et sa compagnie Jibo. Et ce robot-- nous allons d'avoir un couple de bénévoles venir à interagir avec ce. Donc, je peux avoir deux personnes prêtes à jouer avec le robot pour moi? Pourquoi ne venez-vous pas sur place, et pourquoi ne pas vous venez sur place. Si vous souhaitez vous joindre à moi ici, s'il vous plaît. Et si je pouvais vous avez viennent juste ici. Merci. Salut. ALFREDO: Ravi de vous rencontrer. Alfredo. BRIAN Scassellati: Alfredo. RACHEL: Rachel. BRIAN Scassellati: Rachel. Ravi de vous rencontrer à la fois. Alfredo, je vais devoir vous allez d'abord. Venez juste ici. Je vais vous présenter vous-- si je peux obtenir ce hors sans frapper l'microphone-- à un petit robot nommé Jibo. D'accord? Maintenant, Jibo est conçu pour être interactif. Et même si elle peut vous donner la parole, une grande partie de l'interaction avec le robot est non verbale. Alfredo, je vais vous demander de dire quelque chose de gentil et gratuit au robot, s'il vous plaît. ALFREDO: Je pense que vous regardez mignon. [Vrombissement] BRIAN Scassellati: OK. Sa réponse est non verbale. Et pourtant, il vous a donné à la fois une reconnaissance claire qu'il avait entendu ce que vous avez dit et également entendu que d'une certaine manière. D'accord? PD revenir ici pour une seconde. Merci. Rachel, si vous le voulez. Maintenant, je vais donner vous la tâche beaucoup plus difficile. Si vous souhaitez tenez ici, sauvegarder un peu de sorte nous pouvons vous mettre sur la caméra et de regarder de cette façon. Je vais vous demander de dire quelque chose cela signifie vraiment et méchant au robot. RACHEL: Ce que vous venez sembliez à faire était complètement absurde. [Bourdonnement] Ce fut encore plus absurde. Qu'est ce qui se passe avec toi? Aw, ne se sentent pas mauvais. Je vais vous donner un câlin. BRIAN Scassellati: Très bien. Merci, Rachel. Alfredo, Rachel, merci les gars beaucoup. [APPLAUDISSEMENTS] Donc, ce type d'interaction a en de nombreuses façons quelques-uns des mêmes règles et une partie de la même Structure selon ce que l'on a peut-être en interaction linguistique. Il est à la fois communicative et sert un objectif important. Et cette interaction, dans bien des égards, est conçu d'avoir un effet particulier sur la ou personne interagissant avec écoute au robot. Maintenant, je suis assez chanceux d'avoir Jibo ici aujourd'hui. Sam Spaulding est ici d'aider nous avec le robot. Et je vais demander à Sam pour donner nous un belle démonstration de la danse Jibo que nous pouvons regarder à la fin ici. Alors allez-y, Jibo. SAM: OK, Jibo. Montrez-nous vos mouvements de danse. [Jouer de la musique] BRIAN Scassellati: Très bien, tout le monde. Merci à nos amis de Jibo. [APPLAUDISSEMENTS] Et merci à nos amis de IBM pour aider aujourd'hui. La communication est quelque chose que vous allez de voir venir de plus en plus comme nous construisons des interfaces plus complexes. La semaine prochaine, nous allons parler sur la façon d'interfacer avec des adversaires informatiques dans les jeux. Mais si vous avez des questions à ce sujet, Je serai dans les heures de bureau au soir. Je suis heureux de vous parler de l'IA sujets ou d'entrer dans plus de détails. Passe un bon week-end. [APPLAUDISSEMENTS] [Jouer de la musique]