| 
				 | 
				
| Linha 2: | 
Linha 2: | 
|   |  |   |  | 
|   | ==Introdução==  |   | ==Introdução==  | 
| − | Este manual visa explicar como utilizar o SCAE, desde sua instalação até sua utilização.
  |   | 
| − | 
  |   | 
| − | ==Tutorial sobre o SCAE==
  |   | 
| − | ===Introdução===
  |   | 
|   | O Sistema de Codificação Automática de Atividades Econômicas (SCAE) possui a arquitetura mostrada na Figura 1. A interface de usuário com o Sistema é um navegador Internet (browser), que se comunica com o módulo Servidor de  |   | O Sistema de Codificação Automática de Atividades Econômicas (SCAE) possui a arquitetura mostrada na Figura 1. A interface de 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).    |   | 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).    | 
| Linha 15: | 
Linha 11: | 
|   | 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 e das descrições de atividades econômicas usadas em treinamento; etc.). Além de realizar a classificação, o Core manipula as tabelas do Sistema (cria, insere dados, remove dados, etc.) armazenadas 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.  |   | 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 e das descrições de atividades econômicas usadas em treinamento; etc.). Além de realizar a classificação, o Core manipula as tabelas do Sistema (cria, insere dados, remove dados, etc.) armazenadas 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===
  | + | ==Instalação==  | 
| − | ==== Preparando o ambiente para Instalação do SCAE ====
  | + | === Preparando o ambiente para Instalação do SCAE ===  | 
|   | A preparação do ambiente para instalação do SCAE consiste basicamente na instalação e configuração das bibliotecas que este necessita. A seguir, são listadas as bibliotecas e os passos necessários para sua instalação.  |   | A preparação do ambiente para instalação do SCAE consiste basicamente na instalação e configuração das bibliotecas que este necessita. A seguir, são listadas as bibliotecas e os passos necessários para sua instalação.  | 
|   |  |   |  | 
| − | ===== Bibliotecas instaláveis a partir do YUM =====
  | + | === Bibliotecas instaláveis a partir do YUM ===  | 
|   | :* w3c-libwww  |   | :* w3c-libwww  | 
|   | :* w3c-libwww-devel  |   | :* w3c-libwww-devel  | 
| Linha 38: | 
Linha 34: | 
|   |   yum install -y w3c-libwww w3c-libwww-devel xmlrpc-c xmlrpc-c-devel xforms xforms-devel freeglut freeglut-devel libnet-devel byacc httpd php  |   |   yum install -y w3c-libwww w3c-libwww-devel xmlrpc-c xmlrpc-c-devel xforms xforms-devel freeglut freeglut-devel libnet-devel byacc httpd php  | 
|   |  |   |  | 
| − | =====  Bibliotecas instaláveis a partir do CD =====
  | + | ====  Bibliotecas instaláveis a partir do CD ====  | 
| − | ====== JDK ======
  | + | ===== JDK =====  | 
|   | Copie o arquvio para o /opt:  |   | Copie o arquvio para o /opt:  | 
|   |    cp /media/SCAE/libs/jdk/jdk_6u4_.bin /opt  |   |    cp /media/SCAE/libs/jdk/jdk_6u4_.bin /opt  | 
| Linha 83: | 
Linha 79: | 
|   |   export LD_LIBRARY_PATH  |   |   export LD_LIBRARY_PATH  | 
|   |  |   |  | 
| − | ====== MAE ======
  | + | ===== MAE =====  | 
|   | Como root, extraia a MAE para o /opt com o comando a seguir:  |   | Como root, extraia a MAE para o /opt com o comando a seguir:  | 
|   |   cd /opt; tar -zxvf /media/SCAE/libs/MAE/MAE.tgz    |   |   cd /opt; tar -zxvf /media/SCAE/libs/MAE/MAE.tgz    | 
| Linha 95: | 
Linha 91: | 
|   |   PATH=$PATH:$MAEHOME/bin  |   |   PATH=$PATH:$MAEHOME/bin  | 
|   |  |   |  | 
| − | ====== Configuração do corretor ortográfico ======
  | + | ===== Configuração do corretor ortográfico =====  | 
