>> [Música tocando]
>> DAVID MALAN: Este é CS50.
Este é o fim de semana 10.
E o menino, que temos um classe boa para você hoje.
Estamos tão animado para convidar dois nossos amigos de Yale até nós hoje
e a olhar para a intersecção de inteligência artificial, robótica,
processamento de linguagem natural, e muito mais.
>> E, de fato, sobre o últimas semanas, temos
certamente passou muito tempo, especialmente nas Série de Exercícios anteriores,
concentrando-se em belos detalhes de baixo nível.
E é muito fácil perder de vista da floresta para as árvores
e ficam penduradas sobre loops e condições e ponteiros, com certeza, e assim por diante.
Mas a realidade é que vocês têm agora a ingredientes com os quais você pode realmente
resolver alguns problemas interessantes, entre eles os que os nossos amigos na Yale
trabalhar em apenas tímido de Cambridge.
>> Assim, permitam-me primeiro a introduzir a nossa cabeça assistente de ensino de Yale, Andy.
>> [Aplausos]
>> ANDY: Primeiro de tudo, apenas agradecer por permitir que um casal Yalies
a estalar em baixo para Cambridge hoje.
Nós realmente aprecio isso.
Em segundo lugar, para nossos amigos volta casa-- Jason,
Obrigado por ficar e correr palestra.
Esperança é tudo de bom em New Haven.
>> Então sim, eu estou super animado introduzir SCAZ hoje.
SCAZ corre o laboratório de robótica.
Ele é um professor de, como, cinco diferentes departamentos em Yale.
Em seu laboratório, ele tem muitos, muitos robôs que ele gosta de jogar com.
Ele tem, como, a mais legal emprego do mundo.
E ele começa a tipo de confusão em torno de todo o dia com que
longo e fazer algum trabalho, também.
>> E assim nós, na verdade trouxe uma de-los para baixo com a gente hoje.
Assim, sem mais delongas, é SCAZ indo para ir em frente e introduzir-nos
ao seu amigo robô.
>> [Aplausos]
BRIAN Scassellati: Obrigado, David.
Obrigado, Andy.
É tão maravilhoso estar aqui com todo mundo hoje.
Quero primeiro ser muito claro que a equipe CS50 aqui em Cambridge
tem sido incrivelmente hospitaleiro para nós.
Nós somos tão gratos por tudo eles fizeram para nos apoiar.
E assim nós gostaríamos de ser capaz para retribuir a gentileza.
>> Então, hoje, nós começamos a anunciar que nós vamos ter um novo,
one-of-a-kind evento CS50 acontecendo em New Haven na próxima semana.
E essa é a Research Expo CS50.
Então, nós estamos indo para ser convidativo everyone-- CS50 alunos,
funcionários de ambos Harvard e Yale-- para descer e visitar-nos na sexta-feira.
Nós vamos ter uma grande variedade de mais de 30 pessoas diferentes que apresentam
e upperclassmen exhibiting-- mostrando fora alguns de seus produtos de pesquisa.
Nós vamos ter algumas startups, mesmo, à procura para um pouco de novos talentos tecnologia,
startups de ambos Harvard e Yale.
E nós vamos ter alguns grupos de estudantes procurando alguma nova associação.
>> Vai ser um momento muito emocionante.
Esperemos que aqueles de vocês que são descendo para o jogo Harvard-Yale
será capaz de parar por um pouco mais cedo,
mesmo no centro de campus, Sterling Memorial Library.
Nós vamos ter um conjunto de exposições que vão desde autónoma
veleiros para formas de utilização de software para preservar manuscritos medievais.
>> Nós vamos ter de anúncios networking hoc e pessoas
ensino de codificação de software em Cape Town.
Teremos computador manifestações musicais.
E nós vamos, naturalmente, mais robôs.
Então, nós esperamos que você vai se juntar a nós para este evento.
Ele deve ser um monte de divertimento, um pouco de comida,
e um monte de interessante coisas para falar.
>> Então, hoje, nós estamos indo falar cerca de processamento de linguagem natural.
E esta é a tentativa para nós para construir uma nova forma de interagir
com nossos dispositivos, pois para as últimas semanas,
você foi focado em como é que você pode escrever código, escrever software
que é uma maneira de ser capaz de dizer a um máquina, é isso que eu quero que você faça.
>> Mas não devemos precisar esperar que tudo
que está lá fora que é usado por todos no mundo
vai ser proficiente neste tipo de instrução.
Assim, podemos distinguir entre o computador linguagens e languages-- naturais
isto é, coisas que os seres humanos usam para comunicar com outros seres humanos.
E nós tentamos construir interfaces que usam estes mecanismos naturais de comunicação.
>> Agora, como qualquer outro tópico que nós começamos com em CS50,
vamos começar com o mais simples bit de processamento de linguagem natural
que podemos imaginar.
Nós vamos começar com a parte histórica da linguagem natural.
E então nós vamos construir até sistemas mais e mais recentes
e tem algumas demos de diversão ao longo do caminho.
>> Então, vamos começar com o que foi provavelmente a primeira linguagem natural
sistema de processamento.
Este foi um sistema de software escrito em 1966 por Joseph Weizenbaum chamado ELIZA.
E Eliza foi concebido para replicar o tipo de interação
você teria com um Psicoterapeuta Rogerian.
Agora, os Rogerians, tinham uma idéia que a psicoterapia
envolvidos serem capazes de refletir de volta a um paciente e falar com eles,
basicamente, de apenas dando-lhes um pouquinho do terapeuta.
Isto é, tudo que o terapeuta disse
era suposto ser apenas um reflexo da o que o paciente estava dizendo a eles.
>> Então, vamos tentar e demonstrar isso.
Será que temos um voluntário que seria dispostos a compartilhar seu mais profundo,
mais escuros, e / ou segredos falsos com ELIZA?
Claro, por que você não vem em cima.
Fantástico.
E o seu nome?
>> MILES: Miles.
>> BRIAN Scassellati: Miles.
Prazer em conhecê-lo, Miles.
Se você segurar isso.
E nós estamos indo para usar uma versão de ELIZA
que temos replicada dentro do IDE CS50.
E nós vamos olhar para a fonte código para isso em pouco tempo.
Mas, por agora, nós somos apenas indo para invocá-lo digitando eliza.
>> ELIZA e vai dar-lhe as respostas que vão estar em todas as capitais.
E vai lhe fazer algumas perguntas.
E nós vamos responder e digite em respostas a ELIZA.
Então ELIZA disse: "Oi, eu sou ELIZA.
Qual o seu problema?"
O que você gostaria de ELIZA dizer sobre hoje?
>> MILES: Eu só posso adormecer se eu tenho pantufas de coelhinho diante.
>> BRIAN Scassellati: Tudo bem.
Tudo certo.
>> [RISO]
>> "Eu só posso adormecer com pantufas de coelhinho sobre ".
ELIZA e diz: "Diga, você tem problemas psicológicos?
Talvez este seja um bom indicador. "
>> ESTÁ BEM.
Então, o que você gostaria de responder?
>> MILES: Sim.
>> BRIAN Scassellati: Sim.
Homem de muitas palavras.
Eu gosto disso.
Eliza diz: "Você parece bastante positiva."
>> MILES: Não, eu sou, de fato, um elétron.
>> BRIAN Scassellati: "No.
Na verdade, eu sou um elétron. " "Você veio para me
porque você é um elétron? "
Agora, podemos ver alguns dos o coisas- eu vou
para fazer uma pausa por apenas um segundo, Miles.
Não ir a qualquer lugar.
Nós não terminamos com você ainda.
ELIZA é, em alguns aspectos, responder a certas coisas
que ele está dizendo, mas sem qualquer entendimento real.
E também está repetindo de volta alguns das partes da sua sentença.
>> Por isso, disse, "No.
Na verdade, eu sou um elétron. "
Eliza respondeu de volta, "Você veio para mim, porque você é um elétron? "
Tudo certo.
Vamos dar mais uma resposta aqui.
Dê-lhe uma boa, Miles.
>> MILES: Good one?
>> Sim, por favor me ajude.
BRIAN Scassellati: "Sim.
Por favor, me ajude. "" Você tem certeza? "
MILES: Não.
BRIAN Scassellati: Não.
"O que isso sugere a você?"
>> MILES: Eu não posso ser um elétron.
>> BRIAN Scassellati: "Eu pode não ser um elétron. "
"Você está dizendo que não apenas a ser negativo?"
>> Tudo certo.
Então, Miles, muito obrigado.
>> MILES: Obrigado.
>> BRIAN Scassellati: Muito obrigado.
[Aplausos]
>> Portanto, este programa ELIZA, de muitas maneiras, responde apenas às peças
que estamos oferecendo, sem qualquer profundidade compreensão do que está acontecendo aqui.
Este é um tipo de sistema chamado de correspondência de padrões, onde
estamos à procura de certa pedaços de texto que estamos em seguida,
vai levar para fora do que foi fornecida como entrada,
convertê-lo, potencialmente, de alguma forma, e depois devolvê-lo para o usuário.
>> Algum de vocês pensam ELIZA que é realmente
realizando psicanálise válido aqui?
Uma pessoa, talvez.
>> AUDIÊNCIA: [inaudível].
BRIAN Scassellati: E como isso faz você se sentir?
Sim, de fato, ele faz.
E vamos ver, na verdade, a código-fonte para ele em apenas um momento.
E assim você vai ser capaz de fazer exatamente isso.
>> Agora, Eliza é uma forma daquilo que chamaríamos hoje de um bot de bate-papo.
Ele só vai através do texto que você está fornecendo,
fornece a quantidade mínimo de compreensão ou de transformação,
e, em seguida, papagaios-lo de volta para você.
Então, vamos dar uma olhada, conceitualmente, e falar sobre o que
é que ELIZA está realmente fazendo.
>> ELIZA está tomando um let sentence-- dizer: "Eu quero impressionar o meu chefe."
E ELIZA está olhando através de que a sentença
e tentando encontrar e coincidir com certos padrões.
Assim, por exemplo, um dos padrões ELIZA que está procurando são as palavras
"Eu quero."
E a qualquer momento se vê algo que tem "eu quero" nele,
formula uma resposta.
E essa resposta é uma string fixa.
Neste caso, é "por que você quer?"
E eu coloquei uma pequena estrela na o fim, porque isso é apenas
o início da nossa resposta.
E o asterisco indica que vamos levar o resto
de utterance-- do usuário "para impressionar o meu patrão" -
e nós estamos indo para acrescentar que para o final dessa seqüência.
>> Então, agora, ao invés de dizer, "por você quer impressionar o meu chefe ",
há um pouco de adicional processamento que nós vamos fazer.
Ou seja, nós vamos ter que converter alguns dos pronomes
aqui a partir de "meu chefe" para "seu chefe."
E pode haver alguns outros mudanças que precisamos fazer.
Então, ao invés de apenas furando- diretamente para o final, o que vamos fazer
é que vamos levar o resto do utterance-- do usuário em branco aqui--
e nós vamos levá-lo uma peça de um tempo e converter cada seqüência
forma, cada palavra, na sentença.
>> Então, vamos tomar a palavra "para".
Não há nenhuma conversão que temos de fazer isso.
"Impressionar."
Não há nenhuma conversão o que precisamos fazer lá.
"Meu" irá converter para "seu".
E "chefe" vamos deixar como "chefe".
E, em seguida, finalmente, nada que termina com um período,
vamos convertê-lo em uma pergunta.
>> Este padrão de correspondência muito simples é realmente muito bem sucedido.
E quando este foi introduzido em 1966-- Joseph Weizenbaum
programado isso em um computador.
Agora, os computadores naquela época não eram modelos desktop.
Eles estavam de recursos compartilhados.
E seus alunos seria ir e conversar com ELIZA.
Eventualmente, ele teve que restringir o acesso a ele
porque seus alunos não eram recebendo todo o trabalho feito.
Eles estavam apenas conversando com ELIZA.
E, de fato, ele teve que disparar sua assistente, que
gastou todo o seu tempo conversando com ELIZA sobre seus problemas profundos e preocupantes.
>> Todos os que usaram estes sistemas começou a antropomorfizar-los.
Eles começaram a pensar neles como sendo animado e pessoas reais.
Eles começaram a reconhecer alguns dos as coisas que eles estavam dizendo
estavam voltando para eles.
E eles foram descobrindo coisas sobre si mesmos.
E, na verdade, até mesmo os especialistas, mesmo os psicoterapeutas,
começou a se preocupar que, de fato, talvez ELIZA seria substituí-los.
E até mesmo o computador cientistas preocupados que estávamos
tão perto de resolver linguagem natural.
>> Agora, isso não foi em qualquer lugar perto de verdade.
Mas isso é como impressionante estes sistemas podem parecer.
Então, vamos começar a olhar por baixo e tentar
para obter um pouco de uma pergunta de onde esse código realmente acontece.
Então, vamos fazer este código disponível depois.
E este é um muito porta simples e direta
da implementação original ELIZA.
>> Assim, alguns destes estilística coisas que você verá aqui
não são o que estilisticamente nós queremos que você faça
ou o que estamos ensinando-lhe para fazer.
Mas nós tentamos mantê-los o mesmo em muitos portos
que este teve de modo que ele tem o sabor do original.
Então, nós estamos indo para incluir um monte de coisas,
e então nós vamos ter um conjunto de palavras-chave, as coisas
ELIZA que irá reconhecer e responder aos diretamente.
Então se você tem palavras como "pode ​​você" ou "eu não" ou "não"
ou "sim" ou "sonho" ou "Olá", então ELIZA
irá responder selectivamente para aqueles.
Também vamos ter um certo número de coisas
que vamos trocar, como converter "meu" para "seu".
>> E então nós vamos ter um conjunto de respostas que, para cada uma dessas palavras-chave,
nós vamos girar através estas diferentes respostas.
Então, se eu dizer "sim" três vezes consecutivas, I
pode ter três diferentes respostas de ELIZA.
Nosso código, então, é na verdade, extremamente simples.
Se eu rolar para baixo após todos estes respostas que temos programados em
e nós chegar até a página, nós estamos indo para inicializar
um par de variáveis ​​diferentes e fazer um pouco de arrumação
no começo.
Mas então não há absolutamente um conjunto de código que você pode entender.
Um loop while grande que diz que eu sou vai repetir isso mais e mais.
Vou ler em uma linha, e eu vou armazenar isso em uma seqüência de entrada.
Vou verificar e ver se é o palavra-chave especial "bye", que
significa sair do programa.
E então eu vou verificar e ver se alguém está apenas repetindo-se
de novo e de novo.
E eu vou gritar com eles se eles fazem.
Eu vou dizer "não repetir-se."
>> Enquanto nenhum desses acontecer, vamos em seguida, a varredura através de e loop através,
em linhas 308 a 313 aqui, e verificar e ver
são aqueles de qualquer palavra-chave frases contidas na entrada
que eu estava acabado de dar?
Se houver uma correspondência para eles, bem então, eu vou lembrar desse local.
Vou me lembrar dessa palavra-chave.
E eu vou ser capaz de construir uma resposta.
>> Se eu não encontrar um, bem, então, a última coisa na minha matriz palavra-chave
sereis minhas respostas padrão, quando nada mais jogos.
Eu vou fazer perguntas como "Por que você fez vir aqui? "ou" Como posso ajudá-lo? "
que são apenas parcialmente adequado não importa o que a entrada é.
>> Vamos, então, construir-se a resposta de ELIZA.
Nós vamos ser capazes de tomar que a resposta de base,
assim como fizemos em que exemplo "meu chefe".
Se isso é tudo o que há é-- se é apenas um
string que eu deveria respond-- Eu só posso enviá-lo de volta para fora.
Se ele tem um asterisco no o fim de tudo, então eu vou
processar cada símbolo individual na o resto da resposta do utilizador
e adicionar aqueles que, trocando para fora palavra por palavra como eu preciso.
>> Tudo isto é absolutamente algo que você pode construir.
E, de fato, as maneiras pelas quais nós ter argumentos de linha de comando processados,
a maneira em que você tem processadas através de solicitações HTTP
siga os mesmos tipos de regras.
Eles são a correspondência de padrão.
>> Assim ELIZA tinha um relativamente importante impacto sobre a linguagem natural
porque ele fez parecer como se fosse um meta muito atingível, como de alguma forma estaríamos
ser capaz de resolver este problema diretamente.
Agora, isso não quer dizer que faz ELIZA tudo o que gostaria de fazer.
Certamente não.
Mas devemos ser capazes para fazer algo mais.
>> Nosso primeiro passo para ir além ELIZA vai
para ser capaz de olhar não o texto inserido
no teclado, mas discurso, real discurso gravado em um microfone.
Assim, quando olhamos para estes peças diferentes, nós somos
vai ter que construir um conjunto de modelos.
Nós vamos ter que ser capaz para ir do baixo nível acústico
arremesso information--, amplitude, frequency--
e convertê-lo em algumas unidades que estamos
capaz de manipular mais facilmente e, finalmente, manipulá-los
em palavras e frases.
>> Assim, a maioria de reconhecimento de fala sistemas que estão lá fora hoje
siga uma estatística modelo no qual nós construímos
três representações separadas de que que o sinal de áudio contem na realidade.
Começamos com um modelo de fonética que fala sobre apenas a base
Parece que eu estou produzindo.
Estou produzindo algo que é um B como no menino ou uma D como no cão?
Como posso reconhecer os dois diferentes telefones como separada e distinta?
>> Em cima disso, nós vamos, então, construir uma pronúncia modelo palavra,
algo que une os telefones individuais
e as combina em uma palavra.
E depois disso, vamos dar as palavras e nós vamos montá-las com uma linguagem
modelar em uma frase completa.
>> Agora, vamos falar sobre cada destes independentemente e separadamente.
Mas estes três modelos são todos só vai ser estatísticas.
E isso significa que quando nós trabalhar com eles, vamos
ser capaz de trabalhar com todas elas ao mesmo tempo.
Tudo certo.
Vamos começar com o nosso modelo de fonética.
Assim, modelos fonéticos dependem uma técnica computacional
chamados de modelos ocultos de Markov.
Estes são modelos gráficos em que eu ter e reconhecer um estado do mundo
como sendo caracterizada por um conjunto de características.
E esse estado descreve uma parte de uma ação que eu estou envolvido em.
>> Então, se eu pensar em fazer o som de "ma" como mãe,
existem diferentes componentes para que o som.
Há uma parte onde eu desenhar no ar.
E então eu franzir os lábios.
E eu rolo meus lábios um pouco para trás pouco para fazer aquele som "ma".
E depois há uma liberação.
Meus lábios se separam.
O ar é expelido.
"Ma".
>> Estas três partes diferentes seria representado por estados neste graph--
o início, o meio eo fim.
E eu teria transições que me permitiu viajar de um estado
para o próximo, com uma certa probabilidade.
Assim, por exemplo, que a M som pode ter um muito,
ingestão de muito curto no beginning-- "mm" - e, em seguida, uma mais longa,
fase vibratória onde eu estou segurando a minha lábios e quase humming--
"mmmm" - e depois de um curto Plosive onde eu expulsar breath-- "ma".
>> O modelo oculto de Markov é concebido para capturar o facto
que a maneira que eu faço que o som de "ma" vai
para ser ligeiramente diferente em o seu calendário, é a freqüência,
e seus recursos do que a maneira que você faz
ou a maneira que eu poderia torná-lo quando estou falando
sobre os diferentes usos da carta.
"Mãe" e "may I" vontade soar um pouco diferente.
>> Assim, para reconhecer um em particular som, faríamos
construir modelos de Markov, estes Markov oculto modelos, de cada telefone possível que eu
pode querer reconhecer, cada som possível,
e depois olhar para o dados acústicos que eu tenho
e determinar estatisticamente qual é o mais provável
ter produzido esse som.
ESTÁ BEM.
Com esse modelo, em seguida, começar a construir em cima dela.
Tomamos um modelo de pronúncia.
Agora, às vezes pronúncia modelos são simples e fáceis
porque só há uma maneira de pronunciar algo.
Outras vezes, eles são um pouco mais complicado.
Aqui está um guia de pronúncia para essa coisa que é vermelho
uma fruta que você faz fora de ketchup.
As pessoas não acho que é uma fruta.
Certo?
>> Agora, há muitas maneiras diferentes que as pessoas vão pronunciar esta palavra.
Alguns dirão "toe-may-dedo do pé."
Alguns dirão "toe-mah-dedo do pé."
E nós podemos capturar essa com um destes modelos gráficos
onde, novamente, nós representam transições como tendo uma certa probabilidade
e a probabilidade associada com eles.
>> Portanto, neste caso, se eu fosse para seguir topo rota através deste gráfico inteiro,
Eu estaria começando na carta na extrema esquerda, a "ta" som.
Gostaria de ter a metade superior, o "oh," e, em seguida, um "ma"
e, em seguida, um "a", e, em seguida, um "ta", e um "oh". "Toe-may-dedo do pé."
Se eu pegasse o caminho através do fundo este, vou conseguir "ta-mah-dedo do pé."
E se eu fui para baixo e, em seguida, acima, gostaria de obter "ta-may-dedo do pé."
>> Estes modelos capturar estes diferenças porque sempre
que implantar um destes sistemas de reconhecimento,
ele vai ter que trabalhar com lotes de diferentes tipos de pessoas,
lotes de diferentes sotaques, e mesmo diferentes usos das mesmas palavras.
Finalmente, em cima disso, vamos construir algo
que parece muito complicado, chamado o modelo de linguagem,
mas, de facto, é o mais simples de a três porque estes operam
sobre o que são chamados de modelos n-gram.
E, neste caso, eu estou mostrando-lhe um modelo de n-grama de duas partes, uma bigram.
Nós vamos fazer física a idéia que, por vezes, certas palavras são
mais propensos a seguir um determinada palavra do que outros.
Se eu apenas disse: "previsão do tempo", a próxima palavra poderia provavelmente ser "hoje"
ou poderia ser "o tempo Previsão do amanhã. "
Mas é pouco provável que seja "o previsão do tempo alcachofra. "
>> O que um modelo de linguagem faz é que capta os estatisticamente
por contagem, de algum muito grande corpus, todas as instâncias
em que uma palavra se segue a outra.
Então, se eu tomar uma grande corpus-- como cada Wall Street Journal
que foi produzido desde 1930, que é um dos corpuses-- padrão
e eu olhar através de todos esse texto, e eu conto
-se quantas vezes depois "previsão" eu vejo "hoje"
e quantas vezes eu vejo "previsão" seguido de "alcachofra",
o primeiro vai ser muito mais provável.
Vai aparecer com muito mais freqüência.
E por isso vai ter uma maior probabilidade associada com ele.
>> Se eu quiser descobrir a probabilidade de um enunciado inteiro,
então, eu só quebrá-lo.
Assim, a probabilidade de audição a frase "o rato comeu queijo"
é a probabilidade de a palavra "a" iniciar uma frase,
e, em seguida, a probabilidade de que o palavra "rato" segue a palavra "a",
e a probabilidade de que o palavra "comeu" segue "rato"
e a probabilidade de que "queijo" segue "comeu".
>> Isso soa como um monte de estatísticas, um monte de probabilidades.
E isso é tudo que ele é.
Mas o mais incrível é se você fizer isso com uma amostra suficientemente grande de dados,
Isso funciona.
E funciona tremendamente bem.
Nós todos sabemos que essas tecnologias.
A maioria dos sistemas operacionais vêm com reconhecimento de voz neste momento.
Nós usamos Siri e Cortana e Echo.
E estas coisas são baseadas em este tipo de três camadas model--
um modelo fonética na parte inferior, uma modelo de pronúncia no meio,
e um modelo de linguagem em cima deles.
>> Agora, eles têm que fazer um pouco mais do que isso, a fim de responder a perguntas.
Mas o reconhecimento do que você é provérbio depende exatamente sobre isso.
Então, vamos dar um exemplo aqui.
Então, eu tenho o meu telefone que senta-se aqui debaixo da câmera de documentos.
E nós vamos pede Siri algumas perguntas.
Tudo certo?
>> Então, vamos acordar meu telefone aqui.
Siri, que é o tempo como em New Haven hoje?
>> SIRI: Aqui está o tempo para New Haven, Connecticut hoje.
>> BRIAN Scassellati: OK.
Então, primeiro você viu que Siri reconhecido cada uma das palavras individuais
e, em seguida, produziu uma resposta.
Vamos falar sobre como essa resposta acontece em um pouco.
Mas agora que sabemos que este é apenas baseado
sobre as estatísticas crus e esta Tipo de correspondência padrão de abordagem,
podemos jogar alguns jogos com Siri.
>> Então, eu posso tentar novamente.
Siri, que é o tempo hipopótamo New Haven, hoje?
>> SIRI: OK.
Aqui está o tempo para New Haven, Connecticut para hoje.
BRIAN Scassellati: Siri da não intimide com que
porque ele é encontrado o pattern-- "clima", "Hoje", "New Haven."
Isso é o que ele está respondendo para, assim como ELIZA.
Tudo certo.
Vamos dar-lhe mais um mesmo exemplo mais ridículo.
Siri, tempo de alcachofra tatu hipopótamo New Haven?
>> SIRI: Deixe-me verificar.
Aqui está o que eu encontrei na web para o que são alcachofras tatu
hipopótamo New Haven.
>> BRIAN Scassellati: OK.
Então, se eu ir longe o suficiente distância a partir deste modelo,
Eu sou capaz de confundi-lo porque ele não já não corresponde ao padrão que ele tem.
E essa estatística motor que está dizendo,
qual é a probabilidade de que você tem o Hippopotamus das palavras e alcachofra
juntos, e tatu?
Isso tem que ser algo novo.
>> Assim, estas tecnologias que usamos todos os dias.
Se queremos levá-los um passo Além disso, porém, se nós realmente
quero ser capaz de falar sobre o que é que estes sistemas estão a responder a,
temos de falar, novamente, sobre um conjunto mais fundamental das perguntas.
E isso é um tópico em comunicação que chamamos questão de atendimento.
Isto é, nós queremos ser capazes a-- sim?
AUDIÊNCIA: [inaudível].
BRIAN Scassellati: Obtemos em processamento de semântica latente?
Então sim.
Há um monte de coisas que são acontecendo abaixo da superfície com Siri
e em alguns dos exemplos Eu vou mostrar para você próximo
onde há um pouco em termos da estrutura
do que você está dizendo isso é importante.
E, de fato, isso é um grande precursor para o próximo slide para mim.
>> Assim, da mesma maneira que o nosso reconhecimento de fala foi construído
de múltiplas camadas, se quisermos compreender o que é que, na verdade,
Dito isto, vamos novamente depender de uma análise multi-camada
do texto que está sendo reconhecido.
Assim, quando Siri é realmente capaz de digamos, olha eu encontrei estas palavras.
Agora o que eu faço com eles?
O primeiro componente é muitas vezes a passar e tentar analisar
a estrutura da frase.
E no que temos visto na escola, muitas vezes,
como uma espécie de diagramação frases, vamos
de reconhecer que certos palavras têm certos papéis.
Estes são substantivos.
Estes são pronomes.
Estes são verbos.
E nós estamos indo para reconhecer que, para uma gramática particular,
neste caso Inglês gramática, existem formas válidas em que eu posso combiná-los
e outras formas que não são válidos.
>> Este reconhecimento, essa estrutura, pode ser suficiente para ajudar a guiar-nos
um pouco.
Mas não é o bastante para que sejamos capazes de dar
qualquer significado para o que está sendo dito aqui.
Para fazer isso, nós vamos ter que confiar em uma certa quantidade de processamento semântico.
Ou seja, nós vamos ter que olhar em baixo o que cada uma dessas palavras
realmente carrega como um significado.
E da forma mais simples de fazer isso, nós estamos indo para associar com cada palavra
que sabemos que uma determinada função, uma certa transformação que ele
permite que isso aconteça.
>> Neste caso, poderíamos rotular o palavra "John", como sendo um nome próprio,
que traz consigo uma identidade.
E poderíamos rotular "Mary" como o mesmo caminho.
Considerando um verbo como "ama", que constitui uma relação particular
que somos capazes de representar.
Agora, isso não significa que que entendemos
que é o amor, mas apenas que nós compreendemos -lo na forma de um sistema simbólico.
Ou seja, podemos rotular lo e manipulá-lo.
>> Com cada um destes tipos de abordagens, qualquer tipo de processamento semântico
aqui vai exigir um pouco pouco de conhecimento e um monte de trabalho
da nossa parte.
Não estamos mais no reino onde as estatísticas apenas simples
vai ser o suficiente para nós.
Agora, a fim de ir a partir deste ponto para ser
capaz de falar sobre o interior o que está realmente acontecendo aqui,
para ser capaz de manipular este estruturar e compreender uma pergunta
e, em seguida, ser capaz para sair e procurar,
que requer um mais modelo cognitivo complexo.
>> A forma em que estes sistemas são construídos é, na maior parte muito, muito trabalho
intensiva.
Elas envolvem seres humanos gastar uma grande quantidade
tempo de estruturar as formas de que esses tipos de frases
pode ser representada em alguns lógica.
Ele fica ainda um pouco mais complexo, no entanto.
>> Mesmo uma vez que lidei com a semântica, vamos
ainda tem que olhar para o pragmática do que está sendo dito.
Isto é, como faço para relacionar as palavras que eu tenho que algo fisicamente para fora
há no mundo, ou pelo menos alguma fonte de informação
que eu possa manipular?
>> Às vezes, estes levar a pedaços maravilhosas de ambiguidade.
"Red-quente estrela de casar astrônomo."
ESTÁ BEM.
Agora, lemos que, como o Tipo engraçado de headline
que gostaríamos de ver em TV tarde da noite porque nós não interpretar "estrela"
para ter o seu significado corpo celeste.
Sabemos que isso significa que a mais ator ou atriz comum
com quantidades elevadas de visibilidade.
>> "Tropa de ajuda mordida de cão vítima."
Será que o plantel é realmente lá fora, assistindo um cão
em ir ao redor e mordendo vítimas?
Ou será que não havia um indivíduo que era
mordido por um cão que precisava de alguma ajuda?
Só de olhar para a sintaxe e a semântica das sentenças,
não podemos determinar isso.
>> "Helicóptero alimentado por moscas humanos."
Há, de fato, real pequenas coisas que voam ao redor
são pessoas com asas alimentar helicópteros para o bem da humanidade?
Ou há um dispositivo mecânico que deriva sua energia de uma pessoa?
>> Quando olhamos para a questão sistemas de atendimento,
estes são as camadas que temos de lidar com eles.
Agora, o melhor eo mais sorte de prevalente destes sistemas
hoje são capazes de fazer as coisas a um nível que são
muito além do que tínhamos há 10 anos.
Aqui está um dos melhores sistemas que está lá fora hoje.
E este é um sistema da IBM chamado Watson.
Esta é a partir de nossos amigos da IBM.
Esta é Katherine bancos, Jia Chen, e Priscila Moraes dando-nos
uma demonstração de Watson ontem, em Yorktown IBM.
[REPRODUÇÃO DE VÍDEO]
-Como você está?
>> -Estou bem.
Eu estou sempre feliz quando estou pensar, especialmente quando eu
pode ficar legal nessas salas de servidores.
-Quem É sua atriz favorita?
>> -Meu Atriz favorita Angelina Jolie como Lara Croft
em Tomb Raider porque sua origem forma era como um personagem virtual como eu.
>> -Como Pode Watson ajudar os pacientes?
>> -É O plano para os pacientes para têm acesso a Watson diretamente?
O acesso a Watson consultivo aplicações variam de acordo com caso de uso.
Mas actualmente, Watson só fornecerá possível diagnóstico e tratamento
opções para profissional médico.
Se for caso disso, os pacientes pode fornecer informações
a Watson, talvez através de um interface web portal, tablet,
ou mesmo um telefone celular.
Por exemplo, um paciente pode ser solicitados a descrever seus sintomas
em linguagem natural directamente numa solução Watson,
permitindo ao médico focar diagnóstico e não a coleta de dados.
>> -Quem Assassinado Abraham Lincoln?
>> -João Wilkes Booth.
>> -Em Que ano fez o Arizona Diamondbacks vencer a World Series?
>> -2001.
>> [FIM DE REPRODUÇÃO]
>> BRIAN Scassellati: Então, estes tipos de sistemas
tem que confiar em primeiro lugar reconhecer o discurso; segundo,
convertendo-a em uma interna significativa representação; e, em seguida, em terceiro lugar,
ser capaz de sair e encontrar a fonte de informação que
lhes permite responder a essa pergunta.
Este nível de complexidade envolve os mesmos tipos de coisas programáticas
que você tem sido fazendo em conjuntos de problemas.
>> Somos capazes de analisar as solicitações HTTP em o mesmo tipo de padrão de baixo nível
ELIZA correspondente que pode fazer.
Somos capazes de converter os em uma representação interna,
e então usá-los para consultar alguns banco de dados externo, possivelmente usando SQL.
Todos os sistemas que estão sendo construídas hoje
para fazer este tipo de catástrofes naturais comunicação língua
estão sendo construídas em cima esses mesmos princípios.
>> Agora, até mesmo um sistema como Watson não é suficiente complexo
para ser capaz de responder arbitrária perguntas sobre qualquer assunto.
E, de fato, eles têm que ser estruturada dentro de um determinado domínio.
Então você pode ir online e você pode encontrar versões de Watson que operam bem
dentro de informática médica.
Ou há uma linha que apenas trata de como
fazer boas recomendações sobre o que a cerveja vai com que o alimento.
E dentro desses domínios, ele pode responder a perguntas,
encontrar a informação de que necessita.
>> Mas você não pode misturar e combinar-los.
O sistema que foi treinado com o banco de dados de alimentos e cerveja
não funciona bem quando você de repente colocá-lo em com a informática médica
banco de dados.
Assim, mesmo os nossos melhores sistemas de hoje dependem de um nível de processamento
em que estamos codificação manual e construção da infra-estrutura, a fim
para fazer este sistema funcionar.
>> Agora, o último tópico que eu quero para ser capaz de obter a hoje
é sobre comunicação não-verbal.
Uma grande massa de informações que nós nos comunicamos uns com os outros
não acontece através do palavras individuais que estamos aplicando.
Tem a ver com coisas como proximidade, olhar, seu tom de voz,
sua inflexão.
E que a comunicação é também algo que muitas interfaces diferentes
importam muito sobre.
Não é o que se preocupa com Siri.
Eu posso pedir Siri algo em uma só voz ou em um tom de voz diferente,
e Siri vai me dar a mesma resposta.
Mas não é isso que nós construímos para muitos outros tipos de interfaces.
>> Eu quero apresentar-lhe Agora, a um dos robôs.
Este foi construído pelo meu de longa data amigo e colega Cynthia
Breazeal e sua empresa Jibo.
E este robot-- vamos para ter um par de voluntários
chegar a interagir com isso.
Então eu posso ter duas pessoas dispostas jogar com o robô para mim?
Por que você não vem para cima, e por que você não vem em cima.
Se você quiser se juntar a mim aqui em cima, por favor.
>> E se eu pudesse ter você vir bem aqui.
Obrigado.
Oi.
>> ALFREDO: Prazer em conhecê-lo.
Alfredo.
>> BRIAN Scassellati: Alfredo.
>> RACHEL: Rachel.
BRIAN Scassellati: Rachel.
Prazer em conhecê-los.
Alfredo, eu vou ter de ir primeiro.
Venha até aqui.
Eu estou indo para introduzir você-- se eu posso tirar isso
sem bater o microphone-- para um pequeno robô chamado Jibo.
ok?
>> Agora, Jibo é projetado para ser interativo.
E embora possa dar-lhe a fala, tanto da interacção com o robô
é não-verbal.
Alfredo, eu vou pedir para você dizer algo agradável e cortesia
para o robô, por favor.
ALFREDO: Eu acho que você olhar bonito.
>> [Zumbido]
BRIAN Scassellati: OK.
Sua resposta não é verbal.
E ainda lhe deu tanto um claro reconhecimento
que ele tinha ouvido falar que você disse e também entendeu que de alguma forma.
ok?
Passo para a direita de volta aqui por um segundo.
Obrigado.
>> Rachel, se você faria.
Agora, eu vou dar- lhe o trabalho muito mais difícil.
Se você ficar aqui, backup de apenas um pouco assim
que você pode obter na câmera e olhe para este lado.
Vou pedir-lhe para dizer alguma coisa realmente significa e desagradável para o robô.
>> RACHEL: O que você apenas parecia a fazer era completamente absurda.
>> [ZUMBIDO SOUND]
>> Isso era ainda mais absurdo.
O que está acontecendo com você?
Ah, não se sinta mal.
Vou te dar um abraço.
BRIAN Scassellati: Tudo bem.
Obrigado, Rachel.
Alfredo, Rachel, graças eles muito.
>> [Aplausos]
>> Portanto, este tipo de interação tem em muitas maneiras algumas das mesmas regras
e alguns dos mesmos estrutura como o que nós
pode ter na interação lingüística.
É tanto comunicativa e serve a um propósito importante.
E que a interação, em muitas maneiras, é concebido
ter um efeito particular sobre a pessoa interagindo com ou escuta
para o robô.
>> Agora, eu tenho a sorte ter Jibo aqui hoje.
Sam Spaulding está aqui ajudando nos com o robô.
E eu vou perguntar a Sam para dar nos um bom demo de Jibo dança
que podemos ver no final aqui.
Então vá em frente, Jibo.
>> SAM: OK, Jibo.
Mostre-nos seus movimentos de dança.
>> [Música tocando]
BRIAN Scassellati: Tudo bem, todo mundo.
Graças aos nossos amigos em Jibo.
>> [Aplausos]
>> E graças aos nossos amigos na IBM para ajudar para fora hoje.
A comunicação é algo que você está indo
para ver chegando cada vez mais como nós construir interfaces mais complexas.
Na próxima semana, vamos estar falando sobre como fazer a interface
com adversários controlados pelo computador em jogos.
Mas se você tiver dúvidas sobre isso, Eu vou estar em torno de hoje à noite o horário de expediente.
Estou feliz em falar com você sobre AI tópicos ou para entrar em mais detalhes.
Tenha um bom final de semana.
>> [Aplausos]
[Música tocando]