De que se trata o artigo:

A Mineração de texto é um processo que utiliza algoritmos capazes de analisar coleções de documentos texto - tais como arquivos PDF, páginas Web, documentos XML e campos CLOB ou VARCHAR de tabelas relacionais - com o objetivo de extrair conhecimento valioso. Este artigo introduz os principais conceitos e aplicações práticas da mineração de texto.

Em que situação o tema útil:

Nos últimos anos a mineração de texto tem atraído o interesse não apenas dos pesquisadores em Ciência da Computação, mas também das empresas, que procuram extrair conhecimento a partir de texto livre ou semiestruturado com o objetivo de conquistar um melhor posicionamento no mercado. Neste artigo, apresentamos um panorama geral da área de mineração de texto para alunos e profissionais de informática que desejem estudar, trabalhar ou simplesmente conhecer um pouco mais sobre o assunto.

Resumo DevMan:

Este artigo apresenta os conceitos fundamentais sobre mineração de texto. Inicialmente, o artigo descreve o cenário que motivou o surgimento da área no final dos anos 90. A seguir, mostra os problemas práticos que a mineração de texto vem ajudando a resolver, tanto em ambiente acadêmico como dentro das empresas. Por fim, o artigo apresenta uma descrição das principais etapas envolvidas em processos de mineração de texto reais, utilizando como exemplo a tarefa de classificação de texto.

A maior parte da informação disponível no mundo não está - e, de fato, jamais esteve! - armazenada em tabelas de bancos de dados relacionais. Ao invés disso, se encontra disponibilizada digitalmente como texto: livros, jornais, revistas, páginas Web, blogs, perfis de redes sociais, e-mails, arquivos PDF, documentos XML, arquivos JSON, etc. No final dos anos 90 esta situação foi percebida tanto por pesquisadores como pelas empresas. Mais ou menos nesta época surgiu a seguinte ideia: “que tal analisarmos estas ‘montanhas de texto digital’ para que novas informações sobre nossos clientes, fornecedores, produtos e serviços possam ser reveladas e, assim, utilizadas de forma estratégica em processos de tomada de decisões?”.

A ideia é bastante atraente, entretanto, nada simples de ser colocada em prática. Para começar, quando trabalhamos com dados textuais precisamos lidar com informações que, na maioria das vezes, não possuem um esquema para descrever a sua estrutura. Ou seja, ao contrário do que acontece com os “bem-comportados” dados estruturados em tabelas relacionais, os dados textuais normalmente não estão organizados em campos, cada qual com seu tipo, tamanho e faixas de valores possíveis. Sendo assim, comparada com a informação gravada em SGBDs relacionais, a informação em formato texto é bem mais difícil de coletar, tratar, analisar e sumarizar.

Esta situação motivou o surgimento da mineração de texto (text mining), uma subárea da mineração de dados interessada no desenvolvimento de técnicas e processos para a descoberta automática de conhecimento valioso a partir de coleções de documentos texto. Este artigo apresenta um panorama geral desta área para todos aqueles que desejem trabalhar com mineração de texto, tanto em pesquisas acadêmicas como nas empresas, ou que simplesmente tenham curiosidade em conhecer os conceitos básicos sobre o assunto. O artigo está dividido em duas partes. Na primeira, denominada “Tarefas de Mineração de Texto”, são apresentadas as mais importantes aplicações práticas desta tecnologia nos dias atuais. A parte seguinte, denominada “Mineração de Texto Passo-a-Passo”, é composta por um conteúdo mais técnico, consistindo na apresentação de um exemplo que descreve as etapas executadas durante um processo de mineração de texto.

Tarefas de mineração de texto

As tarefas de mineração de texto podem ser entendidas como as diferentes categorias de problemas que podem ser resolvidos através de processos de mineração de texto. Esta seção introduz as mais importantes através de uma abordagem simples e prática: apresentando não apenas as tarefas propriamente ditas, mas também uma série de exemplos de aplicações reais que podem ser solucionadas com o uso das mesmas. Durante a leitura da seção, você notará que o texto a ser minerado pode estar armazenado em dois diferentes formatos:

  1. Texto Livre: trata-se de texto escrito em alguma linguagem natural - como Português, Inglês, Italiano, etc. – que contém pouca ou nenhuma marca de estruturação. Alguns exemplos: artigos de revista, capítulos de livro, texto do corpo de um e-mail, arquivos PDF, entre outros. Nesta categoria também podem ser incluídos os campos descritivos de tabelas de bancos de dados relacionais, como CLOB, Memo e VARCHAR, já que eles são criados com o intuito de armazenar texto livre. Em muitos sistemas reais os textos armazenados nestes campos são consideravelmente longos e complexos (ex: um campo CLOB utilizado para armazenar a descrição de um atendimento em um sistema de help desk).
  2. Texto Semiestruturado: documentos que, mesmo sem possuir um esquema rígido para validar seus dados, contêm alguma estrutura. Os dois principais exemplos são os documentos XML, onde as informações encontram-se demarcadas entre tags, e os arquivos JSON, que são compostos por pares atributo/valor.

Nos itens a seguir, as principais tarefas de mineração de texto são introduzidas e suas aplicações práticas são relacionadas e comentadas.

Classificação de Texto

Esta é, provavelmente, a tarefa de mineração de texto mais conhecida e utilizada. O objetivo é realizar a associação automática de documentos texto a uma determinada classe, pertencente a um conjunto pré-definido de classes. Um exemplo de classificador de texto bastante conhecido e bem-sucedido encontra-se nos programas para filtragem de spam. A partir da análise do assunto e do texto de uma mensagem, o programa utiliza um algoritmo classificador de texto para identificar automaticamente se esta mensagem deve ser classificada como “normal” ou “spam” (Figura 1).

Figura 1. Classificador de spam.

Outro exemplo interessante de aplicação prática para a classificação de texto é descrito em [1]. Trata-se do algoritmo utilizado pelo Internet Explorer para identificar o idioma de uma página Web. Esse algoritmo é disparado sempre que o IE se depara com uma página que não possua informação sobre o seu Content-Type, ou seja, uma página que não informe explicitamente o idioma do texto e a codificação utilizada para representá-lo (UTF-8, latin-1, etc.). Se a página contiver caracteres específicos de uma determinada codificação X (ex: japonês) e o IE utilizar uma codificação Y (ex: russo) para interpretá-la, o resultado é bem conhecido de todos nós: a exibição de “lixo” na tela ou de um monte de pontinhos de interrogação “???? ??? ??”. Mas como o IE procede para classificar o idioma da página? A ideia básica consiste em tentar “advinha-lo” baseado na frequência com que determinadas sequências de bytes ocorram no texto. Pelo fato de cada linguagem humana possuir um padrão distinto de uso de letras, o IE “conhece” alguns conjuntos de sequencias associadas a textos escritos em diferentes idiomas. Deste modo, basta com que o IE compare as sequências encontradas na página com as sequências por ele conhecidas para classificar o idioma da página.

...
Quer ler esse conteúdo completo? Tenha acesso completo