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

48
Processamento da Linguagem Natural PLN

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

Page 1: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

Processamento da Linguagem Natural

PLN

Page 2: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 3: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 4: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 5: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 6: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 7: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 8: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 9: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 10: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

Á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.

Page 11: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

Acesso a Banco de Dados

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

Page 12: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

SELECT * FROM CLIENTES WHRE IDADE=18

VISUALIZAR CLIENTES COM 18 ANOS

Page 13: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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;

Page 14: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 15: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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).

Page 16: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 17: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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?

Page 18: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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).

Page 19: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 20: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 21: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 22: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 23: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 24: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 25: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 26: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 27: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 28: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.
Page 29: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.
Page 30: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 31: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 32: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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)

Page 33: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 34: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 35: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 36: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 37: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

)

Page 38: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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.

Page 39: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 40: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 41: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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 )

Page 42: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 43: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 44: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 45: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 46: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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, ...]

Page 47: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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

Page 48: Processamento da Linguagem Natural PLN. Processamento de Linguagem Natural O processamento de linguagem natural é o estudo dos sistemas computacionais.

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