Processamento de Linguagem Natural Flávia Barros Centro de Informática - UFPE CIn/UFPE Roteiro Breve histórico Arquitetura geral de sistemas de PLN Etapas na interpretação da LN • • • • • Processamento morfológico Processamento sintático Análise semântica Análise do discurso Processamento pragmático CIn/UFPE Processamento de Linguagem Natural Há 20 anos atrás... • Os dados estavam ordenadamente armazenados em Bancos de Dados Hoje: • Os dados estão armazenados em forma de texto livre – e.g., Internet • Como ter acesso a esses dados? Processamento de Linguagem Natural (PLN) !!! • tem por objetivo interpretar e gerar frases isoladas ou textos em alguma língua natural • congrega estudos da Lingüística e da Ciência da Computação. CIn/UFPE Um Pouco de História Déc. 40 - 60: • Tradução automática (Ling.) • Recuperação de informação (C.C.) Final 60 - 70 • Técnicas de Inteligência Artificial para representar e manipular conhecimento • Sistemas de pergunta-resposta • Interfaces em L.N. para bancos de dados e bases de conhecimento Final 70 - final 80 • Lógica de Predicados e Frames para representar conhecimento e fazer inferência • Análise automática do discurso • Geração de linguagem natural • PLN conexionista • Ressurgimento de tradução automática (EUROTRA,UNL) CIn/UFPE Um Pouco de História Final 80 - 90: • PLN estatístico (grandes corpora) • Recuperação de informação na Web • Apresentações multimídia • Ajuda on-line • Sistemas tutores inteligentes Outras aplicações: • Verificadores ortográficos e gramaticais • Reconhecimento e síntese de voz • Extração de informação • Geração de resumos • Avaliação empírica de teorias lingüísticas CIn/UFPE Arquitetura de Sistemas para PLN Etapas: • Processamento morfológico • Processamento sintático • Análise semântica • Análise do discurso • Processamento pragmático Ver figura na apostila CIn/UFPE Processamento Morfológico Objetivo: Na interpretação: decompor as palavras da frase de entrada em radical + morfema gramatical • morfologia inflexional: – menina = menin + a – cadeiras = cadeira + s • morfologia derivativa: – fazia = faz + ia – desfaz = des + faz Na geração: gerar as palavras que vão formar a frase a partir do seu radical + morfema gramatical CIn/UFPE Processamento Morfológico Análise morfológica: • Utiliza os radicais, morfemas gramaticais e regras morfológicas de formação das palavras • É central na construção de – verificadores ortográficos automáticos – qualquer aplicação com léxico e gramática de grande tamanho CIn/UFPE Processamento Sintático Objetivo: Na interpretação: • obter a representação da estrutura sintática da frase: Parsing Na geração: • determinar a estrutura sintática da frase a ser gerada CIn/UFPE A partir de agora... Veremos apenas Interpretação de Linguagem Natural CIn/UFPE Processamento Sintático Parser: • algoritmo que mapeia uma frase na sua estrutura sintática • com base no léxico e na gramática do sistema. CIn/UFPE Parsing Etapas de processamento: • rotular cada palavra com sua categoria sintática (postagging) – mesa: substantivo; casa: subst. ou verbo • delimitar constituintes sintáticos - sintagmas (bracketing) • rotular os constituintes com categorias sintáticas – SN (sintagma nominal), SV (sintagma verbal), etc – Gramática de Constituintes Imediatos • rotular os constituintes com sua função sintática – sujeito, objeto, predicado, ... • identificar dependências estruturais entre os constituintes – oração coordenada, subordinada, embedding,... CIn/UFPE O Léxico Dicionário com os termos utilizados pelo sistema. Existem variados formalismos para representação dos léxicos. A representação do léxico deve estar de acordo com a da gramática do sistema. Exemplos de entradas de um léxico em PATR-II (Shieber 1984): mesa <categoria> = substantivo <gênero> = feminio <número> = singular <contável> = yes comprou <cat> = verbo <tempo> = pretérito-perfeito <número> = singular <pessoa> = 3 <voz passiva> = yes <arg1> = SN <arg2> = SN CIn/UFPE A Gramática Define, através de regras, quais são as cadeias de palavras válidas para o sistema. Sistemas de PLN tratam um sub-conjunto de uma língua natural. Existem diversos formalismos para a representação de gramáticas. Exemplos de regras de uma gramática em PATR-II: • este formalismo oferece mecanismos para verificação de concordância gênero e número, por exemplo. SN Det Subst <Det gênero> = <Subs gênero> <Det número> = <Subs número> SN Subst Adj <Subst gênero> = <Adj gênero> <Subst número> = <Adj número> CIn/UFPE Ambigüidade no nível Sintático Frases onde as palavras podem assumir categorias sintáticas diferentes, a depender da interpretação: • I saw her duck Ambigüidade estrutural: • Eu vi o banco da praça • Eu vi o rapaz no parque com o binóculo. (1) O rapaz estava com o binóculo (2) Eu estava com o binóculo CIn/UFPE Ambigüidade no nível Sintático Ver figura na apostila CIn/UFPE Interpretação Semântica Estrutura sintática apenas não basta! • frases com palavras e estruturas sintáticas diferentes, porém com mesmo significado: (1) Eu dei um livro a Maria. (2) Maria recebeu um livro de mim. • receber e dar conceito semântico de transferência Controle de inferência • Eu vi uma baleia grande – eu vi uma baleia – eu vi algo grande • Eu vi uma baleia pequena – eu vi algo pequeno??? CIn/UFPE Interpretação Semântica Semântica • estuda o significado das palavras e como elas se combinam para formar o significado das frases. Objetivo: Na interpretação: mapear a estrutura lingüística da frase nos conceitos do domínio que a frase pode expressar. • problema: ambigüidade – Ela estava em minha companhia (1) companhia = empresa (2) companhia = pessoa (i.e., ela estava comigo) Na geração: expressar os conceitos do domínio na estrutura lingüística da frase. • problema: paráfrase CIn/UFPE Restrições de Seleção Restrições de seleção são atribuídas às palavras no léxico: • menino [+humano], [+masculino], [-adulto] • pensamento [+abstrato] • cabo [+vivente], [+humano], [+adulto] • cabo [+concreto], [+inanimado] • jovem = Substantivo modificado pelo adjetivo [+vivente] • morrer = Substantivo sujeito do verbo [+vivente] • Exemplo: – o cabo é jovem – o cabo é longo CIn/UFPE Restrições de Seleção Ontologias Restrições de seleção definem classes semânticas de palavras, que podem ser organizadas em hierarquias de tipos (ontologias). CIn/UFPE Gramáticas de Casos Formalismo muito utilizado no processamento semântico de frases. Papéis temáticos, ou casos, são atribuídos aos constituintes da frase. Papéis temáticos são determinados pelo verbo, o constituinte central da frase. Exemplo de entrada lexical para o verbo entregar: entregar, Verbo argumentos: agente, tema, beneficiário • Eu entreguei a carta a Pedro. CIn/UFPE Gramáticas de Casos Ver figuras na apostila CIn/UFPE O Modelo do Domínio Fornece o contexto enciclopédico do sistema. Armazena conhecimento a respeito das entidades, relações, eventos, lugares e datas do domínio da aplicação. O conhecimento é representado em uma Ontologia do domínio, em um (ou mais de um) formalismo de IA • e.g., Lógica de Predicados, Redes Semânticas, Frames, Scripts. Na interpretação: interpretação do conteúdo implícito das palavras. Na geração: escolha do conteúdo a explicitar. CIn/UFPE Processamento Automático do Discurso Problema: Antônio quer fazer uma festa de formatura na sua casa. Ele a limpou e arrumou ontem. Qual o referente do pronome a? • festa e casa apresentam os mesmos traços morfológicos (fem, sing) e sintáticos (subs). • o que nos ajuda a optar por casa é o nosso conhecimento do mundo (ou senso comum). CIn/UFPE Processamento Automático do Discurso Como é possível resolver automaticamente problemas desta natureza? Foram desenvolvidos teorias lingüísticas e algoritmos computacionais para representar, interpretar e gerar discurso, a fim de construir sistemas de PLN capazes de manter um diálogo com o usuário. Discurso: qualquer produção lingüística composta por mais de uma frase. CIn/UFPE Discurso tem Estrutura (a) João e Maria saíram para comprar um cortador de grama novo (b) porque o deles foi roubado. (c) Maria viu os homens que o roubaram. (d) Ela os seguiu até o final da rua, (e) mas eles fugiram num caminhão. (f) Depois de procurar no shopping center, (g) eles concluíram que não têm dinheiro para um novo. (h) A propósito, João perdeu o emprego, (i) por isso ele está sem dinheiro. (j) Finalmente, eles decidiram comprar um cortador usado. CIn/UFPE Análise do Discurso Estuda os princípios que governam a produção de seqüências estruturadas de frases = discurso escrito ou falado. O discurso é formado por segmentos • unidades lingüísticas que contêm uma ou mais frases consecutivas • que tratam do mesmo assunto (o foco daquele trecho do discurso). Qual a importância de se identificar a estrutura do discurso? • entre outras, a identificação dos referentes de pronomes e dêiticos (e.g., hoje, aqui, agora). CIn/UFPE Análise do Discurso Como determinar automaticamente a fronteira entre segmentos? • analisando a “superfície” do texto em busca de marcadores discursivos – e.g., "A propósito", "Bem", "Como eu ia dizendo", "Em resumo", etc. • analisando o "conteúdo semântico" do , em busca de identificar mudanças de foco. CIn/UFPE O Modelo do Discurso Fornece o contexto discursivo. É construído dinamicamente durante o processamento do discurso. Armazena informações sobre as frases previamente processadas. Central na interpretação e geração de pronomes e dêiticos. Geralmente, consiste em uma pilha contendo as caraterísticas sintáticas e semânticas das entidades já introduzidas no discurso. Essa pilha deve espelhar a estrutura do discurso, indicando onde começa e termina cada segmento. CIn/UFPE Processamento Pragmático Pragmática • estuda os enunciados - frases com seu significado no contexto do discurso. • tem como preocupação central a análise dos objetivos da comunicação (interação social). Atos da Fala • atividades desenvolvidas pelos falantes enquanto fazem uso da íngua. 1. Atos Locutórios - "A janela está aberta'’ 2. Atos Ilocutórios - ordem ou um pedido para fechar a janela 3. Atos Perlocutórios - o efeito de um enunciado sobre o (fechar a janela) Problema: um mesmo enunciado pode realizar atos da fala diversos, dependendo do seu contexto de uso. CIn/UFPE Atos da Fala Tipos de Atos da Fala, e possíveis realizações lingüísticas: • Assertivos - assertiva, constatação, afirmação, negação • Diretivos - ordem, comando, requisição • Comissivos - promessa, garantia, juramento, aposta • Expressivos - elogio, agradecimento, parabenização • Declarativos (a) encontro, indicação, declaração (b) declaração de guerra (c) estímulo, resignação, excomunhão Exemplos: • Prometo que vou à festa. • Aposto que você vai gostar do livro. • Fale com o diretor. Muito úteis na IA Distribuída, na comunicação entre os diversos agentes de uma sociedade. CIn/UFPE Processamento Pragmático É necessário em qualquer tarefa de PLN que requeira a análise das intenções dos participantes no discurso. • modelagem do usuário. O Modelo do Usuário • fornece o contexto interpessoal. • armazena conhecimento a respeito do usuário do sistema, por exemplo: – seus objetivos, planos, intenções, – sua função, seu status, – seu conhecimento do domínio. Pode ser modificado ou enriquecido durante o processamento com auxílio do componente pragmático. Utiliza representações como planejamento hierárquico ou atos da fala. CIn/UFPE Processamento de Linguagem Natural Interpretação de LN – OK Geração de LN • Ver apostila o outros livros e papers... CIn/UFPE