# Pré-processamento de dados

O pré-processamento é um passo importante no processo de mineração de texto. A frase "garbage in, garbage out" é particularmente aplicável a projetos de data mining e machine learning. Os métodos de coleta de dados geralmente são frouxamente controlados, resultando em valores de intervalo out-of-range (por exemplo, renda: −100), combinações de dados impossíveis (por exemplo, sexo: masculino, grávidas: sim), missing values, etc. A análise de dados que não foram cuidadosamente selecionados para tais problemas pode produzir resultados enganosos. Assim, a representação e a qualidade dos dados são antes de tudo uma análise.
Muitas vezes, o pré-processamento de dados é a fase mais importante de um projeto de aprendizado de máquina, especialmente em biologia computacional.
É nessa etapa que os documentos são transformados para a forma numérica. O conteúdo de cada documento é decomposto em termos e a frequência de cada um. Os termos menos significativos são descartados e os que estão presentes em um grande número de documentos da coleção são desvalorizados. O resultado do pré-processamento é a geração da Bag of Words, mas conhecida como BOW, que é uma representação numérica da coleção de documentos.
A BOW é uma matriz esparsa, onde cada linha representa um documento (Di) e cada coluna representa um termo (Tj). E o valor do campo DiTj é o valor da frequência do termo Tj no documento Di.
Para gerar uma BOW são necessárias quatro etapas: leitura e conversão, extração e limpeza dos termos, contagem de termos e cálculo de frequência.
* Leitura: Nessa etapa é definida uma coleção de documentos e cada documento pertencente a essa coleção terá seu conteúdo carregado na memória e seguirá pelas etapas seguintes.
* Extração e limpeza dos termos: Cada documento da coleção vai ter o seu conteúdo dividido em termos, ou seja, cada palavra significante presente no documento. É composto por 3 sub-etapas.
** Tokenização: A tokenização é utilizada para decompor o documento em cada termo que o compõe. Os delimitadores utilizados para tokenização geralmente são: o espaço em branco entre os termos, quebras de linhas, tabulações, e alguns caracteres especiais.
** Limpeza: Depois de fazer a tokenização cada termo obtido passa pela etapa de limpeza. Primeiro são removidos as stop words, depois é verificada a existência do sinônimo do mesmo no dicionário e por último é realizado o stemming do termo. Stop words é uma lista de termos não representativos para um documento, geralmente essa lista é composta por: preposições, artigos, advérbios, números, pronomes e pontuação.
** Stemming: Stemming é o método para redução de um termo ao seu radical, removendo as desinências, afixos, e vogais temáticas. Com sua utilização, os termos derivados de um mesmo radical serão contabilizados como um único termo.
* Contagem dos termos: Depois de extrair os termos representativos de cada documento, será calculado o número de ocorrências de cada termo num documento. Depois de concluída a contagem é criada uma lista com duas colunas: termo e quantidade de ocorrência.
* Cálculo da Frequência: Após concluída a etapa de contagem de termos para cada documento da coleção, será calculada a frequência dos termos. A medida escolhida para calcular a frequência dos termos é a tf-idf. O tf-idf define a importância do termo dentro da coleção de documentos. O tf-idf atribui um peso ao termo para cada documento da BOW. O peso é o número de ocorrências do termo no documento (Di), modificada por uma escala de importância do termo (Tj), chamada de frequência inversa do documento.