• Nenhum resultado encontrado

UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA – UEFS SÉRGIO FERNANDES DE SOUZA SILVA RECUPERAÇÃO DE INFORMAÇÕES EM BASES TEXTUAIS UTILIZANDO ALGORÍTMOS GENÉTICOS FEIRA DE SANTANA 2013

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA – UEFS SÉRGIO FERNANDES DE SOUZA SILVA RECUPERAÇÃO DE INFORMAÇÕES EM BASES TEXTUAIS UTILIZANDO ALGORÍTMOS GENÉTICOS FEIRA DE SANTANA 2013"

Copied!
60
0
0

Texto

(1)

UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA – UEFS

SÉRGIO FERNANDES DE SOUZA SILVA

RECUPERAÇÃO DE INFORMAÇÕES EM BASES TEXTUAIS UTILIZANDO ALGORÍTMOS GENÉTICOS

FEIRA DE SANTANA 2013

(2)

SÉRGIO FERNANDES DE SOUZA SILVA

RECUPERAÇÃO DE INFORMAÇÕES EM BASES TEXTUAIS UTILIZANDO ALGORÍTMOS GENÉTICOS

Trabalho de Conclusão de Curso apresentado ao curso de Engenharia de Computação da Universidade Estadual de Feira de Santana como requisito parcial para a obtenção do título de Bacharel em Engenharia de Computação

Orientadora: Prof.ª Drª Fabiana Cristina Bertoni

FEIRA DE SANTANA 2013

(3)

Monografia de Trabalho de Conclusão de Curso sob o título “RECUPERAÇÃO DE INFORMAÇÕES EM BASES TEXTUAIS UTILIZANDO ALGORITMOS GENÉTICOS”, defendida por Sérgio Fernandes de Souza Silva e aprovada em _____/_____/_____, em Feira de Santana - Bahia, pela banca examinadora constituída pelos professores:

______________________________________________ Dra. Fabiana Cristina Bertoni Universidade Estadual de Feira de Santana

Orientadora

______________________________________________ Dr. Matheus Giovanni Pires

Universidade Estadual de Feira de Santana Examinador

______________________________________________ Me. Rodrigo Tripodi Calumby Universidade Estadual de Feira de Santana

(4)

RESUMO

Sistemas de Recuperação de Informação tratam da busca por informações em documentos, busca pelos documentos propriamente ditos, busca por metadados que descrevam documentos e busca em banco de dados, sejam eles isolados ou interligados. Quando aplicados às bases textuais, os Sistemas de Recuperação de Informação se dedicam principalmente a resolver problemas relacionados com a divergência entre relação sintática da representação do texto com a semântica do interesse da busca do usuário, e com a procura dessa informação da maneira mais eficiente em bases de dados textuais extensas, como as documentações de uma grande empresa ou os conteúdos na web. Neste contexto, este trabalho propõe um Sistema de Recuperação de Informação baseado em Algoritmos Genéticos, com o intuito de melhorar a eficiência na busca da informação solicitada pelo usuário, considerando a recuperação da maior quantidade de documentos relevantes no menor tempo possível. Os sistemas baseados em Algoritmos Genéticos oferecem um método alternativo para solucionar problemas relacionados à otimização de sistemas, quando há a necessidade de percorrer espaços de busca não-lineares e extensos, como no caso da busca de informações em bases textuais.

(5)

ABSTRACT

Information Retrieval systems treat search for information in documents, searching for documents themselves, searching for metadata which describe documents and searching the database, whether isolated or interconnected. When applied to textual bases, Information Retrieval Systems are dedicated mainly to troubleshoot the discrepancy between syntactic relation representation of text semantics in the interest of user search, and the search for such information in the most efficient way basis of extensive textual data, such as documentation of a large company or web content. In this context, this paper proposes an Information Retrieval System based on Genetic Algorithms, aiming to improve the efficiency in finding the information requested by the user , whereas the recovery of the greater amount of relevant documents in the shortest possible time. The systems based on Genetic Algorithms provide an alternative method for solving problems related to the optimization of systems, when there is the need to go nonlinear and extensive search spaces, such as searching information in textual databases.

(6)

LISTA DE FIGURAS

FIGURA 1:COMPONENTES DE UM SRI. ... 14

FIGURA 2:UMA TÍPICA LISTA DE STOPWORDS. ... 16

FIGURA 3:ÍNDICE INVERTIDO –TERMO XDOCUMENTO. ... 18

FIGURA 4:EXEMPLO DE REPRESENTAÇÃO GRÁFICA DO MODELO VETORIAL. ... 20

FIGURA 5:MÁXIMO LOCAL X MÁXIMO GLOBAL ... 25

FIGURA 6:ESQUEMA DE UM ALGORITMO GENÉTICO ... 27

FIGURA 7:SELEÇÃO POR TORNEIO ... 30

FIGURA 8:TIPOS DE CROSSOVER ... 32

FIGURA 9:FORMATO XML DO DOCUMENTO 02 DA BASE REUTERS ... 36

FIGURA 10:ESQUEMA DE CRIAÇÃO DO ÍNDICE ... 39

FIGURA 11-GARANTIA DE DISTINÇÃO DE DOCUMENTOS NO CRUZAMENTO ... 42

FIGURA 12-GARANTIA DE DISTINÇÃO DE DOCUMENTOS NO CRUZAMENTO (MUTAÇÃO)... 43

FIGURA 13-MUTAÇÃO DE UM GENE ... 43

FIGURA 14-GRÁFICO PRECISION X RECALL DA CATEGORIA "EARN"-PROCEDIMENTO DE TESTES 1 ... 47

FIGURA 15-GRÁFICO PRECISION X RECALL DA CATEGORIA "ACQUISITIONS"-PROCEDIMENTO DE TESTES 2 ... 49

FIGURA 16-GRÁFICO PRECISION X RECALL DA CATEGORIA "MONEY-FX"-PROCEDIMENTO DE TESTES 3 ... 50

FIGURA 17-FIGURA 15-GRÁFICO PRECISION X RECALL DA CATEGORIA "CORN"-PROCEDIMENTO DE TESTES 4 ... 52

(7)

LISTA DE TABELAS

TABELA 1:EXEMPLO DE RELAÇÃO DOCUMENTO X TERMO E SEU RESPECTIVO PESO UTILIZANDO O MODELO DE ESPAÇO

VETORIAL ... 20

TABELA 2:AS DEZ MAIORES CATEGORIAS E SUAS RESPECTIVAS QUANTIDADES DE DOCUMENTOS DA COLEÇÃO REUTERS -21578. ... 36

TABELA 3–PARÂMETROS DO PROCEDIMENTO DE TESTES 1 ... 46

TABELA 4-PRECISION,RECALL E ACCURACY MÉDIOS DA CATEGORIA "EARN"-PROCEDIMENTO DE TESTES 1 ... 47

TABELA 5-PARÂMETROS DO PROCEDIMENTO DE TESTES 2 ... 48

TABELA 6-PRECISION,RECALL E ACCURACY MÉDIOS DA CATEGORIA "ACQUISITIONS"-PROCEDIMENTO DE TESTES 2 . 48 TABELA 7-PARÂMETROS DO PROCEDIMENTO DE TESTES 3 ... 49

TABELA 8–PRECISION,RECALL E ACCURACY MÉDIOS DA CATEGORIA "MONEY-FX"-PROCEDIMENTO DE TESTES 3 ... 50

TABELA 9-PARÂMETROS DO PROCEDIMENTO DE TESTES 4 ... 51

(8)

LISTA DE QUADROS

QUADRO 1:TERMINOLOGIA NA NATUREZA X AG E SEUS SIGNIFICADOS ... 26

(9)

SUMÁRIO

1 INTRODUÇÃO ... 10 2 RECUPERAÇÃO DE INFORMAÇÃO ... 13 2.1 Etapas do processo de RI ... 13 2.2 Pré-Processamento ... 14 2.2.1 Extração de Palavras ... 15 2.2.2 Eliminação de Stopwords ... 15 2.2.3 Stemming ... 16 2.3 Técnicas de Indexação ... 17

2.3.1 Índice Invertido ou Arquivo Invertido ... 17

