DESENVOLVIMENTO DE UM CLASSIFICADOR AUTOMÁTICO DE DOCUMENTOS UTILIZANDO O MODELO VETORIAL

Tamanho: px
Começar a partir da página:

Download "DESENVOLVIMENTO DE UM CLASSIFICADOR AUTOMÁTICO DE DOCUMENTOS UTILIZANDO O MODELO VETORIAL"

Transcrição

1 CENTRO UNIVERSITÁRIO VILA VELHA CURSO DE CIÊNCIA DA COMPUTAÇÃO Daniel Hoisel Ferraz DESENVOLVIMENTO DE UM CLASSIFICADOR AUTOMÁTICO DE DOCUMENTOS UTILIZANDO O MODELO VETORIAL VILA VELHA 2011

2

3 Daniel Hoisel Ferraz DESENVOLVIMENTO DE UM CLASSIFICADOR AUTOMÁTICO DE DOCUMENTOS UTILIZANDO O MODELO VETORIAL Trabalho de Conclusão de Curso apresentado ao Centro Univertário Vila Velha como requisito parcial para a obtenção do grau de Bacharel em Ciência da Computação. Orientador: Cristiano Biancardi VILA VELHA 2011

4 Daniel Hoisel Ferraz DESENVOLVIMENTO DE UM CLASSIFICADOR AUTOMÁTICO DE DOCUMENTOS UTILIZANDO O MODELO VETORIAL BANCA EXAMINADORA Prof. Msc. Cristiano Biancardi Centro Universitário Vila Velha Orientador Prof. Msc. Leonardo Muniz de Lima Centro Universitário Vila Velha Prof. Centro Universitário Vila Velha Trabalho de Conclusão de Curso aprovado em 25/11/2011.

5 "Eu, Daniel Hoisel Ferraz, autorizo que a UVV, sem ônus, promova a publicação da minha monografia em página própria na Internet ou outro meio de divulgação de trabalho científico." Data: 28/05/2011 Daniel Hoisel Ferraz Centro Universitário Vila Velha

6 À família Perrone, com muito carinho e gratidão.

7 AGRADECIMENTOS Agradeço primeiramente a Deus por ter me dado a força e a perseverança necessárias para me manter firme na direção do meu objetivo. Agradeço a mim, por ter honrado o compromisso que fiz comigo mesmo, e ter vencido o cansaço acumulado ao longo de tantos anos de estudo, em duas faculdades. Agradeço aos meus pais que sempre acreditaram e me apoiaram em todos os momentos, sustentando o estudante na faculdade e o homem na vida. Agradeço à minha mulher, Iris, pela dedicação, paciência e apoio diários que me deram a condição de continuar, e à minha filha, Maria, por alegrar as minhas muitas horas de estudo. Além do mais, às duas a minha gratidão simplesmente por serem o motivo da minha superação, e o combustível do meu querer nessa jornada. Agradeço aos meus familiares e amigos que, direta ou indiretamente me ajudaram a transformar esse sonho em realidade. Agradeço a José Dalton, Anaíse e Gabriel Perrone, por terem sido um apoio fundamental nas minhas duas faculdades, e por serem uma amizade fundamental na minha vida. Minha sincera gratidão à minha família Perrone. Agradeço aos amigos de classe e professores que fizeram parte de minha vida durante esses quatro anos, em especial a Kassiane Pretti, por ser o braço direito de sempre nos estudos, trabalhos e provas, e ao professor Leonardo Muniz Lima, por todas as lições, conselhos e apoio dados a mim de boa vontade, mesmo quando não tinha a obrigação de fazê-lo. Agradeço ao meu orientador Cristiano Biancardi pela oportunidade de desenvolver este trabalho e por toda confiança e dedicação depositadas em mim. Enfim, deixo a todos o meu Muito Obrigado.

8 Eu acredito demais na sorte. E tenho constatado que, quanto mais duro eu trabalho, mais sorte eu tenho. Thomas Jefferson

9 LISTA DE TABELAS 1 Tabela de Pesos do documento d Matriz contento os pesos dos termos nos documentos Graus de relevância dos documentos em relação à expressão de busca 41 4 Matriz de Similaridade entre os documentos d 1,d 2 e d Similaridades obtidas entre os documentos analisados e os discriminantes das classes Valor do ponto de corte calculado para cada uma das classes do experimento de [OLIVEIRA, 2007] Similaridades obtidas entre os documentos analisados e os discriminantes das classes Valor do ponto de corte calculado para cada uma das classes do experimento aqui desenvolvido T-valor obtido pela comparação dos dados relativos a classes correspondentes nos dados da figura 5 e Tabela de valores críticos para grupos de dados contendo entre 10 e 19 valores, considerando um nível de significância igual a Similaridades obtidas entre os documentos analisados e os discriminantes das classes, no classificador de [OLIVEIRA, 2007] Similaridades obtidas entre os documentos analisados e os discriminantes das classes, no classificador com a IDF Similaridades obtidas entre os documentos cin1.txt e cin2.txt e a classe Cinema, com e sem o cálculo da IDF Similaridades obtidas entre os documentoseco1.txt, eco2.txt, eco4.txt e eco5.txt e a classe Economia, com e sem o cálculo da IDF

10 15 Similaridades que os documentos cin1.txt e cin2.txt passaram a apresentar com a classe Economia Similaridades que os documentos eco1.txt, eco2.txt, eco4.txt e eco5.txt passaram a apresentar com a classe Cinema Média de documentos classificados por classe nos testes realizados com documentos da Biblioteca Digital da PUC-Campinas Observações a respeito dos cinco termos mais frequentes nos documentos da classe Educação que ocorrem também em outras classes Tabela comparativa da frequência dos termos dentro das classes Resultado da 1 bateria de testes Resultado da 2 bateria de testes Resultado da 3 bateria de testes Resultado da 4 bateria de testes Resultado da 5 bateria de testes

11 LISTA DE FIGURAS 1 Visão Geral do Processo de Recuperação de Informação Estrutura de um arquivo de índice usando Listas Invertidas Visão Lógica do documento: a partir do texto integral até o conjunto de termos indexados [WIVES, 1997, p.25] Papel da indexação no contexto da recuperação de informação Representação gráfica vetorial do documento d Representação gráfica vetorial dos documento d 1, d 2, d 3 e da expressão de busca q Agrupamento de Documentos:Visão Geral [WIVES, 1999, p.22] Classificação de Documentos:Visão Geral Algoritmo geral para a tarefa de classificação Detalhamento do algoritmo da fase de treinamento do classificador Fase 1: o treinamento do classificador em três níveis de detalhamento Lista de stopwords da língua portuguesa adotada na implementação Implementação da remoção das stopwords de um texto Implementação da filtragem dos termos mais frequentes em um documento Implementação de um ItemDeIndice Lista hipotética de termos de um documento chamado notícia1.txt Lista de itens de índice formada a partir dos termos do texto notícia1.txt Exemplo de lista invertida As chaves da lista invertida definem os termos distintos existentes nos documentos da classe

12 20 Algoritmo - Obtenção de termos distintos nos documentos da classe Cálculo do peso de um termo na classe, utilizando listas invertidas Algoritmo - Cálculo do peso de um termo nas classes Exemplo de documento discriminante Algoritmo: Cálculo do ponto de corte das classes, durante a fase de treinamento do classificador Normalização do vetor B Exemplo de vetores aparentemente iguais Exemplo de dupla normalização Uso de listas invertidas para gerar o vetor representante do documento noticia1.txt Vetor representante do documento noticia1.txt Usando uma lista invertida para criar o vetor representante de um documento Geração de um vetor representante para um documento discriminante Implementação do cálculo de similaridade entre dois vetores Implementação do cálculo do produto escalar entre dois vetores cáculo de móduo do vetor Algoritmo - Fase 2: classificação de novos documentos Hyperlinks das notícias usadas por [OLIVEIRA, 2007] na tarefa de classificação Documento discriminante gerado para a classe Cinema Documento discriminante gerado para a classe Esporte Documento discriminante gerado para a classe Economia Representação textual da lista invertida da classe Esporte Representação tabular da lista invertida mostrando a relação de todos os termos com todos os documentos

13 42 Os termos chave da lista invertida dando origem aos termos do documento discriminante Cálculo do peso do termo campeonato, obtido pela soma das frequencias desse termo nos documentos esp1.txt e esp4.txt, onde ele aparece Comparativo entre os resultados obtidos no nosso experimento(à esquerda) e no experimento de [OLIVEIRA, 2007] (à direita) Vetores múltiplos são intercambiáveis no cálculo de similaridade Lista invertida da classe Economia Documentos discriminantes da classe Economia, gerados pelo classificador de [OLIVEIRA, 2007] e pelo classsificador com a IDF Documentos discriminantes da classe Cinema, gerados pelo classificador de [OLIVEIRA, 2007] e pelo classsificador com a IDF

14 LISTA DE SIGLAS RI SRI ML DR LSI TF IDF PUC SGBD BIR RBBD Recuperação de Informação Sitema de Recuperação de Informação Machine Learning Dimensionality Reduction Latent Semantic Indexing Term Frequency Inverse Document Frequency Pontifícia Universidade Católica Sistema Gerenciador de Banco de Dados Binary Independence Retrieval Revista Brasileira de Biblioteconomia e Documentação

15 SUMÁRIO RESUMO 1 INTRODUÇÃO Introdução OBJETIVOS 19 3 Recuperação de Informação Recuperação de Dados versus Recuperação de Informação O Processo de Recuperação de Informação: Visão Geral Modelos de Recuperação de Informação Importância da Indexação nos Modelos de Recuperação de Informação Indexação automática Modelos Quantitativos de Recuperação de Informação Modelo Booleano Modelo Probabilístico Modelo Vetorial Cálculo de Similaridade Classificação Automática de Documentos Agrupamento de Documentos Agrupamento de Documentos versus Recuperação de Informação Categorização de Documentos

16 5.2.1 Taxonomia dos algoritmos de aprendizado usados na Categorização Categorização de Documentos versus Recuperação de Informação 51 6 Projeto e Implementação Deduzindo um algoritmo O Processo de Classificação Fase 1: Treinamento do classificador Operações de Texto Geração dos documentos discriminantes das classes Detalhe de Implementação - Lista Invertida Fase 2: Classificação de novos documentos Normalização dos vetores no cálculo de similaridade Geração de representação vetorial dos documentos Implementação do cálculo de similaridade Validando o Classificador desenvolvido Descrevendo o experimento original Calculando o ponto de corte (pc) das classes Submetendo o classificador à prova Fase 1: Treinamento do Classificador Fase 2: Classificação de novos documentos Considerações a respeito dos resultados obtidos Adicionando o cálculo da IDF à tarefa de classificação Adequando o cálculo da IDF ao contexto do corrente estudo Primeiro Teste - Considerando o cálculo da IDF no experimento original Modificando o experimento original

17 9 Testando a adição da IDF em uma base de dados formada por documentos de uma biblioteca digital CONCLUSÃO 114 REFERÊNCIAS 117 ANEXO A - Resultados dos testes realizados com os documentos da biblioteca digital da PUC-Campinas 121

18 RESUMO Neste trabalho é fornecido um entendimento geral das técnicas de Recuperação de Informação(RI) e Classificação Automática de Documentos. Através desse entendimento, é feita a análise e a reprodução do experimento de [OLIVEIRA, 2005], onde é construído um classificador automático de documentos utilizando-se o Modelo Vetorial de Representação de Documentos. Porém, o estudo corrente vai além e, com o intuito de preencher uma lacuna existente no experimento mencionado, introduz o cálculo da IDF (Inverse Document Frequency) ao processo de classificação, testando e avaliando o impacto dessa adição na qualidade e eficiência da tarefa de classificar documentos automaticamente. Palavras-chave: Recuperação de Informação, Classificação Automática de Documentos, IDF, Modelo Vetorial de Representação

19 17 1 INTRODUÇÃO 1.1 Introdução As últimas décadas têm assistido a um aumento estrondoso no volume de informações produzidas e consumidas em esfera global. No que diz respeito tanto à evolução de hardware quanto à evolução de software, o suporte fornecido pelo desenvolvimento dos sistemas computacionais modernos é o grande responsável por esse aumento vertiginoso, visto que abriu caminho à gestão interativa da informação e do conhecimento. Dessa forma, tem-se observado, no desenrolar dos anos recentes, pari passu a esse desenvolvimento e por conta do mesmo, a migração constante da informação registrada em suporte analógico para aquela com natureza digital, resultando desse processo a produção de grandes massas de informações disponibilizadas em meios eletrônicos, em especial na Internet. Contudo, todo esse processo traz consigo um problema inerente, relativo à dificuldade existente na busca e obtenção dessas informações, uma vez que para ser útil, a informação não deve simplesmente existir, ela deve ser facilmente recuperável. Esse problema justifica, assim, o investimento financeiro e intelectual existente em trabalhos e pesquisas contextualizados na área de Recuperação de Informação (RI), cujo objetivo principal é encontrar meios de garantir acesso facilitado às informações consideradas relevantes. O capítulo 3 fornece uma visão geral do que é Recuperação de Informação. Uma linha importante de pesquisa em RI, na qual se insere este trabalho, é a Classificação Automática de Documentos, abordada no capítulo 4. Segundo Oliveira, [...] consiste em organizar informações automaticamente em grupos de documentos similares, gerando assim facilidades para sua visualização, manipulação e análise. [OLIVEIRA, 2005, p.2]. Seguindo essa linha, o trabalho corrente é baseado no experimento realizado em [OLIVEIRA, 2005], no artigo intitulado Um Modelo Algébrico para Representação, Indexação e Classificação Automática de Documentos Digitais, que

20 18 desenvolve um classificador capaz de classificar documentos automaticamente. Para que documentos possam ser classificados em uma determinada classe, as características que os definem devem ser similares às dos documentos dessa classe. No que tange documentos de natureza textual, essas características são justamente os seus termos contituintes. Com isso, surge a necessidade da existência de uma metodologia que permita comparar documentos em função de seus termos, e justamente para supri-la é que são utilizados os modelos de representação, como os modelos quantitativos: o Modelo Booleano, o Modelo Probabílistico e o Modelo Vetorial, descritos no capítulo 4. Esses modelos dizem respeito a como os documentos são representados, isto é, modelados pelo sistema computacional, a fim de que possam ser comparados, e consequentemente recuperados, ou classificados. Tanto o processo de recuperação quanto o de classificação necessitam que essa similaridade seja calculada, e cada um dos modelos realiza essa tarefa à sua maneira, de acordo com sua própria forma de representar os documentos. No Modelo Vetorial, utilizado por [OLIVEIRA, 2007] na sua tarefa de classificação, documentos são representados vetorialmente em função da ocorrência de seus termos, e é justamente em torno da análise dessa reprensentação que gira o estudo feito neste trabalho. Nos capítulo 5, 6, 7, o classificador de [OLIVEIRA, 2007] é analisado e reproduzido. Posteriormente, no capítulo 8, o classificador de [OLIVEIRA, 2007] é modificado na sua forma de representar vetorialmente os documentos, através da adição do cálculo da IDF (Inverse Document Frequency), que pondera a relevância dos termos não somente dentro do documento onde ocorrem, mas em relação a todo o corpus de documentos. A adição da IDF, dessa maneira, altera a estratégia de representação usada por [OLIVEIRA, 2007], de forma que seus efeitos possam ser analisados, medidos, e comparados à estratégia original. Assim, no capítulo 9, essa alteração é experimentada, e sua justificativa se fundamenta na busca do aprimoramento do processo de classificação, em direção à construção de um classificador automático de documentos que possa, da forma mais eficiente possível, substituir o classificador humano nesta tarefa.

21 19 2 OBJETIVOS Os objetivos deste trabalho têm como ponto comum o estudo e o entendimento dos principais conceitos e técnicas utilizados por [OLIVEIRA, 2005], a saber, a Recuperação de Informação e seus modelos de recuperação, em especial o Modelo Vetorial, a Classificação Automática de Documentos, bem como a forma como esses conceitos/técnicas se relacionam. Segue abaixo a lista dos objetivos da realização deste trabalho: Realizar o embasamento teórico sobre o tema abordado; Reproduzir o experimento de [OLIVEIRA, 2005] adicionando o cálculo da IDF no processo de classificação; Analizar o impacto da adição da IDF na eficiência da tarefa de classificação, considerando um número maior de documentos - do que aquele realizado em [OLIVEIRA, 2005] - oriundos de uma biblioteca digital;

22 20 3 Recuperação de Informação O significado do termo Recuperação de Informação pode ser bastante amplo. O simples ato de pegar um cartão de crédito na carteira a fim de se digitar o seu número em uma transação bancária pode ser considerado uma operação de recuperação de informação. Entretanto, dentro do contexto dos estudos e pesquisas acadêmicas, a expressão recuperação de informação (Information Retrieval), ou simplesmente RI, sofre uma limitação no escopo do seu significado, podendo ser assim definida em essência: Recuperação de Informação consiste em encontrar material (geralmente documentos) de natureza não-estruturada (geralmente texto) que satisfaça a necessidade de informação a partir de uma vasta coleção (geralmente armazenada em computadores). [MANNING, 2008, p.1, tradução nossa] Assim, RI relaciona-se com a representação, armazenamento, organização e acesso aos itens de informação, sendo que a representação e a organização desses itens devem prover fácil acesso à informação que interessa ao usuário. Infelizmente, a caracterização da necessidade do usuário não é uma tarefa trivial. Pode-se considerar, por exemplo, a necessidade hipotética de informação do usuário a seguir, utilizando o contexto da World Wide Web, que seria encontrar informações sobre projetos de pesquisa que: 1. Sejam relacionados ao processamento de linguagem natural. 2. Sejam mantidos por universidades federais do Brasil e estejam em andamento. 3. Para ser relevante, a página deve incluir informações a respeito do nome e telefone do responsável pelo projeto, bem como um resumo de sua formação acadêmica.

23 21 Nitidamente, essa descrição completa da necessidade de informação do usuário não pode ser usada diretamente nas interfaces das engines de busca presentes atualmente na web, entre as quais o Google é a mais popular. Ao invés disso, o usuário deve traduzir sua necessidade em uma expressão de busca (query), a qual será processada pela engine de busca (Sistema de Recuperação de Informação(SRI)). Em sua forma mais comum, essa tradução consiste em um conjunto de palavraschave as quais resumem a necessidade de informação do usuário. Dessa forma, dada a expressão de busca, o objetivo central de um SRI é recuperar a informação que poderia ser útil ou relevante ao usuário. Esse suposto exemplo de necessidade de informação de usuário traduz, sob a ótica da necessidade da recuperação de informação, as profundas transformações sofridas pelo mundo, bem como a evolução dos processos de geração e consumo da informação ao longo dos anos recentes, principalmente após o advento da internet. Através da definição de recuperação de informação apresentada em [MANNING, 2008] e descrita acima, constata-se que a recuperação de informação consistia, há poucos anos, em uma atividade na qual um número restrito de pessoas estava engajado, em geral pesquisadores, ou profissionais com área de atuação específica, como os bibliotecários. Essa assertiva é verdadeira se olharmos, por exemplo, as três últimas décadas, quando a área da recuperação de informação extrapolou seus objetivos iniciais propostos, resumidamente sintetizados na indexação de textos e na busca de documentos úteis em uma determinada coleção. Atualmente, as pesquisas em recuperação de informação incluem modelagem, classificação de documentos e categorização, arquitetura de sistemas, interfaces com o usuário, visualização de dados, linguagens, filtragem, entre outras. [BAEZA-YATES, 1999, p.3, tradução nossa]. Nesse intervalo de três décadas, também houve um crescimento na utilização de sistemas de recuperação, os quais transbordaram da esfera do campo de pesquisas acadêmicas, para se tornarem ferramentas da vida cotidiana de muitos usuários de computadores pessoais ao redor do planeta. Centenas de milhares de pessoas estão envolvidas em atividades de recuperação de informação todos os dias, quando utilizam, como no exemplo apresentado, as engines de pesquisa web ou mesmo quando pesquisam seus s pessoais. Com isso, têm-se constatado que a recuperação de informação está se tornando a forma dominante de acesso à informação, em detrimento ao modo de busca presente nos bancos de dados tradicionais, emergindo, dessa forma, a necessidade da distinção entre dois conceitos que a priori

24 22 podem parecer idênticos: a recuperação de dados e a recuperação de informação [MANNING, 2008]. 3.1 Recuperação de Dados versus Recuperação de Informação O processo de recuperação de informação consiste na identificação do conjunto de documentos de um sistema que satisfaçam à necessidade de informação do usuário. Sendo assim: O usuário de um sistema de recuperação de informação está, portanto, interessado em recuperar informação sobre um determinado assunto, e não recuperar dados que satisfazem sua expressão de busca, nem tampouco documentos, embora seja nestes que a informação estará registrada.[ferneda, 2003, p.25, grifo do autor] Esta é a característica central que distingue, por exemplo, os Sistemas Gerenciadores de Bancos de Dados (SGBDs) [KORTH, 2006], caracterizados pela recuperação de dados e os sistemas de recuperação de informação (SRI). A recuperação de dados, como ocorre nos bancos de dados, consiste principalmente em determinar quais documentos de uma coleção contêm as palavras-chave descritas na expressão de busca do usuário (query), o que muitas vezes não satisfaz sua necessidade de informação. De fato, o usuário de um sistema de recuperação de informação está mais preocupado em recuperar informações sobre um determinado assunto do que recuperar todos os objetos que satisfaçam um determinado critério de busca. Na recuperação de dados, este critério de busca é estrito, e os objetos retornados nas buscas obedecem a condições muito bem definidas, como expressões regulares [FRIEDL, 2006] ou expressões de álgebra relacional [KORTH, 2006], nas quais um único objeto retornado inválido entre milhares representa falha total para a condição proposta na expressão de busca do usuário. Por outro lado, essa precisão não é tão estrita em um sistema de recuperação de informação, onde os objetos retornados podem ser, por vezes, imprecisos e onde pequenas falhas podem ser irrelevantes e até mesmo toleradas. A razão para essa diferença ocorre, principalmente, devido à natureza dos objetos tratados por esses dois tipos de sistemas. Os sistemas de recuperação de informação frequentemente lidam com objetos de natureza linguística,

