>> [RIPRODUZIONE DI BRANI MUSICALI]
>> DAVID MALAN: Questo è CS50.
Questa è la fine della settimana 10.
E il ragazzo, abbiamo un buona classe per voi oggi.
Siamo così eccitati di invitare due i nostri amici di Yale fino a noi oggi
e di guardare all'incrocio tra l'intelligenza artificiale, la robotica,
elaborazione del linguaggio naturale, e altro ancora.
>> E infatti, il Nelle ultime settimane, abbiamo
certamente speso un sacco di tempo, specialmente nei pset precedenti,
concentrandosi su graziosi dettagli di basso livello.
Ed è molto facile perdere di vista della foresta per gli alberi
e ottenere appeso sui cicli e condizioni e puntatori, certamente, e simili.
Ma la realtà è che voi ragazzi hanno ora la gli ingredienti con i quali si può veramente
risolvere alcuni problemi interessanti, tra loro quei che i nostri amici a Yale
lavorare solo timido di Cambridge.
>> Quindi permettetemi prima di introdurre la nostra testa esercitatore presso la Yale, Andy.
>> [APPLAUSI]
>> ANDY: Prima di tutto, proprio grazie a voi per aver permesso un paio Yalies
pop in giù a Cambridge oggi.
Siamo davvero grati.
In secondo luogo, ai nostri amici indietro home-- Jason,
grazie per stare e l'esecuzione di lezione.
Spero che tutto bene a New Haven.
>> Quindi sì, io sono super eccitato introdurre SCAZ oggi.
SCAZ gestisce il laboratorio di robotica.
Lui è un professore di, come, cinque diversi dipartimenti a Yale.
Nel suo laboratorio, ha molti, molti robot che gli piace giocare con.
Ha, come, il cool lavoro nel mondo.
E si arriva a tipo di disordine in giro con quel tutto il giorno
lungo e fare un certo lavoro, pure.
>> E così abbiamo portato uno di giù con noi oggi.
Quindi, senza ulteriori indugi, è SCAZ intenzione di andare avanti e di presentarci
al suo amico robot.
>> [APPLAUSI]
BRIAN Scassellati: Grazie, David.
Grazie, Andy.
E 'così meraviglioso essere qui con tutti oggi.
Voglio essere molto chiaro che prima il personale CS50 qui a Cambridge
è stato incredibilmente ospitale a noi.
Siamo così grati per tutto hanno fatto per sostenerci.
E così ci piacerebbe essere in grado per restituire la gentilezza.
>> Così oggi, si arriva a annunciare che stiamo per avere un nuovo,
uno-di-un-tipo evento CS50 succedendo a New Haven la prossima settimana.
E questo è il CS50 Research Expo.
Quindi stiamo andando a essere invitante everyone-- CS50 studenti,
personale sia da Harvard e Yale-- a scendere e visitare con noi il Venerdì.
Avremo una vasta gamma di sopra 30 persone diverse che presentano
e upperclassmen exhibiting-- mostrando fuori alcuni dei loro prodotti di ricerca.
Avremo alcune start-up, anche, guardando per un po 'di nuovi talenti tecnologia,
start-up sia da Harvard e Yale.
E avremo alcuni gruppi di studenti alla ricerca di qualche nuova adesione.
>> Sta andando essere un momento molto emozionante.
Speriamo che quelli di voi che sono scendendo per il gioco di Harvard-Yale
sarà in grado di fermare da un po 'presto,
proprio nel centro della città universitaria, Sterling Memorial Library.
Stiamo per avere una serie di mostre che vanno da autonoma
barche a vela alle modalità di utilizzo del software per preservare manoscritti medievali.
>> Stiamo per avere annuncio networking hoc e persone
l'insegnamento di codifica software a Città del Capo.
Avremo di computer manifestazioni musicali.
E noi, naturalmente, abbiamo più robot.
Quindi noi ti auguriamo ll unirsi a noi per questo evento.
Dovrebbe essere un sacco di divertente, un po 'di cibo,
e un sacco di interessanti cose di cui parlare.
>> Così oggi, stiamo andando a parlare su elaborazione del linguaggio naturale.
E questo è il tentativo per noi per costruire un nuovo modo di interfacciamento
con i nostri dispositivi perchè per le ultime settimane,
siete stati concentrati su come sia possibile che è possibile scrivere codice, scrivere software
che è un modo di poter dire ad un la macchina, questo è quello che voglio che tu faccia.
>> Ma non dovremmo bisogno di si aspettano che tutto
che è là fuori che viene utilizzato da tutti nel mondo
sta per essere competenti in questo tipo di istruzione.
Così distinguiamo tra il computer lingue e languages-- naturali
cioè, le cose che gli esseri umani usano per comunicare con altri esseri umani.
E noi cerchiamo di costruire interfacce che utilizzano questi meccanismi di comunicazione naturali.
>> Ora, proprio come ogni altro argomento che abbiamo iniziato con in CS50,
stiamo per iniziare con la più semplice po 'di elaborazione del linguaggio naturale
che possiamo immaginare.
Stiamo per iniziare con la parte storica del linguaggio naturale.
E poi ci costruiremo fino a sistemi sempre più recenti
e hanno alcune demo divertimento lungo la strada.
>> Quindi stiamo andando a iniziare con quello che era probabilmente il primo linguaggio naturale
sistema di elaborazione.
Questo era un sistema software scritto in 1966 da Joseph Weizenbaum chiama ELIZA.
E ELIZA è stato progettato per replicare il tipo di interazione
si avrebbe con un Psicoterapeuta rogersiana.
Ora, i Rogerians, avevano un'idea che la psicoterapia
coinvolto in grado di rispecchiare indietro ad un paziente e parlare con loro,
sostanzialmente, da solo dando loro una pochino del terapeuta.
Cioè, tutto che il terapeuta ha detto
che doveva essere solo un riflesso di ciò che il paziente stava dicendo a loro.
>> Quindi cerchiamo di demo questo.
Abbiamo un volontario che sarei disposti a condividere la loro più profonda,
più oscuri, e / o segreti falsi con ELIZA?
Certo, perché non vieni su.
Fantastico.
E il tuo nome?
>> MILES: Miles.
>> BRIAN Scassellati: Miles.
Piacere di conoscerti, Miles.
Se volete tenere su quello.
E stiamo andando a utilizzare una versione di ELIZA
che abbiamo replicato all'interno dell'IDE CS50.
E vedremo alla fonte codice a questo in un po '.
Ma per ora, siamo solo andando a richiamare digitando eliza.
>> E ELIZA sta per dare le risposte che stanno per essere in tutte le capitali.
E andando a farle alcune domande.
E noi risponderemo e tipo nelle risposte a Eliza.
Così ELIZA ha detto: "Ciao, sono ELIZA.
Qual'è il tuo problema?"
Cosa ti piacerebbe ELIZA dire di oggi?
>> MILES: Io può cadere solo addormentato se ho le pantofole coniglietto su.
>> BRIAN Scassellati: Va bene.
Tutto ok.
>> [Risata]
>> "Posso solo cadere addormentato con le pantofole coniglietto via. "
E ELIZA dice: "Dire, fare voi avere problemi psicologici?
Forse questo è un buon indicatore. "
>> OK.
Allora, cosa ti piacerebbe rispondere?
>> MILES: Sì.
>> BRIAN Scassellati: Sì.
Uomo di molte parole.
Mi piace che.
Eliza dice: "Sembri abbastanza positivo."
>> MILES: No, sono, infatti, un elettrone.
>> BRIAN Scassellati: "No.
In realtà, io sono un elettrone. " "Sei venuto da me
perché sei un elettrone? "
Ora, possiamo vedere alcuni dei il things-- Vado
per mettere in pausa voi solo per un secondo, Miles.
Non andare da nessuna parte.
Non abbiamo ancora finito con te.
ELIZA è, per certi versi, rispondendo a certe cose
che sta dicendo, ma senza una reale comprensione.
Ed è anche un po 'di ripetere a pappagallo indietro delle parti della sua frase.
>> Così abbiamo detto: "No.
In realtà, io sono un elettrone. "
Eliza ha risposto indietro, "Sei venuto perché sei un elettrone? "
Tutto ok.
Diamogli un'altra risposta qui.
Dategli una buona, Miles.
>> MILES: Good one?
>> Sì, ti prego, aiutami.
BRIAN Scassellati: "Sì.
Ti prego, aiutami. "" Sei sicuro? "
MILES: No.
BRIAN Scassellati: No.
«Che cosa suggerisce a voi?"
>> MILES: Io non può essere un elettrone.
>> BRIAN Scassellati: "Io non può essere un elettrone. "
"Stai dicendo non solo per essere negativo?"
>> Tutto ok.
Così Miles, grazie mille.
>> MILES: Grazie.
>> BRIAN Scassellati: Grazie mille.
[APPLAUSI]
>> Quindi questo programma ELIZA, per molti versi, sta rispondendo solo per i pezzi
che stiamo fornendo senza alcuna profondità comprensione di ciò che sta accadendo qui.
Questo è un tipo di sistema chiamato pattern matching, dove
stiamo cercando certo parti di testo che siamo poi
andando a prendere da ciò è stato fornito come input,
convertirlo, potenzialmente, in qualche modo, e poi restituirlo all'utente.
>> Qualcuno di voi pensa ELIZA che è in realtà
l'esecuzione di psicoanalisi validi qui?
Una persona, forse.
>> PUBBLICO: [incomprensibile].
BRIAN Scassellati: E come fa che ti fanno sentire?
Sì, in effetti, lo fa.
E stiamo andando a vedere, in realtà, il codice sorgente in un attimo.
E così si sta andando ad essere grado di fare esattamente questo.
>> Ora, ELIZA è una forma di ciò che che oggi chiameremmo una chat bot.
Si va solo attraverso il il testo che si sta fornendo,
fornisce l'importo minimo indispensabile di comprensione o di trasformazione,
e poi pappagalli di nuovo a voi.
Quindi, diamo uno sguardo, concettualmente, e parlare di ciò che
è che ELIZA sta effettivamente facendo.
>> ELIZA sta prendendo di un let sentence-- Dico, "Voglio impressionare il mio capo."
E ELIZA è alla ricerca attraverso quella frase
e cercando di trovare e abbinare certi schemi.
Così, per esempio, uno dei modelli ELIZA che sta cercando le parole
"Io voglio."
E ogni volta che vede qualcosa che ha "Voglio" in esso,
essa formula una risposta.
E che la risposta è una stringa fissa.
In questo caso, si tratta di "perché vuoi?"
E ho messo un po 'a stella alla fine, perché questo è solo
All'inizio della nostra risposta.
E la stella indica che stiamo andando a prendere il resto
di utterance-- dell'utente "per impressionare il mio capo" -
e abbiamo intenzione di aggiungere che sull'estremità di questa stringa.
>> Quindi, adesso, piuttosto che dire, "perché vuoi impressionare il mio capo, "
c'è un po 'di ulteriore elaborazione che faremo.
Cioè, dovremo convertire alcuni dei pronomi
qui dal "mio capo" a "il tuo capo."
E ci potrebbe essere qualche altro cambiamenti che dobbiamo fare.
Quindi, piuttosto che attaccare direttamente sul fine, quello che faremo
è prenderemo il resto del utterance-- dell'utente in qui-- bianco
e noi lo prenderemo un pezzo alla un tempo e convertire ogni stringa
segno, ogni parola, nella frase.
>> Quindi prendiamo la parola "a".
Non c'è alcuna conversione che dobbiamo farlo.
"Impressionare."
Non c'è alcuna conversione abbiamo bisogno di fare lì.
Il "mio" si convertirà al "vostro".
E "boss" ci lasciamo come "boss".
E poi finalmente, qualsiasi cosa che termina con un punto,
convertiremo in una domanda.
>> Questo molto semplice pattern matching in realtà è un discreto successo.
E quando questo è stato introdotto in 1966-- Joseph Weizenbaum
programmato questo su un computer.
Ora, i computer in quel momento non erano modelli desktop.
Erano le risorse condivise.
E i suoi studenti avrebbero andare a chiacchierare con ELIZA.
Alla fine, ha dovuto limitare l'accesso ad esso
perché i suoi studenti non erano ottenere qualsiasi lavoro fatto.
Stavano chiacchierando con ELIZA.
E, infatti, ha dovuto sparare il suo assistente, che
trascorso tutto il suo tempo a parlare con ELIZA dei suoi problemi profondi e preoccupanti.
>> Chiunque utilizzato questi sistemi ha iniziato ad antropomorfizzare loro.
Hanno cominciato a pensare a loro come essendo animate e persone reali.
Hanno cominciato a riconoscere alcuni dei le cose che dicevi
stavano tornando a loro.
E sono stati scoprendo cose su se stessi.
E, infatti, anche gli esperti, anche gli psicoterapeuti,
iniziato a preoccuparsi che, di fatto, forse ELIZA sarebbe la loro sostituzione.
E anche il computer scienziati preoccupati che eravamo
così vicino alla soluzione del linguaggio naturale.
>> Ora, che non era da nessuna parte vicino a true.
Ma è così che impressionante questi sistemi possono sembrare.
Quindi cominciamo a guardare sotto e provare
per ottenere un po 'di una domanda di cui questo codice effettivamente accade.
Così faremo questo codice disponibile in seguito.
E questo è molto porto semplice e diretto
della implementazione originale ELIZA.
>> Così alcuni di questi stilistica cose che vedrete qui
non sono stilisticamente cosa vorremmo che tu faccia
o quello che noi abbiamo insegnato a fare.
Ma abbiamo cercato di tenerli la stessa per tutti i numerosi porti
che ha avuto modo che ha il sapore dell'originale.
Quindi stiamo andando a includere un sacco di cose,
e poi avremo un set di parole chiave, le cose
che ELIZA riconoscerà e rispondere direttamente a.
Quindi, se avete parole come "può" o "non fare" o "no"
o "sì" o "sogno" o "ciao", allora ELIZA
risponderà in modo selettivo a quelle.
Avremo anche un certo numero di cose
che ci scambieremo, come convertendo "il mio" a "la vostra."
>> E poi avremo una serie di risposte che per ciascuna di queste parole chiave,
faremo ruotare attraverso queste diverse risposte.
Quindi, se io dico "sì" tre volte di fila, io
potrebbe ottenere tre differenti risposte da ELIZA.
Il nostro codice, dunque, è in realtà molto semplice.
Se ho scorrere verso il basso oltre tutti questi risposte che abbiamo programmato a
e ci mettiamo a nostro principale, stiamo andando a inizializzare
un paio di diverse variabili e fare un po 'di pulizia
all'inizio.
Ma poi c'è assolutamente un set di codice che si può capire.
Un grande ciclo while che dice che sono intenzione di ripetere più e più.
Leggo in una linea, e io memorizzare che in una stringa di input.
Vado a controllare e vedere se è il parola chiave speciale "bye", che
significa uscire dal programma.
E poi vado a controllare e vedere se qualcuno sta solo ripetendo se stessi
ancora ed ancora.
E io ti urlare contro di loro se lo fanno.
Dirò "non ripetere te stesso".
>> Fino a quando nessuno di coloro che accade, lo quindi eseguire la scansione attraverso e loop through,
sulle linee 308 a 313 qui, e controllare e vedere
sono una di queste parole chiave frasi contenute in ingresso
che mi è stato appena dato?
Se c'è una corrispondenza per loro, ben poi, mi ricordo quella posizione.
Me ne ricorderò parola chiave.
E sarò in grado di costruire una risposta.
>> Se non trovo una, beh, allora, l'ultima cosa nella mia matrice parola chiave
sarà mie risposte predefinite, quando niente partite.
Chiederò domande come "Perché l'hai fatto Vengo qui? "o" Come posso aiutarla? "
che sono solo parzialmente adeguate non importa quale l'ingresso è.
>> Provvederemo quindi costruiamo la risposta di ELIZA.
Saremo in grado di prendere che la risposta di base,
proprio come abbiamo fatto in quella esempio "il mio capo".
Se questo è tutto quello che c'è è-- se è solo un
stringa che dovrei respond-- Posso solo trasmettere di nuovo fuori.
Se ha un asterisco alla fine di esso, allora io
elaborare ogni singolo token il resto della risposta dell'utente
e aggiungere quelli, sostituendo parola per parola, come ho bisogno di.
>> Tutto questo è assolutamente qualcosa che si potrebbe costruire.
Ed infatti, i modi in cui avere argomenti della riga di comando elaborati,
il modo in cui si dispone elaborati attraverso richieste HTTP
seguire lo stesso tipo di regole.
Sono pattern matching.
>> Così ELIZA aveva una relativamente importante impatto sul linguaggio naturale
perché sembrava che si trattava di un obiettivo molto raggiungibile, come in qualche modo saremmo
essere in grado di risolvere il problema direttamente.
Ora, questo non vuol dire che ELIZA fa tutto quello che vorremmo fare.
Certamente no.
Ma dovremmo essere in grado fare qualcosa di più.
>> Il nostro primo passo per andare al di là di ELIZA sta andando
per essere in grado di guardare non essere iscritti testo
nella tastiera ma il discorso, reale discorso registrato in un microfono.
Così come si guarda questi diversi pezzi, siamo
andando a costruire una serie di modelli.
Stiamo andando ad avere per essere in grado per passare dal basso livello acustico
passo informazioni inclusi, ampiezza, frequency--
e convertire in alcune unità che siamo
in grado di manipolare facilmente e, infine, manipolarle
in parole e frasi.
>> Così la maggior parte di riconoscimento vocale sistemi che sono là fuori oggi
seguire una statistica modello in cui si costruisce
tre rappresentazioni separate di ciò che che il segnale audio contiene in realtà.
Si comincia con un modello fonetica che parla di solo la base
suoni che sto producendo.
Sto producendo qualcosa che è un B come in ragazzo o una D come nel cane?
Come posso riconoscere i due diversi cellulari come separato e distinto?
>> In cima a quello, ci poi costruire una pronuncia modello di parola,
qualcosa che lega insieme quei singoli telefoni
e li combina in una sola parola.
E dopo che, prenderemo le parole e noi li faremo assembliamo con un linguaggio
modellare in una frase completa.
>> Ora, stiamo andando a parlare di ogni di questi indipendentemente e separatamente.
Ma questi tre modelli sono tutti solo andando a essere le statistiche.
E questo significa che quando ci lavorare con loro, ce la faremo
essere in grado di lavorare con tutti contemporaneamente.
Tutto ok.
Cominciamo con il nostro modello di fonetica.
Così modelli fonetici si basano su una tecnica computazionale
chiamato modelli di Markov nascosti.
Si tratta di modelli grafici in cui mi avere e riconoscere uno stato del mondo
come caratterizzato da una serie di funzioni.
E questo stato descrive una parte di un'azione che sono fidanzata in.
>> Quindi, se penso a fare il suono "ma" come la madre,
ci sono diversi componenti di quel suono.
C'è una parte dove attiro a fiato.
E poi ho borsa mie labbra.
E Alzo le labbra un po 'indietro bit per rendere quel suono "ma".
E poi c'è un rilascio.
Le mie labbra si disfano.
L'aria viene espulsa.
"Ma".
>> Questi tre parti differenti sarebbero rappresentata dagli stati in questo graph--
l'inizio, la metà e la fine.
E vorrei avere transizioni che mi ha permesso di viaggiare da uno stato
all'altro con una certa probabilità.
Così, per esempio, che M suono potrebbe avere un molto,
molto breve l'assunzione al beginning-- "mm" - e quindi una più lunga,
fase vibratoria dove sto tenendo il mio labbra e quasi humming--
"mmmm" - e quindi un brevissimo esplosiva dove ho espello breath-- "ma".
>> Il modello di Markov è nascosta progettato per catturare il fatto
che il modo in cui faccio quel suono "ma" sta andando
essere leggermente diversa i suoi tempi, è la frequenza,
e le sue caratteristiche che il modo in cui si rendono
o il modo in cui potrei farlo quando parlo
sui diversi usi della lettera.
"Madre" e "può io" sarà suono leggermente diverso.
>> Quindi, per riconoscere un suono particolare, avremmo
costruire modelli di Markov, questi nascosto di Markov modelli, di ogni telefono possibile che io
potrebbe voler riconoscere, ogni suono possibile,
e poi guardare il dati acustici che ho
e determinare statisticamente qual è il più probabile
aver prodotto questo suono.
OK.
Con questo modello, abbiamo poi iniziare a costruire su di esso.
Prendiamo un modello di pronuncia.
Ora, a volte pronuncia modelli sono semplici e facili
perché c'è un solo modo di pronunciare qualcosa.
Altre volte, sono un po 'più complicato.
Ecco una guida alla pronuncia per quella cosa rossa che è
un frutto che si fanno ketchup fuori.
La gente non pensa che sia un frutto.
Destra?
>> Ora, ci sono molti modi diversi che la gente pronunciare questa parola.
Alcuni diranno "in punta di piedi maggio."
Alcuni diranno "in punta di piedi mah."
E possiamo catturare quella con uno di questi modelli grafici
dove, ancora una volta, noi rappresentiamo transizioni come avente una certa probabilità
e associati probabilità con loro.
>> Quindi, in questo caso, se dovessi seguire il percorso superiore attraverso l'intero grafico,
Sarei a partire dalla lettera in fondo a sinistra, il suono "ta".
Vorrei prendere la metà superiore, il "oh" e quindi un "ma"
e quindi una "a" e quindi un "ta", e un "oh". "Toe-may-toe."
Se ho preso il sentiero in basso attraverso questo, otterrà "ta-mah-toe."
E se sono andato giù e poi up, vorrei avere "ta-may-toe."
>> Questi modelli catturano questi differenze perché ogni volta
schieriamo uno di questi sistemi di riconoscimento,
sta andando a lavorare con un sacco di diversi tipi di persone,
un sacco di accenti diversi, e anche diversi usi delle stesse parole.
Infine, per di più, costruiremo qualcosa
che sembra davvero complicato, chiamato il modello di linguaggio,
ma in realtà è il più semplice di il tre perché questi operano
su quelli che vengono chiamati modelli n-gram.
E in questo caso, ti sto mostrando un modello n-gram in due parti, una bigram.
Stiamo andando a rendere fisica l'idea che a volte, certe parole sono
più probabilità di seguire un parola data rispetto ad altri.
Se ho appena detto "previsioni del tempo" la parola successiva potrebbe probabilmente "oggi"
o potrebbe essere "il tempo previsioni di domani. "
Ma è improbabile che sia "il Previsioni meteo carciofo. "
>> Che modello di linguaggio fa è cattura quelli statisticamente
contando, da alcuni molto grande corpus, tutte le istanze
in cui una parola segue un altro.
Quindi, se prendo una grande corpus-- come ogni Wall Street Journal
che è stato prodotto dal 1930, che è uno dei corpuses-- norma
e non vedo tutta quel testo, e io conto
up quante volte dopo "oggi" "previsione" faccio io vedo
e quante volte io vedo "previsione" seguito da "carciofi"
il primo è andare di essere molto più probabile.
Sta andando a comparire molto più spesso.
E così si avrà un più alto probabilità associata.
>> Se voglio capire il probabilità di un intero enunciato,
poi, ho appena disgregare.
Quindi la probabilità dell'udito la frase "il topo ha mangiato formaggio"
è la probabilità della parola "la" a partire una frase,
e quindi la probabilità che il parola "topo" segue la parola "il",
e la probabilità che il parola "ate" segue "ratto"
e la probabilità che "formaggio" segue "mangiato".
>> Questo suona come un sacco di le statistiche, un sacco di probabilità.
E questo è tutto quello che è.
Ma la cosa sorprendente è che se si esegue questa operazione con un ampio campione sufficiente di dati,
Funziona.
E funziona tremendamente bene.
Sappiamo tutti che queste tecnologie.
La maggior parte dei sistemi operativi sono dotati di riconoscimento vocale a questo punto.
Usiamo Siri e Cortana e Echo.
E queste cose sono basate su questo tipo di tre strati modello--
un modello fonetica in basso, un pronuncia modello nel mezzo,
e un modello di linguaggio su di essi.
>> Ora, quello che devono fare un po 'di più oltre che per rispondere alle domande.
Ma il riconoscimento di ciò che sei detto dipende esattamente su questo.
Quindi cerchiamo di prendere un esempio qui.
Così ho il mio telefono seduto qui sotto la telecamera documenti.
E stiamo andando a CHIEDE SIRI alcune domande.
Tutto ok?
>> Quindi cerchiamo di svegliarsi il mio telefono qui.
Siri, che cosa è il tempo come a New Haven oggi?
>> SIRI: Ecco il meteo New Haven, Connecticut oggi.
>> BRIAN Scassellati: OK.
Quindi, prima si è visto che Siri riconosciuto ciascuna delle singole parole
e poi prodotto una risposta.
Parleremo di come questa risposta avviene in un po '.
Ma ora che sappiamo che questo è basato solo
sulle statistiche prime e questo modello tipo di corrispondenza di approccio,
siamo in grado di giocare alcuni giochi con Siri.
>> Così posso riprovare.
Siri, che cosa è il tempo ippopotamo New Haven, oggi?
>> SIRI: OK.
Ecco il meteo per New Haven, Connecticut per oggi.
BRIAN Scassellati: Siri non scoraggiare da che
perché ha trovato il pattern-- "tempo", "oggi", "New Haven".
Questo è quello che sta rispondendo a, proprio come ELIZA.
Tutto ok.
Diamogli un altro ancora altro esempio ridicolo.
Siri, tempo di carciofi armadillo ippopotamo New Haven?
>> SIRI: fammi controllare su questo.
Ecco cosa ho trovato sul web per quello che sono i carciofi armadillo
ippopotamo New Haven.
>> BRIAN Scassellati: OK.
Quindi, se vado abbastanza lontano lontano da questo modello,
Sono in grado di confondere perché non corrisponde più il modello che ha.
E quello statistico motore che sta dicendo,
qual è la probabilità che hai la parole ippopotamo e carciofi
insieme, e armadillo?
Questo è avuto modo di essere qualcosa di nuovo.
>> Così queste tecnologie che usiamo ogni giorno.
Se vogliamo fare loro un passo inoltre, anche se, se effettivamente
vogliono essere in grado di parlare di ciò che è che questi sistemi stanno rispondendo,
dobbiamo parlare, ancora una volta, su un insieme più fondamentale di domande.
E questo è un argomento in comunicazione che chiamiamo question answering.
Cioè, noi vogliamo essere in grado a-- sì?
PUBBLICO: [incomprensibile].
BRIAN Scassellati: Otteniamo in elaborazione semantica latente?
Allora sì.
Ci sono un sacco di cose che sono accadendo sotto la superficie con Siri
e in alcuni degli esempi Io vado a mostrarvi prossimo
dove c'è un bel po ' in termini di struttura
di quello che stai dicendo che è importante.
E, infatti, che è un grande precursore per la prossima diapositiva per me.
>> Così nello stesso modo che la nostra il riconoscimento vocale è stato costruito
di più livelli, se vogliamo capire che cosa è che in realtà
Detto questo, stiamo andando a nuovo contare su un'analisi multistrato
del testo che viene riconosciuto.
Così, quando Siri è effettivamente in grado di per esempio, guardo ho trovato queste parole.
Ora cosa devo fare con loro?
Il primo componente è spesso passare il turno e cercare di analizzare
la struttura della frase.
E in quello che abbiamo visto in grado di scuola, spesso,
come una sorta di diagrammi frasi, stiamo andando
riconoscere che alcuni parole hanno certi ruoli.
Questi sono sostantivi.
Questi sono pronomi.
Questi sono verbi.
E stiamo andando a riconoscere che per un particolare grammatica,
in questo caso grammatica, ci sono modi validi in cui io possa combinare
e altri modi che non sono validi.
>> Tale riconoscimento, che la struttura, potrebbe essere sufficiente per aiutarci guidare
un po.
Ma non è abbastanza per noi essere in grado di dare
qualsiasi senso a quello che viene detto qui.
Per fare questo, dovremo fare affidamento su una certa quantità di elaborazione semantica.
Cioè, stiamo andando a guardare al di sotto quello che ognuna di queste parole
in realtà porta come significato.
E nel modo più semplice di fare questo, stiamo andando da associare a ogni parola
che sappiamo una certa funzione, una certa trasformazione che
permette di accadere.
>> In questo caso, potremmo etichettare il parola "John" come un nome proprio,
che porta con sé una identità.
E potremmo etichettare "Maria", come allo stesso modo.
Considerando che un verbo come "amori", che costituisce un particolare rapporto
che siamo in grado di rappresentare.
Ora, questo non significa che che abbiamo capito
cos'è l'amore, ma solo che abbiamo capito nel modo di un sistema simbolico.
Cioè, siamo in grado di etichettare e manipolarla.
>> Con ciascuno di questi tipi di approcci, qualsiasi tipo di elaborazione semantica
qui sta per richiedere un po ' po 'di conoscenza e di un sacco di lavoro
da parte nostra.
Non siamo più nel regno dove le statistiche appena pianura
stanno per essere abbastanza per noi.
Ora, al fine di andare da questo punto di essere
in grado di parlare l'interno cosa sta realmente accadendo qui,
ad essere in grado di manipolare questo strutturare e capire una domanda
e quindi poter per uscire e cercare,
che richiede una maggiore modello cognitivo complesso.
>> Il modo in cui questi sistemi sono costruiti è per la maggior parte molto, molto lavoro
intensiva.
Essi coinvolgono esseri umani spendere una grande quantità
di tempo strutturare modi in che questi tipi di frasi
può essere rappresentato in una logica.
Diventa ancora un po ' più complesso, però.
>> Anche una volta che abbiamo affrontato con la semantica, faremo
devono ancora guardare il pragmatica di quello che viene detto.
Cioè, come faccio mi relaziono le parole che devo qualcosa fisicamente
là nel mondo o in almeno una fonte di informazione
che posso manipolare?
>> A volte, queste portano a meravigliosi pezzi di ambiguità.
"Red-hot stella a sposare astronomo."
OK.
Ora, si legge che il divertente tipo di titolo
che avremmo visto in TV a tarda notte perché noi non interpretiamo "stella"
per avere il suo significato corpo celeste.
Sappiamo che significa che il più attore o attrice banale
con elevate quantità di visibilità.
>> "Squad aiuta morso di cane vittima".
E 'che la squadra è in realtà là fuori che assiste un cane
ad andare in giro e mordere le vittime?
O è che non c'era un individuo che era
morso da un cane che aveva bisogno di aiuto?
Ma guardando la sintassi e la semantica delle frasi,
non possiamo determinare che.
>> "Elicottero alimentato da mosche umane."
Vi sono, infatti, effettivo piccole cose che volano intorno
sono persone con le ali alimentare elicotteri per il bene dell'umanità?
O c'è un dispositivo meccanico che deriva il suo potere da una persona?
>> Quando guardiamo domanda sistemi di risposta,
questi sono gli strati che dobbiamo affrontare.
Ora, la migliore e la più specie di prevalente di questi sistemi
oggi sono in grado di fare cose a un livello che sono
ben oltre quello che avevamo 10 anni fa.
Ecco uno dei migliori sistemi di che è là fuori oggi.
E questo è un sistema IBM chiamato Watson.
Questo è da parte dei nostri amici a IBM.
Si tratta di banche Katherine, Jia Chen, e Priscilla Moraes dandoci
una dimostrazione di Watson ieri a IBM di Yorktown.
[RIPRODUZIONE VIDEO]
-Come stai?
>> -Sto bene.
Sono sempre felice quando sono pensiero, soprattutto quando ho
può mantenere il sangue freddo in queste sale server.
-Chi È la tua attrice preferita?
>> -La Mia attrice preferita Angelina Jolie come Lara Croft
in Tomb Raider, perché la sua originale forma era come un personaggio virtuale come me.
>> -Come Può Watson aiutare i pazienti?
>> -È Il piano per i pazienti a avere accesso a Watson direttamente?
L'accesso a Watson di consulenza applicazioni variano dai casi d'uso.
Ma attualmente, Watson fornirà solo possibile diagnosi e trattamento
opzioni per professionista medico.
Se del caso, i pazienti possono fornire informazioni
Watson, magari attraverso un interfaccia portale, tablet,
o anche un telefono cellulare.
Per esempio, un paziente può essere chiesto di descrivere i loro sintomi
in linguaggio naturale direttamente in una soluzione Watson,
permettendo al medico di concentrarsi su diagnosi e non raccolta dati.
>> -Chi Assassinato Abraham Lincoln?
>> -John Wilkes Booth.
>> -In Che anno ha fatto il Arizona Diamondbacks vincono le World Series?
>> -2001.
>> [FINE RIPRODUZIONE]
>> BRIAN Scassellati: So questi tipi di sistemi
contare su anzitutto riconoscendo il discorso; secondo,
convertendolo in un interno significativo rappresentazione; e poi, terzo,
essere in grado di uscire e trovare la fonte di informazioni che
permette loro di rispondere a questa domanda.
Questo livello di complessità comporta lo stesso tipo di cose programmatiche
che sei stato facendo in insiemi di problemi.
>> Siamo in grado di analizzare le richieste HTTP in lo stesso tipo di modello di basso livello
corrispondenza che ELIZA può fare.
Siamo in grado di convertire quelli in una rappresentazione interna,
e poi usarli per interrogare alcuni database esterno, possibilmente utilizzando SQL.
Tutti i sistemi che sono in costruzione oggi
per fare questo tipo di naturale comunicazione linguistica
sono in costruzione su questi stessi principi.
>> Ora, anche un sistema come Watson non è abbastanza complessa
essere in grado di rispondere arbitraria domande su qualsiasi argomento.
Ed infatti, devono essere strutturato all'interno di un determinato dominio.
Così si può andare on-line e si può trovare versioni di Watson che operano bene
all'interno informatica medica.
Oppure c'è una linea che si occupa solo di come
di fare buone raccomandazioni circa cosa birra andrà con cui il cibo.
E all'interno di tali domini, può rispondere alle domande,
trovare le informazioni di cui ha bisogno.
>> Ma non si può mescolare e abbinarli.
Il sistema che è stato addestrato con il database di cibo e birra
non funziona bene quando improvvisamente metterlo in con il medico informatico
Database.
Così anche i nostri migliori sistemi di oggi contare su un livello di elaborazione
in cui ci troviamo codifica manuale e la costruzione nelle infrastrutture, al fine
per far correre questo sistema.
>> Ora, l'ultimo argomento voglio per poter arrivare a oggi
è sulla comunicazione non verbale.
Una grande massa di informazioni che comunichiamo con l'altro
non avvenire attraverso il singole parole che stiamo applicando.
Ha a che fare con cose come vicinanza, lo sguardo, il tono di voce,
la tua inflessione.
E che la comunicazione è anche qualcosa che molte interfacce differenti
cura molto su.
Non è quello che Siri si preoccupa.
Posso chiedere Siri qualcosa in una sola voce o in un altro tono,
e Siri sta per mi danno la stessa risposta.
Ma questo non è ciò che costruiamo per molti altri tipi di interfacce.
>> Voglio presentarvi ora uno dei robot.
Questo è stato costruito da mia lunga data amico e collega Cynthia
Breazeal e la sua compagnia Jibo.
E questo robot-- stiamo andando di avere un paio di volontari
venire a interagire con questo.
Così posso avere due persone disposte per giocare con il robot per me?
Perché non vieni su, e perché non si arriva su un massimo.
Se desideri unirsi a me qui, per favore.
>> E se potessi averti venire proprio qui.
Grazie.
Salve.
>> ALFREDO: Piacere di conoscerti.
Alfredo.
>> BRIAN Scassellati: Alfredo.
>> RACHEL: Rachel.
BRIAN Scassellati: Rachel.
Piacere di conoscerti entrambi.
Alfredo, ho intenzione di avere di andare prima.
Vieni a destra qui.
Ho intenzione di presentare you-- se posso ottenere questo fuori
senza bussare la microphone-- di un piccolo robot di nome Jibo.
ok?
>> Ora, Jibo è progettato per essere interattivo.
E anche se può dare la parola, molto dell'interazione con il robot
è non verbale.
Alfredo, ho intenzione di chiedere di dire qualcosa di bello e gratuito
al robot, per favore.
ALFREDO: Penso che si guarda carino.
>> [Ronzio]
BRIAN Scassellati: OK.
La sua risposta non è verbale.
Eppure ti ha dato tanto un chiaro riconoscimento
che aveva sentito quello che hai detto e anche in qualche modo capito che.
ok?
Passo terzino destro qui per un secondo.
Grazie.
>> Rachel, se si farebbe.
Ora, ho intenzione di dare il lavoro molto più difficile.
Se desideri stare proprio qui, eseguire il backup solo un po 'così
siamo in grado di ottenere sulla fotocamera e guardare in questo modo.
Sto per chiederle di dire qualcosa significa veramente brutto e al robot.
>> RACHEL: Quello che hai appena sembravi fare era completamente assurdo.
>> [Ronzio]
>> Questo era ancora più assurdo.
Che ti succede?
Oh, non mi sento male.
Ti darò un abbraccio.
BRIAN Scassellati: Va bene.
Grazie, Rachel.
Alfredo, Rachel, grazie ragazzi molto.
>> [APPLAUSI]
>> Quindi questo tipo di interazione ha in molti modi alcune delle stesse regole
e alcuni degli stessi struttura come quello che abbiamo
potrebbe avere in interazione linguistica.
E 'sia comunicativo e serve uno scopo importante.
E che l'interazione, in per molti versi, è stato progettato
per avere un effetto particolare sulla persona che interagisce con o ascoltare
al robot.
>> Ora, io sono abbastanza fortunato avere Jibo qui oggi.
Sam Spaulding è qui per aiutare noi con il robot.
E ho intenzione di chiedere a Sam di dare noi uno bella demo di Jibo danza
che possiamo guardare alla fine qui.
Quindi, andare avanti, Jibo.
>> SAM: OK, Jibo.
Mostraci i tuoi passi di danza.
>> [RIPRODUZIONE DI BRANI MUSICALI]
BRIAN Scassellati: Va bene, tutti.
Grazie ai nostri amici di Jibo.
>> [APPLAUSI]
>> E grazie ai nostri amici a IBM per aiutare fuori oggi.
La comunicazione è qualcosa che si sta andando
per vedere fino a venire sempre più come costruiamo interfacce più complesse.
La prossima settimana, parleremo su come interfacciare
con avversari controllati dal computer nei giochi.
Ma se avete domande su questo, Sarò in giro a orario d'ufficio stasera.
Sono felice di parlare con te di AI argomenti o per entrare in modo più dettagliato.
Buon fine settimana.
>> [APPLAUSI]
[RIPRODUZIONE DI BRANI MUSICALI]