• Nenhum resultado encontrado

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Copied!
110
0
0

Texto

(1)

UNIVERSIDADE DO VALE DO ITAJAÍ

CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

COMPARAÇÃO ENTRE DUAS TÉCNICAS DE IA PARA DETECÇÃO DE

POTENCIAIS ALUNOS DESISTENTES

Área de

Inteligência Aplicada a Educação

por

Diogo Altoé Lopes

André Luís Alice Raabe, Dr.

Orientador

(2)

UNIVERSIDADE DO VALE DO ITAJAÍ

CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

COMPARAÇÃO ENTRE DUAS TÉCNICAS DE IA PARA DETECÇÃO DE

POTENCIAIS ALUNOS DESISTENTES

Área de

Inteligência Aplicada a Educação

por

Diogo Altoé Lopes

Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação.

Orientador: André Luís Alice Raabe, Dr.

(3)

SUMÁRIO

1 INTRODUÇÃO ... 1

1.1 PROBLEMATIZAÇÃO ... 3

1.1.1 Formulação do Problema ... 3

1.1.2 Solução Proposta ... 3

1.2 OBJETIVOS... 4

1.2.1 Objetivo Geral ... 4

1.2.2 Objetivos Específicos ... 4

1.3 METODOLOGIA ... 4

1.4 ESTRUTURA DO TRABALHO ... 5

2 FUNDAMENTAÇÃO TEÓRICA... 7

2.1 STI ALICE ... 7

2.1.1 Estrutura do STI ALICE ... 8

2.1.2 Perfis de Usuário ... 10

2.1.3 Considerações ... 11

2.2 REDES BAYESIANAS ... 13

2.2.1 Probabilidade Condicional... 14

2.2.2 Inferências em Redes Bayesianas ... 18

2.2.3 Considerações ... 18

2.3 HUGIN... 18

2.3.1 O Ambiente de Desenvolvimento Hugin ... 18

2.3.2 Componentes do Hugin ... 19

2.3.3 Criando uma Rede (Interface Gráfica do Hugin)... 21

2.3.4 Considerações ... 24

2.4 WEBSERVICE... 25

2.4.1 Considerações ... 26

2.5 MODELO BASEADO NO CONHECIMENTO DO ESPECIALISTA

(PROJETO REALIZADO EM 2005) ... 26

2.5.1 Os Serviços do WebService ... 27

2.5.2 Aplicação Cliente ... 27

2.5.3 Gramática para Definição das Consultas... 28

2.5.4 Exemplo de Aplicação ... 28

2.5.5 Modelo de Predição da Evasão (Conhecimento do Especialista) ... 32

2.5.6 Considerações ... 40

2.6 DESCOBERTA DE CONHECIMENTO EM BASE DE DADOS (KDD) .... 40

2.6.1 O que é KDD... 41

2.6.2 O Processo de KDD ... 42

2.6.3 Data Warehouse ... 44

2.6.4 Mineração de Dados ... 47

(4)

2.7 WEKA... 53

2.7.2 Arquivo ARFF ... 55

2.7.3 API do WEKA ... 56

2.7.4 Considerações ... 56

2.8 TRABALHOS SIMILARES... 57

2.8.1 Aplicações de Mineração de Dados Baseado em Restrições... 57

2.8.2 Fatores de Influência no Esforço dos Universitários Usando Métodos de

Mineração de Dados... 61

2.8.3 Sistema Especialista para a Análise da Evasão Discente... 63

3 DESENVOLVIMENTO ... 66

3.1 NOVOS SERVIÇOS NO WEBSERVICE (PROCESSO DE KDD)... 66

3.1.1 Porque Data Mart ... 66

3.1.2 Variáveis Escolhidas... 66

3.1.3 Origem das Variáveis ... 70

3.1.4 Confecção das Amostras ... 70

3.1.5 Inscrição das Amostras ... 71

3.1.6 Execução da Mineração de Dados ... 72

3.2 MODELO CONCEITUAL ... 73

3.2.1 Diagramas de Classe... 73

3.2.2 Caso de Uso... 76

4 RESULTADOS E DISCUSSÕES... 78

4.1.1 Experimentos com o Modelo Baseado no Conhecimento do Especialista .. 78

4.1.2 Experimentos com o Modelo Baseado no Processo de KDD ... 80

4.1.3 Comparação dos Resultados dos Experimentos ... 85

5 Conclusões... 86

REFERÊNCIAS BIBLIOGRÁFICAS... 88

(5)

LISTA DE ABREVIATURAS

API Application Program Interface

BNF Backus-Naur Form

CPT Conditional Probability Table

CSV Comma Separated Value

DAG Directed Aciclic Graph

DW Data Warehouse

FP Falso Positivo

GUI Grafical User Interface

HDE Hugin Decision Engine

HTML Hipertext Markup Language IA Inteligência Artificial

IP Internet Protocol

ITA Intelligent Teaching Assistant J2EE Java 2 Platform, Enterprise Edition KDD Knowledge Discovery in Database PHP Hypertext Preprocessor

RBC Raciocínio Baseado em Casos SAD Sistemas de Apoio a Decisão SEP Sistema Especialista Probabilístico SDK Software Development Kit

SOAP Simple Object Access Protocol STI Sistema Tutor Inteligente

TCC Trabalho de Conclusão de Curso TIC Trabalho de Iniciação Científica TPC Tabela de Probabilidade Condicional

UDDI Universal Description, Discovery and Integration UNIVALI Universidade do Vale do Itajaí

URI Uniform Resource Identifier

VN Verdadeiro Negativo

VP Verdadeiro Positivo

WS Web Service

WSDL Web Services Description Language XML Extensible Markup Language

(6)

LISTA DE FIGURAS

Figura 1. As seções do STI ALICE (Screenshot do STI ALICE)...9

Figura 2. Tela de configuração dos dados do aluno (Screenshot do STI ALICE)...10

Figura 3. Tela da seção Praticando (Screenshot do STI ALICE) ...11

Figura 4. Detalhe das atividades acessadas pelo aluno (Screenshot do STI ALICE) ...12

Figura 5. Lista de nota dos alunos em uma avaliação (Screenshot do STI ALICE) ...12

Figura 6. Representação do problema em uma Rede Bayesiana ...16

Figura 7. Probabilidades condicionais ligadas aos nodos da rede ...17

Figura 8. Interface Gráfica do Usuário (Screenshot do Hugin) ...20

Figura 9. Modelo do Enigma do Salão de Monty ...22

Figura 10. Probabilidade do prêmio ...22

Figura 11. Probabilidade da primeira escolha...22

Figura 12. Probabilidade da escolha de Monty...23

Figura 13. Possibilidades de ganhar o prêmio ...23

Figura 14. Probabilidade de escolher a porta certa ...24

Figura 15. Definindo a variável de ambiente do Java SDK...29

Figura 16. Definindo a variável de ambiente do Tomcat ...29

Figura 17. Definindo a variável de ambiente do Axis ...30

Figura 18. Executando o Tomcat ...30

Figura 19. Tela de inscrição da Rede Bayesiana no WebService...30

Figura 20. String de evidências (Input) ...31

Figura 21. Tela de execução da Rede Bayesiana no WebService ...32

Figura 22. Exemplo de uma String de saída (Output) ...32

Figura 23. Modelo da evasão proposta pelo especialista...34

Figura 24. Tabela de Probabilidade Condicional do nodo DESISTENCIA...38

Figura 25. Etapas do processo de KDD...44

Figura 26. Exemplificação de um Data Warehouse...45

Figura 27. Exemplificação do Data Marts departamentais ...47

Figura 28. WEKA Explorer (Screenshot do WEKA) ...54

Figura 29. Planilha contendo os dados do clima ...55

Figura 30. Arquivo no formato ARFF...56

Figura 31. Modelo da interação estudante-tutor ...58

Figura 32. Construção da variável de decisão...62

Figura 33. Rede Bayesiana final utilizada como base para a construção do E-Bayes ...65

Figura 34. Conversão para o WEKA (formato ARFF) ...71

Figura 35. Confecção e inscrição de amostras no WebService ...71

Figura 36. Execução da Mineração de Dados no WebService ...73

Figura 37. WebService (UML) ...74

Figura 38. Class Messages (UML)...74

Figura 39. Class PortTypes (UML)...75

Figura 40. Class Bindings (UML)...75