|   | O último passo necessário antes de utilizar o sistema é configurar o corretor ortográfico do SCAE.Para isto, inclua no arquivo .bashrc no seu home o caminho das bibliotecas do dicionário:  |   | O último passo necessário antes de utilizar o sistema é configurar o corretor ortográfico do SCAE.Para isto, inclua no arquivo .bashrc no seu home o caminho das bibliotecas do dicionário:  | 
|   |   #SCAE SPELLER  |   |   #SCAE SPELLER  | 
| Linha 104: | 
Linha 100: | 
|   |   source .bashrc    |   |   source .bashrc    | 
|   |  |   |  | 
| − | 
  |   | 
| − | ==== Compilando e Executando o BD ====
  |   | 
| − | Antes de compilar o DB_CORE é necessário seguir os passos abaixo (como '''root'''):
  |   | 
| − | 
  |   | 
| − | Por default, o Fedora Core 6 vem com um Java antigo instalado, então você precisa instalar a versão mais nova do Java Runtime Environment para desfrutar de todas as suas funcionalidades. Abaixo, nós o ensinaremos a instalar/atualizar seu Java Environment.
  |   | 
| − | 
  |   | 
| − | O primeiro passo é realizar o dowload daqui [https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u4-b-oth-JPR@CDS-CDS_Developer]. Você precisará aceitar a licença e selecionar '''linux''' como plataforma.
  |   | 
| − | Após clicar em ''continue'', um nova página será aberta, na qual você deverá selecionar o arquivo .bin de nome '''jdk-6u4-linux-i586.bin'''. Após a seleção o download será iniciado.
  |   | 
| − | 
  |   | 
| − | Agora o DB_CORE pode ser compilado com sucesso.
  |   | 
| − | 
  |   | 
| − | Compile o BD (Figura 1) executando os seguintes comandos:
  |   | 
| − | 
  |   | 
| − |  cd code/CORES/DB_CORE
  |   | 
| − |  make clean
  |   | 
| − |  make
  |   | 
| − | 
  |   | 
| − | Estes comandos vão criar o executável db_core no diretório code/CORES/DB_CORE. Este arquivo, quando executado, será um [http://pt.wikipedia.org/wiki/Daemon_(aplicativo_para_computadores) daemon] que implementa o BD. 
  |   | 
| − | 
  |   | 
| − | ===== CRIAÇÃO DE TABELAS =====
  |   | 
| − | Após compilado, podemos utilizar 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). Executemos, por exemplo, o script abaixo:
  |   | 
| − |  ./build_tables_subclasse_110_tf.bat
  |   | 
| − | 
  |   | 
| − | A saída deste comando deve ser:
  |   | 
| − |  Locale set to pt_BR.UTF-8.
  |   | 
| − |  Loading known tables from .csv
  |   | 
| − |  Number of known tables = 18
  |   | 
| − |  Creating KNOWN_LEXICONS_saved.csv file.
  |   | 
| − |  Creating KNOWN_TTVS_saved.csv file.
  |   | 
| − |  Creating KNOWN_TRAININGS_saved.csv file.
  |   | 
| − |  Creating KNOWN_TESTS_saved.csv file.
  |   | 
| − |  Loading dictionary .csv
  |   | 
| − |  Number of dictionary words = 1212255
  |   | 
| − |  Number of distincts words = 843235
  |   | 
| − |  Loading cnae subclasses .csv
  |   | 
| − |  Number of CNAE-Subclasses = 1183
  |   | 
| − |  Loading dados 'CSV_FILES/dados_vitoria_110.csv'
  |   | 
| − |  Number of economic activities descriptions = 14204
  |   | 
| − |  Number of distinct economic activities descriptions = 3281
  |   | 
| − |  Loading dados 'CSV_FILES/dados_bh_110.csv'
  |   | 
| − |  Number of economic activities descriptions = 175770
  |   | 
| − |  Number of distinct economic activities descriptions = 87999
  |   | 
| − |  Lexicon size = 1356. Number of words discarded due to word frequency (PFS) = 0.
  |   | 
| − | 
  |   | 
| − | ===== CRIAÇÃO DE DICIONÁRIOS A PARTIR DE FILTROS =====
  |   | 
