RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.)...

113
Pós-Graduação em Ciência da Computação RecRoute: UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE ÔNIBUS BASEADO EM INFORMAÇÕES CONTEXTUAIS DOS USUÁRIOS Por Adriano de Oliveira Tito Dissertação de Mestrado Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao RECIFE, AGOSTO / 2013

Transcript of RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.)...

Page 1: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

Pós-Graduação em Ciência da Computação

RecRoute: UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE ÔNIBUS BASEADO EM INFORMAÇÕES CONTEXTUAIS DOS

USUÁRIOS Por

Adriano de Oliveira Tito

Dissertação de Mestrado

Universidade Federal de Pernambuco

[email protected] www.cin.ufpe.br/~posgraduacao

RECIFE, AGOSTO / 2013

Page 2: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

UNIVERSIDADE FEDERAL DE PERNAMBUCO

CENTRO DE INFORMÁTICA

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

Adriano de Oliveira Tito

“RecRoute: Um Sistema de Recomendação de Rotas de Ônibus Baseado

em Informações Contextuais dos Usuários”

ESTE TRABALHO FOI APRESENTADO A PÓS-GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS DA COMPUTAÇÃO.

Orientadora: Ana Carolina Salgado

Co-Orientadora: Patrícia Cabral de A. R. Tedesco

RECIFE, AGOSTO / 2013

Page 3: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

Catalogação na fonte

Bibliotecária Jane Souto Maior, CRB4-571

Tito, Adriano de Oliveira RecRoute: um sistema de recomendação de rotas de ônibus baseado em informações contextuais dos usuários / Adriano de Oliveira Tito. - Recife: O Autor, 2013. xii, 99 f.: il., fig., tab., quadro Orientador: Ana Carolina Brandão Salgado.

Dissertação (mestrado) - Universidade Federal de Pernambuco. CIn, Ciência da Computação, 2013. Inclui referências e apêndice. 1. Ciência da Computação. 2. Computação Sensível ao Contexto. I. Salgado, Ana Carolina Brandão (orientadora). II. Título.

004 CDD (23. ed.) MEI2013 – 154

Page 4: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

Dissertação de Mestrado apresentada por Adriano de Oliveira Tito à Pós-Graduação

em Ciência da Computação do Centro de Informática da Universidade Federal de

Pernambuco, sob o título “RecRoute: Um Sistema de Recomendação de Rotas de

Ônibus Baseado em Informações Contextuais dos Usuários” orientada pela Profa.

Ana Carolina Brandão Salgado e aprovada pela Banca Examinadora formada pelos

professores:

_____________________________________________

Prof. Ricardo Bastos Cavalcante Prudêncio

Centro de Informática / UFPE

______________________________________________

Profa. Vaninha Vieira dos Santos

Departamento de Ciência da Computação/UFBA

______________________________________________

Profa. Ana Carolina Brandão Salgado

Centro de Informática / UFPE

Visto e permitida a impressão.

Recife, 23 de agosto de 2013.

___________________________________________________

Profa. Edna Natividade da Silva Barros

Coordenadora da Pós-Graduação em Ciência da Computação do

Centro de Informática da Universidade Federal de Pernambuco.

Page 5: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

iii

Aos meus pais por todos os valores

e ensinamentos transmitidos;

A minha esposa por todo amor,

compreensão e carinho;

Aos meus irmãos pelo incentivo e

amizade;

A todos que contribuíram para a

realização deste trabalho.

Page 6: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

iv

"Por vezes sentimos que aquilo que

fazemos não é senão uma gota de água no

mar. Mas o mar seria menor se lhe faltasse

uma gota."

(Madre Teresa de Calcutá)

Page 7: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

v

Agradecimentos

A Deus, meu senhor e guia, por estar sempre presente em minha vida, me

mostrando o caminho, me apoiando nos momentos de dúvidas, me fazendo aprender

nos momentos de tristeza e compartilhando comigo os momentos de alegria;

Aos meus pais, pelo incentivo e amor dedicado, por me apoiarem em todos os

momentos da minha vida e por terem me ensinado o verdadeiro sentido de uma família;

A minha querida esposa, Wilbsan Cordeiro de Sousa Tito, pelo amor, carinho,

compreensão, incentivo e apoio incondicional em todos os momentos;

Aos meus irmãos, Anna Karla de Oliveira Tito e Allyson de Oliveira Tito, pelo

companheirismo, paciência, carinho e incentivo;

As minhas orientadoras, Ana Carolina Salgado e Patrícia Tedesco, agradeço

pelos valiosos ensinamentos, confiança, paciência, amizade e apoio durante o período

de orientações. MUITO OBRIGADO;

Aos professores Ricardo Prudêncio e Vaninha Vieira, agradeço a participação na

banca examinadora deste trabalho;

Aos integrantes do projeto Ubibus, especialmente aos alunos de Iniciação

Científica: Arley, Luana, Luiz e Diogo, pela grande ajuda e atenção desprendida durante

a pesquisa;

A todos que participaram dos experimentos deste trabalho pela atenção

desprendida durante as validações;

Aos meus colegas do grupo CinFuturo, pela presença e companheirismo durante

as jornadas do curso.

Aos colegas da DATAPREV, em particular ao projeto dos “Bacanas”

(BGCNIS), pelos momentos de apoio, troca de conhecimentos e experiências

profissionais.

Enfim, agradeço a todas as pessoas que direta ou indiretamente tornaram

possível a elaboração deste trabalho, meu reconhecimento, gratidão e respeito a todos.

Page 8: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

vi

Resumo

Nas últimas décadas, o trânsito em cidades de médio e grande porte, bem como

os transtornos causados direta ou indiretamente por este, tem se tornado um problema

crescente no cotidiano de qualquer cidadão. Isto tem contribuído para a ineficiência do

transporte público, onde uma das principais barreiras é a ausência de informações aos

usuários. Em tempos onde soluções tecnológicas para tarefas diárias estão sendo

amplamente disponibilizadas, surgem como uma possível solução os Sistemas de

Informação ao Usuário do transporte coletivo, que têm por finalidade fornecer

informações aos passageiros e apoiar suas decisões. A maioria dos sistemas com esse

propósito utiliza informações estáticas ou auxiliadas por transmissores GPS instalados

nos veículos. Este trabalho tem por objetivo desenvolver um sistema de recomendação

de rotas de transporte público por ônibus, denominado RecRoute, que considera

informações contextuais dos usuários, condições climáticas, temporais e do trânsito para

recomendar rotas de ônibus aos passageiros, apoiando-os em suas tomadas de decisão.

No experimento realizado com o RecRoute os resultados gerados pelas recomendações

foram bem avaliados pelos participantes. Sendo assim, espera-se prover informações de

grande relevância para os usuários de transporte coletivo urbano, melhorando a

qualidade do transporte público por ônibus e incentivando o uso deste tipo de meio de

transporte.

Palavras-chave: Sistemas Inteligentes de Transporte, Sistemas de Recomendação,

Computação Sensível ao Contexto, Algoritmos de Classificação.

Page 9: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

vii

Abstract

Recently, transit in major and medium cities, as well as the inconvenience

directly or indirectly caused by it, has become an increasing problem in the daily life of

every citizen. This has contributed to the inefficiency of public transportation, where

one of the main issues to be tackled is the absence of relevant, timely information to

users. In times where technology solutions for daily tasks are widely available, Public

Transportation User Information Systems emerge as a possible solution, aiming to

provide information to passengers and support their decision-making. Most systems for

this purpose are using static information or, at most, information provided by GPS

transmitters installed in vehicles. This work aims to develop a recommendation system

for public transportation routes by bus, called RecRoute, that considers contextual

information related to users, climate, time of day and traffic to recommend bus routes,

and support passengers in their decision-making. The results of our experiment show

that RecRoute was approved and its recommendations were well evaluated by the

participants. Thus, it is expected to provide information of great relevance for the users

of urban public transportation, improving the quality of public transportation by bus and

encouraging the use of such means of transport.

Keywords: Intelligent Transportation Systems, Recommendation Systems,

Context-Aware Computing, Classification Algorithms.

Page 10: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

viii

Lista de Ilustrações Figura 2.1 - Categorias dos Sistemas Inteligentes de Transporte ............................................................... 11

Quadro 2.1 - Funções dos Sistemas de Informação ao Usuário ................................................................. 12

Figura 2.2 – Categorias Fundamentais para as Informações Contextuais .................................................. 16

Figura 2.3 - Visão da Aplicação Tradicional e uma Aplicação Sensível ao Contexto ............................... 18

Figura 2.4 – Rede Neural Artificial Perceptron Multicamadas .................................................................. 29

Figura 3.1 – Informações Contextuais Utilizadas ....................................................................................... 32

Figura 3.2 – Obtenção de Informações Contextuais ................................................................................... 33

Figura 3.3 – Informações Providas pelos SIU ............................................................................................ 34

Figura 3.4 – Sistema OneBusAway ............................................................................................................ 37

Figura 3.5 – Indicação de Rotas no Sistema Bus Catcher .......................................................................... 38

Figura 3.6 – Exibição de rotas do Sistema de Informação ao Usuário ....................................................... 39

Figura 3.7 – Sistema PECITAS .................................................................................................................. 40

Figura 3.8 – Requisição de Rota no Google Transit................................................................................... 41

Figura 3.9 – Trajetos Sugeridos pelo Google Transit ................................................................................. 41

Figura 3.10 – Indicação de Rotas do Sistema ANTARES ......................................................................... 42

Figura 3.11 – Recomendação de Rotas do Sistema UbibusRoute .............................................................. 43

Figura 4.1 – Arquitetura do Projeto Ubibus ............................................................................................... 46

Figura 4.2 – Diagrama de Casos de Uso .................................................................................................... 49

Figura 4.3 – Relevância das Preferências dos Usuários ............................................................................. 52

Figura 4.4 – Modelagem das Informações Contextuais ............................................................................. 52

Figura 4.5 – Arquitetura do RecRoute ........................................................................................................ 55

Figura 4.6 – Demonstração da Formação da Função para Classificação das Rotas ................................... 57

Figura 4.7 – Estrutura de Armazenamento da Função para Classificação .................................................. 58

Quadro 4.1 – Pseudo-Código para a Realimentação de Relevância ........................................................... 58

Figura 4.8 – Agrupamento das Rotas para Classificação ........................................................................... 59

Quadro 4.2 – Pseudo-Código da Classificação das Rotas .......................................................................... 60

Figura 4.9 – Extrato do Modelo Relacional do Banco de Dados do Projeto Ubibus ................................. 61

Figura 4.10 – Principais Classes do RecRoute ........................................................................................... 63

Figura 4.11 – Diagrama de Sequência das Atividades do RecRoute .......................................................... 64

Figura 4.12 – Exemplos da Interface Móvel do RecRoute ......................................................................... 67

Figura 4.13 – Exemplo da Interface Web do RecRoute ............................................................................. 67

Figura 5.1 – Ilustração de um Registro do Arquivo ARFF ........................................................................ 71

Figura 5.2 – Acertos nas Recomendações de Rotas x Cenários Experimentais ......................................... 76

Page 11: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

ix

Lista de Tabelas

Tabela 2.1 - Benefícios com a Utilização dos ITS ....................................................................................... 9

Tabela 3.1 – Comparativo entre os Trabalhos Relacionados ...................................................................... 43

Tabela 4.1 – Comparativo entre os Sistemas e o RecRoute ....................................................................... 69

Tabela 5.1 – Resultados da Comparação de Algoritmos ............................................................................ 73

Tabela 5.2 – Rotas do Cenário Experimental 1 .......................................................................................... 75

Tabela 5.3 – Rotas do Cenário Experimental 2 .......................................................................................... 75

Page 12: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

x

Lista de Acrônimos

IPEA Instituto de Pesquisa Econômica Aplicada

TIC Tecnologia de Informação e Comunicação

APTS Advanced Public Transportation Systems

SIU Sistemas de Informação ao Usuário

ITS Intelligent Transportation Systems

IVHS Vehicle-Highway Systems

CLIOS Complex, large, integrated open systems

ATMS Advanced Traffic Management Systems

ATIS Advanced Traveller Information Systems

AVCS Advanced Vehicle Control Systems

CVO Commercial Vehicle Operations

ARTS Advanced Rural Transportation Systems

ETC Electronic Toll Collection

IHC Interação Humano Computador

CE Contextual Element

SR Sistemas de Recomendação

RI Recuperação de Informações

CARS Context-Aware Recommender Systems

MLP Multilayer Perceptron

UFPE Universidade Federal de Pernambuco

Page 13: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

xi

Sumário

1 Introdução ............................................................................................................................................ 1

1.1 Justificativa .................................................................................................................................. 3

1.2 Objetivos ..................................................................................................................................... 4

1.3 Contribuições Esperadas.............................................................................................................. 5

1.4 Estrutura da Dissertação .............................................................................................................. 5

2 Conceitos Básicos................................................................................................................................. 7

2.1 Sistemas Inteligentes de Transporte ............................................................................................ 7

2.1.1 Categorização dos Sistemas Inteligentes de Transporte ................................................. 10

2.1.2 Sistemas de Informação ao Usuário ............................................................................... 12

2.2 Contexto Computacional ........................................................................................................... 13

2.2.1 Definições de Contexto Computacional ......................................................................... 14

2.2.2 Sistemas Sensíveis ao Contexto ..................................................................................... 17

2.3 Sistemas de Recomendação ....................................................................................................... 18

2.3.1 Técnicas de Filtragem de Informações ........................................................................... 20

2.3.2 Sistemas de Recomendação Sensíveis ao Contexto ....................................................... 23

2.3.3 Realimentação de Relevância em Sistemas de Recomendação ...................................... 24

2.3.4 Estratégias de Aprendizagem de Máquina e Predição em Sistemas de Recomendação . 25

2.4 Considerações Finais ................................................................................................................. 29

3 Informações Contextuais em SIU e Sistemas de Recomendação de Rotas ................................... 30

3.1 Utilização de Contexto em Sistemas de Informação ao Usuário ............................................... 30

3.2 Sistemas de Recomendação e Exibição de Rotas de Transporte Público .................................. 36

3.3 Considerações Finais ................................................................................................................. 44

4 O Sistema RecRoute .......................................................................................................................... 45

4.1 O Projeto Ubibus ....................................................................................................................... 45

4.2 O Aplicativo RecRoute .............................................................................................................. 49

4.2.1 Especificação dos Requisitos ......................................................................................... 49

4.2.2 Modelagem das Informações Contextuais ...................................................................... 51

4.2.3 Arquitetura ..................................................................................................................... 54

4.3 Implementação do RecRoute ..................................................................................................... 61

4.4 Considerações Finais ................................................................................................................. 68

5 Experimentos e Resultados ............................................................................................................... 70

5.1 Escolha do Algoritmo de Classificação ..................................................................................... 70

5.1.1 Descrição do Cenário Experimental ............................................................................... 70

5.1.2 Resultados Obtidos ......................................................................................................... 72

5.2 Experimentos ............................................................................................................................. 73

5.2.1 Objetivos do Experimento .............................................................................................. 73

Page 14: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

xii

5.2.2 Elaboração do Experimento ........................................................................................... 74

5.2.3 Configuração e Execução dos Cenários Experimentais ................................................. 74

5.2.4 Resultados ...................................................................................................................... 76

5.3 Considerações Finais ................................................................................................................. 77

6 Conclusão e Trabalhos Futuros ....................................................................................................... 79

6.1 Contribuições ............................................................................................................................. 79

6.2 Limitações do Trabalho ............................................................................................................. 80

6.3 Trabalhos Futuros ...................................................................................................................... 80

Referências ................................................................................................................................................ 82

Apêndice A - Descrição dos Casos de Uso .............................................................................................. 90

Apêndice B - Questionário de Pesquisa sobre Relevância de Preferências ......................................... 96

Apêndice C - Preferências dos Participantes do Experimento ............................................................. 98

Page 15: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

1

Capítulo 1

Introdução

A utilização do sistema de transporte público é uma realidade na vida de muitas

pessoas. Este compõe, juntamente com outros sistemas públicos, um pilar de serviços

básicos que, oferecidos eficientemente, contribuem na melhoria da qualidade de vida

dos habitantes de determinada região. Há alguns anos, o trânsito tornou-se assunto

corriqueiro para qualquer cidadão que busca deslocamentos rápidos. A procura por

mobilidade provocou ao longo do tempo um aumento significativo no número de

veículos em circulação, resultando na saturação das rodovias, aumentando o número de

congestionamentos, acidentes e, por sua vez, a emissão de gases. Estas questões geram

desgaste físico e psicológico ao ser humano, impactando na sua qualidade de vida.

Segundo Zhang e colegas (2011) não será possível melhorar o trânsito alargando

ruas, construindo viadutos ou fazendo rodízio de carros. Para isto, é preciso que o poder

público e as empresas operadoras do transporte coletivo aprimorem o serviço prestado,

a fim de mudar a cultura das pessoas e fidelizá-las ao transporte público (Pilon, 2009).

De acordo com o Instituto de Pesquisa Econômica Aplicada – IPEA, o meio de

transporte mais utilizado nas regiões metropolitanas é o transporte público (IPEA,

2011), estando incluso nesta categoria o ônibus. Segundo Ferris e colegas (2010), a

utilização deste meio de transporte é essencial nos grandes centros urbanos, pois

diminui a poluição e gera menor volume de tráfego.

Segundo Cutolo (2003), as principais barreiras que levam o usuário a não optar

pela utilização do transporte coletivo urbano são a ausência de informações relativas aos

serviços e/ou sua baixa qualidade, aliadas à grande facilidade oferecida atualmente para

aquisição de veículos particulares.

A utilização da Tecnologia de Informação e Comunicação - TIC surge como

grande oportunidade para empresas e órgãos governamentais promoverem um

melhoramento do transporte coletivo urbano, oferecendo assim um serviço adequado às

Page 16: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

2

expectativas e necessidades dos passageiros e atuando de forma estratégica para atrair e

fidelizar os usuários (Schein, 2003).

Buscando aperfeiçoar os serviços de transporte existentes, muitas cidades têm

utilizado aplicações conhecidas como Sistemas Inteligentes de Transporte (ITS, do

inglês Intelligent Transportation Systems), que consistem na utilização da Tecnologia

da Informação e Comunicação para subsidiar a infraestrutura do sistema de transporte

com o objetivo de buscar melhorias em aspectos referentes ao mesmo (Gómez et. al.,

2009), tais como: gerenciamento de tráfego e sugestão de rotas aos motoristas;

informações aos usuários sobre condições meteorológicas, de estradas, possíveis

perigos, locais de incidentes, rotas ótimas e itinerário de veículos; conhecimento sobre o

controle de veículos em determinadas situações, sistemas de alertas e colisões.

Sistemas Avançados de Transporte Público (APTS, do inglês Advanced Public

Transportation Systems) são aplicações de ITS no apoio ao aumento da eficiência e

segurança dos sistemas de transporte público (Sussman, 2005). No contexto dos APTS,

encontram-se os Sistemas de Informação ao Usuário (SIU) que constituem em uma

importante ferramenta de comunicação entre os operadores/gestores do transporte

público e os usuários. Por meio destas ferramentas é possível fornecer aos passageiros,

informações que satisfaçam suas necessidades específicas, tais como: horário de

chegada dos ônibus nas paradas, tempo de espera, próximo veículo a passar na parada e

conselhos de rotas aos usuários (Schein, 2003) (Pilon, 2009).

O transporte coletivo por ônibus tem como características a complexidade e

inflexibilidade, impondo rotas de ônibus e horários pré-estabelecidos. Muitas vezes os

horários não são respeitados devido a incertezas do trânsito nas grandes cidades,

dificultando o planejamento dos deslocamentos por parte dos usuários de transporte

coletivo. A utilização de informações de contexto neste tipo de aplicação como, por

exemplo, informações sobre o trânsito nas vias, preferências dos usuários e informações

de redes sociais podem aumentar a medida de desempenho e tornar a aplicação

desenvolvida mais adaptativa ao passageiro, satisfazendo suas preferências e

necessidades.

Contexto é entendido por qualquer informação que pode ser utilizada para

caracterizar a situação de entidades como, por exemplo, pessoas, lugares ou objetos, que

Page 17: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

3

são consideradas relevantes para a interação entre um usuário e uma aplicação,

incluindo o usuário e a aplicação em si (Dey e Abowd, 2001).

Em paralelo, o aumento da popularidade dos dispositivos móveis com acesso à

internet tem contribuído para o surgimento de novos aplicativos com características

ubíquas, que segundo Araújo (2003) movem-se para fora das estações de trabalho e

computadores pessoais e tornam-se pervasivas no cotidiano dos usuários, a fim de

atender suas diversas necessidades. De acordo com Gartner INC. (2011), as vendas de

smartphones em 2011 atingiram aproximadamente 108 milhões de unidades contra

aproximadamente 62 milhões de unidades em 2010. Esse valor corresponde a um

crescimento de 74%, representando 25% no total de vendas de dispositivos móveis.

Existem vários tipos de aplicativos baseados em localização que fornecem

informações aos usuários sobre o trânsito, conforme apresentado no Capítulo 3. Esses

aplicativos proveem, em sua maioria, informações aos usuários sobre rotas e estimativa

de tempo de chegada, mas às vezes, não são totalmente direcionados ao transporte

público e não levam em consideração acontecimentos dinâmicos como

engarrafamentos, acidentes, alagamentos, informações contextuais dos usuários, entre

outros.

Nesta proposta, buscamos atender os dois grupos de usuários fornecendo rotas

aos passageiros esporádicos e apoiando o planejamento de deslocamentos dos usuários

frequentes. Isto é feito com o uso de informações sobre rotas alternativas e adaptadas às

suas necessidades, que podem ser utilizadas por ocasião de engarrafamentos e/ou

impedimentos das vias e atrasos dos ônibus.

1.1 Justificativa

Diante do contexto onde os passageiros do transporte público não têm um

serviço que os apoie na decisão sobre que ônibus e rota tomarem para chegar aos seus

destinos, contornando situações de tráfego intenso ou acidentes e levando em

consideração suas preferências atuais, em nosso projeto de pesquisa, denominado

Ubibus (Vieira et. al., 2011), investigamos o uso de tecnologias relacionadas a

dispositivos móveis, web e mídias sociais como apoio aos passageiros de transporte

público em grandes e médios centros urbanos.

Page 18: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

4

Estudos recentes mostram que a população urbana brasileira teve aumento

acentuado nos últimos anos. Com a crescente taxa de urbanização ocorre a saturação das

vias de transporte, que deixam o trânsito nas cidades de médio e grande porte cada dia

mais congestionado. Diante deste cenário, sistemas de transporte público têm papel

importante no transporte de passageiros, principalmente nas áreas metropolitanas (Li et.

al., 2010). Porém, muitas barreiras levam o usuário a não optar pela utilização do

transporte coletivo urbano, entre elas está a falta de informações sobre este tipo de

transporte. Neste contexto, criamos o sistema RecRoute uma solução direcionada aos

usuários de ônibus, que usa informações contextuais estáticas e dinâmicas do tráfego e

de seus usuários para recomendar rotas a esses passageiros apoiando-os em suas

tomadas de decisão.

1.2 Objetivos

Este trabalho tem por objetivo geral desenvolver um sistema de recomendação

de rotas de ônibus, denominado RecRoute, capaz de recomendar aos passageiros as

melhores rotas para seu deslocamento, tomando por base pontos de origem e destino,

preferências do usuário e outras informações contextuais como, por exemplo, condições

climáticas. A aplicação deve ser acessível de qualquer lugar, inclusive nas ruas e

avenidas da cidade, por meio de dispositivos móveis.

O RecRoute tomará decisões através da percepção e adaptação de informações

contextuais do usuário levando em consideração suas preferências, por meio do

processamento de dados estáticos e dinâmicos como, por exemplo, localização de

paradas de ônibus, previsões do tempo e possíveis deficiências do usuário. Com isso,

espera-se prover informações de grande relevância para os usuários de transporte

coletivo urbano, incentivando e fidelizando o uso do ônibus como meio de transporte.

Para alcançar o objetivo geral, é necessário realizar os seguintes passos:

• Realizar um levantamento do estado da arte e aprofundar conhecimentos

acerca dos Sistemas Inteligentes de Transporte, focando nas informações contextuais