25 23 ou seja, textos, os quais, relembrando a definição de [MANNING, 2008], possuem natureza não-estruturada, possuindo todas as dificuldades inerentes ao processamento de linguagem natural como, por exemplo, o tratamento de ambiguidades semânticas. Segundo o próprio [MANNING, 2008, p.1], O termo não-estruturado refere-se aos dados que não possuem uma estrutura bem-definida, semanticamente conceituada e que seja de fácil manipulação por parte do computador.. Os sistemas de recuperação de dados, por sua vez trabalham com itens de informação (dados) bem estruturados e que possuam semântica bem definida. Nos SGBDs modernos, por exemplo, os dados estão armazenados em registros com estruturas bem definidas em seu nível físico, além de fornecerem uma visão abstraída sobre esses dados em nível lógico. A recuperação de dados resolve o problema de um usuário de um banco de dados, porém, não resolve por inteiro a questão de recuperação de informação sobre um assunto ou tema. Para que seja efetivo na tentativa de satisfazer a necessidade de informação do usuário, o sistema de recuperação de informação deve, de alguma forma, interpretar o conteúdo dos itens de informação (documentos), classificando-os de acordo com o grau de relevância para o usuário. Dessa forma, o processo de interpretação consiste na extração de informação sintática e semântica do documento de texto, bem como no uso dessa informação na busca de conformidade, ou seja, no casamento com a necessidade de informação do usuário. A dificuldade, dessa forma, não se encontra simplesmente em extrair essa informação, mas também em como usá-la no sentido de determinar relevância, o que coloca o conceito de relevância no centro do palco no que tange a recuperação de informação. 3.2 O Processo de Recuperação de Informação: Visão Geral Para se esboçar uma visão geral do processo de recuperação de informação, é necessário, inicialmente, um aprofundamento do conceito de informação. Essa visão geral a ser definida parte do entendimento de informação como coisa, em alinhamento com o conceito proposto por [BUCKLAND, 1991] e reiterado por [FERNEDA, 2003], no qual os autores vinculam o termo informação a um objeto que contém informação, ou seja, um documento. Apesar das relações citadas entre recuperação de informação e a natureza fre-

26 24 quentemente linguística dos objetos (documentos) por ela pesquisados continuarem sendo verdadeiras nos dias de hoje, no que diz respeito às transformações sofridas pelo mundo e ao avanço na área da recuperação de informação, se faz necessário ressaltar a evolução no conceito de documento, imposta principalmente pela era digital, como faz pertinentemente Suzanne Briet, quando estende a noção de documento como sendo o objeto que contém a informação, sendo este objeto pertencente a qualquer suporte, seja ele material ou digital. Segundo [BRIET, 1951, p.10], documento é [...] qualquer signo físico, preservado ou registrado, com a intenção de representar, reconstruir ou demonstrar um fenômeno físico ou abstrato. Nesse ambiente digital que vem se construindo e se configurando ao longo dos anos [...] os acervos digitais se multiplicam tanto no que se referem à sua tipologia quanto à sua complexidade [FERNEDA, 2003, p.16], pois cresce diariamente a quantidade de documentos existentes não mais unicamente em formato de texto, mas também nos formatos de áudio, vídeo, imagens, páginas web entre tantos outros. No contexto da web, por exemplo, o suporte fornecido pela evolução das tecnologias de rede, o baixo custo, a facilidade de acesso à informação e a liberdade de publicação, tem possibilitado aos usuários trocarem esses documentos (imagens, fotos, vídeos etc) de forma bastante conveniente. Torna-se evidente, nesse novo paradigma de comunicação, que a desvinculação da informação do meio físico tradicional como o papel, permite uma interatividade e uma troca de informações com suportes diferentes (texto, imagem, som) jamais vistas. Assim, tal reformulação no conceito de documento advinda do meio digital, amplia o campo de estudo da ciência da computação, bem como redefine a abrangência e os processos de recuperação de informação, como, por exemplo, a representação da informação, visto que a recuperação de informação passa a tratar informações contidas em elementos oriundos de diversas disciplinas. Sendo assim, o escopo deste trabalho diz respeito à recuperação de informação de objetos digitais com natureza linguística (documentos de texto não atrelados ao papel como suporte físico), em detrimento a documentos digitais de outras naturezas, como arquivos de vídeo, áudio e imagens. Dessa forma, a título de contextualização, será apresentada uma visão geral de todo o processo de recuperação de informação, o qual pode ser assim representado na figura 1.

27 25 Figura 1: Visão Geral do Processo de Recuperação de Informação Qualquer atividade de recuperação possui, sob uma ótica global, os passos apresentados na figura 1. Na recuperação de informação, a primeira fase de todo o processo em si relaciona-se diretamente, e inicialmente com a representação da informação, conforme contemplado na figura 1, a qual tem a função de identificar e descrever cada documento no corpus em função de seu conteúdo. Esse processo de representação da informação, também denominada Indexação, baseia-se na idéia de que documentos brutos devem ser convertidos em expressões com alguma representação textual. Essas expressões são por vezes chamadas de representantes de documentos e devem ter uma estrutura utilizável pelo sistema de recuperação de texto [LEWIS, 1992, p.3, tradução nossa]. Desse processo geralmente surgem termos indexados, ou palavras-chave que formarão o que [BAEZA-YATES, 1999] denomina visão lógica de um documento, independente desse processo ser realizado manualmente por um especialista ou de forma automatizada por um sistema computacional. Essa visão lógica dos documentos se faz mais necessária à medida que o tamanho do corpus, volume de documentos sendo tratados, cresce. Apesar de sistemas computacionais modernos serem capazes de manipular textos inteiros, em sistemas denominados texto completo ou texto integral - nos quais a visão lógica (representação) do texto não existe ou pode ser entendida como o conjunto de todas as palavras que formam aquele texto - à medida que o volume de informação aumenta, a existência de um conjunto reduzido de palavras-chave (termos) que representem o documento tanto em nível de conteúdo quanto estruturalmente, se torna mais adequada. Para atingir tal simplificação, são empregados algoritmos conhecidos como Operações de Texto (text operations), os quais realizam uma filtragem no texto original, com o objetivo de [...]eliminar palavras de pouca significação (eliminação de stop words), além de normalizar os termos reduzindo-os aos seus radicais (stemming). Essa forma de indexação seleciona formas significantes (termos ou frases) em documentos, desconsiderando os significados que os mesmos possam ter de acordo com os contextos. [FERNEDA, 2003, p.17]

28 26 Além do mais, nesse processo é feita [...]a identificação de grupos de substantivos (a qual elimina adjetivos, advérbios e verbos) [BAEZA-YATES, 1999, p.5, tradução nossa]. As operações de texto, dessa forma, reduzem a complexidade da representação do documento, possibilitando que haja o deslocamento de sua visão lógica a partir desta, inicialmente formada pelo texto completo, em direção àquela formada por um conjunto de termos indexados. Por fim, de modo a permitir o acesso a esses termos indexados que foram gerados pelos processos descritos anteriormente, os mesmos são colocados em uma estrutura de dados conhecida por Índice, justificando o nome dado a todo esse processo (Indexação). Um dos tipos de estruturas de dados mais utilizadas e mais eficientes para a criação de arquivos de índices são baseadas nas chamadas Listas Invertidas (Inverted Lists) [LEE, 1996]. Listas Invertidas indexam documentos por intermédio de seus termos representantes escolhidos, ao mesmo tempo permitindo que um único termo aponte para vários documentos. A figura 2 exemplifica uma estrutura baseada em Listas Invertidas usada para indexar um conjunto de documentos, onde ponteiros ligam os termos indexados aos documentos em que esse termo ocorre. Figura 2: Estrutura de um arquivo de índice usando Listas Invertidas De uma forma ou de outra, a representação de documentos através de termos indexados (indexação) está no centro de todo o processo de recuperação de informação em sistemas computacionais modernos. Durante séculos o processo de indexação foi realizado manualmente a fim de se obter uma classificação hierarquizada de documentos, e de fato, muitas bibliotecas ainda a utilizam no processo de catalogação. Entretanto, o advento dos computadores modernos possibilitou que o processo de indexação e consequente classificação fossem automatizados, com a construção de um grande número de índices, sendo realizada automaticamente. Índices automáticos proveem uma visão do problema de recuperação muito mais voltada para o ponto de

29 27 vista do sistema de recuperação de informação, em detrimento à visão do usuário, uma vez que a representação dos documentos gerada por esses índices se traduz em um meio eficaz, facilmente utilizável pelo sistema, de se recuperar as informações contidas nesses documentos. Como meio de fornecer uma visão global a figura 3 ilustra esse processo de indexação sendo descrito, o qual recebe como entrada o texto completo, gerando como saída um arquivo de índices contento a representação do documento em função dos termos indexados produzidos. Figura 3: Visão Lógica do documento: a partir do texto integral até o conjunto de termos indexados [WIVES, 1997, p.25] Dado um modelo representativo (o qual foi obtido como saída de processo de representação anteriormente descrito) que permita a eficiente recuperação dos documentos pelo sistema de recuperação de informação, o usuário necessita expressar a sua necessidade de informação na forma de uma requisição que seja interpretável por esse sistema. Essa requisição do usuário, conforme ilustrada na figura 1 é denominada de expressão de busca, e se constitui em um conjunto de palavras através das quais o usuário expressa sintática e semanticamente sua necessidade de informação, o que transfere boa parte da responsabilidade da eficácia do retorno da consulta ao próprio usuário. Por fim, é a função de busca quem faz a comparação entre a representação dos documentos e a expressão de busca do usuário, recuperando os itens que supostamente satisfazem a necessidade do usuário, classificando os documentos retornados e decidindo quais serão exibidos e em qual ordem. Entretanto, o fato de um termo

30 28 da expressão de busca estar presente em um documento não significa necessariamente que este documento seja relevante ao contexto semântico da informação que o usuário deseja obter. Além do mais, mais de um termo de busca pode ser usado na expressão de busca de forma que a função de busca deva contemplar esses termos em sua totalidade. Essas adversidades devem ser contornadas pela função de busca, que por consequência também deve conter o algoritmo responsável por definir a relevância dos itens retornados.

31 29 4 Modelos de Recuperação de Informação Um ponto chave a se ressaltar no que diz respeito à recuperação de informação (RI) é a relação direta que existe entre a eficiência de um sistema de recuperação e o modelo de recuperação subjacente utilizado no mesmo. Os modelos tradicionais de RI, classificados como modelos quantitativos, começaram a surgir nas décadas de 60, 70, sendo aperfeiçoados na década de 80, e ainda hoje se constituem nos modelos de RI mais comuns, estando presentes na maioria dos sistemas de recuperação atuais, inclusive na web. Exemplos de modelos tradicionais de RI, os quais serão descritos nas seções seguintes são: o Modelo Booleano, o Modelo Vetorial e o Modelo Probabilístico. Além desses, existem outros utilizados em uma escala menor, como por exemplo, os modelos Fuzzy, Genético, Booelano Estendido, Modelo Contextual etc. [WIVES, 1997, BAEZA-YATES, 1999]. De forma complementar, a relação existente entre a forma como os documentos estão representados (indexação) e o modelo de recuperação implementado é bastante estreita, uma vez que um influencia no outro diretamente. São os modelos de recuperação os responsáveis por implementar a função de busca mencionada na seção 3.2, ou seja, são esses modelos que determinam o modo de operação dos algoritmos que implementam o mecanismo de identificar quais informações são relevantes à consulta do usuário, fazendo a comparação e a combinação da expressão de busca do usuário, com a representação lógica previamente existente desse corpus de documentos. 4.1 Importância da Indexação nos Modelos de Recuperação de Informação A seção 3.1 introduziu as diferenças entre recuperação de dados e recuperação de informação. O âmago dessa questão explicita a necessidade que há em se construir

32 30 uma abstração, ou seja, uma representação lógica do corpus de documentos contra o qual o usuário efetuará sua busca de informação. As facilidades existentes na recuperação de dados, como aquela feita sobre um banco de dados relacional tradicional [KORTH, 2006] onde as informaçõoes estão explicitamente armazenadas de forma que sejam diretamente recuperadas não existem no âmbito da recuperação de informações. Neste último, não há Campos, capazes de identificar os Atributos específicos de determinados Registros, ou seja, as informações não estão armazenadas em Tabelas como em Bancos de Dados Relacionais [WIVES, 1997, p.19, grifo do autor]. Nesse caso, para se constatar a existência de um nome em um documento há a necessidade de se percorrer todo esse documento, caracter a caracter em busca do nome desejado. Além do mais, dentro do contexto do documento sendo pesquisado, não há como se determinar o que é um nome sem que seja feita uma análise de linguagem natural de forma a se descobrir o que possa vir a ser um nome nesse documento. Desta incoveniência e dessa ineficiência operacional de se ter que percorrer todos os caracteres de um documento de texto na busca de informações é que urge a existência de uma maneira mais eficaz de se representar documentos, de forma que seja mais eficiente o acesso à informação contida nos mesmos. É sabido que todo documento possui um contexto, ou seja, um assunto em torno do qual esse documento gira. De forma complementar, este assunto pode ser identificado pelas palavras (termos) que constituem esse documento, resultando disso que [...]o termo é o meio de acesso a um documento. [WIVES, 1997, p.19]. Entretando, uma vez que se torna inviável efetuar a pesquisa de todos os documentos toda vez que o usuário fizer uma consulta sobre a base de informações, para que seja possível o acesso a estas palavras é preciso que as mesmas estejam armazenadas em um estrutura auxiliar que represente o documento. Este processo de gerar uma representação de um documento em função de seus termos mais representativos denomina-se indexação, ao passo que é sobre essa representação resultante do processo de indexação que a função de similaridade irá fazer a comparação dos termos com a expressão de busca do usuário, localizando dessa forma os documentos que se relacionem com sua necessidade de informação explicitada na consulta. Ou seja, é através do índice que as informações são acessadas [WIVES, 1997, p.19]. Essa afirmativa está exemplificada na figura 4, que ilustra um novo olhar global sobre o processo de recuperação em si, destacando a importância da representação (abstração gerada pelo processo de indexação) servindo como entrada, juntamente com a consulta do usuário, da função

33 31 de similaridade do sistema de recuperação, a qual é modelada por algum modelo de recuperação. Figura 4: Papel da indexação no contexto da recuperação de informação A indexação é uma das técnicas de abstração mais usadas em sistemas de recuperação de informações. Todavia, para que esta representação seja efetiva, se faz necessário identificar o que realmente é relevante em determinado tipo de informação, ou seja, o que caracteriza essa informação e o que a distingue univocamente das demais. Esse processo pode ser feito de forma manual. Contudo, sua forma mais comum e mais utilizada se constitui numa série de passos realizados de forma automática, a chamada indexação automática. 4.2 Indexação automática A indexação automática se constitui numa série de passos realizados sem a necessidade da intervenção humana, e que produz como saída arquivos de índices que representam de forma satisfatória os documentos através de um subconjunto de termos do mesmo. Os passos existentes na indexação automática, denominados Operações de Texto, podem variar de acordo com o modelo de recuperação utilizado, entretanto, em linhas gerais, são os mesmos já descritos anteriormente na seção 3.1, realizados de forma automatizada. Não é foco deste trabalho se aprofundar nas questões relativas às operações de texto do processo de indexação, sendo mais relevante neste momento o entendimento

34 32 da importância da representação lógica dos documentos gerada por tal processo, uma vez que não há como definir um modelo de recuperação de informações sem que haja uma representação para essas informações. Nos modelos de recuperação de informação abordados na seção seguinte, os documentos são representados por um conjunto de termos de indexação, onde um termo de indexação geralmente se constitui numa palavra que represente um conceito ou um significado presente em um documento, ou seja, termos que possuam relevância no que diz respeito à informação contida no documento [FERNEDA, 2003]. 4.3 Modelos Quantitativos de Recuperação de Informação Os modelos mais tradicionais de recuperação de informação são denominados de modelos quantitativos, dentre os quais destacam-se: 1. Modelo Booleano 2. Modelo Probabilístico 3. Modelo Vetorial Por outro lado, existem outros modelos de recuperação mais novos, classificados como modelos dinâmicos [BAEZA-YATES, 1999], os quais se baseiam nos conceitos e mecanismos oriundos da inteligência artifical, e que tem se mostrado como alternativas promissoras a serem estudadas e desenvolvidas no futuro, na resolução de problemas relacionados à disciplina da recuperação de informação. Porém, este trabalho fornece uma visão geral dos principais modelos quantitativos, se aprofundando especialmente no Modelo Vetorial Modelo Booleano O Modelo Booleano de recuperação é baseado na teoria de conjuntos e na álgebra booleana [BAEZA-YATES, 1999, p.25, tradução nossa]. Neste modelo, cada documento do corpus é representado por um conjunto de termos, ao passo que as buscas são formuladas através de expressões booleanas, formadas por termos ligados através de operadores lógicos, de modo que o resultado apresentado seja justamente o conjunto de documentos cuja representação satisfaça as restrições lógicas

35 33 da expressão de busca. Nessas expressões booleanas são usados os seguintes operadores lógicos ligando os termos de busca: AND, OR e NOT, os quais permitem ao usuário três possibilidades básicas, respectivamente Interseção, União e Subtração [WIVES, 1997]. Buscas mais detalhadas e complexas podem ser alcançadas através da formulação de expressões que sejam combinações entre estes operadores lógicos e termos. O conjunto universo de documentos é justamente o conjunto união de todos os documentos do corpus. Um ponto importante a ser verificado é que a álgebra booleana [DAGHLIAN, 1990], utilizada neste modelo na construção das expressões de busca [...] é um sistema binário no qual existem somente dois valores possíveis para qualquer símbolo algébrico: 1 ou 0, verdadeiro ou falso. [FERNEDA, 2003, p.21, grifo nosso], de onde pode-se extrair o ponto chave do Modelo Booleano, que é o fato de, neste modelo, somente serem considerados relevantes aqueles documentos os quais contêm os termos da consulta. Não há meio termo, e devido a isso não há meios de se expressar graus de relevância, o que resume o status de um documento a relevante ou nãorelevante, somente. Formalizando, o peso w i,j associado a um termo indexado possui característica binária, e é definido através da consideração da presença ou não do termo i no documento j. Ou seja, w i,j {0,1} [BAEZA-YATES, 1999]. Tal característica embasa a seguinte afirmação [...] o Modelo Booleano é na realidade muito mais um modelo de recuperação de dados (ao invés de informação). [BAEZA-YATES, 1999, p.26, tradução nossa] [WIVES, 1997] Modelo Probabilístico O Modelo Probabilístico foi concebido em 1976 por Robertson e Sparck Jones, passando a ser conhecido mais tarde como Binary Independence Retrieval (BIR) Model, e busca representar o problema da recuperação de informação através de um ótica probabilística, utilizando teorias da probabilidade para representar as expressões de busca do usuário e os documentos. O Modelo Probabilístico trabalha inicialmente em cima da possibilidade de um documento aleatório ser relevante ou não. Devido ao fato de os usuários não conhecerem previamente quais são as características de cada documento, a primeira consulta é escrita tentando se adivinhar quais são essas características, o que gera uma primeira descrição probabilística do conjunto. Através dos resultados obtidos nas execuções de consultas subsequentes à primeira, é possível que ocorra uma me-

36 34 lhoria gradativa desses resultados, proveniente justamente da interação sucessiva do usuário, o qual pode selecionar, dentre os documentos retornados, aqueles que considera mais relevantes à sua necessidade. Essa característica relacionada à interação do usuário é conhecida como Relevance Feedback [WIVES, 1997] [FERNEDA, 2003]. Porém, em suas formalizações matemáticas, algumas hipóteses usadas no processo de simplificação dos cálculos probabilísticos que sustentam o modelo podem deixar margem de dúvida quanto à sua precisão, e adicionalmente, a alta complexidade é um fator que desencoraja seu uso. Os detalhes, as sutilezas e as formalizações matemáticas a respeito do modelo podem ser encontradas em [FUHR, 1992] e [WIVES, 1997] Modelo Vetorial No Modelo Vetorial existe a possibilidade de se obter documentos que respondam parcialmente a uma expressão de busca, através da atribuição de pesos não-binários aos termos indexados contidos em expressões de busca e documentos. Através desses pesos é que são calculados os graus de similaridade entre os documentos do corpus e a expressão de busca do usuário. A noção de grau de similaridade, como já mencionado, inexiste no Modelo Booleano, devido ao fato de que neste modelo, os pesos atribuídos aos termos indexados possuem característica binária. Assim, no Modelo Vetorial, o resultado das buscas se relaciona à obtenção de documentos ordenados pelo grau de similaridade que possuem em relação a expressão de busca formulada pelo usuário, introduzindo dessa maneira a noção de relevância aos documentos obtidos. Como consequência, o conjunto de documentos obtidos no Modelo Vetorial geralmente é um tanto quanto mais preciso do que aquele obtido com o Modelo Booleano. Representação Vetorial No Modelo Vetorial, a representação dos documentos é feita através de vetores no espaço R n, onde n representa o número total de termos presentes em todos os documentos considerados. Cada documento neste modelo, bem como a expressão de busca do usuário é, dessa forma, considerado e representado como um vetor de termos. Sendo assim, de maneira formal, levemos em consideração o conjunto total de documentos do corpus D = {d 1,d 2,d 3,...,d j,...}, onde d j é um elemento(documento)

