[REPRODUCCIÓN DE MÚSICA] DAVID MALAN: Este es CS50. Este es el final de la semana 10. Y el muchacho, ¿tenemos una buena clase para usted hoy. Estamos muy emocionados de invitar a dos de nuestros amigos de Yale hasta nosotros hoy y buscar en la intersección de inteligencia artificial, la robótica, procesamiento del lenguaje natural, y más. Y, en efecto, sobre el últimas semanas, hemos Ciertamente pasado mucho tiempo, especialmente en los conjuntos de procesadores anteriores, centrándose en bonitos detalles de bajo nivel. Y es muy fácil perder de vista del bosque por los árboles y se colgó en bucles y condiciones y punteros, sin duda, y similares. Pero la realidad es que ustedes tienen ahora la ingredientes con los que se puede realmente resolver algunos problemas interesantes, entre ellos los que nuestros amigos de Yale trabajar en apenas por debajo de Cambridge. Así que permítanme primero en introducir la cabeza profesor ayudante de la Universidad de Yale, Andy. [APLAUSOS] ANDY: En primer lugar, simplemente gracias por permitirme un par Yalies hacer estallar abajo a Cambridge en la actualidad. Nosotros realmente lo apreciamos. En segundo lugar, a nuestros amigos volver casa- Jason, gracias por estar en funcionamiento conferencia. Espero que todo está bien en New Haven. Así que sí, estoy súper emocionada introducir Scaz hoy. Scaz dirige el laboratorio de robótica. Él es un profesor de, como, cinco diferentes departamentos de la Universidad de Yale. En su laboratorio, él tiene muchos, muchos robots que le gusta jugar con. Él tiene, como, la mejor trabajo en el mundo. Y llega a la clase de desastre alrededor con eso todo el día de largo y hacer algún trabajo, también. Y así que en realidad trajo uno de ellos hacia abajo con nosotros hoy. Así que sin más preámbulos, Scaz es va a seguir adelante y presentarnos a su amigo robot. [APLAUSOS] BRIAN Scassellati: Gracias, David. Gracias, Andy. Es tan maravilloso estar aquí con todo el mundo en la actualidad. Quiero ser muy claro que primero el personal CS50 aquí en Cambridge ha sido muy hospitalarios con nosotros. Estamos muy agradecidos por todo lo que han hecho para que nos apoyen. Y así, nos gustaría poder para devolver la amabilidad. Así que hoy, llegamos a anunciar que vamos a tener una nueva, uno-de-una especie de evento CS50 pasando en New Haven la semana que viene. Y este es el CS50 Investigación Expo. Así que vamos a estar invitando everyone-- CS50 estudiantes, el personal tanto de Harvard y Yale-- a bajar y visitar con nosotros el viernes. Vamos a tener una gran variedad de más de 30 personas diferentes que presentan y upperclassmen exhibiting-- mostrando a algunos de sus productos de investigación. Tendremos algunas nuevas empresas, incluso, mirando para un poco de nuevos talentos tecnología, nuevas empresas, tanto de la Universidad de Harvard y Yale. Y vamos a tener algunos grupos de estudiantes buscando alguna nueva composición. Va a ser un momento muy emocionante. Esperemos que aquellos de ustedes que son que baja para el partido de Harvard-Yale será capaz de detener por un poco temprano, justo en el centro del campus, Sterling Memorial Library. Vamos a tener un conjunto de exposiciones que van desde autónoma veleros a formas de utilizar el software para preservar los manuscritos medievales. Vamos a tener el anuncio redes hoc y la gente la enseñanza de la codificación del software en Ciudad del Cabo. Tendremos equipo manifestaciones musicales. Y vamos a por supuesto tenemos más robots. Así que usted Esperamos voy únase a nosotros para este evento. Debe haber un montón de diversión, un poco de comida, y un montón de interesante cosas de que hablar. Así que hoy, vamos a hablar sobre el procesamiento del lenguaje natural. Y este es el intento por nosotros para construir una nueva forma de interactuar con nuestros dispositivos, ya desde hace unas semanas, usted ha estado enfocado en cómo es que puede escribir código, escribir software que es una forma de ser capaz de decirle a un máquina, esto es lo que quiero que hagas. Pero no deberíamos necesitar esperar que todo eso es por ahí que se utiliza por todos en el mundo va a ser competentes en este tipo de instrucción. Así distinguimos entre el ordenador idiomas y Las Lenguas naturales es decir, las cosas que los seres humanos utilizan para comunicarse con otros seres humanos. Y tratamos de construir interfaces que utilizan estos mecanismos de comunicación naturales. Ahora, al igual que cualquier otro tema que hemos empezado con en CS50, vamos a empezar con el más simple poco de procesamiento del lenguaje natural que podemos imaginar. Vamos a comenzar con el parte histórica del lenguaje natural. Y luego vamos a construir hasta sistemas cada vez más recientes y tienen algunos demos diversión en el camino. Así que vamos a empezar con lo que era probablemente el primer lenguaje natural sistema de procesamiento. Esto era un sistema de software escrito en 1966 por Joseph Weizenbaum llamado ELIZA. Y Eliza fue diseñado para replicar el tipo de interacción que tendría con un Psicoterapeuta de Rogers. Ahora, los rogerianos, tenían una idea que la psicoterapia involucrados poder reflejar de vuelta a un paciente y hablar con ellos, básicamente, por sólo les da una poquito del terapeuta. Es decir, todo que el terapeuta dijo se suponía que era sólo un reflejo de lo que el paciente estaba diciendo a ellos. Así que vamos a tratar de Demo Esta. ¿Tenemos un voluntario que estaría dispuestos a compartir su más profunda, más oscuras, y / o secretos falsos con ELIZA? Claro, ¿por qué no vamos para arriba. Fantástico. ¿Y tu nombre? MILES: Miles. BRIAN Scassellati: Miles. Encantado de conocerte, Miles. Si desea aferrarse a eso. Y vamos a utilizar una versión de ELIZA que hemos replicado dentro del IDE CS50. Y vamos a ver la fuente código para esto en un rato. Pero por ahora, sólo somos va a invocarlo escribiendo eliza. Y Eliza se va a dar respuestas que van a ser en todas las capitales. Y voy a hacerle algunas preguntas. Y vamos a responder y tipo en las respuestas a ELIZA. Así ELIZA ha dicho: "Hola, soy ELIZA. ¿Cuál es tu problema?" Que te gustaría decirle ELIZA hoy? MILES: Sólo puedo conciliar el sueño si tengo zapatillas de conejo en. BRIAN Scassellati: De acuerdo. Correcto. [RISA] "Sólo puedo conciliar el sueño con zapatillas de conejo en ". Y Eliza dice: "Oye, ¿verdad tener problemas psicológicos? Tal vez esto es un buen indicador ". OK. Entonces, ¿qué le gustaría responder? MILES: Sí. BRIAN Scassellati: Sí. Hombre de muchas palabras. Me gusta eso. Eliza dice: "Usted parece bastante positivo." MILES: No, yo soy, de hecho, un electrón. BRIAN Scassellati: "No. De hecho, soy un electrón ". "¿Has venido a mí porque usted es un electrón? " Ahora, podemos ver algunos de el cosas-- voy a usted hacer una pausa por un segundo, Miles. No ir a ninguna parte. No hemos terminado contigo todavía. ELIZA es, en cierto modo, responder a ciertas cosas que él está diciendo, pero sin ninguna comprensión real. Y también está repitiendo recuperar parte de las partes de su condena. Así que nos dijo: "No. De hecho, soy un electrón ". Eliza respondió de vuelta, "¿Has venido para mí, porque usted es un electrón? " Correcto. Vamos a darle una respuesta más aquí. Darle una buena, Miles. MILES: Bueno uno? Sí, por favor, ayúdame. BRIAN Scassellati: "Sí. Por favor, ayúdame "." ¿Estás seguro? " MILES: No. BRIAN Scassellati: No. "¿Qué sugiere para usted?" MILES: Yo no puede ser un electrón. BRIAN Scassellati: "Yo no puede ser un electrón ". "¿Estás diciendo que no acaba de ser negativo?" Correcto. Así Miles, muchas gracias. MILES: Gracias. BRIAN Scassellati: Muchas gracias. [APLAUSOS] Así que este programa ELIZA, en muchos sentidos, está respondiendo simplemente a las piezas que estamos ofreciendo sin ningún profunda comprensión de lo que está pasando aquí. Este es un tipo de sistema de denominado coincidencia de patrones, donde estamos buscando cierta fragmentos de texto que estamos continuación va a sacar de lo fue proporcionado como entrada, convertirlo, potencialmente, de alguna manera, y luego darle la espalda al usuario. ¿Alguno de ustedes piensan ELIZA que es en realidad realizar el psicoanálisis válida aquí? A una persona, tal vez. AUDIENCIA: [inaudible]. BRIAN Scassellati: ¿Y cómo te hace sentir eso? Sí, de hecho, lo hace. Y vamos a ver, en realidad, la código fuente para que en un momento. Y por lo que vas a ser capaz de hacer exactamente esto. Ahora, ELIZA es una forma de lo que hoy llamaríamos un bot de chat. Simplemente va a través de la texto que usted está proporcionando, proporciona el monto mínimo de comprensión o de procesamiento, y luego loros de nuevo a usted. Así que vamos a echar un vistazo, conceptualmente, y hablar de lo es que Eliza está haciendo realidad. ELIZA está tomando de un let sentence-- digo: "Quiero impresionar a mi jefe." Y Eliza está mirando a través de esa frase, y tratando de encontrar y coincidir con ciertos patrones. Así, por ejemplo, uno de los patrones ELIZA que está buscando son las palabras "Yo quiero." Y cada vez que ve algo que tiene "Quiero" en ella, formula una respuesta. Y esa respuesta es una cadena fija. En este caso, se trata de "qué es lo que quieres?" Y puse una pequeña estrella en el final, porque eso es sólo el comienzo de nuestra respuesta. Y la estrella indica que vamos a tomar el resto de utterance-- del usuario "para impresionar a mi jefe" - y vamos a añadir que en el extremo de esta cadena. Así que ahora, en lugar de decir, "¿por qué Qué quieres impresionar a mi jefe " hay un poco de adicional procesamiento que vamos a hacer. Es decir, tendremos que convertir algunos de los pronombres aquí desde "mi jefe" a "su jefe". Y podría haber algunos otros cambios que necesitamos hacer. Así que en lugar de simplemente pegándolo directamente sobre el final, lo que vamos a hacer está tomaremos el resto del utterance-- de usuario en aquí-- blanco y lo tomaremos una pieza a un tiempo y convertir cada cuerda modo, cada palabra, en la sentencia. Así que vamos a tomar la palabra "para". No hay conversión que tenemos que hacer eso. "Impresionar." No hay conversión tenemos que hacer allí. "Mi" se convertirá en "su". Y "jefe" sólo tendremos que dejamos como "jefe". Y finalmente, cualquier cosa que termina con un punto, nos convertiremos en una pregunta. Esta muy simple coincidencia de patrones es en realidad bastante éxito. Y cuando esto se introdujo en 1966-- Joseph Weizenbaum programada en un equipo. Ahora, las computadoras de la época no eran modelos de escritorio. Ellos se compartieron recursos. Y sus estudiantes lo haría ir y charlar con ELIZA. Finalmente, tuvo que restringir el acceso a la misma porque sus estudiantes no estaban conseguir cualquier trabajo hecho. Estaban charlando con ELIZA. Y, de hecho, tuvo que despedir a su ayudante, que gastado todo su tiempo hablando con ELIZA sobre sus problemas profundos y preocupantes. Todo el que utiliza estos sistemas comenzado a antropomorfizar ellos. Empezaron a pensar en ellos como siendo animado y personas reales. Empezaron a reconocer algunos de las cosas que ellos estaban diciendo fueron llegando de nuevo a ellos. Y fueron descubriendo cosas sobre sí mismos. Y, de hecho, incluso los expertos, incluso los psicoterapeutas, comenzó a preocuparse de que, de hecho, quizá ELIZA sería sustituirlos. E incluso el ordenador Los científicos temen que estábamos tan cerca de la solución de lenguaje natural. Ahora, eso no era cualquier lugar cerca de la verdad. Pero eso es lo impresionante estos sistemas pueden parecer. Así que vamos a empezar a buscar debajo y tratar para conseguir un poco de una pregunta de donde el código que realmente sucede. Así que vamos a hacer este código disponibles después. Y esta es una muy puerto simple y directo de la implementación original ELIZA. Así que algunos de estos estilística cosas que verás aquí no son estilísticamente lo nos gustaría que hicieras o lo que hemos estado enseñando que hagas. Pero hemos tratado de mantenerlos la misma a través de los muchos puertos que esto ha tenido de manera que tiene el sabor de la original. Así que vamos a incluir un montón de cosas, y luego tendremos un un conjunto de palabras clave, las cosas que ELIZA reconocerá y responder directamente a. Así que si usted tiene palabras como "Puede usted" o "no hacer" o "no" o "sí" o "sueño" o "hola", entonces ELIZA responderá selectivamente a aquellos. También tendremos un cierto número de cosas que vamos a cambiar, al igual que la conversión de "mi" a "su". Y luego vamos a tener un conjunto de respuestas que para cada una de estas palabras clave, vamos a girar a través de estas diferentes respuestas. Así que si digo "sí" tres veces seguidas, me podría obtener tres diferentes respuestas de ELIZA. Nuestro código es, pues, realmente muy simple. Si me desplazo hacia abajo más allá todos ellos respuestas que hemos programados en y nos ponemos manos a nuestro principal, vamos a inicializar un par de diferentes variables y hacer un poco de limpieza al principio. Pero entonces no hay absolutamente un conjunto de código que usted pueda entender. Un bucle while grande que dice que soy va a repetir esto una y otra. Voy a leer en una línea, y voy a almacenar que, en una cadena de entrada. Voy a comprobar y ver si es la palabra clave especial "bye", que significa salir del programa. Y luego voy a comprobar y ver si alguien está simplemente repitiendo a sí mismos una y otra vez. Y voy a gritar a ellos si lo hacen. Voy a decir "no te repitas". Mientras que ninguno de los que suceda, vamos a a continuación, analizar a través y recorrer, en las líneas 308 a 313 aquí, y comprobar y ver son cualquiera de las palabras clave frases contenidas en la entrada que me acaban de dar? Si hay una coincidencia para ellos, así a continuación, voy a recordar esa ubicación. Voy a recordar esa palabra clave. Y voy a ser capaz de construir una respuesta. Si no encuentro uno, bueno, entonces, la última cosa en mi arsenal de palabras clave serán mis respuestas predeterminadas, cuando nada más partidos. Le preguntaré a preguntas como "¿Por qué lo hiciste vengo aquí? "o" ¿Cómo puedo ayudarle? " que son sólo parcialmente adecuada no importa lo que es la entrada. A continuación, le construimos la respuesta de ELIZA. Seremos capaces de tomar que la respuesta de base, tal como lo hicimos en ese ejemplo "mi jefe". Si eso es todo lo que hay es-- si es sólo una cadena que se supone que debo respond-- Yo sólo puedo enviarlo de vuelta. Si tiene un asterisco al el final de la misma, entonces voy a procesar cada ficha individual en el resto de la respuesta del usuario y añadir los de, intercambiando palabra por palabra lo que necesito. Todo esto es absolutamente algo que se podría construir. Y de hecho, las formas en que nos tener argumentos de línea de comandos procesados, la forma en que usted tiene procesado a través de peticiones HTTP siga el mismo tipo de reglas. Son patrones. Así ELIZA tenía una relativamente importante impacto en lenguaje natural porque hacía parecer como si fuera una meta muy alcanzable, al igual que de alguna manera nos habíamos ser capaz de resolver este problema directamente. Ahora, eso no quiere decir que ELIZA hace todo lo que nos gustaría hacer. Ciertamente no. Pero debemos ser capaces de hacer algo más. Nuestro primer paso para ir más allá de ELIZA va ser capaz de mirar a No está ingresado texto en el teclado, pero el habla, real discurso grabado en un micrófono. Así que si nos fijamos en estos diferentes piezas, estamos va a tener que construir un conjunto de modelos. Vamos a tener que ser capaz de para ir de la acústica de bajo nivel echada información--, amplitud, frequency-- y convertir esto en algunas unidades que estamos capaz de manipular con mayor facilidad y, por último, manipularlos en palabras y oraciones. Así que la mayoría de reconocimiento de voz sistemas que están ahí fuera hoy seguir una estadística modelo en el que construimos tres representaciones diferentes de lo que que la señal de audio contiene en realidad. Comenzamos con un modelo de fonética que habla de solo la base sonidos que estoy produciendo. ¿Estoy produciendo algo que es un B como en niño o una D como en el perro? ¿Cómo puedo reconocer los dos diferentes móviles como separado y distinto? Además de eso, vamos a continuación, construimos un modelo de pronunciación de las palabras, algo que une esos teléfonos individuales y los combina en una sola palabra. Y después de eso, vamos a tomar las palabras y nosotros montamos con un lenguaje modelar en una oración completa. Ahora, vamos a hablar de cada uno de ellos de forma independiente y por separado. Pero estos tres modelos son todos sólo va a ser estadísticas. Y eso significa que cuando nos trabajar con ellos, vamos a ser capaz de trabajar con todos ellos simultáneamente. Correcto. Vamos a empezar con nuestro modelo de fonética. Así modelos fonéticos dependen de una técnica computacional llamada modelos ocultos de Markov. Estos son modelos gráficos en los que me tener y reconocer un estado del mundo como se caracteriza por un conjunto de características. Y ese estado describe una parte de una acción que estoy comprometido en. Así que si lo pienso hacer el sonido "ma", como madre, hay diferentes componentes a ese sonido. Hay una parte en la que me baso en la respiración. Y luego Aprieto los labios. Y Pongo los labios un poco hacia atrás granito de arena para hacer que el sonido "ma". Y luego está un comunicado. Mis labios se separan. El aire es expulsado. "Mamá." Esas tres partes diferentes serían representado por los estados en este graph-- el comienzo, el medio y el fin. Y yo tendría transiciones que me permitió viajar de un estado a la siguiente con una cierta probabilidad. Así, por ejemplo, que M sonar podría tener un muy, ingesta muy corto en el beginning-- "mm" - y luego un más largo, fase vibratoria donde me estoy conteniendo los labios y casi humming-- "mmmm" - y luego un muy corto plosive donde yo expulso breath-- "ma". El modelo oculto de Markov es diseñado para capturar el hecho de que la forma en que hago ese sonido "ma" se va a ser ligeramente diferente en su temporización, es la frecuencia, y sus funciones que la forma en que usted lo hace o la manera en que yo podría hacerlo cuando estoy hablando unos usos diferentes de la letra. "Madre" y "puede que" voluntad sonar ligeramente diferente. Así que para reconocer una en particular sonido, lo haríamos construir modelos de Markov, éstos oculto de Markov modelos, de todos los teléfonos posible que yo puede ser que desee reconocer, cada sonido posible, y luego mirar el datos acústicos que tengo y determinar estadísticamente cuál es la más probable haber producido este sonido. OK. Con ese modelo, que luego empezar a construir en la parte superior de la misma. Tomamos un modelo de pronunciación. Ahora, pronunciación veces modelos son simples y fáciles porque sólo hay una manera de pronunciar algo. Otras veces, son un poco más complicado. He aquí una guía de pronunciación para esa cosa roja que es una fruta que usted hace la salsa de tomate fuera de. La gente no piensa que es una fruta. ¿Correcto? Ahora, hay muchas maneras diferentes que las personas se pronuncia esta palabra. Algunos dirán "toe-may-toe". Algunos dirán "toe-mah-toe". Y podemos captar que con uno de estos modelos gráficos donde, de nuevo, representamos transiciones como teniendo una cierta probabilidad y asociado probabilidad con ellos. Así que en este caso, si tuviera que seguir la ruta superior a través de todo este gráfica, Yo estaría empezando en la letra En el extremo izquierdo, el "ta" de sonido. Me tomaré la mitad superior, el "oh" y luego un "ma" y luego una "a", y luego un "ta", y un "oh". "Toe-may-toe". Si tomé el camino de fondo a través de esto, voy a conseguir "ta-mah-toe". Y si me bajé y después hasta, me gustaría tener "ta-may-dedo del pie." Estos modelos capturan éstos diferencias porque siempre desplegamos una de ellas sistemas de reconocimiento, que va a tener que trabajar con un montón de diferentes tipos de personas, un montón de diferentes acentos, e incluso diferentes usos de las mismas palabras. Por último, además de eso, vamos a construir algo que se ve muy complicado, llamado el modelo de lenguaje, pero en realidad es el más simple de los tres debido a que estos operan en lo que se llaman modelos de n-gram. Y en este caso, te estoy mostrando un modelo de n-gramas de dos partes, una bigrama. Vamos a hacer física la idea que a veces, ciertas palabras son más propensos a seguir una dada palabra que otros. Si acabo de decir "el pronóstico del tiempo" la siguiente palabra probablemente podría ser "hoy" o podría ser "el clima la predicción para mañana ". Pero es poco probable que sea "la previsión meteorológica de la alcachofa ". Lo que un modelo de lenguaje hace es que captura los estadísticamente contando, desde algunas muy grandes corpus, todas las instancias en el que una palabra sigue a otro. Así que si me tomo un gran corpus-- como cada Wall Street Journal que se ha producido desde 1930, que es uno de los corpuses-- estándar y miro a través de todo ese texto, y cuento hasta cuántas veces después "pronóstico" qué veo "hoy" y cuántas veces lo hago veo "previsión", seguido de "alcachofa" el primero va a ser mucho más probable. Va a aparecer con mucha más frecuencia. Y por lo que tendrá un mayor probabilidad asociada a ella. Si quiero averiguar la probabilidad de todo un enunciado, entonces, yo sólo romperlo. Por lo tanto la probabilidad de audiencia la frase "la rata se comió el queso" es la probabilidad de la palabra "el" a partir de una frase, y entonces la probabilidad de que el palabra "rata" sigue a la palabra "the" y la probabilidad de que la palabra "comió" siguiente "rata" y la probabilidad de que "queso" sigue "comió". Esto suena como una gran cantidad de estadísticas, una gran cantidad de probabilidades. Y eso es todo lo que es. Pero lo sorprendente es que si usted hace esto con una muestra suficientemente grande de datos, funciona. Y funciona tremendamente bien. Todos sabemos que estas tecnologías. La mayoría de los sistemas operativos vienen con reconocimiento de voz en este punto. Utilizamos Siri y Cortana y Echo. Y estas cosas se basan en este tipo de de tres capas model-- un modelo fonética en la parte inferior, una modelo de pronunciación en el medio, y un modelo de lenguaje en la parte superior de ellos. Ahora, tienen que hacer un poco más que con el fin de responder a las preguntas. Pero el reconocimiento de lo que eres dicho depende exactamente en eso. Así que echemos un ejemplo aquí. Así que tengo mi teléfono sentado aquí por debajo de la cámara de documentos. Y vamos a pide Siri algunas preguntas. ¿Correcto? Así que vamos a despertar a mi teléfono aquí. Siri, ¿cuál es el clima como en New Haven hoy? SIRI: Aquí está el clima para New Haven, Connecticut hoy. BRIAN Scassellati: OK. Así que primero que vio que Siri reconocido cada una de las palabras individuales y luego producido una respuesta. Hablaremos de cómo esa respuesta viene alrededor de un poco. Pero ahora que sabemos que esto se basa simplemente en las estadísticas de primas y este patrón de tipo coincidencia de enfoque, podemos jugar algunos juegos con Siri. Así que puedo intentarlo de nuevo. Siri, ¿cuál es el clima hipopótamo New Haven, hoy? SIRI: OK. Aquí está el tiempo en New Haven, Connecticut para hoy. BRIAN Scassellati: Siri No intimidado por que porque se encontró la pattern-- "tiempo", "hoy", "New Haven". Eso es lo que está respondiendo que, al igual que ELIZA. Correcto. Vamos a darle una más aun ejemplo más ridículo. Siri, alcachofa tiempo armadillo hipopótamo New Haven? SIRI: Déjame ver cómo está eso. Esto es lo que encontré en la web para lo que son las alcachofas armadillo hipopótamo New Haven. BRIAN Scassellati: OK. Así que si me voy lo suficientemente lejos de este modelo, Soy capaz de confundir porque hay ya coincide con el patrón que tiene. Y esa estadística motor que está diciendo, ¿cuál es la probabilidad de que tienes las palabras de hipopótamo y alcachofa juntos, y armadillo? Eso tiene que ser algo nuevo. Así que estas tecnologías que usamos todos los días. Si queremos llevarlos un paso Además, sin embargo, si en realidad quiero ser capaz de hablar de lo que es que estos sistemas están respondiendo a, tenemos que hablar, de nuevo, sobre un conjunto más fundamental de preguntas. Y eso es un tema de la comunicación que denominamos pregunta de respuesta. Es decir, queremos ser capaces a-- ¿sí? AUDIENCIA: [inaudible]. BRIAN Scassellati: ¿Conseguimos en el procesamiento semántico latente? Entonces sí. Hay un montón de cosas que son pasando por debajo de la superficie con Siri y en algunos de los ejemplos Voy a mostrarle al lado donde hay un poco en términos de la estructura de lo que estás diciendo que eso es importante. Y, de hecho, eso es un gran precursor para la siguiente diapositiva para mí. Así que de la misma manera que nuestro reconocimiento de voz se construyó de múltiples capas, si queremos entender qué es lo que en realidad es Dicho esto, vamos a volver basarse en un análisis multi-capa de del texto que está siendo reconocido. Así que cuando Siri es realmente capaz de por ejemplo, veo que encontré estas palabras. Ahora, ¿qué hago con ellos? El primer componente es a menudo pasar y tratar de analizar la estructura de la frase. Y en lo que hemos visto en la escuela primaria, a menudo, como una especie de diagramación frases, vamos reconocer que cierta las palabras tienen ciertos roles. Estos son los nombres. Estos son los pronombres. Estos son los verbos. Y vamos a reconocer que para una gramática particular en este caso Inglés gramática, hay formas válidas en el que puedo combinarlos y otras formas que no son válidos. Ese reconocimiento, que la estructura, podría ser suficiente para ayudar a guiarnos Un poco. Pero no es suficiente para que seamos capaces de dar cualquier sentido a lo que se dice aquí. Para hacer eso, vamos a tener que depender de una cierta cantidad de procesamiento semántico. Es decir, que vamos a tener que mirar en debajo de lo que cada una de estas palabras en realidad lleva como significado. Y en la forma más sencilla de hacer esto, vamos a asociar con cada palabra que sabemos que una determinada función, una cierta transformación que permite que suceda. En este caso, podríamos etiquetar el palabra "Juan" como un nombre propio, que lleva consigo una identidad. Y podríamos etiquetar "María", como de la misma manera. Mientras que un verbo como "amores", que constituye una relación particular que somos capaces de representar. Ahora, eso no quiere decir que entendemos qué es el amor, sino sólo que entendemos en la forma de un sistema simbólico. Es decir, podemos etiquetar y manipularlo. Con cada uno de estos tipos de enfoques, cualquier tipo de procesamiento semántico aquí va a requerir un poco poco de conocimiento y un montón de trabajo De nuestra parte. Ya no estamos en el reino donde las estadísticas apenas llano van a ser suficiente para nosotros. Ahora, con el fin de ir desde este punto de ser capaz de hablar sobre el interior de lo que en realidad está pasando aquí, para ser capaz de manipular este estructurar y entender una pregunta y luego poder para salir a buscar, que requiere un mayor modelo cognitivo complejo. La forma en que se construyen estos sistemas es en su mayor parte muy, muy laboral intensivo. Implican humanos gastar una gran cantidad de tiempo estructurar las formas en que este tipo de sentencias se puede representar en cierta lógica. Se hace aún un poco más complejo, sin embargo. Incluso una vez que hemos tratado con la semántica, vamos a todavía tiene que mirar el pragmática de lo que se dice. Es decir, ¿cómo me relaciono las palabras que tengo que algo físicamente hay en el mundo, o al menos algunos fuente de información que puedo manipular? A veces, estos conducen a maravillosos trozos de ambigüedad. "Al rojo vivo estrella para casó astrónomo." OK. Ahora, leemos que como el Tipo divertida del título que íbamos a ver en la noche de TV porque nosotros no interpretamos "estrella" tener su significado cuerpo celeste. Sabemos que esto significa más el actor o actriz habitual con altas cantidades de visibilidad. "Escuadrón de ayuda a las víctimas de mordedura de perro." ¿Es que el equipo es en realidad por ahí ayudando a un perro en dar la vuelta y morder las víctimas? ¿O es que no había un individuo que era mordido por un perro que necesita un poco de ayuda? Sólo de mirar a la sintaxis y la semántica de las sentencias, no podemos determinar eso. "Helicóptero accionado por moscas humanos." ¿Hay, de hecho, real pequeñas cosas volando alrededor son personas con alas alimentación helicópteros para el bien de la humanidad? ¿O hay un dispositivo mecánico que deriva su energía de una persona? Cuando nos fijamos en cuestión sistemas contestadores, éstas son las capas que tenemos que tratar. Ahora, los mejores y los más suerte de prevalente de estos sistemas hoy en día son capaces de hacer las cosas a un nivel que son mucho más allá de lo que teníamos hace 10 años. Aquí está uno de los mejores sistemas eso es por ahí hoy en día. Y este es un sistema de IBM llamado Watson. Esto es de nuestros amigos de IBM. Se trata de los bancos Katherine, Jia Chen, y Priscila Moraes dándonos una demostración de Watson ayer en IBM en Yorktown. [REPRODUCCIÓN DE VÍDEO] -¿Como estas? -Yo soy así. Siempre estoy feliz cuando estoy pensando, sobre todo cuando me puede mantenerse fresco en estas salas de servidores. -¿Quién Es tu actriz favorita? -Mi Actriz favorita Angelina Jolie como Lara Croft en Tomb Raider porque su original, forma era como un personaje virtual como yo. -¿Cómo Puede Watson ayudar a los pacientes? -Es El plan para los pacientes a tener acceso a Watson directamente? El acceso a Watson de asesoramiento aplicaciones varían según el caso de uso. Pero en la actualidad, Watson sólo proporcionará posible diagnóstico y tratamiento opciones al profesional de la medicina. En su caso, los pacientes puede proporcionar información a Watson, tal vez a través de una interfaz de portal web, tableta, o incluso un teléfono móvil. Por ejemplo, un paciente puede estar les pidió que describieran sus síntomas en lenguaje natural directamente en una solución Watson, permitiendo que el médico se centre en recopilación de datos y no diagnóstico. -¿Quién Asesinado Abraham Lincoln? -John Wilkes Booth. -¿En Qué año hizo el Arizona Diamondbacks ganan la Serie Mundial? -2001. [FIN DE REPRODUCCIÓN] BRIAN Scassellati: Así este tipo de sistemas tiene que confiar en primer lugar el reconocimiento de la voz; segundo, convirtiéndola en una interna significativa representación; y luego, tercero, ser capaz de salir y encontrar la fuente de información que les permite responder a esa pregunta. Este nivel de complejidad implica los mismos tipos de cosas programáticas que ha sido haciendo en los boletines de problemas. Somos capaces de analizar las peticiones HTTP en el mismo tipo de patrón de bajo nivel coincidente que ELIZA puede hacer. Somos capaces de convertir los en una representación interna, y luego usarlos para consultar alguna base de datos externa, posiblemente utilizando SQL. Todos los sistemas que se están construyendo hoy para hacer este tipo de recursos naturales comunicación lingüística se están construyendo en estos mismos principios. Ahora, incluso un sistema como Watson no es lo suficientemente compleja ser capaz de responder arbitrario preguntas acerca de cualquier tema. Y de hecho, tienen que estar estructurado dentro de un dominio dado. Así que usted puede ir en línea y usted puede encontrar versiones de Watson que operan bien dentro de la informática médica. O hay una línea que solo se ocupa de la forma para hacer buenas recomendaciones sobre qué cerveza irá con el cual los alimentos. Y dentro de esos dominios, que puede responder a las preguntas, encontrar la información que necesita. Pero no se puede mezclar y combinar. El sistema que se ha entrenado con la base de datos de la comida y la cerveza no funciona bien cuando de repente lo puso en la informática médica base de datos. Así que incluso nuestros mejores sistemas actuales confiar en un nivel de procesamiento en el que estamos codificación manual y la construcción de la infraestructura con el fin para que este sistema funcione. Ahora, el último tema que quiero para poder llegar a la actualidad es acerca de la comunicación no verbal. Una gran masa de información que nos comunicamos con los demás no se produce a través de la palabras individuales que estamos solicitando. Tiene que ver con cosas como proximidad, la mirada, el tono de su voz, su inflexión. Y que la comunicación es también algo que muchas interfaces diferentes cuidar mucho sobre. No es lo que Siri le importa. Puedo pedir a Siri algo en una sola voz o en un tono de voz diferente, y Siri va a dame la misma respuesta. Pero eso no es lo que construimos para muchos otros tipos de interfaces. Quiero presentarles ahora a uno de los robots. Este fue construido por mi desde hace mucho tiempo amigo y colega Cynthia Breazeal y su compañía Jibo. Y esto robot-- vamos tener un par de voluntarios llegar a interactuar con este. Así que puedo tener dos personas dispuestas jugar con el robot para mí? ¿Por qué no vienes en un máximo, y ¿por qué no vienes en adelante. Si desea unirse a mí aquí, por favor. Y si pudiera tenerte venir por aquí. Gracias. Hola. ALFREDO: Encantado de conocerte. Alfredo. BRIAN Scassellati: Alfredo. Raquel: Raquel. BRIAN Scassellati: Rachel. Encantado de conocerte ambos. Alfredo, yo voy a tener que ir primero. Ven hasta aquí. Voy a introducir usted-- si puedo conseguir esto de sin llamar la microphone-- a un pequeño robot llamado Jibo. ¿De acuerdo? Ahora, Jibo está diseñado para ser interactivo. Y a pesar de que le puede dar el discurso, gran parte de la interacción con el robot es no verbal. Alfredo, te voy a pedir que decir algo agradable y conexión al robot, por favor. ALFREDO: Creo que te ves linda. [Zumbido] BRIAN Scassellati: OK. Su respuesta no es verbal. Y sin embargo, te dio tanto un claro reconocimiento que había oído lo que ha dicho y también se entiende que de alguna manera. ¿De acuerdo? Paso de vuelta aquí durante un segundo. Gracias. Rachel, si lo haría. Ahora, yo voy a dar que el trabajo mucho más difícil. Si desea parado aquí, copia de seguridad de sólo un poco por lo que podemos conseguir que en la cámara y buscar de esta manera. Voy a pedirle que decir algo realmente significa y desagradable al robot. RACHEL: Lo que parecía que hacer era completamente absurdo. [Zumbido] Eso fue aún más absurdo. ¿Qué está pasando con usted? Ah, no te sientas mal. Te voy a dar un abrazo. BRIAN Scassellati: De acuerdo. Gracias, Rachel. Alfredo, Rachel, gracias chicos mucho. [APLAUSOS] Así que este tipo de interacción tiene en muchas maneras algunas de las mismas reglas y algunos de los mismos estructura como lo que podría tener en la interacción lingüística. Es a la vez comunicativo y sirve un propósito importante. Y esa interacción, en muchas maneras, está diseñado para tener un efecto particular sobre la persona que interactúa con o escuchando al robot. Ahora, tengo la suerte tener Jibo aquí hoy. Sam Spaulding está aquí para ayudar nos cabo con el robot. Y yo voy a pedir Sam para dar nosotros una buena demostración de la danza Jibo que podemos ver al final aquí. Así que adelante, Jibo. SAM: OK, Jibo. Muéstranos tus movimientos de baile. [REPRODUCCIÓN DE MÚSICA] BRIAN Scassellati: Muy bien, todo el mundo. Gracias a nuestros amigos de Jibo. [APLAUSOS] Y gracias a nuestros amigos de IBM para ayudar a cabo hoy. La comunicación es algo que vas para ver subiendo más y más a medida construimos las interfaces más complejas. La próxima semana, vamos a estar hablando acerca de cómo interactuar con oponentes de la computadora en los juegos. Pero si usted tiene preguntas acerca de esto, Voy a estar en torno a las horas de oficina esta noche. Estoy feliz de hablar con usted acerca de la IA temas o para entrar en más detalle. Ten un excelente fin de semana. [APLAUSOS] [REPRODUCCIÓN DE MÚSICA]