Chatterbot Educacional para Apoio à Aprendizagem da Linguagem de Programação Java

Documentos relacionados
Elektra: Um chatterbot para uso em ambiente educacional

MAPAS CONCEITUAIS NA EDUCAÇÃO: PROPONDO UMA NOVA INTERFACE PARA AMBIENTES DE APRENDIZAGEM BASEADOS NA PLATAFORMA MOODLE

TÍTULO: IMPLEMENTAÇÃO DE MOTORES ROBÓTICOS INTELIGENTES INTEGRADOS COM O REPOSITÓRIO DSPACE

Introdução aos Mapas Conceituais

PROGRAMA DE BOLSA DISCENTE 2ª CHAMADA DE PROJETOS MODALIDADE: BOLSA DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EDITAL Nº 2 DE 22 DE ABRIL DE 2014 ANEXO 2

3 A aplicação MoLIC WOz

MAPA CONCEITUAL E A MODELAGEM CONCEITUAL DE SISTEMAS DE HIPERTEXTO

Modelagem de Tarefas e Interação (1)

Uma Arquitetura de Tutor Inteligente que Provê Suporte ao Diálogo com o Aluno Iniciante em Linguagem de Programação

UTILIZANDO MAPAS CONCEITUAIS NA AVALIAÇÃO DO CONTEÚDO DE TERMODINÂMICA

Universidade Federal de Alfenas

CHATBOTS WORKSHOP DE DESENVOLVIMENTO DE CHATBOTS. Prof. Dr. Saulo Popov Zambiasi

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ELABORAÇÃO DE MAPAS CONCEITUAIS COMO ALTERNATIVA DE APRENDIZAGEM DO ALUNO

DESENVOLVIMENTO E APERFEIÇOAMENTO DE PLATAFORMAS DE TREINAMENTO À DISTÂNCIA E SUAS APLICAÇÕES

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

CRÉDITOS DO CURSO. Carga Horária Créditos IN1030 Seminários 30 2

PROJETO DE INCLUSÃO DE DISCIPLINAS OPTATIVAS NO CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO CAMPUS CURITIBA

Desenvolvimento de um Chatterbot para Ár ea Imobiliária Integrando Raciocínio Baseado em Casos

Inovação Pedagógica com Tecnologia: Mundos imersivos e agentes conversacionais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Tecnologias computacionais no Ensino de Física

Ferramenta de auxílio acadêmico utilizando chatterbot. Aluna: Camila Viviani Martins Orientadora: Joyce Martins

TÍTULO: OBJETO DE APRENDIZAGEM: DESENVOLVIMENTO DE UMA PROPOSTA PARA O ENSINO DO DIAGRAMA DE CASO DE USO

Objetos de Aprendizagem Conceitos Básicos. Liane Tarouco CINTED/UFRGS

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

DESENVOLVIMENTO E APERFEIÇOAMENTO DE PLATAFORMAS DE TREINAMENTO A DISTÂNCIA E SUAS APLICAÇÕES

Mapas Conceituais Uma ferramenta para Organização de Ideias e Resolução de Problemas

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto

NEaD UVA Núcleo de Educação a Distância Universidade Estadual Vale do Acaraú

6. QUADRIMESTRE IDEAL 7. NÍVEL Graduação 8. Nº. MÁXIMO DE ALUNOS POR TURMA TEORIA: 60 LABORATÓRIO: 30

Curso online de. Formação em Front-End. Plano de Estudo

Portfólio de cursos internos do NTE

Sistema de Animação Facial Tridimensional e Síntese de Voz

Objetos de Aprendizagem Volume 2 - Metodologia de Desenvolvimento

Oficina de texto MAPAS CONCEITUAIS

MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO. PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE.

iaiml: Um Mecanismo para Tratamento de Intenção em Chatterbots

DIAGRAMAS DE CLASSE UML

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE PERNAMBUCO Centro de Informática Departamento de Sistemas de Computação

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Aula 06 - Máquina Multinível e Von Neumann

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

MoLIC modelagem da interação

