Christian Nunes Aranha
Uma Abordagem de PréProcessamento Automático para Mineração
de Textos em Português: Sob o Enfoque da
Inteligência Computacional
Tese de Doutorado
Tese apresentada como requisito parcial para obtenção do
grau de Doutor pelo Programa de Pós-graduação em
Engenharia Elétrica do Departamento de Engenharia
Elétrica da PUC-Rio.
Orientadora: Profa. Marley Maria Bernardes Rebuzzi Vellasco
Rio de Janeiro
Março de 2007
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
Christian Nunes Aranha
Uma Abordagem de PréProcessamento Automático para Mineração
de Textos em Português: Sob o Enfoque da
Inteligência Computacional
Tese apresentada como requisito parcial para obtenção do
grau de Doutor pelo Programa de Pós-Graduação em
Engenharia Elétrica do Departamento de Engenharia
Elétrica do Centro Técnico Científico da PUC-Rio.
Aprovada pela Comissão Examinadora abaixo assinada.
Dra. Marley Maria Bernardes Rebuzzi Vellasco
Orientadora
Departamento de Engenharia Elétrica - PUC-Rio
Dr. Emmanuel Piceses Lopes Passos
Co-Orientador
Departamento de Engenharia Elétrica - PUC-Rio
Dr. Marco Aurélio Cavalcanti Pacheco
Departamento de Engenharia Elétrica - PUC-Rio
Dr. Antonio Luz Furtado
Departamento de Informática – PUC-Rio
Dra. Maria Carmelita Padua Dias
Departamento de Letras – PUC-Rio
Dr. Nelson Francisco Favilla Ebecken
UFRJ
Dr. Alexandre Linhares
FGV-RJ
Dra. Valeria Menezes Bastos
Departamento de Informática – PUC-Rio
Prof. José Eugenio Leal
Coordenador Setorial do Centro
Técnico Científico - PUC-Rio
Rio de Janeiro, 28 de março de 2007
Todos os direitos reservados. É proibida a reprodução total ou
parcial do trabalho sem autorização da universidade, do autor e da
orientadora.
Christian Nunes Aranha
Graduado em Engenharia Elétrica, com ênfase em sistemas de
apoio à decisão. Trabalho de final de curso em otimização
lagrangeana aplicada ao problema de ordenação linear (LOP) sob a
orientação de Abílio Lucena. Mestrado em métodos estatísticos de
apoio à decisão. Dissertação sobre regressão multivariada linear
por partes, modelo TS-TARX, sob a orientação de Alvaro Veiga.
Doutorado em Inteligência Computacional para mineração de
textos.
Ficha Catalográfica
Aranha, Christian Nunes
Uma abordagem de pré-processamento automático
para mineração de textos em português: sob o enfoque da
inteligência computacional / Christian Nunes Aranha;
orientadora: Marley Maria Bernardes Rebuzzi Vellasco. –
2007.
144 f. ; 30 cm
Tese (Doutorado em Engenharia Elétrica) –
Pontifícia Universidade Católica do Rio de Janeiro, Rio de
Janeiro, 2007.
Inclui bibliografia
1. Engenharia elétrica – Teses. 2. Mineração de
texto. 3. Pré-processamento. 4. Inteligência artificial. I.
Vellasco, Marley Maria Bernardes Rebuzzi. II. Pontifícia
Universidade Católica do Rio de Janeiro. Departamento de
Engenharia Elétrica. III. Título.
CDD: 621.3
Agradecimentos
Ao professor Emmanuel Passos pelo seu apoio e orientação.
Aos meus pais, minha namorada e meus amigos, sem os quais são poderia
ter completado este trabalho.
Ao CNPq pelo incentivo à pesquisa.
Resumo
Christian Nunes Aranha; Vellasco, Marley Maria Bernardes Rebuzzi
(Orientadora). Uma Abordagem de Pré-Processamento Automático
para Mineração de Textos em Português: Sob o Enfoque da
Inteligência Computacional. Rio de Janeiro, 2007. 144p. Tese de
Doutorado - Departamento de Engenharia Elétrica, Pontifícia
Universidade Católica do Rio de Janeiro.
O presente trabalho apresenta uma pesquisa onde é proposto um novo
modelo de pré-processamento para mineração de textos em português utilizando
técnicas de inteligência computacional baseadas em conceitos existentes, como
redes neurais, sistemas dinâmicos, e estatística multidimensional. O objetivo dessa
tese de doutorado é, portanto, inovar na fase de pré-processamento da mineração
de textos, propondo um modelo automático de enriquecimento de dados textuais.
Essa abordagem se apresenta como uma extensão do tradicional modelo de
conjunto de palavras (bag-of-words), de preocupação mais estatística, e propõe
um modelo do tipo conjunto de lexemas (bag-of-lexems) com maior
aproveitamento do conteúdo lingüístico do texto em uma abordagem mais
computacional, proporcionando resultados mais eficientes. O trabalho é
complementado com o desenvolvimento e implementação de um sistema de préprocessamento de textos, que torna automática essa fase do processo de mineração
de textos ora proposto. Apesar do objeto principal desta tese ser a etapa de préprocessamento, passaremos, de forma não muito aprofundada, por todas as etapas
do processo de mineração de textos com o intuito de fornecer a teoria base
completa para o entendimento do processo como um todo. Além de apresentar a
teoria de cada etapa, individualmente, é executado um processamento completo
(com coleta de dados, indexação, pré-processamento, mineração e pósprocessamento) utilizando nas outras etapas modelos já consagrados na literatura
que tiveram sua implementação realizada durante esse trabalho. Ao final são
mostradas funcionalidades e algumas aplicações como: classificação de
documentos, extração de informações e interface de linguagem natural (ILN).
Palavras-chave
Mineração de Texto, Preprocessamento, Inteligência Artificial.
Abstract
Christian Nunes Aranha; Vellasco, Marley Maria Bernardes Rebuzzi
(Advisor). An Automatic Preprocessing for Text Mining in
Portuguese: A Computer-Aided Approach. Rio de Janeiro, 2007. 144p.
D.Sc. Thesis - Departamento de Engenharia Elétrica, Pontifícia
Universidade Católica do Rio de Janeiro.
This work presents a research that proposes a new model of pre-processing
for text mining in portuguese using computational intelligence techniques based
on existing concepts, such as neural networks, dinamic systems and
multidimensional statistics. The object of this doctoral thesis is, therefore,
innovation in the pre-processing phase of text-mining, proposing an automatic
model for the enrichment of textual data. This approach is presented as an
extension of the traditional bag-of-words model, that has a more statistical
emphasis, and proposes a bag-of-lexemes model with greater usage of the texts'
linguistic content in a more computational approach, providing more efficient
results. The work is complemented by the development and implementation of a
text pre-processing system that automates this phase of th text mining process as
proposed. Despite the object of this thesis being the pre-processing stage, one
feels apropriate to describe, in overview, every step of the text mining process in
order to provide the basic theory necessary to understand the process as a whole.
Beyond presenting the theory of every stage individually, one executes a complete
process (with data collection, indexing, pre-processing, mining and postprocessing) using tried-and-true models in all the other stages, which were
implemented during the development of this work. At last some functionalities
and aplications are shown, such as: document classification, information
extraction and natural language interface (NLI).
Keywords
Text Mining, Preprocessing, Artificial Inteligence.
Sumário
1. Introdução
1.1. Motivação
1.2. Objetivo da Tese
1.3. Estrutura da Tese
13
15
18
20
2. O Estado da Arte
2.1. Modelos Puramente Estatísticos
2.1.1. Modelo de Espaço Vetorial
2.1.2. Análise de Correspondência
2.1.3. Análise de Discriminante
2.2. Redes Neurais
2.2.1. Hopfield
2.2.2. Backpropagation
2.2.3. Mapas Auto-Organizáveis
2.3. Aprendizado de Máquina
2.3.1. Cadeias de Markov Escondidas
2.3.2. Aprendizado Baseado em Transformações
22
22
23
25
28
31
31
32
33
35
35
39
3. Mineração de Texto
3.1. Coleta de Dados
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.3.1. Procura Caractere à Caractere
3.3.2. Lista Invertida
3.3.3. Similaridade
3.3.4. Processo de Indexação
3.3.5. Índice do tipo Full-text
3.3.6. Ordenação
3.4. Mineração de Dados
3.5. Análise da Informação
40
41
42
43
45
46
47
49
50
52
53
54
57
58
59
4. Processamento da Linguagem Natural
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
4.2.3. Expressões Multi-Vocabulares
4.2.4. Fronteiras das Frases
60
600
61
61
62
63
633
644
644
655
677
68
4.2.5. Etiquetagem
4.2.6. Padrões Gramaticais
4.2.7. Reconhecimento de Entidades Mencionadas
4.2.8. Classificação de Entidades Mencionadas
4.2.9. Análise dos Constituintes
4.2.10. Correferencia
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 Ortograficos
4.2.11. Discriminação do Sentido da Palavra
4.2.11.1. Detecção Automática de Sinônimos
5. Desenvolvimento e Implementação
5.1. Aprendizado Automático
5.2. O Léxico Computacional
5.2.1. A Importância do Léxico
5.3. Percepção Lingüística
5.4. Tesaurus
5.5. O Modelo
5.5.1. Definições
5.5.2. Arquitetura
5.5.3. Compostos
5.5.4. Nomes Próprios
5.5.5. Sintaxe
5.6. Representação do Documento
5.6.1. Formato de Armazenamento
5.6.1.1. Tags de Categoria
5.6.1.2. Tags de Contexto
5.6.1.3. Tags de Função
5.6.1.4. Tags de Estrutura
5.6.1.5. Tags Descritivas
5.6.2. Exemplos
6. Exemplos de Aplicações de Mineração de Textos
6.1.1. Classificação
6.1.2. Extração de Informações
6.1.3. Interface em Linguagem Natural
6.2. Web Semântica
7. Resultados
7.1. Pré-processamento
7.2. Classificação
7.2.1. Amostra Pequena
7.2.2. Amostra Grande
8. Conclusão e Trabalhos Futuros
69
700
700
73
74
755
755
766
777
78
788
79
800
82
82
83
84
85
87
88
89
89
99
102
1022
1033
1044
1044
1055
1066
1077
108
109
111
111
112
114
116
119
119
1222
123
1287
12929
9. Referências bibliográficas
13131
10. Anexo I: Principais distribuições de frequência dos significados
13142
11. Anexo II: Exemplo de Mineração de Textos por Perguntas
1433
Lista de figuras
Figura 1 – Valor agregado pela Mineração de Textos (MT) no processo de
análise de informações textuais
Figura 2 – Diagrama de camadas abstratas de um sistema computacional
Figura 3 – Resultado em duas dimensões da análise de correspondência
Figura 4 – Análise de correspondência utilizando a etapa de pré com
segmentos de frase
Figura 5 – Arquitetura de Hopfield utilizada no software TextAnalyst
Figura 6 – Rede Neural Backpropagation. Modelo usado por Fukuda
Figura 7 – Distribuição do mapa dos documentos. Em cinza os lugares
onde há a maior concentração de documentos
Figura 8 – Exemplo de automato para Cadeia de Markov Escondida
Figura 9 – Texto original
Figura 10 – Resultado da extração de informação de HMM. Os rótulos
após cada palavra é o rótulo ótimo encontrado. <T> título; <D> data; <A>
autor e <C> corpo
Figura 11 – Processo de funcionamento de um TBL
Figura 12 – Indentificação de palavras válidas
Figura 13 – A curva de Zipf e os cortes de Luhn
Figura 14 – Indentificação de Stop-Words
Figura 15 – Estrutura de uma Lista Invertida associada aos documentos
indexados.
Figura 16 - Função Similaridade
Figura 17 – Sequência do processo de indexação automática.
Figura 18 – Arquitetura da Busca tipo Full-text
Figura 19 – Representação de uma estrutura de hiperlinks na Internet
Figura 20 – 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.
Figura 21 – As figures (a), (b) e (c) ilustram três relações diferentes e
hipotéticas de sinonímia.
Figura 22 – Esquema de pré-requisitos entre as classes ontológicas.
Figura 23 – Esquema geral de um extrator de informações lingüísticas
Figura 24 – Modelo de banco de dados.
Figura 25 – Modelo de classes por orientação a objeto.
Figura 26 – (Pipeline) Sequência de procedimentos de reconhecimento de
padrões e aprendizado de lexemas especializados em cada área do PLN.
Figura 27 – Modelo de aprendizado autonomo e retroalimentado.
Figura 28 – Seqüências de etapas que compõe o processamento do texto
Figura 29 – Ontologia pré-definida para o processamento. As setas
indicam os pré-requisitos (AÆB = A é pré-requisito de B)
Figura 30 – Cada círculo representa um lexema percebido. A borda de
cada um deles indica um traço semântico. O resultado das referências
agrupa as redundâncias semânticas
17
19
27
28
32
33
34
36
37
37
38
44
46
47
51
52
54
56
57
60
67
73
83
90
90
91
92
93
93
95
Figura 31 – Exemplo de uma gramática escrita sobre a de especificação de
Backus-Norm-Form
Figura 32– Suporte da interface sintática forçando a reavaliação da
percepção e referência
Figura 33 – Diferentes módulos para resolver a sintaxe. Estão separados
por fatores de performance e forma de execução
Figura 34 – Exemplos de tags de categoria
Figura 35 – Exemplo de Tags de Contexto
Figura 36 – Exemplos de Tags de Função
Figura 37 – Exemplos de Tags Descritivas
Figura 38 – Exemplo de reconhecimento de entidades. Instituições em
vermelho, índice em verde e tempo em roxo
Figura 39 – Exemplo de reconhecimento de entidades. Nomes de pessoas
em laranja e lugares em azul.
97
98
103
105
106
107
108
109
109
Lsta de tabelas
Tabela 1 – Ranking de quantidade de Hosts por país
Tabela 2 – 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).
Tabela 3 – Especificação da tabela e exemplos de registros do léxico
utilizado
Tabela 4 – Resultado do Reconhecimento de Entidades Mencionadas para
os textos da coleção escritos no Português Brasileiro
Tabela 5 – Resultado HAREM para a avaliação de bases de emails
Tabela 6 – Resultado HAREM para a avaliação de bases de textos de
jornais
Tabela 7 – Resultado HAREM para a avaliação de bases de páginas da
Internet
Tabela 8 – Resultados do modelo bag-of-words para a fase de treinamento
com 5000 notícias. A tabela apresenta os dados do modelo e o quadro
apresenta o formato de leitura dos parâmetros do modelo
Tabela 9 – Resultados do modelo bag-of-lexems para a fase de
treinamento com 5000 notícias. A tabela apresenta os dados do modelo e o
quadro apresenta o formato de leitura dos parâmetros do modelo
Tabela 10 – Resultados do modelo bag-of-lexems com ontologia para a
fase de treinamento com 5000 notícias. A tabela apresenta os dados do
modelo e o quadro apresenta o formato de leitura dos parâmetros do
modelo
Tabela 11 – Comparação entre as acurácias dos tres métodos: BOW (bagof-words), BOL(bag-of-lexems) e BOLO(bag-of-lexems com ontologia),
para as diferentes quantidades de informação processada
Tabela 12 – Comparativo do número de termos significantes usados no
modelo de classificação
Tabela 13 – Resultados de performance e generalização utilizando bag-ofwords
Tabela 14 – Resultados de performance e generalização utilizando bag-oflexems
Tabela 15 – Resultados de performance e generalização utilizando bag-oflexems rotulados usando a ontologia definida
17
26
62
120
121
122
122
124
124
125
126
126
127
128
128
1
Introdução
Métodos de recuperação de textos sempre foram utilizados para organizar
documentos, porém, com o aumento do volume de textos que vem ocorrendo,
principalmente, pela digitalização do conteúdo e pela Internet, técnicas de
tratamento automático de textos começaram a se tornar cada vez mais importantes
para se encontrar e trabalhar a informação. Para solucionar esses problemas surge
uma nova linha de pesquisa, a mineração de textos.
Quando uma nova área surge, precisa-se de algum tempo e muita
discussão acadêmica antes que seus termos e conceitos sejam padronizados
(Kroeze, H. J. et al, 2003). No caso da mineração de textos não é diferente, abaixo
encontram-se algumas definições encontradas nos textos estudados.
Text Mining realiza várias funções de busca, análise lingüística e
categorização. Mecanismos de busca se restringem à Internet. (Chen, H.,
2001):5,9
Text Mining é o estudo e a prática de extrair informação de textos usando
os princípios da lingüística computacional. (Sullivan, D., 2000)
Text Mining é ideal para inspecionar mudanças no mercado, ou para
identificar idéias. (Biggs, M., 2005)
Text Mining é uma forma de examinar uma coleção de documentos e
descobrir informação não contida em nenhum dos documentos. (Lucas, M.,
2000):1
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
Text Mining, como análise de dados exploratória, é um método para apoiar
pesquisadores a derivar novas e relevantes informações de uma grande
coleção de textos. É um processo parcialmente automatizado onde o
pesquisador ainda está envolvido, interagindo com o sistema. (Hearst, M.
A., 1999):6-7
Pode-se então definir Descoberta de Conhecimento em Textos (KDT) ou
Text Mining como sendo o processo de extrair padrões ou conhecimento,
interessantes e não-triviais, a partir de documentos textuais. (Tan, A.-H.,
1999)
14
A partir dessas definições/conceitos podemos ver que a área de mineração
de textos tem uma origem forte na área de mineração de dados e KDD
(Knowledge Discovery in Databases), sendo, por isso, chamada também de Text
Data Mining (Hearst, M. A., 1999) e KDT (Knowledge Discovery in Texts)
(Dörre, J. et al, 1999). Existe, também, uma interseção com a área de busca de
informação na Internet, assim como influências de áreas correlatas como
Processamento da Linguagem Natural (PLN), de Recuperação da Informação
(RI), Inteligência Artificial (IA) e Ciência Cognitiva. A conjunção do
conhecimento dessas áreas fizeram dela uma área própria, chamada apenas de
Mineração de Textos (Text Mining).
Um processo de mineração de textos que vem sendo bastante utilizado
envolve três etapas principais: a seleção, a indexação e a análise de textos. A
seleção de textos tem por objetivo montar a base a ser analisada; a indexação tem
por objetivo viabilizar uma busca rápida por um documento específico (algumas
vezes opcional); e, finalmente, a análise de textos tem por objetivo extração de
informação por algoritmos inteligentes e interpretação do conhecimento contido
no texto.
O modelo de mineração de textos, proposto pelo autor, propõe a inserção
de um módulo de pré-processamento antes da fase de indexação do processo
tradicional descrito. Segundo o modelo proposto, a fase de indexação de textos
passa a ser realizada em duas etapas: uma de pré-processamento de textos e outra
de indexação. Com a nova etapa, o processo passa a conter quatro etapas no total.
O presente trabalho apresenta, então, uma pesquisa onde é proposto um
novo modelo, automático, de mineração de textos, de ênfase na língua portuguesa
e inspirado em técnicas de inteligência computacional. O trabalho é
complementado com o desenvolvimento e implementação do sistema de préprocessamento.
A hipótese do autor é de que o pré-processamento dos textos, tanto na
codificação como no enriquecimento dos textos a serem minerados, é uma parte
importante para uma análise eficaz. Sua importância é sugerida pelo maior
aproveitamento dos aspectos linguísticos como morfologia, sintaxe e semântica.
Os resultados mostram que um pré-processamento simplista pode deixar de lado
parte da informação relevante. Essa tarefa, no entanto, apresenta dificuldades com
relação a sua complexidade e à própria natureza dos dados, que via de regra, são
15
não-estruturados e dinâmicos. É necessário, por isso, saber conviver com
exceções.
Apesar do objeto principal desta tese ser a etapa de pré-processamento,
passaremos por todas as etapas do processo de mineração de textos com o intuito
de fornecer a teoria básica completa para o entendimento do processo como um
todo. Além de apresentar a teoria de cada etapa individualmente, será descrito um
processamento completo (com seleção, indexação, pré-processamento, mineração
e pós-processamento) utilizando nas outras etapas modelos já consagrados na
literatura e implementados durante esse trabalho. A implementação visa mostrar
funcionalidades e algumas aplicações como: classificação de documentos,
extração de informações e interface de linguagem natural (ILN).
Outro produto dessa tese é a implementação do sistema de préprocessamento, que terá seus módulos, e funcionalidades, detalhados clareando
toda
sua
complexidade.
São
especificados,
também,
o
ambiente
de
desenvolvimento, plataformas utilizadas, formas de integração com outros
sistemas de mineração de textos e descrição do funcionamento do sistema em
termos de formato das entradas e saídas de cada sub-módulo.
1.1.
Motivação
O primeiro motivo é o fato de um processo clássico de mineração de
dados, onde não envolve um pré-processamento tão complexo, esta fase consome
60% do tempo total (Goldschmidt, R. e Passos, E., 2005). Estimamos, então, que
o pré-processamento automático dos textos para análise seja um procedimento
importante e essencial, tanto para a economia de tempo como para o bom
funcionamento das etapas seguintes.
O formato textual parece ser a forma mais natural de armazenar
informações já que cresce a informação produzida e disponível para os sistemas
computacionais armazenada em forma de textos como livros, revistas, artigos
científicos, manuais, memorandos, e-mails, relatórios, projetos e outros tipos de
formalização de conhecimento. Isso ocorre porque o meio mais intuitivo de
externalização (transformação do conhecimento tácito em explícito) é registrar,
em textos livres, pensamentos, idéias, sentimentos e opiniões de pessoas. Além de
16
dados empíricos, duas pesquisas podem comprovar esse pensamento. A primeira
mostrou que 80% do conteúdo da Internet está em formato textual (Chen, H.,
2001). A segunda mostrou que, além da Internet, nas organizações há também
muito conhecimento deste tipo disponível. Verificou-se que 80% das informações
armazenadas por uma empresa são também dados não-estruturados (Tan, A.-H.,
1999).
Essas pesquisas mostram também que inúmeras novas páginas contendo
textos são lançados diariamente na Internet, assim como outros tipos de
documentos (como relatórios de acompanhamento, atas de reuniões, históricos
pessoais, etc.) são periodicamente gerados, atualizados e armazenados nas
empresas. Por esses motivos, a importância da análise automática de textos é
reconhecida em todos os segmentos que lidam com informação e conhecimento.
Adicionalmente, grande parte das atividades de tomada de decisões, hoje,
envolve a análise de grandes volumes de texto. O processo decisório, que era
orientado a análise (automática ou não) de séries temporais e fluxo de dados
(data-driven) desde os anos 70, está cada vez mais, principalmente das áreas
estratégicas das empresas, orientado pelas informações (information-driven)
(Koenig, M. E. D., 2000).
Entretanto, o grande volume dessas informações faz com que as
organizações e as pessoas tenham dificuldade para gerenciar adequadamente estas
informações, principalmente as não-estruturadas. Durante muito tempo as técnicas
de mineração de dados (Goldschmidt, R. e Passos, E., 2005) cresceram para
elaborar soluções para as informações estruturadas da empresa. Seguindo esse
mesmo caminho, a área de mineração de textos surge para minimizar o problema
de tratar dados não-estruturados, ajudando a explorar conhecimento armazenado
em meios textuais e assim gerar algum tipo de vantagem competitiva.
A tarefa de gerar inteligência a partir da análise das informações
capturadas e documentadas em textos livres já é realizada atualmente e demanda
cada vez mais tempo dos participantes envolvidos devido ao volume cada vez
maior a ser tratado. É exatamente nesse ponto que a mineração de textos pode
contribuir. A Figura 40 ilustra a forma como o autor entende esse processo e como
pretende contribuir na eficiência do processo de análise e decisão.
17
Figura 40 – Valor agregado pela Mineração de Textos (MT) no processo de análise de
informações textuais.
Os processos de mineração de textos podem representar uma nova visão
das informações disponíveis nas empresas. As aplicações são inúmeras, exemplos
como o acompanhamento da gerência de projetos a partir de relatórios,
documentação de projeto, comunicação com o cliente, o desenvolvimento do
planejamento de marketing baseado em detalhes de planos passados, opções de
anúncios e pesquisas de marketing. Aplicações não tão pretensiosas já se
encontram implantadas atualmente, como a categorização automática de
mensagens de correio eletrônico.
Quanto ao idioma desenvolvido (língua portuguesa), de acordo com
projeto CLIC 2004 (CNPq pequenos grupos), o português é uma língua falada por
uma parcela significativa da população mundial (aproximadamente 3%, em 1999,
de acordo com The Ethnologue, em www.ethnologue.com), sendo o sexto idioma
mais usado no mundo.
Na Internet, o Brasil ocupa a oitava posição em número de hosts, segundo os dados de
2004 do Comitê Gestor da Internet no Brasil1 da
Tabela 16
Tabela 16 – Ranking de quantidade de Hosts por país
1
1º
2º
3º
Estados Unidos*
Japão (.jp)
Itália (.it)
4º
5º
Reino Unido (.uk) 3.715.752
Alemanha (.de)
3.421.455
6º
7º
8º
Holanda (.nl)
Canadá (.ca)
Brasil (.br)
www.cg.org.br/indicadores/index.htm
162.195.368
12.962.065
5.469.578
3.419.182
3.210.081
3.163.349
18
Ainda de acordo com a tabela fornecida pelo comitê, o português brasileiro
está entre as seis línguas mais publicadas na Internet. No entanto, observou-se que
a disponibilidade de ferramentas automáticas de processamento de textos em
português, em termos de recuperação de informação textual, não atende às
necessidades
decorrentes
desta
participação
significativa.
Os
recursos
computacionais desenvolvidos para outras línguas, particularmente para o inglês,
vêm sendo adaptados para o português, sem que as peculiaridades de nossa língua
sejam levadas em consideração.
Em (Inoki, S., 1992) é enfatizada a necessidade de uma especialização a
língua. Mostra como a língua portuguesa do Brasil é rica em vocábulos e
flexibilidade gramatical, ressaltando as dificuldades do idioma português. As
dificuldades surgem desde a diversidade de verbos, formas verbais, problemas de
concordância, regências verbais, sem contar ainda com as de flexões de verbos
irregulares.
Além da Internet, um grande grupo de instituições nacionais lida
prioritariamente com grandes massas de conhecimento documental tais como
legislações, notícias e patentes, além de relatórios e outros tipos de documentos
produzidos internamente. Este panorama justifica as pesquisas em processamento
de conteúdos digitais em português.
1.2.
Objetivo da Tese
Apesar de similar ao processo de mineração de dados, que trabalha com
dados estruturados, o processo de mineração de textos difere, principalmente, por
trabalhar com dados não-estruturados em formato textual. Assim, para que esses
dados textuais possam ser submetidos a algoritmos de mineração, é necessário um
tratamento diferenciado na etapa de pré-processamento de dados.
O objetivo dessa tese de doutorado é, portanto, inovar na fase de préprocessamento da mineração de textos, propondo um modelo automático de
enriquecimento dos dados para uma análise mais eficiente. O modelo é uma
extensão da tradicional abordagem por conjunto de palavras (bag-of-words, em
inglês), um dos procedimentos mais usados atualmente em mineração de textos
(Bekkerman, R. et al, 2003). Foi desenvolvido e implementado um modelo
computacional automático de pré-processamento valorizando o conteúdo do texto,
19
isto é, transformamos e o modelo baseado em palavras em um modelo baseado em
lexemas, bag-of-words em bag-of-lexems. O conteúdo de um texto, no entanto, é
dependente da língua em que está escrito, sendo assim, o modelo de préprocessamento ora proposto utiliza conhecimentos das áreas de PLN e Lingüística
Computacional para formatar soluções com mais ênfase no conteúdo.
Apostou-se nesse caminho, embora alguns resultados experimentais
mostrem que representações mais sofisticadas, às vezes, perdem em desempenho
com relação à representação words usando palavras simples (Apté, C. et al, 1994);
(Dumais, S. et al, 1998); (Lewis, D. D., 1992).
De acordo com (Lewis, D. D., 1992), a razão mais provável para explicar
esses resultados é que, embora o uso de representações mais sofisticadas tenham
qualidade semântica superior, a qualidade estatística é inferior em relação a
representações baseadas em palavras simples. Assim, de acordo com (Joachims,
T., 2002), a abordagem bag-of-words é uma boa relação entre expressividade e
complexidade do modelo. Enquanto representações mais expressivas capturam
melhor o significado do documento, sua complexidade é maior e degrada a
qualidade de modelos estatísticos.
A Figura 41 apresenta um modelo do processo de mineração de textos tal
como é proposto nessa tese. A figura apresenta o processo do início ao fim,
passando por todas as etapas. A seqüência como é mostrado na figura é uma
tendência encontrada nos recentes trabalhos da literatura como (Mathiak, B. e
Eckstein, S., 2004) (Batista, G. E. A. P. A., 2003); (Ferneda, E. e Smit, J., 2003);
(Kao, A. e Poteet, S., 2004). Essa figura será usada como modelo didático para a
descrição tecnológica, passando as etapas uma a uma nessa tese.
Base
11
Text Mining
22
COLETA
COLETA
33
PRÉPRÉPROCESSAMENTO
PROCESSAMENTO
Pessoas
44
INDEXAÇÃO
INDEXAÇÃO
Formação da base
de documentos ou
Corpus.
Preparação dos
dados.
Objetivo acesso
rápido, busca.
Robôs de Crawling
atuando em
qualquer ambiente.
Processamento
de Linguagem
Natural (PLN).
Recuperação de
Informação (IR)
55
MINERAÇÃO
MINERAÇÃO
Cálculos,
inferências e
extração de
conhecimento.
Mineração de
Dados (DM).
ANÁLISE
ANÁLISE
Análise humana.
Navegação.
Leitura e
Interpretação dos
dados.
Figura 41 – Diagrama de camadas abstratas de um sistema computacional
20
Seguindo a Figura 41, o objetivo dessa tese é então concatenar um novo
processador de textos na etapa de pré-processamento. O modelo do processador
utiliza técnicas de inteligência computacional com base em conceitos existentes,
como redes neurais, sistemas dinâmicos, e estatística multidimensional.
Serão analisados também os impactos dessa construção, apontando o que
muda nas outras etapas para atender a uma boa solução de pré-processamento.
Será mostrado nessa tese como a mineração de textos pode concatenar as diversas
áreas do conhecimento em um processo multidisciplinar.
Apesar desse passeio multidisciplinar, o objetivo principal da mineração
de textos é a resolução de problemas. Não pertence a esse trabalho explorar a
fundo as áreas de Recuperação de Informação e Lingüística Computacional. Os
conhecimentos dessas áreas são utilizados na medida em que oferecem idéias
interessantes para a abordagem dos problemas. Esta perspectiva é compatível, por
exemplo, com o pensamento de (Santos, D., 2001):
“(...) é ao tentar resolver um dado problema (isto é, ao tentar construir um
programa que manipula a língua) que surge o momento de nos debruçarmos quer
sobre algumas características do léxico ou da gramática, quer sobre as teorias que
pretendam dar respostas a esse problema” (:229)
1.3.
Estrutura da Tese
Capítulo 2 - São apresentadas diversas abordagens de trabalhos recentes da
área de Text Mining mostrando a origem das soluções e sua correlação com a área
de Data Mining.
Capítulo 3 – É descrita a teoria de mineração de textos, assimcomo a teoria
envolvida em cada uma das etapas do diagrama de mineração da figura 2.
Capítulo 4 – É exposto teoricamente o modelo de pré-processamento,
núcleo dessa tese. Nesse mesmo capítulo é feita uma revisão de alguns pontos da
área do Processamento da Linguagem Natural.
Capítulo 5 – Nesse capítulo é especificado o modelo do sistema
desenvolvido apresentando e aprofundando um pouco mais cada um dos seus
módulos que viabilizam os resultados.
21
Capítulo 6 – Os resultados do sistema de pré-processamento avaliado
segundo medidas estatísticas de precisão (precision), abrangência (recall) e
medida-F.
Capítulo 7 – Três exemplos de aplicação do trabalho dessa tese. Será
mostrado como utilizar TM para classificar documentos automaticamente, extrair
informação e responder perguntas, assim como a importância dessa tese para a
área emergente de Web Semântica. Na apresentação da solução de classificação
será mostrada a diferença dos resultados com e sem o pré-processamento
proposto.
Capítulo 8 – Resumo dos pontos principais dessa tese, as contribuições à
pesquisa acadêmica, aponta os desafios que ainda permanecem e sugestões de
trabalhos futuros.
2
O Estado da Arte
Este capítulo apresenta alguns dos recentes trabalhos relacionados à área de
mineração de texto. Na literatura da área é possível definir uma taxonomia de
modelos de mineração de texto que inclui o booleano (Wartik, S., 1992), o
espaço-vetorial (Salton, G. et al, 1997), o probabilístico (van Rijsbergen, C. J.,
1992), o difuso (Subasic, P. e Huettner, A., 2001), o da busca direta (Baeza-Yates,
B. e Ribeiro Neto, B., 1999), e os lógicos indutivos (Hu, X. R. e Atwell, E., 2003).
A quantidade de trabalhos publicada nessa área cresce cada vez mais, sendo
impossível falar sobre todos os tipos de trabalhos realizados. Alguns trabalhos
relacionados à mineração de textos, referenciados na literatura, que utilizam
diferentes algoritmos de aprendizado podem ser encontrados em (Aas, K. e Eikvil,
L., 1999); (Apté, C. et al, 1994); (Cohen, W. W. e Hirsh, H., 1998); (Cohen, W.
W. e Singer, Y., 1996); (Joachims, T., 1997); (Krista, L., 2000); (Li, H. e
Yamanishi, K., 2002); (Li, Y. e Jain, A., 1998); (Moulinier, I. e Ganascia, J.-G.,
1996); (Thomas, J. e Sycara, K., 1999); (Yang, Y. e Liu, X., 1999).
Dessa forma, escolheu-se apenas alguns importantes e distintos trabalhos
para fazer uma descrição das abordagens existentes no estado da arte.
2.1.
Modelos Puramente Estatísticos
As abordagens estatísticas têm a característica fundamental de tentar estimar
probabilidades para as decisões tomadas, e normalmente fazem uso de
visualização espacial dos dados.
Dentro dessa classe de soluções será mostrado o modelo de Espaço-Vetorial
através de (Salton, G. et al, 1997), o modelo de análise de correspondências
através de (Lebart, L. et al, 1998) e o de análise de discriminantes através de
(Aggarwal, C. C. et al, 1999).
23
2.1.1.
Modelo de Espaço Vetorial
O modelo Espaço Vetorial é uma das técnicas mais usadas em mineração de
textos, sendo a aplicação mais comum a classificação automática de documentos.
No contexto do tratamento de documentos, o objetivo principal de um modelo de
representação é a obtenção de uma descrição adequada da semântica do texto, de
uma forma que permita a execução correta da tarefa alvo, de acordo com as
necessidades do usuário (Gean, C. C. e Kaestner, C. A. A., 2004).
De acordo com o modelo vetorial de (Salton, G. et al, 1997), cada
documento é representado por um vetor no espaço m-dimensional, onde m é o
número de diferentes termos presentes na coleção. Os valores das coordenadas do
vetor que representa o documento estão associados aos termos, e usualmente são
obtidos a partir de uma função relacionada à freqüência dos termos no documento
e na coleção.
Formalmente, seja C = (d1, d2, ..., dn) uma coleção qualquer não-ordenada de
documentos di, contendo m diferentes termos. Então a representação de um
documentos será di = (fi1, fi2, …, fim) para i = 1 até N, onde fij é uma função de
avaliação associada ao termo j no documento i.
Uma função de avaliação (ou “peso”) fij bastante utilizada é a frequência
linear das palavras (TFIDF). Cada termo diferente adiciona uma nova dimensão
ao problema. Problemas de mineração de textos costumam apresentar dimensões
elevadas. Cada documento será então representado pelo mesmo número m de
dimensões indicando a ocorrência do termo no texto.
A classificação de documentos pode ser definida sobre o modelo vetorial
como um caso especial de um problema de classificação supervisionada no
contexto do Reconhecimento de Padrões (Duda, R. O. et al, 2000).
Um classificador bem conhecido na área do Reconhecimento de Padrões é o
k-vizinhos mais próximos (k-NN) (Duda, R. O. et al, 2000). Este algoritmo é
amplamente utilizado devido à sua simplicidade conceitual e erro conceitualmente
limitado. De maneira abreviada, um classificador k-NN associa um documento d à
classe mais freqüente entre as classes dos k vizinhos mais próximos de d na
coleção, de acordo com uma distância calculada no espaço vetorial de
documentos.
24
Na área do tratamento de textos, a distância entre dois documentos di e dj
mais comumente utilizada é a distância euclidiana.
e a denominada “métrica do co-seno”
Devido à dimensão elevada do espaço de documentos (M), nessa abordagem
divide-se o espaço original em diversos subespaços, cada qual tratado por um
classificador específico.
Considere-se o caso de P subespaços: inicialmente algumas colunas da
matriz de (documentos x termos) C são selecionadas aleatoriamente. Se 1,2,…M
são as colunas de C, seja X o subespaço projeção sobre estas colunas; proj X (C)
representa a sub-matriz obtida de C pela projeção de suas linhas sobre X, com
dimensão N x | X |, e proj X (d) é a matriz 1 x | X | que corresponde a um
documento d.
Em cada subespaço gerado desta forma, um classificador pode atuar. Nos
experimentos constantes deste trabalho foram utilizados subespaços de mesma
dimensão (isto é | X | é constante para cada subespaço X). Em cada X empregouse um classificador k-NN fundamentado na métrica do co-seno com o critério
usual de classificação do algoritmo. Por exemplo, para k=1 segue-se o seguinte
critério de classificação: Classe (d) = Classe(di) onde di é tal que cos(di,d) <
cos(dj,q) para todo j <> i.
Quando se aplica a regra de classificação em cada subespaço, obtém-se P
possíveis classificações. Então se deve decidir a classe de d usando um
procedimento de decisão que leve em conta os resultados individuais dos
diferentes classificadores de 1 até P. Usualmente para a combinação de
classificadores se emprega o princípio do voto da maioria (majority vote
principle), isto é, assinala-se ao documento d a classe mais freqüente entre as P
assinaladas individualmente pelos classificadores a d.
Além destas regras, (Gean, C. C. e Kaestner, C. A. A., 2004) empregaram
uma segunda regra de combinação: inicialmente um conjunto com todos os
documentos que se constituem nos vizinhos mais próximos a d é formado; em
25
seguida determina-se a classe de cada um destes documentos e a mais freqüente é
indicada. Este procedimento considera apenas documentos diferentes para calcular
a classe final, visto que a formação do conjunto intermediário elimina
aparecimentos múltiplos dos documentos, não importando o número de vezes em
que os mesmos apareçam nas P classificações.
Em especial, um implementação dessa técnica que vem ganhando bastante
visibilidade na literatura é a de Joachims (2002) - Support Vector Machines.
2.1.2.
Análise de Correspondência
Esta abordagem provém de uma técnica bastante conhecida em estatística
para análise de associações entre palavras. O resultado da análise permite que um
ser humano interprete visualmente as associações, enxergue conglomerados e
assim extraia um conhecimento relevante. Em mineração de textos esta é uma boa
combinação já que o tratamento analítico das palavras ainda é complexo para o
computador e o humano, com conhecimento no assunto, pode apurar a análise.
Um dos representantes deste trabalho é o francês Ludovic Lebart. Em seus
trabalhos, Lebart se preocupou muito com a aplicação de pesquisa de mercado.
Esse tipo de problema envolve um trabalho de campo onde várias pessoas
recebem questionários de perguntas abertas e preenchem com texto livre.
Para (Lebart, L. et al, 1998) a idéia é construir uma tabela de contingência
lexical com as palavras em linhas e as categorias em coluna formando uma matriz
C(i,j), onde o valor (i,j) é o número de ocorrências da palavra j no questionário i.
Como a quantidade de palavras é muito grande, é feito um préprocessamento selecionando as palavras que têm freqüência maior que fc. Isto
ajuda a reduzir a dimensionalidade do problema e filtrar as associações mais
significantes.
Em um exemplo, um questionário com a pergunta “O que é importante para
sua vida?” foi entregue a uma população que era caracterizada por educação e
idade. Para formar a tabela de contingência lexical, executou-se um corte de
freqüência de 16 ou mais vezes e consolidaram-se as variáveis educação e idade
em 9 categorias diferentes.
26
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).
Como um procedimento de análise de correspondência normal, são
calculadas distâncias por meio da estatística de Qui-quadrado:
Aplicada a análise de correspondência, a distância entre dois pontos i e i’ é
dada por
dii '2 = ∑ j (1/cj (pij /ri - p2i ' j /ri '))
onde cj é o total da coluna j, ri é o total da linha i e pij o valor da célula.
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
Figura 42 – Resultado em duas dimensões da análise de correspondência
Interpretando este gráfico pode-se notar uma associação interessante entre a
palavra “friends” e a categoria “-30/high” indicando que os jovens com alto nível
educacional dão bastante importância aos amigos. Já os jovens de baixo e médio
nível educacional dão mais importância ao dinheiro (“money”). Os mais velhos e
de bom nível educacional (“medium e high”) dão mais importância à paz
(“peace”), enquanto os de pouca educação se preocupam com sua saúde
(“health”).
Na conclusão, o próprio autor já aponta para a importância de um bom préprocessamento por ter enfrentado dificuldades lexicais no tratamento de elementos
redundantes e na delimitação da unidade lexical que corromperam a análise. Para
mostrar a importância da etapa de pré-processamento, ele executou esta
manualmente através da escolha de alguns segmentos que foram bastante
freqüentes e calculou o novo resultado, ilustrado na Figura 43.
28
Figura 43 – Análise de correspondência utilizando a etapa de pré com segmentos de
frase
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
O método estatístico conhecida por análise de discriminante procura achar
as palavras que mais discriminam o conjunto de documentos baseado nos
conceitos Bayesianos. A diferença para outras abordagens estatísticas é que essa
explicita o conhecimento extraído e determinando as palavras e os pesos relativos.
Dessa forma, o usuário pode alterar o resultado, adicionando ou excluindo alguma
palavra.
No trabalho de (Aggarwal, C. C. et al, 1999), são utilizados índices
baseados na freqüência relativa para fazer categorização automática de
documentos. Apesar de o processo de categorização também ser feito por
29
estatísticas em espaço vetorial, o que autor propõe de diferente está no préprocessamento dos dados textuais. O objetivo é reduzir a dimensionalidade do
problema e poder executar cálculos em espaço vetorial sem perder performance.
Para isso utilizou-se de conhecimentos da teoria de informação para selecionar
apenas uma parte das palavras, como descrito a seguir.
Seja K o número de classes distintas, f(K) a freqüência de ocorrência da
palavra em cada classe e n(K) o número total de palavras em cada classe. Assim, a
freqüência relativa em uma classe particular é definida por f(i)/n(i). Finalmente e
proveniente da teoria da informação, foi usado o índice Gini (Breiman, L. et al,
1984), que nesse caso é dado por:
G = 1−
K
∑p
i =1
2
i
onde
fi
p =
2
i
K
∑
i =1
ni
fi
ni
Se a palavra não for discriminante ela será distribuída igualmente em todas
as classes e o índice Gini atinge seu valor máximo 1 − 1
K . Por outro lado se a
palavra for altamente discriminante então o índice é muito menor.
Outro índice discriminante bastante usado é o TFIDF. A medida term
frequency – TF – é uma medida que utiliza o número de ocorrências do termo tj
no documento di. A idéia é que os termos que mais ocorrem no documento são
mais relevantes que os termos menos freqüentes. Nesse caso, é atribuído a aij o
valor TF(tj,di), o qual representa o número de vezes que o termo tj ocorre no
documento di – Equação 3.2.
aij = TF (t j , d i ) (3.2)
No entanto, um termo muito freqüente também pode ocorrer em quase todo
o conjunto de documentos. Quando isso ocorre, esses termos não são úteis para
uma boa discriminação das categorias. O componente da coleção é usado para dar
30
um peso menor para tais termos usando a medida Inverse Document Frequency –
IDF – definida pela Equação 3.3.
IDF = log
N
(3.3)
c
IDF varia inversamente ao número de documentos c que contêm o termo tj
em um conjunto de documentos N. A medida IDF favorece termos que aparecem
em poucos documentos do conjunto. Assim, as medidas TF e IDF podem ser
combinadas em uma nova medida denominada TFIDF. O valor de aij pode então
ser calculado pela Equação 3.4.
aij = TFIDF (t j , d i ) = TF (t j , d i )× log
N
c
(3.4)
O componente de normalização é utilizado principalmente para ajustar os
pesos dos atributos para que tanto documentos pequenos quanto documentos
maiores possam ser comparados na mesma escala. Em muitas situações,
documentos pequenos são representados por poucos termos, enquanto que os
documentos maiores, geralmente, por muitos termos. quando uma grande
quantidade de termos é usada na representação de documentos, a probabilidade do
termo pertencer a um documento é alta e, assim, documentos maiores têm
melhores chances de serem relevantes do que documentos menores.
Normalmente, todos os documentos relevantes à tarefa deveriam ser tratados com
a mesma importância independente do seu tamanho. Um fator de normalização,
nesse caso, deve ser incorporado. Os valores aij podem então ser formalizados de
diversas formas, tais como a definida pela Equação 3.5, aqui denominada de
TFIDFN para a medida TFIDF.
aij = TFIDFN (t j , d i ) =
TFIDF (t j , d i )
∑ (TFIDF (t
N
s =1
s
, d i ))
2
(3.5)
31
2.2.
Redes Neurais
Os modelos de Redes Neurais foram largamente utilizados durante a década
de 90 para diversos fins, inclusive na área de mineração de textos. As Redes
Neurais costumam ser modelos complexos, porém fechados, que fornecem bons
resultados para determinadas aplicações onde se têm grandes volumes de dados,
como é o caso de mineração de textos.
Dentro desta classe de soluções descreveremos três trabalhos: o modelo de
Hopfield desenvolvido por (Sergei Ananyan), o modelo de Backpropagation no
trabalho de (Fukuda, F., 1999) e redes auto-organizáveis (Kohonen, T. et al,
2000).
2.2.1.
Hopfield
As redes de Hopfield possuem uma das primeiras arquiteturas para redes
neurais, e sua importância para a área de mineração de textos se deve à sua
retroalimentação.
Sergei Ananyan é da empresa americana Megaputer e ganhou prêmio pelo
software de análise de textos TextAnalyst (Ananyan, S., 2006). Este software é
baseado em um modelo de redes neurais Hopfield-like construído por Ananyan. A
seguir descreveremos um pouco do seu funcionamento.
O programa TextAnalyst2 realiza três processos principais. Primeiro o texto
é escaneado para uma variável caracter a caracter. Determina-se então uma janela
de 2 a 20 caracteres que é passada pelo texto tirando fotos que serão a
representação de palavras. O próximo passo é identificar o quão freqüente as
palavras são encontradas juntas em um mesmo trecho semântico. Os parágrafos
são contabilizados primeiramente e depois as frases.
Numa segunda etapa o sistema monta uma rede preliminar onde cada
palavra e cada relação tem um peso de acordo com a análise de freqüência.
Finalmente, essa rede é usada como condição inicial para uma rede neural de
Hopfield (Figura 44) com uma dimensão e neurônios totalmente interconectados.
2
http://www.megaputer.com/ta_algo.html
32
Figura 44 – Arquitetura de Hopfield utilizada no software TextAnalyst
O resultado é uma rede refinada com pesos redefinidos e normalizados,
produzindo o que é nomeado de semantic network. Essa rede semântica é a base
para todas as aplicações como classificação, sumarização e busca.
2.2.2.
Backpropagation
A rede neural do tipo Backpropagation se tornou a mais utilizada dentre as
redes do tipo supervisionado. Uma aplicação deste modelo foi dada por (Fukuda,
F., 1999) em sua tese de mestrado na PUC-Rio.
Nesta abordagem supervisionada, o usuário do sistema rotula os textos
como positivo e negativo. A partir daí é feito um cálculo de índices que servem de
insumo para a entrada da rede neural com uma camada escondida. A saída de
treinamento é justamente o rótulo dado ao texto. A arquitetura e o modo de
treinamento da rede neural são mostrados na Figura 45.
Os índices são calculados da seguinte forma:
TP: avaliação dos Termos Positivos
RP: avaliação dos Relacionamentos Positivos
DP: avaliação dos Proximidades Positivas
TN: avaliação dos Termos Negativos
RN: avaliação dos Relacionamentos Negativos
DN: avaliação dos Proximidades Negativos
33
Figura 45 – Rede Neural Backpropagation. Modelo usado por Fukuda.
O cálculo dos índices nada mais é do que um pré-processamento dos dados
e é feito com base na freqüência de ocorrência do termo, na freqüência relativa e
na proximidade dos termos.
Depois do treinamento, um novo texto pode ser apresentado à rede e ela irá
responder 0 ou 1, classificando-o segundo os pesos ajustados durante o
treinamento. Os pesos aprendidos guardam o conhecimento da base de
treinamento marcada pelo usuário de acordo com seus interesses. Uma quantidade
pequena de neurônios é indicada para a captura da essência dos interesses do
usuário produzindo uma melhor generalização do conhecimento.
Ainda em (Fukuda, F., 1999), foram apresentadas dificuldades em seu
trabalho quanto ao Processamento da Linguagem Natural, não disponível na época
para o português. Na bibliografia, observa-se também que a maioria dos trabalhos
da literatura de mineração de textos já utilizavam técnicas de PLN, corroborando a
importância dessa junção.
2.2.3.
Mapas Auto-Organizáveis
Os mapas auto-organizáveis (SOM, na sigla em inglês) são métodos de
redes neurais de aprendizado não supervisionado que organizam os dados segundo
uma função objetiva. Os neurônios são interligados, dispostos sobre uma condição
inicial proveniente dos dados de entrada e, sob treinamento, procuram um
equilíbrio de balanceamento da função objetiva.
Em especial, o Kohonen, é um SOM que permite a visualização da
similaridade dos dados analisados. Funciona com base na reorganização espacial
34
dos dados, mantendo a mesma topologia, isto é, documentos semelhantes ficam
próximos e documentos diferentes ficam distantes entre si (Kohonen, T. et al,
2000).
Uma forma de utilizar a arquitetura de Kohonen para classificar textos é
descrever cada texto segundo um modelo estatístico de histograma. Podemos
ainda dar pesos às palavras e utilizar a IDF (inverse document frequency) como
peso de informação (Spark-Jones, K. e Willet, P., 1997).
Inicialmente, os neurônios têm pesos aleatórios, mas a cada documento que
é apresentado os neurônios da rede competem entre si para saber quem é o
vencedor em termos de similaridade, e o vencedor é reajustado, assim como os
vizinhos, segundo a seguinte expressão.
Ao final os resultados são visualizados em um mapa. A
Figura 46 mostra um exemplo de SOM em equilíbrio. No primeiro mapa
foram grifados com pontos escuros os documentos que abordam o textos sobre
química, no segundo foram grifados os textos sobre construção. As nuvens pretas
mostram os lugares no mapa onde há a maior concentração de documentos das
classificações.
Figura 46 – Distribuição do mapa dos documentos. Em cinza os lugares onde há a maior
concentração de documentos.
Química
Construção
35
Neste experimento, foram visualizados 6840568 documentos mostrando a
capacidade de processamento de uma rede neural. Mesmo assim, podemos notar
que o pré-processamento dos dados ainda é crítico para o resultado final.
2.3.
Aprendizado de Máquina
Dentro da área de aprendizado automático, recentemente tem-se investido
muito em Aprendizado de Máquina (ML, do inglês Machine Learning) para a
resolução de problemas de pré-processamento de textos como: etiquetagem
morfossintática (Brill, E., 1995) e (Ratnaparkkhi, A., 1998), identificação de
sintagmas nominais básicos (base noun phrase) (Cardie, C. e Pierce, D., 1998),
(Ramshaw, L. A. e Marcus, M. P., 1995), (Tjong, E. F., 2000); (Tjong, E. F.,
2002) e análise sintática parcial (Koeling, R., 2000), (Ramshaw, L. A. e Marcus,
M. P., 1995); (Tjong, E. F., 2002). Dentre as técnicas de aprendizado de máquina
mais utilizadas podemos citar Cadeias de Markov Escondidas (Seymore, K. et al,
1999), Bayesian Model Merging, Entropia Máxima, Aprendizado Baseado em
Casos (Memory Based Learning) e Aprendizado Baseado em Transformações
(Brill, E., 1993).
Os modelos que serão mencionados nas seções seguintes são baseados em
lógica indutiva e regras. Apesar de apresentarem cálculos probabilísticos em sua
estrutura, estes não compõem a parte crítica do modelo. São eles: o modelo de
Cadeia de Markov através de (Seymore, K. et al, 1999) e o modelo de
Aprendizado Baseado em Transformações (TBL, sigla em inglês) através de
(Brill, E., 1993).
2.3.1.
Cadeias de Markov Escondidas
Este modelo, em inglês Hidden Markov Models (HMM), é extremamente
eficiente em seus resultados, porém seu treinamento é bastante custoso.
“A HMM is a finite state automaton with stochastic transitions and symbol
emissions” (Rabiner, L., 1989)
Como já foi dito anteriormente, tem um forte embasamento estatístico, mas
as regras envolvidas têm um peso muito maior no resultado.
36
Um modelo de HMM é composto por:
ƒ
Um conjunto de estados escondidos: 1,2,3,...,N
ƒ
Um seqüência observada q0 (início), q1, q2, ..., qT, ...., qN (fim)
ƒ
Vocabulário de saída: Σ = (σ0, σ1, ..., σm)
ƒ
Probabilidade de Transição P( q → q’ )
ƒ
Verossimilhança da saída B( q ↑ σ )
Seguindo de perto o trabalho de (Seymore, K. et al, 1999), foi utilizado
HMM para extração de informação. A informação a ser extraída neste modelo é
estrutural, isto é, o objetivo é classificar o trecho de texto quanto a pertinência ao
título, ao autor ou ao corpo do documento.
Primeiramente é inserida no sistema o automato de transição dos estados,
um exemplo pode ser visto na Figura 47.
Figura 47 – Exemplo de automato para Cadeia de Markov Escondida.
Uma vez carregado o autômato, é ativado o procedimento de otimização que
é calculado a partir da combinação de rótulos que maximiza a verossimilhança. O
algoritmo de (Viterbi, A. J., 1967) resolve este problema através da seguinte
equação:
l +1
V ( x | M ) = arg max ∏ P( qk −1 → qk )P ( qk ↑ xk )
q1Kql ∈Q l
k =1
O resultado desse procedimento é um conjunto de rótulos para cada palavra do
documento. A
Figura 48 mostra um texto original a ser pré-processado segundo o automato
da Figura 47, as palavras passam por um dicionário indicando a sua classe e o
algoritmo de HMM rotula cada uma delas com os rótulos <T> para título, <D>
37
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
Como era esperado, Brasil goleia Hong Kong
em amistoso
09:02 09/02
Redação e agências
Apesar
do
adversário
não
ser
lá
muito
perigoso, a seleção brasileira fez nesta quartafeira um bom amistoso contra a seleção de Hong
Kong.
Para
quem
queria
ver
Ronaldinho
Gaúcho,
Robinho, Roberto Carlos e cia. tocarem fácil na
bola até o gol foi uma ótima oportinidade. O
placar
do
7
a
1
no
final
nem
foi
o
mais
importante.
Figura 48 – Texto original
Como<T> era<T> esperado<T> , <T> Brasil<T>
goleia<T> Hong<T> Kong<T> em<T> amistoso<T>
09:02<D> 09/02<D>
Redação<A> e<A> agências<A>
Apesar<C> do<C> adversário<C> não<C> ser<C>
lá<C>
muito<C>
perigoso<C>,<C>
brasileira<C>
<C>feira<C>
fez<C>
um<C>
a<C>
seleção<C>
nesta<C>
bom<C>
quarta<C>-
amistoso<C>
contra<C>
a<C> seleção<C> de<C> Hong<C> Kong<C>.<C> Para<C>
quem<C>
queria<C>
ver<C>
Ronaldinho<C>
Gaúcho<C>,<C> Robinho<C>,<C> Roberto<C> Carlos<C>
e<C> cia<C>.<C> tocarem<C> fácil<C> na<C> bola<C>
até<C>
o<C>
gol<C>
oportinidade<C>.<C>
a<C>
1<C>
no<C>
foi<C>
O<C>
final<C>
uma<C>
placar<C>
nem<C>
ótima<C>
do<C>
7<C>
foi<C>
o<C>
mais<C> importante<C>.<C>
Figura 49 – Resultado da extração de informação de HMM. Os rótulos após cada palavra
é o rótulo ótimo encontrado. <T> título; <D> data; <A> autor e <C> corpo.
39
2.3.2.
Aprendizado Baseado em Transformações
O aprendizado baseado em transformações é comumente referenciado pela
sigla em inglês TBL (Transformation Based Learning) e pertence à classe de
técnicas automáticas de machine learning. Essa técnica está ganhando cada vez
mais espaço na literatura devido a seus bons e eficientes resultados.
A saída do TBL é uma lista ordenada de regras, as quais, aplicadas nos
dados, fazem reduzir o erro de rotulação. TBL tem sido aplicada em diversas
tarefas em mineração de textos como resolução de ambiguidade sintática (Brill, E.
e Resnik, P., 1994), parsing sintático (Brill, E., 1993) e desambiguização de
palavras (Dini et al, 1998). Mas os melhores resultados dessa técnica têm sido na
etiquetagem de classe gramatical. Uma abordagem desta aplicação será descrita
nos parágrafos seguintes.
Seguindo o trabalho de (Brill, E., 1995) podemos dizer que um processo
genérico de TBL procede como na Figura 50.
Figura 50 – Processo de funcionamento de um TBL
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
A existência de ferramentas que realmente suportam todo o processo de
KDD ainda é bastante restrita. Ferramentas comerciais, tais como MineSet e
IntelligentMiner, geralmente têm um caráter mais exploratório e fazem uso de
algoritmos e ferramentas proprietárias, o que dificulta o seu uso por
pesquisadores.
De forma geral um processo de mineração de textos contém quatro macro
etapas: coleta, pré-processamento, indexação e análise da informação. Nos
próximos parágrafos é descrito o processo como um todo e em seguida cada uma
das etapas de forma mais detalhada.
A etapa inicial tem por objetivo a coleta de das informações que vão compor
a base textual de trabalho, isto é, determinar e selecionar o universo de atuação
das técnicas de mineração de texto. Por outro lado, nenhuma informação que não
esteja contida na base textual poderá ser extraída, encontrada ou utilizada de
alguma forma.
Após a coleta de documentos é necessário transformar os documentos em
um formato propício para serem submetidos aos algoritmos de extração
automática de conhecimento. Essa segunda etapa, denominada de préprocessamento, é responsável por obter uma representação estruturada dos
documentos, geralmente no formato de uma tabela atributo-valor.
Essa tabela atributo-valor que representa os documentos tem como
característica valores esparsos dos dados e uma alta dimensionalidade. Essas
características são inerentes à problemas relacionados ao processo de MT, pois
cada palavra presente nos documentos pode ser um possível elemento do conjunto
de atributos dessa tabela atributo-valor. É, portanto, uma etapa bastante custosa e
um cuidadoso pré-processamento dos documentos é imprescindível ao sucesso de
todo o processo de MT.
Após os documentos serem representados em um formato adequado, é
possível aplicar técnicas de extração de conhecimento utilizando sistemas de
mineração de dados. Caso os documentos estejam representados no formato de
41
uma tabela atributo-valor, geralmente, na terceira etapa, são empregados métodos
de RI como indexação para aumentar a performance do processo.
Finalmente, na última etapa, o objetivo é descobrir padrões úteis e
desconhecidos presentes nos documentos. Para a extração de padrões, são
utilizadas técnicas de forma semelhante ao processo tradicional de MD.
A seguir, então, explicaremos de forma mais detalhada cada uma das etapas
envolvidas no processo de mineração de texto, dando mais ênfase à etapa de préprocessamento. Vale ressaltar que o processo descrito a seguir é o processo
clássico, que servirá de comparação com o modelo proposto nessa tese a ser
apresentado no próximo capítulo.
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
O pré-processamento de textos consiste em um conjunto de transformações
realizadas sobre alguma coleção de textos com o objetivo de fazer com que esses
passem a ser estruturados em um representação atributo-valor. De modo geral, a
etapa de pré-processamento tem por finalidade melhorar a qualidade dos dados já
disponíveis e organizá-los. As ações realizadas na etapa de pré-processamento de
43
dados visam prepará-los para serem submetidos a algum algoritmo de indexação
ou mineração de dados.
Conceitualmente, em um processo de
mineração, essas transformações
consistem em identificar, compactar e tratar dados corrompidos, atributos
irrelevantes e valores desconhecidos (Batista, G. E. A. P. A., 2003); (Weiss, S. M.
e Indurkhya, N., 1998).
Em mineração de textos, pré-processamento normalmente significa dividir o
texto em palavras, aplicar técnicas de stemming, remover as stop-words e
classificá-las segundo a classe gramatical (Five Steps).
No entanto, a etapa de pré-processamento vai além das ações citadas, pois é
necessário transformar os textos em uma representação estruturada adequada para
que, a partir disso, os dados possam ser submetidos ao processo como um todo.
No entanto, durante a transformação dos textos em formato estruturado existe a
possibilidade de que informação intrínseca ao conteúdo dos textos seja perdida.
Um desafio, nesse caso, é obter uma boa representação minimizando a perda de
informação. A etapa de pré-processamento em um processo de MT é, portanto,
fundamental para o desempenho de todo o processo (Martins, C. A., 2003).
3.2.1.
Identificação de Palavras no Texto
Em (Gean, C. C. e Kaestner, C. A. A., 2004) podemos perceber uma
preocupação na definição da unidade básica de texto, que é denominada de
palavra (termo). Na etapa de pré-processamento, o documento, considerado como
sendo texto “puro” ou não-anotado, livre de qualquer formato, é tratado de
maneira a produzir uma representação mais compacta que seja mais adequada à
realização da tarefa objetivo.
Em Salton (1983), a identificação das palavras nos documentos a serem
indexados nada mais é do que a identificação de palavras analisando-se as
seqüências de caracteres no texto. Salnton aconselha fazer um Dictionary lookup,
ou seja, comparar as seqüências de caracteres retiradas do texto com um
dicionário a fim de validar se essas palavras realmente existem. Esse processo de
validação torna-se bastante útil, especialmente quando o documento apresenta
muitos caracteres inválidos ou palavras com erros gramaticais. As seqüências de
44
caracteres inválidas devem ser eliminadas e as palavras com erros corrigidas.
Pode-se aplicar ainda um processo de filtragem naqueles arquivos que possuem
formatos de texto específicos, a fim de eliminar as seqüências de controle e/ou
formatação de texto.
O dicionário pode também auxiliar a identificação de termos específicos,
quando se deseja utilizar palavras pré-definidas no índice, evitando que palavras
desconhecidas sejam identificadas (ou seja, evita a utilização de um vocabulário
descontrolado). Um simples Analisador Léxico que identifique seqüências de
caracteres e forme palavras pode ser utilizado.
A Figura 51 apresenta o trecho de um documento com diversas seqüências
de caracteres. As seqüências riscadas são seqüências inválidas, que não devem
passar pela fase de identificação de palavras. As demais seqüências vão para a
verificação em um dicionário (léxico). As palavras sublinhadas são palavras
inexistentes no dicionário, e devem ser corrigidos ou aprendidos. Os caracteres de
pontuação são desprezados.
Figura 51 – Indentificação de palavras válidas
Segundo (Spark-Jones, K. e Willet, P., 1997), uma etapa de préprocessamento típica inclui:
• A eliminação de palavras comuns: as palavras comuns (stop-words) são
elementos de texto que não possuem uma semântica significativa; sua
presença não agrega nenhuma indicação do conteúdo ou do assunto do
texto correspondente. Normalmente as palavras comuns são constituídas
de artigos, preposições, verbos auxiliares, etc, tais como “que”,
“de/do/das”, “o” ou “a”. Após sua eliminação obtém-se uma
representação reduzida do texto, ainda em formato livre.
45
• A obtenção dos radicais (stems): em linguagem natural, diversas
palavras que designam variações indicando plural, flexões verbais ou
variantes são sintaticamente similares entre si. Por exemplo, as palavras
“real”, “realidade”, “realeza” e “realizado” têm sua semântica
relacionada. O objetivo é a obtenção de um elemento único que permita
considerar como um único termo, portanto com uma semântica única,
estes elementos de texto. Este passo permite uma redução significativa
no número de elementos que compõem o texto.
Outra possibilidade de pré-tratamento é a representação em n-gramas do
texto (Cavnar, W. B., 1994): constitui-se em uma representação alternativa, onde
os termos são obtidos diretamente como sub-cadeias de comprimento n das
palavras que compõem o texto original. Por exemplo, a partir da palavra “porta” e
considerando n = 4, obtém-se as seguintes 4-grams: “_por”, “port”, “orta” e
“orta_”, onde “_” é usado para indicar o início ou fim da palavra.
De modo geral, a preocupação das técnicas clássicas presentes na literatura é
de reduzir a dimensionalidade do problema, de modo a poder utilizar algoritmos
de mineração de dados.
3.2.2.
Redução de Dimensionalidade
Um dos maiores problemas de mineração de texto é lidar com espaços de
dimensão muito alta se considerado um espaço-vetorial onde cada termo
representa uma dimensão, teremos tantas dimensões quanto palavras diferentes.
Dessa forma, um dos problemas importantes tratados no pré-processamento dos
dados é reduzir o número de termos.
Uma estratégia bastante citada na literatura é a utilização da Lei de Zipf
(Zipf, G. K., 1949) e cortes de Luhn (Luhn, H. P., 1958). A técnica tem caráter
estatístico e funciona da seguinte forma:
A Lei de Zipf diz que se f é a freqüência de ocorrência de qualquer palavra
do texto, e r a posição de ordenação com relação às outras palavras então produto
f × r é aproximadamente constante. Luhn propôs que, em um gráfico f versos r
pode-se definir uma limite superior e um limite inferior de corte. A palavras que
46
estiverem fora do intervalo são excluídas da análise. Na Figura 52 é mostrada uma
ilustração desse procedimento.
Figura 52 – A curva de Zipf e os cortes de Luhn
3.2.3.
Remoção de Palavras Não-Discriminantes (Stop-words)
Nem todas as palavras dos documentos devem ser adicionadas na estrutura
de índice. As palavras que aparecem em todos os documentos ou na maioria deles
são um exemplo. Isso porque a utilização de uma palavra com estas características
não é capaz de colaborar na seleção de documentos relativos a um assunto
específico. (OpenMuscat, 2000)
As preposições são um exemplo deste tipo de palavra, pois são termos que
servem para fazer o encadeamento de idéias e palavras, são termos inerentes à
linguagem, e não ao conteúdo dos documentos. Normalmente, as palavras que
aparecem em muitos documentos não são indexadas pois sua utilização
compromete a precisão e a eficiência de um sistema de busca. O prejuízo
semântico dessa estratégia é perder a busca exata por compostos como “máquina
de lavar”, onde a preposição “de” não pode ser buscada.
Nos sistemas já implementados, foi construída uma estrutura (uma lista)
contendo todas as palavras que não devem ser indexadas. A esta estrutura foi
atribuído o nome de "stop-list", e as palavras presentes nesta lista são conhecidas
como Stop-words.
O processo de obtenção das stopwords pode ser manual, onde o projetista
do sistema avalia quais palavras devem ou não ser indexadas (o que varia de
47
língua para língua, ou até mesmo entre sistemas). Há ainda a possibilidade de se
montar esta lista automaticamente, verificando-se quais são as palavras com maior
freqüência (que aparecem em mais documentos), selecionando-as como stopwords.
Então, após uma palavra ser reconhecida no processo de indexação, sua
presença na Stop-list é verificada. Caso exista na lista de palavras negativas, ela
não é adicionada ao índice.
A Figura 53 abaixo apresenta o documento resultante da etapa anterior,
após ser validado por uma stop-list. Neste caso a lista de Stop-words contém
artigos, preposições, conjunções e algumas seqüências de caracteres que não
devem ser adicionadas ao índice por possuírem freqüência elevada.
Figura 53 – Indentificação de Stop-Words
Com estas etapas já é possível criar índices que localizem documentos a
partir da comparação direta entre os termos da consulta do usuário e os termos
presentes nos documentos. Este é um método ainda ineficiente, e algumas técnicas
adicionais podem ser utilizadas a fim de melhorá-lo.
3.3.
Indexação
As técnicas de indexação de documentos foram bastante difundidas pela
demanda e crescimento da área de Recuperação de Informações (RI). Muitas
pessoas acreditam que a área de recuperação automática de informações textuais é
uma área nova. Esta idéia talvez tenha surgido com a Web (um dos serviços
oferecidos pela Internet), onde milhares de informações, dispostas em forma de
páginas (documentos textuais), estão disponíveis. No entanto, segundo (Baeza-
48
Yates, B. e Ribeiro Neto, B., 1999) há aproximadamente 4000 anos já são
praticadas técnicas de catalogação manual por índices.
Depois da implantação da Internet em cada vez mais locais, interligando
pessoas de diversas partes do mundo, os usuários se deram conta de que as
informações disponíveis na rede se encontravam de forma desordenada
demandando algum meio de catalogar estas informações automaticamente. Para
suprir essa demanda surgiram vários portais de busca: Altavista, Yahoo!, Google
entre outros.
Há bastante tempo também, cientistas3 estudam meios de catalogar
informações textuais de forma automática. Com os desdobramentos da
informática, catalogar informações se tornou cada vez mais rápido e produtivo.
Técnicas bem definidas e testadas foram inseridas na literatura acadêmica, sendo
reutilizadas em trabalhos científicos atuais. O ACM / SIGIR, (Special Interest
Group on Information Retrieval, da ACM) promove uma conferência
internacional de pesquisa e desenvolvimento em Recuperação de Informações que
ocorre anualmente, e é um dos meios de divulgação dos estudos na área.
Verificando suas publicações (Fox, E. A. et al, 1995), (ACM96b, 1996), constatase que os métodos atuais buscam aperfeiçoar os métodos mais antigos,
permanecendo a metodologia básica.
Dentre os recentes trabalhos, os algoritmos de mineração de textos também
reutilizam de técnicas eficientes de indexação para manipulação eficiente dos
textos. Como as técnicas de indexação permitem uma busca rápida por palavrachave em grandes volumes de textos, existe ganho de performance que viabiliza
cálculos estatísticos mais sofisticados e, por isso, potencialmente melhores.
No entanto, mineração de textos é um conceito bem mais extenso que busca
eficiente por palavras-chave. Por exemplo, uma busca por palavra-chave na
Internet retornaria uma lista de páginas que contêm os termos procurados,
desconsiderando aspectos semânticos que podem tornar estas ocorrências
irrelevantes para o objetivo proposto. Técnicas de mineração de textos promovem
análises mais extensas do conteúdo dos documentos, identificando fatos, relações
e padrões de forma a obter uma percepção similar àquela tida por um humano
lendo o mesmo documento. A informação extraída é geralmente mais relevante, e
3
Gerard Salton vem trabalhando nessa área desde a década de 60 e já publicou mais de 150 artigos.
49
pode ser usada para diferentes propósitos como categorizar um documento,
identificar o significado ou o grupo semântico de expressões dentro do
documento, auxiliar a leitura de grandes volumes de texto.
Em um banco de dados textual, os dados não estão distribuídos de forma
tabular. Até mesmo porque o texto é uma seqüência de caracteres, não existindo
uma pré-especificação de atributos. Não há como saber o que é um nome em um
documento, a não ser que se faça uma análise de Linguagem Natural e se descubra
o que pode vir a ser um nome.
Logo, para localizar as informações sobre determinada pessoa em um
banco de dados textual, seria necessário analisar caractere-por-caractere do texto
até que a seqüência de caracteres correspondente ao nome fosse localizada.
Este tipo de análise, comparando todos os caracteres do texto, não é
conveniente, é necessário haver alguma forma mais eficiente de acesso aos
documentos. Se os documentos textuais possuem um tema, ele pode ser
identificado pelas palavras (termos) que esse documento contém, portanto, o
termo é o meio de acesso aos documento.
Nas seções seguintes abordaremos as estratégias mais eficientes de busca
caractere-por-caractere e como estruturas de dados utilizando essas técnicas
chegaram a uma solução bastante eficiente para o problema de encontrar
documentos por termos citados dentro deles.
3.3.1.
Procura Caractere à Caractere
Antes de entrarmos em indexação de textos propriamente dita que carrega
consigo estruturas de dados mais complexas, é interessante revisar como o
problema de achar uma determinada palavra foi resolvido pela computação.
Uma palavra pode ser entendida como uma cadeia de caracteres específica
que se deseja procurar. A informática se apropriou de muitos termos em inglês no
seu vocabulário para representar tecnologias específicas, neste caso o termo
importado e mais utilizado é string. Daqui em diante nos referiremos a cadeias de
caracteres implementadas no computador como string. Sendo assim, procurar por
uma string no corpo de um texto é preocupação fundamental para qualquer
aplicação de mineração de textos.
50
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 reimplementaçã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.
Figura 54 – Estrutura de uma Lista Invertida associada aos documentos indexados.
Basicamente, a estrutura permite que um único termo aponte para vários
documentos. Ainda segundo (Salton, G., 1983), as etapas geralmente utilizadas
antes da indexação são as de pré-processamento (Seção 3.2):
•
Identificação de Palavras
•
Remoção de stop-word
Depois que os algoritmos de listas invertidas foram implementados,
acessar um documento por uma palavra-chave passou a ser bastante eficiente
(logaritmo em relação ao tamanho do banco de dados). Porém, era necessário
armazenar todas as ocorrências de palavras, incluindo erros ortográficos e todos
os documentos relacionados, o que causava uma explosão de espaço de
armazenamento. Em função disso, algumas melhorias foram acrescentadas ao
método das listas invertidas e passaram a se chamar de listas invertidas
comprimidas (Bell, T. C. et al, 1993); (Bookstein, A. et al, 1992); (Choueka, Y. et
al, 1988); (Frakes, W. B. e Baeza-Yates, R., 1992) que aumentaram o desempenho
significativamente em termos de requisitos de armazenagem em relação às listas
originais.
52
3.3.3.
Similaridade
Um sistema de Recuperação de Informações tem como base a seguinte
teoria (Salton, G., 1983): perguntas (consulta) são submetidas pelo usuário,
perguntas estas baseadas em termos (palavras) que identificam a idéia desejada
por este usuário; os documentos são identificados pelos termos que eles contém,
portanto, a localização de um documento desejado pelo usuário dá-se a partir da
identificação da similaridade entre o(s) termo(s) fornecido(s) pelo usuário e os
termos que identificam os documentos contidos na base de dados. A Figura 55
representa esquematicamente esta teoria:
Consulta
Função
Documento
Similaridade
Figura 55 - Função Similaridade
Esta função Similaridade busca identificar uma relação entre os termos da
consulta e os termos dos documentos. Teoricamente pode ser feita uma
comparação direta entre estes termos, mas na prática é difícil estabelecer esta
relação de similaridade entre esses termos devido a alguns problemas descritos
nos parágrafos seguintes.
Um destes problemas é analisado por (Chen, H., 1994) em vários de seus
trabalhos. O que pode ocorrer é que as palavras utilizadas pelo sistema (palavras
contidas nos documentos) sejam diferentes das palavras utilizadas pelo usuário,
mesmo que estas palavras (sinônimos) representem a mesma idéia. Esse problema
é conhecido por Problema do Vocabulário, e ocorre geralmente quando os
usuários desconhecem o sistema, ou possuem um conhecimento superficial dos
assuntos que estão tentando localizar.
Há ainda o problema da Busca Incerta (Search Uncertainly), ou seja, pode
ocorrer que os usuários não saibam quais são as melhores palavras que
identificam o assunto que querem localizar. Por conseqüência, acabam não
recuperando informações precisas. Este problema também é discutido por (Chen,
H., 1994), (Salton, G., 1983) e outros autores.
53
Esses problemas fazem com que sejam recuperados muitos documentos,
ou documentos de assuntos variados (pois o termo é muito abrangente), ou ainda,
podem não recuperar informação alguma.
É buscando solucionar esses problemas (e alguns outros) que mecanismos
de mapeamento entre os diferentes termos similares foram criados. Salton (Salton,
G., 1983), cita vários sistemas universitários e comerciais que se utilizam destes
mecanismos: STAIRS (IBM), Dialog System (Lookhead Information Systems),
BRS (State University of New York), MEDLARS (National Library of Medicine),
SMART (Cornell University). Em (ACM96a, 1996) são citados mais alguns: WIN
(West Publishing Company), DOWQUEST (Dow Jones Newswire), WAIS, e um
muito conhecido, o INQUERY. Nem sempre estes sistemas conseguem satisfazer
o usuário, mas foram a base para as técnicas atuais e das que estão por vir. A
metodologia básica destes sistemas é discutida a seguir.
3.3.4.
Processo de Indexação
Um referência internacional sobre o assunto é (Baeza-Yates, B. e Ribeiro
Neto, B., 1999). Neste livro encontram-se tanto algoritmos de indexação, formas
de implementação em SQL como o processamento de linguagem natural utilizado.
O diagrama da Figura 56 resume o processo total de Indexação. Pode-se
ver que os documentos que são fornecidos à ferramenta de indexação passam por
uma sucessão de etapas de processamento (em inglês pipeline) e ao final é
produzido um arquivo de índices que consegue localizar os documentos
apresentados.
Em detalhe, a primeira etapa responde por idetificar as palavras, ou as
fronteiras das palavras usualmente feita pelo caractere em branco. A segunda
elimina, dentre essas palavras, as não-discriminantes (stop-words), em seguida, a
terceira executa um procedimento de normalização de sufixos, em inglês
stemming (0). A quarta é reponsável pela detecção de termos compostos, i.e.,
termos com mais de uma palavra. Finalmente, esses termos, pós-processados, são
armazenados na estrutura invertida associados aos documentos origem.
54
Figura 56 – Sequência do processo de indexação automática.
É importante salientar que esse tipo de indexação automática ainda é
bastante simples, não considera a semântica do documento nem a posição sintática
das palavras nas orações. Em virtude dessas necessidades surgiram outras formas
de indexação mais complexas que usam o mesmo motor de indexação, mas
aplicado a uma estrutura de texto enriquecida com metadados. Os metadados são
tags que marcam informações semânticas ou estruturais do texto. Para o
indexador, as tags nada mais são do que novas palavras adicionadas ao texto que
serão também indexadas (Reis, M., 2005).
3.3.5.
Índice do tipo Full-text
A terminologia full-text é mais conhecida nos sistemas de recuperação de
informação embutidos em pacotes fechados de banco de dados. O nome
comumente dado ao índice de bases de dados textuais com textos em linguagem
natural é Full-Text Index. Muitos SGBDs como Oracle, SQL Server e MySQL já
incluem estas funcionalidades prontas. Outros pacotes surgiram especialmente
para isso, como o Lucene em C e Java.
Como o objeto principal dessa tese é o pré-processamento dos textos e não
a fase de indexação full-text, optamos por descrever apenas um deles, com o qual
pudemos ter mais contato, o SQL Server 2000. O objetivo da procura Full-text é
prover informação relevante de uma coleção de fontes em resposta às
necessidades do usuário. Esta necessidade é normalmente expressa por uma
55
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
Figura 57 – Arquitetura da Busca tipo Full-text
Um exemplo de consulta usando a linguagem SQL (Structured Query
Language) para pesquisa em banco de dados que tem como objetivo retornar
todos os documentos que contenham a string “campeonato”
SELECT Texto
FROM Documentos
WHERE Texto LIKE '%campeonato%'
Essa consulta utiliza o operador de expressões regulares “LIKE” que pode
ser aplicado para qualquer campo de caracteres alfa-numéricos. Com o mesmo
objetivo que a consulta anterior, porém usando a estrutura de indexação Full-Text
SELECT Texto
FROM Documentos
WHERE CONTAINS(Texto, ' "campeonato" ')
Se a base de tamanho acima de 10.000 registros a diferença de velocidade
na resposta é sensível.
57
3.3.6.
Ordenação
Como em (Gawrysiak, P., 1999), praticamente todos os métodos de ranking
caem em dois grupos. O primeiro deles inclui técnicas que exploram a estrutura de
apresentação do conteúdo – na Internet, esta estrutura pode ser extraída dos
hiperlinks; em bases acadêmicas (artigos e teses), pelas citações. Isso funciona
porque a estrutura é criada pelos humanos e contém alguma informação
semântica. O segundo grupo compreende ferramentas que lidam com o conteúdo
em si operando de forma estatística ou ainda extraindo a estrutura do próprio texto
usando técnicas de PLN.
Por exemplo, um mecanismo de recuperação de informação bastante
conhecido é o Google. O algoritmo de busca presente no Google chama-se
PageRank e está localizado principalmente no primeiro grupo descrito acima. O
PageRank procura associar um peso a cada página de conteúdo que está
relacionado com o número de páginas que apontam para ela. Estas páginas são
chamadas de autoridades. A Figura 47 ilustra como esse problema pode ser
complicado
Figura 58 – Representação de uma estrutura de hiperlinks na Internet
Um algoritmo simples que considere apenas a estrutura ajustaria um peso
para “Page A” menor do que para “Page B” e “Page C”. No entanto,
intuitivamente, “Page A” deve ser a mais importante. Essa é a solução que o
algoritmo de PageRank apresenta: é calculada a probabilidade de um navegador
aleatório entrar em cada página e entregar o resultado com os valores ordenados
da mais provável para a menos provável. A fórmula para este cálculo é dada pela
seguinte fórmula
58
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
A fase de mineração de dados (Goldschmidt, R. e Passos, E., 2005) envolve
decidir quais algoritmos serão aplicados aos dados. Nessa fase, pode-se utilizar
algoritmos provenientes de diversas áreas de conhecimento, tais como
Aprendizado de Máquina, Estatística, Redes Neurais e Banco de Dados, alguns
citados no Capítulo 2. Se o objetivo dessa fase é criar um modelo preditivo, então,
decidir qual algoritmo é ótimo para o problema que está sendo analisado não é
uma tarefa trivial. Esse fato ocorre pois é sabido que nenhum algoritmo é ótimo
para todas as aplicações (Schaffer, C., 1994). Muitos estudos empíricos têm sido
realizados a fim de relacionar o algoritmo de aprendizado com a natureza do
problema a ser resolvido (Michie, D. et al, 1994). Entretanto, encontrar tal
relacionamento parece ainda ser um problema em aberto. Uma possível solução,
que ainda precisa ser analisada para grandes volumes de dados, é combinar os
resultados de vários classificadores em vez de selecionar um único classificador.
Ensembles (Wolpert, D. H., 1992) têm obtido muito sucesso em combinar o
resultado de diferentes sistemas de aprendizado.
Entretanto, a utilização de
ensembles pode dificultar a fase de interpretação dos resultados.
59
3.5.
Análise da Informação
Após a fase de mineração de dados, o processo entra na fase de avaliação e
interpretação dos resultados. Essa fase envolve todos os participantes. O analista
de dados tenta descobrir se o classificador atingiu as expectativas, avaliando os
resultados de acordo com algumas métricas tais como taxa de erro, tempo de CPU
e complexidade do modelo. O especialista no domínio irá verificar a
compatibilidade dos resultados com o conhecimento disponível do domínio. E,
por fim, o usuário é responsável por dar julgamento final sobre a aplicabilidade
dos resultados.
4
Processamento da Linguagem Natural
O Processamento de Linguagem Natural (PLN) é o campo da ciência que
abrange um conjunto de métodos formais para analisar textos e gerar frases em
um idioma humano. Em mineração de textos, os métodos para analisar textos
escritos são usados na etapa de preprocessamento de forma a melhor representar o
texto e aproveitar mais o conteúdo. O principal objetivo do PLN para essa etapa
consiste em Reconhecer e Classificar as Entidades Mencionadas. Porém, para essa
tarefa ser bem feita é necessário resolver concomitantemente outras tarefas de
PLN. A Figura 59 mostra como é necessário utilizar técnicas conjuntas de PLN
para assim melhorar o desempenho de cada uma delas separadamente.
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.
Em geral, a eficiência da extração das entidades de um texto se comporta
de forma exponencial com a complexidade algorítmica. Com heurísticas simples
atingimos facilmente um acerto de 80%. A dificuldade está em atingir valores
acima de 90%, sabendo que 100% é praticamente impossível.
4.1.
O Modelo de PLN
O modelo de NLP utilizado na etapa de pré-processamento descrito nesse
capítulo é fortemente baseado em léxico. O léxico utilizado no modelo contém
atributos relativos a uma ontologia primitiva. Esse mesmo léxico é ainda
61
atualizado de forma automática. Os algoritmos de aquisição utilizados na sua
atualização, assim como os algoritmos de text mining são avaliados segundo
medidas de Precisão e Recordação. Nas seções seguintes veremos alguns
conceitos sobre a orientação e propósito do modelo utilizado.
4.1.1.
Aquisição Automática
A aquisição automática das entidades (base de conhecimento) através de
PLN funciona de forma biunívoca. Para reconhecer bem os objetos de um texto é
necessário uma base de conhecimento de objetos. Essa base, por sua vez, é
proveniente do reconhecimento de objetos anteriores. Seguindo esse raciocínio, se
temos uma regra que usa o conhecimento de objetos para reconhecê-los e extraílos. É necessária uma outra regra mais forte (menos ambígua) que aponte de
forma ditatorial a ocorrência desse objeto. Essas duas regras atuarão em trechos
diferentes do corpus. Exemplo, em um momento temos a ocorrência livre em um
texto “Tom Cavalcanti trabalhou na Rede Globo”. Usamos o léxico (regra de
força 2) para nos dizer que Tom Cavalcanti é uma pessoa e recortá-lo
separadamente. Porém, em outro texto encontramos “A apresentação do
comediante Tom Cavalcanti será de noite” que ativa uma regra de força 1 de
aquisição lexical do lexema Tom Cavalcanti classificado como pessoa para ser
utilizado na regra 2.
4.1.2.
O Léxico
O sistema de PLN descrito nesse capítulo conta com um léxico para
armazenar as informações lingüísticas da língua. O léxico é uma tabela onde cada
registro dessa tabela apresenta um lexema e seus atributos. A idéia subjacente a
esse léxico é de que cada registro apresente um lexema que possua um significado
específico. Um lexema, como veremos a seguir, é uma seqüência de caracteres
que pode conter qualquer caractere incluindo o espaço (“ ”), a exemplo “maça
verde”. Devem existir tantas ocorrências do mesmo lexema, quantos forem os
significados possíveis. Sendo assim, um registro pretende representar um
significado e a representação morfológica dele. Cada significado recebe um
identificador.
62
Porém, existe o caso inverso, onde duas seqüências diferentes apontam
para o mesmo significado. Esse problema é contornado pela adição de um campo
(meaningId) agrupando os identificadores. Além desse campo, ainda são
armazenados os identificadores do lexema, a seqüência de caracteres, a classe, a
freqüência e idioma como exemplificados na
Tabela 18.
Tabela 18 – Especificação da tabela e exemplos de registros do léxico utilizado
meaningId
lexemeId
Keylexem
class
Freq
Idiom
356
12
Plant
S
3500
E
356
13
Vegetal
S
56768
E
432
14
Plant
S
270
E
432
15
industrial plant
S
1390
E
Na transição da etapa de pré-processamento para a indexação, os
keylexems gerados pelo PLN e armazenados no léxico passam a se chamar
tecnicamente de índice invertido. Isso quer dizer que o sistema de indexação que
será usado contém um índice estendido, com todos os atributos do léxico,
diferentemente dos tradicionais com apenas keyword e freqüência.
4.1.3.
Sobre a Delimitação da Unidade Lexical
Se o léxico computacional é o repositório das palavras de um sistema de
PLN, nessa seção discutiremos como serão definidos seus itens (ou itens lexicais
como são mais comumente chamados). Esta reflexão é necessária já que manter
em uso termos cujos conceitos não são satisfatórios é se propor a chegar a
resultados questionáveis. Por isso uma rápida reflexão sobre este ponto é
fundamental.
Serão estabelecidos os limites e características da unidade lexical, que será
nosso objeto de manipulação. O termo comumente usado para tratar desse objeto é
palavra-chave (em inglês, keyword). Porém keyword trata, em última instância, de
uma seqüência ininterrupta de caracteres alfabéticos e hífens. Essa definição,
apesar de sua simplicidade, pode nos trazer dificuldades na composição dos
significados.
63
Como os modelos descritos nesse capítulo são fortemente baseados em um
léxico orientado por significados, vamos definir um conceito de palavra que será
chamado de keylexem (em analogia a keylexeme, ao invés de keyword) que é
uma seqüência de caracteres armazenada em uma registro lexical. Um keylexem
pode tanto ser “bola” como “à frente do tempo”, “fim de semana”, “Fernando H.
Cardoso” ou até “Dois Filhos de Francisco”.
O conceito de keylexem será utilizado daqui em diante nas etapas de
preprocessamento como referência a um objeto lingüístico formado por uma
seqüência de quaisquer caracteres.
4.1.4.
Ontologia
Uma ontologia é um conjunto de conceitos padronizados, termos e
definições aceitos por uma comunidade particular. Ela inclui a definição desses
conceitos, suas propriedades e as restrições entre os mesmos. A mais freqüente
definição de ontologia é a de Gruber (Gruber, T. R., 1993) "uma ontologia é uma
especificação de uma conceituação". Seu uso tem sido crescente no âmbito da
Web Semântica.
De outra forma, uma ontologia pode ser entendida como um modelo lógico
de representação do mundo (Guarino, N., 1998). Por ser baseada em lógica,
facilita a implementação computacional. Porém, como toda representação, uma
ontologia expressa apenas uma visão, um recorte, uma projeção do mundo, não
pretendendo dar conta dele por inteiro.
4.1.5.
Precisão e Recordação
Precisão (precision) e recordação (recall) são as medidas básicas usadas
na avaliação de eficiência de sistemas tanto para busca quanto para aprendizado.
A busca do tipo precisão é adequada quando se sabe exatamente o que se quer. A
busca do tipo recordação é adequada quando não se sabe o que se quer e precisase fazer uma exploração, um reconhecimento de um domínio para então decidir o
que se quer. Em alguns casos será necessário utilizar em seguida uma busca do
tipo Precisão, em outros obter-se-á o item desejado diretamente.
64
Tecnicamente a busca Precisão tende a retornar poucos documentos e a
busca Recordação a retornar muitos documentos. Para aprendizado as medidas
funcionam de forma análoga, trocando os itens por lexemas. Ao invés de retornar
documentos em uma busca, seleciona lexemas para aquisição. Um sistema de
aprendizado orientado a precisão dificilmente comete erros, porém demora a
aprender novos lexemas. Um sistema voltado a recordação aprende mais
conhecimento em menos textos, porém pode cometer mais erros.
Na prática, existe um contra-peso entre precisão e recordação. Ao
maximizar a precisão, perde-se recordação. Ao maximizar recordação perde-se
precisão. No entanto, o principal objetivo é manter as duas medidas altas
reforçando uma ou outra dependendo da funcionalidade da aplicação. Se
retornamos todos os documentos maximizamos a recordação e minimizamos
precisão. Se trouzermos só um documento, correto, maximizamos precisão e
minimizamos recordação formando uma estreita visão da base. Se estamos
fazendo os primeiros passos da investigação, devemos reforçar a recordação. Se já
sabemos o que queremos podemos reforçar a precisão.
Cada uma das técnicas de PLN descritas a seguir têm impacto nessas
medidas, tornando o sistema mais orientado à precisão ou recordação. Os cáculos
para essas medidas são descritos de forma aprofundada em (Baeza-Yates, B. e
Ribeiro Neto, B., 1999).
4.2.
Técnicas de PLN
4.2.1.
Tokenização
A tokenização é o primeiro estágio do pré-processamento de um texto.
Nele, o texto representado por uma seqüência de caracteres é agrupado em um
primeiro nível segundo fronteiras delimitadas por caracteres primitivos como
espaço (“ ”), vírgula, ponto etc.
Cada grupo de caracteres estabelecidos no primeiro nível é chamado de
token. A seqüência desses grupos, por sua vez, é chamada de tokenstream. Tanto
os grupos de caracteres, como os delimitadores se tornam tokens na nova
seqüência, o único caractere descartado é o espaço em branco.
65
O jogador, que está de camisa verde, marcou o gol da vitória.
[O] [jogador] [,] [que] [está] [de] [camisa] [verde] [,] [marcou] [o] [gol] [da]
[vitória] [.]
O resultado desse processo na língua portuguesa é uma seqüência de
palavras intercaladas por espaço e algumas vezes por símbolos delimitadores.
Apenas com esse primeiro estágio já é possível iniciar um processo de indexação
para recuperação de informações. Veremos que, se essa estratégia for usada, além
de armazenar tokens desnecessários como “(-):,/”, encontramos rapidamente
problemas de excesso de precisão, pois os verbos e nominalizações devem
aparecer exatamente da forma digitada, sem generalização, dificultando a busca.
Esse problema inclui letras maiúsculas e minúsculas, ao buscarmos pela palavra
“dicionário” não chegaremos até o conteúdo contendo “Dicionário”.
Os caracteres delimitadores armazenados que se apresentam em grande
quantidade e muitas vezes desnecessários para a representação do conteúdo
podem ser descartados (como feito com os espaços em branco), porém, em alguns
momentos eles podem assumir papéis críticos para a busca. O ponto, por exemplo,
pode assumir papel de fim de sentença, URL, data, número etc. Apesar da maioria
dos pontos marcarem fim de sentença, um sistema eficiente deve resolver outros
casos além desse.
4.2.2.
Normalização
É uma técnica para aumentar a Recordação em virtude das diversas
representações de um mesmo conceito. A idéia é esquivar das várias formas de
representação de uma palavra associada a um mesmo conceito. Por exemplo, do
conceito de “objeto físico que consiste em um número de páginas atadas
juntamente” temos a palavra “livro” com as seguintes representações “livro” e
“livros” (plural). O processo de normalização propõe que essas duas formas sejam
agrupadas em apenas uma, indicando que, para a busca, elas têm o mesmo
significado. A questão da normalização é que ela é, justamente, uma aproximação
de conceitos, ou seja, os lexemas não têm o mesmo significado e sim um alto grau
de redundância de significado, que, para uma estratégia do tipo Recordação, pode
ser interessante.
66
Na prática, vemos que ao aumentar a Recordação dessa forma
agruparemos várias palavras que possuem significados distintos, prejudicando
bastante a precisão do sistema. Porém, a estratégia do tipo Recordação, por
reduzir o tamanho do léxico, normalmente apresenta uma maior eficiência quando
o objetivo é navegação.
De acordo com a forma de agrupamento das realizações das palavras, os
processos de normalização podem ser de vários tipos. Alguns deles são:
Lematização: Substitui-se as diversas formas de representação da palavra
pela forma primitiva. As formas “livro”, “livros” e “livraria” apontam todas para o
lexema “livro”. Essa estratégia tem a vantagem de captar mais as intenções de
busca do usuário, já que a forma livro é de fácil interpretação.
Radicalização Inflexional (stemming): Só leva em consideração as
flexões verbais. Faz truncamentos que tornam as palavras, na maioria das vezes de
difícil compreensão. No mesmo exemplo: “livro”, “livros”, “livrando” é
substituída por uma quarta forma “livr”.
Radicalização para a raiz (stemming): É a forma mais agressiva de
normalização, levando em consideração todas as formas de sufixos e de prefixos.
A eficiência desses métodos podem ser vistas em (Kantrowitz, M. et al, 2000).
Sinônimos: No senso comum, os sinônimos são palavras bastante
diferentes que contêm o mesmo significado, ou apontam para o mesm1o objeto.
Se as duas ocorrências forem agrupadas por um único identificador teremos
também um procedimento de normalização.
Porém, alguns lingüistas afirmam que não existem sinônimos exatos, i.e.,
que guardam consigo exatamente o mesmo significado. Assim, a idéia mais
adequada a relação de sinonímia seria a de similaridade, ou, a de redundância de
informação. Então, se os significados são parecidos quer dizer que existe uma
parte diferente. Mais, essa parte diferente pode variar em cada caso, mantendo
ainda a relação de sinonímia.
67
=
=
≠
=
≠
=
≠
=
=
(a)
(b)
(c)
Figura 60 – As figures (a), (b) e (c) ilustram três relações diferentes e hipotéticas de
sinonímia.
Para cada parte diferente indicada na Figura 60 temos um tipo de relação
de sinonímia. Essas relações permitem fazer um verdadeiro passeio semântico
para ilustração, onde cada palavra apresenta um interseção de significado com a
outra. Vamos demonstrar isso com a palavra “planta” que pode ser uma
“representação arquitetônica”, um “arbusto”, uma “flor”, um “vegetal” ou até o
verbo “plantar”. Porém, nenhuma delas pode ser exatamente igual a “planta”, por
que senão, pela lógica implicaria que todas as palavras são iguais entre si, e
definitivamente um “arbusto” não é o mesmo que uma “flor”, muito menos igual a
uma “fábrica”.
4.2.3.
Expressões Multi-Vocabulares
Geralmente, itens lexicais são palavras geradas pelo processo de
tokenização. Mas, existem vários casos onde ajuda considerar um grupo de
palavras como um único item lexical. Na literatura lingüística temos algumas
classes desses grupos que são colocações, expressões e expressões idiomáticas.
De acordo com (Saeed, J. L., 1997), a diferença entre colocação, expressão
e expressão idiomática está relacionada ao dinamismo da linguagem. Dessa
forma, colocações são as combinações mais dinâmicas de palavras. Conforme elas
vão sofrendo um processo de fossilização se tranformam em expressões.
Expressões idiomáticas, a partir desse ponto de vista, são os tipos mais
fossilizados de combinações, de forma que as palavras combinadas se
“desgarram” do significado das palavras individuais da combinação. Isso quer
dizer que a diferença entre esses termos está relacionada com o uso. Exemplos
dessa dinâmica são “Vossa Mercê”, “Você” e “cê”, ou mesmo “em boa hora”,
“embora” e “bora”. A freqüência de uso durante uma considerável quantidade de
68
tempo seria responsável pelo mudança no estatus de palavra para expressões
multi-vocabulares. Por esse motivo, as abordagens estatísticas têm se destacado
bastante na solução desses problemas.
Uma vez que uma expressão multi-vocabular é detectada, ela é inserida no
léxico e se torna um keylexem. As expressões multi-vocabulares fazem retomar a
importância do espaço em branco. Além disso, por analisar um conjunto de
palavras próximas em significado, esse procedimento pode ser encarado como um
passo em direção a desambigüização, já que seu significado é distanciado quando
da ocorrência da palavra agregada.
4.2.4.
Fronteiras das Frases
Apesar de intuitivamente parecer simples considerarmos tudo que está
entre os delimitadores (.!?), essa abordagem não mostrou-se muito boa, com uma
primeira aproximação do problema de apenas 80%. Para superar a barreira dos
95% devemos desambiguizar os delimitadores, isto é, classificá-los como
delimitadores ou não-delimitadores. Esse é um dos procedimentos mais difíceis, e,
de certa forma são resolvidos pouco a pouco durante as outras etapas do pipeline
de PLN. Assim, uma melhor aproximação para a determinação das sentenças é
deixar essa etapa para o final, depois de ter resolvido as outras. A maioria dos
delimitadores, como o caso do ponto, já vai estar agrupada em nomes, urls e datas.
O pontos restantes promoverão um acerto muito maior.
Além do problema da ambigüidade dos delimitadores, existem ainda
outros desafios na definição das fronteiras das frases (em inglês, Sentence
Boundary). Primeiramente o problema da ocorrência dos operadores “” e ().
Existem frases que contêm frases dentro delas de forma recursiva, e, nestes casos,
o ponto não mais promove o fim da frase.
“Eu não vou com você. Me liga quando chegar lá.” Disse Márcio Lemos.
Teremos que ter estruturas em árvore para representar a delimitação das
sentenças de um texto. Adicionalmente temos ainda as estruturas de parágrafo,
capítulo e documento. (Corpus Encoding Standard Annex 10)
69
4.2.5.
Etiquetagem
A etiquetagem é a rotulação das palavras de acordo com uma dada
classificação que pode atender à uma ontologia. No nosso caso uma estrutura de
representação básica presente em quase todas as línguas, uma ontologia
considerada neste trabalho como primitiva. Essa ontologia primitiva começa com
a divisão em duas categorias principais:
•
Palavras funcionais: a categoria engloba as preposições, artigos,
pronomes, etc. Esse conjunto é estático, pois raramente surge uma
nova palavra funcional em uma língua, por contrapartida essas
palavras aparecem mais freqüentemente em um texto. É raro
encontrarmos um texto que não tenha a ocorrência do lexema “de”.
•
Palavras de conteúdo: Diz respeito aos nomes, verbos, adjetivos
etc. Esse conjunto é dinâmico, pois a todo momento surge uma
nova palavra de conteúdo em uma língua, por contrapartida essas
palavras aparecem menos freqüentemente em um texto. É raro
encontrarmos em um corpus genérico vários textos com a palavra
“ontologia”.
As palavras funcionais, por serem mais estáticas, podem ser catalogadas
manualmente em um léxico. Já as palavras de conteúdo devem ser
aprendidas/inseridas constantemente e, por isso, de preferência de forma
automática. Isso não significa descartar um dicionário de palavras de conteúdo. Os
dicionários são úteis, porém não são suficientes. Por exemplo, a palavra “livro”
pode ser um substantivo ou um verbo. A tarefa da etiquetagem é justamente
classificá-la corretamente.
Para as palavras de conteúdo precisamos, então, de uma abordagem de
aquisição automática das entradas do léxico, assim como sua respectiva classe. Na
literatura tem-se usado algoritmos de aprendizado de máquina como HMM
(Hidden Markov Models – Rabiner, 1989) e TBL (Transformation Based
Learning – Brill, 1992) que aprendem através de um corpora etiquetado.
70
Uma boa abordagem para adquirir a classificação de palavras de conteúdo
é começar pela distinção majoritária entre substantivo e verbo. Os substantivos,
em geral, nomeiam os objetos enquanto os verbos especificam as ações e
relacionamentos. Para algumas línguas latinas esse problema é mais fácil pois os
verbos apresentam sufixos sofisticados que indicam a classificação das palavras
na maioria dos casos. Já para a língua inglesa a tarefa não é tão simples, a palavra
substantivo ou verbo costuma aparecer na mesma forma o que força a antecipação
da tarefa de desambigüização do sentido das palavras.
Estratégias baseadas em regras são adequadas se for considerada a classe
de palavras vizinhas e costumam obter um bom índice de acerto. Para essa
estratégia é necessário usar um dicionário para dar uma condição inicial de classes
ao sistema e assim gerar insumos para aplicar as regras. Na primeira aplicação as
regras alteram algumas classes. A nova seqüência de classes é usada como
prancheta para um nova aplicação das regras, e assim por diante. Um exemplo
desse método pode ser encontrado em (Brill, E., 1995).
4.2.6.
Padrões Gramaticais
A técnica de padrões gramaticais pode ser entendida como reconhecimento
de padrões em um caso mais geral ou como um procedimento de parsing mais
específico (ad-hoc). A técnica visa procurar no texto padrões sintáticos fortes que
assumem significados próprios e, por isso, merecem ser uma unidade de lexema
como por exemplo “através de”, “de acordo com” e “faz parte” que seriam
proveniente de seqüências de classes gramaticais. Em casos mais genéricos essas
sequenciaw podem incluir delimitadores, assim temos a presença de padrões como
“’s”, “--“ ou até “:-)”.
4.2.7.
Reconhecimento de Entidades Mencionadas
O pré-processamento comum à maioria das atividades em mineração de
textos tem por responsabilidade principal o reconhecimento das entidades
mencionadas no texto. Por entidades podemos entender pessoas, lugares,
instituições etc. Porém, veremos que para reconhecer essas entidades de forma
eficiente faz-se necessário o reconhecimento de todos os objetos do texto.
71
A teoria em torno do processo de identificação e classificação de entidades
tem como referência (Borguraev, B. e Pustejovsky, J., 1996), onde eles
descrevem, para a língua inglesa, o processo de segmentação de nomes próprios
apontando algumas dificuldades. Um procedimento natural para humanos
mostrou-se uma difícil tarefa para um sistema especialista. Destacam-se alguns
exemplos:
(1) Philip B. Morris
(2) Juiz Nicolau dos Santos Neto
(3) Presidente da Câmara dos Vereadores Alcides Barroso
(4) Hollywood
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
O processo começa pela avaliação dos candidatos a entidade nomeada. De
forma macro, essa avaliação consiste em uma sucessão de filtros. Os candidatos
que persistirem serão agrupados por proximidade e considerados nomes de
entidades. Esses filtros algumas vezes utilizam o condicionamento a palavras
próximas, comportando-se como um autômato finito.
Um bom marcador utilizado é a letra maiúscula. Ela costuma fornecer uma
boa lista de candidatos iniciais. Mas esse é só o começo da solução. Além disso,
um algoritmo específico para avaliar o início de uma frase deve ser utilizado, já
que todas as palavras, inclusive os nomes próprios, são marcadas com letra
maiúscula no inicio das frases. Uma boa solução para o início de frases é saber se
a palavra é um verbo ou um substantivo antes de tornar o token candidato a ser
um nome próprio. Deve-se considerar também o fato de que um token nome
próprio é encontrado bastante freqüentemente acompanhado por outro token nome
próprio.
“Sônia Braga”, “São Pedro da Aldeia”, “Manhattan Connection”
Esses tokens em seqüência normalmente representam um único lexema e
devem ser agrupados. Deve-se levar em conta as preposições também, mesmo que
não sejam marcadas pela letra maiúscula. Outro problema freqüente é a existência
de tokens periféricos responsáveis pela qualificação da entidade e que também são
marcados pela letra maiúscula.
“Presidente Lula”, “Estado do Rio de Janeiro”
Outro padrão recorrente é o uso de siglas no meio do nome como forma de
abreviação. Os pontos utilizados nessas abreviações são um grande complicador
para o reconhecimento. Saber se “Murilo O. Machado” é um nome ou “Murilo O”
é o fim da frase e “Machado” o começo de outra pode parecer trivial para nós
humanos mas um computador deve ter regras que auxiliem nesse agrupamento
como a raridade de uma frase terminando em sigla, e ainda mais precedido de um
nome de pessoa.
Finalmente, passamos esses objetos por um último filtro de datas, religião
e localização geográfica e rotulamos como nomes de entidades. Esses nomes
73
devem ser catalogados e aprendidos periodicamente para auxiliar as outras tarefas
de PLN.
4.2.8.
Classificação de Entidades Mencionadas
A classificação de entidades mencionadas (em inglês, Named Entity
Classification) é realizada nas entidades reconhecidas (portanto do resultados do
procedimento de reconhecimento de entidades mencionadas). O objetivo é
classificar os nomes, que são os principais objetos da IC, segundo um ontologia.
A Figura 61 mostra as classes utilizadas nos processos de reconhecimento
e classificação das entidades mencionadas, assim como o apoio fornecido pelo
conhecimento de uma na outra. Exemplo, as regras de classificação de datas usam
perguntas sobre a classificação dos números. As classes que se encontram no nível
mais baixo da árvore tendem a ser mais independente da língua, como os nomes
de pessoa e de organização, em seguida temos os nomes de locais geográficos e
finalmente os formatos de datas.
Compostos
Funcionais
Substantivo
Verbo
Qualificador
Det
Números
Nomes Próprios
Data
Pessoa
Geografia
Organização
Figura 61 – Esquema de pré-requisitos entre as classes ontológicas.
O processo de classificação pode ser feito seguindo a mesma lógica do
processo de reconhecimento, porém em um nível de abstração maior. A maioria
das regras contém perguntas sobre o resultado do reconhecimento. Além disso,
existe a meta informação. São utilizadas também regras que utilizam de palavras
adjacentes que circunscrevem a classificação dos nomes.
74
“Isso aconteceu próximo litoral da ilha de Sumatra”
Nesse exemplo, as palavras “litoral” e “ilha” ditam a classificação de
localização geográfica para o nome “Sumatra”.
4.2.9.
Análise dos Constituintes
Até então, as técnicas vistas descrevem processamentos que consideram
apenas as palavras individualmente ou expressões que funcionam como itens
lexicais, de forma a enriquecê-las e transformá-las em um lexema dotado de
significado próprio. A análise dos constituintes (parsing) atua sob o resultado
gerado pelas etapas anteriores com o objetivo de ligar as palavras umas as outras,
estabelecer relações entre elas. Essas relações são especificadas pelo próprio
texto. Se o texto estiver escrito corretamente e tratar do mesmo assunto, nenhuma
palavra ficará solta, e todas elas terão uma posição específica em um único grafo.
Mais precisamente, cada palavra tem um papel dentro da frase que se encontra;
cada frase pode ser representada em uma estrutura sintática de árvore; as árvores
são conectadas entre si por meio de relações de anáfora, hiperonímia, sinonímia
etc formando o grafo final. Um texto que resulta em dois grafos não conectados
contam duas histórias diferentes.
Em (Grune, D. e Jacobs, C. J. H., 1991) são apresentados vários tipos de
parsing assim como algumas abordagens para o problema. Um dos métodos
computacionais para se aproximar desse problema é a estrutura de DCG (Defined
Clause Grammar) que combina uma seqüência de regras de formação das árvores
a partir 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
infinitas. Além disso, é necessário manter um motor de inferência verificando a
integridade das regras a cada vez que uma regra é adicionada, pois essa regra pode
entrar em contradição com outra ou uma combinação lógica de outras.
Diante desses problemas, o procedimento de análise dos constituintes só é
utilizado para casos específicos e domínios com alguma restrição. Mesmo com
essa limitação, o procedimento atende bem a funcionalidade de information
extraction, pois possui os objetos e relacionamentos pré-especificados, restando ao
analisador detectar as variações sintáticas.
Sob o ponto de vista da aquisição lexical, podemos levar em conta a
freqüência de uso de cada regra como estimador de sua força de atuação. Se uma
regra do tipo DET + S ocorre muito na língua, então, se encontrarmos um DET e a
palavra seguinte tiver sido avaliada como V (verbo) pode-se re-rotular a classe
dela para S. Deve-se tomar bastante cuidado com a utilização de regras de rerotulamento pois elas aumentam de forma significativa a complexidade
computacional do problema.
4.2.10.
Correferência
Assumindo a representação de um texto como um grafo estruturado por
árvores interconcetadas, onde cada árvore representa um relacionamento
parseado. A maioria das correferências são formas de conexão entre as árvores.
Elas ocorrem quando dois termos de um texto têm o mesmo referente, i.e., se
referem ao mesmo objeto/entidade. Elas também ocorrem freqüentemente usando
a relação ontológica hierarquicamente superior. As correferências são usadas
quando a definição de um objeto tem uma relação de dependência conceitual de
um objeto já instanciado. A seguir encontram-se abordagens de solução de alguns
tipos mais freqüentes de correferência.
4.2.10.1.
Acrônimos, Siglas e Abreviaturas
Os acrônimos são palavras formadas por pedaços de nomes extensos como
“Pontifícia Universidade Católica” e PUC. O dois keylexems são distintos e se
referem exatamente à mesma entidade que é uma universidade com um
76
determinado número de habitantes e uma certa cultura. Em um texto, o acrônimo
costuma aparecer marcado por parênteses.
Padrão 1: Departamento de Engenharia Elétrica (DEE) ou
Padrão 2: DEE (Departamento de Engenharia Elétrica)
Essa é uma forma de aprender automaticamente a conexão entre os
keylexems, no entanto, existem vários casos em que os parentes aparecem e não
há acrônimos. Temos que investigar outras dicas que possam fortalecer a regra.
Primeiramente descobrimos se o possível acrônimo se encontra no padrão 1 ou no
padrão 2. A idéia é usar o fato de o nome ser sempre maior que o acrônimo, e,
com o candidato acrônimo em mãos, tentamos casar (match) as letras com as
iniciais do nome. Essa comparação deve gerar um score de probabilidade de
existir a conexão.
As siglas diferenciam-se dos acrônimos pela intercalação de pontos (ex.
E.U.A.) e normalmente aparecem dentro dos nomes, como “George W. Bush”.
Quando não, podem ser comparadas com as entidades presentes no textos ou
muito freqüentes.
Finalmente, as abreviaturas são nomes truncados por pontos. A maioria é
muito freqüente e pode ser catalogada, como “Dr.”, “Ltda.” e “Av.”, já as mais
raras devem ser comparadas com palavras longas e bastante usadas para sugerir
um aprendizado automático.
4.2.10.2.
Nomes Truncados
Os nomes truncados são as correferências mais freqüentes, principalmente
do domínio da inteligência competitiva. A ocorrência desse fenômeno é
proveniente de um princípio da economia na comunicação. Se a entidade com o
nome inteiro já foi apresentada, não é mais necessário repetir toda a informação.
No caso dos nomes de pessoa, uma vez apresentado o nome “Sônia Braga”, será
referenciado mais a frente por Sônia ou Braga e não pelo nome inteiro. Essa
ligação tem ainda uma outra característica adicional, ela é valida só no contexto
(localmennte). O único keylexem gerado é “Sônia Braga” ligado aos nomes
truncados que serão normalizados pelo nome inteiro.
77
Pelo valor da informação presente nos nomes de pessoa e pela freqüência
em que isso ocorre é recomendado uma atenção especial para esse processamento.
Depois de reconhecidas e classificadas todos as entidades dos textos, deve-se
separar apenas os nomes de pessoas e fazer uma comparação direta de todas as
combinações de duplas. Os nomes que se encaixarem perfeitamente (excluindo a
técnica de identificação de erros ortográficos para simplificar) são candidatos a
correferência. Em um segundo momento deve-se levar em conta a distância dentre
os dois nomes em número de palavras, se a distância for muito grande pode ser
uma correlação espúria devido ao fato de que nós mesmos teríamos muita
dificuldade em lembrar do nome citado. A distância também pode servir para
resolver um problema de dupla referência, quando duas pessoas tem o mesmo
nome ou sobrenome. Finalmente, a seqüência de apresentação do nome inteiro e
depois a truncado é muito mais usual, devendo ganhar um peso maior, apesar de o
contrário também ocorrer.
4.2.10.3.
Anáfora Pronominal
As anáforas são as correferências formadas por palavras funcionais, mais
freqüentemente por pronomes. Essas correferencias servem para adicionar
informação descritiva ao objeto lingüístico. Como não guardam nenhum conteúdo
ortográfico da entidade em sua representação, são usadas com bastante
proximidade ao objeto referenciado. Porém, mesmo próximas, ainda é difícil o
trabalho de encontrar o objeto destino correto. Essa decisão deve ser feita na
comparação de atributos lingüísticos do objeto, por exemplo, “Ela” deve
referenciar um objeto pessoa feminino singular; “Eles” deve referenciar um objeto
pessoa plural e assim por diante.
A vantagem é que os pronomes são finitos e catalogáveis, sendo viável
construir uma matriz de atributos de comparação para cada um. Mais complicado
é incorporar essas características na etapa de classificação das entidades. Alguns
trabalhos tentam resolver esse problema, a exemplo (Lappin, S. e Leass, H., 1994)
e (Ge, N. et al, 1998)
78
4.2.10.4.
Sinônimos
Os sinônimos também são muito aplicados para correferenciar termos.
Nessas ocasiões, as duas palavras sinônimas, apesar de não conterem, em sua
essência, significados idênticos, no contexto, apontam exatamente para o mesmo
objeto manifestando uma relação de correferencia.
As relações de sinonímia dessas palavras, em geral, são especiais e
apresentam na redundância de informação um certo grau de hierarquia de
organização do conhecimento como “tipo de” ou “parte de”. Apesar de que
sinônimos horizontais também são encontrados.
Em geral os textos apresentam esse tipo de correferência para não repetir a
mesma palavra. Exemplo, um texto pode começar falando de uma pesquisa, e
depois
correferenciar
a
mesma
pesquisa
como
trabalho,
paper
ou
desenvolvimento. No domínio de negócios um exemplo comum é apresentar a
empresa e depois chamar de agência, corporação etc. As relações hierarquicas
podem ser adquiridas de forma automática através de regras atuando em padrões
como “gasolina e outros combustíveis” indicando que gasolina é um tipo de
combustível. Outros padrões lingüísticos podem ser encontrados em (Hearst, M.
A., 1992). Após a extração do conhecimento, a idéia é montar um banco de dados
contendo um grafo dessas relações para auxiliar na resolução da correferência de
novos textos.
4.2.10.5.
Erros Ortográficos
Correção ortográfica automática tem uma longa história. Um importante
algoritmo criado em 1964 introduziu a idéia de distância edição mínima
(minimum edit). Basicamente, o conceito de distância de edição quantifica a idéia
de uma seqüência de caracteres estar próxima a outra, pela contagem do número
de operações de caracteres (como inserção, deleção e substituição) que são feitas
para tranformar uma string em outra. Usando essa métrica, os melhores candidatos
para a palavra correta são aquelas que apresentação a mínima distância de edição.
Outra abordagem é a técnica de chave de similaridade, onde as palavras
são tranformadas em um tipo de chave de modo que palavras parecidas e erradas
79
tenham a mesma chave. Para corrigir os erros ortográficos é necessário então
simplesmente gerar a chave para a palavra errada e procurar as palavras com a
mesma chave para uma lista de candidatos. Soundex é a melhor solução conhecida
com essa abordagem, e também é usado a aplicaçãod e busca fonética.
A combinação da distância de mínima de edição e chaves de similaridade
(metaphone) é o núcleo da estratégia utilizada pela Aspell. Mas existe uma
terceira abordagem utilizando técnicas de indexação por n-gramas de letras.
Uma n-grama de letras é uma seqüência de n letras da um dada palavra.
Para exemplicar, a palavra “cavalo” pode ser dividida em quatro 3-gramas,
também conhecido como trigramas: “cav”, “ava”, “val” e “alo”. A idéia é que os
erros ortográficos mais comuns só afetam poucos constituentes de n-grama, então,
podemos buscar pela palavra correta através daqueles que compartilham a maior
parte dos n-gramas com a palavra errada.
No processo de indexação normal, os documentos são indexados por
palavras contidas neles. No processo de correção de erros, os documentos são as
palavras e as palavras são os n-grams que irão constituir o índice. Quando a
palavra é procurada, os n-grams são processados e procurados no índice, a palavra
que apresentar o maior número de n-grams será a mais relevante.
O problema de misspelling é bastante útil em PLN e já apresenta bons
resultados na literatura, por esse motivo vale a pena ver ainda outras abordagens
como (Cucerzan, S. e Brill, E., 2004) e (Martins, B. e Silva, M. J., 2004).
4.2.11.
Discriminação do Sentido da Palavra
O problema de discriminação do significado (em inglês, Word Sense
Discrimination) é um dos mais requintados do PLN devido principalmente à sua
dificuldade algorítmica. Apesar de ter havido um trabalho substancial nesse
problema durante um bom período, ainda não existem algoritmos que possam
completamente discriminar o sentido de uma palavra. No início dessa tese, foi
estudado o tema para avaliar a dificuldade algoritmica, o resultado desse estudo
originou um artigo publicado em TIL2004 (Aranha, C. et al, 2004).
Esse trabalho direcionou os estudos para o pré-processamento da
linguagem, já que enfrentamos uma dificuldade de avaliação do resultado final
80
devido à dificuldade de interpretação da saída do modelo. Um pré-processamento
mais apurado poderia aumentar a semântica dos resultados.
O processo de discriminação consiste em determinar qual o significado da
palavra de acordo com o contexto em que ela está inserida. Esse problema existe
devido ao fenômeno da polissemia presente nas línguas, i.e., uma mesma
seqüência de caracteres pode apontar para vários significados diferentes. Sob um
certo ponto de vista, todas as palavras são polissêmicas, e dessa forma, para
processar cada palavra de um texto seria necessário um procedimento de
discriminação. Porém, devido à freqüência de utilização, apesar de muitos
significados, as palavras normalmente trazem consigo um significado mais forte
(mais freqüente). Por esse motivo é que PLN sem procedimentos sofisticados de
Word Sense Discrimination pode gerar resultados positivos em certas instâncias.
Uma versão maior do problema de Discriminação do sentido (Word Sense
Discrimination) é o problema de Desambigüização do Sentido (Word Sense
Desambiguation). A maioria dos algoritmos de desambiguização rotulam o nome
do grupo além de discriminá-lo. Porém, algoritmos de discriminação dos
significados das palavras têm a vantagem de ser mais orientados a aquisição
automática por seguirem os modelos cognitivos de aprendizado, que, por sua vez,
não têm acesso aos rótulos dos significados na maioria das vezes.
Uma abordagem bastante conhecida está descrita em (Manning, C. e
Schutze, H., 1999), onde é elaborada uma definição de vetores de contexto
baseados em coocorrência. Esses vetores são plotados em um espaço ndimensional e agrupados por um algoritmo de clustering. Cada grupo indica um
contexto discriminado.
4.2.11.1.
Detecção Automática de Sinônimos
Uma abordagem baseada em regras (rule-based) desse problema já foi
citada na seção 4.2.10.4. Nessa seção falaremos de uma abordagem estatística
para tentar solucionar o problemas dos sinônimos horizontais (sem hierarquia). O
problema da detecção automática de sinônimos é oposto/dual à Discriminação de
Sentido. De forma didática, a discriminação de sentidos parte de uma mesma
palavra com dois significados distintos e os sinônimos são duas palavras distintas
81
com o mesmo significado. No primeiro caso, temos o movimento de separação e
no segundo, um movimento de agrupamento.
Tecnicamente, para cada ocorrência é computado um vetor de contexto.
Após o algoritmo de clustering são detectados grupos de contextos semelhantes.
Na tarefa de discriminação, os dois usos caem em grupos diferentes, apresentam
significados diferentes. Logo, se duas palavras diferentes geram vetores de
contextos do mesmo grupo (muito próximos) então pode-se aferir relação de
sinonímia. A medida de proximidade estatística utilizada no algoritmo vai indicar
o quão parecido são os significados. Normalmente estipula-se um fator limite
(threshold) para o grau mínimos de semelhança que será considerado como
sinônimo.
5
Desenvolvimento e Implementação
Nesse capítulo será descrito com detalhes a arquitetura e o modelo de préprocessamento de mineração de textos ora proposto. Ferramentas já
implementadas no modelo bag-of-words podem ser encontradas em PreTexT
(Matsubara, E. T. et al, 2003), Rainbow (MacCallum, A. K., 1996) e Ngram
(Banerjee, S. e Pedersen, T., 2003). Diferentemente dessas ferramentas, o modelo
proposto pretende aproveitar mais o conteúdo lingüístico do documento no
tratamento das palavras (words) transformando o conteúdo em um modelo bag-oflexems. Outra característica é a autonomia do sistema, de caráter pseudosupervisionado, que tenta aproveitar as dicas presentes no próprio texto para o
aprendizado automático de novos lexemas e novas classificações ontológicas, com
o objetivo de minimizar esforços manuais. Gerenciar um léxico é um dos maiores
esofrços de um modelo pré-processamento.
Nas seções seguintes falaremos um pouco sobre o modelo de aprendizado
automático, a importância do léxico computacional e o desafio de mantê-lo
atualizado, a estratégia linguística utilizada para esse objetivo, léxicos públicos
em forma de tesauros, o modelo implementado, formato de representação, formato
de armazenamento e exemplos de pré-processamento do modelo implementado.
5.1.
Aprendizado Automático
A maioria dos sistemas de aprendizado para mineração de textos são
supervisionados, isto é, a partir de uma base de treinamento (gabarito), um
algoritmo sintetiza um determinado conhecimento, seja de forma probabilística ou
simbólica. Esse conhecimento passa a fazer parte de um programa extrator do tipo
de informação selecionada para o aprendizado. Assim, o sistema será capaz de
processar, em novos textos, as características desejadas.
A Figura 62 ilustra, em alto nível, o procedimento utilizado nos casos de
aprendizado supervisidonado. Na etapa de mineração de dados propriamente dita
(Figura 41) muitas abordagens seguem esse modelo, como será o caso exemplo
nos últimos capítulos dessa tese.
83
Corpus de
treinamento
Corpus
de teste
Extrator
de
Informações
Lingüísticas
Algoritmo
de
aprendizado
automático
Lista
de
informaçõe
s extraídas
Conhecimento
probabilístico
e/ou simbólico
Figura 62 – Esquema geral de um extrator de informações lingüísticas.
O conhecimento probabilístico e/ou simbólico circulado na figura, no caso
do pré-processamento, é armazenado em um léxico.
5.2.
O Léxico Computacional
Um léxico é um repositório de palavras que pretende armazenar todas as
palavras (lexemas) existentes em uma língua. É claro, que no caso limite, temos
infinitas palavras em uma dada língua, na prática o léxico armazenará o número
de palavras diferentes nos textos processados (corpus).
Além dos lexemas, o léxico faz a associação de cada palavra com outras
informações pertinentes à aplicação. Nesse sentido ele tem um papel fundamental
de apoio à percepção da palavra. Inspirado no léxico mental, que é o modelo
cognitivo de como nosso cérebro armazena as palavras de uma língua, o léxico
computacional procura cumprir o mesmo papel, mas já leva outro nome
(“computacional”) principalmente porque não carrega consigo nenhuma pretensão
de ser fidedigno ao léxico mental. Isso significa dizer que a orientação da
modelagem computacional desse trabalho não é necessariamente um problema
cognitivo da mente humana.
84
5.2.1.
A Importância do Léxico
O léxico, cada vez mais, vem sendo reconhecido como um dos pontoschave 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
Sob um certo ponto de vista, o processo da formação da percepção por
seres humanos pode envolver a construção mental de representação do
conhecimento a partir da informação sensível captada por eles. A frase “percepção
lingüística” se refere a formar uma percepção que melhore nossa capacidade de
compreender e raciocinar com informação lingüística. Informação lingüística pode
ser expressa de duas formas básicas: oral ou escrita. A informação escrita
geralmente é mais estruturada e menos ruidosa que a oral. A informação oral
inclui várias orações semanticamente incompletas (Michael W.Eysenck, 1990)
que o interlocutor pode acompanhar devido ao alto grau de contextualização do
tópico sendo discutido. O processamento da informação oral requer, além do
processador de linguagem, processadores de som, cuja tecnologia está ainda mais
distante de fornecer bons resultados práticos.
Sendo assim, nos concentraremos apenas na forma escrita da língua
natural. A semântica escrita é mais comportada, mas não por isso simples.
Em (Muradas, A., 1995) são descritas as etapas e os componentes da
compreensão natural, mostrando que na maioria dos casos a compreensão da
linguagem segue a seguinte ordem: analisador léxico, analisador sintático,
analisador semântico e por fim o pragmático. No entanto, já aponta que esses
módulos não precisam ser necessariamente distintos e muito menos utilizados
nessa ordem, como iremos tentar mostrar também durante esse trabalho.
Para se ter uma idéia de como este problema pode ser difícil, o ato de
entender uma frase em linguagem natural requer muitos conhecimentos prévios
(background knowledge) e conceitos do assunto tratado. Por exemplo, a frase “A
cadeira engoliu o tigre” está sintaticamente correta, porém semanticamente
incorreta. Já a frase “A formiga engoliu o tigre” está sintática e semanticamente
correta, mas pragmaticamente incorreta. Uma criança sem percepção sobre
formigas e tigres não pode determinar o quão fraca é a frase pragmaticamente.
Vemos então que é necessário formar uma percepção sobre o mundo animal como
cadeiras, formigas e tigres para conseguir compreender a frase.
Em resumo, as seguintes interfaces de um sistema de linguagem vão
auxiliar o processo de mineração de textos:
86
Sintaxe: estuda as regras de formação das frases a partir das palavras.
Essas regras serão extraídas de acordo com a ordem com que as palavras
aparecem no texto. Um modelo sintático pode implementar uma gramática para
encadear as palavras. Um exemplo de uso na mineração de textos utilizando a
sintaxe se encontra em (Silva, C. et al, 2003).
Semântica: estuda a relação lógica entre os significados das palavras do
léxico. O conjunto dessas associações comporão a chamada rede semântica. Essas
relações lógicas são representadas por assertivas como, por exemplo, “idéias não
têm cores”.
Morfologia: analisa a estrutura e a formação das palavras em termos dos
seus elementos constitutivos (exemplo: prefixos e sufixos).
Conhecimento de Mundo: este seria um acervo de informações lógicas
sobre o ambiente em que se atua. Contém todas as informações enciclopédicas de
forma que possamos completar a histórias pela metade em nossa mente. Exemplo:
“Quando Lisa estava voltando da loja com um balão, ela tropeçou e o
balão foi-se embora flutuando”. (Michael W.Eysenck, 1990)
Para se entender essa simples frase, utiliza-se uma considerável quantidade
de conhecimentos. Considere todos os fatos que foram aceitos incondicionalmente
e todas as conclusões plausíveis que foram feitas: de que Lisa é uma menina, de
que ela comprou o balão na loja, de que Lisa tropeçou numa pedra, de que o balão
estava preso pelo barbante, de que quando ela caiu ela largou o barbante e de que
o balão subiu, e assim por diante. Quando se dá conta da extensão do
conhecimento que foi utilizado no nosso dia-a-dia “sem pensar a respeito” é
bastante surpreendente.
É importante frisar que as fronteiras entre as análises acima não são muito
claras. De fato, esta partição é artificial e tem por fim representar os aspectos
cognitivos envolvidos na compreensão da linguagem natural.
87
5.4.
Tesaurus
A WordNet (Fellbaum, C., 1998) é um “léxico relacional” disponível
gratuitamente para uso online. Nomes, verbos, adjetivos e advérbios estão
organizados como sinônimos, cada um representando um conceito lexical. Esses
termos (chamados synsets) são ligados através de diferentes relações, tais como
sinonímia/antonímia, hiponímia/hiperonímia, meronímia e troponímia (para os
verbos). Também existem relações derivacionais entre categorias sintáticas – por
exemplo, entre um adjetivo e o nome de que ele se deriva (cultural-cultura) e
entre advérbios e adjetivos (rapidamente-rápido).
Um dos projetos de desenvolvimento de léxicos computacionais mais
significativos feitos para o português brasileiro é a WordNet.BR, construída nos
moldes da WordNet. A WordNet.BR, desenvolvida pelo NILC (Núcleo de
Lingüística Computacional da USP), toma por base o aplicativo Thesaurus
Eletrônico para o Português do Brasil – TeP (Dias-da-Silva, B. C., 2003) e possui
seus itens lexicais estruturados em função das relações de sinonímia e antonímia
(Dias-da-Silva, B. C. et al, 2002); (Dias-da-Silva, B. C., 2003); (Dias-da-Silva, B.
C. e Moraes, H. R., 2003). Atualmente, a WordNet.Br prevê a inclusão de
estrutura argumental e de esquemas de subcategorização dos adjetivos na sua base
de dados (Di Felippo, A. e Dias-da-Silva, B. C., 2004), informações que não
existem na WordNet.
Bases como a WordNet e a WordNetBR são construídas a partir de fontes
lexicais pré-existentes. As informações não disponíveis em tais fontes são
acrescidas manualmente. No caso da WordNetBR, serviram de ponto de partida
alguns dicionários, como Aurélio Eletrônico e Michaelis Eletrônico, três
dicionários de sinônimos e antônimos, um dicionário analógico da língua
portuguesa e um dicionário específico, com frames de categorização e papéis
semânticos, o Dicionários de Verbos do Português, de Francisco Borba (Dias-daSilva, B. C. et al, 2002).
A WordNet, por ser o resultado da compilação de uma vasta rede de
conhecimentos léxico-semânticos, é utilizada por diversos sistemas que lidam
com PLN e com a construção de ontologias (Crow, L. R. e Shadbolt, N. R., 2001).
Sendo assim iremos considerá-la uma referência importante na nossa
88
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
As seções seguintes irão mostrar as etapas e os desafios de um processo de
aquisição da linguagem natural. Durante essa seção, utilizaremos bastante o
conceito proveniente da cibernética de retroalimentação sistêmica (ou
“feedback”). Para (Wiener, N., 1948), a retroalimentação é um retorno de
aperfeiçoamento, de otimização do sistema, que caracteriza a reorganização
progressiva contra a desordem e a tendência universal da entropia em todos os
níveis.
Basicamente, para ser considerado um sistema inteligente capaz de aprender
é necessário um módulo de percepção, responsável por captar as informações do
meio e um de retorno, responsável por julgar os impactos dessas informações
(Maturana, H. e VARELA, F. J., 1980). Para perceber, é necessário uma
capacidade sensível, memória e uma capacidade de aprendizado com experiências
anteriores armazenadas em sua memória. Para julgar as informações é necessário
uma análise destas, incluindo comparações e projeções. Um ser inteligente então é
aquele capaz de melhorar seu desempenho em uma determinada tarefa utilizando
para isso seu aprendizado.
Em cada etapa são processadas características morfológicas ou semânticas,
isto é, a forma como a palavra é escrita ou sua classe. O aprendizado inicialmente
funciona por interação com o usuário, até atingir um status de maturidade onde o
sistema consegue adquirir novos conhecimentos de forma autônoma. A partir
desse ponto é viável o desenvolvimento de funcionalidades utilizando seu
resultado, como veremos mais adiante.
89
5.5.1.
Definições
Para as definições assumimos que na língua só existem significados literais,
de maior ou menor força. Dessa maneira, uma metáfora será um significado fraco
ou pouco freqüente.
Definimos aprendizado de uma língua como o processo de armazenamento
da informação sentida ou percebida na memória. Memória como um objeto que
armazena informações que não são nativas do código (hardcoded). Sensação
como um processo de captar/sentir as informações do ambiente. Percepção como
uma organização do sentido e comparação com a memória. Esses conceitos serão
usados nas seções seguintes, ex. Figura 66.
Definimos termo como o “átomo” da língua para este fim. A estrutura de
um termo possui conteúdo, quantidade de espaços até o próximo termo, classe
gramatical ou classe nativa do lexema, classe ontológica, identificador no léxico,
identificador do grupo do termo no léxico, lista de relações de redundância
semântica e uma lista de termos para construir as regras sintáticas.
5.5.2.
Arquitetura
O modelo de armazenamento do conhecimento utilizado no algoritmo de
pré-processamento está de acordo com a Figura 63. Uma tabela armazena todos os
lexemas aprendidos (Léxico), outra tabela armazena as relações lexicais de
redundância de informação, como acrônimos e flexões verbais. As classificações
ontológicas são implementadas como um filtro ou uma visão do léxico para cada
categoria.
A tabela Scan armazena as regras linguísticas utilizadas/aprendidas, Rules
no modelo de classes da Figura 64. E, finalmente, os índices aumentam a
performance dos acessos à bancos textuais.
90
Rede
Índices
Scan
Léxico
Lexical
Ontologia
Banco
Visão
Figura 63 – Modelo de banco de dados.
O modelo de classes da Figura 64 apresenta a arquitetura orientada a
objeto do modelo de pré-processamento proposto. A classe Common contém as
informações e regras mais básicas das linguas ocidentais. As informações são
constantes como os caracteres alfanuméricos, os separadores e diferença entre
maiúscula e minúscula. As regras são processos de detecção de compostos e
nomes. Para cada língua, então, essa classe é estendida de modo a atender às suas
especificidades. Por exemplo, em inglês temos o formato de data MM/DD/AAA,
já em português temos DD/MM/AAAA.
Todas essas constantes e regras são aplicadas pela classe pipeline para
processar o texto. A classe producer é responsável por utilizar essas informações
para o aprendizado automático.
Common
•Constants
•Rules
PT_BR
English
•Constants
•Rules
Producers
Text
Pipeline
Spanish
•Constants
•Rules
Producers
•Constants
•Rules
Pipeline
Producers
Pipeline
Preprocess
Figura 64 – Modelo de classes por orientação a objeto.
Lexems
91
Finalmente, a classe Preprocess recebe o texto a ser processado como
entrada e aciona o Pipeline e o Producer para pré-processamento e aprendizado
respectivamente.
O modelo de classes da Figura 64 foi feito para ser extensível para outras
línguas, sem impactos de arquitetura. Nessa tese, no entanto, implementamos
apenas uma instância para o português.
O pipeline para o português é composto de sucessivos scans que vão sendo
“plugados” e aplicados em linha. Cada um responsável por reconhecer uma classe
de lexema diferente:
Texto
cortex.scanNumbers()
cortex.scanPattern()
cortex.scanEnclise()
cortex.scancHifen()
cortex.scanLowAcronym()
cortex.scanCollocations()
cortex.scanNames()
cortex.scanURLs()
cortex.scanTimeRef()
cortex.scanEmails()
Lexemas
Figura 65 – (Pipeline) Sequência de procedimentos de reconhecimento de padrões e
aprendizado de lexemas especializados em cada área do PLN.
Um texto escrito em uma determinada língua natural pode ser considerado
como uma seqüência finita de símbolos arbitrários (Saussure, F., 1982). Estes
símbolos são os átomos da língua, e computacionalmente são realmente
indivisíveis e representados por caracteres. A seqüência de caracteres do texto
contém padrões que acionam a percepção e que, por sua vez, agrupa seqüências
desses símbolos formando um novo símbolo, remetendo a um outro significado.
Sob a perpectiva sistêmica, podemos diagramar o processo como na Figura
66. O texto passa primeiramente pelo tokenizador (módulo sensitivo) onde são
gerados os atomos linguísticos, depois pelo reconhecimento de padrões que utiliza
os conhecimentos prévios armazenados no banco de dados lexicais. Depois passa
pelas regras comuns (Common), depois pelas regras específicas de língua e os
92
novos conhecimentos são inseridos no banco de dados. Os novos conhecimentos
vão influenciar a percepção do próximo texto a ser processado.
Módulo
sensitivo
Módulo
perceptivo
Léxico
Regras
inatas/
universais
XML
Regras
aprendidas/
locais
Figura 66 – Modelo de aprendizado autonomo e retroalimentado.
Continuando o processo de agrupamento, o resultado do agrupamento
“primitivo” transforma esta seqüência inicial de símbolos em uma outra seqüência
de símbolos, também arbitrários que podemos chamar de termo. Dentro do
universo dos símbolos existem dois tipos: os alfanuméricos e os separadores. Os
separadores atuam como delimitadores dos alfanuméricos. Dessa forma, os
alfanuméricos são agrupados em um novo símbolo e os separadores continuam a
consistir um símbolo atômico. Esta primeira etapa do processamento da
linguagem natural foi definida como Sensação. Para muitos, como (Pinker, S.,
2002), a sensação pode ser entendida como parte da percepção, ou uma percepção
primitiva/nativa.
A função lógica deste primeiro aparato é alavancar o universo lingüístico e
com isso a sua força de comunicação. Se antes tinha-se um alfabeto de 26
símbolos (26 significados possíveis para serem transmitidos), agora ter-se-ia
logicamente infinitos significados para serem transmitidos ao outro, bastando para
isso que se combinem, ou agrupem seqüências cada vez maiores de
símbolos/caracteres. Observou-se, no entanto, que há um limite da capacidade de
processamento de seqüências cada vez maiores, e, por uma questão de
performance, observou-se que estas seqüências tem em média 13 caracteres de
tamanho. Isso nos leva a concluir que a capacidade de comunicação de uma
palavra não é infinita, mas algo da ordem de:
1326 = 9 x 1028
93
onde 13 é o tamanho da palavra e 26 é o numero de caracteres possíveis.
O processo de agrupamento continua em várias etapas. A primeira foi
descrita como Sensação. As etapas estão ilustradas na Figura 67.
1
2
3
4
5
Sensação
Percepção
Referência
Sintática
Lógica
----
Texto
Figura 67 – Seqüências de etapas que compõe o processamento do texto.
Na segunda etapa, são agrupados símbolos em um segundo nível. A essa
etapa deu-se o nome de Percepção porque é a partir daí que estes símbolos
começam a ser atribuídos de traços semânticos e também, em alguns casos,
começam a utilizar a memória.
Os traços semânticos são atribuídos por meio de padrões lingüísticos ainda
bastante nativos. Na verdade existe uma graduação de nível perceptivo dos
padrões. Essa graduação respeita a ontologia primitiva como na
Figura 68. Quanto mais alto (global) o traço semântico, mais essencial e
mais nativo ele é. Quanto mais baixa (local) mais elaborada e mais cultural ele é.
As setas indicam os pré-requisitos procedurais para a determinação das classes.
Global
Com postos
Funcionais
Substantivo
Verbo
Qualificador
Det
Núm eros
Nom es Próprios
Data
Pessoa
Geografia
Organização
Local
Figura 68 – Ontologia pré-definida para o processamento. As setas indicam os
pré-requisitos (AÆB = A é pré-requisito de B).
94
As classes essenciais utilizam principalmente percepção de padrões
morfológicos como, por exemplo, sufixos. A essas percepções é dada uma
atribuição absoluta de um traço semântico para a palavra. No entanto, existem
atribuições condicionadas à derivação das palavras. Vale ressaltar que no caso dos
sufixos a atribuição é sempre absoluta, porém no caso da derivação pode ser tanto
absoluta como relativa.
Ex.
Atribuição Absoluta
Se a palavra terminar em “oso” então existe um traço de qualificação (adjetivo).
Atribuição Absoluta Condicionada à Derivação
Se a derivação “+mente” existir então existe um traço de qualificação.
Atribuição Relativa Condicionada à Derivação
Se a derivação “+mente” existir então tem o mesmo traço que a palavra derivada.
Os procedimentos de identificação de compostos e extração de nomes
próprios do texto merecem uma atenção especial e serão explorados adiante com
mais detalhes.
Continuando o processo de agrupamento, ao final dessa etapa, temos um
conjunto de lexemas dotados de um traço semântico segundo a ontologia
estabelecida. A este conjunto daremos o nome de conhecimento local. Esses
lexemas representam a memória fresca, recente e de fácil acesso. A última tarefa
da percepção é persistir o conhecimento local de forma a acumular conhecimentos
que poderão ser usados futuramente, isto é, aprender.
Seu aprendizado, então, ocorre da seguinte forma: se um lexema é
desconhecido então ele é adicionado na memória junto com seu respectivo traço
semântico (campo class do léxico); se ele já é conhecido (já existe na memória),
então sua importância na língua é reforçada. Essa “importância” é a distância de
sua posição para a porta de acesso externo. Isso significa que quanto maior a
importância de um lexema mais próximo à porta, e quanto menor a importância
mais longe da porta e mais difícil será o seu acesso. Para uma melhor
compreensão, podemos fazer uma analogia desse acesso à nossa capacidade de
95
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.
Figura 69 – Cada círculo representa um lexema percebido. A borda de cada um deles
indica um traço semântico. O resultado das referências agrupa as redundâncias
semânticas.
Dentre as correferências existentes, as três principais são acrônimos,
truncamento de nomes e anáfora.
Acrônimo
Truncamento
Anáfora
Copom = Comitê de Política Monetária
Bush = George W. Bush
Ele = Fernando Santos
Para os acrônimos é usado um padrão sintático de proximidade e parênteses
que aciona uma comparação entre as letras e o nome. Ao perceber uma
semelhança os dois lexemas são ligados como referências ao mesmo significado.
O processo de aprendizado é parecido: a cada acrônimo reconhecido este é
memorizado. Dessa forma, se o acrônimo for usado em um texto futuro que não
96
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
frase --> sintagmaNominal, predicado, ['.'].
sintagmaNominal --> artigo, substantivo.
predicado --> verbo, sintagmaNominal.
predicado --> verbo.
artigo --> [o]; [a].
substantivo --> [menino] ; [menina] ; [cachorro] ; [gato].
verbo --> [viu] ; [chamou] ; [dormiu] ; [mordeu].
Figura 70 – Exemplo de uma gramática escrita sobre a de especificação de
Backus-Norm-Form.
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
Sensação
Percepção
Referência
Sintática
Lógica
----
Texto
Figura 71 – Suporte da interface sintática forçando a reavaliação da percepção e
referência.
A etapa sintática transforma o texto em uma lista de relacionamentos entre
os elementos do texto. A maioria desses relacionamentos são feitos por termos
funcionais de cunho lógico. Cada um desses termos contém uma semântica lógica
específica que permitirá ao módulo de Lógica fazer inferências sobre a teia de
relacionamentos. Esse conceito também conhecido como Reasoning (Frege, G.,
1975) é bastante próximo à compreensão computacional de um texto. Isso
significa que se tornará possível a verificação de coerência e coesão. Para
exemplificar como isso pode acontecer, seguimos um exemplo.
“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.“
Lista de assertivas lógicas:
As ações da Ambev subiram com força. (conhecimento local)
As ações da Ambev foram influenciadas por Z. (conhecimento local)
Z = “rumores de que X” (conhecimento local)
X = “a empresa estaria prestes a fechar um acordo com a Interbrew”. (conhec. local)
O acordo é de produção e distribuição. (conhecimento local)
a Interbrew é uma cervejaria belga. (conhecimento local)
a Ambev é uma empresa. (memória)
empresa = Ambev (anáfora)
X = “a Ambev estaria prestes a fechar um acordo com a Interbrew”. (conhec. local)
99
A seguir falaremos sobre como o sistema identifica, aprende e reconhece
compostos da língua. Os compostos representam um novo paradigma de
processamento de língua, onde as fronteiras dos objetos linguísticos são mais
difusas.
5.5.3.
Compostos
Nesse modelo partimos de uma teoria composicional do significado, onde o
significado de uma seqüência de palavras é formado pelas palavras que a
constituem. No entanto, esta não é sempre uma verdade. Existem seqüências de
palavras que nos remetem a um significado distinto do significado das partes.
Essas seqüências surgem devido ao uso intenso dessas palavras conjuntamente
formando uma associação forte entre elas e cristalizando seu significado. Com
tempo o significado de cada parte pode flutuar e se descolar do significado
conjunto cristalizado. (Saeed, J. L., 1997)
A identificação de compostos foi feita usando como base um corpus
jornalístico que contém aproximadamente 8 milhões de palavras (é um corpus
dinâmico que cresce em média 300.000 palavras por dia). O sistema filtra
combinações que tenham como parte do bigrama pronomes pessoais, pronomes
demonstrativos e nomes próprios.
Depois de separar as palavras do texto, o sistema vai rankear as
combinações de acordo com um critério estatístico inspirado no tradicional teste
de hipótese de t-student. O objetivo é selecionar seqüências de palavras em que a
ocorrência de uma palavra seja condicionada à ocorrência da outra palavra,
criando assim o composto. (Oliveira, M. F. et al, 2004)
O princípio adjacente ao teste de hipótese vem da comparação (contraste)
entre a freqüência de ocorrência de uma das palavras do composto e a freqüência
esperada de ocorrência da mesma palavra. Esse contraste é resolvido através do
cálculo da distância entre esses dois valores. Existe um fator limite da distância
para garantir uma certeza de 95%.
x
s2
N
−
μ
s2
N
100
onde x é o valor real e μ é o valor esperado, N é o tamanho da amostra e s é a
covariância.da amostra.
No caso do composto bigrama, temos uma estrutura do tipo A B (ex.
impressão digital, impressão=A e digital=B) o objetivo é saber se a associação
entre as duas palavras do composto é significante. Fazemos o teste de hipótese
para saber se a probabilidade de a palavra A ocorrer conjuntamente com a palavra
B é a mesma que a probabilidade de a palavra A ocorrer. É o mesmo conceito de
testar a dependência entre duas variáveis.
P(A/B) > P(A) ou
P(B/A) > P(A)
De acordo com nosso modelo, existe um agente responsável por extrair os
elementos do texto e alimentar o léxico. O léxico armazena os itens lexicais já
lidos e duas freqüências. Até a data de 15/09/2005 já haviam 16.677.358 palavras
provenientes de textos processados.
Existe um outro agente responsável pelo calculo dos compostos. Esse agente
serializa o corpus (de acordo com os itens lexicais) e armazena eles em outra base,
que é uma sub-amostra do total lido pelo sistema. As freqüências dos compostos
candidatos são calculados sobre essa sub-amostra. Fizemos isso porque a tarefa
demanda uma grande capacidade de armazenamento e processamento de máquina
que cresce de forma exponencial.
De qualquer maneira, como a aplicação de um teste de hipótese demanda
um grande esforço computacional e mesmo assim não oferece garantia de 100%,
um outra solução foi encontrada de forma à simplificar os cálculos.
Na maioria dos trabalhos, apenas o conceito de teste de hipótese é usado
para calcular as distâncias e ordenar os candidatos a compostos (Manning, C. e
Schutze, H., 1999). Na prática, analisando esses resultados vemos que podemos
reduzir os cálculos com atalhos que aproximam o resultado final de um teste de
hipótese completo. Dessa forma podemos aumentar a performance computacional
e viabilizar esse cálculo para grandes bases de dados.
O cálculo se reduz para:
101
fc
f n1 + f n 2
f >0
onde f c é a freqüência de coocorrência e f ni is a freqüência de ocorrência of i.
Adicionalmente, uma segunda aproximação consiste na consideração no
calculo das probabilidades marginais f ni não da sub-amostra, mas de todo o
corpus (informação pré armazenada no léxico). Vale lembrar que a conjunta f c
continua a ser calculada sobre a sub-amostra. Os resultados mostram que, apenas
para ordenar os compostos candidatos não se perde muita informação importante.
O problema passa a ser determinar o ponto crítico do teste, que é alterado pelas
simplificações. Para isso, utilizou-se para a expertise humana de juízes que
manualmente classificaram os compostos. Quando a quantidade de compostos
errados atingiam 10% do total, arbitrariamente fixou-se o ponto crítico (análogo à
precisão de 90% de um teste de hipótese).
O resultado de toda essa análise é o agrupamento destas palavras em
lexemas distintos, criando assim uma nova entrada lexical para ela. Veja o
exemplo da tabela:
Identificação
Expressão linguística
ID1
Impressão
ID2
Digital
ID3
Impressão digital
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
Embora a identificação dos nomes próprios tenha como principal evidência
a ocorrência da letra maiúscula no início da palavra, essa tarefa está longe de ser a
mais fácil. O principal fator é que essa classe concentra 50% da novidade de um
texto, isto quer dizer que não é possível fazer uma lista dos nomes próprios
existentes, ao contrário das outras classes. Em (Borguraev, B. e Pustejovsky, J.,
1996) podemos encontrar uma descrição de diversos problemas que são
encontrados normalmente no processamento de nomes próprios, assim como
algumas dicas de como resolver alguns casos. Abaixo encontram-se alguns
problemas com resultados bastante satisfatórios (Freitas, M. C. et al, 2005):
Letra maiúscula no início da frase: “Governador faz viagem internacional.”
Abreviação no meio do nome: “Philip B. Morris”
Conexão por palavras funcionais: “Juiz Nicolau dos Santos Neto”
Titularidade: “Presidente da Câmara dos Vereadores Alcides Barroso”
Depois de reconhecido todos os nomes próprios e resolvidas as
correferências, seguimos a ontologia estabelecida e passamos para uma segunda
etapa de sub-categorização desses NPs nas categorias Pessoas, Lugares e
Organizações. Para a classificação em cada uma dessas categorias foram
utilizados recursos das interfaces de percepção e sintática.
5.5.5.
Sintaxe
A resolução da sintaxe se apresenta de duas formas, cada uma delas em
seqüências de processos paralelos. Um processo é capaz de lidar com grandes
volumes de dados e orientado para a extração de conhecimento e aprendizado. O
outro é orientado à performance (processa em tempo real um pequeno volume de
texto) e não está conectado com a interface de aprendizado.
103
Tempo Real
ScanPOS
por Batelada
TextPOS
Árvore
Janela
Regex
Figura 72 – Diferentes módulos para resolver a sintaxe. Estão separados por fatores de
performance e forma de execução.
O processo em tempo real contém os módulos de ScanPOS que auxilia na
percepção de todas as categorias através de metalinguagem. O módulo TextPOS
que insere a palavra no contexto sintático, podendo recategorizar alguma categoria
dada a priori. E finalmente há o módulo de geração da árvore sintática, onde o
sistema traça todos os relacionamentos entre todos os objetos do texto.
O processo por batelada está associado ao aprendizado do sistema. No
módulo janela Scripts de SQL são acionados periodicamente para aprender a
classificação de novas palavras assim como a metalinguagem associada. No
módulo de Regex, o sistema usa os bem conhecidos motores de expressões
regulares para extrair informações específicas dos textos como cargos de pessoas
em empresas.
O aprendizado se faz de forma síncrona entre metalinguagem e termos,
como em um processo de otimização de duas varáveis por derivada parcial.
Aprendemos a variável A
em função de um condição inicial de B, com o
resultado fixamos A e melhoramos B e assim por diante. Esse processo
cibernético serve de apoio ao sistema em tempo real, como se fosse uma
manutenção continuada ao sistema.
5.6.
Representação do Documento
Após o pré-processamento dos textos, é gerada uma lista de objetos
lingüísticos (lexemas). Cada documento é composto de uma seqüência de
104
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
Ao longo dessa seção discutiremos metodologias que permitem o
enriquecimento de dados textuais através da criação e uso de metadados
agregados aos documentos. O modelo mais usado hoje é o XML (eXtended
Markup Language). As vantagens para este formato são inúmeras para a
mineração de dados (Reis, M., 2005).
Estes metadados são também denominados “tags”, e estão relacionados a
um documento ou a trechos do texto contidos neste. Ilustraremos especialmente as
vantagens do uso de tags para a recuperação de informações em grandes
repositórios de documentos, quando comparado às técnicas mais comuns de
busca.
Existem muitos tipos de tags (ou metadados) que podem ser usadas para
qualificar documentos ou partículas de texto. A seguir apresentamos alguns tipos
de tags úteis no auxílio à análise do conteúdo de grandes repositórios de
documentos.
Em uma definição simplista, metadados são “dados sobre os dados”. São
comumente usados para enriquecer dados, provendo informações específicas
sobre os registros, colunas ou células de um repositório de dados, como por
exemplo:
•
A origem do dado
•
Regras de transformação para o dado
•
O formato usado para representar o dado
5.6.1.1.
Tags de Categoria
As tags de categoria são associadas a um documento e fornecem
informações quanto ao tipo do documento. Categorias são geralmente atribuídas
105
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
Figura 73 – Exemplos de tags de categoria
Um mesmo documento pode conter mais de uma tag de categoria. Por
exemplo, ser qualificado como um e-mail e também como um documento
sigiloso. Tags de categoria são especialmente úteis para limitar ou filtrar buscas.
Torna-se possível, por exemplo, realizar uma busca limitada aos documentos não
sigilosos da organização, ou fazer uma busca somente por documentos produzidos
pelo departamento jurídico de uma organização.
5.6.1.2.
Tags de Contexto
Tags de contexto são de um tipo semelhante às tags de categoria, e
qualificam um documento. A diferença é que as tags de contexto são utilizadas
para indicar um ou mais assuntos aos quais o documento se refere, como por
exemplo “política”, “esportes”, “informática” ou “desenvolvimento sustentável”.
Embora pareça um trabalho que só possa ser realizado por seres humanos capazes
de entender e qualificar os assuntos tratados por um texto, começam a surgir
agentes inteligentes capazes de realizar esta tarefa automaticamente com uma
acurácia razoável.
106
Políticas
Públicas
Clientes
Concorrentes
Figura 74 – Exemplo de Tags de Contexto.
Tags de Contexto são muito úteis na filtragem de grandes quantidades de
documento. Imagine por exemplo uma organização que atue na extração e refino
de petróleo. Seria possível desenvolver um sistema capaz de baixar
automaticamente notícias das principais mídias disponíveis na web e separar
aquelas que dizem respeito ao mercado de petróleo, diminuindo dramaticamente a
quantidade de material a ser lido diariamente pelos tomadores de decisão. Seria
possível ainda separar as notícias que falam sobre extração, as que tratam de
refino e as que tratam de políticas públicas regulatórias, direcionando conteúdo
específico para departamentos distintos.
5.6.1.3.
Tags de Função
Diferente dos tipos de tags citados anteriormente, tags de função qualificam
elementos internos de um documento. Eles informam o papel de uma partícula de
texto dentro do documento. Por exemplo, um parágrafo de um artigo pode ser
qualificado como sendo seu abstract, uma linha pode ser qualificada como o
título, e uma outra partícula pode indicar o autor do documento.
Tags de Função possibilitam especificar melhor o escopo de uma busca.
Assim, em um cenário onde antes se faria uma busca por palavra-chave ao longo
de todo o conteúdo de cada documento, pode-se agora restringir a busca por um
campo específico. Por exemplo, em uma base literária, pode-se buscar por
referências a “Machado de Assis”, somente onde este termo aparece como autor
da obra. Buscas por escopos restritos aceleram muito o tempo de resposta ao
usuário.
107
Título
Corpo
Autor
Figura 75 – Exemplos de Tags de Função.
A utilização de heurísticas para normalização de termos também pode
possibilitar a migração de bases desestruturadas de documentos para um modelo
relacional. Este tipo de heurística associa termos que na verdade têm o mesmo
significado como ocorrências de um mesmo termo. Por exemplo, o termo “Assis,
Machado de” e “Machado de Assis” podem ser reconhecidos como referências a
um mesmo autor. Isso torna viável e eficiente recuperar, por exemplo, todas as
obras escritas por um mesmo autor.
Um tipo específico de tags de função são as tags de resumo. Estas tags
atribuem resumos a documentos extensos. Estas tags podem ser estáticas ou
dinâmicas. Resumos estáticos utilizam diversas técnicas para tentar compor uma
partícula de texto mais semanticamente completo em relação ao texto original.
Esta partícula também deve ser construída suficientemente de acordo com regras
da língua, de forma que as construções façam sentido e o resumo seja de leitura
fácil.
Resumos gerados dinamicamente podem levar em consideração critérios e
parâmetros variáveis. Por exemplo, na apresentação de resultados de uma busca,
pode ser mostrado junto a cada ocorrência um resumo que depende dos termos
sendo pesquisados. Tags de Resumo melhoram a manuseabilidade de uma
quantidade grande de documentos, ou de documentos muito extensos.
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
separadores e indicam quando é um início de parágrafo, quando é o fim da frase,
quando é um ponto final, quando temos uma citação entre aspas, ou quando temos
uma correferência.
Essa estrutura pode ser vista também na Figura 77 e Figura 78, onde |PS| é o
início do parágrafo, |FS| é o início da frase, |QS| é o início de declaração em aspas.
|PE|, |FE| e |QE| são os respectivos fins.
5.6.1.5.
Tags Descritivas
Tags descritivas são o tipo mais complexo de metadado usado em
documentos texto. Estas tags fornecem informações quanto à semântica
(significado) e tipo de palavras, termos ou frases no texto. O Conjunto de tags
descritivas a ser usado varia de acordo com o domínio em que estamos
trabalhando. Por exemplo, em um domínio de negócios, “companhia”, “indústria”,
“executivo”, “produto” são exemplos de tags que devem ser úteis. No domínio de
uma aplicação médica, exemplos de tags úteis podem ser “medicamento”,
“doença”, “sintoma” ou “órgão”. Justamente por esse motivo, o dicionário de
regras usadas para identificar as tags devem ser diferentes para cada domínio.
Figura 76 – Exemplos de Tags Descritivas.
O uso de tags descritivas permite buscas mais precisas no aspecto
semântico. Por exemplo, pode-se buscar por todas as ocorrências de termos do
tipo “executivo” que aparecem em documentos onde o termo “Petrobras” é citado.
Obter-se-á uma relação aproximada de executivos que participaram ou que de
alguma forma estiveram relacionados com a empresa. Sem o uso de tags
descritivas, seria muito difícil obter um resultado deste tipo.
Observação final: Essa seção já se tornou um artigo que será submetido em
breve.
109
5.6.2.
Exemplos
Uma amostra do resultado do módulo de reconhecimento de entidades
utilizando representação por tags pode ser visto na Figura 77 e na Figura 78. As
cores são marcações das diferentes rótulos das tags descritivas.
|PS||FS|A
mediana
das
projeções
de
mercado
para
a
inflação do IPCA em 2004 voltou a subir, na semana
passada,
fechando
pesquisa
sexta-feira
divulgada
|FE||FS|Esse
novembro
a
era
ontem
um
do ano
pelo
patamar
passado.
em
6,14%,
segundo
Banco
que
não
|FE||FS|O
se
Central.
via
mercado
desde
também
ajustou, de 15,5% para 15,75% ao ano, a sua previsão
para o nível da taxa básica de juros no final de maio.
|FE||FS|A expectativa, portanto, é de que, em maio, o
BC
voltará
a
reduzir
a
Selic
em
0,25
ponto
percentual.|FE| |PE|
Figura 77 – Exemplo de reconhecimento de entidades. Instituições em vermelho, índice
em verde e tempo em roxo.
|PS||FS|
Antecipando-se
à
viagem
do
presidente
Luiz
Inácio Lula da Silva à China, em maio, uma delegação
com alguns dos mais importantes dirigentes de empresas
chinesas desembarca amanhã, no Brasil, para maratona de
visitas
a
empresas
autoridades,
entre
|FE||FS||QS|"|FS|É
empresas
brasileiras
elas
uma
chinesas
o
visita
mais
de
e
encontros
próprio
com
Lula.
representantes
importantes,
não
só
das
para
aprofundar as relações comerciais e de cooperação, mas
para discutir aumento de investimentos na China e no
Brasil|FE|"|QE|,
resume
o
secretário
comercial
da
embaixada chinesa no Brasil, Ki Lin Fa.|FE| |PE|
Figura 78 – Exemplo de reconhecimento de entidades. Nomes de pessoas em laranja e
lugares em azul.
110
A identificação e classificação automática de NEs, embora ainda sem
resultados expressivos para o português brasileiro, tem se desenvolvido nos
últimos anos como Automatic Content Extraction – ACE (para a língua inglesa) e
HAREM (para a língua portuguesa).
O reconhecimento das EM do texto compõe a etapa de pré-processamento
dos dados. A seguir veremos algumas técnicas freqüentemente usadas de
mineração de texto.
6
Exemplos de Aplicações de Mineração de Textos
Nas subseções seguintes serão apresentadas três aplicações de nosso modelo
para mineração de textos: Classificação automática, Extração de Informação e
Interface em Linguagem Natural (ILN). Após estas aplicações, este capítulo
mostra um pouco sobre a importância do pré-processamento de textos para o
campo da WebSemântica.
6.1.1.
Classificação
O processo de classificação automática de um texto passa pelo processo de
classificação dos lexemas (entidades e objetos reconhecidos) que o compõem.
Cada lexema identificado incrementa a capacidade de discriminação semântica do
classificador. Isto é, se soubermos, no limite, dizer o significado de cada objeto
lingüístico no texto teremos informação mais precisa para a classificação de um
ou mais textos (hipótese base de nossa metodologia).
Definir o significado de uma dada palavra é ainda uma questão filosófica
muito complicada. No entanto, nos inspiram em um dos pensamentos de
(Wittgenstein, L., 1979): “o importante não é saber o significado da palavra e sim
jogar o jogo da linguagem”. Fazemos uma ressalva de que para Wittgenstein o
significado só existe no momento do uso, e desse modo, qualquer sistema
computacional para uma dada linguagem seria inviável.
Para exemplificar essa aplicação, utilizamos o classificador Bayesiano
(seção 2.1.3). Primeiramente o pré-processamento extrai os lexemas de todos os
documentos. Em seguida, através da freqüência relativa, apenas os lexemas
significantes são selecionados. Para cada lexema selecionado, um peso é
associado de acordo com o cálculo da freqüência relativa.
Para contornar o problema do significado, o modelo de classificação
utilizado contempla uma abordagem estatística para modelar os diversos sentidos
de uma palavra. Isto é, para cada palavra existe uma distribuição de probabilidade
que varia conforme a usabilidade da palavra. No Anexo I existem algumas
112
distribuições de probabilidade importantes que nos ajudam a visualizar esse
modelo estatístico.
A cada termo novo, pré-processado e adicionado ao léxico aumentamos a
potência de classificação dos documentos.
Na fase de treinamento, o algoritmo estima a probabilidade de o documento
pertencer a cada categoria. Esse processo de treinamento se dará com um conjunto
de textos alvo pré-classificados e uma base de documentos representativa do
domínio em questão.
O conjunto de lexemas selecionado será chamado de “conjunto semântico”
do contexto. Sendo assim, dado um texto, este pertencerá à categoria que contiver
uma soma ponderada suficiente de lexemas do “conjunto semântico”.
Esse procedimento não é o mesmo que a aplicação de filtros por palavrachave, visto que a semântica de um contexto é baseada em um conjunto de
objetos. Sua intensidade é baseada exatamente na associação destes objetos. Sob o
ponto de vista estatístico, essa associação é justamente a estimativa da matriz de
covariância de todos os termos em todos os documentos. A ocorrência de apenas
um lexema não torna uma categoria significante. Isso implica que um lexema
sozinho não carrega consigo nenhuma semântica. Dessa forma, cada um deles
pode ser retirado individualmente sem alterar a semântica do conjunto. De outra
maneira, podemos dizer que não é a totalidade do conjunto que caracteriza a
semântica do contexto.
6.1.2.
Extração de Informações
A extração de informações (IE) pode ser entendida como desde o
reconhecimento e classificação de entidades mencionadas até a associação entre
eles segundo o conteúdo do texto (Pérez, C. e Vieira, R., 2003).
Após o pré-processamento visto durante essa tese, o texto é etiquetado, o
que permite a implementação de algoritmos estatísticos para determinar os
relacionamentos significantes entre os termos extraídos. Tem-se utilizado também
modelos simbólicos para determinar esses relacionamentos. Diversos trabalhos
sobre a extração automática de relações em um corpus vêm sendo desenvolvidos
com ênfase especial nas relações de hierarquia semântica (ex. “Banana é uma
113
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
de atualização constante e, conseqüentemente, de metodologias capazes de extrair
informações automaticamente.
Ainda em (Freitas, M. C., 2004), na recuperação de informações a
importância do reconhecimento de nomes próprios aparece, por exemplo, quando
o usuário busca por documentos que se refiram a uma entidade cujo nome é
apenas parcialmente conhecido, como Gutierrez, ou que se refiram a uma
determinada classificação semântica, como bancos ou cervejarias. Para a área de
Extração de Informações, também pode ser útil ao usuário uma classificação de
CityBank como um banco americano que, por sua vez, integra uma categoria
superior “empresa”.
Só para exemplificar, uma ontologia (seção 4.1.4) é um modelo relacional
do mundo que se quer trabalhar. Em um hospital teríamos pessoas, lugares e
horários. Dentro de pessoas podemos ter médico, enfermeira, paciente etc. Dentro
de lugares podemos ter quarto, recepção, estacionamento etc.
Os padrões seriam formas sintáticas de se extrair o conhecimento dessa
ontologia. Exemplo, “o médico Antônio Lopes atendeu a paciente Mariana
Bastos”: Antônio Lopes seria classificado como pessoa/médico, Mariana Bastos
como pessoa/paciente e Mariana como paciente de Antônio.
6.1.3.
Interface em Linguagem Natural
Usamos como exemplo de aplicação de Interface em Linguagem Natural
(ILN), a integração do pré-processamento proposto com o sistema desenvolvido
em (Nascimento, M. R., 1993).
Segundo (Nascimento, M. R., 1993), a aplicação de ILN já conta com vários
trabalhos, a exemplo, para a língua inglesa, dos sistemas Lunar (Woods, 1972);
Lifer (Hendrix, 1978); Planes (Waltz, 1978); Intellect (Harris, 1977); TQA
(Demerau, 1985); Eufid (Templenton & Burger, 1983). E para a língua portuguesa
(Coelho, 1981), (Assis, 1986), (Branco, 1987), (Árabe, 1989), (Martins, 1990).
A aplicação da dissertação de (Nascimento, M. R., 1993) foi de um
Assistente Inteligente. Para isso, estudou e implementou uma funcionalidade de
Respostas Automáticas a perguntas em linguagem natural. O trabalho de
(Muradas, A., 1995), depois, ampliou o sistema de (Nascimento, M. R., 1993)
115
com o conceito de PLN e desenvolveu um sistema interpretador de perguntas
capaz de converter uma consulta em linguagem natural para a linguagem de
consulta SQL segundo um banco de dados relacional pré-especificado.
Segundo (Muradas, A., 1995), um sistema de respostas automáticas é
constituído por uma sequência de perguntas, e respostas, que atendem às
perguntas realizadas pelo usuário. A perguntas são feitas em linguagem natural e
podem se apresentar de diversas formas. Através dos estudos dos trabalhos de
(Amori, D. R., 1990); (Muradas, A., 1995); (Nascimento, M. R., 1993)
selecionamos três tipos principais de interrogativas:
•
Interrogativa Fundamental: apresenta um ponto de interrogação no final
e requer apenas um SIM ou NÃO como resposta. (ex. “O João comeu
todas as maçãs?”)
•
Interrogativa Descritiva: apresenta um ponto de interrogação no final e
requer como resposta uma descrição ou uma lista. (ex. “Quantas maçãs
João comeu?”; “Quais frutas o João comeu?”)
•
Comando: não contém ponto de interrogação, mas são precedidas por uma
expressão pré-locutória. (ex. “Informe-me se João comeu todas as maçãs.”
ou “Gostaria de saber se João comeu todas as maçãs.”)
Em (Muradas, A., 1995) e (Barros, F. A. e DeRoeck, A., 1994) vemos a
importância de um bom pré-processamento. Esses trabalhos mostram que para
converter as perguntas em consultas SQL é necessário resolver tarefas de PLN
como anáforas e elipses.
Uma anáfora é a referência a uma entidade previamente definida. Essa
referência pode se dar através de pronomes ou classes ontológicas
hierarquicamente superiores, exemplo:
- Qual o título do artigo de Alex Garcia? (Entidade, seção 4.2.7)
- Qual o endereço dele? (Anáfora pronominal, seção 4.2.10.3)
- Qual o tamanho de um Beija-Flor? (Entidade, seção 4.2.7)
- Esse pássaro tem algum predador? (Ontologia, seção 4.1.4)
116
E resolução de elipses através do modelo de pré-processamento proposto se
dá pela substituição da entidade mencionada na consulta SQL, exemplo:
- Quais os pesquisadores que moram no Grajaú ? (Entidade “Grajaú”)
- e na Tijuca? (Entidade “Tijuca”)
Todas essas técnicas funcionam muito bem em um ambiente controlado.
Porém, quando deixamos o usuário livre para escrever um texto, normalmente
ocorrem imprecisões de escrita. É fácil verificar isso em uma caixa de email. O
conceito de imprecisão da informação escrita foi bem descrito por (Owei, V.,
2002). Para essa aplicação é muito importante a utilização de um corretor
ortográfico automático como visto na seção 4.2.10.5.
Após o pré-processamento das perguntas, estas serão convertida para a
consulta SQL que deve seguir rigorosamente o banco de dados estruturado. Essa
estrutura pode ser feita utilizando os modelos pré-definidos na seção 6.1.2 de
Extração de Informações. Essa mesma técnica pode ser usada para inserir as
informações da base textual nas tabelas.
Um exemplo do funcionamento de um implementação desse sistema em
Java pode ser encontrado no Anexo II. As perguntas são livres e as respostas
baseadas na ontologia pré-definida. Nesse exemplo, primeiro classificamos as
entidades segundo a ontologia de locais, pessoas e empresas, depois extraímos a
informação sob o modelo “Argentina é um país da América Latina” e
alimentamos um banco estruturado. Finalmente convertemos a pergunta livre em
uma consulta SQL para fornecer a resposta ao usuário.
6.2.
Web Semântica
A Web Semântica atualmente se insere nas principais linhas de investigação
que norteiam os desdobramentos da Internet atual. Tem por principal objetivo
fornecer estruturas e dar significado semântico ao conteúdo das páginas da
Internet, favorecendo um ambiente onde agentes de software e usuários possam
trabalhar de forma cooperativa.
Neste novo contexto, a Internet será capaz de representar associações entre
informações que, em princípio, poderiam não estar relacionadas. Para isso, são
117
necessários conjuntos estruturados de informações (dados e metadados) e um
conjunto de regras de inferência que ajudem no processo de dedução automática.
Estas regras são explicitadas através de um tratamento terminológico, que permite
representar explicitamente a semântica/significado dos dados.
A gestão de conteúdos na Internet envolve uma série de procedimentos de
uniformização e padronização de informações, baseado numa visão integradora,
reunindo informações de setores diferentes a partir de princípios comuns que
possibilitam a interoperabilidade dos diversos sistemas informacionais de uma
instituição ou de várias.
No âmbito do conhecimento de gestão de conteúdo, dois conceitos são de
fundamental importância: o de organização e o de comunicação. O conceito de
organização pressupõe procedimentos classificatórios (seção 6.1.1). Tais
procedimentos possibilitam o agrupamento e a recuperação de informações de um
órgão ou mais de um. Estas informações podem estar em forma estruturada
(bancos de dados, por exemplo) e não estruturadas (textos integrais, por exemplo).
Esses procedimentos classificatórios, além de evidenciarem os contornos de
atuação de um órgão, facilitam os processos de seleção e de tratamento de
informações. O produto deste processo classificatório se apresenta como um mapa
de conteúdos das atividades das organizações que as produzem.
Entretanto, para que este mapa de conteúdos possa verdadeiramente
funcionar como um mecanismo que permita não somente a socialização, mas
também a integração das informações, é necessário que exista interoperabilidade
entre os diversos sistemas de uma instituição. Isto significa promover a
capacidade dos sistemas potencializarem oportunidades de intercâmbio e reutilização de informações, interna ou externamente.
Neste contexto, a comunicação deve ser entendida como uma série de
procedimentos que permitem a transmissão de conteúdos informativos, a partir de
uma visão integrada desses conteúdos. Insere-se, neste domínio, a importância de
ações como definição de metadados (seção 4.2.5) e construção de terminologias
padronizadas, além da possibilidade de visualização de processos interinstitucionais. Estas ações viabilizam o tratamento e a recuperação das
informações e utilização de outros recursos oferecidos no domínio de diversas
instituições.
118
Por outro lado, é necessário também um meio que viabilize a comunicação
não somente entre os sistemas, mas entre o sistema e o usuário deste sistema. Este
meio é uma linguagem padronizada, também denominado de terminologia, e mais
recentemente, no âmbito da Web Semântica, de ontologias (seção 4.1.4).
Porém, depois de todas essas definições para o funcionamento da Web
Semântica, esse modelo esbarra com a principal dificuldade que é a manutenção
da coerência dos conteúdos com os metadados. Primeiramente a da inserção dos
metadados nas páginas e depois a permanente verificação de coerência futura.
Nesse sentido, os procedimentos automáticos de pré-processamento ora
propostos podem ajudar em muito a expansão e a viabilização da Web Semântica
por meio da inserção automática de metadados nas páginas HTML4 e verificação
de coerência estatística dos mesmos.
4
Essa abordagem já está sendo testada em projeto CNPq para o Portal Cidadão.
7
Resultados
Nessa seção serão apresentados os índices de processamento do sistema
desenvolvido segundo a Avaliação Internacional de Sistemas de Identificação de
Entidades Mencionadas (HAREM) promovido pela Linguateca e depois uma
comparação dos resultados do algoritmo de classificação da seção 6.1.1 com a
abordagem tradicional de bag-of-words e utilizando bag-of-lexems.
7.1.
Pré-processamento
Para avaliar a qualidade do pré-processamento de textos, a medida mais
utilizada na literatura de recuperação de informações é a medida F (van
Rijsbergen, C. J., 1979) que combina a precisão com que o sistema extraiu as
entidades, e abrangência do mesmo procedimento:
onde p é a precisão e r a abrangência do resultado do algoritmo.
O HAREM funciona da seguinte forma: os sistemas participantes recebem
uma coleção de textos no tamanho de aproximadamente 2000 páginas e devem
efetuar a extração e classificação das entidades em 48 horas e devolver a base
etiquetada. Depois de entregue essas bases são comparadas com o gabarito
“Coleção Dourada”.
O gabarito consiste na mesma base textual etiquetada
manualmente por 5 pessoas.
A medida-F é aplicada a subconjuntos da coleção de textos relacionados a
diferentes categorias. Cada categoria avaliada é, então, uma seleção de textos sob
um determinado critério. Os critérios são língua escrita (português brasileiro ou de
Portugal), gênero (notícia, livro) e veículo (email, internet).
Na primeira coluna, F significa a avaliação do sistema segundo a medida-F,
a segunda coluna “Saída” é o nome/instituição do sistema desenvolvido. A
terceira coluna é a avaliação segundo apenas a precisão so sistema (utilizada no
cálculo da medida-F), a terceira coluna também mostra o cáculo da abrangência
utilizada na medida-F. A “Sobre-geração” é o percentual de entidades extraídas a
120
mais que o gabarito (Coleção Dourada) e a “Sub-geração” é a quantidade de
entidades do gabarito não reconhecidas pelo sistema.
A Tabela 19 mostra, então, os resultados dos sistemas participantes do
HAREM ordenados pela medida-F.
Tabela 19 – Resultado do Reconhecimento de Entidades Mencionadas para os textos da
coleção escritos no Português Brasileiro.
Português Brasileiro
F
0,78
0,78
0,78
0,77
0,77
0,72
0,69
0,64
0,60
0,58
0,58
0,56
0,53
0,52
0,51
0,26
0,18
0,11
0,10
Saída
iémen
mascate
asmara
nicósia
cairo
PUC-Rio
riad
damasco
doha
amã
abudhabi
bengazi
kuwait
oman
teerão
qatar
eritreia
túnis
dakar
Precisão
75,89
72,84
72,88
72,33
72,32
61,02
71,08
75,51
55,76
51,96
52,31
46,19
49,43
48,60
79,67
64,01
50,03
46,52
43,43
Abrangência
80,38
83,00
82,82
82,16
82,03
86,60
67,60
55,50
65,08
65,08
64,12
71,85
57,65
56,89
37,81
16,16
11,23
6,46
5,55
Combinado Sobre-geração Sub-geração
0,31
0,09
0,09
0,31
0,12
0,04
0,31
0,12
0,04
0,32
0,12
0,05
0,32
0,12
0,05
0,40
0,27
0,02
0,42
0,14
0,21
0,49
0,04
0,34
0,53
0,25
0,15
0,55
0,30
0,15
0,56
0,30
0,16
0,56
0,23
0,08
0,58
0,13
0,17
0,59
0,14
0,17
0,63
0,04
0,55
0,85
0,06
0,79
0,89
0,10
0,82
0,94
0,13
0,88
0,95
0,13
0,89
A Tabela 19 mostra que o sistema desenvolvido ficou em sexto lugar para
o processamento do português brasileiro. Porém, apresentou a maior abrangência,
e, levando em conta que a precisão foi prejudicada por 0,27% de sobre-geração,
podemos reavaliar melhor a medida F. A sobre-geração foi por conta de algumas
entidades que o sistema extraía sem ter letra maiúscula, uma regra da avaliação.
Vale ressaltar, também, que a medida abrangência vale por si só, pois expressa a
eficiência do reconhecimento de entidades.
A Tabela 20 mostra as avaliações dos sistemas para textos coletados de
bases de emails. O sistema implementado nessa tese obteve a melhor pontuação.
A Tabela 21 mostra o resultado da avaliação para a categoria de notícias de
jornais. De forma coerente, o sistema obteve o mais alto índice de abrangência
(91,73%), isto é, reconheceu o maior número de entidades corretamente. Isso
ocorreu pelo fato de a base de treinamento do sistema ter sido justamente notícias
provenientes de jornais brasileiros.
121
Tabela 20 – Resultado HAREM para a avaliação de bases de emails.
Base de Emails
F
0,66
0,64
0,64
0,63
0,63
0,60
0,58
0,56
0,56
0,56
0,49
0,43
0,43
0,43
0,39
0,26
0,08
0,05
0,05
Saída
PUC-Rio
meca
asmara
riad
iémen
eritreia
amã
doha
ancara
tripoli
luxor
bagdad
cairo
mascate
túnis
manama
bahrein
damasco
kuwait
Precisão
57,72
55,99
55,89
55,49
55,49
54,89
58,40
52,92
52,41
52,41
57,34
33,90
36,53
36,41
61,07
55,87
28,22
30,43
29,63
Abrangência
76,56
73,65
73,65
73,25
73,25
66,20
58,54
60,22
60,22
59,64
42,24
59,69
51,63
51,60
28,43
16,89
4,42
2,68
2,68
Combinado
0,45
0,48
0,48
0,48
0,48
0,51
0,53
0,56
0,56
0,56
0,63
0,68
0,69
0,69
0,74
0,84
0,96
0,97
0,97
Sobre-geração Sub-geração
0,18
0,03
0,18
0,04
0,18
0,04
0,18
0,04
0,18
0,04
0,17
0,12
0,14
0,21
0,17
0,11
0,18
0,11
0,18
0,11
0,06
0,39
0,16
0,09
0,20
0,18
0,19
0,18
0,11
0,60
0,00
0,77
0,08
0,88
0,05
0,93
0,08
0,93
A abrangência de 91,73% é bastante significante, visto que o maior torneio
de extração de entidades (MUC/ACE realizado nos EUA para a lingua inglesa)
tem as maiores taxas de acerto por volta de 90%. (Weiss 2005)
Finalmente, na
Tabela 22, é mostrada a avaliação para páginas na internet, também com
um bom desempenho.
Além dos sistemas participantes do HAREM, existem sistemas para a
língua inglesa que podem ser adaptados para a língua portuguesa, no entanto,
apresentam resultados inferiores, o que pode ser melhorado com uma boa
implementação. Bons exemplos são Docyoument, Penn Treebank, PreText,
OpenNLP, Gate.
Quanto ao tempo de processamento, a implementação proposta nessa tese
processa duas mil notícias em um minuto. O tradicional pré-processamento bag-
of-words demora sete segundos nas mesmas condições. Já um pré-processamento
bag-of-lexems feito por humanos (mesma base) leva horas ou até dias.
Normalmente, o erro humano, muito por causa do cansaço, atinge índices
maiores que o de processadores automáticos. Para contornar esse problema, são
utilizadas mais de uma pessoa para etiquetar a mesma e toda a base. Ao final
122
utiliza-se um procedimento de alinhamento da case etiquetada, o que acaba
demorando mais do que o processamento em questão.
Tabela 21 – Resultado HAREM para a avaliação de bases de textos de jornais.
Base de Textos de Jornais
F
0,89
0,89
0,88
0,88
0,88
0,83
0,83
0,70
0,69
0,69
0,68
0,67
0,55
0,55
0,54
0,24
0,21
0,11
0,11
Saída
doha
bahrein
argel
rabat
marraquexe
PUC-Rio
luxor
manama
dakar
damasco
abudhabi
nicósia
sana
iémen
mascate
oman
qatar
amã
túnis
Precisão
90,08
89,84
89,88
89,87
87,70
76,20
90,85
72,59
72,31
71,69
61,51
84,04
55,02
81,73
54,44
74,77
50,51
46,64
46,64
Abrangência
88,92
89,02
86,90
86,81
88,11
91,73
76,44
67,18
66,86
67,18
75,52
55,87
54,92
41,31
53,99
14,44
13,12
6,51
6,51
Combinado
0,15
0,15
0,16
0,16
0,17
0,25
0,26
0,41
0,42
0,42
0,42
0,46
0,56
0,60
0,56
0,86
0,87
0,94
0,94
Sobre-geração Sub-geração
0,02
0,05
0,02
0,05
0,01
0,06
0,01
0,06
0,03
0,05
0,16
0,02
0,02
0,19
0,09
0,18
0,10
0,18
0,10
0,18
0,06
0,08
0,00
0,36
0,05
0,19
0,01
0,51
0,05
0,18
0,00
0,82
0,07
0,78
0,11
0,88
0,11
0,88
Tabela 22 – Resultado HAREM para a avaliação de bases de páginas da Internet.
Base de páginas da Internet
F
0,74
0,74
0,74
0,74
0,73
0,73
0,64
0,64
0,59
0,59
0,58
0,51
0,46
0,44
0,44
0,26
0,17
0,12
0,12
Saída
abudhabi
rabat
teer
manama
argel
PUC-Rio
bagdad
casablanca
dakar
marraquexe
luxor
meca
eritreia
riad
bahrein
kuwait
mascate
bengazi
oman
Precisão
69,63
69,68
69,18
69,23
68,56
65,39
69,31
70,89
56,00
55,78
55,79
40,81
40,74
71,76
39,53
55,03
42,77
37,99
37,60
Abrangência
79,99
79,84
80,00
79,85
77,51
81,99
60,11
58,93
61,85
61,85
61,04
67,87
51,56
31,79
49,10
16,75
10,92
7,27
7,12
Combinado
0,35
0,35
0,35
0,35
0,38
0,37
0,48
0,48
0,53
0,53
0,54
0,61
0,66
0,70
0,67
0,84
0,90
0,93
0,93
Sobre-geração Sub-geração
0,10
0,03
0,10
0,03
0,10
0,03
0,10
0,03
0,12
0,09
0,16
0,02
0,11
0,26
0,05
0,27
0,18
0,13
0,19
0,13
0,18
0,14
0,18
0,07
0,14
0,17
0,04
0,58
0,15
0,19
0,02
0,75
0,07
0,78
0,06
0,83
0,06
0,83
7.2.
Classificação
O algoritmo de classificação da seção 2.1.3 – Análise de Discriminante – foi
aplicado em duas bases de notícias de um jornal da Internet. Para formar a base
123
foi selecionada a seção de agronegócios do jornal para a classificação alvo e o
universo de notícias erradas foi formado pelas outras partes do jornal, que não
tinham notícias de agronegócios. A aplicação na menor base teve o objetivo de
testar o desempenho dos métodos com pouca quantidade de textos e também a
interpretabilidade dos parâmetros do modelo. A aplicação na maior base teve o
objetivo de testar a habilidade de gerenciar grandes volumes de textos, assim
como a capacidade de generalização do modelo ajustado.
Primeiramente foi ajustado o modelo tradicional de bag-of-words, depois o
método bag-of-lexems e finalmente o método cheio, bag-of-lexems mais a
ontologia associada. O procedimento bag-of-lexems sem ontologia foi realizada
apenas para se ter uma noção de interpolação dos resultados, pois o comparativo
final será do método bag-of-words com o método bag-of-lexems rotulados.
7.2.1.
Amostra Pequena
Para formar a base foi selecionada da seção de agronegócios do jornal um
total de 100 notícias. Das outras partes do jornal, que não tinham notícias de
agronegócios, foram coletadas mais 4900 notícias dando um total de 5000
documentos.
Seguindo a sequência de análise, para a fase de treinamento, o modelo tradicional de
pré-processamento bag-of-words foi processado e apresentou os resultados da
124
Tabela 23. Foram executados o mesmo procedimento para diferentes
quantidades de informação (QIP), dado que processar todos os termos da base é
inviável computacionalmente. As diferentes quantidades de entrada de informação
demandam um tempo cada vez maior de processamento de máquina. Por esse
motivo foram feitos cinco formatos diferentes cortando a lista de termos em 10,
20, 30, 40 e 50% do seu tamanho original.
125
Tabela 23 – Resultados do modelo bag-of-words para a fase de treinamento com 5000
notícias. A tabela apresenta os dados do modelo e o quadro apresenta o formato de
leitura dos parâmetros do modelo.
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
...
O mesmo procedimento, com excessão do número de termos ajustados, foi
realizado para o método bag-of-lexems. Essa etapa foi realizada com objetivos
apenas de interpolação do índice de acerto. Os resultados desse modelo são
apresentados na Tabela 24.
Tabela 24 – Resultados do modelo bag-of-lexems para a fase de treinamento com 5000
notícias. A tabela apresenta os dados do modelo e o quadro apresenta o formato de
leitura dos parâmetros do modelo.
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
...
Finalmente, na Tabela 25, o resultados do modelo cheio, com a estratégia
bag-of-lexems mais a classificação ontológica.
Tabela 25 – Resultados do modelo bag-of-lexems com ontologia para a fase de
treinamento com 5000 notícias. A tabela apresenta os dados do modelo e o quadro
apresenta o formato de leitura dos parâmetros do modelo.
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
Os resultados de todos os métodos da fase de treinamento foram consolidados na
Tabela 26.
Tabela 26 – Comparação entre as acurácias dos tres métodos: BOW (bag-of-words),
BOL(bag-of-lexems) e BOLO(bag-of-lexems com ontologia), para as diferentes
quantidades de informação processada.
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%
Tabela 27 – Comparativo do número de termos significantes usados no modelo de
classificação.
Comparativo de Termos
BOW
BOLO
41
149
157
324
279
542
362
779
487
1028
Pela melhora nos resultados com o método BOLO, reafirmamos a tese de
que o pré-processamento dos textos funciona como um atalho eficiente para o
cálculo da matriz de covariância entre os termos.
Analisando os trechos das saídas
128
Tabela 23, Tabela 24 e Tabela 25 pudemos notar a clareza semântica do
modelo ajustado. No primeiro trecho temos como relevante o termo “cogo”, que a
princípio não dá para saber o que é. No segundo, aparece o termo “carlos cogo”
que permite a inferencia de ser o nome de uma pessoa. No último trecho, são
apresentados dois termos com “cogo”, um que é uma pessoa realmente
“pessoa:carlos cogo” e outro que é a empresa dele “empresa: cogo consultoria
agroeconômica”.
Apesar de o número de termos significantes para o método BOLO ter sido
maior, o que indicaria menor parsimônia, podemos ver, que para a mesma
acurácia de 58% aproximadamente, o ajuste BOW usou 279 termos contra 149 do
ajuste BOLO. Nesse caso o modelo BOLO apresenta melhor acurácia, melhor
interpretabilidade dos resultados e melhor performance.
7.2.2.
Amostra Grande
O algoritmo de classificação foi aplicado em um volume maior de textos
para testar a performance em grandes volumes de textos, ambição de qualquer
algoritmo de mineração de textos. O objetivo dessa aplicação é, além de testar a
habilidade com grandes volumes, testar a capacidade de generalização dos
métodos.
A base textual continha um total de 37049 notícias das quais 1300 notícias
eram da seção de agronegócios e 35749 de outras seções do jornal. Das 1300
foram separadas 1000 notícias para a fase de treinamento (in-sample) ou ajuste
dos parâmetros do modelo e 300 para a fase de teste de generalização (out-of-
sample). Desse modo, sobraram 35749 notícias para compor a base de textos
errados.
Os resultados para o método bag-of-words se encontram na
Tabela 28, os resultados para o modelo bag-of-lexems na Tabela 29 e o resultado para o
modelo bag-of-lexems rotulados pela ontologia na
Tabela 30.
Tabela 28 – Resultados de performance e generalização utilizando bag-of-words.
bag-of-words
129
QIP*
Acerto
Erro
Termos
Tempo (seg)
Generalização
10%
848
2118
876
30
224
20%
860
1317
1103
113
211
30%
872
1252
1508
268
215
40%
872
1283
1991
323
201
Tabela 29 – Resultados de performance e generalização utilizando bag-of-lexems.
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
Tabela 30 – Resultados de performance e generalização utilizando bag-of-lexems
rotulados usando a ontologia definida.
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
Para comparar, escolhemos o melhor modelo de BOW que, segundo os
resultados, é o que utiliza 30% de QIP, e o melhor de BOLO que é o de, também,
30%. No critério Acerto verificamos 872 x 929 indicando superioridade de
BOLO, no critério Erro, verficamos 1283 x 517 indicando superioridade
significativa de BOLO, no critério Quantidade de Termos verificamos 1991 x
2044 indicando uma leve superioridade de BOW, no critério Tempo de
Processamento verificamos 323 x 71 segundos indicando superioridade
significativa de BOLO e, por fim, no critério generalização 201 x 230 indicando
superioridade de BOLO.
8
Conclusão e Trabalhos Futuros
O trabalho consiste em mostrar a importância de um bom préprocessamento de dados para uma mineração de textos eficaz. Vimos que todo
texto de linguagem natural está atrelado a uma língua e toda língua tem
particularidades específicas que não podem ser desprezadas em nenhum algoritmo
de mineração de textos, nem nos mais simples.
Para extrair informações mais ricas dos textos devemos processá-los
previamente de acordo com o conhecimento específico da língua. Vimos ainda
que ao fazer um bom pré-processamento, tornamos mais simples a mineração de
textos e suas aplicações.
Esse trabalho apresentou uma pesquisa em que é proposto um sistema de
pré-processamento automático para mineração de textos em português utilizando
técnicas de inteligência computacional baseada em conceitos existentes na
literatura, como redes neurais, sistemas dinâmicos, e estatística multidimensional
O objetivo da tese de doutorado foi, portanto, contribuir com a área de
mineração de textos na fase de pré-processamento. Ao se propor um modelo
autônomo e automático de enriquecimento de dados textuais, estendeu-se o
tradicional modelo de bag-of-words, de ênfase mais estatística, transformando-o
no modelo do tipo bag-of-lexems com maior aproveitamento do conteúdo
lingüístico do texto numa abordagem mais computacional.
A existência de um modelo automático de pré-processamento poupa
esforços na parte mais custosa do processo de mineração de textos, e ainda, como
visto no texto, melhora a semântica dos resultados.
Foram mostrados ainda alguns exemplos de aplicação de mineração de
textos como: classificação de documentos, extração de informações e interface de
linguagem natural (ILN) além da importância para o âmbito da WebSemântica.
Os exemplos de classificação de textos foram utilizados para iluminar a diferença
dos procedimentos de mineração de textos com ou sem o modelo ora proposto.
Entendemos que um bom pré-processamento economiza espaço de
armazenamento devido a uma seleção mais enxuta dos termos, o que vimos ser
crítico nos modelos Espaço-Vetorial. Esta seleção reduzida também aumenta a
130
precisão dos índices em modelos de Redes Neurais, aumenta a interpretabilidade
em modelos discriminantes e melhora a condição inicial de modelos baseados em
transformação.
O trabalho foi ainda complementado com o desenvolvimento e a
implementação de uma instância do sistema de pré-processamento de textos.
Como visto nos resultados, o sistema melhora os índices de acerto, parsimônia,
tempo e generalização, além da maior interpretabilidade dos resultados.
Os resultados nos mostram que essa abordagem consegue estar entre as
melhores do mundo para a língua portuguesa pela avaliação HAREM efetuada em
2005 e promovida pela instituição Linguateca em Portugal.
Durante esse período, foi feita uma vasta revisão da literatura recente sobre
todas as etapas do processo de mineração de textos podendo ser aproveitado como
guia para estudos futuros mais profundos. No entanto, a principal dificuldade
encontrada nesta pesquisa foi a pouca quantidade de trabalhos sobre a etapa de
pré-processamento para a língua portuguesa tanto no Brasil quanto no exterior.
Esse trabalho contribui, então, em grande parte, para viabilização de
trabalhos futuros em mineração de textos para a língua portuguesa utilizando o
módulo de reconhecimento de entidades lingüísticas e armazenamento em XML.
MIT Press References
(Charniak, E., 1996) – Statistical Language Learning
(Hirsh-Pasek, K. e Golinkoff, R., 1999) – Origins of Grammar
(Ram, A. e Moorman, K., 1999) – Understanding Language Understanding
(Crain, S. e Thornton, R., 1998) - Syntax
9
Referências bibliográficas
AAS,
K. e Eikvil, L. (1999). "Text
http://citeseer.ist.psu.edu/aas99text.html
categorisation:
A
survey.".
ACM96A (1996). "ACM - Associantion for Computing Machinery, Inc.". In
Memoriam: Gerard Salton.ACM Transactions on Information
Systems.v.14.n.1.Janeiro.
ACM96B (1996). "ACM - Associantion for Computing Machinery, Inc.".
Proceedings of the 19th Annual International ACM SIGIR Conference on
Research
and
Development
in
Information
Retrieval.18-22
Agosto.1996.Zurich, Switzeland
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
AMORI, D. R. (1990). "A Natural Language Interface for Task-Oriented
Activities". ACM 089791-372-8/90/0007/0553
ANANYAN, S. (2006). "http://www.megaputer.com/tech/wp/tm.php3". Acessado
em 7 de maio de 2006
APOSTOLIC, A. e Giancarlo, R. (1986). "The Boyer-Moore-Galil string
searching strategies revisited". SIAM J.Comput.15, (l), 98-105
APTÉ, C., Damerau, F., e Weiss, S. M. (1994). "Automated learning of decision
rules for text categorization". ACM Transactions on Information Systems,
12(3), 233-251
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.
BAEZA-YATES, B. e Ribeiro Neto, B. (1999). Modern Information Retrieval.
Addison Wesley
BANERJEE, S. e Pedersen, T. (2003). "The design, implementation and use of the
ngram statistics package". In A.Gelbukh (Ed.), CICLing-2003, Lecture
Notes in Computer Science 2588, pp.370-381.Springer-Verlag
132
BARROS, F. A. e DeRoeck, A. (1994). "Resolving Anaphora in a Portable
Natural Language Front End to Databases". In Proceedings of the 4th
Conference on Applied Natural Language Processing (ANLP'94).Stuttgart,
Germany.5p
BATISTA, G. E. A. P. A. (2003). "Pré-processamento de dados em aprendizado
de máquina supervisionado". Tese de Doutorado, ICMC-USP.
BEKKERMAN, R., El-Yaniv, R., Tishby, N., e Winter, Y. (2003). "Distributional
word clusters vs. words for text categorization". Journal of Machine
Learning Research 3, 1183-1208
BELL, T. C., Moffat, A., e Nevill-Manning, C. G. (1993). "Data Compression in
full-text retrieval systems". Journal of American Society for Information
Science, 44(9):508-531
BIGGS, M. (2005). "Resurgent text-mining technology can greatly increase your
firm's 'intelligence' factor". InfoWorld 11(2), 52
BOOKSTEIN, A., Klein, S. T., e Raita, T. (1992). "Model based concordance
compression". In J.A Storer and M.Cohn, editors, Proc.IEEE Data
Compression Conference, pages, 82-91, Snowbird, Utah, IEEE Computer
Society Press, Los Alamitos, California
BORGURAEV, B. e Pustejovsky, J. (1996). Corpus Processing for Lexical
Acquisition. The MIT Press
BOYER, R. S. e Moore, J. S. (1977). "A fast string searching algorithm".
Carom.ACM 20, (10), 262-272
BREIMAN, L., Friedman, R., Olshen, R., e Stone, C. (1984). "Classication and
Regression Trees". Wadsworth Monterrey, CA
BRILL, E. (1993). "Automatic Grammar Induction and Parsing Free Text: A
Transformation-Based Approach". In Proceedings of ACL 1993
BRILL, E. (1995). "Transformation-Based Error-Driven Learning and Natural
Language Processing: A Case Study in Part of Speech Tagging".
Computational Linguistics, December
BRILL, E. e Resnik, P. (1994). "A Rule-Based Approach To Prepositional Phrase
Attachment Disambiguation". In Proceedings of COLING'94, Kyoto,
Japan
BRIN, S. e Page, L. (1998). "Anatomy of a large -scale hypertextual Web search
engine". WWW7 Conf.Proceedings
CARABALLO, S. A. (2001). "Automatic Acquisition of a Hypernym-Labeled
Noun Hierarchy from Text". Brown University Ph.D.Thesis
CARDIE, C. e Pierce, D. (1998). "Error-driven pruning of treebank grammars for
base noun-phrase identification". In: Proceedings of the 36th Annual
133
Meeting of the Association for Computational Linguistics, Ithaca-NY:
1998.p.218-224.
CAVNAR, W. B. (1994). "Using An N-Gram-Based Document Representation
With a Vector Processing Retrieval Model". In Proceedings Of TREC-3
(Third TextRetrieval Conference).Gaithersburg, Maryland, USA
CEDERBERG, S. e Widdows, D. (2003). "Using LSA and Noun Coordination
Information to Improve the Precision and Recall of Automatic Hyponymy
Extraction". In: Proceedings of CoNLL-2003, pp.111-118
CHARNIAK, E. (1996). Statistical Language Learning. The MIT Press
CHEN, H. (1994). "A Textual Database/Knowledge-Base Coupling Approach to
Creating
Computer-Supported
Organizational
Memory".
MIS
Department.University of Arizona.5
CHEN, H. (2001). "Knowledge management systems: a text mining perspective".
University of Arizona (Knowledge Computing Corporation), Tucson,
Arizona.
CHOUEKA, Y., Fraenkel, A. S., e Klein, S. T. (1988). "Compression of
concordance in full text retrieval systems". In Proc.ACM-SIGIR
International Conference on Research and Development in Information
Retrieval, pages 597-612, Grenoble, France
COHEN, W. W. e Hirsh, H. (1998). "Joins that generalize: text classification
using Whirl". Proceedings of KDD-98, 4th International Conference on
Knowledge Discovery and Data Mining
COHEN, W. W. e Singer, Y. (1996). "Context-sensitive learning methods for text
categorization". Proceedings of the 19th annual international ACM SIGIR
conference on Research and development in information
retrieval.Zurich.Pages 307-315
COLE, R. (1990). "Tight bounds on the complexity of the Boyer-Moore pattern
matching algorithm". Technical Report 512, Computer Science Dept, New
York University
COLUSSI, L., Galil, Z., e Giancarlo, R. (1990). "The exact complexity of string
matching". 31st Symposium an Foundations of Computer Science I, 135143, IEEE
COWIE, J. e Wilks, Y. (2000). Information Extraction. A Handbook of Natural
Language Processing: Techniques and Applications for the Processing of
Language as Text, Editors: Robert Dale, Hermann Moisl, and Harold
Somers, Marcel Dekker Inc.
CRAIN, S. e Thornton, R. (1998). Investigations in Universal Grammar: A Guide
to Experiments on the Acquisition of Syntax and Semantics. The MIT
Press
134
CROW, L. R. e Shadbolt, N. R. (2001). "Extracting Focused Knowledge from the
Semantic Web". International Journal of Human- Computer Studies
54(1):pp.155-84
CUCERZAN, S. e Brill, E. (2004). "Spelling correction as an iterative process
that exploits the collective knowledge of web users". Proceedings of
EMNLP 2004 293-300
DI FELIPPO, A. e Dias-da-Silva, B. C. (2004). "Inclusão de informação
semântica dos adjetivos na base da rede Wordnet para o Português do
Brasil". In Proceedings of the IX Iberoamerican Conference on Artificial
Inteligence (IBERAMIA).Workshop "Taller de Herramientas y Recursos
Linguisticos para el Espanõl y el Português" (HyRL).Puebla/México,
p.147-154
DIAS-DA-SILVA, B. C. (2003). "O TeP: construção de um thesaurus eletrônico
para o português do Brasil". Boletim da Associção Brasileira de
Lingüística (ABRALIN).Fortaleza: Imprensa Universitária, v.26, número
especial, p.86 - 89
DIAS-DA-SILVA, B. C. e Moraes, H. R. (2003). "A construção de thesaurus
eletrônico para o português do Brasil". Alfa , v.47, n.2, p.101 - 115
DIAS-DA-SILVA, B. C., Oliveira, M. F., e Moraes, H. R. (2002). "Groundwork
for the development of the Brazilian Portuguese Wordnet". Advances in
natural language processing.Berlin, Springer-Verlag, p.189-196
DINI, Lucas, Di Tomaso, V., e Segond, F. (1998). "Error-Driven Word sense
disambiguation". In Proceedings of ACL-COLING-98, Montreal
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
DUDA, R. O., Hart, P. E., e Stork, D. G. (2000). Pattern Classification. Hardcover
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
FELLBAUM, C. (1998). WordNet: An Electronic Lexical Database and Some of
its Applications. MIT Press
FERNEDA, E. e Smit, J. (2003). "Recuperação de Informação: Análise sobre a
contribuição da ciência da computação para a ciência da informação".
Tese de Doutorado - USP - Ciência da Informação
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
FRAKES, W. B. e Baeza-Yates, R. (1992). Information Retrieval: Data Structures
and Algorithms. Prentice Hall
FREGE, G. (1975). Sobre o sentido e a referência. In Lógica e Filosofia da
Linguagem São Paulo: Cultrix
FREITAS, M. C. (2004). "Elaboraçao automática de uma ontologia baseada em
corpus da língua portuguesa". Proposta de tese de doutorado (qualificação)
apresentada no curso de Pós-Graduação em Letras da PUC-Rio
FREITAS, M. C., Aranha, C., e Quental, V. (2005). "Aprendendo Nomes
Próprios". IV Congresso Internacional da ABRALIN (Associação
Brasileira de Linguística)
FUKUDA, F. (1999). "Sistemas inteligentes para textos da web". Tese de
Mestrado.PUC-Rio
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
GEAN, C. C. e Kaestner, C. A. A. (2004). "Classificação Automática de
Documentos usando Subespaços Aleatórios e Conjuntos de
Classificadores". In: TIL 2004 - 2º WORKSHOP EM TECNOLOGIA DA
INFORMAÇÃO E DA LINGUAGEM HUMANA, Salvador.Anais do
SBC 2004 v.1, p.1-8.
GIBSON, D., Kleinberg, J., e Raghavan, P. (1998). "Inferring Web communities
from link topology". Proceedings of the 9th ACM Conference on
Hypertext and Hypermedia
GIRJU, R., Badulescu, A., e Moldovan, D. (2003). "Learning Semantic
Constraints for the Automatic Discovery of Part-Whole Relations". In:
Proceedings of HLT-2003
GOLDSCHMIDT, R. e Passos, E. (2005). Data Mining - Um Guia Prático.
Campus
GRISHMAN, R. (1997). "Information Extraction: Techniques and Challenges". in
Information Extraction: A Multidisciplinary Approach to an Emerging
Information Technology, J.G.Carbonell ,Ed.Frascati, Italy: Springer,
pp.10-26
GRUBER, T. R. (1993). "A translation approach to portable ontologies".
Knowledge Acquisition, 5(2):199-220, 1993
GRUNE, D. e Jacobs, C. J. H. (1991). Parsing Techniques: A Practical Guide.
Ellis Horwood Ltd
136
GUARINO, N. (1998). "Formal ontology and information systems". In Nicola
Guarino, editor, Formal Ontology and Information Systems,
(FOIS'98).IOS Press, 1998
HEARST, M. A. (1992). "Automatic Acquisition of Hyponyms from Large Text
Corpora". In: Proceedings of the Fourteenth International Conference on
Computational Linguistics.Nantes, France
HEARST, M. A. (1999). "Untangling Text Data Mining". Proceedings of the
ACL'99: the 37th Annual Meeting of the Association for Computational
Linguistics.College Park: University of Maryland
HIRSH-PASEK, K. e Golinkoff, R. (1999). The Origins of Grammar: Evidence
from Early Language Comprehension. The MIT Press
HO, T. K. (1998). "The Random Subspace Method for Constructing Decision
Forests". IEEE Transactions on Pattern Analysis and Machine Intelligence,
Vol.20, Nº 8, pp.832-844
HU, X. R. e Atwell, E. (2003). "A survey of machine learning approaches to
analysis of large corpora". School of Computing, University of Leeds,
U.K.LS2 9JT
INOKI, S. (1992). "Uma Gramática de um Fragmento do Português Baseado na
Lógica Ilocutória". IME - Dissertação de Mestrado
JOACHIMS, T. (1997). "A Probabilistic Analysis of the Rocchio Algorithm with
TFIDF for Text Categorization". In Proceedings of International
Conference on Machine Learning (ICML)
JOACHIMS, T. (2002). "Learning to Classify Text Using Support Vector
Machines". Kluwer Academic Publishers.32, 36, 39, 44, 131
JOACHIMS, T., Freitag, D., e Mitchell, T. (1997). "WebWatcher: A Tour Guide
for the World Wide Web". In IJCAI (1), pp.770-777
KANTROWITZ, M., Mohit, B., e Mittal, V. O. (2000). "Stemming and its effects
on TFIDF ranking". SIGIR 2000: 357-359
KAO, A. e Poteet, S. (2004). "Can Natural Language Processing Help Text
Mining?". Report on KDD Conference 2004 Panel Discussion.SIGKDD
Explorations.Volume 6, Issue 2 - Page 132
KARP, R. e Rabin, M. (1987). "Efficient randomized pattern-matching
algorithms". IBM J.RES.DEVELOP.Vol 31 No 2
KIMBALL, R. (1996). The Data Warehouse Toolkit. John Wiley & Sons
KNUTH, D. E., Morris, J. H., e Pratt, V. R. (1977). "Fast pattern matching in
strings". SIAM J.Comput.6, (2), 323-350
137
KOELING, R. (2000). "Chunking
CoNLL.Lisbon, Portugal
with
maximum
entropy
models".
KOENIG, M. E. D. (2000). "Information Driven Management: The New, but
Little Perceived, Business Zeitgeist". International Journal of Libraries and
Information Services Vol 50, No 3, pages 137-221
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
KRISTA, L. (2000). "Text Mining with the WEBSOM". Acta Polytechnica
Scandinavica, Mathematics and Computing Series no.110, Espoo 2000, 54
pp.Published by the Finnish Academy of Technology
KROEZE, H. J., Matthee, C. M., e Bothma, J. D. T. (2003). "Differentiating Dataand Text-Mining Terminology". Proceedings of SAICSIT 2003, Pages 93
-101
LAPPIN, S. e Leass, H. (1994). "An algorithm for pronominal anaphora
resolution". Computational Linguistics, 20(4):535-561
LEBART, L., Salem, A., e Berry, L. (1998). Exploring textual data. Kluwer
Academic Publishers, Dordrecht
LENAT, D. (1995). "CYC: A large-scale investment in knowledge infrastructure".
In: Communications of the ACM, 38(11):33-38
LEWIS, D. D. (1992). "An evaluation of phrasal and clustered representations on
a text categorization task". In Proceedings of the 15th International ACM
SIGIR Conference on Research and Development in Information
Retrieval, pp.37-50
LI, H. e Yamanishi, K. (2002). "Text Classification Using ESC-based Stochastic
Decision Lists". Proceedings of CIKM-99, 8th ACM International
Conference on Information and Knowledge Management
LI, Y. e Jain, A. (1998). "Classification of text documents". The Computer
Journal, 41, 537-546
LUCAS, M. (2000). "Mining in textual mountains, an interview with Marti
Hearst". Mappa Mundi Magazine, Trip-M, 005, 1-3.
LUHN, H. P. (1958). "The automatic creation of literature abstracts". IBM Journal
of Research and Development 2(2), 159-165.
MACCALLUM, A. K. (1996). "Bow: A toolkit for statistical language modeling,
text
retrieval,
classification
and
clustering".
http://www.cs.cmu.edu/`mccallum/bow
138
MANNING, C. e Schutze, H. (1999). Foundations of Statistical Natural Language
Processing. Cambridge, Massachusetts: The MIT Press.
MARTINS, B. e Silva, M. J. (2004). "Spelling Correction for Search Engine
Queries". EsTAL - España for Natural Language Processing, Alicante,
Spain
MARTINS, C. A. (2003). "Uma abordagem para pré-processamento de dados
textuais em algoritmos de aprendizado". Tese de Doutorado, ICMC-USP São Carlos
MATHIAK, B. e Eckstein, S. (2004). "Five Steps to Text Mining in Biomedical
Literature". In Proceedings of the Second European Workshop on Data
Mining and Text Mining for Bioinformatics, held in Conjunction with
ECML/PKDD in Pisa, Italy
MATSUBARA, E. T., Martins, C. A., e Monard, M. C. (2003). "PreTexT - uma
ferramenta para pré-processamento de textos utilizando a abordagem bagof-words". Relatório Técnico 209, ICMC-USP
MATURANA, H. e VARELA, F. J. (1980). Autopoiesis and cognition; the
organization of the living. Boston: Reidel
MICHAEL W.EYSENCK (1990). Psicologia Cognitiva: Um Manual Introdutório.
Porto Alegre: Artes Médicas
MICHIE, D., Spiegelhalter, D. J., e Taylor, C. C. (1994). Machine Learning,
Neural and Statistical Classification. Ellis Horwood
MOULINIER, I. e Ganascia, J.-G. (1996). "Applying an existing machine learning
algorithm to text categorization". In S.Wermter, E.Riloff, and G.Scheler,
editors, Connectionist, statistical, and symbolic approaches to learning for
natural language processing, pages 343--354.
MURADAS, A. (1995). "Interface em Linguagem Natural para Consulta à Bancos
de Dados Relacionais". IME - Dissertação de Mestrado
NASCIMENTO, M. R. (1993). Pesquisa e Desenvolvimento de uma Interface em
Linguagem Natural. Instituto Militar de Engenharia. Dissertação de
Mestrado
NIRENBURG, S. e Raskin, V. (2004). Ontological Semantics. Cambridge, MA:
MIT Press
OLIVEIRA, M. F., Freitas, M. C., Garrão, M. O., Aranha, C., e Santos, C. N.
(2004). "A extração de expressões multi-vocabulares: uma abordagem
estatística". Revista PaLavra, no.12, páginas 172-192
OWEI, V. (2002). "An Intelligent Approach To Handling Imperfect Information
In Concept-Based Natural Language Queries". ACM Transactions on
Information Systems, Vol.20, No.3, Pages 291-328.
139
PANTEL, P. e Ravichandran, D. (2004). "Automatically Labeling Semantic
Classes". In: Proceedings of NAACL-2004
PÉREZ, C. e Vieira, R. (2003). "Extração Semi-automática de Conhecimento a
partir de Textos". ENIA - Encontro Nacional de Inteligência Artificial
PETERSON, R. E. (1997). "Eight internet search engines compared". First
Monday.http://www.firstmonday.dk/issues/issue2_2/peterson/
PHILLIPS, W. e Riloff, E. (2002). "Exploiting Strong Syntactic Heuristics and
Co-training to learn semantic lexicons". In: Proceedings of EMNLP-2002,
pp.125-132
PINKER, S. (2002). O Instinto da Linguagem: Como a Mente Cria a Linguagem.
Martins Fontes, SP
PYLE, D. (1999). Data Preparation for Data Mining. San Francisco, CA: Morgan
Kaufmann.
RABINER, L. (1989). "A tutorial on hidden Markov models and selected
applications in speech recognition". Proc.IEEE, 77 (2), 257-286
RAM, A. e Moorman, K. (1999). Understanding Language Understanding:
Computational Models of Reading. The MIT Press
RAMSHAW, L. A. e Marcus, M. P. (1995). "Text Chunking using
Transformation-Based Learning". In Proceedings of the ACL Third
Workshop on Very Large Corpora, June 1995, pp.82-94.In: Proceedings of
the 18th International Conference on Computational Linguistics,
Saarbrücken, 2000 , p.857-863
RATNAPARKKHI, A. (1998). "Unsupervised Statistical Models for Prepositional
Phrase Attachment". In Proceedings of the Seventeenth International
Conference on Computational Linguistics, Aug.10-14, 1998.Montreal,
Canada.
REIS, M. (2005). "Descoberta de Conhecimento em Documentos XML". Tese de
Doutorado, DEE PUC-Rio
SAEED, J. L. (1997). Semantics. Oxford: Blackwell
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
SALTON, G. (1983). Introduction to Moder Information Retrieval. McGraw-Hill
SANTOS, D. (2001). "Introdução ao processamento de linguagem natural aqui
através das aplicações". in Elisabete Ranchhod (ed.), Tratamento
dasLínguas por Computador.Uma introdução à linguística computacional
esuas aplicações, Lisboa: Caminho, pp.229-259.
140
SAUSSURE, F. (1982). Curso de Linguística Geral. São Paulo: Cultrix
SCHAFFER, C. (1994). "A Conservation Law for Generalization Performance".
11th International Conference on Machine Learning, New Brunswick,
New Jersey, pp.259-265.Morgan Kaufmann
SEYMORE, K., McCallum, A., e Rosenfeld, R. (1999). "Learning Hidden
Markov Model Structure for Information Extraction". In Proceedings if the
AAAI-99 Workshop on ML for IE.
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
SPARK-JONES, K. e Willet, P. (1997). Readings in Information Retrieval.
Morgan Kaufmann
SUBASIC, P. e Huettner, A. (2001). "Affect Analysis of Text Using Fuzzy
Semantic Typing". IEEE Transactions on Fuzzy Systems, Special Issue
SULLIVAN, D. (2000). The need for text mining in business intelligence. DM
Review, Dec. 2000. http://www.dmreview.com/master.cfm
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
THOMAS, J. e Sycara, K. (1999). "Integrating Genetic Algorithms and Text
Learning for Financial Prediction". Proceedings ofthe GECCO-2000
Workshop on Data Mining with Evolutionary Algorithms
THURAISINGHAM, B. (1999). Data mining: technologies, techniques, tools, and
trends. CRC Press, Boca Raton, Florida.
TJONG, E. F. (2000). "Noun Phrase Recognition by System Combination".
Appears in Proceedings of ANLP-NAACL 2000, Seattle, Washington,
USA.Morgan Kaufman Publishers
TJONG, E. F. (2002). "Memory-Based Shallow Parsing". Journal of Machine
Learning Research 2 559-594.
VAN RIJSBERGEN, C. J. (1979). "Information Retrieval, 2nd edition". Dept od
Computer Science, University of Glasgow.
VAN RIJSBERGEN, C. J. (1992). "Probabilistic retrieval revisited". The
Computer Journal, 35(3):291-298
141
VITERBI, A. J. (1967). "Error bounds for convolutional codes and an
asymptotically optimal decoding algorithm". IEEE Transactions on
Information Processing, 13:260-269
WARTIK, S. (1992). "Boolean Operations". in [Frakes et al.1992], pp.264-292
WEISS, S. M. e Indurkhya, N. (1998). "Predictive Data Mining". California,
USA: Morgan Kaufmann.
WIDDOWS, D. (2003). "Unsupervised methods for developing taxonomies by
combining syntactic and statistical information". In: Proceedings of
HLT/NAACL 2003.pp.276-283
WIENER, N. (1948). "Cybernetics, or Control and Communication in the Animal
and the Machine". Paris: Hermann and Co., Cambridge, MA: The
Technology Press, and New York, NY: John Wiley and Sons
WITTGENSTEIN, L. (1979). Investigações Filosóficas. Coleção Os Pensadores,
São Paulo: Arril Cultural
WOLPERT, D. H. (1992). "Stacked Generalization". Neural Networks 5, 241-259
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
YANG, Y. e Liu, X. (1999). "A re-examination of text categorization methods". In
Proceedings of ACM SIGIR Conference on Research and Development in
Information Retrieval (SIGIR'99), pages 42--49, Berkley
ZIPF, G. K. (1949). Human Behavior and the Principle of Least Effort. AddisonWesley
10
Anexo I:
Principais distribuições de frequência dos significados
Força do Significado
Bimodal, com dois
“manga”.
1. manga = fruta
2. manga = trecho da
60
Frequência
significados fortes. Ex.
40
20
0
1
2
3
camisa
Prova = teste
Prova = competição
Prova = evidência
Prova = provar
Prova = imune (à
prova de)
Frequência
1.
2.
3.
4.
5.
1
1. livro = texto
2. livro = verbo
8
2
3
4
5
6
7
Significados
Força do Significado
Frequência
Ex. “livro”.
7
60
50
40
30
20
10
0
Com apenas um sentido
forte.
6
Força do Significado
porém com um sentido
Ex. “prova”.
5
Significados
Dois sentidos relevantes,
mais forte que o outro.
4
100
80
60
40
20
0
1
2
3
4
5
6
Significados
7
8
8
11
Anexo II:
Exemplo de Mineração de Textos por Perguntas
Inicializando interface com banco de dados...
15:00:16,049 INFO [DbConnectionManager] Registrando driver JDBC.
(com.microsoft.jdbc.sqlserver.SQLServerDriver)
15:00:16,059
INFO
[DbConnectionManager]
Iniciando
Fila:
connection
15:00:16,370 INFO
[DbConnectionManager] Criando conexão para o
pool de conexões. (connection)
LexicoDB: 2734
Sistema pronto:
Olá, o que deseja saber?
Pergunta: Que locais existem na base?
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
Pergunta: Quais pessoas foram citadas?
Abelardo de Oliveira Filho
Abram Szajman
Ahmed Yassin
Alan Greenspan
Alberto Fernández
Alexandre Vasarhelyi
Allen Johnson
Aloizio Mercadante
...
Vantuil Abdala
Vargas
Vladimir Putin
144
Wagner Canhedo
Wagner Victer
Waldomiro Diniz
Pergunta: quais empresas?
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.
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo
Download

Christian Nunes Aranha Uma Abordagem de Pré