Mudanças entre as edições de "Manual do SCAE"

De LCAD
Ir para: navegação, pesquisa
(Tutorial do SCAE)
(Tutorial do SCAE)
Linha 284: Linha 284:
 
  make
 
  make
  
Estes comandos vão criar o executável db_core no diretório code/CORES/DB_CORE. Este executável é um daemon que implementa o BD.
+
Estes comandos vão criar o executável db_core no diretório code/CORES/DB_CORE. Este executável é um daemon que implementa o BD. Além disso, ele implementa facilidades de criação de tabelas a partir de arquivos .csv (´´coma separated values´´). O script abaixo usa o db_core para criar um conjunto básico de tabelas que permitem demonstrar as funcionalidades do SCAE (assuma sempre que o diretório corrente é o último especificado por um comando cd):
 +
./build_tables_subclasse_110.bat
 +
 
 +
A saída deste comando deve ser:
 +
Locale set to pt_BR.UTF-8.
 +
Loading dictionary .csv
 +
Number of dictionary words = 23160
 +
Number of distincts words = 17365
 +
Loading cnae subclasses .csv
 +
Number of CNAE-Subclasses = 1183
 +
Loading dados de vitoria .csv
 +
Number of economic activities descriptions = 14204
 +
Number of distinct economic activities descriptions = 3281
 +
Lexicon size = 942. Number palavras com frequencia superior (pfs) = 0.
 +
Saving tables
 +
 
 +
Os arquivos .csv que servem de entrada para este script estão do diretório CSV_FILES.
 +
 
 +
A partir deste momento, você pode colocar o daemon db_core em operação com o comando:
 +
nohup db_core init_server ports.cfg&
 +
 
 +
Com o comando acima, o DB da Figura 1 estará em operação. As tabelas mantidas por este banco de dados e necessárias para a operação do SCAE são carregadas sob demanda. Para interromper o db_core, descubra o seu PID com o comando:
 +
ps -A | grep db_core
 +
 
 +
e ''kill'' o db_core com o comando
 +
kill -9 PID (onde PID é o número do processo informado pelo comando ps)
 +
 
 +
O Core da Figura 1, na verdade, pode ser um ou mais classificadores. Na versão atual do SCAE

Edição das 22h13min de 12 de novembro de 2007

Introdução

Este manual visa explicar como utilizar o SCAE, desde sua instalação e manutenção até sua utilização.

Organização do SCAE

O sistema foi projetado para funcionar em Módulos que se comunicam entre si através de xmlrpc. Os módulos são divididos basicamente em 3 categorias:

  • Interface (WEB e linha de comando)
  • Classificadores (Redes Neurais, Espaço Vetorial, ..)
  • Banco de Dados (DB_CORE)