oferecidas aos usuários de transportes públicos por ônibus e sistemas de recomendação

de rotas;

• Fazer um estudo sobre as técnicas propostas na literatura para utilização de

sistemas de recomendação, informações contextuais, técnicas e algoritmos de

classificação e técnicas de realimentação de relevância;

Page 19: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

5

• Definir uma heurística de ordenação das rotas a recomendar de acordo com

o contexto dos usuários, técnicas e algoritmos de classificação;

• Especificar e implementar um protótipo da aplicação proposta;

• Avaliar o desempenho do protótipo.

1.3 Contribuições Esperadas

O projeto aqui proposto tem como principal contribuição a especificação e

implementação de um sistema de recomendação de rotas de transporte público sensível

ao contexto do passageiro e a outras informações como, por exemplo, condições

climáticas, temporais e situação do tráfego atual, entre outras.

Outra contribuição diretamente ligada à construção do sistema de recomendação

é a elicitação de informações contextuais a serem utilizadas em SIU onde, por meio de

um levantamento e estudo detalhado, definiremos quais as informações contextuais

mais relevantes para este tipo de aplicação. Estas informações serão tratadas por um

componente especializado, armazenadas e, se for o caso, georeferenciadas, apoiando a

tomada de decisão da aplicação.

1.4 Estrutura da Dissertação

Esta dissertação está organizada em cinco capítulos, além do capítulo atual,

conforme descrito a seguir:

O Capítulo 2 apresenta os conceitos básicos e considerações sobre os Sistemas

Inteligentes de Transporte - ITS, categorização dos ITS, Sistemas de Informação ao

Usuário – SIU. Também serão abordados temas como Contexto Computacional e

Sistemas de Recomendação.

O Capítulo 3 apresenta uma revisão do estado da arte que teve por objetivo

apresentar o cenário atual da utilização de informações contextuais pelos Sistemas de

Informação ao Usuário e alguns trabalhos relacionados de sistemas de recomendação e

exibição de rotas.

O Capítulo 4 apresenta o RecRoute. Os módulos da arquitetura do sistema são

apresentados e detalhados, juntamente com as especificações, a modelagem do

contexto, os requisitos e restrições da aplicação. Também são expostos os aspectos de

implementação utilizados no desenvolvimento do protótipo do RecRoute.

Page 20: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

6

O Capítulo 5 apresenta os experimentos e resultados obtidos com o aplicativo.

Detalhamos os objetivos, a configuração, a execução e, principalmente, os resultados

obtidos nos experimentos.

Finalmente, o capítulo 6 apresenta as conclusões, contribuições e limitações

associadas a este trabalho, seguidas de propostas para trabalhos futuros a serem

desenvolvidos.

Page 21: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

7

Capítulo 2

Conceitos Básicos

Neste capítulo, apresentamos os conceitos básicos necessários ao melhor

entendimento deste trabalho, definindo e caracterizando os ITS, apresentando suas

categorias, descrevendo Sistemas de Informação ao Usuário e apresentando conceitos

sobre Contexto Computacional e Sistemas de Recomendação. Este referencial teórico é

de extrema relevância no contexto deste trabalho.

2.1 Sistemas Inteligentes de Transporte

Os Sistemas Inteligentes de Transporte (ITS) surgiram nos Estados Unidos no

final dos anos 80, por intermédio de um grupo, que almejava proporcionar uma nova

visão aos sistemas de transportes do país. Apesar dos grandes avanços ocorridos,

principalmente na infraestrutura, nas últimas décadas, muitos problemas ainda

permaneciam, impactando as metas e objetivos traçados para o sistema de transporte

norte-americano nos anos seguintes. Os congestionamentos, a segurança, o meio-

ambiente e a produtividade eram os principais temas levados em consideração por este

grupo (Sussman, 2005). Assim, o desejo de manter uma ascendente mobilidade urbana

aliada a uma sustentabilidade ambiental e econômica fez surgir o conceito de sistemas

de veículos e estradas inteligentes (IVHS, do inglês Intelligent Vehicle-Highway

Systems), futuramente denominados, ITS (Zavergiu, 1996).

Sistemas Inteligentes de Transporte são ferramentas que integram informação,

métodos de comunicação, computadores e outras tecnologias a fim de subsidiar o

sistema de transporte de determinada região, integrando pessoas, estradas e veículos,

utilizando tecnologias avançadas de comunicação e processamento de dados (An et. al.,

2011). Para Goméz e colegas (2009), os ITS têm o objetivo de subsidiar a infraestrutura

do sistema de transporte a fim de buscar melhorias nos seguintes aspectos:

gerenciamento de tráfego e sugestão de rotas aos motoristas e passageiros; informações

aos usuários sobre condições meteorológicas, de estradas, possíveis perigos, locais de

incidentes, rotas ótimas e itinerário de veículos; conhecimento sobre o controle de

veículos em determinadas situações, sistemas de alertas e colisões.

Page 22: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

8

De acordo com Silva (2000) os ITS devem prover uma ligação inteligente entre

os diversos envolvidos nos sistemas de transportes, bem como com sua infraestrutura.

Segundo Zhang e colegas (2011) os ITS podem ajudar o gerenciamento e o bom

andamento da dinâmica de trânsito, fornecendo mais informações e, consequentemente,

reduzindo os congestionamentos e aumentando a capacidade das vias (An et. al., 2011).

Segundo Ghosh e Lee (2010) algumas características dos Sistemas Inteligentes

de Transporte são:

• Prover informações aos usuários dos sistemas de transportes: A falta de

informação, principalmente aos motoristas é motivo causador de impaciência, o que

pode levar à condução imprudente, incidentes, stress ao volante e, consequentemente, a

acidentes;

• Estimativas e cálculos automatizados: Os ITS realizam estimativas e

cálculos automatizados subsidiando a tomada de decisão dos usuários. Isto gera

informações mais precisas, possibilitando maior controle e coordenação;

• Exatidão nas informações concedidas: As informações providas pelos ITS

devem ser precisas, oportunas, relevantes e consistentes. Caso contrário, os usuários

podem questionar a veracidade das mesmas e isto pode ocasionar o abandono prematuro

do sistema;

• Não intrusividade: Os ITS não devem tentar controlar o comportamento

dos motoristas, exceto em condições de emergência. O princípio fundamental é fornecer

ao condutor, o máximo de informações possível e equipá-lo com os devidos recursos

computacionais para que possa determinar livremente suas ações;

• Flexibilidade: Os Sistemas Inteligentes de Transporte precisam ser

flexíveis com o objetivo de se adaptarem a dinamicidade do trânsito, principalmente nas

grandes cidades;

• Agilidade no fornecimento das informações: Devido à sua natureza

dinâmica, os ITS demandam agilidade no fornecimento das informações, pois caso

contrário, as informações fornecidas podem gerar erro ou não serem condizentes com a

realidade;

• Foco no usuário: Embora algumas informações como a utilização das vias

e tempo médio de viagem sejam importantes para os planejadores e gerentes

operacionais dos meios de transportes. A preocupação com as informações para os

Page 23: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

9

usuários individuais também são muito importantes, pois estes são elementos diretos do

trânsito;

• Arquitetura distribuída e iteração assíncrona: Pela característica

dinâmica dos ITS, cada vez mais usuários necessitam de um serviço com características

ubíquas e que se adaptem, em tempo real, às suas reais necessidades, exigindo dos

sistemas concepção assíncrona, algoritmos distribuídos e alocação dinâmica de

recursos;

• Concepção a base de simulações: Muitos dos atuais Sistemas Inteligentes

de Transporte manipulam dados de tamanho e complexidade crescentes, o que implica

num grande número de variáveis e parâmetros, tornando-os mais complexos. De tal

forma que na concepção do sistema, a simulação pode ser o único mecanismo para

estudá-los objetivamente;

• Verificação e correção contínua de erros: Sistemas complexos podem

conter erros de projeto que se manifestam de forma irregular durante as operações. Tais

erros devem ser rapidamente corrigidos, a fim de manter a confiança do usuário;

• Verificação contínua de inconsistências entre os ITS e as leis sociais:

Qualquer arquitetura de ITS deve ser baseada em princípios lógicos e leis de trânsito do

local onde vai operar. As possíveis inconsistências devem ser cuidadosamente

analisadas.

Percebe-se que a utilização de sistemas ITS proporciona alguns benefícios

diretos e indiretos para os usuários, empresas operadoras, organismos gestores e

sociedade em geral (Pilon, 2009). A Tabela 2.1 mostra alguns destes benefícios.

Tabela 2.1 - Benefícios com a Utilização dos ITS

Fonte: Adaptado (Thomas, 2001)

Tempo de Deslocamento Decréscimo de 13% a 48%

Velocidade de Deslocamento Acréscimo de 16% a 62%

Capacidade da Via Acréscimo de 8% a 25%

Total de Acidentes Decréscimo de 24% a 50%

Consumo de Combustível Decréscimo de 41% em combustíveis usados em congestionamentos

Poluição

Decréscimo de 122 Toneladas/Ano na emissão de CO2;

Decréscimo de 1,4 Toneladas/Ano na emissão de HC;

Decréscimo de 1,2 Toneladas/Ano na emissão de NO2

Esta seção teve por objetivo apresentar os principais conceitos de Sistemas

Inteligentes de Transporte, que serviram de referência para o desenvolvimento deste

Page 24: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

10

trabalho. Na Seção 2.1.1, são citadas as várias categorias as quais pertencem os ITS. Na

Seção 2.1.2, são apresentados características e conceitos de Sistemas de Informação ao

Usuário.

2.1.1 Categorização dos Sistemas Inteligentes de Transporte

Com o objetivo de abordar problemas pontuais em determinadas áreas dos

sistemas de transportes, os ITS se subdividem em várias categorias, conforme descritas

a seguir (Sussman, 2005).

• Sistemas Avançados de Transporte Público (APTS, do inglês Advanced

Public Transportation Systems): Estes sistemas têm por objetivo disponibilizar

informações ao usuário do transporte público, minimizar tempos de espera, prover

segurança e facilidade para o pagamento das tarifas e auxiliar na melhoria do

escalonamento, itinerário e horário dos veículos que fazem parte da rede pública de

transporte;

• Sistemas Avançados de Gerenciamento de Tráfego (ATMS, do inglês

Advanced Traffic Management Systems): Estas aplicações realizam o gerenciamento do

tráfego de forma geral, visando tornar o trânsito mais eficiente, por meio de serviços

como: detecção e redução de congestionamentos, sugestão de novas rotas aos motoristas

e maior segurança aos condutores e pedestres por meio de controle de semáforos e

monitoramento, utilizando câmeras de vídeo;

• Sistemas Avançados de Informação ao Viajante (ATIS, do inglês

Advanced Traveller Information Systems): Estes têm por objetivo fornecer aos viajantes

informações como as condições das estradas, do trânsito, ambientais e meteorológicas,

locais de incidentes e com fiscalização eletrônica, melhores rotas e até tipos de

transportes mais adequados a viagem;

• Sistemas Avançados de Controle Veicular (AVCS, do inglês Advanced

Vehicle Control Systems): Proporcionam maior eficiência e segurança aos motoristas.

São normalmente constituídos de sensores, alertas e outras tecnologias que propiciam

ao condutor controlar e/ou supervisionar as condições de dirigibilidade e tomar medidas

necessárias para evitar acidentes;

• Operação de Veículos Comerciais (CVO, do inglês Commercial Vehicle

Operations): Oferecem suporte e gerenciamento para operações de veículos comerciais

Page 25: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

11

como, por exemplo, frotas de táxis, motos, vans e ônibus. Este tipo de sistema tem por

objetivo melhorar a produtividade e eficiência de operações de transportes de cargas,

interferências com relação às rotas, tempos perdidos em deslocamentos e segurança dos

veículos, cargas e condutores;

• Sistemas Avançados de Transporte Rural (ARTS, do inglês Advanced

Rural Transportation Systems): Englobam viagens dentro, e através de centros

habitacionais com menos de 50000 residentes. Têm por principais objetivos a previsão

do tempo necessário para as viagens, a redução dos acidentes, o incremento do tráfego,

a redução dos custos e uma maior satisfação dos usuários. As estradas das zonas rurais

têm um conjunto de atributos particulares, como estradas estreitas, curvas apertadas,

pouca visibilidade, sinalização de trânsito reduzida, poucos percursos alternativos e

escassos meios de comunicação (Figueiredo, 2005). Aplicações de sistemas nesta

categoria ainda requerem alguns esforços de pesquisa.

Segundo Pilon (2009), uma categoria, não citada anteriormente, deve fazer parte

do emprego de alguns ITS, conforme ilustrado na Figura 2.1. São os sistemas de Coleta

Eletrônica de Pedágio (ETC, do inglês Electronic Toll Collection), que oferecem

suporte aos mais adequados e eficientes métodos de cobrança de pedágio, a fim de

melhorar o trânsito e minimizar tempos perdidos.

Figura 2.1 - Categorias dos Sistemas Inteligentes de Transporte

Fonte: adaptado de (Pilon, 2009)

Page 26: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

12

2.1.2 Sistemas de Informação ao Usuário

Um problema pontual enfrentado em boa parte das capitais do Brasil no que se

refere ao sistema de transporte público, diz respeito à falta de informação e pontualidade

das linhas de ônibus que circulam pela cidade.

Uma parte dos APTS, anteriormente apresentados, têm por objetivo prover

informações aos passageiros do transporte público. Os sistemas desta categoria são

denominados Sistemas de Informação ao Usuário (SIU). Estas aplicações permitem

extrair do conjunto de informações relativas a uma rede de transporte coletivo, aquelas

que correspondem a uma necessidade específica (tempo de espera na parada) ou

personalizada (itinerário de linhas de ônibus) dos passageiros (Shein, 2003).

Em Silva (2000), são destacadas algumas funções dos sistemas de informação ao

usuário, conforme apresentado no Quadro 2.1. O autor explica ainda que esta tecnologia

pode garantir um aumento de qualidade ao serviço oferecido aos passageiros do

transporte público.

Quadro 2.1 - Funções dos Sistemas de Informação ao Usuário

Fonte: (Silva, 2000)

Promocional

• Mobilidade: propor motivos para viagens e possíveis destinos; • Presença: informar as pessoas sobre o transporte público como parte do

pacote de facilidades ofertadas; • Imagem: melhorar a imagem do transporte público.

Ensinamento • Entendimento: informar como utilizar o transporte público; • Adequabilidade: divulgar as regras envolvidas no uso dos sistemas.

Operacional

• Planejamento de Viagens: informar sobre restrições e oportunidades associadas com o uso do sistema para diferentes tipos de viagens;

• Acesso: capacitar pessoas para acesso à rede de transporte público; • Viagem: capacitar a realização de uma viagem; • Modificação: informar sobre mudanças na programação.

Moderação • Comportamento: aliviar a ansiedade do viajante; • Controle: aumentar o controle do usuário sobre a escolha entre as opções

disponíveis.

Em muitas partes do mundo, os gestores e operadores se preocupam em

responder as perguntas dos passageiros através de SIU, como forma de atrair mais

usuários para o serviço de transporte público (Silva, 2000). Questões frequentes como:

“a que horas vai passar o próximo veículo?”, “Qual é o tempo de espera?” e “Qual é a

melhor rota de ônibus para o meu destino?”, são requeridas com maior intensidade entre

os usuários. Nos grandes centros metropolitanos, onde os deslocamentos são maiores,

Page 27: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

13

mais demorados e suscetíveis a congestionamentos, as pessoas atribuem um maior valor

a estas informações (Pilon, 2009).

Algumas soluções de sistemas de informação ao usuário já operam de maneira

funcional em países desenvolvidos, em que um sistema viário eficiente garante

informações sobre o transporte público aos passageiros. Em cidades com constantes

engarrafamentos, e com sistema viário ineficiente é preciso considerar informações

além das estáticas, mantidas em bases de dados. A utilização de informações

contextuais, como exemplo, informações dos usuários e climáticas, podem tornar as

aplicações desenvolvidas mais adaptativas aos passageiros, satisfazendo suas

preferências e necessidades. A seguir serão apresentados alguns conceitos sobre

Contexto Computacional.

2.2 Contexto Computacional

De acordo com Vieira e colegas (2009), a computação sensível ao contexto

investiga o uso das informações presentes na interação entre a pessoa (humano) e as

máquinas (computador), com o objetivo de melhorar a qualidade da comunicação entre

o ser humano e sistemas computacionais. Estas informações, muitas vezes

desconsideradas do processo de interação são denominadas de informações contextuais

e podem ser utilizadas como fontes de conhecimento pelos sistemas.

Por meio do uso do contexto, os sistemas podem automaticamente, e em

diversas circunstâncias, adaptar seus serviços e conteúdos, fornecendo informações

personalizadas aos usuários, levando em consideração, por exemplo, a sua localização,

dia e horário de acesso, e/ou as características dos dispositivos utilizados (Goularte,

2003). Deste modo, torna-se possível o aparecimento de novas gerações de sistemas que

levam em consideração os diversos tipos de contextos.

A utilização de contexto na Computação é um tema de pesquisa oriundo das

áreas da Computação Ubíqua e Inteligência Artificial. Mark Weiser em (1991) foi um

dos pioneiros na realização de estudos em Computação Ubíqua. Naquela época, Weiser

vislumbrava ambientes dotados de recursos computacionais capazes de auxiliar os

humanos em suas atividades diárias, fornecendo aos usuários informações e serviços de

forma contínua, onipresente, e o mais transparente possível.

Page 28: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

14

Esta seção tem por objetivo discutir os principais conceitos da área da

Computação Sensível ao Contexto, que serviram de referência para o desenvolvimento

desta pesquisa. Na Seção 2.2.1, é apresentada uma visão geral das definições de

contexto computacional e como estas foram modificadas no decorrer do tempo. Na

Seção 2.2.2, são apresentados conceitos de sistemas sensíveis ao contexto e como o

contexto computacional é utilizado para o desenvolvimento destes sistemas.

2.2.1 Definições de Contexto Computacional

Em (Bazire e Brézillon, 2005), os autores coletaram um conjunto de,

aproximadamente, 150 definições oriundas de diferentes domínios, e chegaram a duas

principais conclusões:

• O contexto atua como um conjunto de restrições que influenciam o

comportamento de um sistema, embutido em uma dada tarefa;

• A definição de contexto depende da área de conhecimento à qual pertence.

Existem inúmeras definições na atual literatura para o conceito de contexto

computacional, como as apresentadas por Brézillon (1999), Schilit e colegas (1994),

Brown e colegas (1997), Franklin e Flaschbart (1998) e Ward e colegas (1997), que

citam Contexto Computacional ou simplesmente “Contexto” como um termo

abrangente, o que implica em uma dificuldade de formalização e consequente

surgimento de várias abordagens para defini-lo. A seguir, destacamos algumas destas

definições utilizadas no decorrer dos anos.

Na década de 90, surgiram as primeiras definições para o termo Contexto em

pesquisas na área de computação móvel. No entanto, estas definições eram apenas

enumerações de possíveis informações contextuais, conforme podemos constatar nos

trabalhos de Schilit e colegas (1994) e Brown e colegas (1997). Essas duas definições

são respectivamente: “Em um sistema computacional móvel distribuído, contexto é a

localização do usuário, a identificação de pessoas e objetos próximos, e os estados dos

dispositivos com que o usuário interage.” e “Localização, identidade das pessoas ao

redor do usuário, a hora do dia, estação do ano, temperatura, entre outros.”. Contudo,

Dey e Abowd (2001) argumentaram que estas definições são difíceis de serem

aplicadas, pois quando se considera um novo tipo de informação contextual, não fica

Page 29: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

15

claro como a definição pode ajudar a decidir a obrigatoriedade de classificar a

informação como contextual ou não.

Para serem mais genéricas e, portanto, úteis em uma maior variedade de

problemas, as definições precisavam ser mais abstratas. Neste caso, algumas outras

definições podem ser citadas, tais como:

• (Brown, 1995) “contexto são os elementos do ambiente do usuário que o

computador conhece”;

• (Ward et. al., 1997) “contexto é o estado de tudo aquilo que circunda a

aplicação”;

• (Franklin e Flaschbart, 1998) “contexto é a situação do usuário”;

• (Brézillon, 1999) “contexto é o que restringe a solução de um problema,

sem interferir nele explicitamente”.

Posteriormente Dey e Abowd (2001) propuseram nova definição, segundo eles

“contexto é qualquer informação que pode ser utilizada para caracterizar a situação de

entidades (como uma pessoa, lugar ou objeto), que são consideradas relevantes para a

interação entre um usuário e uma aplicação, incluindo o usuário e a aplicação em si.

Contexto é tipicamente a localização, identidade e estado de pessoas, grupos e objetos

físicos e computacionais.”. Essa definição é uma moderação entre a especificidade das

primeiras definições e a generalidade das definições de Brown, Franklin e Flaschbart,

Brézillon e Ward e colegas. Além disso, essa definição é mais comumente utilizada por

estudiosos de Computação Sensível ao Contexto.

Na área de Interação Humano Computador (IHC), Dourish defende que contexto

é uma entidade dinâmica, subjetiva e cujos valores e características não podem ser

previstos e definidos previamente (Dourish, 2004).

Zimmermann e colegas (2007), em busca de uma definição operacional para

contexto, estenderam a definição de Dey e Abowd (2001) por meio da separação dos

elementos que caracterizam a situação de uma entidade em categorias, pois para eles

qualquer informação que descreva o contexto de determinada entidade faz parte de uma

das seguintes categorias:

• Individuo: propriedades que definem a entidade em si;

• Atividade: todas as tarefas em que a entidade pode estar envolvida;

Page 30: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

16

• Localização: posição espacial da entidade;

• Tempo: localização temporal da entidade;

• Relações: informações sobre qualquer relação que a entidade possa

estabelecer com outras entidades.

A Figura 2.2 representa a definição de Zimmermann e colegas (2007), onde as

cinco categorias representam o contexto de determinada entidade.

Figura 2.2 – Categorias Fundamentais para as Informações Contextuais

Fonte: adaptado de (Zimmermann et. al., 2007)

A visão de Vieira e colegas (2009) sobre a definição de contexto faz uma

distinção clara entre dois conceitos: contexto e elemento contextual, como descrito a

seguir.

• Um elemento contextual (CE, do inglês Contextual Element) é qualquer

dado, informação ou conhecimento que permite caracterizar uma entidade em um

domínio;

• O contexto da interação entre um agente e uma aplicação, para executar

alguma tarefa, é o conjunto de elementos contextuais instanciados que são necessários

para apoiar a tarefa atual.

Segundo Vieira (2008), o conceito de elemento contextual é importante e

complementar ao contexto, A autora define um elemento contextual como “qualquer

dado ou informação que permite caracterizar uma entidade em um domínio”. Elementos

contextuais estão relacionados, portanto, ao conjunto de perguntas definidas como

(5W+1H), ou seja, (Who) quem, (When) quando, (Where) onde, (Why) por quê, (What)

o quê e (How) como, respectivamente indicando informações relativas às pessoas, o

tempo, o local/ambiente, os motivos das ações do usuário, as atividades que o usuário

Page 31: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

17

desempenha e a forma como os próprios elementos contextuais são adquiridos. Sendo

assim, contexto é definido como o conjunto de elementos contextuais instanciados e

necessários no auxílio da execução de determinada tarefa por um agente em uma

aplicação específica.

Por essa definição, pode-se verificar que os autores consideram o contexto como

aplicado à interação entre um agente e uma aplicação. Um agente pode ser um agente

humano ou um agente de software. Além disso, os elementos que compõem o contexto

devem possuir um relacionamento de relevância com a tarefa que o agente está

executando. Um CE é um tipo de informação que pode ser conhecida, codificada e

representada antecipadamente; ela é estável e pode ser definida em tempo de projeto. O

contexto é dinâmico, depende da tarefa atual do agente e deve ser construído em tempo

de execução, quando uma interação ocorre (Vieira et. al., 2009).

2.2.2 Sistemas Sensíveis ao Contexto

Para Chen (2003) Computação sensível ao contexto é um paradigma emergente

para dispensar usuários cotidianos de configurar e instruir manualmente seus sistemas

computacionais.

Vieira e colegas (2009) citam sistemas sensíveis ao contexto como sendo

