Jacques Robin CIn-UFPE 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 Geração de resumos dados tabulados, quantitativos textos Tradução (semi-)automática Auxílio à autoria de documentos verificação orto-gramatical padronização estilística relatórios, páginas na Web Sistemas de diálogos ajuda on-line tutores inteligentes interfaces linguagem (semi-) natural agentes de entretenimento 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 2 3 1 - Generalidade (tamanho do domínio, abrangência) 2 - Automação (auxílio humano) 3 - Aptidão (qualidade + fidelidade)
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: corpTakeoverCore( type: hostile, target: “Pillsbury”. suitor: “Grand Metropolitan” sharePrice: 63 stockExchange: nyse volume: 3.1M effectOnStock: up(from:3.75, to: 62) ) 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.
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! :) Base de Conhecimento Arquivos de Log Páginas Web Aprendizagem Mineração de Dados Extração de Informação Interpretação de Linguagem Natural Geração de Linguagem Natural Data Warehouse Dimensional BD Relacional Resumo na Web
Resumos textuais de descoberta de conhecimento em BD: exemplo Avg.Sales% Product Jul Aug Sep Oct Nov Dec Birch-B -12/s2 -3 1 42/s4 -14 -10/s2 Chery-S 5 -9 -12 1 -5 5 Cola 4 1/i3 -11 -8/i2 -2 7 Cream-S 8 -3/i2 -12 -2 1/i2 10 Diet-B 2 0/i2 -6 -1 -4 2 Diet-C 7 -7/i2 -12 -2 -2/i2 8 Diet-S 2 4/i4 -9 5/i4 -3 0 Grape-S 1 3 -9 -1 -8 4 Jolt-c -4 2 6/s2/i3 -2 0 0 Kiwi-S 3 -1/i3 -4 4 0 1/i3 Old-B 2 7/i2 -10 3 -3/i2 1 Orange-S 1 -1 -1/i2 -6 -4 9/i2 Saspria 5 -10/i2 -2 -1 1 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 B 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!"
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 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 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: Tokenization: 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 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: <MAILER-DAEMON@di.ufpe.br> To: <jr@di.ufpe.br> 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:<depto.cursos.posgrad.taci2@di.ufpe.br> <<< 550 <depto.cursos.posgrad.taci2@di.ufpe.br>... 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; depto.cursos.posgrad.taci2@di.ufpe.br Action: failed Status: 5.1.1 Remote-MTA: dns; recife.di.ufpe.br Diagnostic-Code: smtp; 550 <depto.cursos.posgrad.taci2@di.ufpe.br>... 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 <jr@di.ufpe.br> Organization: DI-UFPE To: rgv@di.ufpe.br, glr@di.ufpe.br, reviegas@zaz.com.br, jcsn@di.ufpe.br, mgs@di.ufpe.br, rmsl@di.ufpe.br, rlacerda@hotlink.com.br CC: depto.cursos.posgrad.taci2@di.ufpe.br 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 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 sub-sintagmas (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 fedor um Æ em [1,1] arg mod
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