Escolar Documentos
Profissional Documentos
Cultura Documentos
Tese de Doutorado
Rio de Janeiro
Março de 2007
Christian Nunes Aranha
Ficha Catalográfica
144 f. ; 30 cm
Inclui bibliografia
CDD: 621.3
Agradecimentos
Aos meus pais, minha namorada e meus amigos, sem os quais são poderia
ter completado este trabalho.
Palavras-chave
Mineração de Texto, Preprocessamento, Inteligência Artificial.
Abstract
Keywords
Text Mining, Preprocessing, Artificial Inteligence.
Sumário
1. Introdução 13
1.1. Motivação 15
1.2. Objetivo da Tese 18
1.3. Estrutura da Tese 20
2. O Estado da Arte 22
2.1. Modelos Puramente Estatísticos 22
2.1.1. Modelo de Espaço Vetorial 23
2.1.2. Análise de Correspondência 25
2.1.3. Análise de Discriminante 28
2.2. Redes Neurais 31
2.2.1. Hopfield 31
2.2.2. Backpropagation 32
2.2.3. Mapas Auto-Organizáveis 33
2.3. Aprendizado de Máquina 35
2.3.1. Cadeias de Markov Escondidas 35
2.3.2. Aprendizado Baseado em Transformações 39
3. Mineração de Texto 40
3.1. Coleta de Dados 41
3.2. Pré-processamento 42
3.2.1. Identificação de Palavras no Texto 43
3.2.2. Redução de Dimensionalidade 45
3.2.3. Remoção de Palavras Não-Discriminantes (Stop-words) 46
3.3. Indexação 47
3.3.1. Procura Caractere à Caractere 49
3.3.2. Lista Invertida 50
3.3.3. Similaridade 52
3.3.4. Processo de Indexação 53
3.3.5. Índice do tipo Full-text 54
3.3.6. Ordenação 57
3.4. Mineração de Dados 58
3.5. Análise da Informação 59
5. Desenvolvimento e Implementação 82
5.1. Aprendizado Automático 82
5.2. O Léxico Computacional 83
5.2.1. A Importância do Léxico 84
5.3. Percepção Lingüística 85
5.4. Tesaurus 87
5.5. O Modelo 88
5.5.1. Definições 89
5.5.2. Arquitetura 89
5.5.3. Compostos 99
5.5.4. Nomes Próprios 102
5.5.5. Sintaxe 1022
5.6. Representação do Documento 1033
5.6.1. Formato de Armazenamento 1044
5.6.1.1. Tags de Categoria 1044
5.6.1.2. Tags de Contexto 1055
5.6.1.3. Tags de Função 1066
5.6.1.4. Tags de Estrutura 1077
5.6.1.5. Tags Descritivas 108
5.6.2. Exemplos 109
7. Resultados 119
7.1. Pré-processamento 119
7.2. Classificação 1222
7.2.1. Amostra Pequena 123
7.2.2. Amostra Grande 1287
Text Mining como sendo Data Mining em dados textuais. Text Mining tem
como objetivo extrair padrões e associações desconhecidas de um grande
banco de dados textual. (Thuraisingham, B., 1999):167
1.1.
Motivação
1
www.cg.org.br/indicadores/index.htm
18
1.2.
Objetivo da Tese
11 22 33 44 55
PRÉ-
PRÉ-
COLETA
COLETA INDEXAÇÃO
INDEXAÇÃO MINERAÇÃO
MINERAÇÃO ANÁLISE
ANÁLISE
PROCESSAMENTO
PROCESSAMENTO
1.3.
Estrutura da Tese
2.1.
Modelos Puramente Estatísticos
2.1.1.
Modelo de Espaço Vetorial
2.1.2.
Análise de Correspondência
Tabela 17 – Matriz com o número de ocorrência do termo (linhas) em cada uma das
partições educação (L,M e H) e idade (-30, -55 e +55).
Os valores das distâncias são organizados em uma matriz de distâncias. É então feita
uma visualização dos dados a partir da projeção (de duas dimensões) que maximiza a
variância dos dados segundo o procedimento estatístico de análise das componentes
principais. O resultado pode ser visto na
Figura 42
27
Como no experimento da
Figura 42, friends and family estão próximos a categoria -30/high, peace of
mind está correlacionado com +55/high, porém money não tem mais a ver com -
30/medium como antes. Isso mostra como um bom pré-processamento dos dados
interfere no resultado final e por isso é fundamental em mineração de textos.
2.1.3.
Análise de Discriminante
K
G = 1− ∑p
i =1
2
i
onde
fi
p =
2 ni
i K
∑i =1
fi
ni
um peso menor para tais termos usando a medida Inverse Document Frequency –
IDF – definida pela Equação 3.3.
N
IDF = log (3.3)
c
TFIDF (t j , d i )
aij = TFIDFN (t j , d i ) = (3.5)
2
∑ (TFIDF (t , d i ))
N
s =1 s
31
2.2.
Redes Neurais
2.2.1.
Hopfield
2
http://www.megaputer.com/ta_algo.html
32
2.2.2.
Backpropagation
2.2.3.
Mapas Auto-Organizáveis
classificações.
Química Construção
35
2.3.1.
Cadeias de Markov Escondidas
para datas, <A> para autor e <C> para conetúdo, de forma a maximizar a
probabilidade de transição. A Figura 49 mostra o texto original rotulado.
38
2.3.2.
Aprendizado Baseado em Transformações
Primeiro, um texto não anotado é passado por um anotador inicial, que pode
ser tanto manual como aleatório. Uma vez rotulado ele é comparado com a
verdadeira classificação, que é um corpus de treinamento. Assim, uma lista de
40
regras de transformação vão sendo aprendidas. Estas regras podem ser de duas
formas: as regras de reescrever e a de disparo.
As regras de reescrever agem da seguinte forma: “mude o rótulo de
substantivo para adjetivo” e as de disparo das regras de reescrever como “se a
palavra anterior é um determinante”.
Os problemas desta abordagem se resumem em precisar de um grande
corpus anotado, gerar muitas regras (o que vai de encontro ao princípio da
parsimônia) e não contemplar um léxico. O fato de não ter de trabalhar com um
léxico impacta na rotulação de uma palavra de um texto novo que não estava
contida no corpus anotado.
3
Mineração de Texto
3.1.
Coleta de Dados
A coleta de dados tem como função formar a base textual de trabalho. Essa
base pode ser estática, nos casos mais simples, ou dinâmica, isto é, atualizadas a
todo momento através de robôs autônomos coletando novas informações. A
atualização é feita pela simples adição de um novo conteúdo, remoção de
conteúdos antigos, ou, substituição da base por uma inteiramente nova.
Coletar dados é uma atividade trabalhosa. Um do motivos é que os dados
podem não estar disponíveis em um formato apropriado para serem utilizados no
processo de mineração de textos. Essa dificuldade não é nova, em (Pyle, D., 1999)
é apresentada uma lista de alguns desafios para essa fase.
Para mineração de textos, um dos principais problemas em coletar dados é
descobrir onde os dados estão armazenados. Depois disso recuperar documentos
relevantes ao domínio de conhecimento. De forma geral, esse procedimento se
estabelece basicamente em três ambientes distintos: no diretório de pastas do
disco rígido; em tabelas de diferentes bancos de dados e na Internet.
Para o disco rígido temos os sistemas de GED (gerenciamento eletrônico de
documentos) para grandes empresas e recentes lançamentos de busca local como
Google Desktop, Yahoo! Desktop e Ask Jeeves Desktop.
Nos bancos de dados, a iniciativa de Data Warehouses (Kimball, R., 1996)
surgiu com o intuito de unificar e centralizar diferentes bancos de dados de forma
disponibilizar mais facilmente as informações. Embora os Data Warehouses
42
facilitem bastante a coleta de dados, o problema ainda está longe de ser bem
resolvido, principalmente quando se trata de textos. Além disso, esse modelo se
mostrou bastante custoso e árduo, o que fez com que se estabelecesse apenas em
pouco lugares de forma definitiva. (Batista, 2003)
Na Internet temos uma infinidade de páginas pessoais, institucionais,
páginas de revistas e diversas fontes disponíveis para coletar os documentos tais
como livros e artigos. Para facilitar o acesso a esses documentos na Internet,
muitas ferramentas de apoio têm sido construídas usando as seguintes abordagens:
Motores de Busca Baseados em Robô (Robotic Internet Search Engines),
Diretórios de Assunto (Subject Directories) (Peterson, R. E., 1997).
Trabalhos relacionados à coleta de documentos provenientes da Internet
podem ser encontrados na literatura (Baeza-Yates, B. e Ribeiro Neto, B., 1999);
(Joachims, T. et al, 1997). Muitos deles combinam técnicas de AM e Recuperação
de Informação (RI) (van Rijsbergen, C. J., 1979) para determinar o perfil do
usuário visando melhorar a coleta de documentos.
Em qualquer desses ambientes, um crawler é o robô responsável por
navegar de forma autônoma e exploratória pela rede para fazer a coleta. Esses
robôs se tornaram mais conhecidos na Internet com o nome de webcrawler.
Versões livres de webcrawlers podem ser encontradas na Internet, a exemplo do
wGet. Uma das importantes funções de um webcrawler é saber decodificar os
HTMLs, tanto para recortar apenas o que é conteúdo texto como para seguir para
o hiperlinks que se encontram na página. Outra função importante é saber
gerenciar bem seu caminho de percurso que tem a forma de um grafo de modo a
impedir que o robô visite várias vezes a mesma página ou entre em ciclos eternos.
3.2.
Pré-processamento
3.2.1.
Identificação de Palavras no Texto
3.2.2.
Redução de Dimensionalidade
3.2.3.
Remoção de Palavras Não-Discriminantes (Stop-words)
3.3.
Indexação
3
Gerard Salton vem trabalhando nessa área desde a década de 60 e já publicou mais de 150 artigos.
49
3.3.1.
Procura Caractere à Caractere
Inúmeros trabalhos para resolver este problema foram propostos, e eles são
comparados normalmente pela complexidade computacional do pior caso e o
número de comparações de caracteres feitos. Para o problema de procurar todas as
ocorrências de uma dada string de m caracteres em um texto de n caracteres, o
pior caso é expresso pelo número de operações c(n,m). Um primeiro bom
resultado estabelecido foi dado por Knuth-Morris-Pratt (KMP) (Knuth, D. E. et al,
1977) como c(n,m) = 2n-m+1. Na mesma época Boyer-Moore (BM) (Boyer, R. S.
e Moore, J. S., 1977) desenvolvia um algoritmo que alcançava apenas c(n,m)=6n,
porém, ele foi sendo melhorado nos anos seguintes chegando a c(n,m) = (3n-n/m)
por (Cole, R., 1990). No entanto uma variante de Boyer-Moore foi desenhada por
(Apostolic, A. e Giancarlo, R., 1986) igualando o KMP com c(n,m) = 2n-m+1.
Em 1990, Colussi, Gali e Giancarlo (Colussi, L. et al, 1990) criaram um híbrido
de KMP e BM para atingir a marca de 7n/6 ≤ c(n,m) ≤ (4n-m)/3. Hoje um
algoritmo bastante utilizado é o Karp-Rabin (Karp, R. e Rabin, M., 1987) que
utiliza a função hash. A função hash codifica as strings em números e com isso
ganha uma vantagem significante por utilizar cálculos numéricos.
A maioria desses métodos já estão implementados em pacotes fechados e
ferramentas de indexação e busca de forma modular. Não necessitando de re-
implementação.
3.3.2.
Lista Invertida
Um bom meio de acesso aos documentos são as palavras que ele contém.
Para tornar possível o acesso a essas palavras, é preciso colocá-las em uma
estrutura auxiliar – o índice, isso porque fica inviável pesquisar todos os textos
utilizando consultas booleanas.
Ao final do processo conhecido por Lista-Invertida, os termos resultantes
são adicionados a um arquivo de índice cuja estrutura geralmente é baseada em
Listas Invertidas (Inverted Index). Segundo (Salton, G., 1983), outros tipos de
arquivos podem ser utilizados, mas a experiência mostra que este tipo de estrutura
é um dos mais eficientes para a indexação de documentos. Na Figura 54 é
apresentado um exemplo dessa estrutura. O índice (invertido) contém a lista de
todas as palavras indexadas (ex. “diretor”, ‘figura”). Cada palavra é associada à
51
lista dos identificadores dos documentos em que ocorreu (ex. A12, G43). Todas
essas listas são armazenadas de forma ordenada para garantir a eficiência dos
algoritmos de busca.
3.3.3.
Similaridade
3.3.4.
Processo de Indexação
3.3.5.
Índice do tipo Full-text
consulta que pretende olhar cada registro do banco e procurar por cada palavra
requisitada. Uma abordagem simples abriria cada registro e procuraria pela
palavra-chave usando um algoritmo de string_matching. No entanto, como vimos,
abrir cada documento em tempo de processamento pode ser muito custoso se o
volume de documentos for alto.
A solução é fazer parte do trabalho antes da consulta e deixar cálculos pré-
armazenados. Isso é feito extraindo informação das palavras em cada documento e
armazenando de uma forma que seja fácil de se acessar. Quando a consulta é feita,
só é necessário comparar os documentos um com o outro usando um índice
invertido (inverted index) e escolher os documentos que são mais relevantes.
Para extrair as palavras dos textos, o SQL Server utiliza os chamado word
breakers e stemmers. Um word breaker é um componente que determina quais
são as fronteiras que delimitam uma palavra (é uma solução para o problema
teórico definido na sessão 3.10). E os stemmers são especializados em uma
determinada língua e usam o conhecimento lingüístico com o objetivo de
compactar o léxico (flexões verbais são armazenadas como apenas uma palavra).
O índice invertido é uma estrutura de dados com um registro para cada
palavra. Nesse registro, existe a informação sobre os documentos em que ela
ocorre, o número de ocorrências e a posição em cada um deles. O índice invertido
contém ainda algoritmos estatísticos e probabilísticos para computar rapidamente
a relevância dos documentos.
A estrutura de dados contendo o índice é armazenada no disco rígido, já
que normalmente requer muito espaço. Ela ainda tem funcionalidades de
atualização para adicionar um novo documento dentro da base. Vale a pena
ressaltar que quando um documento é apagado da base o índice não é alterado e
com o tempo ele pode conter muita informação desnecessária a ponto de se ter
que construir um novo.
A arquitetura da solução implementada pela Microsoft (Figura 57) contém
um serviço separado chamado MSSearch (Microsoft Search service) apenas para
gerenciar o índice Full-text.
56
SELECT Texto
FROM Documentos
WHERE Texto LIKE '%campeonato%'
SELECT Texto
FROM Documentos
WHERE CONTAINS(Texto, ' "campeonato" ')
3.3.6.
Ordenação
onde A é um página, T1..n são páginas que contém links para A, PR(A) é o
PageRank da página A, C(T) é o número de links de T para outras páginas, d é a
probabilidade de o navegador sair da página.
O algoritmo tal como foi criado pode ser encontrado em (Brin, S. e Page,
L., 1998) e (Gibson, D. et al, 1998). Hoje, no entanto, ele já se encontra com
alterações, variações e extensões que não são divulgadas.
3.4.
Mineração de Dados
3.5.
Análise da Informação
Figura 59 – Os três gráficos (1), (2) e (3) mostram, de forma ilustrativa, a necessidade
colaborativa de três tarefas de PLN T1, T2 e T3. T2 só consegue atingir 90% de acerto
de melhorar T1 e T3.
4.1.
O Modelo de PLN
4.1.1.
Aquisição Automática
4.1.2.
O Léxico
4.1.3.
Sobre a Delimitação da Unidade Lexical
4.1.4.
Ontologia
4.1.5.
Precisão e Recordação
4.2.
Técnicas de PLN
4.2.1.
Tokenização
4.2.2.
Normalização
= = ≠
= ≠ =
≠ = =
(a) (b) (c)
Figura 60 – As figures (a), (b) e (c) ilustram três relações diferentes e hipotéticas de
sinonímia.
4.2.3.
Expressões Multi-Vocabulares
4.2.4.
Fronteiras das Frases
“Eu não vou com você. Me liga quando chegar lá.” Disse Márcio Lemos.
4.2.5.
Etiquetagem
4.2.6.
Padrões Gramaticais
4.2.7.
Reconhecimento de Entidades Mencionadas
No caso (1) temos um nome próprio não trivial porque contém uma
abreviação no meio que poderia ser considerado como ponto final. No caso (2)
temos um item funcional “dos” que poderia separar o nome em dois distintos:
“Juiz Nicolau” e “Santos Neto”. O caso (3) contém de fato duas entidades, sendo
que não há nenhuma evidência de onde segmentar. Além disso, para classificação
teremos o problema da polissemia, onde a entidade caso (4) “Hollywood” pode
significar o lugar ou a marca de cigarros.
Estes exemplos servem apenas para destrivializar o pré-processamento e
mostrar que nesse caso os procedimentos vão muito contra nossa intuição, onde
reconhecer EM não é apenas um processo de recortar o que tem letra maiúscula.
A seguir descreveremos o módulo de inferência que identifica e classifica
as entidades (para o idioma português brasileiro) utilizado nessa tese. É de grande
eficiência e se baseia em conhecimento lingüístico, métodos estatísticos e modelos
cibernéticos.
O reconhecimento de entidades mencionadas (em inglês, Named Entity
Recognition) é um dos pontos principais do PLN para inteligência competitiva
pois eles nomeiam os objetos do mundo real de trabalho. Além disso, grande parte
da informação de uma nova notícia é proveniente de novos nomes, ou
relacionamentos entre novas combinações de nomes. Os tipos de relacionamentos
são mais finitos que os nomes, aproximadamente 90% dos novos lexemas a serem
aprendidos por um sistema automático são nomes próprios. Sendo assim, é
interessante dar especial atenção a tarefa de reconhecimento de entidades.
72
4.2.8.
Classificação de Entidades Mencionadas
Compostos
Números
Nomes Próprios
4.2.9.
Análise dos Constituintes
S Æ SN SV
SN Æ DET N
SV Æ V SN
Essas regras operam com classes atribuídas aos lexemas nas etapas
anteriores. São armazenadas em um banco de inferência. Um dos problemas dessa
abordagem é que o número de regras pode crescer de forma indefinida, tentando
atender ao número de formas sintáticas possíveis em uma língua, que podem ser
75
4.2.10.
Correferência
4.2.10.1.
Acrônimos, Siglas e Abreviaturas
4.2.10.2.
Nomes Truncados
4.2.10.3.
Anáfora Pronominal
4.2.10.4.
Sinônimos
4.2.10.5.
Erros Ortográficos
4.2.11.
Discriminação do Sentido da Palavra
4.2.11.1.
Detecção Automática de Sinônimos
5.1.
Aprendizado Automático
Corpus de Corpus
treinamento de teste
Extrator de
Lista de
Informações
informaçõe
Lingüísticas s extraídas
Algoritmo de
Conhecimento
aprendizado
probabilístico
automático
e/ou simbólico
5.2.
O Léxico Computacional
5.2.1.
A Importância do Léxico
O léxico, cada vez mais, vem sendo reconhecido como um dos pontos-
chave de programas que visam a lidar com PLN. Nesse âmbito, assumem
importância fundamental questões relativas (i) à modelagem – como representar
uma palavra e suas propriedades – e (ii) à aquisição lexical – como construir um
léxico capaz de adquirir novas palavras automaticamente.
Quanto à modelagem lexical, o problema subdivide-se em como definir as
informações que irão constituir os itens lexicais e em como construir o léxico, isto
é, como organizar suas informações. No escopo do PLN, dadas as necessidades
efetivas de processamento de textos, é interessante que o léxico possua
informações relativas à morfossintaxe (como restrições de subcategorização),
informações relativas à morfologia (como regras de derivação) e informações
semânticas (como relações entre as palavras). Com relação à organização dessas
informações em um léxico computacional, uma alternativa promissora, e que será
utilizada nesse trabalho, é a Semântica Ontológica (Nirenburg, S. e Raskin, V.,
2004) uma abordagem de PLN que usa uma ontologia - entendida como um
modelo construído de mundo - como fonte principal para extração e representação
do significado de textos, para o “raciocínio” sobre conhecimento derivado de
textos e para a geração de textos em linguagem natural a partir das representações
dos seus significados.
Diretamente relacionado à questão da modelagem está o problema da
aquisição lexical: como preencher o léxico com as informações necessárias,
definidas na fase de modelagem. Normalmente, esta tarefa é feita manualmente.
Porém, acreditamos que o sucesso do pré-processamento de textos é altamente
dependente de um léxico robusto, tanto em termos de qualidade quanto em termos
de quantidade de informação. Veremos que executar esta tarefa manualmente é
muito custoso, o que faz com que a aquisição lexical seja considerada um dos
gargalos mais significativos do PLN (Borguraev, B. e Pustejovsky, J., 1996).
Além disso, como o léxico é um conjunto com um número potencialmente infinito
de elementos, um léxico computacional eficaz deve permitir o acréscimo de novas
palavras sem comprometer ou modificar o sistema, o que se reflete no problema
da escalabilidade.
85
5.3.
Percepção Lingüística
5.4.
Tesaurus
investigação. Por outro lado, o fato de a WordNet e a sua versão brasileira serem
construídas manualmente as distanciam dos nossos objetivos – investigar e
implementar formas automáticas de aquisição de informação lexical para
préprocessamento de dados textuais, dispensando (ou minimizando) o trabalho
humano.
5.5.
O Modelo
5.5.1.
Definições
5.5.2.
Arquitetura
Rede Índices
Léxico Scan
Lexical
Ontologia
Banco
Visão
•Constants
•Rules
Lexems
Text Preprocess
Texto
cortex.scanNumbers()
cortex.scanPattern()
cortex.scanEnclise()
cortex.scancHifen()
cortex.scanLowAcronym()
cortex.scanCollocations()
cortex.scanNames()
cortex.scanURLs()
cortex.scanTimeRef()
cortex.scanEmails()
Lexemas
Módulo Regras
Módulo XML
perceptivo inatas/
sensitivo
universais
Regras
Léxico
aprendidas/
locais
1 2 3 4 5
--
--
--
Global
Com postos
Núm eros
Nom es Próprios
Local
Ex.
Atribuição Absoluta
Se a palavra terminar em “oso” então existe um traço de qualificação (adjetivo).
lembrar palavras. Se uma palavra é muito usada, ela vem rapidamente a nossa
mente. Se é rara, então temos de nos esforçar para lembrar.
Na terceira etapa, o objetivo é organizar semanticamente os lexemas de
forma a obedecer ao princípio da economia [Navalha de Ockwan]. Essa tarefa se
traduz em perceber os termos que contêm informação redundante entre si e assim
fazer sua associação, junção ou referência. A Figura 69 ilustra o resultado desse
processo que acaba por compactar a informação percebida. Os dois objetos
associados não são exatamente iguais, mas têm um percentual de informação
redundante que torna mais econômico o processo de representação do
conhecimento.
contém seu significado, esse conhecimento pode ser usado como conhecimento
enciclopédico. Porém, se o próprio texto indica a ligação no contexto, ela tem
prioridade ao conhecimento enciclopédico.
No caso do truncamento de palavras, muito usado em nome de pessoas, os
critérios de ligação são o reconhecimento de completude, onde um lexema estende
o outro adicionados exatamente À restrição de traço semântico de pessoa
proveniente da percepção. Além disso, a capacidade de contextualização depende
dos termos lidos mais recentemente, isso significa que em um caso de
ambigüidade, o mais próximo deve ter prioridade.
Finalmente, a anáfora simples procura ligar os pronomes a seus respectivos
nomes ou substantivos. Essa ligação é feita através da lógica da sintaxe; então será
necessário uma ajuda do módulo sintático para resolver esta referência.
A quarta etapa atua em um nível ainda superior. Ela procura por padrões na
ordem em que os lexemas aparecem no texto. Estes padrões vão indicar como
cada lexema está relacionado com o outro para construir o significado da frase.
Com esse mapa de relacionamentos, a sintaxe contribui em muito para a extração
da informação de contexto. Essa informação incorporada às etapas anteriores
poderá reavaliar um agrupamento ou traço semântico. Além disso, a informação
de contexto será importante também para resolver os problemas de ambigüidade
lexical. Essa etapa é tão importante que a informação semântica só começa a
existir a partir dela. Nesse trabalho consideraremos esta etapa importante, porém
complementar. Seu processamento se baseia em estruturas computacionais como
BNF (Backus-Naur Form) e procedimentos de análise LR (Left-Right parsing)
exemplificado na Figura 70. Esses modelos computacionais podem ser usados
para implementar regras gramaticais da língua. No caso do português temos o
exemplo da Figura 70.
Uma gramática bem especificada, no entanto, necessita de uma quantidade
de bem maior que o exemplo da Figura 70. Uma gramática totalmente
especificada tende a um número infinito de regras. Porém, tirou-se proveito
apenas de parte das relações sintáticas para os casos das aplicações de extração de
informações.
97
Essas regras vão ligando seqüências de termos criando novos termos com
categorias semânticas instantâneas, especificamente para aquele contexto. Estas
categorias contextuais são chamadas de POS (Part of Speech) e servem à estrutura
sintática. Os padrões têm forças diferentes que fazem um ter prioridade sobre o
outro quando os dois são encontrados simultaneamente. Além disso, os padrões
mais longos são procurados primeiro; isso indica que eles também são mais fortes
e recebem mais prioridade sobre os outros. O resultado disso é uma árvore de
sucessivos agrupamentos que pretendem indicar quem está ligado a quem e qual o
teor dessa ligação.
Como já foi dito anteriormente, a função da sintaxe é elaborar o contexto e
agrega muita informação que pode ser utilizada pelos outros módulos nas outras
etapas. Dessa forma, além do módulo de referência se utilizar dela para resolver a
anáfora, o módulo perceptivo também faz uso para a classificação semântica e
detecção de padrões como data, número e moeda. A necessidade desse
intercambio entre as etapas/módulos já foi mencionada em (Nascimento, M. R.,
1993) no módulo early evaluation. Outra influência da sintaxe está também na
desambigüização dos termos, onde uma informação sintática pode alterar um traço
semântico de um termo.
Com este suporte da etapa sintática às etapas anteriores foi redesenhado o
diagrama inicial conforme ilustrado na Figura 71.
98
1 2 3 4 5
--
--
--
“As ações da Ambev subiram com força, influenciada por rumores de que a empresa
estaria prestes a fechar um acordo de produção e distribuição com a cervejaria belga
Interbrew, ampliando sua atuação internacional.“
5.5.3.
Compostos
fc
f >0
f n1 + f n 2
Uma vez agrupado um composto como uma nova entrada no léxico ele
passa a se comportar como um item lexical igualmente aos outros. Dessa forma, o
aprendizado dinâmico permite que construções com n palavras sejam geradas,
mais detalhes se encontram em (Aranha, C. et al, 2005). Felizmente o uso regular
de uma seqüência de palavras decresce com a quantidade de palavras. Dessa
forma as associações mais fortes são de 2 ou 3 palavras.
102
5.5.4.
Nomes Próprios
5.5.5.
Sintaxe
por Batelada
Janela Regex
Figura 72 – Diferentes módulos para resolver a sintaxe. Estão separados por fatores de
performance e forma de execução.
5.6.
Representação do Documento
parágrafos, que por si são compostos de uma seqüência de frases, que por si,
ordenam os objetos e as entidades. Essa lista inclui as entidades mencionadas
correferenciadas. Um histograma dessa lista transforma a representação em uma
estrutura bag-of-lexems normalizada.
5.6.1.
Formato de Armazenamento
5.6.1.1.
Tags de Categoria
ao documento levando em conta seu local de origem, seu tipo, formato, escopo,
etc. Alguns exemplos de categorias são mostrados na Figura 73.
Mensagem
Sigiloso
Notícia
5.6.1.2.
Tags de Contexto
Políticas
Públicas
Clientes
Concorrentes
5.6.1.3.
Tags de Função
Título
Corpo
Autor
5.6.1.4.
Tags de Estrutura
Dentro dos blocos de texto especificados pelas tags de função, temos as tags
de estrutura. Essas tags organizam as frases dentro do documento, mostrando
como elas estão relacionadas. Para isso, as tags de estrutura estão atenta aos
108
5.6.1.5.
Tags Descritivas
5.6.2.
Exemplos
6.1.1.
Classificação
6.1.2.
Extração de Informações
fruta” ou “Caule é uma parte da planta”) (Snow, R. et al, 2004); (Widdows, D.,
2003); (Wu, S. et al, 2003).
Para reduzir a exploração das quase infinitas relações que podemos ter em
uma base textual, alguns padrões sintáticos pré-definidos são utilizados para a
extração de informações (Hearst, M. A., 1992).
A extração de informações trata de processos que seletivamente estruturam
e combinam dados encontrados – de forma implícita ou explícita - nos textos
(Cowie, J. e Wilks, Y., 2000); (Grishman, R., 1997). Cada processo é especificado
de acordo com o objetivo pretendido de mineração que pode ser, por exemplo,
associar bandas de rock com suas respectivas gravadoras. Tais processos podem,
por um lado, resultar em algum tipo de base de dados e, por outro, se apoiar em
bases de dados, como ontologias e taxonomias semânticas, para atingir os
objetivos pretendidos (Phillips, W. e Riloff, E., 2002); (Snow, R. et al, 2004).
Dentre as bases de dados lexicais/semânticas mais populares encontram-se a
WordNet (Fellbaum, C., 1998) e Cyc (Lenat, D., 1995) – uma base manualmente
alimentada com esquema da representação do senso comum, elas contêm
sinônimos, hiperônimos e definições de palavras da lingua inglesa. Porém, tais
bases, embora sejam extremamente valiosas, tanto para consulta quanto para sua
utilização por aplicações de mineração de textos, e ofereçam enormes vantagens
na execução das tarefas de treinamento de algoritmos de aprendizado, também
apresentam algumas limitações.
A primeira delas diz respeito à sua elaboração, que é feita manualmente, o
que significa um trabalho lento e árduo. A conseqüência desse caráter manual é a
dificuldade para atualização e extensão, que também dependeriam de trabalho
manual. Tais limitações têm levado pesquisadores a se interessar por métodos
mais autométicos de extração de informações (Caraballo, S. A., 2001);
(Cederberg, S. e Widdows, D., 2003); (Girju, R. et al, 2003); (Snow, R. et al,
2004); (Widdows, D., 2003).
Além disso, para (Freitas, M. C., 2004), uma fraqueza de especial
importância para a EI é a quantidade insuficiente de nomes próprios que constam
na base. O fato de tais nomes constituírem uma classe ainda mais “aberta” que a
dos substantivos comuns, uma vez que novos nomes, principalmente de empresas,
podem ser criados a qualquer momento, deixa ainda mais evidente a necessidade
114
6.1.3.
Interface em Linguagem Natural
6.2.
Web Semântica
4
Essa abordagem já está sendo testada em projeto CNPq para o Portal Cidadão.
7
Resultados
7.1.
Pré-processamento
Português Brasileiro
F Saída Precisão Abrangência Combinado Sobre-geração Sub-geração
0,78 iémen 75,89 80,38 0,31 0,09 0,09
0,78 mascate 72,84 83,00 0,31 0,12 0,04
0,78 asmara 72,88 82,82 0,31 0,12 0,04
0,77 nicósia 72,33 82,16 0,32 0,12 0,05
0,77 cairo 72,32 82,03 0,32 0,12 0,05
0,72 PUC-Rio 61,02 86,60 0,40 0,27 0,02
0,69 riad 71,08 67,60 0,42 0,14 0,21
0,64 damasco 75,51 55,50 0,49 0,04 0,34
0,60 doha 55,76 65,08 0,53 0,25 0,15
0,58 amã 51,96 65,08 0,55 0,30 0,15
0,58 abudhabi 52,31 64,12 0,56 0,30 0,16
0,56 bengazi 46,19 71,85 0,56 0,23 0,08
0,53 kuwait 49,43 57,65 0,58 0,13 0,17
0,52 oman 48,60 56,89 0,59 0,14 0,17
0,51 teerão 79,67 37,81 0,63 0,04 0,55
0,26 qatar 64,01 16,16 0,85 0,06 0,79
0,18 eritreia 50,03 11,23 0,89 0,10 0,82
0,11 túnis 46,52 6,46 0,94 0,13 0,88
0,10 dakar 43,43 5,55 0,95 0,13 0,89
Base de Emails
F Saída Precisão Abrangência Combinado Sobre-geração Sub-geração
0,66 PUC-Rio 57,72 76,56 0,45 0,18 0,03
0,64 meca 55,99 73,65 0,48 0,18 0,04
0,64 asmara 55,89 73,65 0,48 0,18 0,04
0,63 riad 55,49 73,25 0,48 0,18 0,04
0,63 iémen 55,49 73,25 0,48 0,18 0,04
0,60 eritreia 54,89 66,20 0,51 0,17 0,12
0,58 amã 58,40 58,54 0,53 0,14 0,21
0,56 doha 52,92 60,22 0,56 0,17 0,11
0,56 ancara 52,41 60,22 0,56 0,18 0,11
0,56 tripoli 52,41 59,64 0,56 0,18 0,11
0,49 luxor 57,34 42,24 0,63 0,06 0,39
0,43 bagdad 33,90 59,69 0,68 0,16 0,09
0,43 cairo 36,53 51,63 0,69 0,20 0,18
0,43 mascate 36,41 51,60 0,69 0,19 0,18
0,39 túnis 61,07 28,43 0,74 0,11 0,60
0,26 manama 55,87 16,89 0,84 0,00 0,77
0,08 bahrein 28,22 4,42 0,96 0,08 0,88
0,05 damasco 30,43 2,68 0,97 0,05 0,93
0,05 kuwait 29,63 2,68 0,97 0,08 0,93
7.2.
Classificação
7.2.1.
Amostra Pequena
bag-of-words
QIP* Acerto Erro Termos
10% 45 6 41
20% 59 6 157
30% 64 6 279
40% 68 6 362
50% 72 6 487
* QIP: Quantidade de Informação Processada
Trecho da saída:
...
termo:agricultores AND text:carvalhaes
termo:agroeconômica
termo:böel
termo:cafeicultura
termo:camardelli
termo:cogo
termo:coopercentral
termo:culturas AND text:fertilizantes AND text:importaram
termo:cutrale
...
Bag-of-Lexems
QIP* Acerto Erro Termos
10% 64 7 --
20% 78 7 --
30% 83 8 --
40% 85 6 --
50% 88 6 --
126
Trecho da Saída
...
termo:agropecuária sachetti ltda
termo:agência paulista de tecnologia do agronegócio
termo:antonio camardelli
termo:cafeicultura
termo:carlos cogo
...
Bag-Of-Lexems e Ontologia
QIP* Acerto Erro Termos
10% 66 7 149
20% 81 7 324
30% 87 6 542
40% 90 6 779
50% 92 6 1028
Trecho da Saída
...
local:iowa
empresa:agropecuária sachetti ltda
empresa:agência paulista de tecnologia do agronegócio
empresa:cogo consultoria agroeconômica
empresa:conselho nacional do café
empresa:implementos associados
empresa:ministério da agricultura, pecuária e abastecimento
AND substantivo:saca
empresa:scot consultoria
pessoa:antonio camardelli
pessoa:carlos cogo
...
127
Comparativo de Acurácia
QIP* BOW BOL BOLO
10% 39% 57% 59%
20% 53% 71% 74%
30% 58% 75% 81%
40% 62% 79% 84%
50% 66% 82% 86%
Comparativo de Termos
BOW BOLO
41 149
157 324
279 542
362 779
487 1028
7.2.2.
Amostra Grande
bag-of-words
129
bag-of-lexems
QIP* Acerto Erro Termos Tempo (seg) Generalização
10% 771 1578 915 3 119
20% 840 1535 1462 12 155
30% 858 619 1724 30 166
40% 875 616 2201 57 153
bag-of-lexem e Ontologia
QIP* Acerto Erro Termos Tempo (seg) Generalização
10% 873 1375 808 3 168
20% 903 1303 1302 20 195
30% 919 490 1545 45 234
40% 929 517 2044 71 230
AGGARWAL, C. C., Gates, S. C., e Yu, P. S. (1999). "On the merits of building
categorization systems by supervised clustering". in: Proceedings of the
Fifth ACM Conference on Knowledge Discovery and Data Mining
(KDD'99), San Diego, USA, August, pp.352-356
ARANHA, C., Freitas, M. C., Dias, M. C., e Passos, E. (2004). "Um modelo de
desambigüização de palavras e contextos". TIL 2004: Workshop de
Tecnologia da Informação e da Linguagem Humana
ARANHA, C., Passos, C., Freitas, M. C., e Quental, V. (2005). "A Statistical
Approach for Identifying Collocations". The X Ibero-American
Conference on Artificial Intelligence (IBERAMIA).Submetido.
BREIMAN, L., Friedman, R., Olshen, R., e Stone, C. (1984). "Classication and
Regression Trees". Wadsworth Monterrey, CA
COLUSSI, L., Galil, Z., e Giancarlo, R. (1990). "The exact complexity of string
matching". 31st Symposium an Foundations of Computer Science I, 135-
143, IEEE
DÖRRE, J., Gerstl, P., e Seiffert, R. (1999). "Text mining: Finding nuggets in
mountains os textual data". San Diego, CA, pp.398-401.ACM
DUMAIS, S., Platt, J., Heckerman, D., e Sahami, M. (1998). "Inductive learning
algorithms and representations for text categorization". In Proceedings of
the 7th International Conference on Information and Knowledge
Management (ACM CIKM 98), pp.148-155
FOX, E. A., Ingwersen, P., e Fidel, R. (1995). "Proceedings of the 18th Annual
International ACM SIGIR Conference on Research and Development in
Information Retrieval". Seattle, Washington.USA.9-13, Julho.1995.
135
GAWRYSIAK, P. (1999). "Using Data Mining methodology for text retrieval ".
DIBS'99 conf.proceedings
GE, N., Hale, J., e Charniak, E. (1998). "A statistical approach to anaphora
resolution". In Proceedings of the Sixth Workshop on Very Large Corpora,
pages 161-170, Montreal, Canada
KANTROWITZ, M., Mohit, B., e Mittal, V. O. (2000). "Stemming and its effects
on TFIDF ranking". SIGIR 2000: 357-359
KIMBALL, R. (1996). The Data Warehouse Toolkit. John Wiley & Sons
KOHONEN, T., Kaski, S., Lagus, K., Salojarvi, J., Honkela, J., Paatero, V., e
Saarela, A. (2000). "Self organization of a massive text document
collection". IEEE Transactions on Neural Networks, Special Issue on
Neural Networks for Data Mining and Knowledge Discovery, vol.11,
pp.574-585
LEBART, L., Salem, A., e Berry, L. (1998). Exploring textual data. Kluwer
Academic Publishers, Dordrecht
PYLE, D. (1999). Data Preparation for Data Mining. San Francisco, CA: Morgan
Kaufmann.
SALTON, G., Wong, A., e Yang, C. S. (1997). "A Vector Space Model for
Automatic Indexing". in Readings in Information Retrieval, K.Sparck
Jones and P.Willet, eds.,Morgan Kaufmann Publishers, Inc., San Francisco
SILVA, C., Pérez, C., Osório, F., Vieira, R., e Goulart, R. (2003). "Informações
sintáticas na mineração de textos". TIL 2003: Workshop de Tecnologia da
Informação e da Linguagem Humana
SNOW, R., Jurafsky, D., e Andrew, Y. (2004). "Learning syntactic patterns for
automatic hypernym discovery". Advances in Neural Information
Processing Systems 17
TAN, A.-H. (1999). "Text mining: The state of the art and the challenges". In
Proceddings, PAKDD'99 workshop on Knowledge Discovery from
Advanced Databases, Beijing, pp.65-70
WU, S., Tsai, T., e Hsu, W. (2003). "Text Categorization using Automatically
Acquired Domain Ontology". In: Proceedings of the Sixth International
Workshop on Information Retrieval with Asian Languages.pp.138-145
ZIPF, G. K. (1949). Human Behavior and the Principle of Least Effort. Addison-
Wesley
10
Anexo I:
Principais distribuições de frequência dos significados
Força do Significado
Bimodal, com dois
significados fortes. Ex. 60
Frequência
“manga”. 40
20
1. manga = fruta 0
2. manga = trecho da 1 2 3 4 5 6 7 8
camisa Significados
Força do Significado
Dois sentidos relevantes,
porém com um sentido 60
50
mais forte que o outro.
Frequência
40
Ex. “prova”. 30
20
1. Prova = teste 10
2. Prova = competição 0
3. Prova = evidência 1 2 3 4 5 6 7 8
4. Prova = provar Significados
5. Prova = imune (à
prova de)
Força do Significado
Com apenas um sentido
forte. 100
Frequência
80
Ex. “livro”. 60
40
1. livro = texto 20
2. livro = verbo 0
1 2 3 4 5 6 7 8
Significados
11
Anexo II:
Exemplo de Mineração de Textos por Perguntas
Sistema pronto:
ABC
Afeganistão
África
África do Sul
Alagoas
Alemanha
AM
Amazônia
América Latina
Arábia Saudita
Araçatuba
Argentina
Ásia
BA
Bagdá
Bahia
Bauru
BELO HORIZONTE
BERLIM
...
Venezuela
WASHINGTON
Zhuhai
Wagner Canhedo
Wagner Victer
Waldomiro Diniz
Abrafix
Acer Inc.
ADM do Brasil
Agência Brasil
Agência Espacial Brasileira
Agência Nacional de Energia Elétrica
Agência Nacional de Telecomunicações
Agência Nacional de Transportes Terrestres
...
Varig
Vasp
Volkswagen
Votorantim
Votorantim Celulose
Warner Music
Yahoo
Pergunta: tchau
Adeus.