aqueles que gerenciam elementos contextuais (CEs) relacionados a uma aplicação em

um domínio e usam esses elementos para apoiar um agente na execução de alguma

tarefa, como por exemplo, aumento da percepção do agente em relação à tarefa em

execução ou provimento de adaptações que facilitem a execução da tarefa.

Em sistemas computacionais, contexto pode ser considerado como um

instrumento de apoio à comunicação entre os sistemas e seus usuários. A partir do

conhecimento do contexto, a aplicação poderá, em algumas circunstâncias, alterar a

sequência de ações a serem executadas, o estilo das interações e o tipo de informação

fornecida aos usuários de modo a adaptar-se às necessidades atuais destes. Sistemas que

utilizam contexto para direcionar ações e comportamentos são denominados de

Sistemas Sensíveis ao Contexto (Vieira, 2009).

A Figura 2.3 apresenta a diferença de comportamento entre aplicações tidas

como “tradicionais” e aplicações sensíveis ao contexto. Podemos perceber que as

aplicações sensíveis com contexto (Figura 2.3b) consideram informações explícitas

fornecidas pelos usuários, aquelas armazenadas em bases de conhecimento além das

Page 32: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

18

contextuais, as inferidas por meio de raciocínio e, ainda, aquelas percebidas a partir do

monitoramento do ambiente. Essas informações obtidas de forma não explícita são

chamadas de informações contextuais (Vieira et. al., 2009). Já as aplicações tradicionais

(Figura 2.3a) consideram apenas as informações explícitas fornecidas pelos usuários.

Figura 2.3 - Visão da Aplicação Tradicional e uma Aplicação Sensível ao Contexto

Fonte: (Vieira et. al., 2009)

Segundo Vieira e colegas (2009) e Zimmermann e colegas (2007), as

informações contextuais podem enriquecer semanticamente a solicitação explícita do

usuário e, com isso, executar serviços mais próximos às suas necessidades. Dentre estes

serviços estão:

• Assistência na execução de tarefas em realização como, por exemplo, alertar

o usuário sobre ações que ele deve executar para alcançar seus objetivos, ou recomendar

recursos existentes relacionados à tarefa;

• Percepção do contexto, que se refere a notificar o usuário sobre o contexto

associado a pessoas e interações do seu interesse, relativos à tarefa em execução,

apoiando o usuário na coordenação de suas ações;

• Adaptação, ou variação do comportamento do sistema, respondendo de

forma oportuna às mudanças ocorridas no ambiente e às ações e definições dos usuários

como, por exemplo, personalização de interfaces e conteúdo;

• Outros serviços, como o uso do contexto para enriquecer semanticamente o

conhecimento gerenciado pela aplicação.

2.3 Sistemas de Recomendação

Atualmente a grande quantidade de informações disponíveis, principalmente na

Web, ocasiona algumas dúvidas com relação à possível escolha das alternativas

Page 33: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

19

apresentadas, sobretudo se o indivíduo possui pouca experiência sobre o assunto

abordado. Para enfrentar este tipo de problema geralmente confiamos em

recomendações, que nos são passadas de forma mais direta.

Os Sistemas de Recomendação auxiliam no aumento da capacidade e eficácia

deste processo de indicação já bastante conhecido na relação social entre seres humanos

(Resnick e Varian, 1997).

Segundo Burke (2002), Sistemas de Recomendação (SR) são aqueles que

produzem sugestões individualizadas, ou têm a função de guiar o usuário de forma

personalizada, em ambientes onde a quantidade de informação é demasiadamente

grande.

Outras definições de sistemas de recomendação podem ser encontradas na

literatura. Na visão de Vozalis e Margaritis (2003) sistemas de recomendação foram

definidos como uma técnica inteligente para lidar com o problema da sobrecarga de

informação. Para Herlocker e colegas (2004), um sistema de recomendação antecipa

quais itens um usuário achará relevante, e apresenta sugestões ao usuário que é

beneficiado pela filtragem de itens.

De acordo com Baltrunas (2008), sistemas de recomendação são ferramentas

poderosas que podem ajudar o usuário a enfrentar o problema da sobrecarga de

informação, fornecendo recomendações personalizadas sobre vários tipos de produtos e

serviços. Conforme descrito por Chorianopoulos (2008), o principal objetivo dos

sistemas de recomendação é apresentar sugestões de serviços diversos de acordo com o

perfil pré-determinado do usuário Para Blanco-Fernandes e colegas (2010), sistemas de

recomendação podem, por exemplo, auxiliar o usuário a escolher um plano de viagem,

indicando lugares para visitar, opções de hotéis, companhias aéreas, de acordo com as

preferências do usuário indicadas em seu perfil.

Esta seção tem por objetivo apresentar alguns dos principais conceitos dos

Sistemas de Recomendação, utilizados como referência para o desenvolvimento deste

trabalho. Na Seção 2.3.1, são apresentadas as técnicas utilizadas para as filtragens de

itens em sistemas de recomendação. Na Seção 2.3.2, são apresentados conceitos de

sistemas de recomendação sensíveis ao contexto. Na Seção 2.3.3, são apresentados

conceitos sobre Realimentação de Relevância em SR. Finalmente na Seção 2.3.4, são

apresentados conceitos sobre Aprendizagem de Máquina e Predição em SR.

Page 34: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

20

2.3.1 Técnicas de Filtragem de Informações

A sobrecarga de informação é um dos principais motivos para a utilização de

sistemas de recomendação. Este problema tem motivado a exploração de diversas

técnicas de filtragem de informação da área de Recuperação de Informações (RI) em

sistemas de recomendação. Nesta seção, serão apresentadas as principais abordagens de

filtragem de informação:

Filtragem Colaborativa

A Filtragem Colaborativa assume que se dois usuários têm preferências por itens

similares, ou acessam itens na mesma categoria, irão se interessar por outros itens na

mesma situação. Tal associação tem por objetivo criar grupos de usuários pela

classificação dos interesses e através da relação de preferências entre o grupo,

recomendar mais produtos ou conteúdos (Ziesemer e Oliveira 2011).

Os sistemas de recomendação baseados em filtragem colaborativa não exigem

um processamento das características dos conteúdos. Em contraste, esta técnica procura

explorar a troca de experiências entre os usuários e usa as opiniões deles para predizer

os interesses de outros. Adomavicius e Tuzhilin (2005) destacam que uma característica

importante desta técnica é ser independente de domínio, especialmente indicada para

recomendação de conteúdo que não pode ser descrito adequadamente por metadados.

Para Silva (2011) neste tipo de filtragem, o usuário pode indicar suas opiniões

em forma de avaliações de vários itens e o filtro colaborativo correlaciona suas

avaliações com aquelas de outros usuários a fim de encontrar usuários com perfis

semelhantes e fazer futuras recomendações. Segundo Herlocker e colegas (2004) a

Filtragem Colaborativa viabiliza a criação de comunidades, pela agregação de pessoas

que possuem interesses comuns. Outra vantagem deste tipo de filtragem é a

possibilidade de apresentar aos usuários recomendações inesperadas. O usuário poderia

receber recomendações de itens que não estavam sendo pesquisados de forma ativa

(Reategui e Cazella, 2005).

De acordo com Adomavicius e Tuzhilin (2005), uma variável importante em

Sistemas de Recomendação que utilizam a filtragem colaborativa refere-se à coleta de

informações dos usuários, que pode apresentar alguns problemas, conforme descritos a

seguir.

Page 35: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

21

1. Problema do novo item: novos itens são adicionados regularmente à base

de dados de sistemas de recomendação. Um novo item somente poderá ser

recomendado para o usuário quando o item for avaliado por um número considerável de

usuários;

2. Problema de pontuações esparsas: o sucesso de um sistema de

recomendação baseado em Filtragem Colaborativa depende da disponibilidade de uma

massa crítica de usuários. Este problema ocorre quando o número de usuários do

sistema é pequeno e o número de avaliações obtido é muito menor que o número de

avaliações que necessita ser previsto. Com isso, é importante conseguir predição

eficiente de avaliações a partir de um pequeno número de exemplos;

3. Problema do novo usuário: para fazer recomendações precisas o sistema

de recomendação deve primeiro aprender as preferências do usuário a partir de etapa de

treinamento, onde o usuário efetua avaliações;

4. Problema do usuário excêntrico: caso um usuário tenha gostos muito

diferentes do normal, o sistema terá dificuldades para encontrar outros usuários com

gostos similares, sendo assim suas recomendações podem se tornar pobres (Reategui e

Cazella 2005).

Filtragem Baseada em Conteúdo

Segundo Reategui e Cazella (2005), esta abordagem tem por objetivo realizar

uma seleção baseada na análise de conteúdo das informações e de perfil do usuário. Isso

ocorre através da comparação das descrições dos itens com os interesses dos usuários

visando verificar se o item é ou não relevante para cada usuário.

Adomavicius e Tuzhilin (2005) afirmam que esta técnica tem origem na área de

Recuperação de Informações e identifica os usuários com comportamentos semelhantes.

Uma vez feito isto, baseado em modelos de algoritmos, utiliza conjuntos de avaliações

para aprender um modelo e prever novas recomendações. Segundo Herlocker e colegas

(2004) os interesses para a recomendação são fornecidos explicitamente pelo próprio

usuário, por meio de um perfil, ou obtidas por meio da avaliação de conteúdos que o

usuário consome ao longo do tempo.

De acordo com Adomavicius e Tuzhilin (2005) nos sistemas de recomendação

baseados nesta abordagem, o usuário deverá receber uma lista de itens similares àqueles

Page 36: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

22

que o mesmo gostou em algum momento anterior, onde a relevância de um conteúdo

para o usuário é proporcional à similaridade entre o conteúdo e o seu perfil. A filtragem

baseada em conteúdo é uma técnica normalmente empregada em sistemas de

recomendação, onde o foco é recomendar itens contendo informação textual, tais como

páginas Web, artigos científicos, dentre outros.

Segundo Reategui e Cazella (2005), sistemas de recomendação que utilizam este

tipo de técnica para recuperar os itens a serem recomendados podem sofrer com as

seguintes limitações:

1. Problema da análise limitada do conteúdo: esta técnica é limitada pelas

características que estão explicitamente associadas ao conteúdo. Este deve estar numa

forma estruturada, como por exemplo, documentos de texto, para que possa ser

analisado automaticamente por um computador. Assim, é mais complexo empregar

técnica de filtragem baseada em conteúdo para análise e extração de conteúdo

multimídia, como por exemplo, imagens, vídeos ou sons do que para extração de

conteúdo textual. Contudo o entendimento do conteúdo em modo texto ainda pode ser

prejudicado devido ao uso de sinônimos, como por exemplo, um texto que possua as

palavras "carro" e "automóvel" pode não ser considerado similar, embora estejam

abordando o mesmo assunto;

2. Problema da super especialização: ocorre quando um sistema de

recomendação pode recomendar somente itens semelhantes a itens avaliados

anteriormente como positivamente ou negativamente. Com isso, a diversidade das

recomendações é comprometida;

3. Problema do novo usuário: o usuário necessita avaliar um número

suficiente de itens para que um SR possa realmente obter suas preferências e apresentar-

lhe recomendações confiáveis.

Filtragem Híbrida

Sistemas de recomendação com Filtragem Híbrida são a união de duas ou mais

abordagens de recomendações utilizadas em conjunto. A iniciativa de usar técnicas de

recomendação diferentes conjuntamente é uma tentativa de superar os problemas

conhecidos na área (Ziesemer e Oliveira 2011).

Page 37: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

23

Filtragem Baseada em Regras

Este tipo de sistema é comumente empregado na área de e-commerce e utiliza

informações do usuário, desde que de forma explícita, para recomendar os itens. As

regras do sistema podem ser condicionadas aos dados do usuário como, por exemplo, a

localização demográfica ou outras informações fornecidas por ele (Ziesemer e Oliveira

2011).

Filtragem Baseada em Grafos

Recentemente, o uso da Internet começou um processo de transformação, onde a

colaboração entre usuários e sistema tornou-se essencial para disseminar informação,

mudando também a relação de usuários no ambiente Web. Esta técnica explora as

informações e as relações dos usuários em redes sociais para recomendar itens ou

conteúdo (Ziesemer e Oliveira, 2011).

Segundo Ziesemer e Oliveira (2011) a Filtragem Baseada em Regas e a

Filtragem Baseada em Grafos são abordagens bastante promissoras que surgiram

recentemente para melhorar e apoiar os sistemas de recomendação.

2.3.2 Sistemas de Recomendação Sensíveis ao Contexto

Os sistemas de recomendação atuais necessitam de alguns aprimoramentos para

tornar os métodos de recomendação mais eficientes. Tradicionalmente tais sistemas são

baseados somente em perfis dos usuários ou em variáveis estáticas, e não levam em

consideração as mudanças de contexto que podem influenciar os interesses do usuário.

Desta forma, a incorporação de informações contextuais no processo de recomendação é

destacada na literatura como uma possível extensão para os sistemas de recomendação

tradicionais (Adomavicius e Tuzhilin, 2008).

Segundo Baltrunas (2011), muitas vezes uma recomendação pode ser mais

relevante se o seu contexto é conhecido. Por esta razão, Sistemas de Recomendação

Sensíveis ao Contexto, denominados (CARS, do inglês Context-Aware Recommender

Systems) estão ganhando mais destaque, e as diversas abordagens têm sido usadas

incorporando o conhecimento de contexto, melhorando assim as medidas de

desempenho. Assim, a nova geração de sistemas de recomendação deverá explorar as

informações de contexto para fornecer melhores recomendações (Baltrunas, 2008).

Page 38: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

24

Segundo Adomavicius e Tuzhilin (2008), diferentes abordagens estão sendo

investigadas para incorporar informações de contexto em sistemas de recomendação.

Tais abordagens podem ser classificadas em dois grupos: (1) contexto dirigido a

consultas e pesquisas; e (2) estimação e obtenção de preferências contextuais. A

primeira abordagem tem sido utilizada por uma grande variedade de sistemas de

recomendação como, por exemplo, nos trabalhos de Aroyo e colegas (2007) e Blanco-

Fernandez e colegas (2010), que utilizam as informações contextuais para expandir as

consultas e pesquisas. Na segunda abordagem as informações contextuais são

empregadas no processo de recomendação para predizer preferências contextuais. A

estimação e elicitação de preferências contextuais são ressaltadas na literatura como

abordagem promissora e tendência para sistemas de recomendação sensíveis ao

contexto (Adomavicius e Tuzhilin 2008).

Esta pesquisa segue a abordagem de contexto dirigido a consultas e pesquisas,

utilizando filtragem híbrida, onde as informações contextuais dos usuários, do trânsito,

das rotas e fatores climáticos são observadas, no intuito de indicar a melhor rota de

ônibus aos passageiros. Maiores detalhes serão apresentados nos capítulos posteriores.

2.3.3 Realimentação de Relevância em Sistemas de Recomendação

A Realimentação de Relevância (do inglês, Relevance Feedback) é bastante

utilizada em SR para atualizar automaticamente os interesses especificados no perfil do

usuário ao longo do tempo, a partir das avaliações de itens recomendados ou por meio

da interação entre o usuário e sistema (Cotter e Smyth, 2000), (Blanco-Fernandez,

2007).

De acordo com Blanco-Fernandez (2007), a realimentação de relevância pode

ser realizada de três formas: explícita, implícita ou híbrida. A realimentação explícita

envolve justamente a avaliação de satisfação do usuário, onde o mesmo declara

explicitamente a sua satisfação com relação a cada item recomendado, indicando se o

item recomendado é relevante ou irrelevante (Yu e Zhou, 2004). Também é possível

obter a realimentação explícita por meio de comentário textual ou ainda especificação

de um nível de interesse (Goldberg et. al., 1992). Com isso será possível ao sistema

obter indicações sobre as preferências para atualizar o perfil do usuário visando alcançar

melhores resultados em recomendações futuras.

Page 39: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

25

Já a realimentação implícita o interesse do usuário pode ser inferido a partir do

monitoramento de suas ações, o que viabiliza um reconhecimento automático das suas

preferências. Dependendo do domínio de aplicação, o sistema adota uma estratégia de

realimentação. Por fim, a realimentação híbrida combina os dois métodos anteriores

para se beneficiar das vantagens de ambos os métodos. A solução proposta neste

trabalho emprega um método implícito de realimentação de relevância.

2.3.4 Estratégias de Aprendizagem de Máquina e Predição em Sistemas de

Recomendação

Segundo Blanco-Fernandez e colegas (2006), além das técnicas de filtragens

anteriormente descritas na Seção 2.3.1, os sistemas de recomendação podem empregar

técnicas de aprendizagem de máquina e predição (Mitchell, 1997) com o objetivo de

aprender e fornecer predições ou tendências de preferências dos usuários a partir do

histórico de utilização. Segundo Han e Kamber (2006), as principais abordagens de

aprendizagem de máquina são:

1. Aprendizagem supervisionada: este tipo de aprendizagem estabelece um

modelo a partir de registros de treinamento com saídas especificas também chamadas de

rótulos de classe. Tais rótulos correspondem ao valor que se espera que o algoritmo

possa predizer sempre que receber registros específicos como argumentos de entradas.

A tabela verdade de uma operação booleana do tipo AND poderia ser considerada como

um exemplo de aprendizado, pois indica os argumentos de entrada e também a saída

desejada. Nos casos de problemas de classificação, a saída é o rótulo da classe à qual

cada exemplo está associado (Osório e Vieira, 1999);

2. Aprendizagem não-supervisionada: envolve a aprendizagem de registros

de treinamento, em que não são fornecidos os rótulos de classes.

Neste trabalho foi empregada a abordagem de aprendizagem supervisionada que

tem como base a tarefa de classificação. Segundo Han e Kamber (2006) a tarefa de

classificação é realizada em duas etapas. A primeira etapa é chamada de aprendizagem

(ou treinamento) onde um classificador constrói uma função por meio de um conjunto

predeterminado de registros que contêm padrões de entrada e seus rótulos de classe

associados. No contexto da classificação os registros podem ser referenciados como

instâncias, exemplos, ou dados de testes. A seguir ilustra-se um exemplo de registro que

pode ser utilizado na etapa de aprendizagem.

Page 40: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

26

1, 00.2, sim, 6, 0.9 2

Segundo Han e Kamber (2006) a etapa de aprendizagem da tarefa de

classificação pode também ser compreendida como a aprendizagem de uma função

y=f(X), que pode predizer o rótulo y da classe associada para um dado registro X. Uma

vez definida, essa função pode ser aplicada a novos registros para predizer o rótulo da

classe a qual tais registros pertencem (Silva, 2011).

Para este trabalho foi especificada uma abordagem de aprendizagem

supervisionada que utiliza informações contextuais dos usuários e outras para predição

de melhores rotas de transporte público. Tal abordagem é empregada nas filtragens das

rotas durante a recomendação.

A seguir serão apresentados algumas técnicas e algoritmos de classificação

utilizados nesta pesquisa. Uma discussão mais rica em detalhes sobre a escolha do

algoritmo de classificação utilizado neste trabalho é abordada no Capítulo 5.

Indução por Arvores de Decisão

Indução de árvore de decisão é a aprendizagem de árvores de decisão a partir de

registros (ou tuplas) de treinamento com rótulos de classe. Em uma árvore de decisão

cada nó interno, chamado nó não folha, denota um teste em um atributo; cada ramo

representa um resultado do teste, e cada folha possui um rótulo de classe. O nó mais alto

em uma árvore é denominado nó raiz. Desta forma, uma árvore de decisão é um modelo

de conhecimento cujo objetivo é classificar uma dada entrada em uma classe específica.

A representação do conhecimento adquirido por meio de uma árvore é intuitiva e

geralmente de fácil assimilação por humanos. Segundo Han e Kamber (2006), as etapas

de aprendizagem, também denominada de classificação, e predição da árvore de decisão

são simples e rápidas. Algoritmos de indução de árvore de decisão têm sido utilizados

para classificação em muitas áreas de aplicação, tais como: medicina, análise financeira,

astronomia, produção e manufatura. O algoritmo C4.5 é um dos algoritmos de indução

de árvore de decisão mais tradicionais.

Apresentado em maiores detalhes em (Quinlan, 1993) como uma extensão para

o algoritmo ID3, o C4.5 é baseado em árvores de decisão e permite exemplos com

elementos faltantes e poda da árvore para evitar super ajuste aos dados. O C4.5 adota

Padrões de Entrada Rótulo de Classe

Page 41: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

27

uma estratégia de (pós-poda), realizando uma análise dos registros de treinamento para

a construção da árvore, sendo o ponto de partida o nó raiz, de onde são realizados testes

sucessivos de forma que a estimativa de erro seja mais precisa se os nós filhos de um

determinado nó n forem eliminados, onde o nó n passará a ser um novo nó folha e os

nós filhos serão eliminados, ocorrendo assim a poda da árvore (Goldberg, 1989).

Esse algoritmo é fundamentado pela comparação de taxas de estimativas de erro

de cada sub-árvore do nó da folha, onde o critério de avaliação utilizado é o ganho de

informação.

Entretanto, trabalhar com dados faltantes pode ser um problema na hora da

criação de árvore de decisão. No C4.5 na criação da árvore de decisão, os registros com

dados faltantes tanto podem ser descartados quanto classificados pela estimativa da

probabilidade dos vários valores possíveis (Ingargiola, 1996).

Para a utilização de valores contínuos é necessária à ordenação dos valores de

forma crescente para que possa ser feito a divisão. Dependendo do tamanho da base a

ordenação pode exigir muitas computações para a ordenação (Ingargiola, 1996).

Com o surgimento de subárvores complexas a solução para o C4.5 é um

mecanismo de poda. O método de podar é realizado substituindo uma subárvore por um

nó folha. Este método é realizado se uma regra de decisão estabelecer que a taxa de erro

prevista na subárvore é muito grande, em relação à utilização de um único nó folha. A

substituição de partes da árvore é realizada considerando que estas não contribuem à

exatidão da classificação em determinados casos, produzindo algo menos complexo e

assim mais compreensível (Ingargiola, 1996), (Quinlan, 1993).

Classificador Naive Bayes

O classificador Naive Bayes (Friedman, 1997) também conhecido como

classificador bayesiano ingênuo ou rede bayesiana ingênua, é denominado ingênuo por

assumir que os atributos são condicionalmente independentes. Este classificador é

apoiado em princípios e teorias estatísticas, como o Teorema de Bayes que tem como

base o cálculo das probabilidades condicionais. Desta maneira, um classificador

bayesiano prevê a probabilidade de que um determinado registro (ou tupla)

representado por um vetor de atributos n-dimensional, X= (x1, x2, ..., xn), pertença a

uma classe particular Ci.

Page 42: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

Assim como as árvores de decisão e as redes neurais o cl

Bayes é um dos métodos de aprendizagem

destacado em problemas em que as variáveis preditoras não são fortemente

correlacionadas (Cheng e Greiner

mais complexos.

Segundo Han e Kamber

um vetor de atributos n-dimensional, X

particular Ci é dada por:

Redes Neurais

As redes neurais (RNAs) são inspiradas na

isso têm por objetivo apresentar características similares a eles, tais como: aprendizado,

associação, generalização e abstração. Sendo compostas por neurônios artificiais

(processadores), altamente interconectados, que e

operações simples e transmitem seus resultados aos processadores vizinhos.

A arquitetura das redes neurais é tip

com função específica. A camada de saída recebe os estímulos da camada intermediária

e constrói o padrão de resposta. As camadas

de características, seus pesos são uma codificação de características apresentadas nos

padrões de entrada e permitem que a rede crie sua própria representação do problema

(Alsmadi et. al., 2009).

A Multilayer Perceptron

(Mcculloch e Pitts, 1943), capaz de trabalhar com problemas não

separáveis. Este avanço foi possível através da utilização de, pelo menos, uma camada

entre a entrada e a saída. Nas redes MLP, cada camada tem sua função determinad

camada intermediária possibilita que a rede aprenda tarefas complexas, extraindo

progressivamente mais características significativas dos argumentos de entrada e

enviando estímulos para a

construir um padrão que será a resposta

neurônios artificiais em um

Assim como as árvores de decisão e as redes neurais o classificador de

é um dos métodos de aprendizagem de utilização mais simples, tendo se

roblemas em que as variáveis preditoras não são fortemente

Greiner, 2001), mesmo sendo comparado com classificadores

