Processamento de Linguagem Natural: Visão Geral e Aplicações na Internet Jacques Robin CIn-UFPE Processamento de Linguagem Natural (PLN) Dados estruturados x texto • sintaxe e semântica: limitadíssima x ilimitada fornecida (implicitamente) x a ser recuperada • presente e futuro: dados semi-estruturados (Web) Linguagem natural x linguagem artificial • pontos comuns: composição de símbolos com sentidos associados • diferenças: tamanho (gramática, símbolos, sentidos) irregularidade (excepções, composicionalidade parcial) ambigüidade e paráfrase conteúdo implícito (contextos discursivo, enciclopédico, interpessoal) Relevância atual do PLN: WWW Há 15 anos atrás... • maioria dos dados on-line ordenadamente armazenados em Bancos de Dados Hoje: • maioria os dados on-line armazenados em forma de texto (ex, Internet, Intranets) • Como ter acesso a esses dados? PLN ! • multidisciplinar: informática e lingüística • abordagens: simbólica, probabilística, conexionista, evolucionista • técnicas de IA: representação do conhecimento, busca, aprendizagem, planejamento PLN: diversidade das aplicações práticas Recuperação de informação • busca, filtragem Classificação de texto Extração de dados Estruturação de hipertextos • conversão de texto para hipertextos • geração e manutenção de páginas de links • verificação orto-gramatical • padronização estilística • relatórios, páginas na Web Tradução (semi-)automática Sistemas de diálogos • ajuda on-line • tutores inteligentes • interfaces linguagem (semi-) natural • agentes de entretenimento Geração de resumos • dados tabulados, quantitativos • textos Auxílio à autoria de documentos Avaliação empírica de teorias e recursos lingüísticos PLN: características das aplicações Em geral, aplicações bem sucedidas focalizam: • um domínio de discurso • um estilo de documento • uma tarefa de PLN Disponibilidade de: • conhecimento lingüístico (gramáticas, léxicos) e enciclopédico (ontologias) • conhecimento probabilístico • corpora de textos Compromisso profundidade x abrangência X automação do processamento Sistemas de PLN: dimensões de avaliação 1 - Generalidade (tamanho do domínio, abrangência) 2 - Automação (auxílio humano) 3 - Aptidão (qualidade + fidelidade) 2 3 1 Tradução Automática (TA) Sistemas de TA têm alto custo Um sistema razoável tem • Léxico com 20.000 a 100.000 palavras e • Gramática com 100 a 10.000 regras Tradução de qualidade requer entendimento detalhado: • do universo de discurso • dos objetivos comunicativos Línguas diferentes lexicalizam conceitos diferentes: • ex: “you” pode ser traduzido para o francês como “tu” (informal) ou “vous” (formal) Tipos de aplicações da TA DISSEMINAÇÃO • Objetivo: texto de alta qualidade para muitos leitores • Tradução de uma para várias linguagens • Usuário produz texto fonte (domínio controlado, vocabulário, estilo) • Ponto forte: Alta qualidade • Ponto fraco: representação dos itens mais detalhada, menor abrangência Tipos de aplicações da TA ASSIMILAÇÃO • Objetivo: leitura individual • Tradução de muitas linguagens para uma • Usuários lêem textos de outros (não controlam o domínio, vocabulário e estilo) • Ponto forte: mais automação possível, maior abrangência • Ponto fraco: baixa qualidade Recuperação de Informação Identificar documentos relevantes para uma necessidade de informação Sem PLN: • • • • • palavras-chave e conectores lógicos ausência de sintaxe e semântica baixa precisão e evocação (cobertura, recall) Precisão = # relev recup / # total recup Evocação = # relev recup / # total relev Com PLN: • POS-tagger, analisador morfológico, tesaurus, parser, modelo probabilístico da língua • melhor aproximação do conceito procurado • melhor precisão e evocação Classificação de Texto Classes e indicações estruturais e/ou semânticas • ex: call for paper, FAQ, bibliografia, artigo de jornal, loja virtual, etc. Bem-sucedido em até 90% dos casos Usado em conjunto com técnicas de Recuperação da Informação • ex. O termo “cru” refere-se a óleo 100% das vezes no Wall Street Journal Extração de dados do texto: exemplo Template extraído: Texto: Pillsbury surged 3.75 to 62 in Big Board composite trading of 3.1 million shares after Britain’s grand metropolitan raised its hostile tender offer by $3 a share to $63. The company promptly rejected the sweetened bid, which came after the two sides couldn’t agree on friendly terms over the weekend. corpTakeoverCore( type: hostile, target: “Pillsbury”. suitor: “Grand Metropolitan” sharePrice: 63 stockExchange: nyse volume: 3.1M effectOnStock: up(from:3.75, to: 62) ) Geração de resumos textuais de estatísticas Intuitivo: familiar para usuário comum (ex, executivo) Conciso: expressa apenas as estatísticas interessantes Flexível: sem limite de dimensionalidade Expressivo: pode expressar causalidade e julgamentos subjetivos junto com os fatos A word is worth a 1,000 graphics! :) Arquivos de Log Páginas Web Aprendizagem Mineração de Dados Extração de Informação Interpretação de Linguagem Natural BD Relacional Base de Conhecimento Geração de Linguagem Natural Data Warehouse Dimensional Resumo na Web Resumos textuais de descoberta de conhecimento em BD: exemplo Avg.Sales% Product Jul Birch-B -12/s2 Chery-S 5 Cola 4 Cream-S 8 Diet-B 2 Diet-C 7 Diet-S 2 Grape-S 1 Jolt-c -4 Kiwi-S 3 Old-B 2 Orange-S 1 Saspria 5 • Aug -3 -9 1/i3 -3/i2 0/i2 -7/i2 4/i4 3 2 -1/i3 7/i2 -1 -10/i2 Sep 1 -12 -11 -12 -6 -12 -9 -9 6/s2/i3 -4 -10 -1/i2 -2 Oct 42/s4 1 -8/i2 -2 -1 -2 5/i4 -1 -2 4 3 -6 -1 Nov -14 -5 -2 1/i2 -4 -2/i2 -3 -8 0 0 -3/i2 -4 1 Dec -10/s2 5 7 10 2 8 0 4 0 1/i3 1 9/i2 5/i2 No ano passado, as variações de vendas mais incomuns foram: Soda Diet com decrescimento de 40% na região nordeste de julho a agosto Cerveja Bavaria com crescimento de 42% nacional de setembro a outubro; ... Exemplo didático de PLN: comunicação entre agentes exploradores do mundo do wumpus A: "Cheiro um fedor em [1,2]. E voce?" B: “I am in [2,1]. There is a breeze but no stench. So it is in right in front of you. Shoot it!" A B Comunicação no mundo do wumpus: conteúdo implícito A: "Cheiro um fedor em [1,2]. E voce?" B: “I am in [2,1]. There is a breeze but no stench. So he is in right in front of you. Shoot it!" A: "Estou em [1,2]. Cheiro um fedor. Entao o wumpus esta em [1,3] ou [2,2]. Onde voce esta? O que voce percebe?" B: "I am in [2,1]. I feel a breeze. But I do not smell any stench. Therefore the wumpus is not in [2,2]. It is thus in [1,3], right in front of you. Shoot it!" Comunicação no mundo do wumpus: paráfrases A: "Estou em [1,2]. Cheiro um fedor. Entao o wumpus esta em [1,3] ou [2,2]. Onde voce esta? O que voce percebe?" B: "I am in [2,1]. I feel a breeze. But I do not smell any stench. Therefore the wumpus is not in [2,2]. It is thus in [1,3], right in front of you. Shoot it!" A: "Aqui em [1,2], esta fedendo, porem ha um wunpus ou na minha frente ou na minha direita. Por favor me informe da sua posicao e das suas percepcoes." B: "My only perception here in [2,1] is a breeze. Therefore there is a pit in [2,2] and the bastard is right in front of you, kill it right now!." Arquitetura de sistemas de PLN Tokenization Tokenization + Morfologia: • identificação dos elementos do vocabulário de símbolos • decompor documento em unidades atômicas que permitem um processamento sintático e semântico composicional Tokenization: • decomposição de documento em parágrafos parágrafo em orações orações em palavras • Mais complexo que parece: ex, “Sex 22/12, festa e-commerce no Dr. Froid -- patrocínios Bom Preço e I.B.M. do Brasil.” Línguas asiáticas Documentos formatados e hipertexto Documentos formatados e hipertexto: • Textos da maioria das aplicações prática atuais • Complica tokenização (e não interesse lingüístas) • Mas formatação embute precioso significado implícito! Formatação: • • • • • Decomposição em capítulos e seções Títulos, encabeçada, rodapés, notas Sublinhados e variações de fontes Listas de marcadores e/ou números Encabeçada com informação semi-estruturada (ex, e-mails) Hipertexto: • Linearidade do texto substituído pela estrutura de grafo do hiperdocumento • Frames, páginas, links Exemplo de tokenização não trivial Subject: Returned mail: User unknown Date: Wed, 2 Dec 1998 16:26:07 -0300 (EST) From: <[email protected]> To: <[email protected]> The original message was received at Wed, 2 Dec 1998 16:26:06 -0300 (EST) from localhost [127.0.0.1] ----- The following addresses had permanent fatal errors ----- <depto.cursos.posgrad.taci2> ----- Transcript of session follows ----... while talking to recife.di.ufpe.br.: >>> RCPT To:<[email protected]> <<< 550 <[email protected]>... User unknown 550 <depto.cursos.posgrad.taci2>... User unknown Reporting-MTA: dns; camaragibe.di.ufpe.br Received-From-MTA: dns; localhost Arrival-Date: Wed, 2 Dec 1998 16:26:06 -0300 (EST) Final-Recipient: rfc822; [email protected] Action: failed Status: 5.1.1 Remote-MTA: dns; recife.di.ufpe.br Diagnostic-Code: smtp; 550 <[email protected]>... User unknown Last-Attempt-Date: Wed, 2 Dec 1998 16:26:07 0300 (EST) Subject: Re: Recuperacao adiada para proxima 5a Date: Wed, 02 Dec 1998 16:26:05 -0300 From: Jacques Robin <[email protected]> Organization: DI-UFPE To: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] CC: [email protected] References: 1 Reginaldo Valadares wrote: > Jacques, a proxima terca feira (8 de dezembro) e feriado... > Reginaldo OK, entao o resto do calendario sera de fato o seguinte: - 6a depois de amanha 10:00, 2a aula de PLN - 3a 8/12 feriado - 5a 10/12 8:00 aula de recuperacao, 3a de PLN - 6a 11/12 10:00 2a sessao de acompanhamento dos projetos - 3a 15/12 10:00 4a e ultima aula de PLN Jacques Morfologia: lexemas e morfemas Formação dos símbolos a partir de sub-símbolos Lexemes e morfemes: • Palavras não são as unidades lingüísticas mínimas das orações • Palavra = lexema + morfema(s) • ex: redesenharam = morfema “re” (repetição da mesma ação) lexema “desenhar” (ação de criação plástica ou arquitetural) morfema “aram” (ação coletiva não habitual não envolvendo interlocutores ) Como unidade semântica, lexemas podem ser frasais • ex, “bater as botas”, “negócio da China” Morfologia: flexão e derivação Flexão: • Palavra = lexema + morfema sintático • Análise morfológica baseada em dicionário fornece: categoria sintática das palavras (Parts-Of-Speech Tagging) algumas propriedades do uso sintático da palavra da frase Conjugação, concordância, caso, ex, “Eles deram” x “Ele deu” x “Lhe deram” Derivação: • Palavra = lexema + morfema sintático para mudança de categoria sintática com mesma semântica ex, descobriram x descobrimento • ou palavra = lexema + morfema(s) semânticos aglutinado(s), ex, redesfazer = re+des+fazer? • ou palavra = vários lexemas aglutinado(s) ex, otorino-laringologista = oto+rino+laringo+logista Sintaxe de superficie: palavras de categorias abertas e fechadas Especifica combinação de símbolos em orações Categorias sintáticas dos lexemas • Lexemas classificadas em função das sua distribuição nas orações gramaticais • Categorias abertas: substantivos, verbos, adjetivos, alguns advérbios milhares de membros e constantemente estendidas por neologismos membros com papel essencialmente semântico • Categorias fechadas artigos, pronomes, preposições, conectivas, verbos auxiliares, alguns advérbios, cardinais, ordinais, etc. dezenas de membro e quase nunca estendido membros com papel essencialmente sintático Sintaxe de superficie: constituintes sintáticos Constituintes sintáticos (ou sintagmas): • orações não são constituídas diretamente de lexemas, • mas de sintagmas que são pelas suas vez constituídas de subsintagmas (ou sub-constituintes) etc. até os lexemas • Sintagmas também tem categorias sintáticas baseadas nas suas distribuições em orações gramaticais • Em termos de teoria das linguagens: categorias sintáticas dos sintagmas = símbolos não terminais lexemas = símbolos terminais Sintaxe de superficie: tarefas de um parser 1 Caso não precedido por um analisador morfológico: • rotular cada palavra com sua categoria sintática (pos-tagging) • ex: Cheiro@V um@Art fedor@N em@Prep [1,1]@Spec Delimitar constituintes sintáticos (bracketing) • ex: [] [Cheiro] [um fedor] [em [1,1]] Rotular cada constituinte com: • sua categoria sintática ex: []@Gap [Cheiro]@VG [um fedor]@NP [em [1,1]]@PP • sua função sintática ex: []@Subj [Cheiro]@MainV [um fedor]@DirObj [em 1,1]]@Adjunct • suas propriedades sintáticas ex, [Cheiro um fedor em [1,1]]@[present, active, declarative, ...] [um fedor]@[indef, sing, masc, count, ...] Sintaxe de superficie: tarefas de um parser 2 Identificar dependências estruturais entre os constituintes sintáticos Cheiro arg arg fedor mod um mod em mod [1,1] A diminuição de 40% das vendas de soda diet de julho a agosto na região nordeste foi realmente atípica porque: • para as outras regiões, a variação média das vendas desse produto no mesmo período foi um aumento de 9%; • para o ano todo, as vendas desse produto nessa mesma região decresceram de apenas 7%; • as vendas globais, de todos os produtos, nessa região e no mesmo periódo, decresceram de apenas 2% Volta