37 35 qualquer nesse conjunto. Assim, sendo w i,j o peso associado com termo t i no documento d j, onde w i,j 0, cada documento d j será representado, por um vetor de pesos d j = (w 1,j,w 2,j,w 3,j,w k,j,w k+1,j,w k+2,j,...,w n,j ), onde k é o número de todos os termos {t 1,t 2,t 3,...,t k } distintos (entre todos o documentos) que aparecem no documento d j. Os demais termos {t k+1,t k+2,t k+3,...,t n } associados aos pesos [...,w k+1,w k+2,w k+3,...,w n ] são justamente termos que aparecem em outros documentos. Portanto {t 1,t 2,t 3,...,t k, t k+1,t k+2,t k+3,...,t n } são todos os termos do vetor representante do documento d j, sendo que a frequência dos termos t k+1,t k+2,t k+3,...t n = 0, uma vez que esses termos aparecem somente em outros documentos [OLIVEIRA, 2007, p.26]. É importante a observação de como o peso é calculado para cada termo presente nos documentos, uma vez que estes termos podem se repetir dentro de um documento ou mesmo através de documentos distintos. Para a realização desse cálculo do peso, devem ser considerados dois fatores principais: 1. A quantidade de vezes que o termo aparece dentro de um documento 2. A quantidade de vezes que esse termo aparece em outros documentos. Com isso chegamos a uma definição formal do cálculo do peso dos termos indexados. Definição: Seja N o número total de documentos no sistema e n i o número de documentos nos quais o termo indexado k i aparece. Seja f req i,j a frequência do termo k i no documento d j (o número de vezes que o termo é mencionado no texto do documento d j - Term Frequency (TF). Então, a frequência normalizada, também denominada frequência relativa f i,j do termo k i no documento d j é dada por [BAEZA-YATES, 1999]: f i,j = f req i,j max l f req l,j (4.1) Onde o máximo é calculado sobre todos os termos l os quais são mencionados no texto do documento d j. Se o termo k i não aparece no documento d i,j, então f i,j = 0.

38 36 Adicionalmente, seja IDF i a frequência inversa do documento (Inverse Document Frequency (IDF)) para k i, a qual pondera a importância do termo k i no conjunto de documentos D, dada por: IDF i = log N n i (4.2) Então os pesos podem ser calculados de acordo com o seguinte esquema: w i,j = f i,j log N n i (4.3) O que é importante destacar é o fato de que, quanto mais um termo aparece em um número maior de documentos, mais o IDF se aproxima de zero, ou seja, a relevância desse termo em relação ao conjunto de documentos diminui. Neste ponto, uma consideração se faz necessária. O estudo desenvolvido em [OLIVEIRA, 2007], sobre o qual esta sendo feito este trabalho, adotou arbitrariamente o valor da IDF como sendo 1 para qualquer termo indexado, atribuindo, por consequência peso igual a todos os termos em relação ao conjunto total de documentos. No caso, o valor da IDF = 1 significa que todos os termos foram considerados como ocorrendo em 10% dos documentos, uma vez que a relação entre o número de documentos onde o termo aparece (n i ) é de 0.1 em relação com conjunto total documentos (N): IDF i = log N 1 = log N 1 = log10 N = 10 n i = 0.1 = 10% (4.4) n i n i n i N Com o cálculo dos pesos, no Modelo Vetorial, conseguimos obter a representação de cada documento como um vetor n-dimensional. Por exemplo, um usuário que desejasse pesquisar documentos relacionados a modelos de recuperação de informação poderia, hipoteticamente, formular uma expressão de busca com os termos t 1,t 2 e t 3, que seriam respectivamente: Recuperação, Informação e Modelo. Supondo ainda a existência do documento hipotético d 1 a seguir: São muitos os modelos de Recuperação de informação, mas a Recuperação de informação é muito mais do que isso.

39 37 Aplicando-se um modo simplificado de indexação, através da remoção de termos sem muito significado (processo de remoção de stopwords descrita anteriormente nas seções 3.2 e 4.2), como por exemplo, preposições e artigos, além de outras stopwords da língua portuguesa [FERRANTE], chega-se a uma versão normalizada desse documento, existente em função de seus termos indexados representantes, que no caso também seriam três, respectivamente: t 1 = Modelo, t 2 = Recuperação e t 3 = Informação. São muitos os modelos de Recuperação de informação, mas a Recuperação de informação é muito mais do que isso. Ou seja, modelos Recuperação informação, Recuperação informação. Calculando-se o peso de cada termo como sendo sua frequência no documento, obtêm-se a tabela 1. Índice: i Peso: w i Termo: t i em d modelos 2 2 recuperação 3 2 informação Tabela 1: Tabela de Pesos do documento d 1 E o vetor de pesos representante desse documento pode ser assim definido (coluna referente ao Peso): d 1 = (1,2,2) Graficamente, esse vetor d 1 seria representado conforme a figura 5 no espaço tridimensional.

40 38 Figura 5: Representação gráfica vetorial do documento d 1 Consideremos também os documentos fictícios d 2 e d 3, supostamente indexados pelos mesmos termos t 1,t 2 e t 3, cada qual com seu peso calculado da mesma maneira que em d 1. O vetor representante de cada um desses documentos hipotéticos seria: d 2 = (5,4,3) d 3 = (3,0,2) Da mesma maneira que os documentos, no Modelo Vetorial, uma expressão de busca também é representada através de um vetor numérico, ao passo que cada valor dentro desse vetor representa a importância ( peso ) de um termo na busca. A expressão de busca é assim, exatamente da mesma forma que os documentos, representada por um vetor. Na expressão de busca proposta, contendo os termos t 1 = Modelo, t 2 = Recuperação e t 3 = Informação, supondo o caso onde o peso para cada um desses termos seria 1( termos com a mesma importância ), o vetor de pesos dessa expressão de busca teria a seguinte forma: q = (1,1,1) Graficamente, os três documentos, juntamente com a expressão de busca, podem ser representados juntos no espaço vetorial formado pelos termos t 1,t 2 e t 3 usados no exemplo, conforme ilustra a figura 6.

41 39 Figura 6: Representação gráfica vetorial dos documento d 1, d 2, d 3 e da expressão de busca q Neste exemplo, de modo que fosse possível a representação gráfica do espaço vetorial contendo os documentos d 1, d 2 e d 3, esses documentos foram projetados de forma a conter somente três termos indexados (t 1,t 2 e t 3 ). Entretanto, essa quantidade pode ser bastante grande em um sistema real, onde um corpus contendo n documentos e i termos de indexação seria representado por uma matriz, conforme ilustra a tabela 2. t 1 t 2 t 3... t i d 1 w 1,1 w 2, w i,1 d 2 w 1,2 w 2, w i, d n w 1,n w 2,n w i,n Tabela 2: Matriz contento os pesos dos termos nos documentos

42 Cálculo de Similaridade No Modelo Vetorial, a forma de se representar documentos e expressões de busca da mesma maneira dentro de um espaço vetorial contendo t dimensões implica no fato de que é possível realizar o cálculo da similaridade (Sim) entre documentos distintos, bem como na realização do mesmo cálculo de similaridade entre uma expressão de busca do usuário e cada um dos documentos constituintes do corpus. Assim, dado um vetor d j representando um documento e um vetor q representando a expressão de busca do usuário, o cálculo de similaridade é, por sua vez, realizado calculando-se o cosseno do ângulo formado pelos vetores d j e q, através da fórmula 4.5 [OLIVEIRA, 2005]. d j q sim(d j,q) = d = j q t i=1 w i,j w i,q t i=1 w2 i,j t j=1 w2 i,q = cos(θ) (4.5) Onde w i,j é o peso do i-ésimo elemento do vetor d j, e w i,q é o peso do i-ésimo elemento do vetor q. O cálculo de similaridade entre os documentos d 1, d 2 e d 3 e a expressão de busca q pode ser feito, portanto, da seguinte maneira, para se determinar quais documentos são mais relevantes à busca do usuário: sim(d 1,q) = = = 0.96 = cos(θ d 1,q) (4.6) sim(d 2,q) = = = 0.94 = cos(θ d 2,q) (4.7) sim(d 3,q) = = = 0.80 = cos(θ d 3,q) (4.8) Desde que w i,x 0 e w i,y 0, sim(x,y) sempre vai variar de 0 a 1, onde 0 significará alto grau de dissimilaridade e 1, completa similaridade. [OLIVEIRA, 2007, p.86] Na verificação de similaridade entre a expressão de busca e os documentos constituintes do corpus, ocorre que Os valores de similaridade são usados no ordenamento dos documentos resultantes. Portanto, no Modelo Vetorial o resultado de uma busca é um conjunto

43 41 de documentos ordenados pelo grau de similaridade entre cada documento e a expressão de busca [FERNEDA, 2003, p.31] O que ilustra a tabela 3, a qual demonstra o grau de similaridade entre cada um dos documentos d 1, d 2 e d 3 em relação à expressão de busca do usuário q, ou seja, a relevância de cada documento na busca, ordenados do mais relevante ao menos relevante. q d 1 96% d 2 94% d 3 80% Tabela 3: Graus de relevância dos documentos em relação à expressão de busca Pela tabela 3 percebe-se que o documento mais relevante à expressão de busca seria o d 1, seguido por d 2 e d 3, respectivamente. A mesma fórmula 4.5 também pode ser aplicada no cálculo de similaridade entre documentos, uma vez que documentos e expressões de busca possuem a mesma forma de representação vetorial. Sendo assim, o cálculo de similaridade entre os documentos d 1, d 2 e d 3, para se determinar o quão similares eles são entre si, seria: sim(d 1,d 2 ) = = = 0.89 = cos(θ 1,2) (4.9) sim(d 1,d 3 ) = = = 0.64 = cos(θ 1,3) (4.10) sim(d 2,d 3 ) = = = 0.82 = cos(θ 2,3) (4.11) A matriz de similaridades da tabela 4 representa a saída do processo de cálculo de similaridades aplicado aos documentos entre si, descrevendo o grau de semelhança existente entre eles de acordo com o cosseno dos ângulos formados pelos vetores

44 42 representantes desses documentos. Assim, considerando, por exemplo, os vetores representantes dos documentos d 1 e d 2, o cosseno do ângulo formado entre eles (0.89) indica um grau de similaridade de 89% entre os documentos representados por esses vetores. d 1 d 2 d 3 d 1 100% 89% 64% d 2 89% 100% 82% d 3 64% 82% 100% Tabela 4: Matriz de Similaridade entre os documentos d 1,d 2 e d 3 Essa matriz é importante pois as relações (graus) de similaridade nela descritas serão usadas pelos algoritmos de classificação automática de documentos descritos na seção seguinte, os quais têm sido utilizados com o objetivo de organizar informações, facilitando, assim, sua recuperação.

45 43 5 Classificação Automática de Documentos A classificação de documentos tem sido um importante tópico de estudo desde o advento dos computadores e dos documentos digitais. A grande quantidade de documentos (digitais) textuais com os quais temos que lidar cotidianamente eleva o status da classificação de documentos a uma necessidade dos dias atuais, sendo comumente usada na indexação de documentos, de forma a assistir às tarefas de recuperação de informação, tal como a classificação de s, documentos ou até mesmo páginas da web em consultas ao Google [ANTONIE, 2002]. Esse processo foi realizado de forma manual durante muitos anos, sendo que sistemas de classificação tem sido desenvolvidos por bibliotecários desde o século 19, continuando até hoje em uso. Incorre disso que [...] classificar não é somente uma tendência natural do conhecimento, [...] é igualmente uma necessidade da inteligência humana que dá resposta ao caráter entrópico da mente humana. [PEIXOTO, p.3]. Entretando, no contexto atual em que vivemos, onde as formas de comunicação estão cada vez mais reticuladas e interativas, apesar do fato de o homem ser ainda o melhor classificador existente, o grande volume de informação gerada bem como a enorme demanda em recuperar essas informações faz com que o método de classificação manual se torne cada vez mais inviável, sendo incapaz de tratar grandes quantidades de informações em tempo hábil, e consequentente a baixo custo. Emerge assim, cada vez mais a necessidade de pesquisas e investimentos nos processos de recuperação e classificação de informação auxiliados por computador, objetivando-se o deslocamento do trabalho manual em direção àquele realizado automaticamente, em um tempo cada vez menor, de forma mais eficiente e com mínima intervenção humana.

46 44 A classificação de documentos, dessa maneira, se constitui em um instrumento fundamental para organização e recuperação de grandes volumes de informações, uma vez que o processo de recuperação da informação se torna muito mais eficiente quando realizado sobre bases previamente classificadas[galho, 1998]. Até o início dos anos 80, o método mais popular de classificação automática consistia naquele feito pela definição manual de um conjunto de regras codificadas através do conhecimento de especialistas, as quais decidiam como classificar documentos em determinada categoria. Esse conceito, onde há a aquisição de conhecimento sobre um processo e a representação deste conhecimento em um Sistema Baseado em Conhecimento (Knowledge-based System) é denominado engenharia do conhecimento (Knowledge Engineering) [STUDER, 1998]. Nos anos 90, porém, outra abordagem denominada aprendizado de máquina (Machine Learning (ML)) [NILSSON, 1997], ganhou popularidade e tem conduzido as pesquisas em classificação automática de documentos até hoje. Dentro do contexto da classificação automática de documentos, ML se constitui em um processo indutivo que automaticamente constrói classificadores automáticos de textos através do aprendizado que o sistema adquire a partir das características de documentos previamente classificados [SEBASTIANI, 2002]. A ideia central é que nessa abordagem, os algoritmos de classificação automática melhoram gradativamente durante seu uso, simulando o aprendizado obtido com a experiência. A classificação automática de documentos consiste, assim, em uma técnica empregada para classificar documentos de texto. Tomando-se uma visão geral de todo o processo de classificação, o mesmo pode ser visto como uma tarefa que possibilita a definição automática das classes nas quais os documentos serão classificados, bem como na classificação propriamente dita de um dado conjunto de documentos nessas classes. Com isso definem-se as duas tarefas principais relativas à classificação automática de documentos: 1. O Agrupamento de documentos (Document Clustering) 2. A Categorização de documentos (Document Categorization)

47 45 De acordo com [WIVES, 1999, p.15]: [...] a técnica de agrupamento consiste em organizar uma série desorganizada de objetos em grupos de objetos similares. Este tipo de técnica é recomendado quando não há uma discriminação prévia de classes [...] Já a classificação ou categorização consiste em identificar a classe a que pertence determinado objeto. Para tanto é necessário conhecer previamente as características de cada classe. Essas duas tarefas são descritas nas seções seguintes. 5.1 Agrupamento de Documentos Segundo [LEWIS, 1992, p.5, tradução nossa, grifo nosso]: Agrupamento de Documentos é a geração automática de categorias de documentos [identificação de grupos de documentos], usualmente baseada em alguma medida de similaridade entre documentos, bem como na definição de quais características grupos de documentos devem possuir. O processo de agrupar objetos não é recente, sendo empregado de forma manual muito antes da existência dos primeiros computadores, quando já era usado como instrumento facilitador da localização desses objetos [WIVES, 1999]. No que se refere às informações textuais, o objetivo do agrupamento [...] é separar uma série de documentos dispostos de forma desorganizada em um conjunto de grupos[categorias identificadas pelo processo de agrupamento] que contenham documentos de assuntos similares. [WIVES, 1999, p.16, grifo nosso]. Como resultado, os grupos de documentos similares (classes) formados provêm maior eficiência na localização, análise e manipulação desses documentos no contexto do processo de recuperação de informação. O agrupamento de documentos se constitui, assim, em uma linha de pesquisa importante que objetiva a melhoria do desempenho do processo de recuperação em si, sendo muito utilizado [...] para identificar documentos similares e armazenálos em seções (blocos) contíguas do dispositivo de armazenamento. [WIVES, 1999,

48 46 p.17]. Espera-se com isso a obtenção de um ganho de desempenho no processo de recuperação, uma vez que, partindo-se do princípio da Hipótese de Agrupamento (Cluster Hypothesis) proposto por Rijsberge [RIJSBERGEN, 1979, p.30] e citado por [WIVES, 1999, p.16], caso um documento pertencente a um grupo seja retornado, todos os outros documentos pertencentes ao mesmo grupo também serão considerados relevantes e serão recuperados também, devido ao pressuposto que documentos pertencentes ao mesmo grupo relacionam-se ao mesmo assunto, e que documentos pertencentes a grupos distintos relacionam-se a assuntos distintos. Como resultado, visto que a informação permanece agrupada e classificada por assunto, sua localização e consequente manipulação se torna muito mais fácil Agrupamento de Documentos versus Recuperação de Informação De acordo com a definição de agrupamento de documentos de [LEWIS, 1992] mencionada anteriormente, a fim de que documentos possam ser agrupados, é preciso que se estabeleça uma métrica para medir a similaridade entre um documento e outro [HSIAO], sendo que neste ponto se aprofundam as relações entre classificação automática de documentos e recuperação de informação, pois a maioria das técnicas de agrupamento de informações textuais utiliza, como base, os mesmos algoritmos e as mesmas formas de representação(modelos) das etapas do processo de recuperação de informação em si. As etapas do agrupamento são, em geral: Identificação e seleção de características Cálculo de similaridades Identificação de grupos (clusters) - o agrupamento propriamente dito. Essas três fases do agrupamento, as quais são descritas a seguir, estão ilustradas na figura 7.

49 47 Figura 7: Agrupamento de Documentos:Visão Geral [WIVES, 1999, p.22] 1. Identificação e seleção de características: A etapa de identificação das características dos objetos mostrada na figura 7, como o próprio nome já diz, é a responsável por identificar as características dos objetos, de forma que a semelhança entre eles possa ser analisada posteriormente no cálculo de suas similaridades, a fim de que os mesmos possam ser categorizados nas classes (grupos)

50 48 que os identifiquem. Com isso têm-se que a identificação das características está no centro da questão da classificação, juntamente com a noção de similaridade entre essas características. Em se tratando de informações textuais, tal como os documentos de texto aqui discutidos, suas características são definidas pelas palavras (termos) que esses documentos contêm. Portanto, nas técnicas de agrupamento de informações textuais, as palavras são utilizadas como atributos. [WIVES, 1999, p.23]. Uma vez que nem todas as palavras são identificadoras das características dos documentos, é necessário que uma filtragem seja feita, de modo que os termos resultantes atuem como atributos caracterizadores desses documentos. Devido ao fato que nem todos os termos aparecem com mesma frequência, essa informação (frequência) também se faz importante na definição de quais termos melhor representam cada documento. A técnica mais comum de identificação de atributos (palavras) marcantes é a frequência relativa [WIVES, 1999, p.23, apud SAL 83], descrita na seção Após estarem identificadas as características dos objetos é possível que seja aplicada uma técnica de seleção ou detecção a fim de que sejam selecionadas quais dessas características são importantes, sendo as mais utilizadas a Truncagem (Truncation) [WIVES, 1999] e a Indexação Semântica Latente (Latent Semantic Indexing (LSI)) [DEERWESTER, 1990]. Essas técnicas tem o objetivo de reduzir a dimensão da representação dos documentos sem prejudicar o desempenho do processo de agrupamento, bem como minimizam os problemas que são decorrentes de falsos resultados de comparações léxicas [MUSCAT, 2004], [OLIVEIRA, 2005]. 2. Cálculo de Similaridades: A fase seguinte à preparação dos textos é a comparação entre as representações geradas para cada documento a fim de que seja verificada a semelhança entre eles. Esse grau de semelhança será efetuado por uma função de similaridade, de forma idêntica ao processo descrito na seção e dará origem a uma matriz de similaridades equivalente à apresentada na tabela 4. A forma como esse cálculo é feito é definida pela representação que foi gerada de cada documento, que por sua vez, é definida e reflete diretamente o modelo de recuperação subjacente utilizado, como o Modelo Vetorial, o Modelo Fuzzy,etc.

51 49 3. Agrupamento: A fase de agrupamento é aquela que, tomando como entrada a matriz de similaridades, irá gerar grupos(clusters), ou seja, classes de documentos. Existem diversos algoritmos para essa tarefa, dentre os quais, os mais conhecidos são: Cliques, Connected components (Single Link), Stars, Strings e Algoritmos Heurísticos. A descrição detalhada e a análise de cada um desses algoritmos pode ser encontrada em [WIVES, 1999] e [OLIVEIRA, 2005]. 5.2 Categorização de Documentos Uma outra tarefa importante relativa ao processo de classificação é a categorização de documentos. Segundo [PEIXOTO, p.4, grifo nosso], a categorização de textos [...]é uma ferramenta utilizada para classificar automaticamente um conjunto de documentos numa ou mais categorias preexistentes, não tendo outra finalidade senão recuperar a informação. Essas categorias preexistentes podem ter sido geradas manualmente, por um especialista, ou de forma automática pelo processo de agrupamento de documentos descrito na seção anterior. A categorização de documentos, dessa maneira, ocorre de forma automatizada, identificando a classe à qual pertence um documento, decorrendo disso que documentos pertencentes a grupos com características comuns são classificados pela classe que identifica essas características. Agrupamento e categorização são, dessa maneira, conceitos intimamente relacionados. Através dessa visão, em que há a necessidade da preexistência de classes a fim de que seja realizada a categorização, pode-se entender o agrupamento de documentos como sendo uma etapa anterior à categorização desses documentos. Em outras palavras, para que uma classe seja atribuída a um documento, é preciso que essa classe seja previamente criada. Entretanto, para que ocorra a categorização automática se faz necessário o conhecimento prévio das características que definem cada classe, tornando necessária a existência de duas etapas neste processo: [...]uma etapa de aprendizado, onde as classes são identificadas e caracterizadas, e uma etapa de classificação propriamente dita, onde os elementos são identificados (classificados) de acordo com as classes existentes. [WIVES, 1999]. Dessa forma, considerando a abordagem de categorização que utiliza o conceito

52 50 de aprendizado de máquina (Machine Learning), citada na seção 5, a categorização de documentos pode ser definida justamente como o processo de atribuição de classes(categorias, rótulos) a um novo documento, com base no conhecimento adquirido pelo sistema de categorização em sua fase de treinamento [ANTONIE, 2002]. Segundo essa abordagem, dado um conjunto de documentos com classes atribuídas a eles, o sistema de categorização é gradativamente construído através de um método de aprendizagem, tendo, por sua vez, o objetivo de [...] aprender um esquema de classificação que possa ser usado para classificar textos automaticamente. [LAI, 2001, p.2, tradução nossa]. Existem diversos algoritmos desenvolvidos com essas caracteríticas, e que são coletivamente conhecidos como Algoritmos de Aprendizagem Supervisionada (Supervised Learning Algorithms) Taxonomia dos algoritmos de aprendizado usados na Categorização Uma série desses algoritmos de aprendizado supervisionado desenvolvidos pela comunidade de Inteligência Artificial têm sido importados a fim de serem usados nas tarefas de categorização e recuperação de documentos, e são taxonomicamente classificados em três grandes classes que descrevem as diversas abordagens empregadas no treinamento de classificadores, as quais são brevemente descritas em [KOSTER, 2003]. 1. Classificadores Baseados em Regras (rule-based classifiers): São algoritmos que aprendem inferindo um conjunto de regras baseado em um grupo de documentos pré-classificados, onde regras de decisão podem formar árvores de decisão. 2. Classificadores Lineares (linear classifiers): é uma classe de algoritmos que possui uma série de adaptações em relação à atribuição de pesos aos termos (Term Frequency e Inverse Document Frenquecy) no processo de aprendizagem e treinamento do classificador. Como exemplo podemos citar o Rocchio s algorithm, descrito em [SEBASTIANI, 2002], o Naive Bayesian [LEWIS, 1998] e o Vector Support Machines [CAI, 2004]. 3. Classificadores Baseados em Exemplos (example-based classifiers): Dado um documento, realiza sua classificação através de uma votação de maioria nas classes dos documentos mais próximos dele.

53 5.2.2 Categorização de Documentos versus Recuperação de Informação 51 A abordagem de apredizagem de máquina usada para a construção de classificadores confia fortemente no maquinário básico da infomação de recuperação. A razão para isso é que ambos, recuperação de informação e categorização de documentos, são tarefas baseadas no gerenciamento do conteúdo de documentos, compatilhando, dessa maneira uma série de características [SEBASTIANI, 1999]. Técnicas de recuperação de informação são usadas em praticamente todas as fases da categorização, que são: 1. Indexação: Consiste nas mesmas técnicas de representação de documentos descritas na seção 3.2, e diz respeito à geração de estruturas representantes dos documentos as quais permitam seu fácil processamento pelo sistema de recuperação/categorização. As mesmas operações aplicadas aos documentos iniciais do corpus (conjunto de documentos) na recuperação de informação são efetuadas nos documentos a serem classificados. 2. Redução de dimensionalidade: Diferentemente da recuperação de informação, na categorização de documentos, a alta dimensionalidade do espaço de termos, isto é, o fato da quantidade de termos que aparecem no corpus de documentos ser alta, pode ser um fator problemático. Isto ocorre porque, ao passo que os algoritmos que calculam similaridade em RI escalam bem para um alto número de termos (como por exemplo na similaridade baseada no cosseno, do modelo vetorial), o mesmo não acontece nos algoritmos de aprendizagem usados para indução de classificadores na categorização. Em vista disso é necessário que seja feito um processo de redução de dimensionalidade (Dimensionality Reduction (DR)) [FODOR, 2002] do espaço vetorial através da redução da quantidade de termos, e para isso são utilizadas diversas técnicas, como por exemplo, o agrupamento de termos (Term Clustering) [LEWIS, 1992] e Latent Semantic Indexing (LSI). 3. Formulação do categorizador: A fim de que documentos possam ser classificados, é necessário que haja uma especificação de como decidir quais classes serão atribuídas a quais documentos. No que tange a categorização de documentos, essas especificações são denominadas de categorizadores. Segundo [KOSTER, 2003, p.13, grifo nosso, tradução nossa], a tarefa de categorização de

54 52 documentos é aquela que: Dado um conjunto de classes [preexistentes] de documentos C e exemplos de documentos para cada classe, constrói um classificador [categorizador] que, dado um documento d, encontra a(s) classe(s) à(s) qual(is) d é mais similiar. Assim, a partir de um conjunto previamente classificado de documentos, o categorizador automático de textos é construído pela aprendizagem das características das classes preexistentes. É importante ressaltar que esses categorizadores assumem o mesmo papel que as expressões de busca nos sistemas de recuperação de informação, pois ambos atuam como classificadores. Essa linha de pensamento é expressa por [SEBASTIANI, 2002, p.4, apud SARACEVIC 1975, tradução nossa, grifo do autor] quando diz que A noção de pertencimento de um documento em uma categoria é, em muitos aspectos, similar à noção de relevância de um documento à necessidade de informação do usuário em RI. As principais diferenças, entrentanto, dizem respeito à forma como esses classificadores são gerados e ainda ao fato de que, enquanto nos sistemas de recuperação de informação as expressões de busca formuladas pelos usuário possuem caráter temporário, os categorizadores possuem um tempo de vida mais perene, sendo comumente usados por um longo período. Ou seja, categorizadores não são circunstanciais, por não dependerem de uma necessidade de informação, imediata e volúvel, descrita por um usuário. Ao contrário, um categorizador possui critérios de comparação mais constantes na tarefa de atribuir classes a documentos, se assemelhando a uma expressão de busca que seja imutável, embora possa ser treinado e aperfeiçoado. 4. Cálculo de Similaridades: É o ato de se comparar os categorizadores aos documentos, resultando dessa comparação a atribuição ou não de uma classe a determinado documento. A atribuição de documentos a classes é uma tarefa que pode ser binária, sendo que um documento pertence ou não a uma classe, ou pode ser graduado, de modo que um documento possa ser classificado como possuindo um grau de adequação à determinada classe. Um ponto de semelhança importante de se ressaltar é o fato de que esses dois tipos de tarefas (recuperação e categorização) requerem que os classificadores (expressões de busca e categorizadores) estejam formados e que os documentos estejam representados de forma que uma comparação efetiva possa ser feita entre

55 53 o classificador correspondente e os documentos. Ao mesmo tempo que o sistema de categorização depende da estrutura básica fornecida pelas técnicas de recuperação de informação, um problema envolvendo recuperação de informação pode, por sua vez, ser visto como um problema de categorização onde [...] a classe de interesse é a classe de documentos relevantes à necessidade de informação do usuário. [LEWIS, 1992, p.8, tradução nossa]. Uma tarefa da recuperação de informação consiste, dessa maneira, na obtenção de documentos que possam ser comparados e classificados por uma única classe: a expressão de busca do usuário. Evidencia-se, dessa maneira, outra diferença entre essas duas tarefas, pois na categorização de documentos é possível que um documento seja comparado há mais de uma categoria por vez, o que não ocorre na recuperação de informação. Por fim, apesar das diferenças mencionadas, os processos de recuperação e categorização de documentos estão intimamente relacionados através das semelhanças e correpondências entre suas respectivas etapas, sendo essa semelhança um reflexo dos mecanismos subjacentes que essas duas tarefas têm em comum.

56 54 6 Projeto e Implementação Os estudos e as análises teóricas desenvolvidas nos capítulos anteriores a respeito dos temas recuperação de informação e classificação automática de documentos, lançam as bases que fundamentam e possibilitam a reprodução do experimento apresentado no artigo intitulado Um modelo algébrico para representação e classificação automática de documentos digitais [OLIVEIRA, 2007]. Em [OLIVEIRA, 2007], a idéia da representação, indexação e classificação automática de documentos digitais é apresentada, demonstrando como o modelo vetorial, de forma simples, nos permite lidar com a classificação de uma grande quantidade de documentos como, por exemplo, aqueles carregados diariamente nas bibliotecas digitais existentes no Brasil e no mundo. O artigo gira em torno da idéia de se representar matematicamente esses documentos, afim de que o computador, desprovido das faculdades humanas da inteligência, raciocínio e subjetividade, possa desempenhar o papel de classificador de documentos, substituindo o homem e sua natural capacidade de ler, analisar, pensar e classificar documentos, por uma manipulação algébrica que permita a realização desta tarefa de forma satisfatória e automática. Em resumo, o computador não pensa, ele faz contas, e daí a necessidade da representação adequada dos documentos de forma que estes sejam facilmente manipuláveis por um sistema computacional. Dessa forma, o artigo trata [...] da apresentação de uma metodologia que vem sendo usada para lidar automaticamente com uma grande massa de documentos no que diz respeito a sua indexação (BRIN,PAGE,1998), utilizando-se da extração dos termos relevantes dos documentos, para avaliar similaridades entre os mesmos. Com isso, produziremos classes de documentos segundo seus enfoques temáticos. [OLIVEIRA, 2007, p.77] Por fim, no artigo, a qualidade dessa classificação automática realizada pelo sistema computacional é testada - usando uma amostra de documentos reais - e com-

57 55 parada com aquela feita pelo especialista humano, afim de que seja demonstrada sua eficiência e eficácia. Os resultados demonstraram que essa metodologia se mostra promissora em reduzir o esforço de especialistas na realização da tarefa de classificação, e essa é uma característica central motivadora do corrente estudo. O objetivo de [OLIVEIRA, 2007] é apresentar e exemplificar as metodologias de representação e de indexação automática de documentos textuais, mostrando que este conjunto de técnicas pode ser usado para classificar documentos automaticamente (ou semi-automaticamente nos casos em que a máquina não for capaz de fazê-la) e de forma muito mais rápida que o ser humano. Levando em consideração essa abordagem focada na exemplificação de uma metodologia para se representar e classificar documentos, e ainda considerando o seu meio de publicação - a Revista Brasileira de Biblioteconomia e Documentação (RBBD), que é um periódico orientado a profissionais diretamente ligados à informação mas não necessariamente ligados à Ciência da Computação - [OLIVEIRA, 2007] não esmiúça detalhes técnicos relativos a como toda a metodologia apresentada foi implementada, justamente por não ser este o seu enfoque, resumindo-se a citar a linguagem em que o sistema foi desenvolvido, no caso Java. Por outro lado, a metodologia utilizada no artigo é, em alto nível, muito bem apresentada, de forma que leitores leigos podem entender ao menos sua idéia central. A exceção é a descrição do modelo vetorial de representação (aqui apresentado na seção 4.3.3) onde é feito o detalhamento das operações algébricas realizadas em estruturas de dados que representam os documentos, no caso vetores. Entretanto, esse detalhamento é bem conceitual e as operações demonstradas exigem muito mais entendimento das manipulações algébricas ligadas à matemática e à geometria analítica do que à Ciência da Computação propriamente dita. Dessa forma, afim de que o sistema de classificação automática apresentado em [OLIVEIRA, 2007] fosse reproduzido (o que é um dos objetivos deste estudo),foram deduzidos algoritmos, da leitura de seu artigo, para que, a partir destes, fosse feita a implementação aqui utilizada. Diferentemente de [OLIVEIRA, 2007], que utilizou Java [BURD, 2005], a implementação do classificador desenvolvido neste estudo foi feita na linguagem C# [STELLAN, 2008]. Além do mais, é importante destacar que os algoritmos e diagramas aqui propostos não são explicitamente apresentados em [OLIVEIRA, 2007], sendo elaborados a partir do entendimento da sua metodologia, estando sujeito a alguma variação da idéia original ali contida, justamente por questões subjetivas que dizem respeito a como as idéias apresentadas foram entendidas.

58 Deduzindo um algoritmo Através da leitura de [OLIVEIRA, 2007], entende-se que sua metodologia para classificar documentos compreende duas fases: 1. Treinamento do classificador: uma fase de preparação, onde o classificador é criado/treinado a partir de um corpus de documentos pré-existentes, previamente agrupados em classes (classificados) por um especialista humano. 2. Classificação de novos documentos: a fase de classificação propriamente dita, onde documentos que chegam ao corpus são classificados através do cálculo de sua similaridade com as classes de documentos pré-existentes. Para essas duas fases, será proposto um algoritmo, bem como diagramas auxiliares, com o objetivo de descrever visualmente a lógica relativa a cada uma dessas etapas, apreendida da leitura do artigo. Concomitantemente, cada passo será explicado, sendo que pontualmente, onde for relevante, detalhes da implementação aqui desenvolvida serão apresentados, a fim de se fornecer informações de como as idéias apresentadas em [OLIVEIRA, 2007] podem, na prática, ser codificadas, provendo um diálogo menos abstrato e mais próximo ao profissional da Ciência da Computação, que é, por fim, o responsável por desenvolver ferramentas dessa natureza. 6.2 O Processo de Classificação O processo de classificação será aqui apresentado partindo-se de uma visão macro, mais abstrata e menos detalhada, para paulatinamente ser aprofundada e desdobrada em sub-processos menores que compõem micro-visões do sistema de classificação. Tal enfoque será adotado a fim de se fornecer, inicialmente, uma idéia geral da abordagem utilizada em [OLIVEIRA, 2007], para posteriormente serem analisados os detalhes relativos a cada etapa do processo. Como já mencionado, a tarefa de classificação é dividida em duas sub-tarefas, o treinamento do classificador e a classificação de novos documentos. É importante ressaltar que essas tarefas ocorrem em momentos distintos, onde a primeira pode ser vista como a preparação e configuração do sistema de classificação (classificador), e a segunda como a tarefa de classificação propriamente dita. Na fase de treinamento, o especialista humano cria grupos de documentos relacionados, ou seja, classifica esses documentos em classes

59 57 de acordo com seu próprio conhecimento e critério. A partir desses grupos de documentos pré-classificados pelo especialista humano, o classificador é treinado. Isto é, para cada grupo de documentos agrupados em uma determinada classe criada pelo especialista humano, o computador gerará automaticamente um documento artificial que a representará, denominado documento discriminante da classe. A idéia por trás da criação destes documentos artificiais veio de uma técnica muito conhecida na estatística como Análise Discriminante de dados de Johnson e Wichern. Ou seja, estamos dizendo que os termos existentes em cada um desses documentos artificiais são termos que discriminam, ou separam, os documentos da classe relacionada aos documentos das outras. [OLIVEIRA, 2007, p.89] Com isso, percebe-se que a fase de treinamento e a fase de classificação, apesar de temporalmente e funcionalmente distintas, estão intimamente relacionadas, uma vez que no momento que um novo documento precisar ser classificado, o mesmo não mais será comparado a todos os documentos existentes no corpus, mas sim ao documento discriminante que foi gerado para cada classe. Dessa forma, classificar um novo documento em uma classe é uma tarefa que, em alto nível, pode ser resumida em se calcular a similaridade desse novo documento com o documento discriminante da classe, onde o grau de similaridade obtido determinará se o documento pertence ou não àquela classe. Aqui também evidencia-se a importância do modelo vetorial de representação, uma vez que é através desse modelo que esse cálculo de similaridade é realizado, possibilitando ao computador decidir (calcular) se o documento pertence ou não à classe. É importante destacar a natureza dinâmica desses documentos artificiais, uma vez que [...] sempre que um novo documento vier a ser agrupado em uma dada classe, seus termos serão considerados para, possivelmente, compor a lista de termos já existentes no documento artificial daquela classe. [OLIVEIRA, 2007, p.89]. Dessa forma, o classificador pode ser treinado constantemente, aprendendo a cada novo documento classificado. Assim, quanto maior o número de documentos classificados, maior a eficiência que o classificador terá. Esse conceito, denominado Machine Learning foi mencionado na seção 5.2. Como grande vantagem dessa abordagem, o classificador pode acompanhar a evolução deste elemento vivo que é a linguagem em cada área do conhecimento, não se tornando defasado com o tempo. A figura 8 ilustra, de forma geral, o processo de classificação em suas duas fases supramencionadas, a fase de treinamento do classificador e a fase de classificação

60 58 de novos documentos. Figura 8: Classificação de Documentos:Visão Geral A seção da figura correspondente ao treinamento do classificador (fase 1), ilustra o fato de que para cada grupo de documentos pertencentes a uma determinada classe, um documento discriminante é gerado através de um processo de indexação, o qual será detalhado adiante. Já a seção da figura correspondente à classificação de novos documentos (fase 2), retrata visualmente o processo sofrido estes novos documentos, os quais têm sua similaridade comparada com os discriminantes de cada classe para, a partir dessa comparação, serem ou não classificados em determinada classe. Dessa forma, o algoritmo geral (em alto nível) proposto para a tarefa de classificação é, inicialmente, o seguinte: Este algoritmo proposto possui, inicialmente, uma alta granularidade, devido à abordagem top-down escolhida para apresentação das idéias aqui discutidas. Porém,

61 59 Figura 9: Algoritmo geral para a tarefa de classificação à medida que as fases da tarefa de classificação forem sendo detalhadas, este algoritmo será progressivamente refinado e incrementado. Uma vez apresentada a visão geral do processo de classificação, tal como proposta em [OLIVEIRA, 2007], cada fase será aprofundada individualmente, a fim de que as mesmas possam ter suas características detalhadas, iniciando pela fase de treinamento do classificador. 6.3 Fase 1: Treinamento do classificador A primeira fase do processo de classificação, o treinamento, consiste em fornecer ao classificador as condições básicas iniciais que lhe qualifiquem para, futuramente, classificar novos documentos. Por conta disso, é necessário que um grupo de documentos pré-classificados pelo especialista humano seja apresentado ao classificador, o qual, extraindo e aprendendo as características destes documentos, possa corretamente classificar novos documentos. De acordo com a leitura de [OLIVEIRA, 2007], podemos refinar o algoritmo geral apresentado na figura 9, detalhando ainda mais o item 2, que corresponde a esta primeira fase, o treinamento do classificador, conforme demonstra a figura 10. Quando tratamos de documentos de texto, as características que permitem diferenciálos quanto aos seus conteúdos são, justamente, os termos que cada documento contém. Assim, dado um conjunto de documentos previamente classificados, a forma adotada em [OLIVEIRA, 2007], que permite ao classificador aprender e armazenar os termos que caracterizam os documentos dessa classe, é justamente a criação de um documento artificial (discriminante) para a classe, a partir dos seus documentos. Este processo, denominado indexação, é feito automaticamente e converte os documentos de uma classe (entrada) em um documento discriminante (saída) contendo

62 60. Figura 10: Detalhamento do algoritmo da fase de treinamento do classificador somente os termos discriminantes (representativos) para aquela classe de documentos, conforme ilustra, em alto nível, a figura 11(a). A figura 11 retrata a mesma fase de treinamento do classificador em três níveis de detalhamento: do mais abstrato 11(a), até o menos abstrato 11(c). A seção 4.2 já discutiu a indexação automática, que resumidamente consiste em [...] extrair termo(s) de um documento que melhor representem seu conteúdo [OLIVEIRA, 2007, p.81], sem a intervenção do documentarista. Essa escolha dos termos de indexação pode ser feita através da contagem de palavras que ocorram com uma determinada frequência em um documento. Entretanto, nem todas as palavras são consideradas relevantes ao documento, justamente por possuírem pouco significado semântico, e sendo assim, não são tratados como termos de indexação, conforme veremos. Entretanto, às palavras relevantes para a indexação devemos encontrar os pesos apropriados para distinguir umas das outras no contexto em estudo [OLIVEIRA, 2007, p.82]. Na metodologia utilizada em [OLIVEIRA, 2007], os documentos são representados vetorialmente e o peso dos termos é baseado em sua frequência nesses documentos. Dessa forma, dentro do contexto analisado, esse processo de extração de termos

63 61 Figura 11: Fase 1: o treinamento do classificador em três níveis de detalhamento. representantes de um documento pode ser desdobrado, conforme abordagem apresentada em [OLIVEIRA, 2007] em duas tarefas: as operações de texto e a geração do documento discriminante da classe, ilustradas na figura 11(b) Operações de Texto As operações de texto têm por finalidade produzir uma nova representação para o documento (ver seção 3.2), com um número reduzido de termos formado somente por aqueles relevantes a este documento, a fim de distingui-lo dos demais, quanto ao conteúdo. Conforme ilustrado na figura 11(c), as operações de texto em [OLIVEIRA, 2007] podem ser desdobradas em duas operações: a remoção de stopwords e filtragem dos termos de maior frequência nos documentos.

64 62 Remoção de stopwords: é o conjunto de operações onde são excluídos, para cada documento, seus termos sem relevância, como preposições, artigos e sinais de pontuação. O artigo [OLIVEIRA, 2007] não especifica precisamente quais termos foram considerados stopwords em sua abordagem. Em [OLIVEIRA, 2007], as stopwords são genericamente tratadas como artigos e preposições. Por conta disso, um critério para definição e remoção de stopwords teve que ser definido. No critério adotado, foram consideradas stopwords: caracteres de pontuação, números, palavras com até 2 caracteres e qualquer caractere não alfa-numérico. Além do mais, foi usada a lista predefinida de stopwords da língua portuguesa exibida na figura 12, obtida pela união das stopwords encontradas em [RANKS.NL] e [SPEEDBLOG]. A implementação desenvolvida para a remoção das stopwords se baseia na utilização de expressões regulares [FRIEDL, 2006] para tratar o texto de forma eficiente e concisa, como exemplifica o trecho de código apresentado na figura 13, responsável pela remoção de stopwords de um texto. Figura 12: Lista de stopwords da língua portuguesa adotada na implementação. Não é o objetivo aqui entrar nos detalhes referentes à sintaxe das expressões regulares, sendo importante somente destacar que o trecho código apresentado na linha 66 remove os caracteres de pontuação, os números, as palavras com até 2 caracteres e qualquer outro caractere não alfa-numérico do texto recebido na variável denominada textooriginal.

65 63 Após essa limpeza inicial no texto original, o texto resultante é convertido em uma lista de termos, os quais são, um a um, comparados à lista de stopwords apresentada na figura 12 e armazenada na variável stopwordsset (linha 75). Os termos do texto que não estejam presentes na listagem da figura stopwords 12 são agora retornados como uma lista, não mais como um bloco de texto. Figura 13: Implementação da remoção das stopwords de um texto. A filtragem de termos de maior frequência: um critério estabelecido na elaboação do classificador de [OLIVEIRA, 2007] foi, para cada documento, considerar somente os termos com frequência maior ou igual a 50% do termo com maior frequência presente no documento. Exemplificando, dada uma lista hipotética de termos de um determinado documento, obtida através do processo de remoção das stopwords do mesmo, e cujo termo de maior frequência apareça 4 vezes, somente os termos que possuírem frequência com valor maior ou igual a 2 (50%) serão considerados. Os demais serão descartados. A listagem 14 exibe o trecho de código implementado para aplicar essa filtragem na lista de termos resultante do processo de remoção das stopwords de um documento. Neste trecho de código, na linha 41 é obtido o valor da maior frequência entre os termos, e na linha 42 a frequência mínima que um termo tem que possuir para não ser descartado é estabelecida como sendo metade do valor da maior frequência (50%). Na linha 45, a filtragem é realizada e a lista de termos resultantes é retornada.

66 64 Figura 14: Implementação da filtragem dos termos mais frequentes em um documento. Esse trecho de código revela um detalhe fundamental exclusivo da estratégia de implementação aqui adotada, que é a criação de um índice para os termos dos documentos. O método FiltrarTermosMaisFrequentes não recebe uma lista de strings, que é o retorno do método RemoverStopWords, mas sim uma lista de objetos do tipo ItemDeIndice. Isso acontece porque, antes da realização da filtragem, a lista de termos retornada de RemoverStopWords é convertida em uma estrutura de índice, formada por uma lista de ItemDeIndice, onde um ItemDeIndice possui a estrutura demonstrada na figura 15. Figura 15: Implementação de um ItemDeIndice. Cada instância de ItemDeIndice contêm as seguintes informações: um termo (Termo), o documento (Doc) em que esse termo aparece e a frequência do termo no documento (Freq). A propriedade Doc, do tipo DocumentoDeTexto armazena, entre outras coisas, o caminho físico para um determinado documento, e não o texto completo do documento. Dessa forma, a lista de ItemDeIndice pode ser trabalhada na memória a um baixo custo, e no momento que o documento onde o Termo aparece precisar ser lido, o caminho físico contido na propriedade Doc (do tipo DocumentoDe- Texto) possibilita tal operação. Adicionalmente, como se está interessado somente na frequência de cada termo dentro do documento, e não nas posições onde esses termos aparecem, a transformação de uma lista de termos em uma lista de ItemDeIndice se mostra uma operação vantajosa, uma vez que agrupa os termos repetidos de uma lista de termos em um único ItemDeIndice, com a propriedade Freq correspondendo ao número de vezes que o termo aparece na lista original. Dessa forma cada vez que se queira obter a frequência de um termo em um documento, este não precisa ser

67 65 inteiramente lido novamente. Por exemplo, dado a lista de termos hipotética apresentada na figura 16, retornada da aplicação do método RemoverStopWords ao texto de um documento noticia1.txt, também hipotético. Figura 16: Lista hipotética de termos de um documento chamado notícia1.txt Depois de transformada, a lista de termos da figura 16 daria origem à lista de ItemDeIndice da figura 17. Figura 17: Lista de itens de índice formada a partir dos termos do texto notícia1.txt Na figura 17, vemos que para cada termo distinto da figura 16 um ItemDeIndice foi criado, contendo no campo Freq o número de ocorrências do termo correspondente. Esses ItemDeIndice serão muito importantes na geração dos documentos discriminantes das classes e também na geração dos vetores representantes dos documentos, usados para implementar o cálculo de similaridade no modelo vetorial Geração dos documentos discriminantes das classes Dados os itens de índice obtidos que foram obtidos através da aplicação das operações de texto em cada documento de determinada classe, o documento discriminante dessa classe deve ser gerado contendo a união dos termos presentes nos índices de todos os seus documentos. Isto é, cada termo distinto existente nos documentos da classe será armazenado no documento discriminante, uma única vez. Juntamente com cada termo, seu peso também deverá ser armazenado com o valor calculado igual ao o somatório das frequências do termo nos documentos da classe onde esse termo aparece. Exemplificando, supondo uma classe A, onde o termo sorte apareça 3 vezes em um doc 1, 2 vezes em um doc 2 e 5 vezes em um doc 3, esse termo (sorte) será armazenado no documento discriminante, e sua frequência será anotada como sendo 10 (3+2+5). De acordo com a implementação desenvolvida, a linha correspondente ao termo sorte no documento discriminante teria o seguinte formato:

68 66 Sorte:10 Afim de prover fácil acesso aos termos nos documentos, de modo que fosse fácil e direta essa contabilização das frequencias de cada termo em cada documento, bem como a contabilização do somatório das frequências de um termo em todos os documentos da classe onde ele aparece, foi usado, na implementação, um tipo de estrutura de índice, denominado Lista Invertida (ver seção 3.2). Na implementação desenvolvida, os ItemDeIndice são parte dessas estruturas, as Listas Invertidas Detalhe de Implementação - Lista Invertida A seção 3.2 já apresentou as Listas Invertidas como sendo um dos tipos de estruturas de dados mais utilizadas e mais eficientes para a criação de arquivos de índices, com o poder de indexar documentos por intermédio de seus termos representantes. A lógica por trás dessa estrutura é que, dentro dela, cada termo aponta para os documentos onde ele aparece. Dessa forma, caso seja necessário buscar todos os documentos onde um determinado termo esteja presente, nenhum documento precisa ser lido novamente em busca do termo, pois uma rápida consulta na entrada da lista invertida que corresponde a este termo apontará em quais documentos ele está presente. No contexto desse trabalho, as listas invertidas se mostraram um tipo de estrutura de dados fortemente eficaz, facilitando, principalmente, a geração dos arquivos discriminantes das classes. Listas invertidas na geração de documentos discriminantes Apesar de serem descritas em momentos distintos a fim de facilitar a explanação sobre essas etapas, as operações de texto e a geração do documento discriminante estão intimamente interligados, uma vez que, na implementação desenvolvida, o documento discriminante é gerado a partir de uma estrutura de índice (Lista Invertida) montada durante as operações de texto realizadas nos documentos. Ou seja, para cada classe será gerada uma lista invertida. Assim, para cada documento da classe, a cada novo termo analisado nas operações de texto, uma entrada correspondente àquele termo será criada na lista invertida da classe, caso já não exista. Caso a entrada correspondente ao termo já exista na lista invertida da classe, um ItemDeIndice correspondente ao termo será criado e inserido na lista invertida, contendo o termo, sua frequencia e o documento do qual faz parte.

69 67 Dessa forma, cada uma dessas entradas relacionadas aos termos apontará para uma lista de ItemDeIndice, ou seja, apontará para uma lista de documentos da classe onde esse termo ocorre. Uma lista invertida é, portanto, uma lista de listas. Um exemplo de lista invertida para uma determinada classe hipotética contendo os documentos noticia1.txt, noticia2.txt e noticia3.txt é apresentada na figura 18. Figura 18: Exemplo de lista invertida. Na figura, os diagramas laranjas correspondem às entradas da lista invertida relativas aos termos distintos encontrados nos documentos da classe, e os retângulos tracejados correspondem à lista de ItemDeIndice de cada termo. Pela observação do diagrama, percebe-se que o termo pessoa, por exemplo, aparece somente nos documentos noticia1.txt e noticia3.txt, com frequências 1 e 4 respectivamente. A lista invertida retratada na figura 18 possui comportamento semelhante a um hashtable [LOUNDON, 1999], que é uma estrutura de dados do tipo chave/valor.

70 68 Nas listas invertidas implementadas, os próprios termos de indexação são as chaves e as listas relativas a cada termo os valores associados a essas chaves. O que é fundamental perceber é que essa estrutura se adequa perfeitamente à tarefa de geração de um discriminante para uma classe. Para essa tarefa, é preciso: 1. A obtenção da lista de todos os termos distintos existentes nos documentos da classe: no caso da lista invertida apresentada, os termos distintos correspondem exatamente às chaves da lista invertida, como destaca a figura 19. Figura 19: As chaves da lista invertida definem os termos distintos existentes nos documentos da classe. Dessa forma, para se obter a lista de termos distintos indexados para a classe, basta que sejam percorridas as chaves da lista invertida. Esta operação corresponde ao passo 2.a.ii do algoritmo, conforme destaca figura 20.

71 69 Figura 20: Algoritmo - Obtenção de termos distintos nos documentos da classe. 2. O cálculo do peso de cada termo na classe: durante a montagem do discriminante, o peso de cada termo será obtido pela soma das frequências do termo nos documentos da classe onde esse termo aparece, pois, como já mencionado, a atribuição do peso de cada termo se baseia na contagem de sua frequência. Com o auxílio da lista invertida, essa tarefa se torna trivial, bastando, para cada termo (chave), percorrer sua lista de ItemDeIndice (valor), somando o valor do campo Freq de cada item, conforme ilustrado na figura 21. Figura 21: Cálculo do peso de um termo na classe, utilizando listas invertidas. O cálculo do peso de cada termo na classe corresponde ao passo 2.iii.1 do algoritmo, conforme destaca a figura 22. Esse processo é repetido para cada termo chave na lista invertida, sendo que ao fim desta operação, um arquivo.txt é gerado contendo a lista de termos distintos

72 70 Figura 22: Algoritmo - Cálculo do peso de um termo nas classes. da classe, com seus respectivos pesos associados anotados. Para a classe hipotética indexada pela lista invertida apresentada na figura 18, o documento discriminante gerado seria o da figura 23. Figura 23: Exemplo de documento discriminante. Nesse documento, cada linha representa um termo existente em um ou mais documentos da classe, seguido pelo seu peso, que é computado pela soma das frequências desse termo nos documentos da classe. Assim, no documento discriminante apresentado em 23, o termo morador, por exemplo, aparece 4 vezes

73 71 nos documentos da classe que deu origem a esse discriminante. Deve-se lembrar, que esses termos presentes no documento discriminante são aqueles que resultaram do processo de indexação que sofreram os documentos da classe. O documento discriminante da figura 23 é apresentado como um arquivo.txt exclusivamente para facilitar a didática e o entendimento, entretanto esse arquivo poderia ser gerado como um arquivo binário, o que, em um cenário real, traria facilidades em relação à leitura do arquivo e redução do espaço de armazenamento utilizado. A adoção da lista invertida como estrutura de indexação foi fundamental, uma vez que a montagem das listas invertidas para as classes automaticamente serviu para fazer a normalização dos termos existentes nos documentos das classes, de forma que os termos distintos para todos os documentos das classes fossem obtidos. De forma adicional, a facilidade proporcionada pela lista invertida no cálculo da frequência dos termos é muito significativa, uma vez que economiza a leitura desses arquivos diversas vezes, a fim de que a contagem dos termos seja realizada. Com a lista invertida, já é sabido em quais documentos um termo aparece, e qual a frequência desse termo em cada um desses documentos. Dessa forma, o cálculo da frequência se resume à soma dos itens de uma lista com comprimento máximo igual ao número de documentos da classe, conforme ilustrou a figura 21. Ainda durante a fase de treinamento do classificador, segundo a abordagem descrita em [OLIVEIRA, 2007], um ponto de corte (pc) é calculado para cada classe. No momento em que novos documentos estiverem sendo classificados (Fase 2), esses pontos de corte terão o objetivo de estabelecer a similaridade mínima que esses documentos deverão possuir com uma classe, para pertencê-la. A explicação detalhada desses pontos de corte será adiada até o capítulo 7. A figura 24 exibe uma versão mais refinada do algoritmo de classificação, destacando as tarefas recém-descritas: a geração dos documentos discriminantes (passo 2.a.iv) e o cálculo do ponto de corte das classes (2.a.v). A realização dessas duas tarefas encerram a primeira fase do processo de classificação, realizando o treinamento inicial no classificador. A próxima etapa é a classificação de novos documentos que chegam no corpus, em uma das classes prédefinidas pelo especialista humano.

74 72 Figura 24: Algoritmo: Cálculo do ponto de corte das classes, durante a fase de treinamento do classificador. 6.4 Fase 2: Classificação de novos documentos A classificação de novos documentos em uma classe é feita pelo cálculo da similaridade entre esses documentos e os documentos discriminantes das classes. Entretanto, uma estratégia precisa ser adotada de forma que esse cálculo de similaridade possa ser efetuado, e documentos possam ser comparados. Para isso, [OLIVEIRA, 2007] utiliza o modelo vetorial. Neste modelo, para saber quão similar um documento será a um discriminante, basta que seja calculado o cosseno do ângulo formado por dois vetores: o vetor que representa o novo documento e o vetor representativo do documento discriminante da classe (ver seção 4.3.4). Com essa metodologia, modelamos algebricamente os documentos como vetores e transformamos a comparação de documentos em um processo de cálculo. Dentro da fase de classificação propriamente dita, o primeiro passo, conforme demonstra o item 3.a da figura 24, é o cálculo da similaridade entre um documento e o discriminante de cada classe. Para isso, devido ao modelo adotado, o modelo vetorial, os documentos são representados como vetores e o produto escalar entre esses

75 73 vetores é utilzado para calcular o cosseno do ângulo formado por eles. O valor desse cosseno é que determinará o grau de similaridade entre eles (ver seção 4.3.4). No modelo vetorial, dado um vetor que represente um documento, cada índice desse vetor corresponde a um termo, e o valor associado as essse índices do vetor é determinado pela frequência do termo correspondente no documento. Com isso percebe-se que os vetores representantes dos documentos estão diretamente ligados ao processo de indexação, haja visto que esses vetores são gerados a partir dos termos relevantes ao documento e suas respectivas frequências, conforme descrito na seção Na seção 4.3.4, o cálculo de similaridade (produto escalar) entre vetores representantes de documentos foi demonstrado com vetores de mesmo comprimento. Essa é uma característica do produto escalar, que só pode ser calculado entre vetores pertencentes ao mesmo espaço vetorial [VENTURI]. O problema ocorre quando desejamos comparar dois documentos - a grande maioria dos casos - que após sofrerem o processo de indexação, geram vetores de comprimentos diferentes. Nestes casos, os vetores precisam ser normalizados Normalização dos vetores no cálculo de similaridade A normalização consiste no processo de igualar os tamanhos de dois vetores, a fim de que o produto escalar entre eles possa ser calculado. A figura 25 ilustra esse processo. Figura 25: Normalização do vetor B Além do mais, após a normalização, índices correspondentes nos dois vetores devem referenciar o mesmo termo. Para exemplificar, vamos supor a existência de dois vetores, o vetor A, onde o índice 0 (zero) armazena a frequência do termo casa e o vetor B, ao qual o vetor A terá sua similaridade comparada. Sendo assim, afim de que a comparação entre esses vetores possa ser efetuada corretamente, o vetor B também deve referenciar o mesmo termo casa no seu índice 0. O mesmo deve

76 74 acontentecer em todos os índices dos dois vetores. Analisando a figura 25, vemos que em um determinado documento A, representado vetorialmente pelo vetor A, o termo correspondente ao índice 0 aparece 2 vezes. Esse mesmo termo, no documento B representado pelo vetor B, aparece 4 vezes. Entretanto, pela figura, vê-se que os vetores A e B possuem comprimentos diferentes, e isso se dá pelo fato de que o termo correspondente ao índice 2 no vetor A, o qual aparece 7 vezes no documento que esse vetor representa, não aparece nenhuma vez no documento B, representado pelo vetor B. Com isso, a fim de que o produto escalar, e consequentemente a similaridade entre esses vetores(documentos) possa ser calculada, os mesmos precisam ser normalizados. No processo de normalização ilustrado na figura 25, o vetor B passa a ter comprimento 3 (o mesmo do vetor A), e esse novo índice adicionado na normalização é preenchido com valor 0 (zero), ou seja, o termo correspondente ao índice não aparece no documento B. Esse conceito está matematicamente descrito na seção É importante ressaltar que esse processo de normalização conduz a situações interessantes, não tão óbvias, e que precisam ser detalhadas. Um desses detalhes é o fato de que 2 vetores, mesmo possuindo o mesmo comprimento e o mesmo valor em cada índice, quando comparados, podem apresentar similaridade igual a zero, isto é, serem completamente diferentes. Isso ocorre nos casos em que todos os índices correspondentes nos 2 vetores dizem respeito a termos distintos. Figura 26: Exemplo de vetores aparentemente iguais. A figura 26 apresenta esse caso curioso, onde dois vetores possuem o mesmo comprimento e os mesmos valores em seus índices correspondentes, mas são diferentes. Uma análise rápida inicial poderia conduzir erroneamente à idéia de que quando comparados, esses vetores possuiriam 100% de similaridade, uma vez que possuem mesmo comprimento e valores. O ponto a ser observado é que, apesar dos vetores serem completamente iguais, seus índices correspondentes dizem respeito a termos completamente distintos (a figura assinala em cada índice o termo correspondente a fim de facilitar o entendimento da idéia apresentada). Por exemplo, no vetor A

77 75 o índice 0 diz respeito ao termo casa enquanto que no vetor B, esse mesmo índice diz respeito ao termo homem. Com isso, a fim de que possam ser comparados, esses vetores também necessitam ser normalizados, com o objetivo de fazer com que índices correspondentes estejam relacionados ao mesmo termo, tanto no vetor A, quanto no vetor B. A figura 27 ilustra essa operação, e como ficariam os vetores normalizados, prontos para serem comparados. Figura 27: Exemplo de dupla normalização. Após a normalização, os vetores A e B possuem mesmo comprimento, com cada par de índices correspondentes se relacionando ao mesmo termo. Por exemplo, o índice 3, tanto no vetor A quanto no vetor B agora dize respeito ao termo homem Geração de representação vetorial dos documentos Esta seção tem utilizado a representação vetorial dos documentos sem, no entanto, descrever como os vetores representantes de documentos foram obtidos. Neste processo de geração de vetores representantes para os documentos, as listas invertidas foram novamente fundamentais. Já foi demonstrado na seção 6.3.3, que através da iteração sobre os elementos da lista associada a cada termo chave da lista invertida, pode-se facilmente gerar o documento discriminante para uma classe. Esta seção, porém, demonstra que vetores podem ser criados para representar documentos, bastando para isso que a lista invertida seja percorrida de uma maneira diferente, como mostra a figura 28. Pela figura 28, vemos que elementos em posições correspondentes nas listas associadas a cada termo chave relacionam-se ao mesmo documento. Por exemplo, na lista associada ao termo morador, o primeiro elemento indica a frequência desse termo no documento noticia1.txt. Na lista associada ao termo casa, o primeiro elemento indica a frequência desse termo também no documento noticia1.txt, e assim sucessivamente.

78 76 Figura 28: Uso de listas invertidas para gerar o vetor representante do documento noticia1.txt. Com isso, percorrendo todos os primeiros elementos das listas, conseguimos obter a frequencia de cada termo no documento notícia1.txt, e com isso montar um vetor para representá-lo, em função da frequência dos seus termos, como mostra a figura 29, que ilustra o vetor representante obtido para o documento noticia1.txt. Figura 29: Vetor representante do documento noticia1.txt. Nesse processo de geração de vetores representantes para os documentos, se olharmos as listas em conjunto - tal como estão dispostas as informações na figura 28 - como uma tabela, veremos que cada coluna representa um documento. Assim, caso seja necessária a obtenção da representação de um dado documento, basta que seja percorrida, na lista invertida, sua coluna correspondente.

79 77 Dessa maneira, a estratégia de implementação utilizada para se obter a representação vetorial de um novo documento do corpus, que necessita ser classificado, foi a criação de uma lista invertida para esse documento, como se esse documento fosse o único de uma classe de documentos aguardando classificação. Com isso, a lista invertida para esse único documento possui uma única coluna, onde estão anotados os pesos de cada termo existente no documento, como ilustra a figura 30. Figura 30: Usando uma lista invertida para criar o vetor representante de um documento. Já para a obtenção da representação vetorial de um documento discriminante, visto que é conhecido o formato em que as informações foram escritas no discriminante, a recuperação das informações e a montagem do vetor se torna trivial. Neste tipo de documento, cada linha dará origem, no vetor, a um índice relativo a um termo, como mostra a figura 31.

80 78 Figura 31: Geração de um vetor representante para um documento discriminante Implementação do cálculo de similaridade Assim, uma vez obtidos os vetores que representam cada documento, e com o entendimento do processo de normalização a que os vetores devem passar, o cálculo da similaridade entre eles se resume a codificar a fórmula 4.5 (ver seção 4.3.4), que calcula o produto escalar entre dois vetores. Figura 32: Implementação do cálculo de similaridade entre dois vetores No trecho de código da figura 32, o primeiro passo após a normalização dos vetores, é o cálculo do produto escalar entre eles (linha 69). A implementação do produto escalar entre dois vetores é a codificação direta do numerador da fórmula 4.5, conforme apresenta a figura 33.

81 79 Figura 33: Implementação do cálculo do produto escalar entre dois vetores Nas linhas 70 e 71 do trecho de código da figura 32, o cálculo do módulo de cada vetor é efetuado, e o detalhamento dessa implementação é apresentado na figura 34. Figura 34: cáculo de móduo do vetor Por fim, a linha 72 realiza completamente a fórmula, dividindo o valor do produto escalar desses vetores pela multiplicação do módulo dos mesmos. O valor resultante é justamente o cosseno do ângulo formado por esses vetores, e varia entre 0 e 1. Esse valor obtido indica o grau de similaridade entre os dois vetores e consequentemente entre os documentos que lhes deram origem. Dessa forma, um valor obtido igual a 0.45 indicaria, por exemplo, um grau de similaridade de 45% entre os documentos. Por fim, encerrando a tarefa de classificação, para que um documento seja declarado como pertencente a uma classe, o valor de sua similaridade com a classe deve ser maior ou igual ao ponto de corte dessa classe. A figura 35 destaca toda essa fase de classificação de novos documentos em suas duas fases: o cálculo da similaridade entre os novos documentos e as classes, e a classificação propriamente dita desses documentos, através da comparação das similaridades obtidas com os pontos de corte das classes.

82 80 Figura 35: Algoritmo - Fase 2: classificação de novos documentos. Assim, neste capítulo, foi fornecida uma visão geral de quase toda a tarefa de classificação, segundo a abordagem do experimento desenvolvido em [OLIVEIRA, 2007]. Adicionalmente, foram discutidos detalhes relevantes que dizem respeito exclusivamente a como as idéias discutidas no artigo foram implementadas, objetivando a reprodução do mesmo. Dessa forma, foi destacado o uso das lista invertidas como elemento central da implementação desenvolvida, as quais foram utilizadas para gerar representações vetoriais para os documentos e gerar documentos discriminantes paras as classes. Ao mesmo tempo, durante todo o capítulo, um algoritmo para a tarefa de classificação também foi sendo gradativamente construído e refinado. Entretanto, com o intuito de validar tanto o algoritmo aqui proposto, quanto a estratégia de implementação utilizada, o classificador desenvolvido foi executado, e o resultado de sua operação foi comparada aos resultados obtidos em [OLIVEIRA, 2007], como veremos a seguir.

83 81 7 Validando o Classificador desenvolvido Este capítulo está dividido em duas partes. Na primeira delas, a seção 7.1, o experimento desenvolvido em [OLIVEIRA, 2007] será descrito em linhas gerais, e os resultados obtidos serão expostos e brevemente analisados. Com esses resultados, na segunda parte deste capítulo (seção 7.2), o classificador de documentos desenvolvido neste trabalho será testado. As idéias centrais e os detalhes de implementação para esse classificador foram apresentadas no capítulo 6. Agora, estamos interessados em validá-lo. Dentro do contexto desse trabalho, validar o classificador aqui desenvolvido significa testar se ele se comporta conforme o classificador do artigo [OLIVEIRA, 2007], uma vez que, em um primeiro instante, o que está sendo feito é a reprodução do experimento ali desenvolvido. A forma que temos de fazer essa validação é submeter nosso classificador à mesma tarefa de classificação descrita no experimento de [OLIVEIRA, 2007], e isso significa treiná-lo da mesma maneira e ordenálo a classificar os mesmos documentos. Com isso, espera-se que resultados semelhantes sejam obtidos, com os documentos sendo classificados nas mesmas classes com graus de similaridade o mais próximo possível dos obtidos em [OLIVEIRA, 2007]. 7.1 Descrevendo o experimento original No experimento de [OLIVEIRA, 2007], foi utilizado o repositório de notícias RSS [RSS Specification] do UOL para a obtenção dos documentos usados na realização da tarefa de classificação. Esse repositório do UOL foi escolhido devido [...] ao fato de caracterizar-se como uma boa fonte de documentos publicamente disponíveis e já classificados por especialistas humanos. [OLIVEIRA, 2007, p.88] Justamente por já estarem previamente classificadas pelo especialista humano, essas notícias (documentos) podem ser usadas para realizar o treinamento do classi-

84 82 ficador, conforme o passo 1 do algoritmo proposto anteriormente na figura 9. Além do mais, também será possível [...] comparar os resultados da classificação de documentos produzidos em nossos experimentos com os existentes no repositório. [OLIVEIRA, 2007, p.88] Assim, para seu experimento, [OLIVEIRA, 2007] escolheu cinco documentos de notícias sobre três assuntos (classes) diferentes: Economia (eco), Esporte (esp) e Cinema (cin). A tabela 36 exibe a lista de hyperlinks onde esses documentos podem ser encontrados. Figura 36: Hyperlinks das notícias usadas por [OLIVEIRA, 2007] na tarefa de classificação. Em [OLIVEIRA, 2007], esses documentos da tabela 36 foram, inicialmente, indexados através da remoção de suas stopwords e, posteriormente, para cada uma das classes, foi gerado [...] um documento artificial(discriminante) contendo somente os termos cuja frequência seja de pelo menos 50% da frequência do termo que mais ocorre no documento. [OLIVEIRA, 2007, p.88] Em outras palavras, de acordo com a abordagem usada em [OLIVEIRA, 2007], o classificador foi treinado. Aqui também podemos identificar os passos do algoritmo exibidos anteriormente na figura 10, como a remoção de stopwords, a filtragem de termos mais frequentes e a geração do discriminante.

85 83 Prosseguindo, uma vez gerados os discriminantes das classes, a estratégia adotada em [OLIVEIRA, 2007] para testar seu classificador foi submeter os mesmos documentos pré-classificados pelo especialista humano ao seu sistema de classificação. Sendo assim, para cada documento da tabela 36 foi gerado um vetor, que teve a similaridade comparada, através do cálculo do produto escalar, aos vetores representantes dos documentos discriminantes das classes, conforme designa o modelo vetorial. A tabela 5 expõe os resultados obtidos por [OLIVEIRA, 2007]. Classes de documentos Cinema Economia Esporte cin cin cin cin cin eco eco eco eco eco esp esp esp esp esp Tabela 5: Similaridades obtidas entre os documentos analisados e os discriminantes das classes. Na tabela 5, as colunas Cinema, Economia e Esporte representam os documentos discriminantes para essas classes, e as linhas representam cada um dos documentos apresentados na tabela 36, utilizados no experimento. A percepção imediata obtida a partir da leitura desses resultados é que os documentos de uma classe se agrupam com mais alto grau de similaridade em torno dos documentos discriminantes de sua classe. Entretanto, afim de efetivamente se estabelecer um parâmetro para decidir se um documento pertence ou não a uma classe, a estratégia usada por [OLIVEIRA, 2007] foi a adoção de um ponto de corte (pc). A seção 6.4 e a figura 24 correspondente ao algoritmo da fase de treinamento do classificador já mencionaram a existência do cálculo do ponto de corte para as classes, efetuado com o objetivo de estabeler uma

86 84 similaridade mínima entre um documento e uma classe para que o documento seja considerado pertencente à classe. Porém, o detalhamento de como esse ponto de corte é calculado foi omitido, sendo adiado até o presente momento, devido ao fato de ser mais elucidativa a sua explicação quando há um conjunto de dados como os da tabela 5, que apresenta o valor das similaridades entres os documentos e as classes Calculando o ponto de corte (pc) das classes Tal como adotado em [OLIVEIRA, 2007], o primeiro passo no cálculo do ponto de corte pc de uma classe qualquer é considerar a média m c, onde c é a classe cujo pc está sendo calculado. O valor de m c é obtido através da soma das similaridades dos documentos da classe em relação ao discriminante, dividida pelo número total de documentos da classe. Por exemplo, na classe Economia, existem cinco documentos corretamente classificados, e por conseguinte, sua média é calculada como mostra a fórmula 7.1 a seguir. m economia = = 0.49 (7.1) O passo seguinte em direção a se obter um limite inferior de similaridade que representará o ponto de corte da classe é o cálculo do desvio padrão, conforme a fórmula 7.2. ( (d1 m c ) 2 + (d 2 m c ) (d n m n ) 2 ) 1/2 dp = (7.2) n Por fim, o ponto de corte pc é calculado como sendo a média obtida para a classe menos o seu desvio padrão: pc = m c dp = (7.3) Dessa maneira, a partir das similaridades apresentadas na tabela 5, a tabela 6 exibe o valor do ponto de corte, calculado para cada uma das classes. Com essa tabela, conseguimos decidir, por exemplo, que o documento cin2 pertence à classe Cinema, devido a sua similaridade de com esta classe, e não à classe Esporte, pois o ponto de corte da classe Esporte exigiria que o documento tivesse um grau de similaridade maior que 0.384, e no entanto, o valor da similaridade desse documento a classe Esporte é de apenas Em outros casos, o classifi-

87 85 Ponto de Corte para as Classes Cinema Economia Esporte pc Tabela 6: Valor do ponto de corte calculado para cada uma das classes do experimento de [OLIVEIRA, 2007]. cador não pôde dar certeza da classe a qual o documento pertence, como é o caso do documento esp5, que estaria fora da classe Esporte por apresentar um grau de similaridade inferior ao ponto de corte dessa classe. Segundo [OLIVEIRA, 2007], esse é um exemplo daqueles casos onde seria necessário a intervenção do especialista humano, com a missão de fazer a decisão final. Entretanto, o ponto chave a se observar é que, mesmo nesses casos em que não se pode decidir com certeza a que classe um documento pertence, o classificador automático desenvolvido em [OLIVEIRA, 2007] atua fazendo uma pré-análise que indica sugestões de quais documentos deveriam pertencer a quais classes, facilitando assim, a tomada de decisão dos especialistas. 7.2 Submetendo o classificador à prova Na seção 7.1, a metodologia e os resultados obtidos em [OLIVEIRA, 2007] foram brevemente apresentados. O próximo passo será, justamente, reproduzir a execução de seu experimento, utilizando o classificador desenvolvido no corrente trabalho para classificar o mesmo corpus de documentos da tabela 36. Porém, durante a realização do corrente experimento, foi verificado que um desses documentos já não é mais encontrado no endereço apontado. Por conta disso, o documento esp2 foi substituído por outro, encontrado no endereço < Curiosamente, esp2 era o único documento que não foi obtido, por motivos desconhecidos, no RSS de notícias do UOL. Porém, seguindo o mesmo critério adotado para todos os outros documentos, esse novo documento também foi obtido no repositório do UOL.

88 Fase 1: Treinamento do Classificador Assim, os documentos foram apresentados ao classificador, inicialmente com o objetivo de treiná-lo. Como resultado desse treinamento, para cada classe, o classificador gerou um documento discriminante. As figuras 37, 38 e 39 demonstram esses documentos discriminantes gerados como saída do processo de treinamento do classificador. Figura 37: Documento discriminante gerado para a classe Cinema. Figura 38: Documento discriminante gerado para a classe Esporte.

89 87 Figura 39: Documento discriminante gerado para a classe Economia. Nesses documentos discriminantes, cada linha representa um termo encontrado em um dos documentos da classe, juntamente com seu peso computado. Na implementação proposta, como já descrito na seção 6.3.3, a geração desses discriminantes é feita a partir das listas invertidas geradas para cada classe. Assim, com o objetivo de demonstrar a execução prática do que foi descrito e teorizado no capítulo 6, para cada lista invertida usada neste processo de geração dos discriminantes foi gerado um arquivo.txt. Esses arquivos.txt foram formatados de forma a representar textualmente cada uma das listas invertidas, que existem somente como objetos na memória do computador. Essas representações textuais das listas serão usadas para exemplificar como os documentos discriminantes apresentados nas figuras 37, 38 e 39 foram gerados. Com o objetivo de evitar a repetição, será apresentado somente o documento que representa a lista invertida da classe Esporte, na figura 40, onde podemos constatar que, para essa classe, foram indexados 5 documentos, e que ao final desse processo, 19 termos distintos foram obtidos. Pela figura, também é possível ver que apenas o termo campeonato aparece em mais de um documento da classe: 2 vezes em cada um dos documentos esp1.txt e esp4.txt. O documento da figura 40 ilustra bem a idéia por trás da estrutura de uma lista invertida (ver seção 3.2) que é o fato de cada termo apontar somente para os documentos onde ele aparece. Entretanto, com o objetivo de melhor demonstrar a geração dos arquivos discriminantes, foi gerada uma representação tabular normalizada da lista invertida, para que fosse explicitada a relação de todos os termos com todos os documentos. Com isso, a lista invertida da figura 40 foi representada como uma tabela, e nos documentos onde um determinado termo não ocorre, a frequência (peso) desse termo foi assinalada com zero. A figura 41 ilustra essa idéia.

90 88 Figura 40: Representação textual da lista invertida da classe Esporte. Figura 41: Representação tabular da lista invertida mostrando a relação de todos os termos com todos os documentos. A partir da representação tabular da lista invertida fica fácil entender o processo de geração do discriminante da classe Esporte encontrado na figura 38. Em primeiro lugar, vemos que os termos distintos encontrados nesse discriminante são exatamente os termos chave da lista invertida, conforme explica a seção e ilustra, para este caso, a figura 42. Usando a figura 41, também podemos constatar que o peso de cada termo no documento discriminante é calculado pela soma das frequências desse termo nos documentos onde ele ocorre.

91 89 Figura 42: Os termos chave da lista invertida dando origem aos termos do documento discriminante. Por exemplo, a figura 43 ilustra o cálculo do peso do termo campeonato, obtido pela soma das ocorrências desse termo nos documentos esp1.txt e esp4.txt, onde ele aparece (2+2=4). Figura 43: Cálculo do peso do termo campeonato, obtido pela soma das frequencias desse termo nos documentos esp1.txt e esp4.txt, onde ele aparece Fase 2: Classificação de novos documentos Assim como em [OLIVEIRA, 2007], uma vez treinado o classificador e gerados os discriminantes das classes, os documentos da tabela 36 foram submetidos ao nosso classificador e os resultados obtidos foram dispostos na tabela 7.

92 90 Classes de documentos Cinema Economia Esporte cin cin cin cin cin eco eco eco eco eco esp esp esp esp esp Tabela 7: Similaridades obtidas entre os documentos analisados e os discriminantes das classes. Da mesma maneira, os pontos de corte para cada classe foram calculados, conforme a seção A tabela 8 exibe os valores dos pontos de corte obtidos. Ponto de Corte para as Classes Cinema Economia Esporte pc Tabela 8: Valor do ponto de corte calculado para cada uma das classes do experimento aqui desenvolvido. A comparação dos resultados obtidos em [OLIVEIRA, 2007] (tabela 5) e os resultados conseguidos no nosso experimento (tabela 7) demonstram, à princípio, que ambos apresentaram valores aparentemente muito próximos, com o experimento de [OLIVEIRA, 2007] conseguindo classificar corretamente 13 dos 15 documentos, contra 12 dos 15 no nosso experimento. Entretanto, fomos além de simplesmente comparar visualmente os resultados obtidos. Com o objetivo de garantir matematicamente o sucesso da reprodução do experimento, aos conjuntos de dados obtidos como resultado dos dois experimentos em questão, uma técnica estatística denominada teste t-pareado [Van Reeuwijk, 1998] foi empregada.

93 91 Os testes t-pareados fazem parte de um ramo da estatística denominado Testes de Hipótese, e são comumente utilizados quando dois métodos - o experimento de [OLIVEIRA, 2007] e o nosso experimento - são comparados utilizando a mesma amostra, no nosso caso, os documentos da tabela 36. Não é o objetivo aqui descrever e detalhar os cálculos efetuados nos testes t-pareados, sendo importante entender que estes testes buscam verificar se dois conjuntos de dados são semelhantes ou diferentes, comparando seus desvios-padrão e suas médias [SANTOS]. Por consequência, é possível determinar se a diferença encontrada entre os valores desses dois grupos é estatisticamente significante ou não, a fim de diferenciá-los. Assim, através da aplicação desses testes, estaremos aptos a determinar se os resultados obtidos no nosso experimento e no experimento de [OLIVEIRA, 2007] são, estatisticamente falando, iguais. O teste t-pareado pressupõe a existencia de duas hipóteses: 1. Hipótese Nula (H0): assume que a diferença entre as médias dos grupos é zero, isto é, não há diferença entre eles. 2. Hipótese Alternativa (Ha): assume que a diferença dos grupos é diferente de zero, isto é, há diferença entre eles. Se a hipótese nula for aceita, quer dizer que não há diferença entre os conjuntos de dados. Assim, o que o teste tem que fazer é verificar se a média das diferenças entre os dados desvia significativamente de zero ou não. Nos testes de hipótese, um erro comum é rejeitarmos H0 quando H0 é verdadeira e deveria assim, ser aceita. Em outras palavras, esse tipo de erro significa considerar dois grupos como sendo diferentes quando na verdade eles são iguais. Na estatística, a probabilidade de que esse tipo de erro seja cometido é chamada de nível de significância. O nível de significância é geralmente determinado pelo pesquisador antes da coleta dos dados, mas é tradicionalmente fixado em 0.05 em muitas aplicações da estatística. Esse valor de nível de significância tradicioanal é que será usado nos nossos testes. Dessa forma, à partir das médias e dos desvios-padrão dos grupos sendo comparados, o que o teste t-pareado faz é calcular um valor denominado t-valor. Com esse t-valor, considerando o nível de significância adotado e o tamanho dos conjuntos de dados, podemos dizer se estes são iguais ou não.

94 92 Existem diversas ferramentas online desenvolvidas para a realização de testes t- pareados, sendo que para nossos testes utilizamos a ferramenta disponibilizada no endereço < no item de menu t-tests e Procedures. Visto que os testes t-pareados trabalham par-a-par nos valores dos grupos de dados sendo testados, adotamos a estratégia de, nos nossos testes, compararmos os grupos classe-a-classe. Assim, a coluna relativa a Cinema na tabela 5 foi considerada como um grupo e comparada com a coluna correspondente na tabela 7, e assim sucessivamante. Para cada par de colunas (classes) sendo comparadas, um t-valor foi obtido. A tabela 9 exibe os t-valores obtidos nos testes de comparação entre as classes correspondentes (pares de colunas) nos dois conjuntos de dados. T-valor para cada uma das classes comparadas Cinema Economia Esporte t-valor Tabela 9: T-valor obtido pela comparação dos dados relativos a classes correspondentes nos dados da figura 5 e 7. Essa tabela significa que, por exemplo, quando testamos os valores da coluna Esporte da tabela 5 contra os valores da coluna Esporte da tabela 7, obtivemos um T-valor igual Por fim, para que seja definido se a hipótese nula é aceita ou não, isto é, se há ou não diferença entre os grupos de dados comparados, o t-valor calculado deve ser, em módulo, menor ou igual a um determinado valor crítico, que depende do tamanho do conjunto de dados e do nível de significância adotado para o teste. Esses valores críticos são tabelados, sendo que a tabela 10 [LANE, 2007] exibe os valores críticos para grupos de dados contendo entre 10 e 19 valores, comparados por testes que utilizam um nível de significância igual a Na tabela 10, a coluna df é obtida como sendo N-1, onde N é o tamanho dos conjuntos de dados sendo comparados.

95 93 df Tabela 10: Tabela de valores críticos para grupos de dados contendo entre 10 e 19 valores, considerando um nível de significância igual a 0.05 Dessa maneira, como nossos grupos de dados são as colunas das tabelas 5 e 7, que possuem cada uma 15 valores, nos nossos testes, o valor calculado para df é: d f = N 1 = 15 1 = 14 (7.4) Recorrendo a tabela 10, vemos que para df = 14, o valor crítico correspondente é Dessa forma, para que nossa hipótese nula (H0) seja aceita, e por consequência consigamos provar a validade de nosso experimento, o t-valor obtido para cada classe deve ser, em módulo, menor ou igual a Assim, utilizando os t-valores da tabela 9 e o valor crítico encontrado, temos: 0.21 < Hipótese Nula aceita 1.11 < Hipótese Nula aceita < Hipótese Nula aceita Dessa forma, vemos que a Hipótese Nula é aceita para todos os grupos comparados, ou seja, a amostra não fornece evidência estatística de diferença entre o experimento de [OLIVEIRA, 2007] e o nosso. Com isso garatimos formalmente que as variações encontradas entre os valores nos resultados dos dois experimentos não são suficiemente significantes para diferenciá-los. Esse veredito matemático encerra o nosso primeiro objetivo que é a reprodução do experimento apresentado em [OLIVEIRA, 2007], porém, algumas considerações precisam ser feitas.

96 Considerações a respeito dos resultados obtidos É importante ressaltar que, apesar de semelhantes, os dois experimentos apresentaram algumas variações, como o fato de o experimento em [OLIVEIRA, 2007] conseguir classificar 13 documentos, contra 12 do nosso experimento. Em contrapartida, no classificador desenvolvido neste trabalho, os graus de similaridade entre os documentos e as classes a que eles pertencem apresentaram, em geral, valores maiores do que os obtidos por [OLIVEIRA, 2007]. A figura 44 assinala os documentos do nosso experimento onde conseguimos obter maior grau de similaridade do documento com a sua respectiva classe. Figura 44: Comparativo entre os resultados obtidos no nosso experimento(à esquerda) e no experimento de [OLIVEIRA, 2007] (à direita). Pela figura, vemos que esse comportamento ocorreu em 10, dos 15 documentos (66%) submetidos ao classificador. Isso significa que, para esses documentos, conseguimos garantir maior eficiência em demonstrar que o documento se assemelha à sua classe. Também pela figura 44, podemos constatar que, no nosso experimento, os documentos pertencentes a uma classe apresentaram algum grau de similaridade somente a esta classe. Para as outras classes a similaridade encontrada foi O mesmo não acontece nos resultados observados no experimento de [OLIVEIRA, 2007] onde, por exemplo, o documento cin2.txt apresentou similaridade igual com a classe Esporte e o documento esp4.txt teve similaridade 0.01 com a classe Economia. Isso nos leva a supor, pela observação, que nosso algoritmo possui características mais restritivas ou severas em relação ao processo de classificação. Dessa maneira, no nosso experimento, os pontos de similaridade são valorizados, conforme

97 95 demonstram as altas similaridades obtidas, em relação àquelas obtidas por [OLIVEIRA, 2007]. Entretanto, por outro lado, devido à este suposto rigor, parece haver uma menor tolerância aos pontos onde a similaridade é baixa, acentuando assim, a dissimilaridade evidenciada nestes pontos. Por conta dessas características do nosso algoritmo, acreditamos ver resultados como o do documento cin5.txt, que não pôde ser garantido na classe Cinema, além da questão já mencionada dos documentos só apresentarem algum grau de similaridade com suas respectivas classes. Uma breve consideração que deve ser feita a respeito dos resultados obtidos para a classe Esporte. Pela figura 44 vemos que essa é a classe onde os valores apresentaram maior dispersão em relação aos valores obtidos na classe correspondente nos resultados de [OLIVEIRA, 2007]. Isso se deve, como mencionado na seção 7.2, ao fato de que o documento esp3.txt não pôde ser encontrado e teve que ser substituido. Dessa forma, a presença de um documento diferente no corpus alterou a geração do discriminante e consequentemente impactou no processo de classificação. Dessa forma, o classificador de [OLIVEIRA, 2007] parece se mostrar mais tolerante em relação à tarefa de classificação. Analisando o que dispomos de informações a respeito de como o experimento em [OLIVEIRA, 2007] foi desenvolvido, juntamente com o estudo da implementação do nosso classificador, um dos pontos que se mostra candidato a causar essa aparente diferença em relação ao comportamento dos dois classificadores é justamente a etapa de indexação, mais precisamente a remoção de stopwords. Em [OLIVEIRA, 2007], não foi detalhado o processo que faz a remoção de stopwords, já que o artigo restringe-se a dizer que, como stopwords, foram consideradas os termos sem importância semântica, no caso, os artigos e preposições. Essa falta de precisão em relação à definição do que sejam termos sem importância, em [OLIVEIRA, 2007], deu abertura à utilização do nosso próprio critério na construção das regras para o definir o que são, e o que não são stopwords. Assim, considerando a relevância semântica dos termos dentro dos textos, uma série de critérios foram estabelecidos ( ver seção 6.3.1) e uma lista grande de stopwords da língua portuguesa foi utilizada. Dessa forma, esse alto grau de precisão e exigência nas escolhas das stopwords parece ser um dos fatores que tornam o nosso classificador, menos tolerante e mais preciso do que o classificador de [OLIVEIRA, 2007]. Parece sensato desconfiarmos do processo de indexação como sendo responsável pelas ligeiras variações apresentadas nos resultados obtidos para os dois classificadores. Isso é dito porque, uma vez que o cálculo da similaridade em si é um pro-

98 96 cesso matemático exato e imutável, a nossa desconfiança recai sobre a forma como os vetores representantes dos documentos usados nesse cálculo foram gerados, ou seja, a indexação desses documentos. Por fim, é importante ressaltar que ainda é cedo para determinar qual dos dois classificadores é mais eficiente: o mais flexível ou o mais preciso. Tampouco é o nosso objetivo fazê-lo. Para que tal afirmação pudesse ser feita, até mesmo para que houvesse uma maior confirmação do comportamento dos classificadores, seria necessário uma série de testes mais profundos, que englobassem um corpus de documento maior, bem como a análise dos pontos de implementação discutidas anteriormente, como o processo de indexação. Contudo, fica assim sugerida uma proposta para o desenvolvimento de trabalhos futuros.

99 97 8 Adicionando o cálculo da IDF à tarefa de classificação O levantamento das fundamentações teóricas e o entendimento obtido sobre os conceitos, técnicas e metodologia utilizados por [OLIVEIRA, 2007], lançaram as bases para a reprodução do seu experimento no corrente estudo (capítulos 6 e 7) e ao mesmo tempo esclareceram pontos onde possíveis melhorias poderiam ser adicionadas. Um desses pontos aparece justamente na abordagem utilizada por [OLIVEIRA, 2007] para efetuar, no processo de indexação, o cálculo do peso associado a cada termo. Essa abordagem adotada somente considera a frequência dos termos dentro de cada documento onde aparecem, visto que atribui arbitrariamente valor igual a 1 à IDF de todos os termos indexados. Dessa maneira, considerar a mesma relevância para todos os termos em relação ao conjunto total de documentos, equivale a desconsiderá-la. O que se está querendo dizer é que arbitrar o mesmo valor à IDF de todos os termos do corpus anula a capacidade do IDF de particularizar a relação que cada termo possui com o conjunto total de documentos. Dessa forma, afim de se comprovar essa afirmação, uma pequena bateria de testes foi realizada através da arbitração dos valores 1, 2.5, 5, 7 e 8.23 (um por teste) à IDF de todos os termos dos documentos. Como já esperado, os resultados obtidos em todos os testes foram os mesmos, sendo exatamente iguais àqueles encontrados para o valor da IDF = 1, já apresentados na tabela 7. Com isso, demonstrou-se que possuir o mesmo valor de IDF atribuído simultaneamente a todos os termos não altera os valores obtidos no cálculo da similaridade entre os documentos. Isso ocorre porque, quando multiplicamos cada posição de um vetor por uma constante (no caso o valor arbitrado à IDF ) estamos alterando somente o módulo desse vetor, e não o seu ângulo. Dessa maneira, como a similaridade é obtida através do cosseno do ângulo formado por dois vetores, se o ângulo entre eles não muda, a similaridade também não muda [VENTURI]. Ou seja, dentro desse con-

100 98 texto, vetores múltiplos são intercambiáveis, como mostra a figura 45, onde os vetores múltiplos u e 2u formam o mesmo ângulo Θ = com o vetor v. Figura 45: Vetores múltiplos são intercambiáveis no cálculo de similaridade. Voltando à abordagem de [OLIVEIRA, 2007], supondo o caso onde houvessem dois termos, em que o primeiro aparecesse somente em um documento, e o segundo em todos, arbitrar 1 à IDF desses dois termos implicitamente equivale a dizer que ambos estão presentes em 10% dos documentos do corpus (vide seção 4.3.3), possuindo, por consequência, a mesma relação com o conjuto total de documentos, o que, neste caso, não é verdade. Essa estratégia foi adotada, segundo [OLIVEIRA, 2007], com o objetivo de facilitar o entendimento do exemplo exposto no arquivo, simplificando de forma pertinente o processo de atribuição de pesos aos termos na construção dos vetores representantes dos documentos. Entretanto, por consequência dessa simplificação, os possíveis ganhos obtidos através da ponderação da relevância de cada termo em relação ao conjunto de documentos do corpus foram desconsiderados. Em outras palavras, o estudo realizado em [OLIVEIRA, 2007] não contempla a influência do cálculo da IDF no processo de recuperação e classificação e é justamente esse um dos pontos de análise aqui propostos, onde será efetuada uma reformulação dessa abordagem - de forma a contemplar o cálculo da IDF - concomitantemente com a análise comparativa entre o resultado obtido em [OLIVEIRA, 2007] e os resultados, já considerando o cálculo do IDF, obtidos no corrente estudo. O objetivo dessa parte do trabalho é, portanto, experimentar

101 99 a utilização da IDF na atribuição dos pesos aos termos dos documentos, verificando como essa utilização pode impactar na eficiência da tarefa de classificação. 8.1 Adequando o cálculo da IDF ao contexto do corrente estudo O peso que um termo assume na representação vetorial de um documento, conforme já foi explicado na seção 4.3.3, é baseado na sua frequência e calculado através da fórmula 8.1, onde N é o número total de documentos no corpus e n i o número de documentos nos quais o termo indexado k i aparece. w i,j = TF IDF w i,j = f i,j log N n i (8.1) Nesse cálculo apresentado na fórmula 8.1, o primeiro fator da multiplicação ( f i,j ), também denominado de TF factor, é computado pela frequência bruta do termo i no documento j (Term Frequency), e provê uma medida de quão bem esse termo descreve o conteúdo do documento. Já o segundo fator da multiplicação corresponde ao cáculo da IDF (Inverse Document Frequency), sendo também conhecido como IDF factor [BAEZA-YATES, 1999]. A fórmula 8.2 mostra o cálculo do IDF isoladamente. IDF i = log N n i (8.2) Considerar a IDF no cálculo do peso dos termos [...] coloca uma ênfase maior sobre a relevância de um termo como meio de distinguir um documento de outro, do que sua relevância em indicar o conteúdo do próprio documento. [JONES, 2004, p.6, tradução nossa]. Por essa definição (ver seção 4.3.3), quanto mais um termo aparece em um número maior de documentos, mais seu IDF se aproxima de zero, ou seja, a relevância desse termo para distinguir documentos diminui, visto que o valor de n N i se aproxima de 1, cujo log é 0 (zero). Dentro do nosso contexto, os documentos que queremos distinguir são justamente os discriminantes das classes nos quais se baseia a tarefa de classificação, tal como proposta por [OLIVEIRA, 2007]. Saber a relevância que os termos existentes nos discriminantes possuem em relação ao conjunto total de documentos discriminates é equivalente a saber a relevância que cada termo possui em relação ao conjunto

102 100 total das classes que esses discriminates representam. Calcular essa relevância é importante, uma vez que é pela análise dos termos dos novos documentos que é possível dizer, através do cálculo de similaridade, a qual classe (discriminante) esses documentos se assemelham. Por conta disso, na nossa abordagem, considerando que cada classe possui obrigatoriamente um único discriminante que a representa, N será o número total de documentos discriminates (classes), e n i será o número de discriminantes em que o termo i ocorre. Com isso, estamos interessados no poder dos termos de diferenciar classes de documentos, pois caso um termo ocorra somente em uma determinada classe, esse termo será extremamente relevante na caracterização dessa classe, no sentido de diferenciá-la das demais. Por conseguinte, à medida que a ocorrência desse termo se disperse por outras classes, essa relevância irá diminuir proporcionalemente. Sendo assim, com o objtivo de contextualizar a definição original da IDF à abordagem utilizada por [OLIVEIRA, 2007], o cálculo do IDF foi incorporado ao processo de geração dos discriminantes das classes, sendo que quanto mais um termo aparece em um número maior de documentos discriminantes, mais o seu IDF se aproxima de zero, ou seja, a relevância desse termo para caracterizar classes diminui, pois o valor de n N i se aproxima de 1, cujo log é 0 (zero). Na geração dos documentos discriminates, após a inserção do cálculo do IDF no processo de atribuição de pesos aos termos, uma série de testes foi iniciada afim de se verificar o impacto dessa mudança. Antes de descrever esses testes, uma observação, contudo, se faz necessária. Apesar de não dispormos do classificador de [OLIVEIRA, 2007] para a realização e comparação de eventuais testes realizados com grupos de documentos diferentes daqueles apresentados na tabela 36, uma vez que seu classificador já foi reproduzido, e a validação matemática dessa reprodução foi conseguida (ver seção 7.2.2), de agora em diante o classificador que foi aqui desenvolvido substituirá o classificador de [OLIVEIRA, 2007], visto que, como já comprovado, os resultados obtidos em um e em outro são, estatisticamente falando, os mesmos. Dessa forma, estamos aptos a realizar os testes que tem por objetivo analisar o impacto da adição da IDF, sendo que nesses testes, os resultados obtidos com a utilização do classificador que não contempla o cálculo do IDF serão considerados como aqueles que seriam obtidos por [OLIVEIRA, 2007].

103 8.2 Primeiro Teste - Considerando o cálculo da IDF no experimento original 101 No primeiro teste realizado, o mesmo conjunto de documentos da tabela 36 foi usado para treinar o classificador, só que agora, a geração dos discriminantes e a definição dos pontos de corte (pc) levaram em consideração a relevância de cada termo em relação às classes como um todo. Em seguida, esses mesmos documentos da tabela 36 foram submetidos ao processo de classificação, em abordagem idêntica àquela descrita na seção Os resultados encontrados nessa bateria de testes foram exatamente iguais àqueles obtidos por [OLIVEIRA, 2007] - onde a IDF não foi considerada - e exibidos anteriomente na tabela 7. Em resumo, para esse cenário, a adição da IDF não impactou em nada no resultado da clasificação. Com a intenção de se obter o entendimento das causas desse resultado, os documentos discriminantes das classes foram investigados, e descobriu-se que os termos desses documentos eram mutualmente exclusivos entre as classes, não havendo nenhum termo que se repetisse por mais de um discriminante. Os documentos discriminantes das classes mostrados anteriormente nas figuras 37, 39 e 38 demonstram esse fato. Considerando a definição da IDF, esse resultado inicial faz sentido. Visto que não há termos que se repetem ao mesmo tempo em mais de um discriminante (classe), para todos os termos, n i será igual a 1 (a única classe onde ele ocorre). Dessa forma, como N representa o número de discriminantes existentes (no caso 4), o valor da IDF será sempre a mesma constante log 4 1 = 0.60 para todos os termos do corpus. Como a seção 8 já demonstrou, a atribuição da mesma IDF simultaneamente a todos os termos não altera o resultado da similaridade, o que explica o resultado obtido no teste. A inferência feita a partir dos resultados desse teste inicial é que, em virtude da baixa quantidade de documentos analisados e também do tamanho reduzido desses documentos, os discriminantes gerados para as classes não apresentaram naturalmente as características que permitiriam o impacto da adição da IDF ser percebido e estudado. Por conta disso, afim de que fosse possível simular o cenário desejado, optou-se por fazer alterações pontuais nesses documentos, através da inserção de termos específicos em alguns deles. Através desses testes controlados, o conhecimento de quais documentos foram modificados e como foram modificados tornou possível, também de forma pontual, o mapeamento dessas modificações nos resultados obser-

104 102 vados. Como vantagem, nuances puderam ser captadas e entendidas, o que seria mais difícil de ser feito em um teste de massa, conforme veremos a seguir. 8.3 Modificando o experimento original Analisando os documentos discriminantes das classes, verificou-se que o termo pontos aparece somente no discrinante de Economia. Assim, com o intuito de se verificar o efeito da IDF quando os termos se dispersam pelas classes de documentos, esse termo foi artificialmente inserido na classe Cinema através da sua adição ao texto dos documentos cin1.txt e cin2.txt, com frequência 3. De forma que essas alterações fossem refletidas nos discriminates, o classificador foi novamente treinado com os documentos da tabela 36, já devidamente modificados pelas inserções de termos supramencionadas. Dessa forma, quando o classificador treinado foi ordenado a classificar novamente esses mesmos documentos, os resultados obtidos foram os da tabela 11, que exibe as similaridades obtidas pelo classificador de [OLIVEIRA, 2007] e os da tabela 12, cujo resultado apresentado considera o cálculo da IDF. Similaridades obtidas sem IDF Cinema Economia Esporte cin cin cin cin cin eco eco eco eco eco esp esp esp esp esp pc Tabela 11: Similaridades obtidas entre os documentos analisados e os discriminantes das classes, no classificador de [OLIVEIRA, 2007].

105 103 Similaridades obtidas com IDF Cinema Economia Esporte cin cin cin cin cin eco eco eco eco eco esp esp esp esp esp pc Tabela 12: Similaridades obtidas entre os documentos analisados e os discriminantes das classes, no classificador com a IDF. Adicionalmente, na última linha de cada tabela também estão sendo mostrados os novos pontos de corte (pc) calculados para cada uma das classes, em ambos os experimentos. Confrontando os pontos de corte das classes com os valores de similaridade obtidos, a primeira constatação feita é que os 2 experimentos conseguiram classificar corretamente os mesmos documentos, isto é, 12 documentos de um total de 15. Neste caso, apesar de não ser suficiente para alterar o resultado geral da classificação, a adição da IDF afetou consideravelmente o grau de similaridade entre os documentos e suas respectivas classes, conforme observado, inicialmente, nos documentos modificados cin1.txt e cin2.txt. Nesses documentos, conforme destaca a tabela 13, a partir do momento que a IDF passou a ser considerada, seu grau de similaridade com a classe Cinema diminuiu, em virtude da adição do termo pontos, que também está presente na classe Economia. Pela tabela 13, observa-se uma redução de aproximadamente 10% na similaridade desses documentos em relação à classe Cinema.

106 104 Similaridade com a classe Cinema Sem IDF Com IDF cin cin Tabela 13: Similaridades obtidas entre os documentos cin1.txt e cin2.txt e a classe Cinema, com e sem o cálculo da IDF Comportamento similar foi observado também nos documentos eco1.txt, eco2.txt, eco4.txt e eco5.txt, cuja similaridade com a classe Economia diminuiu, conforme ilustra a tabela 14. Similaridade com a classe Economia Sem IDF Com IDF eco eco eco eco Tabela 14: Similaridades obtidas entre os documentoseco1.txt, eco2.txt, eco4.txt e eco5.txt e a classe Economia, com e sem o cálculo da IDF Através da análise desses documentos da tabela 14, constatou-se que eles são justamente aqueles onde o termo pontos ocorre na classe Economia, conforme comprova a lista invertida dessa classe, exibida na figura 46. Figura 46: Lista invertida da classe Economia.

107 105 Esse comportamento observado nos testes é melhor entendido quando são examinados os documentos discriminantes, gerados com e sem o cálculo da IDF, para cada uma das classes Cinema e Economia. Figura 47: Documentos discriminantes da classe Economia, gerados pelo classificador de [OLIVEIRA, 2007] e pelo classsificador com a IDF. Pela figura 47, constata-se que, no discriminate de Economia gerado pelo classificador de [OLIVEIRA, 2007], o peso computado para o termo pontos é 10. Porém, quando é analisado o documento discriminante para a mesma classe, gerado pelo classificador que considera a IDF, o valor encontrado para esse peso diminui para Em síntese, o classificador de [OLIVEIRA, 2007] somente considerou a ocorrência do termo pontos dentro da classe Economia. Por conta disso, neste classificador, a relevância do termo pontos para caracterizar Economia é alta, e seu peso anotado reflete essa importância. Porém, no classificador com IDF, a ocorrência de pontos na classe Cinema também passou a ser considerada. Isto é, foi incorporado o relacionamento inter-classe desse termo. Por conta disso sua relevância em particularizar a classe Economia diminuiu, e por consequência, o seu peso anotado no discriminante também. Dessa maneira, o que é importante observar, é que a partir do momento em que o termo pontos começou a aparecer em mais de um documento discriminante, sua relevância para distinguir classes diminuiu, e essa idéia foi materializada na redução do valor do peso computado para esse termo nos discriminantes das classes. Esse mesma variação em relação ao peso do termo pontos se repete entre o documento discriminante da classe Cinema gerado pelo classificador de [OLIVEIRA, 2007] e aquele gerado pelo classificador com o cálculo da IDF incorporado, conforme ilustra a figura 48.

108 106 Figura 48: Documentos discriminantes da classe Cinema, gerados pelo classificador de [OLIVEIRA, 2007] e pelo classsificador com a IDF. Sabendo disso, fica evidente a causa da diminuição das similaridades entre os documentos eco1.txt, eco2.txt, eco4.txt, eco5.txt, cin1.txt e cin2.txt e os seus respectivos discriminantes, pois como o peso computado para o termo pontos diminuiu nos discriminantes das classes onde esse termo ocorre, por consequência, a similaridade desses discriminantes com os documentos onde o termo aparece também. Em poucas palavras, esses documentos contêm um termo que possui agora uma relevância menor para a classe, e a diminuição da similaridade reflete isso. Em oposição ao comportamento observado nos documentos que tiveram sua similaridade diminuída após a adição da IDF, os documentos eco3.txt, cin3.txt, cin4.txt e cin5.txt, por sua vez, tiveram sua similaridade aumentada em relação ao discriminante da classe correspondente, e o motivo, curiosamente, é o mesmo: a diminuição do peso do termo pontos nos discriminantes das classes. Dessa forma, devido ao fato desses documentos não possuírem em seu texto o termo pontos, no momento que a relevância desse termo diminuiu para as classes, a similaridade desses documentos com a classe aumentou. Além do mais, analisando a tabela 11, vemos, nos resultados obtidos pelo classificador de [OLIVEIRA, 2007], que a adição do termo pontos aos documentos da classe Cinema fez com que fossem encontradas similaridades relativamente altas entre eles

Revisão. Meio ambiente da Recuperação de Informação. Linguagem Analógico x Digital

Revisão. Meio ambiente da Recuperação de Informação. Linguagem Analógico x Digital Revisão Meio ambiente da Recuperação de Informação Linguagem Analógico x Digital 1 Recuperação de Informação Recuperação de informação é o nome dado ao processo ou método pelo qual um potencial usuário

Leia mais

Profª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni

Profª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni Profª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni Motivação e Objetivos Etapas do Desenvolvimento de um Sistema de Recuperação de Informações (SRI): Pré-processamento; Representação; Extração

Leia mais

4 Recuperação de Informação

4 Recuperação de Informação 4 Recuperação de Informação No presente capítulo são apresentados os fundamentos da área de Recuperação de Informação utilizados em Mineração de Textos, como por exemplo, os modelos de representação de

Leia mais

3 Recuperação de Informações Textuais

3 Recuperação de Informações Textuais 3 Recuperação de Informações Textuais Tudo deveria se tornar o mais simples possível, mas não simplificado. Albert Einstein Sistemas tradicionais de indexação costumam utilizar-se de termos-índice, que

Leia mais

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Organizaçãoe Recuperaçãode Informação GSI521 Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Modelosde RI e o ModeloBooleano Organização e Recuperação de Informação(GSI521) Tópicos Modelagem em RI; Caracterização

Leia mais

Arquivos invertidos 39

Arquivos invertidos 39 Arquivos invertidos 39 Arquivos invertidos É um mecanismo que utiliza palavras para indexar uma coleção de documentos a fim de facilitar a busca e a recuperação Estruturas de um arquivo invertido Vocabulário

Leia mais

Indexação e Modelos Clássicos

Indexação e Modelos Clássicos Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Adaptado do Material da Profª Vanessa Braganholo - IC/UFF Construção de um Sistema de Busca 1ª Etapa: Definir

Leia mais

DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING. Aluno José Lino Uber. Orientador Paulo Roberto Dias

DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING. Aluno José Lino Uber. Orientador Paulo Roberto Dias DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING Aluno José Lino Uber Orientador Paulo Roberto Dias Dezembro/2004 Roteiro Introdução Objetivo Conceitos Motivação / Tipos

Leia mais

Aplicação de uma Técnica Tradicional de Expansão de Consulta ao Modelo TR+

Aplicação de uma Técnica Tradicional de Expansão de Consulta ao Modelo TR+ Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Aplicação de uma Técnica Tradicional de Expansão de Consulta ao Modelo

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Linguagens Documentárias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

Linguagens Documentárias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Linguagens Documentárias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Contexto Organização da Informação...... procura criar métodos e instrumentos para elaborar

Leia mais

Realimentação de Relevância

Realimentação de Relevância Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Ciclo de realimentação onde uma consulta q recebida do usuário é transformada em uma consulta modificada

Leia mais

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Organizaçãoe Recuperaçãode Informação GSI521 Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Pré-processamento de documentos Organização e Recuperação de Informação(GSI521) Introdução O pré-processamento de

Leia mais

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI Conceitos Básicos Disciplina: Banco de Dados Prof: Márcio Palheta, Esp Manaus - AM ROTEIRO Introdução Dados

Leia mais

Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES)

Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES) 1. Introdução 1.1 Propósito Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES) O propósito deste documento de especificação de requisitos é definir os requisitos do sistema SAPES - Sistema de Apoio