Linguística Computacional Interativa

Ferramenta para criaçã. ção o e execuçã

3. Linguagem de Programação C

Spike: um agente conversacional integrado ao Ambiente Virtual de Aprendizagem Moodle

INF1403 Projeto de IHC Modelos de Tarefa e Interação

Desenvolvimento de Ideias usando Mapas Conceituais

TCC EM SISTEMAS DA INFORMAÇÃO. Aula 9- Modelando um Sistema com a UML parte 2

CIÊNCIA DA COMPUTAÇÃO

Análise e projeto de sistemas

Modelos Conceituais de Dados

Transversalidade e Tecnologias de Informação e Comunicação ensinando Química utilizando um ambiente virtual com tema gerador Água

Tecnologias de Informação e Comunicação 8.º Ano

Professora Orientadora do Departamento de Ciências Exatas e Engenharias. 4

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Logica de Programacao. Jorge Augusto F. de Souza Edward Boszczowski

Critérios de Avaliação

METODOLOGIA DE ENSINO COOPERATIVA JIGSAW APLICADA AOS CURSOS DE ENSINO A DISTANCIA: UMA NOVA PERSPECTIVA PARA AMBIENTES VIRTUAIS DE APRENDIZAGEM

A utilização da realidade virtual e aumentada na criação de objetos educacionais

Análise Multicritério e Modelagem de Dados Ambientais. Web Treinamento do Instituto GEOeduc Autor: Arthur Paiva

Modelagem de Sistemas

INF1013 MODELAGEM DE SOFTWARE

Universidade Luterana do Brasil- ULBRA- Campus GUAÍBA. Implementação de Objetos de Aprendizagem Aplicada sobre questões do ENEM

1. INTRODUÇÃO Motivação

Oferta de disciplinas para o período 2015/2

Aula 1.7 Introdução a APOO e UML

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

MoLIC modelagem da interação

CAPÍTULO 1 INTRODUÇÃO

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

DOSSIER DA DISCIPLINA

Interpretação de Imagens com CSP

Mapas conceituais em aplicações educacionais. Evandro Cantú Instituto Federal do Paraná Câmpus Foz do Iguaçu

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Design de IHC PoliFacets

SISTEMA DE INFORMAÇÃO EXECUTIVO PARA ENVIO DE DADOS APLICADO NA UNIMED BLUMENAU

ENSINO E APRENDIZAGEM DE MATEMÁTICA ATRAVÉS DE MAPAS CONCEITUAIS 1 Ricardo Emanuel Mendes Gonçalves da Rocha. Graduando em Licenciatura em Matemática

O CMS JOOMLA! UM GUIA PARA INICIANTES

Descoberta de conhecimento em textos - Análise semântica. Diogo Cardoso Eduardo Camilo Inácio Eduardo Monteiro Dellandréa Guilherme Gomes

WIE 2002 Folha de Rosto (inclua como primeira página do seu arquivo) Título do artigo: Um Sistema Inteligente Multiagente para Educação à Distância

Victor Hugo Andrade Soares monitor João Vitor dos Santos Tristão Primeiro Trabalho Prático

Desde o surgimento dos primeiros jogos eletrônicos em meados dos anos 50, uma infinidade de aparatos eletrônicos foram desenvolvidos, principalmente

Especialização em Ensino de Química

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs

CURSO DE CIÊNCIA DA COMPUTAÇÂO (65C) HABILITAÇÃO: BACHARELADO TURNO: DIURNO (a partir de 2014)

O que é educação a distância?

UNIVERSIDADE FEDERAL DE CIÊNCIAS DA SAÚDE DE PORTO ALEGRE CRONOGRAMA DE AULAS

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho

DESENVOLVIMENTO DE UM APLICATIVO MÓVEL (JOGO) PARA AUXÍLIO NO ENSINO DE MATEMÁTICA. Beatriz Polita Franchin 1, Elvio Gilberto da Silva 2

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