| − | 
  |   | 
| − | O DB_CORE permite que você construa dicionários filtrados a partir de tabelas (CNAE e/oui dados) ou a partir de um dicionário preexistente. Abaixo, descreveremos dois scripts que geram tais dicionários.
  |   | 
| − | 
  |   | 
| − | ====== Criando um dicionário a partir de tabelas ======
  |   | 
| − | O script abaixo usa o db_core para criar um dicionário filtrado a partir de: um filtro especificado, opções de filtragem e tabelas (CNAE e/ou dados):
  |   | 
| − |  ./build_filtered_dictionary_from_tables.bat
  |   | 
| − | 
  |   | 
| − | Este script contém as seguintes linhas:
  |   | 
| − | 
  |   | 
| − |  ./db_core \
  |   | 
| − |  load_csv_cnae_subclasse CNAE_110_SUBCLASSE \
  |   | 
| − |  load_csv_dados DADOS_VITORIA_SUB_110 \
  |   | 
| − |  create_filtered_dictionary DICIONARIO_STOP_STEMM_ACCENT 1 "STOP + STEMM + ACCENT" 2 CNAE_110_SUBCLASSE-DESCRICAO_SUB DADOS_VITORIA_SUB_110-OBJETO_SOCIAL
  |   | 
| − | 
  |   | 
| − | ''DICIONARIO_STOP_STEMM_ACCENT'' é o nome do dicionário a ser criado. Este diconário será automaticamente inserido na Known_tables. O número 1 especifica que o filtro utilizará o stemmizador da Maria Abadia Lacerda Dias (mald@univates.br) (2 especifica que o filtro utilzará o stemmizador do Patraick Marques Cirelli). O texto entre aspas especifica as filtragens a serem adotadas (STOP = sem ''stop-words'', STEMM = realiza stemming e ACCENTE = retira acento). O número 2, no exemplo, especifica a quantidade de tabelas que serão utilizadas para constrir o dicionário filtrado.
  |   | 
| − | 
  |   | 
| − | ====== Criando um dicionário a partir de outro dicionário ======
  |   | 
| − | O script abaixo usa o db_core para criar um dicionário filtrado a partir de: um filtro especificado, opções de filtragem e um dicionário preexistente.
  |   | 
| − |  ./build_filtered_dictionary_from_dictionary.bat
  |   | 
| − | 
  |   | 
| − | Este script contém as seguintes linhas:
  |   | 
| − | 
  |   | 
| − |  ./db_core \
  |   | 
| − |  load_dictionary DICIONARIO \
  |   | 
| − |  create_filtered_dictionary_from_dictionary DICIONARIO_FILTERED_VERSION 1 "STEMM + STOP + ACCENT" DICIONARIO
  |   | 
| − | 
  |   | 
| − | ''DICIONARIO_FILTERED_VERSION'' é o nome do dicionário a ser criado. Este diconário será automaticamente inserido na Known_tables. O número 1 especifica que o filtro utilizará o stemmizador da Maria Abadia Lacerda Dias (mald@univates.br) (2 especifica que o filtro utilzará o stemmizador do Patraick Marques Cirelli). O texto entre aspas especifica as filtragens a serem adotadas (STOP = sem ''stop-words'', STEMM = realiza stemming e ACCENTE = retira acento). O último parâmetro, DICIONARIO, especifica o nome do dicionário que servirá de base para a construção do novo.
  |   | 
| − | 
  |   | 
| − | ===== Execuntando o DB_CORE SERVER =====
  |   | 
| − | 
  |   | 
| − | Após ter criado todas as tabelas de interesse, você pode colocar o daemon db_core em operação com o comando:
  |   | 
| − |  nohup ./db_core init_server ports.cfg&
  |   | 
| − | 
  |   | 
| − | Mensagens de erro geradas pelo db_core serão gravadas no arquivo nohup.out, conforme mensagem mostrada após a execução do comando acima (''nohup: ignoring input and appending output to nohup.out''). Com a execução deste comando, o BD da Figura 1 estará em operação. As tabelas mantidas por este banco de dados são necessárias para a operação do SCAE serão carregadas conforme demandadas pelo SCAE. 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)
  |   | 
