>> LUCAS FREITAS: Hey.
Benvenuti a tutti.
Il mio nome è Lucas Freitas.
Io sono un junior a [incomprensibile] studiare informatica con un focus in
linguistica computazionale.
Quindi il mio secondario è in lingua e teoria linguistica.
Sono davvero entusiasta di insegnare voi ragazzi un po 'di campo.
E 'una zona molto interessante da studiare.
Anche con un sacco di potenziale per il futuro.
Quindi, io sono davvero entusiasta che voi ragazzi stanno prendendo in considerazione progetti in
linguistica computazionale.
E sarò più che lieto di consigliarvi qualcuno di voi se si decide di
perseguire uno di quelli.
>> Quindi prima di tutto quali sono computazionale linguistica?
Così linguistica computazionale è l' intersezione tra linguistica e
informatica.
Quindi, qual è la linguistica?
Che cosa è la scienza del computer?
Beh dalla linguistica, cosa prendiamo sono le lingue.
Così linguistica è in realtà lo studio del linguaggio naturale in genere.
Linguaggio così naturale - si parla di linguaggio che in realtà usiamo per
comunicare tra loro.
Quindi non stiamo esattamente parlando su C o Java.
Stiamo parlando di più inglese e Cinese e altre lingue che abbiamo
utilizzare per comunicare tra loro.
>> La cosa difficile di quel che adesso abbiamo quasi 7.000
lingue del mondo.
Quindi ci sono un bel varietà elevata di linguaggi che possiamo studiare.
E allora pensi che è probabilmente molto difficile da fare, per esempio,
traduzione da una lingua a altro, visto che hai
quasi 7.000 di loro.
Quindi, se pensate di fare traduzione da una lingua all'altra voi
hanno quasi più di un milione diverse combinazioni che è possibile
avere da lingua a lingua.
Così è davvero difficile fare un po ' tipo di sistema di esempio traduzione
ogni singola lingua.
>> Quindi, linguistica tratta con la sintassi, semantica, pragmatica.
Voi ragazzi non esattamente bisogno sapere quali sono sono.
Ma la cosa molto interessante è che come un madrelingua, quando si impara
lingua come figlio, in realtà si impara tutte queste cose - semantica sintassi
e pragmatica -
da soli.
E nessuno deve insegnare la sintassi per a capire come frasi sono
strutturato.
Quindi, è davvero interessante perché è qualcosa che si avvicina molto
intuitivamente.
>> E cosa stai prendendo da l'informatica?
Beh, la cosa più importante che abbiamo avere in informatica è prima di
tutti, l'intelligenza artificiale e apprendimento automatico.
Allora, che cosa stiamo cercando di fare linguistica computazionale è insegnare
il computer come fare qualcosa con il linguaggio.
>> Così, per esempio, in macchina traduzione.
Sto cercando di insegnare il mio computer come per sapere come eseguire la transizione da un
lingua all'altra.
Quindi, fondamentalmente come insegnamento Un computer due lingue.
Se faccio elaborazione del linguaggio naturale, che è il caso per esempio di
Facebook Graph Search, ti insegnano il computer come capire
query bene.
>> Quindi, se si dice "le foto della mia amici. "Facebook non considera che
come una stringa intera che ha solo un mucchio di parole.
In realtà capisce la relazione tra "foto" e "i miei amici" e
capisce che "foto" sono proprietà di "i miei amici".
>> Quindi, questo è parte di, per esempio, elaborazione del linguaggio naturale.
Sta cercando di capire cosa è il rapporto tra
le parole in una frase.
E la grande domanda è: si può insegnare a un computer a parlare
un linguaggio in generale?
Che è una domanda molto interessante pensare, come se forse in futuro,
si sta andando ad essere in grado di parlare al tuo telefono cellulare.
Un po 'come ciò che facciamo con Siri, ma qualcosa di più simile, si può effettivamente
dite quello che volete e il telefono sta per capire tutto.
E può avere follow up domande e continuare a parlare.
Questo è qualcosa di veramente emozionante, a mio parere.
>> Quindi, qualcosa su linguaggi naturali.
Qualcosa di veramente interessante linguaggi naturali è che, e questo è
credito per il mio professore di linguistica, Maria Polinsky.
Lei dà un esempio e credo è davvero interessante.
Perché impariamo la lingua da quando siamo nati e poi la nostra nativa
linguaggio tipo di cresce su di noi.
>> E in fondo si impara la lingua da un input minimo, giusto?
È solo l'input da i genitori di quello che suona la tua lingua
piace e basta impara.
Quindi, è interessante perché se si guarda a quelle frasi, per esempio.
Si guarda, "Maria mette su un cappotto ogni volta che esce di casa. "
>> In questo caso, è possibile avere il parola "lei" si riferiscono a Maria, giusto?
Si può dire "Maria mette su un cappotto ogni volta che Maria lascia il
casa. "in modo che bene.
Ma poi se si guarda la frase "Si mette una mano ogni volta Mary
lascia la casa. "sai che è impossibile dire che "lei" è
riferendosi a Maria.
>> Non c'è modo di dire che "Maria mette su un cappotto ogni volta Mary lascia
la casa. "Così è interessante perché questo è il tipo di intuizione
che ogni madrelingua ha.
E nessuno è stato insegnato che questo è il modo in cui la sintassi funziona.
E che si può avere solo questa "lei" riferendosi a Maria in questo primo caso,
ed effettivamente in questo altro anche, ma non in questo.
Ma tutti i tipi di si per la stessa risposta.
Tutti sono d'accordo su questo.
Quindi è davvero interessante come anche non si conoscono tutte le regole
nella tua lingua che tipo di capire come funziona il linguaggio.
>> Quindi la cosa interessante naturale linguaggio è che non c'è bisogno di
conoscere alcuna sintassi per sapere se una frase è grammaticale o sgrammaticato per
maggior parte dei casi.
Che ti fa pensare che forse quello che che succede è che attraverso la vostra vita,
basta tenere sempre più frasi detto a voi.
E poi si mantiene memorizzazione tutte le frasi.
E poi, quando qualcuno ti dice qualcosa, si sente quella frase e
guardate il vostro vocabolario di frasi e vedere se
questa frase è lì.
E se è lì dicono che è grammaticale.
Se non è dici che è sgrammaticato.
>> Quindi, in questo caso, si potrebbe dire, oh, in modo da avere una lista enorme di tutti
frasi possibili.
E poi quando si sente una frase, sapete se è grammaticale o
non basata su questo.
Il fatto è che se si guardano una frase, per esempio, "L'
cinque teste CS50 TF cucinato i non vedenti polpo con una tazza DAPA. "E '
sicuramente non una frase che avete sentito prima.
Ma allo stesso tempo sai che è praticamente grammaticale, giusto?
Non ci sono errori grammaticali e si può dire che
si tratta di una possibile condanna.
>> Così ci fa pensare che in realtà il modo che impariamo la lingua non è solo
avendo un enorme database di possibili parole o frasi, ma più di
comprendere la relazione tra parole quelle frasi.
Ritiene che senso?
Così, allora la domanda è: si può i computer imparano le lingue?
Possiamo insegnare la lingua ai computer?
>> Quindi, pensiamo alla differenza tra un madrelingua di una lingua
e un computer.
Allora, che cosa succede a chi parla?
Beh, il madrelingua impara linguaggio da esposizione ad esso.
Di solito i suoi anni della prima infanzia.
Quindi, in sostanza, basta avere un bambino, e tu continui a parlare di esso, e
solo impara a parlare la lingua, giusto?
Quindi, si sta praticamente dando ingresso al bambino.
Così, allora si può sostenere che un computer può fare la stessa cosa, giusto?
Si può solo dare la lingua come ingresso al computer.
>> Come per esempio un gruppo di file che avere libri in inglese.
Forse è un modo che si potrebbe insegnare una
computer di inglese, giusto?
E in effetti, se ci pensate, ci vogliono forse un paio
giorni di tempo per leggere un libro.
Per un computer ci vuole un secondo per guarda tutte le parole in un libro.
Così si può pensare che possa essere proprio questo argomento di input da intorno a te,
questo non basta per dire che questo è qualcosa che solo gli esseri umani possono fare.
Si può pensare i computer anche in grado di ricevere input.
>> La seconda cosa è che madrelingua hanno anche un cervello che ha
capacità di apprendimento delle lingue.
Ma se ci pensate, un cervello è una cosa solida.
Quando sei nato, è già impostato -
questo è il vostro cervello.
E come si cresce, basta avere più ingresso del linguaggio e forse nutrienti
e altre cose.
Ma praticamente il cervello è una cosa solida.
>> Così si può dire, beh, forse è possibile costruire un computer che ha un sacco di
funzioni e metodi che appena imitano capacità di apprendimento delle lingue.
Quindi, in questo senso, si potrebbe dire, bene, io può avere un computer che ha tutte le
cose che devo imparare la lingua.
E l'ultima cosa è che un nativo speaker apprende da tentativi ed errori.
Quindi, in pratica un'altra cosa importante in l'apprendimento delle lingue è che tipo
di imparare cose da fare generalizzazioni di ciò che si sente.
>> Quindi, come si sta crescendo si impara che alcune parole sono più come sostantivi,
alcuni altri sono aggettivi.
E non avere alcuna la conoscenza della linguistica
capire che.
Ma si sa ci sono alcune parole sono posizionati in una parte della
frase, e alcuni altri in altri parti della frase.
>> E che quando si fa qualcosa che è come una frase che non è corretto -
forse a causa di una generalizzazione su per esempio.
Forse quando stai crescendo, si nota che il plurale è di solito
formata ponendo S a la fine della parola.
E allora si tenta di fare il plurale di "cervo" come "cervi" o "dente" come
"tooths". Allora i tuoi genitori o qualcuno ti corregge e dice, no, il
plurale di "cervo" è "cervo", e la plurale di "dente" è "denti". Poi
si impara queste cose.
Così si impara da prove ed errori.
>> Ma si può anche fare con un computer.
Si può avere qualcosa chiamato apprendimento per rinforzo.
Che è fondamentalmente come dare un computer di un premio ogni volta che lo fa
qualcosa correttamente.
E dandogli l'opposto di una ricompensa e quando fa qualcosa di sbagliato.
Si può effettivamente vedere che se si va Google Translate e si tenta di
tradurre una frase, si si chiede feedback.
Quindi, se dici, oh, c'è un migliore traduzione per questa frase.
È possibile digitare su e poi se un sacco di la gente continua a dire che è meglio
traduzione, si apprende solo che dovrebbero usare che la traduzione invece di
quella che dava.
>> Quindi, si tratta di una domanda molto filosofica per vedere se i computer stanno per essere
in grado di parlare o meno in futuro.
Ma ho grandi speranze che possono proprio sulla base di tali argomenti.
Ma è solo più di una filosofica domanda.
>> Così, mentre i computer ancora non si può parlare, quali sono le cose che possiamo fare?
Alcune cose sono davvero cool classificazione dei dati.
Così, per esempio, voi sapete che i servizi di posta elettronica fanno, per
esempio, il filtraggio dello spam.
Così ogni volta che si riceve spam, lo cerca di filtrare in un altro box.
Così come si fa?
Non è come il computer sa solo indirizzi di posta elettronica che cosa sono l'invio di spam.
Quindi è più basata sul contenuto di il messaggio, o forse il titolo, o
forse qualche modello che avete.
>> Quindi, in sostanza, cosa si può fare è ottenere un molti dati di email che sono spam,
e-mail che non sono spam, e imparare ciò che tipo di modelli che avete in
quelli che sono spam.
E questo è parte di calcolo linguistica.
Si chiama classificazione dei dati.
E stiamo effettivamente andando a vedere un esempio che nei prossimi diapositive.
>> La seconda cosa è il linguaggio naturale trasformazione che è la cosa che l'
Grafico ricerca sta facendo di lasciare si scrive una frase.
E si fida a capire cosa è il significato e dà
un risultato migliore.
In realtà, se si va a Google o Bing e si cerca qualcosa come Lady
Altezza di Gaga, si sta effettivamente andando per ottenere 5 '1 "invece di informazioni
da lei perché in realtà capisce cosa stai parlando.
Ecco, questo è parte del naturale elaborazione del linguaggio.
>> O anche quando si utilizza Siri, prima si dispone di un algoritmo che cerca di
tradurre quello che stai dicendo in parole, nel testo.
E poi cerca di tradurre che nel significato.
Ecco, questo è tutto parte del naturale elaborazione del linguaggio.
>> Allora avete traduzione automatica -
che è in realtà uno dei miei preferiti -
che è solo traducendo da una lingua all'altra.
Così si può pensare che quando si sta facendo traduzione automatica, si dispone di
infinite possibilità di frasi.
Quindi non c'è modo di appena memorizzazione ogni singola traduzione.
Quindi devi venire con interessanti algoritmi per poter
tradurre ogni singolo frase in qualche modo.
>> Voi ragazzi avete delle domande finora?
No?
OK.
>> Così che cosa stiamo andando a vedere oggi?
Prima di tutto, ho intenzione di parlare il problema di classificazione.
Così quello che ero dicono di spam.
Quello che ho intenzione di fare è, lyrics date una canzone, si può cercare di capire
con elevata probabilità chi è il cantante?
Diciamo che ho canzoni da Lady Gaga e Katy Perry, se ti do un
nuova canzone, si può capire se si tratta di Katy Perry o Lady Gaga?
>> Il secondo, sto solo andando a parlare circa il problema segmentazione.
Quindi non so se voi ragazzi sapete, ma Cinese, giapponese, altri orientale
lingue e altre lingue in generale, non hanno
spazi tra le parole.
E poi se si pensa al modo in cui il vostro genere di computer di tentativi per
capire elaborazione del linguaggio naturale, esamina le parole e
cerca di comprendere le relazioni tra di loro, giusto?
Ma allora se hai cinese, e si avere zero spazi, è davvero difficile
scoprire che cosa è la relazione tra parole, perché non hanno alcun
parole in un primo momento.
Quindi devi fare qualcosa chiamato segmentazione che significa solo mettere
spazi tra quello che noi chiameremmo parole in quelle lingue.
Dare un senso?
>> E poi andremo a parlare di sintassi.
Quindi, solo un po 'di naturale elaborazione del linguaggio.
Sta andando essere solo una visione d'insieme.
Così oggi, in pratica quello che voglio fare si è dare ragazzi un po 'di un
all'interno dei quali sono le possibilità che si può fare con computazionale
linguistica.
E poi si può vedere cosa ne pensate è cool tra quelle cose.
E forse si può pensare di un progetto e vieni parlare con me.
E posso darvi consigli sulle modalità di attuazione.
>> Così sintassi sta per essere un po ' su Search grafico e la macchina
traduzione.
Sto solo andando a dare un esempio di come si potrebbe, per esempio, tradurre
qualcosa da Portoghese a Inglese.
Suona bene?
>> Quindi, prima, il problema di classificazione.
Dirò che questa parte del seminario sta per essere il più impegnativo
uno solo perché ci sta andando essere qualche codifica.
Ma sarà Python.
So che voi ragazzi non sanno Python, così Sto solo andando a spiegare in alto
livello previsto quello che sto facendo.
E non c'è bisogno di preoccuparsi davvero troppo molto sulla sintassi perché è
qualcosa che voi potete imparare.
OK?
Suona bene.
>> Quindi qual è il problema di classificazione?
Così si è dato alcuni testi di una canzone e volete indovinare
che sta cantando esso.
E questo può essere per qualsiasi tipo di altri problemi.
Così può essere, per esempio, si ha un campagna presidenziale e si ha un
discorso, e si desidera trovare se era, per esempio,
Obama o Mitt Romney.
Oppure si può avere un sacco di e-mail e si vuole capire se sono
spam o meno.
Quindi è solo identificare alcuni dati basati sulle parole
che hai lì.
>> Quindi, per fare questo, si deve fare alcune ipotesi.
Così un sacco di linguistica computazionale sta facendo assunzioni,
ipotesi solito intelligenti, in modo che si possono ottenere buoni risultati.
Cercando di creare un modello per essa.
E poi provare e vedere se funziona, se ti dà una buona precisione.
E se lo fa, allora si cercare di migliorarla.
Se così non fosse, siete come, OK, forse dovrebbe fare una ipotesi diversa.
>> Quindi l'ipotesi che andremo a fare è che un artista di solito canta
su un argomento più volte, e forse usa parole più volte solo
perché sono abituati.
Si può solo pensare del tuo amico.
Sono sicuro che voi ragazzi hanno tutti gli amici che dire la loro frase di firma,
letteralmente per ogni singola frase -
come una specifica parola o alcune specifiche frase che si dice per
ogni singola frase.
>> E cosa si può dire è che se si vede una frase che ha una firma
frase, si può intuire che, probabilmente, il tuo amico è l'
uno dicendo che, giusto?
Quindi fate questo presupposto e poi è così che si crea un modello.
>> L'esempio che ho intenzione di dare è il come Lady Gaga, per esempio, le persone
dire che lei usa "baby" per tutte le sue canzoni numero uno.
E in realtà questo è un video che mostra suo dire la parola "baby" per
diverse canzoni.
>> [RIPRODUZIONE VIDEO]
>> - (CANTO) di un bebè.
Bambino.
Babe.
Bambino.
>> [FINE RIPRODUZIONE VIDEO-
>> LUCAS FREITAS: Quindi ci sono, credo, 40 canzoni qui in cui lei dice la
la parola "baby". Così si può sostanzialmente indovinare che se si vede una canzone che ha
la parola "bambino", c'è qualche alta probabilità che si tratta di Lady Gaga.
Ma cerchiamo di sviluppare questo ulteriormente più formale.
>> Quindi questi sono testi delle canzoni di Lady Gaga e Katy Perry.
Quindi si guarda a Lady Gaga, si vede che hanno un sacco di eventi di "baby", un
molte occorrenze di "strada". Poi Katy Perry ha un sacco di occorrenze di
"L'," un sacco di occorrenze di "fuoco".
>> Quindi, in pratica quello che vogliamo fare è, si ottiene una lirica.
Diciamo che si ottiene un testo per un canzone che è "baby", proprio "baby". Se
basta avere la parola "baby", e questo sono tutti i dati che avete da
Lady Gaga e Katy Perry, che avrebbe si indovina è la persona
che canta la canzone?
Lady Gaga o Katy Perry?
Lady Gaga, giusto?
Perché lei è l'unica che dice: "Baby". Questo suona stupido, giusto?
OK, questo è davvero facile.
Sto solo guardando le due canzoni e del Certo, lei è l'unico che ha
"Baby".
>> Ma cosa succede se avete un mucchio di parole?
Se si dispone di un lyric reale, qualcosa di come, "baby, ho appena
è andato a vedere un [? CFT?]
conferenza ", o qualcosa del genere, e allora dovete realmente capire -
sulla base di tutte queste parole -
chi è l'artista che probabilmente cantato questa canzone?
Quindi cerchiamo di sviluppare questo un po 'oltre.
>> OK, così, dei soli dati che ottenuto, sembra che Gaga è probabilmente
il cantante.
Ma come possiamo scrivere questo più formale?
E ci sara 'un po' po 'di statistiche.
Quindi, se ti perdi, basta provare per capire il concetto.
Non importa se si capisce le equazioni perfettamente bene.
Questo è tutto sta per essere on-line.
>> Quindi, in pratica quello che sto calcolo è il probabilità che questa canzone è per
Lady Gaga dato che -
quindi questo significa bar, dato che -
Ho visto la parola "baby". Ritiene che senso?
Così sto cercando di calcolare tale probabilità.
>> Quindi c'è questo teorema chiamato Teorema di Bayes che dice che l'
probabilità di A dato B, è la probabilità di B in A, volte
probabilità di A, sulla probabilità di B. Questo è un'equazione lunga.
Ma quello che dovete capire da vale a dire che questo è ciò che voglio
calcolare, giusto?
Quindi la probabilità che quella canzone è da Lady Gaga dato che ho visto la parola
"Baby".
>> E ora che sto ricevendo è l' probabilità della parola "baby" data
che ho Lady Gaga.
E che cosa è che, in fondo?
Ciò significa, che cosa è l' probabilità di vedere la parola "baby"
canzoni Gaga?
Se voglio calcolare che in un modo semplice, è solo il numero di
volte che vedo "baby" rispetto al numero totale delle parole della canzone Gaga, giusto?
Qual è la frequenza che vedo quella parola nel lavoro di Gaga?
Dare un senso?
>> Il secondo termine è l' probabilità di Gaga.
Che cosa vuol dire?
Questo significa fondamentalmente, quello che è il probabilità di classificazione
alcuni testi come Gaga?
E questo è un po 'strano, ma pensiamo a un esempio.
Quindi diciamo che la probabilità di avere "baby" in una canzone è la stessa
per Gaga e Britney Spears.
Ma Britney Spears ha il doppio più canzoni di Lady Gaga.
Quindi, se qualcuno ti dà solo casualmente testo di "bambino", la prima cosa che
guardare è, qual è la probabilità di avere "baby" in una canzone Gaga, "baby"
in una canzone di Britney?
Ed è la stessa cosa.
>> Quindi la seconda cosa che vedrete è, Ebbene, qual è la probabilità di
questa lirica di per sé essere una lirica Gaga, e qual è la probabilità di
essendo una lirica di Britney?
Quindi, dal momento che Britney ha tanti più lyrics di Gaga, si sarebbe probabilmente
diciamo, bene, questo è probabilmente una lirica Britney.
Ecco perché abbiamo questo termine giusto qui.
Probabilità di Gaga.
Ha senso?
Lo fa?
OK.
>> E l'ultima è proprio la probabilità di "baby", che non
importa più di tanto.
Ma è la probabilità di vedere "baby" in inglese.
Noi di solito non importa che molto di quel termine.
Ritiene che senso?
Quindi la probabilità di Gaga è chiamato la probabilità a priori
della Gaga classe.
Perché significa proprio questo, qual è il probabilità di avere quella classe -
che è Gaga -
solo in generale, solo senza condizioni.
>> E poi quando ho probabilità di Gaga dato "baby", lo chiamiamo più
lacrime una probabilità perché è la probabilità di avere
Gaga dato alcune prove.
Quindi io ti sto dando l'evidenza che ho visto la parola bambino e
la canzone ha senso?
OK.
>> Quindi, se ho calcolato che per ogni delle canzoni di Lady Gaga,
cosa che sarebbe -
a quanto pare, non posso spostare questo.
La probabilità di Gaga sarà qualcosa di simile, 2 over 24, i tempi di mezzo,
oltre 2 over 53.
Non importa se si sa cosa questi numeri sono provenienti da.
Ma è solo un numero che sta andando di essere più di 0, giusto?
>> E poi quando lo faccio Katy Perry, l' probabilità di "baby" data Katy è
già 0, giusto?
Perché non c'è "baby" in Katy Perry.
Allora questo diventa 0, e Gaga vittorie, il che significa che Gaga è
probabilmente il cantante.
Ritiene che senso?
OK.
>> Quindi, se voglio fare questo più ufficiale, Posso effettivamente fare un modello
più parole.
Quindi diciamo che ho qualcosa come, "baby, io sono
sul fuoco ", o qualcosa del genere.
Così ha più parole.
E in questo caso, è possibile vedere che "baby" è in Gaga,
ma non è a Katy.
E "fuoco" è in Katy, ma non è nel Gaga, giusto?
Così è sempre più difficile, giusto?
Perché sembra che quasi avere un legame tra i due.
>> Quindi quello che dovete fare è assumere indipendenza tra le parole.
Quindi, in pratica cosa significa è che Sto solo calcolando qual è il
probabilità di vedere "baby", che cosa è la probabilità di vedere "io", e
"Am", e "on" e "fuoco" tutti separatamente.
Poi ho moltiplicando tutti loro.
E sto vedendo qual è la probabilità di vedere l'intera frase.
Dare un senso?
>> Quindi, fondamentalmente, se ho una sola parola, quello che voglio trovare è l'arg max,
il che significa, che cosa è la classe che è avermi dato la più alta probabilità?
Allora, qual è la classe che sta dando me la più alta probabilità di
probabilità di classe dato parola.
Quindi, in questo caso, dato Gaga "baby". O Katy dato "baby". Dare un senso?
>> E proprio da Bayes, che equazione che ho mostrato,
creiamo questa frazione.
L'unica cosa è che si vede che la probabilità di parola dato l'
spostamenti di classe seconda sulla classe, giusto?
Il numero di s "baby" che ho in Gaga è diverso da Katy.
La probabilità di classe anche modifiche perché è solo il numero
delle canzoni ognuno di loro ha.
>> Ma la probabilità della parola stessa sta per essere lo stesso per tutte le
artisti, giusto?
Quindi la probabilità della parola è solo, qual è la probabilità di
visto che nella parola Lingua inglese?
Quindi è lo stesso per tutti.
Quindi, dal momento che questo è costante, possiamo solo cadere questo e non preoccuparsene.
Quindi questo sarà effettivamente l' equazione che stiamo cercando.
>> E se ho più parole, io sono ancora in corso per avere il preventivo
probabilità qui.
L'unica cosa è che sto moltiplicando la probabilità di
tutte le altre parole.
Così sto moltiplicando tutti loro.
Dare un senso?
Sembra strano, ma in pratica significa, calcolare la prima della classe, e
poi moltiplicare per la probabilità di ogni delle parole che si trovano in quella classe.
>> E si sa che la probabilità di un parola data una classe sta per essere l'
numero di volte si vede che la parola in tale classe, diviso per il numero di
parole che hanno a che classe in generale.
Dare un senso?
E 'proprio come "baby" è stato 2 over il numero di parole che
Ho avuto nei testi.
Quindi, solo la frequenza.
>> Ma c'è una cosa.
Ricordo che stavo mostrando che l' probabilità di essere della canzone "baby" di
da Katy Perry era di 0 solo perché Katy Perry non ha avuto "baby" a tutti?
Ma suona un po 'dura a poco semplicemente dire che i testi non possono essere da
un artista solo perché non hanno quella parola in particolare in qualsiasi momento.
>> Quindi, si può solo dire, bene, se si non hanno questa parola, ho intenzione di
vi darà una minore probabilità, ma sto solo non andare a
dare 0 subito.
Perché forse era qualcosa di simile, "Fuoco, fuoco, fuoco, fuoco", che è
totalmente Katy Perry.
E poi "baby", e va solo per 0 subito perché c'era un
"Baby".
>> Quindi, in pratica quello che facciamo è qualcosa di chiamata Laplace smoothing.
E questo significa solo che sto dando certa probabilità anche alle parole
che non esistono.
Quindi quello che faccio è che quando sono calcolo di questo, io aggiungo sempre 1 a
il numeratore.
Quindi, anche se la parola non esiste, in questo caso, se questo è 0, sono ancora
calcolare tale pixel 1 sulla numero totale di parole.
In caso contrario, ottengo quante parole Ho e aggiungo 1.
Così sto contando per entrambi i casi.
Dare un senso?
>> Così ora facciamo un po 'di codifica.
Ho intenzione di avere a che fare abbastanza in fretta, ma è solo importante che si
ragazzi a capire i concetti.
Quindi quello che stiamo cercando di fare è esattamente l'attuazione del presente
cosa che ho appena detto -
Voglio che tu metti testi da Lady Gaga e Katy Perry.
E il programma sta per essere in grado di dire se questi nuovi testi sono da Gaga
o Katy Perry.
Dare un senso?
OK.
>> Così ho questo programma ho intenzione per chiamare classify.py.
Quindi questo è Python.
E 'un nuovo linguaggio di programmazione.
È molto simile in qualche modi per C e PHP.
E 'simile, perché se si vuole imparare Python dopo aver conosciuto C, è
davvero non tanto di una sfida solo perché Python è molto più facile
di C, prima di tutto.
E un sacco di cose sono già implementato per voi.
Quindi, solo come come PHP ha funzioni che ordinare un elenco, o aggiungere qualcosa
ad un array, o blah, blah, blah.
Python ha tutte quelle pure.
>> Così sto solo andando a spiegare rapidamente come potremmo fare la classificazione
problema qui.
Quindi diciamo che in questo caso, ho lyrics from Gaga e Katy Perry.
Il modo in cui ho questi testi è che la prima parola del testo è
il nome dell'artista, e il resto è il testo.
Quindi diciamo che ho questa lista in che il primo è Testo della canzone Gaga.
Così eccomi qui sulla strada giusta.
E il prossimo è Katy, e ma ha anche i testi.
>> Quindi questo è come si dichiara una variabile in Python.
Non dovete dare il tipo di dati.
Basta scrivere "lyrics" un po 'come in PHP.
Dare un senso?
>> Quindi quali sono le cose che devo calcolare per poter calcolare la
probabilità?
Devo calcolare i "priori" di ciascuno dei diversi
classi che ho.
Devo calcolare i "posteriori" o meno le probabilità di
ciascuna delle diverse parole che Posso avere per ogni artista.
Quindi all'interno di Gaga, per esempio, sto andando per avere un elenco di quante volte vedo
ciascuna delle parole.
Dare un senso?
>> E, infine, sto solo intenzione di avere un elenco denominato "parole" che sta solo andando
per avere quante parole ho avere per ogni artista.
Così per Gaga, per esempio, quando guardo al testo, che avevo, credo, 24
parole in totale.
Quindi questa lista è solo andare per avere 24 Gaga e Katy altro numero.
Dare un senso?
OK.
>> Così ora, in realtà, cerchiamo di andare alla codifica.
Quindi, in Python, si può effettivamente restituire un mazzo di diversa
cose da una funzione.
Quindi ho intenzione di creare questa funzione chiamato "condizionale", che sta
per riportare tutte queste cose, la "priori", le "probabilità", e la
"parole". Quindi "con riserva", ed è andando a mettere in "lyrics".
>> Così ora voglio che effettivamente scrivere questa funzione.
Quindi il modo che io possa scrivere questo funzione è che ho appena definito questo
funzionare con "def". Così ho fatto "def condizionale ", e sta prendendo
"Lyrics". E ciò che questo sta per fare è, prima di tutto, ho le mie priori
che voglio calcolare.
>> Quindi il modo che io possa fare questo è creare un dizionario in Python, che
è praticamente la stessa cosa di un hash tavolo, o è come un iterativo
array in PHP.
Questo è come mi dichiaro un dizionario.
E in fondo che cosa questo significa è che priori di Gaga è di 0,5, ad esempio, se
Il 50% dei testi sono da Gaga, il 50% sono da Katy.
Dare un senso?
Quindi devo capire come per calcolare i priori.
>> Le prossime quelli che devo fare, anche, sono le probabilità e le parole.
Quindi le probabilità di Gaga l'elenco di tutte le probabilità che
avere per ciascuna delle parole di Gaga.
Quindi se vado a probabilità di Gaga "Baby", per esempio, ti do me
qualcosa come 2 su 24 in questo caso.
Dare un senso?
Così vado a "probabilità", andare al Secchio "Gaga", che ha un elenco di tutti
le parole Gaga, poi vado a "baby" e vedo la probabilità.
>> E finalmente ho questa "Parole" dizionario.
Così qui, "probabilità". Poi "parole". Quindi se faccio "parole", "Gaga"
ciò che sta per accadere è che si tratta di intenzione di darmi 24, dicendo che
hanno 24 parole all'interno di testi di Gaga.
Ha senso?
Così qui, "le parole" uguale dah-dah-dah.
Bene
>> Allora che cosa ho intenzione di fare è che ho intenzione di iterare su ognuno dei testi, in modo
ciascuna delle stringhe che Ho in lista.
E ho intenzione di calcolare queste cose per ciascuno dei candidati.
Ha senso?
Quindi devo fare un ciclo for.
>> Quindi, in Python quello che posso fare è "per la linea canzoni. "La stessa cosa di un
"Per ogni" dichiarazione in PHP.
Ricordate come se fosse PHP ho potuto dire "ogni canzone come ad
linea. "ha senso?
Così sto prendendo ognuna delle linee, in questo caso, questa stringa e la successiva
stringa così per ciascuna delle linee di quello che sto intenzione di fare è in primo luogo, ho intenzione di
dividere questa linea in un elenco di parole separate da spazi.
>> Quindi la cosa bella di Python è che Si può solo Google come "come posso
dividere una stringa in parole? "Ed è intenzione di dirvi come fare.
E il modo per farlo, è solo "linea = Line.split () "ed è fondamentalmente
per darvi una lista con ognuna delle parole qui.
Ha senso?
Quindi, ora che ho fatto io voglio sapere chi è il cantante di quella canzone.
E per farlo devo solo ottenere l' primo elemento della matrice, giusto?
Quindi posso solo dire che io "cantante = Linea (0) "Ha un senso?
>> E poi quello che devo fare è, prima di tutti, ho intenzione di aggiornare quanti
parole che hanno sotto "Gaga". così io sono solo andando a calcolare quante parole ho
sono in questa lista, giusto?
Perché questo è quante parole ho nei testi e sto solo andando a
aggiungerlo alla matrice "Gaga".
Ritiene che senso?
Non concentrarsi troppo sulla sintassi.
Pensare di più i concetti.
Questa è la parte più importante.
OK.
>> Quindi quello che posso fare è che se "Gaga" è già in quella lista, così "se il cantante in
parole "il che significa che ho già hanno parole da Gaga.
Voglio solo aggiungere l'ulteriore parole che.
Quindi quello che faccio è "parole (cantante) + = Len (line) - 1 ".
E allora posso solo fare il lunghezza della linea.
Così come molti elementi I avere nella matrice.
E devo fare meno 1 solo perché il primo elemento della matrice è solo
un cantante e quelli che non sono testi.
Ha senso?
OK.
>> "Altrimenti", significa che voglio davvero inserisci Gaga nella lista.
Quindi io faccio solo "parole (cantante) = Len (line) - 1, "mi dispiace.
Quindi l'unica differenza tra i due linee è che questa, non è così
esisto ancora, quindi sono solo inizializzazione.
Questa realtà sto aggiungendo.
OK.
Quindi questo è stato aggiunta alle parole.
>> Ora voglio aggiungere a priori.
Allora, come faccio a calcolare i priori?
I priori possono essere calcolati da quante volte.
Quindi, quante volte si vede che il cantante tra tutti i cantanti che voi
hanno, giusto?
Così, per Gaga e Katy Perry, in questo caso, vedo Gaga
una volta, Katy Perry volta.
>> Quindi, in pratica i priori per Gaga e per Katy Perry sarebbe
essere solo uno, giusto?
Devi solo quante volte Vedo l'artista.
Quindi questo è molto facile da calcolare.
Posso solo qualcosa di simile come tipo "se cantante in priori, "Sto solo andando
aggiungere 1 alla loro casella priori.
Quindi, "priori (cantare)" + = 1 "e poi" altro " Io vado a fare "priori (cantante)
= 1. "Ha senso?
>> Quindi, se non esiste ho appena messo come 1, altrimenti ho appena aggiungo 1.
OK, ora tutto quello che ho lasciato fare è anche aggiungere ogni parola alla
probabilità.
Quindi devo contare quante volte Vedo ciascuna delle parole.
Quindi non mi resta che fare un altro per nodo nella linea.
>> Quindi, prima cosa che ho intenzione di fare è controllare se il cantante ha già un
probabilità array.
Così sto controllando se il cantante non hanno una matrice di probabilità, io sono solo
andando per inizializzare uno per loro.
Non è nemmeno un array, mi dispiace, si tratta di un dizionario.
Quindi le probabilità di cantante sta per essere un dizionario aperto, quindi sono
solo l'inizializzazione di un dizionario per esso.
OK?
>> Ed ora posso effettivamente fare un ciclo for per calcolare ciascuna delle parole '
probabilità.
OK.
Quindi quello che posso fare è un ciclo for.
Così sto solo andando a scorrere la matrice.
Quindi, il modo in cui posso farlo in Python è "for i in range." Dal 1
perché voglio iniziare nel secondo elemento perché la prima è la
Nome del cantante.
Quindi, da uno fino al lunghezza della linea.
E quando lo faccio RANGE effettivamente andare da come qui da 1 a len della
linea meno 1.
Così fa già che cosa fare n meno 1 per le matrici che è molto
conveniente.
Ha senso?
>> Quindi, per ognuno di questi, quello che ho intenzione di fare è, come nell'altro,
Vado a controllare se la parola in questo posizione nella linea è già
probabilità.
E poi come ho detto qui, le probabilità parole, come in metto
"probabilità (cantante)".
Così il nome del cantante.
Quindi, se è già in "PROBABILIT (cantante)", vuol dire che
Voglio aggiungere 1 ad essa, quindi ho intenzione di fare "probabilità (cantante)", e l'
parola è chiamato "linea (i)".
Ho intenzione di aggiungere 1 e "altro" Sono solo andando per inizializzare a 1.
"Line (i)".
Ha senso?
>> Così, ho calcolato tutte le matrici.
Così, ora tutto ciò che devo fare per questo è solo "ritorno priori,
probabilità e parole. "Facciamo vedere se ci sono, OK.
Sembra che tutto sta funzionando finora.
Quindi, questo ha un senso?
In qualche modo?
OK.
Così ora ho tutte le probabilità.
Così ora l'unica cosa che ho lasciato è solo per avere quella cosa che
calcola il prodotto di tutte le Probabilità quando ricevo i testi.
>> Quindi diciamo che voglio ora chiamare questa funzione "classificare ()" e la
cosa che funzione ha è solo un argomento.
Diciamo "Baby, io sono il fuoco" ed è andare a capire che cosa è il
probabilità che questo è Gaga?
Qual è la probabilità che questo è Katie?
Suona bene?
Così sto solo andando ad avere per creare un nuova funzione chiamata "classificare ()" e
sta andando a prendere un po ' Testo della canzone pure.
E poi i testi anche io dovranno inviare i priori, il
probabilità e le parole.
Quindi ho intenzione di inviare testi, Priori, probabilità, le parole.
>> Quindi questo sta prendendo testi, Priori, probabilità, le parole.
Allora, che cosa fa?
E 'fondamentalmente sta per passare attraverso tutti i possibili candidati che si
avere come cantante.
E dove sono i candidati?
Sono Negli priori, giusto?
Così ho tutti quelli lì.
Quindi ho intenzione di avere un dizionario di tutti i possibili candidati.
E poi per ciascun candidato in priori, quindi significa che sta andando a
essere Gaga, Katie se avessi più sarebbe più.
Ho intenzione di avviare il calcolo questa probabilità.
La probabilità, come abbiamo visto nel PowerPoint è dai tempi precedenti alla
prodotto di ciascuno degli altre probabilità.
>> Così posso fare lo stesso qui.
Posso solo fare la probabilità è inizialmente solo la prima.
Così priori del candidato.
Giusto?
E ora ho per scorrere tutte le parole che ho nei testi di essere
grado di aggiungere la probabilità per ciascuno di essi, OK?
Quindi, "per parola canzoni" quello che sto fare è, se la parola è in
"probabilità (candidati)", che significa che è una parola che l'
candidato ha nei loro testi -
per esempio, "baby" per Gaga -
che cosa ho intenzione di fare è che l' probabilità sta per essere moltiplicata
da 1 più le probabilità di il candidato per quella parola.
E si chiama "parola".
Questo diviso per il numero di parole che ho per quel candidato.
Il numero totale di parole che ho per il cantante che sto guardando.
>> "Else". significa che è una parola nuova così sarebbe come per esempio
"Fuoco" di Lady Gaga.
Quindi voglio solo fare 1 su "Word (candidato)".
Quindi io non voglio mettere questo termine qui.
>> Quindi sarà sostanzialmente copiare e incollare questo.
Ma ho intenzione di eliminare questa parte.
Quindi è solo andare a essere uno più di questo.
Suona bene?
E ora, alla fine, sto solo andando a stampare il nome del candidato e
la probabilità che avete di avendo la S sui loro testi.
Ha senso?
E ho fatto fare nemmeno bisogno di questo dizionario.
Ha senso?
>> Quindi, vediamo se questo funziona davvero.
Quindi, se corro questo, non ha funzionato.
Aspetta un secondo.
"Parole (candidati)", "parole (candidati)", che è
il nome della matrice.
OK Così, si dice che c'è qualche bug per il candidato a priori.
Lasciatemi semplicemente rilassarsi un po '.
OK.
Proviamo.
OK.
>> Così dà Katy Perry ha questa probabilità di questo volte 10 alla
meno 7, e Gaga ha questo tempi di 10 alla meno 6.
Così si vede che dimostra che Gaga ha una maggiore probabilità.
Quindi "Baby, io sono in fiamme" è Probabilmente una canzone Gaga.
Ha senso?
Quindi questo è quello che abbiamo fatto.
>> Questo codice sta per essere pubblicato on-line, così voi potete verificarlo.
Forse utilizzare alcuni di esso per se volete fare un progetto o qualcosa di simile.
OK.
Questo era solo per dimostrare cosa computazionale
codice linguistica assomiglia.
Ma ora andiamo a più alto livello di roba.
OK.
>> Così gli altri problemi che stava parlando -
il problema della segmentazione è il primo di essi.
Così avete qui giapponese.
E poi si vede che non ci sono spazi.
Quindi questo è in pratica significa che è all'inizio della sedia, giusto?
Tu parli il giapponese?
E 'la parte superiore della sedia, giusto?
>> STUDENTE: Io non so che cosa il kanji laggiù è.
>> LUCAS FREITAS: Si [lingua giapponese]
OK.
Quindi significa fondamentalmente presidente del top.
Quindi, se dovessi mettere uno spazio sarebbe qui.
E allora avete [? Ueda-san. ?]
Il che significa sostanzialmente Mr. Ueda.
E si vede che "Ueda" e si dispone di un spazio e quindi "san". Così si vede che
qui si "Ue" è come da sé.
E qui ha un carattere accanto ad essa.
>> Quindi non è come in quelle lingue caratteri significato di una parola in modo che tu
basta mettere un sacco di spazi.
Personaggi in relazione tra loro.
E possono stare insieme come due, tre, uno.
Quindi devi effettivamente creare qualche tipo di modo di mettere quegli spazi.
>> E questa cosa è che ogni volta che si ottiene dati da tali lingue asiatiche,
tutto viene segmentato.
Perché nessuno che scrive giapponese o cinese scrive con spazi.
Ogni volta che si sta scrivendo cinese, Giapponese basta scrivere tutto
senza spazi.
Non ha nemmeno senso mettere spazi.
Allora quando si ottiene i dati da alcuni Lingua dell'Asia orientale, se si vuole
effettivamente fare qualcosa con quel devi primo segmento.
>> Pensate di fare l'esempio di il testo senza spazi.
Così gli unici testi che avete sarà frasi, giusto?
Separati da punti.
Ma poi avendo appena la sentenza sarà non aiuta davvero a dare informazioni
di chi quei testi sono da.
Giusto?
Quindi, si dovrebbe in primo luogo mette spazi.
Così come si può fare?
>> Allora viene l'idea di una lingua modello che è qualcosa di veramente
importante per computazionale linguistica.
Così un modello di linguaggio è fondamentalmente un tabella di probabilità che spettacoli
prima di tutto quanto è la probabilità di avere la parola in una lingua?
Quindi, mostrando come spesso una parola è.
E poi mostra anche la relazione tra le parole in una frase.
>> Così l'idea principale è, se uno straniero venuto a voi e disse una frase per
te, qual è la probabilità che, per esempio, "questa è mia sorella [? GTF"?]
era la frase che la persona ha detto?
Così, ovviamente, alcune frasi sono più comuni di altri.
Ad esempio, "buongiorno" o "buona notte ", o" hey c'è, "è molto più
comune di quanto la maggior parte delle condanne che abbiamo un inglese.
Allora, perché sono quelle frasi più frequente?
>> Prima di tutto, è perché avete parole che sono più frequenti.
Così, per esempio, se tu dici, il cane è grande, e il cane è gigantesco, è
di solito probabilmente sente il cane è grande più spesso perché "grande" è più
frequente in inglese di "gigantesco". Quindi, uno dei
cose è la frequenza delle parole.
>> La seconda cosa che è veramente importante è solo l'
ordine delle parole.
Quindi, è comune a dire "il gatto è all'interno della scatola. "ma di solito non
vedere "La scatola interna è il gatto." così si vede che vi è una certa importanza
nell'ordine delle parole.
Non si può semplicemente dire che quei due frasi hanno la stessa probabilità
solo perché hanno le stesse parole.
In realtà si deve la cura circa ordine pure.
Dare un senso?
>> Allora cosa facciamo?
Così che cosa potrei provare a prenderti?
Sto cercando di ottenere ciò che chiamare i modelli n-gram.
Così i modelli n-gram fondamentalmente assumono che per ogni parola
si dispone in una frase.
È la probabilità di avere tale parola non dipende non solo dalla
frequenza di tale parola nella lingua, ma anche sulle parole che
sono lo circonda.
>> Così, per esempio, di solito quando si vede qualcosa di simile o alle sei
probabilmente andando a vedere un sostantivo dopo, giusto?
Perché quando hai una preposizione di solito ci vuole un sostantivo dopo di esso.
O se avete un verbo che è transitivo di solito sta per
avere un sintagma nominale.
Così sta andando ad avere un sostantivo da qualche parte intorno ad esso.
>> Quindi, in sostanza, ciò che fa è che essa considera la probabilità di avere
parole accanto all'altro, quando si sta calcolando il
probabilità di una frase.
Ed è quello che una lingua il modello è fondamentalmente.
Basta dire qual è la probabilità di avere un preciso
frase in una lingua?
Allora perché è così utile, in fondo?
E prima di tutto ciò che è un modello n-gram, allora?
>> Così un modello n-grammi significa che ogni parola dipende dalla
accanto N meno 1 parole.
Quindi, in sostanza, vuol dire che se guardo, per esempio, al TF CS50 quando
Sto calcolando la probabilità di la frase, si sarà come "l'
probabilità di avere la parola "il" volte la probabilità di avere "l'
CS50 "volte la probabilità di avere "Il TF CS50." Quindi, in sostanza, io conto
tutti i possibili modi di stretching.
>> E poi di solito quando si sta facendo questo, come in un progetto, si mette N di essere
un valore basso.
Così, di solito hanno bigrams o trigrammi.
In modo che appena contano due parole, un gruppo di due parole, o tre parole,
solo per problemi di prestazioni.
E anche perché magari se avete qualcosa come "Il TF CS50." Quando si
hanno "TF", è molto importante che "CS50" è accanto ad essa, giusto?
Queste due cose sono di solito accanto all'altro.
>> Se si pensa di "TF", è probabilmente andando ad avere ciò che
classe è TF'ing per.
Anche "la" è veramente importante per CS50 TF.
Ma se avete qualcosa come "Il CS50 TF è andato a lezione e ha dato loro
studenti di alcune caramelle. "" Candy "e" la " non hanno alcun rapporto davvero, giusto?
Sono così distanti tra loro che in realtà non importa cosa
parole che hanno.
>> Quindi, facendo un bigram o un trigramma, si semplicemente significa che si sta limitando
a voi stessi di alcune parole che sono intorno.
Dare un senso?
Quindi, quando si vuole fare la segmentazione, in sostanza, ciò che si vuole fare è vedere
quali sono tutti i possibili modi che è possibile segmentare la frase.
>> Tale che vedete qual è il probabilità di ciascuna di quelle frasi
esistente nella lingua?
Quindi, quello che fai è come, beh, lasciate Cercherò di mettere uno spazio qui.
Così si mette uno spazio lì e si vede qual è il
probabilità di quella frase?
Allora sei come, OK, forse che non era buono.
Così ho messo uno spazio c'e uno spazio lì, e si calcola il
probabilità ora, e si vede che è una maggiore probabilità.
>> Quindi questo è un algoritmo chiamato TANGO algoritmo di segmentazione, che è
in realtà qualcosa che sarebbe davvero fresco per un progetto, che
fondamentalmente prende testo non segmentato che può essere giapponese o cinese o forse
Inglese senza spazi e cerca di mettere spazi tra le parole e lo fa
che utilizzando un modello del linguaggio e cercando di vedere qual è la più alta
probabilità che si può ottenere.
OK.
Quindi questo è segmentazione.
>> Ora sintassi.
Quindi, sintassi viene utilizzato per così tante cose in questo momento.
Così per il grafico Ricerca per Siri per praticamente qualsiasi tipo di naturale
elaborazione del linguaggio che avete.
Quindi quali sono le importanti cose di sintassi?
Quindi, frasi in generale hanno ciò che noi chiamiamo costituenti.
Che sono un po 'come gruppi di parole che hanno una funzione nella frase.
E non possono essere veramente l'uno dall'altro.
>> Quindi, se io dico, per esempio, "Lauren ama Milo. "So che" Lauren "è un
costituente e quindi "amori Milo "è anche un altro.
Perché non si può dire come "Lauren Milo ama "per avere lo stesso significato.
Non sta andando ad avere lo stesso significato.
O non posso dire come "Milo Lauren ama. "Non tutto ha lo stesso
significa farlo.
>> Quindi le due cose più importanti su sintassi sono i tipi lessicali che è
fondamentalmente la funzione che si avere per parole da soli.
Quindi dovete sapere che "Lauren" e "Milo" sono sostantivi.
"Love" è un verbo.
E la seconda cosa importante è che sono tipi frasali.
Così si sa che "ama Milo" è in realtà una frase verbale.
Quindi, quando dico "Lauren", so che Lauren sta facendo qualcosa.
Che cosa sta facendo?
Lei adora Milo.
Quindi è una cosa completamente.
Ma i suoi componenti sono un sostantivo e un verbo.
Ma insieme, fanno un verbo frase.
>> Allora, che cosa possiamo realmente fare con linguistica computazionale?
Quindi, se ho qualcosa per esempio "amici di Allison". Vedo se ho appena
ha un albero sintattico vorrei sapere che "Friends" è un sintagma nominale è un
sostantivo e poi "di Allison" è un frase preposizionale in cui "di" è
una proposizione e "Allison" è un sostantivo.
Cosa potevo fare è insegnare il computer che quando ho un sintagma nominale uno e
poi una frase preposizionale.
Quindi, in questo caso, "amici" e poi "di Milo "So che questo significa che
NP2, il secondo, possiede NP1.
>> Così posso creare una sorta di relazione, qualche tipo di funzione per esso.
Così ogni volta che vedo questa struttura, che corrisponde esattamente con "gli amici di
Allison, "so che Allison possiede gli amici.
Così gli amici sono qualcosa che Allison ha.
Ha senso?
Quindi questo è fondamentalmente ciò che Grafico di ricerca fa.
Si crea solo regole per un sacco di cose.
Quindi "amici di Allison", "i miei amici che vivono a Cambridge "," i miei amici
che vanno a Harvard. "Crea regole per tutte queste cose.
>> Ora traduzione automatica.
Quindi, la traduzione automatica è anche qualcosa di statistica.
E in realtà, se sei stato coinvolto in linguistica computazionale, un sacco di
la tua roba sarà statistiche.
Quindi, come stavo facendo l'esempio con un sacco di probabilità che ero
calcolo, e poi si arriva a questo numero molto piccolo che è la finale
probabilità, e questo è ciò che ti dà la risposta.
Traduzione automatica utilizza anche un modello statistico.
E se si vuole pensare di macchina Traduzione in semplice possibile
modo, ciò che si può pensare è solo tradurre parola per parola, giusto?
>> Quando stai imparando una lingua per l' prima volta, che di solito è quello che
si fa, giusto?
Se volete tradurre una frase nella tua lingua alla lingua
stai imparando, di solito in primo luogo, di tradurre ogni parola
individualmente, e quindi si tenta di mettere le parole in posizione.
>> Quindi, se ho voluto tradurre questo, [Chi parla portoghese]
che significa "il gatto bianco scappato." Se avessi voluto tradurlo da
Portoghese inglese, quello che ho potrebbe fare è, in primo luogo, ho solo
tradurre parola per parola.
Quindi, "o" è "il", "gato", "gatto" "Branco", "bianco" e quindi "fugio" è
"Scappato".
>> Allora ho tutte le parole qui, ma non sono in ordine.
E 'come "il gatto bianco scappato" che è sgrammaticata.
Così, allora posso avere una seconda fase, che sta per essere trovare l'ideale
posizione per ciascuna delle parole.
Quindi so che io in realtà voglio avere "Gatto bianco" invece di "gatto bianco". Così
quello che posso fare è, il metodo più ingenuo sarebbe quello di creare tutte le
possibili permutazioni di parole, delle posizioni.
E poi vedere quale ha la più alta probabilità secondo
al mio modello di linguaggio.
E poi quando trovo quello che ha la più alta probabilità esso, che è
probabilmente "il gatto bianco scappato," questa è la mia traduzione.
>> E questo è un modo semplice di spiegare come un sacco di traduzione automatica
algoritmi funzionano.
Ritiene che senso?
Questo è anche qualcosa di veramente eccitante che voi ragazzi può forse scoprire per un
progetto definitivo, sì?
>> STUDENTE: Beh, hai detto che era il modo ingenuo, quindi qual è
il modo non ingenuo?
>> LUCAS FREITAS: Il modo non ingenuo?
OK.
Quindi la prima cosa che è male di questo metodo è che ho appena tradotto
parole, parola per parola.
Ma a volte hai parole che può avere più traduzioni.
Ho intenzione di provare a pensare di qualcosa.
Ad esempio, "manga" in can portoghese essere sia "mangle" o "manica". Così
quando si sta cercando di tradurre parola con la parola, si potrebbe ti dà
qualcosa che non ha senso.
>> Così si vuole realmente si guarda a tutti le possibili traduzioni del
parole e vedere, prima di tutto, che cosa è l'ordine.
Stavamo parlando permutating le cose?
Per vedere tutti i possibili ordini e scegliere quello con la massima
probabilità?
È anche possibile scegliere tutte le possibili traduzioni per ogni
parola e poi vedere -
combinata con le permutazioni -
che si ha la più alta probabilità.
>> Inoltre, è possibile anche guardare non solo parole ma frasi.
in modo da poter analizzare i rapporti tra le parole e quindi ottenere un
traduzione migliore.
Inoltre qualcos'altro, così questo semestre Realtà sto facendo ricerca in
Cinese-Inglese traduzione automatica, così traducendo da
Cinese in inglese.
>> E qualcosa che facciamo è, oltre ad utilizzare un modello statistico, che è solo
vedendo le probabilità di vedere qualche posizione in una frase, sono
in realtà anche l'aggiunta di una sintassi al mio modello, dicendo: oh, se vedo questo tipo
di costruzione, questo è quello che voglio cambiare per quando traduco.
Così si può anche aggiungere qualche tipo di elemento di sintassi per rendere l'
traduzione più efficiente e più precisa.
OK.
>> Così come si può iniziare, se si desidera di fare qualcosa in computazionale
linguistica?
>> In primo luogo, si sceglie un progetto che coinvolge le lingue.
Quindi, ci sono così tanti là fuori.
Ci sono tante cose che puoi fare.
E poi si può pensare a un modello che è possibile utilizzare.
Di solito questo significa pensare ipotesi, come come, oh, quando ero
come il pensiero dei testi.
Ero come, bene, se voglio capire una che ha scritto questo, probabilmente voglio
a guardare le parole persona che ha utilizzato e vedere chi usa quella parola molto spesso.
Quindi cercate di fare ipotesi e cercare di pensare a modelli.
E allora si può anche verificare on-line per il tipo di problema che avete,
e sta andando a suggerire a voi i modelli che forse
modellato bene che cosa.
>> E inoltre si può sempre scrivermi.
me@lfreitas.com.
E posso solo rispondere alle vostre domande.
Possiamo anche potremmo incontrare così posso dare suggerimenti sulle modalità di
l'attuazione del progetto.
E voglio dire, se sei stato coinvolto con linguistica computazionale, sta andando
per essere grande.
Stai andando a vedere lì è così tanto potenziale.
E l'industria vuole assumere così male a causa di questo.
Quindi spero che voi ragazzi è piaciuto questo.
Se voi ragazzi avete tutte le domande, si può chiedere a me dopo questo.
Ma grazie.