UNIVERSIDADE ESTADUAL DO MARANHÃO UEMA CURSO DE ENGENHARIA DA COMPUTAÇÃO

Transcrição:

Chatterbot Educacional para Apoio à Aprendizagem da Linguagem de Programação Java Rafael Varago de Aguiar 1, Maria das Graças Bruno Marietto 1, Gislene Cristina de Oliveira Barbosa 1, Robson dos Santos França 2, Wagner Tanaka Botelho 1, Edson Pinheiro Pimentel 1, Camila Soares 3 1 Universidade Federal do ABC (UFABC) Santo André, SP, Brasil 2 Tribunal Regional Eleitoral São Paulo, SP, Brasil 3 Serviço Nacional de Aprendizagem Comercial São Paulo, SP, Brasil rafael.varago@aluno.ufabc.edu.br,{graca.marietto, gislene.barbosa, wagner.tanaka, edson.pimentel}@ufabc.edu.br, robson@robsonfranca.eti.br, camila.soarez@gmail.com 1. Introdução A Educação a Distância (EaD) pode ser definida como a modalidade de educação realizada através do uso da tecnologia da informação e comunicação, onde professores e alunos estão separados fisicamente no espaço e/ou no tempo. Preti (1996) cita que, devido ao aumento populacional, combinado com a crescente necessidade de acesso à educação, a EaD destaca-se como modalidade de ensino para auxiliar no tratamento de limitações tais como: locais com acesso restrito e indisponibilidade de espaço físico para instalação de unidades de ensino convencionais. A aplicação da computação no processo de ensino-aprendizagem da EaD, mediante a criação de ambientes virtuais educacionais, proporciona situações interativas onde o estudante pode emergir como sujeito ativo na construção de seu conhecimento. Os chatterbots surgem como alternativa no processo de ensino-aprendizagem, podendo complementar as informações passadas em sala de aula e sanando eventuais dúvidas. Laven (2003) define chatterbots como agentes artificiais dotados de alguma capacidade cognitiva, que têm como função estabelecer diálogos em uma linguagem natural, operando em função do usuário ou de outro software. Como exemplo cita-se o chatterbot educacional Einsten [Life3 2012], responsável pela tutoria do ensino de Física. Dentro deste contexto, este trabalho propõe o desenvolvimento do chatterbot Ask4Java, para o auxilio no processo de aprendizagem da linguagem de programação Java. Este chatterbot servirá como suporte ao aluno, complementando informações transmitidas pelo professor em sala de aula e procurando sanar as dúvidas mais frequentes. A escolha do domínio de uma linguagem de programação, para o chatterbot educacional proposto neste trabalho, decorre do forte encadeamento e acoplamento dos conceitos de sintaxe e semântica das linguagens de programação. Assim, por exemplo, se o aluno não aprende o conceito de tipo de dados, terá dificuldade no entendimento de