Figura 41. Services (UML) ...76

(7)

LISTA DE TABELAS

Tabela 1. Estrutura do STI ALICE...8

Tabela 2. Probabilidades condicionais da tabela Alarme ...17

Tabela 3. Padrões e protocolos baseados XML ...26

Tabela 4. Gramática para definição das consultas ...28

Tabela 5. Faixa de valores das variáveis qualitativas...35

Tabela 6. Critério para combinação de valores ...35

Tabela 7. Combinação das variáveis do grupo Desempenho ...36

Tabela 8. Planilha de alunos e médias por grupo ...36

Tabela 9. Planilha de grupos e seus respectivos pesos ...37

Tabela 10. Resultados dos experimentos...40

Tabela 11. Taxonomia das variáveis relacionadas ao exercício do estudante em um problema ...59

Tabela 12. Critério de pontuação no ranking...68

Tabela 13. Critério de discretização das notas ...68

Tabela 14. Critério de discretização das faltas...69

Tabela 15. Descrição dos cenários ...77

Tabela 16. Resultados dos experimentos dos grupos 1, 2 e 3 (Rede Bayesiana)...79

Tabela 17. Resultados dos experimentos do grupo 1 (processo de KDD) ...81

Tabela 18. Resultados dos experimentos do grupo 2 (processo de KDD) ...82

Tabela 19. Resultados dos experimentos do grupo 3 (processo de KDD) ...83

(8)

LISTA DE EQUAÇÕES

Equação 1...14 Equação 2...14 Equação 3...14 Equação 4...15 Equação 5...37 Equação 6...37 Equação 7...38 Equação 8...38 Equação 9...38

(9)

RESUMO

LOPES, Diogo Altoé. Comparação Entre Duas Técnicas de IA para Detecção de Potenciais

Alunos Desistentes. Itajaí, 2008. 110 f. Trabalho de Conclusão de Curso (Graduação em Ciência da

Computação) – Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2008.

Dando continuidade a um projeto realizando em 2005 e objetivando melhorar os resultados da ferramenta desenvolvida onde, utilizou-se o conhecimento do especialista (professor da disciplina) e o programa Hugin para criar um modelo (Rede Bayesiana) do perfil dos alunos desistentes da disciplina, optou-se por desenvolver neste trabalho um novo modelo baseado em outra abordagem (o processo de Knowledge Discovery in Database), para a solução do mesmo problema (evasão dos alunos na disciplina). No projeto, o modelo foi adaptado e incorporado a um Sistema Tutor Inteligente (STI) (chamado STI ALICE) através da API Java do Hugin e um WebService, afim de servir como um assistente (Assistente de Predição da Evasão - APE) dos professores na disciplina, predizendo e indicando os possíveis alunos desistentes. Neste trabalho, aproveita-se a infra-estrutura tecnológica do projeto, entretanto algumas alterações foram necessárias para suportar os serviços da nova abordagem, onde busca-se por maior precisão na identificação desses alunos. Afim de validar ou escolher entre uma das abordagens (modelo baseado no conhecimento do especialista e processo de KDD) para compor o APE, foram realizados experimentos em ambas as abordagens utilizando a mesma base de dados (turmas de 2005, 2006 e primeiro semestre de 2007 do STI ALICE). Os resultados obtidos indicaram, considerando os critérios de avaliação, que o modelo baseado no processo de KDD apresentou melhor desempenho na identificação dos alunos desistentes.

Palavras-chave: Descoberta de Conhecimento em Base de Dados. Rede Bayesiana. Sistema Tutor

(10)

ABSTRACT

Continuing a project carried out in 2005 and aiming improve the performance of the tool developed, wich used specialist knowledge (course teacher) and Hugin Software for create a Bayesian Network model to identify the profile of drop-out students. In this peace of work was developed a new model based on a different approach (Knowledge Discovery in Database process), to solve the same problem. The original model has been adapted and incorporated in an Intelligent Tutor System (ITS) (called, Alice) through Hugin Java API and a also a WebService. It became an assistant of teachers in the course indicating the probability of a student to drop-out the course. In this monography, using a KDD approach, was possible to improve precision in identifying these students. The monography presents the steps needed to accomplish the original goals and also descrives comparatively the results of both approaches using Bayesian Networks and using KDD.

(11)

1 INTRODUÇÃO

Uma grave questão enfrentada pelas instituições de ensino é a evasão dos alunos, apresentando um alto índice nos cursos de graduação no Brasil. Cerca de 40% dos alunos ingressantes acabam desistindo, levando à hipótese de que as instituições de ensino superior não estão preocupadas com estes dados ou não estão se adequando a este fenômeno, quer na gestão dos cursos existentes, quer na abertura de novos cursos (NASSAR, et al., 2004).

Nesse contexto, entende-se ser importante o desenvolvimento de ferramentas que permitam auxiliar na identificação desses alunos (desistentes), possibilitando as instituições de ensino tomarem às devidas providências para evitar a demasiada evasão desses acadêmicos. Com esse intuito, em 2005 foi desenvolvido um projeto que utilizou-se de técnicas de raciocínio probabilístico, mais especificamente Redes Bayesianas, para modelar o perfil do aluno desistente. Segundo Idis (2005), existem diversas ferramentas que possibilitam modelar uma Rede Bayesiana e simular o seu funcionamento a fim de validar o conhecimento representado. Dentre estas, destacam-se o Hugin, Microsoft Belief Networks e Netica.

Os sistemas que atuam na descoberta de conhecimento estão no escopo da área de inteligência artificial (IA) e comunidades acadêmicas desta área tem depositado grande interesse na técnica de raciocínio probabilístico chamada de Rede Bayesiana (CASTILLO, GUTIÉRREZ e HADI, 1997; JENSEN, 1996; COWELL et al., 1999). Segundo Russel e Norvig (2004), uma Rede Bayesiana é um modelo gráfico que representa as relações de causalidade entre variáveis de um sistema possibilitando modelar o conhecimento. A rede recebe evidências (variáveis de entrada) e retorna a possibilidade de ocorrência de determinados eventos (variáveis de saída).

No projeto desenvolvido em 2005, confeccionou-se um modelo baseado em técnicas de Redes Bayesianas para estruturar o conhecimento do professor (especialista) sobre o perfil do aluno desistente, onde optou-se por utilizar a ferramenta Hugin por possibilitar a integração com outras aplicações por meio de uma API (Aplication Program Interface) Java e por possuir uma versão educacional sem custo de licença. A fim de disponibilizar os serviços de inscrição e execução do modelo (da Rede Bayesiana), foi desenvolvido um WebService utilizando a API Java, onde foi possível adaptar e incorporar o modelo ao Sistema Tutor Inteligente (STI) Alice. Foi criado assim um Assistente de Predição da Evasão (APE) que auxilia aos professores da disciplina a identificar os possíveis alunos desistentes.

(12)

O STI ALICE é um Sistema Tutor Inteligente da modalidade ITA (Intelligent Teaching

Assistant), que registra ações realizadas pelos alunos, assim como informações complementares

fornecidas pelo professor. Desta forma, possui uma vasta quantidade de registros sobre as atividades realizadas, horários de acesso, perfil de utilização e desempenho dos alunos. A pesquisa de STI tem como objetivo fundamental o desenvolvimento de ambientes computadorizados que auxiliem a aprendizagem de alunos de forma personalizada, ou seja, adaptando-se as características e necessidades específicas de um determinado aluno em um determinado instante.

No presente trabalho, buscou-se por evidenciar novos padrões ou correlações nos dados, afim de criar um novo modelo para o perfil do aluno desistente. Desta forma, utilizando o processo de KDD (Knowledge Discovery in Database) com o auxílio de uma ferramenta de mineração de dados (WEKA), foi criado um novo mecanismo de predição que encontrou relacionamentos nos dados, ocultos ao especialista, possibilitando uma melhoria nos resultados da predição do assistente. Foram realizados experimentos utilizando a base de dados do STI ALICE (turmas de 2005, 2006 e primeiro sementre de 2007), onde, parte dos dados serviu de amostra base para gerar o modelo, e a outra, de amostra teste para validar o modelo. Os resultados foram analisados a fim de escolher o algoritmo que tivesse maior nível de acerto e homogeniedade. Por fim, foi realizada uma análise comparativa entre os resultados: (i) do projeto (modelo baseado no conhecimento do especialista) e (ii) os inferidos por meio do processo de KDD nesse trabalho, procurando evidenciar pontos positivos e negativos de ambas as abordagens.

