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 Welkom almal. 4 00:00:09,980 --> 00:00:11,216 My naam is Lucas Freitas. 5 00:00:11,216 --> 00:00:15,220 Ek is 'n junior by [onhoorbaar] studeer Rekenaarwetenskap met 'n fokus op 6 00:00:15,220 --> 00:00:16,410 rekenaarlinguistiek. 7 00:00:16,410 --> 00:00:19,310 So my sekondêre is in die taal en taalkundige teorie. 8 00:00:19,310 --> 00:00:21,870 Ek is regtig opgewonde julle ouens te leer 'n bietjie oor die veld. 9 00:00:21,870 --> 00:00:24,300 Dit is 'n baie opwindende omgewing te bestudeer. 10 00:00:24,300 --> 00:00:27,260 Ook met 'n baie potensiaal vir die toekoms. 11 00:00:27,260 --> 00:00:30,160 So, ek is baie opgewonde dat jy ouens oorweeg projekte in 12 00:00:30,160 --> 00:00:31,160 rekenaarlinguistiek. 13 00:00:31,160 --> 00:00:35,460 En ek sal meer as gelukkig wees om te adviseer enige van jou as jy besluit om te 14 00:00:35,460 --> 00:00:37,090 streef een van daardie. 15 00:00:37,090 --> 00:00:40,010 >> So in die eerste plek wat computational linguistiek? 16 00:00:40,010 --> 00:00:44,630 So rekenaarlinguistiek is die kruising tussen taal en 17 00:00:44,630 --> 00:00:46,390 Rekenaarwetenskap. 18 00:00:46,390 --> 00:00:47,415 So, wat is die linguistiek? 19 00:00:47,415 --> 00:00:48,490 Wat is die rekenaar wetenskap? 20 00:00:48,490 --> 00:00:51,580 Wel van linguistiek, wat ons is die tale. 21 00:00:51,580 --> 00:00:54,960 So taalkunde is eintlik die studie van natuurlike taal in die algemeen. 22 00:00:54,960 --> 00:00:58,330 So natuurlike taal - ons praat oor taal wat ons eintlik gebruik te 23 00:00:58,330 --> 00:00:59,770 met mekaar kommunikeer. 24 00:00:59,770 --> 00:01:02,200 So Ons is nie presies praat oor C of Java. 25 00:01:02,200 --> 00:01:05,900 Ons praat meer oor Engels en Chinese en ander tale wat ons 26 00:01:05,900 --> 00:01:07,780 gebruik om met mekaar te kommunikeer. 27 00:01:07,780 --> 00:01:12,470 >> Die uitdagende ding oor dit is dat reg nou is ons het byna 7000 28 00:01:12,470 --> 00:01:14,260 tale in die wêreld. 29 00:01:14,260 --> 00:01:19,520 So is daar 'n hoë verskeidenheid van die tale wat ons kan bestudeer. 30 00:01:19,520 --> 00:01:22,600 En dan moet jy dink dat dit waarskynlik baie moeilik om te doen, byvoorbeeld, 31 00:01:22,600 --> 00:01:26,960 vertaling van een taal na die ander van mening is dat jy 32 00:01:26,960 --> 00:01:28,240 byna 7000 van hulle. 33 00:01:28,240 --> 00:01:31,450 So, as jy dink om dit te doen vertaling van een taal na die ander 34 00:01:31,450 --> 00:01:35,840 het byna meer as 'n miljoen verskillende kombinasies wat jy kan 35 00:01:35,840 --> 00:01:37,330 het van taal tot taal. 36 00:01:37,330 --> 00:01:40,820 So dit is regtig 'n uitdaging 'n paar om te doen soort voorbeeld vertaling stelsel vir 37 00:01:40,820 --> 00:01:43,540 elke enkele taal. 38 00:01:43,540 --> 00:01:47,120 >> So, linguistiek behandel met sintaksis, semantiek, pragmatiek. 39 00:01:47,120 --> 00:01:49,550 Julle presies nodig het nie om te weet wat hulle is. 40 00:01:49,550 --> 00:01:55,090 Maar die baie interessante ding is dat as 'n moedertaal spreker, wanneer jy leer 41 00:01:55,090 --> 00:01:59,010 taal as kind, wat jy eintlik leer al hierdie dinge - sintaksis semantiek 42 00:01:59,010 --> 00:02:00,500 en pragmatiek - 43 00:02:00,500 --> 00:02:01,430 deur jouself. 44 00:02:01,430 --> 00:02:04,820 En niemand het jy sintaksis vir leer om te verstaan ​​hoe sinne 45 00:02:04,820 --> 00:02:05,290 gestruktureer. 46 00:02:05,290 --> 00:02:07,980 So, dit is baie interessant, want dit is iets wat baie kom 47 00:02:07,980 --> 00:02:10,389 intuïtief. 48 00:02:10,389 --> 00:02:13,190 >> En wat is jy neem uit die rekenaar wetenskap? 49 00:02:13,190 --> 00:02:16,700 Wel, die belangrikste ding wat ons het in Rekenaarwetenskap is die eerste 50 00:02:16,700 --> 00:02:19,340 al, kunsmatige intelligensie en masjien leer. 51 00:02:19,340 --> 00:02:22,610 Dus, wat ons probeer om te doen rekenaarlinguistiek is leer 52 00:02:22,610 --> 00:02:26,990 jou rekenaar hoe om iets te doen met die taal. 53 00:02:26,990 --> 00:02:28,630 >> So, byvoorbeeld, in die masjien vertaling. 54 00:02:28,630 --> 00:02:32,490 Ek probeer my rekenaar hoe om te leer om te weet hoe om die oorgang van die een 55 00:02:32,490 --> 00:02:33,310 taal na die ander. 56 00:02:33,310 --> 00:02:35,790 So, basies wil onderrig 'n rekenaar twee tale. 57 00:02:35,790 --> 00:02:38,870 As ek dit doen natuurlike taal verwerking, wat die geval is byvoorbeeld van 58 00:02:38,870 --> 00:02:41,810 Facebook se grafiek Search, leer jy jou rekenaar hoe om te verstaan 59 00:02:41,810 --> 00:02:42,730 navrae goed. 60 00:02:42,730 --> 00:02:48,130 >> So, as jy sê "die foto's van my vriende. "Facebook nie behandel wat 61 00:02:48,130 --> 00:02:51,130 as 'n geheel string wat net 'n klomp van die woorde. 62 00:02:51,130 --> 00:02:56,020 Dit verstaan ​​eintlik die verhouding tussen "foto's" en "my vriende" en 63 00:02:56,020 --> 00:02:59,620 verstaan ​​dat "foto's" is eiendom van "my vriende." 64 00:02:59,620 --> 00:03:02,350 >> So, dit is deel van, byvoorbeeld, natuurlike taal verwerking. 65 00:03:02,350 --> 00:03:04,790 Dit is om te probeer verstaan ​​wat is die verhouding tussen 66 00:03:04,790 --> 00:03:07,520 die woorde in 'n sin. 67 00:03:07,520 --> 00:03:11,170 En die groot vraag is, kan jy leer om 'n rekenaar hoe om te praat 68 00:03:11,170 --> 00:03:12,650 'n taal in die algemeen? 69 00:03:12,650 --> 00:03:17,810 Wat is 'n baie interessante vraag te dink, asof miskien in die toekoms, 70 00:03:17,810 --> 00:03:19,930 jy gaan in staat wees om praat met jou selfoon. 71 00:03:19,930 --> 00:03:23,290 Soort van soos wat ons doen met Siri, maar iets meer wil, kan jy eintlik 72 00:03:23,290 --> 00:03:25,690 sê wat jy wil, en die telefoon gaan om alles te verstaan. 73 00:03:25,690 --> 00:03:28,350 En dit kan opvolg vrae en hou praat. 74 00:03:28,350 --> 00:03:30,880 Dit is iets wat baie opwindende, in my opinie. 75 00:03:30,880 --> 00:03:33,070 >> So, iets oor natuurlike tale. 76 00:03:33,070 --> 00:03:36,220 Iets baie interessant oor natuurlike tale is nie, en dit is 77 00:03:36,220 --> 00:03:38,470 krediet aan my linguistiek professor, Maria Polinsky. 78 00:03:38,470 --> 00:03:40,830 Sy gee 'n voorbeeld en ek dink dit is regtig interessant. 79 00:03:40,830 --> 00:03:47,060 Omdat ons leer die taal van wanneer ons gebore is en dan is ons moedertaal 80 00:03:47,060 --> 00:03:49,170 taal soort groei op ons. 81 00:03:49,170 --> 00:03:52,570 >> En basies wat jy leer taal van die minimum insette, reg? 82 00:03:52,570 --> 00:03:56,700 Jy is net om insette van jou ouers van wat jou taal klink 83 00:03:56,700 --> 00:03:58,770 hou en jy net leer om dit. 84 00:03:58,770 --> 00:04:02,240 So, dit is interessant, want as jy kyk by daardie sinne, byvoorbeeld. 85 00:04:02,240 --> 00:04:06,980 Jy sien, "Mary sit op 'n baadjie elke tyd wat sy die huis verlaat. " 86 00:04:06,980 --> 00:04:10,650 >> In hierdie geval, is dit moontlik om die woord "sy" verwys na Maria, reg? 87 00:04:10,650 --> 00:04:13,500 Jy kan sê: "Maria sit op 'n baadjie elke keer Maria laat die 88 00:04:13,500 --> 00:04:14,960 huis. "So is dit goed. 89 00:04:14,960 --> 00:04:19,370 Maar dan as jy kyk na die sin "Sy sit op 'n baadjie elke keer Mary 90 00:04:19,370 --> 00:04:22,850 die huis verlaat. "Jy weet dit is onmoontlik om te sê dat "sy" is 91 00:04:22,850 --> 00:04:24,260 verwys na Maria. 92 00:04:24,260 --> 00:04:27,070 >> Daar is geen manier om te sê dat "Maria sit op 'n baadjie elke keer Mary laat 93 00:04:27,070 --> 00:04:30,790 die huis. "So dit is interessant, want dit is die soort van aanvoeling 94 00:04:30,790 --> 00:04:32,890 dat elke moedertaal het. 95 00:04:32,890 --> 00:04:36,370 En niemand het geleer dat dit die manier waarop die sintaksis werk. 96 00:04:36,370 --> 00:04:41,930 En dat jy net kan hierdie "sy" verwys na Maria in die eerste geval, 97 00:04:41,930 --> 00:04:44,260 en eintlik in hierdie ander ook, maar nie in hierdie een. 98 00:04:44,260 --> 00:04:46,500 Maar almal soort van kry dieselfde antwoord. 99 00:04:46,500 --> 00:04:48,580 Almal is dit eens op dit. 100 00:04:48,580 --> 00:04:53,280 So dit is regtig interessant hoe hoewel jy nie al die reëls ken nie 101 00:04:53,280 --> 00:04:55,575 in jou taal jy soort van verstaan hoe die taal werk. 102 00:04:55,575 --> 00:04:59,020 103 00:04:59,020 --> 00:05:01,530 >> So het die interessante ding oor die natuurlike taal is dat jy nie hoef te 104 00:05:01,530 --> 00:05:06,970 weet enige sintaksis te weet as 'n sin is taalkundige of ongrammatikaal vir 105 00:05:06,970 --> 00:05:08,810 die meeste gevalle. 106 00:05:08,810 --> 00:05:13,220 Wat laat jou dink dat miskien wat gebeur, is dat deur jou lewe, jou 107 00:05:13,220 --> 00:05:17,410 raak net meer en meer sinne aan jou vertel. 108 00:05:17,410 --> 00:05:19,800 En dan moet jy hou memorisering al die sinne. 109 00:05:19,800 --> 00:05:24,230 En dan wanneer iemand jou vertel iets wat jy hoor dat sin en 110 00:05:24,230 --> 00:05:27,040 jy kyk na jou woordeskat sinne en kyk of 111 00:05:27,040 --> 00:05:28,270 daardie sin is daar. 112 00:05:28,270 --> 00:05:29,830 En as dit is daar om jou sê dit is taalkundige. 113 00:05:29,830 --> 00:05:31,740 As dit nie jy sê dit is ongrammatikaal. 114 00:05:31,740 --> 00:05:35,150 >> So, in daardie geval, sou jy sê, o, sodat jy het 'n groot lys van al 115 00:05:35,150 --> 00:05:36,140 moontlike sinne. 116 00:05:36,140 --> 00:05:38,240 En dan wanneer jy hoor 'n sin, jy weet of dit grammatikale of 117 00:05:38,240 --> 00:05:39,450 nie op grond van dat. 118 00:05:39,450 --> 00:05:42,360 Die ding is dat as jy kyk na 'n sin, byvoorbeeld, "Die 119 00:05:42,360 --> 00:05:47,540 vyf-en-leiding CS50 TFS gaar die blinde seekat met behulp van 'daPa beker. "Dit is 120 00:05:47,540 --> 00:05:49,630 beslis nie 'n sin dat jy gehoor het nie. 121 00:05:49,630 --> 00:05:52,380 Maar op dieselfde tyd wat jy weet dit is pretty much taalkundige, reg? 122 00:05:52,380 --> 00:05:55,570 Daar is geen taalkundige foute en jy kan sê dat 123 00:05:55,570 --> 00:05:57,020 dit is 'n moontlike sin. 124 00:05:57,020 --> 00:06:01,300 >> Daarom is dit ons laat dink wat eintlik die manier waarop ons leer taal is nie net 125 00:06:01,300 --> 00:06:07,090 deur met 'n groot databasis van moontlike woorde of sinne nie, maar meer van 126 00:06:07,090 --> 00:06:11,490 begrip van die verhouding tussen woorde in die sinne. 127 00:06:11,490 --> 00:06:14,570 Is wat sin maak? 128 00:06:14,570 --> 00:06:19,370 So, dan is die vraag is, kan rekenaars te leer tale? 129 00:06:19,370 --> 00:06:21,490 Kan ons leer taal tot rekenaars? 130 00:06:21,490 --> 00:06:24,230 >> So, laat ons dink aan die verskil tussen 'n moedertaal spreker van 'n taal 131 00:06:24,230 --> 00:06:25,460 en 'n rekenaar. 132 00:06:25,460 --> 00:06:27,340 So, wat gebeur met die spreker? 133 00:06:27,340 --> 00:06:30,430 Wel, die moedertaal leer 'n taal uit blootstelling daaraan. 134 00:06:30,430 --> 00:06:34,200 Gewoonlik sy vroeë kinderjare. 135 00:06:34,200 --> 00:06:38,570 So, basies, jy moet net 'n baba, en jy hou praat, en dit 136 00:06:38,570 --> 00:06:40,540 net leer hoe om te praat die taal, reg? 137 00:06:40,540 --> 00:06:42,660 So, jy basies gee insette aan die baba. 138 00:06:42,660 --> 00:06:45,200 So, dan kan jy argumenteer dat 'n rekenaar kan dieselfde ding doen, reg? 139 00:06:45,200 --> 00:06:49,510 Jy kan net gee taal as insette tot die rekenaar. 140 00:06:49,510 --> 00:06:53,410 >> As byvoorbeeld 'n klomp van die lêers wat boeke in Engels. 141 00:06:53,410 --> 00:06:56,190 Miskien is dit 'n manier dat jy moontlik leer om 'n 142 00:06:56,190 --> 00:06:57,850 rekenaar Engels, reg? 143 00:06:57,850 --> 00:07:01,000 En in werklikheid, as jy daaroor dink, dit neem jou miskien 'n paar 144 00:07:01,000 --> 00:07:02,680 dae 'n boek te lees. 145 00:07:02,680 --> 00:07:05,760 Vir 'n rekenaar wat dit neem om 'n tweede te kyk na al die woorde in 'n boek. 146 00:07:05,760 --> 00:07:10,810 Sodat jy kan dink dit kan net hierdie argument van die insette van rondom jou, 147 00:07:10,810 --> 00:07:15,440 dit is nie genoeg om te sê dat dit is iets wat net mense kan doen. 148 00:07:15,440 --> 00:07:17,680 Jy kan dink rekenaars kan ook insette. 149 00:07:17,680 --> 00:07:21,170 >> Die tweede ding is dat moedertaal sprekers het ook 'n brein wat 150 00:07:21,170 --> 00:07:23,870 taal te leer vermoë. 151 00:07:23,870 --> 00:07:27,020 Maar as jy daaroor dink, 'n brein is 'n soliede ding. 152 00:07:27,020 --> 00:07:30,450 As jy gebore is, is dit reeds gestel - 153 00:07:30,450 --> 00:07:31,320 dit is jou brein. 154 00:07:31,320 --> 00:07:34,660 En as jy grootword, jy het net meer insette van taal en miskien voedingstowwe 155 00:07:34,660 --> 00:07:35,960 en ander dinge. 156 00:07:35,960 --> 00:07:38,170 Maar pretty much jou brein is 'n soliede ding. 157 00:07:38,170 --> 00:07:41,290 >> Sodat jy kan sê, goed, miskien kan jy bou van 'n rekenaar met 'n klomp van die 158 00:07:41,290 --> 00:07:45,890 funksies en metodes wat net naboots taal te leer vermoë. 159 00:07:45,890 --> 00:07:49,630 So in daardie sin, kan jy sê, goed, ek kan 'n rekenaar wat al die het 160 00:07:49,630 --> 00:07:52,270 dinge wat ek nodig het om die taal te leer. 161 00:07:52,270 --> 00:07:56,200 En die laaste ding is dat 'n boorling spreker leer uit verhoor en fout. 162 00:07:56,200 --> 00:08:01,090 So basies 'n ander belangrike ding in taal te leer, is dat jy soort 163 00:08:01,090 --> 00:08:05,340 van leer dinge deur veralgemening van wat jy hoor. 164 00:08:05,340 --> 00:08:10,280 >> So as jy grootword jy leer dat sommige woorde is meer soos selfstandige naamwoorde, 165 00:08:10,280 --> 00:08:11,820 'n paar ander mense is adjektiewe. 166 00:08:11,820 --> 00:08:14,250 En jy hoef nie enige te hê kennis van die linguistiek 167 00:08:14,250 --> 00:08:15,040 dit te verstaan. 168 00:08:15,040 --> 00:08:18,560 Maar jy weet net daar is 'n paar woorde geposisioneer in 'n deel van die 169 00:08:18,560 --> 00:08:22,570 vonnis en 'n paar ander mense in ander dele van die sin. 170 00:08:22,570 --> 00:08:26,110 >> En dat wanneer jy iets wat te doen soos 'n sin wat nie korrek is nie - 171 00:08:26,110 --> 00:08:28,770 Miskien as gevolg van 'n oor veralgemening byvoorbeeld. 172 00:08:28,770 --> 00:08:32,210 Miskien wanneer jy grootword, jy sien dat die meervoud is gewoonlik 173 00:08:32,210 --> 00:08:35,809 gevorm deur 'n S op die einde van die woord. 174 00:08:35,809 --> 00:08:40,042 En dan moet jy probeer om die meervoud van om te doen "Takbokke" as "herten" of "tand" as 175 00:08:40,042 --> 00:08:44,780 "Tooths." So dan is jou ouers of iemand reggemaak jou en sê, nee, die 176 00:08:44,780 --> 00:08:49,020 meervoud van "takbokke" is "takbokke," en die meervoud van "tand" is "die tande." En dan 177 00:08:49,020 --> 00:08:50,060 jy leer hierdie dinge. 178 00:08:50,060 --> 00:08:51,520 So jy leer uit verhoor en fout. 179 00:08:51,520 --> 00:08:53,100 >> Maar jy kan ook doen met 'n rekenaar. 180 00:08:53,100 --> 00:08:55,310 Jy kan iets genoem het versterking leer. 181 00:08:55,310 --> 00:08:58,560 Wat is basies soos om 'n rekenaar 'n beloning wanneer dit nie 182 00:08:58,560 --> 00:08:59,410 iets korrek. 183 00:08:59,410 --> 00:09:04,710 En gee dit die teenoorgestelde van 'n beloning en as dit nie iets verkeerd. 184 00:09:04,710 --> 00:09:07,410 Jy kan eintlik sien dat as jy gaan Google Translate en jy probeer om te 185 00:09:07,410 --> 00:09:10,220 vertaal 'n sin, is dit vra vir terugvoer. 186 00:09:10,220 --> 00:09:13,240 So as jy sê, o, daar is 'n beter vertaling vir hierdie sin. 187 00:09:13,240 --> 00:09:18,140 Jy kan tik dit op en dan as 'n baie mense hou sê dat 'n beter 188 00:09:18,140 --> 00:09:21,560 vertaling, is dit net leer dat dit moet daardie vertaling gebruik in plaas van 189 00:09:21,560 --> 00:09:22,960 die een wat dit is om te gee. 190 00:09:22,960 --> 00:09:28,830 >> So, dit is 'n baie filosofiese vraag om te sien of rekenaars gaan wees 191 00:09:28,830 --> 00:09:30,340 kan in die toekoms te praat of nie. 192 00:09:30,340 --> 00:09:34,440 Maar ek het 'n hoë hoop dat hulle kan Net op grond van die argumente. 193 00:09:34,440 --> 00:09:38,570 Maar dit is net meer van 'n filosofiese vraag. 194 00:09:38,570 --> 00:09:43,460 >> Dus, terwyl rekenaars nog nie kan praat nie, wat is die dinge wat ons kan doen? 195 00:09:43,460 --> 00:09:47,070 N paar baie cool dinge data klassifikasie. 196 00:09:47,070 --> 00:09:53,210 So, byvoorbeeld, julle weet dat e-pos dienste doen, want 197 00:09:53,210 --> 00:09:55,580 Byvoorbeeld, spam filter. 198 00:09:55,580 --> 00:09:59,070 So wanneer jy spam ontvang, is dit probeer om te filter na 'n ander boks. 199 00:09:59,070 --> 00:10:00,270 So hoe gaan dit doen? 200 00:10:00,270 --> 00:10:06,080 Dit is nie soos die rekenaar net weet wat e-posadresse te stuur spam. 201 00:10:06,080 --> 00:10:09,130 So dit is meer gebaseer op die inhoud van die boodskap, of dalk die titel, of 202 00:10:09,130 --> 00:10:11,310 Miskien 'n patroon wat jy het. 203 00:10:11,310 --> 00:10:15,690 >> So, basies, wat jy kan doen, is om 'n baie data van die e-pos wat spam, 204 00:10:15,690 --> 00:10:19,980 e-pos wat nie spam, en leer wat soort van patrone wat jy in die 205 00:10:19,980 --> 00:10:21,000 diegene wat spam. 206 00:10:21,000 --> 00:10:23,260 En dit is deel van computational linguistiek. 207 00:10:23,260 --> 00:10:24,720 Dit is data klassifikasie genoem. 208 00:10:24,720 --> 00:10:28,100 En ons is eintlik gaan om te sien 'n voorbeeld van wat in die volgende skyfies. 209 00:10:28,100 --> 00:10:32,910 >> Die tweede ding is natuurlike taal verwerking wat is die ding wat die 210 00:10:32,910 --> 00:10:36,580 Grafiek Soek doen van die verhuring jy skryf 'n sin. 211 00:10:36,580 --> 00:10:38,690 En dit vertrou jy verstaan ​​wat is die betekenis en gee 212 00:10:38,690 --> 00:10:39,940 jy 'n beter resultaat. 213 00:10:39,940 --> 00:10:43,880 Eintlik, as jy gaan na Google of Bing en jy soek iets soos Lady 214 00:10:43,880 --> 00:10:47,060 Gaga se hoogte, jy eintlik gaan 5 '1 "in plaas van om inligting te kry 215 00:10:47,060 --> 00:10:50,170 van haar, want dit eintlik verstaan wat jy praat. 216 00:10:50,170 --> 00:10:52,140 So dit is deel van die natuurlike taal verwerking. 217 00:10:52,140 --> 00:10:57,000 >> Of ook wanneer jy met Siri, eerste jy het 'n algoritme wat probeer om te 218 00:10:57,000 --> 00:11:01,130 vertaal wat jy sê in woorde, in die teks. 219 00:11:01,130 --> 00:11:03,690 En dan is dit probeer om te vertaal wat in betekenis. 220 00:11:03,690 --> 00:11:06,570 So dit is alles deel van die natuurlike taal verwerking. 221 00:11:06,570 --> 00:11:08,320 >> Dan moet jy die masjien vertaling - 222 00:11:08,320 --> 00:11:10,300 wat eintlik een van my gunstelinge - 223 00:11:10,300 --> 00:11:14,060 wat net die vertaling van 'n taal na die ander. 224 00:11:14,060 --> 00:11:17,950 So jy kan dink dat wanneer jy doen masjien vertaling, jy het 225 00:11:17,950 --> 00:11:19,750 oneindige moontlikhede van die sinne. 226 00:11:19,750 --> 00:11:22,960 So daar is geen manier om net te stoor elke enkele vertaling. 227 00:11:22,960 --> 00:11:27,440 So jy het met interessante vorendag te kom algoritmes in staat wees om 228 00:11:27,440 --> 00:11:30,110 vertaal elke enkele vonnis in een of ander manier. 229 00:11:30,110 --> 00:11:32,483 >> Julle enige vrae so ver? 230 00:11:32,483 --> 00:11:34,450 Nee? 231 00:11:34,450 --> 00:11:34,830 OK. 232 00:11:34,830 --> 00:11:36,900 >> So wat gaan ons vandag om te sien? 233 00:11:36,900 --> 00:11:39,300 Eerste van alles, ek gaan om te praat oor die klassifikasie probleem. 234 00:11:39,300 --> 00:11:41,440 So het die een wat ek was sê oor spam. 235 00:11:41,440 --> 00:11:46,820 Wat ek gaan doen is, gegee lyrics 'n lied, kan jy probeer om uit te vind 236 00:11:46,820 --> 00:11:49,810 met 'n hoë waarskynlikheid wie is die sanger? 237 00:11:49,810 --> 00:11:53,590 Kom ons sê dat ek het liedjies van Lady Gaga en Katy Perry, as ek vir jou 'n 238 00:11:53,590 --> 00:11:58,130 nuwe lied, kan jy uitvind of dit is Katy Perry of Lady Gaga? 239 00:11:58,130 --> 00:12:01,490 >> Die tweede een, is ek net gaan om te praat oor die verdeling probleem. 240 00:12:01,490 --> 00:12:05,780 So ek weet nie of julle weet nie, maar Chinese, Japanese, ander Oos-Asiatiese 241 00:12:05,780 --> 00:12:08,090 tale, en ander tale in die algemeen, het nie 242 00:12:08,090 --> 00:12:09,830 spasies tussen woorde. 243 00:12:09,830 --> 00:12:13,540 En dan as jy dink oor die manier waarop jou rekenaar soort drieë te 244 00:12:13,540 --> 00:12:18,600 verstaan ​​van natuurlike taal verwerking, dit lyk op die woorde en 245 00:12:18,600 --> 00:12:21,500 probeer om die verhoudings te verstaan tussen hulle, reg? 246 00:12:21,500 --> 00:12:25,440 Maar dan as jy Chinese, en jy nul ruimtes, dit is werklik moeilik om te 247 00:12:25,440 --> 00:12:28,360 uit te vind wat is die verhouding tussen woorde, omdat hulle het nie 248 00:12:28,360 --> 00:12:29,530 woorde op die eerste. 249 00:12:29,530 --> 00:12:32,600 So jy het iets genoem te doen segmentering wat net beteken om 250 00:12:32,600 --> 00:12:36,490 spasies tussen wat ons wil noem woorde in hierdie tale. 251 00:12:36,490 --> 00:12:37,740 Sin maak? 252 00:12:37,740 --> 00:12:39,680 253 00:12:39,680 --> 00:12:41,540 >> En dan gaan ons praat oor sintaksis. 254 00:12:41,540 --> 00:12:44,050 Dus net 'n bietjie oor natuurlike taal verwerking. 255 00:12:44,050 --> 00:12:45,420 Dit gaan net 'n oorsig te wees. 256 00:12:45,420 --> 00:12:50,700 So vandag, basies wat ek wil doen is julle ouens 'n bietjie van 'n 257 00:12:50,700 --> 00:12:53,930 binnekant van wat is die moontlikhede wat jy kan doen met computational 258 00:12:53,930 --> 00:12:54,960 linguistiek. 259 00:12:54,960 --> 00:13:00,410 En dan kan jy sien wat jy dink is koel onder daardie dinge. 260 00:13:00,410 --> 00:13:02,270 En miskien kan jy dink aan 'n projek en kom praat met my. 261 00:13:02,270 --> 00:13:05,260 En ek kan gee jou advies oor hoe om dit te implementeer. 262 00:13:05,260 --> 00:13:09,060 >> So sintaksis gaan 'n bietjie te wees oor Grafiek Soek en masjien 263 00:13:09,060 --> 00:13:09,670 vertaling. 264 00:13:09,670 --> 00:13:13,650 Ek gaan net 'n voorbeeld van hoe om te gee jy kan, byvoorbeeld, te vertaal 265 00:13:13,650 --> 00:13:16,020 iets uit Portugees in Engels. 266 00:13:16,020 --> 00:13:17,830 Klink goed? 267 00:13:17,830 --> 00:13:19,293 >> So die eerste, die klassifikasie probleem. 268 00:13:19,293 --> 00:13:23,590 Ek sal sê dat hierdie deel van die seminaar gaan wees om die mees uitdagende 269 00:13:23,590 --> 00:13:27,560 een net omdat daar gaan sommige kodering te wees. 270 00:13:27,560 --> 00:13:29,470 Maar dit gaan wees Python. 271 00:13:29,470 --> 00:13:34,380 Ek weet julle nie Python weet nie, so Ek gaan net om te verduidelik op die hoë 272 00:13:34,380 --> 00:13:35,750 vlak wat ek doen. 273 00:13:35,750 --> 00:13:40,900 En jy hoef nie te regtig omgee te veel oor die sintaksis, want dit is 274 00:13:40,900 --> 00:13:42,140 iets wat jy ouens kan leer. 275 00:13:42,140 --> 00:13:42,540 OK? 276 00:13:42,540 --> 00:13:43,580 Klink goed. 277 00:13:43,580 --> 00:13:46,020 >> So, wat is die klassifikasie probleem? 278 00:13:46,020 --> 00:13:49,140 So jy gegee sommige lirieke 'n lied, en jy wil om te raai 279 00:13:49,140 --> 00:13:50,620 wat dit sing. 280 00:13:50,620 --> 00:13:54,045 En dit kan wees vir enige soort ander probleme. 281 00:13:54,045 --> 00:13:59,980 So dit kan wees, byvoorbeeld, jy het 'n presidensiële veldtog en jy het 'n 282 00:13:59,980 --> 00:14:02,610 toespraak, en jy wil om uit te vind uit te vind of dit was, byvoorbeeld, 283 00:14:02,610 --> 00:14:04,470 Obama of Mitt Romney. 284 00:14:04,470 --> 00:14:07,700 Of jy kan 'n klomp van die e-pos het en jy wil om uit te vind indien hulle 285 00:14:07,700 --> 00:14:08,890 spam of nie. 286 00:14:08,890 --> 00:14:11,440 So dit is net 'n paar te klassifiseer data wat gebaseer is op die woorde 287 00:14:11,440 --> 00:14:13,790 dat jy daar. 288 00:14:13,790 --> 00:14:16,295 >> So om dit te doen, moet jy maak 'n paar aannames. 289 00:14:16,295 --> 00:14:20,570 So 'n baie oor die rekenaarlinguistiek maak aannames, 290 00:14:20,570 --> 00:14:24,100 gewoonlik smart aannames, sodat wat jy kan kry goeie resultate. 291 00:14:24,100 --> 00:14:26,670 Probeer om 'n model vir dit te skep. 292 00:14:26,670 --> 00:14:31,290 En dan probeer om dit uit en kyk of dit werk, As dit gee jou goeie akkuraatheid. 293 00:14:31,290 --> 00:14:33,940 En as dit die geval is, dan is jy probeer om dit te verbeter. 294 00:14:33,940 --> 00:14:37,640 As dit nie, is jy soos, OK, miskien is ek moet 'n ander aanname maak. 295 00:14:37,640 --> 00:14:44,030 >> So die veronderstelling dat ons gaan maak, is dat 'n kunstenaar gewoonlik sing 296 00:14:44,030 --> 00:14:49,220 oor 'n onderwerp verskeie kere, en miskien gebruik woorde meer as een keer net 297 00:14:49,220 --> 00:14:50,270 want hulle is gewoond daaraan. 298 00:14:50,270 --> 00:14:51,890 Jy kan dink net aan jou vriend. 299 00:14:51,890 --> 00:14:57,350 Ek is seker dat julle almal vriende wat sê hul handtekening frase, 300 00:14:57,350 --> 00:14:59,260 letterlik vir elke enkele sin - 301 00:14:59,260 --> 00:15:02,660 soos 'n spesifieke woord of 'n spesifieke frase wat sê hulle vir 302 00:15:02,660 --> 00:15:04,020 elke enkele sin. 303 00:15:04,020 --> 00:15:07,920 >> En wat jy kan sê, is dat as jy sien 'n sin wat 'n handtekening 304 00:15:07,920 --> 00:15:11,450 frase, kan jy dink wat waarskynlik Jou vriend is die 305 00:15:11,450 --> 00:15:13,310 een sê dit, reg? 306 00:15:13,310 --> 00:15:18,410 So jy maak dat die aanname en dan dit is hoe jy 'n model. 307 00:15:18,410 --> 00:15:24,440 >> Die voorbeeld wat ek gaan gee, is op hoe Lady Gaga, byvoorbeeld, mense 308 00:15:24,440 --> 00:15:27,430 sê dat sy gebruik "baba" vir al haar nommer een liedjies. 309 00:15:27,430 --> 00:15:32,270 En eintlik is dit 'n video wat wys haar sê die woord "baba" vir 310 00:15:32,270 --> 00:15:33,410 verskillende liedjies. 311 00:15:33,410 --> 00:15:33,860 >> [Video speel] 312 00:15:33,860 --> 00:15:34,310 >> - (Sang) Baby. 313 00:15:34,310 --> 00:15:36,220 Baby. 314 00:15:36,220 --> 00:15:37,086 Baby. 315 00:15:37,086 --> 00:15:37,520 Baby. 316 00:15:37,520 --> 00:15:37,770 Baby. 317 00:15:37,770 --> 00:15:38,822 Babe. 318 00:15:38,822 --> 00:15:39,243 Baby. 319 00:15:39,243 --> 00:15:40,085 Baby. 320 00:15:40,085 --> 00:15:40,510 Baby. 321 00:15:40,510 --> 00:15:40,850 Baby. 322 00:15:40,850 --> 00:15:41,090 >> [Einde video speel- 323 00:15:41,090 --> 00:15:44,020 >> LUCAS FREITAS: So is daar, dink ek, 40 liedjies hier in wat sê sy die 324 00:15:44,020 --> 00:15:48,690 woord "baba." So kan jy basies dink dat as jy sien 'n lied wat 325 00:15:48,690 --> 00:15:52,180 die woord "baba" Daar is 'n paar hoë waarskynlikheid dat dit is Lady Gaga. 326 00:15:52,180 --> 00:15:56,450 Maar laat ons probeer om dit te ontwikkel verder meer formeel. 327 00:15:56,450 --> 00:16:00,470 >> So dit is lirieke na liedjies deur Lady Gaga en Katy Perry. 328 00:16:00,470 --> 00:16:04,120 So jy kyk na Lady Gaga, jy sien hulle het 'n baie voorkomste van "baba", 'n 329 00:16:04,120 --> 00:16:07,710 baie gevalle van "manier." En dan Katy Perry het 'n baie voorvalle van 330 00:16:07,710 --> 00:16:10,360 "Die," het 'n baie voorkomste van "brand." 331 00:16:10,360 --> 00:16:14,560 >> So basies wat ons wil doen, is jy 'n liriek. 332 00:16:14,560 --> 00:16:20,480 Kom ons sê dat jy 'n liriek vir 'n liedjie wat "baba", net "baba." As 333 00:16:20,480 --> 00:16:24,750 jy net die woord "baba", en hierdie is al die data wat jy het uit 334 00:16:24,750 --> 00:16:27,880 Lady Gaga en Katy Perry, wat sou jy raai is die persoon 335 00:16:27,880 --> 00:16:29,370 wat die lied sing? 336 00:16:29,370 --> 00:16:32,360 Lady Gaga of Katy Perry? 337 00:16:32,360 --> 00:16:33,150 Lady Gaga, reg? 338 00:16:33,150 --> 00:16:37,400 Want sy is die enigste een wat sê "Baba." Dit klink dom, reg? 339 00:16:37,400 --> 00:16:38,760 OK, dit is baie maklik. 340 00:16:38,760 --> 00:16:41,860 Ek is net op soek na die twee liedjies en Natuurlik, sy is die enigste een wat 341 00:16:41,860 --> 00:16:42,660 "Baba." 342 00:16:42,660 --> 00:16:44,740 >> Maar wat as jy 'n klomp van die woorde? 343 00:16:44,740 --> 00:16:50,900 As jy 'n werklike liriek, iets soos, "baba, het ek net 344 00:16:50,900 --> 00:16:51,610 gegaan om te sien 'n [? CFT?] 345 00:16:51,610 --> 00:16:54,020 lesing ", of iets soos dit, en dan kan jy eintlik om uit te vind - 346 00:16:54,020 --> 00:16:55,780 gebaseer op al die woorde - 347 00:16:55,780 --> 00:16:58,350 wie is die kunstenaar wat waarskynlik hierdie lied gesing? 348 00:16:58,350 --> 00:17:01,860 So laat ons probeer om te ontwikkel dit 'n bietjie verder. 349 00:17:01,860 --> 00:17:05,630 >> OK, so gebaseer net op die data wat ons het, blyk dit dat Gaga is waarskynlik 350 00:17:05,630 --> 00:17:06,260 die sanger. 351 00:17:06,260 --> 00:17:07,904 Maar hoe kan ons skryf dit meer formeel? 352 00:17:07,904 --> 00:17:10,579 353 00:17:10,579 --> 00:17:13,140 En daar gaan 'n bietjie wees bietjie van statistiek. 354 00:17:13,140 --> 00:17:15,880 So as jy verloor, net probeer die konsep te verstaan. 355 00:17:15,880 --> 00:17:18,700 Dit maak nie saak of jy verstaan die vergelykings baie goed. 356 00:17:18,700 --> 00:17:22,150 Dit is al wat gaan om aanlyn te wees. 357 00:17:22,150 --> 00:17:25,490 >> So basies wat ek berekening is die waarskynlikheid dat hierdie lied is deur 358 00:17:25,490 --> 00:17:28,040 Lady Gaga gegee dat - 359 00:17:28,040 --> 00:17:30,660 so dit beteken bar gegee dat - 360 00:17:30,660 --> 00:17:33,680 Ek het die woord "baba." Is wat sin maak? 361 00:17:33,680 --> 00:17:35,540 So ek probeer om te bereken dat waarskynlikheid. 362 00:17:35,540 --> 00:17:38,540 >> So is daar hierdie stelling het die Bayes stelling wat sê dat die 363 00:17:38,540 --> 00:17:43,330 waarskynlikheid van 'n gegewe B, is die waarskynlikheid van B gegee A, keer die 364 00:17:43,330 --> 00:17:47,660 waarskynlikheid van A, oor die waarskynlikheid B. Dit is 'n lang vergelyking. 365 00:17:47,660 --> 00:17:51,970 Maar wat jy het om te verstaan ​​van dit is dat dit is wat ek wil 366 00:17:51,970 --> 00:17:52,830 bereken, reg? 367 00:17:52,830 --> 00:17:56,570 So die waarskynlikheid dat die lied is deur Lady Gaga gegee wat ek gesien het die woord 368 00:17:56,570 --> 00:17:58,230 "Baba." 369 00:17:58,230 --> 00:18:02,960 >> En nou wat ek kry is die waarskynlikheid van die woord "baba" gegee 370 00:18:02,960 --> 00:18:04,390 dat ek Lady Gaga. 371 00:18:04,390 --> 00:18:07,220 En wat is dit basies? 372 00:18:07,220 --> 00:18:10,500 Wat dit beteken is, wat is die waarskynlikheid van die sien van die woord "baba" 373 00:18:10,500 --> 00:18:12,130 in Gaga lirieke? 374 00:18:12,130 --> 00:18:16,240 As ek wil om dit te bereken op 'n baie eenvoudige manier, dit is net die aantal 375 00:18:16,240 --> 00:18:23,640 keer ek sien "baba" oor die totale aantal woorde in Gaga lirieke, reg? 376 00:18:23,640 --> 00:18:27,600 Wat is die frekwensie wat ek sien dat die woord in Gaga se werk? 377 00:18:27,600 --> 00:18:30,530 Sin maak? 378 00:18:30,530 --> 00:18:33,420 >> Die tweede termyn is die waarskynlikheid van Gaga. 379 00:18:33,420 --> 00:18:34,360 Wat beteken dit? 380 00:18:34,360 --> 00:18:38,550 Dit beteken basies, wat is die waarskynlikheid van die klassifikasie van 381 00:18:38,550 --> 00:18:40,690 sommige lirieke Gaga? 382 00:18:40,690 --> 00:18:45,320 En dit is nogal vreemd, maar laat ons dink aan 'n voorbeeld. 383 00:18:45,320 --> 00:18:49,230 So kom ons sê dat die waarskynlikheid van met "baba" in 'n lied is dieselfde 384 00:18:49,230 --> 00:18:51,760 vir Gaga en Britney Spears. 385 00:18:51,760 --> 00:18:54,950 Maar Britney Spears het twee keer meer liedjies as Lady Gaga. 386 00:18:54,950 --> 00:19:00,570 So as iemand wat net lukraak gee jou lirieke van "baba", die eerste ding wat jy 387 00:19:00,570 --> 00:19:04,710 kyk na is, wat is die waarskynlikheid van met "baba" in 'n Gaga liedjie, "baba" 388 00:19:04,710 --> 00:19:05,410 in 'n Britney lied? 389 00:19:05,410 --> 00:19:06,460 En dit is dieselfde ding. 390 00:19:06,460 --> 00:19:10,040 >> So het die tweede ding wat jy sal sien is, Wel, wat is die waarskynlikheid van 391 00:19:10,040 --> 00:19:13,770 hierdie liriek op sigself 'n Gaga liriek, en wat is die waarskynlikheid van 392 00:19:13,770 --> 00:19:15,380 'n Britney liriek? 393 00:19:15,380 --> 00:19:18,950 So sedert Britney het so baie meer lyrics as Gaga, sou jy waarskynlik 394 00:19:18,950 --> 00:19:21,470 sê, goed, is dit waarskynlik 'n Britney liriek. 395 00:19:21,470 --> 00:19:23,340 So dit is waarom ons hierdie termyn reg hier. 396 00:19:23,340 --> 00:19:24,670 Waarskynlikheid van Gaga. 397 00:19:24,670 --> 00:19:26,950 Sin maak? 398 00:19:26,950 --> 00:19:28,660 Is dit? 399 00:19:28,660 --> 00:19:29,370 OK. 400 00:19:29,370 --> 00:19:33,500 >> En die laaste een is net die waarskynlikheid van die "baba" wat nie 401 00:19:33,500 --> 00:19:34,810 regtig saak dat daar nog baie. 402 00:19:34,810 --> 00:19:39,940 Maar dit is die waarskynlikheid van sien "baba" in Engels. 403 00:19:39,940 --> 00:19:42,725 Ons het gewoonlik nie omgee dat veel oor die termyn. 404 00:19:42,725 --> 00:19:44,490 Is wat sin maak? 405 00:19:44,490 --> 00:19:48,110 So die waarskynlikheid van Gaga is genoem die vorige waarskynlikheid 406 00:19:48,110 --> 00:19:49,530 van die klas Gaga. 407 00:19:49,530 --> 00:19:53,840 Want dit beteken net dat, wat die waarskynlikheid om daardie klas - 408 00:19:53,840 --> 00:19:55,520 wat is Gaga - 409 00:19:55,520 --> 00:19:59,350 net in die algemeen nie, net met geen omstandighede. 410 00:19:59,350 --> 00:20:02,560 >> En dan wanneer ek waarskynlikheid van Gaga gegee "baba", ons noem dit plus 411 00:20:02,560 --> 00:20:06,160 tranerig 'n waarskynlikheid, want dit is die waarskynlikheid van ' 412 00:20:06,160 --> 00:20:08,300 Gaga gegee 'n paar bewyse. 413 00:20:08,300 --> 00:20:11,050 So ek gee jou die bewyse wat ek gesien het die woord baba en 414 00:20:11,050 --> 00:20:12,690 die lied sin maak? 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 >> So as ek bereken dat vir elke van die liedjies vir Lady Gaga, 418 00:20:22,400 --> 00:20:25,916 wat dit sou wees - 419 00:20:25,916 --> 00:20:27,730 glo, kan ek nie beweeg nie. 420 00:20:27,730 --> 00:20:31,850 421 00:20:31,850 --> 00:20:36,920 Die waarskynlikheid van Gaga sal wees iets soos, 2 meer as 24, tye 1/2, 422 00:20:36,920 --> 00:20:38,260 meer as 2 meer as 53. 423 00:20:38,260 --> 00:20:40,640 Dit maak nie saak of jy weet wat hierdie getalle is afkomstig van. 424 00:20:40,640 --> 00:20:44,750 Maar dit is net 'n paar wat gaan meer as 0 wees, reg? 425 00:20:44,750 --> 00:20:48,610 >> En dan wanneer ek doen Katy Perry, die waarskynlikheid van "baba" gegee Katy is 426 00:20:48,610 --> 00:20:49,830 reeds 0, reg? 427 00:20:49,830 --> 00:20:52,820 Want daar is geen "baba" in Katy Perry. 428 00:20:52,820 --> 00:20:56,360 So dan is dit word 0, en Gaga oorwinnings, wat beteken dat Gaga is 429 00:20:56,360 --> 00:20:57,310 waarskynlik die sanger. 430 00:20:57,310 --> 00:20:58,560 Is wat sin maak? 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 >> So as ek wil dit meer amptelike te maak, Ek kan eintlik 'n model 435 00:21:11,750 --> 00:21:12,700 vir verskeie woorde. 436 00:21:12,700 --> 00:21:14,610 So kom ons sê dat ek iets soos, "baba, ek is 437 00:21:14,610 --> 00:21:16,030 aan die brand gesteek, "of iets. 438 00:21:16,030 --> 00:21:17,760 So dit het verskeie woorde. 439 00:21:17,760 --> 00:21:20,880 En in hierdie geval, kan jy sien dat "baba" is in Gaga, 440 00:21:20,880 --> 00:21:21,710 maar dit is nie in Katy. 441 00:21:21,710 --> 00:21:24,940 En "brand" is in Katy, maar dit is nie in Gaga, reg? 442 00:21:24,940 --> 00:21:27,200 So dit is om moeiliker, reg? 443 00:21:27,200 --> 00:21:31,440 Omdat dit blyk dat jy amper 'n band tussen die twee. 444 00:21:31,440 --> 00:21:36,980 >> So, wat jy hoef te doen, is om te aanvaar onafhanklikheid onder die woorde. 445 00:21:36,980 --> 00:21:41,210 So basies wat dit beteken, is dat Ek is net die berekening van wat die 446 00:21:41,210 --> 00:21:44,330 waarskynlikheid van sien "baba", wat die waarskynlikheid van sien "Ek," en 447 00:21:44,330 --> 00:21:46,670 "Is", en "op" en "vuur" al afsonderlik. 448 00:21:46,670 --> 00:21:48,670 Toe ek vermenigvuldig almal van hulle. 449 00:21:48,670 --> 00:21:52,420 En ek sien wat is die waarskynlikheid sien die hele sin. 450 00:21:52,420 --> 00:21:55,210 Sin maak? 451 00:21:55,210 --> 00:22:00,270 >> So basies, as ek net een woord, wat ek wil hê om uit te vind is die arg Max, 452 00:22:00,270 --> 00:22:05,385 wat beteken, wat is die klas wat gee my die hoogste waarskynlikheid? 453 00:22:05,385 --> 00:22:10,010 So, wat is die klas wat gee vir my die hoogste waarskynlikheid vir 454 00:22:10,010 --> 00:22:11,940 waarskynlikheid van die klas gegee woord. 455 00:22:11,940 --> 00:22:17,610 So in hierdie geval, Gaga gegee "baba." Of Katy gegee "baba." Sin maak? 456 00:22:17,610 --> 00:22:21,040 >> En net van Bayes, wat vergelyking wat ek het, 457 00:22:21,040 --> 00:22:24,780 skep ons hierdie breuk. 458 00:22:24,780 --> 00:22:28,750 Die enigste ding is dat jy sien dat die waarskynlikheid van 'n woord gegee 459 00:22:28,750 --> 00:22:31,370 klas verander afhangende op die klas nie, reg? 460 00:22:31,370 --> 00:22:34,260 Die aantal "baba" s wat ek het in Gaga verskil van Katy. 461 00:22:34,260 --> 00:22:37,640 Die waarskynlikheid van die klas ook veranderinge, want dit is net die aantal 462 00:22:37,640 --> 00:22:39,740 van liedjies elkeen van hulle het. 463 00:22:39,740 --> 00:22:43,980 >> Maar die waarskynlikheid van die woord self gaan dieselfde wees vir al die 464 00:22:43,980 --> 00:22:44,740 kunstenaars, reg? 465 00:22:44,740 --> 00:22:47,150 So die waarskynlikheid van die woord is net, wat is die waarskynlikheid van 466 00:22:47,150 --> 00:22:49,820 sien dat die woord in die Engelse taal? 467 00:22:49,820 --> 00:22:51,420 So dit is dieselfde vir almal van hulle. 468 00:22:51,420 --> 00:22:55,790 So, aangesien dit konstant is, kan ons net drop hierdie en nie omgee nie. 469 00:22:55,790 --> 00:23:00,230 So dit sal eintlik die vergelyking wat ons soek. 470 00:23:00,230 --> 00:23:03,360 >> En as ek het verskeie woorde, ek is nog steeds gaan die vooraf te hê 471 00:23:03,360 --> 00:23:04,610 waarskynlikheid hier. 472 00:23:04,610 --> 00:23:06,980 Die enigste ding is dat ek te vermenigvuldig die waarskynlikheid van 473 00:23:06,980 --> 00:23:08,490 al die ander woorde. 474 00:23:08,490 --> 00:23:10,110 So ek vermenigvuldig almal van hulle. 475 00:23:10,110 --> 00:23:12,610 Sin maak? 476 00:23:12,610 --> 00:23:18,440 Dit lyk vreemd, maar basies beteken, bereken van die voorafgaande van die klas en 477 00:23:18,440 --> 00:23:22,100 dan vermenigvuldig met die waarskynlikheid van elke van die woorde wat in die klas. 478 00:23:22,100 --> 00:23:24,620 479 00:23:24,620 --> 00:23:29,150 >> En jy weet dat die waarskynlikheid van 'n woord gegee 'n klas gaan wees om die 480 00:23:29,150 --> 00:23:34,520 aantal kere wat jy sien dat die woord in daardie klas, gedeel deur die aantal 481 00:23:34,520 --> 00:23:37,020 woorde wat jy het in daardie klas in die algemeen. 482 00:23:37,020 --> 00:23:37,990 Sin maak? 483 00:23:37,990 --> 00:23:41,680 Dit is net hoe "baba" was 2 oor die aantal woorde wat 484 00:23:41,680 --> 00:23:43,020 Ek het in die lirieke. 485 00:23:43,020 --> 00:23:45,130 Dus net die frekwensie. 486 00:23:45,130 --> 00:23:46,260 >> Maar daar is een ding. 487 00:23:46,260 --> 00:23:51,250 Onthou hoe ek is wat wys dat die waarskynlikheid van "baba" synde lyrics 488 00:23:51,250 --> 00:23:56,350 van Katy Perry was 0, net omdat Katy Perry het nie "baba" by almal? 489 00:23:56,350 --> 00:24:04,900 Maar dit klink 'n bietjie harde net eenvoudig sê dat lirieke nie kan wees van 490 00:24:04,900 --> 00:24:10,040 'n kunstenaar, net omdat hulle nie dat die woord in die besonder op enige tyd. 491 00:24:10,040 --> 00:24:13,330 >> So kan jy net sê, goed, as jy nie hierdie woord het, gaan ek 492 00:24:13,330 --> 00:24:15,640 gee jou 'n laer waarskynlikheid, maar ek is net nie gaan 493 00:24:15,640 --> 00:24:17,420 gee jou 0 dadelik. 494 00:24:17,420 --> 00:24:21,040 Want miskien was dit iets soos, "Vuur, vuur, vuur, vuur," wat 495 00:24:21,040 --> 00:24:21,990 heeltemal Katy Perry. 496 00:24:21,990 --> 00:24:26,060 En dan "baba", en dit gaan net om te 0 dadelik, want daar was 'n 497 00:24:26,060 --> 00:24:27,250 "Baba." 498 00:24:27,250 --> 00:24:31,440 >> So basies wat ons doen, is om iets genoem Laplace glad. 499 00:24:31,440 --> 00:24:36,260 En dit beteken net dat ek gee sommige waarskynlikheid om naamlik die woorde 500 00:24:36,260 --> 00:24:37,850 wat nie bestaan ​​nie. 501 00:24:37,850 --> 00:24:43,170 So, wat ek doen, is dat wanneer ek berekening van hierdie, het ek altyd voeg 1 tot 502 00:24:43,170 --> 00:24:44,180 die teller. 503 00:24:44,180 --> 00:24:48,060 So selfs as die woord nie bestaan ​​nie, in hierdie geval, indien dit is 0, ek is nog steeds 504 00:24:48,060 --> 00:24:51,250 berekening van hierdie as 1 oor die totale aantal woorde. 505 00:24:51,250 --> 00:24:55,060 Anders, kry ek hoeveel woorde Ek het en ek voeg 1. 506 00:24:55,060 --> 00:24:58,300 So ek tel vir beide gevalle. 507 00:24:58,300 --> 00:25:00,430 Sin maak? 508 00:25:00,430 --> 00:25:03,060 >> So nou kom ons doen 'n paar kodering. 509 00:25:03,060 --> 00:25:06,440 Ek gaan om dit te redelik vinnig te doen, maar dit is net belangrik dat jy 510 00:25:06,440 --> 00:25:08,600 ouens verstaan ​​die konsepte. 511 00:25:08,600 --> 00:25:13,450 So wat ons probeer om te doen is presies die uitvoering van hierdie 512 00:25:13,450 --> 00:25:14,330 ding wat ek nou net gesê - 513 00:25:14,330 --> 00:25:19,110 Ek wil jou lyrics te sit uit Lady Gaga en Katy Perry. 514 00:25:19,110 --> 00:25:22,980 En die program gaan in staat wees om te sê as die nuwe lirieke is uit Gaga 515 00:25:22,980 --> 00:25:24,170 of Katy Perry. 516 00:25:24,170 --> 00:25:25,800 Sin maak? 517 00:25:25,800 --> 00:25:27,530 OK. 518 00:25:27,530 --> 00:25:30,710 >> So ek het hierdie program ek gaan classify.py te bel. 519 00:25:30,710 --> 00:25:31,970 So dit is Python. 520 00:25:31,970 --> 00:25:34,210 Dit is 'n nuwe ontwikkeling taal. 521 00:25:34,210 --> 00:25:38,020 Dit is baie soortgelyk in sommige maniere om C en PHP. 522 00:25:38,020 --> 00:25:43,180 Dit is soortgelyk, want as jy wil leer Python nadat weet C, is dit 523 00:25:43,180 --> 00:25:46,270 regtig nie veel van 'n uitdaging net omdat Python is baie makliker 524 00:25:46,270 --> 00:25:47,520 as C, in die eerste plek. 525 00:25:47,520 --> 00:25:49,370 En 'n baie van die dinge wat reeds geïmplementeer vir jou. 526 00:25:49,370 --> 00:25:56,820 So hoe soos PHP het funksies wat sorteer 'n lys, of voeg iets 527 00:25:56,820 --> 00:25:58,780 om 'n skikking, of blah, blah, blah. 528 00:25:58,780 --> 00:26:00,690 Python het almal so goed. 529 00:26:00,690 --> 00:26:05,960 >> So ek gaan net om vinnig te verduidelik hoe ons die klassifikasie kon doen 530 00:26:05,960 --> 00:26:07,860 probleem hier. 531 00:26:07,860 --> 00:26:13,230 So kom ons sê dat in hierdie geval, ek het lyrics from Gaga en Katy Perry. 532 00:26:13,230 --> 00:26:21,880 Die manier waarop ek het die lirieke is dat die eerste woord van die lirieke is 533 00:26:21,880 --> 00:26:25,250 die naam van die kunstenaar, en die res is die lirieke. 534 00:26:25,250 --> 00:26:29,470 So kom ons sê dat ek het hierdie lys in waarvan die eerste een is lirieke deur Gaga. 535 00:26:29,470 --> 00:26:31,930 So hier is ek op die regte spoor. 536 00:26:31,930 --> 00:26:35,270 En die volgende een is Katy, en dit het ook die lirieke. 537 00:26:35,270 --> 00:26:38,040 >> So dit is hoe jy verklaar 'n veranderlike in Python. 538 00:26:38,040 --> 00:26:40,200 Jy hoef nie die data tipe te gee. 539 00:26:40,200 --> 00:26:43,150 Jy moet net skryf "lirieke," soort van soos in PHP. 540 00:26:43,150 --> 00:26:44,890 Sin maak? 541 00:26:44,890 --> 00:26:47,770 >> So, wat is die dinge wat ek het om te bereken in staat wees om te bereken die 542 00:26:47,770 --> 00:26:49,360 waarskynlikhede? 543 00:26:49,360 --> 00:26:55,110 Ek het die "priors" te bereken van elk van die verskillende 544 00:26:55,110 --> 00:26:56,710 klasse wat ek het. 545 00:26:56,710 --> 00:27:06,680 Ek het die "boude" te bereken of pretty much die waarskynlikhede van 546 00:27:06,680 --> 00:27:12,150 elk van die verskillende woorde wat Ek kan vir elke kunstenaar. 547 00:27:12,150 --> 00:27:17,210 So binne Gaga, byvoorbeeld, ek gaan 'n lys van hoeveel keer ek sien te hê 548 00:27:17,210 --> 00:27:19,250 elk van die woorde. 549 00:27:19,250 --> 00:27:20,760 Sin maak? 550 00:27:20,760 --> 00:27:25,370 >> En uiteindelik, is ek net gaan om 'n lys genaamd "woorde" wat net gaan 551 00:27:25,370 --> 00:27:29,780 het hoeveel woorde wat ek vir elke kunstenaar. 552 00:27:29,780 --> 00:27:33,760 So vir Gaga, byvoorbeeld, as ek kyk na die lirieke, ek het, ek dink, 24 553 00:27:33,760 --> 00:27:34,750 woorde in totaal. 554 00:27:34,750 --> 00:27:38,970 So hierdie lys is net gaan hê Gaga 24 en Katy 'n ander getal. 555 00:27:38,970 --> 00:27:40,130 Sin maak? 556 00:27:40,130 --> 00:27:40,560 OK. 557 00:27:40,560 --> 00:27:42,530 >> So nou, eintlik, laat gaan na die kodering. 558 00:27:42,530 --> 00:27:45,270 So in Python, kan jy eintlik terug 'n klomp van die verskillende 559 00:27:45,270 --> 00:27:46,630 dinge van 'n funksie. 560 00:27:46,630 --> 00:27:50,810 So ek gaan hierdie funksie te skep genoem "voorwaardelike", wat gaan 561 00:27:50,810 --> 00:27:53,890 al hierdie dinge om terug te keer, het die "Priors," het die "waarskynlikhede," en die 562 00:27:53,890 --> 00:28:05,690 "Woorde." So "voorwaardelike," en dit is gaan word 'n beroep in die "lirieke." 563 00:28:05,690 --> 00:28:11,510 >> So nou wil ek jou eintlik skryf hierdie funksie. 564 00:28:11,510 --> 00:28:17,750 So die manier wat ek dit kan skryf funksie is ek net gedefinieer 565 00:28:17,750 --> 00:28:20,620 funksioneer met 'n "def." So ek het "def voorwaardelike, "en dit is wat 566 00:28:20,620 --> 00:28:28,700 "Lirieke." En wat dit gaan doen is, in die eerste plek, ek het my priors 567 00:28:28,700 --> 00:28:31,030 wat ek wil om te bereken. 568 00:28:31,030 --> 00:28:34,330 >> So die manier wat ek dit kan doen, is om te skep 'n woordeboek in Python, wat 569 00:28:34,330 --> 00:28:37,320 is pretty much dieselfde ding as 'n gemors tafel, of dit is soos 'n iteratiewe 570 00:28:37,320 --> 00:28:40,480 skikking in PHP. 571 00:28:40,480 --> 00:28:44,150 Dit is hoe ek verklaar 'n woordeboek. 572 00:28:44,150 --> 00:28:53,580 En basies wat dit beteken is dat priors van Gaga is 0.5, byvoorbeeld, indien 573 00:28:53,580 --> 00:28:57,200 50% van die lirieke is uit Gaga, 50% is van Katy. 574 00:28:57,200 --> 00:28:58,450 Sin maak? 575 00:28:58,450 --> 00:29:00,680 576 00:29:00,680 --> 00:29:03,680 So ek het om uit te vind hoe die priors te bereken. 577 00:29:03,680 --> 00:29:07,120 >> Die volgende mense wat ek het om te doen, ook, is die waarskynlikhede en die woorde. 578 00:29:07,120 --> 00:29:17,100 So die waarskynlikheid van Gaga is die lys van al die waarskynlikhede dat ek 579 00:29:17,100 --> 00:29:19,160 vir elk van die woorde vir Gaga. 580 00:29:19,160 --> 00:29:23,880 So as ek gaan na waarskynlikhede van Gaga "Baba", byvoorbeeld, sal dit vir my gee 581 00:29:23,880 --> 00:29:28,750 iets soos 2 meer as 24 in daardie geval. 582 00:29:28,750 --> 00:29:30,070 Sin maak? 583 00:29:30,070 --> 00:29:36,120 So ek gaan na "waarskynlikhede," gaan na die "Gaga" emmer wat 'n lys van al 584 00:29:36,120 --> 00:29:40,550 die Gaga woorde, dan gaan ek na "baba" en ek sien die waarskynlikheid. 585 00:29:40,550 --> 00:29:45,940 >> En uiteindelik het ek het hierdie "Woorde" woordeboek. 586 00:29:45,940 --> 00:29:53,620 So hier is, "waarskynlikhede." En dan "Woorde." So as ek dit doen "woorde", "Gaga," 587 00:29:53,620 --> 00:29:58,330 wat gaan gebeur, is dat dit gaan gee my 24, sê dat ek 588 00:29:58,330 --> 00:30:01,990 het 24 woorde binne lyrics from Gaga. 589 00:30:01,990 --> 00:30:04,110 Sin maak? 590 00:30:04,110 --> 00:30:07,070 So hier is, "woorde" gelyk dah-dah-dah. 591 00:30:07,070 --> 00:30:07,620 OK 592 00:30:07,620 --> 00:30:12,210 >> So wat ek gaan doen, is ek gaan Itereer oor elk van die lirieke, so 593 00:30:12,210 --> 00:30:14,490 elk van die snare wat Ek het in die lys. 594 00:30:14,490 --> 00:30:18,040 En ek gaan daardie dinge te bereken vir elk van die kandidate. 595 00:30:18,040 --> 00:30:19,950 Sin maak? 596 00:30:19,950 --> 00:30:21,700 So ek het 'n om te doen vir die lus. 597 00:30:21,700 --> 00:30:26,300 >> So in Python wat ek kan doen, is om "vir lyn in die lirieke. "Dieselfde ding as 'n 598 00:30:26,300 --> 00:30:28,000 "Vir elke" stelling in PHP. 599 00:30:28,000 --> 00:30:33,420 Onthou hoe was dit PHP ek kon sê: "vir elke lirieke 600 00:30:33,420 --> 00:30:35,220 line. "Dit maak sin? 601 00:30:35,220 --> 00:30:38,900 So ek neem elk van die lyne, in hierdie geval, hierdie snaar en die volgende 602 00:30:38,900 --> 00:30:44,540 string so vir elk van die lyne wat ek gaan doen, is die eerste, ek gaan 603 00:30:44,540 --> 00:30:49,150 verdeel hierdie lyn in 'n lys van woorde, geskei deur spasies. 604 00:30:49,150 --> 00:30:53,730 >> So die koel ding oor Python is dat jy kan net Google soos "Hoe kan ek 605 00:30:53,730 --> 00:30:58,220 verdeel 'n string in woorde? "En dit is gaan om jou te vertel hoe om dit te doen nie. 606 00:30:58,220 --> 00:31:04,890 En die manier om dit te doen nie, dit is net "lyn = Reel.split () "en dit is basies 607 00:31:04,890 --> 00:31:08,640 gaan gee jou 'n lys met elk van die woorde hier. 608 00:31:08,640 --> 00:31:09,620 Sin maak? 609 00:31:09,620 --> 00:31:15,870 So nou dat ek gedoen het wat ek wil weet wie is die sanger van die liedjie. 610 00:31:15,870 --> 00:31:20,130 En om te doen wat ek moet net die te kry eerste element van die skikking, reg? 611 00:31:20,130 --> 00:31:26,390 So ek kan net sê dat ek "sanger = Line (0) "Dit maak sin? 612 00:31:26,390 --> 00:31:32,010 >> En dan wat ek nodig het om te doen, is die eerste al, ek gaan om te werk hoeveel 613 00:31:32,010 --> 00:31:36,130 woorde het ek onder "Gaga." so ek is net gaan om te bepaal hoeveel woorde wat ek 614 00:31:36,130 --> 00:31:38,690 het in hierdie lys, reg? 615 00:31:38,690 --> 00:31:41,910 Want dit is hoe baie woorde het ek in die lirieke en ek is net gaan om te 616 00:31:41,910 --> 00:31:44,120 voeg dit by die "Gaga" skikking. 617 00:31:44,120 --> 00:31:47,090 Is wat sin maak? 618 00:31:47,090 --> 00:31:49,010 Moet nie te veel fokus op die sintaksis. 619 00:31:49,010 --> 00:31:50,430 Dink meer oor die konsepte. 620 00:31:50,430 --> 00:31:52,400 Dit is die belangrikste deel. 621 00:31:52,400 --> 00:31:52,720 OK. 622 00:31:52,720 --> 00:32:00,260 >> So, wat ek dit kan doen, is om as "Gaga" is reeds in die lys, so "as sanger in 623 00:32:00,260 --> 00:32:03,190 woorde "wat beteken dat ek reeds het woorde deur Gaga. 624 00:32:03,190 --> 00:32:06,640 Ek wil net die bykomende by te voeg woorde wat. 625 00:32:06,640 --> 00:32:15,810 So, wat ek doen, is om "woorde (sanger) + = Len (lyn) - 1 ". 626 00:32:15,810 --> 00:32:18,250 En dan het ek kan net nie die lengte van die lyn. 627 00:32:18,250 --> 00:32:21,860 So hoeveel elemente ek het in die skikking. 628 00:32:21,860 --> 00:32:27,060 En ek het om te doen minus 1 net omdat die eerste element van die skikking is net 629 00:32:27,060 --> 00:32:29,180 'n sanger en dit is nie lirieke. 630 00:32:29,180 --> 00:32:31,420 Sin maak? 631 00:32:31,420 --> 00:32:32,780 OK. 632 00:32:32,780 --> 00:32:35,820 >> "Anders," beteken dit dat ek wil eintlik voeg Gaga in die lys. 633 00:32:35,820 --> 00:32:45,990 So het ek net doen "woorde (sanger) = Len (lyn) - 1, "jammer. 634 00:32:45,990 --> 00:32:49,200 Dus is die enigste verskil tussen die twee lyne is dat hierdie een, is dit nie 635 00:32:49,200 --> 00:32:51,080 bestaan ​​nie, so ek is net initializing dit. 636 00:32:51,080 --> 00:32:53,820 Hierdie een het ek is eintlik te voeg. 637 00:32:53,820 --> 00:32:55,570 OK. 638 00:32:55,570 --> 00:32:59,480 So dit is toe te voeg tot woorde. 639 00:32:59,480 --> 00:33:03,040 >> Nou wil ek by die priors. 640 00:33:03,040 --> 00:33:05,480 So hoe kan ek die priors bereken? 641 00:33:05,480 --> 00:33:11,580 Die priors kan bereken word deur hoeveel keer. 642 00:33:11,580 --> 00:33:15,340 So hoeveel keer jy sien dat die sanger onder al die sangers wat jy 643 00:33:15,340 --> 00:33:16,380 het, reg? 644 00:33:16,380 --> 00:33:18,810 So vir Gaga en Katy Perry, In hierdie geval, ek sien Gaga 645 00:33:18,810 --> 00:33:20,570 een keer, Katy Perry keer. 646 00:33:20,570 --> 00:33:23,320 >> So basies die priors vir Gaga en vir Katy Perry wil 647 00:33:23,320 --> 00:33:24,390 net een wees, reg? 648 00:33:24,390 --> 00:33:26,500 Jy moet net hoeveel keer Ek sien die kunstenaar. 649 00:33:26,500 --> 00:33:28,740 So dit is baie maklik om te bereken. 650 00:33:28,740 --> 00:33:34,100 Ek kan net iets soortgelyks as soos "As sangeres in priors, "Ek gaan net 651 00:33:34,100 --> 00:33:38,970 te voeg 1 tot hul priors boks. 652 00:33:38,970 --> 00:33:51,000 So, "priors (sing)" + = 1 "en dan" anders " Ek gaan "priors (sanger) te doen 653 00:33:51,000 --> 00:33:55,000 = 1. "Dit maak sin? 654 00:33:55,000 --> 00:34:00,080 >> So as dit nie bestaan ​​nie Ek het net sit as 1, anders sou ek voeg net 1. 655 00:34:00,080 --> 00:34:11,280 OK, so nou alles wat ek nog het om te doen is ook 'elk van die woorde aan die 656 00:34:11,280 --> 00:34:12,290 waarskynlikhede. 657 00:34:12,290 --> 00:34:14,889 So ek het om te tel hoeveel keer Ek sien elk van die woorde. 658 00:34:14,889 --> 00:34:18,780 So ek het net 'n ander te doen lus in die lyn. 659 00:34:18,780 --> 00:34:25,190 >> So die eerste ding wat ek gaan doen, is om kyk of die sanger het reeds 'n 660 00:34:25,190 --> 00:34:26,969 waarskynlikhede skikking. 661 00:34:26,969 --> 00:34:31,739 So ek seker te maak dat die sanger nie 'n waarskynlikhede skikking, ek is net 662 00:34:31,739 --> 00:34:34,480 gaan een vir hulle te begin. 663 00:34:34,480 --> 00:34:36,400 Dit is nie eens 'n skikking, jammer, dit is 'n woordeboek. 664 00:34:36,400 --> 00:34:43,080 So die waarskynlikheid van die sanger gaan 'n oop woordeboek te wees, so ek is 665 00:34:43,080 --> 00:34:45,830 net initializing 'n woordeboek vir dit. 666 00:34:45,830 --> 00:34:46,820 OK? 667 00:34:46,820 --> 00:34:58,330 >> En nou kan ek eintlik 'n lus vir elk van die woorde "te bereken 668 00:34:58,330 --> 00:35:00,604 waarskynlikhede. 669 00:35:00,604 --> 00:35:01,540 OK. 670 00:35:01,540 --> 00:35:04,160 So, wat ek kan doen, is om 'n lus vir. 671 00:35:04,160 --> 00:35:06,590 So ek gaan net te Itereer oor die skikking. 672 00:35:06,590 --> 00:35:15,320 So die manier wat ek kan doen wat in Python is "want ek in die reeks." Vanaf 1 673 00:35:15,320 --> 00:35:19,200 want ek wil in die tweede om te begin element omdat die eerste een is die 674 00:35:19,200 --> 00:35:20,260 sanger se naam. 675 00:35:20,260 --> 00:35:24,990 So van een tot die lengte van die lyn. 676 00:35:24,990 --> 00:35:29,760 En toe ek wissel dit eintlik gaan uit soos hier van 1 tot Len van die 677 00:35:29,760 --> 00:35:30,740 lyn minus 1. 678 00:35:30,740 --> 00:35:33,810 So is dit nie al daardie ding te doen n minus 1 vir skikkings wat baie 679 00:35:33,810 --> 00:35:35,500 gerieflik. 680 00:35:35,500 --> 00:35:37,850 Sin maak? 681 00:35:37,850 --> 00:35:42,770 >> So vir elk van hierdie, wat ek gaan doen is, net soos in die ander een, 682 00:35:42,770 --> 00:35:50,320 Ek gaan om te kyk of die woord in hierdie posisie in die lyn is reeds in 683 00:35:50,320 --> 00:35:51,570 waarskynlikhede. 684 00:35:51,570 --> 00:35:53,400 685 00:35:53,400 --> 00:35:57,260 En dan as ek sê hier, waarskynlikhede woorde, soos in ek 686 00:35:57,260 --> 00:35:58,400 "Waarskynlikhede (sanger)". 687 00:35:58,400 --> 00:35:59,390 So het die naam van die sanger. 688 00:35:59,390 --> 00:36:03,450 So as dit is reeds in "Probabilit (sanger)", beteken dit dat ek 689 00:36:03,450 --> 00:36:11,960 wou voeg 1 om dit, so ek gaan doen "waarskynlikhede (sanger)", en die 690 00:36:11,960 --> 00:36:14,100 woord is die sogenaamde "lyn (i)". 691 00:36:14,100 --> 00:36:22,630 Ek gaan om by te voeg 1 en "anders" Ek is net gaan om dit te inisialiseer 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 Sin maak? 695 00:36:28,420 --> 00:36:30,180 >> So, ek bereken al die skikkings. 696 00:36:30,180 --> 00:36:36,580 So, nou al wat ek het om te doen vir hierdie een is net "terugkeer priors, 697 00:36:36,580 --> 00:36:43,230 waarskynlikhede en woorde. "Kom ons sien of daar enige, OK. 698 00:36:43,230 --> 00:36:45,690 Dit lyk asof alles is so ver werk. 699 00:36:45,690 --> 00:36:46,900 So, wat sin maak? 700 00:36:46,900 --> 00:36:47,750 In een of ander manier? 701 00:36:47,750 --> 00:36:49,280 OK. 702 00:36:49,280 --> 00:36:51,980 So nou het ek al die waarskynlikhede. 703 00:36:51,980 --> 00:36:55,100 So nou is die enigste ding wat ek verlaat het is net die ding om te hê wat 704 00:36:55,100 --> 00:36:58,650 bereken die produk van al die waarskynlikhede toe ek die lirieke. 705 00:36:58,650 --> 00:37:06,270 >> So kom ons sê dat ek nou wil noem hierdie funksie "te klassifiseer ()" en die 706 00:37:06,270 --> 00:37:08,880 ding wat funksie neem is net 'n argument. 707 00:37:08,880 --> 00:37:13,170 Kom ons sê "Baby, ek is aan die brand gesteek" en dit is gaan om uit te vind wat is die 708 00:37:13,170 --> 00:37:14,490 waarskynlikheid dat dit Gaga? 709 00:37:14,490 --> 00:37:16,405 Wat is die waarskynlikheid dat dit Katie? 710 00:37:16,405 --> 00:37:19,690 Klink goed? 711 00:37:19,690 --> 00:37:25,750 So is ek net gaan hê om 'n nuwe funksie genoem "klassifiseer ()" en 712 00:37:25,750 --> 00:37:29,180 dit gaan 'n paar te neem lyrics as well. 713 00:37:29,180 --> 00:37:31,790 714 00:37:31,790 --> 00:37:36,160 En naas die lirieke Ek het ook het die priors te stuur, die 715 00:37:36,160 --> 00:37:37,700 waarskynlikhede en die woorde. 716 00:37:37,700 --> 00:37:44,000 So ek gaan lirieke, priors te stuur, waarskynlikhede, woorde. 717 00:37:44,000 --> 00:37:51,840 >> So dit is die neem van lirieke, priors, waarskynlikhede, woorde. 718 00:37:51,840 --> 00:37:53,530 So, wat doen dit? 719 00:37:53,530 --> 00:37:57,180 Dit is basies gaan om te gaan deur al die moontlike kandidate wat jy 720 00:37:57,180 --> 00:37:58,510 het as 'n sanger. 721 00:37:58,510 --> 00:37:59,425 En waar is daardie kandidate? 722 00:37:59,425 --> 00:38:01,020 Hulle is in die priors, reg? 723 00:38:01,020 --> 00:38:02,710 So ek het al daardie daar. 724 00:38:02,710 --> 00:38:07,870 So ek gaan 'n woordeboek te hê van alle moontlike kandidate. 725 00:38:07,870 --> 00:38:14,220 En dan vir elke kandidaat in die priors, so dit beteken dat dit gaan 726 00:38:14,220 --> 00:38:17,740 wees Gaga, Katie as ek meer dit meer sou wees. 727 00:38:17,740 --> 00:38:20,410 Ek gaan om te begin berekening hierdie waarskynlikheid. 728 00:38:20,410 --> 00:38:28,310 Die waarskynlikheid soos ons gesien het in die PowerPoint is die vorige keer die 729 00:38:28,310 --> 00:38:30,800 produk van elk van die ander waarskynlikhede. 730 00:38:30,800 --> 00:38:32,520 >> So kan ek doen dieselfde hier. 731 00:38:32,520 --> 00:38:36,330 Ek kan net nie waarskynlikheid aanvanklik net die vorige. 732 00:38:36,330 --> 00:38:40,340 So priors van die kandidaat. 733 00:38:40,340 --> 00:38:40,870 Reg? 734 00:38:40,870 --> 00:38:45,360 En nou moet ek Itereer oor die hele woorde wat ek het in die lirieke te wees 735 00:38:45,360 --> 00:38:48,820 in staat om die waarskynlikheid te voeg vir elkeen van hulle, OK? 736 00:38:48,820 --> 00:38:57,900 So, "vir woord in die lirieke" wat ek gaan te doen is, as die woord in 737 00:38:57,900 --> 00:39:01,640 "Waarskynlikhede (kandidaat)", wat beteken dat dit 'n woord wat die 738 00:39:01,640 --> 00:39:03,640 kandidaat het in hul lirieke - 739 00:39:03,640 --> 00:39:05,940 Byvoorbeeld, "baba" vir Gaga - 740 00:39:05,940 --> 00:39:11,710 wat ek gaan doen, is dat die waarskynlikheid gaan vermenigvuldig word 741 00:39:11,710 --> 00:39:22,420 deur 1 plus die waarskynlikhede van die kandidaat vir die woord. 742 00:39:22,420 --> 00:39:25,710 En dit is die sogenaamde "woord". 743 00:39:25,710 --> 00:39:32,440 Dit gedeel deur die aantal woorde wat ek vir die kandidaat. 744 00:39:32,440 --> 00:39:37,450 Die totale aantal woorde wat ek het vir die sanger wat ek is op soek na. 745 00:39:37,450 --> 00:39:40,290 >> "Anders." dit beteken dit is 'n nuwe woord sodat dit sou wees soos byvoorbeeld 746 00:39:40,290 --> 00:39:41,860 "Brand" vir Lady Gaga. 747 00:39:41,860 --> 00:39:45,760 So ek wil net meer as dit doen 1 "Woord (kandidaat)". 748 00:39:45,760 --> 00:39:47,710 So ek wil nie hierdie term om hier te sit. 749 00:39:47,710 --> 00:39:50,010 >> So dit gaan basies kopieer en plak dit. 750 00:39:50,010 --> 00:39:54,380 751 00:39:54,380 --> 00:39:56,000 Maar ek gaan hierdie deel te verwyder. 752 00:39:56,000 --> 00:39:57,610 So dit is net gaan om te wees 1 oor daardie. 753 00:39:57,610 --> 00:40:00,900 754 00:40:00,900 --> 00:40:02,150 Klink goed? 755 00:40:02,150 --> 00:40:03,980 756 00:40:03,980 --> 00:40:09,700 En nou aan die einde, is ek net gaan druk die naam van die kandidaat en 757 00:40:09,700 --> 00:40:15,750 die waarskynlikheid dat jy van met die S op hul lirieke. 758 00:40:15,750 --> 00:40:16,200 Sin maak? 759 00:40:16,200 --> 00:40:18,390 En Ek het eintlik nie eens doen moet hierdie woordeboek. 760 00:40:18,390 --> 00:40:19,510 Sin maak? 761 00:40:19,510 --> 00:40:21,810 >> So, laat ons sien of dit werklik werk. 762 00:40:21,810 --> 00:40:24,880 So as ek hardloop nie, het dit nie werk nie. 763 00:40:24,880 --> 00:40:26,130 Wag 'n sekonde. 764 00:40:26,130 --> 00:40:28,870 765 00:40:28,870 --> 00:40:31,720 "Woorde (kandidaat)", "woorde (kandidaat)", dit is 766 00:40:31,720 --> 00:40:33,750 die naam van die skikking. 767 00:40:33,750 --> 00:40:41,435 OK So, dit sê daar is 'n paar fout vir die kandidaat in priors. 768 00:40:41,435 --> 00:40:46,300 769 00:40:46,300 --> 00:40:48,760 Laat my net chill 'n bietjie. 770 00:40:48,760 --> 00:40:50,360 OK. 771 00:40:50,360 --> 00:40:51,305 Kom ons probeer. 772 00:40:51,305 --> 00:40:51,720 OK. 773 00:40:51,720 --> 00:40:58,710 >> So dit gee Katy Perry het hierdie waarskynlikheid van hierdie tye 10 tot die 774 00:40:58,710 --> 00:41:02,200 minus 7, en Gaga het hierdie keer 10 aan die minus 6. 775 00:41:02,200 --> 00:41:05,610 So jy sien dit blyk dat Gaga het 'n hoër waarskynlikheid. 776 00:41:05,610 --> 00:41:09,260 So "Baby, ek is op Fire" is waarskynlik 'n Gaga lied. 777 00:41:09,260 --> 00:41:10,580 Sin maak? 778 00:41:10,580 --> 00:41:12,030 So dit is wat ons gedoen het. 779 00:41:12,030 --> 00:41:16,010 >> Hierdie kode is gaan gepos word aan online, sodat julle kan check dit uit. 780 00:41:16,010 --> 00:41:20,720 Miskien gebruik 'n paar van dit as jy wil Doen 'n projek of iets soortgelyks. 781 00:41:20,720 --> 00:41:22,150 OK. 782 00:41:22,150 --> 00:41:25,930 Dit was net om te wys wat computational 783 00:41:25,930 --> 00:41:27,230 linguistiek kode lyk. 784 00:41:27,230 --> 00:41:33,040 Maar laat ons nou gaan meer hoë vlak dinge. 785 00:41:33,040 --> 00:41:33,340 OK. 786 00:41:33,340 --> 00:41:35,150 >> So het die ander probleme Ek praat - 787 00:41:35,150 --> 00:41:37,550 die verdeling probleem is die eerste van hulle. 788 00:41:37,550 --> 00:41:40,820 So jy het hier die Japannese. 789 00:41:40,820 --> 00:41:43,420 En dan sien jy dat daar is geen spasies. 790 00:41:43,420 --> 00:41:49,110 So dit is basies beteken dat dit die top van die stoel, reg? 791 00:41:49,110 --> 00:41:50,550 Jy praat Japanese? 792 00:41:50,550 --> 00:41:52,840 Dit is die top van die stoel, reg? 793 00:41:52,840 --> 00:41:54,480 >> STUDENT: Ek weet nie wat die kanji daar is. 794 00:41:54,480 --> 00:41:57,010 >> LUCAS FREITAS: Dit is [Praat Japannese] 795 00:41:57,010 --> 00:41:57,950 OK. 796 00:41:57,950 --> 00:42:00,960 So dit beteken basies voorsitter van top. 797 00:42:00,960 --> 00:42:03,620 So as jy 'n ruimte te sit sou dit hier te wees. 798 00:42:03,620 --> 00:42:05,970 En dan moet jy [? Ueda-San. ?] 799 00:42:05,970 --> 00:42:09,040 Wat basies beteken mnr Ueda. 800 00:42:09,040 --> 00:42:13,180 En jy sien dat "Ueda" en jy het 'n spasie en dan "San." So jy sien dat 801 00:42:13,180 --> 00:42:15,470 Hier kan jy "Ue" is soos deur die self. 802 00:42:15,470 --> 00:42:17,750 En hier is dit het 'n karakter langs dit. 803 00:42:17,750 --> 00:42:21,720 >> So dit is nie soos in daardie tale karakters wat beteken 'n woord is dit, sodat jy 804 00:42:21,720 --> 00:42:23,980 net 'n baie ruimte. 805 00:42:23,980 --> 00:42:25,500 Karakters met mekaar verband hou. 806 00:42:25,500 --> 00:42:28,680 En hulle kan saam wees soos twee, drie, een. 807 00:42:28,680 --> 00:42:34,520 So wat jy eintlik 'n soort te skep van manier om die spasies in. 808 00:42:34,520 --> 00:42:38,850 >> En hierdie saak is dat wanneer jy data van die Asiatiese tale, 809 00:42:38,850 --> 00:42:40,580 alles kom ongesegmenteer. 810 00:42:40,580 --> 00:42:45,940 Want niemand wat Japanese skryf of Chinese skryf met spasies. 811 00:42:45,940 --> 00:42:48,200 Wanneer jy skryf Chinese, Japanese jy alles skryf 812 00:42:48,200 --> 00:42:48,710 met geen spasies. 813 00:42:48,710 --> 00:42:52,060 Dit het nie eens sin maak ruimtes te sit. 814 00:42:52,060 --> 00:42:57,960 So dan wanneer jy die data van sommige Oos-Asiatiese taal, as jy wil 815 00:42:57,960 --> 00:43:00,760 eintlik iets te doen met wat jy het om te segment eerste. 816 00:43:00,760 --> 00:43:05,130 >> Dink aan wat die voorbeeld van die lirieke sonder spasies. 817 00:43:05,130 --> 00:43:07,950 Dus is die enigste lirieke wat jy sal wees sinne, reg? 818 00:43:07,950 --> 00:43:09,470 Geskei deur tyd. 819 00:43:09,470 --> 00:43:13,930 Maar dan hoef net die vonnis sal nie regtig help op die gee van inligting 820 00:43:13,930 --> 00:43:17,760 van wie die lirieke is deur. 821 00:43:17,760 --> 00:43:18,120 Reg? 822 00:43:18,120 --> 00:43:20,010 Dus moet jy sit ruimtes eerste. 823 00:43:20,010 --> 00:43:21,990 So, hoe kan jy dit doen? 824 00:43:21,990 --> 00:43:24,920 >> So kom dan die idee van 'n taal model wat werklik iets 825 00:43:24,920 --> 00:43:26,870 belangrik vir rekenaar linguistiek. 826 00:43:26,870 --> 00:43:32,790 So 'n taal model is basies 'n tafel van waarskynlikhede wat toon 827 00:43:32,790 --> 00:43:36,260 eerste van alles wat is die waarskynlikheid daarvan om die woord in 'n taal? 828 00:43:36,260 --> 00:43:39,590 So wys hoe dikwels 'n woord is. 829 00:43:39,590 --> 00:43:43,130 En dan ook wat die verhouding tussen die woorde in 'n sin. 830 00:43:43,130 --> 00:43:51,500 >> So het die hoof idee is, as 'n vreemdeling gekom aan jou en het gesê 'n sin te 831 00:43:51,500 --> 00:43:55,600 jy, wat is die waarskynlikheid dat dit vir Byvoorbeeld, "Dit is my suster [GTF?"?] 832 00:43:55,600 --> 00:43:57,480 was die vonnis wat die persoon gesê het? 833 00:43:57,480 --> 00:44:00,380 So natuurlik 'n paar sinne meer algemeen as ander. 834 00:44:00,380 --> 00:44:04,450 Byvoorbeeld, "goeie môre" of "goeie nag, "of" hey daar, "is veel meer 835 00:44:04,450 --> 00:44:08,260 algemeen as die meeste sinne dat ons 'n Engelse. 836 00:44:08,260 --> 00:44:11,060 So hoekom is die sinne meer gereelde? 837 00:44:11,060 --> 00:44:14,060 >> Eerste van alles, is dit omdat jy woorde wat meer gereeld. 838 00:44:14,060 --> 00:44:20,180 So, byvoorbeeld, as jy sê, die hond is groot, en die hond is reusagtige, jy 839 00:44:20,180 --> 00:44:23,880 gewoonlik waarskynlik hoor die hond is 'n groot meer dikwels omdat die "groot" is meer 840 00:44:23,880 --> 00:44:27,260 dikwels in Engels as "reuse." So, een van die 841 00:44:27,260 --> 00:44:30,100 dinge is die woord frekwensie. 842 00:44:30,100 --> 00:44:34,490 >> Die tweede ding wat eintlik belangrik is, is net die 843 00:44:34,490 --> 00:44:35,490 orde van die woorde. 844 00:44:35,490 --> 00:44:39,500 So, dit is algemeen om te sê "die kat is binne-in die boks. "Maar jy nie gewoonlik 845 00:44:39,500 --> 00:44:44,250 sien in "Die boks binnekant is die kat." so jy sien dat daar 'n belang 846 00:44:44,250 --> 00:44:46,030 in die orde van die woorde. 847 00:44:46,030 --> 00:44:50,160 Jy kan nie net sê dat die twee sinne het dieselfde waarskynlikheid 848 00:44:50,160 --> 00:44:53,010 net omdat hulle dieselfde woorde. 849 00:44:53,010 --> 00:44:55,550 Jy eintlik omgee oor orde sowel. 850 00:44:55,550 --> 00:44:57,650 Sin maak? 851 00:44:57,650 --> 00:44:59,490 >> So, wat doen ons? 852 00:44:59,490 --> 00:45:01,550 So, wat ek kan probeer om jou te kry? 853 00:45:01,550 --> 00:45:04,400 Ek probeer vertel wat ons te kry roep die N-gram modelle. 854 00:45:04,400 --> 00:45:09,095 So n-gram modelle basies aanvaar dat vir elke woord wat 855 00:45:09,095 --> 00:45:10,960 jy het in 'n sin. 856 00:45:10,960 --> 00:45:15,020 Dit is die waarskynlikheid om daardie woord daar hang nie net op die 857 00:45:15,020 --> 00:45:18,395 frekwensie van die woord in die taal, maar ook op die woorde wat 858 00:45:18,395 --> 00:45:19,860 is dit omring. 859 00:45:19,860 --> 00:45:25,810 >> So byvoorbeeld, gewoonlik wanneer jy sien iets soos op of by jy 860 00:45:25,810 --> 00:45:28,040 waarskynlik gaan om te sien ' naamwoord nadat dit, reg? 861 00:45:28,040 --> 00:45:31,750 Want as jy 'n voorsetsel Gewoonlik is dit neem om 'n naamwoord nadat dit. 862 00:45:31,750 --> 00:45:35,540 Of as jy 'n werkwoord wat oorganklike jy gewoonlik gaan 863 00:45:35,540 --> 00:45:36,630 'n naamwoordstuk. 864 00:45:36,630 --> 00:45:38,780 So dit gaan 'n naamwoord te hê iewers rondom dit. 865 00:45:38,780 --> 00:45:44,950 >> So, basies, wat dit doen, is dat dit van mening dat die waarskynlikheid van ' 866 00:45:44,950 --> 00:45:47,960 woorde langs mekaar, wanneer jy die berekening van die 867 00:45:47,960 --> 00:45:49,050 waarskynlikheid van 'n sin. 868 00:45:49,050 --> 00:45:50,960 En dit is wat 'n taal model is basies. 869 00:45:50,960 --> 00:45:54,620 Net om te sê wat is die waarskynlikheid van 'n spesifieke 870 00:45:54,620 --> 00:45:57,120 sin in 'n taal? 871 00:45:57,120 --> 00:45:59,110 So hoekom is dit nuttig, basies? 872 00:45:59,110 --> 00:46:02,390 En in die eerste plek wat 'n N-gram model, dan? 873 00:46:02,390 --> 00:46:08,850 >> So 'n n-gram model beteken dat elke woord hang af van die 874 00:46:08,850 --> 00:46:12,700 volgende N minus 1 woorde. 875 00:46:12,700 --> 00:46:18,150 So, basies, beteken dit dat as ek kyk, Byvoorbeeld, by die CS50 TF wanneer 876 00:46:18,150 --> 00:46:21,500 Ek is die berekening van die waarskynlikheid van die vonnis, sal jy soos "die 877 00:46:21,500 --> 00:46:25,280 waarskynlikheid om die woord "die" keer die waarskynlikheid van die feit dat "die 878 00:46:25,280 --> 00:46:31,720 CS50 "keer die waarskynlikheid van ' "Die CS50 TF." So, basies, ek tel 879 00:46:31,720 --> 00:46:35,720 alle moontlike maniere van strek nie. 880 00:46:35,720 --> 00:46:41,870 >> En dan gewoonlik wanneer jy dit doen, soos in 'n projek, sit jy N te wees 881 00:46:41,870 --> 00:46:42,600 'n lae waarde. 882 00:46:42,600 --> 00:46:45,930 So, het gewoonlik 'bigrams of trigrams. 883 00:46:45,930 --> 00:46:51,090 Sodat jy net tel twee woorde, 'n groep van twee woorde, of drie woorde, 884 00:46:51,090 --> 00:46:52,620 Net vir prestasie. 885 00:46:52,620 --> 00:46:56,395 En ook omdat Miskien as jy ' iets soos "Die CS50 TF." Wanneer jy 886 00:46:56,395 --> 00:47:00,510 het "TF," Dit is baie belangrik dat "CS50" is langs dit, reg? 887 00:47:00,510 --> 00:47:04,050 Dié twee dinge is gewoonlik langs mekaar. 888 00:47:04,050 --> 00:47:06,410 >> As jy dink van "TF," is dit waarskynlik gaan hê wat 889 00:47:06,410 --> 00:47:07,890 klas dit TF'ing vir. 890 00:47:07,890 --> 00:47:11,330 Ook "die" is baie belangrik vir CS50 TF. 891 00:47:11,330 --> 00:47:14,570 Maar as jy iets soos "Die CS50 TF na die klas en het hul 892 00:47:14,570 --> 00:47:20,060 studente 'n paar lekkergoed "." Candy "en" die " het geen verband regtig, reg? 893 00:47:20,060 --> 00:47:23,670 Hulle is so ver van mekaar wat dit maak nie regtig saak wat 894 00:47:23,670 --> 00:47:25,050 woorde wat jy het. 895 00:47:25,050 --> 00:47:31,210 >> So deur 'n bigram of 'n trigram, is dit beteken net dat jy die beperking 896 00:47:31,210 --> 00:47:33,430 om jouself te 'n paar woorde wat rondom. 897 00:47:33,430 --> 00:47:35,810 Sin maak? 898 00:47:35,810 --> 00:47:40,630 So wanneer jy wil segmentering te doen, basies, wat jy wil doen, is te sien 899 00:47:40,630 --> 00:47:44,850 wat al die moontlike maniere wat jy kan segment van die vonnis. 900 00:47:44,850 --> 00:47:49,090 >> Sodanig dat jy sien wat is die waarskynlikheid van elk van die sinne 901 00:47:49,090 --> 00:47:50,880 bestaande in die taal? 902 00:47:50,880 --> 00:47:53,410 So, wat jy doen, is soos, wel, laat my probeer om 'n ruimte om hier te sit. 903 00:47:53,410 --> 00:47:55,570 So jy het 'n ruimte is daar en jy sien wat is die 904 00:47:55,570 --> 00:47:57,590 waarskynlikheid van die sin? 905 00:47:57,590 --> 00:48:00,240 Dan is jy soos, OK, miskien dit was nie so goed nie. 906 00:48:00,240 --> 00:48:03,420 So het ek 'n ruimte is daar en 'n ruimte daar, en jy kan bereken die 907 00:48:03,420 --> 00:48:06,240 waarskynlikheid nou, en jy sien dat dit is 'n groter waarskynlikheid. 908 00:48:06,240 --> 00:48:12,160 >> So, dit is 'n algoritme genoem Die Tango segmentering algoritme, wat 909 00:48:12,160 --> 00:48:14,990 eintlik iets wat werklik sou wees koel vir 'n projek, wat 910 00:48:14,990 --> 00:48:20,860 basies ongesegmenteer teks wat kan Japanese of Chinese of dalk wees 911 00:48:20,860 --> 00:48:26,080 Engels sonder spasies en probeer om te sit spasies tussen woorde en dit nie 912 00:48:26,080 --> 00:48:29,120 wat deur die gebruik van 'n taal model en probeer om te sien wat die hoogste 913 00:48:29,120 --> 00:48:31,270 waarskynlikheid jy kan kry. 914 00:48:31,270 --> 00:48:32,230 OK. 915 00:48:32,230 --> 00:48:33,800 So dit is segmentasie. 916 00:48:33,800 --> 00:48:35,450 >> Nou sintaksis. 917 00:48:35,450 --> 00:48:40,940 So, is sintaksis wat gebruik word vir so baie dinge nou. 918 00:48:40,940 --> 00:48:44,880 So vir grafiek Soek vir Siri vir pretty much enige vorm van natuurlike 919 00:48:44,880 --> 00:48:46,490 taal verwerking wat jy het. 920 00:48:46,490 --> 00:48:49,140 So, wat is die belangrikste dinge oor sintaksis? 921 00:48:49,140 --> 00:48:52,390 So, sinne in die algemeen wat ons noem bestanddele. 922 00:48:52,390 --> 00:48:57,080 Wat is soort van soos groepe van woorde wat 'n funksie in die sin. 923 00:48:57,080 --> 00:49:02,220 En hulle kan nie regtig wees van mekaar. 924 00:49:02,220 --> 00:49:07,380 >> So, as ek sê, byvoorbeeld, "Lauren is lief vir Milo. "Ek weet dat" Lauren "is 'n 925 00:49:07,380 --> 00:49:10,180 samestellende en dan "liefdes Milo "is ook 'n ander een. 926 00:49:10,180 --> 00:49:16,860 Omdat jy nie soos "Lauren Milo kan sê lief "dieselfde betekenis te hê. 927 00:49:16,860 --> 00:49:18,020 Dit is nie van plan om dieselfde betekenis. 928 00:49:18,020 --> 00:49:22,500 Of ek kan nie soos "Milo Lauren sê lief. "Nie alles het dieselfde 929 00:49:22,500 --> 00:49:25,890 beteken om dit te doen. 930 00:49:25,890 --> 00:49:31,940 >> So het die twee belangrike dinge oor sintaksis is die leksikale vorme wat 931 00:49:31,940 --> 00:49:35,390 basies die funksie dat jy vir woorde deur hulself. 932 00:49:35,390 --> 00:49:39,180 So jy het om te weet dat "Lauren" en "Milo" naamwoorde. 933 00:49:39,180 --> 00:49:41,040 "Love" 'n werkwoord. 934 00:49:41,040 --> 00:49:45,660 En die tweede belangrikste ding is dat hulle phrasal tipes. 935 00:49:45,660 --> 00:49:48,990 So jy weet dat "lief Milo" is eintlik 'n verbale uitdrukking. 936 00:49:48,990 --> 00:49:52,390 So as ek sê "Lauren," Ek weet dat Lauren is om iets te doen. 937 00:49:52,390 --> 00:49:53,620 Wat sy doen? 938 00:49:53,620 --> 00:49:54,570 Sy is lief Milo. 939 00:49:54,570 --> 00:49:56,440 So dit is 'n hele ding. 940 00:49:56,440 --> 00:50:01,640 Maar sy komponente is 'n selfstandige naamwoord en 'n werkwoord. 941 00:50:01,640 --> 00:50:04,210 Maar saam, maak hulle 'n werkwoord frase. 942 00:50:04,210 --> 00:50:08,680 >> So, wat kan ons eintlik doen met rekenaarlinguistiek? 943 00:50:08,680 --> 00:50:13,810 So, as ek iets byvoorbeeld "Vriende van Allison." Ek sien as ek net 944 00:50:13,810 --> 00:50:17,440 het 'n sintaktiese boom sou ek weet dat "Vriende" is 'n naamwoordstuk dit is 'n 945 00:50:17,440 --> 00:50:21,480 naamwoord en dan "van Allison" is 'n voorsetselfrase waarin "van" is 946 00:50:21,480 --> 00:50:24,810 'n stelling en "Allison" is 'n selfstandige naamwoord. 947 00:50:24,810 --> 00:50:30,910 Wat ek kan doen, is om my rekenaar te leer dat wanneer ek 'n naamwoordstuk een en 948 00:50:30,910 --> 00:50:33,080 Dan is 'n voorsetselfrase. 949 00:50:33,080 --> 00:50:39,020 So in hierdie geval, "vriende" en dan "van Milo "Ek weet dat dit beteken dat 950 00:50:39,020 --> 00:50:43,110 NP2, die tweede een, besit NP1. 951 00:50:43,110 --> 00:50:47,680 >> So ek kan 'n soort van verhouding skep, 'n soort van funksie vir dit. 952 00:50:47,680 --> 00:50:52,370 So wanneer ek sien hierdie struktuur, wat kom presies ooreen met "vriende van 953 00:50:52,370 --> 00:50:56,030 Allison, "Ek weet dat Allison die eienaar van die vriende. 954 00:50:56,030 --> 00:50:58,830 So het die vriende is iets dat Allison het. 955 00:50:58,830 --> 00:50:59,610 Sin maak? 956 00:50:59,610 --> 00:51:01,770 So dit is basies wat Grafiek Soek doen. 957 00:51:01,770 --> 00:51:04,360 Dit skep net reëls vir 'n klomp dinge. 958 00:51:04,360 --> 00:51:08,190 So "Vriende van Allison", "my vriende wat woon in Cambridge, "" my vriende 959 00:51:08,190 --> 00:51:12,970 wat na Harvard. "Dit skep reëls vir al daardie dinge. 960 00:51:12,970 --> 00:51:14,930 >> Nou masjien vertaling. 961 00:51:14,930 --> 00:51:18,850 So, masjien vertaling is ook iets statistiek. 962 00:51:18,850 --> 00:51:21,340 En eintlik as jy betrokke kry rekenaarlinguistiek, 'n baie 963 00:51:21,340 --> 00:51:23,580 jou goed gaan statistieke te wees. 964 00:51:23,580 --> 00:51:26,670 So as ek besig was om die voorbeeld met 'n baie waarskynlikhede dat ek 965 00:51:26,670 --> 00:51:30,540 berekening, en dan kry jy na hierdie baie klein aantal wat die finale 966 00:51:30,540 --> 00:51:33,180 waarskynlikheid, en dit is wat gee jou die antwoord. 967 00:51:33,180 --> 00:51:37,540 Masjien vertaling gebruik ook 'n statistiese model. 968 00:51:37,540 --> 00:51:44,790 En as jy wil om te dink van die masjien vertaling in die eenvoudigste moontlike 969 00:51:44,790 --> 00:51:48,970 manier, wat jy kan dink, is net vertaal woord vir woord, reg? 970 00:51:48,970 --> 00:51:52,150 >> Wanneer jy 'n taal leer vir die eerste keer, dis gewoonlik wat 971 00:51:52,150 --> 00:51:52,910 jy doen, reg? 972 00:51:52,910 --> 00:51:57,050 As jy wil 'n sin vertaal in jou taal die taal 973 00:51:57,050 --> 00:52:00,060 jy leer, gewoonlik die eerste keer, het jy vertaal elk van die woorde 974 00:52:00,060 --> 00:52:03,180 individueel, en dan moet jy probeer om die woorde om te sit in die plek. 975 00:52:03,180 --> 00:52:07,100 >> So as ek wou om dit te vertaal, [Praat PORTUGESE] 976 00:52:07,100 --> 00:52:10,430 wat beteken "die wit kat het weggehardloop." As ek wou om dit te vertaal uit 977 00:52:10,430 --> 00:52:13,650 Portugees in Engels, wat ek kan doen, is die eerste, het ek net 978 00:52:13,650 --> 00:52:14,800 vertaal woord vir woord. 979 00:52:14,800 --> 00:52:20,570 So "o" is "die", "gato", "die kat," 'Branco, 'n "wit:" en dan "fugio' is 980 00:52:20,570 --> 00:52:21,650 "Weggehardloop." 981 00:52:21,650 --> 00:52:26,130 >> So dan het ek al die woorde hier, maar hulle is nie in orde is. 982 00:52:26,130 --> 00:52:29,590 Dit is soos "die kat wit weggehardloop" wat is ongrammatikaal. 983 00:52:29,590 --> 00:52:34,490 So, dan kan ek 'n tweede stap, het wat gaan word om die ideale 984 00:52:34,490 --> 00:52:36,610 posisie vir elkeen van die woorde. 985 00:52:36,610 --> 00:52:40,240 So ek weet dat ek eintlik wil hê "Wit kat" in plaas van "kat wit." So 986 00:52:40,240 --> 00:52:46,050 wat ek kan doen, is die mees naïewe metode sou wees om te skep al die 987 00:52:46,050 --> 00:52:49,720 moontlike permutasies van woorde van posisies. 988 00:52:49,720 --> 00:52:53,300 En dan sien watter een die hoogste waarskynlikheid volgens 989 00:52:53,300 --> 00:52:54,970 om my taal model. 990 00:52:54,970 --> 00:52:58,390 En dan wanneer ek die een wat die hoogste waarskynlikheid is dit, wat is 991 00:52:58,390 --> 00:53:01,910 waarskynlik "die wit kat het weggehardloop," dit is my vertaling. 992 00:53:01,910 --> 00:53:06,710 >> En dit is 'n eenvoudige manier te verduidelik hoe om 'n baie van die masjien vertaling 993 00:53:06,710 --> 00:53:07,910 algoritmes werk. 994 00:53:07,910 --> 00:53:08,920 Is wat sin maak? 995 00:53:08,920 --> 00:53:12,735 Dit is ook iets baie opwindende dat julle miskien kan verken vir 'n 996 00:53:12,735 --> 00:53:13,901 finale projek, ja? 997 00:53:13,901 --> 00:53:15,549 >> STUDENT: Wel, jy het gesê dit was die naïewe manier, so wat is 998 00:53:15,549 --> 00:53:17,200 die nie-naïef manier? 999 00:53:17,200 --> 00:53:18,400 >> LUCAS FREITAS: Die nie-naïef manier? 1000 00:53:18,400 --> 00:53:19,050 OK. 1001 00:53:19,050 --> 00:53:22,860 Dus is die eerste ding wat sleg oor hierdie metode is dat ek net vertaal 1002 00:53:22,860 --> 00:53:24,330 woorde, woord vir woord. 1003 00:53:24,330 --> 00:53:30,570 Maar soms moet jy die woorde wat kan verskeie vertalings. 1004 00:53:30,570 --> 00:53:32,210 Ek gaan om te probeer om te dink van iets. 1005 00:53:32,210 --> 00:53:37,270 Byvoorbeeld, "manga" in Portugees kan óf "mangelen" of "mou." So 1006 00:53:37,270 --> 00:53:40,450 wanneer jy probeer om woord te vertaal deur 'n woord, kan dit gee jy 1007 00:53:40,450 --> 00:53:42,050 iets wat nie sin nie. 1008 00:53:42,050 --> 00:53:45,770 >> So wat jy eintlik wil jy kyk na al die moontlike vertalings van die 1009 00:53:45,770 --> 00:53:49,840 woorde en kyk, in die eerste plek, Wat is die orde. 1010 00:53:49,840 --> 00:53:52,000 Ons het gesels oor permutating die dinge? 1011 00:53:52,000 --> 00:53:54,150 Al die moontlike bevele om te sien en kies die een met die hoogste 1012 00:53:54,150 --> 00:53:54,990 waarskynlikheid? 1013 00:53:54,990 --> 00:53:57,860 Jy kan ook kies om al die moontlike vertalings vir elke 1014 00:53:57,860 --> 00:54:00,510 woord en dan sien - 1015 00:54:00,510 --> 00:54:01,950 gekombineer met die permutasies - 1016 00:54:01,950 --> 00:54:03,710 Watter een het die hoogste waarskynlikheid. 1017 00:54:03,710 --> 00:54:08,590 >> Plus, jy kan ook kyk na nie net woorde frases. 1018 00:54:08,590 --> 00:54:11,700 sodat jy kan analiseer die verhouding tussen woorde en kry 'n 1019 00:54:11,700 --> 00:54:13,210 beter vertaling. 1020 00:54:13,210 --> 00:54:16,690 Ook iets anders, so hierdie semester Ek is eintlik om navorsing te doen in 1021 00:54:16,690 --> 00:54:19,430 Chinese-Engels masjien vertaling, sodat die vertaling van 1022 00:54:19,430 --> 00:54:20,940 Chinese in Engels. 1023 00:54:20,940 --> 00:54:26,760 >> En iets wat ons doen, is om naas die gebruik 'n statistiese model, wat net 1024 00:54:26,760 --> 00:54:30,570 sien die waarskynlikhede te sien sommige posisie in 'n sin, ek is 1025 00:54:30,570 --> 00:54:35,360 eintlik ook die toevoeging van 'n paar syntax aan my model, sê, o, as ek sien hierdie soort 1026 00:54:35,360 --> 00:54:39,420 van die konstruksie, dit is wat ek wil om dit te verander wanneer ek vertaal. 1027 00:54:39,420 --> 00:54:43,880 So jy kan ook 'n soort van element van sintaksis te maak die 1028 00:54:43,880 --> 00:54:47,970 vertaling meer doeltreffende en meer akkuraat. 1029 00:54:47,970 --> 00:54:48,550 OK. 1030 00:54:48,550 --> 00:54:51,010 >> So hoe kan jy begin, as jy wil om iets te doen in die rekenaar 1031 00:54:51,010 --> 00:54:51,980 linguistiek? 1032 00:54:51,980 --> 00:54:54,560 >> Eerstens, jy kies 'n projek wat behels tale. 1033 00:54:54,560 --> 00:54:56,310 So, daar is so baie daar buite. 1034 00:54:56,310 --> 00:54:58,420 Daar is so baie dinge wat jy kan doen. 1035 00:54:58,420 --> 00:55:00,510 En dan kan dink van 'n model wat jy kan gebruik. 1036 00:55:00,510 --> 00:55:04,710 Gewoonlik beteken dit dat denke van aannames, as soos, ag, toe ek 1037 00:55:04,710 --> 00:55:05,770 soos denke van die lirieke. 1038 00:55:05,770 --> 00:55:09,510 Ek was soos, wel, as ek wil om uit te vind 'n wat hierdie geskryf het, het ek waarskynlik wil 1039 00:55:09,510 --> 00:55:15,400 om te kyk na die woorde van die persoon wat gebruik is en sien wat die woord gebruik baie dikwels. 1040 00:55:15,400 --> 00:55:18,470 So probeer om aannames te maak en probeer om te dink van die modelle. 1041 00:55:18,470 --> 00:55:21,395 En dan kan jy ook aanlyn soek die aard van die probleem wat jy het, 1042 00:55:21,395 --> 00:55:24,260 en dit gaan om voor te stel aan jou modelle wat miskien 1043 00:55:24,260 --> 00:55:26,560 geskoei dat die ding goed. 1044 00:55:26,560 --> 00:55:29,080 >> En jy kan ook altyd vir my e-pos. 1045 00:55:29,080 --> 00:55:31,140 me@lfreitas.com. 1046 00:55:31,140 --> 00:55:34,940 En ek kan net jou vrae te beantwoord. 1047 00:55:34,940 --> 00:55:38,600 Ons kan selfs kan ontmoet so ek kan gee voorstelle oor maniere 1048 00:55:38,600 --> 00:55:41,490 implementering van die projek. 1049 00:55:41,490 --> 00:55:45,610 En ek bedoel as jy betrokke raak by kry rekenaarlinguistiek, gaan dit 1050 00:55:45,610 --> 00:55:46,790 te groot wees. 1051 00:55:46,790 --> 00:55:48,370 Jy gaan daar te sien is soveel potensiaal. 1052 00:55:48,370 --> 00:55:52,060 En die bedryf wil om te huur jy so sleg as gevolg van daardie. 1053 00:55:52,060 --> 00:55:54,720 So ek hoop julle geniet dit. 1054 00:55:54,720 --> 00:55:57,030 As julle enige vrae het, jy kan my vra daarna. 1055 00:55:57,030 --> 00:55:58,280 Maar dankie. 1056 00:55:58,280 --> 00:56:00,150