Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de...

Post on 17-Apr-2015

123 views 9 download

Transcript of Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de...

Processamento da Linguagem Natural

PLN

Processamento de Linguagem Natural

O processamento de linguagem natural é o estudo dos sistemas computacionais para compreensão ou geração de línguas naturais faladas e escritas.

Divisões do PLN

• lingüística computacional ou processamento de linguagem natural: tratamento da língua escrita.

• reconhecimento e síntese de voz: tratamento da língua falada.

Outras Denominações

Processamento de Linguagem Natural: Inteligência Artificial Lingüística Computacional: Lingüística Outros termos propostos: Processamento

Computacional das Línguas, Engenharia da Linguagem. Especificamente para a língua portuguesa tem sido sugerido: Processamento Computacional do Português, Processamento Computacional da Língua Portuguesa.

Histórico

PLN nasceu com o computador: 2a Guerra: militares americanos tinham

interesse de traduzir automaticamente conversações gravadas dos russos;

A comunidade científica precisava de traduções de trabalhos estrangeiros - a cada dia fazia-se novas descobertas científicas.

Tradução Automática

A possibilidade de fazer tradução automática de publicações sobre tecnologia e ciência deixou os cientistas animados. Essa foi uma das razões para que

pesquisas fossem financiadas na área.

Primeiros Sistemas de PLN

Primeiros trabalhos sobre PLN: tradução automática - começaram em

1946. Eram trabalhos sobre tradução russo-inglês.

tradução palavra por palavra;

traduções: listas de palavras chaves.

Histórico

1948: Preocupação com as regras de construção de frases foi levada em consideração (num trabalho do inglês Pichens).

Primeiro congresso sobre tradução automática foi realizado no ano de 1952, nos EUA, no MIT – Massachusetts Institute of Technology com a participação de 18 pesquisadores.

Renascimento do Interesse na Tradução Automática

Anos 80: renascimento do interesse na tradução automática, na Europa, em função da criação da Comunidade Européia.

1982: projeto EUROTRA - sistema de tradução automática para nove línguas de países que constituíam a Comunidade Européia.

Áreas de Aplicação de técnicas de PLN

(1) Acesso a banco de dados;

(2) Recuperação de informação;

(3) Extração de informação;

(4) Tradução automática;

(5) Geração de resumos.

Acesso a Banco de Dados

Acesso a banco de dados são feitos usualmente utilizando-se “query languages”

SELECT * FROM CLIENTES WHRE IDADE=18

VISUALIZAR CLIENTES COM 18 ANOS

Extração de Informação

Na extração de informação procura-se por informações diretamente nos textos , mostrando a informação ao invés de documentos.

Técnicas utilizadas: baseadas na busca de determinadas palavras chaves (denominadas de tags), tais como

- Nome de pessoas - Nome de empresas;

Tradução Automática

Tradução automática é a tradução por computador de frases dadas numa língua para outra língua.

Os primeiros trabalhos utilizavam dicionários bilingües e faziam tradução palavra a palavra.

A teoria lingüística começou a ser incorporada nos sistemas de tradução automática com os trabalhos de Noam Chomsky.

Gramática

Segundo Chomsky, o conhecimento que o falante de uma língua natural teria da mesma poderia ser descrita através de um conjunto finito de regras.

Tais regras seriam universais, ou seja, valeriam para todas as línguas. Elas poderiam gerar um número infinito de frases de uma língua.

Uma frase seria gramatical (pertencente à língua) ou agramatical (não pertencente à língua).

Problemas em Processamento de Linguagem Natural

Homonímia Lexical: um exemplo clássico é: manga = parte de uma peça de vestuário destinada a cobrir os braços / manga = fruto da mangueira

Problemas em Processamento de Linguagem Natural

Ambigüidade sintática: a sentença aceita duas análises sintáticas diferentes. Exemplo:

Viajando pela primeira vez para a Europa, cruzei com um grupo de jovens brasileiros.

Quem viajou pela primeira vez? Eu ou o grupo de jovens brasileiros?

Problemas em Processamento de Linguagem Natural

Ambigüidade de Escopo: Percebe-se às vezes que a sentença indica dois ou mais escopos. Exemplos:

Apesar de ser exímio advogado, o procurador da Universidade não cumpriu as disposições estatutárias.

Essa sentença poderia significar que:

- O procurador descumpre todas as disposições (Des- cumpre todas = tem por norma violar a legislação)