O uso de técnicas de KDD em ambientes educacionais tem se mostrado promissor em identificar caraterísticas que não seriam perceptíveis ao humano. Pelo fato de lidar automaticamente com grandes massas de dados, diversos trabalhos nessa direção vem sendo desenvolvidos. O trabalho de Superby e Vandamme (2007), por exemplo, teve como objetivo classificar o perfil dos estudantes das universidades da Bélgica em grupos (e.g., baixo-risco, médio-risco e alto-risco) conforme apresenta a seção 2.8.2, de Nilakant (2004), buscou-se desenvolver um framework com base na análise das interações entre um STI e o estudante, identificando os específicos problemas com o STI que afetam os estudantes, e usar essas informações para determinar as causas do problema no framework, auxiliando o desenvolvedor do STI a melhorar a forma de interação, como apresentado na seção 2.8.1. Outro trabalho encontrado foi de Rovaris Neto (2002), onde, a partir da base de dados de uma instituição de ensino e de um questionário aplicado aos alunos desta, propõe aplicar técnicas de mineração de dados e utilizar o conhecimento em Redes Bayesianas, para

(13)

prováveis que possam ocasionar a evasão escolar dos alunos e estimar a sua permanência, conforme detalhado na seção 2.8.3.

Considerando os trabalhos citados anteriormente, acredita-se que este TCC pode representar uma importante contribuição para a área de Sistemas Tutores Inteligentes, auxiliando a elucidar o potencial de utilização dos dados dos alunos durante a utilização do sistema como uma fonte de previsão de seus comportamentos e atitudes. Outra contribuição está em auxiliar professores a identificar os alunos que tenham maior possibilidade de abandono da disciplina, possibilitando dar à estes maior atenção e auxílio.

1.1 PROBLEMATIZAÇÃO

1.1.1 Formulação do Problema

No projeto em 2005, foi desenvolvida uma ferramenta que possibilitou integrar um modelo (do perfil do aluno desistente) baseado no conhecimento do especialista e em técnicas de Redes Bayesianas, a um STI (ALICE), a fim de auxiliar na identificação dos alunos com maior propensão a desistência da disciplina. Devido ao insuficiente suporte de algumas variáveis no banco de dados e buscando melhorias nos resultados da ferramenta, formulou-se o seguinte problema: Com a utilização de um maior número de dados e de outras técnicas de inteligência artificial, é possível descobrir nos dados, padrões e relacionamentos ocultos ao especialista que ajudariam a modelar o perfil do aluno desistente?

1.1.2 Solução Proposta

Visando uma abordagem que possibilite evidenciar padrões ocultos ao especialista, optou-se por utilizar o processo de KDD e a ferramenta de mineração de dados WEKA para o desenvolvimento de um novo modelo de predição. Após realizadas as devidas adaptações no mecanismo que antes fôra desenvolvido no projeto em 2005, o modelo foi implantado, buscando por melhoria dos resultados (como precisão na identificação dos alunos desistentes). Futuramente, poderia adaptar o modelo para abranger outras disciplinas e/ou cursos, podendo contribuir de modo mais expressivo com a instituição acadêmica.

(14)

1.2 OBJETIVOS

1.2.1 Objetivo Geral

Comparar os resultados obtidos por duas diferentes abordagens: (i) modelo baseado no conhecimento do especialista; e (ii) modelo baseado no processo de KDD, apontando seus principais pontos positivos e negativos, e definindo a melhor solução para o problema de evasão dos alunos.

1.2.2 Objetivos Específicos

 Atualizar o modelo baseado no conhecimento do especialista, utilizando os dados dos alunos da disciplina de Algoritmos e Programação de 2005, 2006 e primeiro semestre de 2007;

 Realizar o estudo do processo de KDD;

 Aplicar o processo de KDD sobre a base de dados do STI ALICE (turmas de 2005, 2006 e do primeiro semestre de 2007);

 Criar um mecanismo de predição baseado no processo de KDD tendo por objetivo maior precisão na identificação dos alunos desistentes; e

 Comparar os resultados do modelo baseado no conhecimento do especialista com os resultados do modelo baseado no processo de KDD, analisando e apresentando o estudo.

1.3 METODOLOGIA

O desenvolvimento deste trabalho foi realizado seguindo quatro etapas, onde a primeira etapa consiste em estudar, analisar e sintetizar os aspectos relativos ao projeto em 2005 (modelo baseado no conhecimento do especialista), e pesquisar e estudar o processo de KDD. A segunda etapa visou:

 Selecionar os dados alvos (base de dados do STI ALICE e planilhas eletrônicas - turmas de 2005, 2006 e primeiro semestre de 2007);

 Tratar e pré-processar os dados (limpeza dos dados);

(15)

 Converter os dados do Data Mart para o formato ARFF (utilizado pela ferramenta de mineração de dados WEKA); e

 Realizar experimentos com os algoritmos de mineração de dados sobre esses dados transformados.

A terceira etapa buscou:

 Analisar os resultados dos experimentos e escolher o algoritmo de mineração de dados que será utilizado no Assistente de Predição da Evasão (APE);

 Criar novo serviço no WebService que possibilite executar os algoritmos de mineração de dados sobre dados de entrada (evidências do aluno);

 Adaptar e incorporar o serviço ao STI ALICE (Assistente de Predição da Evasão);  Atualizar o modelo baseado no conhecimento do especialista utilizando dados das

turmas de 2005, 2006 e primeiro semestre de 2007, e realizar novos experimentos; e  Analisar e confrontar os resultados obtidos com modelo baseado no conhecimento do

especialista e com o modelo baseado no processo de KDD.

Na quarta etapa, que ocorreu em paralelo com as demais, registrou-se todo o processo pertinente à pesquisa científica. Tais como: (i) a descrição do problema; (ii) a proposta de uma nova solução (modelo); (iii) o desenvolvimento dessa solução; (iv) os experimentos e validação da nova solução; (v) e os resultados finais. Além da documentação completa (o texto do TCC), confeccionou-se um artigo científico para divulgação da pesquisa realizada.

1.4 ESTRUTURA DO TRABALHO

Este trabalho está estruturado em quatro capítulos. O Capítulo 1 apresentam os motivos que levaram a realizar esse trabalho, expondo a solução encontrada, além de definir os objetivos, metodologias e estruturas necessárias para o desenvolvimento desse trabalho.

O Capítulo 2 trata de toda etapa de fundamentação teórica, sendo abordados temas importantes para compreensão desse trabalho. Tem por fundamentação: (i) apresentar o sistema (STI ALICE) que gera os dados utilizados no desenvolvimento do modelo; (ii) definir alguns conceitos de WebService; (iii) descrever o projeto onde desevolveu-se o modelo baseado no conhecimento do especialista, e que serviu de base para o desenvolvimento deste trabalho; (iv) listar

(16)

e definir as etapas do processo de KDD; (v) apresentar a ferramenta de mineração de dados (WEKA); e (vi) descrever trabalhos similares.

O Capítulo 3 visa documentar e descrever todas as etapas do desenvolvimento do trabalho, além de apresentar o modelo conceitual do sistema desenvolvido, assim como os diagramas julgados pertinentes para o entendimento do trabalho.

O Capítulo 4 enseja as considerações finais, documentando os resultados, observações, análises e conclusões obtidas com os experimentos realizados.

(17)

2 FUNDAMENTAÇÃO TEÓRICA

A fundamentação teórica busca dar suporte ao entendimento dos fatores tecnológicos utilizados neste trabalho, abordando tanto as tecnologias utilizadas para a confecção do modelo baseado no conhecimento do especialista (professor da disciplina) como no modelo baseado no processo de KDD.

2.1 STI ALICE

A partir do trabalho apresentado por Silva (2005), o STI ALICE é um ambiente virtual de ensino-aprendizagem que almeja oferecer um acompanhamento individualizado sobre o desempenho do aluno em cada um dos itens do conteúdo programático abordado na disciplina de Algoritmos e Programação I (i.e., disciplina ministrada no primeiro semestre do curso de Ciência da Computação na Universidade do Vale do Itajaí), bem como fornecer aos alunos um repositório de materiais didáticos básicos e complementares e exercícios práticos.