Kamber (2006) a probabilidade de um registro representado por

dimensional, X = (x1, x2, ..., xn), pertencer a uma classe

As redes neurais (RNAs) são inspiradas na estrutura do cérebro humano, e por

isso têm por objetivo apresentar características similares a eles, tais como: aprendizado,

associação, generalização e abstração. Sendo compostas por neurônios artificiais

(processadores), altamente interconectados, que efetuam um número pequeno de

operações simples e transmitem seus resultados aos processadores vizinhos.

A arquitetura das redes neurais é tipicamente organizada em camadas, cada

função específica. A camada de saída recebe os estímulos da camada intermediária

de resposta. As camadas intermediárias funcionam como extratoras

de características, seus pesos são uma codificação de características apresentadas nos

drões de entrada e permitem que a rede crie sua própria representação do problema

Perceptron (MLP) é uma extensão do Perceptron

, 1943), capaz de trabalhar com problemas não

veis. Este avanço foi possível através da utilização de, pelo menos, uma camada

entre a entrada e a saída. Nas redes MLP, cada camada tem sua função determinad

possibilita que a rede aprenda tarefas complexas, extraindo

mente mais características significativas dos argumentos de entrada e

a camada de saída, que realiza cálculos necessários para

um padrão que será a resposta. A Figura 2.4 ilustra a combinação de vários

s em um Perceptron Multicamadas.

28

assificador de Naive

mais simples, tendo se

roblemas em que as variáveis preditoras não são fortemente

, 2001), mesmo sendo comparado com classificadores

(2006) a probabilidade de um registro representado por

x1, x2, ..., xn), pertencer a uma classe

estrutura do cérebro humano, e por

isso têm por objetivo apresentar características similares a eles, tais como: aprendizado,

associação, generalização e abstração. Sendo compostas por neurônios artificiais

fetuam um número pequeno de

operações simples e transmitem seus resultados aos processadores vizinhos.

icamente organizada em camadas, cada uma

função específica. A camada de saída recebe os estímulos da camada intermediária

intermediárias funcionam como extratoras

de características, seus pesos são uma codificação de características apresentadas nos

drões de entrada e permitem que a rede crie sua própria representação do problema

Perceptron Simples

, 1943), capaz de trabalhar com problemas não-linearmente

veis. Este avanço foi possível através da utilização de, pelo menos, uma camada

entre a entrada e a saída. Nas redes MLP, cada camada tem sua função determinada. A

possibilita que a rede aprenda tarefas complexas, extraindo

mente mais características significativas dos argumentos de entrada e

realiza cálculos necessários para

ilustra a combinação de vários

Page 43: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

29

Figura 2.4 – Rede Neural Artificial Perceptron Multicamadas

Fonte: (Silva, 2011)

2.4 Considerações Finais

Este capítulo abordou os principais fundamentos sobre Sistemas Inteligentes de

Transporte, Computação Sensível ao Contexto e Sistemas de Recomendação que foram

estudados e utilizados durante o desenvolvimento desta pesquisa. No cenário dos ITS, a

exploração do contexto pode enriquecer as informações prestadas aos passageiros,

principalmente levando-se em consideração as características dinâmicas do trânsito e o

provimento de informações de forma personalizada.

A solução proposta neste trabalho tem o objetivo de apoiar, em tempo real, os

passageiros com sugestões de rotas sensíveis ao contexto atual e personalizadas de

acordo com as preferências dos usuários. São utilizados nesta pesquisa algoritmos de

classificação e técnica de realimentação de relevância implícita como forma de

melhorar as recomendações fornecidas pelo sistema aos passageiros de transporte

público.

Page 44: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

30

Capítulo 3

Informações Contextuais em SIU e

Sistemas de Recomendação de Rotas

Ao longo deste capítulo apresentamos uma revisão do estado da arte sobre a

utilização de informações contextuais em SIU destinados ao transporte público por

ônibus e alguns sistemas de recomendação de rotas.

Na primeira seção descrevemos os resultados de uma revisão sistemática sobre a

utilização de informações contextuais em Sistemas de Informação ao Usuário (Tito et.

al., 2012). O objetivo desta revisão foi identificar e analisar trabalhos que apresentassem

o cenário atual da utilização de contexto pelos SIU direcionados ao transporte público

por ônibus.

Em seguida, fazemos uma análise em alguns sistemas de recomendação e/ou

exibição de rotas para transporte público com suas abordagens e discutimos os seus

pontos fortes e fracos.

3.1 Utilização de Contexto em Sistemas de Informação ao Usuário

Revisão Sistemática é o processo de interpretação e avaliação dos trabalhos

disponíveis e relacionados a uma questão de pesquisa ou tópico de interesse

(Kitchenham, 2007). Ainda de acordo com o mesmo autor existem muitas razões para

realizar uma revisão sistemática. Dentre estas podemos destacar: realizar uma síntese

sobre trabalhos disponíveis a respeito de uma abordagem ou tecnologia; identificar

questões para a pesquisa e formular nova posição em relação às atividades de

investigação.

Com o objetivo de evidenciar e investigar a utilização das informações

contextuais pelos Sistemas de Informação ao Usuário de transporte público por ônibus,

propusemos as seguintes questões de pesquisa:

QP1. Quais informações contextuais são utilizadas pelos sistemas de informação

ao usuário de transporte público?

Page 45: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

31

QP2. Como são adquiridas as informações contextuais usadas pelos sistemas

de informação ao usuário de transporte público?

QP3. Como os sistemas de informação ao usuário de transporte público usam

estas informações contextuais?

Após utilização de um método sistemático de coleta descrito em maiores

detalhes no trabalho de Tito e colegas (2012), selecionamos 10 trabalhos para análise, a

fim de extrair informações relevantes e responder as questões propostas.

No que diz respeito à QP1, a acessibilidade à informação sobre o transporte

público em uma determinada cidade ou região pode fazer esse tipo de transporte mais

atraente para os passageiros como, por exemplo, a localização do ônibus em dado

instante de tempo (Vieira et. al., 2011). Por meio destas informações os usuários podem

planejar suas viagens e reduzir sua ansiedade enquanto espera o transporte (Caulfield e

O’Mahony, 2007).

Contudo o cenário do trânsito é passível de rápidas mudanças devido, por

exemplo, a engarrafamentos, acidentes, alagamentos, entre outros. Por isso entender o

contexto dos ônibus, rotas, passageiros e outros dispositivos é essencial para subsidiar

os Sistemas de Informação ao Usuário no provimento de informações mais relevantes e

contextualizadas (Coffey et. al., 2011) (Vieira et. al., 2011).

Informações estáticas, armazenadas nas bases de dados, inferidas e dinâmicas,

que caracterizam o estado atual do trânsito (dados históricos, condições meteorológicas,

dados geográficos em tempo real, entre outros) podem ser usadas para enriquecer as

informações prestadas aos usuários.

A Figura 3.1 ilustra as informações contextuais utilizadas pelos 10 trabalhos

selecionados. Percebemos que 80% usam informações contextuais estáticas, por

exemplo, localização das paradas. Os dados inferidos e dinâmicos são tratados em

menor escala e, na maioria dos casos, consiste de dados de localização de veículos.

Page 46: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

32

Figura 3.1 – Informações Contextuais Utilizadas

Já como resposta à QP2, podemos dizer que os Sistemas Inteligentes de

Transporte em geral trabalham com grande quantidade de informações. A aquisição

destes dados frequentemente requer alguns cuidados, pois muitas vezes os dados

necessitam de algum tipo de ajuste para serem utilizados com segurança pelos Sistemas

de Informação ao Usuário como, por exemplo, correções e transformações de dados

geográficos (Kumar et. al., 2011).

As informações utilizadas nos sistemas de transporte podem ser estáticas,

dinâmicas ou inferidas. A aquisição de dados estáticos pode ser realizada por meio de

veículos de testes (Kumar et. al., 2011), catalogação de dados, entre outras. Estas

informações são armazenadas em uma base de dados (Bastos e Jaques, 2010).

As informações dinâmicas necessitam de uma verificação prévia de correção

antes de serem utilizadas pelas aplicações. Estas normalmente sofrem alterações

frequentemente e podem tornar a aplicação mais eficiente (Vieira et. al., 2011). As

informações inferidas são calculadas pelo próprio sistema, por meio de outras

informações (históricos dos usuários) e também agregam muito valor à aplicação

(Bertolotto et. al., 2002).

Com o crescente aumento da utilização de Smartphones, os Sistemas de

Informação ao Usuário estão se adaptando para receber dados também dos usuários,

seja por meio de GPS que equipam seus dispositivos ou pela divulgação de outras

80%

20%

10% 10% 10%

20%

80% 80%

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

Localização dos

Veículos

Velocidade dos

Veículos

Feedback dos

Usuários

Incidentes nas Vias

Intensidade do Tráfego

Localização dos

Usuários

Localização das Paradas

Distância entre as Paradas

Fre

qu

ên

cia

Informações Contextuais

Page 47: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

33

informações relevantes em tempo real como, por exemplo, informações sobre

engarrafamentos e acidentes.

A Figura 3.2 apresenta como os trabalhos selecionados na revisão adquirem

dados contextuais, pode-se verificar que em 90% dos casos, os dados são provenientes

de informações históricas previamente catalogadas. O usuário ainda é pouco utilizado

como provedor de informações para os SIU.

Figura 3.2 – Obtenção de Informações Contextuais

No que diz respeito à QP3, os Sistemas de Informação ao Usuário têm o objetivo

de facilitar o dia a dia das pessoas que utilizam transporte público, oferecendo aos

passageiros informações muitas vezes em tempo real, utilizando dados estáticos,

inferidos ou dinâmicos de contexto relacionados aos próprios meios de transporte

(Bertolotto et. al., 2002) (Vieira et. al., 2011). Estas aplicações satisfazem as

necessidades específicas dos usuários (tempo de espera na parada) ou fornecem

informações personalizadas como, por exemplo, itinerário de linhas de ônibus para

deslocamentos (Bastos e Jaques, 2010).

Os equipamentos eletrônicos são fator importante nos objetivos propostos pelos

SIU, pois quando instalados a bordo do veículo, auxiliam no anúncio das paradas,

tirando esta responsabilidade dos motoristas que permanecem focados apenas na

direção. Já os equipamentos instalados nas vias, informam horários, tempos de viagem,

60%

10% 10% 10% 10%

90%

10%

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

GPS dos Ônibus

Feedback dos Usuários por Smartphone

GPS dos Usuários

Informações Históricas

Informações Inferidas

Informações Históricas

Previamente Catalogadas

Não Divulgado

Fre

qu

ên

cia

Informações Contextuais X Fontes de Contexto

Page 48: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

34

itinerários dos ônibus e tempos de espera, reduzindo a ansiedade dos passageiros

(Coffey et. al., 2011) (Weigang et. al., 2001).

Entretanto, a instalação de equipamentos eletrônicos em todas as paradas e

dentro dos veículos pode ser extremamente cara e pouco prática. Com o aumento da

utilização de dispositivos móveis as informações oferecidas pelos SIU podem ser

exibidas nestes aparelhos que, além da mobilidade, proveem a localização atual como

grande diferencial para este tipo de aplicação (Bertolotto et. al., 2002) (Ferris et. al.,

2009).

A Figura 3.3 exibe como os trabalhos selecionados na revisão usam as

informações contextuais coletadas para prover informações aos usuários. Percebemos

que 80% dos trabalhos fornecem o tempo de chegada dos ônibus nas paradas. Outras

informações que poderiam ser de interesse aos passageiros ainda são oferecidas em

menor escala como, por exemplo, recomendação de rotas e estado do trânsito.

Figura 3.3 – Informações Providas pelos SIU

Analisando os resultados apresentados pelas questões colocadas, podemos

constatar o seguinte:

1. Muitos dos estudos selecionados (80 %) usam dados estáticos e informações

de localização dinâmica de ônibus. Outras informações dinâmicas também são

utilizadas embora em menor escala. O uso de informações dinâmicas como, por

80%

20% 20% 20%

10% 10% 10%

20%

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

Tempo Chegada dos ônibus nas

Paradas

Informações Dentro dos

Ônibus

Criação de Rotas

Personalizadas

Recomendação de Rotas

Notificação de Próximas Paradas

Estado do Trânsito

Informações Adaptadas aos

Usuários

Localização dos Ônibus

Fre

qu

ên

cia

Informações Providas

Page 49: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

35

exemplo, incidentes sobre as estradas, informação de colaboração de outros usuários,

pode permitir ao sistema fornecer aos usuários informações mais alinhadas com a

situação atual do trânsito, considerando as características dinâmicas do tráfego urbano,

principalmente nas grandes cidades;

2. Em relação à aquisição de informações pelos SIU, percebemos que muitos

dos estudos selecionados capturam esses dados através de GPS instalados nos veículos,

ou estaticamente através de informações de catalogação. No entanto, outras fontes de

aquisição poderiam ser utilizadas como, por exemplo, redes sociais, câmeras, sensores e

outros;

3. Com relação às informações oferecidas aos usuários, temos notado que

grande parte das aplicações oferecem aos passageiros o cálculo do tempo de chegada

dos veículos nas paradas. Enquanto poucas disponibilizam ao usuário funcionalidades

adaptadas, por exemplo, recomendação de melhores rotas de ônibus, entre outros

serviços personalizados aos usuários (Bertolotto et. al., 2002) (Ferris et. al., 2009).

Atualmente, os Sistemas Inteligentes de Transporte se tornaram uma alternativa

muito viável e atraente para resolver muitos problemas e superar desafios dos sistemas

de transporte nas grandes cidades. Esta tendência se dá, em parte, devido ao rápido

crescimento e disponibilidade de Tecnologias de Informação e Comunicação - TIC.

Com as respostas obtidas para as perguntas propostas podemos observar

oportunidades de pesquisa detalhadas a seguir.

1. Desenvolvimento de SIU que fazem uso de maior quantidade de

informações contextuais dinâmicas e inferidas, uma vez que essas informações podem

ajudar as aplicações a se adaptarem ao caráter dinâmico do trânsito, permitindo fornecer

informações mais adequadas à realidade atual do trânsito urbano;

2. Uso de novas fontes de dados contextuais que podem fornecer informações

em tempo real para apoiar os Sistemas de Informação ao Usuário. Com o uso crescente

das redes sociais, estas poderiam ser utilizadas como fontes de informação do usuário de

forma colaborativa;

3. Exploração do uso de aplicações móveis, aproveitando o crescente uso de

smartphones entre os usuários;

Page 50: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

36

4. Desenvolvimento de novas funcionalidades adaptadas aos usuários,

buscando oferecer serviços personalizados, mais relevantes para as necessidades dos

usuários;

5. Análise das relações entre informação contextual, a fim de enriquecer as

funcionalidades fornecidas por Sistemas de Informação ao Usuário.

3.2 Sistemas de Recomendação e Exibição de Rotas de Transporte

Público

Na literatura é possível encontrar muitos trabalhos no domínio de ITS e SIU,

porém apenas alguns deles fazem uso da recomendação e/ou exibição de rotas de

transporte público por ônibus. O objetivo desta seção consiste na análise de trabalhos

encontrados que exploram sistemas de recomendação ou exibição de rotas aos usuários,

e que mais se correlacionam com o tema proposto, buscando assim contextualizar e

identificar a complementaridade deste trabalho no estado da arte.

Com o objetivo de facilitar a análise entre a proposta desta pesquisa e os

trabalhos relacionados adotamos alguns critérios de comparação, são eles:

• Utilização de informações contextuais: A utilização de dados contextuais

dinâmicos, estáticos ou inferidos e suas interações contribuem para que os aplicativos

possam ser capazes de se adaptar a determinada situação ou fornecer serviços mais

relevantes;

• Interface de comunicação com os usuários: A interface de comunicação

entre os sistemas de recomendação e seus usuários pode ser um fator muito importante.

Alguns destes sistemas permitem acesso de qualquer lugar e de muitas maneiras,

possibilitando que os usuários tenham informações em tempo real, adaptadas à

dinamicidade do trânsito;

• Preferências do usuário: Para os sistemas de recomendação em geral as

preferências dos usuários são fundamentais para o fornecimento de informações mais

personalizadas e adaptadas aos mesmos;

• Histórico de utilização do usuário: Os dados históricos de utilização dos

usuários podem gerar informações bastante úteis para o sistema de recomendação, pois

através delas podemos inferir dados contextuais importantes do usuário, como por

Page 51: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

37

exemplo, preferências de utilização do sistema e, desta forma, fornecer recomendações

mais relevantes;

• Domínio de utilização apenas para transporte público por ônibus: Neste

critério avaliamos se a aplicação é direcionada ao transporte público por ônibus.

A seguir mostramos alguns trabalhos presentes na literatura e na indústria

procurando analisá-los conforme os critérios estabelecidos.

OneBusAway1

O OneBusAway (Ferris et. al., 2009) é um Sistema Inteligente de Transporte de

código aberto inicialmente desenvolvido na Universidade de Washington que utiliza

informações contextuais como distância entre as paradas e localização geográfica dos

ônibus para fornecer, em tempo real, informações aos usuários sobre: tempo de espera

nas paradas, horários e rotas dos veículos. Este sistema está disponível para muitas

interfaces entre elas Web, móvel (Android, OIS e Microsoft) e SMS. A Figura 3.4

mostra a exibição de rotas do OneBusAway.

Figura 3.4 – Sistema OneBusAway

Fonte: (Ferris et. al., 2009)

O sistema OneBusAway é voltado exclusivamente ao transporte público por

ônibus e considera informações contextuais estáticas, dinâmicas e inferidas. Além disso,

utiliza muitos tipos de interface com o usuário, permitindo assim maior flexibilidade em

relação ao tipo de aparelho que é utilizado para a iteração com o sistema. Entretanto, as

características dos usuários e suas preferências têm pouco ou nenhuma influência sobre

as informações que o sistema trata. Outras informações importantes como, por exemplo,

1 http://www.onebusaway.org/

Page 52: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

38

o histórico de utilização dos usuários e feedbacks do usuário também são desprezadas

pela aplicação OneBusAway.

Bus Catcher

O Bus Catcher (Bertolotto et. al., 2002) é um sistema com interface móvel que

utiliza informações contextuais dos usuários e dos veículos como, por exemplo, a

localização, para prover informações apenas sobre transporte público por ônibus. Entre

tais informações podemos citar: exibição de mapas, indicações de rotas de ônibus,

horários de chegada dos ônibus nas paradas. O aplicativo propõe integração com redes

de viagem para fins turísticos, tais como: rotas, localização e características de pontos

turísticos. Adaptação do sistema para pessoas com deficiências, maior personalização

das funcionalidades e melhora no desempenho também são propostas do aplicativo. A

Figura 3.5 mostra detalhes da recomendação de rotas do Bus Catcher.

Figura 3.5 – Indicação de Rotas no Sistema Bus Catcher

Fonte: (Bertolotto et. al., 2002)

O sistema Bus Catcher se propõe a utilizar em seu funcionamento algumas

informações contextuais do trânsito e dos usuários como, por exemplo, a localização

dos passageiros. No entanto, outras informações contextuais importantes dos usuários,

do trânsito e do clima, tais como suas preferências e histórico do usuário, informações

sobre acidentes e dados climáticos, não são consideradas pela aplicação. O sistema

possui apenas interface móvel o que pode limitar seu uso, apesar da crescente utilização

de smartphones por grande parcela da população. O aplicativo Bus Catcher poderia

explorar uma maior quantidade de informações contextuais de outras fontes e fazer uso

Page 53: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

39

do histórico de utilização dos usuários, o que poderia melhorar consideravelmente a

qualidade e a adaptabilidade das informações fornecidas aos usuários.

Sistema de Informações de Trânsito

No trabalho de Hoar (2009), é apresentado um sistema de informações de

trânsito para o usuário de transporte público por ônibus. Este aplicativo com interface

Web e móvel exibe dados como rotas, mapas, tempos de espera em paradas e

localização de ônibus. Por meio de sua interface móvel a ferramenta capta o feedback

do usuário que colabora com o sistema informando, em tempo real, se o veículo está

cumprindo o horário anteriormente determinado. Tais dados são processados e

permitem ao sistema ajustar informações que serão exibidas aos usuários. A Figura 3.6

mostra a exibição de rotas do aplicativo.

Figura 3.6 – Exibição de rotas do Sistema de Informação ao Usuário

Fonte: (Hoar, 2009)

O sistema proposto por Hoar (2009), possui dupla interface com o usuário e

extrai do feedback dos passageiros informações contextuais para inferência de situações

a serem consideradas pelo sistema. A aplicação desenvolvida por Hoar (2009), não

realiza recomendação de rotas, apenas as exibe de acordo com a escolha do usuário, não

utilizando outras informações contextuais dinâmicas importantes tais como:

preferências e histórico de utilização dos usuários, informações climática, entre outras.

PECITAS

O PECITAS (Tumas e Ricci, 2009) é um sistema móvel que recomenda rotas de

ônibus, taxi ou deslocamentos a pé, baseados em informações sobre seus usuários. O

aplicativo considera algumas preferências dos passageiros, tais como: tempo de viagem

ideal, número de mudanças de transporte, tempo de espera, preferência por caminhada e

Page 54: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

40

rota turística. De acordo com as informações fornecidas pelo usuário, o sistema gera e

classifica múltiplas rotas por meio de diferentes heurísticas. O algoritmo deste

aplicativo precisa de aproximadamente de 8,4 segundos para obter as rotas classificadas.

Porém para a recomendação da rota mais rápida o PECITAS não leva em consideração

os transportes públicos. A Figura 3.7 ilustra a interface do sistema PECITAS.

Figura 3.7 – Sistema PECITAS

Fonte: (Tumas e Ricci, 2009)

O PECITAS utiliza as preferências dos usuários para a indicação das rotas,

apesar de não considerar seu histórico de utilização e seus feedbacks. Entretanto o

PECITAS não é totalmente direcionado ao transporte público, pois opera também com

outros tipos de transportes, sendo bastante utilizado para passeios turísticos. O

aplicativo não utiliza informações contextuais do trânsito para a recomendação das rotas

e possui apenas interface móvel.

Google Transit

O Google Transit2 tem o objetivo de auxiliar usuários de transporte público a

obterem os melhores itinerários para uma determinada viagem. Seu funcionamento se

compara com a busca por rotas de veículos particulares, porém, leva em consideração

linhas e horários pré-definidos pelos órgãos públicos responsáveis pelo transporte

urbano. Além disso, permite a localização de paradas de ônibus e a consulta de

informações sobre estações de trem e horários. O sistema apresenta ainda o valor total

que deve ser pago para o trajeto, horários dos transportes, assim como várias opções de

trajetos. A Figura 3.8 ilustra uma requisição de rota no Google Transit.

2 http://www.google.com/intl/pt-BR/landing/transit/#dmy

Page 55: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

41

Figura 3.8 – Requisição de Rota no Google Transit

Fonte: (Google Transit)

Após uma solicitação, o sistema retorna algumas das possibilidades, que variam

desde linhas de ônibus diferentes, baldeações entre ônibus e metrô, dois ônibus, entre

outros. Informa o tempo de cada rota e o custo associado a elas, passando para o usuário

decidir qual o melhor itinerário para o seu deslocamento. A Figura 3.9 mostra os

trajetos sugeridos pelo aplicativo, após uma requisição.

Figura 3.9 – Trajetos Sugeridos pelo Google Transit

Fonte: (Google Transit)

O Google Transit é um dos sistemas para recomendação de rotas mais utilizado

no mundo devido a sua abrangência mundial. O sistema da Google utiliza algumas

informações contextuais estáticas para a recomendação de suas rotas, mas as

preferências e histórico de utilização dos usuários não são considerados para as

sugestões.

Sistema Antares

O sistema ANTARES (Bastos e Jaques, 2010) foi desenvolvido para a

plataforma Web e indica rotas de ônibus aos usuários utilizando o algoritmo A* e ruas

de origem e destino fornecidas pelo passageiro. O aplicativo fornece uma descrição

completa de linhas de ônibus e paradas que o usuário deve utilizar para chegar ao seu

destino. Além disso, devido à integração com o Google Maps API, o sistema oferece ao

Page 56: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

42

usuário um mapa de visualização da trajetória. A Figura 3.10 mostra detalhes da

