• Nenhum resultado encontrado

4.3 Fases do desenvolvimento através da metodologia MAAEM

5.1.3 Fundamentos da aplicação

Como já esboçado, a RecomTour tem por finalidade efetuar a recomendação de pacotes turísticos selecionados de acordo com as necessidades

de cada usuário, por meio de uma interface personalizada. Portanto, ela pertence a uma família de aplicações para a recomendação personalizada de informações. E, representando uma solução para essa classe de problemas, dispõe da ONTOWUM – um Modelo de Domínio, um Framework Multiagente e Agentes de Software para a Mineração de Uso na Web (MARINHO, 2005).

Assim, é na ONTOWUM que se buscará a devida fundamentação para a modelagem da RecomTour, sendo também a partir dela que se procederá à seleção, adaptação e composição dos modelos a serem reutilizados, quando possível, nas fases e passos do desenvolvimento da aplicação em questão, no sentido de contemplar todas as funcionalidades desejadas.

Os tópicos que constituem a base da especificação da ONTOWUM, e conseqüentemente da RecomTour, são a mineração de uso na Web e a filtragem colaborativa, nos termos brevemente descritos a seguir. Demais considerações sobre ambos os tópicos poderão ser encontradas ao longo do capítulo.

5.1.3.1 Mineração de uso na Web

A mineração de uso da Web (MUW) é a área que se dedica à atividade de investigação de seqüências de visitas feitas por usuários a páginas da Web, visando não só reconstituir os passos seguidos pelos usuários, mas principalmente descobrir quais padrões podem ser interessantes para o domínio da aplicação, através da aplicação de técnicas de mineração de dados aos dados de uso à Web (BECKER, VANZIN, 2004) (CHEN et al., 1998).

Os dados de uso estão concentrados principalmente nos logs dos servidores Web, que armazenam as interações dos usuários com as páginas visitadas, mas também podem ser encontrados nas próprias estruturas dos sites Web – informações sobre as referências e vínculos entre as páginas – ou obtidos dos usuários a partir do uso de programas CGI, cookies e outros mecanismos. Desse modo, a mineração de uso da Web é apropriada para analisar sistematicamente o comportamento passado dos usuários. (BOULLOSA, 2002).

Um outro aspecto da mineração de uso da Web é que ela serve como apoio na tomada de decisões. A saída de um processo é geralmente um conjunto de modelos de dados que representam conhecimento implícito sobre padrões de uso dos usuários da Web. Esses modelos são então analisados por especialistas, tais

como analistas de mercado que buscam novas formas de aumentar os lucros ou administradores de sites que buscam aperfeiçoar a estrutura do site de forma a melhorar a experiência de navegação dos visitantes.

A mineração de uso da Web também fornece conhecimento operacional que pode servir como insumo para sistemas de personalização da Web. Os dados de uso representam as interações dos usuários com os sites da Web. A mineração de uso da Web fornece uma abordagem para a coleta e pré-processamento desses dados, gerando modelos que representam, dentre outras coisas, o comportamento e interesses dos usuários. Esses modelos podem então ser utilizados por um sistema para a personalização automática da Web, ou seja, sem a intervenção de especialistas humanos (PIERRAKOS et al., 2003).

O processo da mineração de uso obedece as seguintes etapas:

• aquisição de dados: os dados de uso, que podem ser provenientes de várias fontes, são reunidos e o seu conteúdo e estrutura identificados. Esses dados podem ser coletados tanto de servidores Web, de máquinas clientes ou de fontes intermediárias tais como servidores

proxy;

• pré-processamento dos dados: os dados são limpos de ruídos e inconsistências e são integrados de forma a serem utilizados como entrada para a próxima etapa, correspondente à descoberta de padrões. Isso envolve basicamente as tarefas de filtragem dos dados, identificação de usuários e identificação de sessões dos usuários;

• descoberta de padrões: os padrões são descobertos através da aplicação de técnicas estatísticas e de aprendizagem de máquina aos dados, tais como: agrupamento, classificação, descoberta de regras de associação e descoberta de padrões seqüenciais. Geralmente o conhecimento requerido pelos sistemas de personalização corresponde aos padrões de navegação ou interesses dos usuários inferidos nessa etapa;