Leia mais

Desenvolvimento de um Web Crawler para indexação de documentos científicos

Desenvolvimento de um Web Crawler para indexação de documentos científicos Desenvolvimento de um Web Crawler para indexação de documentos científicos Heitor de Sousa Miranda¹, Rafael Gonçalves Barreira², Edeilson Milhomem da Silva³ Curso de Sistemas de Informação - CEULP/ULBRA

Leia mais

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso: Compressão de Textos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM O volume

Leia mais

Universidade do Sul de Santa Catarina Ciência da Computação Aula 09 Introdução a Análise de Textos Prof. Max Pereira

Universidade do Sul de Santa Catarina Ciência da Computação Aula 09 Introdução a Análise de Textos Prof. Max Pereira Universidade do Sul de Santa Catarina Ciência da Computação Técnicasde InteligênciaArtificial Aula 09 Introdução a Análise de Textos Prof. Max Pereira Processamento de Linguagem Natural Conjunto de técnicas

Leia mais

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais Universidade de São Paulo Biblioteca Digital da Produção Intelectual - BDPI Departamento de Ciências de Computação - ICMC/SCC Comunicações em Eventos - ICMC/SCC 2015 Identificação de Pontos Perceptualmente

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Consultas por Similaridade em Domínios de Dados Complexos

