2017-05-24 22:07:46 - Atualizado em 2017-05-24 22:08:46

RotuLabic

Sistema para apoio à rotulação manual de textos utilizando aprendizado de máquina

Laboratório de Inteligência Computacional (LABIC)

Em Mineração de Textos, a necessidade de coleções de textos rotulados surge tanto no treinamento de um modelo, tal como em tarefas de classificação de textos, quanto na avaliação de modelos gerados de maneira não supervisionada como, por exemplo, no agrupamento de textos. Porém, a criação de coleções de textos rotulados normalmente demanda um grande esforço humano. O sistema RotuLabic busca facilitar o processo de rotulação manual de coleções de documentos. Para realizar esta tarefa, foram implementados algoritmos de sugestão de rótulos, sendo que o principal é um algoritmo de aprendizado de máquina semissupervisionado que utiliza poucos exemplos rotulados para sugerir rótulos para documentos ainda não rotulados.

Funcionalidades e Características

Como funciona um processo de rotulação?

Existem dois tipos de usuários: administradores e rotuladores. Para criar um processo de rotulação, o administrador deverá fornecer a coleção de documentos a serem rotulados e as configurações deste processo.

 

Assim, após um processo de rotulação ser criado, o administrador deverá adicionar os usuários (rotuladores) que desejar a este processo.

 

Finalmente, após um rotulador ser adicionado a um processo de rotulação, este poderá iniciá-lo, associando rótulos aos documentos fornecidos.

Agora logado como rotulador, a tela inicial mostra os processos que ele tem para rotular.

 

Ao entrar em um processo de rotulação, o sistema apresenta as instruções que os usuários rotuladores devem seguir.

 

Os documentos são rotulados na tela de rotulação.


Algoritmos

Foram implementados os seguintes algoritmos para sugestão de rótulos: sugestão aleatória (para fins de avaliação das sugestões apresentadas por outros algoritmos), sugestão baseada na rótulo mais aceito e sugestão baseada no algoritmo de classificação transdutiva proposta em:

Rossi, R. G., Lopes, A. A., e Rezende, S. O. (2014). A parameter-free label propagation algorithm using bipartite heterogeneous networks for text classification. In Proc. Symposium on Applied Computing, páginas 79-84 [ download].

Algoritmo de Classificação Transdutiva

    Entrada  :
              N - número de documentos rotulados pelo rotulador até o momento
              Dr - documento a ser rotulado
              E - taxa para reset do algoritmo transdutivo

              L - vetor com as opções de rótulos do processo de rotulação atual
              D - vetor com os documentos do processo de rotulação atual
              T - vetor com os termos presentes em D

              MA - matriz |D| x |T| normalizada que indica a probabilidade de um certo         
                  termo aparecer em um documento
              MB - matriz |T| x |D| transposta de MA
              MC - matriz |D| x |L| normalizada que indica a probabilidade de um certo          
                  rótulo ser atribuído a um documento
    Saída   :
              R - sugestão de rótulo
    Início
              Se (N MOD E = 0) então
                  Para i ← 1 até |D| faça
                      Para j ← 1 até |L| faça
                          MC[i][j] ← Votos ( D[i], L[j] )
                      Fim
                  Fim
                  Normalizar ( MC )
              Fim
                  temp ← MB x MC
                  MC ← MA x temp
                  R ← L[1]
                  prob ← MC[Dr][1]
                  Para i ← 2 até |L| faça
                      Se ( prob < MC[Dr][i]   ) então
                          prob ←  MC[Dr][i]
                          R ← L[i]
                      Fim
                  Fim  
    Fim
            

 

Observação: esse algoritmo é utilizado toda vez que um documento é rotulado, de modo que a matriz MC é usada do começo de um processo de rotulação (por um rotulador) até seu fim. Analisando de uma maneira geral, este último algoritmo faz o ‘peso’ do rótulo escolhido propagar para documentos semelhantes ao atual, ou seja, que contém muitos termos em comum. Exemplificando, suponha que um rotulador escolheu o rótulo ‘Esporte’ para um certo documento e que nele a palavra ‘futebol’ aparece diversas vezes. Deste modo e utilizando este algoritmo, outros documentos que contenham a palavra ‘futebol’ terão maiores chances de terem o rótulo ‘Esporte’ sugerido.


Requisitos do sistema

Para instalação e execução do sistema, são necessários:

- Apache 2.4.9

- PHP 5.5.12

- MySQL 5.6.17

 


Projetos em desenvolvimento

Está em desenvolvimento um novo módulo no RotuLabic para realização de Processos de Rotulação de Textos de Opiniões para Análise de Sentimentos Baseada em Aspectos.

A Análise de Sentimentos é uma subárea da Mineração de Textos e do Processamento de Linguagem Natural que tem por objetivo extrair o sentimento (positivo, negativo ou neutro) expressos em textos opinião. A Análise de Sentimentos Baseada em Aspectos (ASBA) tem por objetivo identificar o sentimento expresso em relação às características e às propriedades (chamadas de aspectos) dos produtos, serviços ou organizações (chamados de entidades). Entretanto, existem poucas coleções de textos com os aspectos e seus respectivos sentimentos rotulados.

Este novo módulo do RotuLabic tem por objetivo apoiar a rotulação manual dos aspectos e dos sentimentos de coleções de textos de opiniões para uso e avaliação de algoritmos para ASBA.


Download

Para fazer o download do sistema, preencha esse formulário.


Equipe

Darlan Santana Farias

Ivone Penque Matsuno

Guilherme Souza Gonçalves

Rafael de Paula Pinto Paravia

Rafael Geraldeli Rossi

Roberta Akemi Sinoara

Solange Oliveira Rezende

Atenção! Conteúdo original hospedado em: http://sites.labic.icmc.usp.br/rotulabic/.