2.4 Modelos Clássicos de RI... 18

2.4.1 Modelo Vetorial ... 19

2.5 Cálculo dos Pesos ... 21

2.5.1 TF (Term Frequency) ... 21

2.5.2 IDF (Inverse Document Frequency) ... 21

2.5.3 TF-IDF ... 22 2.6 Avaliação da Eficácia ... 22 3 ALGORITMOS GENÉTICOS ... 24 3.1 Terminologia ... 25 3.2 Esquema de um AG... 27 3.3 População ... 28 3.4 Função de Avaliação ... 29 3.5 Seleção Natural ... 29 3.5.1 Torneio ... 30 3.5.2 Elitismo ... 30 3.6 Operadores Genéticos ... 31 3.6.1 Cruzamento (Crossover) ... 31 3.6.2 Mutação ... 33 3.7 Critério de Parada ... 33 4 METODOLOGIA ... 35

4.1 Seleção e Preparação da Coleção ... 35

4.2 Pré-Processamento ... 37

4.3 Construção do Índice ... 38

4.4 Processamento das Consultas dos Usuários ... 39

4.5 Configuração do Algoritmo Genético ... 40

4.5.1 Representação Genética... 40

4.5.2 População Inicial ... 40

4.5.3 Definição do Tamanho da População ... 41

4.5.4 Função de Avaliação ou Fitness ... 41

4.5.5 Método de Seleção ... 42

4.5.6 Operadores Genéticos ... 42

4.5.7 Critério de Parada ... 44

(10)

4.7 Procedimentos de Teste ... 45

5 RESULTADOS E DISCUSSÕES ... 46

6 CONCLUSÃO ... 54

6.1 Trabalhos Futuros ... 54

(11)

1 INTRODUÇÃO

Informação é o resultado do processamento, manipulação e organização de dados, de tal forma que represente uma modificação, quantitativa ou qualitativa, no conhecimento do sistema (pessoa, animal ou máquina) que a recebe (SERRA, 2007). A representação textual é uma das formas de representação da informação, a qual pode estar armazenada em documentos, como relatórios variados, e em publicações como livros, artigos, revistas e jornais. Segundo estudos recentes do grupo Delphi, relatados em Moura (2004), 80% da informação das corporações no mundo é representada por documentos textuais, dado que essa é a forma mais natural de armazenar informações.

A informação é essencial para uma base comunicativa e resgatar esse tipo de conhecimento, considerado relevante para o usuário, está ficando cada vez mais difícil, dado a quantidade e o acúmulo de publicações e de informações em banco de dados ou bibliotecas digitais. A explosão de publicações tornou necessária uma evolução nas pesquisas sobre tratamento e recuperação da informação para responder às necessidades dos usuários que consultam e desejam pesquisar em bases de dados ou textos. No caso das bases textuais, a representação das informações não é estruturada, ou seja, os dados não estão organizados de forma a fornecer um padrão para extração do conteúdo. Para isso devem-se definir um conjunto de técnicas, ferramentas e estratégias de extração de elementos úteis do texto, de forma a resgatar as informações nele contidas.

Os Sistemas de Recuperação de Informação (SRI) são desenvolvidos para este fim, buscando encontrar informações relevantes em documentos, dada uma consulta. Uma das ferramentas mais importantes para auxiliar o processo de recuperação é denominada índice, que é uma coleção de termos que indicam o local onde a informação desejada pode ser localizada (FRAKES, 1992). Os índices são construídos de forma a facilitar a recuperação de informação em um documento. Estes índices podem levar em consideração dados relativos à quantidade de palavras, frequência de termos, e palavras-chave que melhor os descrevem. Muitos documentos não relevantes a uma consulta possuem índices semelhantes aos relevantes, pois dependendo da forma de construção de um índice, este pode não guardar informações referentes à estrutura original, sendo apenas um conjunto de palavras desordenadas, tornando mais difícil o

(12)

resgate da informação contida nesses documentos. Desta forma, documentos relevantes podem deixar de ser recuperados ou, o documento recuperado e apresentado para o usuário pode não ser o que melhor atende à sua necessidade.

A relevância dos documentos recuperados após uma consulta é dependente da forma ao qual o usuário descreve sua necessidade de informação e da maneira que o sistema pode interpretar essa necessidade. Para classificar a qualidade da resposta fornecida ao usuário, deve-se utilizar de métodos de avaliação do interesse do usuário à resposta dada pelo sistema e quais os documentos foram realmente significativos em relação à consulta. A avaliação da qualidade da resposta obtida é normalmente feita através de técnicas de medida, dentre as quais se destacam recall, precision e accuracy. Recall mede a habilidade do sistema em recuperar os documentos mais relevantes para seu usuário, Precision mede a habilidade do sistema em manter os documentos irrelevantes fora do resultado de uma consulta e Accuracy mede o quanto o resgate de documentos relevantes está correto (MANNING, 2009). Outra forma de avaliar é a realimentação, ao qual, o usuário informa, implícita ou explicitamente, quais documentos são de seu interesse (AIRES, 2006). A forma implícita pode ser exemplificada pelo simples acesso do usuário a um determinado documento, enquanto que a forma explícita é aquela na qual o usuário seleciona os documentos que julga importantes à sua busca e submete essa informação ao sistema (GORDON, 1988).

A tarefa de busca nos SRI, que avaliam semelhança entre a consulta e os documentos, pode ser implementada com base em modelos clássicos, como feito em Cardoso (2000) e Rachel (2006), ou através de métodos alternativos, como desenvolvido por Gordon (1988) e Souza e Coello (2010).

A utilização de métodos alternativos na implementação dos SRI se dá pela necessidade de encontrar abordagens não apenas eficazes, mas também eficientes em encontrar a informação. Assim, com o intuito de melhorar o desempenho e a aplicabilidade em relação às abordagens já existentes, este trabalho propõe um SRI baseado em Algoritmos Genéticos (AG), objetivando melhorar a eficiência na busca da informação solicitada pelo usuário, considerando a recuperação da maior quantidade de documentos relevantes no menor tempo possível. Os AG recuperaram documentos promissores no espaço de busca, convergindo para estes documentos e seus semelhantes através da análise da relevância, resultando num possível conjunto-solução para o problema. A vantagem desse método é realizar a busca de forma paralela através

(13)

de um alto número de possíveis soluções, neste caso bases com grande quantidade de documentos. O uso do paralelismo pode ser uma boa opção, pois várias possibilidades são exploradas simultaneamente, reduzindo o tempo de busca da solução.

Para alcançar tal objetivo, serão necessárias as seguintes etapas: 1) Pré-processamento dos textos dos documentos:

a. Extração das palavras do texto;

b. Remoção das palavras mais comuns (stopwords); c. Redução a radicais comuns (stemming);

2) Indexação dos termos pré-processados; 3) Desenvolvimento do Algoritmo Genético:

a. Definição da representação genética; b. Criação da população inicial;

c. Definição da função de avaliação ou fitness;

d. Escolha dos métodos de seleção e dos operadores genéticos mais apropriados;

e. Escolha do critério de parada; 4) Validação do sistema;

5) Realização dos testes e análise dos resultados: a. Definição das consultas a serem realizadas; b. Realização das consultas e coleta dos resultados;

c. Análise dos resultados através de medidas de avaliação de eficácia; d. Discussão dos resultados.

O Capítulo 2 apresenta os conceitos relacionados a recuperação de informação e as etapas do processo de preparação de textos para a realização da busca . O Capítulo 3 define os conceitos de algoritmos genéticos em sua forma geral. O Capítulo 4 descreve detalhadamente as etapas do SRI baseado em AG desenvolvido, desde os métodos de seleção e preparação da coleção de documentos, passando pela configuração do AG, até as técnicas de avaliação da qualidade das soluções obtidas. O Capítulo 5 apresenta e analisa os resultados obtidos e o Capítulo 6 traz a conclusão do trabalho.

(14)

2 RECUPERAÇÃO DE INFORMAÇÃO