variáveis. Essa experiência pode desestimular o estudante na continuidade de seu processo de aprendizagem. Para que esse desestímulo seja minimizado, os chatterbots podem ser usados no sentido de discernir dúvidas pontuais, habilitando o usuário a prosseguir em estudos avançados. Como contribuições deste trabalho destacam-se: (i) a construção de uma nova Base de Conhecimento, para o estabelecimento de diálogos sobre conceitos da linguagem de programação Java, (ii) a construção de um mapa conceitual da linguagem, para direcionar a construção dos padrões de diálogo e (iii) criação e utilização do conceito de diagrama conceitual, como sendo um mecanismo para modelar os diálogos através de diagramas. Este trabalho está organizado como se segue. Na Seção 2 tem-se a apresentação dos principais conceitos da técnica de Reconhecimento de Padrões, utilizada neste trabalho para a modelagem e implementação do chatterbot Ask4Java. Na Seção 3 o modelo conceitual do chatterbot é apresentado, bem como as técnicas propostas para lidar com problemas inerentes ao tratamento de linguagem natural. Por fim, na Seção 4 são apresentados os resultados parciais desta pesquisa, bem como as atividades que darão continuidade ao trabalho. 2. Reconhecimento de Padrões para a Modelagem de Chatterbots Dentre as tecnologias para o desenvolvimento de chatterbots, destaca-se neste trabalho a técnica de Reconhecimento de Padrões, que visa modelar sistemas computacionais com base no formato de diálogos entre humanos. Reconhecimento de Padrões baseia-se em blocos representativos do tipo estímulo-resposta, em que o usuário informa uma sentença (estímulo), em seguida o software produz uma saída como função da entrada (resposta), e desta forma o diálogo prossegue [Wallace 2003]. Para o desenvolvimento de chatterbots, tendo como base a infra-estrutura teórico-técnica de Reconhecimento de Padrões, utiliza-se a linguagem Artificial Intelligence Markup Language (AIML), desenvolvida pelo pesquisador Richard Wallace [Wallace 2003]. A linguagem AIML está baseada em unidades básicas de diálogo, que definem padrões de entrada do usuário e respostas do chatterbot. Tais padrões são denominados de categorias, e o conjunto de todas as categorias constitui a Base de Conhecimento (BC) do sistema. Dentre os elementos da linguagem AIML cita-se as seguintes tags: category, pattern e template. A tag category define uma unidade de conhecimento (de diálogo) da BC. A tag pattern define um padrão de mensagem de entrada, que provavelmente será utilizado pelos usuários, e a tag template define a resposta do chatterbot para uma entrada do usuário. 3. Modelo Conceitual do Chatterbot Ask4Java A modelagem proposta utiliza como referência a técnica de Reconhecimento de Padrões, mediante o emprego da linguagem AIML. A primeira etapa de processamento consiste em coletar a entrada do usuário. Em seguida há o processamento do texto de entrada. Após estes passos, a máquina de inferência procura realizar o casamento do padrão de entrada, com os padrões disponíveis na BC do chatterbot. Caso uma resposta adequada seja encontrada, a mesma é exibida ao usuário.

3.1. Mapa Conceitual da Linguagem de Programação Java Os conteúdos a serem tratados pelo chatterbot Ask4Java estão modelados através de um mapa conceitual. Define-se mapa conceitual como um diagrama indicando relações entre conceitos. O mapeamento conceitual proposto por Joseph Novak, na década de 70, é uma forma esquemática de representar graficamente os conceitos de um determinado campo do conhecimento [Novak 2010]. No mapa conceitual deste trabalho, cada tópico da conversa do chatterbot está representado como um vértice de um grafo, com arestas direcionando para um conjunto de sub-tópicos, definidos de forma hierárquica. Este mapa auxiliará no controle e direcionamento do diálogo entre o Ask4Java e os alunos. 3.2. Tratamento de Limitações na Sequência de Conversas com o Chatterbot Os sistemas computacionais que trabalham com linguagens naturais devem estar preparados para lidar com problemas como ambiguidade, distinção de sinônimos, etc. Nas próximas subseções tem-se a apresentação de como o Ask4Java trata das questões relacionadas ao tratamento da intenção e ambiguidade. 3.2.1. Tratamento da Intenção Dentro da Linguística é a Pragmática quem atribui significado à fala. Através da análise pragmática de sentenças é possível inferir o sentido da conversação. Para lidar com o problema da Pragmática no desenvolvimento do chatterbot Ask4Java, o mecanismo iaiml proposto por Neves (2005) é adotado. Este mecanismo avalia a conversação tanto no aspecto local quanto global. No que diz respeito à organização local, o mecanismo iaiml leva em consideração: (i) turno, representando cada contribuição individual dos participantes no diálogo, (ii) pares adjacentes, referindo-se a uma sequência mínima de estímuloresposta entre os participantes do diálogo. Durante a análise global, a conversa é dividida em três seções: (i) abertura, correspondendo à etapa de apresentação dos participantes do diálogo, (ii) desenvolvimento, onde ocorrem as trocas de tópicos, (iii) fechamento, onde os participantes finalizam o diálogo. 3.2.2. Tratamento da Ambigüidade A Linguística define ambiguidade como a ocorrência de palavras com significados semânticos dependentes do contexto de inserção [Schegloff 2002]. O problema da ambiguidade surge no desenvolvimento de chatterbots quando, ao se detectar uma palavra-chave na entrada de dados do usuário, uma interpretação errônea pode ocorrer, levando o fluxo da conversa a um tópico divergente. Com o objetivo de reduzir os fatores agravantes deste problema, na literatura há o mecanismo denominado Resolução Reversa a Uma Etapa. Em tal mecanismo, para padrões ambíguos tem-se um teste condicional sobre uma variável de controle, responsável por encaminhar o fluxo da conversa para a categoria correta. Para isso, marca-se uma variável de controle para cada categoria ambígua, com um valor que informa qual o tópico atual da conversa. Assim, durante a entrada de padrões ambíguos, onde tem-se palavras-chave que possuam mais de uma categoria, verifica-se o valor da variável e, com base em seu valor, pode-se inferir com certo grau de verdade a real intenção do usuário.