Consultas por Similaridade em Domínios de Dados Complexos Consultas por Similaridade em Domínios de Dados Complexos Guilherme Felipe Zabot Orientador: Profº Dr Caetano Traina Jr Roteiro Objetivo Introdução Dados Complexos Representação de Dados Complexos Extração

Leia mais

I-Preproc: uma ferramenta para pré-processamento e indexação incremental de documentos

I-Preproc: uma ferramenta para pré-processamento e indexação incremental de documentos 17 I-Preproc: uma ferramenta para pré-processamento e indexação incremental de documentos Renan Gomes Pereira 1 Maria Fernanda Moura 2 Resumo: O objetivo deste trabalho é apresentar a ferramenta I-Preproc,

Leia mais

1 Introdução Motivação

1 Introdução Motivação 1 Introdução 1.1. Motivação Informações podem ser armazenadas das mais variadas maneiras. O modo mais clássico de armazenamento de informação é através da palavra escrita, impressa. O acesso à informação

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

Ontologias na Representação e na Recuperação de Informação. EDBERTO FERNEDA UNESP-Marília

Ontologias na Representação e na Recuperação de Informação. EDBERTO FERNEDA UNESP-Marília Ontologias na Representação e na Recuperação de Informação EDBERTO FERNEDA UNESP-Marília Representação Representação do rigor na ciência...naquele Império, a Arte da Cartografia alcançou tal Perfeição