Recuperação de Informação (RI) é a tarefa de encontrar itens de informação relevantes para uma determinada necessidade de informação expressa pela requisição de um usuário (consulta) e disponibilizá-los de uma forma adequada ao propósito da busca. Por itens de informação entende-se informação em diferentes formatos, tais como textos, imagens (fotografias e mapas) e vídeos. (AIRES, 2006).

Classifica-se a RI de acordo com o formato tratado:  RI Textual ou RI Documental;

 RI Visual que inclui RI de imagens e de vídeos;  RI de áudio;

 RI multimídia;

A forma de RI que iremos utilizar e tratar neste capítulo é a RI Textual, por ser o objetivo de estudo deste trabalho.

2.1

Etapas do processo de RI

Um Sistema de Recuperação de Informação pode ser estruturado em quatro etapas, conforme a Figura 1: i) representar cada documento em uma forma que possa ser “compreendida” pelo computador (Representação dos Documentos e Indexação), ii) interpretar as consultas fornecidas (Especificação da Consulta), iii) comparar as consultas interpretadas com o conjunto de documentos indexados (Recuperação de Informação), e iv) apresentar os resultados de forma adequada ao propósito do usuário (Lista dos Documentos Recuperados).

(15)

Figura 1: Componentes de um SRI.

Fonte: XXVIII Encontro Nacional de Engenharia de Produção (2008, p.3)

As próximas seções destinam-se ao detalhamento de cada etapa que compõe um SRI.

2.2

Pré-Processamento

O pré-processamento consiste em um conjunto de transformações realizadas sobre uma coleção de textos em formato livre, com o objetivo de representá-los de forma estruturada (ARANHA, 2007).

O pré-processamento de textos tem o objetivo de organizar os dados, transformando-os e filtrando-os, geralmente utilizando a abordagem bag-of-words. Nesta abordagem, cada documento é representado como um conjunto de palavras sem distinção da ordem em que estas aparecem no texto ou qualquer informação de pontuação e estrutura, mas levando em consideração o número de ocorrência de cada palavra no texto (MORAIS, 2007).

O Pré-Processamento tem por finalidade melhorar a qualidade dos dados através da seleção dos termos mais representativos dos documentos da coleção e eliminação de

(16)

caracteres e palavras consideradas irrelevantes para o processo de representação. Essas técnicas serão descritas nas Seções 2.2.1, 2.2.2 e 2.2.3.

2.2.1 Extração de Palavras

Um documento de texto pode ser visto como um stream de caracteres. Stream é um fluxo de dados em um sistema computacional. Para a identificação das características, é necessário converter o documento de texto em um stream de palavras, onde uma palavra é definida como um conjunto de caracteres com importância coletiva (FRAKES; BAEZA-YATES, 1992). Neste documento iremos referenciar essas palavras mais comumente como termo.

A técnica de extração dos termos de um texto do documento leva em consideração que as palavras estão separadas por um isolador, ao qual na maioria das linguagens é representado por um símbolo de pontuação ou um espaço, tornando mais fácil essa extração, porém em linguagens como o chinês e japonês, nos quais não são utilizados espaços entre as palavras, são necessárias técnicas mais complexas (YIN, 1996).

Após a extração das palavras, os sistemas automáticos de recuperação de informação geralmente utilizam filtros para eliminar palavras de pouca significação (Stopwords), além de normalizar os termos reduzindo-os a seus radicais, processo conhecido como Stemming (FERNEDA, 2003). As técnicas de eliminação de stopwords e stemming serão descritas nas Seções 2.2.2 e 2.2.3 respectivamente.

2.2.2 Eliminação de Stopwords

Em cada língua, existe um conjunto de palavras que são utilizadas com muita frequência e que possuem pouca influência no significado dos documentos. Estas palavras são chamadas Stopwords. Geralmente, são preposições, artigos, conjunções, pronomes e verbos muito utilizados, como por exemplo, as palavras: “of”, “in”, “is”, “are”, “and”, “this” e “that” na língua inglesa, outros exemplos são mostrados na Figura 2. Através da análise deste conjunto de palavras, não é possível fazer uma distinção entre o

(17)

conteúdo dos documentos, por isso, elas possuem baixa relevância no processo de mineração de textos. (YIN, 1996).

Figura 2: Uma típica lista de stopwords.

Fonte: Próprio autor.

2.2.3 Stemming

O método de redução de um termo ao seu radical, removendo as desinências, afixos, e vogais temáticas é chamado de Stemming (BAEZA-YATES; RIBEIRO-NETO, 1999). A sua utilização faz com que termos derivados de um mesmo radical sejam contabilizados como um único termo. Uma palavra pode possuir inúmeras variantes morfológicas, como por exemplo, a palavra “compute”, que possui as variantes: “computing”, “computed”, “computes’” e “computer”. Na maior parte dos casos, as variantes possuem significado semelhante (YIN, 1996).

O processo de Stemming de uma determinada linguagem pode não funcionar corretamente em outra, pois cada linguagem possui sua peculiaridade em relação à sintaxe gramatical. Dentre os algoritmos de Stemming mais conhecidos estão os algoritmos de Porter, Lovins e Orengo. Nas diversas linguagens há a possibilidade de haver palavras semelhantes sintaticamente, mas sem nenhuma relação semântica. Desta forma, os radicais tendem a agregar informações diferentes, ao utilizar o algoritmo de Porter, por exemplo, tem-se que as palavras “new” e “news” possuem semelhanças sintáticas, através de seu radical, mas significados diferentes e neste caso, essas palavras serão representadas por um mesmo radical (BERRY, 2003).

(18)

2.3

Técnicas de Indexação

O processo de representação busca descrever ou identificar cada documento do corpus através de seu conteúdo. Essa representação geralmente é realizada através do processo de indexação. Durante a indexação são extraídos conceitos dos documentos através da análise de seu conteúdo e traduzidos em termos de uma linguagem de indexação, tais como cabeçalhos de assunto e palavras-chave. Esta representação identifica o documento e define seus pontos de acesso para a busca e pode também ser utilizada como sua representatividade nos índices (FERNEDA, 2003).

O processo de indexação envolve a criação de estruturas de dados associadas à parte textual dos documentos (FRAKES, 1992). Estas estruturas podem conter dados sobre características dos termos na coleção de documentos, tal como a frequência de cada termo em um documento. Existem algumas técnicas para construção de estruturas de indexação, dentre elas, a técnica de Índice Invertido ou Arquivo Invertido.

2.3.1 Índice Invertido ou Arquivo Invertido

Índice Invertido ou Arquivo Invertido é um mecanismo orientado por palavras-chave ordenadas, sendo que cada palavra-palavras-chave possui uma referência para os documentos contendo aquela palavra, conforme ilustrado na Figura 3. Cada documento é dissociado em uma lista de palavras-chave ou de atributos, a qual é invertida e passa a não ser mais ordenada pela localização no texto, mas sim por ordem alfabética no índice.

(19)

Figura 3: Índice Invertido –Termo X Documento.

Fonte: Adaptada de Apple Search Kit (2013)

Cada palavra-chave ou atributo, dependendo do modelo algébrico escolhido para representação de documentos, é associado a um peso (AIRES, 2006).

2.4

Modelos Clássicos de RI

Os modelos clássicos, utilizados no processo de recuperação de informação apresentam estratégias de busca de documentos relevantes para uma dada consulta. Estes modelos consideram que cada documento é descrito por um conjunto de palavras chaves, chamadas termos de indexação. Associa-se a cada termo de indexação ti em um documento dj um peso wij > 0, que quantifica a rrelação entre os termos e o documento. Dentre estes modelos destacam-se o Booleano, o Vetorial e o Probabilístico.

Nos modelos Vetorial e Booleano há uma associação prévia de pesos, que definem a importância do termo para o documento. No modelo Booleano o peso associado é a presença ou ausência do termo no documento tendo como representação o 0 (zero) para

(20)

