RESUMO SCHMITZ, Luiz Alberto. Navegação Adaptativa: a utilização de redes neurais recorrentes como ferramenta de previsão. Dissertação de Mestrado. 2004. UFSC. Esta dissertação propõe um modelo de navegação para os usuários num Sistema Hipermídia Adaptativo (SHA), ao prever o próximo passo do usuário no sistema desenvolvido através do uso de redes neurais artificiais (RNA). O mestrando preocupou-se em encurtar o caminho do aprendizado, estruturando a navegação no ambiente de forma mais adequada ao perfil de cada usuário. Para isso, utilizou as técnicas de hipermídia adaptativa que reduzem o investimento e o espaço usados para produzir e apresentar informações. As RNAs entraram neste estudo, pois elas possuem a capacidade de aprender com exemplos, e ainda responder a respostas não apenas de entrada e saída, mas também de resolução de problemas maiores com dados ainda desconhecidos. O modelo (método) de hipermídia adaptativa(HA) proposto neste trabalho é formado por redes recorrentes de Jordan, usadas como mecanismo de adaptação, treinadas a partir da navegação de usuários anteriores em um ambiente de aprendizado. Num SHA foram utilizadas as técnicas existentes da navegação adaptativa, como mostrar o melhor caminho, começando pelo próximo passo, ocultar informações não desejáveis naquele momento e mostrar ao usuário uma classificação das melhores opções para o próximo caminho. Quanto às Redes Neurais McCulloch e Pitts (1943) criaram o primeiro modelo de neurônio artificial. Mais tarde, foram desenvolvidos estudos a partir destes neurônios artificiais, possibilitando a criação de algoritmos que fossem capazes de aprender e serem treinados através de exemplos, generalizando a informação obtida. Sendo a proposta deste trabalho a utilização de RNA para que através dos caminhos anteriores percorridos pelos usuários no ambiente, prever futuras navegações. Por ser uma área muito pesquisada atualmente, focada principalmente nas características da cada usuário e as dificuldades de navegação que crescem consideravelmente com o aumento de informações, torna-se importante as pesquisas nesta área, que facilitem a vida do usuário. Neste sentido, foi escolhido as RNAs com processamento temporal, ou seja, são indicadas para o reconhecimento de padrões dinâmicos que se alteram com o passar do tempo. Além disso, é preciso agregar memória à RNA para que ela seja considerada dinâmica e para que possa perceber as variações de comportamento e de sinais no decorrer do tempo. O estudo considerou o tempo de permanência mínimo em cada página em toda navegação do usuário, relevando os locais que visitou por engano, sendo considerados os mesmos como ruído informacional. Para se diminuir os erros, é utilizado mais de um treinamento para a RNA, escolhendo um melhor entre eles para cada situação proposta. O treinamento padronizado estabelecido é o por épocas (serão detalhadas a seguir), em situações em que o resultado determina o que deve ser feito (o mais eficiente). Nos casos em que este padrão é de difícil determinação, é usado o treinamento contínuo, para assegurar a busca incessante de uma escolha mais adequada. O objetivo geral deste trabalho, é medir a capacidade de previsão das redes de Jordan em ambientes de hipermídia adaptativa. E, Específicos: a) Utilizar RNA, com foco em redes recorrentes de Jordan, com treinamento contínuo e por épocas, distintamente. Em relação à posição do usuário: b) Prever o próximo passo de navegação; c) Classificar e apresentar uma lista dos melhores passos a seguir; d) Selecionar, entre as arquiteturas de RNA, qual a melhor, para determinada situação; Em relação aos resultados: e) Comparar resultados de treinamento por opção: navegação livre e resolução de problemas; f) Comparar os resultados da rede de Jordan com os de outras redes recorrentes, como Elman e Feedforward, através de simuladores; g) Comparar os mesmos resultados com os obtidos em outros trabalhos, como previsões utilizando redes Bayesianas. SISTEMAS HIPERMÍDIA ADAPTATIVOS Para isso, foi feito uma pesquisa sobre HA e RNA. Foi levantada a questão que em alguns sites e ambientes de educação, tendem a minimizar os resultados de aprendizado do usuário ao exagerar na quantidade informacional, sendo necessário a utilização de técnicas de HA para se reverter esta situação. Conduzir o usuário, omitir links desnecessários, agregando informações e tornando o ambiente de navegação mais atrativo, de acordo com o perfil e as necessidades que representam cada modelo de usuário. Devido ao aumento das possibilidades de recursos hipermídia e aos milhares de usuários, torna-se importante atender cada perfil, personalizando o ambiente de acordo com o seu modelo de usuário. Um SHA é um conjunto de nodos interligados por links, com informações locais e alguns links que podem remeter a outros nodos relacionados. Neste ambiente, podem ser colocadas regras e técnicas de adaptação. Estando presente duas classes adaptativas: a apresentação e navegação. Na apresentação adaptativa cada nodo é personalizado seguindo as características dos usuários, diferenciando, por exemplo, de acordo com o nível de conhecimento de cada usuário. Por ser o foco deste trabalho, no entanto, a navegação adaptativa será mais detalhada que a classe anterior. Palazzo (2002) apresenta as seis principais tecnologias usadas para apresentar os links aos usuários, na tentativa de solucionar diferentes problemas: a) Orientação Direta (OD): Decide, em cada ponto de navegação, qual o melhor nodo a seguir. Em cada ponto, qual o melhor caminho? b) Classificação Adaptativa (CA): Os links são apresentados em ordem de relevância, calculada sobre o modelo do usuário. Em que ordem os links devem ser apresentados? c) Ocultação: Restrição ao espaço de navegação. Quais links não devem ser apresentados? d) Anotação Adaptativa: Comentários sobre o estado corrente dos nodos são anotados. Vários níveis de relevância. Como agregar mais informações aos links? e) Geração de Links: Opção de mostrar links interessantes ao assunto exibido no nodo atual. Como links interessantes podem ser gerados? f) Adaptação de mapas e índices (Mapas Adaptativos): Diversas formas de apresentação de mapas de hipermídia global e local. Como apresentar mapas e índices? Classificação de Links Entende-se por link, neste ponto, a seleção de opções de acesso aos nodos relacionados que, quando clicados, conduzem o usuário no ambiente de navegação. Brusilovsky (1996) organiza os links em quatro diferentes classes: a) Links locais, não contextuais: Lista, menu pop-up ou conjunto de botões com a finalidade de identificar caminhos independentes do conteúdo do nodo em que se encontram. São links fáceis de manipular e podem ser classificados, ocultos ou anotados. b) Links contextuais ou "texto verdadeiro": Links representados por palavras, frases ou figuras que fazem parte do texto ou nodo e, por esta razão, difíceis de ocultar. Podem ser anotados, mas não classificados, por estarem em alguma parte do texto que não pode ser mexida. c) Links para índices e tabelas de conteúdos: Nodo constituído somente por links. Normalmente, são não-contextuais. Para que ocorra o contrário, precisam ser implementados como imagem. d) Links para mapas locais e globais: Mapas, geralmente, são usados para dar uma visão geral de um site. A navegação entre os nodos é feita diretamente no mapa, por setas ou fronteiras. Quanto à arquitetura de um SHA, é usado o Modelo do Usuário(MU) que através de informações vindas de questionários ou pelas próprias ações do usuário no ambiente o mesmo é armazenado numa base de modelos de usuários(BMU). O MU acaba servindo como um filtro para estrutura de navegação e conteúdos do SHA. Assim, quanto mais o usuário navega, interage mais com o sistema, seu modelo vai evoluindo e a adaptação vai ficando mais rápida e precisa. Num SHA existe três elementos essenciais que agem em dependência direta: BMU, Interface Adaptativa(IA) e Fonte Hipermídia(FH). A interface adaptativa (IA) promove a interação entre o usuário e o sistema através de dois importantes processos: a apresentação de conteúdos e links adaptados ao modelo do usuário e a coleta de informações necessárias para mantê-lo atualizado. A interface vai sofrendo transformações, tanto de disposição dos links como de apresentações de imagens, sons, etc., para que o ambiente se torne mais próximo às preferências e necessidades do usuário. Quanto ao MU na década de 90 surgiu a expressão sitema de modelagem de usuário baseado nos conceitos de IA, possuindo uma interface de programação(shell) que oferece vários serviços como modelar usuários, representar fatos ou tipos de características, registrar comportamentos, etc. Além disso, existem outras características do usuário que podem ser voltadas para a adaptação, o conhecimento, objetivos, histórico e experiência, preferências. A tendência dos sistemas adaptativos, em geral, é a de utilizar, principalmente, as técnicas de classificação e ocultação de links. Neste processo, algumas informações nunca são acessadas ou, até mesmo, têm seu acesso negado ou bloqueado a alguns usuários. Entretanto, o sistema deve de alguma forma contemplar uma forma de acesso à informação total. Um usuário de um SHA deve ser auxiliado no processo de navegação através de alguns métodos já desenvolvidos. São eles: Condução Global, Condução Local, Suporte à Orientação Local (conhecimento), Suporte à Orientação Local (objetivos) e Suporte à Orientação Global. A Condução Global refere-se às sugestões que são feitas ao usuário no sentido de indicar o melhor caminho, o mais curto para o alcance de seus objetivos. A Condução Local mostra a ele qual o melhor link de escolha dentre os de uma lista considerando suas características presentes no MU. O Suporte à Orientação Local ajuda no conhecimento da posição atual no sistema. Já a Orientação Global facilita o entendimento geral do sistema. Este métodos para serem implementados necessitam de técnicas como a Orientação Direta (OD), Classificação Adaptativa (CA), Ocultação, Anotação Adaptativa (AA) e de Mapas Adaptativos (MA). A OD segue o MU para orientar o usuário. Na CA os links são classificados em ordem descrescente de relevância. Nos MA os usuários tem a sua disposição mapas globais e locais, que são representações gráficas semelhantes aos mapas geográficos, que os auxiliam na localização. A Ocultação e Anotação atuam geralmente sobre os links, ocultando quando necessário ou disponibilizando alguma informação sobre o mesmo. Estas técnicas são utilizadas em conjunto, pois não são contraditórias, bastando apenas avaliar onde pode ser melhor aplicado. Palazzo (2000) define adaptação proativa qualquer maneira ou esquema de adaptar ambientes que consiga antecipar as variações e as situações futuras do modelo, introduzindo-as, se necessário, aos usuários. Um sistema fechado não pode interagir com o ambiente externo, não possuindo nenhum mecanismo de entrada e saída. Mas, na prática isso não pode ser aplicado, pois os sistemas se comunicam entre si nem que seja apenas para troca de informações. Como um usuário pode passar e voltar pelos nodos fica complicado possuir os dados suficientes para um previsão de qual será o próximo passo, é preciso encontrar um padrão nos passos dados anteriormente. REDE NEURAIS ARTIFICIAIS Uma Rede Neural Artificial(RNA) são modelos computacionais que imitam as habilidades do neurônio biológico valendo-se apenas de simples neurônios artificiais conectados. Algumas características da mente humana não podem serem resolvidas através de algoritmos, como o reconhecimento de cores, compreender e traduzir línguas e uma simples associação de idéias. As RNAs são unidades de processamento disponibilizadas em camadas interligadas por conexões de uma única direção que utilizam pesos para representar as informações obtidas e fornecidas por elas. Os pesos são os estímulos que podem ser positivos ou negativos, similar às sinapses presentes no cérebro humano. A sua utilização trouxe grandes benefícios para situações computacionais onde exige uma série de aprendizados através dos usuários e adaptações aos mesmos. Pois, uma RNA possui a capacidade de evoluir e aprender por meio de exemplos recebidos de um problema qualquer e criar um modelo para sua solução. Entretanto, elas não conseguem atingir tal complexidade, nem realizar tantas funções. Podem levar várias horas para resolver problemas de complexidade média com "apenas" poucas centenas de neurônios envolvidos, mesmo utilizando computadores de grande capacidade. A maior limitação do modelo de neurônio de McCulloch e Pitts é sua natureza binária, baseada na compreensão de resposta presente ou ausente. As redes neurais, no início, tiveram pouco sucesso devido a isto. Mas, para evoluir através de exemplos, uma RNA deve ser treinada por um conjunto de treinamentos denominado de algoritmo de aprendizado, ficando assim com o passar do tempo cada vez mais informada sobre o ambiente proposto. Existem duas forma de treinamento: o supervisionado e não-supervisionado. O primeiro é o mais utilizado, sendo que para a entrada ou conjunto de informações é dada a saída desejada, sendo os pesos ou parâmetros da rede ajustados para se alcance os resultados esperados. Já no treinamento não-supervisinado não é necessário a indicação das saídas desejadas e sim apenas as entradas para que com isso possa classificá-las através de seus próprios critérios. Não se baseia em regras pré-definidas e aproveita diretamente os resultados obtidos e reconhecidos pela rede. O treinamento por épocas um conjunto de dados de entrada, juntamente com o de saída (alvo) é apresentado à rede, que é treinada repetidas vezes, até que o alvo seja alcançado ou o erro médio seja minimizado. Para isso, foi criado um algoritmo chamado de retro-propagação que ajusta os pesos da rede através de um mecanismo de correção de erros sendo responsável pela demora do treinamento. Existem as redes neurais recorrentes que possuem vários laços de alimentação, permitindo o uso de algoritmos mais simples ou adaptados a uma tarefa específica. Outras trabalham com memória própria e com camadas internas que vão se acumulando com o tempo. Os maiores usos para este tipo de rede são memórias associativas e redes para mapeamento de entrada-saída. Em 1990 foi criado um modelo de RNA com memória. Nestas redes, além das camadas de entrada, oculta e de saída, há também uma camada de unidades de contexto, como nas redes recorrentes em geral. Na rede de Jordan (1986), a saída da rede é copiada para a camada de contexto. Além disso, as unidades de contexto são auto-associativas ou recorrem de modo local. A grande diferença entre redes de Elman e Jordan é que a recorrência em Elman é feita da camada escondida ou oculta para as entradas, enquanto que em Jordan é feita das saídas para as entradas. Portanto, as redes recorrentes podem ser utilizadas na previsão da navegação adaptativa, possibilitando o reconhecimento de vários passos anteriores do usuário no ambiente de navegação. Com isso, neste trabalho foi proposto um modelo para a previsão da navegação adaptativa usando as redes Jordan, sendo desenvolvido um sistema hipermídia adaptativo com redes neurais artificiais(SHARNA). Para isso, foi necessário adquirir informações sobre a navegação no ambiente para a alimentação da RNA, possuindo a finalidade de adaptar o menu de navegaçãopara cada usuário. O sistema recolheu dados das navegações feitas pelos usuários como a posição atual ocupada por ele no ambiente de navegação com o devido tempo de permanência no nodo atual e, a partir desta, seu próximo passo e os dois passos anteriores. O sistema também percebeu qual a seqüência deste passo dentro de sua navegação atual, possuindo os seguintes pontos importantes: a) Posição Atual – a idéia historicamente concebida de que um passo dado dentro do ambiente de navegação segue um padrão definido pela experiência observada em navegações anteriores, determinada a importância desta informação como preponderante para a previsão do próximo passo a ser dado; b) Próximo Passo – informação necessária para o treinamento da rede neural, considerando-se que a combinação entre este fator e o anterior identificam a movimentação do usuário no ambiente; c) Os Dois Passos Anteriores – muitas vezes, a movimentação do usuário é representada por um fecho transitivo, ou seja, ele se movimenta de uma posição a outra, retorna à mesma e desta, pode partir para outra diferente, então o par representado pela posição atual e próximo passo não é um representante significativo da movimentação do usuário, assim se lança mão de outros passos que marcam com mais intensidade a navegação; d) Seqüência na Navegação – o momento em que um passo é dado pode ter importância determinante na ordem da navegação. Se o passo foi dado no início, o destino pode ser um, se no final, pode ser outro; e) Tempo de Permanência – este fator é de importância adicional para uma definição de navegação. Dependendo da natureza da consulta, bem como da extensão textual, ou de outra variável estranha ou fora do controle do sistema, o tempo adquire um caráter de significação reduzida, na fixação ou não da atenção em um determinado local. A arquitetura proposta foi uma rede Jordan de dois neurônios na camada de entrada, representando a posição atual do usuário no ambiente de navegação, dezesseis neurônios na camada oculta e um neurônio na saída, representando o próximo passo. A rede foi treinada com o algoritmo Backpropagation ou retropropagação. Os dados de entrada e saída foram normalizados para permanecer no intervalo entre -1 e 1, representando todas as navegações. Os treinamentos foram feitas por épocas até que fosse alcançado um erro mínimo satisfatório. Logo após ao treinamento, o menu de cada usuário é adaptado seguindo os resultados obtidos pela RNA. Assim, o usuário que acessa pela primeira vez tem o seu índice adaptado pela RNA. A cada passo dado pelo usuário é feito um teste para se comparar com a previsão feita pela rede, gravando um acerto na tabela de previsão caso esteja correto. O usuário pode navegar quantas vezes achar necessário, sendo o índice adaptado, a partir da segunda tentativa, ao seu próprio perfil e não ao geral dos usuário, como na sua primeira navegação. De forma geral, foi elaborado um formulário de cadastro onde se obtever as informações de mais relevância referentes aos usuários como idade, experiência, local de acesso. As informações de movimentação (origem e destino), considerando-se todas as opções de acesso, foram divididas em três massas de dados para o uso nas redes neurais escolhidas. Foram testadas e comparadas outras formas de treinamento por RNAs, sendo a rede Jordan a que apresentou os melhores resultados, acertando mais vezes o próximo passo dado pelos usuários no ambiente. Quantas às dificuldades encontradas no trabalho, encontram-se a difícil construção de uma RNA com os simuladores disponíveis. Alguns criavam o modelo, mas não possuíam a possíbilidade de inserção dos dados operacionais facilmente, além de não possuírem uma usabilidade satisfatória. Somando a isso, foram encontrados atrasos de processamento no tratamento de algumas variáveis. Entretanto, as qualidades trazidas pelo proposto modelo quanto às adaptações, desmitificando o acesso às informações de forma rápida encurtando os caminhos de navegação. Além disso, este trabalho abriu novos campos de atuação para o par SHA e RNA, como avaliações sócio-culturais com psicologia e informática, avaliação de mercados baseada em padrões e variações de comportamento.