Como criar ou configurar um conjunto experimentos
A criação ou configuração de uma tabela (conjunto) de experimentos é feita por meio de um arquivo de configuração, cuja sintaxe é própria. Este arquivo de configuração deve ser salvo no subdiretório de nome "exp_confs", que se encontra dentro do diretório "USER_INTERFACE."
A sintaxe desse tipo de arquivo foi elaborada de forma a flexibilizar ao máximo possível a criação de um conjunto de experimentos. Portanto, é relativamente simples a criação de conjuntos de experimentos, por exemplo, compostos de 10, 20 ou "N" experimentos. Também é relativamente simples definir, de forma flexível, subconjuntos de tamanhos distintos. É importante manter em mente que os experimentos que compõem um certo subconjunto da tabela de experimentos sempre têm características em comum. Características estas relacionadas à fase de geração das tabelas internas ao SCAE necessárias ao subconjunto em questão. Por exemplo, é possível criar um conjunto composto de 30 experimentos, que formam 4 subconjuntos, cujos tamanhos são 10, 8, 6 e 6 experimentos, respectivamente.
Abaixo se encontra o conteúdo de um template desse tipo de arquivo de configuração. IMPORTANTE: recomenda-se fortemente a criação de tabelas de experimentos a partir desse template, que também se encontra no subdiretório "exp_confs".
A título de exemplificação e também para mostrar que a configuração de uma tabela de experimentos é simples de ser feita, o conteúdo do arquivo que configura os experimentos que compõem a "Tabela 1.1.1.1" é exibido no final desta página.
# Ao longo deste arquivo de configuracao sao descritos como especificar cada um de seus parametros. # OBSERVACOES IMPORTANTES VALIDAS PARA TODO O ARQUIVO: # 1) Cada atribuicao tem que ser feita em somente uma linha, nao sendo necessario nenhum caracter finalizador de linha. # 2) Incentiva-se retirar do arquivo de configuracao criado a partir deste arquivo todos os comentarios de instrucao. # Fazendo isto, eventuais equivocos serao minimizados durante a criacao de arquivos de configuracao posteriores. # * => Caso este parametro nao faca sentido para o core em questao, elimine/comente esta linha # ** => Este parametro eh configurado automaticamente. # Dados da tabela x.y.z # Secao onde as configuracoes especificas do core em questao sao realizadas. CORE_PARAMETERS CORE_DIRECTORY_NAME = ### # Substitua ### pelo nome do diretorio em que o core se encontra (case-sensitive). # Cabe ressaltar que este diretorio tem que se encontrar dentro do diretorio CORES. # Exemplo: VS_CORE CORE_EXECUTABLE_NAME = ### # Substitua ### pelo nome do executavel do core (case-sensitive). Este executavel # tem que se encontrar dentro do diretorio CORE_DIRECTORY_NAME. # Exemplo: vs_core CORE_NAME = ### # Substitua ### pelo nome do core de acordo com o especificado no arquivo ports.cfg. # Exemplo: VS NL_WIDTH = ### # Substitua ### pela largura da camada neural, em numero inteiro de neuronios. (*) NL_HEIGHT = ### # Substitua ### pela altura da camada neural, em numero inteiro de neuronios. (*) SYNAPSES = ### # Substitua ### pelo numero de sinapses a ser considerado. (*) LEXICON_SIZE = - # (**) IN_WIDTH = - # (**) IN_HEIGHT = - # (**) RECOMPILE = ### # Substitua ### por "yes" caso seja necessario recompilar o core em questao a cada # treinamento. Caso contrário, substitua ## por "no". Se esta recompilacao for necessaria, # antes de sua execucao sera invocado um script de configuracao deste core. Esse script # tem que ser nomeado de configure e tem que estar no mesmo diretorio onde o core se encontra. # Exemplo: yes MEMORIES_SUBDIRECTORY_NAME = ### # Substitua ### pelo nome do subdiretorio onde as memorias de treinamento sao armazenadas # (case-sensitive). # Exemplo: VECTORS_SPACES END_CORE_PARAMETERS # Secao onde as configuracoes especificas de construcoes de tabelas sao realizadas. # Eh possivel agrupar especificacoes validas para diversas linhas em sequencia em um BUILD_TABLES. # Tal agrupamento eh realizado com a especificacao dos limites das linhas em sequencia (intervalo fechado). # IMPORTANTE: é necessário substituir, nos tokens abaixo de nome BUILD_TABLES, os caracteres i, j, k e l pelos limites # desejados para cada build. # Parametros de BUILD para as linhas de i a j BUILD_TABLES:i-j DICTONARY = ### # Substitua ### pelo nome do dicionario a ser utilizado nos experimentos da tabela x.y.z. # Lembrando que este tem que estar cadastrado no arquivo known_tables.csv (case-sensitive) # Exemplo: DICIONARIO_SUBCLASSE # Subsecao onde os WORD_VECTORS sao especificados. O numero de WORD_VECTORS que tem que ser especificados eh igual ao # numero de tabelas utilizadas nos experimentos cobertos por este BUILD_TABLES (linhas de i a j). # Primeiro WORD_VECTORS WORD_VECTORS = ###-@@@ # Substitua ### pelo nome da primeira tabela a ser utilizada. A lista de tabelas # disponiveis se encontra no arquivo CORES/DB_CORE/CSV_FILES/known_tables.csv. # Substitua @@@ pelo nome de uma coluna codificavel da tabela em questao, listadas em # ENCODABLE_COLUMNS no known_tables.csv. # Obs: o caracter - (traco) eh necessario. # Exemplo: CNAE_110_SUBCLASSE-DESCRICAO_SUB # Segundo WORD_VECTORS WORD_VECTORS = ###-@@@ # Substitua ### pelo nome da segunda tabela a ser utilizada. A lista de tabelas # disponiveis se encontra no arquivo CORES/DB_CORE/CSV_FILES/known_tables.csv. # Substitua @@@ pelo nome de uma coluna codificavel da tabela em questao, listadas em # ENCODABLE_COLUMNS no known_tables.csv. # Obs: o caracter - (traco) eh necessario. # Exemplo: DADOS_VITORIA_SUB_110-OBJETO_SOCIAL # Enesimo WORD_VECTORS WORD_VECTORS = ###-@@@ # Substitua ### pelo nome da enesima tabela a ser utilizada. A lista de tabelas # disponiveis se encontra no arquivo CORES/DB_CORE/CSV_FILES/known_tables.csv. # Obs: o caracter - (traco) eh necessario. # Substitua @@@ pelo nome de uma coluna codificavel da tabela em questao, listadas em # ENCODABLE_COLUMNS no known_tables.csv. LEXICON_MESSAGE = ### # Substitua ### pela descricao desejada para o lexicon a ser criado. # Exemplo: Tudo menos artigo, conjunção, contração, interjeição, preposição e pronome da # tabela CNAE 1.1. # Obs: Nao se deve utilizar aspas para delimitar o valor deste parametro. LEXICON_TABLE = ###-@@@:$:% # Substitua ### pelo nome da tabela, de acordo com o especificado no arquivo # CORES/DB_CORE/CSV_FILES/known_tables.csv, a ser utilizada na composicao do lexicon. # Substitua @@@ pelo nome da coluna da tabela ###, tambem especificado no # known_tables.csv, a ser utilizada na composicao do lexicon. # Substitua $ pelo numero da linha limite inferior da tabela ### a ser considerado. # Substitua % pelo numero da linha limite superior da tabela ### a ser considerado. # Obs: os caracteres - (traco) e : (dois-pontos) sao necessarios. # Exemplo: CNAE_110_SUBCLASSE-DESCRICAO_SUB:0:1182 CGD = ### # Substitua ### pela lista de classes gramaticais desconsideradas durante a construcao do lexicon. # Obs 1: Nao se deve utilizar aspas para delimitar o valor deste parametro. # Obs 2: Os itens desta lista tem que ser separados por um espaco. # Obs 3: Cada idem tem que estar em caixa-baixa (tudo em minusculo). # Obs 4: As possiveis classes a serem utilizadas para compor esta lista sao: art. (artigo), # conj. (conjuncao), contr. (contracao), interj. (interjeicao), prep. (preposicao) e pron. (pronome). # Exemplo: art. prep. PFS = ### # Substitua ### pelo valor limite superior tal que palavras com frequencia acima # deste limite serao descartadas quando da criacao do lexicon. # Subsecao onde as TTVs sao especificadas. O numero de TTVs que devem ser especificadas eh igual ao numero de tabelas utilizadas # nos experimentos cobertos por este BUILD_TABLES (linhas de i a j). # Primeira TTV BEGIN_TTV TTV_NAME = ### # Substitua ### pelo nome desejado para a TTV a ser criada. Eh importante salientar # que eh de boa pratica nomear a TTV de forma a evidenciar suas caracteristicas # Exemplo: TTV_C1S_DESC # Significa CNAE_110_SUBCLASSE, campo DESCRICAO_SUB TTV_TABLE = ### # Substitua ### pelo nome da tabela a partir da qual a TTV sera criada. Ressalta-se # que esta tabela tem que estar cadastrada no arquivo known_tables.csv. # Exemplo: CNAE_110_SUBCLASSE TTV_TABLE_COLUMNS_QUANTITY = ### # Substitua ### pela quantidade de colunas codificaveis da tabela TTV_TABLE # a serem consideradas na construcao da TTV. # Coluna 1 TTV_TABLE_COLUMNS = ### # Substitua ### pelo nome da primeira coluna da tabela TTV_TABLE a ser considerada # na construcao da TTV. Eh importante dizer que a primeira coluna a ser considerada # nao necessariamente eh a primeira coluna da tabela TTV_TABLE. # Exemplo: DESCRICAO_SUB # Coluna 2 TTV_TABLE_COLUMNS = ### # Substitua ### pelo nome da segunda coluna da tabela TTV_TABLE a ser consideradas # na construcao da TTV. Eh importante dizer que a segunda coluna a ser considerada # nao necessariamente eh a segunda coluna da tabela TTV_TABLE. # Exemplo: CCOMPRE_SUB # Coluna n TTV_TABLE_COLUMNS = ### # Substitua ### pelo nome da enesima coluna da tabela TTV_TABLE a ser consideradas # na construcao da TTV. TTV_BUILD_TYPE = ### # Substitua ### pelo tipo de metodo para composicao dos vetores. Este valor somente # deve ser diferente de DEFAULT quando a classificacao for feita no nivel de descritores # (atividades) # Exemplo: DEFAULT TTV_TERMS_WEIGHT = ### # Substitua ### pelo nome da função para o cálculo dos pesos dos termos. # Exemplo 1: TF # Exemplo 2: TFIDF END_TTV # Segunda TTV BEGIN_TTV TTV_NAME = ### TTV_TABLE = ### TTV_TABLE_COLUMNS_QUANTITY = ### # Coluna 1 TTV_TABLE_COLUMNS = ### # Coluna 2 TTV_TABLE_COLUMNS = ### TTV_BUILD_TYPE = ### TTV_TERMS_WEIGHT = ### END_TTV # Enesima TTV BEGIN_TTV TTV_NAME = ### TTV_TABLE = ### TTV_TABLE_COLUMNS_QUANTITY = ### # Coluna 1 TTV_TABLE_COLUMNS = ### # Coluna 2 TTV_TABLE_COLUMNS = ### TTV_BUILD_TYPE = ### TTV_TERMS_WEIGHT = ### END_TTV END_BUILD_TABLES # Parametros de BUILD para as linhas de k a l BUILD_TABLES:k-l DICTONARY = ### # Subsecao onde os WORD_VECTORS sao especificados. O numero de WORD_VECTORS que tem que ser especificados eh igual ao # numero de tabelas utilizadas nos experimentos cobertos por este BUILD_TABLES (linhas de k a l). # Primeiro WORD_VECTORS WORD_VECTORS = ###-@@@ # Segundo WORD_VECTORS WORD_VECTORS = ###-@@@ # Enesimo WORD_VECTORS WORD_VECTORS = ###-@@@ LEXICON_MESSAGE = ### LEXICON_TABLE = ###-@@@:$:% CGD = ### PFS = ### # Subsecao onde as TTVs sao especificadas. O numero de TTVs que devem ser especificadas eh igual ao numero de tabelas utilizadas # nos experimentos cobertos por este BUILD_TABLES (linhas de i a j). # Primeira TTV BEGIN_TTV TTV_NAME = ### TTV_TABLE = ### TTV_TABLE_COLUMNS_QUANTITY = ### # Coluna 1 TTV_TABLE_COLUMNS = ### # Coluna 2 TTV_TABLE_COLUMNS = ### TTV_BUILD_TYPE = ### TTV_TERMS_WEIGHT = ### END_TTV # Segunda TTV BEGIN_TTV TTV_NAME = ### TTV_TABLE = ### TTV_TABLE_COLUMNS_QUANTITY = ### # Coluna 1 TTV_TABLE_COLUMNS = ### # Coluna 2 TTV_TABLE_COLUMNS = ### TTV_BUILD_TYPE = ### TTV_TERMS_WEIGHT = ### END_TTV # Enesima TTV BEGIN_TTV TTV_NAME = ### TTV_TABLE = ### TTV_TABLE_COLUMNS_QUANTITY = ### # Coluna 1 TTV_TABLE_COLUMNS = ### # Coluna 2 TTV_TABLE_COLUMNS = ### TTV_BUILD_TYPE = ### TTV_TERMS_WEIGHT = ### END_TTV END_BUILD_TABLES # Secao onde as configuracoes especificas de cada linha de experimento da tabela x.y.z sao realizadas. # Eh possivel especificar uma tabela de experimentos composta por varias linhas. Para tal, especifique # tantas LINEs quantas forem necessaria, lembrando de especificar o numero correto em LINEm para cada uma. # IMPORTANTE: é necessário substituir, nos tokens abaixo de nome LINE, os caracteres i, j, etc. pelas linhas # a serem configuradas. # Parametros da linha i LINEi TRAIN_MESSAGE = ### # Substitua ### pela descricao desejada para o treinamento desta linha. # Exemplo: Treinamento com a TTV_C1S_DESC completa # Obs: Nao se deve utilizar aspas para delimitar o valor deste parametro. TRAIN_TTV = ### $ % # Substitua ### pelo nome da TTV utilizada no treinamento desta linha. # Substitua $ pelo numero da linha limite inferior da TTV ### a ser considerado. # Substitua % pelo numero da linha limite superior da TTV ### a ser considerado. # Exemplo: TTV_C1S_DESC 0 1182 TEST_LEVEL = ### # Substitua ### pelo nivel desejado de classificacao. É importante ressaltar que # o valor para esse parametro tem que estar em caixa-alta (tudo em maiusculo) # Exemplos: SUBCLASSE, CLASSE, GRUPO, DIVISAO ou SECAO TEST_MESSAGE = ### # Substitua ### pela descricao desejada para o teste desta linha. # Exemplo: Teste com a TTV_C1S_DESC completa # Obs: Nao se deve utilizar aspas para delimitar o valor deste parametro. TEST_TTV = ### $ % # Substitua ### pelo nome da TTV utilizada no teste desta linha. # Substitua $ pelo numero da linha limite inferior da TTV ### a ser considerado. # Substitua % pelo numero da linha limite superior da TTV ### a ser considerado. # Exemplo: TTV_C1S_DESC 0 1182 END_LINE # Parametros da linha linha j LINEj TRAIN_MESSAGE = ### TRAIN_TTV = ### $ % TEST_LEVEL = ### TEST_MESSAGE = ### TEST_TTV = ### $ % END_LINE END_TABLE EOF
# Dados da tabela 1.1.1 CORE_PARAMETERS CORE_DIRECTORY_NAME = VS_CORE CORE_EXECUTABLE_NAME = vs_core CORE_NAME = VS LEXICON_SIZE = 1358 IN_WIDTH = 37 IN_HEIGHT = 37 RECOMPILE = no MEMORIES_SUBDIRECTORY_NAME = VECTORS_SPACES END_CORE_PARAMETERS BUILD_TABLES:1-3 DICTONARY = DICIONARIO_SUBCLASSE # Primeiro WORD_VECTORS WORD_VECTORS = CNAE_110_SUBCLASSE-DESCRICAO_SUB # Segundo WORD_VECTORS WORD_VECTORS = DADOS_VITORIA_SUB_110-OBJETO_SOCIAL LEXICON_MESSAGE = Tudo da tabela CNAE 1.1, menos artigo, conjuncao, contracao, interjeicao, preposicao e pronome. LEXICON_TABLE = CNAE_110_SUBCLASSE-DESCRICAO_SUB:0:1182 CGD = art. conj. contr. interj. prep. pron. PFS = 10000 # Primeira TTV BEGIN_TTV TTV_NAME = TTV_C1S_DESC TTV_TABLE = CNAE_110_SUBCLASSE TTV_TABLE_COLUMNS_QUANTITY = 1 TTV_TABLE_COLUMNS = DESCRICAO_SUB TTV_BUILD_TYPE = DEFAULT TTV_TERMS_WEIGHT = TF END_TTV # Segunda TTV BEGIN_TTV TTV_NAME = TTV_DVS1_OBJS TTV_TABLE = DADOS_VITORIA_SUB_110 TTV_TABLE_COLUMNS_QUANTITY = 1 TTV_TABLE_COLUMNS = OBJETO_SOCIAL TTV_BUILD_TYPE = DEFAULT TTV_TERMS_WEIGHT = TF END_TTV END_BUILD_TABLES BUILD_TABLES:4-8 DICTONARY = DICIONARIO_SUBCLASSE # Primeiro WORD_VECTORS WORD_VECTORS = CNAE_110_SUBCLASSE-DESCRICAO_SUB # Segundo WORD_VECTORS WORD_VECTORS = DADOS_VITORIA_SUB_110-OBJETO_SOCIAL LEXICON_MESSAGE = Tudo da tabela CNAE 1.1, menos artigo, conjuncao, contracao, interjeicao, preposicao e pronome. LEXICON_TABLE = CNAE_110_SUBCLASSE-DESCRICAO_SUB:0:1182 LEXICON_TABLE = DADOS_VITORIA_SUB_110-OBJETO_SOCIAL:0:1639 CGD = art. conj. contr. interj. prep. pron. PFS = 10000 # Primeira TTV BEGIN_TTV TTV_NAME = TTV_C1S_DESC TTV_TABLE = CNAE_110_SUBCLASSE TTV_TABLE_COLUMNS_QUANTITY = 1 TTV_TABLE_COLUMNS = DESCRICAO_SUB TTV_BUILD_TYPE = DEFAULT TTV_TERMS_WEIGHT = TF END_TTV # Segunda TTV BEGIN_TTV TTV_NAME = TTV_DVS1_OBJS TTV_TABLE = DADOS_VITORIA_SUB_110 TTV_TABLE_COLUMNS_QUANTITY = 1 TTV_TABLE_COLUMNS = OBJETO_SOCIAL TTV_BUILD_TYPE = DEFAULT TTV_TERMS_WEIGHT = TF END_TTV END_BUILD_TABLES # Parametros da linha 1 LINE1 TRAIN_MESSAGE = Treinamento com a TTV_C1S_DESC completa (nivel de SUBCLASSE). TRAIN_TTV = TTV_C1S_DESC 0 1182 TEST_LEVEL = SUBCLASSE TEST_MESSAGE = Teste com a TTV_C1S_DESC completa (nivel de SUBCLASSE). TEST_TTV = TTV_C1S_DESC 0 1182 END_LINE # Parametros da linha 2 LINE2 TRAIN_MESSAGE = Treinamento com a TTV_C1S_DESC completa (nivel de SUBCLASSE). TRAIN_TTV = TTV_C1S_DESC 0 1182 TEST_LEVEL = SUBCLASSE TEST_MESSAGE = Teste com a TTV_DVS1_OBJS completa (nivel de SUBCLASSE). TEST_TTV = TTV_DVS1_OBJS 0 3280 END_LINE # Parametros da linha 3 LINE3 TRAIN_MESSAGE = Treinamento com a TTV_C1S_DESC completa (nivel de SUBCLASSE). TRAIN_TTV = TTV_C1S_DESC 0 1182 TEST_LEVEL = SUBCLASSE TEST_MESSAGE = Teste com a segunda metade da TTV_DVS1_OBJS (nivel de SUBCLASSE). TEST_TTV = TTV_DVS1_OBJS 1640 3280 END_LINE # Parametros da linha 4 LINE4 TRAIN_MESSAGE = Treinamento com a TTV_C1S_DESC completa + a primeira metade da TTV_DVS1_OBJS (nivel de SUBCLASSE). TRAIN_TTV = TTV_C1S_DESC 0 1182 TRAIN_TTV = TTV_DVS1_OBJS 0 1639 TEST_LEVEL = SUBCLASSE TEST_MESSAGE = Teste com a segunda metade da TTV_DVS1_OBJS (nivel de SUBCLASSE). TEST_TTV = TTV_DVS1_OBJS 1640 3280 END_LINE # Parametros da linha 5 LINE5 TRAIN_MESSAGE = Treinamento com a TTV_C1S_DESC completa + a primeira metade da TTV_DVS1_OBJS (nivel de CLASSE). TRAIN_TTV = TTV_C1S_DESC 0 1182 TRAIN_TTV = TTV_DVS1_OBJS 0 1639 TEST_LEVEL = CLASSE TEST_MESSAGE = Teste com a segunda metade da TTV_DVS1_OBJS (nivel de CLASSE). TEST_TTV = TTV_DVS1_OBJS 1640 3280 END_LINE # Parametros da linha 6 LINE6 TRAIN_MESSAGE = Treinamento com a TTV_C1S_DESC completa + a primeira metade da TTV_DVS1_OBJS (nivel de GRUPO). TRAIN_TTV = TTV_C1S_DESC 0 1182 TRAIN_TTV = TTV_DVS1_OBJS 0 1639 TEST_LEVEL = GRUPO TEST_MESSAGE = Teste com a segunda metade da TTV_DVS1_OBJS (nivel de GRUPO). TEST_TTV = TTV_DVS1_OBJS 1640 3280 END_LINE # Parametros da linha 7 LINE7 TRAIN_MESSAGE = Treinamento com a TTV_C1S_DESC completa + a primeira metade da TTV_DVS1_OBJS (nivel de DIVISAO). TRAIN_TTV = TTV_C1S_DESC 0 1182 TRAIN_TTV = TTV_DVS1_OBJS 0 1639 TEST_LEVEL = DIVISAO TEST_MESSAGE = Teste com a segunda metade da TTV_DVS1_OBJS (nivel de DIVISAO). TEST_TTV = TTV_DVS1_OBJS 1640 3280 END_LINE # Parametros da linha 8 LINE8 TRAIN_MESSAGE = Treinamento com a TTV_C1S_DESC completa + a primeira metade da TTV_DVS1_OBJS (nivel de SECAO). TRAIN_TTV = TTV_C1S_DESC 0 1182 TRAIN_TTV = TTV_DVS1_OBJS 0 1639 TEST_LEVEL = SECAO TEST_MESSAGE = Teste com a segunda metade da TTV_DVS1_OBJS (nivel de SECAO). TEST_TTV = TTV_DVS1_OBJS 1640 3280 END_LINE END_TABLE EOF