| − | 
  |   | 
| − | ==== Compilando a Biblioteca Compartilhada de Comunicação (shared) ====
  |   | 
| − | Antes de compilar e executar um CORE, é necessário garantir que a biblioteca compartilhada de comunicação esteja compilada e que sua variável de ambiente esteja setada. Para isto, siga os passos a seguir:
  |   | 
| − | 
  |   | 
| − |  cd code/CORES/shared
  |   | 
| − |  make clean
  |   | 
| − |  make
  |   | 
| − | 
  |   | 
| − | Em seguida, insira as seguintes linhas ao seu .bashrc (localizado no seu diretório home): 
  |   | 
| − |  <nowiki>#</nowiki> SHARED 
  |   | 
| − |  export SHAREDHOME=$HOME/code/CORES/shared
  |   | 
| − | 
  |   | 
| − | ==== Compilando a Biblioteca Compartilhada MAE ====
  |   | 
| − | Como root, copie a MAE para o /opt
  |   | 
| − |  cp -r /media/CDROM/libs/MAE /opt
  |   | 
| − | 
  |   | 
| − | Compile a MAE com o comando a seguir:
  |   | 
| − |  cd /opt/MAE; make clean; make –f Makefile.no_interface
  |   | 
| − | 
  |   | 
| − | Em seguida, insira as seguintes linhas ao seu .bashrc (localizado no seu diretório home): 
  |   | 
| − |  <nowiki>#</nowiki> MAE 
  |   | 
| − |  export MAEHOME=$HOME/PATH/MAE
  |   | 
| − |  PATH=$PATH:$MAEHOME/bin
  |   | 
| − | 
  |   | 
| − | ==== Compilando e Executando o VS_CORE ====
  |   | 
| − | O Core da Figura 1, na verdade, pode ser composto por um ou mais classificadores. Na versão atual do SCAE, três classificadores estão disponíveis: VS_CORE WNN_CORE e WNN_COR_CORE. O ''Vector Space'' (VS)_Core emprega a técnica de mesmo nome para classificar (na verdade, categorizar) texto, enquanto que o ''Weightless Neural Network'' (WNN)_Core e o ''Weightless Neural Network Correlate'' (WNN_COR)_Core empregam redes neurais sem peso (do tipo ''Virtual Generalizing Ramdon Access Memory'' - VG-RAM) para o mesmo fim. Mais detalhes sobre como estas técnicas podem ser usadas para categorizar objetos sociais de empresas (atividades econômicas) segunda a tabela de Classificação Nacional de Atividades Econômicas (CNAE) podem ser encontrados no trabalho [[:Imagem:souza_vg-ram-3.pdf|De Souza, A. F.; Pedroni, F.; OLIVEIRA, E.; Ciarelli, P. M.; Henrique, W. F.; Veronese, L. . Automated Free Text Classification of Economic Activities using VG-RAM Weightless Neural Networks. International Conference on Intelligent Systems Design and Applications (ISDA), 2007, Rio de Janeiro. Proceedings of ISDA, 2007.]].
  |   | 
| − | 
  |   | 
| − | Para compilar o VS_CORE, volte para o seu diretório raiz e digite os comandos:
  |   | 
| − |  cd code/CORES/VS_CORE
  |   | 
| − |  make clean
  |   | 
| − |  make
  |   | 
| − | 
  |   | 
| − | Estes comandos vão criar o executável vs_core no diretório code/CORES/VS_CORE. Este executável é um daemon que implementa o Core que classifica segundo a técnica VS. Para colocá-lo em operação, digite:
  |   | 
| − |  nohup ./vs_core&
  |   | 
| − | 
  |   | 
| − | Com o comando acima, parte do Core da Figura 1 estará em operação. Para interromper o vs_core, descubra o seu PID com o comando:
  |   | 
| − |  ps -A | grep vs_core
  |   | 
| − | 
  |   | 
| − | e ''kill'' o vs_core com o comando
  |   | 
| − |  kill -9 PID (onde PID é o número do processo informado pelo comando ps)
  |   | 
| − | 
  |   | 
