GuideMe: service for consulting, publication and recommendation of touristic locations


Autoria(s): Umanets, Artem
Contribuinte(s)

Ferreira, Artur Jorge

Leite, Nuno Miguel da Costa de Sousa

Data(s)

25/02/2014

25/02/2014

01/11/2013

Resumo

Trabalho de Projeto realizado para obtenção do grau de Mestre em Engenharia Informática e de Computadores

Nos últimos anos, com a proliferação de dispositivos móveis, tais como smartphones, as pessoas estão em constante troca de informação. Por exemplo, no contexto de visitas turísticas, as pessoas têm sempre o smartphone presente, o que lhes possibilita a consulta da informação sobre o ponto turístico escolhido. Quando se visita um determinado local, a aplicação de guia turístico recomenda informações úteis para o utilizador. Estas recomendações são baseadas na localização atual do utilizador, nas suas preferências e visitas anteriores, possibilitando ainda que seja fornecida a opinião do mesmo sobre cada visita. Neste relatório, abordamos o desenvolvimento da aplicação móvel e a correspondente aplicação Web, denominada GuideMe, para consulta, divulgação e recomendação de locais turísticos. A aplicação móvel foi desenvolvida para a plataforma iOS, seguindo o conceito de Universal Application, suportando os dispositivos iPhone, iPad e iPod Touch. O serviço na sua totalidade, oferece um conjunto de funcionalidades que melhoram a experiência do utilizador durante as visitas dos locais turísticos. O foco principal da aplicação móvel, é o de apresentar os locais turísticos na vizinhança da posição atual do utilizador. A informação sobre a localização atual é representada sob a forma de coordenadas geográficas (latitude e longitude), obtidos pelo dispositivo móvel através do equipamento Global Positioning System (GPS) ou através da triangulação de antenas WiFi. Os utilizadores também têm acesso a opções de filtragem únicas aquando da pesquisa dos locais turísticos. A pesquisa podese basear na sua disponibilidade para a visita, condições meteorológicas do local e altura preferida do dia (dia ou noite). Cada utilizador pode consultar os pontos turísticos, marcalos como visitados ou por visitar. Posteriormente, o sistema irá usar esta informação para calcular as recomendações dos locais que não foram previamente visitados pelo utilizador. A infra-estrutura que suporta o serviço GuideMe implementa o próprio sistema de recomendação, que tem como objetivo analisar as visitas de cada utilizador e construir listas de recomendação baseando-se nos gostos mútuos entre os utilizadores. As recomendações produzidas são adequadas ao gosto do utilizador em causa. Com o sucesso do sistema de recomendação da Amazon, este tema tem sido o alvo do estudo e contribuição constante nos últimos anos. Através da literatura analisada, teve-se a oportunidade de estudar as diversas metodologias e algoritmos que compõem os sistemas de recomendação atuais. Analisamos as vantagens e desvantagens das seguintes abordagens e metodologias: Filtragem Baseada em Conteúdo (FBC); Filtragem Colaborativa baseada em Itens (FCBI); Filtragem Colaborativa baseada em Utilizadores (FCBU); Sistemas Híbridos. A literatura justifica que os sistemas mais robustos e de maior qualidade são baseados em abordagens híbridas. Na sua vertente simples, um sistema híbrido é composto pela junção do FBC com FCBI ou FCBU, que minimiza os pontos fracos de cada um dos sistemas. Apesar da eficiência e da qualidade dos sistemas híbridos, devido à sua elevada complexidade de implementação, a abordagem escolhida para este projeto é a FCBI. Realizamos o estudo e a avaliação estatística dos diversos fatores (desempenho, tempo de execução e a dimensão de dados) que nos possibilitaram concluir que o algoritmo Slope One é o mais adequado para o sistema de recomendação em questão. A computação das recomendações é realizada periodicamente, agendada pelo Cron job para as 3:00 da manhã, em cada dia. O serviço seleciona um conjunto de utilizadores com as novas visitas e atualiza a sua lista de recomendações. O serviço GuideMe foi implementado com uma arquitetura de 3 camadas, composta pela camada de dados, camada lógica de negócio e camada de apresentação. A primeira é responsável por armazenar a informação num modelo relacional MySQL. Qualquer operação sobre o modelo de dados é realizada através da camada de acesso a dados, implementada com recurso à framework Hibernate. Na camada de negócio posiciona-se a componente de sistema de recomendação e a RESTful API. A API expõe um conjunto de endpoints a serem consumidos pelas aplicações clientes, é responsável pela sua segurança, autenticação, formato de dados, entre outros. O serviço de recomendação encontra-se implementado sob a forma de uma biblioteca, enquanto que a API RESTful é implementada com recurso à Play Framework como uma aplicação Web. Ambas as componentes acedem aos dados usando a mesma camada de acesso a dados. A estabilidade do serviço foi avaliada através de testes de carga. Estes ajudaram a detectar os pontos fracos do sistema, implicando melhorias a nível de estabilidade e robustez do serviços desenvolvidos. A aplicação móvel e a aplicação Web, utilizam os mesmos endpoints da API RESTful para consulta, publicação e edição dos dados. Suportam a autenticação através dos serviços sociais comuns para a atualidade, nomeadamente Facebook e Twitter. Ambas as aplicações suportam o conceito de internacionalização. Atualmente encontram-se em Inglês e Português, mas a infra-estrutura implementada possibilita uma fácil adição de novos idiomas. A internacionalização constituiu um desafio no desenho da arquitetura do sistema, é uma funcionalidade que teve de ser integrada desde o modelo relacional, até à camada de acesso a dados, API RESTful e as respetivas aplicações Web e móvel. A aplicação Web implementa um subconjunto de funcionalidades da aplicação móvel, esta foi desenvolvida com o objetivo de provar o correto funcionamento da RESTful API demonstrando que várias aplicações clientes conseguem consumir a mesma fonte de informação. Atualmente a interface do backoffice é implementada pela aplicação móvel que pode ser apenas acedida por utilizadores com privilégios especiais. Em modo de administração é possível realizar operações tais como: editar a informação de um local; adicionar novos locais; consultar a informação reportada pelos utilizadores sobre os dados incorrectos de um local; e visualizar os erros das diferentes componentes do serviço. No futuro, pretende-se com que a aplicação Web tenha o mesmo conjunto de funcionalidades da aplicação móvel. Foi o que diz respeito ao backoffice, de modo a facilitar a gestão do sistema em algumas situações. As aplicações desenvolvidas providenciam uma interface agradável e de simples utilização. Foi conduzida uma avaliação de usabilidade da aplicação móvel, que nos possibilitou identificar o público alvo, as suas preferências e a opinião que obtiveram ao utilizar a aplicação GuideMe. Na análise realizada, a avaliação geral foi positiva e a maioria das pessoas mostrou interesse em utilizar a aplicação no futuro. É expectável que a solução atual seja posta em prática e que contribua de forma positiva para o aumento de turismo nos locais menos conhecidos.