Leia mais

Mineração de Textos. Mineração de Textos

Mineração de Textos. Mineração de Textos Mineração de Textos Os estudos em Aprendizado de Máquina normalmente trabalham com dados estruturados Entretanto, uma grande quantidade de informação é armazenada em textos, que são dados semi-estruturados

Leia mais

Banco de Dados? Banco de Dados Professor Vanderlei Frazão

Banco de Dados? Banco de Dados Professor Vanderlei Frazão Banco de Dados? OU Vamos por partes... O que são dados? Definições... 1. Dados são observações documentadas ou resultados de medições. 2. Dados são matéria bruta de que é feita a informação. 3. Valores

Leia mais

O Modelo e a Álgebra Relacional

O Modelo e a Álgebra Relacional O Modelo e a Álgebra Relacional O Modelo Relacional Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas Baseado em lógica de predicados e na teoria de conjuntos.

Leia mais

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES LIVRO ENGENHARIA FUNDAMENTOS, MÉTODOS E PADRÕES WILSON PADUA PAULA FILHO CAPÍTULO REQUISITOS 1 REQUISITOS TECNICO E GERENCIAL ESCOPO (RASCUNHO) CARACTERISTICAS 2 O que são Requisitos? São objetivos ou

Leia mais

Figura 16 Niagara - Visão de grupos de notas.