indicação de rotas do sistema ANTARES.

O ANTARES utiliza a API do Google Maps como auxílio na exibição das rotas

a serem recomendadas. No entanto o ANTARES não utiliza informações contextuais

dinâmicas o que o torna pouco flexível às mudanças do tráfego urbano. O aplicativo

também não considera informações dos usuários como, por exemplo, preferências e

feedbacks, nem tão pouco armazena seus dados históricos, que poderiam ser

empregados para sugestões de rotas mais adaptativas aos passageiros. O sistema possui

apenas a interface Web para iteração com seus usuários, conforme ilustrado na Figura

3.10.

Figura 3.10 – Indicação de Rotas do Sistema ANTARES

Fonte: (Bastos e Jaques, 2010)

Sistema UbibusRoute

O UbibusRoute (Lima et. al., 2012) é uma aplicação baseada no modelo cliente

servidor desenvolvida para interface móvel android que utiliza informações contextuais

estáticas e dinâmicas como, por exemplo, localização geográficas das paradas, distância

entre as paradas e informações do trânsito provenientes de rede social, para a

recomendação de rotas de ônibus aos usuários. A aplicação também usa a API do

Google Maps, como fonte de geolocalização e o algoritmo de Dijkstra3 para a obtenção

das rotas. O UbibusRoute recebe do usuário pontos de paradas origem, destino e as

preferências do usuário em relação à rota (menor distância percorrida, menor tempo de

percurso e menor preço gasto). Após realizar a busca o aplicativo exibe ao usuário a rota

escolhida e as informações necessárias como: a linha de ônibus escolhida; preço da

3 Dijkstra Algorithm <http://www.cs.auckland.ac.nz/~jmor159/PLDS210/dijkstra.html>.

Page 57: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

43

tarifa; as paradas que foram anteriormente selecionadas e o tempo total do deslocamento

por meio de um mapa. A Figura 3.11 ilustra a recomendação de rotas do UbibusRoute.

No entanto, o UbibusRoute possui apenas a interface móvel como forma de

iteração com o usuário e não utiliza informações sobre o preferências e histórico de

utilização dos usuários, feedbacks dos passageiros e dados climáticos, o que tornam as

recomendações desde sistema pouco adaptadas aos passageiros.

Figura 3.11 – Recomendação de Rotas do Sistema UbibusRoute

Fonte: (Lima et. al., 2012)

A Tabela 3.1 apresenta um comparativo com as principais diferenças e

similaridades entre os sistemas de recomendação e ou exibição de rotas apresentados.

Tabela 3.1 – Comparativo entre os Trabalhos Relacionados

Sistemas

Tipo de Informações Contextuais Utilizadas

Interface de Comunicação com o Usuário

Utilização de Preferências dos

Usuários

Utilização de Informações Históricas

Domínio de Utilização Apenas para Transporte

Público por Ônibus

OneBusAway Estáticas,

Dinâmicas e Inferidas

Móvel, Web e SMS Não Não Sim

Bus Catcher Estáticas e Dinâmicas

Móvel Parcialmente Não Sim

Sistema de Informações de Trânsito (Hoar,

2009)

Estáticas e Dinâmicas

Móvel e Web Não Não Sim

PECITAS Estáticas Móvel Parcialmente Não Não

Google Transit Estáticas Móvel e Web Não Não Não

ANTARES Estáticas Web Não Não Sim

UbibusRoute Estáticas e Dinâmicas

Móvel Parcialmente Não Sim

Page 58: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

44

3.3 Considerações Finais

A utilização de abordagens de recomendação sensíveis ao contexto tem

emergido com o objetivo de melhorar a relevância das recomendações em diversos

domínios de aplicações (Adomavicius e Tuzhilin, 2005). Atualmente na literatura e na

indústria existem alguns sistemas que recomendam e/ou exibem rotas aos passageiros

de transporte público por ônibus. No entanto, foi possível constatar que a grande

maioria deles não incorpora informações contextuais sobre o clima, tempo e contexto do

usuário como, por exemplo, preferências e histórico de utilizações. Sendo assim,

podemos concluir que estas aplicações proveem funcionalidades pouco adaptadas aos

passageiros.

Desta forma, justifica-se a realização de estudos com o objetivo de propor ou

adaptar abordagens de recomendação sensível ao contexto dos passageiros para os

transportes públicos urbanos, visando facilitar o deslocamento dos usuários e incentivar

o uso do transporte coletivo.

Page 59: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

45

Capítulo 4

O Sistema RecRoute

A integração entre diversas tecnologias modernas vem permitindo um avanço

significativo aos ITS. Consequentemente, há uma procura crescente por sistemas cada

vez mais dinâmicos e sensíveis ao contexto. Em particular, vários sistemas de

recomendação de rotas estão sendo utilizados como forma de prover ao usuário a

melhor informação para sua tomada de decisão quanto ao seu deslocamento.

No entanto, conforme discutido no Capítulo 3, para o provimento de

informações sensíveis ao contexto do usuário e do trânsito, os sistemas devem atender a

alguns requisitos, tais como: utilização de informações contextuais dinâmicas obtidas

em tempo real, provimento de várias interfaces de comunicação com o usuário,

observância às preferências do usuário, tratamento das informações históricas, entre

outras.

No aplicativo RecRoute, as informações contextuais permitem entender as

preferências do usuário e a situação do trânsito, a fim de ajustar os resultados às

necessidades dos passageiros.

Este capítulo está dividido em três seções. A primeira tem por objetivo

apresentar o Projeto Ubibus (Vieira et. al., 2011), onde se encontra inserido o aplicativo

RecRoute. A segunda tem por objetivo apresentar os requisitos, modelagem das

informações contextuais, arquitetura e outras especificações do RecRoute e, finalmente,

a última parte tem o objetivo de apresentar alguns aspectos de implementação do

protótipo do aplicativo.

4.1 O Projeto Ubibus

O projeto Ubibus tem o objetivo de facilitar o dia a dia das pessoas que utilizam

transporte público, oferecendo acesso inteligente a informações deste tipo de transporte

aos passageiros, em tempo real, baseado em informações dinâmicas de contexto

relacionadas aos próprios meios de transporte (Vieira et. al., 2011).

Page 60: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

46

A Figura 4.1 representa a arquitetura do projeto Ubibus, também descrita por

Vieira e colegas (2011). A Camada de Dados é a responsável pelo gerenciamento de

informações como localização, velocidade, rota dos ônibus, locais das paradas dos

ônibus, localização dos passageiros, informações do fluxo do tráfego em tempo real,

mapas e outras. As informações de congestionamento são utilizadas para identificar

obstruções no fluxo do tráfego e o seu nível, por exemplo, trânsito lento, moderado ou

congestionado.

Figura 4.1 – Arquitetura do Projeto Ubibus

Fonte: (Vieira et. al., 2011)

A camada intermediária do sistema é composta por um Middleware que facilita

a comunicação e coordenação entre os componentes de software distribuídos, tratando

de modo transparente as dificuldades e complexidades introduzidas pela comunicação

sem fio e mobilidade como, por exemplo, acesso às aplicações por diferentes tipos de

dispositivos.

O Middleware proposto é multiparadigma e extensível, pois se propõe a dar

suporte a um conjunto de paradigmas de comunicação, e atender aos diferentes tipos de

aplicações, por exemplo, Móvel e Web. Para otimizar o uso de recursos dos dispositivos

móveis integrados ao projeto, o Middleware proporciona o compartilhamento e

reutilização de componentes de sua arquitetura. Esta está subdividida em três camadas:

Camada de Comunicação, Camada de Aquisição e Camada de Processamento.

A Camada de Comunicação permite o acesso aos dados, assim como sua

atualização em tempo real, pelos gestores, operadores, usuários e condutores. Os

avanços e padronização das tecnologias de comunicação sem fio, tais como WiFi,

Bluetooth, WiMAX, GPRS e 3G, permitem a comunicação de curto e de longo alcance,

Page 61: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

47

tornando possível o desenvolvimento de aplicações para Web, desktop, PDAs, celulares,

terminais e quiosques como, por exemplo, pontos de ônibus e estações rodoviárias.

A Camada de Aquisição é responsável por reunir informações contextuais de

diferentes fontes, encaminhando-as para a Camada de Dados. No Ubibus, as

informações contextuais poderão ser adquiridas de fontes como redes sociais, por

exemplo, Twitter4 e Facebook5, GPS e câmeras de monitoramento. Tais informações

podem ser dinâmicas (e.g. a localização dos ônibus) ou inferidas como, por exemplo, a

descoberta de congestionamentos e sua intensidade. Os usuários podem ainda utilizar o

sistema Web ou dispositivo móvel para adicionar informações sobre seu contexto atual

ou de contextos anteriores pelo qual tenham estado. Nesta camada se localizam alguns

componentes responsáveis pela captura das informações, tais como: o Minerador de

Dados de Redes Sociais responsável pela aquisição de informações de redes sociais, o

Minerador Espacial de Dados que captura dados das trajetórias dos ônibus como, por

exemplo, pontos de retenção de fluxo e, um serviço que captura Informações

Climáticas e Temporais das cidades.

A Camada de Processamento tem por objetivo realizar o tratamento das

informações de contexto adquiridas das diferentes fontes, visando transformá-las em

informações úteis para as aplicações a serem desenvolvidas. Por exemplo, em relação à

fonte de contexto GPS, a Camada de Processamento é responsável por receber arquivos

com as localizações e velocidades dos ônibus a uma determinada frequência de tempo e

processá-las de forma que sejam devidamente armazenadas na Camada de Dados.

Outro serviço constante desta camada é o Gerador de Rotas que processa informações

contextuais do trânsito atual com a finalidade de prover rotas para uma origem e

destino.

A Camada de Aplicações conterá os diferentes tipos de aplicações

desenvolvidas. Essas aplicações devem se ajustar a diferentes plataformas e dispositivos

como Web, desktop, PDAs, celulares e displays. Algumas destas aplicações e seus

requisitos são descritas a seguir.

4 https://twitter.com 5 https://www.facebook.com

Page 62: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

48

As Aplicações Web permitem uma fácil disseminação dos dados

contextualizados relacionados com o trânsito. Uma aplicação Web do Ubibus deve

prover:

• O horário de chegada dos ônibus em cada parada;

• A definição da melhor rota com base nas prioridades (custo, tempo,

distância) do usuário;

• A intensidade de tráfego em cada rota ou região;

• O mapa com a intensidade de tráfego em diferentes regiões;

• As linhas de ônibus que passam em determinada parada de ônibus, outros.

As Aplicações Móveis têm o grande benefício de serem portáveis e, com isso, o

usuário pode tomar sua decisão sobre a rota a seguir de qualquer lugar, mesmo que não

esteja na parada de ônibus ou em casa. Tais aplicações são similares às Aplicações Web,

mas com a interface adaptada para dispositivos móveis. Também garantem a

possibilidade de usar a posição atual do dispositivo (e de seu usuário) para gerar mais

informação contextualizada.

As Aplicações dos Ônibus utilizam displays dentro dos ônibus que fornecem

informações sobre a situação atual deste. Assim os passageiros podem visualizar

informações sobre a viagem e tomar novas decisões devido a acontecimentos

imprevistos. Algumas funcionalidades que podem estar disponíveis nestas aplicações

são:

• Estimativa do tempo de chegada do ônibus em cada parada na rota;

• Descrição da parada anterior e a seguinte;

• Informação sobre o tráfego em cada trecho (intervalo entre as paradas) da

rota;

• Alertas sonoros para as paradas de ônibus, auxiliando as pessoas com

deficiência cognitiva.

As Aplicações nos Pontos de Ônibus devem fornecer informações para os

passageiros que estão esperando pelo ônibus, tais como a estimativa do horário de

chegada do ônibus na parada e a localização do próximo ônibus no mapa.

Page 63: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

4.2 O Aplicativo RecRoute

Nesta seção, apresentamos

contextuais, arquitetura e outros detalhes

aplicativo com interfaces Móvel

transporte público, baseado em informações contextuais dos usuários

e de outros fatores que podem afetá

procura auxiliar os passageiros em seus deslocamentos realizados pelo transporte

público coletivo por ônibus, oferec

4.2.1 Especificação dos Requisitos

