MANUAL PRÁTICO
para mineração de textos
![](https://assets.isu.pub/document-structure/181204121431-f89d27411017c5cc6446ddd0db87069e/v1/cba58599a7fbce6c7f0d7754ba2fb5f6.jpg)
Calebe da Silva Borges
Karen Cristina Braga
Rafaela Viero Robe
Bruno Luce
![](https://assets.isu.pub/document-structure/181204121431-f89d27411017c5cc6446ddd0db87069e/v1/337ba2a475fc4ea6d11b6a72de762fdb.jpg)
Calebe da Silva Borges
Karen Cristina Braga
Rafaela Viero Robe
Bruno Luce
Calebe da Silva Borges
Karen Cristina Braga
Rafaela Viero Robe
Bruno Luce
Calebe da Silva Borges
Mestrado Profissional em Informática na Educação
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut tincidunt ex, sed rutrum nulla. Duis aliquam neque pretium odio posuere, vitae euismod dolor elementum. Morbi a eleifend orci, at tincidunt nibh. Duis congue sit amet magna vel consectetur. Donec ac nunc ut libero consequat scelerisque eget sed metus. Ut vehicula blandit ipsum eu aliquet. Donec at posuere ex, ac euismod ex. Phasellus blandit orci nulla, at pellentesque lorem laoreet vitae. Aliquam ut laoreet eros. Nulla auctor posuere augue.
Vivamus id imperdiet dolor. Etiam mollis nisi sodales dolor lacinia, accumsan suscipit turpis finibus. Mauris eget auctor nisi. Donec faucibus pulvinar accumsan. Donec feugiat id sem id faucibus. In nisl massa, fermentum sed purus vitae, luctus maximus arcu. In aliquet augue et nulla sollicitudin iaculis. Morbi suscipit libero eu leo consequat consequat. Nunc vehicula, sem sit amet ornare pulvinar, urna neque viverra risus, quis pharetra purus urna sit amet libero. Phasellus ullamcorper pellentesque nunc, varius euismod magna efficitur sit amet. Etiam aliquet faucibus odio, a malesuada ante varius et. Aenean tempor pretium ultricies. Sed at aliquam odio.
Cras maximus velit sed ex tincidunt, vel fermentum erat malesuada. Phasellus sollicitudin volutpat est, sit amet sodales turpis ornare sit amet. Pellentesque ac tempus nibh. Etiam a nibh dictum, venenatis tortor in, laoreet mauris. Aliquam id nibh ornare, placerat orci ut, pharetra lacus. Praesent placerat, orci id sodales mattis, dui mi elementum orci, vel suscipit velit quam in tortor. Aenean cursus arcu in purus maximus, sed consectetur enim viverra. Nunc odio lorem, maximus ac fringilla eget, facilisis vitae massa. Sed nec placerat sapien. Praesent sed pharetra erat. Etiam hendrerit lectus sed nisl commodo tincidunt.
Este Manual foi produzido dentro da cadeira Sistemas Tutores Inteligentes do Mestrado Profissionalizante em Informática na Educação do Instituto Federal do Rio Grande do Sul (IFRS), e tem como objetivo principal criar um guia que auxilie na utilização do programa de mineração de texto Orange Canvas. O grupo escolheu o programa por não existir nenhum manual ou guia em língua portuguesa, com isso dando oportunidade de elaboração de um material inédito no país. Para exemplificar o funcionamento do Orange Canvas, foi selecionado os planos de governos dos candidatos a presidente do Brasil nas eleições de 2018, devido a facilidade de obtenção dos dados,
o número expressivos de textos e também o momento histórico em que o país atravessava.
O trabalho foi divido em três etapas: A primeira etapa foi apresentação dos termos e contextualização do que é e para que serve uma Mineração. A segunda etapa apresentação do Orange Canvas, mostrando suas aplicabilidades e ferramentas. E a terceira a aplicação com os planos de governo. O material foi pensando de uma maneira que seja fácil para leitor se localizar, tendo todos os passos documentados através de imagens e uma linguagem simples e direta, a fim que todos possam usar a ferramenta sem dificuldades.
Mineração de dados (data mining) é o nome do processo de exploração e análise de grandes quantias de dados.
É uma funcionalidade que agrega e organiza determinados dados, encontrando associações, padrões, mudanças e anomalias que podem ser relevantes.
A armazenagem de dados tem sido um dos principais objetivos das organizações, desde o surgimento e a facilidade de adquirir um sistema computacional. Os hardwares ficaram mais baratos e mais fáceis de adquirir, tornando possível armazenar cada vez mais dados. Estima-se que o volume de dados armazenados cresce exponencialmente a cada dia e responder uma questão se tornou fundamental: o que fazer com essa quantidade enorme de dados armazenados?
Ao final da década de 80 surgiu a Mineração de Dados, do inglês Data Mining, como uma possível solução para esta questão. Tornando-se uma das tecnologias mais promissoras no momento atual.
Mineração de Dados é uma área de pesquisa multidisciplinar, incluindo tecnologia de bancos de dados, inteligência artificial, aprendizado de máquina, redes neurais, estatística, reconhecimento de padrões, sistemas baseados em conhecimento, recuperação da informação, computação de alto desempenho e visualização de dados (MORAIS; AMBRÓSIO, 2007).
Para entendermos o principal objetivo da Mineração de Textos, devemos primeiro saber o que são dados não estruturados. Um dado não estruturado é aquele em que não podemos encontrar organizados em linhas e colunas, como por exemplo, textos, vídeos e e-mails. Esses dados, por sua vez, crescem aceleradamente e são de difícil acesso, recuperação e interpretação, o que torna o seu uso um desafio.
O objetivo principal da Mineração de Textos é conseguir extrair características marcantes e importantes em uma grande quantidade de dados não estruturados. Como por exemplo, descobrir padrões, associações, quais palavras foram frequentemente repetidas em um texto e realizar análises qualitativas e quantitativas desses dados.
Por fim, quando é utilizado um recurso de mineração de textos é importante que o usuário esteja ciente de que ele não está solicitando uma busca, mas sim uma análise. O resultado da consulta precisa ser analisado e contextualizado para se fazer jus a descoberta de conhecimento.
A maior diferença entre as duas minerações é que na mineração de Dados as informações são implícitas e desconhecidas, porém sabe-se que são eminentemente úteis. Já na Mineração de Texto, a informação está ali, clara nos textos, porém essa informação não é exprimida de uma maneira que seja apta a ser processada automaticamente.
Na mineração de textos, a maioria das teorias e algoritmos advém da mineração de dados. Com isso, a similaridade nos processos é grande. Os dois realizam pré-processamentos para organizar os dados, buscam encontrar padrões nesses dados e apresentam formas semelhantes de visualização das informações encontradas.
Sabendo que a Mineração de Textos permite transformar dados não estruturados em conhecimento útil para as organizações, as aplicações dessa são enormes, tanto na área científica, quanto na área comercial. Como um exemplo, na área científica, ela pode ser usada, na medicina, pois a quantidade de informação de texto gerada nesta área é enorme (prontuários, registros hospitalares e fichas de pacientes). Estes documentos podem ser avaliados com técnicas de mineração de textos para auxiliar os profissionais da medicina a diagnosticar doenças ou buscar tratamentos.
Além disso, a mineração de textos pode ser utilizada para a análise de sentimentos em pesquisas de opinião pública, em discursos políticos e entrevistas. Esta área da mineração de textos é conhecida como “Análise de Sentimentos”, e visa identificar como o autor de um texto expressa seus sentimentos de forma escrita e conseguir classificar a satisfação, como por exemplo, se é favorável ou desfavorável, em relação ao assunto ou produto abordado.
Uma questão importante é a escolha da ferramenta mineradora a utilizar. No mercado existem boas opções de ferramentas para trabalhar com as áreas de: data science, big data, análise de dados, estatística, mineração de dados, mineração de texto, visualização de dados e o aprendizado computacional, tanto de código aberto (open source) como softwares comerciais.
Na maioria das vezes, elas devem possuir facilidades para extração de dados de diversas fontes de dados, pré-processamento e modelagem desses dados para extração de conhecimento. Entre as ferramentas mais usadas cita-se: Orange Canvas, Knime1 (Konstanz Informação Miner), Weka2 e RapidMiner3.
Para esse manual, optou-se explorar com mais detalhes os recursos da ferramenta Orange Canvas
1- www.knime.com/knime-software
2- www.cs.waikato.ac.nz/ml/weka/
3- www.rapidminer.com/
Desenvolvida pelo Laboratório de Bioinformática da Faculdade de Informação e Computação na Universidade de Ljubljana localizada na Eslovênia, a Orange Canvas é uma ferramenta de código aberto que possibilita a mineração de dados de duas maneiras: através da interface visual com instalador disponível para download na página do projeto ou através da linguagem Python com a instalação do pacote Orange.
Em função de sua simplicidade de utilização, ela permite que tanto usuários iniciantes quanto especialistas consigam usar seus componentes. Os fluxos de trabalho são baseados em análise de dados interativos atrelados a várias opção de ferramentas, incluindo uma variedade de técnicas de visualização, exploração, pré-processamento e modelagem de dados.
É permitida a sua redistribuição e/ou modificação sob os termos da GPL GNU (Licença Pública Geral), publicada pela Free Software Foundation. Toda a documentação e conteúdos relacionados à ferramenta, exceto os códigos-fontes, estão licenciados sob a forma de Creative Commons Attribution-ShareAlike.
Para você instalar o Orange Canvas em seu computador, primeiramente acesse a página de download da ferramenta através da URL: https://orange.biolab.si/download
Nesta página, são disponibilizadas diferentes opções de instaladores, gratuitamente, de acordo com o Sistema Operacional que você utiliza.
Clique sobre o Sistema operacional de preferência para iniciar o download da última versão do instalador do Orange Canvas. Este, instalará em seu computador as ferramentas Orange e o Miniconda, não sendo necessário baixá-las separadamente.
O principal objetivo da mineração de textos é encontrar termos relevantes em documentos de texto. A Orange possui os componentes necessários para dar suporte às etapas da mineração de texto, dispostos em grupos específicos de ferramentas localizados na lateral esquerda da aplicação. Esses grupos são:
• Data (manipulação de dados);
• Visualize (visualização de dados);
• Model (predições);
• Evaluate (classificação avaliativa e desempenho de regressão);
• Unsupervised (processamentos mais customizados).
Por padrão, os componentes de mineração de texto não são instalados junto com a ferramenta. Para disponibilizá-los no Orange, é necessário instalar um plugin (add-on) disponível em Options > Add-ons…
Uma lista de plugins disponíveis para instalação será exibida - figura 3; selecione o plugin Text e clique em OK. Aguarde a conclusão da instalação, figura 4, pois pode demorar um pouco.
Na mensagem exibida após a conclusão da instalação, clique em OK, depois feche o programa e abra-o novamente, para que a Orange trabalhe com as novas instalações. Com o procedimento realizado, os comandos de Text Mining deverá aparecer na lateral esquerda da ferramenta, como mostra a figura 5.
Para realizar mineração de texto em documentos utilizando o Orange é necessário, apenas, a instalação do plugin Text.
O plugin Textable disponibiliza os componentes para análise de textos, tais como: count, length, intersecção, merge, entre outros.
Nesta seção a ferramenta Orange Canvas será apresentada. A versão utilizada para este manual é a 3.18 para o sistema operacional windows.
O Menu da ferramenta apresenta algumas funções para o funcionamento do programa, são elas:
[ File ] espaço para criar novos arquivos; abrir arquivos; recarregar o último fluxo de trabalho; ver o arquivo mais recente aberto; abrir relatório; salvar ou salvar como; ver informações sobre fluxos de trabalho; e sair do programa;
[ Edit ] espaço para desfazer ou refazer uma ação; refazer uma ação adicionando anotações; duplicar seleções; ou mesmo selecionar tudo;
[ View ] espaço para expandir a caixa de ferramenta; visualizar o registro e
o relatório; aumentar, diminuir ou restabelecer o zoom; assim como mostrar as margens do fluxo de trabalho;
[ Widget ] espaço para abrir; renomear; remover; e visualizar a ajuda sobre as ferramentas;
[ Options ] espaço para ver as configurações; restabelecer as definições das ferramentas; e adicionar outras ferramentas (add-ons) ao programa;
[ Help ] espaço para obter informações sobre o programa; informações de boas-vindas; tutoriais; e exemplos.
[ i ] mostra propriedades do fluxo de trabalho;
[ # ] alinha interfaces a uma grade;
[ T ] adiciona uma anotação de texto ao fluxo de trabalho;
[ ] adiciona uma seta para nota na área do fluxo de trabalho;
[ || ] aciona congelamento
[ ? ] Ajuda
Figura 7 - Menu superior da ferramenta - Fonte: Orange, 2018Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris accumsan, nibh bibendum bibendum auctor, risus enim rutrum neque, nec mollis.
Data ipsum dolor sit amet, consectetur adipiscing elit. Mauris accumsan, nibh bibendum bibendum auctor, risus enim rutrum neque, nec mollis neque velit ac erat. Donec aliquet sapien vel odio dig.
Visualise ipsum dolor sit amet, consectetur adipiscing elit. Mauris accumsan, nibh bibendum bibendum auctor, risus enim rutrum neque, nec mollis neque velit ac erat. Donec aliquet sapien vel odio dig.
Model ipsum is dolor sit amet, consectetur adipiscing elit. Mauris accumsan, nibh bibendum bibendum auctor, risus enim rutrum neque, nec mollis neque velit ac erat. Donec aliquet sapien vel odio dig.
Evaluate for us is dolor sit amet, consectetur adipiscing elit. Mauris accumsan, nibh bibendum bibendum auctor, risus enim rutrum neque, nec mollis neque velit ac erat. Donec aliquet sapien vel odio dig.
Unsupervised consectetur adipiscing elit. Mauris accumsan, nibh bibendum bibendum auctor, risus enim rutrum.
Text Mining dolor sit amet, consectetur adipiscing elit. Mauris accumsan, nibh bibendum bibendum auctor, risus enim rutrum neque, nec mollis neque velit ac erat. Donec aliquet sapien vel odio dig.
Mauris accumsan, nibh bibendum bibendum auctor, risus enim rutrum neque, nec mollis neque velit ac erat. Donec aliquet sapien vel odio dignissim interdum. Nullam a justo vel quam fringilla rutrum. Morbi sollicitudin condimentum .
[ File ] lê dados de valor de atributo de um arquivo de entrada. A ferramenta lê dados do Excel (xlsx), arquivos delimitados por tabulação (txt) simples,
[ Datasets ] carrega um conjunto de dados de um repositório online. A ferramenta recupera o conjunto de dados selecionado do servidor e o envia para a saída. Cada conjunto de dados é fornecido com uma descrição e informações sobre o tamanho dos dados, o número de instâncias, o número de variáveis, o destino e as tags.
[ SQL Table ] lê dados de um banco de dados SQL. A ferramenta acessa os dados armazenados em um banco de dados SQL e pode se conectar ao PostgreSQL ou SQL Server. Para isso requer a instalação dos módulos: psycopg2 e pymssql, respectivamente.
[ Data Table ] exibe dados do valor do atributo em uma planilha. A ferramenta Data Table recebe um ou mais conjuntos de dados em sua entrada e os apresenta como uma planilha. Também suporta a seleção manual de dados.
[ Paint Data ] pinta os dados em um plano 2D. A ferramenta permite a criação de um novo conjunto de dados colocando pontos de dados visualmente em um plano de duas dimensões. Os pontos de dados podem ser colocados no plano individualmente (Put) ou em um número maior por pincel (Brush).
[ Data Info ] exibe informações sobre um conjunto de dados selecionado, tais como: tamanho do conjunto de dados; recursos discretos e contínuos; metas; meta atributos; localização do armazenamento dos dados.
[ Data Sampler ] seleciona um subconjunto de dados de um conjunto de dados de inserido no software. A ferramenta implementa meios de amostragem de dados de conjunto de dados inserido. Gera um conjunto de dados amostrado e
Cada grupo de Ferramentas oferece um conjunto de recursos que serão apresentadas a seguir (ORANGE VISUAL PROGRAMMING, 2018):
complementar (com instâncias do conjunto de entrada que não estão incluídas na amostra).
[ Select Columns ] seleciona manualmente atributos de dados e composição do domínio de dados. A ferramenta compõe manualmente seu domínio de dados. O usuário pode decidir quais e como os atributos serão usados. Os atributos podem ser discretos, contínuos ou uma cadeia de caracteres, sendo informado com um símbolo antes do nome do atributo (D, C, S, respectivamente).
[ Select Rows ] seleciona dados com base nas condições definidas pelo usuário. Os critérios de seleção são apresentados como uma coleção de termos em função de condições definidas por um atributo, selecionados de uma lista (de atributos discretos, contínuos e de string) e, se necessário, definindo o valor a ser usado no termo de condição.
[ Rank ] organiza conjuntos de dados por classificação ou regressão. A ferramenta considera classificação de conjuntos de dados organizados por classe (classificação ou regressão) e os atributos de acordo com sua correlação com a classe. Aceita modelos de pontuação, como regressão linear, regressão logística, entre outros.
[ Merge Data ] mescla dois conjuntos de dados, com base nos valores dos atributos selecionados. A ferramenta é usada para mesclar horizontalmente dois conjuntos de dados, com base nos valores dos atributos selecionados.
[ Concatenate ] concatena dados de várias fontes. A mesclagem é vertical, no sentido em que dois conjuntos de 5 e 5 dados geram um novo conjunto de 10 dados.
[ Transpose ] a ferramenta transpõe uma tabela de dados.
[ Randomize ] mistura classes e/ou atributos de um conjunto de dados inseridos. A ferramenta recebe um conjunto de dados na entrada e gera um conjunto de dados em que as classes e/ou atributos são embaralhadas.
[ Preprocess ] pré-processa dados com métodos selecionados. O pré-processamento é crucial para obter resultados de análise de melhor qualidade. A ferramenta oferece cinco métodos de pré-processamento para melhorar a qualidade dos dados permitindo: transformar imediatamente valores contínuos em discretos ou valores discretos em contínuos; imputar valores ausentes; selecionar recursos relevantes ou centralizá-los; e escalá-los.
[ Impute ] substitui valores desconhecidos nos dados. Alguns algoritmos e visualizações do Orange não podem manipular valores desconhecidos nos dados. Essa ferramenta faz o que os estatísticos chamam de imputação: substitui valores ausentes por valores calculados a partir dos dados ou definidos pelo usuário. A imputação padrão é (1-NN).
[ Outliers ] processa a detecção simples de outliers comparando distâncias entre dados. A ferramenta aplica um dos dois métodos para detecção de outliers: SVM (múltiplos kernels) e Elliptical Envelope.
[ Edit Domain ] renomeia características/ atributos e seus valores. Esta ferramenta pode ser usada para editar ou alterar o domínio de um conjunto de dados.
[ Python Script ] amplia funcionalidades através de scripts Python. A ferramenta pode ser usada para executar um script Python na entrada, quando uma funcionalidade adequada não é implementada em uma ferramenta existente
[ Color ] define a legenda de cor para variáveis. A ferramenta permite definir a legenda da cor nas suas visualizações de acordo com suas próprias preferências. Essa opção oferece as ferramentas para enfatizar seus resultados e oferece uma grande variedade de opções de cores para apresentar seus dados. Pode ser combinado com a maioria das ferramentas de visualização.
[ Continuize] transforma atributos discretos (variáveis numéricas que têm um número contável de valores entre quaisquer dois valores) em variáveis dummy (variável categórica que foi transformada em numérica, considerando que valores de uma variável categórica são categorias) contínuas (variáveis numéricas que têm um número infinito de valores entre dois valores quaisquer).
[ Create Class ] cria um novo atributo de classe a partir de um atributo discreto ou de string existente. A ferramenta corresponde ao valor de sequência do atributo selecionado e constrói um novo valor definido pelo usuário para as classes correspondentes.
[ Discretize ] transforma os atributos contínuos de um conjunto de dados de entrada em discretos com o método selecionado.
[ Feature Constructor ] permite que se inclua manualmente recursos (colunas) ao conjunto de dados. O novo recurso pode ser um cálculo de um recurso existente ou uma combinação de vários (adição, subtração etc.). Pode-se escolher o tipo de recurso (discreto, contínuo ou string) e seus parâmetros (nome, valor, expressão). Para variáveis contínuas, você só precisa construir uma expressão no Python
[ Purge Domain ] remove valores de atributos não utilizados e atributos inúteis, classifica os valores restantes.
[ Save Data ] salva os dados em um arquivo. A ferramenta considera um conjunto de dados fornecido como entrada e o salva em um arquivo de dados com um nome especificado. Pode salvar os dados como um arquivo separado por vírgula ou delimitado por tabulações. Importante saber que a ferramenta não salva os dados toda vez que recebe um novo sinal na entrada, pois isso constantemente sobrescreve o arquivo. Em vez disso, os dados são salvos somente depois que um novo nome de arquivo é definido ou o usuário pressiona o botão Salvar.
[ Tree Viewer ] apresenta uma visualização de árvores de classificação e regressão. É uma ferramenta versátil com visualização 2D de árvores de classificação e regressão. O usuário pode selecionar um nó, instruindo a ferramenta a gerar os dados associados ao nó, permitindo a análise exploratória de dados.,
[ Box Plot ] mostra a distribuição de valores de atributos. A ferramenta apresenta as distribuições de valores de atributos. É uma boa prática verificar quaisquer novos dados com essa ferramenta para descobrir rapidamente quaisquer anomalias, como valores duplicados, valores discrepantes e semelhantes.
[ Distributions ] exibe istribuição de valores de atributos discretos ou contínuos. Se os dados contiverem uma variável de classe, as distribuições podem ser condicionadas na classe. Para atributos discretos, o gráfico exibido pela ferramenta mostra quantas vezes cada valor de atributo aparece nos dados. Se os dados contiverem uma variável de classe, as distribuições de classe para cada um dos valores de atributo também serão exibidas.
[ Scatter Plot ] oferece visualização de gráfico de dispersão bidimensional para atributos contínuos e de valor discreto. Os dados são exibidos como uma coleção de pontos, cada um com o valor do atributo do eixo x determinando a posição no eixo horizontal e o valor do atributo do eixo y que determina a posição no eixo vertical. Várias propriedades do gráfico, como cor, tamanho e forma dos pontos, títulos dos eixos e tamanho máximo do ponto podem ser ajustadas no lado esquerdo da ferramenta.
[ Sieve Diagram ] plota um diagrama de peneira para um par de atributos, que é um método gráfico para visualizar frequências em uma tabela de contingência bidirecional e compará-las com as freqüências esperadas sob a hipótese de independência. Nesta exibição, a área de
Cada grupo de Ferramentas oferece um conjunto de recursos que serão apresentadas a seguir (ORANGE VISUAL PROGRAMMING, 2018):
cada retângulo é proporcional à freqüência esperada, enquanto a freqüência observada é mostrada pelo número de quadrados em cada retângulo. A diferença entre a frequência observada e a esperada (proporcional ao padrão residual de Pearson) aparece como a densidade de sombreamento, usando a cor para indicar se o desvio da independência é positivo (azul) ou negativo (vermelho).
[ Mosaic Display ] exibe dados em uma plotagem em mosaico. Este tipo de gráfico apresenta a representação gráfica de uma tabela de frequência bidirecional ou de uma tabela de contingência. É usado para visualizar dados de duas ou mais variáveis qualitativas. Oferece ao usuário meios para reconhecer mais eficientemente as relações entre diferentes variáveis.
[ FreeViz ] exibe a projeção FreeViz, que usa um paradigma emprestado da física de partículas: pontos na mesma classe se atraem, aqueles de classes diferentes se repelem e as forças resultantes são exercidas nas âncoras dos atributos, isto é, em vetores unitários de cada uma das dimensões. Os pontos não podem se mover (são projetados no espaço de projeção), mas as âncoras de atributo podem, portanto, o processo de otimização é uma otimização de subida de montanha, onde no final as âncoras são colocadas de modo que as forças estejam em equilíbrio. O botão Otimizar é usado para invocar o processo de otimização.
[ Linear Projection ] método de projeção linear com análise exploratória de dados. Esta ferramenta exibe projeções lineares de dados rotulados de classe. Suporta vários tipos de projeções, tais como análise discriminante circular, linear, análise de componentes principais, projeção personalizada.
[ Radviz ] É uma técnica de visualização multidimensional não linear que pode exibir dados definidos por três ou mais vari-
áveis em uma projeção bidimensional. As variáveis visualizadas são apresentadas como pontos de ancoragem igualmente espaçados ao redor do perímetro de um círculo unitário. As instâncias de dados são mostradas como pontos dentro do círculo, com suas posições determinadas por uma metáfora da física: cada ponto é mantido no lugar com molas que são conectadas na outra extremidade às âncoras variáveis. A rigidez de cada mola é proporcional ao valor da variável correspondente e o ponto termina na posição em que as forças da mola estão em equilíbrio. Antes da visualização, os valores das variáveis são escalonados para ficar entre 0 e 1. As classes de dados que estão próximas de um conjunto de variáveis têm valores mais altos para essas variáveis do que para as outras.
[ Heat Map ] plota um mapa de calor para um par de atributos. O mapa de calor é um método gráfico para visualizar valores de atributos por classe em uma matriz bidirecional. Só funciona em conjuntos de dados contendo variáveis contínuas. Os valores são representados por cor: quanto maior for um determinado valor, mais escura será a cor representada. Combinando classes e atributos nos eixos x e y, vemos onde os valores dos atributos são mais fortes e os mais fracos, permitindo encontrar características típicas (discretas) ou de valores (contínuas) para cada classe.
[ Venn Diagram ] plota um diagrama de Venn para dois ou mais subconjuntos de dados. A ferramenta apresenta relações lógicas entre conjuntos de dados. Esta projeção mostra dois ou mais conjuntos de dados representados por círculos de cores diferentes. As interseções são subconjuntos que pertencem a mais de um conjunto de dados. Para analisar ou visualizar ainda mais o subconjunto, deve-se clicar na interseção.
[ Silhouette Plot ] oferece uma representação gráfica da consistência dentro de clusters de dados, fornecendo ao usuário os meios para avaliar visualmente a qualidade do cluster. A pontuação da silhueta é uma medida sobre como um objeto é semelhante ao seu próprio cluster em comparação a outros clusters; e é crucial na criação de um gráfico de silhueta. A pontuação da silhueta próxima a 1 indica que a classe de dados está próxima do centro do cluster e que as classes que
possuem pontuações de silhuetas próximas a 0 estão na fronteira entre dois clusters.
[ Pythagorean Tree ] fractais planos que podem ser usados para representar hierarquias gerais de árvores, sendo usados para visualizar e explorar alguns modelos de árvores de classificação ou regressão.
[ Pythagorean Forest ] mostra todos os modelos de árvore de decisão extraídos com a ferramenta Random Forest. Ele exibe então como Árvores Pitagóricas, podendo cada visualização pertencer a uma árvore construída aleatoriamente. Na visualização, pode-se selecionar uma árvore e exibi-la na ferramenta Árvore Pitagórica. A melhor árvore é aquela com os ramos mais curtos e mais fortemente coloridos. Isso significa que poucos atributos dividem bem os ramos. A ferramenta apresenta resultados de classificação e regressão. A classificação requer uma variável de destino discreta no conjunto de dados, enquanto a regressão requer uma variável de destino contínua. Ainda assim, ambos devem ser alimentados com uma Árvore na entrada.
[ CN2 Rule Viewer ] projetado para funcionar mesmo quando os dados de treinamento são imperfeitos. É baseado em ideias do algoritmo AQ e do algoritmo ID3). A ferramenta exibe regras de classificação CN2. Se os dados também estiverem conectados, na seleção de regras, é possível analisar quais instâncias obedecem às condições.
[ Nomogram ] oferecem visualização de classificadores Naive Bayes e Regressão Logística. É um diagrama representando as relações entre três ou mais grandezas variáveis por meio de um número de escalas, dispostas de modo que o valor de uma variável possa ser encontrado por uma construção geométrica simples, por exemplo, desenhando uma linha reta cruzando as outras escalas de valores apropriados. A ferramenta permite a representação visual de alguns classificadores (mais precisamente, classificador Naive Bayes e classificador de regressão logística), oferecendo uma visão sobre a estrutura dos dados e os efeitos dos atributos nas probabilidades de classe. Além da visualização do classificador, a ferramenta oferece suporte interativo à previsão de probabilidades de classe.
[ Constant ] produz um modelo que sempre prevê a maioria para tarefas de classificação e valor médio para tarefas de regressão. Para classificação, ao predizer o valor da classe com Previsões, a ferramenta retornará frequências relativas das classes no conjunto. Quando há duas ou mais classes majoritárias, o classificador escolhe aleatoriamente a classe prevista, mas sempre retorna a mesma classe para um exemplo específico. Para regressão, aprende a média da variável de classe e retorna um preditor com o mesmo valor médio. A ferramenta é normalmente usada como base para outros modelos.
[ Box Plot ] CN2 Rule Induction: induz regras de dados usando o algoritmo CN2, que é uma técnica de classificação projetada para a indução eficiente de regras simples e compreensíveis, mesmo em domínios onde o ruído pode estar presente.
[ KNN ] faz previsões de acordo com as classes mais próximas. A ferramenta kNN usa o algoritmo kNN que procura k exemplos de classes mais próximas no espaço de recursos e usa sua média como previsão.
[Tree ] algoritmo de árvore com divisão direta. É um algoritmo simples que divide os dados em nós por classe. É um precursor do Random Forest. Árvore no Orange é projetada internamente e pode processar conjuntos de dados discretos e contínuos.
[ Random Forest ] faz previsão usando um conjunto de árvores de decisão. É um método de aprendizado usado para classificação, regressão e outras tarefas. Esta ferramenta cria um conjunto de árvores de decisão, onde cada árvore é desenvolvida a partir de uma amostra de dados. O Random Forest funciona para tarefas de classificação e regressão.
Cada grupo de Ferramentas oferece um conjunto de recursos que serão apresentadas a seguir (ORANGE VISUAL PROGRAMMING, 2018):
[ SVM - Support Vector Machines ] mapeiam entradas para espaços de características de dimensões mais altas. O SVM é uma técnica de aprendizado de máquina que separa o espaço de atributo com um hiperplano, maximizando assim a margem entre as diferentes classes ou valores de classe. A técnica geralmente produz resultados de desempenho preditivo ótimos. O Orange incorpora uma implementação popular do SVM do pacote LIBSVM. Esta Ferramenta é a interface gráfica com o usuário. Para tarefas de regressão, o SVM realiza a regressão linear em um espaço de recurso de alta dimensão. Sua precisão de estimativa depende de um bom ajuste dos parâmetros. A ferramenta gera previsões de classe com base em uma Regressão SVM. A ferramenta funciona para tarefas de classificação e regressão.
[ Linear Regression ] Um algoritmo de regressão linear com opcionais L1 (LASSO), L2 (crista) ou L1L2 (rede elástica). A ferramenta constrói um preditor que aprende uma função linear a partir de seus dados de entrada. O modelo pode identificar a relação entre um preditor x e a variável de resposta y. Além disso, os parâmetros de regularização Lasso e Ridge podem ser especificados. A regressão de LASSO minimiza uma versão da função de perda de mínimos quadrados com norma L1 e regularização de Ridge com norma L2. A Regulação linear funciona apenas em tarefas de regressão
[ Logistic Regression ] representa o algoritmo de classificação de regressão logística com regularização LASSO (L1) ou cume (L2). A Regressão Logística aprende um modelo de Regressão Logística a partir dos dados. Só funciona para tarefas de classificação.
[ Naive Bayes ]representa um classificador probabilístico rápido e simples baseado no teorema de Bayes com a su-
posição de independência de recursos. Naive Bayes aprende um modelo Naive Bayesiano a partir dos dados. Só funciona para tarefas de classificação.
[ AdaBoost - Adaptive boosting ]é um meta-algoritmo conjunto que combina aprendizagem fraca e se adapta à dureza de cada amostra utilizada. A ferramenta é um algoritmo de aprendizado de máquina, que pode ser usada com outros algoritmos de aprendizado para melhorar seu desempenho. O AdaBoost funciona tanto para classificação como para regressão.
[ Neural Network ] é um algoritmo perceptron multicamadas (MLP) com retropropagação. A ferramenta usa o algoritmo Perceptron multicamadas de sklearn, que pode aprender modelos não lineares e lineares.
[ Stochastic Gradient Descent ] usa gradiente descendente estocástico que minimiza uma função de perda escolhida com uma função linear. O algoritmo aproxima um gradiente verdadeiro considerando uma amostra por vez e atualiza o modelo simultaneamente com base no gradiente da função de perda. Para regressão, ele retorna preditores como minimizadores da soma, ou seja, estimadores M, e é especialmente útil para conjuntos de dados de larga escala e esparsos.
[ Save Model ] salva um modelo em um arquivo de saída.
[ Load Model ] carrega um modelo de um arquivo de entrada.
[ Test & Score ] testa algoritmos de aprendizado com esquemas de amostragem diferentes disponíveis, inclusive usando dados de teste separados. A ferramenta faz duas coisas: mostra uma tabela com diferentes medidas de desempenho do classificador, como a precisão da classificação e a área sob a curva; e gera resultados de avaliação, que podem ser usados por outras ferramentas para analisar o desempenho de classificadores, como Análise de ROC.
[ Predictions ] recebe um conjunto de dados e um ou mais preditores (classificadores), produzindo os dados e as previsões.
[ Confusion Matrix ] fornece o número ou proporção entre a classe prevista e a atual. A seleção dos elementos na matriz alimenta as classes correspondentes no sinal de saída. Desta forma, podem-se observar quais unidades específicas foram classificadas erroneamente e como. A ferramenta geralmente obtém os resultados da avaliação do Test & Score.
[ ROC Analysis ] apresenta curvas ROC para os modelos testados e o elemento convexo correspondente. Serve como um meio de comparação entre modelos de classificação. A curva plota uma taxa de falso positivo em um eixo x (1-especificidade; probabilidade de que meta = 1 quando valor verdadeiro = 0) contra uma taxa positiva verdadeira em um eixo y (sensibilidade; probabilidade que meta = 1 quando valor verdadeiro = 1). Quanto mais próxima a curva segue a borda esquerda e, em seguida, a borda superior do espaço ROC, mais preciso é o classificador. Dados os custos de falsos positivos e falsos negativos, a ferramenta também pode determinar o classificador e o limite ideais.
[ Lift Curve ] mede o desempenho de um
Cada grupo de Ferramentas oferece um conjunto de recursos que serão apresentadas a seguir (ORANGE VISUAL PROGRAMMING, 2018):
classificador escolhido em relação a um classificador aleatório. A curva de aumento mostra a relação entre o número de classes que foram previstas positivas e aquelas que são de fato positivas e, portanto, mede o desempenho de um classificador escolhido em relação a um classificador aleatório. O gráfico é construído com o número cumulativo de casos (em ordem decrescente de probabilidade) no eixo x e o número cumulativo de positivos verdadeiros no eixo y. A curva de elevação é frequentemente usada na segmentação da população. Você também pode determinar o classificador ideal e seu limite no gráfico.
[ Calibration Plot ] mostra a correspondência entre as previsões de probabilidade dos classificadores e as probabilidades de classe reais
[ Distance File ] Carrega a distância existente em um arquivo.
[ Distance Matrix] permite a visualização das medidas de distância em uma matriz de distância. A ferramenta cria uma matriz de distância, que é um array bidimensional contendo as distâncias, tomadas em pares, entre os elementos de um conjunto. O número de elementos no conjunto de dados define o tamanho da matriz. As matrizes de dados são essenciais para o agrupamento hierárquico.
[ Distance Map ] o mapa permite a visualização de distâncias entre objetos. A visualização é a mesma impressa numa tabela de números, sendo os números
substituídos por pontos coloridos. As distâncias são mais frequentemente aquelas entre classes (linhas na ferramenta Distâncias) ou atributos (colunas na ferramenta Distâncias). A única entrada adequada para o Mapa de distância é a ferramenta Distâncias. Para a saída, o usuário pode selecionar uma região do mapa e a ferramenta gerará as classes ou atributos correspondentes. Observe também que a ferramenta Distâncias ignora valores discretos e calcula distâncias apenas para dados contínuos, portanto, ele só pode exibir o mapa de distância para dados discretos se você os transformá-los em contínuos primeiro.
[ Hierarchical Clustering ] calcula o agrupamento hierárquico de tipos arbitrários de objetos a partir de uma matriz de distâncias e mostra um dendrograma (gráfico) correspondente.
[ Manifold Learning ] técnica que encontra uma variedade não-linear dentro do espaço da dimensão superior. A ferramenta gera novas coordenadas que correspondem a um espaço bidimensional. Tais dados podem ser posteriormente visualizados com o Scatter Plot ou outras ferramentas de visualização.
[ k-Means ] aplica o algoritmo de armazenamento em cluster k-Means aos dados e gera um novo conjunto de dados no qual o índice de cluster é usado como um atributo de classe.
[ PCA - Análise de Componentes Principais ] calcula a transformação linear por Análise de Componentes Principais de dados de entrada, gerando um conjunto de dados transformado com pesos de classes individuais ou pesos de componentes principais.
[ Correspondence Analysis ] processa a Análise de Correspondência para dados
multivariados categóricos, calculando a transformação linear da Análise de Correspondência dos dados de entrada. Embora seja semelhante ao PCA, a Análise de Correspondência calcula a transformação linear em dados discretos em vez de contínuos.
[ Distances ] calcula distâncias entre linhas ou colunas em um conjunto de dados.
[ Distance Transformation ] transforma distâncias em um conjunto de dados. A ferramenta é usada para a normalização e inversão de matrizes de distância. A normalização dos dados é necessária para trazer todas as variáveis em proporção umas com as outras.
[ MDS ] técnica que encontra uma projeção de pontos de baixa dimensão (bidimensionais), onde tenta ajustar as distâncias entre os pontos da melhor forma possível. O ajuste perfeito é normalmente impossível de obter, pois os dados são de alta dimensão ou as distâncias não são euclidianas. Na entrada, a ferramenta precisa de um conjunto de dados ou uma matriz de distâncias. Ao visualizar distâncias entre linhas, pode-se também ajustar a cor dos pontos, alterar sua forma, marcá-los e enviá-los após a seleção. O algoritmo movimenta iterativamente os pontos em torno de uma espécie de simulação de um modelo físico: se dois pontos estão muito próximos um do outro (ou muito longe), há uma força que os separa (ou junta). A mudança da posição do ponto em cada intervalo de tempo corresponde à soma das forças que atuam sobre ele.
[ Save Distance Matrix ] salva uma matriz de distância.
[ Corpus ] carregar os corpos de texto de arquivos e envia um conjunto de dados de um corpus para seu canal de saída. O histórico dos arquivos abertos mais recentemente é mantido na ferramenta, que também pode incluir um diretório com corpo de amostra pré-instalado com o complemento.
[ Import Documents ] importa arquivos de texto de pastas e cria um corpus. Lê arquivos do tipo .txt, .docx, .odt, .pdf e .xm
[ The Guardian ] busca dados da plataforma dos artigos da API do The Guardian.
[ NY Times ] busca e carrega dados da API de pesquisa de artigos do New York Times. A ferramenta busca e carrega que podem ser consultar artigos do NYTimes desde 18 de setembro de 1851 limitado à 1000 ‘documentos por consulta, definida pela para a recuperação. Defina quais recursos usar para mineração de texto, sendo cabeçalho e resumo selecionados default. O uso da ferramenta demanda a informação de chave de API própria.
[ PubMed ] busca dados de revistas PubMed. A ferramenta permite consulta e recuperação de entradas para acesso a mais de 26 milhões de citações de literatura biomédica da MEDLINE, revistas de ciências da vida e livros on-line, possibilitando pesquisas regulares ou a partir de consultas avançadas.
[ Twitter ] busca e carrega dados da API de pesquisa do Twitter, permitindo a consulta de tweets. Através da ferramenta podem-se fazer consultas por conteúdo, autor ou ambos e acumular resultados caso deseje criar um conjunto de dados maior. A ferramenta suporta apenas a API REST e permite consultas até duas semanas anteriores
Cada grupo de Ferramentas oferece um conjunto de recursos que serão apresentadas a seguir
(ORANGE VISUAL PROGRAMMING, 2018):
[ Wikipedia ] busca textos da API do Wikipedia, sendo útil principalmente para ensino e demonstração.
[ Preprocess Text ] faz o pré-processamento do corpus de um texto em desenvolvimento com métodos selecionados. A ferramenta divide o texto em unidades menores (tokens), filtra-as, executa a normalização (stemming, lematização), cria n-gramas e etiquetas menores com rótulos de parte do conteúdo. As etapas da análise são aplicadas sequencialmente e podem ser ativadas ou desativadas.
[ Bag of Words ] gera uma bolsa de palavras a partir do corpus de entrada. A ferramenta cria um corpus com contagens de palavras para cada documento. A contagem pode ser absoluta, binária (contém ou não contém) ou sublinear (logaritmo da frequência do termo).
[ Similarity Hashing ] computa documentos hashes .
[ Sentiment Analysis ] faz a previsão de sentimento (inglês) de cada documento em um corpus utilizando os métodos Liu Hu (análise do sentimento baseado em léxico) e Vader (análise de sentimentos baseada em léxico e regra) de NLTK (Natural Language Toolkit).
[ Tweet Profiler ] processa detecção de sentimentos de Ekman, Plutchik ou perfil de Mood States em tweets. A ferramenta de análise de sentimentos de tweets pode produzir classes, probabilidades e incorporações.
[ Topic Modelling ] descobre os tópicos ocultos em um corpus através de clusters de palavras encontrados em cada documento e em suas respectivas frequências. Tendo em vista que os documentos, em geral, contém vários tópicos em proporções diferentes, a ferramenta
também informa o peso do tópico por documento.
[ Corpus Viewer ] utilizada para a visualização de arquivos de texto, produzindo um conjunto de corpus.
[ Word Cloud ] estrutura nuvens de palavras do corpus. A ferramenta mostra tokens (unidades menores) no corpus, e seu tamanho denota a frequência da palavra, listando as palavras por sua frequência (peso). A ferramenta gera documentos, contendo tokens selecionados da nuvem de palavras.
[ Concordance ] exibe o contexto das palavras. A ferramenta localiza a palavra consultada em um texto e exibe o contexto no qual essa palavra é usada. Pode imprimir documentos selecionados para análise posterior.
[ GeoMap ] mostra a geolocalização de dados textuais (string). Ele encontra menções de nomes geográficos (países e capitais) e exibe distribuições (frequência de menções) desses nomes em um mapa. Ele funciona com qualquer ferramenta do Orange que produza uma tabela de dados e que contenha pelo menos um atributo de cadeia. A ferramenta gera conjuntos de dados selecionados, com todos os documentos que contêm menções de um país (ou países) selecionado(s).
[ Word Enrichment ] enriquece a análise de palavras para documentos selecionados, a partir da comparação entre um subconjunto selecionado e o corpus inteiro.
[ Duplicate Detection ] detecta e remove duplicações de um corpus.
O conteúdo informado nesta seção foi elaborado a partir de informações disponíveis no site da ferramenta Orange.
A Mineração de Textos, também conhecida como Descoberta de Conhecimento de Texto, refere-se ao processo de extrair conhecimento a partir de textos desestruturados. O processo de mineração de texto passa por cinco etapas (SETTE, 2016): coleta, pré-processamento, indexação, mineração e análise.
Coleta
Pré - processamento
Formação da base de decumentos do corpus. Robôs de Crawling atuando em qualquer ambiente. Preparação dos dados. Processamento de Linguagem Natural.
É a etapa inicial e tem como objetivo formar uma base de dados textual, conhecida na literatura como Corpus ou Corpora. Pode se dar de várias maneiras, porém todas necessitam de grande esforço, a fim de se conseguir material de qualidade e que sirva de matéria-prima para a aquisição de conhecimento. Basicamente, são três os principais ambientes de localização das fontes: pastas de arquivos encontradas no disco rígido dos usuários/servidores, tabelas de diversos bancos de dados e a Internet.
Indexação
Objetivo, acesso rápido, busca. Recuperação de informaçã (IR).
é a etapa executada imediatamente após a Coleta e tem como objetivo realizar alguma formatação na massa textual.
Mineração
Cálculos, inferências e extração de conhecimento.
Análise
Análise humana, navegação. leitura e interpretação de dados.
[ Remoção de StopWords ] Stopwords são palavras que ocorrem frequentemente em textos. Uma vez que elas são muito comuns, sua presença não contribui significativamente para a determinação do conteúdo do documento. Logo, elas podem ser removidas do documento, para fins de Text Mining. Exemplos são: “isso”, “a”, “de”, etc. O algoritmo varre todo o texto em questão à procura das palavras contidas nesta lista, removendo-as ao encontrá-las.
Figura 9 - Área de trabalho da Orange - Fonte: MORAIS, 2007.Tokenization é o primeiro passo da etapa de pré-processamento e sua execução tem como finalidade extrair unidades mínimas de texto a partir de um texto livre. Cada unidade é chamada de token e que, na grande maioria das vezes, corresponde a uma palavra do texto, podendo também estar relacionado a mais de uma palavra, símbolo ou caractere de pontuação. Exemplo, a frase “Maria foi a feira com Zezé” possui seis tokens, conforme mostra o exemplo abaixo:
“Maria foi a feira com Zezé”
[Maria] [foi] [a] [feira] [com] [Zezé]
Na Orange, a tokenização poderá ser feita através das opções: Word & Punctuation, Whitespace, Sentence, Regexp, Tweet (Twitter)
[
É a técnica de redução de Léxico que se baseia no agrupamento de tokens que compartilham de um mesmo padrão. Existem diversas abordagens de agrupamento, que vão desde a identificação morfológica do token até o reconhecimento de sinônimos e conceitos similares.
Stemming: O processo de stemming concentra-se na redução de cada palavra do léxico, até que seja obtida a raiz da palavra. Desta maneira, tem-se como principal benefício a eliminação de sufixos que indicam variação na forma da palavra, como plural e tempos verbais. Os algoritmos em geral não se preocupam com o uso do contexto no qual a palavra se encontra, e esta abordagem parece não ajudar muito na mineração. Por exemplo, as palavras “aprendendo” e “aprendido” são ambas convertidas para o stem “aprend”. No Orange, os métodos disponíveis são: Porter Stemmer e Snowball Stemmer com opção de selecionar o idioma Português BR.
Lemmatization: Substitui as diversas formas de representação da palavra pela forma primitiva. As formas “livro”, “livros” e “livraria” apontam todas para a palavra “livro”. Este método tem a vantagem de manter uma estrutura que preserva o sentido das palavras, ao contrário dos métodos de stemming. No Orange, os métodos disponíveis são: WordNet Lemmatizer e UDPipe Lemmatizer com opção de selecionar o idioma Português BR
é o processo que organiza todos os termos adquiridos a partir de fontes de dados, facilitando o seu acesso e recuperação. Uma boa estrutura de índices garante rapidez e agilidade ao processo, tal como funciona o índice de um livro, por exemplo.
é responsável pelo desenvolvimento de cálculos, inferências e algoritmos e que tem como objetivo a extração de conhecimento, descoberta de padrões e comportamentos. A fase de Mineração envolve decidir quais algoritmos deverão ser aplicados sobre o conjunto de dados desenvolvida até o momento. Para tanto, deve se optar por uma ou mais Tarefas de Mineração, que nada mais é do que decidir o que se quer obter de informação. Por exemplo, se a necessidade de informação é obter o relacionamento entre documentos, verificando o grau de similaridade e a formação de grupos naturais, então a tarefa a ser escolhida é a clusterização. Por outro lado, se estes grupos de documentos já existem, seja pela execução de algoritmos ou pelo conhecimento prévio de especialistas, então a indicação é utilizar um algoritmo de classificação.
é a última etapa e deve ser executada por pessoas que, normalmente, estão interessadas no conhecimento extraído e que devem tomar algum tipo de decisão apoiada no processo de Mineração de Texto.
Após essa introdução sobre as etapas da mineração de texto, vamos colocar a mão na massa e apresentar um passo a passo de como fazer mineração de texto com a ferramenta Orange.
As eleições no Brasil, não são algo contínuo, tendo passado por duas ditaduras que privaram a população de exercer o voto, também alternância entre partidos e mudanças durante esse processo, por isso podemos destacar que a democracia é jovem em nosso país e sua população está aprendendo a lidar com essa realidade. O Tribunal Superior Eleitoral (TSE) trabalha para tornar mais transparente e capacitar o eleitor a tomar a melhor decisão com base na sua posição ideológica e partidária com informação adequada. Uma dessas ferramentas é o acesso aos planos de governo de cada partido. Disponíveis no site do tribunal são obrigatórios para a validação da candidatura. Para Vilhena (2016) a leitura do plano de governo é a etapa de analisar as possíveis ações e comparar com a realidade apresentada, assim podendo ver se existe uma lógica com o discurso e as verdadeiras necessidades da população.
A escolha da análise dos planos de governo se deu por se tratar de uma investigação imparcial dos termos uma vez que cada partido produz seu próprio plano e o TSE os divulga em seu site. Assim, não hou-
ve nenhuma influência dos pesquisadores ou de meios externos no conteúdo dos textos selecionados. Sendo assim, o objetivo é analisar através de uma mineração de texto os planos de governo de oito candidatos à Presidência da República: Jair Bolsonaro (PSL), Fernando Haddad (PT), Ciro Gomes (PDT), Geraldo Alckmin (PSDB), Marina Silva (Rede), Henrique Meirelles (MDB), João Amoêdo (Novo), Guilherme Boulos (PSOL).
Diante de tantos candidatos presidenciáveis com opiniões e posições tão diferentes entre eles, visivelmente apresentadas na campanha eleitoral, será que é possível identificar similaridades entre os planos de governo? Para identificar as relações entre os textos, utilizaremos a técnica de Clusterização com o Orange Canvas. Para Madeira(2015), a clusterização (clustering) ou agrupamento é a fase onde os dados são separados em grupos semelhantes chamados clusters. “A ideia é que pontos com atributos similares estejam em um mesmo cluster, enquanto pontos com atributos diferentes devem pertencer a clusters distintos”. A igualdade entre os atributos é feita através de medidas de similaridade, como por exemplo a distância euclidiana e o coeficiente de correlação de Pearson. O agrupamento é um processo de aprendizado não-supervisionado, desta forma não é necessário que haja categorização dos registros a posteriori. Bora clusterizar?
Primeiramente, crie uma estrutura de pastas em seu computador, como por exemplo: mineracao-texto > planos, para armazenar os documentos que servirão de material para a coleta de informações e pré-processamento dos dados coletados. Depois, acesse o site do TSE e faça o download dos planos de governo de cada candidato e coloque dentro da pasta planos criada anteriormente. O resultado será algo semelhante à figura 10.
Os planos de governo apresentam alguns conteúdos desnecessários, sendo preciso uma limpeza
no documento. Para isso, instale em seu computador o aplicativo ‘ Creator para editar as páginas contidas no arquivo PDF, a fim de remover aquelas páginas que não tem significado textual para a ferramenta de mineração de texto tais como: capa, sumário e imagem do candidato.
Acesse o site <https://gist. github.com/alopes/5358189> e copie as palavras e cole no arquivo texto. Você irá observar que será necessário adicionar outras palavras durante o processo de mineração, quando visualizar os resultados exibidos na nuvem de tags. Neste caso, abra o arquivo e adicione as palavras que você precisa remover do resultado final.
Logo após, crie um arquivo no bloco de notas chamado stopwords txt e coloque na pasta mineracao-texto. Para iniciar um conjunto de palavras, acesse o site github.com/alopes/5358189> as palavras e cole no arquivo texto. Você irá observar que será ne cessário adicionar outras palavras du rante o processo de mineração, quan do visualizar os resultados exibidos na nuvem de tags. Neste caso, abra o arquivo e adicione as palavras que você precisa remover do resultado final. Uma vez concluída essa etapa, abra a ferramenta Orange Canvas. Uma tela semelhante a figura 13 irá aparecer. Selecione a opção New. A área de trabalho da ferramenta será exibida para você iniciar colocar os componentes.
Abra o grupo de ferramentas Text Mining, localizada na lateral esquerda, e clique sobre o componente Import Components. Ele aparecerá na área de trabalho. Com um duplo clique sobre Import Components, abrirá suas configurações. Selecione o diretório planos que contém os 8 planos de governo. A ferramenta Orange iniciará o trabalho de trazer para a memória os documentos que estão dentro da pasta.
Ao concluir, uma tela igual da figura 15 aparecerá. Observe que foram carregados 8 documentos. Feche a tela no X.
Para visualizar se os planos foram carregados corretamente, arraste na área de trabalho o componente Corpus Viewer e conecte ao componente Import Documents
Com duplo clique sobre Corpus Viewer, você conseguirá visualizar o conteúdo importado.
Dando continuidade, vamos selecionar os campos importantes que devem ser pré-processados. Esse procedimento será realizado, porque existem informações desnecessárias que vem junto na importação como a localização (path) do arquivo no computador.
Remova o componente Corpus Viewer da área de trabalho e clique sobre o componente Select Columns do grupo Data. Ligue os dois componentes e dê duplo clique sobre o Select Columns que está na área de trabalho. Abrirá a tela de configurações semelhante a figura
18. Note que a coluna path foi removida da área de Meta Attributes. Faça o mesmo! Deixe apenas as colunas name e content.
Feche a tela no X.
O próximo passo é colocar o componente de pré-processamento. No grupo Text Mining, clique sobre o componente Preprocess Text. Conecte os componentes Preprocess Text e Select Columns. Até o momento, a sua tela deverá estar igual a figura 19.
Com duplo clique sobre o componente Preprocess Text, abrirá a tela de configurações, conforme figura 20.
[ Transformation ] selecione as opções: lowercase, parse html e remove urls
[ Tokenization ] deixe selecionado a opção Regexp e mantenha a informação \w+
[ Normalization ] deixe desabilitado para visualizar as palavras comple-
tas. Depois faça um teste habilitando e selecionando as opções Stemmer e Lemmatizer.
[ Filtering ] marque a opção Stopwords, idioma Português e selecione o arquivo stopwords.txt criado anteriormente.
Figura 6 - Área de trabalho da Orange - Fonte: Orange, 2018Agora, vamos adicionar três componentes do grupo Text Mining a área de trabalho que será conectado a componente Preprocess Text:
[ Bag of Words ] Para contar o número de palavras dos documentos.
[ Corpus ] carregar um corpus de documentos de texto, podendo selecionar a categoria que será utilizada para filtragem.
[ Word Cloud ] Exibir as palavras que mais apareceram nos documentosFigura 21.
Agora a sua tela deverá estar igual a figura 22.
Adicione à área de trabalho o componente Data Table do grupo Data para visualizarmos a contagem de palavras dos documentos importados. Conecte esse novo componente ao Bag of Words. Com duplo clique sobre o componente Data Table será possível visualizar os dados estatísticos por palavra, como na figura 23.
Partimos agora para a parte mais interessante deste manual que é como utilizar a métricas de distâncias e clusterização para identificar as similaridades entre os textos. Será utilizado a métrica Euclidiana para realizar os cálculos, mas o Orange oferece também as métricas Manhattan e Cosine. Adicione na área de trabalho o componente Distances do grupo Unsupervised e conecte ao componente Bag of Words.
Agora, acrescente a área de trabalho o componente Hierarchical Clustering do grupo Unsupervised conectado ao componente Distances para visualizar as similaridades/ relação entre os planos de governo de cada candidato. O componente Hierarchical Clustering agrupa itens usando um algoritmo de agrupamento hierárquico.
A sua área de trabalho deve estar igual a figura 26.
Adicione o componente Distance Matrix do grupo Unsupervised conectado ao componente Distances. Esse componente permite a visualização das medidas de distância em uma matriz de distância entre os planos de governo.
Agora, vamos adicionar dois componentes do grupo Text Mining na área de trabalho.
Concordance: conecte aos componentes Word Cloud e Corpus Viewer. Esse componente localiza a palavra consultada em um texto e exibe o contexto no qual ela é usada.
Word Cloud: ligue ao componente Hierarchical Clustering. A nuvem de tag mostra os tokens do corpus, e seu tamanho denota a frequência com que a palavra é citada no texto.
Para visualizar o resultado, abra o componente Word Cloud e Concordance com duplo click, e deixe as telas lado a lado. Você vai observar que a janela do componente Concordance abrirá vazia, isso é normal. Clique sobre a palavras que gostaria de pesquisar e observe a alteração do contexto onde a palavra é mencionada.
A figura 29 mostra um exemplo.
Por último, para visualizar as palavras (Word Cloud) ligadas ao componente Hierarchical Clustering, abra os componentes com duplo clique e posicione as janelas lado a lado, como mostra a figura 30. Você vai observar que a janela da nuvem de tag abrirá vazia, isso é normal. Quais as palavras em comum escritas nos planos de governo de Alckmin e Amoedo?
Não esqueça de salvar o documento do Orange
Mas e se eu quiser fazer uma Classificação de Texto?
Para praticar um pouco essa outra técnica, fazemos uma Classificação utilizando o componente da Wikipé-
dia disponível no Orange Canvas para buscar o texto!! Você pode utilizar o componente Import Documents, também, se você já possuir o conjunto de textos para aplicar a técnica de Classificação. Fique a vontade de escolher a entrada dos dados na ferramenta.
Figura 6 - Área de trabalho da Orange - Fonte: Orange, 2018Adicione o componente Wikipédia na área de trabalho do Orange e com clique duplo abra as configurações.
No campo Query coloque o texto que você gostaria de buscar, juntamente com o idioma que você está pretendendo realizar a Classificação. Em nosso exemplo, faremos uma classificação sobre o assunto
computação no idioma português. Deixe marcado apenas a busca nos campos Title e Content. Clique no botão Search. Agora, acrescente o componente Corpus Viewer para visualizar o que trouxe do Wikipédia!
Figura 6 - Área de trabalho da Orange - Fonte: Orange, 2018 Figura 6 - Área de trabalho da Orange - Fonte: Orange, 2018Note que trouxe bastante coisa sobre mineração de texto! utilize o componente Corpus Viewer sempre que precisar consultar o retorno de entrada de dados, como Wikipédia, Twitter ou até mesmo do componente Import Documents.
Acrescente na área de trabalho mais dois componente Wikipédia com as Querys: futebol e MPB.
Depois de carregar, adicione à área de trabalho o componente Select Columns do grupo Data para selecionar as colunas úteis que vieram da busca e conecte ao primeiro componente Wikipédia.
Adicione o componente Select Columns, conecte-os em cada componente Wikipédia e faça as configurações necessárias conforme a imagem x (Selecionando as colunas).
Acabamos de criar três grandes grupos de texto dentro do Orange. O resultado até aqui deve ser igual da figura 34.
Agora, precisamos agrupar em uma única base esses grupos para mostrar ao algoritmo classificador o que é cada coisa. Para isso, adicione à área de trabalho o componente Concatenate do grupo Data e conecte a todos os componentes Select Co-
lumns que estão na área de trabalho. Depois, adicione o componente Data Table do grupo Data para visualizar os dados agrupados. Dê um duplo clique sobre o componente Data Table.
Agora, é necessário identificar os grupos de textos, pois ficou tudo misturado. Para separar o texto dos demais, abra o componente Concatenate e marque a opção Append data source IDs. No campo Feature name digite class, e no campo Place deixe selecionado a opção Class attribute.
Abra o componente Data Table e verifique o que aconteceu. Um resultado semelhante a figura 37 deverá estar aparecendo para você. Observe que o Orange classificou os grupos com o nome untitled (0), untitled (1) e untitled (2). Temos, agora, toda a nossa base de dados concatenada e cada uma com a sua classe.
Você deve estar interessado em ver a nuvem de palavras resultantes da concatenação. Neste caso, acrescente na área de trabalho os três componentes:
Select Columns: para selecionar a Target Variable e Meta Attributes. O valores são: class e Content, respectivamente.
Preprocess Text: utilize a mesma configuração apresentada no exemplo de Clusterização
Word Cloud: nuvem de tag relacionada às teorias de aprendizagem
Voltando, acrescente à área de trabalho o componente Bag of Words do grupo Text Mining para contar as palavras e conecte-o ao componente Preprocess Text.
Para você visualizar o resultado desse passo, acrescente o componente Data Table e conecte-o ao componente Bag of Words. Com um duplo clique sobre o componente Data
Table você terá uma tela semelhante ao da figura 40.
O nosso próximo passo a fazer é a avaliação de um algoritmo de aprendizagem de máquina usando a Bag of Words e qual será o nível de acerto dele.
Veja, iremos trabalhar com classificação e lembrando que quando se está trabalhando com classificação, dispomos de alguns algoritmos. Temos dois conceitos importantes: a acurácia (ou exatidão) e a precisão.
A acurácia (ou exatidão) indica o grau de concordância que há entre o resultado da medição e o dito valor verdadeiro (aquele que é aceito, desde que estabelecido por uma definição ou consenso) da grandeza. Da mesma forma, precisão é o grau de concordância entre resultados de
medição obtidos com o mesmo procedimento, e então método. Observe, que tanto exatidão quanto precisão são conceitos qualitativos. Utilizaremos a acurácia neste trabalho, para nos dar o nível de acerto. Para isso, acrescente na área de trabalho o componente Test & Score do grupo Evaluate e conecte ao componente Bag of Words a ele. É neste momento que as avaliações começam a serem feitas sobre os textos.
Neste roteiro, iremos trabalhar com dois algoritmos conhecidos de machine learning que são: Logistic Regression e Neural Network do grupo Model. Acrescente, também, o componente Test & Score do grupo Evaluate para visualizar o desempenho dos algoritmos de Classificação.
Com os dados pesquisado no componente
Wikipédia (MPB, computação e futebol), pode-se observar que ambos algoritmos aprenderam as características dos textos e obtiveram uma acurácia (CA) acima de 90%. No entanto, o algoritmo de regressão classificou melhor o texto.
As configurações dos componentes Neural Network e Logic Regression são apresentadas na figura 43.
Agora chegou o momento mais esperado! faremos uma previsão de classificação. Antes disso, desconecte os componentes Neural Network e Logic Regression do componente Test & Scores e conecte o componente Bag of Words neles. Agora, acrescente na área de trabalho os nossos conhecidos componentes:
● Wikipédia: Nos campos: Query escreva apenas Djavan, Articles per query deixe selecionado 5, em vez de 10 e traga apenas os conteúdos dos textos (Content), desmarcando a opção Title. Siga as configurações da figura 44.
● Select Columns: No campo Meta Attributes deixe selecionado apenas o item Content
● Preprocess Text: mesma configuração deste componente descritos nos passos anteriores
● Bag of Words
O algoritmo de classificação é que vai nos dizer se os textos obtidos sobre Djavan estarão mais relacionados à: MPB ou Computação ou futebol. Neste momento, acrescente na área de trabalho o componente Predictions do grupo Evaluate e conecte nele
os componentes: Logistic Regression, Neural Network e Bag of Words (Djavan) que já constam na área de trabalho. Siga as instruções da figura 45.
Nosso algoritmo criou três classes quando os textos passaram pelo componente Concatenate, quando a opção Append data source IDs foi selecionada. Com base nessas classes - untitled (0), untitled (1) e untitled (2) - a predição foi realizada.
* untitled (0) = computação
* untitled (1) = futebol
* untitled (2) = MPB ou Música Popular Brasileira
Observe a exatidão da classificação. O item 4, no qual o algoritmo classificou como computação e futebol, não o fez corretamente. O texto sobre o Hino Nacional Africano faz menção ao cantor Djavan, porque ele cantou o referido hino em um momento de sua carreira, porém, não é de sua autoria.
Troque o termo de entrada da Wikipédia (Djavan) e veja o que acontecerá!
Assista o canal do Youtube sobre a Orange Data Mining (em Inglês)
https://www.youtube.com/channel/UClKKWBe2SCAEyv7ZNGhIe4g
--
Siga o canal do Sandeco no Youtube sobre a Orange Canvas (em Português)
https://www.youtube.com/channel/UCIQne9yW4TvCCNYQLszfXCQ/videos
ARANHA, Christian; PASSOS, Emmanuel. A Tecnologia de Mineração de Textos. RESI: Revista Eletrônica de Sistemas de Informação, Curitiba, v.5, n.2, 2006. Disponível em: http://www.periodicosibepes.org.br/index.php/reinfo/article/view/171. Acesso em: 9 nov. 2018.
BRITO, Edeleon Marcelo Nunes. Mineração de Textos: Detecção automática de sentimentos em comentários nas mídias sociais. Orientador: Luiz Cláudio Gomes Maia. 83f. Dissertação (Mestrado em Sistemas de Informação e Gestão do Conhecimento) - Faculdade de Ciências Empresariais, Universidade Fundação Mineira de Educação e Cultura, Belo Horizonte, 2017. Disponível em: http://www.fumec.br/revistas/sigc/article/view/4951/2543. Acesso: 20 nov. 2018.
MADEIRA, Renato de Oliveira Caldas. Aplicação de técnicas de mineração de texto na detecção de discrepâncias em documentos fiscais. Orientador: Renato Rocha Souza. 66f. Dissertação (mestrado) – Fundação Getulio Vargas, Escola de Matemática Aplicada, Rio de Janeiro, 2015. Disponível em: https://bibliotecadigital.fgv.br/dspace/bitstream/handle/10438/14593/TEXTO%20 DISSERTA%C3%87%C3%83O%20VFINAL1.pdf. Acesso em: 30 nov. 2018
MORAIS, E. A.; AMBRÓSIO, A.P.L. Mineração de Textos. Goiânia: ed. UFG, 2007. Disponível em: https://goo.gl/3sW3SS. Acesso em: 9 nov. 2018.
MORAIS, Edison Andrade Martins. Contextualização de Documentos em Domínios Representados por Ontologias Utilizando Mineração de Textos. Orientador: Ana Paula Laboissière Ambrósio. 2007. 113f. Dissertação ( Mestrado em Ciência da Computação) - Instituto de Informática, Universidade Federal de Goiás, Goiânia, 2007. Disponível em: https://goo.gl/efmiBK. Acesso em: 20 nov. 2018.
ORANGE: Visual Programming. Manual. Liubliana: Orange, 2015. Disponível em: https://orange-visual-programming.readthedocs.io/loading-your-data/index.html. Acesso em: 16 nov. 2018.
PEZZINI, Anderson. Mineração de Textos: Conceito, Processo e Aplicações. REAVI: Revista Eletrônica do Alto Vale do Itajaí, Florianópolis, v.5, n.8, p. 58-61, 2016. Disponível em: https://goo.gl/ ug8Yej. Acesso em: 9 nov. 2018.
SERAPIÃO, P. R. B. et al. Uso de mineração de texto como ferramenta de avaliação da qualidade informacional em laudos eletrônicos de mamografia. Radiol Bras.,São Paulo, p. 103-107, mar./abr. 2010. Disponível em: http://www.scielo.br/pdf/rb/v43n2/a10v43n2.pdf. Acesso em: 9 nov. 2018.
SETTE, Bruno Silva; MARTINS, Claudia Aparecida. Pré-processamento textual para extração de informação em bases de patentes.In: Escola Regional de Informática, 7., 2016, Rondonópolis. Anais eletrônicos[...]. Mato Grosso: UFMT, 2016. Disponível em: http://anaiserimt. ic.ufmt.br/index.php/erimt/article/view/61. Acesso em: 20 nov. 2018.
SOARES,Fábio de Azevedo. Mineração de textos na coleta inteligente de dados na web. Orientador: Emmanuel Piseces Lopes Passos, Marley Maria Bernardes Rebuzzi Vellasco. 2008, 120f. Dissertação (Doutorado em Engenharia Elétrica) - Faculdade Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, 2008. Disponível em: https://www.maxwell. vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=13212@1. Acesso em: 9 nov. 2018.
TRIBUNAL SUPERIOR ELEITORAL. Concluída a totalização de votos do 1º turno das eleições 2018. Brasília: TSE, 2018. Disponível em: https://goo.gl/G9V8vb. Acesso em 9 nov. 2018.
_________________. Propostas de governo dos candidatos ao cargo de Presidente da República. Brasília: TSE, 2018. Disponível em: http://www.tse.jus.br/eleicoes/eleicoes-2018/ propostas-de-candidatos. Acesso em 9 nov. 2018.
VILHENA, Renata. Plano de governo: o que é primordial na construção do planejamento de gestão?. Instituto Teotônio Vilela, Brasília, 2 ago. 2016. Disponível em: https://goo.gl/6aFH1H. Acesso em: 9 nov. 2018.