Prévia do material em texto
Inserir Título Aqui
Inserir Título Aqui
Algoritmos para
Análise de Dados
Processo de Análise de Textos
Responsável pelo Conteúdo:
Prof. Dr. Alberto Messias
Revisão Textual:
Prof. Ms. Luciano Vieira Francisco
Nesta unidade, trabalharemos os seguintes tópicos:
• Introdução ao Tema
• Orientações para Leitura Obrigatória
• Material Complementar Fonte: iStock/Getty Im
ages
Objetivos
• Compreender o processo de análise de textos no contexto de business intelligence e
big data, bem como suas fases e como funciona a técnica de Term Frequency/Inverse
Document Frequency (TF/IDF) para seleção de feições e categorização de documentos
ou redução de dimensionalidade em análise de textos, assuntos exemplificados em um
caso prático.
Caro Aluno(a)!
Normalmente, com a correria do dia a dia, não nos organizamos e deixamos para o
último momento o acesso ao estudo, o que implicará o não aprofundamento no material
trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas.
Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você
poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns
dias e determinar como o seu “momento do estudo”.
No material de cada Unidade, há videoaulas e leituras indicadas, assim como sugestões
de materiais complementares, elementos didáticos que ampliarão sua interpretação e
auxiliarão o pleno entendimento dos temas abordados.
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de
discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de
propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de
troca de ideias e aprendizagem.
Bons Estudos!
Processo de Análise de Textos
UNIDADE
Processo de Análise de Textos
Introdução ao Tema
Processo de Análise de Textos
A mineração de textos é definida como um processo de extração de informações
relevantes ou conhecimento a partir de textos não estruturados (HOTHO;
NÜRNBERGER; PAASS, 2005). O processo de categorização de documentos
é uma subárea da mineração em textos, definido como um procedimento para
agrupar documentos similares a partir da organização do conhecimento e remoção
de redundâncias e variações de palavras existentes nos documentos (BRÜCHER;
KNOLMAYER; MITTERMAYER, 2002).
Figura 1 − Arquitetura do processo de categorização de documentos
Fonte: Guo e colaboradores, 2003
O processo de análise de textos possui inúmeras fases que, conforme o tipo de
projeto e de tecnologia de processamento de textos, fará com que algumas dessas sejam
agrupadas, de modo que aqui será feita uma descrição simplificada de cada etapa, ou
seja, sem entrar no aspecto de ferramenta ou tecnologia empregada.
Conversão de Documentos e Remoção de Palavras
Ao se trabalhar com diversas fontes de dados de big data, o processo inicial de
requisição de dados poderá variar significativamente, dependendo do tipo de fonte de
dados, por exemplo, dados de redes sociais, dados da web, blogs, fóruns em sistemas
específicos, bases de e-mails, enfim, uma infinidade de fontes de dados que deverão ser
trabalhadas em suas especificidades. Cabe ressaltar ainda que dada a característica da
análise, é sempre importante conseguir etiquetar o dado com fonte de origem ou autor,
pois o agrupamento dos documentos, seja por data, autor ou origem, poderá alterar
consideravelmente o resultado da análise de textos e isso deve variar também de acordo
com o projeto e a tecnologia.
A fase inicial de dados de entrada, etiquetados, deve ser bem definida e trabalhada
em sua especificidade de projeto a fim de finalizar com a etapa de conversão dos
documentos. Como exemplo, pode-se pensar no resgate de dados de postagens em
6
7
blogs, onde cada postagem deverá ser inicialmente trabalhada para se remover as
tags HTML, de modo a deixar tudo com texto plano, etiquetadas com características
de autor e informações temporais. Neste passo, hipoteticamente ao trabalhar com a
plataforma Hadoop, deverão ser criados diversos arquivos em texto plano e agrupados
ou separados de maneira temporal ou por autor em pastas no sistema de arquivos. Note
que essa separação em pastas poderá influenciar o resultado e deverá ser feito de acordo
com a análise que se requer.
Algumas etapas serão agrupadas para a descrição mais adequada.
Extração de Feições
O processo de extração de feições agrupa os passos de conversão de documentos,
remoção de palavras e desambiguação, aspectos esses ilustrados na Figura 1. Tal processo
pretende determinar as palavras que caracterizam ou que possuem maior importância
em certo documento, para isso são necessários os seguintes passos:
1. Os documentos são transformados em textos planos e divididos em palavras
individuais;
2. O conjunto de palavras obtido com a aplicação do passo anterior é submetido a
um processo de remoção de palavras, no qual são retiradas as palavras que não
possuem importância no texto, chamadas – na literatura – de stop words; neste
caso são removidos os artigos, numerais, pronomes e verbos;
3. Por fim, as palavras restantes passam por um processo mencionado na lite-
ratura como word stemming, que tem por objetivo remover variações de um
mesmo termo como, por exemplo, conjugações verbais. Para esse fim, pode-se
usar conceitos de similaridade entre palavras como, por exemplo, o coeficiente
de Jaccard.
Observa-se em Han e colaboradores (2006) que a dimensionalidade do documento
é proporcional à quantidade de palavras que esse possui e, após a aplicação desses
três passos, consegue-se um conjunto de palavras mais relevantes ao documento e a
consequente diminuição da dimensionalidade do qual, conforme mostrado em Brücher,
Knolmayer e Mittermayer (2002).
Note que caso seja utilizado o Hadoop como ferramenta de tecnologia para essa
análise, algumas das etapas mencionadas, bem como outras próximas serão agrupadas
em uma única, mas é importante conhecer a função de cada uma das quais, conforme
a presente descrição.
Seleção de Feições
Após a aplicação do processo de extração de feições, é aplicado o procedimento de
seleção de feições, que define a importância de cada termo para um documento ou para
um dado conjunto de documentos, pois nem todos os termos que permaneceram na
representação dos documentos agregam conhecimento.
7
UNIDADE
Processo de Análise de Textos
Conforme se observa em Souza (2010), diversas métricas encontradas na literatura
podem ser aplicadas; por exemplo, métodos estatísticos, entropia ou frequência dos
termos. Um método comumente utilizado é o chamado TF/IDF, ou frequência do termo
– Term Frequency (TF) – e a inversa da frequência do documento – Inverse Document
Frequency (IDF) –, de modo que o seu produto é usado para determinar o poder de
discriminação de certa palavra para determinado documento ou conjunto de documentos
(HAN et al., 2006; CALVO; LEE; LI, 2004; ROSE, 1994).
TF define a importância de uma palavra em um documento e é diretamente
proporcional à quantidade de vezes que o termo aparece em um certo documento. É
dado por:
tf
n
ni j
i j
k jk
,
,
,
=
∑
Onde ni,j é a frequência do termo/palavra i no documento j.
Observe que nem todos os termos que possuem valores de TF altos são importantes
para todo o conjunto de documentos, pois nem todos os documentos são importantes
para a análise. Assim, para encontrar esse valor, torna-se necessário calcular o IDF, este
dado por:
idf
D
d t di j i j
=
{ }
log
: ε
Onde D é o conjunto total de documentos, {dj : ti ε dj} é o conjunto de documentos
no qual o termo tj aparece, isto é, ni,j diferente de 0.
Assim, o valor de TF/IDF de uma única palavra é o produto entre os dois valores
encontrados. Esse valor deve ser,então, normalizado, e isto é dado por:
w tfidf t d
tfidf t d
ki
k i
k ii
Tr
=
=∑
( , )
( ( , ))2
1
Onde wki é o peso atribuído ao termo tk no documento dj.
Com os pesos de cada palavra definidos, pode-se fazer um ranqueamento, onde as
k feições ou palavras mais importantes para certo documento j são obtidas pela seleção
das k palavras com valores de TF/IDF ordenados (SOUZA, 2010).
Representação de Documentos
Um documento ou padrão pode ser representado em termos das características ou
feições selecionadas, transformadas em vetores de características, onde cada termo impor-
tante deve ter uma posição e um valor definido no documento ou conjunto de documentos.
8
9
Se o processo de seleção produzir n como quantidade de feições e m como quantidade
de documentos no conjunto total, o conjunto de documentos será representado por
uma matriz de feições m X n. Um dado conjunto n de feições ou características de um
certo documento ou conceito é representado por 1 X n vetor de feições elencado por
f, conforme a representação dada: f = (f1, f2, f3... fn), onde cada fi corresponde ao tf do
termo ou feição que i representa.
O conjunto total de documentos é representado por uma matriz de m linhas, que
corresponde aos documentos com n colunas, estes que representam as feições. Observe
que a partir de um conjunto de documentos representados por vetores de feições, pode-
-se obter uma comparação usando uma métrica adequada para se encontrar a similaridade
entre os quais como, por exemplo, a distância euclidiana.
Note também que a implementação desses diversos passos já está presente em
algumas plataformas de big data ou de análise de textos como, por exemplo, Hadoop
com Mahout, entre outras tecnologias, não havendo a necessidade de se preocupar com
a codificação – embora seja importante conhecer quais métricas são utilizadas.
Neste ponto já se possui a valoração e caracterização matemática de todos os
documentos e termos, bem como os dicionários de dados a serem utilizados, de modo
que com base nessas matrizes é possível criar ou utilizar efetivamente os algoritmos de
classificação ou agrupamento, ou apenas empregar os termos principais em uma análise
não algorítmica como, por exemplo, simplesmente criar uma “nuvem de palavras” que
expressa um documento, um autor ou um conjunto de documentos.
Exemplo Prático de Análise de Textos com Weka
Para o exemplo prático de uso do TF/IDF, utilizaremos o software Weka, por meio
da base de dados de spams, que é uma base livre para pesquisas e experimentação.
Conforme se observa na Figura 2, para se trabalhar com textos no Weka, deve-se
aplicar filtros.
Figura 2
Fonte: Weka
9
UNIDADE
Processo de Análise de Textos
O filtro utilizado é o StringToWordVector, que tem a função de analisar os textos
e criar os vetores com os valores de cada palavra. A Figura 3 ilustra os parâmetros
que podem ser passados ao filtro específico – foi selecionado o filtro Weka, Filtters,
Unsupervised, Attribute.
Figura 3
Fonte: Weka
Note que para esse filtro são selecionadas as transformações TF/IDF. Após a aplicação
dos filtros, o software calculará os valores para cada termo do conjunto total de palavras
e documentos existentes na base.
Ainda depois da aplicação dos filtros, é possível, então, executar os algoritmos como,
por exemplo, o kmeans, conforme ilustra a Figura 4:
Figura 4 − Execução do algoritmo kmeans em base de textos no Weka
Fonte: Weka
10
11
Orientações para Leitura Obrigatória
Segue a indicação de leitura de um artigo em inglês onde é feita a análise de textos no
software Weka - https://goo.gl/GHeu8B
Leia este outro artigo – também em inglês – que ilustra uma estrutura de processamento
de textos usando o Hadoop - https://goo.gl/ESUZzk
Finalmente, segue também a indicação de leitura de um artigo sobre a aplicação da
mineração em textos para extração e organização não supervisionada de conhecimento
- https://goo.gl/ZKqhHj
11
UNIDADE
Processo de Análise de Textos
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
SMS Spam Collection v. 1
Indicação de link onde pode ser “baixada” a base de dados de spams.
https://goo.gl/vjnlg
Leitura
A Brief Survey of Text Mining
Leia a pesquisa extensa sobre o processo de análise de textos.
https://goo.gl/3FbhPC
A Tecnologia de Mineração de Textos
Indicação de leitura de um artigo publicado na Revista Eletrônica de Sistemas de
Informação, que trata da mineração em textos.
https://goo.gl/YanXFX
12
13
Referências
DUDA, R. O.; HART, P. E.; STORK, D. G. Pattern classification. 2nd ed. [S.l.]:
Wiley-Interscience, 2000.
SOUZA, A. M. da C. Uma nova arquitetura para internet das coisas com análise e
reconhecimento de padrões e processamento com big data. 2015. Tese (Doutorado
em Sistemas Eletrônicos) - Escola Politécnica da Universidade de São Paulo, São
Paulo, 2015. Disponível em: <http://www.teses.usp.br/teses/disponiveis/3/3142/
tde-20062016-105809>. Acesso em: 7 mar. 2017.
______. Um método para predição de ligações a partir de mineração em textos
e métricas em redes sociais. 2010. Dissertação (Mestrado em Engenharia Eletrô-
nica e Computação) - Instituto Tecnológico de Aeronáutica, São José dos Campos,
SP, 2010. Disponível em: <http://www.bd.bibl.ita.br/tesesdigitais/verifica_session.
php?num_tese=59903&origem=BDITA>. Acesso em: 7 mar. 2017.
THEODORIDIS, S.; KOUTROUMBAS, K. Pattern recognition 4th ed. [S.l.]:
Academic Press, 2008.
GUO, G.; WANG, H.; BELL, D. A.; BI, Y.; GREER, K. Knn model-based approach in
classification. In: CoopIS/DOA/ODBASE. [S.l.: s.n.], 2003. p. 986–996.
HOTHO, A.; NuRNBERGER, A.; PAASS, G. A brief survey of text mining. ¨ LDV
Forum - GLDV Journal for Computational Linguistics and Language Technology, v.
20, n. 1, p. 19–62, maio 2005. ISSN 0175-1336.
BRuCHER, H.; KNOLMAYER, G.; MITTERMAYER, M.-A. Document classification ¨
methods for organizing explicit knowledge. In: UNIVERSITY OF BERN. Proceedings
of the Third European Conference on Organizational Knowledge, Learning, and
Capabilities. Athens, Greece, 2002.
HAN, B.; OBRADOVIC, Z.; HU, Z.-Z.; WU, C. H.; VUCETIC, S. Substring selection for
biomedical document classification. Bioinformatics, v. 22, n. 17, p. 2136–2142, 2006.
CALVO, R. A.; LEE, J.-M.; LI, X. Managing content with automatic document
classification. J. Digit. Inf., v. 5, n. 2, 2004.
ROSE, D. E. A symbolic and connectionist approach to legal information retrieval.
Hillsdale, NJ, USA: L. Erlbaum Associates Inc., 1994. ISBN 0-8058-1388-8.
13