Figura 16 Niagara - Visão de grupos de notas. Conclusão 6 Conclusão 6.1 Trabalhos Relacionados Dentre as funcionalidades fornecidas pela interface gerada pelo framework, em destaque está a possibilidade do zoom livre. Disponibilizar esta funcionalidade

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática

Leia mais

Aula 01 Conceito de Banco de Dados e SGBD

Aula 01 Conceito de Banco de Dados e SGBD Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com

Leia mais

03/07/2017. Modelo de Recuperação de Informação

03/07/2017. Modelo de Recuperação de Informação Modelo de Recuperação de Informação Modelo de Recuperação de Informação Um modelo de recuperação de informação é a especificação formal de três elementos: a representação dos documentos; a representação

Leia mais

Introdução. Qual é a importância dos bancos de dados no nosso dia a dia? Imaginem como seria as grandes empresas sem os bancos de dados?

Introdução. Qual é a importância dos bancos de dados no nosso dia a dia? Imaginem como seria as grandes empresas sem os bancos de dados? Aula - 01 Introdução Qual é a importância dos bancos de dados no nosso dia a dia? Imaginem como seria as grandes empresas sem os bancos de dados? Controle automático de estoques. Introdução Aplicações

Leia mais

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade Universidade de São Paulo - USP Instituto de Ciências Matemáticas e de Computação - ICMC Programa de Pós-Graduação em Ciências da Computação e Matemática Computacional Ambiente de Data Warehouse Para Imagens

