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 Benvenuti a tutti. 4 00:00:09,980 --> 00:00:11,216 Il mio nome è Lucas Freitas. 5 00:00:11,216 --> 00:00:15,220 Io sono un junior a [incomprensibile] studiare informatica con un focus in 6 00:00:15,220 --> 00:00:16,410 linguistica computazionale. 7 00:00:16,410 --> 00:00:19,310 Quindi il mio secondario è in lingua e teoria linguistica. 8 00:00:19,310 --> 00:00:21,870 Sono davvero entusiasta di insegnare voi ragazzi un po 'di campo. 9 00:00:21,870 --> 00:00:24,300 E 'una zona molto interessante da studiare. 10 00:00:24,300 --> 00:00:27,260 Anche con un sacco di potenziale per il futuro. 11 00:00:27,260 --> 00:00:30,160 Quindi, io sono davvero entusiasta che voi ragazzi stanno prendendo in considerazione progetti in 12 00:00:30,160 --> 00:00:31,160 linguistica computazionale. 13 00:00:31,160 --> 00:00:35,460 E sarò più che lieto di consigliarvi qualcuno di voi se si decide di 14 00:00:35,460 --> 00:00:37,090 perseguire uno di quelli. 15 00:00:37,090 --> 00:00:40,010 >> Quindi prima di tutto quali sono computazionale linguistica? 16 00:00:40,010 --> 00:00:44,630 Così linguistica computazionale è l' intersezione tra linguistica e 17 00:00:44,630 --> 00:00:46,390 informatica. 18 00:00:46,390 --> 00:00:47,415 Quindi, qual è la linguistica? 19 00:00:47,415 --> 00:00:48,490 Che cosa è la scienza del computer? 20 00:00:48,490 --> 00:00:51,580 Beh dalla linguistica, cosa prendiamo sono le lingue. 21 00:00:51,580 --> 00:00:54,960 Così linguistica è in realtà lo studio del linguaggio naturale in genere. 22 00:00:54,960 --> 00:00:58,330 Linguaggio così naturale - si parla di linguaggio che in realtà usiamo per 23 00:00:58,330 --> 00:00:59,770 comunicare tra loro. 24 00:00:59,770 --> 00:01:02,200 Quindi non stiamo esattamente parlando su C o Java. 25 00:01:02,200 --> 00:01:05,900 Stiamo parlando di più inglese e Cinese e altre lingue che abbiamo 26 00:01:05,900 --> 00:01:07,780 utilizzare per comunicare tra loro. 27 00:01:07,780 --> 00:01:12,470 >> La cosa difficile di quel che adesso abbiamo quasi 7.000 28 00:01:12,470 --> 00:01:14,260 lingue del mondo. 29 00:01:14,260 --> 00:01:19,520 Quindi ci sono un bel varietà elevata di linguaggi che possiamo studiare. 30 00:01:19,520 --> 00:01:22,600 E allora pensi che è probabilmente molto difficile da fare, per esempio, 31 00:01:22,600 --> 00:01:26,960 traduzione da una lingua a altro, visto che hai 32 00:01:26,960 --> 00:01:28,240 quasi 7.000 di loro. 33 00:01:28,240 --> 00:01:31,450 Quindi, se pensate di fare traduzione da una lingua all'altra voi 34 00:01:31,450 --> 00:01:35,840 hanno quasi più di un milione diverse combinazioni che è possibile 35 00:01:35,840 --> 00:01:37,330 avere da lingua a lingua. 36 00:01:37,330 --> 00:01:40,820 Così è davvero difficile fare un po ' tipo di sistema di esempio traduzione 37 00:01:40,820 --> 00:01:43,540 ogni singola lingua. 38 00:01:43,540 --> 00:01:47,120 >> Quindi, linguistica tratta con la sintassi, semantica, pragmatica. 39 00:01:47,120 --> 00:01:49,550 Voi ragazzi non esattamente bisogno sapere quali sono sono. 40 00:01:49,550 --> 00:01:55,090 Ma la cosa molto interessante è che come un madrelingua, quando si impara 41 00:01:55,090 --> 00:01:59,010 lingua come figlio, in realtà si impara tutte queste cose - semantica sintassi 42 00:01:59,010 --> 00:02:00,500 e pragmatica - 43 00:02:00,500 --> 00:02:01,430 da soli. 44 00:02:01,430 --> 00:02:04,820 E nessuno deve insegnare la sintassi per a capire come frasi sono 45 00:02:04,820 --> 00:02:05,290 strutturato. 46 00:02:05,290 --> 00:02:07,980 Quindi, è davvero interessante perché è qualcosa che si avvicina molto 47 00:02:07,980 --> 00:02:10,389 intuitivamente. 48 00:02:10,389 --> 00:02:13,190 >> E cosa stai prendendo da l'informatica? 49 00:02:13,190 --> 00:02:16,700 Beh, la cosa più importante che abbiamo avere in informatica è prima di 50 00:02:16,700 --> 00:02:19,340 tutti, l'intelligenza artificiale e apprendimento automatico. 51 00:02:19,340 --> 00:02:22,610 Allora, che cosa stiamo cercando di fare linguistica computazionale è insegnare 52 00:02:22,610 --> 00:02:26,990 il computer come fare qualcosa con il linguaggio. 53 00:02:26,990 --> 00:02:28,630 >> Così, per esempio, in macchina traduzione. 54 00:02:28,630 --> 00:02:32,490 Sto cercando di insegnare il mio computer come per sapere come eseguire la transizione da un 55 00:02:32,490 --> 00:02:33,310 lingua all'altra. 56 00:02:33,310 --> 00:02:35,790 Quindi, fondamentalmente come insegnamento Un computer due lingue. 57 00:02:35,790 --> 00:02:38,870 Se faccio elaborazione del linguaggio naturale, che è il caso per esempio di 58 00:02:38,870 --> 00:02:41,810 Facebook Graph Search, ti insegnano il computer come capire 59 00:02:41,810 --> 00:02:42,730 query bene. 60 00:02:42,730 --> 00:02:48,130 >> Quindi, se si dice "le foto della mia amici. "Facebook non considera che 61 00:02:48,130 --> 00:02:51,130 come una stringa intera che ha solo un mucchio di parole. 62 00:02:51,130 --> 00:02:56,020 In realtà capisce la relazione tra "foto" e "i miei amici" e 63 00:02:56,020 --> 00:02:59,620 capisce che "foto" sono proprietà di "i miei amici". 64 00:02:59,620 --> 00:03:02,350 >> Quindi, questo è parte di, per esempio, elaborazione del linguaggio naturale. 65 00:03:02,350 --> 00:03:04,790 Sta cercando di capire cosa è il rapporto tra 66 00:03:04,790 --> 00:03:07,520 le parole in una frase. 67 00:03:07,520 --> 00:03:11,170 E la grande domanda è: si può insegnare a un computer a parlare 68 00:03:11,170 --> 00:03:12,650 un linguaggio in generale? 69 00:03:12,650 --> 00:03:17,810 Che è una domanda molto interessante pensare, come se forse in futuro, 70 00:03:17,810 --> 00:03:19,930 si sta andando ad essere in grado di parlare al tuo telefono cellulare. 71 00:03:19,930 --> 00:03:23,290 Un po 'come ciò che facciamo con Siri, ma qualcosa di più simile, si può effettivamente 72 00:03:23,290 --> 00:03:25,690 dite quello che volete e il telefono sta per capire tutto. 73 00:03:25,690 --> 00:03:28,350 E può avere follow up domande e continuare a parlare. 74 00:03:28,350 --> 00:03:30,880 Questo è qualcosa di veramente emozionante, a mio parere. 75 00:03:30,880 --> 00:03:33,070 >> Quindi, qualcosa su linguaggi naturali. 76 00:03:33,070 --> 00:03:36,220 Qualcosa di veramente interessante linguaggi naturali è che, e questo è 77 00:03:36,220 --> 00:03:38,470 credito per il mio professore di linguistica, Maria Polinsky. 78 00:03:38,470 --> 00:03:40,830 Lei dà un esempio e credo è davvero interessante. 79 00:03:40,830 --> 00:03:47,060 Perché impariamo la lingua da quando siamo nati e poi la nostra nativa 80 00:03:47,060 --> 00:03:49,170 linguaggio tipo di cresce su di noi. 81 00:03:49,170 --> 00:03:52,570 >> E in fondo si impara la lingua da un input minimo, giusto? 82 00:03:52,570 --> 00:03:56,700 È solo l'input da i genitori di quello che suona la tua lingua 83 00:03:56,700 --> 00:03:58,770 piace e basta impara. 84 00:03:58,770 --> 00:04:02,240 Quindi, è interessante perché se si guarda a quelle frasi, per esempio. 85 00:04:02,240 --> 00:04:06,980 Si guarda, "Maria mette su un cappotto ogni volta che esce di casa. " 86 00:04:06,980 --> 00:04:10,650 >> In questo caso, è possibile avere il parola "lei" si riferiscono a Maria, giusto? 87 00:04:10,650 --> 00:04:13,500 Si può dire "Maria mette su un cappotto ogni volta che Maria lascia il 88 00:04:13,500 --> 00:04:14,960 casa. "in modo che bene. 89 00:04:14,960 --> 00:04:19,370 Ma poi se si guarda la frase "Si mette una mano ogni volta Mary 90 00:04:19,370 --> 00:04:22,850 lascia la casa. "sai che è impossibile dire che "lei" è 91 00:04:22,850 --> 00:04:24,260 riferendosi a Maria. 92 00:04:24,260 --> 00:04:27,070 >> Non c'è modo di dire che "Maria mette su un cappotto ogni volta Mary lascia 93 00:04:27,070 --> 00:04:30,790 la casa. "Così è interessante perché questo è il tipo di intuizione 94 00:04:30,790 --> 00:04:32,890 che ogni madrelingua ha. 95 00:04:32,890 --> 00:04:36,370 E nessuno è stato insegnato che questo è il modo in cui la sintassi funziona. 96 00:04:36,370 --> 00:04:41,930 E che si può avere solo questa "lei" riferendosi a Maria in questo primo caso, 97 00:04:41,930 --> 00:04:44,260 ed effettivamente in questo altro anche, ma non in questo. 98 00:04:44,260 --> 00:04:46,500 Ma tutti i tipi di si per la stessa risposta. 99 00:04:46,500 --> 00:04:48,580 Tutti sono d'accordo su questo. 100 00:04:48,580 --> 00:04:53,280 Quindi è davvero interessante come anche non si conoscono tutte le regole 101 00:04:53,280 --> 00:04:55,575 nella tua lingua che tipo di capire come funziona il linguaggio. 102 00:04:55,575 --> 00:04:59,020 103 00:04:59,020 --> 00:05:01,530 >> Quindi la cosa interessante naturale linguaggio è che non c'è bisogno di 104 00:05:01,530 --> 00:05:06,970 conoscere alcuna sintassi per sapere se una frase è grammaticale o sgrammaticato per 105 00:05:06,970 --> 00:05:08,810 maggior parte dei casi. 106 00:05:08,810 --> 00:05:13,220 Che ti fa pensare che forse quello che che succede è che attraverso la vostra vita, 107 00:05:13,220 --> 00:05:17,410 basta tenere sempre più frasi detto a voi. 108 00:05:17,410 --> 00:05:19,800 E poi si mantiene memorizzazione tutte le frasi. 109 00:05:19,800 --> 00:05:24,230 E poi, quando qualcuno ti dice qualcosa, si sente quella frase e 110 00:05:24,230 --> 00:05:27,040 guardate il vostro vocabolario di frasi e vedere se 111 00:05:27,040 --> 00:05:28,270 questa frase è lì. 112 00:05:28,270 --> 00:05:29,830 E se è lì dicono che è grammaticale. 113 00:05:29,830 --> 00:05:31,740 Se non è dici che è sgrammaticato. 114 00:05:31,740 --> 00:05:35,150 >> Quindi, in questo caso, si potrebbe dire, oh, in modo da avere una lista enorme di tutti 115 00:05:35,150 --> 00:05:36,140 frasi possibili. 116 00:05:36,140 --> 00:05:38,240 E poi quando si sente una frase, sapete se è grammaticale o 117 00:05:38,240 --> 00:05:39,450 non basata su questo. 118 00:05:39,450 --> 00:05:42,360 Il fatto è che se si guardano una frase, per esempio, "L' 119 00:05:42,360 --> 00:05:47,540 cinque teste CS50 TF cucinato i non vedenti polpo con una tazza DAPA. "E ' 120 00:05:47,540 --> 00:05:49,630 sicuramente non una frase che avete sentito prima. 121 00:05:49,630 --> 00:05:52,380 Ma allo stesso tempo sai che è praticamente grammaticale, giusto? 122 00:05:52,380 --> 00:05:55,570 Non ci sono errori grammaticali e si può dire che 123 00:05:55,570 --> 00:05:57,020 si tratta di una possibile condanna. 124 00:05:57,020 --> 00:06:01,300 >> Così ci fa pensare che in realtà il modo che impariamo la lingua non è solo 125 00:06:01,300 --> 00:06:07,090 avendo un enorme database di possibili parole o frasi, ma più di 126 00:06:07,090 --> 00:06:11,490 comprendere la relazione tra parole quelle frasi. 127 00:06:11,490 --> 00:06:14,570 Ritiene che senso? 128 00:06:14,570 --> 00:06:19,370 Così, allora la domanda è: si può i computer imparano le lingue? 129 00:06:19,370 --> 00:06:21,490 Possiamo insegnare la lingua ai computer? 130 00:06:21,490 --> 00:06:24,230 >> Quindi, pensiamo alla differenza tra un madrelingua di una lingua 131 00:06:24,230 --> 00:06:25,460 e un computer. 132 00:06:25,460 --> 00:06:27,340 Allora, che cosa succede a chi parla? 133 00:06:27,340 --> 00:06:30,430 Beh, il madrelingua impara linguaggio da esposizione ad esso. 134 00:06:30,430 --> 00:06:34,200 Di solito i suoi anni della prima infanzia. 135 00:06:34,200 --> 00:06:38,570 Quindi, in sostanza, basta avere un bambino, e tu continui a parlare di esso, e 136 00:06:38,570 --> 00:06:40,540 solo impara a parlare la lingua, giusto? 137 00:06:40,540 --> 00:06:42,660 Quindi, si sta praticamente dando ingresso al bambino. 138 00:06:42,660 --> 00:06:45,200 Così, allora si può sostenere che un computer può fare la stessa cosa, giusto? 139 00:06:45,200 --> 00:06:49,510 Si può solo dare la lingua come ingresso al computer. 140 00:06:49,510 --> 00:06:53,410 >> Come per esempio un gruppo di file che avere libri in inglese. 141 00:06:53,410 --> 00:06:56,190 Forse è un modo che si potrebbe insegnare una 142 00:06:56,190 --> 00:06:57,850 computer di inglese, giusto? 143 00:06:57,850 --> 00:07:01,000 E in effetti, se ci pensate, ci vogliono forse un paio 144 00:07:01,000 --> 00:07:02,680 giorni di tempo per leggere un libro. 145 00:07:02,680 --> 00:07:05,760 Per un computer ci vuole un secondo per guarda tutte le parole in un libro. 146 00:07:05,760 --> 00:07:10,810 Così si può pensare che possa essere proprio questo argomento di input da intorno a te, 147 00:07:10,810 --> 00:07:15,440 questo non basta per dire che questo è qualcosa che solo gli esseri umani possono fare. 148 00:07:15,440 --> 00:07:17,680 Si può pensare i computer anche in grado di ricevere input. 149 00:07:17,680 --> 00:07:21,170 >> La seconda cosa è che madrelingua hanno anche un cervello che ha 150 00:07:21,170 --> 00:07:23,870 capacità di apprendimento delle lingue. 151 00:07:23,870 --> 00:07:27,020 Ma se ci pensate, un cervello è una cosa solida. 152 00:07:27,020 --> 00:07:30,450 Quando sei nato, è già impostato - 153 00:07:30,450 --> 00:07:31,320 questo è il vostro cervello. 154 00:07:31,320 --> 00:07:34,660 E come si cresce, basta avere più ingresso del linguaggio e forse nutrienti 155 00:07:34,660 --> 00:07:35,960 e altre cose. 156 00:07:35,960 --> 00:07:38,170 Ma praticamente il cervello è una cosa solida. 157 00:07:38,170 --> 00:07:41,290 >> Così si può dire, beh, forse è possibile costruire un computer che ha un sacco di 158 00:07:41,290 --> 00:07:45,890 funzioni e metodi che appena imitano capacità di apprendimento delle lingue. 159 00:07:45,890 --> 00:07:49,630 Quindi, in questo senso, si potrebbe dire, bene, io può avere un computer che ha tutte le 160 00:07:49,630 --> 00:07:52,270 cose che devo imparare la lingua. 161 00:07:52,270 --> 00:07:56,200 E l'ultima cosa è che un nativo speaker apprende da tentativi ed errori. 162 00:07:56,200 --> 00:08:01,090 Quindi, in pratica un'altra cosa importante in l'apprendimento delle lingue è che tipo 163 00:08:01,090 --> 00:08:05,340 di imparare cose da fare generalizzazioni di ciò che si sente. 164 00:08:05,340 --> 00:08:10,280 >> Quindi, come si sta crescendo si impara che alcune parole sono più come sostantivi, 165 00:08:10,280 --> 00:08:11,820 alcuni altri sono aggettivi. 166 00:08:11,820 --> 00:08:14,250 E non avere alcuna la conoscenza della linguistica 167 00:08:14,250 --> 00:08:15,040 capire che. 168 00:08:15,040 --> 00:08:18,560 Ma si sa ci sono alcune parole sono posizionati in una parte della 169 00:08:18,560 --> 00:08:22,570 frase, e alcuni altri in altri parti della frase. 170 00:08:22,570 --> 00:08:26,110 >> E che quando si fa qualcosa che è come una frase che non è corretto - 171 00:08:26,110 --> 00:08:28,770 forse a causa di una generalizzazione su per esempio. 172 00:08:28,770 --> 00:08:32,210 Forse quando stai crescendo, si nota che il plurale è di solito 173 00:08:32,210 --> 00:08:35,809 formata ponendo S a la fine della parola. 174 00:08:35,809 --> 00:08:40,042 E allora si tenta di fare il plurale di "cervo" come "cervi" o "dente" come 175 00:08:40,042 --> 00:08:44,780 "tooths". Allora i tuoi genitori o qualcuno ti corregge e dice, no, il 176 00:08:44,780 --> 00:08:49,020 plurale di "cervo" è "cervo", e la plurale di "dente" è "denti". Poi 177 00:08:49,020 --> 00:08:50,060 si impara queste cose. 178 00:08:50,060 --> 00:08:51,520 Così si impara da prove ed errori. 179 00:08:51,520 --> 00:08:53,100 >> Ma si può anche fare con un computer. 180 00:08:53,100 --> 00:08:55,310 Si può avere qualcosa chiamato apprendimento per rinforzo. 181 00:08:55,310 --> 00:08:58,560 Che è fondamentalmente come dare un computer di un premio ogni volta che lo fa 182 00:08:58,560 --> 00:08:59,410 qualcosa correttamente. 183 00:08:59,410 --> 00:09:04,710 E dandogli l'opposto di una ricompensa e quando fa qualcosa di sbagliato. 184 00:09:04,710 --> 00:09:07,410 Si può effettivamente vedere che se si va Google Translate e si tenta di 185 00:09:07,410 --> 00:09:10,220 tradurre una frase, si si chiede feedback. 186 00:09:10,220 --> 00:09:13,240 Quindi, se dici, oh, c'è un migliore traduzione per questa frase. 187 00:09:13,240 --> 00:09:18,140 È possibile digitare su e poi se un sacco di la gente continua a dire che è meglio 188 00:09:18,140 --> 00:09:21,560 traduzione, si apprende solo che dovrebbero usare che la traduzione invece di 189 00:09:21,560 --> 00:09:22,960 quella che dava. 190 00:09:22,960 --> 00:09:28,830 >> Quindi, si tratta di una domanda molto filosofica per vedere se i computer stanno per essere 191 00:09:28,830 --> 00:09:30,340 in grado di parlare o meno in futuro. 192 00:09:30,340 --> 00:09:34,440 Ma ho grandi speranze che possono proprio sulla base di tali argomenti. 193 00:09:34,440 --> 00:09:38,570 Ma è solo più di una filosofica domanda. 194 00:09:38,570 --> 00:09:43,460 >> Così, mentre i computer ancora non si può parlare, quali sono le cose che possiamo fare? 195 00:09:43,460 --> 00:09:47,070 Alcune cose sono davvero cool classificazione dei dati. 196 00:09:47,070 --> 00:09:53,210 Così, per esempio, voi sapete che i servizi di posta elettronica fanno, per 197 00:09:53,210 --> 00:09:55,580 esempio, il filtraggio dello spam. 198 00:09:55,580 --> 00:09:59,070 Così ogni volta che si riceve spam, lo cerca di filtrare in un altro box. 199 00:09:59,070 --> 00:10:00,270 Così come si fa? 200 00:10:00,270 --> 00:10:06,080 Non è come il computer sa solo indirizzi di posta elettronica che cosa sono l'invio di spam. 201 00:10:06,080 --> 00:10:09,130 Quindi è più basata sul contenuto di il messaggio, o forse il titolo, o 202 00:10:09,130 --> 00:10:11,310 forse qualche modello che avete. 203 00:10:11,310 --> 00:10:15,690 >> Quindi, in sostanza, cosa si può fare è ottenere un molti dati di email che sono spam, 204 00:10:15,690 --> 00:10:19,980 e-mail che non sono spam, e imparare ciò che tipo di modelli che avete in 205 00:10:19,980 --> 00:10:21,000 quelli che sono spam. 206 00:10:21,000 --> 00:10:23,260 E questo è parte di calcolo linguistica. 207 00:10:23,260 --> 00:10:24,720 Si chiama classificazione dei dati. 208 00:10:24,720 --> 00:10:28,100 E stiamo effettivamente andando a vedere un esempio che nei prossimi diapositive. 209 00:10:28,100 --> 00:10:32,910 >> La seconda cosa è il linguaggio naturale trasformazione che è la cosa che l' 210 00:10:32,910 --> 00:10:36,580 Grafico ricerca sta facendo di lasciare si scrive una frase. 211 00:10:36,580 --> 00:10:38,690 E si fida a capire cosa è il significato e dà 212 00:10:38,690 --> 00:10:39,940 un risultato migliore. 213 00:10:39,940 --> 00:10:43,880 In realtà, se si va a Google o Bing e si cerca qualcosa come Lady 214 00:10:43,880 --> 00:10:47,060 Altezza di Gaga, si sta effettivamente andando per ottenere 5 '1 "invece di informazioni 215 00:10:47,060 --> 00:10:50,170 da lei perché in realtà capisce cosa stai parlando. 216 00:10:50,170 --> 00:10:52,140 Ecco, questo è parte del naturale elaborazione del linguaggio. 217 00:10:52,140 --> 00:10:57,000 >> O anche quando si utilizza Siri, prima si dispone di un algoritmo che cerca di 218 00:10:57,000 --> 00:11:01,130 tradurre quello che stai dicendo in parole, nel testo. 219 00:11:01,130 --> 00:11:03,690 E poi cerca di tradurre che nel significato. 220 00:11:03,690 --> 00:11:06,570 Ecco, questo è tutto parte del naturale elaborazione del linguaggio. 221 00:11:06,570 --> 00:11:08,320 >> Allora avete traduzione automatica - 222 00:11:08,320 --> 00:11:10,300 che è in realtà uno dei miei preferiti - 223 00:11:10,300 --> 00:11:14,060 che è solo traducendo da una lingua all'altra. 224 00:11:14,060 --> 00:11:17,950 Così si può pensare che quando si sta facendo traduzione automatica, si dispone di 225 00:11:17,950 --> 00:11:19,750 infinite possibilità di frasi. 226 00:11:19,750 --> 00:11:22,960 Quindi non c'è modo di appena memorizzazione ogni singola traduzione. 227 00:11:22,960 --> 00:11:27,440 Quindi devi venire con interessanti algoritmi per poter 228 00:11:27,440 --> 00:11:30,110 tradurre ogni singolo frase in qualche modo. 229 00:11:30,110 --> 00:11:32,483 >> Voi ragazzi avete delle domande finora? 230 00:11:32,483 --> 00:11:34,450 No? 231 00:11:34,450 --> 00:11:34,830 OK. 232 00:11:34,830 --> 00:11:36,900 >> Così che cosa stiamo andando a vedere oggi? 233 00:11:36,900 --> 00:11:39,300 Prima di tutto, ho intenzione di parlare il problema di classificazione. 234 00:11:39,300 --> 00:11:41,440 Così quello che ero dicono di spam. 235 00:11:41,440 --> 00:11:46,820 Quello che ho intenzione di fare è, lyrics date una canzone, si può cercare di capire 236 00:11:46,820 --> 00:11:49,810 con elevata probabilità chi è il cantante? 237 00:11:49,810 --> 00:11:53,590 Diciamo che ho canzoni da Lady Gaga e Katy Perry, se ti do un 238 00:11:53,590 --> 00:11:58,130 nuova canzone, si può capire se si tratta di Katy Perry o Lady Gaga? 239 00:11:58,130 --> 00:12:01,490 >> Il secondo, sto solo andando a parlare circa il problema segmentazione. 240 00:12:01,490 --> 00:12:05,780 Quindi non so se voi ragazzi sapete, ma Cinese, giapponese, altri orientale 241 00:12:05,780 --> 00:12:08,090 lingue e altre lingue in generale, non hanno 242 00:12:08,090 --> 00:12:09,830 spazi tra le parole. 243 00:12:09,830 --> 00:12:13,540 E poi se si pensa al modo in cui il vostro genere di computer di tentativi per 244 00:12:13,540 --> 00:12:18,600 capire elaborazione del linguaggio naturale, esamina le parole e 245 00:12:18,600 --> 00:12:21,500 cerca di comprendere le relazioni tra di loro, giusto? 246 00:12:21,500 --> 00:12:25,440 Ma allora se hai cinese, e si avere zero spazi, è davvero difficile 247 00:12:25,440 --> 00:12:28,360 scoprire che cosa è la relazione tra parole, perché non hanno alcun 248 00:12:28,360 --> 00:12:29,530 parole in un primo momento. 249 00:12:29,530 --> 00:12:32,600 Quindi devi fare qualcosa chiamato segmentazione che significa solo mettere 250 00:12:32,600 --> 00:12:36,490 spazi tra quello che noi chiameremmo parole in quelle lingue. 251 00:12:36,490 --> 00:12:37,740 Dare un senso? 252 00:12:37,740 --> 00:12:39,680 253 00:12:39,680 --> 00:12:41,540 >> E poi andremo a parlare di sintassi. 254 00:12:41,540 --> 00:12:44,050 Quindi, solo un po 'di naturale elaborazione del linguaggio. 255 00:12:44,050 --> 00:12:45,420 Sta andando essere solo una visione d'insieme. 256 00:12:45,420 --> 00:12:50,700 Così oggi, in pratica quello che voglio fare si è dare ragazzi un po 'di un 257 00:12:50,700 --> 00:12:53,930 all'interno dei quali sono le possibilità che si può fare con computazionale 258 00:12:53,930 --> 00:12:54,960 linguistica. 259 00:12:54,960 --> 00:13:00,410 E poi si può vedere cosa ne pensate è cool tra quelle cose. 260 00:13:00,410 --> 00:13:02,270 E forse si può pensare di un progetto e vieni parlare con me. 261 00:13:02,270 --> 00:13:05,260 E posso darvi consigli sulle modalità di attuazione. 262 00:13:05,260 --> 00:13:09,060 >> Così sintassi sta per essere un po ' su Search grafico e la macchina 263 00:13:09,060 --> 00:13:09,670 traduzione. 264 00:13:09,670 --> 00:13:13,650 Sto solo andando a dare un esempio di come si potrebbe, per esempio, tradurre 265 00:13:13,650 --> 00:13:16,020 qualcosa da Portoghese a Inglese. 266 00:13:16,020 --> 00:13:17,830 Suona bene? 267 00:13:17,830 --> 00:13:19,293 >> Quindi, prima, il problema di classificazione. 268 00:13:19,293 --> 00:13:23,590 Dirò che questa parte del seminario sta per essere il più impegnativo 269 00:13:23,590 --> 00:13:27,560 uno solo perché ci sta andando essere qualche codifica. 270 00:13:27,560 --> 00:13:29,470 Ma sarà Python. 271 00:13:29,470 --> 00:13:34,380 So che voi ragazzi non sanno Python, così Sto solo andando a spiegare in alto 272 00:13:34,380 --> 00:13:35,750 livello previsto quello che sto facendo. 273 00:13:35,750 --> 00:13:40,900 E non c'è bisogno di preoccuparsi davvero troppo molto sulla sintassi perché è 274 00:13:40,900 --> 00:13:42,140 qualcosa che voi potete imparare. 275 00:13:42,140 --> 00:13:42,540 OK? 276 00:13:42,540 --> 00:13:43,580 Suona bene. 277 00:13:43,580 --> 00:13:46,020 >> Quindi qual è il problema di classificazione? 278 00:13:46,020 --> 00:13:49,140 Così si è dato alcuni testi di una canzone e volete indovinare 279 00:13:49,140 --> 00:13:50,620 che sta cantando esso. 280 00:13:50,620 --> 00:13:54,045 E questo può essere per qualsiasi tipo di altri problemi. 281 00:13:54,045 --> 00:13:59,980 Così può essere, per esempio, si ha un campagna presidenziale e si ha un 282 00:13:59,980 --> 00:14:02,610 discorso, e si desidera trovare se era, per esempio, 283 00:14:02,610 --> 00:14:04,470 Obama o Mitt Romney. 284 00:14:04,470 --> 00:14:07,700 Oppure si può avere un sacco di e-mail e si vuole capire se sono 285 00:14:07,700 --> 00:14:08,890 spam o meno. 286 00:14:08,890 --> 00:14:11,440 Quindi è solo identificare alcuni dati basati sulle parole 287 00:14:11,440 --> 00:14:13,790 che hai lì. 288 00:14:13,790 --> 00:14:16,295 >> Quindi, per fare questo, si deve fare alcune ipotesi. 289 00:14:16,295 --> 00:14:20,570 Così un sacco di linguistica computazionale sta facendo assunzioni, 290 00:14:20,570 --> 00:14:24,100 ipotesi solito intelligenti, in modo che si possono ottenere buoni risultati. 291 00:14:24,100 --> 00:14:26,670 Cercando di creare un modello per essa. 292 00:14:26,670 --> 00:14:31,290 E poi provare e vedere se funziona, se ti dà una buona precisione. 293 00:14:31,290 --> 00:14:33,940 E se lo fa, allora si cercare di migliorarla. 294 00:14:33,940 --> 00:14:37,640 Se così non fosse, siete come, OK, forse dovrebbe fare una ipotesi diversa. 295 00:14:37,640 --> 00:14:44,030 >> Quindi l'ipotesi che andremo a fare è che un artista di solito canta 296 00:14:44,030 --> 00:14:49,220 su un argomento più volte, e forse usa parole più volte solo 297 00:14:49,220 --> 00:14:50,270 perché sono abituati. 298 00:14:50,270 --> 00:14:51,890 Si può solo pensare del tuo amico. 299 00:14:51,890 --> 00:14:57,350 Sono sicuro che voi ragazzi hanno tutti gli amici che dire la loro frase di firma, 300 00:14:57,350 --> 00:14:59,260 letteralmente per ogni singola frase - 301 00:14:59,260 --> 00:15:02,660 come una specifica parola o alcune specifiche frase che si dice per 302 00:15:02,660 --> 00:15:04,020 ogni singola frase. 303 00:15:04,020 --> 00:15:07,920 >> E cosa si può dire è che se si vede una frase che ha una firma 304 00:15:07,920 --> 00:15:11,450 frase, si può intuire che, probabilmente, il tuo amico è l' 305 00:15:11,450 --> 00:15:13,310 uno dicendo che, giusto? 306 00:15:13,310 --> 00:15:18,410 Quindi fate questo presupposto e poi è così che si crea un modello. 307 00:15:18,410 --> 00:15:24,440 >> L'esempio che ho intenzione di dare è il come Lady Gaga, per esempio, le persone 308 00:15:24,440 --> 00:15:27,430 dire che lei usa "baby" per tutte le sue canzoni numero uno. 309 00:15:27,430 --> 00:15:32,270 E in realtà questo è un video che mostra suo dire la parola "baby" per 310 00:15:32,270 --> 00:15:33,410 diverse canzoni. 311 00:15:33,410 --> 00:15:33,860 >> [RIPRODUZIONE VIDEO] 312 00:15:33,860 --> 00:15:34,310 >> - (CANTO) di un bebè. 313 00:15:34,310 --> 00:15:36,220 Bambino. 314 00:15:36,220 --> 00:15:37,086 Bambino. 315 00:15:37,086 --> 00:15:37,520 Bambino. 316 00:15:37,520 --> 00:15:37,770 Bambino. 317 00:15:37,770 --> 00:15:38,822 Babe. 318 00:15:38,822 --> 00:15:39,243 Bambino. 319 00:15:39,243 --> 00:15:40,085 Bambino. 320 00:15:40,085 --> 00:15:40,510 Bambino. 321 00:15:40,510 --> 00:15:40,850 Bambino. 322 00:15:40,850 --> 00:15:41,090 >> [FINE RIPRODUZIONE VIDEO- 323 00:15:41,090 --> 00:15:44,020 >> LUCAS FREITAS: Quindi ci sono, credo, 40 canzoni qui in cui lei dice la 324 00:15:44,020 --> 00:15:48,690 la parola "baby". Così si può sostanzialmente indovinare che se si vede una canzone che ha 325 00:15:48,690 --> 00:15:52,180 la parola "bambino", c'è qualche alta probabilità che si tratta di Lady Gaga. 326 00:15:52,180 --> 00:15:56,450 Ma cerchiamo di sviluppare questo ulteriormente più formale. 327 00:15:56,450 --> 00:16:00,470 >> Quindi questi sono testi delle canzoni di Lady Gaga e Katy Perry. 328 00:16:00,470 --> 00:16:04,120 Quindi si guarda a Lady Gaga, si vede che hanno un sacco di eventi di "baby", un 329 00:16:04,120 --> 00:16:07,710 molte occorrenze di "strada". Poi Katy Perry ha un sacco di occorrenze di 330 00:16:07,710 --> 00:16:10,360 "L'," un sacco di occorrenze di "fuoco". 331 00:16:10,360 --> 00:16:14,560 >> Quindi, in pratica quello che vogliamo fare è, si ottiene una lirica. 332 00:16:14,560 --> 00:16:20,480 Diciamo che si ottiene un testo per un canzone che è "baby", proprio "baby". Se 333 00:16:20,480 --> 00:16:24,750 basta avere la parola "baby", e questo sono tutti i dati che avete da 334 00:16:24,750 --> 00:16:27,880 Lady Gaga e Katy Perry, che avrebbe si indovina è la persona 335 00:16:27,880 --> 00:16:29,370 che canta la canzone? 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, giusto? 338 00:16:33,150 --> 00:16:37,400 Perché lei è l'unica che dice: "Baby". Questo suona stupido, giusto? 339 00:16:37,400 --> 00:16:38,760 OK, questo è davvero facile. 340 00:16:38,760 --> 00:16:41,860 Sto solo guardando le due canzoni e del Certo, lei è l'unico che ha 341 00:16:41,860 --> 00:16:42,660 "Baby". 342 00:16:42,660 --> 00:16:44,740 >> Ma cosa succede se avete un mucchio di parole? 343 00:16:44,740 --> 00:16:50,900 Se si dispone di un lyric reale, qualcosa di come, "baby, ho appena 344 00:16:50,900 --> 00:16:51,610 è andato a vedere un [? CFT?] 345 00:16:51,610 --> 00:16:54,020 conferenza ", o qualcosa del genere, e allora dovete realmente capire - 346 00:16:54,020 --> 00:16:55,780 sulla base di tutte queste parole - 347 00:16:55,780 --> 00:16:58,350 chi è l'artista che probabilmente cantato questa canzone? 348 00:16:58,350 --> 00:17:01,860 Quindi cerchiamo di sviluppare questo un po 'oltre. 349 00:17:01,860 --> 00:17:05,630 >> OK, così, dei soli dati che ottenuto, sembra che Gaga è probabilmente 350 00:17:05,630 --> 00:17:06,260 il cantante. 351 00:17:06,260 --> 00:17:07,904 Ma come possiamo scrivere questo più formale? 352 00:17:07,904 --> 00:17:10,579 353 00:17:10,579 --> 00:17:13,140 E ci sara 'un po' po 'di statistiche. 354 00:17:13,140 --> 00:17:15,880 Quindi, se ti perdi, basta provare per capire il concetto. 355 00:17:15,880 --> 00:17:18,700 Non importa se si capisce le equazioni perfettamente bene. 356 00:17:18,700 --> 00:17:22,150 Questo è tutto sta per essere on-line. 357 00:17:22,150 --> 00:17:25,490 >> Quindi, in pratica quello che sto calcolo è il probabilità che questa canzone è per 358 00:17:25,490 --> 00:17:28,040 Lady Gaga dato che - 359 00:17:28,040 --> 00:17:30,660 quindi questo significa bar, dato che - 360 00:17:30,660 --> 00:17:33,680 Ho visto la parola "baby". Ritiene che senso? 361 00:17:33,680 --> 00:17:35,540 Così sto cercando di calcolare tale probabilità. 362 00:17:35,540 --> 00:17:38,540 >> Quindi c'è questo teorema chiamato Teorema di Bayes che dice che l' 363 00:17:38,540 --> 00:17:43,330 probabilità di A dato B, è la probabilità di B in A, volte 364 00:17:43,330 --> 00:17:47,660 probabilità di A, sulla probabilità di B. Questo è un'equazione lunga. 365 00:17:47,660 --> 00:17:51,970 Ma quello che dovete capire da vale a dire che questo è ciò che voglio 366 00:17:51,970 --> 00:17:52,830 calcolare, giusto? 367 00:17:52,830 --> 00:17:56,570 Quindi la probabilità che quella canzone è da Lady Gaga dato che ho visto la parola 368 00:17:56,570 --> 00:17:58,230 "Baby". 369 00:17:58,230 --> 00:18:02,960 >> E ora che sto ricevendo è l' probabilità della parola "baby" data 370 00:18:02,960 --> 00:18:04,390 che ho Lady Gaga. 371 00:18:04,390 --> 00:18:07,220 E che cosa è che, in fondo? 372 00:18:07,220 --> 00:18:10,500 Ciò significa, che cosa è l' probabilità di vedere la parola "baby" 373 00:18:10,500 --> 00:18:12,130 canzoni Gaga? 374 00:18:12,130 --> 00:18:16,240 Se voglio calcolare che in un modo semplice, è solo il numero di 375 00:18:16,240 --> 00:18:23,640 volte che vedo "baby" rispetto al numero totale delle parole della canzone Gaga, giusto? 376 00:18:23,640 --> 00:18:27,600 Qual è la frequenza che vedo quella parola nel lavoro di Gaga? 377 00:18:27,600 --> 00:18:30,530 Dare un senso? 378 00:18:30,530 --> 00:18:33,420 >> Il secondo termine è l' probabilità di Gaga. 379 00:18:33,420 --> 00:18:34,360 Che cosa vuol dire? 380 00:18:34,360 --> 00:18:38,550 Questo significa fondamentalmente, quello che è il probabilità di classificazione 381 00:18:38,550 --> 00:18:40,690 alcuni testi come Gaga? 382 00:18:40,690 --> 00:18:45,320 E questo è un po 'strano, ma pensiamo a un esempio. 383 00:18:45,320 --> 00:18:49,230 Quindi diciamo che la probabilità di avere "baby" in una canzone è la stessa 384 00:18:49,230 --> 00:18:51,760 per Gaga e Britney Spears. 385 00:18:51,760 --> 00:18:54,950 Ma Britney Spears ha il doppio più canzoni di Lady Gaga. 386 00:18:54,950 --> 00:19:00,570 Quindi, se qualcuno ti dà solo casualmente testo di "bambino", la prima cosa che 387 00:19:00,570 --> 00:19:04,710 guardare è, qual è la probabilità di avere "baby" in una canzone Gaga, "baby" 388 00:19:04,710 --> 00:19:05,410 in una canzone di Britney? 389 00:19:05,410 --> 00:19:06,460 Ed è la stessa cosa. 390 00:19:06,460 --> 00:19:10,040 >> Quindi la seconda cosa che vedrete è, Ebbene, qual è la probabilità di 391 00:19:10,040 --> 00:19:13,770 questa lirica di per sé essere una lirica Gaga, e qual è la probabilità di 392 00:19:13,770 --> 00:19:15,380 essendo una lirica di Britney? 393 00:19:15,380 --> 00:19:18,950 Quindi, dal momento che Britney ha tanti più lyrics di Gaga, si sarebbe probabilmente 394 00:19:18,950 --> 00:19:21,470 diciamo, bene, questo è probabilmente una lirica Britney. 395 00:19:21,470 --> 00:19:23,340 Ecco perché abbiamo questo termine giusto qui. 396 00:19:23,340 --> 00:19:24,670 Probabilità di Gaga. 397 00:19:24,670 --> 00:19:26,950 Ha senso? 398 00:19:26,950 --> 00:19:28,660 Lo fa? 399 00:19:28,660 --> 00:19:29,370 OK. 400 00:19:29,370 --> 00:19:33,500 >> E l'ultima è proprio la probabilità di "baby", che non 401 00:19:33,500 --> 00:19:34,810 importa più di tanto. 402 00:19:34,810 --> 00:19:39,940 Ma è la probabilità di vedere "baby" in inglese. 403 00:19:39,940 --> 00:19:42,725 Noi di solito non importa che molto di quel termine. 404 00:19:42,725 --> 00:19:44,490 Ritiene che senso? 405 00:19:44,490 --> 00:19:48,110 Quindi la probabilità di Gaga è chiamato la probabilità a priori 406 00:19:48,110 --> 00:19:49,530 della Gaga classe. 407 00:19:49,530 --> 00:19:53,840 Perché significa proprio questo, qual è il probabilità di avere quella classe - 408 00:19:53,840 --> 00:19:55,520 che è Gaga - 409 00:19:55,520 --> 00:19:59,350 solo in generale, solo senza condizioni. 410 00:19:59,350 --> 00:20:02,560 >> E poi quando ho probabilità di Gaga dato "baby", lo chiamiamo più 411 00:20:02,560 --> 00:20:06,160 lacrime una probabilità perché è la probabilità di avere 412 00:20:06,160 --> 00:20:08,300 Gaga dato alcune prove. 413 00:20:08,300 --> 00:20:11,050 Quindi io ti sto dando l'evidenza che ho visto la parola bambino e 414 00:20:11,050 --> 00:20:12,690 la canzone ha senso? 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 >> Quindi, se ho calcolato che per ogni delle canzoni di Lady Gaga, 418 00:20:22,400 --> 00:20:25,916 cosa che sarebbe - 419 00:20:25,916 --> 00:20:27,730 a quanto pare, non posso spostare questo. 420 00:20:27,730 --> 00:20:31,850 421 00:20:31,850 --> 00:20:36,920 La probabilità di Gaga sarà qualcosa di simile, 2 over 24, i tempi di mezzo, 422 00:20:36,920 --> 00:20:38,260 oltre 2 over 53. 423 00:20:38,260 --> 00:20:40,640 Non importa se si sa cosa questi numeri sono provenienti da. 424 00:20:40,640 --> 00:20:44,750 Ma è solo un numero che sta andando di essere più di 0, giusto? 425 00:20:44,750 --> 00:20:48,610 >> E poi quando lo faccio Katy Perry, l' probabilità di "baby" data Katy è 426 00:20:48,610 --> 00:20:49,830 già 0, giusto? 427 00:20:49,830 --> 00:20:52,820 Perché non c'è "baby" in Katy Perry. 428 00:20:52,820 --> 00:20:56,360 Allora questo diventa 0, e Gaga vittorie, il che significa che Gaga è 429 00:20:56,360 --> 00:20:57,310 probabilmente il cantante. 430 00:20:57,310 --> 00:20:58,560 Ritiene che senso? 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 >> Quindi, se voglio fare questo più ufficiale, Posso effettivamente fare un modello 435 00:21:11,750 --> 00:21:12,700 più parole. 436 00:21:12,700 --> 00:21:14,610 Quindi diciamo che ho qualcosa come, "baby, io sono 437 00:21:14,610 --> 00:21:16,030 sul fuoco ", o qualcosa del genere. 438 00:21:16,030 --> 00:21:17,760 Così ha più parole. 439 00:21:17,760 --> 00:21:20,880 E in questo caso, è possibile vedere che "baby" è in Gaga, 440 00:21:20,880 --> 00:21:21,710 ma non è a Katy. 441 00:21:21,710 --> 00:21:24,940 E "fuoco" è in Katy, ma non è nel Gaga, giusto? 442 00:21:24,940 --> 00:21:27,200 Così è sempre più difficile, giusto? 443 00:21:27,200 --> 00:21:31,440 Perché sembra che quasi avere un legame tra i due. 444 00:21:31,440 --> 00:21:36,980 >> Quindi quello che dovete fare è assumere indipendenza tra le parole. 445 00:21:36,980 --> 00:21:41,210 Quindi, in pratica cosa significa è che Sto solo calcolando qual è il 446 00:21:41,210 --> 00:21:44,330 probabilità di vedere "baby", che cosa è la probabilità di vedere "io", e 447 00:21:44,330 --> 00:21:46,670 "Am", e "on" e "fuoco" tutti separatamente. 448 00:21:46,670 --> 00:21:48,670 Poi ho moltiplicando tutti loro. 449 00:21:48,670 --> 00:21:52,420 E sto vedendo qual è la probabilità di vedere l'intera frase. 450 00:21:52,420 --> 00:21:55,210 Dare un senso? 451 00:21:55,210 --> 00:22:00,270 >> Quindi, fondamentalmente, se ho una sola parola, quello che voglio trovare è l'arg max, 452 00:22:00,270 --> 00:22:05,385 il che significa, che cosa è la classe che è avermi dato la più alta probabilità? 453 00:22:05,385 --> 00:22:10,010 Allora, qual è la classe che sta dando me la più alta probabilità di 454 00:22:10,010 --> 00:22:11,940 probabilità di classe dato parola. 455 00:22:11,940 --> 00:22:17,610 Quindi, in questo caso, dato Gaga "baby". O Katy dato "baby". Dare un senso? 456 00:22:17,610 --> 00:22:21,040 >> E proprio da Bayes, che equazione che ho mostrato, 457 00:22:21,040 --> 00:22:24,780 creiamo questa frazione. 458 00:22:24,780 --> 00:22:28,750 L'unica cosa è che si vede che la probabilità di parola dato l' 459 00:22:28,750 --> 00:22:31,370 spostamenti di classe seconda sulla classe, giusto? 460 00:22:31,370 --> 00:22:34,260 Il numero di s "baby" che ho in Gaga è diverso da Katy. 461 00:22:34,260 --> 00:22:37,640 La probabilità di classe anche modifiche perché è solo il numero 462 00:22:37,640 --> 00:22:39,740 delle canzoni ognuno di loro ha. 463 00:22:39,740 --> 00:22:43,980 >> Ma la probabilità della parola stessa sta per essere lo stesso per tutte le 464 00:22:43,980 --> 00:22:44,740 artisti, giusto? 465 00:22:44,740 --> 00:22:47,150 Quindi la probabilità della parola è solo, qual è la probabilità di 466 00:22:47,150 --> 00:22:49,820 visto che nella parola Lingua inglese? 467 00:22:49,820 --> 00:22:51,420 Quindi è lo stesso per tutti. 468 00:22:51,420 --> 00:22:55,790 Quindi, dal momento che questo è costante, possiamo solo cadere questo e non preoccuparsene. 469 00:22:55,790 --> 00:23:00,230 Quindi questo sarà effettivamente l' equazione che stiamo cercando. 470 00:23:00,230 --> 00:23:03,360 >> E se ho più parole, io sono ancora in corso per avere il preventivo 471 00:23:03,360 --> 00:23:04,610 probabilità qui. 472 00:23:04,610 --> 00:23:06,980 L'unica cosa è che sto moltiplicando la probabilità di 473 00:23:06,980 --> 00:23:08,490 tutte le altre parole. 474 00:23:08,490 --> 00:23:10,110 Così sto moltiplicando tutti loro. 475 00:23:10,110 --> 00:23:12,610 Dare un senso? 476 00:23:12,610 --> 00:23:18,440 Sembra strano, ma in pratica significa, calcolare la prima della classe, e 477 00:23:18,440 --> 00:23:22,100 poi moltiplicare per la probabilità di ogni delle parole che si trovano in quella classe. 478 00:23:22,100 --> 00:23:24,620 479 00:23:24,620 --> 00:23:29,150 >> E si sa che la probabilità di un parola data una classe sta per essere l' 480 00:23:29,150 --> 00:23:34,520 numero di volte si vede che la parola in tale classe, diviso per il numero di 481 00:23:34,520 --> 00:23:37,020 parole che hanno a che classe in generale. 482 00:23:37,020 --> 00:23:37,990 Dare un senso? 483 00:23:37,990 --> 00:23:41,680 E 'proprio come "baby" è stato 2 over il numero di parole che 484 00:23:41,680 --> 00:23:43,020 Ho avuto nei testi. 485 00:23:43,020 --> 00:23:45,130 Quindi, solo la frequenza. 486 00:23:45,130 --> 00:23:46,260 >> Ma c'è una cosa. 487 00:23:46,260 --> 00:23:51,250 Ricordo che stavo mostrando che l' probabilità di essere della canzone "baby" di 488 00:23:51,250 --> 00:23:56,350 da Katy Perry era di 0 solo perché Katy Perry non ha avuto "baby" a tutti? 489 00:23:56,350 --> 00:24:04,900 Ma suona un po 'dura a poco semplicemente dire che i testi non possono essere da 490 00:24:04,900 --> 00:24:10,040 un artista solo perché non hanno quella parola in particolare in qualsiasi momento. 491 00:24:10,040 --> 00:24:13,330 >> Quindi, si può solo dire, bene, se si non hanno questa parola, ho intenzione di 492 00:24:13,330 --> 00:24:15,640 vi darà una minore probabilità, ma sto solo non andare a 493 00:24:15,640 --> 00:24:17,420 dare 0 subito. 494 00:24:17,420 --> 00:24:21,040 Perché forse era qualcosa di simile, "Fuoco, fuoco, fuoco, fuoco", che è 495 00:24:21,040 --> 00:24:21,990 totalmente Katy Perry. 496 00:24:21,990 --> 00:24:26,060 E poi "baby", e va solo per 0 subito perché c'era un 497 00:24:26,060 --> 00:24:27,250 "Baby". 498 00:24:27,250 --> 00:24:31,440 >> Quindi, in pratica quello che facciamo è qualcosa di chiamata Laplace smoothing. 499 00:24:31,440 --> 00:24:36,260 E questo significa solo che sto dando certa probabilità anche alle parole 500 00:24:36,260 --> 00:24:37,850 che non esistono. 501 00:24:37,850 --> 00:24:43,170 Quindi quello che faccio è che quando sono calcolo di questo, io aggiungo sempre 1 a 502 00:24:43,170 --> 00:24:44,180 il numeratore. 503 00:24:44,180 --> 00:24:48,060 Quindi, anche se la parola non esiste, in questo caso, se questo è 0, sono ancora 504 00:24:48,060 --> 00:24:51,250 calcolare tale pixel 1 sulla numero totale di parole. 505 00:24:51,250 --> 00:24:55,060 In caso contrario, ottengo quante parole Ho e aggiungo 1. 506 00:24:55,060 --> 00:24:58,300 Così sto contando per entrambi i casi. 507 00:24:58,300 --> 00:25:00,430 Dare un senso? 508 00:25:00,430 --> 00:25:03,060 >> Così ora facciamo un po 'di codifica. 509 00:25:03,060 --> 00:25:06,440 Ho intenzione di avere a che fare abbastanza in fretta, ma è solo importante che si 510 00:25:06,440 --> 00:25:08,600 ragazzi a capire i concetti. 511 00:25:08,600 --> 00:25:13,450 Quindi quello che stiamo cercando di fare è esattamente l'attuazione del presente 512 00:25:13,450 --> 00:25:14,330 cosa che ho appena detto - 513 00:25:14,330 --> 00:25:19,110 Voglio che tu metti testi da Lady Gaga e Katy Perry. 514 00:25:19,110 --> 00:25:22,980 E il programma sta per essere in grado di dire se questi nuovi testi sono da Gaga 515 00:25:22,980 --> 00:25:24,170 o Katy Perry. 516 00:25:24,170 --> 00:25:25,800 Dare un senso? 517 00:25:25,800 --> 00:25:27,530 OK. 518 00:25:27,530 --> 00:25:30,710 >> Così ho questo programma ho intenzione per chiamare classify.py. 519 00:25:30,710 --> 00:25:31,970 Quindi questo è Python. 520 00:25:31,970 --> 00:25:34,210 E 'un nuovo linguaggio di programmazione. 521 00:25:34,210 --> 00:25:38,020 È molto simile in qualche modi per C e PHP. 522 00:25:38,020 --> 00:25:43,180 E 'simile, perché se si vuole imparare Python dopo aver conosciuto C, è 523 00:25:43,180 --> 00:25:46,270 davvero non tanto di una sfida solo perché Python è molto più facile 524 00:25:46,270 --> 00:25:47,520 di C, prima di tutto. 525 00:25:47,520 --> 00:25:49,370 E un sacco di cose sono già implementato per voi. 526 00:25:49,370 --> 00:25:56,820 Quindi, solo come come PHP ha funzioni che ordinare un elenco, o aggiungere qualcosa 527 00:25:56,820 --> 00:25:58,780 ad un array, o blah, blah, blah. 528 00:25:58,780 --> 00:26:00,690 Python ha tutte quelle pure. 529 00:26:00,690 --> 00:26:05,960 >> Così sto solo andando a spiegare rapidamente come potremmo fare la classificazione 530 00:26:05,960 --> 00:26:07,860 problema qui. 531 00:26:07,860 --> 00:26:13,230 Quindi diciamo che in questo caso, ho lyrics from Gaga e Katy Perry. 532 00:26:13,230 --> 00:26:21,880 Il modo in cui ho questi testi è che la prima parola del testo è 533 00:26:21,880 --> 00:26:25,250 il nome dell'artista, e il resto è il testo. 534 00:26:25,250 --> 00:26:29,470 Quindi diciamo che ho questa lista in che il primo è Testo della canzone Gaga. 535 00:26:29,470 --> 00:26:31,930 Così eccomi qui sulla strada giusta. 536 00:26:31,930 --> 00:26:35,270 E il prossimo è Katy, e ma ha anche i testi. 537 00:26:35,270 --> 00:26:38,040 >> Quindi questo è come si dichiara una variabile in Python. 538 00:26:38,040 --> 00:26:40,200 Non dovete dare il tipo di dati. 539 00:26:40,200 --> 00:26:43,150 Basta scrivere "lyrics" un po 'come in PHP. 540 00:26:43,150 --> 00:26:44,890 Dare un senso? 541 00:26:44,890 --> 00:26:47,770 >> Quindi quali sono le cose che devo calcolare per poter calcolare la 542 00:26:47,770 --> 00:26:49,360 probabilità? 543 00:26:49,360 --> 00:26:55,110 Devo calcolare i "priori" di ciascuno dei diversi 544 00:26:55,110 --> 00:26:56,710 classi che ho. 545 00:26:56,710 --> 00:27:06,680 Devo calcolare i "posteriori" o meno le probabilità di 546 00:27:06,680 --> 00:27:12,150 ciascuna delle diverse parole che Posso avere per ogni artista. 547 00:27:12,150 --> 00:27:17,210 Quindi all'interno di Gaga, per esempio, sto andando per avere un elenco di quante volte vedo 548 00:27:17,210 --> 00:27:19,250 ciascuna delle parole. 549 00:27:19,250 --> 00:27:20,760 Dare un senso? 550 00:27:20,760 --> 00:27:25,370 >> E, infine, sto solo intenzione di avere un elenco denominato "parole" che sta solo andando 551 00:27:25,370 --> 00:27:29,780 per avere quante parole ho avere per ogni artista. 552 00:27:29,780 --> 00:27:33,760 Così per Gaga, per esempio, quando guardo al testo, che avevo, credo, 24 553 00:27:33,760 --> 00:27:34,750 parole in totale. 554 00:27:34,750 --> 00:27:38,970 Quindi questa lista è solo andare per avere 24 Gaga e Katy altro numero. 555 00:27:38,970 --> 00:27:40,130 Dare un senso? 556 00:27:40,130 --> 00:27:40,560 OK. 557 00:27:40,560 --> 00:27:42,530 >> Così ora, in realtà, cerchiamo di andare alla codifica. 558 00:27:42,530 --> 00:27:45,270 Quindi, in Python, si può effettivamente restituire un mazzo di diversa 559 00:27:45,270 --> 00:27:46,630 cose da una funzione. 560 00:27:46,630 --> 00:27:50,810 Quindi ho intenzione di creare questa funzione chiamato "condizionale", che sta 561 00:27:50,810 --> 00:27:53,890 per riportare tutte queste cose, la "priori", le "probabilità", e la 562 00:27:53,890 --> 00:28:05,690 "parole". Quindi "con riserva", ed è andando a mettere in "lyrics". 563 00:28:05,690 --> 00:28:11,510 >> Così ora voglio che effettivamente scrivere questa funzione. 564 00:28:11,510 --> 00:28:17,750 Quindi il modo che io possa scrivere questo funzione è che ho appena definito questo 565 00:28:17,750 --> 00:28:20,620 funzionare con "def". Così ho fatto "def condizionale ", e sta prendendo 566 00:28:20,620 --> 00:28:28,700 "Lyrics". E ciò che questo sta per fare è, prima di tutto, ho le mie priori 567 00:28:28,700 --> 00:28:31,030 che voglio calcolare. 568 00:28:31,030 --> 00:28:34,330 >> Quindi il modo che io possa fare questo è creare un dizionario in Python, che 569 00:28:34,330 --> 00:28:37,320 è praticamente la stessa cosa di un hash tavolo, o è come un iterativo 570 00:28:37,320 --> 00:28:40,480 array in PHP. 571 00:28:40,480 --> 00:28:44,150 Questo è come mi dichiaro un dizionario. 572 00:28:44,150 --> 00:28:53,580 E in fondo che cosa questo significa è che priori di Gaga è di 0,5, ad esempio, se 573 00:28:53,580 --> 00:28:57,200 Il 50% dei testi sono da Gaga, il 50% sono da Katy. 574 00:28:57,200 --> 00:28:58,450 Dare un senso? 575 00:28:58,450 --> 00:29:00,680 576 00:29:00,680 --> 00:29:03,680 Quindi devo capire come per calcolare i priori. 577 00:29:03,680 --> 00:29:07,120 >> Le prossime quelli che devo fare, anche, sono le probabilità e le parole. 578 00:29:07,120 --> 00:29:17,100 Quindi le probabilità di Gaga l'elenco di tutte le probabilità che 579 00:29:17,100 --> 00:29:19,160 avere per ciascuna delle parole di Gaga. 580 00:29:19,160 --> 00:29:23,880 Quindi se vado a probabilità di Gaga "Baby", per esempio, ti do me 581 00:29:23,880 --> 00:29:28,750 qualcosa come 2 su 24 in questo caso. 582 00:29:28,750 --> 00:29:30,070 Dare un senso? 583 00:29:30,070 --> 00:29:36,120 Così vado a "probabilità", andare al Secchio "Gaga", che ha un elenco di tutti 584 00:29:36,120 --> 00:29:40,550 le parole Gaga, poi vado a "baby" e vedo la probabilità. 585 00:29:40,550 --> 00:29:45,940 >> E finalmente ho questa "Parole" dizionario. 586 00:29:45,940 --> 00:29:53,620 Così qui, "probabilità". Poi "parole". Quindi se faccio "parole", "Gaga" 587 00:29:53,620 --> 00:29:58,330 ciò che sta per accadere è che si tratta di intenzione di darmi 24, dicendo che 588 00:29:58,330 --> 00:30:01,990 hanno 24 parole all'interno di testi di Gaga. 589 00:30:01,990 --> 00:30:04,110 Ha senso? 590 00:30:04,110 --> 00:30:07,070 Così qui, "le parole" uguale dah-dah-dah. 591 00:30:07,070 --> 00:30:07,620 Bene 592 00:30:07,620 --> 00:30:12,210 >> Allora che cosa ho intenzione di fare è che ho intenzione di iterare su ognuno dei testi, in modo 593 00:30:12,210 --> 00:30:14,490 ciascuna delle stringhe che Ho in lista. 594 00:30:14,490 --> 00:30:18,040 E ho intenzione di calcolare queste cose per ciascuno dei candidati. 595 00:30:18,040 --> 00:30:19,950 Ha senso? 596 00:30:19,950 --> 00:30:21,700 Quindi devo fare un ciclo for. 597 00:30:21,700 --> 00:30:26,300 >> Quindi, in Python quello che posso fare è "per la linea canzoni. "La stessa cosa di un 598 00:30:26,300 --> 00:30:28,000 "Per ogni" dichiarazione in PHP. 599 00:30:28,000 --> 00:30:33,420 Ricordate come se fosse PHP ho potuto dire "ogni canzone come ad 600 00:30:33,420 --> 00:30:35,220 linea. "ha senso? 601 00:30:35,220 --> 00:30:38,900 Così sto prendendo ognuna delle linee, in questo caso, questa stringa e la successiva 602 00:30:38,900 --> 00:30:44,540 stringa così per ciascuna delle linee di quello che sto intenzione di fare è in primo luogo, ho intenzione di 603 00:30:44,540 --> 00:30:49,150 dividere questa linea in un elenco di parole separate da spazi. 604 00:30:49,150 --> 00:30:53,730 >> Quindi la cosa bella di Python è che Si può solo Google come "come posso 605 00:30:53,730 --> 00:30:58,220 dividere una stringa in parole? "Ed è intenzione di dirvi come fare. 606 00:30:58,220 --> 00:31:04,890 E il modo per farlo, è solo "linea = Line.split () "ed è fondamentalmente 607 00:31:04,890 --> 00:31:08,640 per darvi una lista con ognuna delle parole qui. 608 00:31:08,640 --> 00:31:09,620 Ha senso? 609 00:31:09,620 --> 00:31:15,870 Quindi, ora che ho fatto io voglio sapere chi è il cantante di quella canzone. 610 00:31:15,870 --> 00:31:20,130 E per farlo devo solo ottenere l' primo elemento della matrice, giusto? 611 00:31:20,130 --> 00:31:26,390 Quindi posso solo dire che io "cantante = Linea (0) "Ha un senso? 612 00:31:26,390 --> 00:31:32,010 >> E poi quello che devo fare è, prima di tutti, ho intenzione di aggiornare quanti 613 00:31:32,010 --> 00:31:36,130 parole che hanno sotto "Gaga". così io sono solo andando a calcolare quante parole ho 614 00:31:36,130 --> 00:31:38,690 sono in questa lista, giusto? 615 00:31:38,690 --> 00:31:41,910 Perché questo è quante parole ho nei testi e sto solo andando a 616 00:31:41,910 --> 00:31:44,120 aggiungerlo alla matrice "Gaga". 617 00:31:44,120 --> 00:31:47,090 Ritiene che senso? 618 00:31:47,090 --> 00:31:49,010 Non concentrarsi troppo sulla sintassi. 619 00:31:49,010 --> 00:31:50,430 Pensare di più i concetti. 620 00:31:50,430 --> 00:31:52,400 Questa è la parte più importante. 621 00:31:52,400 --> 00:31:52,720 OK. 622 00:31:52,720 --> 00:32:00,260 >> Quindi quello che posso fare è che se "Gaga" è già in quella lista, così "se il cantante in 623 00:32:00,260 --> 00:32:03,190 parole "il che significa che ho già hanno parole da Gaga. 624 00:32:03,190 --> 00:32:06,640 Voglio solo aggiungere l'ulteriore parole che. 625 00:32:06,640 --> 00:32:15,810 Quindi quello che faccio è "parole (cantante) + = Len (line) - 1 ". 626 00:32:15,810 --> 00:32:18,250 E allora posso solo fare il lunghezza della linea. 627 00:32:18,250 --> 00:32:21,860 Così come molti elementi I avere nella matrice. 628 00:32:21,860 --> 00:32:27,060 E devo fare meno 1 solo perché il primo elemento della matrice è solo 629 00:32:27,060 --> 00:32:29,180 un cantante e quelli che non sono testi. 630 00:32:29,180 --> 00:32:31,420 Ha senso? 631 00:32:31,420 --> 00:32:32,780 OK. 632 00:32:32,780 --> 00:32:35,820 >> "Altrimenti", significa che voglio davvero inserisci Gaga nella lista. 633 00:32:35,820 --> 00:32:45,990 Quindi io faccio solo "parole (cantante) = Len (line) - 1, "mi dispiace. 634 00:32:45,990 --> 00:32:49,200 Quindi l'unica differenza tra i due linee è che questa, non è così 635 00:32:49,200 --> 00:32:51,080 esisto ancora, quindi sono solo inizializzazione. 636 00:32:51,080 --> 00:32:53,820 Questa realtà sto aggiungendo. 637 00:32:53,820 --> 00:32:55,570 OK. 638 00:32:55,570 --> 00:32:59,480 Quindi questo è stato aggiunta alle parole. 639 00:32:59,480 --> 00:33:03,040 >> Ora voglio aggiungere a priori. 640 00:33:03,040 --> 00:33:05,480 Allora, come faccio a calcolare i priori? 641 00:33:05,480 --> 00:33:11,580 I priori possono essere calcolati da quante volte. 642 00:33:11,580 --> 00:33:15,340 Quindi, quante volte si vede che il cantante tra tutti i cantanti che voi 643 00:33:15,340 --> 00:33:16,380 hanno, giusto? 644 00:33:16,380 --> 00:33:18,810 Così, per Gaga e Katy Perry, in questo caso, vedo Gaga 645 00:33:18,810 --> 00:33:20,570 una volta, Katy Perry volta. 646 00:33:20,570 --> 00:33:23,320 >> Quindi, in pratica i priori per Gaga e per Katy Perry sarebbe 647 00:33:23,320 --> 00:33:24,390 essere solo uno, giusto? 648 00:33:24,390 --> 00:33:26,500 Devi solo quante volte Vedo l'artista. 649 00:33:26,500 --> 00:33:28,740 Quindi questo è molto facile da calcolare. 650 00:33:28,740 --> 00:33:34,100 Posso solo qualcosa di simile come tipo "se cantante in priori, "Sto solo andando 651 00:33:34,100 --> 00:33:38,970 aggiungere 1 alla loro casella priori. 652 00:33:38,970 --> 00:33:51,000 Quindi, "priori (cantare)" + = 1 "e poi" altro " Io vado a fare "priori (cantante) 653 00:33:51,000 --> 00:33:55,000 = 1. "Ha senso? 654 00:33:55,000 --> 00:34:00,080 >> Quindi, se non esiste ho appena messo come 1, altrimenti ho appena aggiungo 1. 655 00:34:00,080 --> 00:34:11,280 OK, ora tutto quello che ho lasciato fare è anche aggiungere ogni parola alla 656 00:34:11,280 --> 00:34:12,290 probabilità. 657 00:34:12,290 --> 00:34:14,889 Quindi devo contare quante volte Vedo ciascuna delle parole. 658 00:34:14,889 --> 00:34:18,780 Quindi non mi resta che fare un altro per nodo nella linea. 659 00:34:18,780 --> 00:34:25,190 >> Quindi, prima cosa che ho intenzione di fare è controllare se il cantante ha già un 660 00:34:25,190 --> 00:34:26,969 probabilità array. 661 00:34:26,969 --> 00:34:31,739 Così sto controllando se il cantante non hanno una matrice di probabilità, io sono solo 662 00:34:31,739 --> 00:34:34,480 andando per inizializzare uno per loro. 663 00:34:34,480 --> 00:34:36,400 Non è nemmeno un array, mi dispiace, si tratta di un dizionario. 664 00:34:36,400 --> 00:34:43,080 Quindi le probabilità di cantante sta per essere un dizionario aperto, quindi sono 665 00:34:43,080 --> 00:34:45,830 solo l'inizializzazione di un dizionario per esso. 666 00:34:45,830 --> 00:34:46,820 OK? 667 00:34:46,820 --> 00:34:58,330 >> Ed ora posso effettivamente fare un ciclo for per calcolare ciascuna delle parole ' 668 00:34:58,330 --> 00:35:00,604 probabilità. 669 00:35:00,604 --> 00:35:01,540 OK. 670 00:35:01,540 --> 00:35:04,160 Quindi quello che posso fare è un ciclo for. 671 00:35:04,160 --> 00:35:06,590 Così sto solo andando a scorrere la matrice. 672 00:35:06,590 --> 00:35:15,320 Quindi, il modo in cui posso farlo in Python è "for i in range." Dal 1 673 00:35:15,320 --> 00:35:19,200 perché voglio iniziare nel secondo elemento perché la prima è la 674 00:35:19,200 --> 00:35:20,260 Nome del cantante. 675 00:35:20,260 --> 00:35:24,990 Quindi, da uno fino al lunghezza della linea. 676 00:35:24,990 --> 00:35:29,760 E quando lo faccio RANGE effettivamente andare da come qui da 1 a len della 677 00:35:29,760 --> 00:35:30,740 linea meno 1. 678 00:35:30,740 --> 00:35:33,810 Così fa già che cosa fare n meno 1 per le matrici che è molto 679 00:35:33,810 --> 00:35:35,500 conveniente. 680 00:35:35,500 --> 00:35:37,850 Ha senso? 681 00:35:37,850 --> 00:35:42,770 >> Quindi, per ognuno di questi, quello che ho intenzione di fare è, come nell'altro, 682 00:35:42,770 --> 00:35:50,320 Vado a controllare se la parola in questo posizione nella linea è già 683 00:35:50,320 --> 00:35:51,570 probabilità. 684 00:35:51,570 --> 00:35:53,400 685 00:35:53,400 --> 00:35:57,260 E poi come ho detto qui, le probabilità parole, come in metto 686 00:35:57,260 --> 00:35:58,400 "probabilità (cantante)". 687 00:35:58,400 --> 00:35:59,390 Così il nome del cantante. 688 00:35:59,390 --> 00:36:03,450 Quindi, se è già in "PROBABILIT (cantante)", vuol dire che 689 00:36:03,450 --> 00:36:11,960 Voglio aggiungere 1 ad essa, quindi ho intenzione di fare "probabilità (cantante)", e l' 690 00:36:11,960 --> 00:36:14,100 parola è chiamato "linea (i)". 691 00:36:14,100 --> 00:36:22,630 Ho intenzione di aggiungere 1 e "altro" Sono solo andando per inizializzare a 1. 692 00:36:22,630 --> 00:36:23,880 "Line (i)". 693 00:36:23,880 --> 00:36:26,920 694 00:36:26,920 --> 00:36:28,420 Ha senso? 695 00:36:28,420 --> 00:36:30,180 >> Così, ho calcolato tutte le matrici. 696 00:36:30,180 --> 00:36:36,580 Così, ora tutto ciò che devo fare per questo è solo "ritorno priori, 697 00:36:36,580 --> 00:36:43,230 probabilità e parole. "Facciamo vedere se ci sono, OK. 698 00:36:43,230 --> 00:36:45,690 Sembra che tutto sta funzionando finora. 699 00:36:45,690 --> 00:36:46,900 Quindi, questo ha un senso? 700 00:36:46,900 --> 00:36:47,750 In qualche modo? 701 00:36:47,750 --> 00:36:49,280 OK. 702 00:36:49,280 --> 00:36:51,980 Così ora ho tutte le probabilità. 703 00:36:51,980 --> 00:36:55,100 Così ora l'unica cosa che ho lasciato è solo per avere quella cosa che 704 00:36:55,100 --> 00:36:58,650 calcola il prodotto di tutte le Probabilità quando ricevo i testi. 705 00:36:58,650 --> 00:37:06,270 >> Quindi diciamo che voglio ora chiamare questa funzione "classificare ()" e la 706 00:37:06,270 --> 00:37:08,880 cosa che funzione ha è solo un argomento. 707 00:37:08,880 --> 00:37:13,170 Diciamo "Baby, io sono il fuoco" ed è andare a capire che cosa è il 708 00:37:13,170 --> 00:37:14,490 probabilità che questo è Gaga? 709 00:37:14,490 --> 00:37:16,405 Qual è la probabilità che questo è Katie? 710 00:37:16,405 --> 00:37:19,690 Suona bene? 711 00:37:19,690 --> 00:37:25,750 Così sto solo andando ad avere per creare un nuova funzione chiamata "classificare ()" e 712 00:37:25,750 --> 00:37:29,180 sta andando a prendere un po ' Testo della canzone pure. 713 00:37:29,180 --> 00:37:31,790 714 00:37:31,790 --> 00:37:36,160 E poi i testi anche io dovranno inviare i priori, il 715 00:37:36,160 --> 00:37:37,700 probabilità e le parole. 716 00:37:37,700 --> 00:37:44,000 Quindi ho intenzione di inviare testi, Priori, probabilità, le parole. 717 00:37:44,000 --> 00:37:51,840 >> Quindi questo sta prendendo testi, Priori, probabilità, le parole. 718 00:37:51,840 --> 00:37:53,530 Allora, che cosa fa? 719 00:37:53,530 --> 00:37:57,180 E 'fondamentalmente sta per passare attraverso tutti i possibili candidati che si 720 00:37:57,180 --> 00:37:58,510 avere come cantante. 721 00:37:58,510 --> 00:37:59,425 E dove sono i candidati? 722 00:37:59,425 --> 00:38:01,020 Sono Negli priori, giusto? 723 00:38:01,020 --> 00:38:02,710 Così ho tutti quelli lì. 724 00:38:02,710 --> 00:38:07,870 Quindi ho intenzione di avere un dizionario di tutti i possibili candidati. 725 00:38:07,870 --> 00:38:14,220 E poi per ciascun candidato in priori, quindi significa che sta andando a 726 00:38:14,220 --> 00:38:17,740 essere Gaga, Katie se avessi più sarebbe più. 727 00:38:17,740 --> 00:38:20,410 Ho intenzione di avviare il calcolo questa probabilità. 728 00:38:20,410 --> 00:38:28,310 La probabilità, come abbiamo visto nel PowerPoint è dai tempi precedenti alla 729 00:38:28,310 --> 00:38:30,800 prodotto di ciascuno degli altre probabilità. 730 00:38:30,800 --> 00:38:32,520 >> Così posso fare lo stesso qui. 731 00:38:32,520 --> 00:38:36,330 Posso solo fare la probabilità è inizialmente solo la prima. 732 00:38:36,330 --> 00:38:40,340 Così priori del candidato. 733 00:38:40,340 --> 00:38:40,870 Giusto? 734 00:38:40,870 --> 00:38:45,360 E ora ho per scorrere tutte le parole che ho nei testi di essere 735 00:38:45,360 --> 00:38:48,820 grado di aggiungere la probabilità per ciascuno di essi, OK? 736 00:38:48,820 --> 00:38:57,900 Quindi, "per parola canzoni" quello che sto fare è, se la parola è in 737 00:38:57,900 --> 00:39:01,640 "probabilità (candidati)", che significa che è una parola che l' 738 00:39:01,640 --> 00:39:03,640 candidato ha nei loro testi - 739 00:39:03,640 --> 00:39:05,940 per esempio, "baby" per Gaga - 740 00:39:05,940 --> 00:39:11,710 che cosa ho intenzione di fare è che l' probabilità sta per essere moltiplicata 741 00:39:11,710 --> 00:39:22,420 da 1 più le probabilità di il candidato per quella parola. 742 00:39:22,420 --> 00:39:25,710 E si chiama "parola". 743 00:39:25,710 --> 00:39:32,440 Questo diviso per il numero di parole che ho per quel candidato. 744 00:39:32,440 --> 00:39:37,450 Il numero totale di parole che ho per il cantante che sto guardando. 745 00:39:37,450 --> 00:39:40,290 >> "Else". significa che è una parola nuova così sarebbe come per esempio 746 00:39:40,290 --> 00:39:41,860 "Fuoco" di Lady Gaga. 747 00:39:41,860 --> 00:39:45,760 Quindi voglio solo fare 1 su "Word (candidato)". 748 00:39:45,760 --> 00:39:47,710 Quindi io non voglio mettere questo termine qui. 749 00:39:47,710 --> 00:39:50,010 >> Quindi sarà sostanzialmente copiare e incollare questo. 750 00:39:50,010 --> 00:39:54,380 751 00:39:54,380 --> 00:39:56,000 Ma ho intenzione di eliminare questa parte. 752 00:39:56,000 --> 00:39:57,610 Quindi è solo andare a essere uno più di questo. 753 00:39:57,610 --> 00:40:00,900 754 00:40:00,900 --> 00:40:02,150 Suona bene? 755 00:40:02,150 --> 00:40:03,980 756 00:40:03,980 --> 00:40:09,700 E ora, alla fine, sto solo andando a stampare il nome del candidato e 757 00:40:09,700 --> 00:40:15,750 la probabilità che avete di avendo la S sui loro testi. 758 00:40:15,750 --> 00:40:16,200 Ha senso? 759 00:40:16,200 --> 00:40:18,390 E ho fatto fare nemmeno bisogno di questo dizionario. 760 00:40:18,390 --> 00:40:19,510 Ha senso? 761 00:40:19,510 --> 00:40:21,810 >> Quindi, vediamo se questo funziona davvero. 762 00:40:21,810 --> 00:40:24,880 Quindi, se corro questo, non ha funzionato. 763 00:40:24,880 --> 00:40:26,130 Aspetta un secondo. 764 00:40:26,130 --> 00:40:28,870 765 00:40:28,870 --> 00:40:31,720 "Parole (candidati)", "parole (candidati)", che è 766 00:40:31,720 --> 00:40:33,750 il nome della matrice. 767 00:40:33,750 --> 00:40:41,435 OK Così, si dice che c'è qualche bug per il candidato a priori. 768 00:40:41,435 --> 00:40:46,300 769 00:40:46,300 --> 00:40:48,760 Lasciatemi semplicemente rilassarsi un po '. 770 00:40:48,760 --> 00:40:50,360 OK. 771 00:40:50,360 --> 00:40:51,305 Proviamo. 772 00:40:51,305 --> 00:40:51,720 OK. 773 00:40:51,720 --> 00:40:58,710 >> Così dà Katy Perry ha questa probabilità di questo volte 10 alla 774 00:40:58,710 --> 00:41:02,200 meno 7, e Gaga ha questo tempi di 10 alla meno 6. 775 00:41:02,200 --> 00:41:05,610 Così si vede che dimostra che Gaga ha una maggiore probabilità. 776 00:41:05,610 --> 00:41:09,260 Quindi "Baby, io sono in fiamme" è Probabilmente una canzone Gaga. 777 00:41:09,260 --> 00:41:10,580 Ha senso? 778 00:41:10,580 --> 00:41:12,030 Quindi questo è quello che abbiamo fatto. 779 00:41:12,030 --> 00:41:16,010 >> Questo codice sta per essere pubblicato on-line, così voi potete verificarlo. 780 00:41:16,010 --> 00:41:20,720 Forse utilizzare alcuni di esso per se volete fare un progetto o qualcosa di simile. 781 00:41:20,720 --> 00:41:22,150 OK. 782 00:41:22,150 --> 00:41:25,930 Questo era solo per dimostrare cosa computazionale 783 00:41:25,930 --> 00:41:27,230 codice linguistica assomiglia. 784 00:41:27,230 --> 00:41:33,040 Ma ora andiamo a più alto livello di roba. 785 00:41:33,040 --> 00:41:33,340 OK. 786 00:41:33,340 --> 00:41:35,150 >> Così gli altri problemi che stava parlando - 787 00:41:35,150 --> 00:41:37,550 il problema della segmentazione è il primo di essi. 788 00:41:37,550 --> 00:41:40,820 Così avete qui giapponese. 789 00:41:40,820 --> 00:41:43,420 E poi si vede che non ci sono spazi. 790 00:41:43,420 --> 00:41:49,110 Quindi questo è in pratica significa che è all'inizio della sedia, giusto? 791 00:41:49,110 --> 00:41:50,550 Tu parli il giapponese? 792 00:41:50,550 --> 00:41:52,840 E 'la parte superiore della sedia, giusto? 793 00:41:52,840 --> 00:41:54,480 >> STUDENTE: Io non so che cosa il kanji laggiù è. 794 00:41:54,480 --> 00:41:57,010 >> LUCAS FREITAS: Si [lingua giapponese] 795 00:41:57,010 --> 00:41:57,950 OK. 796 00:41:57,950 --> 00:42:00,960 Quindi significa fondamentalmente presidente del top. 797 00:42:00,960 --> 00:42:03,620 Quindi, se dovessi mettere uno spazio sarebbe qui. 798 00:42:03,620 --> 00:42:05,970 E allora avete [? Ueda-san. ?] 799 00:42:05,970 --> 00:42:09,040 Il che significa sostanzialmente Mr. Ueda. 800 00:42:09,040 --> 00:42:13,180 E si vede che "Ueda" e si dispone di un spazio e quindi "san". Così si vede che 801 00:42:13,180 --> 00:42:15,470 qui si "Ue" è come da sé. 802 00:42:15,470 --> 00:42:17,750 E qui ha un carattere accanto ad essa. 803 00:42:17,750 --> 00:42:21,720 >> Quindi non è come in quelle lingue caratteri significato di una parola in modo che tu 804 00:42:21,720 --> 00:42:23,980 basta mettere un sacco di spazi. 805 00:42:23,980 --> 00:42:25,500 Personaggi in relazione tra loro. 806 00:42:25,500 --> 00:42:28,680 E possono stare insieme come due, tre, uno. 807 00:42:28,680 --> 00:42:34,520 Quindi devi effettivamente creare qualche tipo di modo di mettere quegli spazi. 808 00:42:34,520 --> 00:42:38,850 >> E questa cosa è che ogni volta che si ottiene dati da tali lingue asiatiche, 809 00:42:38,850 --> 00:42:40,580 tutto viene segmentato. 810 00:42:40,580 --> 00:42:45,940 Perché nessuno che scrive giapponese o cinese scrive con spazi. 811 00:42:45,940 --> 00:42:48,200 Ogni volta che si sta scrivendo cinese, Giapponese basta scrivere tutto 812 00:42:48,200 --> 00:42:48,710 senza spazi. 813 00:42:48,710 --> 00:42:52,060 Non ha nemmeno senso mettere spazi. 814 00:42:52,060 --> 00:42:57,960 Allora quando si ottiene i dati da alcuni Lingua dell'Asia orientale, se si vuole 815 00:42:57,960 --> 00:43:00,760 effettivamente fare qualcosa con quel devi primo segmento. 816 00:43:00,760 --> 00:43:05,130 >> Pensate di fare l'esempio di il testo senza spazi. 817 00:43:05,130 --> 00:43:07,950 Così gli unici testi che avete sarà frasi, giusto? 818 00:43:07,950 --> 00:43:09,470 Separati da punti. 819 00:43:09,470 --> 00:43:13,930 Ma poi avendo appena la sentenza sarà non aiuta davvero a dare informazioni 820 00:43:13,930 --> 00:43:17,760 di chi quei testi sono da. 821 00:43:17,760 --> 00:43:18,120 Giusto? 822 00:43:18,120 --> 00:43:20,010 Quindi, si dovrebbe in primo luogo mette spazi. 823 00:43:20,010 --> 00:43:21,990 Così come si può fare? 824 00:43:21,990 --> 00:43:24,920 >> Allora viene l'idea di una lingua modello che è qualcosa di veramente 825 00:43:24,920 --> 00:43:26,870 importante per computazionale linguistica. 826 00:43:26,870 --> 00:43:32,790 Così un modello di linguaggio è fondamentalmente un tabella di probabilità che spettacoli 827 00:43:32,790 --> 00:43:36,260 prima di tutto quanto è la probabilità di avere la parola in una lingua? 828 00:43:36,260 --> 00:43:39,590 Quindi, mostrando come spesso una parola è. 829 00:43:39,590 --> 00:43:43,130 E poi mostra anche la relazione tra le parole in una frase. 830 00:43:43,130 --> 00:43:51,500 >> Così l'idea principale è, se uno straniero venuto a voi e disse una frase per 831 00:43:51,500 --> 00:43:55,600 te, qual è la probabilità che, per esempio, "questa è mia sorella [? GTF"?] 832 00:43:55,600 --> 00:43:57,480 era la frase che la persona ha detto? 833 00:43:57,480 --> 00:44:00,380 Così, ovviamente, alcune frasi sono più comuni di altri. 834 00:44:00,380 --> 00:44:04,450 Ad esempio, "buongiorno" o "buona notte ", o" hey c'è, "è molto più 835 00:44:04,450 --> 00:44:08,260 comune di quanto la maggior parte delle condanne che abbiamo un inglese. 836 00:44:08,260 --> 00:44:11,060 Allora, perché sono quelle frasi più frequente? 837 00:44:11,060 --> 00:44:14,060 >> Prima di tutto, è perché avete parole che sono più frequenti. 838 00:44:14,060 --> 00:44:20,180 Così, per esempio, se tu dici, il cane è grande, e il cane è gigantesco, è 839 00:44:20,180 --> 00:44:23,880 di solito probabilmente sente il cane è grande più spesso perché "grande" è più 840 00:44:23,880 --> 00:44:27,260 frequente in inglese di "gigantesco". Quindi, uno dei 841 00:44:27,260 --> 00:44:30,100 cose è la frequenza delle parole. 842 00:44:30,100 --> 00:44:34,490 >> La seconda cosa che è veramente importante è solo l' 843 00:44:34,490 --> 00:44:35,490 ordine delle parole. 844 00:44:35,490 --> 00:44:39,500 Quindi, è comune a dire "il gatto è all'interno della scatola. "ma di solito non 845 00:44:39,500 --> 00:44:44,250 vedere "La scatola interna è il gatto." così si vede che vi è una certa importanza 846 00:44:44,250 --> 00:44:46,030 nell'ordine delle parole. 847 00:44:46,030 --> 00:44:50,160 Non si può semplicemente dire che quei due frasi hanno la stessa probabilità 848 00:44:50,160 --> 00:44:53,010 solo perché hanno le stesse parole. 849 00:44:53,010 --> 00:44:55,550 In realtà si deve la cura circa ordine pure. 850 00:44:55,550 --> 00:44:57,650 Dare un senso? 851 00:44:57,650 --> 00:44:59,490 >> Allora cosa facciamo? 852 00:44:59,490 --> 00:45:01,550 Così che cosa potrei provare a prenderti? 853 00:45:01,550 --> 00:45:04,400 Sto cercando di ottenere ciò che chiamare i modelli n-gram. 854 00:45:04,400 --> 00:45:09,095 Così i modelli n-gram fondamentalmente assumono che per ogni parola 855 00:45:09,095 --> 00:45:10,960 si dispone in una frase. 856 00:45:10,960 --> 00:45:15,020 È la probabilità di avere tale parola non dipende non solo dalla 857 00:45:15,020 --> 00:45:18,395 frequenza di tale parola nella lingua, ma anche sulle parole che 858 00:45:18,395 --> 00:45:19,860 sono lo circonda. 859 00:45:19,860 --> 00:45:25,810 >> Così, per esempio, di solito quando si vede qualcosa di simile o alle sei 860 00:45:25,810 --> 00:45:28,040 probabilmente andando a vedere un sostantivo dopo, giusto? 861 00:45:28,040 --> 00:45:31,750 Perché quando hai una preposizione di solito ci vuole un sostantivo dopo di esso. 862 00:45:31,750 --> 00:45:35,540 O se avete un verbo che è transitivo di solito sta per 863 00:45:35,540 --> 00:45:36,630 avere un sintagma nominale. 864 00:45:36,630 --> 00:45:38,780 Così sta andando ad avere un sostantivo da qualche parte intorno ad esso. 865 00:45:38,780 --> 00:45:44,950 >> Quindi, in sostanza, ciò che fa è che essa considera la probabilità di avere 866 00:45:44,950 --> 00:45:47,960 parole accanto all'altro, quando si sta calcolando il 867 00:45:47,960 --> 00:45:49,050 probabilità di una frase. 868 00:45:49,050 --> 00:45:50,960 Ed è quello che una lingua il modello è fondamentalmente. 869 00:45:50,960 --> 00:45:54,620 Basta dire qual è la probabilità di avere un preciso 870 00:45:54,620 --> 00:45:57,120 frase in una lingua? 871 00:45:57,120 --> 00:45:59,110 Allora perché è così utile, in fondo? 872 00:45:59,110 --> 00:46:02,390 E prima di tutto ciò che è un modello n-gram, allora? 873 00:46:02,390 --> 00:46:08,850 >> Così un modello n-grammi significa che ogni parola dipende dalla 874 00:46:08,850 --> 00:46:12,700 accanto N meno 1 parole. 875 00:46:12,700 --> 00:46:18,150 Quindi, in sostanza, vuol dire che se guardo, per esempio, al TF CS50 quando 876 00:46:18,150 --> 00:46:21,500 Sto calcolando la probabilità di la frase, si sarà come "l' 877 00:46:21,500 --> 00:46:25,280 probabilità di avere la parola "il" volte la probabilità di avere "l' 878 00:46:25,280 --> 00:46:31,720 CS50 "volte la probabilità di avere "Il TF CS50." Quindi, in sostanza, io conto 879 00:46:31,720 --> 00:46:35,720 tutti i possibili modi di stretching. 880 00:46:35,720 --> 00:46:41,870 >> E poi di solito quando si sta facendo questo, come in un progetto, si mette N di essere 881 00:46:41,870 --> 00:46:42,600 un valore basso. 882 00:46:42,600 --> 00:46:45,930 Così, di solito hanno bigrams o trigrammi. 883 00:46:45,930 --> 00:46:51,090 In modo che appena contano due parole, un gruppo di due parole, o tre parole, 884 00:46:51,090 --> 00:46:52,620 solo per problemi di prestazioni. 885 00:46:52,620 --> 00:46:56,395 E anche perché magari se avete qualcosa come "Il TF CS50." Quando si 886 00:46:56,395 --> 00:47:00,510 hanno "TF", è molto importante che "CS50" è accanto ad essa, giusto? 887 00:47:00,510 --> 00:47:04,050 Queste due cose sono di solito accanto all'altro. 888 00:47:04,050 --> 00:47:06,410 >> Se si pensa di "TF", è probabilmente andando ad avere ciò che 889 00:47:06,410 --> 00:47:07,890 classe è TF'ing per. 890 00:47:07,890 --> 00:47:11,330 Anche "la" è veramente importante per CS50 TF. 891 00:47:11,330 --> 00:47:14,570 Ma se avete qualcosa come "Il CS50 TF è andato a lezione e ha dato loro 892 00:47:14,570 --> 00:47:20,060 studenti di alcune caramelle. "" Candy "e" la " non hanno alcun rapporto davvero, giusto? 893 00:47:20,060 --> 00:47:23,670 Sono così distanti tra loro che in realtà non importa cosa 894 00:47:23,670 --> 00:47:25,050 parole che hanno. 895 00:47:25,050 --> 00:47:31,210 >> Quindi, facendo un bigram o un trigramma, si semplicemente significa che si sta limitando 896 00:47:31,210 --> 00:47:33,430 a voi stessi di alcune parole che sono intorno. 897 00:47:33,430 --> 00:47:35,810 Dare un senso? 898 00:47:35,810 --> 00:47:40,630 Quindi, quando si vuole fare la segmentazione, in sostanza, ciò che si vuole fare è vedere 899 00:47:40,630 --> 00:47:44,850 quali sono tutti i possibili modi che è possibile segmentare la frase. 900 00:47:44,850 --> 00:47:49,090 >> Tale che vedete qual è il probabilità di ciascuna di quelle frasi 901 00:47:49,090 --> 00:47:50,880 esistente nella lingua? 902 00:47:50,880 --> 00:47:53,410 Quindi, quello che fai è come, beh, lasciate Cercherò di mettere uno spazio qui. 903 00:47:53,410 --> 00:47:55,570 Così si mette uno spazio lì e si vede qual è il 904 00:47:55,570 --> 00:47:57,590 probabilità di quella frase? 905 00:47:57,590 --> 00:48:00,240 Allora sei come, OK, forse che non era buono. 906 00:48:00,240 --> 00:48:03,420 Così ho messo uno spazio c'e uno spazio lì, e si calcola il 907 00:48:03,420 --> 00:48:06,240 probabilità ora, e si vede che è una maggiore probabilità. 908 00:48:06,240 --> 00:48:12,160 >> Quindi questo è un algoritmo chiamato TANGO algoritmo di segmentazione, che è 909 00:48:12,160 --> 00:48:14,990 in realtà qualcosa che sarebbe davvero fresco per un progetto, che 910 00:48:14,990 --> 00:48:20,860 fondamentalmente prende testo non segmentato che può essere giapponese o cinese o forse 911 00:48:20,860 --> 00:48:26,080 Inglese senza spazi e cerca di mettere spazi tra le parole e lo fa 912 00:48:26,080 --> 00:48:29,120 che utilizzando un modello del linguaggio e cercando di vedere qual è la più alta 913 00:48:29,120 --> 00:48:31,270 probabilità che si può ottenere. 914 00:48:31,270 --> 00:48:32,230 OK. 915 00:48:32,230 --> 00:48:33,800 Quindi questo è segmentazione. 916 00:48:33,800 --> 00:48:35,450 >> Ora sintassi. 917 00:48:35,450 --> 00:48:40,940 Quindi, sintassi viene utilizzato per così tante cose in questo momento. 918 00:48:40,940 --> 00:48:44,880 Così per il grafico Ricerca per Siri per praticamente qualsiasi tipo di naturale 919 00:48:44,880 --> 00:48:46,490 elaborazione del linguaggio che avete. 920 00:48:46,490 --> 00:48:49,140 Quindi quali sono le importanti cose di sintassi? 921 00:48:49,140 --> 00:48:52,390 Quindi, frasi in generale hanno ciò che noi chiamiamo costituenti. 922 00:48:52,390 --> 00:48:57,080 Che sono un po 'come gruppi di parole che hanno una funzione nella frase. 923 00:48:57,080 --> 00:49:02,220 E non possono essere veramente l'uno dall'altro. 924 00:49:02,220 --> 00:49:07,380 >> Quindi, se io dico, per esempio, "Lauren ama Milo. "So che" Lauren "è un 925 00:49:07,380 --> 00:49:10,180 costituente e quindi "amori Milo "è anche un altro. 926 00:49:10,180 --> 00:49:16,860 Perché non si può dire come "Lauren Milo ama "per avere lo stesso significato. 927 00:49:16,860 --> 00:49:18,020 Non sta andando ad avere lo stesso significato. 928 00:49:18,020 --> 00:49:22,500 O non posso dire come "Milo Lauren ama. "Non tutto ha lo stesso 929 00:49:22,500 --> 00:49:25,890 significa farlo. 930 00:49:25,890 --> 00:49:31,940 >> Quindi le due cose più importanti su sintassi sono i tipi lessicali che è 931 00:49:31,940 --> 00:49:35,390 fondamentalmente la funzione che si avere per parole da soli. 932 00:49:35,390 --> 00:49:39,180 Quindi dovete sapere che "Lauren" e "Milo" sono sostantivi. 933 00:49:39,180 --> 00:49:41,040 "Love" è un verbo. 934 00:49:41,040 --> 00:49:45,660 E la seconda cosa importante è che sono tipi frasali. 935 00:49:45,660 --> 00:49:48,990 Così si sa che "ama Milo" è in realtà una frase verbale. 936 00:49:48,990 --> 00:49:52,390 Quindi, quando dico "Lauren", so che Lauren sta facendo qualcosa. 937 00:49:52,390 --> 00:49:53,620 Che cosa sta facendo? 938 00:49:53,620 --> 00:49:54,570 Lei adora Milo. 939 00:49:54,570 --> 00:49:56,440 Quindi è una cosa completamente. 940 00:49:56,440 --> 00:50:01,640 Ma i suoi componenti sono un sostantivo e un verbo. 941 00:50:01,640 --> 00:50:04,210 Ma insieme, fanno un verbo frase. 942 00:50:04,210 --> 00:50:08,680 >> Allora, che cosa possiamo realmente fare con linguistica computazionale? 943 00:50:08,680 --> 00:50:13,810 Quindi, se ho qualcosa per esempio "amici di Allison". Vedo se ho appena 944 00:50:13,810 --> 00:50:17,440 ha un albero sintattico vorrei sapere che "Friends" è un sintagma nominale è un 945 00:50:17,440 --> 00:50:21,480 sostantivo e poi "di Allison" è un frase preposizionale in cui "di" è 946 00:50:21,480 --> 00:50:24,810 una proposizione e "Allison" è un sostantivo. 947 00:50:24,810 --> 00:50:30,910 Cosa potevo fare è insegnare il computer che quando ho un sintagma nominale uno e 948 00:50:30,910 --> 00:50:33,080 poi una frase preposizionale. 949 00:50:33,080 --> 00:50:39,020 Quindi, in questo caso, "amici" e poi "di Milo "So che questo significa che 950 00:50:39,020 --> 00:50:43,110 NP2, il secondo, possiede NP1. 951 00:50:43,110 --> 00:50:47,680 >> Così posso creare una sorta di relazione, qualche tipo di funzione per esso. 952 00:50:47,680 --> 00:50:52,370 Così ogni volta che vedo questa struttura, che corrisponde esattamente con "gli amici di 953 00:50:52,370 --> 00:50:56,030 Allison, "so che Allison possiede gli amici. 954 00:50:56,030 --> 00:50:58,830 Così gli amici sono qualcosa che Allison ha. 955 00:50:58,830 --> 00:50:59,610 Ha senso? 956 00:50:59,610 --> 00:51:01,770 Quindi questo è fondamentalmente ciò che Grafico di ricerca fa. 957 00:51:01,770 --> 00:51:04,360 Si crea solo regole per un sacco di cose. 958 00:51:04,360 --> 00:51:08,190 Quindi "amici di Allison", "i miei amici che vivono a Cambridge "," i miei amici 959 00:51:08,190 --> 00:51:12,970 che vanno a Harvard. "Crea regole per tutte queste cose. 960 00:51:12,970 --> 00:51:14,930 >> Ora traduzione automatica. 961 00:51:14,930 --> 00:51:18,850 Quindi, la traduzione automatica è anche qualcosa di statistica. 962 00:51:18,850 --> 00:51:21,340 E in realtà, se sei stato coinvolto in linguistica computazionale, un sacco di 963 00:51:21,340 --> 00:51:23,580 la tua roba sarà statistiche. 964 00:51:23,580 --> 00:51:26,670 Quindi, come stavo facendo l'esempio con un sacco di probabilità che ero 965 00:51:26,670 --> 00:51:30,540 calcolo, e poi si arriva a questo numero molto piccolo che è la finale 966 00:51:30,540 --> 00:51:33,180 probabilità, e questo è ciò che ti dà la risposta. 967 00:51:33,180 --> 00:51:37,540 Traduzione automatica utilizza anche un modello statistico. 968 00:51:37,540 --> 00:51:44,790 E se si vuole pensare di macchina Traduzione in semplice possibile 969 00:51:44,790 --> 00:51:48,970 modo, ciò che si può pensare è solo tradurre parola per parola, giusto? 970 00:51:48,970 --> 00:51:52,150 >> Quando stai imparando una lingua per l' prima volta, che di solito è quello che 971 00:51:52,150 --> 00:51:52,910 si fa, giusto? 972 00:51:52,910 --> 00:51:57,050 Se volete tradurre una frase nella tua lingua alla lingua 973 00:51:57,050 --> 00:52:00,060 stai imparando, di solito in primo luogo, di tradurre ogni parola 974 00:52:00,060 --> 00:52:03,180 individualmente, e quindi si tenta di mettere le parole in posizione. 975 00:52:03,180 --> 00:52:07,100 >> Quindi, se ho voluto tradurre questo, [Chi parla portoghese] 976 00:52:07,100 --> 00:52:10,430 che significa "il gatto bianco scappato." Se avessi voluto tradurlo da 977 00:52:10,430 --> 00:52:13,650 Portoghese inglese, quello che ho potrebbe fare è, in primo luogo, ho solo 978 00:52:13,650 --> 00:52:14,800 tradurre parola per parola. 979 00:52:14,800 --> 00:52:20,570 Quindi, "o" è "il", "gato", "gatto" "Branco", "bianco" e quindi "fugio" è 980 00:52:20,570 --> 00:52:21,650 "Scappato". 981 00:52:21,650 --> 00:52:26,130 >> Allora ho tutte le parole qui, ma non sono in ordine. 982 00:52:26,130 --> 00:52:29,590 E 'come "il gatto bianco scappato" che è sgrammaticata. 983 00:52:29,590 --> 00:52:34,490 Così, allora posso avere una seconda fase, che sta per essere trovare l'ideale 984 00:52:34,490 --> 00:52:36,610 posizione per ciascuna delle parole. 985 00:52:36,610 --> 00:52:40,240 Quindi so che io in realtà voglio avere "Gatto bianco" invece di "gatto bianco". Così 986 00:52:40,240 --> 00:52:46,050 quello che posso fare è, il metodo più ingenuo sarebbe quello di creare tutte le 987 00:52:46,050 --> 00:52:49,720 possibili permutazioni di parole, delle posizioni. 988 00:52:49,720 --> 00:52:53,300 E poi vedere quale ha la più alta probabilità secondo 989 00:52:53,300 --> 00:52:54,970 al mio modello di linguaggio. 990 00:52:54,970 --> 00:52:58,390 E poi quando trovo quello che ha la più alta probabilità esso, che è 991 00:52:58,390 --> 00:53:01,910 probabilmente "il gatto bianco scappato," questa è la mia traduzione. 992 00:53:01,910 --> 00:53:06,710 >> E questo è un modo semplice di spiegare come un sacco di traduzione automatica 993 00:53:06,710 --> 00:53:07,910 algoritmi funzionano. 994 00:53:07,910 --> 00:53:08,920 Ritiene che senso? 995 00:53:08,920 --> 00:53:12,735 Questo è anche qualcosa di veramente eccitante che voi ragazzi può forse scoprire per un 996 00:53:12,735 --> 00:53:13,901 progetto definitivo, sì? 997 00:53:13,901 --> 00:53:15,549 >> STUDENTE: Beh, hai detto che era il modo ingenuo, quindi qual è 998 00:53:15,549 --> 00:53:17,200 il modo non ingenuo? 999 00:53:17,200 --> 00:53:18,400 >> LUCAS FREITAS: Il modo non ingenuo? 1000 00:53:18,400 --> 00:53:19,050 OK. 1001 00:53:19,050 --> 00:53:22,860 Quindi la prima cosa che è male di questo metodo è che ho appena tradotto 1002 00:53:22,860 --> 00:53:24,330 parole, parola per parola. 1003 00:53:24,330 --> 00:53:30,570 Ma a volte hai parole che può avere più traduzioni. 1004 00:53:30,570 --> 00:53:32,210 Ho intenzione di provare a pensare di qualcosa. 1005 00:53:32,210 --> 00:53:37,270 Ad esempio, "manga" in can portoghese essere sia "mangle" o "manica". Così 1006 00:53:37,270 --> 00:53:40,450 quando si sta cercando di tradurre parola con la parola, si potrebbe ti dà 1007 00:53:40,450 --> 00:53:42,050 qualcosa che non ha senso. 1008 00:53:42,050 --> 00:53:45,770 >> Così si vuole realmente si guarda a tutti le possibili traduzioni del 1009 00:53:45,770 --> 00:53:49,840 parole e vedere, prima di tutto, che cosa è l'ordine. 1010 00:53:49,840 --> 00:53:52,000 Stavamo parlando permutating le cose? 1011 00:53:52,000 --> 00:53:54,150 Per vedere tutti i possibili ordini e scegliere quello con la massima 1012 00:53:54,150 --> 00:53:54,990 probabilità? 1013 00:53:54,990 --> 00:53:57,860 È anche possibile scegliere tutte le possibili traduzioni per ogni 1014 00:53:57,860 --> 00:54:00,510 parola e poi vedere - 1015 00:54:00,510 --> 00:54:01,950 combinata con le permutazioni - 1016 00:54:01,950 --> 00:54:03,710 che si ha la più alta probabilità. 1017 00:54:03,710 --> 00:54:08,590 >> Inoltre, è possibile anche guardare non solo parole ma frasi. 1018 00:54:08,590 --> 00:54:11,700 in modo da poter analizzare i rapporti tra le parole e quindi ottenere un 1019 00:54:11,700 --> 00:54:13,210 traduzione migliore. 1020 00:54:13,210 --> 00:54:16,690 Inoltre qualcos'altro, così questo semestre Realtà sto facendo ricerca in 1021 00:54:16,690 --> 00:54:19,430 Cinese-Inglese traduzione automatica, così traducendo da 1022 00:54:19,430 --> 00:54:20,940 Cinese in inglese. 1023 00:54:20,940 --> 00:54:26,760 >> E qualcosa che facciamo è, oltre ad utilizzare un modello statistico, che è solo 1024 00:54:26,760 --> 00:54:30,570 vedendo le probabilità di vedere qualche posizione in una frase, sono 1025 00:54:30,570 --> 00:54:35,360 in realtà anche l'aggiunta di una sintassi al mio modello, dicendo: oh, se vedo questo tipo 1026 00:54:35,360 --> 00:54:39,420 di costruzione, questo è quello che voglio cambiare per quando traduco. 1027 00:54:39,420 --> 00:54:43,880 Così si può anche aggiungere qualche tipo di elemento di sintassi per rendere l' 1028 00:54:43,880 --> 00:54:47,970 traduzione più efficiente e più precisa. 1029 00:54:47,970 --> 00:54:48,550 OK. 1030 00:54:48,550 --> 00:54:51,010 >> Così come si può iniziare, se si desidera di fare qualcosa in computazionale 1031 00:54:51,010 --> 00:54:51,980 linguistica? 1032 00:54:51,980 --> 00:54:54,560 >> In primo luogo, si sceglie un progetto che coinvolge le lingue. 1033 00:54:54,560 --> 00:54:56,310 Quindi, ci sono così tanti là fuori. 1034 00:54:56,310 --> 00:54:58,420 Ci sono tante cose che puoi fare. 1035 00:54:58,420 --> 00:55:00,510 E poi si può pensare a un modello che è possibile utilizzare. 1036 00:55:00,510 --> 00:55:04,710 Di solito questo significa pensare ipotesi, come come, oh, quando ero 1037 00:55:04,710 --> 00:55:05,770 come il pensiero dei testi. 1038 00:55:05,770 --> 00:55:09,510 Ero come, bene, se voglio capire una che ha scritto questo, probabilmente voglio 1039 00:55:09,510 --> 00:55:15,400 a guardare le parole persona che ha utilizzato e vedere chi usa quella parola molto spesso. 1040 00:55:15,400 --> 00:55:18,470 Quindi cercate di fare ipotesi e cercare di pensare a modelli. 1041 00:55:18,470 --> 00:55:21,395 E allora si può anche verificare on-line per il tipo di problema che avete, 1042 00:55:21,395 --> 00:55:24,260 e sta andando a suggerire a voi i modelli che forse 1043 00:55:24,260 --> 00:55:26,560 modellato bene che cosa. 1044 00:55:26,560 --> 00:55:29,080 >> E inoltre si può sempre scrivermi. 1045 00:55:29,080 --> 00:55:31,140 me@lfreitas.com. 1046 00:55:31,140 --> 00:55:34,940 E posso solo rispondere alle vostre domande. 1047 00:55:34,940 --> 00:55:38,600 Possiamo anche potremmo incontrare così posso dare suggerimenti sulle modalità di 1048 00:55:38,600 --> 00:55:41,490 l'attuazione del progetto. 1049 00:55:41,490 --> 00:55:45,610 E voglio dire, se sei stato coinvolto con linguistica computazionale, sta andando 1050 00:55:45,610 --> 00:55:46,790 per essere grande. 1051 00:55:46,790 --> 00:55:48,370 Stai andando a vedere lì è così tanto potenziale. 1052 00:55:48,370 --> 00:55:52,060 E l'industria vuole assumere così male a causa di questo. 1053 00:55:52,060 --> 00:55:54,720 Quindi spero che voi ragazzi è piaciuto questo. 1054 00:55:54,720 --> 00:55:57,030 Se voi ragazzi avete tutte le domande, si può chiedere a me dopo questo. 1055 00:55:57,030 --> 00:55:58,280 Ma grazie. 1056 00:55:58,280 --> 00:56:00,150