40
Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania) ...

Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Embed Size (px)

Citation preview

Page 1: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Processamento de

Linguagem Natural

Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

...

Page 2: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Linguagem Natural versus

Linguagem Artificial

• Aberta, não completamente definida

• Estrutura formal não pré-definida

• Inerentemente ambígua

• Muito complexa

• Não é concebida para se adequar aos métodos de parsing eficientes conhecidos

Page 3: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

PLN é multidisciplinar

• Linguística• Psicolinguística• Neurologia• Engenharia Elétrica• Computação

– Linguagens Formais: autômatos, gramáticas– Algoritmos (e.g. de parsing)– (Outros) Modelos Formais: matemáticos, estatísticos– INTELIGÊNCIA ARTIFICIAL MACHINE

LEARNING (Aprendizado de Máquina)– Curiosidade: Paper do Knuth sobre LR [1965?]

Page 4: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Aplicações do PLN

• Correção de textos e aconselhamento• (Apoio à) Tradução (Semi-) Automática• Interfaces de usuário

– Entrada de comandos em LN– Aplicativos como para reservas de vôos– Comunicação com “robôs”– Direcionadores de chamadas

• Sistemas de perguntas e respostas• Recuperação de Informação/Documentos• Sumarização• Extração de Informação• ... Muitos outros ... Corretores de prova

automâticos ...

Page 5: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

É difícil? MUITO!!!!

• Linguística: Ninguém sabe como modelar formalmente (e.g. com GLC, etc.) o conhecimento linguístico “completo”

• Psicolinguística, ciência cognitiva: Ninguém sabe como funcionam os processos cognitivos humanos ligados à manipulação da linguagem (interpretação, geração, e muito menos AQUISIÇÃO da linguagem)

• Neurologia:Ninguém sabe exatamente como o cérebro reage à linguagem (Mas há grandes progressos recentes na área !!!)

• Engenharia Elétrica: Vários desafios em speech recognition

Page 6: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

É difícil? MUITO!!!!

• Computação:– Não se conhece o modelo real do proceso– Não se conhece modelo computacional

behaviorally equivalent• Comparação com aritmética

– Há um processo cognitivo por trás da maneira como humanos manipulam quantidades

– Não se conhece o processo cognitivo por trás

– Mas se descobriu um modelo computacional, mecânico, behaviorally equivalent que todos aprendem na escola

Page 7: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

É difícil? MUITO!!!!

• Considere o diálogo:– Quero comprar um laptop que vi

anunciado por mil e duzentos reais.– Já tem o dinheiro?– Tenho 537 no banco.

E a mãe disse que me dá até 680.Vai dá ...

Page 8: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

É difícil? MUITO!!!!

• Como você raciocinou durante a interpretação?

• Não se sabe reproduzir este mecanismo por computador

• Mas ...• Se conhece um método mecânico que

chega às mesmas conclusões, e aliás, MUITO EFICIENTE!

• Infelizmente isto não acontece com o processamento da linguagem.

Page 9: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Como fazer computacionalmente

Baseado em observação do comportamento cognitivo humanoe.g., Fodor (MUITO DIFÍCIL)

Baseado em resultado. Métodos completamente dissociados da realidade cognitivaSÃO CLARAMENTE LIMITADOS NO LONGO PRAZO

PASSADO

PRESENTE

Page 10: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Como fazer computacionalmente

Baseado em observação do comportamento cognitivo humanoe.g., Fodor (MUITO DIFÍCIL)

Baseado em resultado. Métodos completamente dissociados da realidade cognitivaSÃO CLARAMENTE LIMITADOS NO LONGO PRAZO

PASSADO

PRESENTE

LINGÜÍSTICA

Page 11: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Lingüística

