470 likes | 666 Views
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
E N D
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 humano e.g., Fodor (MUITO DIFÍCIL) PASSADO Baseado em resultado. Métodos completamente dissociados da realidade cognitiva SÃO CLARAMENTE LIMITADOS NO LONGO PRAZO PRESENTE
Como fazer computacionalmente Baseado em observação do comportamento cognitivo humano e.g., Fodor (MUITO DIFÍCIL) PASSADO LINGÜÍSTICA Baseado em resultado. Métodos completamente dissociados da realidade cognitiva SÃO CLARAMENTE LIMITADOS NO LONGO PRAZO PRESENTE
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 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
Conhecimento Morfológico • Categorias léxicas ouparts-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” 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 S VP NP det [o] pn [João] v [vendeu] PP NP PP prep [para] NP det [o] adj? [seu] sdj [velho] n [computador] det [o] pn [Pedro] prep [de] NP n [mesa] O João vendeu para o Pedro o seu velho computador de mesa
Conhecimento Sintático S VP NP det pn v PP NP PP prep NP det adj? sdj n det pn prep NP n O João vendeu para o Pedro o seu velho computador de mesa
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: predicadosCHAMOU (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 C E B D A
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