Luiz Henrique Marino Cerqueira Faculdade de Engenharia de Computação CEATEC luiz.hmc@puccamp.edu.br



Documentos relacionados
ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO

Introdução à Computação

Taxa de Gravação da Memória RAM (MegaBytes / segundo) G5 2.7 Ghz (Mac) Linux Kernel

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas

GARANTIA DA QUALIDADE DE SOFTWARE

Informações para alunos, pais e responsáveis Avaliação de Aptitudes Básicas (FSA Foundation Skills Assessment): Perguntas e Respostas

Projeto de Redes Neurais e MATLAB

Prototipação de Software

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO

softwares que cumprem a função de mediar o ensino a distância veiculado através da internet ou espaço virtual. PEREIRA (2007)

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

2 Diagrama de Caso de Uso

A Grande Importância da Mineração de Dados nas Organizações

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

Sistema de mineração de dados para descobertas de regras e padrões em dados médicos

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

4 Implementação e Resultados Experimentais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

ISO/IEC 12207: Gerência de Configuração

6 Construção de Cenários

CRIAÇÃO DO SITE DA DISCIPLINA DE EXPERIMENTAÇÃO E DA CENTRAL DE ANÁLISES ESTATÍSTICAS NA UTFPR-DV

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

5 Mecanismo de seleção de componentes

AVALIAÇÃO DE INTERFACES UTILIZANDO O MÉTODO DE AVALIAÇÃO HEURÍSTICA E SUA IMPORTÂNCIA PARA AUDITORIA DE SISTEMAS DE INFORMAÇÕES

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

PRIMAVERA RISK ANALYSIS

METODOLOGIA PARA ANÁLISE DE DESEMPENHO

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

CHECK - LIST - ISO 9001:2000

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Modelos do Design de Software

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

PESQUISA SOBRE O PERFIL DE ALUNOS NA UTILIZAÇÃO DE UM SITE DOCENTE DO ENSINO SUPERIOR

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

COMPARAÇÃO DOS MÉTODOS DE SEGMENTAÇÃO DE IMAGENS OTSU, KMEANS E CRESCIMENTO DE REGIÕES NA SEGMENTAÇÃO DE PLACAS AUTOMOTIVAS

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Sacix Linux Casa Brasil/Região Norte

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados

Engenharia de Requisitos

Arquitetura de Informação

Como conduzir com sucesso um projeto de melhoria da qualidade

Modelagem e Simulação

UNIVERSIDADE FEDERAL DE SANTA CATARINA

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Sistema Banco de Preços Manual do Usuário OBSERVATÓRIO

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

E3Suite. Estudo da Evolução de Eventos Científicos

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

Existem 109 questões nesta pesquisa

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Modelo Cascata ou Clássico

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Mineração de Opinião / Análise de Sentimentos

Testes de Usabilidade

Manual do Painel Administrativo

4 Avaliação Econômica

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

ADM041 / EPR806 Sistemas de Informação

1 Inicie um novo. Guia de Referência Rápida de Gerenciamento de Projeto para o Project projeto

MELHORIA DE RECURSOS EDUCACIONAIS DAS DISCIPLINAS DE EXPERIMENTAÇÃO

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

MATERIAL DIDÁTICO: APLICAÇÕES EMPRESARIAIS SISTEMA DE APOIO À DECISÃO (SAD)

Versão Melhorias Melhorias Versão 6.0.1

RADIOLOGIA DIGITAL. Conceitos Básicos. Eizo Soluções Médicas

Editor de Questões E24H

Módulo 4: Gerenciamento de Dados

EMENTAS DAS DISCIPLINAS

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

CAPÍTULO 5 CONCLUSÕES, RECOMENDAÇÕES E LIMITAÇÕES. 1. Conclusões e Recomendações

Ponto de vista. Metodologia para um índice de confiança. E expectativas das seguradoras no Brasil

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

Banco de Interpretação ISO 9001:2008. Gestão de recursos seção 6