Segundo Sommerville (

descrever as funções que o sistema deverá desempenhar pode ajudar a atingir os

objetivos propostos e atender determinadas necessidades. Nesta fase

descritas as restrições às quais este sistema, ou seu processo de desenvolvimento, está

sujeito. Uma técnica que pode auxiliar no processo de obtenção destes requisitos é a de

casos de uso, já que estes identificam cenários através de interações que envolvem a

participação de um ou mais atores em relação ao sistema

de uso identificados para o sistema.

O diagrama de casos de uso

linguagem UML6 (Unified Model Language

próprio sistema RecRoute

6 http://www.uml.org

RecRoute

apresentamos os requisitos, a modelagem das informações

e outros detalhes de especificação do sistema RecRoute

Móvel e Web para recomendação de rotas aos usuários de

transporte público, baseado em informações contextuais dos usuários, do tráfego urbano

e de outros fatores que podem afetá-lo como, por exemplo, o clima

ra auxiliar os passageiros em seus deslocamentos realizados pelo transporte

público coletivo por ônibus, oferecendo informações em tempo real.

Requisitos

mmerville (2007), na fase de especificação de requisitos do sistema,

descrever as funções que o sistema deverá desempenhar pode ajudar a atingir os

objetivos propostos e atender determinadas necessidades. Nesta fase

descritas as restrições às quais este sistema, ou seu processo de desenvolvimento, está

Uma técnica que pode auxiliar no processo de obtenção destes requisitos é a de

casos de uso, já que estes identificam cenários através de interações que envolvem a

participação de um ou mais atores em relação ao sistema. A Figura 4.2

so identificados para o sistema.

Figura 4.2 – Diagrama de Casos de Uso

O diagrama de casos de uso apresentado na Figura 4.2, foi elaborado baseado na

Unified Model Language). Nele, podemos identificar o Usuário e o

RecRoute como atores que interagem com a aplicação para obter

49

, a modelagem das informações

do sistema RecRoute, um

para recomendação de rotas aos usuários de

do tráfego urbano

lo como, por exemplo, o clima. O RecRoute

ra auxiliar os passageiros em seus deslocamentos realizados pelo transporte

, na fase de especificação de requisitos do sistema,

descrever as funções que o sistema deverá desempenhar pode ajudar a atingir os

objetivos propostos e atender determinadas necessidades. Nesta fase, também são

descritas as restrições às quais este sistema, ou seu processo de desenvolvimento, está

Uma técnica que pode auxiliar no processo de obtenção destes requisitos é a de

casos de uso, já que estes identificam cenários através de interações que envolvem a

. A Figura 4.2 ilustra os casos

, foi elaborado baseado na

ntificar o Usuário e o

com a aplicação para obter

Page 64: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

50

recomendações de rotas personalizadas. O Apêndice A detalha cada caso de uso

apresentado na Figura 4.2.

A partir da definição dos casos de uso podemos especificar os requisitos

funcionais e não-funcionais da aplicação. De acordo com (Sommerville, 2007), os

termos “requisitos de usuário” e “requisitos de sistema” podem ser utilizados para

designar, respectivamente, os requisitos descritos em alto e em baixo nível de abstração.

A seguir são apresentados requisitos não-funcionais (RNF) e requisitos

funcionais (RF), sendo os requisitos funcionais classificados em dois tipos: RF-U

quando se refere a um requisito funcional relacionado ao usuário, e RF-S para um

requisito funcional do sistema.

• RNF-01: Implementar mecanismos de comunicação de forma a acessar

outras funcionalidades e serviços do Middleware do projeto Ubibus;

• RNF-02: Possibilitar acesso por diferentes dispositivos Web e Móvel;

• RNF-03: Utilizar a base de dados compartilhada do projeto Ubibus;

• RF-U.1: O sistema de recomendação deverá ter mecanismos de aquisição,

manipulação e persistência de informações contextuais sobre as preferências e perfil dos

usuários, tais mecanismos deverão estar presentes nas interfaces do aplicativo;

• RF-U.2: Considerar o feedback dos usuários, a fim de atualizar a função

utilizada na classificação das rotas;

• RF-U.3: Disponibilizar um serviço de recomendação de rotas aos usuários

de transporte público por ônibus, levando em consideração informações contextuais das

preferências dos usuários;

• RF-S.1: Prover um serviço que seja responsável pela integração e controle

dos componentes do sistema;

• RF-S.2: Obter um conjunto inicial de rotas enriquecidas com informações

contextuais do trânsito por meio de serviço localizado no Middleware do projeto

Ubibus;

• RF-S.3: Prover um serviço que, por meio de Aprendizagem de Máquina e

Predição e Algoritmos de Classificação, seja capaz de criar funções que serão utilizadas

para classificar e ordenar as rotas de acordo com as preferências contextuais dos

usuários, informações climáticas e temporais;

Page 65: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

51

• RF-S.4: Prover um serviço de interpretação de contexto responsável por, de

posse da função para classificação, ordenar um conjunto inicial de rotas e as exibir ao

usuário.

4.2.2 Modelagem das Informações Contextuais

Para prover recomendações mais adequadas as necessidades dos usuários, o

RecRoute utiliza informações contextuais estáticas, dinâmicas e inferidas. Ao

considerar as mudanças nas informações de contexto o RecRoute pode proporcionar ao

usuário uma indicação mais direcionada às suas necessidades, tendo em vista que o

trânsito tem características dinâmicas onde incidentes podem, a qualquer momento,

influenciar diretamente seu status. Sendo assim, esta seção tem por objetivo mostrar

como foram identificados os requisitos de contexto.

Inicialmente realizamos um levantamento de algumas informações contextuais

sobre preferências dos usuários que possivelmente seriam úteis aos passageiros do

transporte público durante as recomendações, são elas: menor distância a ser percorrida,

menor tempo de deslocamento, menor custo da passagem, troca de ônibus durante o

deslocamento e menor distância a ser percorrida a pé.

Para validação das preferências inicialmente consideradas, utilizamos um

questionário, constante do Apêndice B, que foi respondido por 57 pessoas, entre elas,

estudantes de graduação do CIn (Centro de Informática) e outras pessoas da sociedade

que utilizam transporte público por ônibus.

Este questionário indaga sobre a importância de cada preferência, inicialmente

levantada, para um aplicativo de recomendação de rotas direcionado aos moradores de

determinada cidade, e requisita sugestões para eventuais preferências não consideradas

durante o primeiro levantamento.

Ao consolidar os resultados percebemos que as preferências inicialmente

sugeridas foram consideradas “Muito Importantes” e de “Média Importância” com

especial destaque para o menor tempo de deslocamento com quase 90% de relevância,

menor distância a ser percorrida e troca de ônibus com 64,9% e 73,7 % de relevância

respectivamente. Verifica-se ainda que nenhuma das preferências levantadas

inicialmente foi classificada como “Pouco Importante” pela maioria dos respondentes,

conforme mostra a Figura 4.3.

Page 66: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

Figura

Além das respostas sobre

parada foi sugerido por 60% dos

considerada durante as recomendações.

Após a análise do questionário aplicado

precisa as informações contextuais

que fazem parte do cenário de atuação do RecRoute

de informações contextuais utilizado pelo aplicativo RecRoute

Contextuais e seus respectivos

Figura

0,0%

20,0%

40,0%

60,0%

80,0%

100,0%

Menor distância

Po

rce

nta

ge

ns

Relevância das Preferências dos Usuários

Figura 4.3 – Relevância das Preferências dos Usuários

Além das respostas sobre as relevâncias das preferências, o tempo de esp

parada foi sugerido por 60% dos respondentes como informação contextual a ser

considerada durante as recomendações.

análise do questionário aplicado, pudemos modelar

as informações contextuais das preferências dos usuários e de outras entidades

do cenário de atuação do RecRoute. A Figura 4.4 apresenta o modelo

uais utilizado pelo aplicativo RecRoute, destacan

Contextuais e seus respectivos Elementos Contextuais.

Figura 4.4 – Modelagem das Informações Contextuais

Menor tempo

Menor preço

Troca de ônibus

Percurso a pé

Preferências dos Usuários

Relevância das Preferências dos Usuários

Pouco Importante

Média Importância

Muito Importante

52

, o tempo de espera na

respondentes como informação contextual a ser

de forma mais

das preferências dos usuários e de outras entidades

apresenta o modelo

, destacando as Entidades

Relevância das Preferências dos Usuários

Pouco Importante

Média Importância

Muito Importante

Page 67: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

53

Dentre as informações contextuais modeladas na Figura 4.4, o RecRoute

implementa diretamente ações sobre as listadas a seguir:

• Passageiro

Estas informações dizem respeito ao usuário requisitante e suas preferências.

o Localização: representa a localização geográfica do usuário que está

requisitando a sugestão de rotas para o seu deslocamento;

o Deficiência: esta informação é importante para o sistema, pois informa se

o usuário possui algum tipo de deficiência, tais como: deficiência de locomoção

(cadeirante), deficiência visual ou auditiva;

o Distância percorrida a pé: este atributo informa qual a distância máxima

em metros que o usuário toleraria se deslocar a pé;

o Preferência por troca de ônibus: representa a preferência do usuário para

rotas que tenham trocas de ônibus a serem efetuadas durante o trajeto;

o Tipo de busca: representa a preferência do usuário pelo tipo de busca a

ser realizado entre as rotas como, por exemplo, menor distância percorrida, menor preço

ou menor tempo gasto;

o Preferência por tempo de espera na parada: esta informação informa qual

seria o tempo máximo em minutos que o usuário suportaria esperar na parada de ônibus

até embarcar.

• Ambiente

O ambiente em que o usuário se encontra com relação ao clima, horário do dia e

outras questões são importante para as recomendações realizadas pelo RecRoute, pois

pode influenciar sobremaneira na classificação das rotas e consequentemente nas

recomendações. Desta entidade levamos em consideração:

o Clima: representa a condição climática no momento da recomendação

como, chuvoso, ensolarado ou nublado;

o Período do dia: a informação representa o período do dia que está

ocorrendo a requisição como, manhã (06:00 as 11:59 h), tarde (12:00 as 17:59 h) ou

noite (18:00 as 05:59 h).

Page 68: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

54

• Rota

As rotas possuem muitas informações contextuais, no RecRoute são

consideradas as informações listadas a seguir:

o Distância total: esta informação diz respeito à distância a ser percorrida

em metros;

o Tempo total: indica o tempo total para percorrer a rota;

o Preço: revela qual o custo total da rota;

o Rota com troca de ônibus: informa se o usuário precisará realizar troca de

ônibus para chegar ao seu destino;

o Distância percorrida a pé: indica a distância a ser percorrida a pé pelo

passageiro;

o Tempo de espera na parada: esta informação diz respeito a quanto tempo

em minutos, o usuário deverá permanecer na parada esperando seu transporte;

• Ônibus

Os ônibus possuem informações contextuais relevantes para a definição de

alguns elementos contextuais das rotas, para essa entidade consideramos os elementos a

seguir:

o Localização: esta informação diz respeito à localização do ônibus no

momento da requisição das rotas pelo usuário;

o Acessibilidade: revela se os ônibus que compõem a rota possuem

acessibilidade. Esta informação é importante para a qualidade das recomendações

realizadas pelo sistema, pois pessoas com deficiência de locomoção (cadeirantes)

somente poderão embarcar em ônibus com esta característica;

o Preço: representa o preço da passagem para o ônibus.

4.2.3 Arquitetura

O RecRoute utiliza vários recursos oferecidos pelo Middleware do projeto

Ubibus, entre eles podemos destacar: as Interfaces, o Banco de Dados, um serviço de

Geração de Rotas que recupera rotas enriquecidas de elementos contextuais do trânsito

de acordo com a origem e destino passadas pelo usuário, e um serviço de Informações

Climáticas e Temporais o qual fornece informações contextuais climáticas e de horários

Page 69: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

55

utilizadas nas recomendações de rotas. A Figura 4.5 apresenta a arquitetura do sistema

RecRoute.

Figura 4.5 – Arquitetura do RecRoute

Estão presentes na arquitetura do RecRoute quatro componentes principais,

sendo eles: o Gerenciador de Recomendações que é responsável pela integração dos

demais componentes e orquestração do fluxo de execução do processo de

recomendação, gerenciando assim todas as ações do aplicativo, o Gerenciador de

Contexto que tem por objetivo gerenciar a aquisição de informações contextuais a serem

utilizadas pelo RecRoute, o Módulo de Aprendizagem responsável por gerar e manter as

funções utilizadas na classificação das rotas e o Classificador Contextual de Rotas

responsável pela ordenação das rotas utilizando a função produzida pelo processo de

aprendizagem. Este último componente faz parte do Middleware do projeto Ubibus,

oferecendo também seus serviços a outras aplicações do projeto. As rotas são

classificadas por suas características considerando o ponto de origem e destino

escolhidos pelo usuário. Todos os elementos da arquitetura são detalhados a seguir.

Page 70: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

56

Interfaces

As Interfaces pertencentes ao projeto Ubibus, apresentado na Seção 4.1,

comunicam-se com o RecRoute por meio de suas Aplicações Web e Móvel. A Interface

Móvel tem o grande benefício de ser portátil, permitindo assim que o usuário possa

tomar sua decisão sobre a rota a seguir de qualquer lugar, mesmo que não esteja na

parada de ônibus ou em casa. A Interface Móvel é similar à Interface Web, sendo

adaptada para dispositivos móveis e também com a possibilidade de utilizar mais

precisamente a posição georeferenciada do usuário fornecida pelo dispositivo.

Gerenciador de Recomendações

O Gerenciador de Recomendações é o componente central da arquitetura do

RecRoute e gerencia todas as ações do aplicativo como, por exemplo, o acionamento de

outros componentes da arquitetura do aplicativo. É por meio deste elemento que todas

as ações dos usuários realizadas pelas Interfaces têm acesso às funcionalidades do

sistema.

Gerenciador de Contexto

O Gerenciador de Contexto é responsável pelo gerenciamento das informações

contextuais que são utilizadas para a recomendação. Este componente se comunica com

os serviços do Middleware do Ubibus para obter os dados necessários, tais como: o

conjunto inicial de rotas fornecidas pelo Gerador de Rotas para a origem e destino

informados pelo usuário e informações climáticas e temporais. Informações das

preferências do usuário requisitante também são capturas pelo componente por meio de

acesso a base de dados.

Módulo de Aprendizagem

Este módulo da arquitetura tem por objetivo principal gerir a função utilizada

para a classificação das rotas por meio de aprendizagem supervisionada (treinamento)

de forma incremental. A Figura 4.6 ilustra como a aprendizagem é realizada de forma a

se obter a função. A aprendizagem é feita por meio de um conjunto de registros,

denominado conjunto de treinamento, contendo informações sobre as preferências dos

usuários, informações temporais e climáticas, duas opções de rotas, e seus rótulos de

classes associados, neste caso a melhor rota entre as opções apresentadas.

Page 71: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

57

Os registros de treinamento foram obtidos junto aos usuários de transporte

público, por meio de uma página web, onde os usuários informavam suas preferências,

visualizavam duas opções de rotas e um ambiente climático e temporal. Após a análise

das duas opções de rotas exibidas o usuário escolhia a melhor rota para suas

necessidades gerando assim um registro para o treinamento, sendo o rótulo da classe a

rota escolhida.

Figura 4.6 – Demonstração da Formação da Função para Classificação das Rotas

Fonte: Adaptado de (Han e Kamber 2006)

Depois de formado o conjunto com os registros para treinamento, este foi

submetido ao Algoritmo de Classificação Naive Bayes (Friedman, 1997), gerando uma

função. Outros detalhes sobre a formação dos registros de treinamento e a escolha do

Algoritmo de Classificação utilizado para gerar a função que classifica as rotas são

expostos no Capítulo 5.

Assim podemos entender melhor a Figura 4.6, onde o conjunto de registros

utilizado para o treinamento (1) foi obtido por meio da interação com os usuários de

transporte público e, posteriormente, analisado por um algoritmo de classificação (2)

para criação da função. A função (3) obtida pode ser compreendida como y=f(X), que

permite predizer o rótulo y (melhor rota entre as duas rotas iniciais) do atributo-classe.

A função, resultado da aprendizagem dos registros de treinamento pelo

algoritmo Naive Bayes, é armazenada em uma estrutura no banco de dados. Cada

função é única para os pontos de origem e destino fornecidos pelo usuário no momento

Page 72: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

58

da requisição. A Figura 4.7 ilustra a estrutura utilizada para armazenar a função gerada

pelo processo de aprendizagem no banco de dados.

Figura 4.7 – Estrutura de Armazenamento da Função para Classificação

O Módulo de Aprendizagem também é responsável por realizar a atualização das

funções armazenadas no banco de dados. A atualização acontece utilizando o algoritmo

Naive Bayes e considerando as escolhas dos usuários entre as rotas exibidas em forma

de Realimentação de Relevância realizada implicitamente. O Quadro 4.1 apresenta o

algoritmo codificado em pseudo-código utilizado para esta tarefa.

Quadro 4.1 – Pseudo-Código para a Realimentação de Relevância

1 Programa RealizarRealimentacaoRelevancia 2 Var 3 I, PosMelhorRota: Inteiro 4 RotasNaoEscolhidas: Rotas[] 5 MelhorRota: Rota 6 Funcao: Classificador 7 Ambiente: Ambiente 8 PrefUsuario: PrefUsuario 9 Início 10 Para I � 0 Até Tamanho(RotasNaoEscolhidas) faça 11 Atualizar(Funcao,PrefUsuario,Ambiente,RotasNaoEscolhidas[I],MelhorRota,PosMelhorRota) 12 I � I + 1 13 Fim Para 14 Retorne � True 15 FIM.

Nas linhas 10,11 e 12 do pseudo-código podemos visualizar que a rota escolhida

pelo usuário, e considerada a melhor rota entre as exibidas, é submetida novamente ao

Naive Bayes, formando pares com as rotas não escolhidas. Também são informados o

ambiente climático e temporal e as preferências do usuário.

O Naive Bayes considera os registros formados para a atualização da função.

Neste caso, é informado ao algoritmo qual das duas rotas submetidas foi escolhida

como melhor rota pelo usuário, por meio da sua posição no registro. Assim, o algoritmo

poderá atualizar a função de acordo com as escolhas dos usuários. Isto acontece de

Page 73: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

59

forma gradativa fazendo com que as rotas exibidas aos usuários no futuro sejam mais

adaptadas às suas preferências e necessidades.

Classificador Contextual de Rotas

O Classificador Contextual de Rotas é o componente responsável pelo

ordenamento das rotas utilizando a função produzida pelo Módulo de Aprendizagem. As

rotas são classificadas por suas características considerando as preferências do usuário e

os pontos de origem e destino escolhidos.

A classificação das rotas acontece agrupando-as em pares e seguindo a

expressão N*(N-1). A Figura 4.8 ilustra um caso de agrupamento de rotas para

classificação, onde temos um conjunto inicial de 4 rotas.

Figura 4.8 – Agrupamento das Rotas para Classificação

Conforme podemos verificar na Figura 4.8, para este caso são formados 12 pares

de rotas, estes pares se repetem alternando-se as posições entre as rotas (primeira e

segunda rota). Esta forma de agrupamento em pares para passagem pelo Naive Bayes foi

escolhida por que acreditamos que a repetição dos pares alternando-se as posições possa

minimizar a margem de erro da classificação. Após a formação destes pares a

classificação é iniciada.

O Quadro 4.2 ilustra o algoritmo codificado em pseudo-código utilizado na

classificação das rotas. Podemos visualizar que as rotas são submetidas em pares para

avaliação, cuja formação foi ilustrada na Figura 4.8. Após a avaliação de todos os pares

pelo classificador, é realizada a contagem da pontuação obtida por cada rota e,

finalmente, depois da consolidação das pontuações, todas as rotas são ordenadas de

acordo com a pontuação obtida por cada rota durante as avaliações.

Page 74: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

60

Quadro 4.2 – Pseudo-Código da Classificação das Rotas

1 Programa OrdenarRotas 2 Var 3 I,J,H,Resuultado: Inteiro 4 ConjRotas: Rotas[] 5 ConjRotasAux: Rotas[] 6 Funcao: Classificador 7 Ambiente: Ambiente 8 PrefUsuario: PrefUsuario 9 Início 10 ConjRotasAux � ConjRotas 11 Para I � 0 Até Tamanho(ConjRotas) faça 12 Para J � 0 Até Tamanho(ConjRotasAux) faça 13 Se I != J então 14 Resultado � Avaliar(Funcao, PrefUsuario,Ambiente, ConjRotas[I],ConjRotasAux[J]) 15 Se Resultado == 1 então 16 ConjRotas[I].pontuacao � ConjRotas[I].pontuacao + 1 17 Senão 18 ConjRotasAux[J].pontuacao � ConjRotasAux[J].pontuacao + 1 19 Fim Se 20 Fim Se 21 J � J + 1 22 Fim Para 23 I � I + 1 24 J� 0 25 Fim Para 26 Para H � 0 Até Tamanho(ConjRotas) faça 27 ConjRotas[H].nota � ConjRotas[H].pontuacao + ConjRotasAux[H].pontuacao 28 H � H + 1 29 Fim Para 30 Retorne � Sort(ConjRotas[]) 31 FIM.

Após a ordenação, as rotas são encaminhadas ao Gerenciador de Recomendações

para exibição ao passageiro requisitante.

Serviços do Middleware Ubibus Diretamente Utilizados pelo RecRoute

Alguns serviços presentes no Middleware do projeto Ubibus são utilizados pelo

aplicativo RecRoute durante as recomendações:

• Gerador de Rotas: Este componente tem o objetivo de gerar um conjunto

de rotas de acordo com pontos de origem e destino passados pelo usuário. Elementos

contextuais do estado atual do trânsito, tais como, engarrafamentos, horários de tráfego

intenso, acidentes, alagamentos, informações de redes sociais, entre outras informações

são utilizadas para gerar as rotas;

• Condições Climáticas e Temporais: Informações contextuais sobre o

clima e horário são importantes para o sistema de recomendação de rotas. Este

componente é responsável por fornecer informações sobre o clima e o tempo que são

utilizadas pelo aplicativo RecRoute durante a classificação das rotas. Para obter estas

Page 75: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

61

informações o Gerenciador de Contexto informa a cidade de onde é proveniente a

recomendação e recebe a situação climática e temporal da localidade.

Banco de Dados

A base de dados utilizada pelo RecRoute é compartilhada com outros aplicativos

e serviços que compõem o projeto Ubibus. Esta base contém dados contextuais estáticos

e dinâmicos do trânsito, dos ônibus, das vias, das paradas de ônibus, dos passageiros,

entre outros. A Figura 4.9 mostra um extrato do modelo relacional do banco de dados

do projeto Ubibus contendo as principais entidades que o RecRoute utiliza.

Figura 4.9 – Extrato do Modelo Relacional do Banco de Dados do Projeto Ubibus

4.3 Implementação do RecRoute

O aplicativo RecRoute utiliza a base de dados do projeto Ubibus que foi

implementada utilizando o Sistema de Gerenciamento de Banco de Dados (SGBD)

PostgreSQL7 com extensão PostGIS8, por se tratar de um SGBD de domínio público,

gratuito e com larga confiabilidade na manipulação de dados geográficos.

7 http://www.postgresql.org/ 8 http://postgis.net/

Page 76: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

62

A base de dados do projeto Ubibus foi alimentada com dados reais. Para isso foi

realizada uma parceria com a Superintendência de Mobilidade Urbana (SEMOB) da

cidade de João Pessoa – PB. Dessa forma, um conjunto de dados reais referentes a

localizações geográficas de paradas de ônibus, trechos e linhas de ônibus, bem como

informações sobre empresas fornecedoras do serviço de transporte público, entre outras,

foram obtidos junto a SEMOB e armazenados na base de dados. Outras informações

sobre pontos de interesse e suas características foram obtidas por meio de serviço

disponibilizado pelo Google Places9. Estes dados foram inseridos na base de dados do

projeto Ubibus de acordo com a modelagem conceitual dos dados anteriormente

apresentada. Desta forma, o usuário pode escolher, como pontos de origem e destino,

paradas de ônibus ou algum ponto de interesse como, por exemplo, Universidade

Federal da Paraíba ou Prefeitura Municipal de João Pessoa.

Para realizar a inserção dos dados da cidade de João Pessoa na base do Ubibus

foram necessários alguns ajustes importantes para adaptação à modelagem conceitual da

base de dados, a saber:

• Cálculo e armazenamento de pontos geográficos intermediários entre as

paradas de origem e destino para cada trecho: Estes pontos auxiliam os aplicativos

do projeto a traçar caminhos por onde os veículos fazem seus deslocamentos. O

armazenamento destes pontos na base também proporcionou aos aplicativos maior

agilidade, pois os mesmos não necessitam recorrer a serviços externos para a obtenção

destas informações;

• Cálculo do comprimento em metros de cada trecho: Para cada trecho

inserido na base de dados foi necessário o cálculo em metros de seu comprimento.

A Figura 4.10 apresenta detalhes da modelagem das principais classes do

Módulo de Aprendizagem, do Classificador Contextual de Rotas, do Gerenciador de

Contexto e do Gerenciador de Recomendações, presentes na arquitetura do RecRoute.

A Figura 4.11 mostra um diagrama de sequência com as mensagens trocadas

pelos componentes da arquitetura. Nele podemos observar as atividades realizadas pelo

aplicativo RecRoute.

Observamos que o usuário tem a opção de realizar o login no RecRoute, caso

isso aconteça suas preferências são recuperadas do banco de dados. O aplicativo

9 www.google.com/places

Page 77: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

também permite que um usuário não cadastrado possa realizar r

isso basta informar suas preferências como parâmetros no momento da consulta e

realizar a busca. O usuário cadastrado também pode alterar suas preferências visando

uma determinada requisição, informando as preferências como parâme

da consulta. Dessa forma, o RecRoute considera os parâmetros informados na

requisição da consulta em detrimento às preferências armazenadas no banco.

Figura

Ao receber a requisição das

destino, preferências e localização do usuário

o Gerenciador de Contexto

a recomendação.

O primeiro serviço a ser acess

Informações Climáticas e Temporais

obter as condições em que o usuário está realizando a requisição

também permite que um usuário não cadastrado possa realizar requisições de rotas, para

isso basta informar suas preferências como parâmetros no momento da consulta e

realizar a busca. O usuário cadastrado também pode alterar suas preferências visando

uma determinada requisição, informando as preferências como parâmetros no momento

da consulta. Dessa forma, o RecRoute considera os parâmetros informados na

requisição da consulta em detrimento às preferências armazenadas no banco.

Figura 4.10 – Principais Classes do RecRoute

o receber a requisição das Interfaces do aplicativo com os pontos de origem

, preferências e localização do usuário o Gerenciador de Recomendações

o, a fim de colher as informações contextuais necessárias

O primeiro serviço a ser acessado pelo Gerenciador de Contexto

Informações Climáticas e Temporais, localizado no Middleware do Ubibus, a fim de

as condições em que o usuário está realizando a requisição.

63

equisições de rotas, para

isso basta informar suas preferências como parâmetros no momento da consulta e

realizar a busca. O usuário cadastrado também pode alterar suas preferências visando

tros no momento

da consulta. Dessa forma, o RecRoute considera os parâmetros informados na

requisição da consulta em detrimento às preferências armazenadas no banco.

com os pontos de origem e

Gerenciador de Recomendações aciona

as informações contextuais necessárias para

Gerenciador de Contexto é o Serviço de

do Ubibus, a fim de

Page 78: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

Figura

Figura 4.11 – Diagrama de Sequência das Atividades do RecRoute

64

Page 79: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

65

O próximo passo do Gerenciador de Contexto é acessar o serviço Gerador de

Rotas que fornece um conjunto de rotas para o ponto de origem e destino fornecidos

pelo usuário e sua localização. Tais rotas estão enriquecidas com informações

contextuais da situação do trânsito atual (e.g informações sobre engarrafamentos,

acidentes, alagamentos entre outros).

Após colher estas informações o Gerenciador de Contexto as retorna ao

Gerenciador de Recomendações que aciona o Módulo de Aprendizagem a fim de

recuperar, no banco de dados, a função que será utilizada para a classificação das rotas,

considerando o ponto de origem e destino passados pelo usuário. A função é criada por

meio do Framework MOA (Massive Online Analysis) (Bifet et. al., 2010), ferramenta de

código aberto que inclui uma coleção de algoritmos de aprendizagem de máquina, entre

eles o Naive Bayes.

Após receber do Módulo de Aprendizagem a função de classificação para os

pontos de origem e destino, o Gerenciador de Recomendações aciona o módulo

Classificador Contextual de Rotas, para que estas rotas sejam classificadas. O

Classificador Contextual de Rotas recebe do Gerenciador de Recomendações as

seguintes informações:

• Preferências e informações do perfil do usuário, tais como: tipo de

necessidade especial do usuário, entre elas (nenhuma, cadeirante, visual ou auditiva);

preferência de distância a ser percorrida a pé em metros; preferência por rota com troca

de ônibus (sim ou não); tipos de busca da rota (rota mais rápida, rota mais barata e rota

de menor distância a ser percorrida) e preferência por tempo de espera na parada de

ônibus em minutos;

• Dados climáticos e temporais, tais como: período do dia (manhã, tarde ou

noite) e condições climáticas (ensolarado, chuvoso ou nublado) no momento em que a

requisição está sendo realizada;

• Características das rotas, tais como: distância total a ser percorrida em

metros, preço total em reais, tempo total a ser gasto em minutos, acessibilidade (ônibus

adaptados para cadeirantes), troca de ônibus, distância a ser percorrida a pé em metros e

tempo de espera na parada em minutos;

• A função para a classificação gerada pelo algoritmo Naive Bayes.

Page 80: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

66

Após o recebimento destas informações o Classificador Contextual de Rotas

verifica se o usuário possui Deficiência Locomotiva (cadeirante), caso isso seja

verdadeiro, o Classificador descartará todas as rotas cujos ônibus não possuam

acessibilidade para pessoas cadeirantes.

As rotas ordenadas são retornadas pelo Classificador Contextual de Rotas ao

Gerenciador de Recomendações e, posteriormente, exibidas aos usuários por meio das

Interfaces do aplicativo. O usuário poderá visualizar as informações das rotas ordenadas

de acordo com suas preferências para os pontos de origem e destino informados e

escolher a mais interessante para si.

As rotas exibidas pelo RecRoute possuem vários parâmetros visuais, a saber:

pontos geográficos da origem, destino e localização atual do usuário, dados geográficos

das paradas de origem, destino e troca de ônibus (caso haja), trechos que os ônibus

deverão percorrer, trechos percorridos a pé pelo usuário, preço de cada passagem de

ônibus, entre outros. Outros dados textuais também poderão ser observados: a distância

a ser percorrida, o custo de tempo total da viagem, a distância total a ser percorrida a pé

e outros.

A Interface Móvel do RecRoute foi desenvolvida utilizando a plataforma

Android10, em Java11. Já a Interface Web foi desenvolvida utilizando HTML12 e

JavaScript13, ambas usando alguns recursos da API do Google Maps. As Figuras 4.12 e

4.13, mostram as Interfaces desenvolvidas para o aplicativo RecRoute.

10

http://www.android.com/ 11

http://www.java.com/ 12 http://www.html.com/ 13 http://www.javascriptsource.com/

Page 81: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

67

Figura 4.12 – Exemplos da Interface Móvel do RecRoute

Figura 4.13 – Exemplo da Interface Web do RecRoute

Page 82: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

68

A comunicação realizada entre as Interfaces e o Gerenciador de Recomendações

é feita seguindo os princípios REST14 (Representational State Transfer), onde as

aplicações fazem requisição HTTP, contendo origem, destino e informações das

preferências do usuário, recebendo um objeto JSON15 (JavaScript Object Notation),

com as rotas ordenadas.

O feedback do usuário é considerado por meio de sua escolha entre as rotas

exibidas e tem por objetivo manter a função utilizada na classificação sempre atualizada

para os pontos de origem e destino. Logo após o usuário escolher a rota que mais se

adéque, o Gerenciador de Recomendações aciona o Módulo de Aprendizagem

informando a rota que foi escolhida entre as que foram exibidas. O Módulo de

Aprendizagem, que por sua vez localiza a função armazenada no banco, para os pontos

de origem e destino passados pelo usuário, forma registros de treinamento similares ao

exibido na Seção 5.1.1 e os processa de modo a atualizar a função.

4.4 Considerações Finais

Este capítulo apresentou a proposta e aspectos de implementação do sistema

RecRoute um aplicativo de recomendação de rotas aos passageiros de transporte público

por ônibus, sensível ao contexto. O RecRoute, diferentemente dos outros sistemas de

recomendação e/ou exibição de rotas que foram apresentados, leva em consideração

informações contextuais dos usuários envolvidos nas recomendações, tentando torná-las

mais adaptadas às necessidades dos passageiros e à situação atual do trânsito.

Outras características importantes do RecRoute são a utilização de técnicas de

Realimentação de Relevância (Seção 2.3.3) que considera o histórico do Feedback do

usuário para atualizar a função que classifica as rotas e o acesso à aplicação por meio de

muitas interfaces. A Tabela 4.1 complementa a Tabela 3.1 que foi apresentada na Seção

3.2, inserindo-se à mesma o comparativo com o aplicativo RecRoute.

14

http://rest.elkstein.org/ 15

http://www.json.org/

Page 83: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

69

Tabela 4.1 – Comparativo entre os Sistemas e o RecRoute

Sistemas

Tipo de Informações Contextuais Utilizadas

Interface de Comunicação com o Usuário

Utilização de Preferências dos

Usuários

Utilização de Informações Históricas

Domínio de Utilização

Apenas para Transporte Público por

Ônibus

OneBusAway Estáticas,

Dinâmicas e Inferidas

Móvel, Web e SMS

Não Não Sim

Bus Catcher Estáticas e Dinâmicas

Móvel Parcialmente Não Sim

Sistema de Informações de Trânsito (Hoar

2009)

Estáticas e Dinâmicas

Móvel e Web Não Não Sim

PECITAS Estáticas Móvel Parcialmente Não Não

Google Transit Estáticas Móvel e Web Não Não Não

ANTARES Estáticas Web Não Não Sim

UbibusRoute Estáticas e Dinâmicas

Móvel Parcialmente Não Sim

RecRoute Estáticas,

Dinâmicas e Inferidas

Móvel e Web Sim Sim Sim

Detalhes referentes à escolha do algoritmo de classificação Naive Bayes, dos

experimentos e os resultados alcançados com o protótipo do RecRoute serão

apresentados no próximo capítulo.

Page 84: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

70

Capítulo 5

Experimentos e Resultados

Este capítulo tem por objetivo apresentar os experimentos e resultados obtidos

com o protótipo do RecRoute. Em particular, são discutidas as razões para a escolha do

Algoritmo de Classificação Naive Bayes, dentre os apresentados na Seção 2.3.4, que é

utilizado no aplicativo e outros aspectos de implementação dos módulos da arquitetura

do sistema.

5.1 Escolha do Algoritmo de Classificação

Conforme descrito na Seção 4.2.3, que apresenta a arquitetura do aplicativo

RecRoute, funções foram criadas por meio do algoritmo Naive Bayes para auxiliar na

recomendação das rotas. Estas funções são geradas pelo processamento de um conjunto

de registros denominado conjunto de treinamento.

O Naive Bayes também é utilizado para realizar a atualização das funções, de

acordo com as escolhas do usuário entre as indicações realizadas pelo sistema. Assim,

podemos perceber que a escolha do Algoritmo de Classificação teve grande importância

no escopo deste projeto. Portanto, um experimento foi realizado com a finalidade de

comparar o desempenho dos algoritmos citados na Seção 2.3.4.

A seguir detalhamos o cenário experimental utilizado para a comparação dos

algoritmos e os resultados obtidos.

5.1.1 Descrição do Cenário Experimental

O cenário experimental adotado para a comparação do desempenho dos

algoritmos teve como principal objetivo verificar qual dos algoritmos anteriormente

descritos - C4.5 (Quinlan, 1993), Naive Bayes (Friedman, 1997), Multilayer Perceptron

(Mcculloch e Pitts, 1943) - obteria o melhor desempenho para o cenário proposto pelo

aplicativo.

Neste experimento, a implementação dos algoritmos de aprendizagem de

máquina foi realizada por meio da API da ferramenta Weka (Waikato, 2010). O Weka

Page 85: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

71

utiliza um arquivo no formato ARFF (Attribute-Relation File Format) que contém um

conjunto de registros que são utilizados na tarefa de aprendizagem. No caso deste

trabalho este arquivo consistiu do conjunto de treinamento formado por informações

contextuais dos passageiros, do ambiente e das rotas de ônibus, citadas na Seção 4.2.2.

O arquivo ARFF foi formado por registros onde cada linha representava a

comparação entre duas rotas, de acordo com as preferências dos usuários e dados

climáticos e temporais. A Figura 5.1 ilustra o formato dos registros contidos no arquivo

ARFF, que consistem de cinco partes:

• A primeira representa as informações contextuais dos usuários, que incluem

necessidades especiais (caso exista), preferência por distância a ser percorrida a pé em

metros, preferência por efetuar troca de ônibus, tipo de busca da rota (menor distância,

menor tempo ou menor preço) e preferência por tempo de espera na parada em minutos;

• A segunda representa as informações contextuais do ambiente climático e

temporal no momento da requisição da rota;

• A terceira e quarta partes contemplam as informações das duas rotas sendo

comparadas: distância total a ser percorrida pela rota em metros, preço total da

passagem em reais, tempo total de deslocamento em minutos, rota com troca de ônibus,

acessibilidade nos ônibus, distância a ser percorrida a pé e tempo de espera na parada

em minutos;

• A última parte dos registros corresponde à escolha feita pelo usuário,

considerando suas preferências, o cenário e as características das duas rotas exibidas. Na

Figura 5.1 verificamos que a rota escolhida foi a da segunda posição, no caso a rota 2.

Figura 5.1 – Ilustração de um Registro do Arquivo ARFF

Para a obtenção dos registros utilizados para o treinamento dos algoritmos, foi

desenvolvida uma página Web, onde o usuário visualizava um ambiente (condições de

tempo e clima) e características de duas rotas geradas aleatoriamente. Em seguida o

usuário preenchia suas preferências e, baseado nestas informações, escolhia uma das

Page 86: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

72

duas rotas exibidas anteriormente, gerando assim um registro para o conjunto de

treinamento. A comparação era feita sempre entre duas rotas.

O acesso à página foi divulgado e disponibilizado no período de duas semanas,

entre os alunos do Centro de Informática da Universidade Federal de Pernambuco, e por

outros meios, tais como: Twitter e Facebook. Neste período foram coletados 742

registros16.

Após a aquisição dos registros com as informações contextuais dos usuários,

foram definidas algumas métricas de avaliação para o experimento, tendo como

parâmetros o cenário de uso do aplicativo RecRoute:

• Porcentagem de acerto nas classificações: A porcentagem de acerto é

fornecida pelo framework Weka após realizar o treinamento dos registros contidos no

arquivo ARFF, e corresponde ao grau de eficiência do algoritmo testado em predizer de

maneira correta a rota preferida pelo usuário;

• Tempo total para a construção da função: Esta medida diz respeito ao

tempo total gasto para que o algoritmo construa a função que é utilizada na classificação

das rotas;

• Tempo necessário para a classificação de 1 registro: Para indicar as rotas

aos usuários o RecRoute atribui pontuações a partir da classificação, realizada pela

função, de registros com estrutura similar ao do arquivo ARFF. Então resolvemos medir

qual o tempo necessário para a classificação de cada registro.

Na execução dos experimentos foi utilizando um computador com processador

Intel® Core™ 2 Duo Processor P7550 (3M Cache, 2.26 GHz, 1066 MHz FSB), 4 GB

de memória RAM, sistema operacional Windows 8 x64 e o Java SE na versão 1.7.0_09

x64.

5.1.2 Resultados Obtidos

Os resultados obtidos durante os experimentos são apresentados na Tabela 5.1.

Podemos observar que os algoritmos comparados tiveram desempenho muito

semelhante em alguns aspectos como, por exemplo, a porcentagem de acerto durante as

classificações que mostrou uma pequena vantagem para o Naive Bayes.

16 http://ubibus.cin.ufpe.br/recroute/Registros_Treinamento_RecRoute.arff

Page 87: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

73

Quanto ao tempo necessário para a construção da função, notamos que o pior

desempenho foi obtido pelo algoritmo Multilayer Perceptron, com resultado bastante

acima dos demais. Quanto ao tempo necessário para a classificação de 1 registro os

algoritmos obtiveram um resultado similar com vantagem para o Multilayer Perceptron.

Tabela 5.1 – Resultados da Comparação de Algoritmos

Atributo / Algoritmo (C4.5) Multilayer

Perceptron

Naive Bayes

Porcentagem de acerto nas classificações 82,34 84,77 85,25

Tempo necessário para construir a função. (Em segundos)

0.05 9 0.01

Tempo necessário para classificação de 1 registro. (Em segundos)

0.0015 0.002 0.006

De acordo com os dados apresentados e considerando o caso exclusivo do

sistema de recomendação proposto, podemos concluir que o algoritmo Naive Bayes

obteve o melhor desempenho dentre os comparados, pois obteve melhor taxa de acerto

nas classificações e menor tempo para a geração da função que classifica as rotas.

Apesar de apresentar o pior tempo para a classificação de registros individuais a

diferença para os outros algoritmos (em segundos) é considerada pequena. Assim,

decidimos utilizar o Classificador Ingênuo de Bayes (Naive Bayes) na implementação

do RecRoute.

5.2 Experimentos

Esta seção apresenta os experimentos realizados para avaliar o RecRoute. Ao

longo desta seção abordaremos os seguintes aspectos: objetivos, elaboração,

configuração do cenário experimental, execução do experimento e os resultados

alcançados.

5.2.1 Objetivos do Experimento

A experimentação realizada com o RecRoute teve os seguintes objetivos:

1. Avaliar se o processo de recomendação é realizado como esperado, ou seja,

se o Gerenciador de Recomendações realmente coordena e controla as etapas do

processo de recomendação, se o Módulo de Aprendizagem realiza suas atribuições de

treinamento a contento, e se o módulo de Classificador Contextual de Rotas classifica

adequadamente as rotas de acordo com as preferências dos usuários;

Page 88: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

74

2. Avaliar se as rotas exibidas como resultado final da recomendação,

realmente se adéquam às necessidades dos usuários e verificar a posição da rota

escolhida pelo usuário dentre a lista de rotas exibidas pelo RecRoute;

3. Colher informações para possíveis melhorias futuras.

5.2.2 Elaboração do Experimento

A elaboração do experimento consistiu de dois passos. O primeiro passo foi a

implementação de dois protótipos de interfaces (Móvel e Web), por meio das quais o

experimento foi realizado. Através dessas, o usuário pôde acessar o sistema, informar

parâmetros de consulta e fazer requisições por rotas para os pontos de origem e destino

já pré-estabelecidos.

O segundo passo foi a construção de dois cenários experimentais, considerando

os pontos de origem e destino estabelecidos. Haja vista que o serviço Gerador de Rotas

do Middleware do Ubibus ainda está em fase de desenvolvimento, as rotas para os

cenários experimentais foram geradas com dados reais armazenados na base do Ubibus

(e.g pontos de paradas e trechos a serem percorridos) e outras informações simuladas

(e.g tempo de espera na parada). Cada cenário apresenta rotas distintas para pontos de

origem e destino diferentes, conforme descrito a seguir.

5.2.3 Configuração e Execução dos Cenários Experimentais

Para a configuração dos cenários experimentais foram escolhidos pontos de

origem, destino e linhas de ônibus reais, constantes da base de dados do projeto Ubibus.

Estes elementos deveriam ser de fácil identificação pelos participantes do experimento.

Cada cenário experimental consiste de um ponto de origem e destino, condições

climáticas e temporais para a requisição, a posição geográfica do usuário e um conjunto

de rotas iniciais. Os cenários experimentais estão representados nas Tabelas 5.2 e 5.3,

conforme informações contextuais descritas na Seção 4.2.2, para os cenários 1 e 2

respectivamente.

Cenário Experimental 1

Ponto de origem e localização do usuário: Hiper Bompreço.

Ponto de destino: Hospital São Luiz.

Condições climáticas e temporais: ensolarado, manhã.

Page 89: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

75

Tabela 5.2 – Rotas do Cenário Experimental 1

Característica das Rotas Rotas Rota 1 Rota 2 Rota 3 Rota 4

Distância total 6000 m 4800 m 5000 m 5000 m Preço R$ 2,30 R$ 2,30 R$ 2,30 R$ 2,30

Tempo total 60 min 42 min 55 min 30 min Rota com troca de ônibus Sim Não Não Não Acessibilidade dos ônibus Não Sim Sim Sim Distância percorrida a pé 520 m 150 m 520 m 480 m

Tempo de espera na parada 20 min 15 min 30 min 5 min

Cenário Experimental 2

Ponto de origem e localização do usuário: Terminal de Integração de Ônibus.

Ponto de destino: Hospital de Olhos da Paraíba.

Condições climáticas e temporais: chuvoso, noite.

Tabela 5.3 – Rotas do Cenário Experimental 2

Característica das Rotas Rotas Rota 1 Rota 2 Rota 3

Distância total 2350 m 2300 m 2550 m Preço R$ 2,30 R$ 2,30 R$ 2,30

Tempo total 42 min 22 min 33 min Rota com troca de ônibus Não Não Não Acessibilidade dos ônibus Sim Não Sim Distância percorrida a pé 400 m 90 m 450 m

Tempo de espera na parada 30 min 10 min 20 min

O experimento foi executado por um grupo de 20 participantes diferentes e

voluntários, moradores da cidade de João Pessoa e usuários do transporte público

coletivo por ônibus. Os experimentos com o RecRoute foram realizados

individualmente com cada voluntário de acordo com os cenários experimentais

propostos. No início do experimento, foram explicados a cada participante os objetivos,

as características do RecRoute, como utilizá-lo, os cenários experimentais propostos e o

significado de cada informação contextual (de acordo com o que foi discutido na Seção

4.2.2). Também solicitamos que os participantes fornecessem suas preferências para o

sistema.

O Apêndice C mostra as preferências escolhidas por cada participante do

experimento para os cenários experimentais 1 e 2 propostos.

Durante a execução dos experimentos, o participante executava os cenários

experimentais e, após a exibição das rotas sugeridas pelo RecRoute, o participante as

analisava e escolhia a melhor rota para o seu trajeto de acordo com os cenários

propostos.

Page 90: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

76

5.2.4 Resultados

Os participantes foram indagados de forma a responder os itens propostos nos

objetivos dos experimentos. As respostas foram coletadas e analisadas para os dois

cenários experimentais e serão mostradas a seguir.

Quanto à qualidade e correção das recomendações realizadas pelo RecRoute,

perguntamos se a rota indicada na primeira posição da lista se adequava às necessidades

e se dentre as demais da lista esta seria a escolhida. A porcentagem de acertos para as

rotas exibidas na primeira posição do ordenamento foi de 75% para o cenário

experimental 1 e 90 % para o cenário experimental 2. Esta diferença entre os cenários

talvez possa estar relacionada à quantidade de rotas que era menor para o cenário

experimental 2. Nos demais casos a rota escolhida pelos participantes estava listada

como a segunda opção e foi escolhida pelos participantes por ter menor distância a ser

percorrida a pé em relação à rota listada em primeira opção.

As rotas sugeridas pelo aplicativo RecRoute como 3ª e 4ª opções, não foram

escolhidas em nenhum momento pelos participantes. Deste modo temos que as rotas

escolhidas sempre estavam na 1ª ou 2ª posição do ordenamento. A Figura 5.2 ilustra a

porcentagem de acertos em cada cenário experimental.

Figura 5.2 – Acertos nas Recomendações de Rotas x Cenários Experimentais

Algumas melhorias foram propostas pelos participantes do experimento,

conforme apresentado abaixo:

1. Adaptar a interface para deficientes visuais. A inclusão de alertas sonoros e

vibratórios poderia ser uma boa alternativa, bem como reconhecimento de voz;

75%

90%

25%

10%

0%

20%

40%

60%

80%

100%

Cenário Experimental 1 Cenário Experimental 2

Porcentagem de Acertos nos

Cenários Experimentais

Acertos em 1ª Opção

Acertos em 2ª Opção

Page 91: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

77

2. Acrescentar melhorias nas interfaces existentes como, por exemplo, ajuste

de botões e ícones;

3. Incluir outras informações que poderiam influenciar na ordenação das rotas

e nas preferências dos usuários com relação às rotas mostradas. Algumas informações

sugeridas foram: lotação do ônibus, risco de perigo nos percursos a pé, no ônibus e

também nas paradas onde o usuário irá desenvolver alguma ação, tais como: embarque e

desembarque no ônibus e troca de ônibus. Também foi sugerido que o passageiro possa

informar se é estudante ou possui gratuidade de passagem, ou ainda, se está carregando

consigo alguma carga pesada. Este tipo de informação poderia influenciar na ordenação

das rotas;

4. Considerar o contexto do usuário para a exibição do caminho a ser

percorrido a pé, mostrando caminhos com maior acessibilidade no caso de cadeirantes e

deficientes visuais;

5. Desenvolver versões para outros sistemas operacionais de dispositivos

móveis;

6. Emitir sinais sonoros e/ou vibratórios quando o ônibus estiver próximo das

paradas que demandem alguma ação do usuário como, por exemplo, embarque, troca de

ônibus e desembarque;

7. Monitorar o passageiro quando da escolha da rota, mostrando a localização

atualizada do ônibus e emitindo sinais sonoros e vibrantes quando acontecer qualquer

incidente que altere as características da rota escolhida pelo passageiro.

5.3 Considerações Finais

Neste capítulo, apresentamos como foi realizada a escolha do algoritmo de

classificação Naive Bayes, que foi utilizado pelo RecRoute. Também descrevemos o

experimento envolvendo o aplicativo RecRoute. Foram apresentados os objetivos,

preparação, execução, participantes, procedimentos e resultados dos cenários

experimentais. Participaram da experimentação 20 usuários do transporte público da

cidade de João Pessoa, que utilizaram o protótipo do RecRoute em dois cenários

experimentais previamente elaborados.

Os resultados dos experimentos indicaram que o RecRoute foi bem aceito. Além

disso, pudemos verificar que o funcionamento e a comunicação entre os módulos da

arquitetura do aplicativo foram executadas com sucesso e que as rotas recomendadas

Page 92: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

78

foram, na maioria dos casos, aprovadas pelos usuários. Sendo assim, podemos dizer que

o RecRoute realizou recomendações de rotas de ônibus sensíveis ao contexto dos

usuários de forma correta.

No entanto, poucas rotas foram incluídas para os cenários experimentais, devido à

ausência do serviço Gerador de Rotas, que está em fase de desenvolvimento e as poucas

linhas de ônibus inclusas na base de dados do projeto Ubibus.

No próximo capítulo apresentamos as conclusões deste trabalho e sugestões de

trabalhos futuros.

Page 93: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

79

Capítulo 6

Conclusão e Trabalhos Futuros

Atualmente os Sistemas Inteligentes de Transporte se transformaram em uma

alternativa atrativa e muito viável para solucionar alguns problemas e superar desafios

na área de transporte das grandes cidades. Essa evolução se deve em parte ao acelerado

crescimento da Tecnologia da Informação e Comunicação.

Tal evolução contribui para a crescente utilização de sistemas computacionais

em praticamente todas as áreas da atividade humana. Sendo assim, há uma ascendente

procura por sistemas dinâmicos e sensíveis ao contexto. A utilização deste tipo de

aplicação no provimento de informações aos usuários de transporte público urbano pode

proporcionar maior atração e fidelização ao serviço.

Este trabalho teve por objetivo apresentar o RecRoute um sistema de

recomendação de rotas para os usuários do transporte público por ônibus, capaz de obter

e/ou processar informações contextuais dinâmicas e estáticas, quer seja dos usuários,

linhas de ônibus, clima, tempo e trânsito, fornecendo assim uma recomendação mais

adequada à realidade dos passageiros.

A solução proposta difere de outros trabalhos relacionados pelo uso de

informações contextuais dinâmicas de fontes variadas, por utilizar diferentes

dispositivos para permitir o uso ubíquo e sensível ao contexto e por ser voltado aos

passageiros de transporte público.

6.1 Contribuições

Deste trabalho de pesquisa resultaram as seguintes contribuições:

1. Projeto e implementação do RecRoute: Projeto e implementação de um

Sistema de Recomendação de rotas de transporte público sensível ao contexto dos

usuários e aos aspectos relacionados ao trânsito, este último oriundo de serviços

disponíveis no Middleware do projeto Ubibus;

2. Análise de informações contextuais em SIU: Por meio de um trabalho de

revisão sistemática (Tito et. al., 2012) foram analisadas como as informações

Page 94: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

80

contextuais, em seus mais diversos tipos, eram utilizadas até o momento em Sistemas de

Informação ao Usuário do transporte público por ônibus. Estas informações serviram de

base para a construção do RecRoute e podem subsidiar outros trabalhos na área.

6.2 Limitações do Trabalho

Conforme descrito na arquitetura do RecRoute, é prevista a utilização de

serviços contidos no Middleware do projeto Ubibus. Porém para o protótipo de

experimentação não foi possível a utilização de alguns destes serviços como, por

exemplo, o Gerador de Rotas, devido ao atraso na implementação dos mesmos. Então,

os dados que deveriam ser fornecidos por estes serviços foram simulados para a

experimentação.

A base de dados do projeto Ubibus utilizada pelo RecRoute tem apenas 10 linhas

de ônibus cadastradas. Isso gerou pouca quantidade e variedade de rotas para os

cenários experimentais. Apesar de o projeto ter os dados para a inserção de mais linhas

de ônibus da cidade de João Pessoa, isso ainda não foi realizado, pois os dados precisam

de tratamento prévio para introdução na base de dados, o que pode ser demorado caso

não se tenha um conhecimento prévio dos itinerários dos ônibus da cidade.

6.3 Trabalhos Futuros

Os trabalhos futuros desta pesquisa estão ligados às observações feitas pelos

participantes do experimento e a uma melhor experimentação, tendo como objetivo o

aprimoramento do aplicativo RecRoute.

1. Realizar a integração com os outros serviços descritos na arquitetura do

Middleware do projeto Ubibus como, por exemplo, Gerador de Rotas. Assim o

RecRoute ficará mais dinâmico e poderá deixar de simular algumas informações

necessárias ao seu funcionamento;

2. Melhorar a interface móvel incluindo sinais sonoros, vibratórios e

reconhecimento de voz. Estas modificações possibilitarão uma melhor adaptação para

deficientes visuais e tornarão o RecRoute mais atraente aos passageiros, os avisando

quando o ônibus estiver próximo das paradas que demandem alguma ação do usuário

como, por exemplo, embarque, troca de ônibus e desembarque. Tais modificações

também devem considerar aspectos de usabilidade para aplicações móveis;

Page 95: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

81

3. Implementar ações que levem em consideração outras informações

contextuais que poderiam influenciar na ordenação das rotas e nas preferências dos

usuários com relação às rotas mostradas como, por exemplo, lotação do ônibus, risco de

perigo nos percursos a pé, no ônibus e também nas paradas;

4. Desenvolver versões para outros sistemas operacionais de dispositivos

móveis, além do Android, tais como: IOS e Windows;

5. Possibilitar a atualização das condições dos ônibus e da rota escolhida pelo

usuário, por meio do monitoramento dos veículos e de informações sobre a situação

atual do trânsito;

6. Incluir tratamento de calibragem das informações contextuais utilizadas

pelo aplicativo;

7. Avaliar outros algoritmos que possam melhorar as recomendações

fornecidas pelo RecRoute;

8. Incluir recomendação de rotas turísticas, passando por vários pontos

turísticos da cidade.

Page 96: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

82

Referências

Adomavicius, G. e Tuzhilin, A. (2005). Toward the next generation of recommender

systems: A survey of the state-of-the-art and possible extensions. IEEE Trans. on

Knowl. and Data Eng., 17: pp. 734–749.

Adomavicius, G. e Tuzhilin, A. (2008). Context-Aware Recommender Systems. In

Conference on Recommender Systems. ACM 978-1-60558-093-7/08/10, pp.335-336.

Alsmadi, M. K. S., Omar, K B. e Shahrul, A. N. (2009). Back propagation algorithm:

The best algorithm the multi-layer perceptron algorithm. IJCSNS International

Journal of Computer Science and Network Security, v.9, n.4: pp. 378–383.

An, S.-H., Lee, B.-H. e Shin, D.-R. (2011). A Survey of Intelligent Transportation

Systems. In 3th International Conference on Communication Systems and Networks

(CICSyN), Indonesia, pp. 332-337.

Araújo, R. B. (2003). “Computação Ubíqua: Princípios, Tecnologias e Desafios”. In

XXI Simpósio Brasileiro de Redes de Computadores, Natal, Brasil, pp. 45-115.

Aroyo, L., Bellekens, P., Bjorkman, M., Houben, G. J., Akkermans, P. e Kaptein, A.

(2007). Sensee Framework for Personalized Access to TV Content. In Interactive

TV: A Shared Experience, Amsterdam, Holanda, pp.156-165. Springer. Heidelberg.

Baltrunas, L. (2008). Exploiting Contextual Information in Recommender Systems. In

ACM Conference on Recommender Systems, pp. 295-298.

Baltrunas, L. (2011). “Context-Aware Collaborative Filtering Recommender Systems”.

172 f. Tese (Phd. em Ciências da Computação), Universidade de Bolzano. Bolzano,

Itália.

Bastos, R. e Jaques, P. (2010). Antares: Um sistema web de consulta de rotas de ônibus

como serviço público. Revista Brasileira de Computação Aplicada, vol. 2, pp. 41-56.

Bazire, M. e Brezillon, P. (2005). “Understanding Context Before Using It”. In 5th

International and Interdisciplinary Conference, CONTEXT-05, p.29-40.

Bertolotto, M., O’Hare, G., Strahan, R., Brophy, A., Martin, A. e McLoughlin, E.

(2002). Bus catcher: a context sensitive prototype system for public transportation

Page 97: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

83

users. In Proc. 2th International Workshop on Web and Wireless Geographical

Information Systems (W2GIS), Singapore, pp. 64-72.

Blanco-Fernandez, Y., Pazos-Arias, J. J., Gil-Solla, A., Ramos-Cabrer, M. e Lopes-

Nores, M. (2006). AVATAR: An Improved Solution for Personalized TV based on

Semantic Inference. In IEEE Transactions on Consumer Electronics, v.52, n.1, pp.

223-231.

Blanco-Fernandez, Y. (2007). “Propuesta Metodológica para el Razonamento

Semántico en Sistemas de Recomendación Personalizada y Automática”. Aplicación

Al Caso de Contenidos Audiovisuales. 320f. Tese (Doutorado) - Departamento de

Enxeneria Telemática E.T.S.E. de Telecomunicación, Universidade de Vigo.

Blanco-Fernandez, Y., Lopes-Nores, M., Pazos-Arias, J. J., Gil-Solla, A. e Ramos-

Cabrer, M. (2010). Exploiting Digital TV User’s Preferences in a Tourism

Recommender System base don Semantic Reasoning. In IEEE Transactions on

Consumer Electronics, v.56, n.2, pp. 904-911.

Bifet, A., Holmes, G., Pfahringer, B., Kranen, P., Kremer, H., Jansen T. e Seidl, T.

(2010). MOA: Massive Online Analysis, a Framework for Stream Classifiation and

Clustering. In Journal of Machine Learning Research - Proceedings Track, 11 pp.

44-50.

Brézillon, P. (1999). Context in Artificial Intelligence: IA Survey of the Literature.

Computer & Artificial Intelligence 18, pp. 321-340.

Brown, P. J. (1995). The Stick-e Document: A Framework for Creating Context-Aware

Applications. Laxenburg, Austria, pp. 259-272.

Brown, P. J., Bovey, J. D. e Chen, X. (1997). Context-aware Applications: From the

Laboratory to the Marketplace. IEEE Personal Communications 4 (5), pp. 58-64.

Burke, R. (2002). Hybrid Recommender Systems: Survey and Experiments. User

Modelling and User-Adapted Interaction, pp. 331-370.

Caulfield, B. e O’Mahony, M. (2007). An examination of the public transport

information requirements of users. Intelligent Transportation Systems, IEEE

Transactions, vol.8, no.1, pp. 21-30.

Page 98: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

84

Chen, H. (2003). An Intelligent Broker for Context-Aware Systems. Baltimore County,

University of Maryland.

Cheng, J. e Greiner, R. (2001). Learning Bayesian Belief Network Classifiers:

Algorithms and System. In 14th Biennial Conference of the Canadian Society for

Computational Studies of Intelligence, v.2056, pp.141-151.

Chorianopoulos, K. (2008). Personalized and mobile digital TV applications.

Multimedia Tools and Applications. In Kluwer Academic Publishers, v.35, n.2, pp. 1-

10.

Coffey, C., Pozdnoukhov, A. e Calabrese, F. (2011). Time of arrival predictability

horizons for public bus routes. In 4th ACM SIGSPATIAL International Workshop on

Computational Transportation Science, CTS, New York, USA, pp. 1-5.

Cotter, P. e Smyth, B. (2000). PTV: Intelligent Personalized TV Guides. In 12th

Innovative Applications of Artificial Intelligence Conference. Austin, Texas, USA,

pp. 957-964.

Cutolo, F. A. (2003). Diretrizes para sistema de informação ao usuário. In 3th

Seminário Internacional PROMOTEO, Porto Alegre, RS, Brasil, 2003.

Dey, A. K. e Abowd, G. D. (2001). A Conceptual Framework and a Toolkit for

Supporting the Rapid Prototyping of Context-Aware Applications. In Human-

Computer Interaction (HCI) Journal, 16 (2-4), pp. 97-166.

Dourish, P. (2004). What We Talk about When We Talk about Context. Personal and

Ubiquitous Computing 8 (1), pp. 19-30.

Ferris, B., Watkins, K. e Borning, A. (2009). “Onebusaway: A Transit Traveller

Information System,” in Mobicase 2009. San Diego, USA, pp. 92–106.

Ferris, B., Watkins, K. e Borning, A. (2010) .Location-Aware Tools for Improving

Public Transit Usability. IEEE Pervasive Computing, v. 9 n. 1, pp.13-19.

Figueiredo, L. M. B. (2005). “Sistemas Inteligentes de Transporte”. 277 f. Tese

(Doutorado em Engenharia Electrotécnica e de Computadores) - Departamento de

Engenharia Electrotécnica e de Computadores, Universidade do Porto, Portugal.

Page 99: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

85

Franklin, D. e Flaschbart, J. (1998). All Gadget and no Representation Makes Jack a

Dull Environment. Spring Symposium on Intelligent Environments. Menlo Park, CA,

pp. 155-160.

Friedman, D. G. (1997). Machine Learning 29, pp. 131-163.

Gartner. (2011) “Gartner Says Sales of Mobile Devices in Second Quarter of 2011

Grew 16.5 Percent Year-on-Year”; Smartphone Sales Grew 74 Percent, 2011.

Disponível em: <http://www.gartner.com/it/page.jsp?id=1764714>. Acessado em:

Dezembro/2012.

Ghosh, S. e Lee, T. S. (2010). “Intelligent Transportation Systems: Smart and Green

Infrastructure Design”. [Book Review].

Goldberg, E. D. (1989). Genetic Algorithms in Search, Optimization and Machine

Learning. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1st

edition.

Goldberg, D., Nichols, D., Oki B. M. e Terry, D. (1992). Using Collaborative Filtering

to Weave an Information Tapestry. In Communications of The ACM, v.35, n.12.

Gómez, A., Diaz, G. e Bousetta, K. (2009). ITS Forecast: GIS Integration with Active

Sensory System. In Information Infrastructure Symposium, GlJS'09, pp. 1-6.

Goularte, R. (2003). “Personalização e adaptação de conteúdo baseadas em contexto

para TV Interativa”. 262 f. Tese (Doutorado) - Instituto de Ciências Matemáticas e

de Computação, Universidade de São Paulo, São Carlos, Brasil.

Han, J. e Kamber, M. (2006). “Data Mining: Concepts and Techniques”. Elsevier.

Herlocker, J. L., Konstan, J. A., Terveen, L. G. e Riedl, J. T. (2004). Evaluating

Collaborative Filtering Recommender Systems. In ACM Transactions on Information

Systems, v.22, n.1, p.5-53.

Hoar, R. (2010). A personalized web based public transit information system with user

feedback. In 13th International IEEE Conference on Intelligent Transportation

Systems (ITSC), Ilha da Madeira, Portugal, pp. 1807-1812.

Ingargiola, G. (1996). Building Classification Models: ID3 and C4.5. Disponível em:

http://www.cis.temple.edu/~ingargio/cis587/readings/id3-c45.html> Acesso em 07

ago. 2012.

Page 100: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

86

IPEA. (2011). “Sistema de Indicadores de Percepsão Social”. Mobilidade Urbana.

Kitchenham, B. A. (2007). “Guidelines for Performing Systematic Literature Reviews

in Software Engineering”. Technical report, EBSE-2007-001, UK.

Kumar, S., Vanajakshi, L. e Subramanian, S. (2011). A model based approach to predict

stream travel time using public transit as probes. In Intelligent Vehicles Symposium

(IV), Baden-Baden, Alemanha, pp. 101-106.

Li, J.-q., Zhou, K., Zhang, L. e Zhang, W. B. (2010). “A Multimodal Trip Planning

System Incorporating the Park-and-Ride Mode and Real-time Traffic / Transit

Information”. Design, pp. 1–9.

Lima, V., Magalhães, F., Tito, A. O., Santos, R., Ristar, A., Santos, L., Vieira, V. e

Salgado, A. C. (2012). UbibusRoute : Um Sistema de Identificação e Sugestão de

Rotas de Ônibus Baseado em Informações de Redes Sociais. In 8th Simpósio

Brasileiro de Sistemas de Informação, São Paulo, Brasil. pp. 516-527.

Mcculloch, W. S. e Pitts, W. (1943). A Logical Calculus of the Ideas Immanent in

Nervous Activity. Bulletin of Mathematical Biophysics, n.5, p.115-133.

Mitchell, T. (1997). Machine Learning. New York: McGraw-Hill.

Osório, F. S. e Vieira, R. (1999). Sistemas Híbridos Inteligentes. In ENIA’99 –

Encontro Nacional de Inteligência Artificial (Tutorial). Congresso da SBC’99. Rio

de Janeiro, Brasil.

Pilon, J. A. (2009). “Sistema de Informação ao Usuário do Transporte Coletivo por

Ônibus na Cidade de Vitória-ES”. 125 f. Dissertação (Pós-Graduação em Engenharia

de Produção) - Universidade Tecnológica Federal do Paraná – Ponta Grossa-PR.

Quinlan, R. (1993). “C4.5: Programs for Machine Learning”, Morgan Kaufmann

Publishers, San Mateo, USA.

Reategui, E. B. e Cazella, S. C. (2005). “Sistemas de Recomendação”, Unisinos – São

Leopoldo /RS.

Resnick, P. e Varian, H. R. (1997). Recommender Systems. Communications of the

ACM, New York, v.40, n.3, pp. 55-58.

Schein, A. L. (2003). “Sistema de Informação ao usuário como estratégia de fidelização

e atração”. 148 f. Dissertação (Mestre em Engenharia de Produção) - Departamento

Page 101: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

87

de Engenharia de Produção, Universidade Federal do Rio Grande do Sul, Porto

Alegre -RS.

Schilit, B., Adams, N. e Want, R. (1994). Context-Aware Computing Applications.

International Workshop on Mobile Computing Systems and Applications. pp. 85-90.

Sommverville, I. (2007). Engenharia de Software. 8. Ed. São Paulo: Addison-Wesley.

Silva, D. M. (2000). “Sistemas Inteligentes no transporte público por ônibus”. 143 f.

Dissertação (Mestre em Engenharia de Produção) - Departamento de Engenharia de

Produção, Universidade Federal do Rio Grande do Sul, Porto Alegre, Rio Grande do

Sul, Brasil.

Silva, F. S. (2011). “Personaltvware: Uma Infraestrutura de Suporte a Sistemas De

Recomendação Sensíveis ao Contexto para Tv Digital Personalizada”. 207f. Tese

(Doutorado em Engenharia de Computação) - Departamento de Engenharia de

Computação e Sistemas Digitais, Escola Politécnica da Universidade de São Paulo,

São Paulo, Brasil.

Sussman, J. (2005). Perspectives on Intelligent Transportation Systems. New York,

USA: Springer.

Thomas, D. (2001). Expanding Infrastructure: the ITS option. In 20 th South African

Transport Conference - Meeting the Transport Challengesin Southern Africa,

Pretoria. África do Sul, pp. 1-12.

Tito, A. O., Borgiani, F. S. M., Santos, R., Tedesco, P. e Salgado, A. C. (2012).

Contextual Information in User information Systems in Public Transportation: A

Systematic Review. In 15th IEEE Intelligent Transportation Systems Conference

(ITSC 2012), Alaska, USA. pp. 361-366.

Tumas, G. e Ricci, F. (2009). Personalized mobile city transport advisory system. In

Information and Communication Technologies in Tourism 2009, Amsterdam,

Holanda, pp. 173-183.

Vieira, V. (2008) “CEManTIKA: A Domain-Independent Framework for Designing

Context-Sensitive Systems”. 2008. 175 f. D.Sc. Tese (Doutorado em Ciência da

Computação) – Centro de Informática, Universidade Federal de Pernambuco, Recife,

Brasil.

Page 102: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

88

Vieira, V., Tedesco, P. e Salgado, A. C. (2009). Modelos e Processos para o

Desenvolvimento de Sistemas Sensíveis ao Contexto. Jornadas de Atualização em

Informática (JAI'09). Porto Alegre, RS, Brasil, pp. 381-431.

Vieira, V., Caldas, L. e Salgado, A. C. (2011). Towards an Ubiquitous and Context

Sensitive Public Transportation System. In 4th International Conference on Ubi-

media Computing, São Paulo, SP, Brasil.

Vozalis, E. e Margaritis, K. G. (2003). Analysis of Recommender Systems Algorithms.

In 6th Hellenic European Conference on Computer Mathematics-HERCMA, Athens,

Greece, pp.732-745.

Waikato (2010). Weka 3 – Machine Learning Software in Java. Disponível no site da

University of Waikato. URL: http://www.cs.waikato.ac.nz/ml/weka.

Ward, A., Jones, A. e Hopper, A. (1997). A New Location Technique for the Active

Office. IEEE Personal Communications 4 (5), pp. 42-47.

Weigang, L., Yamashita, Y., Silva, O. Q., XiJun, D., Prazeres, M. e Oliveira, D. (2001).

Implementação do Sistema de Mapeamento de uma Linha de Ônibus para um

Sistema de Transporte Inteligente. Anais do XXI Congresso da Sociedade Brasileira

de Computação, Seminário Integrado de Software e Hardware (SEMISH), Fortaleza,

Brasil, pp. 72-85.

Weiser, M. (1991). “The Computer for the 21st Century”. Scientific American, v.265,

n.3, p.94-104, reprinted In IEEE Pervasive Computing, Jan-Mar. 2002, p.19-25.

Yu, Z e Zhou, X. (2004). TV3P: an adaptive assistant for personalized TV. In IEEE

Transactions on Consumer Electronics, v.50, Issue 1, 2004, pp.393-399.

Zavergiu, R. (1996). Intelligent Transportation Systems – An Approach to Benefit-Cost

Studies. St. Lambert, Canada: Transportation Development Centre – Transport

Canada.

Zhang, J., Wang, F., Wang, K., Lin, W., Xu, X. e Chen, C. (2011). Data-Driven

Intelligent Transportation Systems: A Survey. IEEE Transactions on Intelligent

Transportation Systems, pp. 1624-1639.

Page 103: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

89

Ziesemer, A. C. A. e Oliveira, J. B. S. (2011). How to Know What Do You Want? A

Survey of Recommender Systems and the Next Generation. In VIII Simpósio

Brasileiro de Sistemas Colaborativos, Paraty, Rio de Janeiro, Brasil.

Zimmermann, A., Lorenz, A. e Oppermann, R. (2007). An Operational Definition of

Context. In Proc. of the 6th International and Interdisciplinary Conference on

Modeling and Using Context, pp. 558-571, Roskilde, Denmark.

Page 104: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

90

Apêndice A

Descrição dos Casos de Uso

Caso de Uso: 01 Manter Perfil

Ator Usuário.

Descrição

O usuário pode (Criar, Alterar ou Excluir) um perfil no aplicativo RecRoute. No ato de criação informações como: nome, login, senha, e-mail, data de cadastro, data de último acesso, deficiência (caso possua) e preferências do usuário, tais como: distância que gostaria de percorrer a pé, sua preferência por troca de ônibus, o tipo de busca preferencial de sua rota (rota mais rápida, rota mais barata, ou rota com menor distância a ser percorrida) e o tempo que gostaria de esperar na parada são requeridas pela aplicação. Estas informações serão persistidas na base de dados. Para todas as ações, mensagens e alertas devem guiar o usuário em suas ações. No ato de exclusão as informações do usuário serão excluídas da base de dados.

Evento iniciador Por meio da interface do sistema de recomendação o usuário cria seu perfil.

Pré-condições Ter acessado o aplicativo.

Pós-condições Ter a ação escolhida realizada em seu perfil.

Extensões Não há extensões.

Inclusões Não há inclusões.

Caso de Uso: 02 Realizar Login

Ator Usuário.

Descrição O usuário realiza login na aplicação.

Evento iniciador Por meio da interface do sistema de recomendação o usuário realiza login.

Pré-condições Ter perfil criado no RecRoute.

Pós-condições Estar devidamente identificado pela aplicação.

Page 105: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

91

Extensões Não há extensões.

Inclusões Caso de uso 12.

Caso de Uso: 03 Ajustar Parâmetros de Consulta

Ator Usuário.

Descrição

O usuário pode ajustar os parâmetros de consulta para determinada requisição de rotas. Ao realizar esta ação o aplicativo RecRoute irá considerar os novos parâmetros passados apenas para a próxima requisição. Logo após o aplicativo voltará a considerar as informações do usuário salvas no banco de dados

Evento iniciador Por meio da interface do sistema de recomendação o usuário ajusta os parâmetros de consulta.

Pré-condições Ter acessado o aplicativo.

Pós-condições Parâmetros de consulta estabelecidos.

Extensões Não há extensões.

Inclusões Caso de uso 12.

Caso de Uso: 04 Escolher Pontos de Origem e Destino

Ator Usuário.

Descrição O usuário escolhe o ponto de origem e destino, estes pontos podem ser pontos de parada de ônibus ou pontos de interesse para o usuário, como por exemplo: Universidade Federal da Paraíba.

Evento iniciador Por meio da interface do sistema de recomendação o usuário escolhe os pontos de origem e destino.

Pré-condições Ter acessado o aplicativo e estar com suas informações armazenas no banco de dados ou estabelecidas nos parâmetros de consulta.

Pós-condições Pontos de origem e destino escolhidos.

Extensões Não há extensões.

Inclusões Não há inclusões.

Page 106: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

92

Caso de Uso: 05 Buscar Rotas

Ator Usuário.

Descrição O usuário requisita ao sistema as rotas mais adequadas aos seus interesses. As rotas devem ser ordenadas e exibidas em ordem de importância para o usuário.

Evento iniciador Usuário aciona o mecanismo de “buscar rotas” contido nas interfaces do aplicativo.

Pré-condições Caso de uso 04.

Pós-condições Rotas ordenadas apresentadas ao usuário.

Extensões Não há extensões.

Inclusões Casos de uso 06, 07 e 08.

Caso de Uso: 06 Obter Rotas Iniciais

Ator Sistema.

Descrição

O sistema de recomendação requisita ao serviço gerador de rotas no Middleware do projeto Ubibus um conjunto de rotas, enriquecido de informações contextuais do trânsito, para a origem e destino fornecidos pelo usuário.

Evento iniciador Caso de uso 05.

Pré-condições Caso de uso 05.

Pós-condições Conjunto de rotas iniciais obtido do gerador de rotas.

Extensões Não há extensões.

Inclusões Não há inclusões.

Caso de Uso: 07 Obter Ambiente Climático e Temporal

Ator Sistema.

Descrição

O sistema de recomendação requisita ao serviço de informações climáticas e temporais do Middleware do projeto Ubibus o ambiente da cidade onde se encontra o usuário no momento da requisição.

Evento iniciador Caso de uso 05.

Pré-condições Caso de uso 05.

Page 107: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

93

Pós-condições Condições climáticas sobre o momento da recomendação (ensolarado, chuvoso ou nublado) e temporais (manhã, tarde ou noite) deverão ser obtidas deste serviço.

Extensões Não há extensões.

Inclusões Não há inclusões.

Caso de Uso: 08 Classificar Rotas

Ator Sistema.

Descrição

O sistema de recomendação classifica e ordena o conjunto inicial de rotas, de acordo com as preferências do usuário, do ambiente climático e temporal e, as das características das rotas. Para isso deve ser utilizada a função construída anteriormente de acordo com os pontos de origem e destino passados pelo usuário.

Evento iniciador Caso de uso 05.

Pré-condições Casos de uso 06 e 07.

Pós-condições Rotas classificadas e ordenadas retornadas ao usuário.

Extensões Não há extensões.

Inclusões Caso de uso 09.

Caso de Uso: 09 Obter Função

Ator Sistema.

Descrição Obter a função gerada pelo processo de aprendizagem de acordo com os pontos de origem e destino informados pelo usuário. Esta função será utilizada para realizar a classificação das rotas.

Evento iniciador Caso de uso 08.

Pré-condições Caso de uso 08.

Pós-condições Função para a origem e destino obtida.

Extensões Não há extensões.

Inclusões Não há inclusões.

Page 108: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

94

Caso de Uso: 10 Escolher Rota

Ator Usuário.

Descrição O usuário visualiza as rotas retornadas pelo sistema de recomendação e escolhe a rota mais adequada as suas preferências e necessidades.

Evento iniciador

Após visualizar as rotas exibidas pelo sistema de recomendação o usuário escolhe a melhor rota para suas necessidades acionando o mecanismo de “escolher rota”, constante das interfaces do aplicativo.

Pré-condições Caso de uso 08.

Pós-condições Rota escolhida pelo usuário.

Extensões Não há extensões.

Inclusões Caso de uso 11.

Caso de Uso: 11 Atualizar Função

Ator Sistema.

Descrição O sistema de recomendação gera registros para atualizar a função utilizada para a classificação das rotas. A atualização deve ter como referência a origem e destino informados pelo usuário.

Evento iniciador Caso de uso 10.

Pré-condições Caso de uso 10.

Pós-condições Função atualizada para a origem e destino informados pelo usuário.

Extensões Não há extensões.

Inclusões Não há inclusões.

Caso de Uso: 12 Obter Preferências do Usuário

Ator Sistema.

Descrição

O sistema de recomendação obtém as preferências do usuário requisitante. Se o usuário estive logado no sistema as preferências serão recuperadas do perfil do usuário no banco de dados. Caso contrário estas serão passadas para a aplicação por meio dos parâmetros de consulta.

Evento iniciador Caso de uso 02 e 03.

Page 109: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

95

Pré-condições Caso de uso 02 ou 03.

Pós-condições Preferências do usuário obtidas.

Extensões Não há extensões.

Inclusões Não há inclusões.

Page 110: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

96

Apêndice B

Questionário de Pesquisa sobre Relevância de Preferências

O projeto de pesquisa Ubibus do CIn/UFPE está desenvolvendo um aplicativo para

auxiliar no planejamento de rotas de ônibus nas grandes cidades. O aplicativo permitirá

a escolha de linhas de ônibus de acordo com preferências específicas do usuário, como

uma linha que gaste menos tempo, ou se será necessário fazer uma troca de uma linha

para outra.

Gostaríamos de saber a sua opinião a respeito da relevância dessas preferências para um

aplicativo de planejamento de rotas. Para cada preferência, haverá uma nota de 1 a 3 a

ser preenchida, onde 1 representa “pouco importante”, 2 representa "importância média"

e 3 representa “muito importante”.

*Obrigatório

Preferir uma linha de ônibus que tenha a menor distância *

1 -

2 -

3 -

Preferir uma linha de ônibus cuja passagem custe menos *

1 -

2 -

3 -

Preferir uma linha de ônibus que gaste menos tempo *

1 -

2 -

3 -

Preferir não fazer troca de uma linha para outra linha de ônibus *

Page 111: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

97

Qual o grau de importância de fazer ou não fazer trocar de ônibus durante o

deslocamento até seu destino?

1 -

2 -

3 -

A partir de uma distância previamente definida pelo usuário, preferir andar abaixo deste

valor até seu destino (Percurso percorrido a pé) *

Ex: Definido 200 metros de distância máxima que eu quero percorrer a pé. Qual a

importância de percorrer uma distância menor ou igual a definida?

1 -

2 -

3 -

Você possui alguma(s) outra(s) sugestão(ões) de preferência que possa(m) ser levada(s)

em consideração ao escolher uma rota de ônibus? Qual/Quais?

Page 112: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

98

Apêndice C

Preferências dos Participantes do Experimento

Cenário Experimental 1

Lista de Participantes

Preferências dos Participantes

Deficiência do Participante

Preferência de distância a pé (m)

Preferência por troca de ônibus

Tipo de busca da rota

Preferência por tempo de espera na parada (min)

Participante 01 Nenhuma 10 Não Tempo 20

Participante 02 Nenhuma 100 Não Tempo 10

Participante 03 Nenhuma 100 Sim Tempo 15

Participante 04 Nenhuma 300 Sim Tempo 10

Participante 05 Nenhuma 10 Não Tempo 2

Participante 06 Nenhuma 300 Não Tempo 15

Participante 07 Nenhuma 100 Não Tempo 10

Participante 08 Nenhuma 250 Não Tempo 20

Participante 09 Nenhuma 100 Sim Tempo 10

Participante 10 Nenhuma 0 Não Tempo 5

Participante 11 Nenhuma 500 Não Tempo 15

Participante 12 Nenhuma 15 Não Tempo 10

Participante 13 Auditiva 100 Não Tempo 20

Participante 14 Visual 0 Não Distância 20

Participante 15 Cadeirante 5 Não Tempo 10

Participante 16 Cadeirante 10 Não Distância 20

Participante 17 Nenhuma 200 Sim Distância 15

Participante 18 Nenhuma 200 Não Tempo 30

Participante 19 Nenhuma 250 Não Tempo 10

Participante 20 Nenhuma 1000 Não Tempo 30

Page 113: RecRoute : UM SISTEMA DE RECOMENDAÇÃO DE ROTAS DE …§ão... · II. Título. 004 CDD (23. ed.) MEI2013 – 154 . Dissertação de Mestrado apresentada por Adriano de Oliveira Tito

99

Cenário Experimental 2

Lista de Participantes

Preferências dos Participantes

Deficiência do Participante

Preferência de distância a pé (m)

Preferência por troca de ônibus

Tipo de busca da rota

Preferência por tempo de espera na parada (min)

Participante 01 Nenhuma 10 Não Tempo 5

Participante 02 Nenhuma 60 Não Tempo 10

Participante 03 Nenhuma 50 Não Tempo 10

Participante 04 Nenhuma 50 Sim Distância 20

Participante 05 Nenhuma 0 Não Distância 20

Participante 06 Nenhuma 300 Não Tempo 15

Participante 07 Nenhuma 10 Não Tempo 2

Participante 08 Nenhuma 0 Não Tempo 5

Participante 09 Nenhuma 10 Não Tempo 30

Participante 10 Nenhuma 0 Não Distância 5

Participante 11 Nenhuma 200 Não Tempo 15

Participante 12 Nenhuma 20 Não Tempo 5

Participante 13 Auditiva 100 Não Tempo 10

Participante 14 Visual 0 Não Distância 20

Participante 15 Cadeirante 5 Não Distância 20

Participante 16 Cadeirante 5 Não Distância 25

Participante 17 Nenhuma 250 Não Tempo 10

Participante 18 Nenhuma 20 Não Tempo 15

Participante 19 Nenhuma 100 Não Distância 10

Participante 20 Nenhuma 250 Não Distância 20