Módulos do SCAE (CORE's)

Cada módulo é descrito a seguir.

DB_CORE

Core responsável por armazenar as tabelas de dados do sistema.

Tabelas Existentes no sistema e suas colunas:

Tabela: DICIONARIO
Coluna Comentários
PALAVRA a própria palavra
CLASSE classe gramatical
PALAVRA_CANONICA palavra canônica
GENERO gênero
GRAU grau
LISTA_ELEMENTOS lista de elementos
LISTA_PREPOSICOES lista de preposições
LISTA_REGENCIAS lista de regências
MODO_TEMPO_FORMANOMINAL modo e/ou tempo e/ou forma nominal
NUMERO número
LISTA_PAPEIS lista de papéis
PESSOA pessoa
CODIGO_PALAVRA_CANONICA código da palavra canônica
CODIGO_PALAVRA código da palavra


Tabela: CNAE_110_SUBCLASSE
Coluna Comentários
CODIGO_SUB_SEC Código Sequencial da subclasse
CODIGO_SEC
CODIGO_DIV
CODIGO_GRP
CODIGO_CLA
CODIGO_SUB
DV_SUB
DESCRICAO_SUB
CCOMPRE_SUB
TCOMPRE_SUB
NCOMPRE_SUB
NOTAS_SUB
CODIGO_CNAE_SUBCLASSE
VETOR_CODIGOS_CNAE


Tabela: CNAE_200_SUBCLASSE
Coluna Comentários
CODIGO_SUB_SEC Código Sequencial da subclasse
CODIGO_SEC
CODIGO_DIV
CODIGO_GRP
CODIGO_CLA
CODIGO_SUB
DV_SUB
DESCRICAO_SUB
CCOMPRE_SUB
TCOMPRE_SUB
NCOMPRE_SUB
NOTAS_SUB
CODIGO_CNAE_SUBCLASSE
VETOR_CODIGOS_CNAE


Tabela: DADOS_VITORIA_110
Coluna Comentários
NO_IDENTIFICADOR Um número de identificação que veio junto aos dados que recebemos
OBJETO_SOCIAL Texto descritivo do objeto em questão
CNAE_FISCAL Um código CNAE para o qual esta atividade foi classificada; Formato direto de 7 dígitos, sem '-' ou '/'
VETOR_CODIGOS_CNAE Neste campo, sempre o valor zero, ele é preenchido pelo DB_CORE com os sequenciais que representam as classificações


Tabela: DADOS_VITORIA_200
Coluna Comentários
NO_IDENTIFICADOR Um número de identificação que veio junto aos dados que recebemos
OBJETO_SOCIAL Texto descritivo do objeto em questão
CNAE_FISCAL Um código CNAE para o qual esta atividade foi classificada; Formato direto de 7 dígitos, sem '-' ou '/'
VETOR_CODIGOS_CNAE Neste campo, sempre o valor zero, ele é preenchido pelo DB_CORE com os sequenciais que representam as classificações

MAE

Implementação do classificador que utiliza Redes Neurais.

VS_CORE

Implementação do classificador que utiliza Espaço Vetorial.

WISARD_CORE

???

BAYESIAN_CORE

???

Como acessar o Repositório SCAE

É possível acessar o repositório do SCAE através do seu navegador ou ainda baixar os códigos direto para sua máquina. O acesso só é permitido a usuários do Projeto SCAE cadastrados e com conta no LCAD.

Organização do Repositório

O Repositório está dividido da seguinte maneira:

  • code
    • CORES (Código dos classificadores)
      • DB_SERVER
      • MAE
      • USER_INTERFACE
      • VS_CORE
      • WISARD_CORE
      • config
    • db_server (Código da API do Oracle -- em desuso no momento)
    • scaeweb (Código da Interface WEB)
  • data (Dados do Oracle -- em desuso no momento)
  • install (Diretório de instalações)

Navegando no Repositório

Para acessar o repositório de um navegador basta seguir para http://www.lcad.inf.ufes.br/svn/scae e utilizar sua conta/senha do LCAD.

Baixando o SCAE para sua máquina

Antes de baixar o repositório do SCAE, recomenda-se navegar pelo mesmo e identificar qual(is) parte(s) dele serão utilizadas. Dessa forma, é possível fazer o download apenas das partes de interesse, evitando um longo download de todo o conteúdo.


Para baixar o repositório do SCAE completo para sua máquina utilize

svn co http://www.lcad.inf.ufes.br/svn/scae

Para baixar apenas uma parte, por exemplo, um diretório da árvore do repositório, acrescente o caminho ao endereço. Exemplos:

  • Download de apenas a instalação das bibliotecas necessárias para isntalação do xmlrpc
svn co http://www.lcad.inf.ufes.br/svn/scae/install/xmlrpc
  • Download de apenas os códigos-fonte dos CORES
svn co http://www.lcad.inf.ufes.br/svn/scae/code/CORES

Maiores informações sobre o svn podem ser encontradas no nosso manual de Uso básico do Subversion.

Tutorial do SCAE

Introdução

O Sistema de Codificação Automática de Atividades Econômicas (SCAE) possui a arquitetura mostrada na Figura 1. A Interface do usuário com o sistema é um navegador Internet (browser), que se comunica com o módulo Servidor de Aplicação (SA) do SCAE. Este módulo, por sua vez, se comunica com os outros dois módulos do SCAE: Core e Banco de Dados (BD).

Figura 1: Arquitetura do SCAE

Em uma solicitação de classificação de atividade econômica, o usuário, por meio da Interface, envia ao SA uma descrição de atividade econômica. O SA, por sua vez, envia esta descrição para o Core, que a classifica e retorna códigos CNAE e medidas de confiança quanto às associações destes códigos com a descrição de atividade econômica recebida. De posse dos códigos CNAE, o SA requisita ao BD o texto associado aos códigos CNAE.

O Core também se comunica com o módulo BD, que é responsável por armazenar todo o conhecimento do SCAE (dicionário eletrônico, representação interna ao sistema da tabela CNAE, representação interna ao sistema de descrições de atividades econômicas usadas para treinamento, etc). Além de realizar a classificação, o Core manipula as tabelas do sistema (cria, insere dados, remove dados, etc) guardadas em BD. Diferentes submódulos do Core são responsáveis por esta manipulação. O SA está sendo desenvolvido em PHP, o BD em C, e o Core em C, Perl e Java.

Instalação

Um roteiro detalhado de instalação do SCAE pode ser encontrado em http://www.lcad.inf.ufes.br/svn/scae/Roteiros. Neste tutorial, apresentamos apenas um procedimento de instalação simplificado, que assume que o sistema operacional é o Fedora Core 8 e que várias bibliotecas já estão instaladas. Contudo, em muitas instalações Fedora (mesmo anteriores à versão 8) ele deve ser o suficiente para colocar o SCAE em operação.

Para a iniciar a instalação do SCAE, baixe (download) seus arquivos de instalação. Para isso, vá para o diretório raiz de sua conta e digite o comando (você vai precisar de uma senha para baixar os arquivos; solicite-a via o e-mail de suporte do LCAD):

svn co http://www.lcad.inf.ufes.br/svn/scae/code

Este comando vai criar o diretório code e vários subdiretórios.

Em seguida, compile o BD executando os seguintes comandos:

cd code/CORES/DB_CORE
make

Estes comandos vão criar o executável db_core no diretório code/CORES/DB_CORE. Este executável é um daemon que implementa o BD. Além disso, ele implementa facilidades de criação de tabelas a partir de arquivos .csv (´´coma separated values´´). O script abaixo usa o db_core para criar um conjunto básico de tabelas que permitem demonstrar as funcionalidades do SCAE (assuma sempre que o diretório corrente é o último especificado por um comando cd):

./build_tables_subclasse_110.bat

A saída deste comando deve ser:

Locale set to pt_BR.UTF-8.
Loading dictionary .csv
Number of dictionary words = 23160
Number of distincts words = 17365
Loading cnae subclasses .csv
Number of CNAE-Subclasses = 1183
Loading dados de vitoria .csv
Number of economic activities descriptions = 14204
Number of distinct economic activities descriptions = 3281
Lexicon size = 942. Number palavras com frequencia superior (pfs) = 0.
Saving tables

Os arquivos .csv que servem de entrada para este script estão do diretório CSV_FILES.

A partir deste momento, você pode colocar o daemon db_core em operação com o comando:

nohup db_core init_server ports.cfg&

Com o comando acima, o DB da Figura 1 estará em operação. As tabelas mantidas por este banco de dados e necessárias para a operação do SCAE são carregadas sob demanda. Para interromper o db_core, descubra o seu PID com o comando:

ps -A | grep db_core

e kill o db_core com o comando

kill -9 PID (onde PID é o número do processo informado pelo comando ps)

O Core da Figura 1, na verdade, pode ser um ou mais classificadores. Na versão atual do SCAE