LUCAS Freitas: Hej. Dobro došli svi. Moje ime je Lucas Freitas. Ja sam junior na [nečujan] studiranje računalnih znanosti s naglaskom na računalno jezikoslovlje. Dakle, moj je sekundarno u jeziku i lingvističke teorije. Stvarno sam uzbuđen da uče momci malo o terenu. To je vrlo uzbudljivo područje za proučavanje. Također, s puno potencijala za budućnost. Dakle, ja sam stvarno uzbuđen da ti dečki su s obzirom na projekte u računalno jezikoslovlje. I ja ću biti više nego rado savjetovati bilo tko od vas, ako ste se odlučili za nastaviti jedan od tih. Dakle, prije svega što su računalna lingvistika? Dakle, računalno jezikoslovlje je Raskrižje između lingvistike i računalnih znanosti. Dakle, ono što je lingvistika? Što je računalna znanost? Pa iz lingvistike, što uzimamo su jezici. Dakle, lingvistika je zapravo studija prirodnog jezika u cjelini. Dakle prirodnog jezika - govorimo o jezik koji mi zapravo koristiti za komuniciraju jedni s drugima. Pa nismo baš govori o C ili Java. Govorimo više o engleskom jeziku i Kineski i ostali jezici koji smo koristiti da komuniciraju jedni s drugima. Zahtjevna stvar o tome je da upravo sada imamo skoro 7.000 jezika u svijetu. Dakle, tu su prilično visoka sorta jezika koji možemo proučavati. I onda mislite da je to vjerojatno vrlo teško učiniti, na primjer, prijevod s jednog jezika na drugo, s obzirom da imaš Gotovo 7.000 njih. Dakle, ako mislite da radiš prijevod s jednog jezika na drugi što imaju gotovo više od milijun različite kombinacije koje možete imati od jezika do jezika. Dakle, to je stvarno izazovan učiniti neke vrsta primjer prevođenje sustava za svaki jezik. Dakle, lingvistika tretira s sintakse, semantika, pragmatika. Vi dečki ne točno potrebno znati što su oni. No, zanimljivo je da kao izvorni govornik, kada uče jezik kao dijete, što zapravo uče sve te stvari - sintaksa semantika i pragmatika - po sebi. I nitko ne mora vas naučiti sintaksu za da shvatite kako su rečenice strukturiran. Dakle, to je jako zanimljivo, jer to je nešto što dolazi vrlo intuitivno. A što ste odvojili od informatike? Pa, najvažnija stvar koju smo imati u računalnoj znanosti je prvi od svega, umjetne inteligencije i strojno učenje. Dakle, ono što mi pokušavamo raditi računalno jezikoslovlje je teach vaše računalo kako to učiniti nešto s jezikom. Tako, na primjer, u uređaju prijevod. Pokušavam učiti moje računalo how znati kako se prijelaz iz jednog Jezik za druge. Dakle, u osnovi željeli učenje računalne dva jezika. Ako sam napraviti obradu prirodnog jezika, što je slučaj na primjer Facebookov Graf pretrage, vas naučiti računalo kako razumjeti upite dobro. Dakle, ako ti kažeš "fotografije moga prijatelji. "Facebook ne postupa kako kao cijeli niz koji ima samo hrpa riječi. To zapravo razumije odnos između "fotografija" i "moji prijatelji" i razumije da je "fotografija" su vlasništvo "mojih prijatelja." Dakle, to je dio, na primjer, Obrada prirodnog jezika. Ona pokušava shvatiti što je odnos između riječi u rečenici. A veliko je pitanje, može li naučiti računalo kako govoriti jezik u cjelini? Koji je vrlo zanimljivo pitanje mislim, kao da je možda u budućnosti, ti ćeš biti u mogućnosti razgovarati na mobitel. Nešto kao što radimo s Siri, ali nešto kao, možete zapravo reći što god želite i telefon će razumjeti sve. A to može imati naknadna pitanja i nastaviti razgovor. To je nešto što je stvarno uzbudljivo, po mom mišljenju. Dakle, nešto o prirodnim jezicima. Nešto jako interesantno Prirodne jezika koji je, a to kreditne mom lingvistike profesora, Maria Polinsky. Ona daje primjer i mislim to je stvarno zanimljivo. Budući da učimo jezik od kada mi smo rođeni, a zatim naš materinji Jezik vrsta raste na nas. A zapravo ste naučili jezik s minimalnim ulaz, zar ne? Vi ste samo dobivanje slike iz Roditelji ono jezik zvuči volite i samo ga naučiti. Dakle, to je zanimljivo, jer ako pogledate Na tim rečenicama, primjerice. Izgledaš, "Marija stavlja na kaputu svakog Vrijeme je ona napušta kuću. " U ovom slučaju, to je moguće imati Riječ "ona" se odnosi na Mariju, zar ne? Možete reći: "Marija stavlja na kaputu svaki put Marija ostavlja kuća. ", tako da je u redu. Ali onda, ako pogledate u rečenici "Ona stavlja na kaput svaki put Mary napušta kuću. "znaš da je Nemoguće je reći da je "ona" je koji se odnosi na Mariju. Ne postoji način da se kaže da je "Marija stavlja kaput svaki put Marija ostavlja kuća. "Pa to je zanimljivo, jer to je vrsta intuicije da svaki izvorni govornik ima. I nitko nije učio da je ovo način na koji sintakse radi. I da možete imati samo ovaj "ona" koji se odnosi na Mariju u ovom prvom slučaju, i zapravo u ovom drugom previše, ali ne u ovom. Ali svatko vrsta dobiva do istog odgovora. Svi se slažu u tome. Dakle, to je stvarno zanimljivo kako, iako ne znam sva pravila na hrvatskom jeziku, što vrsta razumiju kako jezik funkcionira. Dakle zanimljiva stvar o prirodnim jezik je u tome što ne morate Znam bilo sintaksu znati je li kazna je gramatička ili negramatički za većini slučajeva. Koji misliš da je možda ono što događa se da kroz svoj život, što samo držati uzimajući sve više i više rečenice rekla da se tebi. I onda bi memoriranje sve rečenice. I onda kad ti netko kaže nešto, što čujete tu rečenicu i pogledate svog vokabulara presuda i vidjeti ako da kazna postoji. A ako je tamo kažu da je gramatička. Ako to nije vam reći da je to negramatički. Dakle, u tom slučaju, što bi rekli, oh, tako da imaju ogroman popis svih moguće presude. I onda kada čujete rečenicu, znate li da je gramatička ili ne na temelju toga. Stvar je u tome da, ako pogledate rečenica, primjerice, " pet čelu CS50 TFS kuhani slijepima Hobotnica pomoću Dapa šalicu. "To je definitivno nije kazna da ste čuli. No, u isto vrijeme znamo da je to prilično puno gramatičkih, zar ne? Nema gramatičke pogreške i može se reći da to je moguće kazne. Dakle, to nas čini mislim da zapravo Način na koji smo naučili jezik nije samo tako da veliku bazu moguće riječi ili rečenice, ali više razumijevanje odnosa između riječi u tim rečenicama. Ima li to smisla? Dakle, onda je pitanje, može Računala učenja jezika? Možemo li učiti jezik na računalima? Dakle, neka je razmišljati o razlici između izvorni govornik nekog jezika i računalo. Dakle, ono što se događa na zvučnik? Pa, izvorni govornik uči jezik iz izloženosti njega. Obično svojim ranim godinama djetinjstva. Dakle, u osnovi, vi samo imati dijete, a ti bi u razgovoru s njom, i to Samo uči kako govoriti jezik, zar ne? Dakle, vi zapravo davanje Ulaz na dijete. Pa, onda možete tvrditi da je računalo možete učiniti istu stvar, zar ne? Vi samo mogu dati Jezik za kao ulaz na računalu. Kao na primjer hrpa datoteka da imaju knjige na engleskom jeziku. Možda je to jedan od načina da vam eventualno mogao naučiti Računalo engleski, zar ne? A u stvari, ako mislite o tome, to će vas možda par dana čitati knjigu. Na računalu je potrebno za sekundu pogled na sve riječi u knjizi. Dakle, možete misliti da može biti samo to Argument ulaz od oko vas, to nije dovoljno reći da je to nešto što se samo čovjek može učiniti. Možete misliti računala Također možete dobiti ulaz. Druga stvar je da su izvorni govornici također imaju mozak koji ima Sposobnost učenja jezika. No, ako mislite o tome, Mozak je čvrsta stvar. Kada se rodio, već je postavljena - Ovo je tvoj mozak. I kao što odrastu, vi samo dobiti više ulaz jeziku i možda nutrijenti i druge stvari. No, prilično je vaš mozak je čvrsta stvar. Tako da mogu reći, dobro, možda možete izgraditi računalo koje ima hrpu funkcije i metode koje samo oponašaju Sposobnost učenja jezika. Dakle, u tom smislu, moglo bi se reći, dobro, ja može imati računalo koje ima sve stvari koje moram učiti jezik. I zadnja stvar je da materinji govornik uči iz pokušaja i pogrešaka. Tako je u osnovi još jedna važna stvar u učenje jezika je da ste ljubazni od naučiti stvari čineći generalizacije ono što čujete. Dakle, kao što su odrastanja ste saznali da neke riječi su više kao imenica, neki drugi one su pridjevi. I ne morate imati bilo poznavanje lingvistike razumjeti da. Ali samo znam da ima nekih riječi pozicionirani u nekom dijelu rečenica i neki drugi u drugom dijelovi rečenice. I to kad radite nešto što je kao rečenicu koja nije točna - možda zato što je nad generalizacije na primjer. Možda kad si odrastao, primijetite da množina je obično formirana stavljajući S po kraj riječi. I onda pokušati napraviti množini "Jelen" kao "jeleni" ili "zub" što "tooths." Pa onda vaši roditelji ili vas netko ispravlja i kaže, nema, množina "jelena" je "Jelen" i množina od "zuba" je "zube". A onda učite te stvari. Dakle, što ste naučili iz pokušaja i pogrešaka. Ali, također možete to učiniti s računalom. Možete imati nešto što se zove učenje pojačanje. Koja je u osnovi kao što je davanje Računalo nagrada kad god to radi točno tako nešto. A čime je suprotno od nagrada a kad se dogodi nešto loše. Vi zapravo možete vidjeti da, ako idete na Google Translate i pokušate prevesti rečenicu, to pita za povratne informacije. Dakle, ako vam kažu, oh, ima bolje prijevod ove rečenice. Možete ga upisati i onda ako je puno ljudi stalno govore da je bolje prijevod, to samo uči da je treba koristiti taj prijevod umjesto jedan je davanje. Dakle, to je vrlo filozofsko pitanje da li su računala će biti u mogućnosti razgovarati ili ne u budućnosti. No, ja imam velike nade da mogu Upravo na temelju tih argumenata. No, to je samo više filozofska pitanje. Dakle, dok su računala još uvijek se ne može govoriti, što su stvari koje možemo učiniti? Neki stvarno cool stvari tajnosti podataka. Tako, na primjer, ti dečki znaju taj e-mail usluge učiniti, za Na primjer, za filtriranje spam. Dakle, svaki put kad primite spam, što pokušava filtrirati u drugu kutiju. Pa kako to učiniti? To nije kao računalo samo zna ono e-mail adrese se slanje spama. Dakle, to je više temeljen na sadržaj poruka, ili možda naslov, ili možda neki uzorak koji imate. Dakle, u osnovi, ono što možete učiniti je dobiti puno podataka o e-mailove koji su spam, e-mailove koji nisu spam, a nisu znali što je vrsta obrasce imate u one koje su spam. I to je dio računalne jezikoslovlje. To se zove tajnosti podataka. I mi smo zapravo ide vidjeti Primjer da se u idućih slajdovima. Druga stvar je prirodnog jezika obrada koja je stvar koja Graf Traži se radi prepuštanja ti napisati kaznu. I vjeruje da razumijete što je značenje i daje što bolji rezultat. Zapravo, ako idete na Google ili Bing i da traži nešto poput Gospe Gaga je visina, što zapravo ide dobiti 5 '1 "umjesto informacija od nje, jer to zapravo ne razumije što pričaš. Dakle, to je dio prirodnog Obrada jezik. Ili i kada koristite Siri, prvi imate algoritam koji pokušava prevesti što govoriš u riječi, u tekstu. I onda se pokušava prevesti da u smislu. Dakle, to je sve dio prirodnog Obrada jezik. Tada imate strojno prevođenje - koja je zapravo jedan od mojih favorita - koji je samo prevodio s jezika na drugi. Dakle, možete misliti da kada radite strojno prevođenje, imate beskonačne mogućnosti rečenica. Dakle, ne postoji način da samo pohranjivanje svaki prijevod. Dakle, morate se s zanimljiva Algoritmi se moći prevesti svaki rečenica na neki način. Vi dečki imate bilo kakvih pitanja do sada? Ne? OK. Pa što ćemo danas vidjeti? Prije svega, ja ću govoriti o Problem klasifikacije. Dakle, onaj koji sam bio govore o spama. Ono što ću učiniti je, s obzirom lyrics neku pjesmu, možeš pokušati shvatiti s velikom vjerojatnošću koji je pjevačica? Recimo da imam pjesme od Lady Gaga i Katy Perry, ako ti dam nova pjesma, možete shvatiti ako to je Katy Perry i Lady Gaga? Drugi, ja samo idem razgovarati o problemu segmentacije. Pa ja ne znam da li ste vi znali, ali Kineski, japanski, druge istočnoazijske jezika, ostali jezici u cjelini, nemaju razmaci između riječi. A onda, ako mislite o načinu na toj računalo vrsta napad Razumijem obradu prirodnog jezika, to izgleda na riječima i pokušava razumjeti odnose između njih, zar ne? Ali onda, ako imate Kineze, a vi nula prostore, to je stvarno teško saznati što je odnos između riječi, jer oni nemaju bilo Riječi na prvi. Dakle, morate napraviti nešto što se zove segmentacije koji samo znači stavljanje Prostor između onoga što bismo nazvati riječi u tim jezicima. Smisla? A onda ćemo govoriti o sintaksi. Dakle, samo malo o prirodnim Obrada jezik. To će biti samo pregled. Tako je danas, u osnovi ono što želim napraviti se ti dečki malo unutar koje su mogućnosti koje možete učiniti s Computational jezikoslovlje. A onda možete vidjeti što mislite je cool među tim stvarima. A možda možete sjetiti projekta i došli razgovarati sa mnom. I mogu vam dati savjet o tome kako to provesti. Dakle, sintaksa će biti malo O Graf Traži i stroja prijevod. Samo ću dati primjer kako što bi, na primjer, prevesti nešto od portugalski na engleski. Zvuči dobro? Dakle, prvo, problem klasifikacija. Ja ću reći da je taj dio seminara će biti najveći izazov jedna samo zato što se događa biti neki kodiranje. No, to će biti Python. Znam da dečki ne znaju Python, pa Samo ću objasniti na high razini što radim. I ne morate se jako stalo previše toliko o sintaksi, jer to je nešto što ti dečki mogu učiti. OK? Zvuči dobro. Dakle, ono što je problem klasifikacija? Dakle, ti si dao neke tekstove Pjesma, i želite pogoditi tko to pjeva. A to može biti za bilo koju vrstu drugih problema. Dakle, to može biti, primjerice, imate predsjedničkoj kampanji i imate govor, a vi želite pronaći da li je to, na primjer, Obama ili Mitt Romney. Ili možete imati hrpu poruke e-pošte i želiš shvatiti, ako su spam ili ne. Dakle, to je samo klasificiranje neke Podaci se temelje na riječima da li postoji. Pa to učiniti, morate napraviti neke pretpostavke. Dakle puno o računalno jezikoslovlje je stvaranje pretpostavki, obično pametne pretpostavke, da možete dobiti dobre rezultate. Pokušavamo stvoriti model za njega. I onda ga isprobati i vidjeti ako to radi, ako ti daje dobru preciznost. A ako se to dogodi, onda pokušati poboljšati. Ako se to ne dogodi, ti si kao, OK, možda sam treba napraviti različite pretpostavke. Dakle, pretpostavka da ćemo napraviti je da umjetnik obično pjeva o temi više puta, a možda i koristi riječi više puta samo jer su navikli na to. Možete samo misliti na svog prijatelja. Siguran sam da ste vi svi imate prijatelje da kažu svoj potpis frazu, doslovno za svaku osudu - poput neke određene riječi ili neke specifične izraz koji kažu za svaka rečenica. I ono što mogu reći je da ako vidite rečenica koja ima potpis fraza, možete pretpostaviti da je vjerojatno Vaš prijatelj je jedan je rekao, zar ne? Znači li to pretpostavljati, a zatim to je kako stvoriti model. Primjer koji ću dati je na kako je Lady Gaga, na primjer, ljudi kažu da je ona koristi "beba" za svi njezini broj jedan pjesama. I zapravo to je video koji pokazuje joj govoreći riječ "beba" za različite pjesme. [VIDEO PLAYBACK] - (Pjevanje) bebe. Beba. Beba. Beba. Beba. Babe. Beba. Beba. Beba. Beba. [END video reprodukcije- LUCAS Freitas: Pa postoje, mislim, 40 pjesama ovdje u kojem ona govori Riječ "dijete". Tako da u osnovi može pogoditi da, ako vidite pjesmu koja ima Riječ "beba" ima nekih visokih Vjerojatnost da je Lady Gaga. No, pokušajmo razviti ova još više formalno. Dakle, to su stihovi pjesama koje po Lady Gaga i Katy Perry. Dakle pogledate Lady Gaga, što oni vide ima puno događaja o "bebi" Puno pojave "način." A onda Katy Perry ima puno pojavljivanja "," Puno pojave "vatre". Tako je u osnovi ono što želimo učiniti je, da dobijete lirske. Recimo da ste dobili lirske za Pjesma koja je "beba" samo "beba". Ako ste upravo dobili riječ "dijete", i to je sve podatke koje imate od Lady Gaga i Katy Perry, koja bi li pogoditi je osoba tko pjeva pjesmu? Lady Gaga ili Katy Perry? Lady Gaga, zar ne? Jer ona je jedina koja kaže da "Beba". To zvuči glupo, zar ne? OK, to je stvarno lako. Ja sam samo gleda na dvije pjesme i Naravno, ona je jedina koja ima "Beba". No, što ako imate hrpu riječi? Ako imate stvarnu lirski, nešto kao, "beba, samo sam otišao je vidjeti [? CFT?] Predavanje ", ili nešto slično, a onda zapravo shvatiti - na temelju svih tih riječi - tko je umjetnik koji je vjerojatno pjevala ovu pjesmu? Tako ćemo pokušati razviti ovo malo dalje. U redu, tako da se temelji samo na podacima koje smo dobio, čini se da je Gaga je vjerojatno pjevačica. No, kako možemo pisati to službeno? I tu će biti malo malo statistike. Dakle, ako ste se izgubili, samo pokušati razumjeti pojam. Nije bitno ako ste razumjeli jednadžbe savršeno dobro. To sve će biti online. Tako je u osnovi ono što sam izračuna je Vjerojatnost da će ova pjesma je od strane Lady Gaga s obzirom da je - pa to bar znači s obzirom da je - Vidio sam riječ "beba". Ima li to smisla? Dakle, ja pokušavam izračunati da je vjerojatnost. Dakle, postoji taj poučak nazvan Lost teorem koji kaže da vjerojatnost dano B, je vjerojatnost B dao, puta vjerojatnost, na vjerojatnost B. To je dugo jednadžba. No, ono što morate shvatiti iz to je da je to ono što želim izračunati, zar ne? Dakle vjerojatnost da ta pjesma je po Lady Gaga s obzirom da sam vidio riječ "Beba". I sad ono što sam uzimajući je vjerojatnost riječi "beba" s obzirom da imam Lady Gaga. A što je to zapravo? Što to znači, što je Vjerojatnost da vide riječ "beba" u Gaga stihovima? Ako želim da se izračunati da je u vrlo jednostavan način, to je samo broj puta vidim "beba" u odnosu na ukupan broj riječi u tekstovima Gaga, zar ne? Što je frekvencija da vidim da je riječ Gaga radu? Smisla? Drugi pojam je vjerojatnost Gaga. Što to znači? To u osnovi znači, ono što je vjerojatnost klasificiranje neke tekstove kao Gaga? I to je čudno, ali Razmislimo o primjer. Pa recimo da je vjerojatnost ima "dijete" u pjesmi je ista za Gaga i Britney Spears. No, Britney Spears ima dva puta više pjesama nego Lady Gaga. Dakle, ako je netko baš slučajno daje tekstovi "bebu", prva stvar koju pogledati je, što je vjerojatnost ima "dijete" u Gaga pjesmu, "beba" Britney u pjesmi? I to je ista stvar. Dakle, druga stvar koju ćete vidjeti je, dobro, što je vjerojatnost ova lirska po sebi bude Gaga lirska, i što je vjerojatnost što Britney lirska? Dakle, budući da Britney ima toliko više lyrics od Gaga, što bi vjerojatno recimo, dobro, ovo je vjerojatno Britney lirska. Dakle, to je razlog zašto imamo ovo termin ovdje. Vjerojatnost Gaga. Ima smisla? Je li? OK. I posljednja je samo vjerojatnost "baby" koji ne stvarno smeta toliko. No, to je vjerojatnost viđenje "Baby" na engleskom jeziku. Mi obično nije briga da toliko o tom pojmu. Ima li to smisla? Dakle vjerojatnost Gaga je nazvao prije vjerojatnost klasne Gaga. Jer to samo znači da je, što je vjerojatnost da taj razred - što je Gaga - tek općenito, samo bez ikakvih uvjeta. I onda kad imam vjerojatnost Gaga dao "beba", mi to zovemo plus teary vjerojatnost jer je vjerojatnost da Gaga dao neke dokaze. Dakle Dajem ti dokaze da sam vidio riječ bebu i Pjesma smisla? OK. Dakle, ako sam izračunao da za svaku pjesme za Lady Gagu, što bi to bilo - očito, ne mogu pomaknuti ovo. Vjerojatnost Gaga će biti nešto slično, 2 preko 24 puta 1/2, preko 2 preko 53. Nije bitno ako znate što ti brojevi dolaze iz. No, to je samo broj koji se događa biti više od 0, zar ne? I onda kad ja to Katy Perry, vjerojatnost "Baby" dao Katy je Već 0, zar ne? Budući da ne postoji "beba" u Katy Perry. Pa onda to postaje 0, a Gaga pobjeda, što znači da je Gaga Vjerojatno pjevačica. Ima li to smisla? OK. Dakle, ako želim da ovo više službenika, Ja zapravo može napraviti model više riječi. Dakle, recimo da imam nešto kao, "beba, ja sam na vatru ", ili tako nešto. Tako da ima više riječi. I u ovom slučaju, možete vidjeti da je "beba" je Gaga, , ali to nije u Katy. I "vatra" je u Katy, ali to nije u Gaga, zar ne? Dakle, to je sve teže, zar ne? Jer čini se da je gotovo imati vezu između ta dva. Dakle, ono što morate učiniti je preuzeti neovisnost među riječima. Tako je u osnovi ono što to znači da Ja sam samo izračuna što je vjerojatnost vidjeti "bebu", što je Vjerojatnost da vide "ja" i "Ja", i "na" i "vatre" sve odvojeno. Onda sam množenjem sve njih. A vidim kolika je vjerojatnost vidjeti cijelu rečenicu. Smisla? Tako je u osnovi, ako imam samo jednu riječ, ono što želim naći je ARG max, što znači, ono što je klasa koja je daje mi najveću vjerojatnost? Dakle, ono što je klasa koja daje ja najveća vjerojatnost za Vjerojatnost razredu dao riječ. Dakle, u ovom slučaju, s obzirom Gaga "bebu." Ili Katy dao "bebu." Smisla? I upravo iz Bayes, koji jednadžba da sam pokazao, smo stvorili ovaj dio. Jedina stvar je da se vidi da vjerojatnost riječi dao klase mijenja ovisno o razredu, zar ne? Broj "Baby" s koje imam u Gaga se razlikuje od Katy. Vjerojatnost klasi također promjene, jer to je samo broj pjesama svaki od njih ima. No, vjerojatnost same riječi će biti isti za sve umjetnika, zar ne? Dakle vjerojatnost riječ je Samo, što je vjerojatnost gledajući tu riječ Engleski jezik? Dakle, to je isti za sve njih. Dakle, budući da je to konstanta, možemo samo ispadne to i nije stalo do njega. Dakle, to će biti zapravo Jednadžba tražimo. I ako imam više riječi, ja sam Još uvijek će imati prije Vjerojatnost ovdje. Jedina stvar je da sam se množenjem vjerojatnost sve ostale riječi. Tako sam množenjem sve njih. Smisla? To izgleda čudno, ali u osnovi znači, izračunati prije klase, a zatim pomnožite vjerojatnosti svakog od riječi koje se nalaze u toj klasi. I znate da je vjerojatnost Riječ obzirom klase će biti koliko puta ste vidjeti da je riječ u da je klasa, podijeljeni po broju Riječi koje su u tome klase u cjelini. Smisla? To je jednostavno tako "beba" je 2 više broj riječi koje se Imao sam u stihovima. Dakle, samo frekvencija. No, postoji jedna stvar. Sjećaš se kako sam se pokazuje da vjerojatnost "baby" Biti lyrics od Katy Perry bila je 0 samo zato Katy Perry nije imao "dijete" uopće? Ali to zvuči malo grubo samo jednostavno reći da tekstovi ne mogu biti iz umjetnik samo zato što nemaju da je riječ posebice u bilo kojem trenutku. Tako bi samo mogla reći, dobro, ako nemaju tu riječ, ja ću vam dati manju vjerojatnost, ali ja baš neću dati 0 odmah. Jer možda je bilo nešto poput, "Vatra, vatra, vatra, vatra", koja je potpuno Katy Perry. A onda je "beba", i to samo ide u 0 odmah, jer tamo je bio jedan "Beba". Tako je u osnovi ono što mi radimo je nešto zove Laplace zaglađivanje. A to samo znači da ja dajem Neki čak i vjerojatnost da riječi da ne postoje. Dakle, ono što radim je da kad sam izračunu to, uvijek sam dodati 1 do brojnik. Dakle, čak i ako ne postoji riječ, u U ovom slučaju, ako je to 0, ja sam još uvijek izračuna to kao jedan preko Ukupan broj riječi. Inače, sam se koliko je riječi Imam i ja dodati jedan. Dakle, ja računam za oba slučaja. Smisla? Dakle, sada idemo napraviti nešto kodiranje. Ja ću to učiniti vrlo brzo, ali to je samo važno da vam Dečki razumiju koncepte. Dakle, ono što mi pokušavamo učiniti je točno provesti ovo Ono što sam upravo rekao - Želim staviti tekstove iz Lady Gaga i Katy Perry. A program će biti u mogućnosti kažem, ako ti novi tekstovi su iz Gaga ili Katy Perry. Smisla? OK. Dakle, imam ovaj program idem nazvati classify.py. Dakle, ovo je Python. To je novi programski jezik. To je vrlo sličan u nekim načina za C i PHP. To je slično, jer ako želite učiti Python nakon znajući C, to je stvarno nije toliko izazov samo zato Python je puno lakše od C, prije svega. I puno stvari su već provodi za vas. Dakle, koliko kao PHP ima funkcije koje sortirati popis, ili dodati nešto na niz, ili bla, bla, bla. Python ima sve one, kao dobro. Tako ću i objasniti brzo kako bismo mogli napraviti klasifikaciju problem ovdje. Dakle, recimo da je u ovom slučaju, ja imam tekstovi iz Gaga i Katy Perry. Način na koji sam te tekstove je da Prva riječ stihovima je ime izvođača, a Ostalo je stihove. Dakle, recimo da imam ovaj popis u koji je prvi je stihovi Gaga. Dakle, ovdje sam na pravom putu. A sljedeći je Katy, a Također, ima stihove. Pa to je, kako se proglasiti varijabla u Pythonu. Vi ne morate dati vrstu podataka. Vi samo napišite "lyrics" vrsta kao u PHP. Smisla? Pa što su stvari koje moram izračunali da bi mogli izračunati vjerojatnosti? Moram izračunati "Priora" svakog od različitih Klase koje imam. Moram izračunati "posteriors", ili prilično mnogo vjerojatnosti svaki od različitih riječi koje Ja mogu imati za svakog umjetnika. Dakle, u okviru Gaga, na primjer, idem imati popis koliko puta vidim svaki od riječi. Smisla? I na kraju, ja sam samo će imati Popis pod nazivom "riječi" koja samo ide imati koliko riječi sam imati za svakog umjetnika. Tako je za Gaga, na primjer, kad pogledam na tekstove, što sam, mislim, 24 Riječi ukupno. Dakle, ovaj popis samo će se morati Gaga 24, a Katy drugi broj. Smisla? OK. Tako sada, zapravo, neka je ići na kodiranje. Tako je u Pythonu, možete zapravo povratak hrpa različitih stvari iz funkcije. Tako ću napraviti ovu funkciju pod nazivom "uvjetna", koji se događa da se vrati sve te stvari, "priori" i "vjerojatnosti" i "riječi." Dakle "uvjetna", a to je će se zvati u "stihovima." Dakle, sada želim da se zapravo napisati ovu funkciju. Dakle, način na koji ja mogu napisati ovo Funkcija se ja samo definirali djelovati s "def." Tako sam učinio "def uvjetna, "a to je uzimanje "Lyrics." A što to će učiniti je, prije svega, imam Priori da želim izračunati. Dakle, način na koji ja mogu učiniti je stvoriti rječnik u Pythonu, koji je skoro ista stvar kao mljeveno meso tablica, ili je to iterativan polje u PHP. To je, kako sam proglasiti rječnika. A u osnovi ono što to znači je da priori od Gage je 0,5, na primjer, ako 50% od pjesama su iz Gaga, 50% su od Katy. Smisla? Dakle, moram smisliti kako izračunati Priori. Sljedećih one koje moram napraviti, također, su vjerojatnosti i riječi. Dakle vjerojatnosti Gaga je popis svih vjerojatnosti da sam imati za svaki od riječi za Gaga. Dakle, ako idem na vjerojatnosti Gaga "Beba", na primjer, to će mi dati nešto kao 2 preko 24, u tom slučaju. Smisla? Tako sam ići na "vjerojatnosti", idite na "Gaga" kantu koja ima popis svih Gaga se riječi, onda idem na "bebe" i vidim vjerojatnost. I na kraju sam to "Riječi" rječnik. Dakle, ovdje, "vjerojatnosti." A onda "riječi." Dakle, ako mi je činiti "riječi", "Gaga" što će se dogoditi je da je će mi dati 24, rekavši da je sam ima 24 riječi u tekstovima iz Gaga. Ima smisla? Pa evo, "riječi" jednako Dah-Dah-Dah. OK Dakle, ono što ću učiniti je da ću ponoviti tijekom svake od pjesama, pa svaki od nizova koji Imam na popisu. A ja ću izračunati one stvari za svakog od kandidata. Ima smisla? Pa moram učiniti za petlju. Tako je u Pythonu što mogu učiniti je "za liniju u stihovima. "ista stvar kao i "Za svaki" izjavu u PHP-u. Sjeti se kako je, ako je to PHP sam mogao kažu "za svaki tekstove kao linije. "Ima smisla? Dakle, uzimam svaki od linije, u to slučaj, ovaj niz i iduće string tako da za svaku od linije što sam ću učiniti je prvo, ja ću podijeliti ovu liniju u popis Riječi odvojene prostore. Pa super stvar o Pythonu je da mogli bi samo Google kao "kako mogu Split niz u riječi? "I to je će vam reći kako to učiniti. I način kako to učiniti, to je samo "linija = Line.split () "i to je u osnovi će vam dati popis s svaka riječ ovdje. Ima smisla? Dakle, sada kada sam to učinio ja želim znati koji je pjevačica te pjesme. I za to sam se samo moraju dobiti Prvi element polja, zar ne? Dakle, ja mogu samo reći da sam "pjevačica = Linija (0) "Ima smisla? A ono što trebam učiniti onda je, prije sve, ja ću ažurirati koliko Riječi imam pod "Gaga". pa ja sam samo će izračunati koliko riječi sam ima na ovom popisu, zar ne? Budući da je ovo koliko riječi moram u stihovima, a ja sam samo ide dodajte ga u "Gaga" polja. Ima li to smisla? Nemojte previše usredotočena na sintakse. Više razmišljati o konceptima. To je najvažniji dio. OK. Dakle, ono što ja mogu učiniti je da je "Gaga" je Već na tom popisu, pa "ako se pjevačica u riječi "što znači da sam već ima riječi Gaga. Ja samo želim dodati dodatni Riječi i tome. Dakle, ono što radim ", riječi (pjevačica) + = Len (line) - 1 ". I onda ja samo mogu učiniti duljina linije. Pa kako su mnogi elementi I imaju u nizu. I ja imam minus 1 samo zato Prvi element polja je samo Pjevač i one nisu lyrics. Ima smisla? OK. "Inače," to znači da želim da se zapravo umetnite Gaga u popisu. Pa sam to "riječi (pjevačica) = Len (line) - 1, "Oprosti. Dakle, jedina razlika između ta dva linija je da je ovaj jedan, to ne postoje još, pa sam samo ga pokreće. Ovaj sam zapravo dodao. OK. Dakle, ovo je dodajući da riječima. Sada želim dodati na Priora. Pa kako sam izračunati Priori? U priori može se izračunati po koliko puta. Pa koliko puta ste vidjeli da je pjevačica među svim pjevačima koji vas ima, zar ne? Tako je za Gaga i Katy Perry, u tom slučaju, ne vidim Gaga Jednom, Katy Perry jednom. Tako je u osnovi su priori za Gaga a za Katy Perry bi biti samo jedan, zar ne? Vi samo koliko puta Vidim umjetnik. Dakle, to je vrlo lako izračunati. Ja mogu samo nešto slično kao poput "ako Pjevačica je u Priora, "Samo ću dodati 1 do njihovog Priori kutiji. Dakle, "priori (pjeva)" + = 1 ", a zatim" drugi " Ja ću učiniti "Priori (pjevač) = 1. "Ima smisla? Dakle, ako to ne postoji samo sam stavio kao 1, inače sam samo dodati jedan. U redu, tako da sada sve što mi je ostalo za napraviti je također dodati svaki od riječi vjerojatnosti. Pa moram računati koliko puta Vidim da svaki od riječi. Dakle, samo moram napraviti još jedan for petlja u liniji. Dakle, prva stvar koju ću učiniti je provjerite je li pjevačica već ima vjerojatnosti polje. Tako da provjeravam ako pjevač ne imaju vjerojatnosti niz, ja sam samo će započeti jedan za njih. To nije ni niz, ispričavam se, to je rječnik. Dakle vjerojatnosti pjevač ide biti otvoren rječnik, pa sam Samo inicijalizacije riječnik za to. OK? I sad sam zapravo može učiniti za petlju izračunati svaki od riječi ' vjerojatnosti. OK. Dakle, ono što ja mogu učiniti je za petlju. Tako ću i to ponoviti preko polja. Dakle, način na koji to mogu učiniti u Pythonu je "Jer ja u rasponu." Od 1. jer želim početi u sekundi elementa, jer prvi je Naziv pjevačica. Dakle, s jedne do duljina linije. I kad ja to u rasponu zapravo ići od kao što je ovdje od 1 do LEN-u crta minus 1. Tako je to već radi tu stvar radiš n minus 1 za polja koja je vrlo zgodan. Ima smisla? Dakle, za svaku od njih, ono što ću to je, baš kao iu onom drugom, Idem provjeriti da li je riječ u ovom položaj u liniji je već u vjerojatnosti. A onda, kao što sam rekao ovdje, vjerojatnosti riječi, kao u sam stavio "vjerojatnosti (pjevačica)". Dakle ime pjevača. Dakle, ako je već u "Probabilit (pjevačica)", to znači da sam želite dodati 1 do njega, pa ću se učiniti "vjerojatnosti (pjevač)", a Riječ je nazvan "linija (I)". Ja ću dodati jedan i "drugo" ja sam samo će ga započeti do 1. "Line (i)". Ima smisla? Dakle, sam izračunao sve polja. Dakle, sada sve to moram učiniti za ovo je samo "vratiti Priori, vjerojatnosti i riječi. "Idemo vidjeti ako postoje bilo, u redu. Čini se sve radi do sada. Dakle, to ima smisla? Na neki način? OK. Tako da sada imam sve vjerojatnosti. Tako sada jedino što mi je preostalo je samo da ima tu stvar da izračunava produkt svih vjerojatnosti kad dobijem stihove. Dakle, recimo da želim danas nazivamo ova funkcija "klasificiraju ()" i Ono što je funkcija traje je samo argument. Recimo da "Baby, ja sam na vatru", a to je će shvatiti što je Vjerojatnost da je to Gaga? Kolika je vjerojatnost da je ovo Katie? Zvuči dobro? Tako ću i to morati napraviti Nova funkcija pod nazivom "klasificiraju ()" i to će potrajati neko lyrics kao dobro. A osim toga stihovima i ja moraju poslati Priori, vjerojatnosti i riječi. Tako da ću poslati lyrics, priori, vjerojatnosti, riječi. Dakle, ovo je uzimanje lyrics, priori, vjerojatnosti, riječi. Dakle, što učiniti? To je u osnovi će proći kroz sve su mogući kandidati koji imaju kao pjevač. A gdje su oni kandidati? Oni su u Priora, zar ne? Dakle, imam sve one postoje. Tako da ću imati rječnik od svih mogućih kandidata. A onda za svakog kandidata u priori, pa to znači da će se biti Gaga, Katie, ako sam imao više to će biti više. Ja ću početi izračuna ta vjerojatnost. Vjerojatnost kao što smo vidjeli u PowerPoint je prijašnji puta Produkt svake ostale vjerojatnosti. Dakle, ja mogu učiniti isto ovdje. Ja samo mogu učiniti je vjerojatnost u početku samo prije. Tako priori kandidata. Zar ne? A sada moram ponoviti preko svega Riječi koje sam u stihovima se mogućnosti dodati vjerojatnost za svaku od njih, u redu? Dakle, "za riječ u stihovima" što ću učiniti je, ako je riječ u "vjerojatnosti (kandidat)", koji je znači da je riječ koja kandidat ima u svojim stihovima - primjerice, "beba" za Gaga - ono što ću učiniti je da Vjerojatnost će se multiplicirati za 1 plus vjerojatnosti kandidat za tu riječ. I to se zove "Riječ". To podijeljena broju riječi da imam za tog kandidata. Ukupan broj riječi koje imam za pjevača da gledam. "Else". to znači da je nova riječ pa to bi bilo kao na primjer "Požar" za Lady Gaga. Dakle, ja samo želim napraviti jedan više "Riječ (kandidata)". Dakle, ja ne želim da se taj pojam ovdje. Dakle, to će biti u osnovi kopiranje i lijepljenje. Ali ja ću izbrisati taj dio. Pa to samo će biti 1. preko toga. Zvuči dobro? I sad na kraju, samo ću ispisati ime kandidata i vjerojatnost da imate od ima S na svojim stihovima. Ima smisla? I ja zapravo uopće ne potrebno rječnika. Ima smisla? Dakle, da vidimo je li to zapravo radi. Dakle, ako sam pokrenuti ovaj, to nije posao. Čekaj jednu sekundu. "Riječi (kandidat)", "riječi (kandidat)", to je Ime polja. OK Dakle, ona kaže da je neki bug za kandidata u Priora. Dopustite mi samo odmarati malo. OK. Pokušajmo. OK. Dakle, to daje Katy Perry ove je vjerojatnost da se to puta 10 na minus 7, a Gaga je to puta 10 na minus 6. Pa vidite što pokazuje da je Gaga ima veću vjerojatnost. Dakle, "Baby, ja sam na Fire" je Vjerojatno Gaga pjesmu. Ima smisla? Dakle, to je ono što smo učinili. Ovaj broj će biti objavljena na internetu, tako da dečki mogu to provjeriti. Možda koristite neki od nje jer ako želite napraviti projekt ili nešto slično. OK. To je bio samo pokazati ono računalna lingvistika kod izgleda. Ali, sad idemo na više visoka razina stvari. OK. Tako su drugi problemi I govori o - Problem segmentacije je prvi od njih. Pa imate ovdje Japance. I onda vidite da je nema mjesta. Dakle, to je u osnovi znači da je Vrh stolici, zar ne? Govoriš japanski? To je vrh stolici, zar ne? STUDENT: Ne znam što se kanji više ne postoji. LUCAS Freitas: Prošlo [SPEAKING japanskih] OK. Dakle, to u osnovi znači stolica vrhu. Dakle, ako ste morali staviti razmak to će biti ovdje. I onda imate [? Ueda-san. ?] Koji u osnovi znači da je gospodin Ueda. A vidiš da je "Ueda" i imate prostor i onda "San". Pa vidite da je Ovdje ste "Ue" je kao i sama po sebi. I ovdje ima karakter pokraj njega. Dakle, to nije kao u tim jezicima likovi što znači riječ je tako da samo staviti puno prostora. Likovi odnose jedni prema drugima. I oni mogu biti zajedno kao dvije, tri, jedan. Tako da zapravo stvoriti nekakav o način stavljanja tih prostora. A to je da kad god se Podaci iz tih azijskih jezika, sve dolazi unsegmented. Zato što nitko tko piše japanski ili kineski piše razmacima. Uvijek kada pišete kineski, Japanski li samo napisati sve bez razmaka. To nema ni smisla staviti prostore. Dakle, kada ste dobili podatke iz neke Istočnoazijske jezik, ako želite zapravo učiniti nešto s tim morate segmentu prvi. Pomišljati na primjeru stihovi bez razmaka. Dakle, jedini tekstovi koje imate će biti kazne, zar ne? Odvojene razdobljima. No, tada ima samo kazna ne stvarno pomoći na davanje informacija tko su ti tekstovi su strane. Zar ne? Tako da bi trebao stavlja prostore na prvom mjestu. Pa kako si to mogao učiniti? Pa onda dolazi ideja o jeziku Model koji je nešto stvarno važno za računalstvo jezikoslovlje. Dakle Model jezik je u osnovi tablica vjerojatnosti da predstave Prije svega što je vjerojatnost vlasništvo riječ u jeziku? Tako pokazuje koliko često riječ. I onda se također pokazuje odnos između riječi u rečenici. Dakle, glavna ideja je, ako je stranac došao tebi i rekao rečenicu za li, kolika je vjerojatnost da je, za Na primjer, "ovo je moja sestra [? GTF"?] je rečenica koja osoba rekla? Dakle, očito neke rečenice su češći od drugih. Na primjer, "dobro jutro", ili "dobar noć "ili" hej tamo "je mnogo više zajedničkog nego većina rečenica da imamo engleski. Pa zašto su one rečenice češće? Prije svega, to je zato što imate Riječi koje su češće. Tako, na primjer, ako kažem, pas velika, a pas je ogroman, što obično se vjerojatno čuti pas je velika češće jer je "velika" je više česta na engleskom nego "ogroman." Dakle, jedan od stvari je riječ frekvencije. Druga stvar koja je jako važno je samo redoslijed riječi. Dakle, to je uobičajeno reći "mačka je unutar okvira. ", ali obično ne pogledajte u "kutiju iznutra je mačka." tako vidiš da postoji neki značaj u redoslijedu riječi. Vi ne možete samo reći da su ta dva rečenice imaju istu vjerojatnost samo zato što imaju iste riječi. Vi zapravo morati brinuti o bi kao dobro. Smisla? Dakle, što nam je činiti? Dakle, ono što ja mogu pokušati doći? Pokušavam dobiti ono što smo zvati n-gram modela. Dakle, n-gram modeli osnovi pretpostavljaju da za svaku riječ koja imate u rečenici. To je vjerojatnost da ima Riječ tamo ne ovisi samo o frekvencija te riječi u jeziku, ali i na riječi koje su ga okružuje. Tako na primjer, obično kad vidite nešto slično ili na si Vjerojatno će se vidjeti imenica, nakon njega, zar ne? Jer kada imate prijedloga Obično to traje imenicu nakon njega. Ili, ako imate glagol koji je prijelazni što se obično događa da imaju imenicu izraz. Dakle, to će imati imenicu negdje oko njega. Dakle, u osnovi, što to je da je razmatra mogućnost da se pojave riječi jedni pored drugih, kada ti si izračuna vjerojatnost kazne. I to je ono jezik Model je u osnovi. Samo kažem ono što je vjerojatnost da ima određenu rečenica u jeziku? Pa zašto je to korisno, zapravo? A prije svega, ono što je N-gram model, a zatim? Tako N-gram model koji znači svaka riječ ovisi o Sljedeći N minus 1 riječi. Dakle, u osnovi, to znači da ako gledam, Na primjer, u CS50 TF kada Ja sam izračuna vjerojatnost rečenica, vi ćete biti kao " vjerojatnost da je riječ "" puta vjerojatnost da " CS50 "puta vjerojatnost da "CS50 TF." Dakle, u osnovi, ja brojati sve moguće načine to istezanje. I onda obično kad to radite, kao u projektu, stavite N da bude niska vrijednost. Dakle, obično imaju bigrams ili trigrame. Tako da samo brojati dva riječima, Skupina od dvije riječi, ili tri riječi, Samo za poteškoće u izvedbi. A i zato što možda ako imate nešto poput "The CS50 TF." Kada imaju "TF", to je vrlo važno da "CS50" je pored njega, zar ne? Te dvije stvari su obično jedna pored druge. Ako mislite da "TF", to je vjerojatno će imati ono što Klasa to TF'ing za. Također "" je stvarno važno za CS50 TF. Ali, ako imate nešto poput "The CS50 TF otišao u razred i dali svoje studenti malo slatkiša. "" Candy "i" " nemaju veze stvarno, zar ne? Oni su tako daleko jedni od drugih da to zapravo ne smeta što Riječi imate. Dakle, obavljajući Bigram ili TRIGRAM, to samo znači da ste ograničavajući sebi da nekim riječima koji su oko. Smisla? Dakle, ako želite napraviti segmentaciju, Uglavnom, ono što želite učiniti je vidjeti ono što su svi mogući načini da se možete segment rečenicu. Tako da vidite što je vjerojatnost svaki od tih rečenica postoje u jeziku? Dakle, ono što trebate učiniti je kao, dobro, neka ja pokušati staviti prostor ovdje. Dakle stavite prostor postoji a vi vidite što je Vjerojatnost toj rečenici? Onda ste kao, u redu, možda koji nije bio tako dobar. Zato sam stavio prostor postoji i prostor postoji, a vi izračunajte Vjerojatnost sad, i vidjet ćete da to je veća vjerojatnost. Dakle, to je algoritam zove TANGO segmentacija algoritam, koji je zapravo nešto što bi bilo stvarno super za projekt, koji je osnovi traje unsegmented tekst koji može biti japanski ili kineski ili možda Engleski bez razmaka i pokušava staviti razmaci između riječi i to ne da je korištenje jezičnog modela i pokušavajući vidjeti što je najviša Vjerojatnost možete dobiti. OK. Dakle, ovo je segmentacije. Sada sintakse. Dakle, sintaksa se koristi za toliko stvari upravo sada. Tako je za Graf Traži, za Siri za skoro sve vrste prirodnih Jezična obrada imate. Pa što su važni stvari o sintaksi? Dakle, rečenica općenito imaju ono što mi zovemo sastojke. Koje su vrste poput skupine riječi koje imaju funkciju u rečenici. I doista ne mogu biti jedan od drugoga. Dakle, ako kažem, na primjer, "Lauren voli Milo. "Znam da je" Lauren "je sastavni i zatim "ljubavi Milo "je također još jedan. Zato što se ne može reći kao što su "Lauren Milo voli "imaju isto značenje. To neće imati isto značenje. Ili ja ne mogu reći kao "Mila Lauren voli. "Nije sve ima ista što znači da radi. Tako su dvije važnije stvari u vezi sintaksa su leksičke vrste koja je osnovi funkcija vam da ima za riječi po sebi. Dakle, morate znati da je "Lauren" i "Milo" su imenice. "Ljubav" je glagol. I druga važna stvar je da su oni Izrazi kojima vrste. Pa znate da "voli Milo" je zapravo verbalni izraz. Dakle, kad kažem "Lauren" Znam da Lauren se nešto radi. Što ona radi? Ona uživa u Milo. Dakle, to je cijela stvar. No, njegovi sastavni dijelovi imenica i glagol. Ali zajedno, oni čine glagol izraz. Dakle, što možemo zapravo učiniti s računalno jezikoslovlje? Dakle, ako imam nešto za primjer "prijatelji Allison." Vidim li ja samo nije sintaktička stablo bih znati da "Prijatelji" je imenica izraz je imenica, a zatim "od Allison" je prijedložni izraz u kojem se "za" je prijedlog i "Allison" je imenica. Što sam mogao učiniti je naučiti moje računalo da kad imam imenske jedan i onda prijedložni izraz. Dakle, u ovom slučaju, "prijatelji", a zatim "od Milo "Znam da to znači da NP2, druga, posjeduje NP1. Dakle, ja mogu stvoriti nekakav odnos, neka vrsta funkcije za to. Dakle, kad god vidim tu strukturu, koja podudara se točno s "prijateljima Allison, "Znam da je Allison posjeduje prijatelje. Pa prijatelji su nešto da Allison ima. Ima smisla? Dakle, to je u osnovi ono što Graf pretrage radi. To samo stvara pravila za puno stvari. Tako "prijatelji Allison", "Moji prijatelji koji žive u Cambridgeu "," Moji prijatelji tko ide na Harvard. "To stvara pravila za sve te stvari. Sada strojno prevođenje. Dakle, strojno prevođenje je također nešto statistički. I doista, ako se uključe u računalno jezikoslovlje, puno Vaše stvari će biti statistike. Dakle, kao što sam bio događaj primjer s puno vjerojatnosti da sam bio obračuna, a zatim ste dobili na to Vrlo mali broj da je konačna vjerojatnost, a to je ono što daje odgovor. Stroj za prijevod također koristi Statistički model. A ako želite da razmišljaju o stroju prijevod na najjednostavniji mogući način, što možete misliti samo prevesti riječ po riječ, zar ne? Kada ste učenje jezika za prvi put, to je ono što se obično što učiniti, zar ne? Ukoliko želite li prevesti rečenicu na hrvatskom jeziku, na jeziku učite, obično prvi put, što prevesti svaki od riječi pojedinačno, a potom pokušate staviti riječi na svoje mjesto. Dakle, ako sam htio prevesti ovo, [SPEAKING PORTUGALSKI] što znači "bijela mačka je pobjegao." Ako sam htjela da ga prevesti iz Portugalski na engleski, što sam mogao učiniti je, prvi put, samo sam prevesti riječ po riječ. Dakle, "o" je "," "Gata", "Mačka" "Branco", "bijeli", a zatim "fugio" je "Pobjegao." Pa onda moram sve riječi ovdje, , ali oni nisu u redu. To je kao "mačka bijela pobjegla" što je negramatički. Pa, onda ja mogu imati drugi korak, koji će biti pronalaženje idealne položaj za svaku od riječi. Dakle, ja znam da sam zapravo žele imati "Bijela mačka" umjesto "mačka bijela." Tako ono što ja mogu učiniti je, većina klasičnog algoritma će biti stvoriti sve moguće permutacije Riječi, pozicija. A onda vidjeti koje ima Najveća vjerojatnost prema mom jeziku modela. I onda kad ne mogu naći onaj koji ima najviša je vjerojatnost koja je Vjerojatno "bijela mačka pobjegla" to je moj prijevod. A to je jednostavan način objašnjavanja Kako puno strojnog prevođenja algoritmi rade. Ima li to smisla? To je također nešto što je stvarno uzbudljivo da ti dečki se možda istražiti za Završni projekt, je li? UČENIK: Pa, rekao si da je naivan način, tako što je ne-naivni način? LUCAS Freitas: ne naivan način? OK. Dakle, prva stvar koja je loše ova metoda je da sam samo preveo Riječi, riječ po riječ. Ali ponekad imate riječi koje može imati više prijevoda. Ja ću pokušati razmišljati nečega. Na primjer, "manga" u portugalskom konzervi ili biti "break" ili "grlo." Tako kada pokušavate prevesti riječ riječju, to bi moglo biti dajući vam nešto što nema smisla. Tako da zapravo žele pogledate sve mogući prijevodi riječi i vidjeti, prije svega, ono što je red. Razgovarali smo o permutating stvari? Da biste vidjeli sve moguće zapovijedi i odaberite onaj s najviše Vjerojatnost? Također možete odabrati sve je moguće prijevodi za svaki Riječ i onda vidjeti - u kombinaciji s permutacija - koji ima najveću vjerojatnost. Osim toga, također možete pogledati ne samo riječi, ali fraza. tako da možete analizirati odnose između riječi i zatim se bolji prijevod. I nešto drugo, tako da ovaj semestar Ja zapravo radi istraživanja u Kineski-Engleski strojno prevođenje, pa prevođenja s Kineski na engleski. I nešto što činimo je, osim pomoću Statistički model, što je samo gledajući vjerojatnosti gledanja neki položaj u rečenici, ja sam zapravo je također dodao neke sintaksu mom Model, kaže, oh, ako vidim ovakvu gradnje, to je ono što želim to promijeniti kada sam prevesti. Dakle, možete dodati i neku vrstu element sintakse napraviti prijevod učinkovitiji i preciznije. OK. Pa kako možeš početi, ako želite učiniti nešto u Computational lingvistika? Prvo, možete odabrati projekt koji uključuje jezika. Dakle, postoji toliko vani. Ima toliko stvari koje možete učiniti. A onda možete misliti model koje možete koristiti. Obično to znači razmišljanje pretpostavke, kao kao što je, oh, kad sam bio kao razmišljanje o stihovima. Bio sam poput, dobro, ako želim shvatiti out koji je ovo napisao, ja vjerojatno želite da pogledate riječima osoba koristi i vidjeti tko koristi tu riječ vrlo često. Na taj način pokušati napraviti pretpostavke i pokušati sjetiti modela. I onda također možete pretraživati ​​online za vrsta problema koje imate, i da će to predložiti vama modela koji možda dobro modelira tu stvar. I također uvijek možete mi e-mail. me@lfreitas.com. A ja mogu samo odgovoriti na vaša pitanja. Možemo čak mogli susresti, tako da mogu daju prijedloge o načinima provedbu vašeg projekta. I mislim ako se uključe u računalno jezikoslovlje, to se događa to bi bilo super. Ti ćeš vidjeti tamo toliko potencijala. A industrija želi zaposliti ti tako loše zbog toga. Tako Nadam se da dečki uživali to. Ako vi imate bilo kakvih pitanja, možete me pitati nakon toga. No, hvala ti.