Abstract: In the past few years, with the proliferation of mobile devices such as smartphones, people are experiencing frequent communication and information exchange. For instance, in the context of tourist visits, it is often the case that each person carries out a smartphone, to consult information about a chosen point of interest. When one visits a given location, a suitable tourist guide application will recommend useful information to the tourist, based on its current location, preferences, past visits, further allowing the user to provide feedback about each visit. In this report, we address the development of a mobile application and the corresponding Web application, named GuideMe, for consultation, publication, and recommendation of touristic locations. Users are offered features that improve their experience when they visit some touristic location. Each user may consult places of touristic interest, receive suggestions of previously unseen touristic places according to past users recommendations, and to perform its own recommendations. The GuideMe service offers a set of search filters, based on several criteria (such as the distance between user and point of interest location and the user’s available time, among others) to facilitate the exploration of new locations. The key novelties of GuideMe, as compared to previous approaches, lies in the use of a recommendation process and the social interaction between users. The evaluation of the different recommendation algorithms has contributed to the quality of the implemented recommender system. The load tests have helped to detect some weak spots and improve overall the stability and robustness of the developed service.

Identificador

UMANETS, Artem - GuideMe: service for consulting, publication and recommendation of touristic locations. Lisboa: Instituto Superior de Engenharia de Lisboa, 2013. Dissertação de mestrado.

http://hdl.handle.net/10400.21/3251

201224615

Idioma(s)

eng

Direitos

openAccess

Palavras-Chave #Guia turístico #Aplicação móvel #Aplicação web #Sistema de recomendação #iOS #iPhone #iPad #REST #Tourist guide #Mobile application #Web application #Recommender system #GuideMe
Tipo

masterThesis

Publicador

Instituto superior de engenharia de Lisboa