A autora define ainda que o acompanhamento dos alunos é realizado considerando aspectos referente ao desempenho, comportamento e emoções, analisados através do ambiente e pelas observações realizadas pelo professor em sala de aula.

Segundo ela, o STI ALICE se baseia no ensino a distância, objetivando auxiliar o aprendizado dos alunos da disciplina de Algoritmos e Programação I através da Internet, utilizando da abordagem semi-presencial e visando agregar características tanto do ensino presencial quanto do virtual, aproveitando as características mais relevantes de cada um:

 Presencial: gera laços emocionais entre os participantes, permite mapear grupos e estimula a socialização; e

 Virtual: permite mobilidade e um horário mais flexível, estimula a construção colaborativa do conhecimento, trabalhos em grupo e locais para produção.

Ela afirma que o STI ALICE é uma ferramenta de complementação do ensino presencial, tornando possível a flexibilidade dos alunos quanto ao tempo e espaço, exercitando freqüentemente seus conhecimentos e maior interação com colegas, monitores e professores na busca por soluções.

(18)

2.1.1 Estrutura do STI ALICE

No projeto do STI ALICE foram desenvolvidos seis assistentes inteligentes, os Assistentes Inteligentes de Ensino (ITAs - Intelligent Teaching Assistant Systems), que auxiliam tanto aos alunos como aos professores, ou seja, orientando os alunos e assistindo ao professor no acompanhamento do desempenho dos alunos em cada um dos itens do conteúdo programático da disciplina. A Tabela 1 ilustra a estrutura do STI ALICE.

Tabela 1. Estrutura do STI ALICE