A PÁGINA DISCIPLINAR DE MATEMÁTICA DO PORTAL DIA A DIA EDUCAÇÃO

3 Qualidade de Software

agility made possible

1

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

Extração de Requisitos

Desenvolvendo Websites com PHP

RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE)

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Engenharia de Software I

Resolução de Exercícios Orientações aos alunos

Transcrição:

AVALIAÇÃO COMPARATIVA DE ALGORITMOS PARA SISTEMAS DE RECOMENDAÇÃO EM MÚLTIPLOS DOMÍNOS: PREVISÃO DO DESEMPENHO DE ESTUDANTES A PARTIR DE SUA INTERAÇÃO COM UM SISTEMA TUTOR. Luiz Henrique Marino Cerqueira Faculdade de Engenharia de Computação CEATEC luiz.hmc@puccamp.edu.br Resumo: Os sistemas de recomendação são uma alternativa para aliviar os problemas decorrentes do aumento contínuo de recursos disponíveis através da Internet, na medida em que podem sugerir itens de interesse do usuário a partir de seu perfil. Nos últimos anos foram desenvolvidos vários algoritmos para recomendação, especialmente usando abordagens sociais, conhecidas como filtragem colaborativa. Embora a literatura indique que a precisão desses algoritmos varia de acordo com o domínio em que são aplicados, há poucos trabalhos que estudem essa questão. O objetivo do plano de trabalho descrito neste artigo foi fazer uma análise do desempenho de algoritmos de recomendação selecionados quando aplicados a um problema da área educacional, relativamente aos desempenho desses algoritmos para dados de outros domínios. O problema educacional considerado consiste em prever o desempenho, medido por uma nota, de estudantes em questões ainda não realizadas, considerando que se têm dados de desempenho de uma comunidade de aprendizes, na qual se inclui o estudante alvo, armazenados por um sistema tutor. Para a avaliação, foi utilizado o sistema PREA, que implementa os principais algoritmos de filtragem colaborativa e métricas utilizados na atualidade. Os experimentos realizados mostraram que os algoritmos estudados apresentam resultados sensivelmente menos precisos quando aplicados à base educacional considerada. As causas terão que ser investigadas. Elas podem se dever a características do domínio, da base educacional considerada, ou a problemas de formatação da base. Juan Manuel Adán Coello Grupo de Pesquisa em Sistemas Inteligentes CEATEC juan@puc-campinas.edu.br Palavras-chave: Sistemas de recomendação, análise comparativa de algoritmos de filtragem colaborativa, dados educacionais, previsão do desempenho de estudantes. Área do Conhecimento: Ciências Exatas e da Terra Ciência da Computação. 1. INTRODUÇÃO Com o aumento da demanda por serviços personalizados em e-commerce, sistemas de recomendação estão desempenhando um papel crítico em sites comerciais. No entanto, sabemos que o potencial da informática vai muito além do campo de atuação comercial e acredita-se que esses sistemas podem ser adaptados a diversas áreas, como por exemplo, a educação apoiada pela computação. Entre os algoritmos utilizados pelos sistemas de recomendação, destacam-se os algoritmos de filtragem colaborativa. De forma genérica, eles representam a informação disponível em matrizes usuário-item, onde se contemplam os seguintes elementos: Usuários: São os clientes de um sistema de comércio eletrônico, usuários de um serviço de streaming de mídias digitais, usuários de uma biblioteca digital que arquiva artigos científicos em formato eletrônico ou integrantes de uma rede social eletrônica. Itens: Os produtos que são vendidos em um website, as mídias contidas no pacote de serviço de streaming, os artigos científicos disponíveis no sistema ou outros usuários a serem recomendados como no caso das redes sociais. Avaliações: Notas atribuídas pelos usuários aos itens, podem estar associadas a

