processamento de linguagem natural

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

Upload: libby

Post on 22-Jan-2016

60 views

Category:

Documents


6 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

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

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?]

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 ...

É 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

É 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

É 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á ...

É 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.

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

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

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)

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

Conhecimento Morfológico

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

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

• 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

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

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

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] ] ] ] ]

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

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]?

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)

Conhecimento Pragmático

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

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.

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)

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

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?

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.

É difícil processar linguagem natural computacionalmente?

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

• AMBIGUIDADE (A taxonomia é minha)

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

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

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

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?!!!!

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!”

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!

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] ] ] ] ]

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

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?

Derivações para uma sentença

From Jurafsky & Martin 2000

PCFG

From Jurafsky & Martin 2000

PCFG

From Jurafsky & Martin 2000

Derivações da PCFG para uma sentença

From Jurafsky & Martin 2000