Materiais Ferramentas de Gerenciamento de Ensino- Aprendizagem Ferramentas de Comunicação Assistentes - De Referência - Complementares (Dicas, Tutoriais, Apostilas, Links, Códigos-Fonte, Parede da Fama, Downloads, Recreio - Chamada - Notas - Gestão de Dificuldades de Aprendizagem - Acompanhamento - Praticando - Correio - Meus Dados - Sensor de Presença - Recados do Professor - Detecção de Plágio - Diagnóstico de Algoritmos - Modalidade de Mediação - Identificação de Dificuldades de Aprendizagem - Personagem Alice - Montagem de Questões Fonte: Adaptado de Silva (2005).

Segundo Silva (2005), os materiais de referência e complementares apresentam informações de apoio à aprendizagem. As ferramentas de gerenciamento visam assistir ao professor em suas tarefas cotidianas de sala de aula e exclusivas do ambiente (e.g., registros de chamadas, notas de avaliações, informar percepções dos alunos, confeccionar e corrigir exercícios). As ferramentas de comunicação servem para os alunos descreverem suas características, trocarem mensagens, receberem recados do professor e perceberem a presença de colegas no ambiente.

Neste trabalho, a autora também desenvolveu materiais didáticos adequados ao ensino a distância, optando por disponibilizar dois tipos de matérias (e.g., de referência e complementar). O de referência é composto por documentos hipertexto e animações ilustrativas seguindo a proposta da ementa da disciplina dividida em oito unidades (e.g., Conceitos Fundamentais, Representação de Dados, Operações, Instruções Primitivas, Desvio Condicional, Laços de Repetição, Tipos Compostos e Modularização). Já os materiais complementares são arquivos textuais, códigos-fonte com exemplos, jogos para desenvolvimento do raciocínio lógico, e outros; distribuídos em oito

(19)

categorias (e.g., Dicas, Tutoriais, Apostilas, Links, Códigos-fonte, Parede da Fama, Downloads e Recreio).

Figura 1. As seções do STI ALICE (Screenshot do STI ALICE)

O STI ALICE, conforme Figura 1, possui diversas seções, entre elas estão:

 Dicas: reúne dicas de programação, soluções rápidas e práticas, com exemplos;  Tutoriais: textos explicativos envolvendo os conceitos da disciplina;

 Apostilas: links para apostilas recomendadas;  Links: links para outros sites interessantes;

 Códigos-fonte: links para códigos-fontes de destaque;  Download: links para downloads de programas/softwares;

 Praticando: construção, desenvolvimento e controle e exercícios construídos pelo professor e pelo sistema. Contém questões: algoritmos, discursivas, alternativas, e verdadeiro/falso;

 Unidades: unidades de aprendizagem;

 Conceitos: conceitos trabalhados dentro de cada unidade de aprendizagem;  Correio: sistema de envio de mensagens internas entre os participantes;

 Recados: envio de recados aos alunos. A mensagem fica é mostrada em todas as páginas acessadas;

 Alunos: controle de alunos. Apresenta estatísticas de aproveitamento nos conceitos, perfil de acesso, exercícios realizados, etc; e

(20)

2.1.2 Perfis de Usuário

Conforme a autora, o ambiente possui três perfis de usuário:

 Administrador: gerencia informações como os cadastros de alunos, professores, disciplinas e cursos;

 Professor: é considerado o mais complexo do ambiente, pois além de gerenciar o conteúdo instrucional, é responsável pela configuração e acompanhamento do desempenho do aluno; e

 Aluno: têm acesso aos materiais, possibilidade de realizar exercícios, troca de mensagens, visualização de colegas e gerenciamento dos dados pessoais.

2.1.2.1 Professor

O professor pode interferir no modelo do aluno, informando quais conceitos o aluno apresentou dificuldades em sala de aula, conforme Figura 2.

Figura 2. Tela de configuração dos dados do aluno (Screenshot do STI ALICE)

A seção denominada “Praticando” é onde os exercícios são confeccionados e corrigidos, conforme Figura 3. Eles são compostos de questões objetivas (alternativas e verdadeiro / falso) e

(21)

dissertativas (algoritmos e discursivas). As objetivas são corrigidas pelo ambiente automaticamente, no momento da submissão feita pelo aluno. As dissertativas passam a ser disponibilizadas aos professores para correção.

Figura 3. Tela da seção Praticando (Screenshot do STI ALICE)

2.1.3 Considerações

Compreende-se que um ambiente virtual é de importante ajuda no auxílio ao desenvolvimento do aprendizado do aluno e no suporte ao acompanhamento do desempenho do aluno pelo professor, além de manter na sua base de dados informações úteis sobre o aluno na disciplina. Pode-se dizer então, que essa base de dados é uma grande fonte de informações sobre os comportamentos dos acadêmicos.

É possível observar o comportamento do aluno através das diversas telas do STI ALICE, na Figura 4 por exemplo, tem-se a relação da quantidade de acessos do aluno a determinada atividade, possibilitando assim, identificar as principais atividades acessadas pelo aluno.

(22)

Figura 4. Detalhe das atividades acessadas pelo aluno (Screenshot do STI ALICE) O STI ALICE possui também a tela da lista de nota dos alunos em determinada avaliação, conforme apresenta a Figura 5, onde através desta, pode-se observar a variação e a média da nota dos alunos.

Figura 5. Lista de nota dos alunos em uma avaliação (Screenshot do STI ALICE) Obtêm-se uma melhor idéia da estrutura do STI ALICE através do diagrama de entidade relacionamento (ER) apresentados no anexo I.3, onde se tem a visão dos exercícios e das notas.

(23)

Pretende-se usar o STI ALICE para indicar nas telas, os alunos estimados (identificados) como desistentes, a fim de facilitar o acompanhamento por parte do professor.

2.2 Redes Bayesianas

De acordo com Pearl (1988), as Redes Bayesianas foram desenvolvidas nos anos 70, para modelar a leitura e compreensão em sistemas distribuídos, onde, expectativa semântica e percentual de evidência devem estar combinadas, formando assim, uma interpretação coerente. A habilidade para coordenar inferências bidirecionais, preencheu a lacuna existente na tecnologia dos sistemas especialistas no início dos anos 80. A partir disto, as Redes Bayesianas emergiram como uma forte ferramenta para a representação de incertezas.

Segundo Russel e Norvig (2004), uma Rede Bayesiana é uma descrição concisa de distribuições de probabilidade. É definida como um grafo acíclico, tendo os nodos representando variáveis aleatórias, e cada variável tem uma matriz das probabilidades condicionadas, a sua probabilidade específica, dado a combinação de cada uma das possibilidades das variáveis ‘pais’, sendo essas, as únicas variáveis das quais a variável aleatória depende diretamente.

Nassar et. al. (2004) afirma que, as Redes Bayesianas podem ser definidas como um Grafo Acíclico e Orientado (DAG), onde os nodos representam as variáveis de interesse e as ligações entre os nodos representam a dependência causal entre as variáveis. A força desta dependência é representada pela probabilidade condicional. De uma forma geral, a estrutura de uma rede consiste de duas partes:

 Parte Qualitativa: Representa o modelo gráfico (grafo acíclico direcionado) onde as variáveis são: os nodos com suas regras; e as relações de dependência condicional entre essas variáveis, que são: os arcos direcionados. A parte qualitativa representa assim, a dependência entre os nodos; e

 Parte Quantitativa: É o conjunto de probabilidades condicionais associadas aos arcos existentes no modelo gráfico e as probabilidades estimadas apriori do nodo de saída. Segundo (Pearl, 1988), a parte quantitativa, por meio das tabelas de probabilidades condicionais, avalia as dependências representadas na parte qualitativa.

(24)

2.2.1 Probabilidade Condicional

Nassar et. al. (2004) propõe que, para entender melhor o aspecto quantitativo do raciocínio probabilístico e do teorema de Bayes é necessário uma breve introdução aos conceitos de probabilidade condicional.

Para isso, utilizou-se a explicação de Russel e Norvig (2004).

A notação usada é P(a | b) onde a e b são proposições quaisquer. Essa expressão é lida como “a probabilidade de a, dado que b ocorreu”.

8 , 0 ) dente de dor | cárie (  P Equação 1

Para exemplificar a Equação 1 os autores indicam que, se um paciente tem dor de dente, a probabilidade de o paciente ter uma cárie é de 0,8 (80%). Uma probabilidade a priori, como

P(cárie), pode ser considerada um caso especial da probabilidade condicional P(cárie |), na qual a

probabilidade não está condicionada a nenhuma evidência. As probabilidades condicionais podem ser definidas em termos de probabilidades incondicionais. A equação de definição é (Equação 2):

) ( ) ( ) | ( b P b a P b a P   Equação 2

que é válida sempre que P(b) > 0. Essa equação também pode ser escrita como a Equação 3:

) ( ) | ( ) (a b P a b P b P   ) ( ) | ( ) (a b P b a P a P   Equação 3

que se denomina regra do produto. A regra do produto vem do fato que, para a e b serem verdadeiras, é necessário que b seja verdadeira, e também que a seja verdadeira dada b. Podendo ser escrito também no sentido contrário, devido à comutatividade da conjunção.

(25)

) ( ) ( ) | ( ) | ( a P b P b a P a b PEquação 4

Essa equação é conhecida como regra de Bayes (e também como lei de Bayes ou teorema de Bayes).

Uma vez que a topologia da Rede Bayesiana tenha sido definida, basta especificar as probabilidades condicionais para os nodos que possuem dependências diretas e usá-las para calcular qualquer outro valor de probabilidade. O cálculo das probabilidades condicionais é realizado de acordo com o conhecimento prévio de informações obtidas a partir dos dados de análise utilizados.

A Rede Bayesiana pode ser considerada uma base de conhecimento abstrata que contém uma grande variedade de composições diferentes, uma vez que, para os autores, ela representa a estrutura geral dos processos causais do domínio, em lugar de qualquer detalhe da população de indivíduos.

Há dois tipos de cálculos realizados por uma Rede Bayesiana: (i) a atualização de crenças e (ii) a revisão de crenças. A atualização é o cálculo de probabilidades das variáveis aleatórias e a revisão refere-se à obtenção das probabilidades das hipóteses diagnósticas (nodo de saída) e a identificação da hipótese diagnóstica com maior valor de probabilidade (Nassar et. al., 2004).

Para Marques (2003), matematicamente, uma Rede Bayesiana é uma representação compacta de uma tabela de conjunção de probabilidades do universo do problema. Por outro lado, do ponto de vista de um especialista, Redes Bayesianas constituem um modelo gráfico que representa de forma simples as relações de causalidade das variáveis de um sistema. Uma Rede Bayesiana consiste do seguinte:

 Um conjunto de variáveis e um conjunto de arcos ligando as variáveis;

 Cada variável possui um conjunto limitado de estados mutuamente exclusivos;

 As variáveis e arcos formam um grafo dirigido sem ciclos (Directed Aciclic Graph - DAG); e

 Para cada variável A que possui como pais B1, ..., Bn, existe uma tabela P(A| B1, ..., Bn).

(26)

Caso A não possua um pai, a tabela de probabilidades é reduzida para uma probabilidade incondicional P(A). Uma vez definida a topologia da rede, basta especificar as probabilidades dos nodos que participam em dependências diretas, e utilizar estas para computar as demais probabilidades que se deseje.

Russel e Norvig (2004) apresentam o seguinte exemplo: “Uma casa possui um novo alarme contra assaltantes. Este alarme é bastante confiável na detecção de um roubo, entretanto, também responde ocasionalmente caso ocorra pequenos terremotos. Existem dois vizinhos, João e Maria, os quais prometeram telefonar para o dono da casa no trabalho caso o alarme dispare. João sempre liga quando ouve o alarme, mas às vezes confunde o alarme com o toque do telefone e também liga ao ouvi-lo. Maria, por outro lado, gosta de ouvir música em alto volume e às vezes não escuta o alarme.” Este domínio pode ser representado como apresenta a Figura 6.

Figura 6. Representação do problema em uma Rede Bayesiana Fonte: Adaptado de Russel e Norvig (2004).

Pela representação da rede, nota-se que roubos e terremotos afetam diretamente a probabilidade de o alarme disparar, mas o fato de João e Maria ligarem, só depende do alarme. Desse modo, a rede representa a suposição de que João e Maria não percebem quaisquer roubos diretamente, não notam os terremotos secundários e não verificam antes de ligar.

Repara-se que a rede não possui nodos indicando que Maria está ouvindo música em alto volume no momento, ou o fato de o telefone tocar e confundir João. Esses fatores estão implícitos e associados à incerteza relacionada pelos arcos Alarme → JoãoLiga e MariaLiga, pois, poderia ser muito dispendioso (ou até mesmo impossível) se obter tais probabilidades, ou ainda, tais informações poderiam não ser relevantes.

Assim, as probabilidades devem resumir as condições em que o alarme pode falhar (e.g., falta de energia, bateria descarregada, fios cortados, campainha estragada) e ainda, as condições em

(27)

almoçar, não estavam em casa no momento, estava passando um helicóptero). Desta forma, o sistema pode lidar com uma vasta gama de possibilidades, ao menos de forma aproximada. O grau de aproximação pode ser melhorado se introduzido informações relevantes adicionais.

Uma vez definida a topologia, é necessário se definir a tabela de probabilidades condicionais, ou TPC, para cada nodo. Cada linha na tabela contém a probabilidade condicional para cada caso condicional dos nodos pais. Um caso condicional é uma possível combinação dos valores para os nodos pais. Por exemplo, para a variável aleatória “Alarme” tem-se os valores apresentados na Tabela 2.

Tabela 2. Probabilidades condicionais da tabela Alarme

P (Alarme | Roubo, Terremoto)

Roubo Terremoto Verdadeiro Falso Verdadeiro Verdadeiro 0,95 0,05 Verdadeiro Falso 0,95 0,05 Falso Verdadeiro 0,29 0,71 Falso Falso 0,001 0,999

Fonte: Adaptado de Russel e Norvig (2004).

A Figura 7 apresenta a Rede Bayesiana para o domínio e suas probabilidades condicionais.

Figura 7. Probabilidades condicionais ligadas aos nodos da rede Fonte: Adaptado de Russel e Norvig (2004).

A rede apresentada na Figura 7, possibilita obter estimativas a partir de dados inferidos, por exemplo, caso esteja ocorrendo um roubo e não esteja ocorrendo um terremoto, o alarme irá dispara em 95% da vezes, João ira ligar em 90% das vezes e Maria também irá ligar em 70% da vezes.

(28)

2.2.2 Inferências em Redes Bayesianas

Segundo Luna (2004), para construir uma representação probabilística através do modelo de Redes Bayesianas, uma das tarefas consiste em obter estimativas de probabilidades de eventos relacionados aos dados, à medida que novas informações ou evidências sejam conhecidas. Esse processo é denominado inferência em Redes Bayesianas.