ausência e o 1 (um) para a presença. No modelo Vetorial, além da presença, é especificado a frequência do termo no documento, podendo significar mais informações. Por sua vez no modelo Probabilístico, os termos indexados dos documentos e das consultas não possuem pesos pré-definidos, a ordenação dos documentos é calculada pesando dinamicamente os termos da consulta relativamente aos documentos, baseando-se no princípio da ordenação probabilística. Este conceito busca-se saber a probabilidade de um documento ser ou não relevante para uma consulta obtida assumindo-se que a distribuição de termos na coleção é capaz de informar a relevância provável para um documento qualquer da coleção. (AIRES, 2006) O modelo vetorial foi o tipo de representação usada neste trabalho e será descrito na seção 2.4.1.

2.4.1 Modelo Vetorial

O Modelo de Espaço Vetorial é um modelo algébrico para representação de documentos de texto através de vetores, os quais contêm os termos que aparecem ao menos uma vez em algum documento presente na coleção. Termo pode ser definido como uma palavra ou frase presente no texto. Porém, apesar de frases apresentarem melhor semântica, possuem qualidades estatísticas inferiores quando se comparado à utilização de palavras isoladas (TORRES, 2007).

A partir do Modelo de Espaço Vetorial, o documento Dj pode ser representado

conforme a Equação 1.

Dj = <wj1, wj2, wj3...wjk> (1) Onde k é o número de termos distintos existentes em toda a coleção, e wji é o peso

do termo ti no documento Dj . Este peso representa a contribuição de cada termo para a

semântica do documento (YIN, 1996).

A representação da coleção de documentos é feita através de uma matriz formada pelo conjunto de vetores dos documentos, como apresentado na Tabela 1, onde cada linha representa um documento, cada coluna representa um termo da coleção e o valor da célula representa o peso do termo no documento (BERRY, 2003).

(21)

Tabela 1: Exemplo de Relação documento x termo e seu respectivo peso utilizando o Modelo de Espaço Vetorial

Documento “termo1” “termo2” “termo3”

doc1 5 2 3

doc2 2 7 4

doc3 0 1 4

Fonte: Próprio autor.

No modelo de representação vetorial tem-se que os vetores de documentos similares tendem a estar próximos no espaço, ficando afastados caso tenham pouca similaridade. A quantidade de dimensões existentes no modelo é dada em função da quantidade de termos distintos encontrados na coleção.

Na Figura 4, são representados três documentos em função dos termos “termo1”, “termo2” e “termo3”.

Figura 4: Exemplo de representação gráfica do modelo vetorial.

(22)

Os documentos doc2 e doc3 estão próximos no espaço, indicando seu grau de similaridade, ou seja, documentos que possuem os mesmos termos acabam sendo colocados em uma mesma região do espaço e, em teoria, tratam de assuntos similares, e por isso tendem a possuir conteúdos similares (AIRES, 2006).

2.5

Cálculo dos Pesos

Este processo deve analisar a importância de cada termo para extrair as características de representação do documento. Isto resulta designar para cada termo um peso, indicando a importância relativa para o documento. Os pesos mais utilizados são o TF, IDF e TF-IDF. (YIN, 1996).

2.5.1 TF (Term Frequency)

Nesta técnica, o peso do termo é igual a sua frequência no documento. É considerado que um termo que é mencionado mais vezes em um documento tem maior relevância na construção do seu significado, e por isso, deve possuir um peso mais alto (YIN, 1996).

A desvantagem desta técnica para a relevância do termo é que termos com alta frequência podem não ajudar a definir o significado de um documento, visto o exemplo das stopwords, que possuem essa característica e são removidas durante o pré-processamento.

2.5.2 IDF (Inverse Document Frequency)

IDF é uma métrica para determinar um valor de raridade de cada termo na coleção de documentos. O cálculo da IDF é dado pela Equação 2.

(23)

onde N é o número de documentos na coleção, e n é o número de documentos em que existe o termo i. Em geral, termos que aparecem em poucos documentos têm maior influência na definição do significado de cada documento (YIN, 1996).

2.5.3 TF-IDF

TF-IDF procura aproveitar as vantagens da TF e da IDF. O peso do termo é igual ao produto da TF pela IDF, conforme é apresentado na Equação 3.

(3)

Nesta abordagem, o termo que possui maior frequência e aparece em poucos documentos é considerado mais relevante na discriminação do conteúdo do documento

2.6

Avaliação da Eficácia

Quando a informação for recuperada pelo sistema, é necessário avaliar sua relevância. Há medidas bastante utilizadas para o cálculo da qualidade da informação recuperada, dentre elas estão precision, recall e accuracy (MANNING, 2009).

Dado um conjunto de documentos recuperados pelo sistema RI podemos definir:

Precision (P) é a fração de documentos recuperados que são relevantes para a consulta realizada, representado na Equação 4.

(4)

Recall (R) é a fração de documentos relevantes que foram recuperados pelo sistema (5).

(24)

(5)

Accuracy (Acc) é a porcentagem dos dados de teste que estão corretamente classificadas. Nela não há a ordenação, apenas a verificação da corretude da classificação.

(25)

3 ALGORITMOS GENÉTICOS

Muitos problemas computacionais requerem uma busca através de um alto número de possíveis soluções, chamado de espaço de busca. O termo espaço de busca refere-se a uma coleção de soluções candidatas para um determinado problema [Mitchell 1996]. Um problema pode ser descrito como uma tentativa de alcançar um determinado objetivo, isto é, de chegar a um estado onde certa condição foi satisfeita. Um estado é uma especificação de certos aspectos da realidade relevantes para o problema. Se um aspecto é relevante para a solução do problema, este deve ser considerado para alcançar outro estado. Toda decisão que for realizada para causar modificação num estado é chamada de ação. As várias ações que podem ser feitas em cada instante devem ser então avaliadas como um caminho da busca a ser efetuada, com o intuito de encontrar o estado final desejado.

Um algoritmo de busca é tal que recebe um problema de entrada e retorna uma solução sob a forma de sequencia de ações que ele recomenda que sejam tomadas para que atinja o objetivo desejado (LINDEN, 2012, apud RUSSEL & NORVIG, 2004). Algoritmos genéticos (AG) são algoritmos de busca que utilizam modelos computacionais dos processos naturais de evolução como uma ferramenta para resolver problemas (LINDEN, 2012). Seu funcionamento consiste inicialmente em gerar uma população de indivíduos considerados possíveis soluções. Então, a cada geração, cada indivíduo é avaliado, sendo que os mais adaptados à solução do sistema são mantidos e os menos adaptados são eliminados. Os indivíduos selecionados podem sofrer modificações nas suas características através de operadores genéticos.

A principal vantagem dos AGs é trabalharem com o conceito de população, pois possíveis soluções são exploradas simultaneamente (paralelismo) e havendo uma população de pontos bem distribuídos e adaptados, a possibilidade de alcançar um falso ótimo ou máximo local torna-se menor O conceito de máximo local acontece quando o algoritmo converge para uma região local e a explora até que se encontre seu melhor valor, ignorando porém o restante do espaço de busca, como exemplificado na Figura 5 (LINDEN, 2012).

(26)

Figura 5: Máximo Local x Máximo Global F i t n e s s Espaço de Busca Falso Ótimo (Máximo Local) Solução Ótima (Máximo Global)

Fonte: Próprio autor.

AGs são técnicas probabilísticas e não determinísticas, ou seja, mesmo que a população inicial seja a mesma, com um mesmo conjunto de parâmetros, podem-se obter soluções diferentes cada vez que for executado (LINDEN, 2012). Por isso pode-se pensar que os AGs sejam aleatórios, mas segundo Linden (apud CARVALHO, 2003) AGs diferenciam de esquemas aleatórios por serem uma busca que utiliza informação pertinente ao problema e não trabalham com caminhadas aleatórias (random walks) pelo espaço de soluções, mas sim direcionando sua busca através do mecanismo da seleção, equivalente ao processo natural, explorando as informações históricas para encontrar novos pontos promissores de busca.

3.1

Terminologia

A terminologia dos AGs está altamente ligada aos termos da genética e da teoria da evolução das espécies. No Quadro 1 é apresentada a ligação entre os termos e seu significado nos AGs.

(27)

Quadro 1: Terminologia na Natureza x AG e seus significados

Natureza AG Descrição

Cromossomo Indivíduo, Cromossomo

Estrutura de dados formada por uma sequência de genes.

Codifica uma solução para o problema.