• ANEDOTA:“Cada vez que eu demito um lingüista o desempenho do meu sistema melhora.” [atribuído a Fred Jelinek quando estava na IBM](http://www.lrec-conf.org/lrec2004/doc/jelinek.pdf)

• FATO: Qualquer abordagem para PLN requer algum conhecimento lingüístico (em maior ou menor grau)

Page 12: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Níveis de Conhecimento Lingüístico

• Fonético e Fonológico: fala

• Morfológico: estrutura das palavras

• Sintático: estrutura das sentenças– sintagmas, funções gramaticais

• Semântico: Significado ...– Das palavras– Dos sintagmas– Das sentenças

• Pragmático: Uso das sentenças em diferentes situações. O que as sentenças realmente informam.

• Discurso: Estrutura do texto, interpretação de pronomes, correferências.

• Nível de conhecimento do mundo

COMPOSICIONALIDADE

Page 13: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento Morfológico

O João vendeu para o Pedro o seu velho computador de mesa

Page 14: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento Morfológico

O João vendeu para Maria o seu velho computador de mesa

O det (determinador/artigo)João pn (nome próprio)vendeu v (verbo)para prep (preposição)o pnPedro pno detseu adj (?? Adjetivo? pronome (adjetivo) ??)velho adj computador n (nome, substantivo comum)de prepMesa n0

Vendeu v: finito (indicativo), passado (perfeito), 3ª pessoa, sing

Page 15: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

• Categorias léxicas ou

parts-of-speech (pos)• Qual o sistema de (pos) tags mais adequado?• Qual a pos correta de uma palavra?

convenção !!• Aliás, o que fazer com “do”, “das”, “cannot”,

“wanna”

Conhecimento Morfológico

O/det João/pn vendeu/v para/prep o/det Pedro/pn o/det seu/adj velho/adj computador/n de/prep mesa/n

Page 16: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento Sintático

O João vendeu para o Pedro o seu velho computador de mesa

S

NP VP

det[o]

pn[João]

v[vendeu]

PP NP

prep[para]

NP

det[o]

pn[Pedro]

det[o]

adj?[seu]

sdj[velho]

n[computador]

PP

prep[de]

n[mesa]

NP

Page 17: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento Sintático

O João vendeu para o Pedro o seu velho computador de mesa

S

NP VP

det pn v PP NP

prep NP

det pn

det adj? sdj n PP

prep

n

NP

Page 18: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Formas de Representação da Estrutura Sintática

S NP det O pn João VP v vendeu PP prep para NP det o pn Pedro NP det o adj seu adj velho n computador PP prep de n mesa

[S [NP [det O] [pn João] ] [VP [v vendeu] [PP [prep para] [NP [det o] [pn Pedro] ] ] [NP [det o] [adj seu] [adj velho] [n computador] [PP [prep de] [n mesa] ] ] ] ]

Page 19: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento Sintático

• Qual a estrutura mais adequada do texto?– Há construções standard e outras que os lingüistas não tem

posição definida/adequada/estável a respeito– Estas últimas são MUITO MAIS FREQÜENTES DO QUE SE

IMAGINA !!! (lingüística de corpus)• Como representar o conhecimento sintático?

– Teoria X-BAR– Government and Binding (GB)– Transformational Grammars– Minimalismo– Influência muito forte de Noam Chomsky!

• Como representar o conhecimento sintático?– Gramáticas Livres de Contexto (CFG)?– GPSG – Generalized Phrase Structure Grammars?– HPSG – Head-driven Phrase Structure Grammars?– LFG – Lexicalized Functional Grammars?– TAG – Tree Adjoining Grammars? A melhor de todas

Page 20: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Syntactic Nuts

• Extraposição:– [S [NP Uma reunião

[PP para escolher o diretor] ] [VP foi feita ontem] ]

– [S [NP Uma reunião] [VP foi feita ontem]<---???--> [PP para escolher o diretor] ]

– ??? Onde colocar o PP ???

• Longa distância: • João [comprou a bola].• O que [João comprou]?• Quem [comprou a bola]?

Page 21: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento Semântico

• Cada palavra tem significado• Cada sintagma tem significado, que é definido pela

COMPOSIÇÃO dos significados dos sintagmas CONSTITUINTES COMPOSICIONALIDADE

• O aluno da frente chamou o aluno de trás– da/prep + frente/n indica adiantamento– aluno + [ind. de adiantamento] restringe a um aluno

específico– e assim por diante ...

• Papéis temáticos:– O aluno da frente agente– O aluno de trás paciente

• Representação lógica: predicados CHAMOU (alunodafrente, alunodetras)

Page 22: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento Pragmático

• Vera, você sabe que horas são?

Page 23: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento Pragmático

• Vera, você sabe que horas são?• Grice: pessoas são colaborativas

– Por favor, me alcance o livro em cima da mesa.

– Qual das mesas?– Como assim, em cima da mesa? Só

tem uma mesa.– OK, pensei que pudesse ser na mesa

da sala ao lado, ou na mesa do escritório lá de casa.

Page 24: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento Pragmático

• Vera, você sabe que horas são?• Grice: pessoas são colaborativas

– Por favor, me alcance o livro em cima da mesa.– Qual das mesas?– Como assim, em cima da mesa? Só tem uma mesa.– OK, pensei que pudesse ser na mesa da sala ao

lado, ou na mesa do escritório lá de casa.

• (Este é um tipo comportamento non-Gricean, que é a base de todas as piadas)

Page 25: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento do Discurso

• Considere o seguinte trecho:– (A) João pediu um bife.– (B) O bife estava duro.– (C) Por isso ele desistiu,– (D) pagou a conta,– (E) e saiu.

• Estrutura:

RAZÃO

SEQÜENCIA SEQÜENCIA

A B C D E

Page 26: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento do Discurso

• Correferência:– O João vendeu para o Pedro o seu

velho computador de mesa.• Quem é “seu”: João ou Pedro?

– O João pediu emprestado ao Pedro o seu notebook.

• E agora, quem é “seu”: João ou Pedro?

– Saiu do caminhão. Entrou no carro. Fechou a porta.

• A porta do caminhão ou do carro?

Page 27: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Conhecimento de mundo

– Vai no jogo do Inter domingo?

• “Provavelmente” eu não estou falando do Inter de Milão.

• Dado que o jogo é um GreNal, há também “grandes chances” que eu seja colorado.

Page 28: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

É difícil processar linguagem natural computacionalmente?

• MUITO !!!!! Vou focar um aspecto:

• AMBIGUIDADE (A taxonomia é minha)

– Ambigüidade Real– Pseudo-ambigüidade– Ambigüidade Local

Page 29: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Ambigüidade

• das palavras:– banco: diferentes significados, mesma

categoria léxica (nome)– a: artigo e preposição

• das sentenças/construções/sintagmas:– João viu a Maria com o telescópio.

• Quem estava com o telescópio?

• A sentença acima tem ambigüidade REAL

Page 30: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Pseudo-ambigüidade

• Considere:– João viu a Maria de saia.

• Maria estava de saia

• Compare com:– João viu a Maria de manhã.

• Não é a Maria que estava “de manhã.”• Ele a “viu” de manhã.

• Considere:– João comprou um computador com alta velocidade.

• o computador tinha alta velocidade– João comprou um computador com o dinheiro da mesada

• Não é o computador que tem o dinheiro da mesada.• A compra é que foi feita com o dinheiro da mesada.

– João dirigia o carro em alta velocidade• ele dirigia em alta velocidade

• NÃO HÁ AMBIGÜIDADE REAL NAS SENTENÇAS• MAS CLARAMENTE HÁ DUAS ESTRUTURAS POSSÌVEIS• HÁ MUITO MAIS AMBIGÜIDADE DO QUE SE CONSEGUE

PERCEBER NO DIA-A-DIA

Page 31: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

AMBIGÜIDADE LOCAL

• Tirei a grana do banco e dei a ela.• Tirei a toalha do banco.• Ele latiu [PP como cachorro].• Eu [VP como cachorro] quando estou

na China.• Tente achar as várias outras possíveis

“ambigüidades locais” nas sentenças acima.

• Como fazer para achar a estrutura sintática correta?!!!!

Page 32: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Como é a arquitetura de um sistema de PLN (interpretação)

• Análise é em geral “bottom-up”• Segue mais ou menos os níveis de

conhecimento da linguagem– primeiro pos-tagging, depois parsing, etc.– embora, na verdade eles são inter-

dependentes ...• Abordagem cognitiva: “Mmmm, acho

que devo fazer a análise da esquerda para à direita ...”

• Abordagens não cognitivas: “Eu não ligo para a direção da análise e tenho um parser mais acurado que o teu!”

Page 33: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Abordagens da análise da PLN

• Handrafted:– Tipicamente baseada em regras– “principled”– linguisticamente motivada– baixa taxa de cobertura das construções– baixa eficácia (accuracy: precision, recall)– Vocês não fazem idéias de como tem

construções estranhas nas sentenças do dia-a dia um jornal!

Page 34: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Abordagens da análise da PLN

• A partir dos anos 90:– Proliferação de corpora anotado– um corpus é uma coleção de

sentenças/ textos– um corpus anotado é uma tal coleção

em que as sentenças aparecem já com análise linguística.

– [S [NP [det O] [pn João] ] [VP [v vendeu] [PP [prep para] [NP [det o] [pn Pedro] ] ] [NP [det o] [adj seu] [adj velho] [n computador] [PP [prep de] [n mesa] ] ] ] ]

Page 35: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Abordagens da análise da PLN

• Baseada em corpus– Tipicamente usa técnicas de aprendizado de

máquina (machine learning) / “Inteligência Artificial”.– O computador analisa o corpus anotado e gera um

sistema de decisão, utilizando análise estatística e modelos probabilísticos.

– O sistema de decisão é então usado para fazer a análise das novas sentenças.

– Mesmo com modelos com conhecimento linguístico MUITO PUERIL, se consegue resultados em geral melhores que na abordagem handcrafted.

– Alta cobertura.– DESAFIO/TENDÊNCIA: Integração do

conhecimento linguístico com os métodos probabilísticos

Page 36: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

FINALMENTE:

• Diga-me para que você quer PLN ...• E eu lhe digo quanto conhecimento você

precisa!!• Exemplo: Para classificar textos / information

retrieval:– verificação e comparação da freqüência de

ocorrência de palavras nos documentos pesquisados

– levar em conta palavras que “co-ocorrem” com as palavras chave

– Mmm ... Será que vale a pena fazer parsing?– Mmm ... E análise morfológica?

Page 37: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Derivações para uma sentença

From Jurafsky & Martin 2000

Page 38: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

PCFG

From Jurafsky & Martin 2000

Page 39: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

PCFG

From Jurafsky & Martin 2000

Page 40: Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)

Derivações da PCFG para uma sentença

From Jurafsky & Martin 2000