A questão mais importante do uso das Redes Bayesianas é a realização de inferências. Pode-se dePode-sejar saber qual a probabilidade de o alarme ter tocado (Pode-seguindo o exemplo aprePode-sentado na seção acima) dado a evidência de que há um ladrão, ou então dada à evidência de que o alarme tocou, qual a probabilidade de ser um ladrão o causador. À medida que as evidências vão sendo fornecidas, a propagação destas na rede permite inferir a probabilidade de ocorrência de qualquer nodo da rede.

2.2.3 Considerações

Observa-se que a probabilidade condicional indica a probabilidade de um evento (nodo) tal que outro evento ocorreu. Através da relação (ligação) entre os nodos é possivel criar um modelo preditivo, que calcula o grau de relação entre os eventos como também permite passar novas evidências.

2.3 Hugin

O principal negócio da Hugin Expert é fornecer a seus clientes ferramentas que possam adicionar inteligência a seus produtos e serviços. O sistema Hugin foi adotado para conduzir departamentos de Pesquisa e Desenvolvimento em 25 diferentes países, e é usado em áreas tais como análise de decisão, suporte a decisão, predição, diagnósticos, monitoração de saúde, gerência de risco e avaliação de segurança. As seções a seguir são apresentadas segundo estudos feitos ao manual do usuário (HUGIN EXPERT, 2007).

2.3.1 O Ambiente de Desenvolvimento Hugin

Segundo manual do usuário, o ambiente de desenvolvimento Hugin fornece um conjunto de ferramentas para construir sistemas de suporte a decisão baseados em modelos de domínios caracterizados pela incerteza inerente. Os modelos suportados são Redes Bayesianas e sua extensão de diagramas de influência. Para isto o ambiente de desenvolvimento Hugin permite definir

(29)

variáveis discretas do domínio e a algumas extensões de variáveis contínuas do domínio nos modelos.

O ambiente de desenvolvimento Hugin pode ser usado para construir modelos como componentes em aplicações para suporte a decisão, mineração de dados, e sistemas especialistas. A aplicação comunica-se com modelos dos componentes construídos através de uma das APIs Hugin.

2.3.2 Componentes do Hugin

O manual do usuário define que o ambiente de desenvolvimento Hugin tem três principais componentes:

 mecanismo de decisão;

 coleção de APIs para programação de aplicações; e  interface gráfica do usuário.

2.3.2.1 O mecanismo de decisão

O mecanismo de decisão (Hugin Decision Engine - HDE) executa o raciocínio em uma base de conhecimento representada como uma Rede Bayesiana ou um diagrama de influência. O HDE executa todo processamento de dados e da manutenção do armazenamento associado com o processo de raciocínio.

De acordo com o manual do usuário, uma parte importante do HDE é o compilador, que transforma redes em estruturas (conhecida como junction trees), possibilitando executar inferências (i.e., raciocínio) nas redes eficientemente. Para pequenos e médios tamanhos de redes, a inferência demora frações de segundos, e em média para grandes redes freqüentemente demoram alguns segundos. O HDE pode ser acessado através da interface gráfica do usuário, ou por alguma das APIs.

2.3.2.2 APIs (Application Program Interfaces)

Segundo o manual do usuário, as APIs permitem a programadores construir aplicações baseadas em conhecimento, utilizando o HDE para raciocínio. Quando usado através de uma das APIs, o HDE funciona como uma biblioteca comum de programa, dando ao programador da

(30)

aplicação total controle dos eventos. As APIs são disponíveis como bibliotecas C, C++, e Java e como um servidor ActiveX.

2.3.2.3 A interface gráfica do usuário

O manual do usuário define que a interface gráfica do usuário (Figura 8) é usada para criar e manter modelos de rede assim como executá-los (i.e., inserindo evidência e exibindo resultados das distribuições de probabilidade e utilidades esperadas).

Esta interface pode operar em dois modos diferentes: Modo editor (Edit Mode) e Modo de execução (Run Mode). No modo editor, os nodos podem ser criados e linkados (i.e., ligados), estados e ações podem ser especificadas incorporando tabelas condicionais de probabilidade e tabelas de utilidade. No modo de execução, crenças e utilidades podem ser exibidas para nodos individuais. O usuário pode inserir incrementalmente evidências selecionando estados/ações de nodos individuais.

Figura 8. Interface Gráfica do Usuário (Screenshot do Hugin)

O HDE pode então ser acoplado e propagar a informação para obter probabilidades e utilidades esperadas.

(31)

2.3.3 Criando uma Rede (Interface Gráfica do Hugin)

Nessa seção será exemplificada a criação de uma Rede Bayesiana utilizando a GUI do Hugin, a partir da tradução e adaptação do manual do usuário Hugin (HUGIN EXPERT, 2007).

O “Enigma do Salão de Monty” é um programa (game show) na TV americana. Nesse programa, o participante tinha a oportunidade de ganhar um prêmio, isso, se tivesse sorte o bastante para achar o prêmio atrás de uma das três portas. O jogo tem os seguintes passos:

 O apresentador (Monty) permite que o participante escolha uma das três portas;

 Monty (que sabe em que porta está o prêmio) abre a outra porta, onde não existe nenhum prêmio;

 O participante é questionado se gostaria de mudar de escolha (escolher outra porta fechada); e

 Se o prêmio estiver atrás da porta escolhida, o participante ganha.

O problema do enigma é: O que se deve fazer na segunda escolha? Alguns podem dizer que não importa, porque é igualmente parecido o prêmio estar por trás de umas das duas portas. Entretanto isso não é sempre verdade. A resposta certa é que se tem melhores chances de acertar se mudar a escolha – mudar de escolha (2/3) ou manter-se (1/3), conforme será mostrado a seguir:

O “Enigma do Salão de Monty” pode ser modelado com três variáveis aleatórias: Premio,

PrimeiraOpcao e PortaAbertoPorMonty.

 Premio: representa a informação sobre qual porta esconde o prêmio (i.e., possui três estados: Porta1, Porta 2 e Porta 3);

 PrimeiraOpcao: representa a primeira escolha do participante (i.e., possui também os três estados: Porta1, Porta 2 e Porta 3); e

 PortaAbertoPorMonty: representa a escolha de Monty quando o participante faz a sua primeira escolha (i.e., novamente, possui três estados: Porta1, Porta 2 e Porta 3).

A porta que esconde o prêmio é de conhecimento de Monty e o Premio tem uma influência em PortaAbertoPorMonty. Monty nunca irá escolher abrir a mesma porta que PrimeiraOpcao, então a primeira escolha também tem influência em PortaAbertoPorMonty.

(32)

Para representação do problema no Hugin, deve-se criar três nodos e atribuir os seus nomes (e.g., Premio, PrimeiraOpcao, PortaAbertoPorMonty). Logo após, deve-se adicionar seus estados possíveis (e.g., Porta 1, Porta 2, Porta 3).

Depois de inseridos os nodos, o usuário deve indicar as variáveis influenciadas, conforme Figura 9.

Figura 9. Modelo do Enigma do Salão de Monty

A tabela de probabilidade condicional (do inglês, Conditional Probability Table - CPT) do

Premio é mostrada na Figura 10 (demonstra que não se sabe onde está escondido o prêmio, ele pode

estar escondido em qualquer uma das portas).

Para definir os valores da CPT, deve-se pressionar e manter pressionada a tecla Ctrl até clicar no nodo que se deseja editar. Irá aparecer uma tabela conforme a Figura 10. Preencha a probabilidade de cada estado existente (e.g., 0.33).

Figura 10. Probabilidade do prêmio

A CPT da PrimeiraOpcao é mostrada na Figura 11 (como não se onde está o prêmio, a escolha da porta é indiferente).

(33)

A Figura 12 mostra a CPT de PortaAbertoPorMonty. Essa tabela mostra que, se o prêmio está por trás da Porta 1 e o participante escolheu a Porta 3, então Monty irá abrir a Porta 2, já que essa é a única porta que ele pode abrir. Se o participante escolheu a porta certa na PrimeiraOpcao, Monty irá aleatoriamente escolher uma das outras duas portas.

Figura 12. Probabilidade da escolha de Monty