Gene Característica, Descrição

Componente elementar de um cromossomo, geralmente responsável pela codificação de um único parâmetro, ou seja, um elemento do vetor que representa o cromossomo.

Alelo Valor Representa os valores (dados) que um gene pode assumir.

Lócus Posição Posição ocupada por um gene em um cromossomo.

Genótipo Estrutura

Informação contida no cromossomo. Estrutura de dados que representa uma solução candidata à um determinado problema.

Fenótipo Conjunto de Parâmetros

Decodificação de um ou mais cromossomos que leva a um ponto da superfície de adaptação definida no espaço de busca.

Fonte: Adaptada de Daves (2005) e Linden (2012).

Ainda existem termos que não possuem necessariamente outra nomeação quando se refere a Algoritmos Genéticos, mas têm outros significados, como mostrado no Quadro 2.

Quadro 2: Termos Análogos e seus significados para AGs

Natureza/AG Descrição

Indivíduo Uma solução candidata de um problema. População Conjunto dos indivíduos de uma geração.

Geração Ciclo de criação e transformação de uma população. Aptidão ou

Fitness

Valor associado a um indivíduo que indica o quão bem ele soluciona um determinado problema.

Mutação Variação aleatória em uma estrutura de dados individual. Crossover Troca de porções entre duas ou mais estruturas de dados.

Seleção Processo que permite a sobrevivência e reprodução dos indivíduos mais aptos em detrimento dos menos aptos.

(28)

3.2

Esquema de um AG

O funcionamento de um AG é mostrado na Figura 6, podendo ser resumido algoritmicamente através dos seguintes passos (LINDEN, 2012):

a) Inicializar a população de cromossomos. b) Avaliar cada cromossomo na população.

c) Selecionar os pais para gerar novos cromossomos.

d) Aplicar os operadores de recombinação e mutação a estes pais de forma a gerar os indivíduos da nova geração.

e) Avaliar todos os novos cromossomos e inseri-los na população.

f) Se o tempo acabou, ou o melhor cromossomo satisfaz os requisitos, retorne-o, caso contrário, volte para o passo c.

Figura 6: Esquema de um algoritmo genético

solução fim selecionar pais filhos gerados nova população cruzamento mutação criterio de parada? sim não população inicial inicio avaliar fitness de cada indivíduo

(29)

Para aplicação do AG em um problema, alguns parâmetros e elementos precisam ser definidos:

 Uma representação cromossômica que seja adequada ao problema;

 Uma função de avaliação que classifique satisfatoriamente o grau de adequação de cada indivíduo como solução do problema em questão, de forma que uma solução que confira maior benefício receba uma avaliação mais alta do que aquela que confere um benefício menor;

 Operadores de cruzamento e mutação válidos;  Critério de parada adequado.

Para encontrar esses elementos em uma aplicação deve-se avaliar todo o contexto do problema. Cada etapa do AG será explicada da seção 3.3 à seção 3.8.

3.3

População

Quando se trata da população de um AG, dois elementos precisam ser definidos: representação genética e tamanho da população.

A representação genética das possíveis soluções do espaço de busca de um problema define a estrutura do cromossomo a ser manipulado pelo algoritmo. A representação do cromossomo depende do tipo de problema e do que, essencialmente, se deseja manipular geneticamente (LINDEN, 2012). Existem alguns tipos de representação genética para as soluções de um problema, dentre as quais destacam-se as codificações binária e real. A representação binária (cadeias de zeros e uns) é a tradicionalmente usada, uma vez que é de fácil utilização e manipulação, além de simples de analisar teoricamente. Contudo, apresenta algumas desvantagens quando aplicada a problemas multidimensionais e a problemas numéricos de alta precisão (Michalewicz, 1996).

O tamanho da população afeta o desempenho global e a eficiência dos AGs. Com uma população pequena o desempenho pode cair, pois deste modo a população fornece uma pequena cobertura do espaço de busca do problema. Uma grande população geralmente fornece uma cobertura representativa do domínio do problema, além de

(30)

prevenir convergências prematuras para soluções locais ao invés de globais. No entanto, para se trabalhar com grandes populações, são necessários maiores recursos computacionais ou que o algoritmo trabalhe por um período de tempo muito maior.

3.4

Função de Avaliação

Tendo uma população, é necessário agora verificar quais os indivíduos mais aptos para se alcançar a melhor solução. Esta responsabilidade é dada à função de avaliação. A função de avaliação é a maneira utilizada pelos AGs para determinar a qualidade de um indivíduo como solução do problema (ALGORITMOS EVOLUTIVOS, 2009).

A função de avaliação ou fitness calcula um valor numérico que reflete quão bem os parâmetros representados no cromossomo resolvem o problema, portanto deve ser escolhida com bastante cuidado. Ela deve representar o conhecimento que se possui sobre o problema a ser resolvido, tanto suas restrições quanto seus objetivos de qualidade (LINDEN, 2012).

3.5

Seleção Natural

O mecanismo de seleção natural que atua sobre as espécies biológicas é o método utilizado para a seleção dos indivíduos que irão reproduzir e gerar descendentes, princípio básico para o direcionamento da evolução de uma população (LINDEN, 2012). O conceito fundamental é privilegiar os indivíduos com aptidão alta, sem desprezar completamente aqueles indivíduos com aptidão baixa.

Existem vários métodos comuns de seleção como Roleta, Torneio e Elitismo, mas serão explicados apenas os métodos do Torneio e Elitismo, pois foram os utilizados neste trabalho.

(31)

3.5.1 Torneio

No método de seleção por Torneio são escolhidos aleatoriamente (com probabilidades iguais) n indivíduos da população e o que possuir maior aptidão é selecionado para a população intermediária. O processo repete-se até completar a população intermediária.

Figura 7: Seleção por Torneio

Fonte: Almeida e Kagan (2010)

3.5.2 Elitismo

Elitismo é o nome do método que copia os n melhores cromossomos para a nova população. O resto da população é construído com base em outro método de seleção. Elitismo pode aumentar rapidamente o desempenho do AG, porque previne a perda da melhor solução já encontrada (OBITKO; SLAVÍK, 1999).

(32)

3.6

Operadores Genéticos

O princípio básico dos operadores genéticos é transformar a população através de sucessivas gerações, estendendo a busca até chegar a um resultado satisfatório. Os operadores genéticos são necessários para que a população se diversifique e mantenha características de adaptação adquiridas pelas gerações anteriores (OBITKO; SLAVÍK, 1999).

Cruzamento e Mutação são os dois operadores básicos nos AGs. Através da combinação desses operadores com a função de aptidão, os algoritmos genéticos são classificados como um método de busca dirigida, já que utiliza a seleção para determinar as áreas mais promissoras de pesquisa, o cruzamento para combiná-las de modo a gerar soluções mais aptas para resolução do problema e a mutação para garantir uma maior varredura do espaço de estados e evitar que o algoritmo genético convirja muito cedo para mínimos locais (LINDEN, 2012). O tipo e a implementação desses operadores dependem da codificação e também do problema (OBITKO; SLAVÍK, 1999).

3.6.1 Cruzamento (Crossover)

O cruzamento é o operador responsável pela recombinação de características dos pais durante a reprodução, permitindo que as próximas gerações herdem essas características. Ele é considerado o operador genético predominante, por isso é aplicado com probabilidade alta, que deve ser maior que a taxa de mutação (OBITKO; SLAVÍK, 1999).

Este operador pode ser utilizado de várias maneiras, dentre elas:

Um-ponto: um ponto de cruzamento é escolhido e a partir deste ponto as informações genéticas dos pais serão trocadas. As informações anteriores a este ponto em um dos pais são ligadas às informações posteriores a este ponto no outro pai;

Multiplo: é uma generalização desta idéia de troca de material genético através de pontos, onde muitos pontos de cruzamento podem ser utilizados;

(33)

Uniforme: não utiliza pontos de cruzamento, mas determina, através de um parâmetro global (máscara), qual a probabilidade de cada variável ser trocada entre os pais.

A Figura 8 ilustra os três tipos de cruzamento citados. Figura 8: Tipos de Crossover