O procurador cumpre as disposições, mas não todas (não tem por norma violar a legislação, mas comete falhas).

Problemas em Processamento de Linguagem Natural

Diferentes correferências possíveis: é a compatibilidade de um anafórico com dois ou mais antecedentes distintos, também chamada de ambigüidade anafórica.

Exemplo: O ladrão entrou na casa do prefeito e tirou toda a sua roupa.

Fases do Desenvolvimento de um Sistema de PLN

(1) Análise morfológica;

(2) Análise Sintática;

(3) Análise Semântica;

(4) Análise do Discurso;

(5) Análise Pragmática.

Análise Morfológica

É o estudo da estrutura e da classificação das palavras em função do uso:

substantivos artigos adjetivos advérbios pronomes preposições verbos conjunção numerais interjeição

Análise Morfológica

Exemplo do software Palavras

“A ATIVIDADE INTELECTUAL”

a [o] <-sam> <artd> DET F S

atividade [atividade] <act-d> <activity> N F S

intelectual [intelectual] <jh> <np-close> ADJ F S

Regras morfológicas

As línguas naturais possuem regras morfológicas que produzem as possíveis variantes de cada palavra. Exemplo: construir tem como variantes, entre outras,

construção e construído.

Um pedaço da palavra (constru) se repete nas demais, que receberam a aposição do que chamamos de sufixos. Este pedaço de palavra que se mantém nas variantes, chamamos de lexemas.

Análise Sintática

É o estudo das unidades básicas da linguagem - as sentenças.

Na fase da análise sintática, o sistema de processamento de linguagem natural verifica se a seqüência das palavras nas sentenças são válidas para a gramática utilizada.

Análise Semântica

Durante a análise semântica, utiliza-se a estrutura gerada durante a análise sintática para construir outras estruturas que representem o significado das sentenças.

Formalismos utilizados nesta fase do processamento de linguagem natural podem ser classificados como sintagmas e outras estruturas.

Análise do Discurso

Análise do discurso é a identificação da estrutura do discurso. O discurso é também organizado em unidades constituídas por um mais elementos denominados segmentos do discurso.

Análise Pragmática

Na análise pragmática são estudados os enunciados, ou seja, os significados das frases, sob o ponto de vista dos interlocutores. Esta análise é de suma importância principalmente nos diálogos onde é preciso determinar as intenções dos interlocutores.

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 textual específico

– um estilo de documento

– uma tarefa específica

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

Tradução Automática (TA)• Sistemas de TA têm alto custo (Palavras=10milU$)

• Um sistema razoável tem – Léxico com 20.000 a 100.000 palavras e – Gramática com 100 a 10.000 regras (Palavras=2mil 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 português como “você”

(informal) ou “tu” (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 (E,OU,etc)

– ausência de sintaxe e semântica

– baixa precisão (cobertura, recall)

• Com PLN:– POS-tagger, analisador morfológico, tesaurus, parser, modelo

probabilístico da língua

– melhor aproximação do conceito procurado

– melhor precisã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 “house” refere-se a Casa branca 100% das

vezes no Wall Street Journal

Extração de dados do texto: exemplo

•Texto:

No Brasil a alta do preços no ano de 2010 levou ao então presidente lula a solicitar uma intervenção pelo banco central.

• Template extraído:

mapeamento(

assunto: economia,

sobre: “Brasil”.

quem: “Lula”

ano: 2010

local: banco central

porque: alta de preços

)

Geração de resumos textuais

BD Relacional

Base de

Conhecimento

Data WarehouseDimensional

AprendizagemMineraçãode Dados

Geração de Linguagem

Natural

Extração de Informação Interpretação de

Linguagem Natural

Páginas Web, etc.

Resumo na Web para tomada de decisões na empresa.

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

• 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.”

Documentos formatados e hipertexto• Documentos formatados em hipertexto:

– Textos da maioria das aplicações prática atuais

– Complica tokenização

– Entretanto, a 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

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 )

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

• Categorias sintáticas dos lexemas– 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

Sintaxe de superficie: tarefas de um parser 1

• 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 arg mod

mod mod

Exemplo final• Após a colocação dos rótulos os sistemas podem fazer uso da

saída do parcer para realizar o processamento necessário, ex:

LISTAR TODOS OS CLIENTES MAIORES DE 18

Listar = verbo

Todos = quantidade

Clientes = entidade

Maiores = >

18 = numero

SELECT * FROM CLIENTES QHERE IDADE>18