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 damaneira como humanos manipulam quantidades
– Não se conhece o processo cognitivo por trás
– Mas se descobriu um modelo computacional, mecânico, behaviorally
É 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 humano e.g., Fodor (MUITO DIFÍCIL)
Baseado em resultado. Métodos completamente dissociados da realidade cognitiva
SÃO CLARAMENTE LIMITADOS NO LONGO PRAZO PASSADO PRESENTE
Como fazer
computacionalmente
Baseado em observação do comportamento cognitivo humano e.g., Fodor (MUITO DIFÍCIL)Baseado em resultado. Métodos completamente dissociados da realidade cognitiva
SÃ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
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 pn
Pedro pn o det
seu adj(?? Adjetivo? pronome (adjetivo) ??) velho adj
computador n(nome, substantivo comum) de prep
Mesa 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?
CFGv (não probabilística)
From Jurafsky & Martin 2000
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