| − | ==== Compilando e Executando o WNN_CORE ====
  |   | 
| − | Antes de compilar o WNN_CORE você já deveria ter compilado a biblioteca MAE
  |   | 
| − | 
  |   | 
| − | Para compilar o WNN_CORE volte para o seu diretório raiz e digite os comandos:
  |   | 
| − |  cd code/CORES/WNN_CORE
  |   | 
| − |  make clean
  |   | 
| − |  make
  |   | 
| − | 
  |   | 
| − | Estes comandos vão criar o executável wnn_core no diretório code/CORES/WNN_CORE. Este executável é um daemon que implementa o Core que classifica texto usando VG-RAM WNN. Para colocá-lo em operação, digite:
  |   | 
| − |  nohup ./wnn_core&
  |   | 
| − | 
  |   | 
| − | Com o comando acima, uma segunda parte do Core da Figura 1 estará em operação. Para interromper o wnn_core descubra o seu PID com o comando:
  |   | 
| − |  ps -A | grep wnn_core
  |   | 
| − | 
  |   | 
| − | e ''kill'' o wnn_core com o comando
  |   | 
| − |  kill -9 PID (onde PID é o número do processo informado pelo comando ps)
  |   | 
| − | 
  |   | 
| − | ==== Compilando e Executando o WNN_COR_CORE ====
  |   | 
| − | Antes de compilar o WNN_COR_CORE você já deveria ter compilado a biblioteca MAE
  |   | 
| − | 
  |   | 
| − | Para compilar o WNN_COR_CORE volte para o seu diretório raiz e digite os comandos:
  |   | 
| − |  cd code/CORES/WNN_COR_CORE
  |   | 
| − |  make clean
  |   | 
| − |  make
  |   | 
| − | 
  |   | 
| − | Estes comandos vão criar o executável wnn_cor_core no diretório code/CORES/WNN_COR_CORE. Este executável é um daemon que implementa o Core que classifica texto usando VG-RAM WNN. Para colocá-lo em operação, digite:
  |   | 
| − |  nohup ./wnn_cor_core&
  |   | 
| − | 
  |   | 
| − | Com o comando acima, uma segunda parte do Core da Figura 1 estará em operação. Para interromper o wnn_cor_core descubra o seu PID com o comando:
  |   | 
| − |  ps -A | grep wnn_cor_core
  |   | 
| − | 
  |   | 
| − | e ''kill'' o wnn_cor_core com o comando
  |   | 
| − |  kill -9 PID (onde PID é o número do processo informado pelo comando ps)
  |   | 
| − | 
  |   | 
| − | ==== Configurando o SA ====
  |   | 
| − | Com os deamons db_core, vs_core e class_cnae em operação, é possível examinar todas as funcionalidades do SCAE por meio de um browser, graças ao seu Servidor de Aplicação (SA) (ver Figura 1). O SA foi implementado em PHP e seu código fica no diretório code/scaeweb. Para acessá-lo através de um browser, ele precisa ser "servido" por um servidor http, como o Apache, por exemplo. Se você está instalando o SCAE em uma máquina ''stand alone'', você pode instalar o apache e o php com o comando (você precisa ser root para usar o yum):
  |   | 
| − |  yum install apache php
  |   | 
| − | 
  |   | 
| − | Para que o apache sirva o SA, coloque um link simbólico do diretório scaeweb para o diretório raiz de páginas http do Apache (você precisa ser root para escrever no diretório raiz do Apache):
  |   | 
| − |  ln -s code/scaeweb /var/www/html/scaeweb
  |   | 
| − | 
  |   | 
| − | Além disso, vc precisa garantir que o caminho até o diretório code/scaeweb tenha permissão de leitura. Para isto basta adicionar essas permissões com o comando chmod.
  |   | 
| − | Por exemplo, caso seu diretório seja /home/usuario:
  |   | 
| − |  cd /home
  |   | 
| − |  chmod +r+x usuario
  |   | 
| − | 
  |   | 
| − | Você pode então acessar o SCAE com um browser em sua máquina na URL: http://127.0.0.1/scaeweb
  |   | 
| − | 
  |   | 
