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 Bienvenue à tous. 4 00:00:09,980 --> 00:00:11,216 Mon nom est Lucas Freitas. 5 00:00:11,216 --> 00:00:15,220 Je suis un junior à [inaudible] l'étude informatique avec une spécialisation en 6 00:00:15,220 --> 00:00:16,410 linguistique computationnelle. 7 00:00:16,410 --> 00:00:19,310 Donc mon secondaire est dans la langue et la théorie linguistique. 8 00:00:19,310 --> 00:00:21,870 Je suis vraiment excité d'apprendre que vous les gars un peu plus sur le terrain. 9 00:00:21,870 --> 00:00:24,300 C'est une zone très excitant pour étudier. 10 00:00:24,300 --> 00:00:27,260 Aussi avec beaucoup de potentiel pour l'avenir. 11 00:00:27,260 --> 00:00:30,160 Donc, je suis vraiment heureux que vous les gars envisagent des projets dans 12 00:00:30,160 --> 00:00:31,160 linguistique computationnelle. 13 00:00:31,160 --> 00:00:35,460 Et je serai plus qu'heureux de conseiller l'un de vous si vous décidez de 14 00:00:35,460 --> 00:00:37,090 poursuivre un de ceux. 15 00:00:37,090 --> 00:00:40,010 >> Alors tout d'abord ce sont de calcul linguistique? 16 00:00:40,010 --> 00:00:44,630 Donc linguistique computationnelle est l' intersection entre la linguistique et 17 00:00:44,630 --> 00:00:46,390 informatique. 18 00:00:46,390 --> 00:00:47,415 Alors, quelle est la linguistique? 19 00:00:47,415 --> 00:00:48,490 Qu'est-ce que l'informatique? 20 00:00:48,490 --> 00:00:51,580 Eh bien de la linguistique, ce nous prenons sont les langues. 21 00:00:51,580 --> 00:00:54,960 Donc, la linguistique est en fait l'étude de langage naturel en général. 22 00:00:54,960 --> 00:00:58,330 Langue si naturel - on parle de la langue que nous utilisons actuellement à 23 00:00:58,330 --> 00:00:59,770 communiquer les uns avec les autres. 24 00:00:59,770 --> 00:01:02,200 Donc, nous ne sommes pas exactement parler sur C ou Java. 25 00:01:02,200 --> 00:01:05,900 Nous parlons plus sur l'anglais et Chinois et d'autres que nous 26 00:01:05,900 --> 00:01:07,780 utiliser pour communiquer avec l'autre. 27 00:01:07,780 --> 00:01:12,470 >> La chose difficile à ce sujet est que maintenant nous avons presque 7000 28 00:01:12,470 --> 00:01:14,260 langues dans le monde. 29 00:01:14,260 --> 00:01:19,520 Donc, il ya tout à fait une grande variété des langues que nous pouvons étudier. 30 00:01:19,520 --> 00:01:22,600 Et puis vous pensez que c'est probablement très difficile à faire, par exemple, 31 00:01:22,600 --> 00:01:26,960 traduction d'une langue à l' de l'autre, étant donné que vous avez 32 00:01:26,960 --> 00:01:28,240 Près de 7000 d'entre eux. 33 00:01:28,240 --> 00:01:31,450 Donc, si vous pensez faire de traduction d'une langue à l'autre, vous 34 00:01:31,450 --> 00:01:35,840 avoir presque plus d'un million différentes combinaisons que vous pouvez 35 00:01:35,840 --> 00:01:37,330 avoir de langue à langue. 36 00:01:37,330 --> 00:01:40,820 Donc, il est vraiment difficile de faire des type de système exemple de traduction pour 37 00:01:40,820 --> 00:01:43,540 chaque langue unique. 38 00:01:43,540 --> 00:01:47,120 >> Ainsi, la linguistique traite avec la syntaxe, sémantique, pragmatique. 39 00:01:47,120 --> 00:01:49,550 Les gars, vous ne devez pas exactement de savoir ce que sont ils. 40 00:01:49,550 --> 00:01:55,090 Mais la chose très intéressante est que comme un locuteur natif, quand vous apprenez 41 00:01:55,090 --> 00:01:59,010 langue que l'enfant, vous avez réellement apprendre toutes ces choses - syntaxe sémantique 42 00:01:59,010 --> 00:02:00,500 et pragmatique - 43 00:02:00,500 --> 00:02:01,430 par vous-même. 44 00:02:01,430 --> 00:02:04,820 Et personne n'a à vous apprendre la syntaxe pour à comprendre comment les phrases sont 45 00:02:04,820 --> 00:02:05,290 structurée. 46 00:02:05,290 --> 00:02:07,980 Donc, c'est vraiment intéressant parce c'est quelque chose qui vient très 47 00:02:07,980 --> 00:02:10,389 intuitivement. 48 00:02:10,389 --> 00:02:13,190 >> Et qu'est-ce que vous prenez de l'informatique? 49 00:02:13,190 --> 00:02:16,700 Eh bien, la chose la plus importante que nous avoir en informatique est d'abord 50 00:02:16,700 --> 00:02:19,340 tout, l'intelligence artificielle et l'apprentissage de la machine. 51 00:02:19,340 --> 00:02:22,610 Donc, ce que nous essayons de faire linguistique computationnelle, c'est enseigner 52 00:02:22,610 --> 00:02:26,990 votre ordinateur comment faire quelque chose avec la langue. 53 00:02:26,990 --> 00:02:28,630 >> Ainsi, par exemple, dans la machine traduction. 54 00:02:28,630 --> 00:02:32,490 J'essaie d'enseigner comment mon ordinateur de savoir comment faire la transition d'un 55 00:02:32,490 --> 00:02:33,310 langue à l'autre. 56 00:02:33,310 --> 00:02:35,790 Donc, comme fondamentalement l'enseignement un ordinateur deux langues. 57 00:02:35,790 --> 00:02:38,870 Si je fais le traitement du langage naturel, ce qui est le cas par exemple d' 58 00:02:38,870 --> 00:02:41,810 Graphique Rechercher Facebook, vous enseigner à votre ordinateur comment comprendre 59 00:02:41,810 --> 00:02:42,730 requêtes bien. 60 00:02:42,730 --> 00:02:48,130 >> Donc, si vous dites "les photos de mon amis. "Facebook ne traitent pas que 61 00:02:48,130 --> 00:02:51,130 que toute une chaîne qui a juste un tas de mots. 62 00:02:51,130 --> 00:02:56,020 Il comprend réellement la relation entre "Photos" et "mes amis" et 63 00:02:56,020 --> 00:02:59,620 comprend que "les photos" sont propriété de "mes amis." 64 00:02:59,620 --> 00:03:02,350 >> Donc, cela fait partie de, par exemple, traitement du langage naturel. 65 00:03:02,350 --> 00:03:04,790 Il essaie de comprendre ce est le rapport entre 66 00:03:04,790 --> 00:03:07,520 les mots dans une phrase. 67 00:03:07,520 --> 00:03:11,170 Et la grande question est, pouvez-vous enseigner un ordinateur à parler 68 00:03:11,170 --> 00:03:12,650 une langue en général? 69 00:03:12,650 --> 00:03:17,810 Qui est une question très intéressante à penser, comme si peut-être dans l'avenir, 70 00:03:17,810 --> 00:03:19,930 vous allez être en mesure de parler à votre téléphone portable. 71 00:03:19,930 --> 00:03:23,290 Un peu comme ce que nous faisons avec Siri, mais quelque chose comme, vous pouvez réellement 72 00:03:23,290 --> 00:03:25,690 dites ce que vous voulez et le téléphone va tout comprendre. 73 00:03:25,690 --> 00:03:28,350 Et il peut avoir des questions de suivi et continuer à parler. 74 00:03:28,350 --> 00:03:30,880 C'est quelque chose de vraiment excitant, à mon avis. 75 00:03:30,880 --> 00:03:33,070 >> Donc, quelque chose sur les langues naturelles. 76 00:03:33,070 --> 00:03:36,220 Quelque chose de vraiment intéressant à propos langues naturelles est que, et ceci est 77 00:03:36,220 --> 00:03:38,470 crédit à mon professeur de linguistique, Maria Polinsky. 78 00:03:38,470 --> 00:03:40,830 Elle donne un exemple et je pense que c'est vraiment intéressant. 79 00:03:40,830 --> 00:03:47,060 Parce que nous apprenons la langue à partir de laquelle nous sommes nés et alors notre natif 80 00:03:47,060 --> 00:03:49,170 langue sorte de pousse sur nous. 81 00:03:49,170 --> 00:03:52,570 >> Et fondamentalement, vous apprenez la langue de l'entrée minime, non? 82 00:03:52,570 --> 00:03:56,700 Vous êtes juste entrée de votre les parents de ce que votre langue sons 83 00:03:56,700 --> 00:03:58,770 aimez et que vous venez de l'apprendre. 84 00:03:58,770 --> 00:04:02,240 Ainsi, il est intéressant parce que si vous regardez à ces phrases, par exemple. 85 00:04:02,240 --> 00:04:06,980 Vous regardez, "Mary met sur un manteau tout fois qu'elle quitte la maison ". 86 00:04:06,980 --> 00:04:10,650 >> Dans ce cas, il est possible d'avoir la mot «elle» se réfère à Marie, à droite? 87 00:04:10,650 --> 00:04:13,500 Vous pouvez dire «Mary met sur un manteau chaque fois que Marie quitte le 88 00:04:13,500 --> 00:04:14,960 maison. "si c'est très bien. 89 00:04:14,960 --> 00:04:19,370 Mais alors, si vous regardez la phrase "Elle met une couche à chaque fois Marie 90 00:04:19,370 --> 00:04:22,850 quitte la maison. "vous savez que c'est impossible de dire qu '«elle» est 91 00:04:22,850 --> 00:04:24,260 référence à Marie. 92 00:04:24,260 --> 00:04:27,070 >> Il n'ya aucun moyen de dire que «Marie met sur une couche à chaque fois que Marie quitte 93 00:04:27,070 --> 00:04:30,790 la maison. "Il est donc intéressant car c'est le genre d'intuition 94 00:04:30,790 --> 00:04:32,890 que chaque locuteur natif a. 95 00:04:32,890 --> 00:04:36,370 Et personne n'a été enseigné que ce n'est la façon dont la syntaxe fonctionne. 96 00:04:36,370 --> 00:04:41,930 Et que vous ne pouvez avoir ce «elle» référence à Marie, dans ce premier cas, 97 00:04:41,930 --> 00:04:44,260 et en fait dans cette autre aussi, mais pas dans celui-ci. 98 00:04:44,260 --> 00:04:46,500 Mais tout le monde sorte de se à la même réponse. 99 00:04:46,500 --> 00:04:48,580 Tout le monde est d'accord sur ce point. 100 00:04:48,580 --> 00:04:53,280 Il est donc très intéressant de voir comment bien vous ne connaissez pas toutes les règles 101 00:04:53,280 --> 00:04:55,575 dans votre langue, vous sorte de comprendre comment le langage fonctionne. 102 00:04:55,575 --> 00:04:59,020 103 00:04:59,020 --> 00:05:01,530 >> Donc, la chose intéressante à propos naturelle langue, c'est que vous n'avez pas à 104 00:05:01,530 --> 00:05:06,970 connaître toute la syntaxe de savoir si une phrase est grammatical ou non grammatical pour 105 00:05:06,970 --> 00:05:08,810 la plupart des cas. 106 00:05:08,810 --> 00:05:13,220 Qui vous fait penser que peut-être ce que qui se passe est que, grâce à votre vie, vous 107 00:05:13,220 --> 00:05:17,410 juste garder de plus en plus Phrases dit de vous. 108 00:05:17,410 --> 00:05:19,800 Et puis vous continuez mémorisation toutes les phrases. 109 00:05:19,800 --> 00:05:24,230 Et puis, quand quelqu'un vous dit quelque chose, vous entendez cette phrase et 110 00:05:24,230 --> 00:05:27,040 vous regardez votre vocabulaire des peines et de voir si 111 00:05:27,040 --> 00:05:28,270 cette phrase est là. 112 00:05:28,270 --> 00:05:29,830 Et si c'est là que vous dire que c'est grammaticale. 113 00:05:29,830 --> 00:05:31,740 Si ce n'est pas vous dites que c'est grammatical. 114 00:05:31,740 --> 00:05:35,150 >> Donc, dans ce cas, vous diriez, oh, si vous avez une énorme liste de tous 115 00:05:35,150 --> 00:05:36,140 peines possibles. 116 00:05:36,140 --> 00:05:38,240 Et puis, quand vous entendez une phrase, vous savez si c'est grammaticale ou 117 00:05:38,240 --> 00:05:39,450 pas sur cette base. 118 00:05:39,450 --> 00:05:42,360 Le fait est que si vous regardez une phrase, par exemple, "Le 119 00:05:42,360 --> 00:05:47,540 cinq têtes CS50 FO cuit aveugles poulpe en utilisant une tasse de DAPA ". C'est 120 00:05:47,540 --> 00:05:49,630 certainement pas une phrase que vous avez entendu avant. 121 00:05:49,630 --> 00:05:52,380 Mais en même temps, vous savez que c'est à peu près grammaticale, non? 122 00:05:52,380 --> 00:05:55,570 Il n'y a pas d'erreurs grammaticales et vous pouvez dire que 123 00:05:55,570 --> 00:05:57,020 c'est une phrase possible. 124 00:05:57,020 --> 00:06:01,300 >> Donc, il nous fait penser que le fait façon que nous apprenons la langue n'est pas seulement 125 00:06:01,300 --> 00:06:07,090 en ayant une énorme base de données possible mots ou des phrases, mais plus de 126 00:06:07,090 --> 00:06:11,490 la compréhension de la relation entre mots dans ces phrases. 127 00:06:11,490 --> 00:06:14,570 Cela fait-il sens? 128 00:06:14,570 --> 00:06:19,370 Donc, la question est, peut ordinateurs apprennent des langues? 129 00:06:19,370 --> 00:06:21,490 Peut-on enseigner la langue aux ordinateurs? 130 00:06:21,490 --> 00:06:24,230 >> Donc, nous allons penser à la différence entre un locuteur natif d'une langue 131 00:06:24,230 --> 00:06:25,460 et un ordinateur. 132 00:06:25,460 --> 00:06:27,340 Donc, ce qui se passe à l'orateur? 133 00:06:27,340 --> 00:06:30,430 Eh bien, le locuteur natif apprend langue de l'exposition à elle. 134 00:06:30,430 --> 00:06:34,200 Habituellement ses années de la petite enfance. 135 00:06:34,200 --> 00:06:38,570 Donc, fondamentalement, vous avez juste un bébé, et vous continuez à parler de lui, et il 136 00:06:38,570 --> 00:06:40,540 apprend juste à parler la langue, non? 137 00:06:40,540 --> 00:06:42,660 Donc, vous êtes essentiellement de donner entrée pour le bébé. 138 00:06:42,660 --> 00:06:45,200 Ainsi, vous pouvez prétendre qu'un ordinateur peut faire la même chose, non? 139 00:06:45,200 --> 00:06:49,510 Vous pouvez simplement donner la langue en entrée de l'ordinateur. 140 00:06:49,510 --> 00:06:53,410 >> Comme par exemple un tas de fichiers qui ont des livres en anglais. 141 00:06:53,410 --> 00:06:56,190 Peut-être que c'est une façon que vous pourrait éventuellement donner une 142 00:06:56,190 --> 00:06:57,850 ordinateur anglais, non? 143 00:06:57,850 --> 00:07:01,000 Et en fait, si vous pensez à ce sujet, il vous faut peut-être un couple 144 00:07:01,000 --> 00:07:02,680 jours pour lire un livre. 145 00:07:02,680 --> 00:07:05,760 Pour un ordinateur, il prend une seconde pour regarder tous les mots dans un livre. 146 00:07:05,760 --> 00:07:10,810 Ainsi, vous pouvez penser que peut-être juste ce l'argument de l'entrée de autour de vous, 147 00:07:10,810 --> 00:07:15,440 ce n'est pas assez de dire que c'est quelque chose que seuls les humains peuvent faire. 148 00:07:15,440 --> 00:07:17,680 Vous pouvez penser ordinateurs peut également obtenir l'entrée. 149 00:07:17,680 --> 00:07:21,170 >> La deuxième chose est que les locuteurs natifs ont aussi un cerveau qui a 150 00:07:21,170 --> 00:07:23,870 capacité d'apprentissage des langues. 151 00:07:23,870 --> 00:07:27,020 Mais si vous pensez à ce sujet, un cerveau est une chose solide. 152 00:07:27,020 --> 00:07:30,450 Lorsque vous êtes né, il est déjà réglé - 153 00:07:30,450 --> 00:07:31,320 c'est votre cerveau. 154 00:07:31,320 --> 00:07:34,660 Et comme vous grandissez, vous venez d'obtenir plus entrée de la langue et peut-être des éléments nutritifs 155 00:07:34,660 --> 00:07:35,960 et d'autres choses. 156 00:07:35,960 --> 00:07:38,170 Mais à peu près votre cerveau est une chose solide. 157 00:07:38,170 --> 00:07:41,290 >> Ainsi, vous pouvez dire, eh bien, peut-être vous pouvez construire un ordinateur qui a un tas de 158 00:07:41,290 --> 00:07:45,890 fonctions et méthodes qui imitent seulement capacité d'apprentissage des langues. 159 00:07:45,890 --> 00:07:49,630 Donc, dans ce sens, on pourrait dire, bien, je peut avoir un ordinateur qui dispose de tous les 160 00:07:49,630 --> 00:07:52,270 choses que je dois apprendre la langue. 161 00:07:52,270 --> 00:07:56,200 Et la dernière chose est que natif orateur apprend par essais et erreurs. 162 00:07:56,200 --> 00:08:01,090 Donc, fondamentalement, une autre chose importante dans l'apprentissage des langues est que vous nature 163 00:08:01,090 --> 00:08:05,340 de savoir les choses en faisant généralisations de ce que vous entendez. 164 00:08:05,340 --> 00:08:10,280 >> Donc, comme vous grandissez vous apprenez que certains mots sont plus comme des noms, 165 00:08:10,280 --> 00:08:11,820 quelques autres sont des adjectifs. 166 00:08:11,820 --> 00:08:14,250 Et vous n'avez pas à avoir une connaissance de la linguistique 167 00:08:14,250 --> 00:08:15,040 pour comprendre cela. 168 00:08:15,040 --> 00:08:18,560 Mais vous savez, il ya quelques mots sont positionnés dans une partie de la 169 00:08:18,560 --> 00:08:22,570 phrase et quelques autres dans d'autres parties de la phrase. 170 00:08:22,570 --> 00:08:26,110 >> Et que lorsque vous faites quelque chose qui est comme une phrase qui n'est pas correct - 171 00:08:26,110 --> 00:08:28,770 peut-être en raison d'une généralisation de cours par exemple. 172 00:08:28,770 --> 00:08:32,210 Peut-être que lorsque vous êtes de plus en plus, vous remarquerez que le pluriel est habituellement 173 00:08:32,210 --> 00:08:35,809 formé en mettant un S à la fin du mot. 174 00:08:35,809 --> 00:08:40,042 Et puis, vous essayez de faire le pluriel de "cerf" que "cerfs" ou "dent" que 175 00:08:40,042 --> 00:08:44,780 "tooths." Alors vos parents ou quelqu'un que vous corrige et dit, non, la 176 00:08:44,780 --> 00:08:49,020 pluriel de "cerf" est "cerf", et la pluriel de "dent" est "dents." Et alors 177 00:08:49,020 --> 00:08:50,060 vous apprenez les choses. 178 00:08:50,060 --> 00:08:51,520 Alors que vous apprenez de tâtonnements. 179 00:08:51,520 --> 00:08:53,100 >> Mais vous pouvez aussi le faire avec un ordinateur. 180 00:08:53,100 --> 00:08:55,310 Vous pouvez avoir quelque chose qui s'appelle l'apprentissage par renforcement. 181 00:08:55,310 --> 00:08:58,560 Qui est fondamentalement comme donnant une un ordinateur récompense chaque fois que c'est le cas 182 00:08:58,560 --> 00:08:59,410 quelque chose correctement. 183 00:08:59,410 --> 00:09:04,710 Et il donne l'opposé d'une récompense et quand il fait quelque chose de mal. 184 00:09:04,710 --> 00:09:07,410 Vous pouvez voir que si vous allez à Google Translate et vous essayez de 185 00:09:07,410 --> 00:09:10,220 traduire une phrase, il vous demande de commentaires. 186 00:09:10,220 --> 00:09:13,240 Donc, si vous dites, oh, il ya une meilleure traduction de cette phrase. 187 00:09:13,240 --> 00:09:18,140 Vous pouvez taper et puis si un grand nombre de les gens continuent à dire que c'est une meilleure 188 00:09:18,140 --> 00:09:21,560 traduction, il apprend juste que ça doivent utiliser que la traduction à la place de 189 00:09:21,560 --> 00:09:22,960 celui qu'il donnait. 190 00:09:22,960 --> 00:09:28,830 >> Donc, c'est une question très philosophique pour voir si les ordinateurs vont être 191 00:09:28,830 --> 00:09:30,340 capable de parler ou non à l'avenir. 192 00:09:30,340 --> 00:09:34,440 Mais j'ai bon espoir qu'ils peuvent juste, fondée sur ces arguments. 193 00:09:34,440 --> 00:09:38,570 Mais c'est un peu plus d'une philosophique question. 194 00:09:38,570 --> 00:09:43,460 >> Ainsi, alors que les ordinateurs ne peuvent pas encore parler, quelles sont les choses que nous pouvons faire? 195 00:09:43,460 --> 00:09:47,070 Certaines choses sont vraiment cool classification de données. 196 00:09:47,070 --> 00:09:53,210 Ainsi, par exemple, vous savez les gars que les services de courrier électronique font, pour 197 00:09:53,210 --> 00:09:55,580 exemple, le filtrage des spams. 198 00:09:55,580 --> 00:09:59,070 Donc, lorsque vous recevez un spam, il essaie de filtrer dans une autre boîte. 199 00:09:59,070 --> 00:10:00,270 Alors, comment fait-elle cela? 200 00:10:00,270 --> 00:10:06,080 Ce n'est pas comme l'ordinateur sait juste adresses e-mail que sont l'envoi de spam. 201 00:10:06,080 --> 00:10:09,130 Donc, il est plus basé sur le contenu de le message, ou peut-être le titre, ou 202 00:10:09,130 --> 00:10:11,310 peut-être un modèle que vous avez. 203 00:10:11,310 --> 00:10:15,690 >> Donc, en gros, ce que vous pouvez faire est d'obtenir une Beaucoup de données d'e-mails qui sont anti-spam, 204 00:10:15,690 --> 00:10:19,980 e-mails qui ne sont pas du spam, et d'apprendre ce que genre de modèles que vous avez dans le 205 00:10:19,980 --> 00:10:21,000 ceux qui sont du spam. 206 00:10:21,000 --> 00:10:23,260 Et cela fait partie du calcul linguistique. 207 00:10:23,260 --> 00:10:24,720 C'est ce qu'on appelle la classification des données. 208 00:10:24,720 --> 00:10:28,100 Et nous allons en fait voir un exemple de ce que dans les prochaines diapositives. 209 00:10:28,100 --> 00:10:32,910 >> La deuxième chose est la langue naturelle traitement qui est la chose que l' 210 00:10:32,910 --> 00:10:36,580 Graphique Recherche fait de laisser vous écrivez une phrase. 211 00:10:36,580 --> 00:10:38,690 Et elle veut croire que vous comprenez ce est le sens et donne 212 00:10:38,690 --> 00:10:39,940 vous un meilleur résultat. 213 00:10:39,940 --> 00:10:43,880 En fait, si vous allez sur Google ou Bing et vous recherchez quelque chose comme Lady 214 00:10:43,880 --> 00:10:47,060 La hauteur de Gaga, vous allez effectivement pour obtenir 5 '1 "au lieu de l'information 215 00:10:47,060 --> 00:10:50,170 de son parce qu'il comprend réellement ce que vous parlez. 216 00:10:50,170 --> 00:10:52,140 Cela fait donc partie des ressources naturelles traitement du langage. 217 00:10:52,140 --> 00:10:57,000 >> Ou encore lorsque vous utilisez Siri, première vous avez un algorithme qui tente de 218 00:10:57,000 --> 00:11:01,130 traduire ce que vous dites en mots, dans le texte. 219 00:11:01,130 --> 00:11:03,690 Et puis il essaie de traduire que dans un sens. 220 00:11:03,690 --> 00:11:06,570 Donc, tout cela fait partie de naturel traitement du langage. 221 00:11:06,570 --> 00:11:08,320 >> Ensuite, vous avez la traduction automatique - 222 00:11:08,320 --> 00:11:10,300 qui est en fait un de mes favoris - 223 00:11:10,300 --> 00:11:14,060 qui est juste la traduction de l' une langue à l'autre. 224 00:11:14,060 --> 00:11:17,950 Ainsi, vous pouvez penser que lorsque vous faites Traduction automatique, vous avez 225 00:11:17,950 --> 00:11:19,750 possibilités infinies de phrases. 226 00:11:19,750 --> 00:11:22,960 Il n'y a donc aucun moyen de stocker seulement chaque traduction unique. 227 00:11:22,960 --> 00:11:27,440 Donc, vous devez venir avec intéressant algorithmes puissent 228 00:11:27,440 --> 00:11:30,110 traduire chaque unique phrase d'une certaine façon. 229 00:11:30,110 --> 00:11:32,483 >> Les gars, vous avez des questions à ce jour? 230 00:11:32,483 --> 00:11:34,450 Non? 231 00:11:34,450 --> 00:11:34,830 OK. 232 00:11:34,830 --> 00:11:36,900 >> Alors qu'est-ce que nous allons voir aujourd'hui? 233 00:11:36,900 --> 00:11:39,300 Tout d'abord, je vais parler de le problème de classification. 234 00:11:39,300 --> 00:11:41,440 Donc celui que j'étais dire à propos du spam. 235 00:11:41,440 --> 00:11:46,820 Ce que je vais faire est, paroles données une chanson, vous pouvez essayer de comprendre 236 00:11:46,820 --> 00:11:49,810 avec une forte probabilité qui est le chanteur? 237 00:11:49,810 --> 00:11:53,590 Disons que j'ai des chansons de Lady Gaga et Katy Perry, si je vous donne un 238 00:11:53,590 --> 00:11:58,130 nouvelle chanson, pouvez-vous déterminer si c'est Katy Perry ou Lady Gaga? 239 00:11:58,130 --> 00:12:01,490 >> La seconde, je vais juste parler sur le problème de la segmentation. 240 00:12:01,490 --> 00:12:05,780 Donc je ne sais pas si vous savez, mais Asiatique chinois, le japonais, l'autre de l'Est 241 00:12:05,780 --> 00:12:08,090 langues et d'autres langues en général, n'ont pas 242 00:12:08,090 --> 00:12:09,830 espaces entre les mots. 243 00:12:09,830 --> 00:12:13,540 Et puis, si vous pensez à la façon dont votre type d'ordinateur d'essais de 244 00:12:13,540 --> 00:12:18,600 comprendre le traitement du langage naturel, il se penche sur les mots et 245 00:12:18,600 --> 00:12:21,500 essaie de comprendre les relations entre eux, non? 246 00:12:21,500 --> 00:12:25,440 Mais alors, si vous avez chinois, et vous ont zéro espaces, il est vraiment difficile de 247 00:12:25,440 --> 00:12:28,360 savoir quelle est la relation entre termes, parce qu'ils n'ont pas d' 248 00:12:28,360 --> 00:12:29,530 mots d'abord. 249 00:12:29,530 --> 00:12:32,600 Donc, vous avez à faire quelque chose qui s'appelle segmentation qui signifie simplement mettre 250 00:12:32,600 --> 00:12:36,490 espaces entre ce qu'on appellerait mots dans ces langues. 251 00:12:36,490 --> 00:12:37,740 Donner un sens? 252 00:12:37,740 --> 00:12:39,680 253 00:12:39,680 --> 00:12:41,540 >> Et puis nous allons parler de la syntaxe. 254 00:12:41,540 --> 00:12:44,050 Alors juste un peu de naturel traitement du langage. 255 00:12:44,050 --> 00:12:45,420 Ça va être juste un aperçu. 256 00:12:45,420 --> 00:12:50,700 Donc, aujourd'hui, essentiellement ce que je veux faire est vous donner les gars un peu d'un 257 00:12:50,700 --> 00:12:53,930 l'intérieur de ce que sont les possibilités que vous pouvez faire avec de calcul 258 00:12:53,930 --> 00:12:54,960 linguistique. 259 00:12:54,960 --> 00:13:00,410 Et puis, vous pouvez voir ce que vous pensez est cool entre ces choses. 260 00:13:00,410 --> 00:13:02,270 Et peut-être que vous pouvez penser d'un projet et venir me parler. 261 00:13:02,270 --> 00:13:05,260 Et je peux vous donner des conseils sur la façon de le mettre en œuvre. 262 00:13:05,260 --> 00:13:09,060 >> Donc syntaxe va être un peu Graphique sur la recherche et la machine 263 00:13:09,060 --> 00:13:09,670 traduction. 264 00:13:09,670 --> 00:13:13,650 Je vais donner un exemple de la façon dont vous pourriez, par exemple, de traduire 265 00:13:13,650 --> 00:13:16,020 quelque chose du portugais à l'anglais. 266 00:13:16,020 --> 00:13:17,830 Ça sonne bien? 267 00:13:17,830 --> 00:13:19,293 >> Ainsi, en premier lieu, le problème de classification. 268 00:13:19,293 --> 00:13:23,590 Je dirai que cette partie du séminaire va être le plus difficile 269 00:13:23,590 --> 00:13:27,560 un juste parce que il va y être un peu de codage. 270 00:13:27,560 --> 00:13:29,470 Mais ça va être Python. 271 00:13:29,470 --> 00:13:34,380 Je sais que vous ne savez pas Python, Je vais expliquer sur le haut 272 00:13:34,380 --> 00:13:35,750 niveau ce que je fais. 273 00:13:35,750 --> 00:13:40,900 Et vous n'avez pas à s'occuper vraiment trop beaucoup sur la syntaxe parce que c'est 274 00:13:40,900 --> 00:13:42,140 quelque chose que vous les gars peuvent apprendre. 275 00:13:42,140 --> 00:13:42,540 OK? 276 00:13:42,540 --> 00:13:43,580 Ça sonne bien. 277 00:13:43,580 --> 00:13:46,020 >> Alors quel est le problème de la classification? 278 00:13:46,020 --> 00:13:49,140 Donc, vous êtes donné quelques paroles de une chanson, et vous voulez deviner 279 00:13:49,140 --> 00:13:50,620 qui chante il. 280 00:13:50,620 --> 00:13:54,045 Et cela peut être pour tout type d'autres problèmes. 281 00:13:54,045 --> 00:13:59,980 Ainsi, il peut être, par exemple, vous avez une campagne présidentielle et vous avez une 282 00:13:59,980 --> 00:14:02,610 discours, et vous voulez trouver si elle était, par exemple, 283 00:14:02,610 --> 00:14:04,470 Obama ou Mitt Romney. 284 00:14:04,470 --> 00:14:07,700 Ou vous pouvez avoir un tas d'e-mails et vous voulez savoir si elles sont 285 00:14:07,700 --> 00:14:08,890 un spam ou non. 286 00:14:08,890 --> 00:14:11,440 Donc, c'est juste une certaine classification données sur la base des mots 287 00:14:11,440 --> 00:14:13,790 que vous avez là. 288 00:14:13,790 --> 00:14:16,295 >> Donc, pour ce faire, vous devez faire quelques hypothèses. 289 00:14:16,295 --> 00:14:20,570 Donc, beaucoup de linguistique computationnelle est de faire des hypothèses, 290 00:14:20,570 --> 00:14:24,100 hypothèses généralement intelligents, de sorte que vous pouvez obtenir de bons résultats. 291 00:14:24,100 --> 00:14:26,670 Essayer de créer un modèle pour elle. 292 00:14:26,670 --> 00:14:31,290 Et puis l'essayer et voir si cela fonctionne, si elle vous donne une bonne précision. 293 00:14:31,290 --> 00:14:33,940 Et si c'est le cas, alors vous essayer de l'améliorer. 294 00:14:33,940 --> 00:14:37,640 Si ce n'est pas, vous êtes comme, OK, j'ai peut-être devrait faire une hypothèse différente. 295 00:14:37,640 --> 00:14:44,030 >> Donc, l'hypothèse que nous allons faire est que l'artiste chante habituellement 296 00:14:44,030 --> 00:14:49,220 sur un sujet plusieurs fois, et peut-être utilise des mots à plusieurs reprises juste 297 00:14:49,220 --> 00:14:50,270 parce qu'ils y sont habitués. 298 00:14:50,270 --> 00:14:51,890 Vous pouvez juste penser à votre ami. 299 00:14:51,890 --> 00:14:57,350 Je suis sûr que vous les gars ont tous amis que dire de leur phrase de signature, 300 00:14:57,350 --> 00:14:59,260 littéralement pour chaque phrase unique - 301 00:14:59,260 --> 00:15:02,660 comme un mot spécifique ou une spécifique phrase que disent-ils pour 302 00:15:02,660 --> 00:15:04,020 chaque phrase unique. 303 00:15:04,020 --> 00:15:07,920 >> Et ce que vous pouvez dire, c'est que si vous voyez une phrase qui a une signature 304 00:15:07,920 --> 00:15:11,450 phrase, vous pouvez deviner que probablement votre ami est le 305 00:15:11,450 --> 00:15:13,310 un dire, non? 306 00:15:13,310 --> 00:15:18,410 Donc vous faites cette hypothèse, puis c'est comme ça que vous créez un modèle. 307 00:15:18,410 --> 00:15:24,440 >> L'exemple que je vais donner est sur comment Lady Gaga, par exemple, les personnes 308 00:15:24,440 --> 00:15:27,430 dire qu'elle utilise "bébé" pour toutes ses chansons numéro un. 309 00:15:27,430 --> 00:15:32,270 Et en fait, c'est une vidéo qui montre en lui disant le mot "bébé" pour 310 00:15:32,270 --> 00:15:33,410 différentes chansons. 311 00:15:33,410 --> 00:15:33,860 >> [VIDEO LECTURE] 312 00:15:33,860 --> 00:15:34,310 >> - (CHANT) Bébé. 313 00:15:34,310 --> 00:15:36,220 Bébé. 314 00:15:36,220 --> 00:15:37,086 Bébé. 315 00:15:37,086 --> 00:15:37,520 Bébé. 316 00:15:37,520 --> 00:15:37,770 Bébé. 317 00:15:37,770 --> 00:15:38,822 Bébé. 318 00:15:38,822 --> 00:15:39,243 Bébé. 319 00:15:39,243 --> 00:15:40,085 Bébé. 320 00:15:40,085 --> 00:15:40,510 Bébé. 321 00:15:40,510 --> 00:15:40,850 Bébé. 322 00:15:40,850 --> 00:15:41,090 >> [FIN LECTURE VIDÉO- 323 00:15:41,090 --> 00:15:44,020 >> LUCAS FREITAS: Alors il n'y a, je pense, 40 chansons ici où elle dit l' 324 00:15:44,020 --> 00:15:48,690 mot «bébé». Ainsi, vous pouvez deviner essentiellement que si vous voyez une chanson qui a 325 00:15:48,690 --> 00:15:52,180 le mot «bébé», il ya une certaine grande probabilité que c'est Lady Gaga. 326 00:15:52,180 --> 00:15:56,450 Mais nous allons essayer de développer cette encore plus formellement. 327 00:15:56,450 --> 00:16:00,470 >> Ce sont donc des paroles de chansons de Lady Gaga et Katy Perry. 328 00:16:00,470 --> 00:16:04,120 Donc vous regardez Lady Gaga, vous voyez qu'ils avoir beaucoup d'occurrences de «bébé», un 329 00:16:04,120 --> 00:16:07,710 beaucoup de situations de "façon." Et alors Katy Perry a beaucoup d'occurrences de 330 00:16:07,710 --> 00:16:10,360 "L',« beaucoup d'occurrences de «feu». 331 00:16:10,360 --> 00:16:14,560 >> Donc, fondamentalement, ce que nous voulons faire est, vous obtenez un lyrique. 332 00:16:14,560 --> 00:16:20,480 Disons que vous avez un lyrique pour une chanson qui est "bébé" juste "bébé". Si 333 00:16:20,480 --> 00:16:24,750 vous obtenez juste le mot «bébé», et ce est l'ensemble des données que vous avez de 334 00:16:24,750 --> 00:16:27,880 Lady Gaga et Katy Perry, qui serait vous devinez est la personne 335 00:16:27,880 --> 00:16:29,370 qui chante la chanson? 336 00:16:29,370 --> 00:16:32,360 Lady Gaga ou Katy Perry? 337 00:16:32,360 --> 00:16:33,150 Lady Gaga, non? 338 00:16:33,150 --> 00:16:37,400 Parce qu'elle est la seule qui dit "Bébé". Cela semble stupide, non? 339 00:16:37,400 --> 00:16:38,760 OK, c'est vraiment facile. 340 00:16:38,760 --> 00:16:41,860 Je suis simplement en regardant les deux chansons et de Bien sûr, elle est la seule qui a 341 00:16:41,860 --> 00:16:42,660 "Bébé". 342 00:16:42,660 --> 00:16:44,740 >> Mais que faire si vous avez un tas de mots? 343 00:16:44,740 --> 00:16:50,900 Si vous avez une réelle lyrique, quelque chose comme "bébé, je viens 344 00:16:50,900 --> 00:16:51,610 allé voir un [? FT?] 345 00:16:51,610 --> 00:16:54,020 conférence ", ou quelque chose comme ça, et alors vous avez réellement à comprendre - 346 00:16:54,020 --> 00:16:55,780 sur la base de tous ces mots - 347 00:16:55,780 --> 00:16:58,350 qui est l'artiste qui a probablement chanté cette chanson? 348 00:16:58,350 --> 00:17:01,860 Essayons donc de développer un peu plus loin. 349 00:17:01,860 --> 00:17:05,630 >> OK, donc basé uniquement sur les données que nous obtenu, il semble que Gaga est probablement 350 00:17:05,630 --> 00:17:06,260 le chanteur. 351 00:17:06,260 --> 00:17:07,904 Mais comment pouvons-nous écrire ce de façon plus formelle? 352 00:17:07,904 --> 00:17:10,579 353 00:17:10,579 --> 00:17:13,140 Et il va y avoir un peu de peu de statistiques. 354 00:17:13,140 --> 00:17:15,880 Donc, si vous êtes perdu, essayez juste pour comprendre le concept. 355 00:17:15,880 --> 00:17:18,700 Ce n'est pas grave si vous comprenez les équations parfaitement bien. 356 00:17:18,700 --> 00:17:22,150 Tout cela va être en ligne. 357 00:17:22,150 --> 00:17:25,490 >> Donc, fondamentalement, ce que je calcul est le probabilité que cette chanson est par 358 00:17:25,490 --> 00:17:28,040 Lady Gaga étant donné que - 359 00:17:28,040 --> 00:17:30,660 si cette barre moyens étant donné que - 360 00:17:30,660 --> 00:17:33,680 J'ai vu le mot «bébé». Cela fait-il sens? 361 00:17:33,680 --> 00:17:35,540 Donc, je suis en train de calculer cette probabilité. 362 00:17:35,540 --> 00:17:38,540 >> Il ya donc ce théorème appelé Théorème de Bayes qui dit que le 363 00:17:38,540 --> 00:17:43,330 probabilité de A B donné, est la probabilité de B donné une fois, 364 00:17:43,330 --> 00:17:47,660 probabilité de A, au-dessus de la probabilité de B. C'est une longue équation. 365 00:17:47,660 --> 00:17:51,970 Mais ce que vous devez comprendre de c'est que c'est ce que je veux 366 00:17:51,970 --> 00:17:52,830 calculer, non? 367 00:17:52,830 --> 00:17:56,570 Ainsi, la probabilité que cette chanson est par Lady Gaga étant donné que j'ai vu le mot 368 00:17:56,570 --> 00:17:58,230 "Bébé". 369 00:17:58,230 --> 00:18:02,960 >> Et maintenant, ce que je veux est la probabilité du mot "bébé" donné 370 00:18:02,960 --> 00:18:04,390 que je n'ai Lady Gaga. 371 00:18:04,390 --> 00:18:07,220 Et qu'est-ce que, fondamentalement? 372 00:18:07,220 --> 00:18:10,500 Qu'est-ce que cela signifie est, quelle est la probabilité de voir le mot "bébé" 373 00:18:10,500 --> 00:18:12,130 dans les paroles de Gaga? 374 00:18:12,130 --> 00:18:16,240 Si je veux calculer que dans un très façon simple, c'est juste le nombre de 375 00:18:16,240 --> 00:18:23,640 fois que je vois "bébé" sur le nombre total des mots dans les paroles de Gaga, non? 376 00:18:23,640 --> 00:18:27,600 Quelle est la fréquence que je vois ce mot dans le travail de Gaga? 377 00:18:27,600 --> 00:18:30,530 Donner un sens? 378 00:18:30,530 --> 00:18:33,420 >> Le deuxième terme est la probabilité de Gaga. 379 00:18:33,420 --> 00:18:34,360 Qu'est-ce que ça veut dire? 380 00:18:34,360 --> 00:18:38,550 Cela signifie essentiellement, ce qui est la probabilité de classer 381 00:18:38,550 --> 00:18:40,690 quelques paroles que Gaga? 382 00:18:40,690 --> 00:18:45,320 Et c'est un peu bizarre, mais Pensons d'un exemple. 383 00:18:45,320 --> 00:18:49,230 Donc, disons que la probabilité de avoir «bébé» dans une chanson est la même 384 00:18:49,230 --> 00:18:51,760 pour Gaga et Britney Spears. 385 00:18:51,760 --> 00:18:54,950 Mais Britney Spears a deux fois plus de chansons que Lady Gaga. 386 00:18:54,950 --> 00:19:00,570 Donc, si quelqu'un vous donne juste au hasard paroles de "bébé", la première chose que vous 387 00:19:00,570 --> 00:19:04,710 regarder est, quelle est la probabilité de avoir «bébé» dans une chanson Gaga, "bébé" 388 00:19:04,710 --> 00:19:05,410 dans une chanson de Britney? 389 00:19:05,410 --> 00:19:06,460 Et c'est la même chose. 390 00:19:06,460 --> 00:19:10,040 >> Ainsi, la deuxième chose que vous verrez est, bien, quelle est la probabilité de 391 00:19:10,040 --> 00:19:13,770 ces paroles par lui-même étant une parole de Gaga, et quelle est la probabilité de 392 00:19:13,770 --> 00:19:15,380 étant un lyrique Britney? 393 00:19:15,380 --> 00:19:18,950 Donc, puisque Britney a tellement plus paroles que Gaga, vous feriez probablement 394 00:19:18,950 --> 00:19:21,470 par exemple, eh bien, c'est probablement des paroles de Britney. 395 00:19:21,470 --> 00:19:23,340 Donc, c'est pourquoi nous avons ce appeler ici. 396 00:19:23,340 --> 00:19:24,670 Probabilité de Gaga. 397 00:19:24,670 --> 00:19:26,950 Fait sens? 398 00:19:26,950 --> 00:19:28,660 Est-ce que c'est? 399 00:19:28,660 --> 00:19:29,370 OK. 400 00:19:29,370 --> 00:19:33,500 >> Et le dernier est juste la probabilité de "bébé" qui ne fonctionne pas 401 00:19:33,500 --> 00:19:34,810 vraiment d'importance tant que ça. 402 00:19:34,810 --> 00:19:39,940 Mais c'est la probabilité de voir «bébé» en anglais. 403 00:19:39,940 --> 00:19:42,725 Nous avons l'habitude ne nous soucions pas que beaucoup sur ce terme. 404 00:19:42,725 --> 00:19:44,490 Cela fait-il sens? 405 00:19:44,490 --> 00:19:48,110 Ainsi, la probabilité de Gaga est appelée la probabilité a priori 406 00:19:48,110 --> 00:19:49,530 de la Gaga de classe. 407 00:19:49,530 --> 00:19:53,840 Parce que cela signifie simplement que, ce qui est la probabilité d'avoir cette classe - 408 00:19:53,840 --> 00:19:55,520 qui est Gaga - 409 00:19:55,520 --> 00:19:59,350 juste en général, tout sans conditions. 410 00:19:59,350 --> 00:20:02,560 >> Et puis quand j'ai probabilité de Gaga donné «bébé», nous l'appelons ainsi 411 00:20:02,560 --> 00:20:06,160 larmoyants une probabilité parce que c'est la probabilité d'avoir 412 00:20:06,160 --> 00:20:08,300 Gaga donné des preuves. 413 00:20:08,300 --> 00:20:11,050 Donc, je vais vous donner la preuve que j'ai vu le mot bébé et 414 00:20:11,050 --> 00:20:12,690 la chanson de sens? 415 00:20:12,690 --> 00:20:15,960 416 00:20:15,960 --> 00:20:16,410 OK. 417 00:20:16,410 --> 00:20:22,400 >> Donc, si j'ai calculé que pour chaque des chansons pour Lady Gaga, 418 00:20:22,400 --> 00:20:25,916 ce qui serait - 419 00:20:25,916 --> 00:20:27,730 apparemment, je ne peux pas déplacer ce. 420 00:20:27,730 --> 00:20:31,850 421 00:20:31,850 --> 00:20:36,920 La probabilité de Gaga sera quelque chose comme 2 sur 24 fois 1/2, 422 00:20:36,920 --> 00:20:38,260 plus de 2 sur 53. 423 00:20:38,260 --> 00:20:40,640 Ce n'est pas grave si vous savez ce que ces chiffres viennent. 424 00:20:40,640 --> 00:20:44,750 Mais c'est juste un nombre qui va à plus de 0, non? 425 00:20:44,750 --> 00:20:48,610 >> Et puis quand je fais Katy Perry, la probabilité de "bébé" donné Katy est 426 00:20:48,610 --> 00:20:49,830 déjà 0, non? 427 00:20:49,830 --> 00:20:52,820 Parce qu'il n'y a pas de "bébé" dans Katy Perry. 428 00:20:52,820 --> 00:20:56,360 Alors cela devient 0, et Gaga victoires, ce qui signifie qu'il est Gaga 429 00:20:56,360 --> 00:20:57,310 probablement le chanteur. 430 00:20:57,310 --> 00:20:58,560 Cela fait-il sens? 431 00:20:58,560 --> 00:21:00,700 432 00:21:00,700 --> 00:21:01,950 OK. 433 00:21:01,950 --> 00:21:04,160 434 00:21:04,160 --> 00:21:11,750 >> Donc, si je veux rendre cela plus officiel, Je peux réellement faire un modèle 435 00:21:11,750 --> 00:21:12,700 plusieurs mots. 436 00:21:12,700 --> 00:21:14,610 Alors disons que j'ai quelque chose comme, "bébé, je suis 437 00:21:14,610 --> 00:21:16,030 sur le feu », ou quelque chose. 438 00:21:16,030 --> 00:21:17,760 Ainsi, il a plusieurs mots. 439 00:21:17,760 --> 00:21:20,880 Et dans ce cas, vous pouvez voir que «bébé» est en Gaga, 440 00:21:20,880 --> 00:21:21,710 mais ce n'est pas à Katy. 441 00:21:21,710 --> 00:21:24,940 Et "feu" est à Katy, mais ce n'est pas dans Gaga, non? 442 00:21:24,940 --> 00:21:27,200 Il s'agit donc de faire plus compliqué, non? 443 00:21:27,200 --> 00:21:31,440 Parce qu'il semble que vous avez presque avoir un lien entre les deux. 444 00:21:31,440 --> 00:21:36,980 >> Donc ce que vous avez à faire est de supposer indépendance entre les mots. 445 00:21:36,980 --> 00:21:41,210 Donc, fondamentalement, ce que cela signifie, c'est que Je suis juste calculais quel est le 446 00:21:41,210 --> 00:21:44,330 probabilité de voir «bébé», ce qui est la probabilité de voir «je», et 447 00:21:44,330 --> 00:21:46,670 "Am", et "on" et "feu" tous séparément. 448 00:21:46,670 --> 00:21:48,670 Alors je multipliant chacun d'eux. 449 00:21:48,670 --> 00:21:52,420 Et je vois quelle est la probabilité de voir la phrase entière. 450 00:21:52,420 --> 00:21:55,210 Donner un sens? 451 00:21:55,210 --> 00:22:00,270 >> Donc, fondamentalement, si j'ai juste un mot, ce que je veux trouver le arg max, 452 00:22:00,270 --> 00:22:05,385 ce qui signifie, quelle est la classe qui est me donner le plus de chances? 453 00:22:05,385 --> 00:22:10,010 Alors, quelle est la classe qui donne moi la plus forte probabilité de 454 00:22:10,010 --> 00:22:11,940 probabilité de classe donné le mot. 455 00:22:11,940 --> 00:22:17,610 Donc dans ce cas, étant donné Gaga "bébé". Ou Katy donné "bébé". Donner un sens? 456 00:22:17,610 --> 00:22:21,040 >> Et de Bayes, qui équation que je l'ai montré, 457 00:22:21,040 --> 00:22:24,780 nous créons cette fraction. 458 00:22:24,780 --> 00:22:28,750 La seule chose est que vous voyez que la probabilité de la parole donnée 459 00:22:28,750 --> 00:22:31,370 changements de classe en fonction sur la classe, non? 460 00:22:31,370 --> 00:22:34,260 Le nombre d '"bébé" que j'ai dans Gaga est différente de Katy. 461 00:22:34,260 --> 00:22:37,640 La probabilité de la classe aussi changements parce que c'est juste le nombre 462 00:22:37,640 --> 00:22:39,740 de chansons chacun d'eux a. 463 00:22:39,740 --> 00:22:43,980 >> Mais la probabilité que le mot lui-même va être la même pour tous les 464 00:22:43,980 --> 00:22:44,740 artistes, non? 465 00:22:44,740 --> 00:22:47,150 Ainsi, la probabilité que le mot est juste, quelle est la probabilité de 466 00:22:47,150 --> 00:22:49,820 voir ce mot dans le Langue anglaise? 467 00:22:49,820 --> 00:22:51,420 Il est donc le même pour tous. 468 00:22:51,420 --> 00:22:55,790 Donc, puisque c'est constant, nous pouvons juste tomber cela et ne pas s'en soucier. 469 00:22:55,790 --> 00:23:00,230 Donc, ce sera effectivement le équation que nous recherchons. 470 00:23:00,230 --> 00:23:03,360 >> Et si j'ai plusieurs mots, je suis toujours avoir l'avant 471 00:23:03,360 --> 00:23:04,610 probabilité ici. 472 00:23:04,610 --> 00:23:06,980 La seule chose, c'est que je suis en multipliant la probabilité d' 473 00:23:06,980 --> 00:23:08,490 tous les autres mots. 474 00:23:08,490 --> 00:23:10,110 Je suis donc en multipliant chacun d'eux. 475 00:23:10,110 --> 00:23:12,610 Donner un sens? 476 00:23:12,610 --> 00:23:18,440 Il fait un peu bizarre mais signifie essentiellement, calculer l'avant de la classe, et 477 00:23:18,440 --> 00:23:22,100 puis multiplier le résultat par la probabilité de chaque des mots se trouvant dans cette catégorie. 478 00:23:22,100 --> 00:23:24,620 479 00:23:24,620 --> 00:23:29,150 >> Et vous savez que la probabilité d'un parole donnée une classe va être l' 480 00:23:29,150 --> 00:23:34,520 nombre de fois que vous voyez ce mot dans cette catégorie, divisée par le nombre d' 481 00:23:34,520 --> 00:23:37,020 mots que vous avez en ce que classe en général. 482 00:23:37,020 --> 00:23:37,990 Donner un sens? 483 00:23:37,990 --> 00:23:41,680 C'est juste la façon dont «bébé» était de 2 sur le nombre de mots que 484 00:23:41,680 --> 00:23:43,020 J'ai eu dans les paroles. 485 00:23:43,020 --> 00:23:45,130 Il suffit donc de la fréquence. 486 00:23:45,130 --> 00:23:46,260 >> Mais il est une chose. 487 00:23:46,260 --> 00:23:51,250 Rappelez-vous comment je montrais que le probabilité de "bébé" étant paroles 488 00:23:51,250 --> 00:23:56,350 de Katy Perry est 0 juste parce que Katy Perry n'avait pas «bébé» à tous? 489 00:23:56,350 --> 00:24:04,900 Mais il semble un peu dur à juste tout simplement dire que les paroles ne peuvent pas être de 490 00:24:04,900 --> 00:24:10,040 un artiste tout simplement parce qu'ils n'ont pas ce mot en particulier, à tout moment. 491 00:24:10,040 --> 00:24:13,330 >> Donc, vous pourriez dire, eh bien, si vous n'ont pas ce mot, je vais 492 00:24:13,330 --> 00:24:15,640 vous donnera une plus faible probabilité, mais je suis tout simplement pas se 493 00:24:15,640 --> 00:24:17,420 vous donnera 0 immédiatement. 494 00:24:17,420 --> 00:24:21,040 Parce que c'était peut-être quelque chose comme: "Feu, feu, feu, feu," qui est 495 00:24:21,040 --> 00:24:21,990 totalement Katy Perry. 496 00:24:21,990 --> 00:24:26,060 Et puis "bébé", et il va juste 0 tout de suite car il y avait un 497 00:24:26,060 --> 00:24:27,250 "Bébé". 498 00:24:27,250 --> 00:24:31,440 >> Donc, fondamentalement, ce que nous faisons quelque chose appelé Laplace lissage. 499 00:24:31,440 --> 00:24:36,260 Et cela signifie juste que je donne une probabilité même les mots 500 00:24:36,260 --> 00:24:37,850 qui n'existent pas. 501 00:24:37,850 --> 00:24:43,170 Donc ce que je fais, c'est que quand je suis calculer cela, j'ajoute toujours 1 à 502 00:24:43,170 --> 00:24:44,180 le numérateur. 503 00:24:44,180 --> 00:24:48,060 Ainsi, même si le mot n'existe pas, dans ce cas, si c'est 0, je suis toujours 504 00:24:48,060 --> 00:24:51,250 le calcul de ce que 1 sur le nombre total de mots. 505 00:24:51,250 --> 00:24:55,060 Sinon, je reçois le nombre de mots J'ai et je rajoute 1. 506 00:24:55,060 --> 00:24:58,300 Donc, je compte pour les deux cas. 507 00:24:58,300 --> 00:25:00,430 Donner un sens? 508 00:25:00,430 --> 00:25:03,060 >> Alors maintenant, nous allons faire un peu de codage. 509 00:25:03,060 --> 00:25:06,440 Je vais devoir le faire assez rapidement, mais c'est juste important que vous 510 00:25:06,440 --> 00:25:08,600 les gars à comprendre les concepts. 511 00:25:08,600 --> 00:25:13,450 Donc, ce que nous essayons de faire est exactement la mise en œuvre de cette 512 00:25:13,450 --> 00:25:14,330 chose que je viens de dire - 513 00:25:14,330 --> 00:25:19,110 Je veux que vous mettiez paroles de Lady Gaga et Katy Perry. 514 00:25:19,110 --> 00:25:22,980 Et le programme va être capable de dire si ces nouvelles paroles sont de Gaga 515 00:25:22,980 --> 00:25:24,170 ou Katy Perry. 516 00:25:24,170 --> 00:25:25,800 Donner un sens? 517 00:25:25,800 --> 00:25:27,530 OK. 518 00:25:27,530 --> 00:25:30,710 >> J'ai donc ce programme, je vais appeler classify.py. 519 00:25:30,710 --> 00:25:31,970 Donc, c'est Python. 520 00:25:31,970 --> 00:25:34,210 C'est un nouveau langage de programmation. 521 00:25:34,210 --> 00:25:38,020 Il est très similaire dans certaines façons de C et PHP. 522 00:25:38,020 --> 00:25:43,180 C'est la même chose parce que si vous voulez apprendre Python après sachant C, il est 523 00:25:43,180 --> 00:25:46,270 vraiment pas beaucoup d'un défi juste parce que Python est beaucoup plus facile 524 00:25:46,270 --> 00:25:47,520 à C, tout d'abord. 525 00:25:47,520 --> 00:25:49,370 Et beaucoup de choses sont déjà mis en place pour vous. 526 00:25:49,370 --> 00:25:56,820 Alors, comment comme PHP a des fonctions que trier une liste, ou ajouter quelque chose 527 00:25:56,820 --> 00:25:58,780 à un tableau, ou blah, blah, blah. 528 00:25:58,780 --> 00:26:00,690 Python a tous ceux aussi bien. 529 00:26:00,690 --> 00:26:05,960 >> Donc, je vais juste expliquer rapidement comment nous pourrions faire la classification 530 00:26:05,960 --> 00:26:07,860 problème pour ici. 531 00:26:07,860 --> 00:26:13,230 Alors disons que dans ce cas, je dois paroles de Gaga et Katy Perry. 532 00:26:13,230 --> 00:26:21,880 La manière que j'ai de ces paroles est que le premier mot des paroles est 533 00:26:21,880 --> 00:26:25,250 le nom de l'artiste, et le reste est les paroles. 534 00:26:25,250 --> 00:26:29,470 Alors disons que j'ai cette liste dont la première est paroles de Gaga. 535 00:26:29,470 --> 00:26:31,930 Donc ici, je suis sur la bonne voie. 536 00:26:31,930 --> 00:26:35,270 Et le prochain est Katy, et il a aussi les paroles. 537 00:26:35,270 --> 00:26:38,040 >> Donc, c'est la façon dont vous déclarez une variable en Python. 538 00:26:38,040 --> 00:26:40,200 Vous n'avez pas à donner le type de données. 539 00:26:40,200 --> 00:26:43,150 Vous venez d'écrire "paroles" Un peu comme en PHP. 540 00:26:43,150 --> 00:26:44,890 Donner un sens? 541 00:26:44,890 --> 00:26:47,770 >> Alors quelles sont les choses que je dois calculer pour être en mesure de calculer le 542 00:26:47,770 --> 00:26:49,360 probabilités? 543 00:26:49,360 --> 00:26:55,110 Je dois calculer les "a priori" de chacune des différentes 544 00:26:55,110 --> 00:26:56,710 les classes que j'ai. 545 00:26:56,710 --> 00:27:06,680 Je dois calculer les «a posteriori» ou à peu près les probabilités de 546 00:27:06,680 --> 00:27:12,150 chacun des différents mots que Je peux avoir pour chaque artiste. 547 00:27:12,150 --> 00:27:17,210 Donc dans Gaga, par exemple, je vais d'avoir une liste de combien de fois je vois 548 00:27:17,210 --> 00:27:19,250 chacun des mots. 549 00:27:19,250 --> 00:27:20,760 Donner un sens? 550 00:27:20,760 --> 00:27:25,370 >> Et enfin, je vais juste avoir un liste appelée «mots» qui va tout simplement 551 00:27:25,370 --> 00:27:29,780 d'avoir le nombre de mots que je avoir pour chaque artiste. 552 00:27:29,780 --> 00:27:33,760 Donc, pour Gaga, par exemple, quand je regarde les paroles, j'avais, je crois, 24 553 00:27:33,760 --> 00:27:34,750 mots au total. 554 00:27:34,750 --> 00:27:38,970 Donc, cette liste va juste avoir Gaga 24, et Katy autre numéro. 555 00:27:38,970 --> 00:27:40,130 Donner un sens? 556 00:27:40,130 --> 00:27:40,560 OK. 557 00:27:40,560 --> 00:27:42,530 >> Alors maintenant, en fait, nous allons aller à la codification. 558 00:27:42,530 --> 00:27:45,270 Donc en Python, vous pouvez réellement revenir un tas de différents 559 00:27:45,270 --> 00:27:46,630 choses de fonction. 560 00:27:46,630 --> 00:27:50,810 Donc, je vais créer cette fonction appelé «conditionnel», qui va 561 00:27:50,810 --> 00:27:53,890 à retourner toutes ces choses, la «antérieures», les «probabilités», et la 562 00:27:53,890 --> 00:28:05,690 «mots». Donc, «conditionnel», et c'est va être remise en "paroles". 563 00:28:05,690 --> 00:28:11,510 >> Alors maintenant, je veux que tu fait écrire cette fonction. 564 00:28:11,510 --> 00:28:17,750 Ainsi, la manière que je peux écrire ce fonction, c'est que je viens de définir ce 565 00:28:17,750 --> 00:28:20,620 fonctionner avec "def". J'ai donc fait "def conditionnelle », et c'est en prenant 566 00:28:20,620 --> 00:28:28,700 "Paroles". Et ce que cela va faire c'est, tout d'abord, j'ai mes a priori 567 00:28:28,700 --> 00:28:31,030 que je veux calculer. 568 00:28:31,030 --> 00:28:34,330 >> Ainsi, la manière que je peux faire est de créer un dictionnaire Python, qui 569 00:28:34,330 --> 00:28:37,320 est à peu près la même chose que d'un hachage table, ou c'est comme un processus itératif 570 00:28:37,320 --> 00:28:40,480 tableau en PHP. 571 00:28:40,480 --> 00:28:44,150 C'est ainsi que je déclare un dictionnaire. 572 00:28:44,150 --> 00:28:53,580 Et dans le fond ce que cela signifie, c'est que prieurs de Gaga est de 0,5, par exemple, si 573 00:28:53,580 --> 00:28:57,200 50% des textes sont de Gaga, 50% sont de Katy. 574 00:28:57,200 --> 00:28:58,450 Donner un sens? 575 00:28:58,450 --> 00:29:00,680 576 00:29:00,680 --> 00:29:03,680 Je dois donc comprendre comment pour calculer les prieurs. 577 00:29:03,680 --> 00:29:07,120 >> Les prochains que je dois faire, aussi, sont les probabilités et les mots. 578 00:29:07,120 --> 00:29:17,100 Donc, les probabilités de Gaga est la liste de toutes les probabilités que je 579 00:29:17,100 --> 00:29:19,160 avoir pour chacun des mots de Gaga. 580 00:29:19,160 --> 00:29:23,880 Donc, si je vais à des probabilités de Gaga «Bébé», par exemple, il va me donner 581 00:29:23,880 --> 00:29:28,750 quelque chose comme 2 sur 24 dans ce cas. 582 00:29:28,750 --> 00:29:30,070 Donner un sens? 583 00:29:30,070 --> 00:29:36,120 Donc, je vais à "probabilités", aller à la Seau "Gaga" qui a une liste de tous les 584 00:29:36,120 --> 00:29:40,550 les mots Gaga, alors je vais au "bébé" et je vois la probabilité. 585 00:29:40,550 --> 00:29:45,940 >> Et enfin j'ai cette "Mots" dictionnaire. 586 00:29:45,940 --> 00:29:53,620 Donc, ici, «probabilités». Et alors «mots». Donc, si je fais "mots", "Gaga" 587 00:29:53,620 --> 00:29:58,330 ce qui va se passer, c'est que c'est va me donner 24, disant que je 588 00:29:58,330 --> 00:30:01,990 avoir 24 mots dans des textes de Gaga. 589 00:30:01,990 --> 00:30:04,110 Fait sens? 590 00:30:04,110 --> 00:30:07,070 Donc, ici, "mots" égale dah-dah-dah. 591 00:30:07,070 --> 00:30:07,620 Bien 592 00:30:07,620 --> 00:30:12,210 >> Donc ce que je vais faire, c'est que je vais itération sur chacune des paroles, de sorte 593 00:30:12,210 --> 00:30:14,490 chacune des chaînes qui J'ai dans la liste. 594 00:30:14,490 --> 00:30:18,040 Et je vais calculer ces choses pour chacun des candidats. 595 00:30:18,040 --> 00:30:19,950 Fait sens? 596 00:30:19,950 --> 00:30:21,700 Je dois donc faire une boucle. 597 00:30:21,700 --> 00:30:26,300 >> Donc en Python ce que je peux faire, c'est "pour la ligne dans les paroles. "La même chose que 598 00:30:26,300 --> 00:30:28,000 "Pour chaque" déclaration en PHP. 599 00:30:28,000 --> 00:30:33,420 Rappelez-vous comment il était si PHP je pouvais dire "pour chaque chanson que 600 00:30:33,420 --> 00:30:35,220 ligne. "fait sens? 601 00:30:35,220 --> 00:30:38,900 Donc, je prends chacune des lignes, dans ce cas, cette chaîne et la prochaine 602 00:30:38,900 --> 00:30:44,540 chaîne si pour chacune des lignes que je suis vais faire, c'est d'abord, je vais 603 00:30:44,540 --> 00:30:49,150 diviser cette ligne dans une liste de mots séparés par des espaces. 604 00:30:49,150 --> 00:30:53,730 >> Donc, la chose cool à propos de Python est que Vous pouvez tout simplement Google comme "comment puis-je 605 00:30:53,730 --> 00:30:58,220 découper une chaîne en mots? "Et c'est vais vous dire comment le faire. 606 00:30:58,220 --> 00:31:04,890 Et la façon de le faire, c'est juste la ligne " = Line.split () "et il s'agit essentiellement d' 607 00:31:04,890 --> 00:31:08,640 vais vous donner une liste avec chacun des mots ici. 608 00:31:08,640 --> 00:31:09,620 Fait sens? 609 00:31:09,620 --> 00:31:15,870 Alors, maintenant que je l'ai fait, je veux savoir qui est le chanteur de cette chanson. 610 00:31:15,870 --> 00:31:20,130 Et pour faire ce que je viens d'obtenir le premier élément du tableau, non? 611 00:31:20,130 --> 00:31:26,390 Donc, je peux juste dire que je "chanteur = Ligne (0) "Logique? 612 00:31:26,390 --> 00:31:32,010 >> Et puis ce que je dois faire est d'abord tous, je vais mettre à jour le nombre de 613 00:31:32,010 --> 00:31:36,130 mots j'ai sous la rubrique «Gaga». donc je suis va calculer le nombre de mots que je 614 00:31:36,130 --> 00:31:38,690 avoir dans cette liste, non? 615 00:31:38,690 --> 00:31:41,910 Parce que c'est le nombre de mots que j'ai dans les paroles et je vais juste 616 00:31:41,910 --> 00:31:44,120 ajouter à la gamme «Gaga». 617 00:31:44,120 --> 00:31:47,090 Cela fait-il sens? 618 00:31:47,090 --> 00:31:49,010 Ne vous focalisez pas trop sur la syntaxe. 619 00:31:49,010 --> 00:31:50,430 Pensez davantage sur les concepts. 620 00:31:50,430 --> 00:31:52,400 C'est la partie la plus importante. 621 00:31:52,400 --> 00:31:52,720 OK. 622 00:31:52,720 --> 00:32:00,260 >> Donc, ce que je peux faire est si «Gaga» est déjà dans cette liste, "si chanteur 623 00:32:00,260 --> 00:32:03,190 mots "ce qui signifie que je l'ai déjà avoir des mots par Gaga. 624 00:32:03,190 --> 00:32:06,640 Je veux juste ajouter le supplément mots à ce sujet. 625 00:32:06,640 --> 00:32:15,810 Donc ce que je fais est "mots (chanteur) + = Len (ligne) - 1 ". 626 00:32:15,810 --> 00:32:18,250 Et puis je ne peux faire l' longueur de la ligne. 627 00:32:18,250 --> 00:32:21,860 Alors, comment de nombreux éléments I disposer dans la matrice. 628 00:32:21,860 --> 00:32:27,060 Et je dois faire moins 1 juste parce que le premier élément de la matrice est juste 629 00:32:27,060 --> 00:32:29,180 un chanteur et ceux qui ne sont pas des paroles. 630 00:32:29,180 --> 00:32:31,420 Fait sens? 631 00:32:31,420 --> 00:32:32,780 OK. 632 00:32:32,780 --> 00:32:35,820 >> "Sinon," cela signifie que je veux réellement insérer Gaga dans la liste. 633 00:32:35,820 --> 00:32:45,990 Donc, je viens de faire "des mots (chanteur) = Len (ligne) - 1, "désolé. 634 00:32:45,990 --> 00:32:49,200 Donc, la seule différence entre les deux lignes, c'est que celui-ci, ce n'est pas 635 00:32:49,200 --> 00:32:51,080 J'existe, donc je suis initialisation. 636 00:32:51,080 --> 00:32:53,820 Celui-ci je suis effectivement d'ajouter. 637 00:32:53,820 --> 00:32:55,570 OK. 638 00:32:55,570 --> 00:32:59,480 Donc, cela a été d'ajouter des mots. 639 00:32:59,480 --> 00:33:03,040 >> Maintenant, je tiens à ajouter aux prieurs. 640 00:33:03,040 --> 00:33:05,480 Alors, comment puis-je calculer les probabilités a priori? 641 00:33:05,480 --> 00:33:11,580 Les prieurs peuvent être calculées par le nombre de fois. 642 00:33:11,580 --> 00:33:15,340 Alors, combien de temps vous voyez que le chanteur parmi tous les chanteurs que vous 643 00:33:15,340 --> 00:33:16,380 avoir, non? 644 00:33:16,380 --> 00:33:18,810 Donc, pour Gaga et Katy Perry, dans ce cas, je vois Gaga 645 00:33:18,810 --> 00:33:20,570 fois, Katy Perry fois. 646 00:33:20,570 --> 00:33:23,320 >> Donc, fondamentalement, les prieurs de Gaga et pour Katy Perry serait 647 00:33:23,320 --> 00:33:24,390 juste être une, non? 648 00:33:24,390 --> 00:33:26,500 Vous avez juste combien de fois Je vois l'artiste. 649 00:33:26,500 --> 00:33:28,740 Donc, c'est très facile à calculer. 650 00:33:28,740 --> 00:33:34,100 Je peux juste quelque chose de semblable que comme "si chanteur a priori, «Je vais juste 651 00:33:34,100 --> 00:33:38,970 ajouter 1 à leur boîte de prieurs. 652 00:33:38,970 --> 00:33:51,000 Donc, "a priori (chanter)« + = 1 ", puis" autre " Je vais faire "a priori (chanteur) 653 00:33:51,000 --> 00:33:55,000 = 1 ". Logique? 654 00:33:55,000 --> 00:34:00,080 >> Donc, si elle n'existe pas, je viens de mettre comme une, sinon je viens d'ajouter 1. 655 00:34:00,080 --> 00:34:11,280 OK, maintenant tout ce que j'ai laissé faire est également ajouter chacun des mots à l' 656 00:34:11,280 --> 00:34:12,290 probabilités. 657 00:34:12,290 --> 00:34:14,889 Je dois donc compter combien de fois Je vois chacun des mots. 658 00:34:14,889 --> 00:34:18,780 Donc, je viens de faire un autre pour la boucle de la ligne. 659 00:34:18,780 --> 00:34:25,190 >> Donc la première chose que je vais faire est vérifier si le chanteur a déjà une 660 00:34:25,190 --> 00:34:26,969 probabilités tableau. 661 00:34:26,969 --> 00:34:31,739 Donc, je vérifie si le chanteur ne encore un tableau de probabilités, je suis juste 662 00:34:31,739 --> 00:34:34,480 va initialiser un pour eux. 663 00:34:34,480 --> 00:34:36,400 Ce n'est même pas un tableau, désolé, c'est un dictionnaire. 664 00:34:36,400 --> 00:34:43,080 Donc, les probabilités de la chanteuse va d'être un dictionnaire ouvert, donc je suis 665 00:34:43,080 --> 00:34:45,830 juste initialiser un dictionnaire pour elle. 666 00:34:45,830 --> 00:34:46,820 OK? 667 00:34:46,820 --> 00:34:58,330 >> Et maintenant, je peux réellement faire une boucle for pour calculer chacun des mots " 668 00:34:58,330 --> 00:35:00,604 probabilités. 669 00:35:00,604 --> 00:35:01,540 OK. 670 00:35:01,540 --> 00:35:04,160 Donc ce que je peux faire, c'est une boucle for. 671 00:35:04,160 --> 00:35:06,590 Donc, je vais simplement parcourir sur le tableau. 672 00:35:06,590 --> 00:35:15,320 Ainsi, la manière que je peux le faire en Python est "for i in range." De 1 673 00:35:15,320 --> 00:35:19,200 parce que je veux commencer dans la deuxième élément parce que le premier est la 674 00:35:19,200 --> 00:35:20,260 nom de la chanteuse. 675 00:35:20,260 --> 00:35:24,990 Donc, d'une place à l' longueur de la ligne. 676 00:35:24,990 --> 00:35:29,760 Et quand je ne range il fait passer de comme ici de 1 à len de l' 677 00:35:29,760 --> 00:35:30,740 ligne moins 1. 678 00:35:30,740 --> 00:35:33,810 Donc, il fait déjà ce truc de faire n moins 1 pour les tableaux qui est très 679 00:35:33,810 --> 00:35:35,500 pratique. 680 00:35:35,500 --> 00:35:37,850 Fait sens? 681 00:35:37,850 --> 00:35:42,770 >> Donc, pour chacun d'eux, ce que je vais faire est, tout comme dans l'autre, 682 00:35:42,770 --> 00:35:50,320 Je vais vérifier si le mot dans ce position dans la ligne est déjà en 683 00:35:50,320 --> 00:35:51,570 probabilités. 684 00:35:51,570 --> 00:35:53,400 685 00:35:53,400 --> 00:35:57,260 Et puis comme je l'ai dit ici, les probabilités mots, comme dans j'ai mis 686 00:35:57,260 --> 00:35:58,400 «probabilités (chanteur)". 687 00:35:58,400 --> 00:35:59,390 Ainsi, le nom de la chanteuse. 688 00:35:59,390 --> 00:36:03,450 Donc, si il est déjà en "Probabilit (chanteur)", cela signifie que je 689 00:36:03,450 --> 00:36:11,960 tiens à ajouter 1 à, donc je vais faire "probabilités (chanteur)», et la 690 00:36:11,960 --> 00:36:14,100 mot est appelé "ligne (i)». 691 00:36:14,100 --> 00:36:22,630 Je vais ajouter 1 et "else" Je suis juste va initialiser à 1. 692 00:36:22,630 --> 00:36:23,880 "Ligne (i)». 693 00:36:23,880 --> 00:36:26,920 694 00:36:26,920 --> 00:36:28,420 Fait sens? 695 00:36:28,420 --> 00:36:30,180 >> Donc, j'ai calculé tous les tableaux. 696 00:36:30,180 --> 00:36:36,580 Donc, maintenant tout ce que j'ai à faire pour celui-ci est de «renvoyer priori, 697 00:36:36,580 --> 00:36:43,230 probabilités et des mots. "Allons voir s'il y en a, OK. 698 00:36:43,230 --> 00:36:45,690 Il semble que tout fonctionne jusqu'à présent. 699 00:36:45,690 --> 00:36:46,900 Donc, cela fait sens? 700 00:36:46,900 --> 00:36:47,750 D'une certaine manière? 701 00:36:47,750 --> 00:36:49,280 OK. 702 00:36:49,280 --> 00:36:51,980 Alors maintenant, j'ai toutes les probabilités. 703 00:36:51,980 --> 00:36:55,100 Alors maintenant, la seule chose que j'ai à gauche est juste pour avoir cette chose qui 704 00:36:55,100 --> 00:36:58,650 calcule le produit de tous les probabilités quand je reçois les paroles. 705 00:36:58,650 --> 00:37:06,270 >> Alors disons que je veux appeler cette fonction "classer ()" et la 706 00:37:06,270 --> 00:37:08,880 chose que la fonction prend est juste un argument. 707 00:37:08,880 --> 00:37:13,170 Disons que "Bébé, je suis sur le feu" et c'est va comprendre ce qui est la 708 00:37:13,170 --> 00:37:14,490 probabilité que ce n'est Gaga? 709 00:37:14,490 --> 00:37:16,405 Quelle est la probabilité que c'est Katie? 710 00:37:16,405 --> 00:37:19,690 Ça sonne bien? 711 00:37:19,690 --> 00:37:25,750 Donc, je vais juste avoir à créer un nouvelle fonction appelée «classer ()" et 712 00:37:25,750 --> 00:37:29,180 ça va prendre un certain paroles aussi. 713 00:37:29,180 --> 00:37:31,790 714 00:37:31,790 --> 00:37:36,160 Et d'ailleurs les paroles J'ai aussi avoir à envoyer les prieurs, la 715 00:37:36,160 --> 00:37:37,700 probabilités et les mots. 716 00:37:37,700 --> 00:37:44,000 Donc, je vais envoyer les paroles, a priori, probabilités, mots. 717 00:37:44,000 --> 00:37:51,840 >> Donc, cela prend paroles, a priori, probabilités, mots. 718 00:37:51,840 --> 00:37:53,530 Alors, que fait-il? 719 00:37:53,530 --> 00:37:57,180 Il est essentiellement va passer par tous les candidats possibles que vous 720 00:37:57,180 --> 00:37:58,510 avoir en tant que chanteur. 721 00:37:58,510 --> 00:37:59,425 Et où sont les candidats? 722 00:37:59,425 --> 00:38:01,020 Ils sont dans les prieurs, non? 723 00:38:01,020 --> 00:38:02,710 J'ai donc tout de ceux là. 724 00:38:02,710 --> 00:38:07,870 Donc, je vais avoir un dictionnaire de tous les candidats possibles. 725 00:38:07,870 --> 00:38:14,220 Et puis, pour chaque candidat à la a priori, donc cela signifie qu'il va 726 00:38:14,220 --> 00:38:17,740 être Gaga, Katie si j'avais de plus, il serait plus. 727 00:38:17,740 --> 00:38:20,410 Je vais commencer à calculer cette probabilité. 728 00:38:20,410 --> 00:38:28,310 La probabilité que nous avons vu dans la PowerPoint est le temps avant la 729 00:38:28,310 --> 00:38:30,800 produit de chacun des d'autres probabilités. 730 00:38:30,800 --> 00:38:32,520 >> Donc, je peux faire la même chose ici. 731 00:38:32,520 --> 00:38:36,330 Je peux juste faire probabilité est d'abord juste avant le. 732 00:38:36,330 --> 00:38:40,340 Donc a priori du candidat. 733 00:38:40,340 --> 00:38:40,870 Droite? 734 00:38:40,870 --> 00:38:45,360 Et maintenant, je dois parcourir tout le mots que j'ai dans les paroles d'être 735 00:38:45,360 --> 00:38:48,820 en mesure d'ajouter de la probabilité pour chacun d'eux, OK? 736 00:38:48,820 --> 00:38:57,900 Ainsi, «pour mot dans les paroles" ce que je vais à faire est, si le mot est en 737 00:38:57,900 --> 00:39:01,640 «probabilités (candidats)», qui signifie que c'est un mot que l' 738 00:39:01,640 --> 00:39:03,640 candidat a dans leurs paroles - 739 00:39:03,640 --> 00:39:05,940 par exemple, «bébé» de Gaga - 740 00:39:05,940 --> 00:39:11,710 ce que je vais faire, c'est que la probabilité va être multiplié 741 00:39:11,710 --> 00:39:22,420 par 1 plus les probabilités de le candidat à ce mot. 742 00:39:22,420 --> 00:39:25,710 Et il a appelé "mot". 743 00:39:25,710 --> 00:39:32,440 Cette divisé par le nombre de mots que j'ai pour ce candidat. 744 00:39:32,440 --> 00:39:37,450 Le nombre total de mots que j'ai pour le chanteur que je suis à la recherche. 745 00:39:37,450 --> 00:39:40,290 >> "Else". cela signifie qu'il s'agit d'un nouveau mot il serait comme par exemple 746 00:39:40,290 --> 00:39:41,860 «Feu» pour Lady Gaga. 747 00:39:41,860 --> 00:39:45,760 Donc, je veux juste faire une plus "Mot (candidat)". 748 00:39:45,760 --> 00:39:47,710 Donc, je ne veux pas mettre ce terme ici. 749 00:39:47,710 --> 00:39:50,010 >> Donc ça va être essentiellement copier et coller ce. 750 00:39:50,010 --> 00:39:54,380 751 00:39:54,380 --> 00:39:56,000 Mais je vais supprimer cette partie. 752 00:39:56,000 --> 00:39:57,610 Donc, il va juste être une dessus. 753 00:39:57,610 --> 00:40:00,900 754 00:40:00,900 --> 00:40:02,150 Ça sonne bien? 755 00:40:02,150 --> 00:40:03,980 756 00:40:03,980 --> 00:40:09,700 Et maintenant, à la fin, je vais juste imprimer le nom du candidat et 757 00:40:09,700 --> 00:40:15,750 la probabilité que vous avez de ayant le S sur leurs paroles. 758 00:40:15,750 --> 00:40:16,200 Fait sens? 759 00:40:16,200 --> 00:40:18,390 Et je n'ai même pas fait besoin de ce dictionnaire. 760 00:40:18,390 --> 00:40:19,510 Fait sens? 761 00:40:19,510 --> 00:40:21,810 >> Donc, nous allons voir si cela fonctionne réellement. 762 00:40:21,810 --> 00:40:24,880 Donc, si je lance ce fait, il n'a pas fonctionné. 763 00:40:24,880 --> 00:40:26,130 Attendez une seconde. 764 00:40:26,130 --> 00:40:28,870 765 00:40:28,870 --> 00:40:31,720 "Mots (candidats)", "les mots (candidats)», c'est 766 00:40:31,720 --> 00:40:33,750 le nom du tableau. 767 00:40:33,750 --> 00:40:41,435 OK Donc, il dit qu'il ya un bug pour le candidat à priori. 768 00:40:41,435 --> 00:40:46,300 769 00:40:46,300 --> 00:40:48,760 Permettez-moi tout simplement se détendre un peu. 770 00:40:48,760 --> 00:40:50,360 OK. 771 00:40:50,360 --> 00:40:51,305 Essayons. 772 00:40:51,305 --> 00:40:51,720 OK. 773 00:40:51,720 --> 00:40:58,710 >> Ainsi, il donne Katy Perry a cette cette probabilité de 10 fois à l' 774 00:40:58,710 --> 00:41:02,200 moins 7, et Gaga a ce 10 fois au moins 6. 775 00:41:02,200 --> 00:41:05,610 Donc, vous voyez, il montre que Gaga a une plus grande probabilité. 776 00:41:05,610 --> 00:41:09,260 Donc, "Bébé, je suis sur le feu" est probablement une chanson Gaga. 777 00:41:09,260 --> 00:41:10,580 Fait sens? 778 00:41:10,580 --> 00:41:12,030 C'est donc ce que nous avons fait. 779 00:41:12,030 --> 00:41:16,010 >> Ce code va être mis en ligne, si vous les gars peuvent le vérifier. 780 00:41:16,010 --> 00:41:20,720 Peut-être en utiliser une partie pour si vous voulez faire un projet ou quelque chose de semblable. 781 00:41:20,720 --> 00:41:22,150 OK. 782 00:41:22,150 --> 00:41:25,930 C'était juste pour montrer ce calcul 783 00:41:25,930 --> 00:41:27,230 code linguistique ressemble. 784 00:41:27,230 --> 00:41:33,040 Mais maintenant, passons à plus substance de haut niveau. 785 00:41:33,040 --> 00:41:33,340 OK. 786 00:41:33,340 --> 00:41:35,150 >> Ainsi, les autres problèmes que j'ai parlait de - 787 00:41:35,150 --> 00:41:37,550 le problème de la segmentation est le premier d'entre eux. 788 00:41:37,550 --> 00:41:40,820 Donc, vous avez ici japonaise. 789 00:41:40,820 --> 00:41:43,420 Et puis vous voyez que il n'y a pas d'espaces. 790 00:41:43,420 --> 00:41:49,110 Donc, ce n'est signifie fondamentalement que c'est haut de la chaire, non? 791 00:41:49,110 --> 00:41:50,550 Vous parlez japonais? 792 00:41:50,550 --> 00:41:52,840 C'est le haut de la chaise, non? 793 00:41:52,840 --> 00:41:54,480 >> Étudiant: Je ne sais pas ce que le kanji là est. 794 00:41:54,480 --> 00:41:57,010 >> LUCAS FREITAS: C'est [PARLER JAPONAIS] 795 00:41:57,010 --> 00:41:57,950 OK. 796 00:41:57,950 --> 00:42:00,960 Donc, cela signifie essentiellement président du haut. 797 00:42:00,960 --> 00:42:03,620 Donc, si vous aviez à mettre un espace il serait ici. 798 00:42:03,620 --> 00:42:05,970 Et puis vous avez [? Ueda-san. ?] 799 00:42:05,970 --> 00:42:09,040 Ce qui signifie essentiellement M. Ueda. 800 00:42:09,040 --> 00:42:13,180 Et vous verrez que "Ueda" et vous avez une espace, puis "san". Donc, vous voyez que 801 00:42:13,180 --> 00:42:15,470 ici vous "Ue", c'est comme de lui-même. 802 00:42:15,470 --> 00:42:17,750 Et ici, il a un caractère à côté de lui. 803 00:42:17,750 --> 00:42:21,720 >> Donc, ce n'est pas comme dans les langues caractères signifiant un mot afin que vous 804 00:42:21,720 --> 00:42:23,980 vient de mettre beaucoup d'espaces. 805 00:42:23,980 --> 00:42:25,500 Caractères se rapportent les uns aux autres. 806 00:42:25,500 --> 00:42:28,680 Et ils peuvent être ensemble comme deux, trois, un. 807 00:42:28,680 --> 00:42:34,520 Donc, vous avez fait de créer une sorte de façon de mettre ces espaces. 808 00:42:34,520 --> 00:42:38,850 >> Et cette chose, c'est que chaque fois que vous obtenez les données de ces langues asiatiques, 809 00:42:38,850 --> 00:42:40,580 tout vient non segmenté. 810 00:42:40,580 --> 00:42:45,940 Parce que personne qui écrit japonais ou chinois écrit avec des espaces. 811 00:42:45,940 --> 00:42:48,200 Chaque fois que vous l'écriture chinoise, Japonais vous suffit d'écrire tout 812 00:42:48,200 --> 00:42:48,710 sans espaces. 813 00:42:48,710 --> 00:42:52,060 Il n'a même pas de sens à mettre des espaces. 814 00:42:52,060 --> 00:42:57,960 Alors quand vous obtenez les données de certains Langue Asie de l'Est, si vous voulez 815 00:42:57,960 --> 00:43:00,760 réellement faire quelque chose avec ce vous devez premier segment. 816 00:43:00,760 --> 00:43:05,130 >> Pensez à faire l'exemple de les paroles sans espaces. 817 00:43:05,130 --> 00:43:07,950 Donc, les seules paroles que vous avez seront phrases, non? 818 00:43:07,950 --> 00:43:09,470 Séparés par des points. 819 00:43:09,470 --> 00:43:13,930 Mais ayant juste la phrase sera pas vraiment aider à donner des informations 820 00:43:13,930 --> 00:43:17,760 de qui ces paroles sont de. 821 00:43:17,760 --> 00:43:18,120 Droite? 822 00:43:18,120 --> 00:43:20,010 Donc, vous devriez met places de première. 823 00:43:20,010 --> 00:43:21,990 Alors, comment pouvez-vous faire cela? 824 00:43:21,990 --> 00:43:24,920 >> Alors vient l'idée d'une langue modèle qui est quelque chose de vraiment 825 00:43:24,920 --> 00:43:26,870 de calcul important pour linguistique. 826 00:43:26,870 --> 00:43:32,790 Ainsi, un modèle de langage est essentiellement un table des probabilités que des spectacles 827 00:43:32,790 --> 00:43:36,260 tout d'abord quelle est la probabilité d'avoir le mot dans une langue? 828 00:43:36,260 --> 00:43:39,590 Donc, montrant comment un mot est fréquent. 829 00:43:39,590 --> 00:43:43,130 Et puis en montrant aussi la relation entre les mots dans une phrase. 830 00:43:43,130 --> 00:43:51,500 >> Donc, l'idée principale est que, si un étranger est venu à vous et dit une phrase 831 00:43:51,500 --> 00:43:55,600 vous, quelle est la probabilité que, pour exemple, «c'est ma sœur [? FTE»?] 832 00:43:55,600 --> 00:43:57,480 était la peine que la personne a dit? 833 00:43:57,480 --> 00:44:00,380 Alors, évidemment, certaines phrases sont plus fréquents que d'autres. 834 00:44:00,380 --> 00:44:04,450 Par exemple, «bonjour» ou «bonne nuit »ou« hé là, "est beaucoup plus 835 00:44:04,450 --> 00:44:08,260 commune que la plupart des phrases que nous avons un Anglais. 836 00:44:08,260 --> 00:44:11,060 Alors pourquoi ces phrases plus fréquents? 837 00:44:11,060 --> 00:44:14,060 >> Tout d'abord, c'est parce que vous avez des mots qui sont plus fréquentes. 838 00:44:14,060 --> 00:44:20,180 Ainsi, par exemple, si vous dites, le chien est grand, et le chien est gigantesque, vous 839 00:44:20,180 --> 00:44:23,880 habituellement probablement entendre le chien est grand le plus souvent parce que «grand» est plus 840 00:44:23,880 --> 00:44:27,260 fréquent en anglais que «gigantesque». Ainsi, l'un des 841 00:44:27,260 --> 00:44:30,100 choses est la fréquence des mots. 842 00:44:30,100 --> 00:44:34,490 >> La deuxième chose qui est vraiment important est juste l' 843 00:44:34,490 --> 00:44:35,490 ordre des mots. 844 00:44:35,490 --> 00:44:39,500 Ainsi, il est courant de dire "le chat est l'intérieur de la boîte. "mais vous n'avez pas l'habitude 845 00:44:39,500 --> 00:44:44,250 voir dans "La boîte à l'intérieur est le chat." si vous voyez qu'il ya une certaine importance 846 00:44:44,250 --> 00:44:46,030 dans l'ordre des mots. 847 00:44:46,030 --> 00:44:50,160 Vous ne pouvez pas simplement dire que ces deux phrases ont la même probabilité 848 00:44:50,160 --> 00:44:53,010 juste parce qu'ils ont les mêmes mots. 849 00:44:53,010 --> 00:44:55,550 Vous avez fait de prendre soin sur commande ainsi. 850 00:44:55,550 --> 00:44:57,650 Donner un sens? 851 00:44:57,650 --> 00:44:59,490 >> Alors, que faisons-nous? 852 00:44:59,490 --> 00:45:01,550 Donc ce que je pourrais essayer de vous obtenir? 853 00:45:01,550 --> 00:45:04,400 J'essaie de vous ce que nous appeler les modèles n-grammes. 854 00:45:04,400 --> 00:45:09,095 Alors modèles n-grammes essentiellement supposent que, pour chaque mot qui 855 00:45:09,095 --> 00:45:10,960 vous avez dans une phrase. 856 00:45:10,960 --> 00:45:15,020 C'est la probabilité d'avoir que mot il dépend non seulement de l' 857 00:45:15,020 --> 00:45:18,395 la fréquence de ce mot dans la langue, mais aussi sur des mots qui 858 00:45:18,395 --> 00:45:19,860 sont l'entoure. 859 00:45:19,860 --> 00:45:25,810 >> Ainsi, par exemple, généralement lorsque vous voyez quelque chose comme sur ou à vous 860 00:45:25,810 --> 00:45:28,040 probablement aller voir un nom après, non? 861 00:45:28,040 --> 00:45:31,750 Parce que quand vous avez une préposition habituellement il prend un nom après. 862 00:45:31,750 --> 00:45:35,540 Ou si vous avez un verbe qui est transitive vous êtes habituellement allez 863 00:45:35,540 --> 00:45:36,630 un syntagme nominal. 864 00:45:36,630 --> 00:45:38,780 Cela va donc avoir un nom quelque part autour de lui. 865 00:45:38,780 --> 00:45:44,950 >> Donc, en gros, ce qu'il fait, c'est qu'il estime la probabilité d'avoir 866 00:45:44,950 --> 00:45:47,960 mots à côté de l'autre, lorsque vous calculez la 867 00:45:47,960 --> 00:45:49,050 probabilité d'une phrase. 868 00:45:49,050 --> 00:45:50,960 Et c'est ce que la langue modèle est fondamentalement. 869 00:45:50,960 --> 00:45:54,620 Il suffit de dire quelle est la probabilité d'avoir un spécifique 870 00:45:54,620 --> 00:45:57,120 phrase dans une langue? 871 00:45:57,120 --> 00:45:59,110 Alors pourquoi est-ce utile, fondamentalement? 872 00:45:59,110 --> 00:46:02,390 Et d'abord ce qui est un modèle n-gramme, alors? 873 00:46:02,390 --> 00:46:08,850 >> Donc signifie un modèle n-gramme que chaque mot dépend de la 874 00:46:08,850 --> 00:46:12,700 prochaine N moins 1 mots. 875 00:46:12,700 --> 00:46:18,150 Donc, en gros, cela signifie que si je regarde, par exemple, à la TF CS50 quand 876 00:46:18,150 --> 00:46:21,500 Je le calcul de la probabilité de la phrase, vous serez comme "la 877 00:46:21,500 --> 00:46:25,280 probabilité d'avoir le mot "la" fois la probabilité d'avoir "l' 878 00:46:25,280 --> 00:46:31,720 CS50 "fois la probabilité d'avoir "Le TF CS50." Donc, en gros, je compte 879 00:46:31,720 --> 00:46:35,720 tous les moyens possibles de l'étirer. 880 00:46:35,720 --> 00:46:41,870 >> Et puis généralement lorsque vous faites cela, comme dans un projet, vous mettez N être 881 00:46:41,870 --> 00:46:42,600 une valeur faible. 882 00:46:42,600 --> 00:46:45,930 Ainsi, ont généralement bigrammes ou trigrammes. 883 00:46:45,930 --> 00:46:51,090 Alors que vous venez de compter deux mots, un groupe de deux mots ou trois mots, 884 00:46:51,090 --> 00:46:52,620 juste des problèmes de performance. 885 00:46:52,620 --> 00:46:56,395 Et aussi parce que peut-être si vous avez quelque chose comme "Le TF CS50." Lorsque vous 886 00:46:56,395 --> 00:47:00,510 ont «TF», il est très important que "CS50" est à côté de lui, non? 887 00:47:00,510 --> 00:47:04,050 Ces deux choses sont généralement à côté de l'autre. 888 00:47:04,050 --> 00:47:06,410 >> Si vous pensez de "TF", c'est probablement va avoir ce 889 00:47:06,410 --> 00:47:07,890 classe il est TF'ing pour. 890 00:47:07,890 --> 00:47:11,330 Aussi "la" est vraiment important pour CS50 TF. 891 00:47:11,330 --> 00:47:14,570 Mais si vous avez quelque chose comme "Le CS50 TF est allé à la classe et ont donné leur 892 00:47:14,570 --> 00:47:20,060 étudiants des bonbons. "" Candy "et" le " n'ont aucune relation vraiment, non? 893 00:47:20,060 --> 00:47:23,670 Ils sont si éloignés les uns des autres que il n'a pas vraiment d'importance ce que 894 00:47:23,670 --> 00:47:25,050 mots que vous avez. 895 00:47:25,050 --> 00:47:31,210 >> Donc, en faisant un bigramme ou un trigramme, il signifie simplement que vous êtes en limitant 896 00:47:31,210 --> 00:47:33,430 vous quelques mots qui sont autour. 897 00:47:33,430 --> 00:47:35,810 Donner un sens? 898 00:47:35,810 --> 00:47:40,630 Ainsi, lorsque vous voulez faire la segmentation, fondamentalement, ce que vous voulez faire est de voir 899 00:47:40,630 --> 00:47:44,850 ce sont tous les moyens possibles que vous pouvez segmenter la phrase. 900 00:47:44,850 --> 00:47:49,090 >> De telle sorte que vous voyez ce qui est le probabilité de chacune de ces phrases 901 00:47:49,090 --> 00:47:50,880 existant dans la langue? 902 00:47:50,880 --> 00:47:53,410 Donc, ce que vous faites, c'est comme, bien, laissez- moi d'essayer de mettre un espace ici. 903 00:47:53,410 --> 00:47:55,570 Si vous mettez un espace, il et vous voyez ce qui est le 904 00:47:55,570 --> 00:47:57,590 probabilité de cette phrase? 905 00:47:57,590 --> 00:48:00,240 Alors vous êtes comme, OK, peut-être ce n'était pas très bon. 906 00:48:00,240 --> 00:48:03,420 Alors, j'ai mis un espace là-bas et un espace il, et vous calculez le 907 00:48:03,420 --> 00:48:06,240 probabilité maintenant, et vous voyez que c'est une probabilité plus élevée. 908 00:48:06,240 --> 00:48:12,160 >> Donc, c'est un algorithme appelé le TANGO algorithme de segmentation, qui est 909 00:48:12,160 --> 00:48:14,990 effectivement quelque chose qui serait vraiment cool pour un projet, qui 910 00:48:14,990 --> 00:48:20,860 prend essentiellement texte non segmenté qui peut être japonais ou chinois ou peut-être 911 00:48:20,860 --> 00:48:26,080 Anglais sans espaces et tente de mettre espaces entre les mots et il ne 912 00:48:26,080 --> 00:48:29,120 que, en utilisant un modèle de langage, et essayer de voir ce qui est le plus 913 00:48:29,120 --> 00:48:31,270 probabilité que vous pouvez obtenir. 914 00:48:31,270 --> 00:48:32,230 OK. 915 00:48:32,230 --> 00:48:33,800 Donc, c'est la segmentation. 916 00:48:33,800 --> 00:48:35,450 >> Maintenant syntaxe. 917 00:48:35,450 --> 00:48:40,940 Ainsi, la syntaxe est utilisée pour tant de choses en ce moment. 918 00:48:40,940 --> 00:48:44,880 Donc, pour Graph Recherche, pour Siri pour à peu près n'importe quel type de naturel 919 00:48:44,880 --> 00:48:46,490 traitement de la langue que vous avez. 920 00:48:46,490 --> 00:48:49,140 Donc, ce sont les importantes choses sur la syntaxe? 921 00:48:49,140 --> 00:48:52,390 Ainsi, les peines ont en général ce que nous appelons les constituants. 922 00:48:52,390 --> 00:48:57,080 Qui sont un peu comme des groupes de mots qui ont une fonction dans la phrase. 923 00:48:57,080 --> 00:49:02,220 Et ils ne peuvent pas vraiment être les uns des autres. 924 00:49:02,220 --> 00:49:07,380 >> Donc, si je dis, par exemple, "aime Lauren Milo. «Je sais que" Lauren "est un 925 00:49:07,380 --> 00:49:10,180 constituant et puis "amours Milo "est également une autre. 926 00:49:10,180 --> 00:49:16,860 Parce que vous ne pouvez pas dire comme "Lauren Milo aime "avoir la même signification. 927 00:49:16,860 --> 00:49:18,020 Il ne va pas avoir la même signification. 928 00:49:18,020 --> 00:49:22,500 Ou je ne peux pas dire comme "Milo Lauren aime. "Tout n'a pas la même 929 00:49:22,500 --> 00:49:25,890 ce qui signifie faire. 930 00:49:25,890 --> 00:49:31,940 >> Donc, les deux choses les plus importantes sur syntaxe sont les types lexicaux qui est 931 00:49:31,940 --> 00:49:35,390 essentiellement la fonction que avoir des mots eux-mêmes. 932 00:49:35,390 --> 00:49:39,180 Donc, vous devez savoir que "Lauren" et "Milo" sont des noms. 933 00:49:39,180 --> 00:49:41,040 "Love" est un verbe. 934 00:49:41,040 --> 00:49:45,660 Et la deuxième chose importante est qu'ils sont les types particule. 935 00:49:45,660 --> 00:49:48,990 Donc, vous savez que «aime Milo" est en fait une expression verbale. 936 00:49:48,990 --> 00:49:52,390 Donc, quand je dis «Lauren», je sais que Lauren fait quelque chose. 937 00:49:52,390 --> 00:49:53,620 Que fait-elle? 938 00:49:53,620 --> 00:49:54,570 Elle adore Milo. 939 00:49:54,570 --> 00:49:56,440 C'est donc l'ensemble rien. 940 00:49:56,440 --> 00:50:01,640 Mais ses composants sont un nom et un verbe. 941 00:50:01,640 --> 00:50:04,210 Mais ensemble, ils font un syntagme verbal. 942 00:50:04,210 --> 00:50:08,680 >> Alors, que pouvons-nous faire en fait avec linguistique computationnelle? 943 00:50:08,680 --> 00:50:13,810 Donc, si j'ai quelque chose pour exemple "les amis de Allison." Je vois si je 944 00:50:13,810 --> 00:50:17,440 n'a un arbre syntaxique je sais que "Amis" est une expression de nom, il est un 945 00:50:17,440 --> 00:50:21,480 nom, puis "Allison" est un préposition dans laquelle "de" est 946 00:50:21,480 --> 00:50:24,810 une proposition et "d'Allison" est un substantif. 947 00:50:24,810 --> 00:50:30,910 Qu'est-ce que je pourrais faire est d'enseigner mon ordinateur que quand j'ai un syntagme nominal et un 948 00:50:30,910 --> 00:50:33,080 puis une préposition. 949 00:50:33,080 --> 00:50:39,020 Donc, dans ce cas, "amis", puis "de Milo "Je sais que cela signifie que 950 00:50:39,020 --> 00:50:43,110 NP2, le second, possède NP1. 951 00:50:43,110 --> 00:50:47,680 >> Donc, je peux créer une sorte de relation, une sorte de fonction pour cela. 952 00:50:47,680 --> 00:50:52,370 Donc, chaque fois que je vois cette structure, qui correspond exactement aux «amis de 953 00:50:52,370 --> 00:50:56,030 Allison, "je sais que Allison détient les amis. 954 00:50:56,030 --> 00:50:58,830 Alors les amis sont quelque chose que Allison a. 955 00:50:58,830 --> 00:50:59,610 Fait sens? 956 00:50:59,610 --> 00:51:01,770 Donc, c'est essentiellement ce que Graphique Recherche fait. 957 00:51:01,770 --> 00:51:04,360 Il crée simplement des règles pour beaucoup de choses. 958 00:51:04,360 --> 00:51:08,190 Ainsi, "les amis de Allison", "mes amis qui vivent à Cambridge »,« mes amis 959 00:51:08,190 --> 00:51:12,970 qui vont à Harvard ". Elle crée des règles pour toutes ces choses. 960 00:51:12,970 --> 00:51:14,930 >> Maintenant la traduction automatique. 961 00:51:14,930 --> 00:51:18,850 Donc, la traduction automatique est également quelque chose de statistique. 962 00:51:18,850 --> 00:51:21,340 Et en fait, si vous vous impliquez dans linguistique computationnelle, un grand nombre de 963 00:51:21,340 --> 00:51:23,580 votre stuff va être statistiques. 964 00:51:23,580 --> 00:51:26,670 Alors que je faisais l'exemple avec beaucoup de probabilités que j'étais 965 00:51:26,670 --> 00:51:30,540 calcul, puis vous arrivez à ce très petit nombre qui est la finale 966 00:51:30,540 --> 00:51:33,180 probabilité, et c'est ce que vous donne la réponse. 967 00:51:33,180 --> 00:51:37,540 La traduction automatique utilise également un modèle statistique. 968 00:51:37,540 --> 00:51:44,790 Et si vous voulez penser de la machine traduction dans le plus simple possible 969 00:51:44,790 --> 00:51:48,970 Ainsi, ce que vous pouvez penser est juste traduire mot à mot, non? 970 00:51:48,970 --> 00:51:52,150 >> Quand vous apprenez une langue pour le première fois, c'est généralement ce 971 00:51:52,150 --> 00:51:52,910 vous faites, non? 972 00:51:52,910 --> 00:51:57,050 Si vous voulez vous traduisez une phrase dans votre langue à la langue 973 00:51:57,050 --> 00:52:00,060 vous apprenez, généralement d'abord, vous traduire chacun des mots 974 00:52:00,060 --> 00:52:03,180 individuellement, et puis vous essayez de mettre les mots en place. 975 00:52:03,180 --> 00:52:07,100 >> Donc, si j'ai voulu traduire ce, [PORTUGAIS DE PAROLE] 976 00:52:07,100 --> 00:52:10,430 qui signifie «le chat blanc s'enfuit." Si je voulais traduire de 977 00:52:10,430 --> 00:52:13,650 Portugais à l'anglais, ce que je pourrait faire, c'est, d'abord, je viens 978 00:52:13,650 --> 00:52:14,800 traduire mot à mot. 979 00:52:14,800 --> 00:52:20,570 Donc, "o" est "le", "gato", "chat" "Branco", "blanc", puis "fugio" est 980 00:52:20,570 --> 00:52:21,650 "S'enfuit." 981 00:52:21,650 --> 00:52:26,130 >> Alors j'ai tous les mots ici, mais ils ne sont pas dans l'ordre. 982 00:52:26,130 --> 00:52:29,590 C'est comme "le blanc de chat s'enfuit" qui est grammatical. 983 00:52:29,590 --> 00:52:34,490 Donc, je peux avoir une deuxième étape, qui va être de trouver l'idéal 984 00:52:34,490 --> 00:52:36,610 position pour chacun des mots. 985 00:52:36,610 --> 00:52:40,240 Donc, je sais que je veux réellement avoir "Chat blanc" au lieu de "chat blanc." Si 986 00:52:40,240 --> 00:52:46,050 ce que je peux faire est le moyen le plus naïf serait de créer toutes les 987 00:52:46,050 --> 00:52:49,720 permutations possibles d' mots, de positions. 988 00:52:49,720 --> 00:52:53,300 Et puis voir qui on a l' probabilité plus élevée d'après 989 00:52:53,300 --> 00:52:54,970 à mon modèle de langage. 990 00:52:54,970 --> 00:52:58,390 Et puis, quand je trouve celui qui a la probabilité la plus élevée, ce qui est 991 00:52:58,390 --> 00:53:01,910 probablement "le chat blanc s'est enfui," c'est ma traduction. 992 00:53:01,910 --> 00:53:06,710 >> Et c'est un moyen simple d'expliquer comment un grand nombre de la traduction automatique 993 00:53:06,710 --> 00:53:07,910 algorithmes fonctionnent. 994 00:53:07,910 --> 00:53:08,920 Cela fait-il sens? 995 00:53:08,920 --> 00:53:12,735 C'est aussi quelque chose de vraiment excitant que vous les gars peuvent peut-être explorer pour un 996 00:53:12,735 --> 00:53:13,901 projet final, ouais? 997 00:53:13,901 --> 00:53:15,549 >> ETUDIANT: Eh bien, vous avez dit qu'il était la manière naïve, alors c'est quoi 998 00:53:15,549 --> 00:53:17,200 la voie non-naïf? 999 00:53:17,200 --> 00:53:18,400 >> LUCAS FREITAS: La façon non naïf? 1000 00:53:18,400 --> 00:53:19,050 OK. 1001 00:53:19,050 --> 00:53:22,860 Donc, la première chose qui est mal à propos cette méthode est que je viens de traduire 1002 00:53:22,860 --> 00:53:24,330 mots, mot par mot. 1003 00:53:24,330 --> 00:53:30,570 Mais parfois, vous avez dit que peut avoir plusieurs traductions. 1004 00:53:30,570 --> 00:53:32,210 Je vais essayer de penser de quelque chose. 1005 00:53:32,210 --> 00:53:37,270 Par exemple, "manga" en boîte portugais soit "mutiler" ou "douille". Si 1006 00:53:37,270 --> 00:53:40,450 quand vous essayez de traduire mot par mot, on pourrait vous donner 1007 00:53:40,450 --> 00:53:42,050 quelque chose qui n'a pas de sens. 1008 00:53:42,050 --> 00:53:45,770 >> Donc, vous voulez vraiment vous regardez tous traductions des possibles 1009 00:53:45,770 --> 00:53:49,840 mots et voir, tout d'abord, quel est l'ordre. 1010 00:53:49,840 --> 00:53:52,000 Nous parlions de permutation les choses? 1011 00:53:52,000 --> 00:53:54,150 Pour voir toutes les commandes possibles et choisir celui avec le plus haut 1012 00:53:54,150 --> 00:53:54,990 probabilité? 1013 00:53:54,990 --> 00:53:57,860 Vous pouvez également choisir tous les possibles traductions pour chaque 1014 00:53:57,860 --> 00:54:00,510 mot et ensuite voir - 1015 00:54:00,510 --> 00:54:01,950 combiné avec les permutations - 1016 00:54:01,950 --> 00:54:03,710 qui on a le plus de chances. 1017 00:54:03,710 --> 00:54:08,590 >> De plus, vous pouvez également regarder pas seulement des mots, mais des phrases. 1018 00:54:08,590 --> 00:54:11,700 de sorte que vous pouvez analyser les relations entre les mots et puis obtenir un 1019 00:54:11,700 --> 00:54:13,210 meilleure traduction. 1020 00:54:13,210 --> 00:54:16,690 Aussi autre chose, si ce semestre Je suis en train de faire de la recherche dans 1021 00:54:16,690 --> 00:54:19,430 Chinois-Anglais traduction automatique, si la traduction de l' 1022 00:54:19,430 --> 00:54:20,940 Chinois vers l'anglais. 1023 00:54:20,940 --> 00:54:26,760 >> Et quelque chose que nous faisons est, en plus d'utiliser un modèle statistique, qui est juste 1024 00:54:26,760 --> 00:54:30,570 voir les probabilités de voir une position dans la phrase, je suis 1025 00:54:30,570 --> 00:54:35,360 fait également l'ajout d'une syntaxe à ma modèle, en disant, oh, si je vois ce genre 1026 00:54:35,360 --> 00:54:39,420 de la construction, c'est ce que je veux changer pour quand je traduis. 1027 00:54:39,420 --> 00:54:43,880 Ainsi, vous pouvez également ajouter une sorte de élément de syntaxe pour faire la 1028 00:54:43,880 --> 00:54:47,970 une traduction plus efficace et plus précis. 1029 00:54:47,970 --> 00:54:48,550 OK. 1030 00:54:48,550 --> 00:54:51,010 >> Alors, comment pouvez-vous commencer, si vous voulez de faire quelque chose en informatique 1031 00:54:51,010 --> 00:54:51,980 linguistique? 1032 00:54:51,980 --> 00:54:54,560 >> Tout d'abord, vous choisissez un projet qui implique langues. 1033 00:54:54,560 --> 00:54:56,310 Donc, il ya tellement de là. 1034 00:54:56,310 --> 00:54:58,420 Il ya tellement de choses que vous pouvez faire. 1035 00:54:58,420 --> 00:55:00,510 Et puis peut penser à un modèle que vous pouvez utiliser. 1036 00:55:00,510 --> 00:55:04,710 Habituellement, cela signifie penser hypothèses, que comme, oh, quand j'étais 1037 00:55:04,710 --> 00:55:05,770 comme la pensée des paroles. 1038 00:55:05,770 --> 00:55:09,510 J'étais comme, eh bien, si je veux comprendre un qui a écrit cela, je veux probablement 1039 00:55:09,510 --> 00:55:15,400 de regarder les mots de la personne a utilisé et voir qui utilise ce mot très souvent. 1040 00:55:15,400 --> 00:55:18,470 Donc, essayez de faire des hypothèses et essayez de penser à des modèles. 1041 00:55:18,470 --> 00:55:21,395 Et puis vous pouvez également rechercher en ligne pour le genre de problème que vous avez, 1042 00:55:21,395 --> 00:55:24,260 et il va suggérer pour vous les modèles que peut-être 1043 00:55:24,260 --> 00:55:26,560 bien modélisé cette chose. 1044 00:55:26,560 --> 00:55:29,080 >> Et aussi, vous pouvez toujours m'envoyer. 1045 00:55:29,080 --> 00:55:31,140 me@lfreitas.com. 1046 00:55:31,140 --> 00:55:34,940 Et je ne peux répondre à vos questions. 1047 00:55:34,940 --> 00:55:38,600 Nous pouvons même pourrions rencontrer afin que je puisse donner des suggestions sur les moyens de 1048 00:55:38,600 --> 00:55:41,490 mise en œuvre de votre projet. 1049 00:55:41,490 --> 00:55:45,610 Et je veux dire que si vous vous impliquez avec linguistique computationnelle, il va 1050 00:55:45,610 --> 00:55:46,790 d'être grand. 1051 00:55:46,790 --> 00:55:48,370 Vous allez voir, il ya tellement de potentiel. 1052 00:55:48,370 --> 00:55:52,060 Et l'industrie veut embaucher vous si mauvais à cause de cela. 1053 00:55:52,060 --> 00:55:54,720 J'espère donc que vous avez apprécié ce. 1054 00:55:54,720 --> 00:55:57,030 Si vous les gars avez des questions, vous pouvez me demander après cela. 1055 00:55:57,030 --> 00:55:58,280 Mais je vous remercie. 1056 00:55:58,280 --> 00:56:00,150