Nota-se que as chances do prêmio estar atrás de outra porta é maior do que a escolhida como primeira opção. A Figura 13 apresenta esse raciocínio, destacando as possibilidades do prêmio estar em outra porta.

Figura 13. Possibilidades de ganhar o prêmio

Afim de realizar experimentos com o modelo desenvolvido, deve-se clicar sobre o botão

Switch to Run Mode para executar a rede, e que mudará o GUI do modo editor para o modo de

execução. Supõe-se que o participante escolheu como PrimeiraOpcao a porta 1, e Monty abriu a porta 2 (PortaAbertoPorMonty). Para escolher uma porta, ou seja, definir o estado (passando a nova evidência) daquela variável deve-se dar duplo clique sobre a porta escolhida (estado da variável).

Após selecionada as portas da PrimeiraOpcao e da PortaAbertoPorMonty tem-se a Figura 14, onde se observa que é ser sempre melhor o participante mudar a escolha depois que Monty abrir a porta, ou seja, dá ao participante 66.67% de chances de ganhar o prêmio.

(34)

Figura 14. Probabilidade de escolher a porta certa

Uma simples forma de comprovar esse fato é que inicialmente o participante tem 33.33% de chances de escolher a porta certa, então, existem 66.67% de chances do Premio estar em outro lugar. A questão está em que o participante sabe que Monty irá abrir uma porta vazia, então quando ele o faz, isso não muda seu pensamento sobre a crença da porta certa, continua tendo 33.33% de chances de ter escolhido a porta certa. Porém, existem mais 66.67% de chances do Premio continuar em algum outro lugar (atrás da última porta).

Caso queira salvar o modelo desenvolvido, basta clicar no menu File e escolher a opção

Save, que logo exibirá uma janela para escolher a pasta, o nome do arquivo (File name) e o seu tipo

(Files of type). Por fim, deve-se clicar no botão Save para salvar o arquivo da rede (e.g., MontyHallPuzzle.net), permitindo ser executado num momento futuro.

2.3.4 Considerações

Compreende-se que é possível a partir de um grafo acíclico e direcionado modelar o conhecimento (experiência) de um especialista (professor) baseado nas teorias de Redes Bayesianas.

Dado quaisquer suposições (e.g., a, b) com certo grau de ocorrência, combinadas entre si, pode ocorrer algo específico com uma probabilidade x. A partir disso, a medida que suposições ou novas informações sejam conhecidas, pode-se inferir probabilidades através de estimativas dos dados relacionado aos eventos.

A ferramenta Hugin suporta modelos de Redes Bayesianas e sua extensão de diagramas de influência, e permite que outras aplicações comuniquem-se com os modelos através de sua API. A

(35)

versão educacional (livre de licença comercial) da ferramenta mostrou ser de simples utilização e de fácil aprendizagem.

2.4 WEBSERVICE

Para Campos Neto (2005), o WebService é uma tecnologia que busca integrar diferentes sistemas através da Internet utilizando protocolos padronizados que permitem a independência de plataforma e de linguagem de programação em que esses sistemas foram escritos. Possibilitando que uma coleção de métodos seja disponibilizada em um servidor remoto, permitindo o acesso por programas clientes.

Pires (2005) define que um WebService é uma aplicação de software identificada por uma URI (Uniform Resource Identifier), cujas interfaces e ligações são capazes de serem definidas, descritas e descobertas por artefatos XML (Extensible Markup Language) e que suporta interações diretas com outras aplicações usando mensagens baseadas em XML via protocolos baseados na internet. Para J2EE (2007), os WebServices são aplicações web que usam padrões e protocolos de transporte (abertos) baseados em XML para troca de dados com chamadas dos clientes.

Segundo Campos Neto (2005), XML é uma linguagem semelhante ao HTML (Hipertext

Markup Language), tendo como diferença o objetivo do uso, o XML é usado para definir e

armazenar (representar) dados, enquanto HTML serve para exibir. Geralmente o XML é usado para a troca de dados entre programas diferentes.

Oliveira (2006) define importantes padrões e protocolos do WebService, conforme Tabela 3:  SOAP (Simple Object Access Protocol): protocolo de comunicação dos WebServices. É um padrão de comunicação que utiliza o formato XML e o protocolo HTTP para transportar os dados;

 WSDL (Web Services Description Language): define detalhadamente no formato XML a descrição dos WebService. Para J2EE (2007), WSDL é um formato XML (normalizado) para descrever os serviços do WebService. A descrição é composta por: (i) nome do serviço; (ii) a localização do serviço; e (iii) a forma de comunicação com o serviço. Essa descrição pode ser armazenada em registro ou publicadas na web (ou ambas); e

(36)

 UDDI (Universal Description, Discovery and Integration): são uma espécie de lista de classificados dos WebServices e permite de forma padrão, rápida e fácil, encontrar

WebServices que sejam de seu interesse. Segundo J2EE (2007), UDDI é o que torna

possível publicar informação na Internet sobre seus produtos e serviços web, onde a informação pode ser lida e globalmente acessada por clientes interessados em fazer negócios.

Tabela 3. Padrões e protocolos baseados XML

Padrões Propósito

Web Service Description Language

(WSDL) Descrição

Simple Object Access Protocol

(SOAP) Transporte

Universal Description Discovery and Integration

(UUDI) Localizar

Fonte: Adaptado de Moura (2005).

2.4.1 Considerações

Entende-se então que é possível integrar diferentes sistemas (independente de plataforma e de linguagem de programação) através da Internet utilizando protocolos padronizados, ou seja, é possível que o STI ALICE (desenvolvido utilizando a linguagem de programação PHP) se comunique com as API’s do Hugin e WEKA, através do WebService (desenvolvidos utilizando a linguagem de programação Java).

2.5 MODELO BASEADO NO CONHECIMENTO DO ESPECIALISTA

(PROJETO REALIZADO EM 2005)

Em 2005, surgiu a proposta de desenvolver um sistema que utilizando os dados da base do STI ALICE, pudesse identificar os alunos que tivessem maior propensão ao abandono da disciplina de Algoritmos e Programação (do primeiro semestre do curso de Ciência da Computação da UNIVALI – Campus I), visto que essa é a disciplina que utiliza o STI ALICE como ferramenta de auxílio na aprendizagem dos acadêmicos.

Visando modelar o conhecimento do especialista (professor) sobre o perfil do aluno desistente, buscou-se na área de IA por uma técnica de raciocínio probabilístico chamada Redes Bayesianas. Considerando que o STI ALICE é acessado via Web e desenvolvido em PHP, foi

(37)

necessário encontrar uma ferramenta de modelagem de Redes Bayesianas que permitissem a execução de algumas de suas funcionalidades através de uma API. Dentre as ferramentas pesquisadas destaca-se o Hugin, por esse satisfazer os requisitos funcionais para solução do problema, fornecer uma API de simples utilização que suporta diversas linguagens de programação e possuir uma versão educacional livre de licença.

Buscando viabilizar a comunicação entre o STI ALICE e a API do Hugin, considenrando que as duas aplicações são escritas em liguagens de programação distintas (PHP e Java, respectivamente) e que é necessário disponibilizar esses serviços na web, foi desenvolvido um

WebService oferecendo esses serviços:

 Inscrever modelos de Redes Bayesianas no WebService; e  Executar modelos que foram inscritos no WebService.

Com isso foi possível desenvolver um mecanismo onde, a partir da interação dos alunos com o STI ALICE durante o semestre, pudesse identificar quais alunos teriam o perfil de um aluno desistente, tornando esse mecanismo um assistente de predição da evasão do STI ALICE, auxiliando os professores da disciplina na tomada de decisão.

2.5.1 Os Serviços do WebService

O WebService desenvolvido disponibilizava dois serviços: (i) inscrição de um modelo de Rede Bayesiana; e (ii) execução desse modelo, conforme é apresentado no anexo I.1.

2.5.2 Aplicação Cliente

Buscando viabilizar a comunicação entre o STI ALICE e o WebService, desenvolveu-se uma aplicação cliente capaz de invocar os serviços (métodos) do WebService, utilizando-se de protocolos e bibliotecas disponibilizados livremente pela Internet como o AXIS (utilizada na aplicação cliente desenvolvida em Java) e NuSOAP (utilizada na aplicação cliente desenvolvida em PHP).

2.5.2.1 Aplicação cliente Java (Teste Piloto)