Leia mais

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO Introdução A qualidade do armazenamento dos dados, permitem uma melhor extração de informações, e consequentemente,

Leia mais

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Aula 2 BD Introdução. Profa. Elaine Faria UFU Aula 2 BD Introdução Profa. Elaine Faria UFU - 2017 Motivação A quantidade de informação disponível está crescendo exponencialmente Os dados e as informações tem um papel importante para as organizações

Leia mais

Recuperação de Informações

Recuperação de Informações Recuperação de Informações Ana Carolina Salgado & Fernando Fonseca Comparação (matching) Dados Inferência Modelo Ling Consulta Esp da Consulta Recuperação de Dado X Informação Recuperação de Recuperação

Leia mais

SBC - Sistemas Baseados em Conhecimento

SBC - Sistemas Baseados em Conhecimento Siglas, Símbolos, Abreviaturas DW - Data Warehouse KDD Knowledge Discovery in Database MD Mineração de Dados OLAP - On-line analytical processing SBC - Sistemas Baseados em Conhecimento 1. INTRODUÇÃO O

Leia mais

2 O Modelo: SetModel. 2.1 Modelo de Informação

2 O Modelo: SetModel. 2.1 Modelo de Informação O Modelo: SetModel 2 O Modelo: SetModel 2.1 Modelo de Informação Modelo de informação é uma representação abstrata e formal de entidades incluindo suas propriedades, relações e operações que podem ser

Leia mais

BANCO DE DADOS - MODELAGEM DE DADOS

BANCO DE DADOS - MODELAGEM DE DADOS Colégio Estadual João Manoel Mondrone Ensino Fundamental, Médio, Profissional e Normal Técnico em Informática BANCO DE DADOS - MODELAGEM DE DADOS Profª Ana Paula Mandelli O QUE É MODELAGEM DE DADOS? Significa

Leia mais

Sistemas da Informação. Banco de Dados I. Edson Thizon

Sistemas da Informação. Banco de Dados I. Edson Thizon Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

6.CONCLUSÕES CONCLUSÕES

6.CONCLUSÕES CONCLUSÕES 6.CONCLUSÕES 193 6 CONCLUSÕES Este trabalho apresentou uma proposta para modelagem e análise de Sistemas de Controle envolvidos na geração de energia elétrica hidráulica, tendo como base dois desenvolvimentos:

Leia mais

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações Sistema (SI) Coleção de atividades de Banco de Dados que regulam o compartilhamento, SI nas Organizações a distribuição de informações Fernando Fonseca e o armazenamento de dados relevantes ao gerenciamento

Leia mais

Implementação de Kernel Customizado Aplicado à Análise de Sentimentos em Resenhas de Filmes

Implementação de Kernel Customizado Aplicado à Análise de Sentimentos em Resenhas de Filmes Implementação de Kernel Customizado Aplicado à Análise de Sentimentos em Resenhas de Filmes Luciana Kayo e Paulo Mei Prof. Dr. Marco Dimas Gubitoso Introdução Inspiração na competição When Bag of Words

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema Arquitetura do Sistema 22 3 Arquitetura do Sistema 3.1. Visão geral O sistema desenvolvido permite a criação de aplicações que possibilitam efetuar consultas em um banco de dados relacional utilizando

Leia mais

Recuperação de Dado X Informação. Gerenciamento de Dados e Informação. Histórico. Recuperação de Informação. Histórico. Histórico

Recuperação de Dado X Informação. Gerenciamento de Dados e Informação. Histórico. Recuperação de Informação. Histórico. Histórico Recuperação de Dado X Informação Gerenciamento de Dados e Informação Recuperação de Informação Fernando Fonseca Ana Carolina Robson Fidalgo Comparação (matching) Recuperação de Dados Exata Recuperação

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 02 Representação dos dados Pré-processamento Max Pereira Tipo de Dados Os atributos usados para descrever objetos de dados podem ser de diferentes tipos: Quantitativos

Leia mais

Algoritmos e Estruturas de Dados II. Trabalho Prático 4

Algoritmos e Estruturas de Dados II. Trabalho Prático 4 Algoritmos e Estruturas de Dados II Trabalho Prático 4 Entrega: 23/11/09 Devolução: 10/12/09 (sem possibilidade de entrega com atraso) Trabalho em dupla Prof. Jussara Marques de Almeida Problema 1: Construção

Leia mais

Técnicas de recuperação de informação: filtragem, agrupamento

Técnicas de recuperação de informação: filtragem, agrupamento Técnicas de recuperação de informação: filtragem, agrupamento 1 Nome usado para descrever uma variedade de processos envolvendo a entrega de informação para pessoas que precisam dela; Compreende um método

Leia mais

Implementação de um sistema de validação estatística configurável de dados

Implementação de um sistema de validação estatística configurável de dados Implementação de um sistema de validação estatística configurável de dados Eduardo Dias Filho Supervisores: João Eduardo Ferreira e Pedro Losco Takecian 16 de novembro de 2014 Introdução Table of Contents

Leia mais

Castro (2008, p.7) define a palavra ontologia de forma mais simplificada:

Castro (2008, p.7) define a palavra ontologia de forma mais simplificada: Recuperação de Informação baseada em Castro (2008, p.7) define a palavra ontologia de forma mais simplificada: Ela é o resultado da junção de dois termos gregos onta (entes) e logos (teoria, discurso,

Leia mais

Descoberta de conhecimento em redes sociais e bases de dados públicas

Descoberta de conhecimento em redes sociais e bases de dados públicas Descoberta de conhecimento em redes sociais e bases de dados públicas Trabalho de Formatura Supervisionado Bacharelado em Ciência da Computação - IME USP Aluna: Fernanda de Camargo Magano Orientadora:

Leia mais

Sistemas de Informação e Decisão. Douglas Farias Cordeiro

Sistemas de Informação e Decisão. Douglas Farias Cordeiro Sistemas de Informação e Decisão Douglas Farias Cordeiro Decisão Tomamos decisões a todo momento! O que é uma decisão? Uma decisão consiste na escolha de um modo de agir, entre diversas alternativas possíveis,

Leia mais

Segundo trabalho de Organização e Recuperação da Informação

Segundo trabalho de Organização e Recuperação da Informação FACOM- UFU Professor: Wendel Melo Segundo trabalho de Organização e Recuperação da Informação 2018-02 Descrição Este trabalho consiste em duas etapas: 1. Implementação de cálculo da ponderação TF-IDF,

Leia mais

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas Wrapper Filtros Muitos algoritmos de AM são projetados de modo a selecionar os

Leia mais

Tabela Hash: Índice remissivo

Tabela Hash: Índice remissivo Capítulo 3 Tabela Hash: Índice remissivo Um índice remissivo lista os termos e tópicos que são abordados em um documento juntamente com páginas em que aparecem. É bastante comum encontrar tais índices

Leia mais

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas Processamento de Consultas em Bancos de Dados Distribuídos Visão geral do processamento de consultas IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias

Leia mais

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER. Modelos Banco de dados Professor: Jarbas Araújo professorjarbasaraujo@gmail.com CENTRO EDUCACIONAL RADIER Projeto de banco de dados Todo bom sistema de banco de dados deve apresentar um projeto, que visa

Leia mais

Padrão para Especificação de Requisitos de Produto de Multimídia

Padrão para Especificação de Requisitos de Produto de Multimídia Padrão para Especificação de Requisitos de Produto de Multimídia 1 Introdução 1.1 Escopo do documento Sugere-se aqui uma estrutura para a Especificação de Requisitos de Produto de Multimídia (ERPM). Esta

Leia mais

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é: Questões de Propósito, Tipo e Fronteira 1. Um dos objetivos da Análise de Pontos de Função é: Simulado para CFPS a) Ajudar no processo de depuração de um software. b) Estimar o tamanho de uma equipe de

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos Banco de Dados SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1 Prof. Leonardo Vasconcelos - O que é um banco de dados (BD)? Um Banco de Dados (ou Base de Dados) é uma coleção de dados relacionados,

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Seleção de Atributos 1

Seleção de Atributos 1 Seleção de Atributos 1 Tópicos Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Seleção de atributos antes do aprendizado Benefícios Abordagens automáticas

Leia mais

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de

Leia mais

Mineração de Textos na Web

Mineração de Textos na Web Mineração de Textos na Web Luciano Antonio Digiampietri Escola de Artes Ciências e Humanidades da Universidade de São Paulo digiampietri@usp.br Resumo: Com o crescimento das informações disponíveis na

Leia mais

Análise Sintática de Frases utilizando Gramáticas Livres de Contexto Probabilísticas

Análise Sintática de Frases utilizando Gramáticas Livres de Contexto Probabilísticas Universidade de São Paulo Mestrado em Ciência da Computação Instituto de Matemática e Estatística Disciplina MAC5725 Lingüística Computacional Análise Sintática de Frases utilizando Gramáticas Livres de

Leia mais

Seleção de Atributos FSS. Relevância de Atributos. Relevância de Atributos. Seleção de Atributos - FSS. FSS como Busca no Espaço de Estados

Seleção de Atributos FSS. Relevância de Atributos. Relevância de Atributos. Seleção de Atributos - FSS. FSS como Busca no Espaço de Estados Seleção FSS Alguns indutores geralmente degradam seu desempenho quando são fornecidos muitos atributos irrelevantes para o conceito a ser aprendido Feature Subset Selection (FSS) é o processo de selecionar

Leia mais

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21 AULA 21 MATRIZES - PARTE 1 21.1 Definição e Manipulação de Matrizes Sabemos como definir variáveis de um novo tipo de dados, denominado vetor, que representam seqüências de valores de um mesmo tipo. Por

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

Leia mais

GSI024 - Organização e Recuperação da

GSI024 - Organização e Recuperação da GSI024 - Organização e Recuperação da Informação Ilmério Reis da Silva ilmerio@facom.ufu.br UFU/FACOM/BSI Arquivo 5 - Peso de termos GSI024-ORI Pg:5. 1 Busca paramétrica usando atributos Regiões em documentos

Leia mais

5. Expressões aritméticas

5. Expressões aritméticas 5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis

Leia mais

2 Processo de Agrupamentos

2 Processo de Agrupamentos 20 2 Processo de Agrupamentos A análise de agrupamentos pode ser definida como o processo de determinação de k grupos em um conjunto de dados. Para entender o que isso significa, observe-se a Figura. Y

Leia mais

Análise de Requisitos

Análise de Requisitos Análise de Requisitos Prof.ª: Érika A. Barrado Analisar x Projetar Análise: significa investigar, descobrir ou desvendar algo; Consiste em encontrar o conjunto de requisitos para um dado software; Definida

Leia mais

4 Framework Proposto para Construção de Mediadores

4 Framework Proposto para Construção de Mediadores 41 4 Framework Proposto para Construção de Mediadores Neste capitulo apresentamos um framework que implementa a estratégia para enriquecimento de dados a partir de informações da Deep Web, descrita no

Leia mais

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer Parte 2 ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer P alguns conceitos básicos. A primeira definição é relativa aos conceitos de dados e informação. Dados são fatos em

Leia mais

Modelo Booleano Wendel Melo

Modelo Booleano Wendel Melo Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Adaptado do Material da Profª Vanessa Braganholo - IC/UFF Modelo simples; Baseado em teoria dos conjuntos

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Modelo Espaço Vetorial. Mariella Berger

Modelo Espaço Vetorial. Mariella Berger Modelo Espaço Vetorial Mariella Berger Agenda Introdução Atribuição de Pesos Frequência TF-IDF Similaridade Exemplo Vantagens e Desvantagens Modelo Espaço Vetorial Introdução Modelo Espaço Vetorial O modelo

Leia mais

Unidade 4 Projeto de Banco de Dados

Unidade 4 Projeto de Banco de Dados Unidade 4 Projeto de Banco de Dados Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José

Leia mais

Laboratório 4. Disciplina. Introdução ao Geoprocessamento SER 300. Prof. Dr. Antonio Miguel Vieira Monteiro

Laboratório 4. Disciplina. Introdução ao Geoprocessamento SER 300. Prof. Dr. Antonio Miguel Vieira Monteiro Laboratório 4 Disciplina Introdução ao Geoprocessamento SER 300 Prof. Dr. Antonio Miguel Vieira Monteiro Aluno: Isaque Daniel Rocha Eberhardt INPE, São José dos Campos. Maio, 2013. Introdução Entre as

Leia mais

PLANIFICAÇÃO ANUAL Documentos Orientadores: Programa da disciplina

PLANIFICAÇÃO ANUAL Documentos Orientadores: Programa da disciplina Programa de Aplicações Informáticas B / 12 º Ano Página 1 de 6 PLANIFICAÇÃO ANUAL Documentos Orientadores: Programa da disciplina Introdução à Programação Introdução à Programação - Reconhecer as limitações

Leia mais

Capítulo 11 Sistemas de Arquivos

Capítulo 11 Sistemas de Arquivos Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo Sistemas de s Introdução O armazenamento e a recuperação de informações

Leia mais

Parte SISTEMAS DE GERÊNCIA DE BANCO DE DADOS 2.1 CARACTERÍSTICAS DE UM BANCO DE DADOS

Parte SISTEMAS DE GERÊNCIA DE BANCO DE DADOS 2.1 CARACTERÍSTICAS DE UM BANCO DE DADOS Parte 2 ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer Palguns conceitos básicos. A primeira definição é relativa aos conceitos de dados e informação. Dados são fatos em

Leia mais

TCE Informática Dados Estruturados e Não-Estruturados Prof. Marcelo Ribeiro

TCE Informática Dados Estruturados e Não-Estruturados Prof. Marcelo Ribeiro TCE Informática Dados Estruturados e Não-Estruturados Prof. Marcelo Ribeiro www.acasadoconcurseiro.com.br Informática DADOS ESTRUTURADOS E NÃO-ESTRUTURADOS Esses termos referem-se à forma como um conjunto

Leia mais

BUSINESS INTELLIGENCE BI FERNANDO ESCOBAR, PMP, MSC.

BUSINESS INTELLIGENCE BI FERNANDO ESCOBAR, PMP, MSC. BUSINESS INTELLIGENCE BI FERNANDO ESCOBAR, PMP, MSC. Estrutura dos Módulos Conceitos; Componentes; ETL; Data Warehouse; Modelo Multidimensional; Mineração de Dados; Visualização e Análise Exploratória

Leia mais

Visualização de Texto e Documento

Visualização de Texto e Documento Visualização de Texto e Documento SCC5836 Visualização Computacional Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Requisitos de Software Professor: Charles Leite Engenharia de requisitos Os requisitos de um sistema são as descrições do que o sistema deve fazer, os serviços que oferece e as restrições

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Modelo Booleano Wendel Melo

Modelo Booleano Wendel Melo Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Adaptado do Material da Profª Vanessa Braganholo - IC/UFF Modelo simples; Baseado em teoria dos conjuntos

Leia mais

Raciocínio Baseado em Casos

Raciocínio Baseado em Casos Raciocínio Baseado em Casos Augusto Cesar Castoldi, Marcos de Oliveira dos Santos. Bacharéis em Ciências da Computação 2º Semestre, 2002. Departamento de Informática e Estatística (INE) Universidade Federal

Leia mais

Os pontos mais fortes do MAS-School são: A técnica orientada a objetivos para a fase de requisitos utiliza o processo recursivo de decomposição de um

Os pontos mais fortes do MAS-School são: A técnica orientada a objetivos para a fase de requisitos utiliza o processo recursivo de decomposição de um 140 7 Conclusões O desenvolvimento de um sistema multi-agente de larga escala (Lucena et al., 2003; Garcia et al., 2003) não é uma tarefa simples. Sistemas com muitos agentes em ambientes heterogêneos

Leia mais

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini Banco de Dados Introdução Profa. Flávia Cristina Bernardini * Slides Baseados no material elaborado pelos professores Eduardo R. Hruschka, Cristina D. A. Ciferri e Elaine Parros Machado Motivação Operações

Leia mais

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

1 Objetivo. 2 Descrição do domínio. Primeiro Trabalho - Segundo semestre de 2007 Sistema de Apoio a Jogos Lotéricos. 2.1 Caracterização dos jogos

1 Objetivo. 2 Descrição do domínio. Primeiro Trabalho - Segundo semestre de 2007 Sistema de Apoio a Jogos Lotéricos. 2.1 Caracterização dos jogos UNIVERSIDADE DE BRASÍLIA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO SISTEMÁTICA Prof. Francisco A. C. Pinheiro 1 Objetivo Primeiro Trabalho - Segundo semestre de 2007 Sistema de Apoio a Jogos Lotéricos

Leia mais

5.1. Fluxo para geração do Roadmap

5.1. Fluxo para geração do Roadmap 46 5 VelvetH-DB Os Sistemas Gerenciadores de Banco de Dados (SGBDs), foram criados com o intuito de permitir o armazenamento e manipulação de grandes volumes de dados, fornecendo uma aplicação que garanta,

Leia mais

5 ESTUDO DE CASOS 5.1 CATEGORIZAÇÃO

5 ESTUDO DE CASOS 5.1 CATEGORIZAÇÃO 102 5 ESTUDO DE CASOS 5.1 CATEGORIZAÇÃO Conforme detalhado na seção 4.3, foram criados três conjuntos de dados: clientes BT com 382 padrões, clientes comerciais MT com 866 padrões e clientes industriais

Leia mais