conceitos como ótimo, bom, regular e ruim, a uma escala numéricas de 1 à 5 ou podem ser binárias como gostei ou não gostei. Os algoritmos de filtragem colaborativa podem identificar padrões de semelhança entre os usuários com base nas avaliações que estes realizaram sobre itens, com o objetivo de prever a avaliação que um determinado usuário faria sobre um determinado item ainda não avaliado por ele. Outra tendência recente à qual se vincula o trabalho descrito neste artigo são os sistemas tutores no auxílio ao ensino. Dados adquiridos durante a interação dos estudantes com estes sistemas permitem, entre outras coisas, guiar os aprendizes através do processo de aprendizado, sugerindo-lhes material a estudar ou tarefas e testes a realizar [1] [2]. Isso pode ser feito, a partir da previsão da nota que o estudante teria em tarefas que ainda não realizou. Se a nota prevista for muito elevada, podese inferir que os conhecimentos e habilidades necessários à sua realização já são dominados pelo estudante, não havendo ganho em atribuir-lhe a tarefa. Por outro lado, se a nota prevista for muito baixa, é improvável que o estudante seja capaz de realizá-la, não sendo recomendável atribuir-lhe tal tarefa nesse momento. Entre esses extremos, devem ser encontradas tarefas, ou objetos educacionais, que permitam ao estudante avançar no seu aprendizado, considerando o estágio em que se encontra. Nos sistemas tutores podem ser encontrados os três elementos necessários a um algoritmo de filtragem colaborativa: os usuários, representados pelos alunos, os itens, pelas questões, e as avaliações, pelas notas que os estudantes tiram nas questões que lhe são apresentadas. Assim sendo, o objetivo do trabalho descrito foi estudar o desempenho de algoritmos de filtragem colaborativa quando aplicados ao problema de prever o desempenho dos alunos frente a questões ainda não realizadas, comparativamente ao desempenho desses algoritmos em outros domínios. O restante deste artigo está organizado conforme descrito a seguir. Na seção 2 são descritos os passos empregados para atingir o objetivo proposto. Na seção 3 apresenta-se o sistema PREA, e os algoritmos por ele implementados que foram avaliados. Na seção 4, são apresentados e comentados os resultados da avaliação realizada. O artigo é concluído na seção 5, onde são apresentadas algumas considerações finais. 2. O MÉTODO DE TRABALHO A fim de atingir os objetivos do trabalho foi necessário, inicialmente, conhecer alguns algoritmos de recomendação representativos. Para tal, utilizouse [3] e [4]. Esses artigos tratam das diversas abordagens utilizadas em sistemas de da recomendação e o motivo de existirem maneiras diferentes de abordar o problema. A partir da base conceitual adquirida sobre o problema da recomendação, o passo seguinte foi selecionar um ambiente que incluísse implementações dos principais algoritmos de filtragem colaborativa descritos na literatura. O primeiro sistema considerado foi o LensKit 1, software de código aberto, implementado em Java, em conjunto com as ferramentas necessárias para seu funcionamento: o administrador de projetos Maven 2, o também administrador de projetos e controlador de versões Mercurial 3 e a linguagem Groovy 4. Por se tratar de um paradigma novo de organização de projetos, após investir algum tempo tentando instalar e utilizar o sistema, sem sucesso, decidiu-se buscar outro sistema para a tarefa de avaliação dos algoritmos de filtragem colaborativa. O segundo avaliador considerado, e selecionado, foi o PREA (Personalized Recommendation Algorithms Toolkit 5, também fornecido em código aberto, porém de instalação e utilização mais simples que a do LensKit. Com o avaliador selecionado, o passo seguinte foi escolher um conjunto de dados educacionais para utilizar nas avaliações. Foram considerados dois conjuntos de dados, o primeiro utilizado no Desafio de Mineração de Dados Educacionais, realizado durante a KDDCup 2010 6 e o segundo retirado do sistema ASSISTments 7, um tutor via Web, que avalia e ensina os estudantes ao mesmo tempo, utilizando questões pré-selecionadas. No processo de escolha, foi estudado o material disponível nas páginas da Web relacionadas aos conjuntos de dados mencionados e artigos tratando do mesmo tema, em particular [5]. 1 http://lenskit.grouplens.org/ 2 http://maven.apache.org/ 3 http://mercurial.selenic.com/ 4 http://groovy.codehaus.org/ 5 http://prea.gatech.edu/ 6 http://pslcdatashop.org/kddcup/workshop/ 7 http://www.assistments.org/

Após analisar as duas bases, foi escolhida a base do sistema ASSISTments por ter uma organização mais simples, que deveria demandar menos esforço para convertê-la para o formato de entrada requerido pelo PREA. O foco do trabalho foi então converter esta base do formato CSV (Comma-Separated Values ou Valores Separados por Virgulas, em Português) para o formato ARFF (attribute-relation file format ou Formato de Arquivo de Atributo-Relação em Português) para enfim realizar as comparações. 3. PREA (Personalized Recommendation Algorithms Toolkit) O PREA (Personalized Recommendation Algorithms Toolkit) é um software de código aberto escrito em Java que permite a comparação de algoritmos de filtragem colaborativa. O sistema fornece uma interface única para comparar os diversos algoritmos de recomendação implementados no sistema. O conjunto de ferramentas oferecido pelo PREA é composto por três grandes pacotes. O primeiro contém algoritmos de recomendação, incluindo algoritmos baseados em memória, em fatoração de matrizes e outros algoritmos no estado da arte. O segundo diz respeito à gestão dos dados usados pelos algoritmos. Ele implementa estruturas de dados, como vetores e matrizes esparsas e densas, e um separador de dados que faz a separação dos dados para treinamento, teste e validação cruzada. O último grupo implementa utilitários, incluindo métricas de avaliação, distribuições estatísticas e outras funções utilitárias. 3.1 Algoritmos Implementados O PREA implementa os seguintes tipos de algoritmos de previsão: Básicos: fazem pouco, ou nenhum, uso da informação personalizada disponível para fazer as recomendações. Estabelecem um patamar inferior de desempenho para server de base para avaliar algoritmos mais elaborados. Filtragem colaborativa baseada em memória, ou na formação de vizinhanças: fazem previsões utilizando diretamente as avaliações disponíveis de usuários ou itens similares ao usuário ou item alvo; Modelos de semântica latente usando fatoração de matrizes: constroem perfis de itens e usuários a partir da fatoração dos dados disponíveis, usando técnicas da álgebra linear. Entre os algoritmos básicos incluem-se os seguintes: Constante: uma constante, normalmente a mediana das classificações possíveis, é utilizada para as previsões. Média geral: a avaliação prevista é a média de todas as avaliações disponíveis. Média de usuário: a avaliação prevista é a média das avaliações feitas pelo usuário alvo. Média de item: avaliação prevista é a média das avaliações disponíveis para o item alvo. Aleatório: atribui-se um valor aleatório entre a mínima e a máxima pontuação possível. O PREA usa também algoritmos baseados na construção de vizinhanças a partir dos dados disponíveis em memória. Estes algoritmos ainda estão entre os principais mecanismos utilizados em muitos sistemas comerciais. Eles são fáceis de implementar e são precisos, embora tenham um custo computacional elevado. Algoritmos baseados em vizinhanças calculam a similaridade entre usuários e itens para formar uma vizinhança e utilizam as avaliações dos usuários ou itens vizinhos ao usuário ou item alvo para produzir uma previsão. A previsão é a média ponderada de todas as avaliações dos vizinhos. O cálculo da similaridade entre os itens ou usuários é uma parte importante dessa abordagem. Vários mecanismos podem ser utilizados com esse propósito, em especial a correlação de Pearson e a similaridade do cosseno [4]. As vantagens da abordagem baseada na formação de vizinhanças incluem: a facilidade de explicar os resultados, o que é um aspecto importante dos sistemas de recomendação, facilidade de implementação e uso, novos dados podem ser adicionados facilmente e de forma incremental, não é preciso levar em conta as características dos itens que estão sendo recomendados e o algoritmo funciona bem para itens avaliados de forma semelhante. Existem várias desvantagens desta abordagem. Em primeiro lugar, ela depende de avaliações feitas por humanos. Em segundo lugar, o seu desempenho diminui quando os dados de avaliação são esparsos, o que ocorre frequentemente com os itens relacionados à Web. A abordagem é pouco escalável, pois requer grande quantidade de recursos computacionais (memória e tempo de processamento) para formar as vizinhanças e fazer as previsões. Embora possa lidar eficientemente com

os novos usuários, acrescentar novos itens é mais complicado, uma vez que os usuários e itens são representados em um espaço vetorial específico. Em contraste com algoritmos de filtragem colaborativa baseada em memória, os algoritmos baseados em semântica latente, constroem um modelo explícito durante uma fase de aprendizado, através do reconhecimento de padrões nos dados de treinamento. Após a fase de aprendizado, eles usam o modelo para prever avaliações. Muitos dos avanços recentes para aumentar a precisão em sistemas de recomendação utilizam esta abordagem. Especificamente, esses métodos fatoram a matriz de avaliações em duas matrizes de baixa ordem: uma para representar o perfil dos usuários e a outra o perfil dos itens. Entre os algoritmos desta categoria implementados pelo PREA destacam-se os seguintes: R-SVD (Regularized SVD) NMF (Non-negative Matrix Factorization) PMF (Probabilistic Matrix Factorization ) BPMF (Bayesian Probabilistic Matrix Factorization) NLPMF (Non-linear Probabilistic Matrix Factorization) O R-SVD minimiza o erro quadrático entre as avaliações reais e as estimativas previstas para todos os dados disponíveis. A fim de controlar o overfitting, acrescenta termos de regularização para perfil dos usuários e dos itens. Para o processo de minimização, usa o gradiente descendente. O NMF também fatora a matriz de avaliações em perfis de usuários e de itens, mas estas duas matrizes de baixa ordem terão apenas valores positivos. O PMF adota um modelo linear probabilístico com observação de ruído gaussiano para representar características latentes, tanto para os usuários como para os itens. O BPMF aplica um tratamento Bayesiano do modelo PMF em que a capacidade do modelo é controlada automaticamente por meio da integração de todos os parâmetros e hiperparâmetros do modelo. O NLPMF desenvolve uma fatoração de matrizes probabilística não linear, utilizando modelos de variáveis latentes gaussianos. O modelo é otimizado utilizando o método de gradiente descendente estocástico, permitindo aplicar processos gaussianos para conjuntos de dados com milhões de avaliações sem métodos aproximados. 4. AVALIAÇÃO COMPARATIVA DOS ALGORITMOS DE RECOMENDAÇÃO A métrica usada para comparar os algoritmos foi o erro médio absoluto ou MAE (Mean Absolute Error), calculado pela equação (1), onde n é o número total de previsões feitas (quantos, foram previstos)., é o valor previsto para uma nota que o usuário u atribuiria ao item i, e, é valor real para essa nota. = 1,, O conjunto de dados escolhido para representar o cenário escolar nas avaliações foi produzido pelo sistema Assistemnts 8. Os dados foram capturados durante a interação entre os estudantes e o sistema. Entre os vários dados coletados foram selecionados apenas aqueles diretamente ligados à construção de uma matriz usuário-item, ou seja, os identificadores dos estudantes (os usuários), os identificadores dos itens (as questões respondidas) e a nota obtida pelo aluno em cada questão. Foram consideradas apenas questões objetivas, para as quais as notas são binárias: 0 indica que o aluno errou e 1 que acertou a questão. O dataset do ASSITments utilizado contempla 3974 usuários, 49 questões e 24574 avaliações. Para comparar os resultados dos algoritmos obtidos para esses dados educacionais com dados de outros domínios foram usadas dois datasets relacionadas a filmes: o netflix_3m1k, produzida com dados de usuários do serviço de locação de filmes Netflix 9 e o movielens_100k, obtido do site de recomendação de filmes Movielens 10. O netflix_3m1k representa 4427 usuários, 1000 filmes e 56136 avaliações de filmes. O movielens_100k inclui 943 usuários, 1682 filmes e 100000 avaliações de filmes. A Tabela 1 apresenta os resultados obtidos para as bases escolhidas. No caso da base Assistments, alguns dos algoritmos não puderam ser testados, pois o sistema apresentava erros que não puderam ser corrigidos a tempo de coletar os dados para este artigo. Para as bases netflix e movielens, os algoritmos baseados em vizinhanças V-Usuário (vizinhança formada por usuários similares) e V-Item (vizinhança de itens similares) apresentaram os melhores resultados (o menor erro absoluto médio 8 http://www.assistments.org/ 9 https://signup.netflix.com/ 10 http://www.movielens.org/ (1)

MAE). No caso da base Assistments, o V-Usuário foi o único algoritmo não básico que pôde ser testado, e foi o que apresentou melhores resultados, embora com uma diferença de precisão menor com relação aos algoritmos básicos do que foi observado para as outras bases. Tabela 1: Desempenho de Algoritmos de Filtragem Colaborativa para Três Datasets Algoritmo MAE netflix movielens Assistments Constante 0.9925 1.0050 2.0000 Média Geral 0.9016 0.9448 1.9708 Média Do Usuário 0.8103 0.8346 1.6941 Média Do Item 0.8340 0.8142 1.6427 Aleatória 1.3941 1.3850 1.9930 V-Usuário 0.7733 0.7257 1.6395 V-Item 0.7574 0.7172 R-SVD 0.8061 0.7227 NMF 0.8737 0.7747 PMF 0.7914 0.8783 BPMF 0.8042 0.7431 AGRADECIMENTOS O primeiro autor agradece à Pontifícia Universidade Católica de Campinas-SP pela oportunidade de realizar este trabalho e ao orientador, Prof. Dr. Juan Manuel Adán Coello, pela convivência e os novos conhecimentos obtidos. REFERÊNCIAS [1] Thai-Nghe, N., et al.(2011), Factorization models for forecasting student performance, in Proceedings of the 4th International Conference on Educational Data Mining (EDM 2011). [2] Romero, C., e Ventura, S. (2010), Educational data mining: a review of the state of the art, Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, vol. 40, no. 6, p. 601 618. [3] Celma, Ò. (2010), The Recommendation Problem, in Music Recommendation and Discovery, Berlin Heidelberg: Springer-Verlag, pp. 15 41.. [4] Su, X., e Khoshgoftaar, T. M. (2009), A survey of collaborative filtering techniques, Advances in Artificial Intelligence, vol. 2009, p. 4. [5] Thai-Nghe, N., et al. (2011), Factorization techniques for predicting student performance, Educational Recommender Systems and Technologies: Practices and Challenges, IGI Global. NLPMF 0.8549 0.8380 5. CONCLUSÃO O objetivo deste trabalho foi analisar o desempenho de algoritmos de recomendação conhecidos quando aplicados ao problema de prever a nota de alunos em atividades ainda não realizadas, relativamente ao desempenho desses algoritmos em problemas de outros domínios. Os testes realizados mostram que os resultados alcançados para a base educacional escolhida são sensivelmente inferiores aos observados para outros domínios. As causas terão que ser investigadas. Elas podem se dever a características do domínio educacional, da base educacional considerada, que continha um número expressivamente menor de itens e avaliações, ou a problemas de formatação da base, dado que o sistema empregado para executar os testes apresentou erros ao tentar executar diversos algoritmos para esta base. Em trabalhos futuros recomenda-se também analisar a escalabilidade dos algoritmos testados.