O desenvolvimento do cliente Java serve para a validação da aplicação implementada, além de possibilitar ajustes da mesma. Segundo InterAção (2007), teste piloto é um teste realizado

(38)

preliminarmente em uma escala menor de abrangência, por exemplo, menor número de entrevistas, que servirá como orientação para realização da pesquisa propriamente dita, uma vez que fornecerá as devidas correções de questionário, amostra e etc.

Desenvolveu-se utilizando a tecnologia Java e o protocolo Axis, uma aplicação cliente que possui dois métodos (serviços): (i) a inscrição, que possibilita enviar o modelo da Rede Bayesiana para o WebService; e (ii) a execução, que permite propagar (novas) evidências em um modelo (Rede Bayesiana) inscrito no WebService.

2.5.3 Gramática para Definição das Consultas

A String que é passada como parâmetro para o serviço de execução apresentado Na seção 2.5.4.5 é definida por uma gramática na notação BNF (Backus-Naur Form). A gramática é definida como Tabela 4:Tabela 4. Gramática para definição das consultas

Tabela 4. Gramática para definição das consultas <Rede> ::= Flag;Arq;<Nodos> | Flag;Arq; <Nodos> ::= <Nodo>+;<Nodos> | <Nodo>+ <Nodo> ::= Nome;QTD;<Evidencias>

<Evidencias> ::= EVIDENCIA+<Evidencias> | EVIDENCIA

EVIDENCIA: [0-9]+(.)[0-9]+ QTD: [0-9]+

Onde:

 Flag: valor da opção de propagação da rede;

 Arq: nome do arquivo da rede que se deseja executar;  Nome: nome do nodo que se deseja modificar;  Qtd: valor da quantidade de estados do nodo; e

 Nro_real: valor (é um número real) da evidência que se deseja propagar.

2.5.4 Exemplo de Aplicação

Será exemplificado nessa seção, a criação de um Servidor (WebService) e as formas de invocar os serviços (i.e., inscrição e execução do modelo) no WebService.

(39)

2.5.4.1 Instalação dos componentes

O primeiro passo foi a escolha do servidor para o WebService, onde decidiu-se por utilizar o Fedora 8 (uma das inúmeras distribuições Linux disponíveis), já que o Windows® apresentou algumas dificuldades devido a API do Hugin (no Windows®) utilizar uma DLL como biblioteca, impossibilitando assim, de ser executada pelo WebService.

Deve-se realizar algumas instalações: o J2EE (Java 2 Platform, Enterprise Edition) 1.4 SDK (Software Development Kit), que é uma plataforma que usa um modelo de aplicação multi-distribuída (JAVA SUN, 2007). É necessário definir a variável de ambiente JAVA_HOME (diretório onde foi instalado o Java, conforme Figura 15), e para isso, devem-se incluir no arquivo “profile”, localizado em “/etc/” as seguintes linhas de comando:

JAVA_HOME=/usr/java/j2sdk1.4.2_09 CLASSPATH=:.:$CLASSPATH

PATH = $JAVA_HOME/bin:$PATH export JAVA_HOME

Figura 15. Definindo a variável de ambiente do Java SDK

Em seguida, é necessário o Apache Tomcat, um servidor de aplicações Java (APACHE TOMCAT, 2007). Realizado o download do Tomcat 5.0.28, descompacte no diretório “/usr/local/”. Novamente, é necessário definir a variável de ambiente CATALINA_HOME (diretório onde foi descompactado o Tomcat, vide Figura 16) em “/etc/profile”, conforme abaixo:

CATALINA_HOME=/usr/local/jakarta-tomcat-5.0.28 export CATALINA_HOME

Figura 16. Definindo a variável de ambiente do Tomcat

Deve-se instalar também o Apache Axis, uma implementação do SOAP (Simple Object

Access Protocol) para WebService (APACHE AXIS, 2007). Realizado o download no site, deve-se

descompactá-lo e copiar o diretório “axis” que se encontra dentro do diretório “webapps”, para dentro do diretório “webapps” do Tomcat, e definir a variável de ambiente LD_LIBRARY_PATH (Figura 17), em “etc/profile”, como se segue:

(40)

LD_LIBRARY_PATH=$CATALINA_HOME/webapps/axis/WEB-INF/lib export LD_LIBRARY_PATH

Figura 17. Definindo a variável de ambiente do Axis

Depois de terminadas as instalações e configurações necessárias, deve-se executar o Tomcat usando a linha de comando pelo terminal, conforme Figura 18.

$CATALINA_HOME/bin/startup.sh Figura 18. Executando o Tomcat

Para verificar se foi realizado com sucesso a instalação e configuração, basta usar o navegador (i.e., web browser) digitando o endereço: http://localhost:8080/axis que será exibido a página inicial do Axis como confirmação de sucesso das instalações.

2.5.4.2 Criação do WebService

Depois de criado o arquivo Java com os serviços (métodos) que o WebService irá atender (como mostrado no anexo I.1), e feito as instalações e configurações do Servidor, conforme apresentado na seção 2.5.4.1, deve-se renomear a extensão do arquivo Java para “.jws” (e.g., “desistentes_rede_bayesiana.java” para “desistentes_rede_bayesiana.jws”), copiá-lo para o diretório do Axis (e.g., “/usr/local/jakarta-tomcat-5.0.28/webapps/axis”) e copiar as bibliotecas do arquivo Java para o diretório “lib” do Axis (e.g., “/usr/local/jakarta-tomcat-5.0.28/webapps/axis/WEB-INF/lib”), afim de disponibilizar através do Servidor os serviços do WebService.

2.5.4.3 Inscrição do modelo no WebService

Depois de modelada a Rede Bayesiana, deve-se realizar a sua inscrição no WebService, para isso, desenvolveu-se um cliente em PHP conforme anexo I.2, tornando possível o envio do modelo para o Servidor (WebService).

(41)

Basta digitar o IP do Servidor (no caso o endereço “192.168.10.2”), clicar no botão “Procurar” (Figura 19), onde será exibida uma janela de navegação para a escolha do arquivo do modelo. Depois de selecionado (arquivo NET), é só clicar no botão “ENVIAR” que será feito o

upload do arquivo para um diretório padrão no Servidor.

2.5.4.4 Criação da String de evidências (Input)

Para a criação da String de entrada deve-se usar a gramática definida na seção 2.5.3, conforme Figura 20.

Figura 20. String de evidências (Input)

Inicialmente, passa-se o valor da opção da flag de propagação seguido de ponto-e-vírgula. O próximo valor é o nome do arquivo que se deseja executar (sem a extensão do mesmo), seguido de ponto-e-vírgula. Em seguida, caso a flag escolhida seja a 2ª ou 4ª opção, deve-se definir qual nodo se deseja modificar seguido de ponto-e-vírgula, o valor de quantos estados esse nodo possui seguido de ponto-e-vírgula, e o valor (evidência) de cada estado seguido do operador de soma. Caso existam mais nodos a serem modificados, deve-se colocar ponto-e-vírgula ao final de cada última evidência.

Referências

Documentos relacionados

59 Pedro Augusto Ferraz e Silva Teoria de Representações e Físicas Ronaldo Silva Thibes DCEN Itapetinga 60 Dalton José Santos Sant'Ana. Veículo autônomo não tripulado (VANT) –

Desse modo, podemos dizer que a significação é dotada tanto de uma sintaxe (relação entre elementos) quanto de uma semântica (carga de sentidos dos elementos e de suas relações).

O facto de ter um campo de vento homogéneo (Figura 5), não influi notoriamente nos resultados simulados, pois a grelha de 0.025 o da região dos Açores foi aninhada com as duas

E HABILIDADES DESAFIO DO DIA FORTALECENDO SABERES DINÂMICA LOCAL INTERATIVA LINGUAGENS MAT.,

Entre estes pacientes, 52 intervenções (50%) foram realizadas em decorrência de edema de laringe após broncoscopia, 11 casos para assistência ventilatória, 12 para introdução

[r]

Verificou-se que mais de 80% dos casos se referiam a conviventes de doentes com exame bacteriol6gico da expectoray3o positivo por exame directo com colorayao de Ziehl-Neelsen

Observando-se a Figura 6.5.1, nota-se que as amostras de 10B(Sr)+5Al tratadas por 24h e 100h apresentam um resultado melhor que as outras duas.. composições, porém para 800h sua