Fonte: Adaptado de Daves (2005).

O ponto de cruzamento ou ponto de corte constitui uma posição entre dois genes de um cromossomo. Cada indivíduo com n genes contem n-1 pontos de corte, e este ponto de corte é o ponto de separação entre cada um dos genes que compõe o material genético de cada pai. No cruzamento simples, depois de sorteado um ponto de corte, divide-se os genes dos pais em duas partes: uma à esquerda do ponto de corte e outra à direita. O primeiro filho é constituído da concatenação dos genes do primeiro pai à esquerda do ponto de corte com a parte do segundo pai à direita do mesmo ponto. Enquanto o segundo filho é constituído da concatenação dos genes do segundo pai à esquerda do ponto de corte com os genes do primeiro pai à direita do mesmo ponto. No cruzamento múltiplo, o processo é semelhante ao simples, mas a troca de dados se inverte a cada ponto de cruzamento. No processo de cruzamento uniforme, a atribuição dos genes dos pais aos filhos é baseada numa máscara pré-determinada, onde é gerada aleatoriamente sorteando-se um array de 0’s e 1’s. Desta forma, este método atribuirá para o primeiro filho o gene do pai 1 e para o segundo filho o gene do pai 2, caso o

(34)

número da máscara referente a posição seja 0 (zero); e o processo invertido, caso o número da máscara referente seja 1 (um) (LINDEN, 2012).

Como parâmetro de controle, quanto maior a taxa de cruzamento, mais rapidamente novas estruturas serão introduzidas na população. Se esta taxa for muito alta, estruturas com boas aptidões poderão ser retiradas mais rapidamente, ou seja, a maior parte da população poderá ser substituída. Já valores muito baixos podem levar o algoritmo a tornar-se muito lento (OBITKO; SLAVÍK, 1999).

3.6.2 Mutação

Nesse operador, para cada bit de cada um dos indivíduos da população de uma determinada geração, sorteia-se um número aleatório entre 0 e 1. Se esse número for inferior ao valor da taxa de mutação fixado para o AG, o gene em questão sofrerá a mutação alterando o valor aleatoriamente (ALMEIDA; KAGAN, 2010). Existe também a possibilidade de a mutação ocorrer em um único gene do indivíduo, alterando o valor de um determinado gene aleatório do cromossomo.

O operador de mutação é necessário para a introdução e manutenção da diversidade genética da população, alterando arbitrariamente um ou mais componentes de uma estrutura escolhida, fornecendo assim, meios para introdução de novos elementos na população. Desta forma, a mutação assegura que a probabilidade de se chegar a qualquer ponto do espaço de busca nunca será zero.

Uma baixa taxa de mutação previne que uma dada posição fique estagnada em um valor, além de possibilitar que se chegue a qualquer ponto do espaço de busca. Com uma taxa muito alta a busca se torna essencialmente aleatória (OBITKO; SLAVÍK, 1999).

3.7

Critério de Parada

O critério de parada ou operador de finalização é o responsável por determinar se a execução do AG (evolução de população) será concluída ou não. Tal ação é realizada a partir da execução de testes baseados em uma condição de parada pré-estabelecida. Tal condição de parada pode ser, por exemplo, a quantidade de gerações desenvolvidas

(35)

ou o grau de proximidade dos valores de aptidão de cada cromossomo de determinada população.

(36)

4

METODOLOGIA

Neste capítulo serão discutidos os métodos empregados na implementação do sistema de recuperação de informação, além das técnicas e parâmetros do Algoritmo Genético utilizado.

Para a implementação do sistema foi escolhida a linguagem Java versão 1.6, além de algumas tecnologias mencionadas nas descrições dos processos nas Seções 4.1 a 4.6.

4.1 Seleção e Preparação da Coleção

Para se recuperar informação textual foi escolhida uma base de documentos textuais categorizada e com conteúdos distintos. Com base nas categorias pode-se analisar como o sistema se comporta de acordo com cada consulta solicitada ao sistema.

Para este trabalho, foi escolhida a base de notícias Reuters versão 21578. Esta é uma coleção de documentos (em língua inglesa) da agência de notícias Reuters, datados de 1987. Os documentos foram reunidos e indexados com as categorias manualmente por funcionários da Reuters Ltd. e Carniege Group Inc., e posteriormente disponibilizados para fins de estudo na área de Recuperação de Informação, sendo atualmente, a coleção de teste mais amplamente utilizada para a pesquisa de categorização de texto e recuperação de informação (REUTERS, 2013).

A base, ao todo, possui 22 arquivos, que estão em formato xml, nos quais estão contidos muitos documentos, em média nove mil documentos, separados por tags, as quais discriminam suas categorias, seus tópicos, a data do documento e seu conteúdo textual, como pode ser visto na Figura 9.

(37)

Figura 9: Formato XML do Documento 02 da Base Reuters

Fonte: Adaptada de Reuters (2013).

A base Reuters possui uma classificação, composta de 118 categorias que auxilia tanto os trabalhos de recuperação de informação como os de Mineração de Texto. Alguns documentos não têm categorias, outros possuem apenas uma, e outros possuem várias.

Na Tabela 3 têm-se as dez categorias que possuem a maior quantidade de documentos na coleção Reuters-21578.

Tabela 2: As dez maiores categorias e suas respectivas quantidades de documentos da coleção Reuters-21578.

Categoria Quantidade de documentos

earn 3964 acquisitions 1829 money-fx 717 grain 582 crude 578 trade 488 interest 478 ship 286 weat 283

(38)

corn 238

Fonte: Adaptada de Manning (2009).

4.2 Pré-Processamento

A etapa de pré-processamento geralmente é uma das mais importantes, pois é nela onde são feitas as escolhas que podem influenciar na qualidade final dos resultados (ARANHA, 2007).

Na primeira parte do pré-processamento adotado neste trabalho o texto passa por um processo ao qual inclui-se o título do documento ao corpo do texto (para agregar informação) e depois se retira toda pontuação e números, deixando apenas letras. Além disso, todas as letras são transformadas em minúsculas e as palavras com menos de três letras extraídas. Após essa etapa, tem-se uma lista de palavras do documento, a qual passará pelo processo de remoção das stopwords.

Existem várias listas disponíveis e com variadas quantidades de palavras consideradas irrelevantes (stopwords), sendo que a mais simples possui 119 palavras e a mais complexa alcança 544. Para este trabalho foi utilizada a lista mais simples, pois durante alguns testes iniciais não houve uma redução significante dos termos durante o processo de remoção das stopwords, sendo assim a menor lista reduz o tempo de processamento dessa etapa.

Após o processo de remoção das stopwords, a lista de termos do documento passa pelo processo de stemming baseado no algoritmo de Porter descrito no ANEXO A. Este algoritmo reduz as palavras com o mesmo radical. Para que este processo fosse realizado poucas vezes, foi escolhida a opção de armazenar esses documentos, com sua respectiva lista de termos significativos, em um banco de dados. A tecnologia escolhida foi o MySQL versão 5.5, juntamente com a tecnologia de persistência Hibernate versão 4.2.2. Essas tecnologias foram também aplicadas nos demais processos que necessitam de armazenamento em banco de dados.

(39)

4.3 Construção do Índice

Para a representação dos documentos foi escolhido o modelo de espaço vetorial, O índice é composto de todos os termos distintos de todos os documentos e é organizado numa tabela hash, que consiste em uma estrutura que associa chaves de pesquisa a valores. Seu objetivo é, a partir de uma chave simples, fazer uma busca rápida e obter o valor desejado.

No processo de indexação varrem-se os termos de cada documento da base, adicionando-os ao índice quando não existirem e registrando o documento que o possui. Dessa forma a chave de pesquisa da tabela é o termo, e o valor associado é uma lista de documentos que possuem esse termo.

A Figura 10 mostra um exemplo de como se realiza o processo de indexação utilizado no trabalho. No exemplo, o Documento#453 possui sua lista de termos e a respectiva frequência no documento, representado pelo número entre parênteses. As duas setas indicam as duas formas de inserção do termo na estrutura hash que compõe o índice. A seta (a) evidencia a inserção de um novo termo, ao qual se insere uma nova chave e inicia a lista com o documento analisado. A seta (b) evidencia a inserção de um termo que já existe no índice. Dessa forma, insere-se apenas o documento na lista de valores associada à chave existente. Para saber a frequência do termo no documento, basta analisar a referência guardada no índice e resgatar o documento no banco, tendo acesso à frequência.