| − | Seu browser deve mostrar a imagem da Figura 2. Caso ela não apareça, você tem problemas de configuração no Apache ou PHP. Neste caso, se a mensagem do browser indicar que você não tem permissão de acesso ao diretório scaeweb, experimente copiar todo o conteúdo do diretório code/scaeweb para /var/www/html/:
  |   | 
| − |  rm /var/www/html/scaeweb
  |   | 
| − |  cp -r code/scaeweb /var/www/html
  |   | 
| − | 
  |   | 
| − | Caso o Apache funcione exibindo o conteúdo da página mas não consiga interpretar o php, experiemnte reiniciá-lo:
  |   | 
| − |  /etc/init.d/httpd restart
  |   | 
| − | 
  |   | 
| − | [[imagem:Scae classificacao.JPG|frame|right|250px|Figura 2: SCAE]]
  |   | 
| − | 
  |   | 
| − | Se funcionar, experimente voltar à solução com o link simbólico e reduzir o nível de segurança do SELinux (''Security-Enhanced Linux'') com a ferramenta Sistema->SELinux Management. Mude ''System Default Enforcing Mode'' e ''Current Enforcing Mode'' para ''Permissive''. Se funcionar, o SELinux não permite que o Apache (httpd) acesse diretórios de usuário via links simbólicos (e possivelmente muitos outros diretórios). Neste caso, fique com a cópia de scaeweb no /var/www/http, ou deixe o SELinux como indicado acima, ou configure o SELinux para permitir que o Apache acesse links simbólicos.
  |   | 
| − | 
  |   | 
| − | Se a redução do nível de segurança do SELinux funcionar, o Apache pode não estar configurado para permitir o seu próprio acesso a links simbólicos. Neste caso, consulte a documentação do Apache sobre o assunto na Internet. O problema pode estar, também, no PHP.
  |   | 
| − | 
  |   | 
