1 00:00:00,000 --> 00:00:08,364 2 00:00:08,364 --> 00:00:08,870 >> LUCAS FREITAS: Hey. 3 00:00:08,870 --> 00:00:09,980 Bienvenidos todos. 4 00:00:09,980 --> 00:00:11,216 Mi nombre es Lucas Freitas. 5 00:00:11,216 --> 00:00:15,220 Soy un junior en [inaudible] de estudiar ciencias de la computación con un enfoque en 6 00:00:15,220 --> 00:00:16,410 lingüística computacional. 7 00:00:16,410 --> 00:00:19,310 Así que mi secundaria es en el lenguaje y la teoría lingüística. 8 00:00:19,310 --> 00:00:21,870 Estoy muy emocionado de enseñar a chicos un poco sobre el campo. 9 00:00:21,870 --> 00:00:24,300 Es una zona muy interesante para estudiar. 10 00:00:24,300 --> 00:00:27,260 También con mucho potencial para el futuro. 11 00:00:27,260 --> 00:00:30,160 Por lo tanto, estoy muy emocionada de que ustedes están considerando proyectos en 12 00:00:30,160 --> 00:00:31,160 lingüística computacional. 13 00:00:31,160 --> 00:00:35,460 Y yo estaré más que feliz para asesorar alguno de ustedes si decide 14 00:00:35,460 --> 00:00:37,090 perseguir uno de esos. 15 00:00:37,090 --> 00:00:40,010 >> Así que en primer lugar cuáles son computacional la lingüística? 16 00:00:40,010 --> 00:00:44,630 Así que la lingüística computacional es el intersección entre la lingüística y la 17 00:00:44,630 --> 00:00:46,390 ciencias de la computación. 18 00:00:46,390 --> 00:00:47,415 Entonces, ¿qué es la lingüística? 19 00:00:47,415 --> 00:00:48,490 ¿Qué es la informática? 20 00:00:48,490 --> 00:00:51,580 Pues desde la lingüística, lo que tomamos son los idiomas. 21 00:00:51,580 --> 00:00:54,960 Así que la lingüística es en realidad el estudio del lenguaje natural en general. 22 00:00:54,960 --> 00:00:58,330 Así que el lenguaje natural - se habla de lenguaje que realmente usamos para 23 00:00:58,330 --> 00:00:59,770 comunicarse entre sí. 24 00:00:59,770 --> 00:01:02,200 Así que no estamos hablando exactamente sobre C o Java. 25 00:01:02,200 --> 00:01:05,900 Estamos hablando más acerca de Inglés y Chino y otros idiomas que 26 00:01:05,900 --> 00:01:07,780 utilizar para comunicarse entre sí. 27 00:01:07,780 --> 00:01:12,470 >> Lo difícil de esto es que en este momento tenemos casi 7.000 28 00:01:12,470 --> 00:01:14,260 idiomas en el mundo. 29 00:01:14,260 --> 00:01:19,520 Así que hay una muy alta diversidad de idiomas que podemos estudiar. 30 00:01:19,520 --> 00:01:22,600 Y entonces usted piensa que es probable que sea muy difícil de hacer, por ejemplo, 31 00:01:22,600 --> 00:01:26,960 traducción de una lengua a la otra, teniendo en cuenta que usted tiene 32 00:01:26,960 --> 00:01:28,240 casi 7.000 de ellos. 33 00:01:28,240 --> 00:01:31,450 Por lo tanto, si usted piensa de hacer la traducción de una lengua a la otra que 34 00:01:31,450 --> 00:01:35,840 tienen casi más de un millón diferentes combinaciones que pueda 35 00:01:35,840 --> 00:01:37,330 tener de un idioma a otro. 36 00:01:37,330 --> 00:01:40,820 Así que es realmente difícil de hacer algunos tipo de sistema de ejemplo de traducción para 37 00:01:40,820 --> 00:01:43,540 todos los idiomas. 38 00:01:43,540 --> 00:01:47,120 >> Por lo tanto, la lingüística trata con la sintaxis, la semántica, la pragmática. 39 00:01:47,120 --> 00:01:49,550 Ustedes no necesitan exactamente saber lo que se es. 40 00:01:49,550 --> 00:01:55,090 Pero lo interesante es que como un hablante nativo, cuando se aprende 41 00:01:55,090 --> 00:01:59,010 lenguaje como niño, en realidad se aprende todas esas cosas - la semántica de sintaxis 42 00:01:59,010 --> 00:02:00,500 y la pragmática - 43 00:02:00,500 --> 00:02:01,430 por sí mismo. 44 00:02:01,430 --> 00:02:04,820 Y nadie tiene que enseñar sintaxis para a entender cómo las oraciones son 45 00:02:04,820 --> 00:02:05,290 estructurado. 46 00:02:05,290 --> 00:02:07,980 Así que es muy interesante porque que es algo que viene muy 47 00:02:07,980 --> 00:02:10,389 intuitivamente. 48 00:02:10,389 --> 00:02:13,190 >> Y lo que llevas de la ciencia de la computación? 49 00:02:13,190 --> 00:02:16,700 Bueno, la cosa más importante que tener en ciencias de la computación es ante 50 00:02:16,700 --> 00:02:19,340 todo, la inteligencia artificial y el aprendizaje automático. 51 00:02:19,340 --> 00:02:22,610 Por lo tanto, lo que estamos tratando de hacer la lingüística computacional es enseñar 52 00:02:22,610 --> 00:02:26,990 su equipo cómo hacer algo con el lenguaje. 53 00:02:26,990 --> 00:02:28,630 >> Así, por ejemplo, en la máquina traducción. 54 00:02:28,630 --> 00:02:32,490 Estoy tratando de enseñarle a mi equipo cómo saber cómo hacer la transición de un 55 00:02:32,490 --> 00:02:33,310 idioma a otro. 56 00:02:33,310 --> 00:02:35,790 Así que, como básicamente la enseñanza un informáticos dos idiomas. 57 00:02:35,790 --> 00:02:38,870 Si hago el procesamiento del lenguaje natural, que es el caso por ejemplo de 58 00:02:38,870 --> 00:02:41,810 De Facebook Graph Search, enseñar su equipo la manera de entender 59 00:02:41,810 --> 00:02:42,730 consultas así. 60 00:02:42,730 --> 00:02:48,130 >> Por lo tanto, si usted dice "las fotos de mi amigos. "Facebook no trata de que 61 00:02:48,130 --> 00:02:51,130 como toda una cadena que tiene sólo un montón de palabras. 62 00:02:51,130 --> 00:02:56,020 En realidad, entiende la relación entre las "fotos" y "mis amigos" y 63 00:02:56,020 --> 00:02:59,620 entiende que las "fotos" son propiedad de "mis amigos". 64 00:02:59,620 --> 00:03:02,350 >> Entonces, eso es parte de, por ejemplo, procesamiento del lenguaje natural. 65 00:03:02,350 --> 00:03:04,790 Está tratando de entender lo que es la relación entre 66 00:03:04,790 --> 00:03:07,520 las palabras en una oración. 67 00:03:07,520 --> 00:03:11,170 Y la gran pregunta es, ¿puede enseñar a una computadora cómo hablar 68 00:03:11,170 --> 00:03:12,650 un lenguaje en general? 69 00:03:12,650 --> 00:03:17,810 Lo que es una pregunta muy interesante pensar, como si tal vez en el futuro, 70 00:03:17,810 --> 00:03:19,930 usted va a ser capaz de hable con su teléfono celular. 71 00:03:19,930 --> 00:03:23,290 Algo así como lo que hacemos con Siri, pero algo más parecido, en realidad se puede 72 00:03:23,290 --> 00:03:25,690 decir lo que quieras y el teléfono va a entender todo. 73 00:03:25,690 --> 00:03:28,350 Y puede tener preguntas de seguimiento y seguir hablando. 74 00:03:28,350 --> 00:03:30,880 Eso es algo muy emocionante, en mi opinión. 75 00:03:30,880 --> 00:03:33,070 >> Por lo tanto, algo de las lenguas naturales. 76 00:03:33,070 --> 00:03:36,220 Algo realmente interesante de lenguajes naturales es que, y esto es 77 00:03:36,220 --> 00:03:38,470 crédito a mi profesor de lingüística, Maria Polinsky. 78 00:03:38,470 --> 00:03:40,830 Ella da un ejemplo y creo que es realmente interesante. 79 00:03:40,830 --> 00:03:47,060 Porque aprendemos el lenguaje de cuando nacemos y luego nuestro nativo 80 00:03:47,060 --> 00:03:49,170 tipo de lenguaje crece en nosotros. 81 00:03:49,170 --> 00:03:52,570 >> Y, básicamente, a aprender el idioma de participación mínima, ¿no? 82 00:03:52,570 --> 00:03:56,700 Usted es sólo el aporte de su los padres de lo que suena su idioma 83 00:03:56,700 --> 00:03:58,770 gusta y que acaba de aprender. 84 00:03:58,770 --> 00:04:02,240 Así, es interesante porque si nos fijamos en esas frases, por ejemplo. 85 00:04:02,240 --> 00:04:06,980 Miras: "María se pone una capa de cada vez que sale de la casa ". 86 00:04:06,980 --> 00:04:10,650 >> En este caso, es posible tener la palabra "ella" se refieren a María, ¿no? 87 00:04:10,650 --> 00:04:13,500 Usted puede decir "María se pone una capa de cada vez que María deja la 88 00:04:13,500 --> 00:04:14,960 casa. ", por lo que está bien. 89 00:04:14,960 --> 00:04:19,370 Pero si nos fijamos en la sentencia "Ella se pone una capa cada vez que María 90 00:04:19,370 --> 00:04:22,850 sale de la casa. "sabes que es imposible decir que "ella" es 91 00:04:22,850 --> 00:04:24,260 refiriéndose a María. 92 00:04:24,260 --> 00:04:27,070 >> No hay manera de decir que "María pone en una capa cada vez que María deja 93 00:04:27,070 --> 00:04:30,790 la casa ". Así que es interesante porque este es el tipo de la intuición 94 00:04:30,790 --> 00:04:32,890 que cada hablante nativo tiene. 95 00:04:32,890 --> 00:04:36,370 Y a nadie se le enseñó que esto es la forma en que funciona la sintaxis. 96 00:04:36,370 --> 00:04:41,930 Y eso sólo se puede tener este "ella" refiriéndose a María en este primer caso, 97 00:04:41,930 --> 00:04:44,260 y en realidad en esta otra también, pero no en éste. 98 00:04:44,260 --> 00:04:46,500 Pero todo el mundo se pone tipo de a la misma respuesta. 99 00:04:46,500 --> 00:04:48,580 Todos están de acuerdo en eso. 100 00:04:48,580 --> 00:04:53,280 Así que es realmente interesante cómo a pesar de usted no sabe todas las reglas 101 00:04:53,280 --> 00:04:55,575 en su idioma que tipo de entender cómo funciona el idioma. 102 00:04:55,575 --> 00:04:59,020 103 00:04:59,020 --> 00:05:01,530 >> Así que lo interesante de naturales lenguaje es que usted no tiene que 104 00:05:01,530 --> 00:05:06,970 conocer cualquier sintaxis para saber si una sentencia es gramatical o gramatical para 105 00:05:06,970 --> 00:05:08,810 la mayoría de los casos. 106 00:05:08,810 --> 00:05:13,220 ¿Qué te hace pensar que a lo mejor lo que que pasa es que a través de su vida, 107 00:05:13,220 --> 00:05:17,410 se vuelven cada vez más y más frases dijeron a usted. 108 00:05:17,410 --> 00:05:19,800 Y luego sigues memorización todas las sentencias. 109 00:05:19,800 --> 00:05:24,230 Y luego, cuando alguien te dice algo, se escucha esa frase y 110 00:05:24,230 --> 00:05:27,040 nos fijamos en su vocabulario de las sentencias y ver si 111 00:05:27,040 --> 00:05:28,270 esa frase está ahí. 112 00:05:28,270 --> 00:05:29,830 Y si es que hay que dicen que es gramatical. 113 00:05:29,830 --> 00:05:31,740 Si no es usted dice que es no gramatical. 114 00:05:31,740 --> 00:05:35,150 >> Así que, en ese caso, usted diría, oh, lo que tiene una enorme lista de todos los 115 00:05:35,150 --> 00:05:36,140 posibles condenas. 116 00:05:36,140 --> 00:05:38,240 Y luego, cuando se escucha una oración, usted sabe si es gramatical o 117 00:05:38,240 --> 00:05:39,450 no se basa en eso. 118 00:05:39,450 --> 00:05:42,360 La cosa es que si nos fijamos en una frase, por ejemplo, "El 119 00:05:42,360 --> 00:05:47,540 cinco cabezas CS50 TFS cocinado los ciegos pulpo utilizando una taza DAPA. "Es 120 00:05:47,540 --> 00:05:49,630 definitivamente no es una sentencia de que has escuchado antes. 121 00:05:49,630 --> 00:05:52,380 Pero al mismo tiempo, usted sabe que es casi gramatical, ¿verdad? 122 00:05:52,380 --> 00:05:55,570 No hay errores gramaticales y se puede decir que 123 00:05:55,570 --> 00:05:57,020 es una posible sentencia. 124 00:05:57,020 --> 00:06:01,300 >> Por lo que nos hace pensar que en realidad el forma en que aprendemos el lenguaje no es sólo 125 00:06:01,300 --> 00:06:07,090 por tener una gran base de datos de posibles palabras o frases, pero más de 126 00:06:07,090 --> 00:06:11,490 la comprensión de la relación entre palabras en esas frases. 127 00:06:11,490 --> 00:06:14,570 ¿Eso tiene sentido? 128 00:06:14,570 --> 00:06:19,370 Así, entonces, la pregunta es, ¿puede ordenadores aprenden idiomas? 129 00:06:19,370 --> 00:06:21,490 ¿Podemos enseñar el lenguaje de las computadoras? 130 00:06:21,490 --> 00:06:24,230 >> Por lo tanto, vamos a pensar en la diferencia entre un hablante nativo de la lengua 131 00:06:24,230 --> 00:06:25,460 y un ordenador. 132 00:06:25,460 --> 00:06:27,340 Así que, ¿qué pasa con el altavoz? 133 00:06:27,340 --> 00:06:30,430 Pues bien, el hablante nativo aprende una el lenguaje de la exposición a la misma. 134 00:06:30,430 --> 00:06:34,200 Normalmente sus primeros años de infancia. 135 00:06:34,200 --> 00:06:38,570 Así que, básicamente, que acaba de tener un bebé, y sigues hablando con ella, y 136 00:06:38,570 --> 00:06:40,540 sólo aprende a hablar el lenguaje, ¿no? 137 00:06:40,540 --> 00:06:42,660 Así que, básicamente está dando de entrada para el bebé. 138 00:06:42,660 --> 00:06:45,200 Así que, a continuación, se puede argumentar que un ordenador puede hacer lo mismo, ¿verdad? 139 00:06:45,200 --> 00:06:49,510 Usted sólo puede dar idioma como entrada para el ordenador. 140 00:06:49,510 --> 00:06:53,410 >> Como por ejemplo, un montón de archivos que tienen los libros en Inglés. 141 00:06:53,410 --> 00:06:56,190 Tal vez esa es una manera de que usted posiblemente podría enseñar una 142 00:06:56,190 --> 00:06:57,850 computadora Inglés, ¿verdad? 143 00:06:57,850 --> 00:07:01,000 Y de hecho, si se piensa en ello, que te lleva quizá un par 144 00:07:01,000 --> 00:07:02,680 día para leer un libro. 145 00:07:02,680 --> 00:07:05,760 Para un equipo que se necesita un segundo para ver todas las palabras en un libro. 146 00:07:05,760 --> 00:07:10,810 Así que usted puede pensar que puede tratarse de esta argumento de entrada de tu alrededor, 147 00:07:10,810 --> 00:07:15,440 eso no es suficiente para decir que eso es algo que sólo los seres humanos pueden hacer. 148 00:07:15,440 --> 00:07:17,680 Usted puede pensar en los ordenadores También puede obtener la entrada. 149 00:07:17,680 --> 00:07:21,170 >> La segunda cosa es que los hablantes nativos también tienen un cerebro que tiene 150 00:07:21,170 --> 00:07:23,870 capacidad de aprendizaje de idiomas. 151 00:07:23,870 --> 00:07:27,020 Pero si se piensa en ello, un cerebro es una cosa sólida. 152 00:07:27,020 --> 00:07:30,450 Cuando naces, ya está establecido - 153 00:07:30,450 --> 00:07:31,320 esta es tu cerebro. 154 00:07:31,320 --> 00:07:34,660 Y a medida que crecen, que acaba de obtener más entrada de la lengua y quizás los nutrientes 155 00:07:34,660 --> 00:07:35,960 y otras cosas. 156 00:07:35,960 --> 00:07:38,170 Pero más o menos su cerebro es una cosa sólida. 157 00:07:38,170 --> 00:07:41,290 >> Así que usted puede decir, bueno, tal vez usted puede construir un equipo que tiene un montón de 158 00:07:41,290 --> 00:07:45,890 funciones y métodos que sólo imitan capacidad de aprendizaje de idiomas. 159 00:07:45,890 --> 00:07:49,630 Así que en ese sentido, se podría decir, bueno, puede tener un equipo que tiene todo el 160 00:07:49,630 --> 00:07:52,270 cosas que tengo que aprender el lenguaje. 161 00:07:52,270 --> 00:07:56,200 Y lo último es que un nativo hablante aprende de ensayo y error. 162 00:07:56,200 --> 00:08:01,090 Así que, básicamente, otra cosa importante en el aprendizaje de idiomas es que tipo 163 00:08:01,090 --> 00:08:05,340 de aprender cosas por hacer generalizaciones de lo que se oye. 164 00:08:05,340 --> 00:08:10,280 >> Así como estás creciendo aprendes que algunas palabras son más parecidos a los sustantivos, 165 00:08:10,280 --> 00:08:11,820 algunos otros son adjetivos. 166 00:08:11,820 --> 00:08:14,250 Y usted no tiene que tener ninguna conocimiento de la lingüística 167 00:08:14,250 --> 00:08:15,040 entender eso. 168 00:08:15,040 --> 00:08:18,560 Pero usted acaba de saber que hay algunas palabras están colocados en una parte de la 169 00:08:18,560 --> 00:08:22,570 frase y algunos otros en otra partes de la oración. 170 00:08:22,570 --> 00:08:26,110 >> Y que cuando haces algo que es como una sentencia que no es correcta - 171 00:08:26,110 --> 00:08:28,770 tal vez debido a una generalización sobre por ejemplo. 172 00:08:28,770 --> 00:08:32,210 Tal vez cuando estás creciendo, te das cuenta que el plural es generalmente 173 00:08:32,210 --> 00:08:35,809 formado por poner en S el final de la palabra. 174 00:08:35,809 --> 00:08:40,042 Y a continuación, intenta hacer el plural de "venado" como "venados" o "diente" como 175 00:08:40,042 --> 00:08:44,780 "tooths". Así que tus padres o alguien te corrige y dice, no, el 176 00:08:44,780 --> 00:08:49,020 plural de "deer" es "ciervo", y el plural de "diente" es "dientes". Y luego 177 00:08:49,020 --> 00:08:50,060 a aprender esas cosas. 178 00:08:50,060 --> 00:08:51,520 Así se aprende de prueba y error. 179 00:08:51,520 --> 00:08:53,100 >> Pero también se puede hacer eso con un ordenador. 180 00:08:53,100 --> 00:08:55,310 Usted puede tener algo que se llama aprendizaje por refuerzo. 181 00:08:55,310 --> 00:08:58,560 Lo cual es, básicamente, como dar un equipo una recompensa cada vez que lo hace 182 00:08:58,560 --> 00:08:59,410 algo correctamente. 183 00:08:59,410 --> 00:09:04,710 Y dándole lo contrario de una recompensa y cuando hace algo mal. 184 00:09:04,710 --> 00:09:07,410 En realidad se puede ver que si vas al traductor de Google y se intenta 185 00:09:07,410 --> 00:09:10,220 traducir una frase, le pide su opinión. 186 00:09:10,220 --> 00:09:13,240 Así que si usted dice, oh, hay una mejor traducción de esta frase. 187 00:09:13,240 --> 00:09:18,140 Usted puede escribirlo y luego, si una gran cantidad de la gente sigue diciendo que es una mejor 188 00:09:18,140 --> 00:09:21,560 traducción, sólo se entera de que ella que debe usar la traducción en lugar de 189 00:09:21,560 --> 00:09:22,960 el que estaba dando. 190 00:09:22,960 --> 00:09:28,830 >> Así que, es una pregunta muy filosófica para ver si las computadoras van a ser 191 00:09:28,830 --> 00:09:30,340 capaz de hablar o no en el futuro. 192 00:09:30,340 --> 00:09:34,440 Pero tengo grandes esperanzas de que puedan sólo sobre la base de esos argumentos. 193 00:09:34,440 --> 00:09:38,570 Pero es sólo más de un filosófico cuestión. 194 00:09:38,570 --> 00:09:43,460 >> Así, mientras que las computadoras todavía no pueden hablar, cuáles son las cosas que podemos hacer? 195 00:09:43,460 --> 00:09:47,070 Algunas cosas muy interesantes son clasificación de datos. 196 00:09:47,070 --> 00:09:53,210 Así, por ejemplo, que ustedes saben que los servicios de correo electrónico hacen, para 197 00:09:53,210 --> 00:09:55,580 ejemplo, el filtrado de correo no deseado. 198 00:09:55,580 --> 00:09:59,070 Así que cuando usted recibe spam, se trata de filtrar a otra caja. 199 00:09:59,070 --> 00:10:00,270 Entonces, ¿cómo lo hace? 200 00:10:00,270 --> 00:10:06,080 No es que el ordenador sólo sabe direcciones de correo electrónico que envían spam. 201 00:10:06,080 --> 00:10:09,130 Así que está más basado en el contenido de el mensaje, o tal vez el título, o 202 00:10:09,130 --> 00:10:11,310 tal vez algún patrón que usted tiene. 203 00:10:11,310 --> 00:10:15,690 >> Así que, básicamente, lo que puedes hacer es conseguir un gran cantidad de datos de mensajes de correo electrónico que son spam, 204 00:10:15,690 --> 00:10:19,980 correos electrónicos que no son spam y aprenden lo tipo de patrones que tiene en el 205 00:10:19,980 --> 00:10:21,000 los que son SPAM. 206 00:10:21,000 --> 00:10:23,260 Y esto es parte del cálculo la lingüística. 207 00:10:23,260 --> 00:10:24,720 Se llama la clasificación de datos. 208 00:10:24,720 --> 00:10:28,100 Y de hecho vamos a ver un ejemplo de que en las próximas diapositivas. 209 00:10:28,100 --> 00:10:32,910 >> La segunda cosa es el lenguaje natural procesamiento, que es lo que el 210 00:10:32,910 --> 00:10:36,580 Gráfico Search está haciendo de dejar se escribe una frase. 211 00:10:36,580 --> 00:10:38,690 Y confía en que entiende lo es el significado y da 212 00:10:38,690 --> 00:10:39,940 Eres un resultado mejor. 213 00:10:39,940 --> 00:10:43,880 En realidad, si usted va a Google o Bing y buscar algo como Lady 214 00:10:43,880 --> 00:10:47,060 Altura de Gaga, en realidad está pasando para obtener 5 '1 "en lugar de la información 215 00:10:47,060 --> 00:10:50,170 de ella, ya que en realidad entiende lo que estás hablando. 216 00:10:50,170 --> 00:10:52,140 Así que eso es parte de los recursos naturales el procesamiento del lenguaje. 217 00:10:52,140 --> 00:10:57,000 >> O también cuando se utiliza Siri, primero usted tiene un algoritmo que intenta 218 00:10:57,000 --> 00:11:01,130 traducir lo que dices en palabras, en el texto. 219 00:11:01,130 --> 00:11:03,690 Y entonces se intenta traducir que en significado. 220 00:11:03,690 --> 00:11:06,570 Así que eso es parte de los recursos naturales el procesamiento del lenguaje. 221 00:11:06,570 --> 00:11:08,320 >> Entonces usted tiene la traducción automática - 222 00:11:08,320 --> 00:11:10,300 que es en realidad una de mis favoritos - 223 00:11:10,300 --> 00:11:14,060 que se acaba de traducir del un idioma a otro. 224 00:11:14,060 --> 00:11:17,950 Así que usted puede pensar que cuando estás haciendo traducción automática, usted tiene 225 00:11:17,950 --> 00:11:19,750 infinitas posibilidades de sentencias. 226 00:11:19,750 --> 00:11:22,960 Así que no hay manera de simplemente almacenar cada traducción individual. 227 00:11:22,960 --> 00:11:27,440 Así que tienes que subir con interesante algoritmos para poder 228 00:11:27,440 --> 00:11:30,110 traducir cada frase de algún modo. 229 00:11:30,110 --> 00:11:32,483 >> Ustedes tienen alguna pregunta hasta ahora? 230 00:11:32,483 --> 00:11:34,450 No? 231 00:11:34,450 --> 00:11:34,830 Aceptar. 232 00:11:34,830 --> 00:11:36,900 >> Así que lo que vamos a ver hoy? 233 00:11:36,900 --> 00:11:39,300 En primer lugar, voy a hablar de el problema de clasificación. 234 00:11:39,300 --> 00:11:41,440 Así que el que yo estaba diciendo de spam. 235 00:11:41,440 --> 00:11:46,820 Lo que voy a hacer es, letras dadas una canción, se puede tratar de averiguar 236 00:11:46,820 --> 00:11:49,810 con alta probabilidad quien es el cantante? 237 00:11:49,810 --> 00:11:53,590 Vamos a decir que no tengo canciones de Lady Gaga y Katy Perry, si te doy un 238 00:11:53,590 --> 00:11:58,130 nueva canción, ¿puedes averiguar si es Katy Perry o Señora Gaga? 239 00:11:58,130 --> 00:12:01,490 >> La segunda, que sólo voy a hablar sobre el problema de la segmentación. 240 00:12:01,490 --> 00:12:05,780 Así que no sé si ustedes lo saben, pero Chino, japonés, otro de Asia Oriental 241 00:12:05,780 --> 00:12:08,090 idiomas y otras lenguas en general, no tienen 242 00:12:08,090 --> 00:12:09,830 espacios entre las palabras. 243 00:12:09,830 --> 00:12:13,540 Y luego, si se piensa en la forma en que su amable equipo de intentos para 244 00:12:13,540 --> 00:12:18,600 entender el procesamiento del lenguaje natural, se ve en las palabras y 245 00:12:18,600 --> 00:12:21,500 trata de comprender las relaciones entre ellos, ¿verdad? 246 00:12:21,500 --> 00:12:25,440 Pero entonces, si usted tiene el chino, y usted tiene cero espacios, es muy difícil 247 00:12:25,440 --> 00:12:28,360 averiguar cuál es la relación entre Es decir, debido a que no tienen ninguna 248 00:12:28,360 --> 00:12:29,530 palabras a primera. 249 00:12:29,530 --> 00:12:32,600 Así que tienes que hacer algo que se llama segmentación que sólo significa poner 250 00:12:32,600 --> 00:12:36,490 espacios entre lo que nosotros llamaríamos palabras en esos idiomas. 251 00:12:36,490 --> 00:12:37,740 Tiene sentido? 252 00:12:37,740 --> 00:12:39,680 253 00:12:39,680 --> 00:12:41,540 >> Y luego vamos a hablar de la sintaxis. 254 00:12:41,540 --> 00:12:44,050 Así que un poco sobre física el procesamiento del lenguaje. 255 00:12:44,050 --> 00:12:45,420 Va a ser sólo un resumen. 256 00:12:45,420 --> 00:12:50,700 Así que hoy, básicamente lo que quiero hacer es darle chicos un poco de un 257 00:12:50,700 --> 00:12:53,930 dentro de lo que son las posibilidades que usted puede hacer con computacional 258 00:12:53,930 --> 00:12:54,960 la lingüística. 259 00:12:54,960 --> 00:13:00,410 Y entonces usted puede ver lo que usted piensa es fresco entre las cosas. 260 00:13:00,410 --> 00:13:02,270 Y tal vez usted puede pensar en un proyecto y ven a hablar conmigo. 261 00:13:02,270 --> 00:13:05,260 Y yo te puedo dar consejos sobre la manera de ponerla en práctica. 262 00:13:05,260 --> 00:13:09,060 >> Así sintaxis va a ser un poco Gráfico sobre Búsqueda y máquina 263 00:13:09,060 --> 00:13:09,670 traducción. 264 00:13:09,670 --> 00:13:13,650 Sólo voy a dar un ejemplo de cómo usted podría, por ejemplo, traducir 265 00:13:13,650 --> 00:13:16,020 algo de Portugués al Inglés. 266 00:13:16,020 --> 00:13:17,830 Suena bien? 267 00:13:17,830 --> 00:13:19,293 >> Así que en primer lugar, el problema de clasificación. 268 00:13:19,293 --> 00:13:23,590 Voy a decir que esta parte del seminario va a ser la más difícil 269 00:13:23,590 --> 00:13:27,560 uno simplemente porque no va a ser algo de código. 270 00:13:27,560 --> 00:13:29,470 Pero va a ser Python. 271 00:13:29,470 --> 00:13:34,380 Sé que ustedes no saben Python, por lo que Sólo voy a explicar en el alto 272 00:13:34,380 --> 00:13:35,750 nivelo lo que estoy haciendo. 273 00:13:35,750 --> 00:13:40,900 Y usted no tiene que preocuparse realmente demasiado mucho acerca de la sintaxis, porque eso es 274 00:13:40,900 --> 00:13:42,140 algo que ustedes pueden aprender. 275 00:13:42,140 --> 00:13:42,540 ¿De acuerdo? 276 00:13:42,540 --> 00:13:43,580 Suena bien. 277 00:13:43,580 --> 00:13:46,020 >> Entonces, ¿cuál es el problema de clasificación? 278 00:13:46,020 --> 00:13:49,140 Así que te dan algunas letras para una canción y quiere adivinar 279 00:13:49,140 --> 00:13:50,620 que se cantaba. 280 00:13:50,620 --> 00:13:54,045 Y esto puede ser de cualquier tipo de otros problemas. 281 00:13:54,045 --> 00:13:59,980 Así que puede ser, por ejemplo, tiene una campaña presidencial y tiene un 282 00:13:59,980 --> 00:14:02,610 el habla y la que desea buscar si lo fue, por ejemplo, 283 00:14:02,610 --> 00:14:04,470 Obama o Mitt Romney. 284 00:14:04,470 --> 00:14:07,700 O usted puede tener un montón de correos electrónicos y quiere averiguar si son 285 00:14:07,700 --> 00:14:08,890 spam o no. 286 00:14:08,890 --> 00:14:11,440 Así que es sólo un poco de la clasificación los datos basados ​​en las palabras 287 00:14:11,440 --> 00:14:13,790 que usted tiene allí. 288 00:14:13,790 --> 00:14:16,295 >> Así que para hacer eso, usted tiene que hacer algunas suposiciones. 289 00:14:16,295 --> 00:14:20,570 Así que mucho de la lingüística computacional está haciendo suposiciones, 290 00:14:20,570 --> 00:14:24,100 supuestos generalmente inteligentes, de manera que usted puede conseguir buenos resultados. 291 00:14:24,100 --> 00:14:26,670 Tratar de crear un modelo para él. 292 00:14:26,670 --> 00:14:31,290 Y luego probarlo y ver si funciona, si te da una buena precisión. 293 00:14:31,290 --> 00:14:33,940 Y si lo hace, entonces usted tratar de mejorarlo. 294 00:14:33,940 --> 00:14:37,640 Si no es así, eres como, OK, tal vez debe hacer una suposición diferente. 295 00:14:37,640 --> 00:14:44,030 >> Así que la suposición de que vamos a hacer es que un artista canta generalmente 296 00:14:44,030 --> 00:14:49,220 acerca de un tema en múltiples ocasiones, y tal vez usa palabras múltiples veces sólo 297 00:14:49,220 --> 00:14:50,270 porque están acostumbrados a ello. 298 00:14:50,270 --> 00:14:51,890 Usted sólo puede pensar en su amigo. 299 00:14:51,890 --> 00:14:57,350 Estoy seguro de que ustedes todos tienen amigos que dicen que su frase de la firma, 300 00:14:57,350 --> 00:14:59,260 literalmente cada frase - 301 00:14:59,260 --> 00:15:02,660 como una palabra específica o algunos específicos frase que se suele decir de 302 00:15:02,660 --> 00:15:04,020 cada frase. 303 00:15:04,020 --> 00:15:07,920 >> ¿Y qué se puede decir es que si usted ve una frase que tiene una firma 304 00:15:07,920 --> 00:15:11,450 frase, se puede adivinar que probablemente tu amigo es el 305 00:15:11,450 --> 00:15:13,310 que lo dice, ¿no? 306 00:15:13,310 --> 00:15:18,410 Así que usted hace esa suposición y luego así es como se crea un modelo. 307 00:15:18,410 --> 00:15:24,440 >> El ejemplo que voy a dar es el cómo Lady Gaga, por ejemplo, las personas 308 00:15:24,440 --> 00:15:27,430 dice que ella usa "bebé" de todas sus canciones número uno. 309 00:15:27,430 --> 00:15:32,270 Y en realidad se trata de un vídeo que muestra ella diciendo la palabra "bebé" de 310 00:15:32,270 --> 00:15:33,410 diferentes canciones. 311 00:15:33,410 --> 00:15:33,860 >> [REPRODUCCIÓN DE VÍDEO] 312 00:15:33,860 --> 00:15:34,310 >> - (CANTO) Bebé. 313 00:15:34,310 --> 00:15:36,220 Bebé. 314 00:15:36,220 --> 00:15:37,086 Bebé. 315 00:15:37,086 --> 00:15:37,520 Bebé. 316 00:15:37,520 --> 00:15:37,770 Bebé. 317 00:15:37,770 --> 00:15:38,822 Nena. 318 00:15:38,822 --> 00:15:39,243 Bebé. 319 00:15:39,243 --> 00:15:40,085 Bebé. 320 00:15:40,085 --> 00:15:40,510 Bebé. 321 00:15:40,510 --> 00:15:40,850 Bebé. 322 00:15:40,850 --> 00:15:41,090 >> [FIN REPRODUCCIÓN DE VÍDEO- 323 00:15:41,090 --> 00:15:44,020 >> LUCAS FREITAS: Así que hay, creo, 40 canciones aquí en el que dice la 324 00:15:44,020 --> 00:15:48,690 palabra "bebé". Así que básicamente se puede adivinar que si ves una canción que tiene 325 00:15:48,690 --> 00:15:52,180 la palabra "bebé", que hay algunos de alta probabilidad de que se trata de Lady Gaga. 326 00:15:52,180 --> 00:15:56,450 Pero vamos a tratar de desarrollar este aún de manera más formal. 327 00:15:56,450 --> 00:16:00,470 >> Así que estas son las letras de las canciones de Lady Gaga y Katy Perry. 328 00:16:00,470 --> 00:16:04,120 Así que nos fijamos en Lady Gaga, que se ve que tienen un montón de apariciones de "bebé", un 329 00:16:04,120 --> 00:16:07,710 gran cantidad de apariciones de "camino". Y luego Katy Perry tiene una gran cantidad de apariciones de 330 00:16:07,710 --> 00:16:10,360 "El", un montón de apariciones de "fuego". 331 00:16:10,360 --> 00:16:14,560 >> Así que básicamente lo que queremos hacer es, se obtiene una letra. 332 00:16:14,560 --> 00:16:20,480 Digamos que usted recibe una letra para una canción que es "bebé," sólo "bebé". Si 333 00:16:20,480 --> 00:16:24,750 que acaba de obtener la palabra "bebé", y esto es que todos los datos que tenga con 334 00:16:24,750 --> 00:16:27,880 Lady Gaga y Katy Perry, que haría Puedes adivinar es la persona 335 00:16:27,880 --> 00:16:29,370 quien canta la canción? 336 00:16:29,370 --> 00:16:32,360 Lady Gaga o Katy Perry? 337 00:16:32,360 --> 00:16:33,150 Lady Gaga, ¿verdad? 338 00:16:33,150 --> 00:16:37,400 Porque ella es la única que dice "Bebé". Esto suena estúpido, ¿verdad? 339 00:16:37,400 --> 00:16:38,760 OK, esto es muy fácil. 340 00:16:38,760 --> 00:16:41,860 Sólo estoy mirando las dos canciones y de Por supuesto, ella es la única persona que tiene 341 00:16:41,860 --> 00:16:42,660 "Bebé". 342 00:16:42,660 --> 00:16:44,740 >> Pero lo que si usted tiene un montón de palabras? 343 00:16:44,740 --> 00:16:50,900 Si usted tiene una lírica actual, algo como, "bebé, sólo 344 00:16:50,900 --> 00:16:51,610 fue a ver a [? CFT?] 345 00:16:51,610 --> 00:16:54,020 conferencia ", o algo así, y entonces usted realmente tiene que averiguar - 346 00:16:54,020 --> 00:16:55,780 sobre la base de todas esas palabras - 347 00:16:55,780 --> 00:16:58,350 quien es el artista que probablemente cantó esta canción? 348 00:16:58,350 --> 00:17:01,860 Así que vamos a tratar de desarrollar esto un poco más. 349 00:17:01,860 --> 00:17:05,630 >> OK, así que basado sólo en los datos que nos conseguido, parece que Gaga es probablemente 350 00:17:05,630 --> 00:17:06,260 la cantante. 351 00:17:06,260 --> 00:17:07,904 Pero ¿cómo podemos escribir de manera más formal? 352 00:17:07,904 --> 00:17:10,579 353 00:17:10,579 --> 00:17:13,140 Y va a ser un poco poco de estadísticas. 354 00:17:13,140 --> 00:17:15,880 Así que si te pierdes, simplemente intenta para entender el concepto. 355 00:17:15,880 --> 00:17:18,700 No importa si usted entiende las ecuaciones perfectamente bien. 356 00:17:18,700 --> 00:17:22,150 Todo esto va a estar en línea. 357 00:17:22,150 --> 00:17:25,490 >> Así que básicamente lo que estoy calculando es el probabilidad de que esta canción es por 358 00:17:25,490 --> 00:17:28,040 Lady Gaga ya que - 359 00:17:28,040 --> 00:17:30,660 por lo que este bar significa ya que - 360 00:17:30,660 --> 00:17:33,680 Vi la palabra "bebé". ¿Eso tiene sentido? 361 00:17:33,680 --> 00:17:35,540 Así que estoy tratando de calcular esa probabilidad. 362 00:17:35,540 --> 00:17:38,540 >> Así que hay este teorema llamado el El teorema de Bayes que dice que el 363 00:17:38,540 --> 00:17:43,330 probabilidad de A dado B, es la probabilidad de B dado A, veces el 364 00:17:43,330 --> 00:17:47,660 probabilidad de A, sobre la probabilidad de B. Esta es una ecuación larga. 365 00:17:47,660 --> 00:17:51,970 Pero, ¿qué hay que entender por es decir que esto es lo que quiero 366 00:17:51,970 --> 00:17:52,830 calcular, ¿verdad? 367 00:17:52,830 --> 00:17:56,570 Por lo tanto la probabilidad de que esa canción es por Lady Gaga ya que vi la palabra 368 00:17:56,570 --> 00:17:58,230 "Bebé". 369 00:17:58,230 --> 00:18:02,960 >> Y ahora lo que quiero llegar es el probabilidad de que la palabra "bebé", dado 370 00:18:02,960 --> 00:18:04,390 que tengo Lady Gaga. 371 00:18:04,390 --> 00:18:07,220 Y ¿qué es eso básicamente? 372 00:18:07,220 --> 00:18:10,500 Lo que esto significa es, ¿cuál es la probabilidad de ver la palabra "bebé" 373 00:18:10,500 --> 00:18:12,130 en Gaga letras? 374 00:18:12,130 --> 00:18:16,240 Si quiero calcular que en un tiempo muy manera simple, es sólo el número de 375 00:18:16,240 --> 00:18:23,640 veces veo "bebé" sobre el total de las palabras en letras Gaga, ¿verdad? 376 00:18:23,640 --> 00:18:27,600 ¿Cuál es la frecuencia que veo esa palabra en el trabajo de Gaga? 377 00:18:27,600 --> 00:18:30,530 Tiene sentido? 378 00:18:30,530 --> 00:18:33,420 >> El segundo término es la probabilidad de Gaga. 379 00:18:33,420 --> 00:18:34,360 ¿Qué significa eso? 380 00:18:34,360 --> 00:18:38,550 Eso significa, básicamente, lo que es la probabilidad de clasificar 381 00:18:38,550 --> 00:18:40,690 algunas letras como Gaga? 382 00:18:40,690 --> 00:18:45,320 Y eso es un poco raro, pero pensemos en un ejemplo. 383 00:18:45,320 --> 00:18:49,230 Así que digamos que la probabilidad de tener "bebé" en una canción es la misma 384 00:18:49,230 --> 00:18:51,760 por Gaga y Britney Spears. 385 00:18:51,760 --> 00:18:54,950 Pero Britney Spears tiene dos veces más canciones que Lady Gaga. 386 00:18:54,950 --> 00:19:00,570 Así que si alguien te da justo al azar letra de "bebé", lo primero que 387 00:19:00,570 --> 00:19:04,710 mire, es decir, cuál es la probabilidad de tener "bebé" en una canción Gaga, "bebé" 388 00:19:04,710 --> 00:19:05,410 en una canción de Britney? 389 00:19:05,410 --> 00:19:06,460 Y es la misma cosa. 390 00:19:06,460 --> 00:19:10,040 >> Así que la segunda cosa que usted verá es, así, ¿cuál es la probabilidad de 391 00:19:10,040 --> 00:19:13,770 esta letra por sí misma ser una letra Gaga, y ¿cuál es la probabilidad de 392 00:19:13,770 --> 00:19:15,380 siendo una letra Britney? 393 00:19:15,380 --> 00:19:18,950 Así que desde que Britney tiene muchas más letras que Gaga, usted probablemente 394 00:19:18,950 --> 00:19:21,470 digamos, bueno, esto es probablemente una letra Britney. 395 00:19:21,470 --> 00:19:23,340 Así que es por eso que tenemos esta llamar aquí. 396 00:19:23,340 --> 00:19:24,670 Probabilidad de Gaga. 397 00:19:24,670 --> 00:19:26,950 Tiene sentido? 398 00:19:26,950 --> 00:19:28,660 ¿Lo hace? 399 00:19:28,660 --> 00:19:29,370 Aceptar. 400 00:19:29,370 --> 00:19:33,500 >> Y el último es la probabilidad de "bebé", que no 401 00:19:33,500 --> 00:19:34,810 Realmente importa tanto. 402 00:19:34,810 --> 00:19:39,940 Pero es la probabilidad de ver "bebé" en Inglés. 403 00:19:39,940 --> 00:19:42,725 Por lo general, no nos importa que mucho de ese término. 404 00:19:42,725 --> 00:19:44,490 ¿Eso tiene sentido? 405 00:19:44,490 --> 00:19:48,110 Por lo tanto la probabilidad de Gaga es llamado la probabilidad previa 406 00:19:48,110 --> 00:19:49,530 de la Gaga clase. 407 00:19:49,530 --> 00:19:53,840 Debido a que sólo significa que, lo que es lo probabilidad de tener esa clase - 408 00:19:53,840 --> 00:19:55,520 que es Gaga - 409 00:19:55,520 --> 00:19:59,350 sólo en general, sólo sin condiciones. 410 00:19:59,350 --> 00:20:02,560 >> Y luego cuando tengo probabilidad de Gaga dado "bebé", lo llamamos plus 411 00:20:02,560 --> 00:20:06,160 Teary una probabilidad porque es la probabilidad de tener 412 00:20:06,160 --> 00:20:08,300 Gaga da algunas pruebas. 413 00:20:08,300 --> 00:20:11,050 Así que te voy a dar la evidencia que vi la palabra bebé y 414 00:20:11,050 --> 00:20:12,690 la canción tiene sentido? 415 00:20:12,690 --> 00:20:15,960 416 00:20:15,960 --> 00:20:16,410 Aceptar. 417 00:20:16,410 --> 00:20:22,400 >> Así que si he calculado que por cada de las canciones de Lady Gaga, 418 00:20:22,400 --> 00:20:25,916 lo que sería - 419 00:20:25,916 --> 00:20:27,730 al parecer, no me puedo mover esto. 420 00:20:27,730 --> 00:20:31,850 421 00:20:31,850 --> 00:20:36,920 La probabilidad de Gaga será algo así como: 2 sobre 24, multiplicada por 1/2, 422 00:20:36,920 --> 00:20:38,260 más de 2 sobre 53. 423 00:20:38,260 --> 00:20:40,640 No importa si usted sabe lo que estos números están viniendo. 424 00:20:40,640 --> 00:20:44,750 Pero es sólo un número que se va para ser más que 0, ¿no? 425 00:20:44,750 --> 00:20:48,610 >> Y luego cuando lo hago Katy Perry, la probabilidad de "bebé" dada Katy es 426 00:20:48,610 --> 00:20:49,830 ya 0, ¿no? 427 00:20:49,830 --> 00:20:52,820 Debido a que no hay un "bebé" en Katy Perry. 428 00:20:52,820 --> 00:20:56,360 Entonces esto se convierte en 0, y Gaga victorias, lo que significa que Gaga es 429 00:20:56,360 --> 00:20:57,310 probablemente el cantante. 430 00:20:57,310 --> 00:20:58,560 ¿Eso tiene sentido? 431 00:20:58,560 --> 00:21:00,700 432 00:21:00,700 --> 00:21:01,950 Aceptar. 433 00:21:01,950 --> 00:21:04,160 434 00:21:04,160 --> 00:21:11,750 >> Así que si quiero hacer esto más oficial, De hecho, me puedo hacer un modelo 435 00:21:11,750 --> 00:21:12,700 de varias palabras. 436 00:21:12,700 --> 00:21:14,610 Así que vamos a decir que tengo algo como, "nena, yo soy 437 00:21:14,610 --> 00:21:16,030 en llamas ", o algo así. 438 00:21:16,030 --> 00:21:17,760 Por lo que tiene varias palabras. 439 00:21:17,760 --> 00:21:20,880 Y en este caso, se puede ver que "bebé" está en Gaga, 440 00:21:20,880 --> 00:21:21,710 pero no es en Katy. 441 00:21:21,710 --> 00:21:24,940 Y "fuego" se encuentra en Katy, pero no está en Gaga, ¿verdad? 442 00:21:24,940 --> 00:21:27,200 Así que cada vez es más complicado, ¿no? 443 00:21:27,200 --> 00:21:31,440 Porque parece que casi tener un lazo entre los dos. 444 00:21:31,440 --> 00:21:36,980 >> Así que lo que tienes que hacer es asumir independencia entre las palabras. 445 00:21:36,980 --> 00:21:41,210 Así que básicamente lo que eso significa es que Sólo estoy calculando cuál es el 446 00:21:41,210 --> 00:21:44,330 probabilidad de ver "bebé", lo que es la probabilidad de ver "yo", y 447 00:21:44,330 --> 00:21:46,670 "Am" y "on" y "fuego" todo por separado. 448 00:21:46,670 --> 00:21:48,670 Entonces estoy multiplicando todos ellos. 449 00:21:48,670 --> 00:21:52,420 Y estoy viendo cuál es la probabilidad de ver a toda la frase. 450 00:21:52,420 --> 00:21:55,210 Tiene sentido? 451 00:21:55,210 --> 00:22:00,270 >> Así que, básicamente, si tengo una sola palabra, lo que yo quiero saber es el arg max, 452 00:22:00,270 --> 00:22:05,385 lo que significa, lo que es la clase que es me da la mayor probabilidad? 453 00:22:05,385 --> 00:22:10,010 Entonces, ¿cuál es la clase que está dando me la probabilidad más alta de 454 00:22:10,010 --> 00:22:11,940 probabilidad de clase dada palabra. 455 00:22:11,940 --> 00:22:17,610 Así que en este caso, dado Gaga "bebé". O Katy dado "bebé". Tiene sentido? 456 00:22:17,610 --> 00:22:21,040 >> Y sólo de Bayes, que ecuación que le mostré, 457 00:22:21,040 --> 00:22:24,780 creamos esta fracción. 458 00:22:24,780 --> 00:22:28,750 La única cosa es que se ve que la probabilidad de la palabra dada la 459 00:22:28,750 --> 00:22:31,370 los cambios de clase en función en la clase, ¿verdad? 460 00:22:31,370 --> 00:22:34,260 El número de "baby" s que tengo en Gaga es diferente de Katy. 461 00:22:34,260 --> 00:22:37,640 La probabilidad de la clase también cambios, porque es sólo el número 462 00:22:37,640 --> 00:22:39,740 de canciones de cada uno de ellos tiene. 463 00:22:39,740 --> 00:22:43,980 >> Pero la probabilidad de que la palabra en sí va a ser la misma para todos los 464 00:22:43,980 --> 00:22:44,740 artistas, ¿no? 465 00:22:44,740 --> 00:22:47,150 Por lo tanto la probabilidad de la palabra es simplemente, cuál es la probabilidad de 466 00:22:47,150 --> 00:22:49,820 ver esa palabra en el Idioma Inglés? 467 00:22:49,820 --> 00:22:51,420 Así que es el mismo para todos ellos. 468 00:22:51,420 --> 00:22:55,790 Así que ya que esto es constante, podemos simplemente dejar esto y no se preocupan por él. 469 00:22:55,790 --> 00:23:00,230 Así que este será en realidad el ecuación que estamos buscando. 470 00:23:00,230 --> 00:23:03,360 >> Y si tengo varias palabras, estoy todavía va a tener la previa 471 00:23:03,360 --> 00:23:04,610 probabilidad aquí. 472 00:23:04,610 --> 00:23:06,980 La única cosa es que estoy multiplicando la probabilidad de 473 00:23:06,980 --> 00:23:08,490 todas las otras palabras. 474 00:23:08,490 --> 00:23:10,110 Así que estoy multiplicando todos ellos. 475 00:23:10,110 --> 00:23:12,610 Tiene sentido? 476 00:23:12,610 --> 00:23:18,440 Parece extraño, pero básicamente significa, calcular el prior de la clase, y 477 00:23:18,440 --> 00:23:22,100 luego multiplica por la probabilidad de cada de las palabras que están en esa clase. 478 00:23:22,100 --> 00:23:24,620 479 00:23:24,620 --> 00:23:29,150 >> Y usted sabe que la probabilidad de un palabra dada una clase va a ser la 480 00:23:29,150 --> 00:23:34,520 número de veces que usted ve esa palabra en esa clase, dividido por el número de 481 00:23:34,520 --> 00:23:37,020 palabras que tienen en ese de clases en general. 482 00:23:37,020 --> 00:23:37,990 Tiene sentido? 483 00:23:37,990 --> 00:23:41,680 Es sólo la forma "bebé" fue de 2 sobre el número de palabras que 484 00:23:41,680 --> 00:23:43,020 Tenía en las letras. 485 00:23:43,020 --> 00:23:45,130 Así que la frecuencia. 486 00:23:45,130 --> 00:23:46,260 >> Pero hay una cosa. 487 00:23:46,260 --> 00:23:51,250 Acuérdate que me estaba mostrando que la probabilidad de "baby" ser letras 488 00:23:51,250 --> 00:23:56,350 de Katy Perry de 0 sólo porque Katy Perry no tenía "bebé" en absoluto? 489 00:23:56,350 --> 00:24:04,900 Pero suena un poco duro a poco Simplemente dicen que las letras no pueden ser de 490 00:24:04,900 --> 00:24:10,040 un artista sólo porque no tienen esa palabra en particular en cualquier momento. 491 00:24:10,040 --> 00:24:13,330 >> Así que usted podría decir, bueno, si usted no tienen esta palabra, voy a 492 00:24:13,330 --> 00:24:15,640 darle una probabilidad más baja, pero estoy simplemente no va a 493 00:24:15,640 --> 00:24:17,420 darle 0 enseguida. 494 00:24:17,420 --> 00:24:21,040 Debido a que tal vez era algo así como: "Fuego, fuego, fuego, fuego", que es 495 00:24:21,040 --> 00:24:21,990 totalmente Katy Perry. 496 00:24:21,990 --> 00:24:26,060 Y luego, "bebé", y que sólo sirve para 0 enseguida porque había uno 497 00:24:26,060 --> 00:24:27,250 "Bebé". 498 00:24:27,250 --> 00:24:31,440 >> Así que básicamente lo que hacemos es algo llamada de Laplace de suavizado. 499 00:24:31,440 --> 00:24:36,260 Y esto sólo significa que estoy dando cierta probabilidad incluso a las palabras 500 00:24:36,260 --> 00:24:37,850 que no existen. 501 00:24:37,850 --> 00:24:43,170 Así que lo que hago es que cuando estoy el cálculo de este, siempre añado 1 a 502 00:24:43,170 --> 00:24:44,180 el numerador. 503 00:24:44,180 --> 00:24:48,060 Así que incluso si no existe la palabra, en este caso, si esto es 0, sigo siendo 504 00:24:48,060 --> 00:24:51,250 el cálculo de este como 1 sobre el número total de palabras. 505 00:24:51,250 --> 00:24:55,060 De lo contrario, me sale la cantidad de palabras Tengo y agrego 1. 506 00:24:55,060 --> 00:24:58,300 Así que estoy contando en ambos casos. 507 00:24:58,300 --> 00:25:00,430 Tiene sentido? 508 00:25:00,430 --> 00:25:03,060 >> Así que ahora vamos a hacer algo de código. 509 00:25:03,060 --> 00:25:06,440 Voy a tener que hacerlo muy rápido, pero es igual de importante que usted 510 00:25:06,440 --> 00:25:08,600 chicos entienden los conceptos. 511 00:25:08,600 --> 00:25:13,450 Así que lo que estamos tratando de hacer es exactamente la aplicación del presente 512 00:25:13,450 --> 00:25:14,330 Lo que acabo de decir - 513 00:25:14,330 --> 00:25:19,110 Quiero que pongas la letra de Lady Gaga y Katy Perry. 514 00:25:19,110 --> 00:25:22,980 Y el programa va a ser capaz de decir si estas nuevas letras son de Gaga 515 00:25:22,980 --> 00:25:24,170 o Katy Perry. 516 00:25:24,170 --> 00:25:25,800 Tiene sentido? 517 00:25:25,800 --> 00:25:27,530 Aceptar. 518 00:25:27,530 --> 00:25:30,710 >> Así que tengo este programa que voy llamar classify.py. 519 00:25:30,710 --> 00:25:31,970 Así que esto es Python. 520 00:25:31,970 --> 00:25:34,210 Es un nuevo lenguaje de programación. 521 00:25:34,210 --> 00:25:38,020 Es muy similar en algunos aspectos a C y PHP. 522 00:25:38,020 --> 00:25:43,180 Es similar, porque si quieres aprender Python después de conocer C, es 523 00:25:43,180 --> 00:25:46,270 Realmente no es mucho de un desafío sólo porque Python es mucho más fácil 524 00:25:46,270 --> 00:25:47,520 que C, primero de todo. 525 00:25:47,520 --> 00:25:49,370 Y un montón de cosas que ya están implementado para usted. 526 00:25:49,370 --> 00:25:56,820 Entonces, ¿cómo como PHP tiene funciones que ordenar una lista, o añadir algo 527 00:25:56,820 --> 00:25:58,780 a una matriz, o bla, bla, bla. 528 00:25:58,780 --> 00:26:00,690 Python tiene todos esos también. 529 00:26:00,690 --> 00:26:05,960 >> Así que sólo voy a explicar rápidamente cómo podríamos hacer la clasificación 530 00:26:05,960 --> 00:26:07,860 problema para aquí. 531 00:26:07,860 --> 00:26:13,230 Así que vamos a decir que en este caso, tengo letras de Gaga y Katy Perry. 532 00:26:13,230 --> 00:26:21,880 La manera que tengo esas letras es que la primera palabra de la letra es 533 00:26:21,880 --> 00:26:25,250 el nombre del artista, y el resto es la letra. 534 00:26:25,250 --> 00:26:29,470 Así que vamos a decir que tengo esta lista en los cuales el primero es letra de Gaga. 535 00:26:29,470 --> 00:26:31,930 Así que aquí estoy en el camino correcto. 536 00:26:31,930 --> 00:26:35,270 Y el siguiente es Katy, y sino que también tiene la letra. 537 00:26:35,270 --> 00:26:38,040 >> Así que así es como se declara una variable en Python. 538 00:26:38,040 --> 00:26:40,200 Usted no tiene que dar el tipo de datos. 539 00:26:40,200 --> 00:26:43,150 Usted acaba de escribir "letras" Algo así como en PHP. 540 00:26:43,150 --> 00:26:44,890 Tiene sentido? 541 00:26:44,890 --> 00:26:47,770 >> ¿Cuáles son las cosas que tengo que calcular para ser capaz de calcular la 542 00:26:47,770 --> 00:26:49,360 probabilidades? 543 00:26:49,360 --> 00:26:55,110 Tengo que calcular las "probabilidades a priori" de cada uno de los diferentes 544 00:26:55,110 --> 00:26:56,710 clases que tengo. 545 00:26:56,710 --> 00:27:06,680 Tengo que calcular los "traseros" o más o menos las probabilidades de 546 00:27:06,680 --> 00:27:12,150 cada una de las diferentes palabras que Yo puedo tener para cada artista. 547 00:27:12,150 --> 00:27:17,210 Así que dentro de Gaga, por ejemplo, voy tener una lista de las veces que veo 548 00:27:17,210 --> 00:27:19,250 cada una de las palabras. 549 00:27:19,250 --> 00:27:20,760 Tiene sentido? 550 00:27:20,760 --> 00:27:25,370 >> Y, por último, yo sólo voy a tener un lista llamada "palabras" que sólo va 551 00:27:25,370 --> 00:27:29,780 tener el número de palabras que tener para cada artista. 552 00:27:29,780 --> 00:27:33,760 Así que para Gaga, por ejemplo, cuando miro a la letra, yo había, creo, 24 553 00:27:33,760 --> 00:27:34,750 palabras en total. 554 00:27:34,750 --> 00:27:38,970 Así que esta lista es sólo va a tener Gaga 24, y Katy otro número. 555 00:27:38,970 --> 00:27:40,130 Tiene sentido? 556 00:27:40,130 --> 00:27:40,560 Aceptar. 557 00:27:40,560 --> 00:27:42,530 >> Así que ahora, en realidad, vamos a ir a la codificación. 558 00:27:42,530 --> 00:27:45,270 Así que en Python, en realidad se puede devolver un montón de diferentes 559 00:27:45,270 --> 00:27:46,630 cosas de una función. 560 00:27:46,630 --> 00:27:50,810 Así que yo voy a crear esta función llamada "condicional", que se va 561 00:27:50,810 --> 00:27:53,890 para devolver todas esas cosas, la "probabilidades a priori", los "probabilidades", y el 562 00:27:53,890 --> 00:28:05,690 "palabras". Así que "condicional", y que es va a poner en "letras". 563 00:28:05,690 --> 00:28:11,510 >> Así que ahora quiero que en realidad escribir esta función. 564 00:28:11,510 --> 00:28:17,750 Así que la forma en que yo puedo escribir esto función es que me acaba de definir esta 565 00:28:17,750 --> 00:28:20,620 funcionar con "def". Así que lo hice "def condicional ", y que está tomando 566 00:28:20,620 --> 00:28:28,700 "Letras". Y lo que esto va a hacer es, antes que nada, tengo mis priores 567 00:28:28,700 --> 00:28:31,030 que quiero calcular. 568 00:28:31,030 --> 00:28:34,330 >> Así que la forma en que yo puedo hacer esto es crear un diccionario en Python, que 569 00:28:34,330 --> 00:28:37,320 es más o menos lo mismo que un hash mesa, o que es un proceso iterativo 570 00:28:37,320 --> 00:28:40,480 matriz en PHP. 571 00:28:40,480 --> 00:28:44,150 Así es como me declaro un diccionario. 572 00:28:44,150 --> 00:28:53,580 Y básicamente lo que esto significa es que priores de Gaga es 0.5, por ejemplo, si 573 00:28:53,580 --> 00:28:57,200 50% de las letras son de Gaga, 50% son de Katy. 574 00:28:57,200 --> 00:28:58,450 Tiene sentido? 575 00:28:58,450 --> 00:29:00,680 576 00:29:00,680 --> 00:29:03,680 Así que tengo que encontrar la manera para calcular los priores. 577 00:29:03,680 --> 00:29:07,120 >> Los próximos los que tengo que hacer, también, son las probabilidades y las palabras. 578 00:29:07,120 --> 00:29:17,100 Así que las probabilidades de Gaga es la lista de todas las probabilidades de que yo 579 00:29:17,100 --> 00:29:19,160 tener para cada una de las palabras para Gaga. 580 00:29:19,160 --> 00:29:23,880 Así que si me voy a las probabilidades de Gaga "Bebé", por ejemplo, me dará 581 00:29:23,880 --> 00:29:28,750 algo así como 2 sobre 24 en este caso. 582 00:29:28,750 --> 00:29:30,070 Tiene sentido? 583 00:29:30,070 --> 00:29:36,120 Así que me voy a "probabilidades", vaya a la Cubo "Gaga" que tiene una lista de todos los 584 00:29:36,120 --> 00:29:40,550 las palabras Gaga, entonces me van a "bebé" y veo la probabilidad. 585 00:29:40,550 --> 00:29:45,940 >> Y finalmente tengo este Diccionario "palabras". 586 00:29:45,940 --> 00:29:53,620 Así que aquí, "las probabilidades". Y luego "palabras". Así que si lo hago "palabras", "Gaga" 587 00:29:53,620 --> 00:29:58,330 lo que va a suceder es que se trata de me va a dar 24, diciendo que 588 00:29:58,330 --> 00:30:01,990 tener 24 palabras en las canciones de Gaga. 589 00:30:01,990 --> 00:30:04,110 Tiene sentido? 590 00:30:04,110 --> 00:30:07,070 Así que aquí, "palabras" es igual a dah-dah-dah. 591 00:30:07,070 --> 00:30:07,620 Bueno 592 00:30:07,620 --> 00:30:12,210 >> Así que lo que voy a hacer es que voy a iterar sobre cada una de las letras, de modo 593 00:30:12,210 --> 00:30:14,490 cada una de las cadenas que Tengo en la lista. 594 00:30:14,490 --> 00:30:18,040 Y yo voy a calcular esas cosas para cada uno de los candidatos. 595 00:30:18,040 --> 00:30:19,950 Tiene sentido? 596 00:30:19,950 --> 00:30:21,700 Así que tengo que hacer un bucle for. 597 00:30:21,700 --> 00:30:26,300 >> Así que en Python lo que puedo hacer es "para la línea en letras. "El mismo que un 598 00:30:26,300 --> 00:30:28,000 "Para cada" declaración en PHP. 599 00:30:28,000 --> 00:30:33,420 ¿Recuerdas si fue PHP pude decir "por cada letra como 600 00:30:33,420 --> 00:30:35,220 la línea. "Tiene sentido? 601 00:30:35,220 --> 00:30:38,900 Así que me voy a llevar cada una de las líneas, en este caso, esta cadena y la próxima 602 00:30:38,900 --> 00:30:44,540 cadena por lo que para cada una de las líneas de lo que estoy vamos a hacer es en primer lugar, voy a 603 00:30:44,540 --> 00:30:49,150 dividir esta línea en una lista de palabras separadas por espacios. 604 00:30:49,150 --> 00:30:53,730 >> Así que lo bueno de Python es que usted podría simplemente Google como "¿Cómo puedo 605 00:30:53,730 --> 00:30:58,220 dividir una cadena en palabras? "Y es voy a decir cómo hacerlo. 606 00:30:58,220 --> 00:31:04,890 Y la manera de hacerlo, es sólo "la línea = Linea.split () "y es básicamente 607 00:31:04,890 --> 00:31:08,640 voy a dar una lista con cada una de las palabras aquí. 608 00:31:08,640 --> 00:31:09,620 Tiene sentido? 609 00:31:09,620 --> 00:31:15,870 Así que ahora que lo hice yo quiero saber quien es el cantante de la canción. 610 00:31:15,870 --> 00:31:20,130 Y para hacer eso tengo que conseguir el primer elemento de la matriz, ¿no? 611 00:31:20,130 --> 00:31:26,390 Así que sólo puedo decir que "cantante = Línea (0) "Tiene sentido? 612 00:31:26,390 --> 00:31:32,010 >> Y entonces, ¿qué tengo que hacer es, en primer lugar todo, voy a actualizar el número de 613 00:31:32,010 --> 00:31:36,130 palabras que tienen bajo "Gaga". así que estoy va a calcular el número de palabras que 614 00:31:36,130 --> 00:31:38,690 tener en esta lista, ¿verdad? 615 00:31:38,690 --> 00:31:41,910 Debido a que este es el número de palabras que tengo en la letra y yo sólo voy a 616 00:31:41,910 --> 00:31:44,120 añadirlo a la matriz "Gaga". 617 00:31:44,120 --> 00:31:47,090 ¿Eso tiene sentido? 618 00:31:47,090 --> 00:31:49,010 No se concentre demasiado en la sintaxis. 619 00:31:49,010 --> 00:31:50,430 Piensa más en los conceptos. 620 00:31:50,430 --> 00:31:52,400 Esa es la parte más importante. 621 00:31:52,400 --> 00:31:52,720 Aceptar. 622 00:31:52,720 --> 00:32:00,260 >> Así que lo que puedo hacer es si "Gaga" es Ya en esa lista, por lo que "si el cantante en 623 00:32:00,260 --> 00:32:03,190 palabras "lo que significa que ya tener palabras de Gaga. 624 00:32:03,190 --> 00:32:06,640 Sólo quiero añadir el adicional palabras a eso. 625 00:32:06,640 --> 00:32:15,810 Así que lo que hago es "palabras (cantante) + = Len (line) - 1 ". 626 00:32:15,810 --> 00:32:18,250 Y entonces yo puedo hacer lo longitud de la línea. 627 00:32:18,250 --> 00:32:21,860 Así que el número de elementos de I tener en la matriz. 628 00:32:21,860 --> 00:32:27,060 Y tengo que hacer menos 1 sólo porque el primer elemento de la matriz es sólo 629 00:32:27,060 --> 00:32:29,180 un cantante y los que no son letras. 630 00:32:29,180 --> 00:32:31,420 Tiene sentido? 631 00:32:31,420 --> 00:32:32,780 Aceptar. 632 00:32:32,780 --> 00:32:35,820 >> "De otro modo," que significa que quiero en realidad inserte Gaga en la lista. 633 00:32:35,820 --> 00:32:45,990 Así que acabo de hacer "las palabras (cantante) = Len (line) - 1 ", lo siento. 634 00:32:45,990 --> 00:32:49,200 Así que la única diferencia entre los dos líneas es que éste, no es así 635 00:32:49,200 --> 00:32:51,080 todavía existo, así que estoy inicializarlo. 636 00:32:51,080 --> 00:32:53,820 Esta realidad estoy agregando. 637 00:32:53,820 --> 00:32:55,570 Aceptar. 638 00:32:55,570 --> 00:32:59,480 Así que esto se suma a las palabras. 639 00:32:59,480 --> 00:33:03,040 >> Ahora quiero añadir a los priores. 640 00:33:03,040 --> 00:33:05,480 Entonces, ¿cómo puedo calcular los antecedentes? 641 00:33:05,480 --> 00:33:11,580 Los priores se pueden calcular por la cantidad de veces. 642 00:33:11,580 --> 00:33:15,340 Entonces, ¿cuántas veces se ve que la cantante entre todos los cantantes que le 643 00:33:15,340 --> 00:33:16,380 tener, ¿no? 644 00:33:16,380 --> 00:33:18,810 Así que por Gaga y Katy Perry, en este caso, no veo Gaga 645 00:33:18,810 --> 00:33:20,570 una vez, Katy Perry una vez. 646 00:33:20,570 --> 00:33:23,320 >> Así que, básicamente, los priores de Gaga y para Katy Perry haría 647 00:33:23,320 --> 00:33:24,390 sólo uno, ¿verdad? 648 00:33:24,390 --> 00:33:26,500 Sólo el número de veces Veo el artista. 649 00:33:26,500 --> 00:33:28,740 Así que esto es muy fácil de calcular. 650 00:33:28,740 --> 00:33:34,100 Puedo sólo algo similar a como "si cantante en priores, "sólo voy 651 00:33:34,100 --> 00:33:38,970 añadir 1 a su cuadro de antecedentes. 652 00:33:38,970 --> 00:33:51,000 Por lo tanto, "priores (cantar)" + = 1 "y luego" si no " Yo voy a hacer "probabilidades a priori (cantante) 653 00:33:51,000 --> 00:33:55,000 = 1 ". Tiene sentido? 654 00:33:55,000 --> 00:34:00,080 >> Así que si no existe Acabo de poner como 1, de lo contrario Acabo de añadir 1. 655 00:34:00,080 --> 00:34:11,280 OK, así que ahora lo único que me queda por hacer También es agregar cada una de las palabras a la 656 00:34:11,280 --> 00:34:12,290 probabilidades. 657 00:34:12,290 --> 00:34:14,889 Así que tengo que contar cuántas veces Veo cada una de las palabras. 658 00:34:14,889 --> 00:34:18,780 Así que sólo tengo que hacer otra bucle en la línea. 659 00:34:18,780 --> 00:34:25,190 >> Así que lo primero que voy a hacer es comprobar si el cantante ya tiene una 660 00:34:25,190 --> 00:34:26,969 probabilidades matriz. 661 00:34:26,969 --> 00:34:31,739 Así que estoy comprobando si el cantante no tiene una matriz de probabilidades, yo sólo soy 662 00:34:31,739 --> 00:34:34,480 va a inicializar una para ellos. 663 00:34:34,480 --> 00:34:36,400 Ni siquiera es una matriz, lo siento, se trata de un diccionario. 664 00:34:36,400 --> 00:34:43,080 Así que las probabilidades de que el cantante se va ser un diccionario, así que estoy 665 00:34:43,080 --> 00:34:45,830 simplemente inicializar un diccionario para ello. 666 00:34:45,830 --> 00:34:46,820 ¿De acuerdo? 667 00:34:46,820 --> 00:34:58,330 >> Y ahora puedo realmente hacer un bucle para el cálculo de cada una de las palabras ' 668 00:34:58,330 --> 00:35:00,604 probabilidades. 669 00:35:00,604 --> 00:35:01,540 Aceptar. 670 00:35:01,540 --> 00:35:04,160 Así que lo que puedo hacer es un bucle for. 671 00:35:04,160 --> 00:35:06,590 Así que sólo voy a repetir sobre la matriz. 672 00:35:06,590 --> 00:35:15,320 Así que la forma en que yo puedo hacer eso en Python es "for i in range". A partir del 1 673 00:35:15,320 --> 00:35:19,200 porque quiero empezar en el segundo elemento porque el primero es el 674 00:35:19,200 --> 00:35:20,260 Nombre del cantante. 675 00:35:20,260 --> 00:35:24,990 Así que desde uno hasta el longitud de la línea. 676 00:35:24,990 --> 00:35:29,760 Y cuando lo hago rango que realmente van desde como aquí del 1 al len del 677 00:35:29,760 --> 00:35:30,740 menos la línea 1. 678 00:35:30,740 --> 00:35:33,810 Así que ya lo hace eso de hacer n menos 1 para las matrices que es muy 679 00:35:33,810 --> 00:35:35,500 conveniente. 680 00:35:35,500 --> 00:35:37,850 Tiene sentido? 681 00:35:37,850 --> 00:35:42,770 >> Así que para cada uno de ellos, lo que voy a hacer es, al igual que en el otro, 682 00:35:42,770 --> 00:35:50,320 Voy a comprobar si la palabra en este posición en la línea ya está en 683 00:35:50,320 --> 00:35:51,570 probabilidades. 684 00:35:51,570 --> 00:35:53,400 685 00:35:53,400 --> 00:35:57,260 Y luego, como ya he dicho aquí, las probabilidades Es decir, como en puse 686 00:35:57,260 --> 00:35:58,400 "probabilidades (cantante)". 687 00:35:58,400 --> 00:35:59,390 Así que el nombre de la cantante. 688 00:35:59,390 --> 00:36:03,450 Así que si ya está en "Probabilit (cantante)", significa que 689 00:36:03,450 --> 00:36:11,960 Quiero añadir 1 a la misma, por lo que voy a hacer "probabilidades (cantante)", y la 690 00:36:11,960 --> 00:36:14,100 palabra se llama "línea (i)". 691 00:36:14,100 --> 00:36:22,630 Voy a añadir 1 y "si no" yo sólo soy va a inicializar a 1. 692 00:36:22,630 --> 00:36:23,880 "Línea (i)". 693 00:36:23,880 --> 00:36:26,920 694 00:36:26,920 --> 00:36:28,420 Tiene sentido? 695 00:36:28,420 --> 00:36:30,180 >> Por lo tanto, calculé todos los arrays. 696 00:36:30,180 --> 00:36:36,580 Así pues, ahora todo lo que tengo que hacer para éste es sólo "volver priores, 697 00:36:36,580 --> 00:36:43,230 probabilidades y palabras. "vamos a ver si hay alguno, en Aceptar. 698 00:36:43,230 --> 00:36:45,690 Parece que todo está trabajando hasta ahora. 699 00:36:45,690 --> 00:36:46,900 Por lo tanto, eso tiene sentido? 700 00:36:46,900 --> 00:36:47,750 De alguna manera? 701 00:36:47,750 --> 00:36:49,280 Aceptar. 702 00:36:49,280 --> 00:36:51,980 Así que ahora tengo todas las probabilidades. 703 00:36:51,980 --> 00:36:55,100 Así que ahora lo único que me queda es sólo para tener esa cosa que 704 00:36:55,100 --> 00:36:58,650 calcula el producto de todos los probabilidades cuando llegue la letra. 705 00:36:58,650 --> 00:37:06,270 >> Así que digamos que yo quiero llamar ahora esta función "clasificar ()" y la 706 00:37:06,270 --> 00:37:08,880 cosa que la función de toma es sólo un argumento. 707 00:37:08,880 --> 00:37:13,170 Digamos que "Baby, estoy en llamas" y es va a averiguar lo que es la 708 00:37:13,170 --> 00:37:14,490 probabilidad de que este es Gaga? 709 00:37:14,490 --> 00:37:16,405 ¿Cuál es la probabilidad que este es Katie? 710 00:37:16,405 --> 00:37:19,690 Suena bien? 711 00:37:19,690 --> 00:37:25,750 Así que sólo voy a tener que crear un nueva función llamada "clasificar ()" y 712 00:37:25,750 --> 00:37:29,180 que va a tomar algún letras también. 713 00:37:29,180 --> 00:37:31,790 714 00:37:31,790 --> 00:37:36,160 Y además de las letras que también debe enviar los antecedentes, la 715 00:37:36,160 --> 00:37:37,700 probabilidades y las palabras. 716 00:37:37,700 --> 00:37:44,000 Así que voy a enviar letras, priores, probabilidades, palabras. 717 00:37:44,000 --> 00:37:51,840 >> Así que esto está tomando letras, priores, probabilidades, palabras. 718 00:37:51,840 --> 00:37:53,530 Entonces, ¿qué hace? 719 00:37:53,530 --> 00:37:57,180 Es, básicamente, va a pasar por todo los posibles candidatos que se 720 00:37:57,180 --> 00:37:58,510 tener como cantante. 721 00:37:58,510 --> 00:37:59,425 ¿Y dónde están los candidatos? 722 00:37:59,425 --> 00:38:01,020 Están en los priores, ¿verdad? 723 00:38:01,020 --> 00:38:02,710 Así que tengo todos los que estaban allí. 724 00:38:02,710 --> 00:38:07,870 Así que voy a tener un diccionario de todos los posibles candidatos. 725 00:38:07,870 --> 00:38:14,220 Y a continuación, para cada candidato en la priores, por lo que significa que se va a 726 00:38:14,220 --> 00:38:17,740 ser Gaga, Katie si tuviera más sería más. 727 00:38:17,740 --> 00:38:20,410 Voy a empezar a calcular esta probabilidad. 728 00:38:20,410 --> 00:38:28,310 La probabilidad como hemos visto en el PowerPoint es los tiempos anteriores la 729 00:38:28,310 --> 00:38:30,800 producto de cada uno de los otras probabilidades. 730 00:38:30,800 --> 00:38:32,520 >> Así que yo puedo hacer lo mismo aquí. 731 00:38:32,520 --> 00:38:36,330 Yo sólo puedo hacer probabilidad es inicialmente sólo el anterior. 732 00:38:36,330 --> 00:38:40,340 Así priores del candidato. 733 00:38:40,340 --> 00:38:40,870 ¿Cierto? 734 00:38:40,870 --> 00:38:45,360 Y ahora tengo que iterar sobre todos los palabras que tengo en las letras para ser 735 00:38:45,360 --> 00:38:48,820 capaz de añadir la probabilidad para cada uno de ellos, ¿de acuerdo? 736 00:38:48,820 --> 00:38:57,900 Así, "por palabra en letras" lo que voy que hacer es, si la palabra está en 737 00:38:57,900 --> 00:39:01,640 "probabilidades (candidatos)", que significa que es una palabra que el 738 00:39:01,640 --> 00:39:03,640 candidato tiene en sus letras - 739 00:39:03,640 --> 00:39:05,940 por ejemplo, "bebé" de Gaga - 740 00:39:05,940 --> 00:39:11,710 lo que voy a hacer es que el probabilidad va a ser multiplicado 741 00:39:11,710 --> 00:39:22,420 por 1 más las probabilidades de el candidato a esa palabra. 742 00:39:22,420 --> 00:39:25,710 Y se llama "palabra". 743 00:39:25,710 --> 00:39:32,440 Esta dividido por el número de palabras que tengo por ese candidato. 744 00:39:32,440 --> 00:39:37,450 El número total de palabras que tengo para el cantante que estoy mirando. 745 00:39:37,450 --> 00:39:40,290 >> "De otro modo". significa que es una nueva palabra por lo que sería como, por ejemplo, 746 00:39:40,290 --> 00:39:41,860 "Fuego" de Lady Gaga. 747 00:39:41,860 --> 00:39:45,760 Así que sólo quiero hacer más de 1 "Palabra (candidato)". 748 00:39:45,760 --> 00:39:47,710 Así que no quiero poner este término aquí. 749 00:39:47,710 --> 00:39:50,010 >> Así que va a ser, básicamente, copiar y pegar este. 750 00:39:50,010 --> 00:39:54,380 751 00:39:54,380 --> 00:39:56,000 Pero yo voy a borrar esta parte. 752 00:39:56,000 --> 00:39:57,610 Así que es sólo va a ser 1 más de eso. 753 00:39:57,610 --> 00:40:00,900 754 00:40:00,900 --> 00:40:02,150 Suena bien? 755 00:40:02,150 --> 00:40:03,980 756 00:40:03,980 --> 00:40:09,700 Y ahora, al final, yo sólo voy a imprimir el nombre del candidato y 757 00:40:09,700 --> 00:40:15,750 la probabilidad de que usted tiene de teniendo el S en sus letras. 758 00:40:15,750 --> 00:40:16,200 Tiene sentido? 759 00:40:16,200 --> 00:40:18,390 Y yo realmente hago ni siquiera Necesitará este diccionario. 760 00:40:18,390 --> 00:40:19,510 Tiene sentido? 761 00:40:19,510 --> 00:40:21,810 >> Por lo tanto, vamos a ver si esto realmente funciona. 762 00:40:21,810 --> 00:40:24,880 Así que si ejecuto esto, no funcionó. 763 00:40:24,880 --> 00:40:26,130 Espere un segundo. 764 00:40:26,130 --> 00:40:28,870 765 00:40:28,870 --> 00:40:31,720 "Palabras (candidatos)", "palabras (candidatos)", eso es 766 00:40:31,720 --> 00:40:33,750 el nombre de la matriz. 767 00:40:33,750 --> 00:40:41,435 Aceptar lo tanto, se dice que hay algún error para el candidato en antecedentes. 768 00:40:41,435 --> 00:40:46,300 769 00:40:46,300 --> 00:40:48,760 Permítanme simplemente relajarse un poco. 770 00:40:48,760 --> 00:40:50,360 Aceptar. 771 00:40:50,360 --> 00:40:51,305 Vamos a tratar. 772 00:40:51,305 --> 00:40:51,720 Aceptar. 773 00:40:51,720 --> 00:40:58,710 >> Así que da Katy Perry tiene esta probabilidad de que esto veces 10 a la 774 00:40:58,710 --> 00:41:02,200 menos 7, y Gaga tiene este veces 10 a la menos 6. 775 00:41:02,200 --> 00:41:05,610 Así que ya ves que demuestra que Gaga tiene una probabilidad más alta. 776 00:41:05,610 --> 00:41:09,260 Así que "Cariño, estoy en llamas" se probablemente una canción de Gaga. 777 00:41:09,260 --> 00:41:10,580 Tiene sentido? 778 00:41:10,580 --> 00:41:12,030 Así que esto es lo que hicimos. 779 00:41:12,030 --> 00:41:16,010 >> Este código va a ser publicado en Internet, así que ustedes pueden comprobarlo. 780 00:41:16,010 --> 00:41:20,720 Tal vez usar una parte para si quieres hacer un proyecto o algo similar. 781 00:41:20,720 --> 00:41:22,150 Aceptar. 782 00:41:22,150 --> 00:41:25,930 Esto fue sólo para mostrar lo computacional 783 00:41:25,930 --> 00:41:27,230 código de la lingüística se parece. 784 00:41:27,230 --> 00:41:33,040 Pero ahora vamos a ir a más cosas de alto nivel. 785 00:41:33,040 --> 00:41:33,340 Aceptar. 786 00:41:33,340 --> 00:41:35,150 >> Así que los otros problemas que estaba hablando - 787 00:41:35,150 --> 00:41:37,550 el problema de la segmentación es el primero de ellos. 788 00:41:37,550 --> 00:41:40,820 Así que tienes aquí japonés. 789 00:41:40,820 --> 00:41:43,420 Y entonces se ve que no hay espacios. 790 00:41:43,420 --> 00:41:49,110 Así que esto es básicamente significa que es la parte superior de la silla, ¿no? 791 00:41:49,110 --> 00:41:50,550 Hablas japonés? 792 00:41:50,550 --> 00:41:52,840 Es la parte superior de la silla, ¿no? 793 00:41:52,840 --> 00:41:54,480 >> ESTUDIANTE: No sé lo que el kanji de allí es. 794 00:41:54,480 --> 00:41:57,010 >> LUCAS FREITAS: Es [habla japonesa] 795 00:41:57,010 --> 00:41:57,950 Aceptar. 796 00:41:57,950 --> 00:42:00,960 Así que, básicamente, significa que la silla de la parte superior. 797 00:42:00,960 --> 00:42:03,620 Así que si tuviera que poner un espacio sería aquí. 798 00:42:03,620 --> 00:42:05,970 Y entonces usted tiene [? Ueda-san. ?] 799 00:42:05,970 --> 00:42:09,040 Lo que básicamente significa señor Ueda. 800 00:42:09,040 --> 00:42:13,180 Y puedes ver que "Ueda" y tiene una espacio y luego "san". Así que ya ves que 801 00:42:13,180 --> 00:42:15,470 aquí "Ue" es como por sí mismo. 802 00:42:15,470 --> 00:42:17,750 Y aquí tiene un carácter al lado de él. 803 00:42:17,750 --> 00:42:21,720 >> Así que no es como en esos idiomas personajes que significa una palabra, por lo que 804 00:42:21,720 --> 00:42:23,980 sólo hay que poner un montón de espacios. 805 00:42:23,980 --> 00:42:25,500 Caracteres se relacionan entre sí. 806 00:42:25,500 --> 00:42:28,680 Y pueden estar juntos como dos, tres, uno. 807 00:42:28,680 --> 00:42:34,520 Así que usted realmente tiene que crear algún tipo de manera de poner esos espacios. 808 00:42:34,520 --> 00:42:38,850 >> Y esto es que cada vez que reciba datos de esos idiomas asiáticos, 809 00:42:38,850 --> 00:42:40,580 todo viene no segmentado. 810 00:42:40,580 --> 00:42:45,940 Porque nadie que escribe japonés o el chino se escribe con espacios. 811 00:42:45,940 --> 00:42:48,200 Cada vez que usted está escribiendo china, Japonés que acaba de escribir todo lo que 812 00:42:48,200 --> 00:42:48,710 sin espacios. 813 00:42:48,710 --> 00:42:52,060 Incluso no tiene sentido poner espacios. 814 00:42:52,060 --> 00:42:57,960 Así que cuando llegue a los datos de algunos Idioma de Asia oriental, si quiere 815 00:42:57,960 --> 00:43:00,760 realmente hacer algo con eso usted tiene que primer segmento. 816 00:43:00,760 --> 00:43:05,130 >> Piense en hacer el ejemplo de las letras sin espacios. 817 00:43:05,130 --> 00:43:07,950 Así que las únicas letras que tienes será frases, ¿verdad? 818 00:43:07,950 --> 00:43:09,470 Separados por puntos. 819 00:43:09,470 --> 00:43:13,930 Pero luego tener sólo la frase se no es realmente ayudar a dar información 820 00:43:13,930 --> 00:43:17,760 de que esas letras son en. 821 00:43:17,760 --> 00:43:18,120 ¿Cierto? 822 00:43:18,120 --> 00:43:20,010 Así que usted debe primero pone espacios. 823 00:43:20,010 --> 00:43:21,990 Entonces, ¿cómo puede usted hacer eso? 824 00:43:21,990 --> 00:43:24,920 >> Entonces viene la idea de un lenguaje modelo que es algo realmente 825 00:43:24,920 --> 00:43:26,870 importante para computacional la lingüística. 826 00:43:26,870 --> 00:43:32,790 Por lo que un modelo de lenguaje es básicamente un tabla de probabilidades que los programas de 827 00:43:32,790 --> 00:43:36,260 en primer lugar, cuál es la probabilidad de tener la palabra en un idioma? 828 00:43:36,260 --> 00:43:39,590 Así muestra la frecuencia con una palabra es. 829 00:43:39,590 --> 00:43:43,130 Y a continuación también muestra la relación entre las palabras en una oración. 830 00:43:43,130 --> 00:43:51,500 >> Así que la idea principal es que, si se produjo un extraño a ti y dijo una frase para 831 00:43:51,500 --> 00:43:55,600 usted, ¿cuál es la probabilidad de que, por ejemplo, "esta es mi hermana [? GTF"?] 832 00:43:55,600 --> 00:43:57,480 fue la frase que dijo la persona? 833 00:43:57,480 --> 00:44:00,380 Así que, obviamente, algunas frases son más comunes que otros. 834 00:44:00,380 --> 00:44:04,450 Por ejemplo, "buenos días" o "buenas noche ", o" Hola, "es mucho más 835 00:44:04,450 --> 00:44:08,260 común que la mayoría de las sentencias que tenemos un Inglés. 836 00:44:08,260 --> 00:44:11,060 ¿Por qué son esas frases con mayor frecuencia? 837 00:44:11,060 --> 00:44:14,060 >> En primer lugar, es porque usted tiene palabras que son más frecuentes. 838 00:44:14,060 --> 00:44:20,180 Así, por ejemplo, si usted dice que el perro es grande, y el perro es gigantesca, que 839 00:44:20,180 --> 00:44:23,880 por lo general, probablemente oír el perro es grande más a menudo porque "grande" es más 840 00:44:23,880 --> 00:44:27,260 frecuente en Inglés de "gigantesco". Así, uno de los 841 00:44:27,260 --> 00:44:30,100 cosas es la frecuencia de la palabra. 842 00:44:30,100 --> 00:44:34,490 >> La segunda cosa que es realmente importante es sólo el 843 00:44:34,490 --> 00:44:35,490 orden de las palabras. 844 00:44:35,490 --> 00:44:39,500 Así, es común decir "el gato está dentro de la caja. "pero no suelen 845 00:44:39,500 --> 00:44:44,250 ver en "El cuadro interior es el gato." así ves que hay algo de importancia 846 00:44:44,250 --> 00:44:46,030 en el orden de las palabras. 847 00:44:46,030 --> 00:44:50,160 No se puede simplemente decir que esos dos frases tienen la misma probabilidad 848 00:44:50,160 --> 00:44:53,010 sólo porque tienen las mismas palabras. 849 00:44:53,010 --> 00:44:55,550 Usted realmente tiene que cuidar sobre el orden también. 850 00:44:55,550 --> 00:44:57,650 Tiene sentido? 851 00:44:57,650 --> 00:44:59,490 >> Entonces, ¿qué hacemos? 852 00:44:59,490 --> 00:45:01,550 Así que lo que yo podría tratar de conseguir que? 853 00:45:01,550 --> 00:45:04,400 Estoy tratando de conseguir lo que llamar a los modelos n-gram. 854 00:45:04,400 --> 00:45:09,095 Así modelos de n-gram básicamente asumen que para cada palabra que 855 00:45:09,095 --> 00:45:10,960 que tiene en una frase. 856 00:45:10,960 --> 00:45:15,020 Es la probabilidad de tener que palabra no depende no sólo de la 857 00:45:15,020 --> 00:45:18,395 frecuencia de esa palabra en el idioma, pero también en las palabras que 858 00:45:18,395 --> 00:45:19,860 se rodea. 859 00:45:19,860 --> 00:45:25,810 >> Así, por ejemplo, por lo general cuando se ve algo así como el o por lo que eres 860 00:45:25,810 --> 00:45:28,040 probablemente va a ver una sustantivo después de ella, ¿verdad? 861 00:45:28,040 --> 00:45:31,750 Porque cuando usted tiene una preposición por lo general se necesita un nombre después de él. 862 00:45:31,750 --> 00:45:35,540 O si usted tiene un verbo que es transitiva por lo general, va a 863 00:45:35,540 --> 00:45:36,630 tener un sintagma nominal. 864 00:45:36,630 --> 00:45:38,780 Por lo tanto, va a tener un nombre en algún lugar alrededor de ella. 865 00:45:38,780 --> 00:45:44,950 >> Así que, básicamente, lo que hace es que considera la probabilidad de tener 866 00:45:44,950 --> 00:45:47,960 palabras uno junto al otro, cuando usted está calculando la 867 00:45:47,960 --> 00:45:49,050 probabilidad de una condena. 868 00:45:49,050 --> 00:45:50,960 Y eso es lo que es un idioma modelo es básicamente. 869 00:45:50,960 --> 00:45:54,620 Simplemente decir cuál es la probabilidad de tener una específica 870 00:45:54,620 --> 00:45:57,120 frase en un idioma? 871 00:45:57,120 --> 00:45:59,110 Así que ¿por qué es tan útil, básicamente? 872 00:45:59,110 --> 00:46:02,390 Y en primer lugar lo que es un modelo de n-gramas, entonces? 873 00:46:02,390 --> 00:46:08,850 >> Así que significa un modelo de n-gramas que cada palabra depende de la 874 00:46:08,850 --> 00:46:12,700 siguiente N menos 1 palabras. 875 00:46:12,700 --> 00:46:18,150 Así que, básicamente, significa que si miro, Por ejemplo, en el TF CS50 cuando 876 00:46:18,150 --> 00:46:21,500 Estoy cálculo de la probabilidad de la sentencia, que será como "la 877 00:46:21,500 --> 00:46:25,280 probabilidad de tener la palabra "the" veces la probabilidad de tener "la 878 00:46:25,280 --> 00:46:31,720 CS50 veces "la probabilidad de tener "El TF CS50." Así que, básicamente, cuento 879 00:46:31,720 --> 00:46:35,720 todas las formas posibles de estirarla. 880 00:46:35,720 --> 00:46:41,870 >> Y luego, por lo general cuando usted está haciendo esto, como en un proyecto, se pone N sea 881 00:46:41,870 --> 00:46:42,600 un valor bajo. 882 00:46:42,600 --> 00:46:45,930 Así que, por lo general tienen bigramas o trigramas. 883 00:46:45,930 --> 00:46:51,090 Así que acaba de contar dos palabras, una grupo de dos palabras o tres palabras, 884 00:46:51,090 --> 00:46:52,620 sólo por los problemas de rendimiento. 885 00:46:52,620 --> 00:46:56,395 Y también porque a lo mejor si tiene algo así como "La TF CS50." Cuando 886 00:46:56,395 --> 00:47:00,510 tiene "TF", que es muy importante que "CS50" está al lado de ella, ¿verdad? 887 00:47:00,510 --> 00:47:04,050 Esas dos cosas son por lo general uno junto al otro. 888 00:47:04,050 --> 00:47:06,410 >> Si usted piensa en "TF", que es probablemente va a tener lo que 889 00:47:06,410 --> 00:47:07,890 clase está TF'ing para. 890 00:47:07,890 --> 00:47:11,330 También "la" es realmente importante para TF CS50. 891 00:47:11,330 --> 00:47:14,570 Pero si usted tiene algo así como "El CS50 TF fue a clase y dio su 892 00:47:14,570 --> 00:47:20,060 estudiantes un poco de caramelo. "" Candy "y" el " no tener relación de verdad, ¿no? 893 00:47:20,060 --> 00:47:23,670 Son tan distantes entre sí que en realidad no importa lo que 894 00:47:23,670 --> 00:47:25,050 palabras que tienen. 895 00:47:25,050 --> 00:47:31,210 >> Así que haciendo un bigram o un trigrama, se simplemente significa que usted está limitando 896 00:47:31,210 --> 00:47:33,430 usted mismo a algunas palabras que están alrededor. 897 00:47:33,430 --> 00:47:35,810 Tiene sentido? 898 00:47:35,810 --> 00:47:40,630 Así que cuando usted quiere hacer la segmentación, básicamente, lo que quieres hacer es ver 899 00:47:40,630 --> 00:47:44,850 ¿Cuáles son todas las formas posibles que usted puede la frase segmento. 900 00:47:44,850 --> 00:47:49,090 >> De tal manera que usted ve lo que es el probabilidad de que cada una de esas frases 901 00:47:49,090 --> 00:47:50,880 existente en el idioma? 902 00:47:50,880 --> 00:47:53,410 Así que lo que haces es como, bueno, vamos a yo trato de poner un espacio aquí. 903 00:47:53,410 --> 00:47:55,570 Así se pone un espacio no y ves lo que es la 904 00:47:55,570 --> 00:47:57,590 probabilidad de que la sentencia? 905 00:47:57,590 --> 00:48:00,240 Entonces usted es como, OK, tal vez que no era tan bueno. 906 00:48:00,240 --> 00:48:03,420 Así que puse un espacio allí y un espacio allí, y se calcula el 907 00:48:03,420 --> 00:48:06,240 probabilidad de ahora, y usted verá que que es una probabilidad más alta. 908 00:48:06,240 --> 00:48:12,160 >> Así que este es un algoritmo llamado TANGO algoritmo de segmentación, que es 909 00:48:12,160 --> 00:48:14,990 en realidad algo que sería muy fresco para un proyecto, que 910 00:48:14,990 --> 00:48:20,860 básicamente toma el texto no segmentado que puede ser japonés o chino o quizás 911 00:48:20,860 --> 00:48:26,080 Inglés sin espacios y trata de poner espacios entre las palabras y lo hace 912 00:48:26,080 --> 00:48:29,120 que mediante el uso de un modelo de lenguaje y tratando de ver cuál es la más alta 913 00:48:29,120 --> 00:48:31,270 probabilidad de que usted puede conseguir. 914 00:48:31,270 --> 00:48:32,230 Aceptar. 915 00:48:32,230 --> 00:48:33,800 Así que esta es la segmentación. 916 00:48:33,800 --> 00:48:35,450 >> Ahora sintaxis. 917 00:48:35,450 --> 00:48:40,940 Por lo tanto, la sintaxis se utiliza para tantas cosas ahora mismo. 918 00:48:40,940 --> 00:48:44,880 Así que para el gráfico de búsqueda, para Siri para casi cualquier tipo de naturales 919 00:48:44,880 --> 00:48:46,490 procesamiento del lenguaje que tiene. 920 00:48:46,490 --> 00:48:49,140 Entonces, ¿qué son los importantes cosas acerca de la sintaxis? 921 00:48:49,140 --> 00:48:52,390 Así, las oraciones en general tienen lo que llamamos constituyentes. 922 00:48:52,390 --> 00:48:57,080 ¿Qué son algo así como grupos de palabras que tienen una función en la frase. 923 00:48:57,080 --> 00:49:02,220 Y en realidad no pueden ser separados unos de otros. 924 00:49:02,220 --> 00:49:07,380 >> Así que, si yo digo, por ejemplo, "Lauren ama Milo. "Yo sé que" Lauren "es un 925 00:49:07,380 --> 00:49:10,180 constituyente y luego "amores Milo "es también otro. 926 00:49:10,180 --> 00:49:16,860 Porque no se puede decir como "Lauren Milo ama "tener el mismo significado. 927 00:49:16,860 --> 00:49:18,020 No va a tener el mismo significado. 928 00:49:18,020 --> 00:49:22,500 O yo no puedo decir como "Milo Lauren ama. "No todo tiene el mismo 929 00:49:22,500 --> 00:49:25,890 que significa hacer eso. 930 00:49:25,890 --> 00:49:31,940 >> Así que las dos cosas más importantes acerca de sintaxis son los tipos léxicos que es 931 00:49:31,940 --> 00:49:35,390 básicamente la función que tener para las palabras por sí solas. 932 00:49:35,390 --> 00:49:39,180 Así que usted tiene que saber que "Lauren" y "Milo" son sustantivos. 933 00:49:39,180 --> 00:49:41,040 "Love" es un verbo. 934 00:49:41,040 --> 00:49:45,660 Y la segunda cosa importante es que son tipos con preposición. 935 00:49:45,660 --> 00:49:48,990 Así que ya sabes que "ama a Milo" es en realidad una frase verbal. 936 00:49:48,990 --> 00:49:52,390 Así que cuando digo "Lauren," yo sé que Lauren está haciendo algo. 937 00:49:52,390 --> 00:49:53,620 ¿Qué está haciendo? 938 00:49:53,620 --> 00:49:54,570 Ella es amante de Milo. 939 00:49:54,570 --> 00:49:56,440 Así que es una cosa totalmente. 940 00:49:56,440 --> 00:50:01,640 Pero sus componentes son un sustantivo y un verbo. 941 00:50:01,640 --> 00:50:04,210 Pero juntos, hacen una frase verbal. 942 00:50:04,210 --> 00:50:08,680 >> Así que, ¿qué podemos hacer realmente con lingüística computacional? 943 00:50:08,680 --> 00:50:13,810 Así que, si tengo algo, por ejemplo, "amigos de Allison". Veo si me 944 00:50:13,810 --> 00:50:17,440 realizó un árbol sintáctico que sabría que "Amigos" es un sintagma nominal que es un 945 00:50:17,440 --> 00:50:21,480 sustantivo y después "de Allison" es una sintagma preposicional en el que "de" es 946 00:50:21,480 --> 00:50:24,810 una proposición y "Allison" es un sustantivo. 947 00:50:24,810 --> 00:50:30,910 Lo que podría hacer es enseñar a mi equipo que cuando tengo un sintagma nominal y un 948 00:50:30,910 --> 00:50:33,080 a continuación, una frase preposicional. 949 00:50:33,080 --> 00:50:39,020 Así que en este caso, "amigos" y después "de Milo "Yo sé que esto significa que 950 00:50:39,020 --> 00:50:43,110 NP2, la segunda, es propietaria de NP1. 951 00:50:43,110 --> 00:50:47,680 >> Así que puede crear algún tipo de relación, algún tipo de función para ello. 952 00:50:47,680 --> 00:50:52,370 Así que cada vez que veo esta estructura, que coincide exactamente con "amigos de 953 00:50:52,370 --> 00:50:56,030 Allison: "Yo sabía que Allison posee los amigos. 954 00:50:56,030 --> 00:50:58,830 Así que los amigos son algo que Allison tiene. 955 00:50:58,830 --> 00:50:59,610 Tiene sentido? 956 00:50:59,610 --> 00:51:01,770 Así que esto es básicamente lo que Gráfico Search hace. 957 00:51:01,770 --> 00:51:04,360 Simplemente crea reglas para un montón de cosas. 958 00:51:04,360 --> 00:51:08,190 Así que los "amigos de Allison", "mis amigos que viven en Cambridge "," mis amigos 959 00:51:08,190 --> 00:51:12,970 que ir a Harvard ". Crea reglas para todas esas cosas. 960 00:51:12,970 --> 00:51:14,930 >> Ahora la traducción automática. 961 00:51:14,930 --> 00:51:18,850 Por lo tanto, la traducción automática es también algo estadística. 962 00:51:18,850 --> 00:51:21,340 Y en realidad, si te involucras en lingüística computacional, una gran cantidad de 963 00:51:21,340 --> 00:51:23,580 tus cosas va a ser estadísticas. 964 00:51:23,580 --> 00:51:26,670 Así como yo estaba haciendo el ejemplo con muchas probabilidades de que yo era 965 00:51:26,670 --> 00:51:30,540 cálculo, y luego llegar a este número muy pequeño que es la final 966 00:51:30,540 --> 00:51:33,180 probabilidad, y eso es lo le da la respuesta. 967 00:51:33,180 --> 00:51:37,540 La traducción automática utiliza también un modelo estadístico. 968 00:51:37,540 --> 00:51:44,790 Y si se quiere pensar en la máquina traducción en el más simple posible 969 00:51:44,790 --> 00:51:48,970 Así, lo que se puede pensar es sólo traducir palabra por palabra, ¿verdad? 970 00:51:48,970 --> 00:51:52,150 >> Cuando usted está aprendiendo un idioma para el primera vez, que es por lo general lo 971 00:51:52,150 --> 00:51:52,910 lo hace, ¿no? 972 00:51:52,910 --> 00:51:57,050 Si desea traducir una oración en su idioma para el idioma 973 00:51:57,050 --> 00:52:00,060 usted está aprendiendo, por lo general primero, traducir cada una de las palabras 974 00:52:00,060 --> 00:52:03,180 individualmente, a continuación, intenta poner las palabras en su lugar. 975 00:52:03,180 --> 00:52:07,100 >> Así que si yo quería traducir esto, [Habla Portuguesa] 976 00:52:07,100 --> 00:52:10,430 que significa "el gato blanco se escapó." Si quisiera traducirla del 977 00:52:10,430 --> 00:52:13,650 Portugués a Inglés, lo que podríamos hacer es, primero, que acabo de 978 00:52:13,650 --> 00:52:14,800 traducir palabra por palabra. 979 00:52:14,800 --> 00:52:20,570 Así que "o" es "el", "gato", "gato" "Branco", "blanco", y luego "fugio" es 980 00:52:20,570 --> 00:52:21,650 "Se escapó". 981 00:52:21,650 --> 00:52:26,130 >> Así que tengo todas las palabras aquí, pero no están en orden. 982 00:52:26,130 --> 00:52:29,590 Es como "el gato blanco se escapó" que es gramaticalmente incorrecta. 983 00:52:29,590 --> 00:52:34,490 Así, entonces puedo tener un segundo paso, que se va a encontrar el ideal 984 00:52:34,490 --> 00:52:36,610 posición para cada una de las palabras. 985 00:52:36,610 --> 00:52:40,240 Así que sé que realmente quiero tener "Gato blanco" en lugar de "gato blanco". Así 986 00:52:40,240 --> 00:52:46,050 lo que puedo hacer es, el método más ingenua sería la creación de todo el 987 00:52:46,050 --> 00:52:49,720 permutaciones posibles de palabras, de posiciones. 988 00:52:49,720 --> 00:52:53,300 Y luego ver cuál tiene el probabilidad más alta de acuerdo 989 00:52:53,300 --> 00:52:54,970 a mi modelo de lenguaje. 990 00:52:54,970 --> 00:52:58,390 Y luego, cuando me encuentro con el que tiene la probabilidad más alta, lo cual es 991 00:52:58,390 --> 00:53:01,910 probablemente "la gata blanca se escapó" ese es mi traducción. 992 00:53:01,910 --> 00:53:06,710 >> Y esta es una manera sencilla de explicar cómo una gran cantidad de la traducción automática 993 00:53:06,710 --> 00:53:07,910 algoritmos funcionan. 994 00:53:07,910 --> 00:53:08,920 ¿Eso tiene sentido? 995 00:53:08,920 --> 00:53:12,735 Esto también es algo realmente emocionante que ustedes tal vez puede explorar una 996 00:53:12,735 --> 00:53:13,901 proyecto final, ¿no? 997 00:53:13,901 --> 00:53:15,549 >> Estudiante: Bueno, usted dijo que era la manera ingenua, ¿cuál es 998 00:53:15,549 --> 00:53:17,200 la forma no ingenuo? 999 00:53:17,200 --> 00:53:18,400 >> LUCAS FREITAS: La forma no ingenuo? 1000 00:53:18,400 --> 00:53:19,050 Aceptar. 1001 00:53:19,050 --> 00:53:22,860 Así que la primera cosa que es malo sobre este método es que yo sólo traduje 1002 00:53:22,860 --> 00:53:24,330 palabras, palabra por palabra. 1003 00:53:24,330 --> 00:53:30,570 Pero a veces hay palabras que puede tener varias traducciones. 1004 00:53:30,570 --> 00:53:32,210 Voy a tratar de pensar de algo. 1005 00:53:32,210 --> 00:53:37,270 Por ejemplo, "manga" en lata Portugués o bien ser "mangle" o "manga". Así 1006 00:53:37,270 --> 00:53:40,450 cuando usted está tratando de traducir la palabra mediante la palabra, podría estar dando 1007 00:53:40,450 --> 00:53:42,050 algo que no tiene sentido. 1008 00:53:42,050 --> 00:53:45,770 >> Así que usted quiere realmente nos fijamos en todos los las posibles traducciones de la 1009 00:53:45,770 --> 00:53:49,840 palabras y ver, en primer lugar, ¿cuál es el orden. 1010 00:53:49,840 --> 00:53:52,000 Estábamos hablando de permutación las cosas? 1011 00:53:52,000 --> 00:53:54,150 Para ver todas las posibles órdenes y elegir el que tenga el más alto 1012 00:53:54,150 --> 00:53:54,990 la probabilidad? 1013 00:53:54,990 --> 00:53:57,860 También puede elegir todo lo posible traducciones por 1014 00:53:57,860 --> 00:54:00,510 palabra y luego ver - 1015 00:54:00,510 --> 00:54:01,950 combinado con las permutaciones - 1016 00:54:01,950 --> 00:54:03,710 que uno tiene la probabilidad más alta. 1017 00:54:03,710 --> 00:54:08,590 >> Además, usted también puede ver no sólo palabras, si las frases. 1018 00:54:08,590 --> 00:54:11,700 para que pueda analizar las relaciones entre las palabras y luego coger un 1019 00:54:11,700 --> 00:54:13,210 mejor traducción. 1020 00:54:13,210 --> 00:54:16,690 También otra cosa, por lo que este semestre De hecho, me estoy haciendo la investigación en 1021 00:54:16,690 --> 00:54:19,430 Chino-Inglés traducción automática, por lo que la traducción del 1022 00:54:19,430 --> 00:54:20,940 Chino al Inglés. 1023 00:54:20,940 --> 00:54:26,760 >> Y algo que hacemos es, además de usar un modelo estadístico, que es justo 1024 00:54:26,760 --> 00:54:30,570 ver las probabilidades de ver alguna posición en una frase, yo soy 1025 00:54:30,570 --> 00:54:35,360 en realidad también añadir un poco de sintaxis para mi modelo, diciendo: ¡Oh, si yo veo a este tipo 1026 00:54:35,360 --> 00:54:39,420 de la construcción, esto es lo que quiero para cambiarlo a cuando traduzco. 1027 00:54:39,420 --> 00:54:43,880 Así también se puede añadir algún tipo de elemento de la sintaxis para que el 1028 00:54:43,880 --> 00:54:47,970 una traducción más eficaz y más precisa. 1029 00:54:47,970 --> 00:54:48,550 Aceptar. 1030 00:54:48,550 --> 00:54:51,010 >> Entonces, ¿cómo se puede empezar, si quieres hacer algo en cómputo 1031 00:54:51,010 --> 00:54:51,980 la lingüística? 1032 00:54:51,980 --> 00:54:54,560 >> En primer lugar, se elige un proyecto que involucra idiomas. 1033 00:54:54,560 --> 00:54:56,310 Así, hay muchos por ahí. 1034 00:54:56,310 --> 00:54:58,420 Hay tantas cosas que puedes hacer. 1035 00:54:58,420 --> 00:55:00,510 Y entonces se puede pensar en un modelo que se puede utilizar. 1036 00:55:00,510 --> 00:55:04,710 Por lo general, eso significa que el pensamiento de supuestos, según como, oh, cuando yo era 1037 00:55:04,710 --> 00:55:05,770 como el pensamiento de las letras. 1038 00:55:05,770 --> 00:55:09,510 Yo estaba como, bueno, si quiero averiguar una que escribió esto, probablemente yo quiero 1039 00:55:09,510 --> 00:55:15,400 mirar a las palabras que la persona utiliza y ver quién usa esa palabra muy a menudo. 1040 00:55:15,400 --> 00:55:18,470 Así que trate de hacer suposiciones y trate de pensar en modelos. 1041 00:55:18,470 --> 00:55:21,395 Y entonces también puede buscar en línea para el tipo de problema que usted tiene, 1042 00:55:21,395 --> 00:55:24,260 y va a sugerir a ustedes, los modelos que tal vez 1043 00:55:24,260 --> 00:55:26,560 modelado esa cosa también. 1044 00:55:26,560 --> 00:55:29,080 >> Y también siempre puedes enviarme un correo electrónico. 1045 00:55:29,080 --> 00:55:31,140 me@lfreitas.com. 1046 00:55:31,140 --> 00:55:34,940 Y yo sólo puedo responder a sus preguntas. 1047 00:55:34,940 --> 00:55:38,600 Podemos incluso podríamos reunirnos de manera que pueda dar sugerencias sobre la forma de 1048 00:55:38,600 --> 00:55:41,490 la implementación de su proyecto. 1049 00:55:41,490 --> 00:55:45,610 Y quiero decir que si te involucras con lingüística computacional, que va 1050 00:55:45,610 --> 00:55:46,790 para ser grande. 1051 00:55:46,790 --> 00:55:48,370 Vas a ver que hay tanto potencial. 1052 00:55:48,370 --> 00:55:52,060 Y la industria quiere contratar que tan mal por eso. 1053 00:55:52,060 --> 00:55:54,720 Así que espero que ustedes hayan disfrutado esto. 1054 00:55:54,720 --> 00:55:57,030 Si ustedes tienen alguna pregunta, usted me puede preguntar por esto. 1055 00:55:57,030 --> 00:55:58,280 Pero gracias. 1056 00:55:58,280 --> 00:56:00,150