(40)

Figura 10: Esquema de Criação do Índice

Fonte: Próprio autor

O índice completo da base Reuters-21578 de acordo com o sistema implementado por este trabalho possui 31142 termos ou chaves de pesquisa.

4.4 Processamento das Consultas dos Usuários

A consulta neste trabalho será realizada baseada em documentos da base pertencente a uma categoria. Desta forma analisa-se o resultado da consulta verificando se os documentos são relevantes, baseados na concordância de categorias entre a os documentos recuperados e a consulta.

Deste modo, o processo se inicia ao escolher uma categoria para ser testada. O sistema seleciona aleatoriamente um documento de acordo com a categoria escolhida e resgata o conjunto de termos que compõe o documento. Este conjunto de termos representa a busca. Esses termos serão então localizados na estrutura que contém o índice, obtendo assim as listas de documentos respectivas aos termos da consulta. Essas listas de documentos serão então unidas, resultando assim na região de interesse do espaço de busca utilizado pelo Algoritmo Genético para obter a solução.

(41)

4.5 Configuração do Algoritmo Genético

Esta etapa consiste na configuração dos parâmetros que definem o funcionamento do Algoritmo Genético e sua aplicação para este trabalho.

A função do AG neste trabalho é encontrar, na base de texto, uma boa solução para uma consulta estabelecida por um usuário, no menor tempo possível.

4.5.1 Representação Genética

A representação genética utilizada no trabalho é a Real, cada gene é representado por um documento onde armazena a relação TF-IDF de cada termo que o documento possui. Cada indivíduo da população representa, então, um conjunto de documentos solução para o problema.

4.5.2 População Inicial

A estratégia de geração da população inicial neste trabalho levou-se em consideração a necessidade de que todos os documentos da região de interesse fossem avaliados pelo menos uma vez pelo algoritmo genético. A escolha dos indivíduos da população inicial é feita de forma aleatória, mas para contemplar a necessidade de avaliar todos os documentos, o sistema verifica a cada inserção de um novo documento a um indivíduo o quanto da região de interesse ele já explorou, caso ainda haja documentos que não foram inseridos, o sistema seleciona aleatoriamente um desses documentos que não foram ainda escolhidos, até que todos sejam selecionados. Para a implementação clonou-se a lista de documentos da região de interesse, com isso, à medida que um documento é selecionado aleatoriamente da lista original, ele é removido da lista clone, então é verificado se a lista clone está vazia, caso não esteja, ao invés de selecionar da lista original, o próximo documento será selecionado da lista clone, alternando-se até que a lista clone esteja vazia

(42)

4.5.3 Definição do Tamanho da População

A definição do tamanho da população levou em consideração o requisito explicado na seção anterior, da cobertura total da região de interesse. Sabendo-se que tem 19043 documentos na base e levando em consideração o procedimento das listas original e clonada, no pior caso um documento seria selecionado da lista clone e novamente na lista original, resultando na necessidade de percorrer o dobro da quantidade de documentos da região de interesse para poder analisar todos os documentos da lista. Portanto o tamanho da população tem de cobrir o mínimo de 38086 genes ou documentos. Desta forma a população foi definida com no máximo 500 indivíduos e no mínimo com 300, a escolha dentre essa variação deve-se a quantidade de genes de cada indivíduo da população, pois considerou que a quantidade de genes é igual a 10% da quantidade de documentos da categoria utilizada em cada procedimento, analisando se cobre o mínimo necessário.

4.5.4 Função de Avaliação ou Fitness

Baseado no trabalho de Ahmed (2008), onde ele avalia algumas possibilidades para o calculo da função de avaliação, escolheu-se a função cosseno, que calcula o produto dos vetores de documentos através da equação 7,

(7)

onde, Q é o vetor de termos da consulta, D é o vetor de termos do documento, wqk são os

pesos dos termos da consulta e wdk são os pesos dos termos do documento.

Dessa forma tem-se o fitness individual do gene (documento da população) em relação ao documento da consulta. A soma dos fitness individuais resulta no fitness do indivíduo ao qual irá determinar o quanto uma solução é melhor do que outra.

(43)

4.5.5 Método de Seleção

O método de seleção escolhido para este trabalho foi o Torneio, com a escolha de três indivíduos por seleção. Incluiu-se também o método de elitismo para manter o melhor indivíduo para a próxima geração.

4.5.6 Operadores Genéticos

Para o cruzamento dos indivíduos, adotou-se a técnica de Um-ponto. Para a mutação, escolheu-se a de um único gene por indivíduo. As taxas de cruzamento e mutação devem ser definidas empiricamente para cada domínio de problema, levando em conta as considerações mencionadas nas seções 3.6.1 e 3.6.2. A maior parte da literatura recomenda uma taxa de cruzamento entre 70% e 95% (Mitchell, 1996). A taxa de cruzamento utilizada neste trabalho foi de 70%, valor usual que se mostrou adequado para os experimentos. A literatura ainda recomenda uma taxa de mutação entre 0,5% e 5%. O valor da taxa de mutação utilizada foi de 3%, estando dentro da faixa recomendada.

No processo de cruzamento, ao associar os documentos (genes) de um pai ao filho, verifica se naquele filho já há uma representação daquele documento, se houver, a informação não é cruzada. Por exemplo, se um filho for receber um documento do pai 1, e constatando-se a repetição do documento, ao invés disso ele receberá o documento do pai 2 como ilustrado na Figura 11.

(44)

Fonte: Próprio autor

Se mesmo assim, for constatado que também possui o documento do pai 2, deve haver uma mutação, ilustrado na Figura 12. Desta forma as soluções possuirão sempre documentos distintos.

Figura 12 - Garantia de Distinção de documentos no Cruzamento (Mutação)

Fonte: Próprio autor

Quando há uma necessidade de aplicar uma mutação no AG desse trabalho, não pode modificar os dados do gene (documento). Desta forma a mutação incorre na retirada do documento do conjunto solução, colocando outro aleatório do espaço de busca como ilustrado nas Figuras 12 e 13.

Figura 13 - Mutação de um gene

(45)

4.5.7 Critério de Parada

O critério de parada definido foi o cálculo do desvio padrão dos valores de fitness de cada indivíduo. Ou seja, até que a população não se torne homogênea (convergência), o algoritmo deve continuar gerando novos indivíduos até um limite de 500 gerações escolhido de forma empírica.

4.6 Análise da Solução

Baseado nas categorias da Coleção Reuters-21578 é possível analisar a eficácia do sistema. Para isso é verificado se a solução possui os documentos considerados relevantes de acordo com as categorias da coleção.

O processo de análise da solução baseia-se no conjunto de documentos retornado pelo Algoritmo Genético. O sistema ordena esses documentos por ordem de similaridade calculado pela função cosseno explicada anteriormente. Desta forma pode-se ordenar os resultados mais relevantes para o sistema e comparar se realmente são relevantes à consulta. A classificação do documento se dá através da comparação das categorias dos documentos da solução com a categoria do documento da consulta. Se for igual, o documento retornado é relevante, caso contrário é classificado como não-relevante. Desta forma o valor de accuracy medido é o valor representado pelos documentos que estão corretamente classificados, ou seja, que estão na categoria pesquisada e que foram retornados na solução.

Para o cálculo do precision e do recall, analisa-se o conjunto solução, ordenando-o por ordem de fitness. A função de avaliação determina qual documento assemelha-se ao documento da consulta. Tem-se que estes são mais relevantes e estarão no topo da lista de documentos da solução. Desta forma para poder calcular o valor de precision e recall, admite-se intervalos equivalentes de valores, correspondentes a uma fração do valor total de documentos classificados na categoria, ou seja, os relevantes. No caso deste trabalho, escolheu-se 1% da quantidade de documentos relevantes da base, o valor de precision será calculado para cada 1% do valor do recall, formando uma relação que será mostrada na Seção 5.