| − | Se você conseguir ver a Figura 2 no seu browser, o SCAE está pronto para operar (desde que também estejam rodando o DB_CORE e ao menos um core categorizador). Neste ponto, já é possível utilizar a interface para administrar o Sistema. Siga pelo link de Administração para treinar o categorizador desejado e ter a possibilidade de efetuar categorizações. Para maiores detalhes, remeta-se a seção [[Manual_do_SCAE#Utilizando_a_interface_Web|Utilizando a Interface Web]].
  |   | 
| − | 
  |   | 
| − | As demais funcionalidade do SCAE (inclusive sua interface via linha de comando) são apresentadas na próxima seção.
  |   | 
|   |  |   |  | 
|   | # Instalar as depedências do scae:  |   | # Instalar as depedências 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 de 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 ao 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 seus textos associado (descritores). 
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 e das descrições de atividades econômicas usadas em treinamento; etc.). Além de realizar a classificação, o Core manipula as tabelas do Sistema (cria, insere dados, remove dados, etc.) armazenadas 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
Preparando o ambiente para Instalação do SCAE
A preparação do ambiente para instalação do SCAE consiste basicamente na instalação e configuração das bibliotecas que este necessita. A seguir, são listadas as bibliotecas e os passos necessários para sua instalação.
Bibliotecas instaláveis a partir do YUM
-  w3c-libwww
 
-  w3c-libwww-devel
 
-  xmlrpc-c
 
-  xmlrpc-c-devel
 
-  xforms 
 
-  xforms-devel
 
-  freeglut
 
-  freeglut-devel
 
-  libnet-devel
 
-  byacc
 
-  httpd
 
-  php
 
Efetue login como usuário root e entre com o comando a seguir para instalar as bibliotecas a partir do yum. Note que caso alguma delas já esteja instalada, o yum cuidará para que esta não seja instalada novamente e, caso alguma delas necessite de outra(s), o yum cuidará de instalar tais dependências. 
{Responda "y" quando for perguntado "Is this ok [y/N]:".}
yum install -y w3c-libwww w3c-libwww-devel xmlrpc-c xmlrpc-c-devel xforms xforms-devel freeglut freeglut-devel libnet-devel byacc httpd php
Bibliotecas instaláveis a partir do CD
JDK
Copie o arquvio para o /opt:
 cp /media/SCAE/libs/jdk/jdk_6u4_.bin /opt
Transforme este arquivo em um executável:
chmod +x /opt/jdk_6u4_.bin
Instale o pacote com o comando a seguir:
cd /opt; ./jdk_6u4_.bin ; ln -s jdk1.6.0_04 jdk-latest
A licença do pacote será exibida (aperte a tecla de espaço para passar cada tela) e em seguida você será perguntado se concorda com ela. Responda 'yes' para dar início a instalação.
Em seguida, Copie o de configuração a seguir com o seguinte comando, que também o torna executável:
cp /media/SCAE/libs/jdk/java.sh /etc/profile.d/ ; chmod +x /etc/profile.d/java.sh
Agora execute o seguinte comando para tornar o arquivo disponível:
source /etc/profile.d/java.sh
Então execute o seguinte comando para verificar se o path está correto:
which java
Você deverá obter algo como: 
/opt/jdk-latest/bin/java
Agora execute os seguintes comandos:
/usr/sbin/alternatives --install /usr/bin/java java /opt/jdk1.6.0_04/bin/java 2
/usr/sbin/alternatives --config java
Após ter inserido o último comando, você será perguntado sobre o tipo de Java que deseja para o sistema. Pressione 2(A opção que indica o JDK 1.6.0_04) e aperte enter.
Para confirmar a versão do seu Java Runtime Environment, execute:
java -version
A saída esperada é:
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharin
Por último, adicione as seguintes linhas ao seu arquivo .bashrc no seu diretório home
#JAVA
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/i386
export LD_LIBRARY_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/i386/client
export LD_LIBRARY_PATH
MAE
Como root, extraia a MAE para o /opt com o comando a seguir:
cd /opt; tar -zxvf /media/SCAE/libs/MAE/MAE.tgz 
Compile a MAE com o comando a seguir:
cd /opt/MAE; make clean; make -f Makefile.no_interface
Em seguida, insira as seguintes linhas ao seu .bashrc (localizado no seu diretório home): 
# MAE 
export MAEHOME=/opt/MAE
PATH=$PATH:$MAEHOME/bin
Configuração do corretor ortográfico
O último passo necessário antes de utilizar o sistema é configurar o corretor ortográfico do SCAE.Para isto, inclua no arquivo .bashrc no seu home o caminho das bibliotecas do dicionário:
#SCAE SPELLER
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/relato3/CORES/DB_CORE/SPELLER/scaeaspell-0.60.5/.libs
export LD_LIBRARY_PATH
Não se esqueça de atualizar as variáveis de ambiente em todos os terminais abertos com o comando:
source .bashrc 
-  Instalar as depedências do scae:
-  Instalar php
 
-  Instalar o apache (httpd)
 
-  Instalar o jdk1.6.0_04
 
-  Instalar w3c-libwww e w3c-libwww-devel
 
-  Instalar xmlrpc-c e xmlrpc-c-devel
 
-  Instalar a aplicação MAE
 
-  Instalar o Aspell
 
 
-  Instalar a aplicação MAE:
-  Instalar o xforms e xforms-devel
 
-  Instalar freeglut e freeglut-devel
 
-  Instalar libnet e libnet-devel
 
-  Compilar a MAE com make -f Makefile.no_interface
 
 
-  Configurar as variáveis de ambiente no arquivor .bashrc
-  Especificar o path do java/lib/i386 na LD_LIBRARY_PATH
 
-  Especificar o path do java/lib/i386/client na LD_LIBRARY_PATH
 
-  Especificar o path do /opt/MAE na MAEHOME
 
-  Especificar o path do /opt/MAE/bin na PATH
 
-  Especificar o path CORES/shared na SHAREDHOME
 
-  Especificar o path do SPELLER/scaeaspell-0.60.5 na LD_LIBRARY_PATH
 
 
-  Instalar o SCAE
-  ./configure
 
-  make
 
-  make install
 
 
-  Instalar o scaeweb
-  Inicializar o servidor web Apache
 
-  Criar um link em /var/www/html/ apontando para code/scaeweb
 
-  Alterar o home do usuário para permissão de leitura (chmod +rx user_name)
 
 
Utilização