Por exemplo, tem-se duas categorias AIML com a palavra torta como palavrachave. Uma categoria cita torta como a sobremesa, e a outra como o antônimo de retilíneo. Para tratar esta questão de ambiguidade, pode-se definir uma variável de controle de tais padrões, podendo assumir os valores sobremesa ou geometria, dependendo do contexto da conversa. Na Figura 1 tem-se a ilustração deste cenário, onde é verificado o valor da variável controle_torta, que pode assumir os valores sobremesa e geometria. Estes valores são assinalados de acordo com os padrões que vão sendo reconhecidos pelo chatterbot. Assim, ao detectar uma palavra-chave ambígua, o chatterbot utiliza o valor de controle_torta para saber qual é a intenção do usuário. 4. Resultados Parciais e Continuidade do Trabalho Na atual etapa desta pesquisa está sendo desenvolvido um mapa conceitual detalhado da linguagem de programação Java. Este mapa conceitual configura-se como uma importante contribuição, pois até o momento não foi encontrado na literatura um mapeamento semântico desta linguagem, que auxilie o direcionamento de conversas com chatterbots. Outro resultado atual é o desenvolvimento de trechos relacionados com a conversa entre o usuário e o Ask4Java, com a realização de testes e a adequação de técnicas utilizadas neste trabalho. Figura 1. Diagrama Conceitual de Controle de Ambiguidade. Para a modelagem dos diálogos está sendo proposto a criação de um mecanismo denominado diagramas conceituais. Tal mecanismo objetiva modelar as conversas através de diagramas, auxiliando a visualização e controle do andamento dos diálogos. Além disso, pretende-se utilizar os diagramas conceituais como uma forma de estudo da sequência dos diálogos. Com isto, será possível propor futuras melhorias e adequações a determinados padrões de conversa e assuntos. Para resolver eventuais problemas referentes à adequação de diálogos, pretende-se disponibilizar o chatterbot durante um período de testes para a gravação de logs de conversa. Tendo como base a análise de tais logs, será possível incorporar determinados padrões de conversa na sua BC.

Referências Laven, S. (2012) What is Chatterbot, Disponível em: <http://www.simonlaven.com>. Acesso em 18 de Dezembro de 2012. Life3, A. (2012) Chat With Einsten, Disponível em <http://www.chatbot4u.com/en/chatbots/einstein-2.html>. Acesso em 30 de Novembro de 2012. Novak, J. (2010) Learning, Creating, and Using Knowledge: Concept Maps as Facilitative Tools in Schools and Corporations. Lawrence Erlbaum Associates. Preti, O. (1996), Educação a Distância: uma Prática Educativa Mediadora e Mediatizada, UFMT. Neves, A. M. (2005) iaiml: Um Mecanismo para o Tratamento de Intenção em Chatterbots, Universidade Federal do Pernambuco. Schegloff, E.A (2002) Conversation Analysis and Communication Disorders, Oxford University. Wallace, R. (2003) The Elements of AIML Style, ALICE A.I Foundation.