1
Estrutura e Linguagens da
Informação
Processamento de Linguagem Natural
e Linguagens Documentárias
2
Indexação
Objetivos:
Selecionar os termos que melhor descrevem o
conteúdo do documento
Reduzindo a complexidade da representação do
documento no índice
Associar aos documentos
termos de indexação
usados para a recuperação da informação
Tornar a busca pelos documentos mais
rápida
para o usuário
Termos devem
distinguir
documentos
relevantes dos não-relevantes
Indexação da base de documentos
Consiste de três passos:
1.
Definição do vocabulário de indexação ou
linguagem de indexação
2.
Atribuição de termos de indexação a cada
documento – processo de indexação
Vocabulário de Indexação
Definição:
Conjunto de termos usados para indexar
documentos de uma base de dados
Pode ser definido
manualmente
por
especialistas humanos => vocabulário de
indexação manual
Vocabulário controlado,
tesauro,...
Refletem diretamente os
assuntos
dos
documentos
Pode ser definido
automaticamente
pelo
sistema de RI (após
operadores de texto
) =>
vocabulário de indexação automático
Definido pelo vocabulário controlado ou
linguagem documentária adotada:
Lista de cabeçalho de assuntos
Lista simples de termos sem hierarquia
Taxonomia
Lista de termos organizados com hierarquia
Tesauro
Hierarquia de termos com relações associativas
Ontologia
Hierarquia de assuntos organizados em classes e com
relações de subordinação e associativas específicas e explícitas
Vocabulário de Indexação
Manual
Consiste basicamente no conjunto de
termos que aparecem nos documentos da
base após aplicação de operadores de texto.
Se baseia na linguagem natural (linguagem
do conteúdo do documento).
Vocabulário de Indexação
Automático
7
8
Linguagem Documentária (LD)
A linguagem documentária compreende o
conjunto de regras, símbolos e termos
previamente estabelecidos, formando uma
linguagem artificial para a indicação do
conteúdo temático dos documentos.
Metalinguagem que utiliza uma construção simbólica com a
finalidade de ser instrumento de conversão de uma linguagem em outra.
Linguagem de indexação é uma especialização de uma
LD, sendo uma linguagem artificial utilizada para registro ou indicação dos temas contidos nos documentos, dotada de vocabulário controlado e regida por uma sintaxe própria.
Exemplos: tesauros, taxonomias, listas de cabeçalho de assunto,
Exemplos de LD
Vocabulário Controlado da USP
http://143.107.154.62/Vocab/Sibix652.dll/Mac
Decs
http://decs.bvs.br/
Tesauro brasileiro em Ciência da Informação
http://www.ibict.br/publicacoes-e-
institucionais/tesauro-brasileiro-de-ciencia-da-informacao-1/
10
Linguagem Natural
Compreende os idiomas ou línguas criadas
pelos seres humanos para fins de
comunicação. Para cada domínio do saber
naturalmente se desenvolve uma linguagem
de especialidade.
Exemplos:
Português do Brasil, Inglês dos EUA
Todo documento é redigido em linguagem
natural. Por mais que tenham termos técnicos
específicos de uma área ou especialidade do
conhecimento humano.
11
Comparação: Linguagem Natural
versus
Linguagem Documentária
Linguagens
Documentárias
São linguagens
artificiais;
São instrumentos de
comunicação;
São especializadas;
São estabelecidas em
poucos anos por um
número reduzido de
pessoas;
Linguagens Naturais
São linguagens naturais;
São instrumentos de
comunicação;
São gerais;
São estabelecidas e
adaptadas através de
longos períodos de
tempo e por muitas
pessoas;
12
Comparação: Linguagem Natural
versus
Linguagem Documentária
Linguagens
Documentárias
Devem ser aceitas pelos
usuários;
São mais eficientes que as
LN nas operações de recuperação da informação; Não aceitam ambiguidades. Não comportam polissemias e evitam as sinonímias;
Linguagens Naturais
São naturalmente aceitas
pelos usuários;
São menos eficientes que
as LD nas operações de recuperação da
informação;
Aceitam ambiguidades. A
sinonímia e a polissemia são fatos naturais das LN
13
Processo de Indexação
Conceitos…
Linguagem de Indexação
A automatização da indexação apresenta três
conceitos diferentes:
Indexação assistida por computador durante o
armazenamento: sistemas que auxiliam o processo de armazenamento dos termos de indexação extraídos pelo indexador na etapa de análise conceitual.
Indexação semi-automática: sistemas que indexam
automaticamente o documento e, se necessário, dão a possibilidade de edição e validação dos termos pelo documentalista.
Indexação automática: sistemas sem nenhuma validação
por parte do documentalista; os termos de indexação são armazenados diretamente como descritores do documento.
Indexação Automática
De acordo com Lancaster (2004), indexação
automática é o processo que ocorre quando o
computador é utilizado para substituir, em
certa medida, a indexação manual realizada
por um indexador.
Indexação Automática
Indexação Manual Indexação Automática
Vantagens:
-
Maior cobertura de termos- Maior velocidade no
processo de indexação
Desvantagens:
-
Pode gerar baixa precisãoIndexação Automática vs
Indexação Manual
16
Vantagens:
- É possível ter uma visão lógica dos documentos que compõem a base
- É possível direcionar melhor a busca realizada pelo usuário
Desvantagens:
- Cada documento é indexado por um humano (processo lento)
- Nem sempre é possível construir uma boa estrutura de assuntos
- O usuário pode realizar buscas com termos que não aparecem no
•
Extração - adota critérios de freqüência, posição e contextocom que as palavras aparecem no decorrer do texto para então extraí-las como descritores.
• Parte do processamento do documento para extrair termos
de indexação.
•
Atribuição - desenvolve, para cada termo a ser indexado, um“perfil” de palavras ou expressões que costumam ocorrer freqüentemente nos documentos.
• Este perfil de palavras geralmente é obtido através do
processamento de uma linguagem documentária, como um tesauro para o domínio.
• Parte do processamento da linguagem documentária para
atribuir termos de indexação ao documento.
Tipos de Indexação Automática
18
Indexação Automática
Abordagem Tradicional: Indexação por
extração via seleção de termos.
Lista de termos do documento pode ser
reduzida através do uso de operadores de
texto
Cada fase de operação de texto pode utilizar
diferentes técnicas na sua implementação
Cada sistema de RI implementa uma ou mais
dessas fases
A escolha depende do tipo de sistema
Fonte: Adaptada de Baeza-Yates (1999 apud Gonzalez e Lima, 2003)
Operações sobre o texto
Texto completo (Full-text) Reconhecimento da estrutura Estrutura Análise Léxica Documento Stopwords Normalização Grupos nominais Vocabulário controlado Termos de índice 19
20
Indexação Automática
Operadores de texto
documento Análise Léxica Eliminar stopwords Grupos nominais Normalização Vocabulário controlado Termos•
Operadores reduzem progressivamente a visão lógica do documento Texto completoProcessamento de Linguagem
Natural (PLN)
O que é?
Conjunto de técnicas computacionais para a
análise de textos com o propósito de simular o
processamento humano da língua.
Quais são as abordagens?
Abordagem estatística –
de menor custo e adaptáveisa diversas línguas
Abordagem linguística –
particular para cada idiomaRazões para aplicar em RI?
Documentos e expressões de busca são
enunciados em linguagem natural.
Técnicas de Processamento de
Linguagem Natural
As técnicas podem ser classificadas pelo nível da
unidade linguística processada, para cada nível são
exemplificadas
aplicações
:
Nível Fonológico –
fonemas (sons da fala) reconhecimento de fala, síntese de fala, busca fonética
Nível Morfológico –
morfemas (componentes daspalavras (prefixos, radical, sufixos ) e forma canônica das palavras (lema)
radicalização e lematização das palavras, normalização de termos
Nível Lexical
– estrutura e significado da palavra
Eliminação de stopwords, construção e uso de
vocabulários controlados, formulação e expansão de busca, indexação automática.
Técnicas deProcessamento de
Linguagem Natural
Nível Sintático –
estrutura sintática da frase (classesgramaticais, sintagmas)
Extração de sintagmas nominais, representação arbórea das
frases, parser de dependência
Nível Semântico –
o significado de grupo de palavrasou expressões nas orações ou frases
Resolução de ambiguidades, Reconhecimento de Entidades
Nomeadas, Análise de sentimentos, Reconhecimento de papéis semânticos, Extração de Relações Abertas, Tradução
automática, Sumarização de Texto.
Técnicas deProcessamento de
Linguagem Natural
Nível do Discurso –
a função de uma informação emum documento
Identificar causa/consequência, argumento, conclusão,
previsão, alternativa, opinião, fato...
Nível Pragmático
– o que o texto informa (conhecimento)ou induz ao leitor (ação)
Identificar a função do documento, necessidades, preferências, objetivo do autor,...
•
Listas de Stopwords (Palavras Irrelevantes ou Vazias de significado) – lista de palavras que não são boas como discriminantes dos documentos por serem muito frequentes.•
Stemmer (Radicalizador) – software que atua nas palavrascongêneres de um documento substituindo-as por uma representação única através do seu radical.
•
Lemmatizer (Lematizador) - software que atua nas palavrascongêneres de um documento substituindo-as por uma representação única através do seu lema.
•
Tagger (Etiquetador) – software que serve para identificar acategoria gramatical de cada item lexical do texto analisado.
•
Parser – gera a representação arbórea sintática de uma frase.•
Tesauro ou léxico – Fonte de termos candidatos a descritorese relações entre termos
Ferramentas e recursos de PLN
•
Listas de Stopwords (Palavras Irrelevantes ou Vazias de significado) • http://snowball.tartarus.org/algorithms/portuguese/stop.txt•
Stemmer
(Radicalizador)
• http://snowball.tartarus.org/algorithms/portuguese/stemmer.html•
Lemmatizer (Lematizador) • http://lxcenter.di.fc.ul.pt/services/en/LXServicesInflector.html•
Tagger (Etiquetador) • LXTagger:http://lxcenter.di.fc.ul.pt/services/en/LXServicesSuite.html•
Parser • PALAVRAS: http://beta.visl.sdu.dk/visl/pt/parsing/automatic/trees.php•
Tesauro ou léxico • Wordnet: http://wordnetweb.princeton.edu/perl/webwnExemplos de Ferramentas ou
recursos de PLN
26Processamento de Linguagem
Natural
Principais usos em Recuperação de Informação (RI):
Indexação automática
Identificação de termos compostos
Ex. Sintagmas nominais, termos complexos, unidades
lexicais complexas, expressões multipalavras
Normalização de variações linguísticas
Normalização morfológica ou Conflação de termos (ex.
radicalização, lematização)
Normalização léxico-semântica de termos através das
relações semânticas de sinonímia, hiponímia, hiperonímia
Resolução de ambiguidade
Sintática (causa estrutural – complemento nominal) semântica (causa lexical – homonímia, polissemia)
28
Indexação Automática através de
Operadores de texto
documento Análise Léxica Eliminar stopwords Grupos nominais Normalização Vocabulário controlado Termos•
Operadores reduzem progressivamente a visão lógica do documento Texto completo29
Operadores de texto
O objetivo é chegar à representação
computacional do documento, a ser
armazenada em estrutura de índice para fins
de recuperação.
“Se o desonesto soubesse a vantagem de ser honesto, ele seria honesto ao menos por desonestidade.” Sócrates Doc original desonesto / soubesse / vantagem / honesto / seria / honesto / menos/desonestidade/ socrates honesto 2 desonesto 1 soubesse 1 vantagem 1 seria 1 menos 1 desonestidade 1 socrates 1
Operações de Texto Representação
30
Preparação dos documentos
Operadores de texto
documento Análise Léxica Eliminar stopwords Grupos nominais Normalização Vocabulário controlado Termos reduzidos•
Operadores reduzem progressivamente a visão lógica do documento Texto completo31
Operações sobre o texto
Análise léxica
Entrada
O texto original
uma cadeia de caracteres
Objetivo
Converter o texto original em uma lista de palavras ou
tokens
Identificando as palavras que ocorrem no texto
Procedimento padrão
Utilizar espaços como sendo separadores de palavras
Tratar pontuação, hífens, dígitos, e letras maiúsculas e
minúsculas
32
Análise Léxica - Exemplo
Identificação de cada palavra e conversão
de caracteres
“Se o desonesto soubesse a
vantagem de ser honesto, ele seria honesto ao menos por
desonestidade.”
Sócrates
Doc original se/o/desonesto/ soubesse /a/vantagem/ de/ser/honesto/ele/ seria/honesto/ao/menos/ por/desonestidade/ socrates/ Análise Léxica33
Operações sobre o texto
Análise léxica
Eliminação de pontuação e hífens
. , ! ? : ;
-
Geralmente, todos os caracteres de pontuação
são removidos
Porém, há casos onde eles são mantidos, por
serem necessários
URLs de Sites na Web
Palavras compostas e prefixos
34
Operações sobre o texto
Análise léxica
Eliminação de dígitos
Geralmente, dígitos são removidos por serem
vagos
Não terem uma semântica associada quando
aparecem isolados
Ex. 1910 (ano, peso, tamanho???)
Contudo, dígitos associados a alguns
termos/caracteres especiais podem ser
importantes
510dC - dC não significa nada em isolamento
Windows8, C3PO,...
35
Operações sobre o texto
Análise léxica
Substituição de letras maiúsculas
Objetivo principal
Tornar a representação homogênea
Facilitar a recuperação do documento a partir
de consultas
Exceções
Carneiro - Animal ou nome próprio?
Banco – instituição financeira
36
Operações sobre o texto
Análise léxica
Como visto, existem diversas exceções a
tratar
Isso depende da aplicação, do domínio do
sistema, etc...
Sugestão
Preparar lista de exceções e tratar caso a caso
Engenhos de busca
Geralmente, não eliminam nada
Funcionam em todos os domínios...
Indexam o texto completo com sua
37
Preparação dos documentos
Operadores de texto
documento Análise Léxica Eliminar stopwords Grupos nominais Normalização Vocabulário controlado Termos•
Operadores reduzem progressivamente a visão lógica do documento Texto completo38
Operações sobre o texto
Eliminação de
stopwords
Alguns termos não são bons discriminadores
entre documentos
Palavras muito frequentes na base de
documentos
Palavras sem semântica associada
artigos, preposições, conjunções, pronomes,
alguns advérbios e adjetivos
Aqui também há exceções a considerar
Em domínios específicos, podemos precisar
manter algumas dessas palavras
39
Eliminação de Palavras Vazias de
significado - Exemplo
Eliminação de palavras de uma lista
(geralmente palavras muito frequentes na
coleção ou conectivos)
se/o/desonesto/ soubesse /a/vantagem/ de/ser/honesto/ele/ seria/honesto/ao/menos/ por/desonestidade/ socrates/ Análise Léxica desonesto / soubesse / vantagem / honesto / honesto / menos/ desonestidade/ socrates Eliminar stopwords40
Operações sobre o texto
Eliminação de
stopwords
Vantagens
Diminuir a representação do texto
Melhorar a ordenação na recuperação
Tf-idf
Desvantagens
Diminuição da cobertura na recuperação
Ex., “ser ou não ser”
Somente o termo “ser” será usado na
indexação
Mais uma razão para os engenhos de busca
41
Preparação dos documentos
Operadores de texto
documento Análise Léxica Eliminar stopwords Grupos nominais Normalização Vocabulário controlado Termos•
Operadores reduzem progressivamente a visão lógica do documento Texto completo42
Operações sobre o texto
Normalização
Problema
Freqüentemente, o usuário especifica uma palavra na
consulta, mas apenas uma variação dessa palavra
aparece nos documentos relevantes
Ex., plural, gênero, gerúndio, verbos flexionados,
aumentativo...
Objetivo dessa operação:
Possibilitar casamento entre variações de uma mesma
palavra
43
Operações sobre o texto
Normalização
Procedimentos
Substituir a palavra por seu radical (
stem
)
Porção que resta após a remoção de prefixos e sufixos
Substituir a palavra por seu lema (lemma)
Forma infinitiva para verbos, masculino-singular para
44
Radicalização - Exemplo
Um software reduz a palavra a uma
aproximação do radical removendo sufixos
desonesto / soubesse / vantagem / honesto / honesto / menos/ desonestidade/ socrates Eliminar stopwords desonest / soub / vantag / honest / honest / men/desonest/ socrat Radicalização
45
Lematização
Exemplo para o Português
word
lema
quilo
quilos
quilométricas
quilométricos
quilômetro
quilômetros
química
químicas
químico
químicos
quimioterapia
quimioterápicos
=>
quilo
quilo
quilométrico
quilométrico
quilômetro
quilômetro
química (químico se adj.)
química (químico se adj.)
químico
químico
quimioterapia
quimioterápico
46
Operações sobre o texto
Técnicas de
radicalização
Técnicas de
stemming
Mantém uma tabela de radicais de palavras
Ex., menin
Procedimento simples, porém necessita de dados
sobre os todos os radicais da língua
Considera os morfemas da língua
Ex., menin+o+s
Procedimento complexo e muito dependente da
língua
Remoção de afixos (prefixos e sufixos) - Usa
uma
regra de redução
para cada sufixo e
prefixo
47
Operações sobre o texto
Técnicas de
radicalização
engineer
engineer
engineer
engineering
engineered
engineer
Termo
Stem
Algoritmo de
Porter
:
Considera que a remoção de sufixos é mais importante
que a de prefixos
Procura pela maior seqüência de letras que casa com
alguma regra
Funciona bem para o inglês
Regras de redução
Plural: “sses” “ss”, “ies” “i” , “ss” ss”, “s” “” Pasado: “ed” -> “”
48
Operações sobre o texto
Radicalização
Snowball
Uma linguagem para processamento de
strings especifica para criar algoritmos de
stemming para RI
http://snowball.tartarus.org/
Veja algoritmo disponível para Português em
http://snowball.tartarus.org/algorithms/portugu
ese/stemmer.html
O site também traz exemplo de
stoplist
para
Português
49
Radicalização
Exemplo do Snowball para Português
word
stem
quilo
quilos
quilométricas
quilométricos
quilômetro
quilômetros
química
químicas
químico
químicos
quimioterapia
quimioterápicos
=>
quil
quil
quilométr
quilométr
quilômetr
quilômetr
químic
químic
químic
químic
quimioterap
quimioteráp
50
Preparação dos documentos
Operadores de texto
documento Análise Léxica Eliminar stopwords Grupos nominais Normalização Vocabulário controlado Termos reduzidos•
Operadores reduzem progressivamente a visão lógica do documento Texto completo51
Operações sobre o texto
Identificação de Grupos Nominais
Objetivo
Identificar grupos nominais (termos compostos) para
indexar o documento
Ex., Recuperação de Informação, Inteligência Artificial
Procedimentos
Selecionar substantivos do texto, eliminando
sistematicamente palavras de outras classes gramaticais
usando um etiquetador automático (tagger) para
determinar a classe das palavras
52
Identificação de Grupos Nominais
-Exemplo
Utiliza um software que extrai os
substantivos e termos compostos formados
por substantivos do texto.
Exemplos: recuperação da informação,
indexação automática.
se/o/desonesto/ soubesse /a/vantagem/ de/ser/honesto/ele/ seria/honesto/ao/menos/ por/desonestidade/ socrates/ Análise Léxica desonesto / vantagem / honesto / honesto /desonestidade/ socrates/Detecção de grupos nominais
53
Operações sobre o texto
Identificação de Grupos Nominais
Como agrupar substantivos para formar termos
compostos
Considerando os grupos nominais identificados pelo
tagger
Considerando a distância entre os termos no texto
Número de palavras entre os dois substantivos
Ex., Recuperação de Informação
Apenas uma palavra (de)
Regras da gramática de sintagmas nominais (SN)
Ex:
SUBSTANTIVO PREPOSIÇÃO SUBSTANTIVO => SN54
Preparação dos documentos
Operadores de texto
documento Análise Léxica Eliminar stopwords Grupos nominais Normalização Vocabulário controlado Termos reduzidos•
Operadores reduzem progressivamente a visão lógica do documento Texto completo55
Operações sobre o texto
Uso de Vocabulário Controlado
Objetivo
Atribuir termos de especialidade que representem
conceitos na indexação do documento
Ex. Indexação, Recuperação de Informação, Inteligência
Artificial
Procedimentos
Registrar a ocorrência e posição de ocorrência de termos
ou variações linguísticas de termos do tesauro no
documento
Selecionar termos candidatos
com base na ocorrência de56
Uso de vocabulário controlado
-Exemplo
Uso de tesauro de valores éticos e morais
desonestidade
NE antônimo de honestidade
TE corrupção
TR honestidade, desonesto.
Honestidade ...
se/o/desonesto/ soubesse /a/vantagem/ de/ser/honesto/ele/ seria/honesto/ao/menos/ por/desonestidade/ socrates/ Análise Léxica desonesto/honesto/ honesto/desonestidade/ Uso de tesauro57
Operações sobre o texto
Vocabulário controlado
A idéia é prover a indexação e recuperação da informação
baseada em conceitos (unidade semântica básica para transmitir ideias).
Linguagens documentárias podem ser utilizadas para orientar a atribuição de termos a documentos no processo de indexação manual ou automática.
As relações semânticas entre os conceitos (representados por termos preferenciais ou autorizados) podem ser utilizadas para a seleção e atribuição dos termos aos documentos
Relação de sinonímia: aponta termo equivalente (denotados por USE ou UF), deixando claro o termo preferencial para representar um conceito.
Relação de termo geral: aponta termo preferencial mais geral (denotado por TG ou BT) Relação de termo específico: aponta termo preferencial mais específico (denotado por TE
ou NT)
Relação de termo relacionado: aponta termo preferencial coocorrente (denotado por RE ou RT)
58
Vocabulário Controlado
Contribuem para Indexação automática por
atribuição:
A ocorrência de variações linguísticas dos termos
do vocabulário controlado ou dos termos não
autorizados equivalentes (Relações USE e UF) no
documento.
A ocorrência de variações linguísticas de um termo
mais específico no documento (Relações TG e TE)
A relação de termo relacionado (TR) tem sido
mais explorada na expansão de termos na
59
Ferramentas para construir índice de
SRI
Construir a estrutura de dados do índice
Lucene (
http://lucene.apache.org/core/
)
Biblioteca de código escrita em programação
JAVA para construção e busca em índices
invertidos
SOLR (
http://lucene.apache.org/solr/
)
Implementação de servidor de busca baseado
em Lucene
Luke (
https://github.com/DmitryKey/luke
)
Visualizador de índice e analizadores de texto
60
Exercício
1) Indexe o trecho abaixo usando o software
Luke
:
Aborda a utilização dos sintagmas nominais no processo
indexação automática das teses e dissertações depositadas na Biblioteca Digital de Teses e Dissertações da UFPE
(BDTD-UFPE), considerando a hipótese de que os sintagmas nominais consistiriam numa melhor unidade de
conhecimento para a indexação e recuperação de
informação que as palavras isoladas, permitindo aumentar a satisfação da necessidade de informação do usuário durante a busca pela informação. Discute-se sobre o estado da arte dos sintagmas nominais e de sua extração automática, bem como sua aplicação na indexação automática e recuperação de informação.
61
Exercício
2) Indexe o trecho anterior usando o
software Ogma
(http://www.luizmaia.com.br/ogma/).
3) Discuta a diferença nos termos propostos
por cada software de indexação automática.
62
Considerações Finais
As linguagens documentárias representam o
conhecimento dos especialistas para um
domínio do conhecimento, e são pontos de
partida para a criação de linguagens de
indexação de qualidade.
O vocabulário automático traz ganhos na
atualização das LDs e na representação de
conceitos atuais nos documentos.
O processo de indexação tende a ser cada
vez mais automatizado com base nas LDs e
geração de vocabulários automáticos.
63
Referências
(BAEZA-YATES & RIBEIRO-NETO, 2013)