LUCAS Freitas: Hej. Bonvenon ĉiuj. Mia nomo estas Lucas Freitas. Mi estas juna je [inaudibles] studanta komputiko kun fokuso en komputa lingvistiko. Do mia malĉefaj estas en lingvo kaj lingvan teorion. Mi vere ekscitita por instrui vin infanoj iomete pri la kampo. Ĝi estas tre ekscita spaco por studi. Ankaŭ kun multa potenciala por la estonteco. Do, mi vere ekscitita ke vi uloj estas konsideranta projektoj komputa lingvistiko. Kaj mi estos pli ol feliĉa konsili iu el vi, se vi decidas persekutu unu el tiuj. Do ĉio kio estas komputa lingvistiko? Do komputa lingvistiko estas la komunaĵo inter lingvistiko kaj komputiko. Do, kio estas la lingvistiko? Kio estas komputiko? Bone el lingvoscienco, kion ni prenos estas la lingvoj. Do lingvistiko estas fakte la studo de natura lingvo ĝenerale. Do natura lingvo - ni parolas pri lingvo, kiun ni vere uzas por komuniki kun la aliaj. Do ni ne ĝuste parolas pri C aŭ Java. Ni parolas pli pri la angla kaj La ĉina kaj aliaj lingvoj, ke ni uzi por komuniki unu kun alia. La defia afero pri kiu estas tiu ĝuste nun ni havas preskaŭ 7.000 lingvoj en la mondo. Do estas suficxe alta diversaĵo de lingvoj, kiujn ni povas studi. Kaj tiam vi opinias ke tio estas verŝajne tre malfacile fari, ekzemple, traduko de unu lingvo al la aliaj, konsiderante, ke vi havas preskaŭ 7.000 el ili. Do, se vi pensas fari tradukado el unu lingvo al alia vi havas preskaŭ pli ol miliono malsamaj kombinoj, kiujn vi povas havas de lingvo al lingvo. Do ĝi estas vere defianta fari iun speco de ekzemplon tradukejo por ĉiu unuopa lingvo. Do, lingvistiko traktas kun sintakso, semantiko, pragmata. Vi infanoj ne ekzakte bezonas scii kio ili estas. Sed la tre interesa afero estas ke kiel denaska parolanto, kiam oni lernas lingvon kiel infano, vi vere lerni ĉiuj el tiuj aferoj - sintakso semantiko kaj pragmata - per vi mem. Kaj neniu devas instrui vin sintakson por vi kompreni kiel frazoj estas strukturitaj. Do, ĝi estas vere interesa, ĉar ĝi estas io kiu venas tre intuicie. Kaj kion vi prenas el la komputiko? Nu, la plej grava aĵo kiun ni havi en komputila scienco estas unua de ĉiuj, artefarita inteligenteco kaj maŝina lerno. Do, kion ni provas fari komputa lingvistiko estas instrui vian komputilon kiel fari ion kun lingvo. Do, ekzemple, en maŝino tradukado. Mi provas instrui mian komputilon kiel scii transiron de unu lingvo al la alia. Do, esence ŝatas instrui komputilo du lingvoj. Se mi faras naturan lingvon prilaborado, kio estas la kazo ekzemple de Facebook Diagramo Serĉu, vi instruas vian komputilon kiel kompreni pridemandojn bone. Do, se vi diras "la fotojn de mia geamikoj. "Facebook ne traktas ke kiel tuto kordoj kiuj havas nur aron da vortoj. Ĝi vere komprenas la rilaton inter "fotojn" kaj "miaj amikoj" kaj komprenas, ke "fotoj" estas posedaĵo de "miaj amikoj". Do, tio estas parto de, ekzemple, natura lingvo prilaborado. Ĝi estas provo kompreni, kion estas la rilato inter la vortoj en frazo. Kaj la granda demando estas, ĉu vi instruos komputilon kiel paroli lingvon ĝenerale? Kiu estas tre interesa demando al pensas, kvazaŭ eble en la estonteco, vi tuj povos paroli kun via poŝtelefono. Speco de kiel kion ni faru kun Siri sed ion pli ŝatas, vi povas efektive diri kion ajn vi volas kaj la telefono tuj kompreni ĉion. Kaj tio povas havi sekvi supren demandoj kaj observu parolas. Tio estas io vere ekscita, en mia opinio. Do, io pri naturaj lingvoj. Iun vere interesan pri naturaj lingvoj estas tio, kaj tio estas kredito al mia lingvistika profesoro, Maria Polinsky. Ŝi donas ekzemplon kaj mi kredas ĝi estas vere interesa. Ĉar ni lernas lingvo de kiam ni naskiĝas kaj tiam nia denaska lingvo ia kreskas sur nin. Kaj esence oni lernas lingvon el minimuma enigo, ĉu ne? Vi simple ricevas enigon el via gepatroj de kio via lingvo sonas ŝati kaj vi nur lernas gxin. Do, ĝi estas interesa, ĉar se vi rigardas ĉe tiuj frazoj, ekzemple. Vi aspektas, "Maria metas sur jako ĉiu tempo ŝi forlasas la domon. " En ĉi tiu kazo, ĝi estas ebla al havi la vorton "ŝi" aludas al Maria, ĉu? Vi povas diri "Maria metas sur ŝildo ĉiufoje Maria lasas la domo. "tiel, ke estas bone. Sed tiam, se vi rigardas la frazo "Ŝi metas sur jako ĉiufoje Maria forlasas la domon. "vi scias ke estas neeble diri, ke "ŝi" estas raportante al Mary. Ne estas maniero de diri ke "Maria metas sur jako ĉiufoje Maria lasas la domo. "Do estas interesa ĉar tio estas la tipo de intuicio ke singla denaska parolanto havas. Kaj neniu instruis, ke tio estas la vojo, laux kiu la sintakso funkcias. Kaj ke vi nur povas havi tiun "ŝi" raportante al Maria en tiu unua kazo, kaj efektive en ĉi tiu alia tro, sed ne en ĉi tiu. Sed cxiu speco de gets al la sama respondo. Ĉiuj konsentas pri tio. Do ĝi estas vere interesa kiom kvankam vi ne konas ĉiujn regulojn en via lingvo vi ia kompreni kiel la lingvo funkcias. Do la interesa afero pri natura lingvo estas ke vi ne devas konas neniun sintakson por scii se frazo Estas gramatikajn aŭ ungrammatical por Plejofte. Kiun vi pensas ke eble kio okazas estas ke per via vivo, vi nur teni ricevas pli kaj pli frazoj sciigis al vi. Kaj tiam vi gardos parkerigi ĉiuj frazoj. Kaj tiam, kiam iu diras al vi io, vi auxdos, ke frazo kaj vi rigardas vian vortprovizon de frazoj kaj vidi se ke frazo estas tie. Kaj se gxi estas tie vi diras ke estas gramatika. Se ĝi ne estas vi diras ke estas ungrammatical. Do, en tiu kazo, vi dirus, ho, do vi havas grandegan liston de ĉiuj eblaj frazoj. Kaj poste, kiam vi aŭdas frazo, vi scias se ĝi estas gramatikajn aŭ ne estas bazita sur tio. La afero estas ke, se vi rigardas frazo, ekzemple: "La kvin-estrita CS50 TFS kuirita blinduloj polpo uzante daPa taso. "Estas certe ne frazon ke vi aŭdis antaŭe. Sed samtempe vi scias ke estas pretty much gramatika, ĉu ne? Ne estas gramatikajn erarojn kaj vi povas diri ke ĝi estas ebla frazo. Do ĝi igas nin pensi, ke fakte la maniero, ke ni lernas lingvo estas ne nur por havi grandegan datumbazon de eblaj vortoj aŭ frazoj, sed pli kompreni la rilaton inter vortoj en tiuj frazoj. Ĉu tio havas sencon? Do, tiam la demando estas, ĉu komputiloj lernas lingvojn? Ĉu oni povas instrui lingvon al komputiloj? Do, ni pensu pri la diferenco inter denaska parolanto de lingvo kaj komputilo. Do, kio okazas al la parolanto? Nu, la denaska parolanto lernas lingvo de la ekspozicio al ĝi. Kutime lia frua infaneco jaroj. Do, esence, vi nur havos bebon, kaj vi tenas parolis al ĝi, kaj ĝi nur lernas kiel paroli la lingvon, ĉu ne? Do, vi estas esence donante enigo al la bebo. Do, tiam vi povas argumenti ke komputilo povas fari la saman aĵon, right? Vi povas simple doni lingvon kiel eniro al la komputilo. Kiel ekzemple faskon de dosieroj kiuj havas librojn en la angla. Eble tio estas unu vojo, kiun vi eble povus instrui komputilo angla, ĉu ne? Kaj fakte, se vi opinias pri tio, ĝi prenas vin eble paron tagojn por legi libron. Ĉar komputilo prenas duan al rigardi ĉiujn vortojn en libron. Do vi povas pensi, ke eble ĝuste tiu argumento de enigo el ĉirkaŭ vi, tio ne sufiĉas por diri ke tio estas iu kiu nur la homoj povas fari. Vi povas pensi komputiloj ankaŭ povas ricevi enigo. La dua afero estas, ke la denaskaj parolantoj havas ankaŭ cerbon ke ĝi lingvolernado kapablon. Sed se vi pensas pri tio, cerba estas solida afero. Kiam vi naskiĝas, ĝi estas jam starigis - ĉi tio estas via cerbo. Kaj kiel vi kresku, vi simple akiri pli enigo de la lingvo kaj eble nutraĵoj kaj aliajn vazojn. Sed preskaux via cerbo estas solida afero. Do vi povas diri, nu, eble vi povas konstrui komputilon, kiu havas faskon da funkcioj kaj metodoj kiu simple imiti lingvolernado kapablon. Do en tiu senco, vi povus diri, bone, mi povas havi komputilon, kiu havas la tutan Tion mi bezonas por lerni lingvon. Kaj la lasta afero estas ke denaska parolanto lernas de provo kaj eraro. Do esence alia grava afero en lingvolernado estas ke vi afabla de lernu aĵojn por fari ĝeneraligoj de kion vi auxdos. Do kiel vi kreskas supren vi lernas ke kelkaj vortoj estas pli kiel substantivoj, iuj aliaj aĵoj estas adjektivoj. Kaj vi ne devas havi ajnan scio de lingvistiko por kompreni tion. Sed vi nur scias ke estas kelkaj vortoj estas lokitaj en iu parto de la frazo kaj kelkaj aliaj en aliajn partoj de la frazo. Kaj ke kiam vi faros iun kiu estas kiel frazo, kiu ne estas ĝusta - eble pro tro ĝeneraligo ekzemple. Eble kiam vi kreskis, vi rimarkos ke la plurala formo estas kutime formata per meto S ĉe la fino de la vorto. Kaj tiam vi provos fari la pluralo de "Cervo" kiel "cervoj" aŭ "denton", kiel "Tooths." Do tiam viaj gepatroj aŭ iu korektas vi kaj diras, ne, la pluralo de "cervo" estas "cervo", kaj la pluralo de "dento" estas "la dentoj". Kaj poste vi lerni tiujn aferojn. Do vi lerni de provo kaj eraro. Sed vi ankaŭ povas fari tion kun komputilo. Vi povas havi iun nomita plifortigo lernado. Kio estas esence same kiel donanta komputilo rekompenco krom se ĝi faras io korekte. Kaj donante al ĝi la malo de rekompenco kaj kiam ŝi faras ion malbonan. Vi povas fakte vidi ke se vi iros al Google Translate kaj vi provos traduki frazon, ĝi petas vin pro sugestoj. Do se vi diras, ho, tie estas pli bona traduko por tiu frazo. Vi povas tajpi ĝin supren kaj poste, se multaj popolon subteni dirante ke estas pli bone traduko, gxi simple lernas ke devus uzi tiun tradukadon anstataŭ unu estis doni. Do, ĝi estas tre filozofia demando Por vidi, cxu komputiloj tuj estos kapablas paroli aux ne en la estonteco. Sed mi havas altajn esperojn, ke ili povas nur bazitaj sur tiuj argumentoj. Sed tio estas nur pli filozofian demando. Do dum komputiloj ankoraŭ ne povas paroli, kio estas la aferoj, kiujn ni povas fari? Kelkaj vere malvarmeta aferoj estas datumoj klasifiko. Do, ekzemple, vi infanoj scias ke retpoŝto servoj fari, por Ekzemple, spamado filtrado. Do kiam ajn vi ricevas spamon, tio provas filtri al alia skatolo. Do kiel ghi faru tion? Tio ne ŝatas la komputilo nur scias kio retadresoj sendas spamon. Do ĝi estas pli bazita sur la enhavo de La mesaĝo, aŭ eble la titolo, aŭ eble iuj ŝablono kiun vi havos. Do, esence, kion vi povas fari estas akiri Multaj datumoj de retmesaĝoj kiuj estas spamado, retmesaĝoj kiuj ne estas spamado, kaj lernu, kion speco de ŝablonoj vi havas en la kiuj estas spamado. Kaj tio estas parto de komputa lingvistiko. Ĝi nomiĝas datumoj klasifiko. Kaj ni reale iras vidi Ekzemplo de tiu en la proksimaj diapozitivoj. La dua afero estas natura lingvo prilaborado kio estas la afero, ke la Diagramo Serĉu faras el lasanta vi skribas frazo. Kaj ĝi konfidas al vi kompreni, kion Estas la signifon kaj donas vi pli bonan rezulton. Efektive, se vi iros al Google aŭ Bing kaj vi serĉu iun kiel Damo Gaga alteco, vi vere iras akiri 5 '1 "anstataŭ informoj de ŝi ĉar ĝi vere komprenas kio vi parolas. Do tio estas parto de natura lingvo prilaborado. Aŭ ankaŭ kiam vi uzas Siri, unue vi havas algoritmon kiu provas traduki kion vi diras en vortojn, en teksto. Kaj tiam ĝi provas traduki ke en signifo. Do tiu estas ĉiu parto de naturaj lingvo prilaborado. Tiam vi havas maŝintraduko - kio estas fakte unu de miaj favorataj - kio estas ĝuste traduki el lingvo al alia. Do vi povas pensi, ke, kiam vi faras maŝintraduko, vi havas senfinaj ebloj de frazoj. Do estas neniu maniero de simple stokante ĉiu ununura traduko. Do vi devos veni supren kun interesaj algoritmoj por povi traduki ĉiun solan frazo iel. Vi infanoj havas demandojn ĝis nun? Neniu? OK. Do kio estas ni tuj vidos hodiaŭ? Unue, mi iras por paroli pri la klasifiko problemon. Do kiu mi estis dirante pri spamado. Kion mi faros estas, donitaj literoj al kanto, vi povas provi elkompreni kun alta probablo kiu estas la kantisto? Ni diru, ke mi havas kantoj el Sinjorino Gaga kaj Katy Perry, se mi donos al vi nova kanto, ĉu vi povas diveni, se ĝi estas Katy Perry aŭ Lady Gaga? La dua, mi simple tuj paroli pri la segmentación problemon. Do mi ne scias se vi uloj scias, sed Ĉina, japana, aliaj orient-aziaj lingvojn, kaj aliajn lingvojn ĝenerale, ne havas spacoj inter vortoj. Kaj tiam se vi pensas pri la vojo, kiun via komputilo speco de provas kompreni naturan lingvon prilaborado, ĝi aspektas ĉe la vortoj kaj provas kompreni la rilatojn inter ili, ĉu ne? Sed tiam, se vi havas la ĉina, kaj vi havi nulo spacoj, estas vere malfacile eltrovi kio estas la rilato inter vortojn, ĉar ili ne havas ajnan vortoj ĉe la komenco. Do vi devos fari ion nomatan segmentación kiu signifas nur metante spacojn inter kion ni volas voki vortoj en tiuj lingvoj. Havas sencon? Kaj poste ni iras al paroli pri sintakso. Do nur iom pri naturaj lingvo prilaborado. Ĝi tuj estos nur superrigardon. Do hodiaŭ, esence tion, kion mi volas fari estas doni al vi knaboj iomete de ene de kio estas la eblecoj ke vi povas fari kun komputa lingvistiko. Kaj tiam vi povas vidi kion vi opinias is cool inter tiuj aĵoj. Kaj eble vi povas pensi pri projekto kaj venis paroli kun mi. Kaj mi povas doni al vi konsilon pri kiel realigi ĝin. Do sintakso tuj estos iomete pri Diagramo Serĉu kaj maŝino tradukado. Mi simple tuj doni ekzemplon de kiel vi povus, ekzemple, traduki io el portugala al angla. Sonas bone? Do unue, la klasifika problemo. Mi tion diri, ke ĉi tiu parto de la seminario tuj estos la plej defia oni simple ĉar tie okazas esti iu kodigo. Sed ĝi tuj estos Pitono. Mi scias, vi uloj ne scias Pitono, do Mi simple tuj klarigi la altan ras, kion mi faras. Kaj vi ne devas vere zorgi tro multe pri la sintakso pro tio io vi uloj povas lerni. OK? Sonas bone. Do kio estas la klasifika problemo? Do vi estas donitaj iuj literoj al kanton, kaj vi volas diveni Kiu kantas ĝin. Kaj tio povas esti por iu ajn speco de aliaj problemoj. Do ĝi povas, ekzemple, vi havas prezidanta kampanjo kaj vi havos parolado, kaj vi volas trovi ĉu tio estis, ekzemple, Obama aŭ Mitt Romney. Aŭ vi povas havi faskon de retmesaĝoj kaj vi volas eltrovi, se ili estas spamon aŭ ne. Do ĝi estas nur klasifiki iun datumoj bazitaj sur la vortojn ke vi havas tie. Do fari tion, vi devos fari iujn supozojn. Do multe pri komputa lingvistiko faras supozojn, kutime inteligenta supozoj, por ke vi povas akiri bonajn rezultojn. Klopodi krei modelon por ĝi. Kaj tiam provi ĝin kaj vidi se funkcias, se gxi donas al vi bonan precizeco. Kaj se jes, tiam vi provi plibonigi ĝin. Se ĝi ne, vi estas kiel, nu bone, mi eble faradu malsama supozo. Do la supozo, ke ni tuj fari estas, ke artisto kutime kantas pri temo plurfoje, kaj eble uzas vortojn plurfoje nur ĉar ili estas uzataj por tio. Vi povas nur pensi pri via amiko. Mi certas ke vi uloj ĉiuj havas amikojn kiuj diras sian subskribon frazo, laŭvorte por ĉiu sola frazo - kvazaŭ iu specifa vorto aŭ iu specifa frazo kiun ili diros al ĉiu unuopa frazo. Kaj kion vi povas diri estas, ke se vi vidos frazo kiu havas subskribon frazo, vi povas diveni ke probable via amiko estas la oni ĝin dirante, ĉu ne? Do vi faras tiun supozon kaj poste tiel estas kiel vi krei modelon. La ekzemplo, kiun mi tuj donos estas ĉe kiel Lady Gaga, ekzemple, la homoj diri, ke ŝi uzas "baby" ĉar sxia tuta numero unu kantoj. Kaj efektive tio estas video kiu shows sxin dirante la vorton "bebo" por malsamaj kantoj. [VIDEO reprodukto] - (Kantante) Bebo. Bebo. Bebo. Bebo. Bebo. Infaneto. Bebo. Bebo. Bebo. Bebo. [FINO VIDEO reprodukto- LUCAS Freitas: Tiel estas, mi kredas, 40 kantoj tie, en kiuj ŝi diras la vorton "bebo." Do vi povas esence diveni ke se vi vidas kanto kiu havas la vorton "bebo", ekzistas kelkaj altaj probablo ke ghi estas Sinjorino Gaga. Sed ni provu evoluigi ĉi plui pli formale. Do jen estas litero de kantoj de Lady Gaga kaj Katy Perry. Do vi rigardas al Sinjorino Gaga, vi vidas ili havas multe da aperoj de "bebo", a multajn spritaĵojn de "vojo". Kaj poste Katy Perry havas multajn spritaĵojn de "La", multajn spritaĵojn de "fajro". Do esence kion ni volas fari estas, vi ricevas lirikaj. Ni diru, ke vi ricevas lirikaj por kanto ke estas "bebo", nur "bebo." Se vi ĵus ricevas la vorton "bebo", kaj tio estas ĉiuj la datumoj kiujn vi havas de Lady Gaga kaj Katy Perry, kiu farus vi diveni estas la persono kiuj kantas la kanton? Lady Gaga aŭ Katy Perry? Lady Gaga, ĉu ne? Ĉar ŝi estas la sola kiu diras "Bebo." Ĉi sonas stulta, ĉu ne? OK, tiu estas vere facila. Mi ĵus rigardis la du kantojn kaj de Kompreneble, ŝi estas la sola kiu havas "Bebo." Sed kion se vi havas faskon da vortoj? Se vi havas la veran lirikaj, iu kiel, "bebo, mi simple iris al vidas [? CFT?] lekcio ", aŭ ion similan, kaj tiam vi vere devas eltrovi - bazita sur cxiujn tiujn vortojn - kiu estas la artisto kiu probable kantis cxi tiun kanton? Do ni provu evoluigi tio iom pli. OK, tiom bazita ĝuste sur la datumoj kiujn ni ricevis, ŝajnas ke Gaga estas probable la kantistino. Sed kiel ni povas skribi tiu pli formale? Kaj tuj estos iom iom da statistiko. Do se vi perdiĝas, nur provu por kompreni la koncepton. Ne gravas, se vi komprenas la ekvacioj perfekte. Tio estas cxiuj tuj estos en linio. Do esence kion mi kalkulanta estas la probablo ke tiu kanto estas per Sinjorino Gaga donita, ke - tial tiu trinkejo signifas donita, ke - Mi vidis la vorton "bebo." Ĉu tio havas sencon? Do mi provas kalkuli ke probablo. Do tie estas jena teoremo nomata Bayes teoremo kiu diras, ke la probablo de A donita B, estas la probablo de B donita A, tempoj la probablo de A, super la probablo de B. Ĉi tio estas longa ekvacio. Sed kion vi devas kompreni el tio estas, ke ĉi tiu estas kion mi volas kalkuli, ĉu ne? Do la probablo, ke tiu kanto estas per Sinjorino Gaga donita, ke mi vidis la vorton "Bebo." Kaj nun kion mi ricevas estas la probablo de la vorto "bebo" donita ke mi havas Lady Gaga. Kaj kio estas, ke esence? Kion tio signifas estas, kio estas la probablo de vidanta la vorton "bebo" en Gaga literojn? Se mi volas kalkuli ke en tre simpla maniero, ĝi estas nur la nombro de fojoj mi vidas "bebo" super la tuta nombro de vortoj en Gaga literoj, ĉu ne? Kio estas la ofteco kiujn mi vidas Tiun vorton en Gaga laboro? Havas sencon? La dua termino estas la probablo de Gaga. Kion tio signifas? Kiu esence signifas, kio estas la probablo klasifikado iuj literoj kiel Gaga? Kaj tio estas iomete bizara, sed ni pensu pri ekzemplo. Do diru ke la probablo de havante "bebo" en tiu kanto estas la sama por Gaga kaj Britney Spears. Sed Britney Spears havas dufoje pli kantojn ol Sinjorino Gaga. Do se iu nur hazardo donas al vi literoj de "bebo", la unua afero kiun vi rigardi estas, kio estas la probablo de havante "bebo" en Gaga kanto, "bebo" en Britney kanto? Kaj ĝi estas la sama afero. Do la dua afero, kiun vi vidos estas, bone, kio estas la probablo de ĉi lirikaj per sin esti Gaga lirikaj, kaj kio estas la probablo de esti Britney lirika? Do ekde Britney havas tiom da pli literoj ol Gaga, vi verŝajne diru, bone, tio estas probable Britney lirikaj. Do jen kial ni havas ĉi terminon ĝuste ĉi tie. Probablo de Gaga. Havas sencon? Ĉu ĝi? OK. Kaj la lasta estas nur la probablo de "bebo", kiu ne vere materio kiu multe. Sed estas la probablo de vidante "bebo" en la angla. Ni kutime ne gravas ke multe pri tiu termino. Ĉu tio havas sencon? Do la probablo de Gaga estas vokis la antaŭaj probabloj de la klaso Gaga. Pro tio nur signifas, ke, kio estas la probablo de havi tiun klason - kio estas Gaga - nur ĝenerale, nur sen kondiĉoj. Kaj poste, kiam mi havas probablon de Gaga donita "bebo", ni nomas ĝin pli teary probablodistribuo ĉar ĝi estas la probablo de estante Gaga donitaj iuj pruvoj. Do mi donas al vi la evidenteco ke mi vidis la vorton bebo kaj La kanto havas sencon? OK. Do se mi kalkulas, ke por ĉiu de la kantoj por Lady Gaga, kion tio estus - Ŝajne, mi ne povas movi ĉi. La probablo de Gaga estos io kiel, 2 pli ol 24 fojojn 1/2, super 2 pli ol 53. Ne gravas, se vi scias kion tiuj nombroj estas venanta el. Sed tio estas nur numero kiu tuj esti pli ol 0, ĉu ne? Kaj poste, kiam mi faras Katy Perry, la probablo de "bebo" donita Katy estas Jam 0, ĉu ne? Ĉar ekzistas ne "bebo" en Katy Perry. Tial do tio igas 0, kaj Gaga venkoj, kio signifas ke Gaga estas probable la kantistino. Ĉu tio havas sencon? OK. Do se mi volas fari tion pli oficiala, Mi povas efektive fari modelon por multnombraj vortoj. Do diru ke mi havas ion kiel, "bebo, mi estas sur fajro, "aŭ io. Do ĝi havas plurajn vortojn. Kaj en ĉi tiu kazo, vi povas vidi ke la "bebo" estas en Gaga, sed ĝi ne estas en Katy. Kaj "fajro" estas en Katy, sed ĝi ne estas en Gaga, ĉu ne? Do ĝi Fariĝas trickier, ĉu ne? Ĉar ŝajnas ke vi preskaŭ havas egalecon inter la du. Do, kion vi devas fari estas supozi independency inter la vortoj. Do esence kion tio signifas, ke Mi simple kalkuli, kia estas la probablo de vidante "bebo", kio estas la probablo de vidante "Mi," kaj "Estas", kaj "je" kaj "fajro", ĉiuj aparte. Tiam mi multiplikante ĉiuj el ili. Kaj mi vidas, kio estas la probablo vidi la tutan frazon. Havas sencon? Do esence, se mi havas nur unu vorton: kion mi volas trovi estas la arg maks, kio signifas, kio estas la klaso, kiu estas donante al mi la plej alta probablo? Do kio estas la klaso, kiu donas mi la plej alta probablo por probablo de klaso donita vorto. Do, en tiu kazo, Gaga donita "bebo." Aŭ Katy donita "bebo." Havas sencon? Kaj ĝuste de Bayes, ke ekvacio kiun mi montris, ni kreu ĉi frakcio. La sola afero, kiun vi vidas, ke la probablo de vorto donita la klaso ŝanĝoj depende en la klaso, ĉu ne? La nombro de "bebo" s, ke mi devas en Gaga estas malsama de Katy. La probablo de la klaso ankaŭ ŝanĝoj, ĉar ĝi estas nur la nombro de kantoj ĉiu el ili havas. Sed la probableco de la vorto mem tuj estos la sama por ĉiuj artistoj, right? Do la probablo de la vorto estas justa, kio estas la probablo de vidante, ke vorto en la Angla lingvo? Do ĝi estas la sama por ĉiuj el ili. Do ekde ĉi estas konstanto, ni povas nur Versxigxos ĉi kaj ne zorgas pri ĝi. Do tiu estos efektive la ekvacio, ni serĉas. Kaj se mi havas plurajn vortojn, mi estas ankoraŭ tuj havi la antaŭan probablo tie. La nura afero estas ke mi multiplikante la probablo de ĉiuj aliaj vortoj. Do mi multiplikante ĉiuj el ili. Havas sencon? Ĝi aspektas stranga sed esence signifas, Kalkuli la antaŭan de la klaso, kaj tiam multiplikas per la probablo de ĉiu de la vortoj estas en tiu klaso. Kaj vi scias ke la probablo de vorto donita klaso tuj estos la nombro da fojoj vi vidas, ke vorto en tiu klaso, dividita per la nombro de vortoj havas en tiu klaso ĝenerale. Havas sencon? Ĝi estas simple kiel "bebo" estis 2 pli la nombro da vortoj kiujn Mi havis en la literoj. Do nur la frekvencon. Sed estas unu afero. Memoru, kiel mi montris, ke la probablo de "bebo" esti literoj de Katy Perry estis 0 nur ĉar Katy Perry ne havas "bebo" ĉe ĉiu? Sed sonas iom severa justaj simple diri ke la literoj ne povas esti el artisto simple ĉar ili ne havas Tiun vorton en aparta en ajna momento. Do vi povus nur diri, bone, se vi ne havas tiun vorton, mi tuj doni al vi pli malalta probablo, sed mi simple ne tuj doni al vi 0 tuj. Ĉar eble estis io kiel, "Fajro, fajro, fajro, fajro," kiu estas tute Katy Perry. Kaj tiam "bebo", kaj ĝi nur iras al 0 tuj ĉar tie estis unu "Bebo." Do esence kion ni faras estas io vokis Laplaca suavización. Kaj tio nur signifas, ke mi donas iu probablo eĉ la vortojn ke ne ekzistas. Do kion mi faras estas ke kiam mi estas kalkulanta tion, mi ĉiam aldonas 1 al la numeratoro. Do eĉ se la vorto ne ekzistas, en ĉi tiu kazo, se tiu estas 0, mi estas ankoraŭ kalkuli tion kiel 1 pli ol la tuteca nombro de vortoj. Alie, mi alvenas kiom da vortoj Mi havas kaj mi aldonas 1. Do mi rakontante por ambaŭ kazoj. Havas sencon? Do nun ni fari kelkajn kodigon. Mi tuj devos fari ĝin sufiĉe rapide, sed ĝi estas nur gravas, ke vi knaboj komprenas la konceptojn. Do, kion ni provas fari Estas ĝuste apliki ĉi afero, kiun mi ĵus diris - Mi volas vin meti literojn el Lady Gaga kaj Katy Perry. Kaj la programo tuj povos diri cxu tiuj novaj literoj estas de Gaga aŭ Katy Perry. Havas sencon? OK. Do mi havas tiun programon mi iros voki classify.py. Do tiu estas Pitono. Ĝi estas nova programlingvo. Ĝi estas tre simila en iu vojojn al C kaj PHP. Ĝi estas simila, ĉar se vi volas lernu Pitono ekkoninte C, ĝi estas vere ne multo de defio nur ĉar Python estas multe pli facile ol C, antaux cxio. Kaj multe da aferoj estas jam implementado por vi. Do, kiom kiel PHP havas funkciojn ke ordigi liston, aŭ append ion al tabelo, aŭ bla, bla, bla. Python havas ĉiujn el tiuj tiel. Do mi simple tuj klarigos rapide kiel ni povus fari la klasifiko problemo por tie. Do diru ke en tiu kazo, mi devas literojn de Gaga kaj Katy Perry. La vojo, kiun mi havas tiujn literojn estas ke la unua vorto de la literoj estas la nomo de la artisto, kaj la resto estas la literoj. Do diru ke mi havas ĉi listo en kiuj la unua estas litero de Gaga. Do ĉi tie mi estas sur la ĝusta vojo. Kaj la sekvantan estas Katy, kaj ĝi havas ankaŭ la literojn. Do jen kiel vi rakontu variablo en Pitono. Vi ne devas doni la datumtipo. Vi nur skribi "literoj" speco de like en PHP. Havas sencon? Do kio estas la aferoj, kiujn mi devas kalkuli por povi kalkuli la probabloj? Mi devas kalkuli la "priores" de ĉiu el la diversaj klasoj kiuj mi havas. Mi devas kalkuli la "posteriors" aux preskaux la probablojn de ĉiu el la diversaj vortoj kiuj Mi povas havi por ĉiu artisto. Do ene Gaga, ekzemple, Mi iras havi liston de kiom da fojoj mi vidas cxiu el la vortoj. Havas sencon? Kaj fine, mi simple tuj havos listo nomata "vortoj" kiuj estas simple irante havi kiom da vortoj mi havas por ĉiu artisto. Do por Gaga, ekzemple, kiam mi rigardas al la literoj, mi havis, mi pensas, 24 vortoj entute. Do tiu listo estas ĝuste tuj havi Gaga 24, kaj Katy alian numeron. Havas sencon? OK. Do nun, fakte, ni iru al la kodigo. Do en Python, vi povas efektive redonas amaseton da malsamaj aferojn de funkcio. Do mi iros por krei ĉi tiun funkcion nomata "kondicionalo", kiu tuj reveni ĉiu el tiuj aferoj, la "Priores", la "probablo" kaj la "Vortojn." Do "kondicionalo," kaj ĝi estas tuj estos nomante en "literoj." Do nun mi volas ke vi efektive skribi al ĉi tiu funkcio. Do la vojo, kiun mi povas skribi ĉi Funkcio estas mi nur difinis ĉi funkcii kun "def". Do mi faris "def kondicionalo, "kaj ĝin preni "Literoj." Kaj kion tio tuj fari Estas, unue, mi havas mian priores ke mi volas kalkuli. Do la vojo, kiun mi povas fari ĉi tion estas krei vortaro en Python, kio estas preskaux la samo kiel hash tablo, aŭ ĝi estas kiel ripeta tabelo en PHP. Jen kiel mi deklaras vortaron. Kaj esence kion tio signifas, ke priores de Gaga estas 0.5, por ekzemplo, se 50% de la literoj estas de Gaga, 50% estas de Katy. Havas sencon? Do mi devos eltrovi kiel kalkuli la priores. La proksimaj ke mi devas fari, ankaŭ, estas la probabloj kaj la vortojn. Do la probablojn de Gaga estas la listo de ĉiuj probabloj, ke mi havas por cxiu el la vortoj por Gaga. Do, se mi iras al probabloj de Gaga "Bebo", ekzemple, gxin donos al mi iu kiel 2 pli ol la 24 en tiu kazo. Havas sencon? Do mi iros al "probabloj," iru al la "Gaga" sitelo kiu havas liston de ĉiuj la Gaga vortojn, tiam mi iros al "bebo", kaj mi vidas la probablo. Kaj fine mi havas ĉi "Vortoj" vortaro. Do jen, "probabloj." Kaj poste "Vortojn." Do, se mi faras "vortoj", "Gaga," kio okazos estas ke ĝi estas tuj donu al mi 24, dirante, ke mi havi 24 vortojn ene literojn el Gaga. Havas sencon? Do jen, "vortoj" egalas dah-dah-dah. OK Do kion mi tuj faros estas Mi tuj persisti super ĉiu de la literoj, tiel ĉiu de la kordoj, ke Mi havas en la listo. Kaj mi iros por kalkuli tiujn aferojn por ĉiu el la kandidatoj. Havas sencon? Do mi devas fari por buklo. Do en Python, kion mi povas fari estas "por linio en literoj. "La sama afero kiel "Por ĉiu" deklaron en PHP. Memoru, kiel se ĝi estis PHP mi povis diru "por ĉiu litero, kiel linio. "Makes senco? Do mi prenas unu el la linioj, en tiu kazo, tiu ŝnuro kaj la sekvantan ŝnuro tiel por ĉiu el la linioj, kio mi estas tuj fari estas unue, mi tuj fendi jenan linion en listo de vortoj apartigita per spacoj. Do la malvarmeta afero pri Pitono estas ke vi povus simple Google kiel "Kiel mi povos fendi ĉenon en vortojn? "Kaj ĝi estas tuj rakontos al vi kiel fari ĝin. Kaj la maniero por fari ĝin, ĝi estas nur "linio = Line.split () ", kaj ĝi estas esence tuj donos al vi liston kun la cxiu el la vortoj ĉi tie. Havas sencon? Do nun, ke mi faris por ke mi volas scii kiu estas la kantisto de tiu kanto. Kaj fari tion mi nur devos akiri unua ero de la tabelo, right? Do mi povas nur diri ke mi "kantisto = Linio (0) "Makes senco? Kaj tiam tion, kion mi devas fari estas, antaŭ ĉiuj, Mi tuj ĝisdatigi kiom vortoj Mi havas sub "Gaga." tial mi estas nur tuj kalkuli kiom da vortoj mi havas en tiu listo, right? Ĉar ĉi tiu estas kiom da vortoj mi devas en la literojn kaj mi simple tuj aldonu ĝin al la "Gaga" tabelo. Ĉu tio havas sencon? Ne enfokusigi tro multe pri la sintakso. Pensu pli pri la konceptoj. Tio estas la plej grava parto. OK. Do kion mi povas fari estas, se "Gaga" estas Jam en tiu listo, tiel ", se kantisto en vortoj "kio signifas ke mi jam havas vortojn de Gaga. Mi nur volas aldoni la aldona vortojn por tio. Do kion mi faras estas "vortoj (kantistino) + = Len (linio) - 1 ". Kaj tiam mi povas nur fari la lauxlonge de la linio. Do kiom da elementoj mi havas en la tabelo. Kaj mi devas fari minus 1 simple ĉar la unua elemento de la tabelo estas nur kantistino kaj tiuj ne estas literoj. Havas sencon? OK. "Alie" signifas ke mi volas reale enŝovu Gaga en la listo. Do mi simple faras "vortojn (kantistino) = Len (linio) - 1, "sorry. Do la sola diferenco inter la du linioj estas ke ĉi tiu, ĝi ne ekzistas tamen, tial mi estas nur inicializar ĝin. Ĉi unu mi fakte aldono. OK. Do tio estis aldono al vortoj. Nun mi volas aldoni al la priores. Do kiel mi kalkulas la priores? La priores povas esti kalkulita per kiom da fojoj. Do, kiom da fojoj vi vidas, ke kantisto inter ĉiu de la kantistoj, ke vi havi, ĉu ne? Do por Gaga kaj Katy Perry, en tiu kazo, mi vidas Gaga unufoje, Katy Perry unufoje. Do esence la priores por Gaga kaj por Katy Perry farus nur unu, ĉu ne? Vi nur, kiom da fojoj Mi vidas la artisto. Do tio estas tre facila al kalkuli. Mi povas apenaŭ ion similan funkcion kiel "se kantisto en priores, "mi simple irante aldoni 1 al iliaj priores skatolo. Do, "priores (kanti)" + = 1 "kaj poste" pli " Mi iras al fari "priores (kantistino) = 1. "Makes senco? Do, se ĝi ne ekzistas mi ĵus metis kiel 1, alie mi simple aldoni 1. OK, do nun ĉion, kion mi lasis fari Estas ankaŭ aldoni ĉiu el la vortoj al la probabloj. Do mi devos kalkuli kiom da fojoj Mi revidos unu el la vortoj. Do mi simple devos fari alian por buklo en la linio. Do unua afero, kiun mi tuj fari estas kontroli, ĉu la kantistino jam havas probabloj tabelo. Do mi kontrolanta se la kantisto ne havi probabloj tabelo, mi estas nur tuj pravalorizi unu por ili. Ĝi ne estas eĉ tabelo, sorry, ĝi estas vortaro. Do la probablojn de kantistino tuj esti malfermita vortaron, do mi estas nur inicializar vortaron por ĝi. OK? Kaj nun mi povas efektive fari por buklo kalkuli cxiu el la vortoj ' probabloj. OK. Do kion mi povas fari estas por buklo. Do mi simple tuj persisti super la tabelo. Do la vojo, kiun mi povas fari tion en Python Estas "por i en rango." De 1 ĉar mi volas komenci en la dua elemento, ĉar la unua estas la kantistino nomo. Do el unu ĝis la lauxlonge de la linio. Kaj kiam mi iras gxi efektive iru el kiel tie de 1 ĝis len de la linio minus 1. Do ĝi jam faras tion fari n minus 1 por arrays kiu estas tre oportuna. Havas sencon? Do por ĉiu el tiuj, kion Mi tuj fari estas, ĝuste kiel en la aliaj unu, Mi iras al kontroli, ĉu la vorto en tiu pozicio en la linio estas jam en probabloj. Kaj tiam mi diris tie ĉi, probabloj vortoj, kiel en mi metis "Probabloj (kantistino)". Do la nomo de la kantisto. Do, se ĝi estas jam en "Probabilit (kantistino)", tio signifas, ke mi volas aldoni 1 al ĝi, do mi tuj do "probabloj (kantistino)", kaj la vorto nomas "linia (i)". Mi tuj aldonos 1 kaj "pli" Mi estas nur tuj pravalorizi ĝin al 1. "Linio (i)". Havas sencon? Do, mi kalkulis ĉiujn arrays. Do, nun ĉio, kion mi devas fari por ĉi tiu estas nur "reveni priores, probabloj kaj vortoj. "Atendu rigardu, cxu tie estas iu, OK. Ŝajnas ĉio laboras ĝis nun. Do, tio sencas? Iel? OK. Do nun mi havas cxiujn probabloj. Do nun la sola afero, kiun mi forlasis estas nur por havi tiun aferon, ke kalkulas la produto de ĉiuj probabloj kiam mi ricevas la literon. Do diru ke mi volas nun nomas tiun funkcion "klasifiki ()", kaj la afero, kiun funkcion prenas estas nur argumento. Diru "Baby, I am on Fire" kaj ĝi estas tuj diveni kio estas la probablo ke tiu estas Gaga? Kio estas la probablo ke tio estas Katie? Sonas bone? Do mi simple tuj devas krei nova funkcio nomita "klasifiki ()", kaj ĝi tuj preni iun literon tiel. Kaj krom la literoj mi ankaŭ devas sendi la priores, la probabloj kaj la vortojn. Do mi tuj sendos literoj, priores, probabloj, vortoj. Do tiu prenas literon, priores, probabloj, vortoj. Do, kion signifas tio fari? Ĝi esence tuj iros tra ĉiuj La eblaj kandidatoj, kiujn vi havi kiel kantisto. Kaj kie estas tiuj kandidatoj? Ili estas en la priores, right? Do mi havas cxiujn el tiuj ekzistas. Do mi tuj havos vortaro de ĉiuj eblaj kandidatoj. Kaj tiam por ĉiu kandidato en la priores, do tio signifas ke ĝi estas tuj esti Gaga, Katie se mi havis plu estus pli. Mi iras al komencu kalkuli tiu probablo. La probablo, kiel ni vidis en la PowerPoint estas la antaŭan fojojn la produkto de ĉiu el la aliaj probabloj. Do mi povas fari la saman ĉi tie. Mi povas nur fari probablo estas komence nur la antaŭan. Do priores de la kandidato. Ĝuste? Kaj nun mi devas persisti super ĉiuj vortoj kiujn mi havas en la literoj estos povos aldoni la probablo por ĉiu el ili, OK? Do, "ĉar vorto en literoj" kion mi iros fari estas, se la vorto estas en "Probabloj (kandidato)", kiu signifas ke ĝi estas vorto, kiun la kandidato havas en siaj literoj - ekzemple, "bebo" por Gaga - kion mi tuj faros estas, ke la probablo tuj pligrandigxu per 1 plus la probablojn de la kandidato por tiu vorto. Kaj ĝi nomiĝas "vorto". Ĉi dividita per la nombro de vortoj ke mi havas por tiu kandidato. La tuta nombro de vortoj kiujn mi ne havas cxar la kantistino, ke mi rigardas. "Else." tio signifas ke ĝi estas nova vorto tial ĝi estus kiel ekzemple "Fajro" por Lady Gaga. Do mi simple volas fari 1 pli "Vorto (kandidato)". Do mi ne volas meti tiun terminon tie. Do ĝi tuj estos esence transskribado kaj alglui ĉi. Sed mi tuj forigi tiun parton. Do ĝi estas ĝuste tuj estos 1 pli ol tio. Sonas bone? Kaj nun, je la fino, mi simple tuj presi la nomon de la kandidato kaj la probablo, ke vi havas de havanta la S en siaj tekstoj. Havas sencon? Kaj mi vere ne eĉ bezonas tiun vortaron. Havas sencon? Do, ni vidu, se tio vere funkcias. Do se mi kuros ĉi tion, ĝi ne funkcias. Atendi unu sekundo. "Vortoj (kandidato)", "vortoj (kandidato)", tio estas la nomo de la tabelo. OK Do, ĝi diras, ke estas kelkaj korektoj por kandidato en priores. Lasu min nur chill iomete. OK. Ni provu. OK. Do ĝi donas Katy Perry havas ĉi probablo de ĉi fojojn 10 al la minus 7, kaj Gaga havas ĉi fojojn 10 al la minus 6. Do vi vidas en gxi montras ke Gaga havas pli alta probablo. Do "Baby, mi estas on Fire" estas probable Gaga kanto. Havas sencon? Do ĉi tiu estas kion ni faris. Tiu kodo estas tuj estos eldonitaj en linio, tiel vi uloj povas kontroli ĝin. Eble uzu iom da ĝi por se vi volas fari projekton aŭ io simila. OK. Tio estis nur por montri kio komputa lingvistiko kodo aspektas. Sed nun ni iru al pli alta nivelo vazaro. OK. Do la aliaj problemoj Mi parolis pri - la segmentación problemo estas la unua el ili. Do vi havas ĉi tie la japana. Kaj tiam vi vidos, ke ne ekzistas spacoj. Do tiu estas esence signifas ke ĝi estas la supro de la seĝo, right? Vi parolas japane? Ĝi estas la supron de la seĝo, ĉu ne? Lernanto: Mi ne scias kion la kanji tie estas. LUCAS Freitas: Ĝi estas [parolante japana] OK. Do ĝi esence signifas seĝo de supro. Do se vi devis meti spaco estus tie. Kaj tiam vi havos [? Ueda-san. ?] Kiu esence signifas ro Ueda. Kaj vi vidas, ke "Ueda" kaj vi havos spaco kaj tiam "sankta". Do vi vidas, ke tie vi "ue" estas kiel por si mem. Kaj jen ĝi havas karakteron apud tio. Do gxi ne estas kvazaý en tiuj lingvoj karakteroj signifante vorton tiel vi nur metis multajn spacojn. Signoj rilati al ĉiu alia. Kaj ili povas esti kune kiel du, tri, tiu. Do vi fakte devas krei ian de maniero meti tiujn spacojn. Kaj tiu afero estas ke kiam vi ricevas datumojn de tiuj aziaj lingvoj, ĉiu venas unsegmented. Ĉar neniu, kiu skribas la japana aŭ ĉinoj skribas per spacoj. Kiam ajn vi skribas ĉina, Japana vi simple skribos ĉio sen spacoj. Ĝi eĉ ne havas sencon meti spacojn. Do tiam, kiam vi ricevas datumojn de, iuj Orienta azia lingvo, se vi volas efektive fari ion kun tiu vi devas segmento unue. Pensu pri fari la ekzemplo de la literojn sen spacoj. Do la sola litero ke vi havas Estos frazoj, ĉu ne? Apartigita per periodoj. Sed tiam havanta nur la frazo volo ne vere helpas je donante informojn el kiuj tiuj literoj estas de. Ĝuste? Do vi devus metas spacojn unue. Do kiel vi povas fari tion? Do tiam venas la ideo de lingvo modelon kiu estas io vere grava por komputa lingvistiko. Do lingvon modelo estas esence tablo de probabloj ke shows antaŭ ĉio, kio estas la probablo havi la vorton en lingvo? Do montrante kiom ofta vorto estas. Kaj tiam ankaŭ montras la rilaton inter la vortoj en frazo. Do la ĉefa ideo estas, se fremdulo venis al vi kaj diris frazo por vi, kio estas la probablo ke, pro Ekzemple, "ĉi tiu estas mia fratino [? GTF"?] Estis la frazo ke la persono diris? Do evidente iuj frazoj estas pli komuna ol aliaj. Ekzemple, "bonan matenon", aŭ "bonaj nokto "aŭ" hey tie, "estas multe pli komuna ol plej frazoj ke ni havas la anglan. Do kial estas tiuj frazoj pli ofta? Unue, ĝi estas ĉar vi havas vortoj, kiuj estas pli ofta. Do, ekzemple, se vi diras, la hundo estas granda, kaj la hundo estas giganta, vi kutime probable aŭdi la hundo estas granda pli ofte pro "granda" estas pli oftaj en Esperanto ol "gigantaj". Do, unu el la tio estas la vorto de ofteco. La dua afero kiu estas vere grava estas gxuste la ordo de la vortoj. Do, ĝi estas komuna al diri "la kato estas interne de la skatolo. "sed vi ne kutimas vidi en "La skatolo ene estas la kato." tiom vi vidas, ke tie estas iuj graveco en la ordo de la vortoj. Vi ne povas simple diri ke tiuj du frazoj havas la sama probablo nur ĉar ili havas la samajn vortojn. Vi vere devas zorgi pri ordo kiel bone. Havas sencon? Do kion ni faru? Do, kion mi povus provi atingi vin? Mi provas akiri al vi, kion ni vokas la n-gramo modeloj. Do la n-gramo modeloj baze supozi kiu por ĉiu vorto, kiu vi havas en frazo. Ĝi estas la probablo de havi tiun vorto tie dependas ne nur de la ofteco de tiu vorto en la lingvo, sed ankaŭ en la vortoj, ke ili ĉirkaŭas ĝin. Do ekzemple, kutime, kiam vi vidos iu kiel sur aŭ ĉe vi estas probable tuj vidas substantivo post ĝin, ĉu ne? Ĉar, kiam vi havas prepozicion kutime prenas substantivon post tio. Aŭ se vi havas verbon, kiu estas transitiva vi kutime tuj havas substantiva frazparto. Do ĝi tuj devos substantiva ie ĉirkaŭ ĝi. Do, esence, kio faras estas ke gxi konsideras la probablo de estante vortoj apud la alia, kiam vi kalkuli la probablo de frazo. Kaj tio estas kia lingvo modelo estas esence. Nur por diri kio estas la probablo havi specifan frazo en lingvo? Do kial estas tiom utila, esence? Kaj antaŭ ĉio, kio estas n-gramo modelo, do? Do n-gramo modelo signifas ke ĉiu vorto dependas de la sekvanta N minus 1 vortoj. Do, esence, tio signifas, ke se mi rigardas, ekzemple, ĉe la CS50 TF kiam Mi kalkulas la probablecon de la frazo, vi estos kiel "la probablo de estante la vorto "la" tempoj la probablo de estante "la CS50 "tempoj la probablo de estante "La CS50 TF." Do, esence, mi rigardas ĉiuj eblaj vojoj de streĉanta ĝin. Kaj tiam kutime kiam vi faras tion, kiel en projekto, vi metis N por esti malaltan valoron. Do, ĝenerale havas bigrams aŭ trigrams. Por ke vi simple kalkuli du vortoj, grupo de du vortoj, aŭ tri vortoj, nur por lego temoj. Kaj ankaŭ ĉar eble se vi havas iu kiel "La CS50 TF." Kiam vi havi "TF," ĝi estas tre grava ke "CS50" estas pli proksima al ĝi, ĉu ne? Tiuj du aferoj estas kutime apud la alia. Se vi pensas pri "TF," gxi estas probable tuj havas, kion klaso ĝi estas TF'ing por. Ankaŭ "la" estas vere grava por CS50 TF. Sed se vi havas ion kiel "La CS50 TF iris al klaso, kaj donis siajn studentoj kelkaj dolĉaĵoj. "" Frandaĵo "kaj" la " havas nenian rilaton vere, ĉu ne? Ili estas tiel malproksimaj unu de alia, kiun ĝi ne vere gravas kion vortoj vi havas. Do per faras bigram aux trigram, ĝi nur signifas, ke vi estas limiganta vin al iuj vortoj ke estas ĉirkaŭ. Havas sencon? Do, kiam vi volas fari segmentación, esence, kion vi volas fari estas vidi kio estas ĉiuj eblaj manieroj kiuj vi povas segmenti la frazo. Tia, ke vi vidis, kio estas la probablo de ĉiu el tiuj frazoj ekzistantaj en la lingvo? Do, kion vi faras estas kiel, nu, ni Mi provos meti spacon ĉi tie. Do vi metu spacon tie kaj vi vidos, kia estas la probablo de tiu frazo? Do vi estas kiel, nu bone, eble kiu ne estis tio bona. Do mi metis spacon tie kaj spaco tie, kaj vi kalkuli la probablo nun, kaj vi vidos ke ĝi estas pli alta probablo. Do tiu estas algoritmo nomata TANGO segmentación algoritmo, kiu estas efektive io kiu estus vere cool por projekto, kiun baze prenas unsegmented teksto kiun povas esti japano aŭ ĉino aŭ eble Angla sen spacoj kaj klopodas meti spacoj inter vortoj kaj ĝi faras ke per uzado de lingvo modelo kaj klopodi por vidi kio estas la plej alta probablo vi povas akiri. OK. Do tiu estas segmentación. Nun sintakso. Do, sintakso estas uzata por tiom multajn aferojn ĝuste nun. Do por Diagramo Search, por Siri por preskaux iu ajn speco de natura lingvo prilaborado vi havas. Do kio estas la grava aferojn pri sintakso? Do, frazoj ĝenerale havas kion ni nomas voĉdonantoj. Kio estas speco de kiel grupoj de vortoj ke havi funkcion en la frazo. Kaj oni ne povas vere esti aparte de ĉiu alia. Do, se mi diros, ekzemple, "Lauren amas Milo. "Mi scias ke" Lauren "estas konsistaj kaj tiam "amoj Milo "estas ankaŭ alia. Ĉar oni ne povas diri kiel "Lauren Milo loves "havi la saman signifon. Oni ne tuj havos la saman signifon. Aŭ mi ne povas diri kiel "Milo Lauren amas. "Ne ĉiu havas la saman signifanta fari tion. Do la du pli gravaj aferoj pri sintakso estas la leksika tipoj kiu estas esence la funkcio kiun vi havas por vortoj per si mem. Do vi devas scii ke "Lauren" kaj "Milo" estas substantivoj. "Amo" estas verbo. Kaj la dua grava afero estas ke ili estas phrasal tipoj. Do vi scias, ke "amas Milo" estas fakte parola frazo. Do kiam mi diras "Lauren," mi scias, ke Lauren estas faranta ion. Kio ŝi faras? Ŝi ama Milo. Do ĝi estas tuta afero. Sed lia komponantoj estas substantivo kaj verbo. Sed kune, ili faru verbon frazon. Do, kion ni povas efektive fari kun komputa lingvistiko? Do, se mi havas ion por ekzemplo "Amikoj de Allison." Mi vidas, se mi ĝuste cxu sintaksa arbo mi scius ke "Amikoj" estas substantivo frazon estas substantivo kaj tiam "de Allison" estas prepozicia frazo en kiu "el" estas propozicio kaj "Allison" estas substantivo. Kion mi povus fari estas instrui mia komputilo ke kiam mi havas substantiva frazon kaj tiam prepozicia frazo. Do, en tiu kazo, "amikojn" kaj poste "de Milo "Mi scias, ke ĉi tio signifas ke NP2, la dua, posedas NP1. Do mi povas krei ian rilaton, iu speco de funkcio por ĝi. Do kiam mi vidas tiun strukturon, kiu kongruas ekzakte kun "amikoj de Allison, "mi scias kiu Allison posedas la amikojn. Do la amikoj estas io kiu Allison havas. Havas sencon? Do tiu estas esence kion Diagramo Serĉu faras. Ĝi nur kreas regulojn cxar multe da aĵoj. Do "amikoj de Allison", "miaj geamikoj kiuj loĝas en Kembriĝo, "" miaj geamikoj kiu iras al Harvard. "Ĝi kreas reguloj por ĉiuj el tiuj aferoj. Nun maŝino tradukado. Do, maŝintraduko estas ankaŭ io statistikaj. Kaj efektive, se vi ricevas implikitaj en komputa lingvistiko, multajn viajn necesajxojn tuj estos statistiko. Do kiel mi estis faranta la ekzemplo kun amaso de probabloj, ke mi estis kalkuli, kaj tiam vi atingos ĉi tre malgranda nombro kiu estas la fino probablo, kaj tio estas kio donas al vi la respondon. Maŝintraduko ankaŭ uzas statistika modelo. Kaj se vi volas pensi de maŝino traduko en la plej simpla ebla vojo, kion vi povas pensi estas nur traduki vorton post vorto, ĉu ne? Kiam vi lernas lingvon por la unua fojo, ke estas kutime kio vi faras, ĉu ne? Se vi volas vi povas traduki frazon en via lingvo en la lingvo vi lernas, kutime unue, vi traduki cxiu el la vortoj individue, kaj tiam vi provi meti la vortojn en lokon. Do, se mi volis traduki ĉi, [Parolas la portugalan] kiu signifas "la blanka kato kuris for." Se mi volas traduki ĝin el Portugala al angla, kion mi povus fari estas, unue, mi simple traduki vorton post vorto. Do "o" estas "la", "kato", "kato", "Branco", "blanka", kaj tiam "fugio" estas »Forkuris." Tial do mi havas cxiujn vortojn ĉi tie, sed ili ne estas en ordo. Estas kiel "la kato blanka forkuris" kio estas ungrammatical. Do, tiam mi povas havi duan paŝon, kiun tuj estos trovi la idealan pozicio por ĉiu el la vortoj. Do mi scias, ke mi vere volas havi "Blanka kato" anstataŭ "kato blanka." Do kion mi povas fari estas, la plej naiva maniero estus krei ĉiuj ebla permutoj de vortoj de pozicioj. Kaj tiam vidos ke unu havas la alta probablo laŭ al mia lingvo modelon. Kaj poste, kiam mi trovas la unu kiu havas la plej alta probablo, kiu estas probable "la blanka kato kuris for," jen mia traduko. Kaj tio estas simpla maniero klarigi kiom multe da maŝintraduko algoritmoj labori. Ĉu tio havas sencon? Tiu estas ankaŭ io vere ekscita ke vi uloj povas eble esplori por fina projekto, jes? Lernanto: Nu, vi diris ke estis la naiva maniero, do kio estas la ne-naiva maniero? LUCAS Freitas: La ne-naiva maniero? OK. Do la unua afero, kiu estas malbona pri ĉi tiu metodo estas ke mi ĵus tradukis vortoj, vorto post vorto. Sed foje ni havas vortojn kiuj povas havi plurajn tradukojn. Mi tuj provos pensi de io. Ekzemple, "maniko" en portugala tedaĵo ĉu esti "mangle" aŭ "maniko". Do kiam vi provas traduki vorton post vorto, tio povus esti donante al vi iu kiu ne faras sencon. Do vi fakte volas vin rigardi cxiujn eblajn tradukojn de la vortoj kaj vidas, antaŭ ĉio, kio estas la ordo. Ni parolis pri permutating la aferojn? Por vidi ĉiujn eblajn ordonoj kaj elekti unu de la plej alta probablo? Vi povas ankaŭ elekti ĉiujn eblajn tradukoj por ĉiu vorto kaj tiam vidi - kombinita kun la permutoj - kion oni havas la plej alta probablo. Plus, vi ankaŭ povas rigardi ne nur vortoj sed frazoj. tial vi povas analizi la rilatojn inter la vortoj kaj tiam preni bona traduko. Ankaŭ ion alian, do ĉi semestro Mi fakte faras esploron en Ĉina-angla maŝintraduko, tiel traduki el Ĉina al la angla. Kaj ion ni devas fari estas, krom uzi statistika modelo, kiu estas nur vidante la probablojn de vidante iu pozicio en frazo, mi estas fakte ankaŭ aldoni kelkajn sintakson por mia modelo, dirante: Ho, se mi vidas tiun afabla de konstruo, ĉi tiu estas kion mi volas ŝanĝi ĝin al kiam mi tradukas. Do vi povas ankaŭ aldoni ian ero de sintakso por fari la tradukado pli efika kaj pli preciza. OK. Do kiel vi povas akiri komencita, se vi volas fari ion en komputa lingvistiko? Unue, elektu projekto kiu implikas lingvoj. Do, ne estas tiel multaj tie. Estas tiom da aferoj vi povas fari. Kaj do povas pensi pri modelo ke vi povas uzi. Kutime tio signifas pensadon de supozoj, kiel kiel, oh, kiam mi estis kiel pensadon de la literoj. Mi estis kiel, bone, se mi volas kompreni ekster kiuj skribis tion, mi probable volas rigardi la vortojn de la persono uzis kaj vidi kiu uzas tiun vorton tre ofte. Do provu fari supozojn kaj provu pensi pri modeloj. Kaj tiam vi ankaŭ povas serĉi rete por la specon de problemo, kiun vi havas, kaj gxi tuj sugestus al vi modeloj kiuj eble modelita ke afero bone. Kaj ankaŭ vi povas ĉiam retposxtu min. me@lfreitas.com. Kaj mi povas nur respondi viajn demandojn. Ni povas ecx povus renkontiĝas tiel mi povas doni sugestojn pri formoj de efektivigo via projekto. Kaj mi volas diri, se vi povas partopreni per komputa lingvistiko, ĝi okazas esti granda. Vi tuj vidos tie Estas tiom da potencialo. Kaj la industrio volas dungi Vi estas tiel malbona pro tio. Do mi esperas ke vi uloj ĝuis ĉi. Se vi uloj havas demandojn, Vi povas demandi min post tio. Sed dankon.