Mineração de texto
Roteiro
Introdução
Tipos de abordagens dos dados
Etapas da Mineração de Texto
Preparação dos dados
Processamento dos dados
Pós-processamento dos dados
Técnicas de mineração de texto
Introdução
Informações em formato texto
Compõem o dia-a-dia de empresas e pessoas
São produzidas e armazenadas em meio eletrônico
Exemplo: páginas web, relatórios de acompanhamento, atas de
reuniões, históricos pessoais
Podem ser utilizadas ou para constituir um tipo de
vantagem competitiva ou como suporte à tomada de
decisões ou como indicador de sucesso ou fracasso.
O processamento de texto necessita de técnicas
específicas, pois o texto se constitui em um tipo de dado
não-estruturado ou semi-estruturado.
Introdução
Mineração de texto
É um conjunto de técnicas e processos que descobrem
conhecimento inovador nos textos.
Tem aplicações na descoberta de fatos na genética, na pesquisa de
proteínas, na modelagem de sistemas com base em patentes, na
gerência de projetos, no planejamento de marketing, na
categorização automática de mensagens de correio eletrônico
(inclusive em bancos de investimento), na extração automática de
resumos de documentos pelos mecanismos de busca na web, na
análise de sentimento em revisões de produtos e serviços, etc.
Tipos de abordagens de dados
A Mineração de texto pode fazer uso das seguintes abordagens dos dados
textuais:
Análise semântica
Baseada no uso de técnicas de Processamento de Linguagem Natural. Estas técnicas
avaliam a sequência dos termos no contexto das sentenças do texto, visando a correta identificação do significado ou função de cada termo. Geralmente tais técnicas são específicas para um dado idioma.
Exemplos: uso de léxicos (stopwords, léxicos com polaridade opinativa), radicalização
(stemming), lematização (lemmatizing), etiquetagem morfossintática (POS tagger), análise sintática (parser), uso de dicionários ou tesauros, reconhecimento de entidades, desambiguação de palavras, resolução de anáforas, etc.
Análise estatística
Baseada no uso de técnicas estatísticas, busca determinar a importância dos termos nos
textos com base na ocorrência, posição ou contexto (palavras adjacentes no nível de sentenças). São técnicas independente de idioma.
Exemplos: representação e codificação dos documentos por vetores através do modelo
sacola de palavras (bag of words) e modelos de recuperação de informação, filtragem de termos com base na frequência de ocorrência na coleção, captura de expressões
Etapas da Mineração de Textos
A Mineração de texto se constitui basicamente em três
etapas sequenciais:
Pré-processamento ou preparação dos dados
Prepara o conjunto de dados textuais para as fases posteriores
Processamento dos dados
Execução de tarefas de mineração de texto, visando o processamento
dos dados ou extração de conhecimento
Pós-processamento dos dados ou análise dos resultados
Etapas da Mineração de Textos
Pré-processamento ou preparação dos dados - Prepara o
conjunto de dados textuais para as fases posteriores
Seleção do conjunto de documentos de interesse
Seleção dos termos representativos dos textos - análise léxica,
eliminação de palavras vazias (stopwords), aglomerar termos através da radicalização ou lematização, uso de dicionário ou tesauro,
detecção de grupos nominais ou expressões multipalavras.
Representação de cada documento na forma de vetor através do
modelo sacola de palavras e um modelo de recuperação de informação
Redução de dimensionalidade através da frequência nos documentos
Etapas da Mineração de Textos
Processamento dos dados - Execução de tarefas de mineração
de texto, visando o processamento dos dados ou extração de
conhecimento
Definição do objetivo do processo de mineração de texto
Escolha da tarefa de mineração de texto para promover a extração de
conhecimento:
Indexação – reconhecer termos importantes nos documentos e em alguns casos seu tipo (assunto, pessoa, lugar, evento, organização, objeto)
Sumarização – extração de sentenças importantes de um ou vários documentos similares
Agrupamento (clustering) – tornar explícito o relacionamento entre documentos
Categorização – encontrar tópicos chave dos documentos
Etapas da Mineração de Textos
Pósprocessamento dos dados ou análise dos resultados
-Validação dos resultados e avaliação da qualidade das
descobertas
Métricas de avaliação dos resultados, ferramentas de visualização
e conhecimento de especialistas ajudam a consolidar os resultados
Métricas de avaliação – matriz de confusão, medidas de relevância
(Precisão, Revocação, F-measure), acurácia, erro de classificação.
Ferramentas de visualização – visualização de dados e análise
exploratória de dados, geralmente a proximidade espacial em gráficos traduzem a similaridade de itens.
Conhecimento de Especialistas – participação essencial dos
especialistas na análise da validade e avaliação dos padrões extraídos (utilidade,novidade, relevância).
Sobre Métricas de Qualidade
de Indexação de Documentos
Métricas de Avaliação
Valem para documentos estruturados e não-estruturados
O padrão ou referencial de qualidade são palavras-chaves
atribuídas intelectualmente
Métricas:
Precisão (“Precision”) Cobertura (“Recall”)
Média Harmônica da Precisão e Cobertura (“F-Measure”) É importante observar o desvio padrão das métricas
A avaliação é feita utilizando um conjunto de documento denominado
conjunto de teste.
Sobre Métricas de Qualidade
de Sumarização de Documentos
Métricas de Avaliação
Valem para documentos estruturados e não-estruturados:
O padrão de qualidade são resumos criados intelectualmente, mais
especificamente sentenças presentes em tais resumos.
Métricas:
Precisão (“Precision”) Cobertura (“Recall”)
Média Harmônica da Precisão e Cobertura (“F-Measure”) ROUGE
É importante observar o desvio padrão das métricas
A avaliação é feita utilizando um conjunto de documento denominado
Sobre Métricas de Qualidade
de Categorização/Agrupamento de
Documentos
Métricas de Avaliação
Valem para documentos estruturados e não-estruturados e para tarefas de categorização ou agrupamento de documentos:
Acurácia
Precisão (“Precision”) Cobertura (“Recall”)
Média Harmônica da Precisão e Cobertura (“F-Measure”)
É importante observar o desvio padrão das métricas
A avaliação é feita utilizando um conjunto de documento independente do conjunto de documentos utilizado para treinamento, denominado conjunto de teste, ou validação cruzada em 10 subconjuntos (10-fold cross validation).
Detectar “spam e-mail” é uma tarefa de mineração de texto, mais especificamente de categorização de documentos. Como avaliar?
Técnicas de Mineração de Textos
Indexação – reconhecer termos importantes nos
documentos e em alguns casos seu tipo (assunto, pessoa,
lugar, evento, organização, objeto)
Indexação do texto completo – realizada automaticamente em várias
ferramentas de análise de texto, cria uma estrutura de índice onde para cada palavra isolada guarda-se informação sobre sua ocorrência e posição em cada documento.
Indexação temática – faz uso de um dicionário ou tesauro para encontrar termos significativos nos documentos. Exemplo: Indexação automática por atribuição.
Indexação por tópico – faz uso de técnicas estatísticas e de aprendizagem de máquina para agrupar termos em tópicos com base nos padrões de
Técnicas de Mineração de Textos
Sumarização – extração de sentenças importantes de um
ou vários documentos similares
Sumarização por abstração – síntese do resumo com base na
determinação do significado das sentenças, simplificação das sentenças, e escrita do resumo.
Sumarização por extração – sentenças inteiras são medidas quanto a
importância relativa, selecionadas e extraídas do texto para compor o resumo. A ideia é construir um texto menor que conserve as ideias-chave originais. Abordagem mais comum nos sistemas.
Quesitos de importância de sentenças: posição no documento, presença de palavras-chave, presença de expressões indicativas (importante, definitivamente, em particular, a finalidade dessa pesquisa é, nossa investigação mostrou que, etc.), número de links semânticos entre sentenças.
Problemas com textos longos
Dificuldade na compreensão
Dificuldade para o entendimento
Dificuldade de síntese
Dificuldade na comparação entre textos
Nem sempre se dispõe de tempo para ler na integridade o
texto
Sumarização automática de texto
Características de sumarização automática de texto [Das
2007]
resumos podem ser de um único ou vários documentos
resumos devem preservar importantes informações
resumos devem ser curtos, não mais do que a metade do texto
original
Processo de sumarização
1.
Calcular a relevância de cada conceito;
2.
Determinar as sentenças contendo os conceitos
relevantes;
3.
Agrupar sentenças contendo conceitos relevantes;
4.Selecionar sentenças de cada grupo;
5.
Sintetizar o resumo;
Técnicas de Mineração de Textos
Agrupamento (clustering) – tornar explícito o
relacionamento de similaridade entre documentos. Os
grupos são úteis na navegação por uma coleção.
Cada documento é descrito por um vetor de termos com pesos
associados.
Cada grupo é descrito por um vetor de características ou termos
dominantes, com pesos associados a cada termo. Os grupos podem ser organizados em hierarquia ou no plano.
O processo é iterativo até os grupos não mais mudarem e ocorre em
dois passos:
Cada documento é associado a um grupo cuja similaridade entre o vetor de características do grupo e o vetor documento é a máxima possível O vetor de termos dominantes é recalculado para cada grupo
Agrupamento de Documentos (Classificação não-supervisionada)
Um documento é representado como um vetor numérico
Uma função mapeia a representação numérica estruturada para um grupo de uma partição
f : w G
w é um vetor em que cada célula indica a presença, ou quantidade, de uma palavra vetor numérico
G é um grupo de uma partição P. P é formada por dois ou mais grupos com documentos associados a cada grupo e uma descrição contendo as características representativas dos documentos do grupo.
A heurística para criação de grupos de documentos é unir no mesmo grupo vetores documentos similares (unir pelas semelhanças) e separar vetores documentos dissimilares em grupos diferentes (separar pelas diferenças).
Os algoritmos mais utilizados são algoritmos de aprendizagem de máquina não supervisionado como: k-médias (k-means), expectation maximization (EM), agrupamento hierárquico (hierarchical clustering), self-organizing maps.
Técnicas de Mineração de Textos
Categorização – encontrar tópicos chave dos documentos,
tópicos associados a categorias pré-definidas de
documentos
As categorias são definidas através de um processo intelectual
(construção de tesauro, ou construção de corpus de documentos)
Cada documento é descrito por um vetor de termos com pesos
associados.
Para cada categoria são extraídas assinaturas estatísticas da
ocorrência de termos nos documentos associados aquela categoria. Algoritmos de aprendizagem de máquina supervisionados são
utilizados para criar um modelo contendo as assinaturas estatísticas.
Trata-se de uma tarefa de classificação supervisionada de
Classificação Supervisionada de Documentos
Um documento é representado como um vetor numérico
Uma função mapeia a representação numérica estruturada para
um rótulo
f : w L
w é um vetor em que cada célula indica a presença, ou quantidade, de uma
palavra vetor numérico
L é um rótulo (“label”)
Entre os algoritmos de aprendizagem de máquina supervisionados
mais utilizados temos: árvores de decisão, k-vizinhos mais
próximos, classificador por regressão logística, classificador naive
bayes, SVM, redes neurais artificiais do tipo multilayer perceptron,
etc.
Representação dos documentos
Para as tarefas de agrupamento e categorização dos
documentos são utilizados algoritmos de aprendizagem de
máquina, que na maioria dos casos exigem a
representação dos documentos como vetores numéricos.
Documentos são representados como vetores onde palavras
formam eixos em um espaço multidimensional.
Para cada palavra se registra sua importância na descrição do
documento, ou sua presença/ausência no documento.
Representação de
Documentos como Vetores Numéricos
word1 word2 word3 word4 word5 ... wordN label
0
1
0
1
0
...
1
1
1
0
1
0
0
...
0
0
1
0
0
1
1
...
0
1
0
1
0
0
1
...
1
0
1
0
0
1
0
...
1
1
0
1
0
0
1
...
0
1
0
0
1
1
0
...
0
0
0
0
1
0
1
...
0
1
23
No exemplo, os números representam a presença (1 ) ou
ausência (0) de uma palavra word
i
Podia ser também um contador de freqüência de word
i
Daí porque é mais apropriado referir-se a vetor numérico
O que são as word
i?
O que dizer sobre a célula label?
Dicionário (“dictionary”, “feature”)
Palavras relevantes que podem estar presentes em um documento
word1, word3, word6, ..., wordN
Escolhidas pelo usuário, por exclusão de stop words
Dado um dicionário e um documento, o documento é
representado por um vetor de números
Na forma mais simples, vetor de 1s e 0s, representando a presença ou
ausência de palavras individuais
Mas os números podem ser quaisquer, desde que semanticamente
válidos
Na tabela do exemplo, cada linha é um vetor representando um
documento, por exemplo, um artigo financeiro
“Label”
Representa um atributo de classificação
Binário
1 (positivo), Financeiro
0 (negativo), não Financeiro
Note que a estratégia é aproximar o problema para uma tarefa
de classificação ‘clássica’
Instâncias positivas e negativas
Mais de duas “label”?
Dicionários temáticos, ou locais
n “spreadsheets”, um para cada “label”
Geração de Vetores
“Tokenizaton”
Cada palavra relevante para o dicionário é um “token”
Para vetores binários, é assinalada a presença ou não de um “token” (palavra)
Para vetores não-binários, a freqüência do “token” é a métrica
Há vários modelos de freqüência (ver o livro “Text Mining”, na Bibliografia)
“Stemming” ou “Lemmatization”
“Tokens” sinônimos “Token”
Note que, se o dicionário for grande, e geralmente o é, os
vetores tendem a ser esparsos
Necessidade de técnicas de compressão de vetores
Vetores Esparsos
0
15
0
3
12
0
0
0
8
0
5
2
(2,15) (4,3)
(1,12)
(1,8) (3,5) (4,2)
28Ferramentas de Mineração de Dados:
KNIME
KNIME (Konstanz Information Miner)
data management and analysis https://www.knime.org/
KNIME Text Processing plugin Suporta as seguintes tarefas:
IO: leitura e parsing de arquivos de texto (txt,cvs,xml,html) Enrichment: reconhecimento de entidades (para língua inglesa) Preprocessing: filtragem e manipulação de características
Frequencies: contagem de frequência de palavras e extração de
palavras-chave
Transformation: representação dos documentos em vetor Visualization: nuvem de tags
KNIME - NER e Nuvem de tags
30
KNIME - NER e Nuvem de tags
31
KNIME - Categorização de Documentos
32
KNIME – Categorização de Documentos
33
KNIME - Agrupamento de Documentos
34
KNIME – Agrupamento de documentos
35
Outras Ferramentas
36
R
• Open Source Statistical Platform
• Command driven
Rapid Miner
• Open Source Data Mining Workbench
• GUI
• Built on R and Weka
SPSS Text Analytics for Surveys
• Commercial Text Analytics
• GUI
Ferramentas livres
Weka: Programa Java de código aberto para mineração de dados. Possui também recursos para preprocessamento de texto, o que permite fazer uso dos algoritmos de aprendizado de máquina comuns na mineração de dados para tarefas de
agrupamento, descoberta de associações e classificação de textos. Mais detalhes sobre o programa na página oficial do Weka. Instruções de uso do weka para
mineração de textos podem ser obtidas na weka wiki.
Algoritmos de Classificação Supervisionada
ID3, J48, Prism, ...
Algoritmos de Agrupamento
Simple K-means
Problemas
Não trabalham com vetores esparsos
Não se dão bem com alta dimensionalidade
Alguns algoritmos Inferem ... Wordi = ‘0’ ..., o que não queremos
Não contempla novos algoritmos
Ferramentas livres
RapidMiner: Programa de código aberto e com plugins para
pré-processamento de texto e consulta ao WordNet. Permite programação visual do fluxo de dados da tarefa de descoberta de conhecimento. Mais detalhes na página do RapidMiner.
U-Compare: é um sistema integrado para processamento de linguagem
natural e mineração de texto baseado no UIMA Framework. Permite
programação visual do fluxo de dados. Mais detalhes veja na página do
U-Compare.
Orange: Programa C++ de código aberto e acessível via código pyton. Permite
programação visual do fluxo de dados da tarefa de descoberta de
conhecimento. Possui plugins para mineração de texto. Mais detalhes no
site ORANGE.
Outros softwares livres para mineração de dados: ELKI
TANAGRA
SIPINA
ALPHA MINER
Referências
Rezende, S.O. Sistemas inteligentes: fundamentos e
aplicações, Ed. Manole, São Paulo, 2003.