• pós-processamento do conhecimento: o conhecimento extraído é avaliado e apresentado em um formato inteligível pelos humanos, como por exemplo, através de relatórios ou ferramentas de visualização. Para fins de personalização automática, o conhecimento descoberto é diretamente incorporado a um módulo de personalização.

5.1.3.2 Filtragem colaborativa

A filtragem colaborativa é um processo que se baseia na similaridade entre usuários para gerar recomendação de produtos, ou seja, utiliza a avaliação dada por outros usuários para predizer se um determinado item será ou não relevante para um usuário particular (QUEIROZ, 2002) (TORRES, 2004) (ADOMAVICUS, TUZHILIN, 2005). O âmago dos sistemas colaborativos é troca de experiências entre indivíduos que possuem interesses comuns, visto que os itens são filtrados baseado nas avaliações feitas pelos usuários (CAZELA, REATEGUI, 2004).

A técnica da filtragem colaborativa pode ser descrita através dos seguintes passos (QUEIROZ, 2002) (CAZELA, REATEGUI, 2004):

• representação dos dados de entrada: o usuário exprime suas preferências, a principio preenchendo um questionário e, depois, atribuindo notas a itens propostos pelo sistema, o que indica os interesses do usuário e são armazenados em seu perfil, e, caso o sistema não peça ao usuário que atribua notas aos itens consumidos, pode-se, de maneira alternativa, considerar ‘1’ caso o usuário tenha consumido o produto e ‘0’, caso contrário;

• mensuração da similaridade entre os usuários: o sistema compara as avaliações dos usuários para itens consumidos, a fim de descobrir quão similares são essas avaliações e, assim, encontrar usuários que estejam mais “próximos”;

• formação da vizinhança: uma vez que a similaridade entre os usuários foi calculada, é necessário que se agrupem os usuários similares (“vizinhos”), devendo-se notar que cada usuário terá uma vizinhança diferente, o que garante a personalização das recomendações;

• geração da recomendação: o sistema utiliza as informações da vizinhança para fazer a recomendação de itens ao usuário, sendo que tal é feita com base numa predição calculada, a qual representa o valor que o usuário supostamente daria ao item, sendo recomendados aqueles que apresentem os maiores valores de predição.

As técnicas de filtragem colaborativa possuem as seguintes vantagens (QUEIROZ, 2002):

• independência de conteúdo: como a filtragem colaborativa baseia-se na avaliação dada pelos usuários, qualquer tipo de item pode ser analisado – um filme, um livro, uma música etc – e as recomendações são enviadas para os usuários com base apenas nas avaliações dos outros usuários, sem que haja a necessidade da análise do conteúdo dos itens;

• habilidade de recomendar produtos segundo características como qualidade e gostos: na filtragem colaborativa conta-se com a capacidade de se recomendar um item utilizando-se análises subjetivas que os usuários tiveram;

• possibilidade de produzir recomendações inesperadas e boas: tendo em vista a forma como são geradas as recomendações, a filtragem colaborativa pode gerar recomendações inesperadas, porém boas, isso ocorrendo devido ao fato dela representar os hábitos de consumo dos usuários.

Por outro lado, os sistemas baseados em filtragem colaborativa também apresentam algumas limitações (ADOMAVICUS, TUZHILIN, 2005) (CAZELA, REATEGUI, 2004):

• recomendação de novos itens: um item não pode ser recomendado até que tenha sido avaliado por um número mínimo de usuários, uma vez que o sistema não possui dados suficientes para atribuir um peso a ele, caracterizando o chamado cold start;

• usuário “ovelha negra”: neste caso, o sistema padece de desempenho, pois não há vizinhos próximos o suficiente para que a recomendação alcance os interesses do usuário, uma vez que as recomendações são baseadas em usuários que apresentam interesses similares aos dele; • esparcialidade: quando o número de usuários é demasiadamente

pequeno em relação ao número de informações no sistema, o número de avaliações é muito pequeno e há um grande risco de tornarem-se muito esparsas, isso acontecendo também com usuários cujas

preferências sejam incomuns em relação ao restante da população de usuários, tornando-se muito pobres suas recomendações.