(46)

4.7 Procedimentos de Teste

Para os procedimentos de teste, inicialmente foi levantado uma das limitações do sistema em relação à avalição dos resultados. Segundo Manning (2009) a avaliação da qualidade da solução utilizando a medida accuracy deve ser aplicada a categorias onde a quantidade de documentos categorizados seja alta, em torno de 10% a 20%, ou maior. A aplicação da accuracy deve-se à quantidade limitada de documentos que será retornada como solução. Mas segundo Aires (2006) essa solução pode ser ordenada por relevância e então aplicar as medidas de recall e precision, sendo assim suficiente para extrair dados estatísticos, contanto que seja especificada o quanto da coleção está sendo analisada.

(47)

5 RESULTADOS E DISCUSSÕES

As categorias que estão próximas do requisito para análise do accuracy são “earn” que possui 3964 documentos, representando 20,81% dos documentos da coleção, e a categoria “acquisitions” que possui 1829 documentos, representando 9,60% dos documentos da coleção.

Realizou-se testes nas categorias que possuem mais documentos para a análise das três medidas de avaliação. Desta forma analisa-se a eficiência do sistema.

A seguir serão relatados os dados das consultas realizadas em quatro procedimentos de teste, com descrição de algumas particularidades e seus resultados:

a) Procedimento de Testes 1

Neste procedimento iremos realizar consultas com a maior categoria da base, com 3964 documentos, para analisarmos o comportamento e seus resultados.

Segue a tabela com os dados do procedimento:

Tabela 3 – Parâmetros do procedimento de testes 1

PARÂMETRO VALOR Categoria EARN Quantidade de execuções 20 Tamanho da População 300 Quantidade de Genes 396 Taxa de Cruzamento 70% Taxa de Mutação 3%

Fonte: Próprio autor

O documento de consulta foi escolhido aleatoriamente pela categoria. Segue os dados:

(48)

Tabela 4 - Precision, Recall e Accuracy Médios da Categoria "EARN" - Procedimento de Testes 1

Precision e Accuracy (20 execuções)

Recall Precision Accuracy Médio (min - máx) mínimo máximo 1% 0,714286 0,851064 80,6% 2% 0,647541 0,745283 3% 0,559242 0,614583 4% 0,434903 0,508091 (45,2% - 92,3%) 5% 0,234756 0,448276 Média 0,518146 0,633459

Fonte: Próprio autor

Figura 14 - Gráfico Precision x Recall da Categoria "EARN" - Procedimento de Testes 1

Fonte: Próprio autor

O tempo médio gasto para cada execução de consulta ao sistema foi de 230 segundos, com execução mais rápida de 150 segundos e a mais demorada de 450 segundos.

(49)

b) Procedimento de Testes 2

Neste procedimento iremos realizar consultas com a segunda maior categoria, com 1829 documentos, para analisarmos o comportamento e seus resultados.

Segue a tabela com os dados do procedimento:

Tabela 5 - Parâmetros do procedimento de testes 2

PARÂMETRO VALOR Categoria ACQUISITIONS Quantidade de execuções 20 Tamanho da População 400 Quantidade de Genes 182 Taxa de Cruzamento 70% Taxa de Mutação 3%

Fonte: Próprio autor

O documento de consulta foi escolhido aleatoriamente pela categoria. Segue os dados:

Tabela 6 - Precision, Recall e Accuracy Médios da Categoria "ACQUISITIONS" - Procedimento de Testes 2

Precision e Accuracy (20 execuções)

Recall

Precision Accuracy Médio (min - máx) mínimo máximo 1% 0,73076923 0,826087 60,6% 2% 0,60655738 0,574118 3% 0,45833333 0,550000 4% 0,3583000 0,426785 (23,6% - 71,8%) 5% 0,0928300 0,156422 Média 0,44935799 0,506682

(50)

Figura 15 - Gráfico Precision x Recall da Categoria "ACQUISITIONS" - Procedimento de Testes 2

Fonte: Próprio autor

O tempo médio gasto para cada execução de consulta ao sistema foi de 202 segundos, com execução mais rápida de 107 segundos e a mais demorada de 528 segundos.

c) Procedimento de Testes 3

Neste procedimento iremos realizar consultas com a terceira maior categoria, com 717 documentos, para analisarmos o comportamento e seus resultados.

Segue a tabela com os dados do procedimento:

Tabela 7 - Parâmetros do procedimento de testes 3

PARÂMETRO VALOR

Categoria MONEY-FX

Quantidade de execuções 20 Tamanho da População 500 Quantidade de Genes 100

(51)

Taxa de Cruzamento 70%

Taxa de Mutação 3%

Fonte: Próprio autor

O documento de consulta foi escolhido aleatoriamente pela categoria. Segue os dados:

Tabela 8 – Precision, Recall e Accuracy Médios da Categoria "MONEY-FX" - Procedimento de Testes 3

Precision e Accuracy (20 execuções)

Recall

Precision Accuracy Médio (min - máx) mínimo máximo 1% 1,00000000 0,8888890 10,3% 2% 0,71428571 0,7500000 3% 0,51162791 0,5769230 4% 0,25987000 0,2972970 (5,0% - 25,0%) 5% 0,11654300 0,1612900 Média 0,52046532 0,5348800

Fonte: Próprio autor

Figura 16 - Gráfico Precision x Recall da Categoria "MONEY-FX" - Procedimento de Testes 3

(52)

O tempo médio gasto para cada execução de consulta ao sistema foi de 135 segundos, com execução mais rápida de 85 segundos e a mais demorada de 168 segundos.

d) Procedimento de Testes 4

Neste procedimento iremos realizar consultas com a menor categoria das 10 maiores, com apenas 238 documentos, para analisarmos o comportamento e seus resultados.

Segue a tabela com os dados do procedimento:

Tabela 9 - Parâmetros do procedimento de testes 4

PARÂMETRO VALOR Categoria CORN Quantidade de execuções 20 Tamanho da População 500 Quantidade de Genes 100 Taxa de Cruzamento 70% Taxa de Mutação 3%

Fonte: Próprio autor

O documento de consulta foi escolhido aleatoriamente pela categoria. Segue os dados:

Tabela 10 - Precision, Recall e Accuracy Médios da Categoria "CORN" - Procedimento de Testes 4

Precision e Accuracy (20 execuções) Recall Precision Accuracy Médio

(min - máx) mínimo máximo 1% 0,59352 1 8,5% 2% 0,33333 0,5 3% 0,08532 0,209677 (5,0% - 13,0%) Média 0,202434 0,341935

Referências

Documentos relacionados

O Banco Popular escolheu a Glory Global Solutions para obter uma maior base de clientes e conseguir uma melhor gestão dos seus Balcões, utilizando uma avançada solução de automação

Pode ser acessado por programas de Computação Simbólica como 0 Maple, que é um software comercial, ou o MuPAD, que é livre para uso em. instituições de

Assuntos Estratégicos de Prevenção Social à Violência, à Criminalidade e a Políticas sobre Drogas relacionado ao quadro de pessoal da Administração Pública Municipal Direta

Com Structur 3 é possível confecionar provisórios perfeitos de forma rápida e confortável para os seus pacientes, uma vez que o tempo de polimerização intraoral é de apenas

Descrito como “a melhor colabora- ção de Toumani desde o seu trabalho clássico com Ali Farka Touré” (The Guardian), Toumani &amp; Sidiki é um diá- logo conduzido através

Após a realização de um teste piloto, cuja prova possuía 3 textos e suas questões associadas, que foi realizado com funcionários da limpeza do ICMC-USP, em São Carlos, descobrimos

ESTUDO DE VIABILIDADE TÉCNICA E PROJETO PARA INSTALAÇÃO DE UMA EMISSORA DE RADIODIFUSÃO SONORA EM FREQUÊNCIA MODULADA, NO MUNICÍPIO DE JOVIÂNIA, ESTADO DE GOIÁS Trabalho

A dissertação se alicerça nas normas do Programa de Pós-Graduação em Enfermagem da Universidade Federal de Pernambuco - UFPE (anexo A), estruturada em