recomendação de navegação em portais da internet como um ... msio-joao... · recomendação de...

51
Instituto Politécnico de Setúbal Escola Superior de Ciências Empresariais Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web Analytics João Fernando dos Anjos Gomes Dissertação apresentada para cumprimento dos requisitos necessários à obtenção do grau de Mestre de Sistemas de Informação Organizacionais Orientadores: Cláudio Sapateiro Hernani Mourão Setúbal, 2016

Upload: lemien

Post on 11-Jan-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

InstitutoPolitécnicodeSetúbal

EscolaSuperiordeCiênciasEmpresariais

RecomendaçãodeNavegaçãoemPortaisdaInternet

comoumserviçosuportadoemferramentasWebAnalytics

JoãoFernandodosAnjosGomes

Dissertaçãoapresentadaparacumprimentodosrequisitosnecessáriosàobtençãodograude

MestredeSistemasdeInformaçãoOrganizacionais

Orientadores:CláudioSapateiro HernaniMourão

Setúbal,2016

Page 2: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

i

Índice

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

1.1 Motivação.....................................................................................................................1

1.2 Objetivos......................................................................................................................3

1.3 Metodologia.................................................................................................................4

2 RevisãodaLiteratura............................................................................................................5

2.1 ConceitosGerais...........................................................................................................5

2.2 PropósitoseMétodos..................................................................................................6

2.3 AbordagensàRecomendaçãoePersonalização..........................................................7

2.4 APerspetivaWebAnalytics..........................................................................................9

2.5 FerramentasdeRecomendaçãoeWebAnalytics......................................................11

2.5.1 FerramentasdeRecomendação.........................................................................11

2.5.2 FerramentasWebAnalytics................................................................................13

2.5.3 GoogleAnalytics.................................................................................................15

2.6 Discussão....................................................................................................................20

3 RecomendaçãosuportadaemWebAnalytics....................................................................21

3.1 ModeloProposto........................................................................................................22

3.2 LógicadeNotificação.................................................................................................23

3.3 SíntesedoModelo......................................................................................................25

4 ProtótipoDesenvolvido......................................................................................................26

4.1 ArquiteturaGeral.......................................................................................................27

4.2 GoRecommend...........................................................................................................28

4.3 GoRecommendJS........................................................................................................30

4.4 DescriçãoFuncionaldeAplicação..............................................................................32

5 AnáliseeDiscussãodosDadosObtidos.............................................................................35

5.1 AbordagemeResultados...........................................................................................35

5.1.1 1ºCaso–Alteraçãodoobjetivo.........................................................................36

5.1.2 2ºCaso–Adiçãodeumnovoobjetivo...............................................................37

5.2 DiscussãoeAnálisedeLimitações..............................................................................39

6 ConclusõeseTrabalhoFuturo............................................................................................40

6.1 Conclusões..................................................................................................................40

6.2 TrabalhoFuturo..........................................................................................................41

Page 3: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

ii

ÍndicedeFiguras

Figura1-DiagramaWebAnalytics............................................................................................10

Figura2-Integraçãoentrecomponentes-PredictionIO...........................................................12

Figura3-Integraçãoentrecomponentes–GooglePredicitonAPI...........................................13

Figura4–AdobeAnalytics.........................................................................................................14

Figura5–Piwik..........................................................................................................................14

Figura6-GoogleAnalytics.........................................................................................................14

Figura7-FerramentasdeWebAnalytics..................................................................................15

Figura8-Númerodeconversõesvsnúmerodevisitas.............................................................16

Figura9-GoogleAnalyticscomoumaferramentadegestão...................................................18

Figura10-Númerodevisitasmensaisagrupadaspelasuaorigem...........................................19

Figura11-Síntesedomodeloproposto....................................................................................25

Figura12-Arquiteturadomodeloproposto.............................................................................27

Figura13-ExemploderespostadoserviçoGoRecommend.....................................................30

Figura14-ExemplodeimplementaçãodabibliotecaGoRecommendJS..................................32

Page 4: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

iii

ÍndicedeTabelas

Tabela1-Exemplodeumrelatórioqueconjugamétricasedimensões(GoogleAnalytics).....20

Tabela2-Recomendaçõesparaapáginaobjetivo'/contacts'..................................................36

Tabela3-Recomendaçõesparaapáginaobjetivo'/portfolio’.................................................37

Tabela4-Recomendaçõesparaapáginaobjetivo'/pt/contactos’...........................................38

Tabela5-Recomendaçõesparaaspáginasobjetivo'/pt/contactos’e'/pt/clientes’...............39

Page 5: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

iv

Palavras-chave

DataMining,Digitalmarketing,GoogleAnalytics,Recommendationsystems,UserExperience,

WebAnalytics,WebUsageMining

Page 6: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

v

SiglaseAcrónimos

API-ApplicationProgrammingInterface

GA-GoogleAnalytics

HTTP-HipertextTransferProtocol

KPI-KeyPerformanceIndicator

OLAP-OnlineAnalyticProcessing

SAAS-SoftwareasaService

UML–UnifiedModelingLanguage

Page 7: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

vi

Resumo

Com o constante crescimento da utilização da Internet o número dewebsites e respetivaspáginascontínuaaevoluirtambém,porestemotivo,verifica-seumanecessidadedealinharaexperiência de utilização com os objetivos gerais de um website. Para satisfazer estanecessidadeosistemaderecomendaçãopropostosugerepáginasaoutilizadorquepossamserdo seu interesse combase emperfis de navegação de umwebsite em geral. Amaioria dossistemasderecomendaçãosãobaseadosemregrasdeassociaçãooupalavraschave(quandooconteúdo é considerado). No entanto, quando os dados não são suficientes ou são muitodispersoseaordeméconsiderada,umaabordagemtradicionalpodeserinadequada.Poroutrolado, assumindo outro paradigma, a área de Web Analytics, tem obtido um crescimentoconsiderável,atravésdeferramentasrobustasquepermitemarecolhaeanálisededadosdainternet,a fimdecompreendereotimizareficiênciaeeficáciadowebsite.Opresenteartigopropõeodesenvolvimentodeumsistemade recomendaçãobaseadona ferramentaGoogleAnalytics. O protótipo é composto por dois componentes principais que são: 1) um serviçoresponsávelpelaconstruçãoelógicaassociadaàcriaçãodasrecomendações;2)umabibliotecaincorporávelemqualquerwebsitequeprovidenciaráumwidgetderecomendaçãoconfigurável.Avaliaçõespreliminaresconstataramqueaimplementaçãoseguealógicadomodeloproposto.

Page 8: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

vii

Abstract

AstheInternetusagekeepsincreasing,thenumberofwebsitesandhencethenumberofweb

pages also keeps increasing, so there is a need to align the user experiencewith the overall

websitespurposes.Toward this requirement, theproposed recommendation systemssuggest

theuserpagesthatmightbeofitsinterestbasedonpastnavigationprofilesofoverallsiteusage.

Mostofexistingrecommendationsystemsarebasedonassociationrulesorbasedonkeywords

(whencontentisconsidered).However,onusagedatashortageorsparsedataandifsequential

orderistobeconsideredsuchtraditionalapproachesmaybecomeunsuitable.Conversely,the

WebAnalyticsarena,assumingotherparadigm,hasexperiencedaconsiderablegrowththrough

maturetoolsthatallowthecollectionandanalysisofinternetdatainordertounderstandand

optimize website efficiency and efficacy. This work proposes the development of a

recommendationsystembasedontheGoogleAnalyticstool.Theprototypeisconstitutedbytwo

maincomponentswhichare:1)aserviceresponsiblefortheconstructionandassociatedlogic

thatunderliesrecommendationsgeneration;2)anembeddablelibraryonanywebsitethatwill

furnish website with a configurable recommendation widget. Preliminary evaluations had

showedthattheimplementationfollowsthelogicoftheproposedmodel.

Page 9: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

1

1 Introdução1.1 MotivaçãoSendo que a Internet apresenta-se atualmente no dia a dia das pessoas e organizações, osfornecedoresadotamnovas formasdemelhorara informaçãoe serviçosdisponibilizadosaoconsumidorconsiderandotambémnovasformasdeinteração,hojeaoalcancedosutilizadores.

Torna-sefundamental,configurandoumavantagemcompetitiva,entenderasnecessidadesepreferênciasdosutilizadores/clientes.Esteconhecimentopodehojeseracionadodediferentesmaneiras,taiscomo,melhoramentodopróprioserviço/produtoe/oucanaismediadores,ouatémesmo dimensionamento de novos. No comércio não digital, as fontes de informação são,principalmente, estudos de mercado realizados por meio de pesquisas e entrevistas aconsumidores.Taismétodos,emboraúteis,sãomuitasvezescaroselimitadosnaamostra.

OsdadosrelacionadoscomanavegaçãoWebtornam-seumafonteprincipalparaexploraredarsentidoagrandesquantidadesdediferentestiposdedados.OsservidoresWebnãosófornecemos respetivos serviços, como também constituem uma fonte de informação útil para osproprietáriosdoswebsites,dadoqueregistamasvisitasàspáginasWeb.Durantealgunsanos,osWeb Logs foram analisados de forma automatizada para acompanhar os utilizadores dowebsiteeasrespetivassessões.

De facto, atualmente o mundo digital abre novos horizontes ao nível da compreensão docomportamentodoconsumidor/utilizador.Noentanto,os registosdeatividadenemsempresãofáceisdeprocessar,econverterestaanáliseemresultadosviáveisémuitasvezesdesafiante(areconstruçãodeumsiteémuitasvezescombaseemtentativaeerro). Infelizmente,nemtodososproprietáriostêmconhecimentoourecursospararealizarestaanáliseeconvergirosresultadoscomosobjetivos.

Paraalémdisso,enquantoosLogsdoservidorsãoalvodeumaanáliseintensiva,muitapesquisafoianexadaaestes,nuncatantotrabalhofoirealizadoaoredordanavegaçãoemgeral.Segundo(Chiarandini, 2014), a navegação pode ser definida de forma diferente do que o caso depesquisa;enquantooutilizadornavegaoobjetivoémenosclarodoqueumapesquisadirigidaporqueanavegaçãonãopodeserexpressaatravésdetexto.Tambémpodeacontecerqueoutilizador não tenha de todo um objetivo definido - navegação intensiva. Adicionalmente(Baeza-Yates,Ribeiro-Neto,&others,1999)classificouaindaqueatarefaemqueosutilizadoresde um sistema de recuperação de informação estão envolvidos, pode classificar-se de duasformas:informaçãooudadosdeconsulta(pesquisa)enavegação.Ambassãoformasemqueosutilizadoresacedemàinformação,sendoaprimeiradeacessoaleatórioeasegundadeacessosequencial.Pode-seentãoassumirqueestadistinçãotambémexistanaestruturadassessõesWeb.

Atualmente, uma atenção considerável é colocada nas aplicações de Data Mining, análisepreditivaeprospeçãodenegócios.Namaioriadasaplicações,ondenormalmenteaexpetativavemdestasprevisõeshánecessidadederecuperarficheirosderegistosdeacessosaowebsiteemquestão.Talcomojáfoimencionado,extrairconhecimentoapartirdestesdadosacarretaváriasexigênciasedestaforma,novosmétodosemergiram,talcomoéocasodasferramentasdeWebAnalytics discutidasna seção2.3.2queemcertamedida fundamentamcom rigor aabordagemdestetrabalho.

Page 10: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

2

Apartirdeumaperspetivafuncional,cadawebsiteprecisadeintegraralógicaquemelhoraaconcretização dos objetivos pretendidos que fundamentam a sua própria existência. Taisobjetivos, podem variar consoante as visitas de um utilizador a uma página específica paraconverterpotenciaisinteressados.

Deste modo, sistemas de recomendação foram criados de forma a fornecer orientação,melhoraraexperiênciadeutilizaçãoefinalmenteatingirasmetaspretendidas.

As recomendações podem ajudar os utilizadores do website a focarem-se no objetivopretendidoparaevitardispersões.Podemserfornecidasalgumasindicaçõesdiretas,taiscomo,ondeéquesepodeobterdeterminadainformação?Comoéquesepodealcançaroobjetivo?Etambémassociarconteúdorelacionadoouprodutos/serviços.

Comocrescimentocontínuoeproliferaçãodoe-commerce,ovolumededadosdoutilizador,recolhidospelasorganizaçõesnassuasoperaçõesdiáriasatingiuproporçõesastronómicas.

Analisarestesdados,podeajudarasorganizaçõesadeterminarovalordotempodevidadeestratégias demarketing e produtos/serviços, assim como avaliar a eficácia das campanhaspromocionais,otimizandoa funcionalidadedasaplicaçõesbaseadasnaWeb, fornecendoumconteúdo personalizado/segmentado aos utilizadores e mais eficaz na estrutura lógica dowebsite.

EstetipodeanáliseenvolveaidentificaçãoautomáticadepadrõessignificativoserelaçõesdeumavastacoleçãodedadossemiestruturadosmuitasvezesarmazenadosnaWeb,registosdeacessoebasesdedadosoperacionais.

MiningdeutilizaçãodaWebrefere-seàidentificaçãoautomáticaeanálisedepadrõesnofluxodecliquessubjacenteànavegação,assimcomodadosrecolhidosougeradoscomoumresultadodasinteraçõesdoutilizadorcomosrecursosdaWeb,numoumaiswebsites(Liu,Mobasher,&Nasraoui,2007).Oobjetivoécaptaromodeloeanalisarospadrõesdecomportamentoeosperfis de utilizadores nas suas interações. Os padrões identificados, são geralmenterepresentadoscomocoleçõese/ousequênciasdepáginas,objetosourecursosfrequentementeconsultadosporgruposdeutilizadorescominteressesounecessidadescomuns.

Paraefetuartaisrecomendações,pornormaésolicitadadeterminadainformaçãoaoutilizador.Posteriormente,serárelacionadacomalgumsegmentoouperfildeutilizador,construídocombasenohistóricodenavegação/utilizaçãodowebsite,produzindoarecomendaçãoprocessada.

Existem alguns pontos fracos nesta lógica global, pois nem sempre é possível identificar outilizador(estaidentificaçãoéfeitaatravésdecookiesquepodemnãoestardisponíveisouserpermitidos), a informação mais detalhada sobre os utilizadores muitas vezes requerpreenchimentocompletodoperfil,omesmoutilizadorpodenavegaremdispositivosdiferentese diferentes utilizadores podem navegar num mesmo dispositivo (considerado o mesmoutilizador devido à chave guardadano cookie), omesmoutilizador emborapossa ter algunsinteressesalongoprazopodetambémterinteressesacurtoprazo,quesepodemalterardeformamaisdinâmica(porexemplo,outilizadormuitasvezespodeobterrecomendaçõessobreprodutossimilaresaosquejáadquiriu).

Porexemplo,emsitesdee-commerce,umarecomendaçãodesvirtuadapodeterumresultadosignificativonumacomprafuturadoutilizador(Cho,Kim,&Kim,2002).Recomendaçõespoucoválidaspodemterduascaracterísticasdeerros:falsosnegativos,quesãoprodutosquenãosão

Page 11: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

3

recomendados, embora o cliente possamanifestar interesse neles; falsos positivos, que sãoprodutosquesãorecomendadosmesmoqueoclientenãoapresentequalquertipodeinteresse.

Além disso, deve-se reconhecer que o resultado final dos sistemas de personalização nemsemprecoincidecomaperceçãodoutilizadorfinaldetalpersonalização(Li,2016).Noentanto,(Parra&Brusilovsky,2015)mostrouquepermitindoaoutilizadoralgumaformadecontrolarograudepersonalização,mantendoesteprocessoomenosintrusivopossível,produzummelhorenvolvimentoentreoutilizadoreaexperiênciageral.Istopodevircomoresultadoemquealémdosgrandesportaisemqueoperfildeutilizadoréatualizadoregularmenteeosmecanismosdeacompanhamento estão disponíveis devido à identificação do utilizador através deautenticação,eminúmeroswebsitesédifícilrecolherosdadospessoaise,portanto,conheceroutilizador.Destaforma,aidentificaçãodeumutilizadorreincidentenowebsiteeoseucontextoatualéquaseimpossíveldeobter.

Portanto,aorientaçãodestetrabalhosegueumalinhadeidentificaçãoeutilizaçãodepadrõesdenavegação semapreocupaçãodeumapersonalizaçãoaoutilizador. Istoé,não interessatantoa sua identificação,históricoe captaçãodeperfil;mas sim,oemparelhamentoda suanavegaçãonomomento(noseuatualcontextodenecessidades)comospadrõesdenavegaçãosemelhantes que tiveram sucesso considerando o objetivo definido para o website. Oalinhamento das necessidades dos utilizadores e objetivos para o website tem de serconsideradopeloseuadministrador,oâmbitodestetrabalhoabrangejustamentegarantirqueumavezdefinidosoencaminhamentodosutilizadores,esteéeficaz.

1.2 ObjetivosNopresentetrabalhodedissertação,pretende-seconstruirumaferramentaderecomendaçãodenavegaçãoincorporávelemqualquerwebsite.Tendoemcontaque,porvezesumutilizadorporinúmerasrazõespossanãocompreenderofluxodeumwebsite(porexemploporquestõesdedesignoucomplexidadedeumwebsite)estaferramentapodeorientá-lodeacordocomosobjetivos (para este problema concreto a solução passa por visitar determinada página)definidospeloadministradordowebsitequecontempleaestratégiadomesmo.

Aferramentapropostatemporbaseautilizaçãodohistóricodenavegaçãodisponibilizadopelaferramenta:GoogleAnalytics, sendo as recomendações a realizar orientadaspelos objetivosdefinidospeloadministradordowebsitenoGoogleAnalytics.

Oobjetivodestetrabalhopassaporgerartaisrecomendaçõesconsiderandooutilizadornoseucontextodenavegaçãoenãooutilizadorpersi.Assim,asessãodomesmoutilizadornãoéumacomponente necessária de contemplar no desenvolvimento do trabalho, uma vez que estainclusiveaindamantémalgunsdesafiosrelativamenteàidentificaçãodasuaduração,quetêmsido abordados ao longo dos anos numa base heurística. Estudos recentes sobre o assuntoapontaramparaum limiarde60minutos (Halfakeretal.,2015),oua indexaçãoàmédiadetemponaspáginasdowebsite(Dinucă,2012),contudo,namaioriadasvezesolimiaroriginalestabelecido de 30minutos é aplicado como exemplo (Berendt,Mobasher, & Spiliopoulou,2001).

Em termos funcionais, o objetivo do trabalho corrente passa pelo desenvolvimento de umabibliotecacombasenalinguagemJavascriptquedisponibilizaumwidgetaoutilizadorquando

Page 12: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

4

estasejaincorporadanumwebsite.Estewidgettemcomofunçãoaexibiçãodasrecomendaçõesealgumasfuncionalidadesextradescritascommaiordetalhenocapítulodoprotótipo.

AbibliotecaJavascriptconsomeumserviço,tambémpropostonodesenvolvimentoaplicacionalnumavertentedesoftwareasaservice(SaaS)responsávelporconsultarosdadosreunidospelaferramentaGoogleAnalyticscomosparâmetrosdepesquisa identificadoscomonecessários,produzindorecomendaçõescombasenosutilizadoresqueatingiramosobjetivosdefinidospeloadministrador dowebsite. Este serviço é o responsável por alimentar a biblioteca Javascriptmencionada anteriormente com as recomendações produzidas e indicar qual é omomentocertoaexibirasmesmas,tendoemcontaostemposmédiosdeabandonodeumadeterminadapágina.Alógicaimplementadanoserviçoédevidamentedetalhadanodecorrerdotrabalho.

1.3 MetodologiaPara a realização da presente dissertação é utilizada umametodologia de trabalho em queprimeiramentefoianalisadooestadodaartequesedivideemrevisãodaliteratura,ferramentasderecomendaçãoeWebAnalytics.

No capítulo de estado da arte são identificados os problemas e diferentes abordagensimplementadasnaáreaderecomendação/personalizaçãodeutilizadoresWeb.RelativamenteaocapítulodeFerramentasdeRecomendaçãoeWebAnalitycssãoapresentadasediscutidasalgumas ferramentas demachine learning utilizadas para recomendação e ferramentas deanáliseWeb com objetivo de recolha e criação de relatórios estatísticos do tráfego de umwebsite.ApósintroduzidootermoWebAnalyticseoseuconceito,éapresentadacommaiordetalheaferramentabasedesteprojetooGoogleAnalyticseosseusobjetivos.

Apósintegraçãocomoestadodaarteeabordagensderecomendação/WebAnalyticssegue-sea proposta de recomendação suportada em Web Analytics onde está descrito o modelopropostoe todaa sua lógica subjacente.Umavezestabelecidoomodeloprocede-se aumaimplementaçãodorespetivoprotótipofuncional.Paratal,define-seasuaarquiteturageralerelação entre os diferentes componentes domesmo. Após conclusão desta fase de análiseconcretiza-se a implementação/especificaçãodo serviçoGoRecommend queéo responsávelpelacriaçãodasrecomendaçõesebasedabibliotecaGoRecommendJS,queestáimplementadaseguidamente,responsávelpelacamadarepresentacionaldoprotótipo.

Dando-seporconcluídaaimplementaçãoépossívelrealizaradescriçãofuncionaldaaplicaçãoatravésdeumcasopráticoescreenshotsrepresentativos,queseinseremnestedocumento.

Comoprotótipoconcluídoédescritaaabordagemdeavaliaçãoquemelhordemonstraoseupotencial atravésde recolhadedados reais (subjacentesporquestõesde confidencialidade)confrontadoscomomodelo.Discutem-seosresultadoselimitaçõesidentificadas.

Porúltimorealiza-seumareflexãorelativamenteàcontribuiçãoqueestetrabalhopossatrazeràcomunidadeeoestudoquepodeserdesenvolvidocombasenesteconceito.

Page 13: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

5

2 RevisãodaLiteratura2.1 ConceitosGeraisExtrairconhecimentosobreosutilizadoresdaInterneteoseuhistóricodenavegaçãotemsidoumaáreadepesquisaparamuitosdomíniosdeaplicação,desdeaprocurapormelhoriasnaexperiênciadeutilização(Ex:recomendaçãoepersonalização),àprocuradaeficácianoesforçodemarketingdigitalsegmentadoedestaformaalcançaroutilizadorcomconteúdosrelevantes.Independentementedoobjetivo,asdiferentesabordagensquetêmsidoadotadasenfrentamváriosdesafioscomuns.Nestecapítuloemqueseabordaumacaracterizaçãoglobaldotrabalhorelacionado na área, serve a presente subsecção para estabelecer a base sobre conceitos eterminologiaaserconsideradanassubsecçõesseguintes.

OtermoWebMiningtornou-semuitopopularprincipalmentedevidoàaplicaçãodetécnicasdeprospeção de dados para extrair conhecimento a partir de dados da Web, incluindodocumentos, hiperlinks, registos de utilização de websites, etc. (Mehtaa, Parekh, Modi, &Solanki,2012).

Atualmente,aáreadeWebMiningcompreende3categoriasprincipais:

1) WebMiningdeconteúdo;2) WebMiningdeestrutura;3) WebMiningdeutilização(ounavegação).

Web Mining de conteúdo é o processo de extração de informação semântica a partir deconteúdodedocumentosWeb,taiscomo,textosouimagenstransmitidasaoutilizadorfinal.Talprocessoenglobaadescobertaderecursos,categorizaçãoeagrupamento.

WebMiningdeestruturafoca-senaestruturadehiperlinks,normalmenteenvolvendoaanálisedoshiperlinksdeentradaesaídadepáginasWeb,estemétodoéusadopelosmotoresdebuscapara classificação de resultados (Mehtaa et al., 2012). Este tipo deMining permite extrairconhecimentosobreaorganizaçãointraeinterpáginas.

WebMiningdeutilização,consisteprincipalmentenaaplicaçãodetécnicasdeDataMiningparacompreender e servir as necessidades dos utilizadores das páginasWeb (Srivastava, Cooley,Deshpande,&Tan,2000).Tipicamente,nosdadosreunidosparatalanáliseinclui-seendereçosdeIP,navegadorutilizado,páginasvisitadas,origemetempoempágina,procurandoaeliciaçãode padrões de utilização para informar domínios de aplicação tais como: personalização,recomendação (orientada pela navegação, não a baseada em conteúdo) ou interfacesadaptativas.

OprocessodeWebMiningcompreendeofluxotípicoassociadoàs iniciativastradicionaisdeDataMining:recolhadedados,pré-processamento(limpeza,formatação,relacioná-losealinhá-losparaqueserevelemcompatíveis/acionáveisconsiderandoautilizaçãopretendida),aplicaro(s) método(s) de análise de eleito(s); e quando não se trata de uma iniciativa somenteexploratória e/ou descritiva, produzir consequentemente um modelo e utilizá-lo paraclassificaçãoe/ouprevisãoatendendoaosobjetivosfinaisdefinidos,porexemplo,sistemasderecomendaçãoe/oupersonalização.

Page 14: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

6

AsprincipaisfontesdedadosusadasparaWebMiningsãoosLogsdeacessoaservidoresWebeLogs aplicacionais. Fontesdedadosadicionais tambémsãocomplementarmenteutilizadostantoparaapreparaçãodosdadoscomoparaseuprocessamentonaidentificaçãodepadrões,incluindo ficheiros dowebsite, metadados e bases de dados operacionais. Em alguns casospodemestardisponíveisdadosadicionaisdevidoàrecolhadosmesmosnoladodoutilizador,porexemplo,nainformaçãopersistidaemcookies,oudisponibilizadaemcontasquecontenhamperfisdeutilizadores(contemplando,e.g.dadosdemográficosepreferências).Tambémserviçosglobais de agregação de dados e monitorização de tendências como: ComScore(www.comscore.com),NetRatings(www.nielsen-netratings.com)eAcxiom(www.acxiom.com),constituempotenciaisfontesadicionaisacomporoucruzarnaexploraçãodosdados.

2.2 PropósitoseMétodosOcorpodotrabalhoemWebMiningpodeserenquadradoemcincograndesâmbitos:1)Análisedesessões,2)Análisedeagregaçãoesegmentaçãodeutilizadores,3)Análisedeassociaçõesecorrelações,4)Análisesequencial (temporal)edepadrõesdenavegaçãoe5)Classificaçãoeprevisãobaseadanastransaçõesdoutilizador(Liuetal.,2007).

Análisedesessõeséumaabordagemcomumparagerarmedidasestatisticamenteagregadassobresessões.Técnicaspadrãodeestatísticasãoutilizadasparaadquirirconhecimentosobreocomportamento geral dos utilizadores, considerando, por exemplo, hora do dia, páginasfrequentementeacedidasoudeentradaesaída,tempoempágina,etc.Noentanto,outraformadeanálisedesessõeséaanáliseintegradadedadosdeutilizaçãoatravésdaabordagemOLAP(OnlineAnalyticalProcessing) (Alves,Belo,&Costa,2007).AabordagemOLAPassentanumaestrutura mais integrada para análise com maior flexibilidade e em diferentes níveis degranularidade.AfontededadosparaaanálisedeOLAPrecaigeralmentenaconstruçãodeum(híper) cubo. Um cubo de dados que pode ser visto como uma estrutura de matrizmultidimensional,emquecadadimensãorepresentaumconjuntodeatributosecadacélulaarmazena, o valor agregado de uma medida, como contagem, soma, etc. Este tipo derepresentação de dados suporta uma navegação exploratória através das dimensões erespetivosatributos.Osdadossãocarregadosatravésdeumabasededadosmultidimensionalque mantém um modelo de dados dimensional desnormalizado integrando as dimensõesselecionadas para análises (co)relacionadas. As ferramentas OLAP permitem hierarquias ealteraçõesnosníveisdeagregaçãoao longodecadadimensãoduranteaanálise.Análisededimensõesnestetipodeestruturaspodeserbaseadanosváriosatributosdisponíveis;atributosdomodelodimensionale.g.duração,domínio,recursoutilizado,navegador,origem;obtidosapartir de fontesoriginais (comopor exemploLogs) que carregaram segundooprocesso ETL(Extract-Transform-Load)omodelodimensional(Kimball&Ross,2015).Assimpermite-sequeaanálisesejaefetuadaempartesdoLogcorrespondentesaumperíododetempoouaumníveldiferentedeabstraçãocomrespeitoaqualquerdimensão.

A abordagem OLAP pode ser estendida a outros âmbitos deWeb Mining. Por exemplo, aintegraçãodedadosdee-commerce,quandopresentes,exploraaindamaisopotencialdestaorientação analítica para providenciar métricas importantes para o negócio (exemploparadigmáticonodomíniodeBusinessIntelligence,quepodeabrangerosváriosâmbitos).

Page 15: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

7

TambémécomumqueresultadosdaexploraçãoeanáliseOLAPsejamutilizadosparainformaraseleçãodemétodoscomplementaresdeDataMiningutilizadosnosrestantesâmbitosdeWeb

Mining.

Aanáliseporagrupamentodedados(clustering)constituiumadastécnicasdeDataMiningqueagrupaumconjuntodedadosquetenhamcaracterísticassemelhantes.Nodomíniodaanálisede utilização/navegação de um website, existem 2 tipos principais de agrupamentosinteressantesquepodemseridentificados:gruposdeutilizadoresegruposdepáginas(Hassan&Karim,2011).Agruparregistosdeutilizadores(sessõesoutransações)éumadastarefasmaisutilizadasemWebMiningdeutilizaçãoeWebAnalytics(queseráabordadonasecçãoseguinte),queprocuraestabelecergruposdeutilizadoresquecontêmpadrõesdenavegaçãosemelhantes.

Poroutrolado,oagrupamentoporpáginaspodeserefetuadocombasenascaracterísticasdeconteúdo associado (palavras chave ou atributos). No caso do agrupamento com base noconteúdo,osresultadospodemsergruposdepáginasouprodutosrelacionadoscomomesmotópicooucategoria.

Umaoutraabordagemsuporta-senadescobertaderegrasdeassociaçãoeanálisedecorrelaçãotendo como objetivo encontrar grupos de itens ou páginas frequentemente consultadas ouadquiridasemconjunto.Porsuavez,permiteorganizaroconteúdodewebsitese/ounavegaçãodeformamaiseficiente,oupromoverrecomendaçõestransversaiscomeficácia.

Na verdade, uma das principais aplicações deMining em regras de associação, quer emutilização Web, assim como dados e-commerce é a recomendação (que será discutidaespecificamentenasubsecçãoseguinte).

Seforintroduzida,adimensãotempo,tem-seumaorientaçãodiferentedaanálise.Atéaqui,foiconsideradaaorientaçãoporsemelhançasouassociações.Aanálisedepadrõestemporaiséuma técnica específica deMining que tenta encontrar tendências maioritariamente inter-sessões.Talanálisepermite,porexemplo,otimizaromarketingWebprevendoanaturezadevisitas futuras. Outros tipos de análise temporal que podem ser efetuados sobre padrõessequenciaisincluemdeteçãodepontosdemudança(detendência)eanálisedesimilaridadesesingularidades.

Muitos dos métodos acima referidos, permitem em última análise informar modelos deprevisão.Existemváriosmétodoscujasuanaturezaéaclassificaçãoeprevisão.Aclassificaçãoconsisteemmapearumconjuntodedadosemvárias classespredefinidas (e.g.previamenteidentificadas segundo alguma das abordagens anteriores). No domínioWeb tal consiste emdesenvolveroperfildosutilizadoresquepertencemaumaclasseoucategoriaemparticular.Oquerequeraextraçãoeseleçãodecaracterísticasquemelhordescrevemaspropriedadesdeumadeterminadaclasseoucategoria.Aclassificaçãopodeserefetuadapormeiodealgoritmosdeaprendizagemesupervisionados,taiscomo,árvoresdedecisão,classificadoresBayesianos(NaiveBayesnetworks),máquinasdevetoresdesuporte(SupportVectorMachines).Umaveztreinado,éavaliadooclassificador,eeste,poderáserutilizadoparaprevisão.

2.3 AbordagensàRecomendaçãoePersonalizaçãoConformeintroduzidonasecçãoanterioraabordagemmaiscomumàrecomendaçãosuporta-senadescobertadeassociaçõestipicamentebaseadasnumadasmuitasvariantesdoalgoritmo

Page 16: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

8

Apriorioriginal.Oobjetivodestesalgoritmoséencontrargruposdeitensquejuntosocorremfrequentemente em muitas transações, com a consideração de diversos critérioscomplementares (Slimani & Lazzez, 2014). Embora muito utilizados e com resultadossatisfatórios para a identificação de associações, a recomendação com base em regras deassociaçãoinerentementeenfrentadegradaçãoseoconjuntodosdadosfordisperso(Kasliwal&Katkar,2015)(Dinucă,2012).EsteéfrequentementeocasoemWebMiningdeutilizaçãopoisasvisitasdosutilizadorescobremapenasumapequenafraçãodositensdisponíveise,portanto,muitasvezesédifícilencontrarumnúmerosuficientedeitenscomunsnosdiferentesperfisdeutilizadores. Existem várias propostas para superar tais limitações (Liu et al., 2007)], porexemplo, reduçãodonúmerodedimensões (maspodemestara serdescartadasdimensõesinteressantesparaospadrõesfinais);ouemalternativa,reduzindooladoesquerdodasregrasnouniversoderegrasglobais,considerandoocaminhopercorridopelasessãoativa,reduzindoarestriçãodeumacompletacorrespondênciacomaregranoseuladoesquerdo.

Uma área com grande aplicação deWebMining é de facto a recomendação e ainda a suafrequenteutilizaçãoparapotenciarpersonalizaçãocomobjetivodemelhoraraexperiênciadoutilizador.Emborasejamáreas(recomendaçãoepersonalização)distintaspersi,nãoéincomumutilizarrecomendaçõesnapersonalização.Deformageral,ossistemasdepersonalizaçãoWeb,dada a sua finalidade e complexidade podem ser enquadrados de acordo com (Suguna &Sharmila, 2013) nos principais tipos seguintes: 1) memorização, a forma mais simples depersonalização,ondeasinformaçõesdoutilizadorcomoonomeehistóricodenavegaçãosãoarmazenadas(porexemplo,usandocookies),paramaistardereconheceroutilizadorquandoestevoltar;2)Personalização,recolherinformaçãosobreoutilizadoratravésdeformulárioscomoobjetivodepersonalizarconteúdoeestruturadowebsite(oprocessoglobaltendeasernomáximo semiautomático, pois exige sempre alguma resposta por parte do utilizador); 3)Orientação ou recomendação, recomendar/auxiliar navegação ou conteúdos consideradosrelevantesparaosinteressesdoutilizador(implicitamenteinferidos,comoporexemplo,perfilde navegação, ou explicitamente, como por exemplo, formulários de preferências dosutilizadores)afimdefacilitaroacessoàinformação/produtonumgrandewebsite;4)Apoioaodesempenhodetarefas,executandoaçõesemnomedoutilizador.

AlémdosalgoritmosdeMiningjámencionadosacima,comparticularrelevânciaparaasregrasde associação em sistemas de recomendação, existem duas abordagens complementaresutilizadas na recomendação e personalização: a recomendação baseada em filtragem deconteúdoearecomendaçãobaseadanafiltragemcolaborativa.

Natécnicadefiltragembaseadaemconteúdo,arecomendaçãodepáginasconsideraositensem que o utilizador tenha classificado anteriormente com base no seu perfil. O perfil doutilizadorpodeserconstruídoexaminandorespostasapequenosquestionários(porexemploformulários de registo que explicitamente recolhem preferências), classificação de itens ouhistórico e padrão de navegação do utilizador. Este método de recomendação dependefortementedaexperiênciapassadapeloutilizadoremesmoquandopossivelmentesabermaisacerca do mesmo. A sua caracterização contextual continua a ser um desafio, dados osinteressesdinâmicoseoportunistas(porexemploapósumacompraespecifica,oseuinteressepodemudaracurtoprazoouatémesmoofoconowebsite)(Nadi,2011).

Naabordagemdefiltragemcolaborativae.g.(Riecken,2000),páginasWeb (ouprodutos)sãorecomendadas a um utilizador particular quando outros utilizadores semelhantes tambémpreferem as mesmas páginas. A definição de "semelhança" entre utilizadores depende das

Page 17: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

9

aplicações que utilizam os sistemas de recomendação, por exemplo, podem ser definidosutilizadores semelhantes quando estes atribuem classificações próximas a páginasWeb ouwebsites,assimcomo,utilizadorescompadrõesdenavegaçãosemelhantes.Estaabordagemtambéméalvodealgumacriticaapontandoduasdesvantagensespecíficas:1)Dispersãoe2)Escalabilidade (Suguna& Sharmila, 2013). Sendo a dispersão, a quantidadede classificaçõesobtidasanteriormente,podendoterordensdegrandezamenorqueonúmerodeclassificaçõesquenecessitamrealmentedeserprevistas.Emrelaçãoàescalabilidade,decorreque,emgeralcálculosmuitolongospodemsernecessáriosquerpelocrescimentodonúmerodeutilizadores,querpelonúmeroderecomendações(porexemploprodutos/páginas).

2.4 APerspetivaWebAnalyticsAassociaçãodeWebAnalyticsdefineamesmacomoa“medida,recolha,análiseecomunicaçãodedadosdaInternetcomoobjetivodecompreendereotimizarautilizaçãodaInternet”.

De acordo com (Nakatani& Chuang, 2011),WebAnalytics é utilizado para compreender osclientes online, assim como os seus comportamentos, a influência do design para que sejapossível tomardecisõesbenéficasparaonegócioealcançarosobjetivosdaorganização.Osautoresressalvam,noentanto,queoobjetivodaanáliseWebnãoéapenasotimizarpáginasdowebsite,masdeapoiaraconcretizaçãodosobjetivosglobaisdeumaorganização.

OcampodeanáliseWebcomeçounoiníciodosanos90comaexpansãodaInternet.Aolongodetodosestesanosevoluiuetornou-seumapartevitalnodesenvolvimentodeumwebsite.Dos500websitesmaisconsultados,91%implementamWebAnalyticsparaguardarinformaçõessobreosseusutilizadores(Hamel,2012).Apesardeserutilizadohámaisde2décadasaanálisedaWebaindaestáemfasedecrescimentoinicialdoseuciclodevida,poisexisteumaevoluçãocontínuacommétodosmaisavançadosaseremcontinuamenteintroduzidos.

Tal como referido anteriormenteWeb Analytics tenta compreender os utilizadores de umwebsite através da análise das métricas recolhidas para que a eficácia dos websites sejamelhorada.ViaWebAnalyticspode-seinferircomportamentodosutilizadoresfaceaoscliquesrealizados,àssuaspesquisasdentrodedeterminadowebsite,permitindoaoanalistadetetaroslocaisexatosdecliques,asuafrequênciaefluxo.

Osresultadosdestasanálisessãofornecidosporpartedeespecialistassobaformadetabelas,gráficosoudiagramas,cujoresultadodaanáliselevarápotencialmentearedesenhodeimagem,estruturaeconteúdodesecçõesdowebsite.

Page 18: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

10

Figura1-DiagramaWebAnalytics

(fonte:http://www.canadianschoolguide.com/what-is-web-analytics.php)

Emsuma,WebAnalyticsnãoéapenasumprocessoparamedirotráfegonaInternet,massim

uminstrumentoacionávelparaváriosobjetivos.Algunsexemplossão:apesquisadenegócios

e/oumercados,avaliaçãoemelhorianaeficiênciaeeficáciadeumwebsite,ounaquantificação

daeficáciadecampanhasdemarketing.

Efetivamenteépossíveldeformaestruturadaesistematizada:

• Avaliarquantitativamenteaqualidadedeumwebsite;

• Realizaranálisescomparativas;

• Identificarpadrõesdowebsite;

• Demonstraralinhamentocomobjetivosdonegócio;

• Avaliarexperiênciadeutilização.

AsaplicaçõesWebAnalyticspodemauxiliarnaavaliaçãoderesultadosrelativamenteaoimpacto

decampanhasmesmoemcanaistradicionais(e.g.televisão),poiscadavezmaisestasremetem

para as plataformas digitais que semonitorizadas, alimentarão indicadores passíveis de ser

contrastadoscomosobjetivosdacampanha.

WebAnalytics é utilizado para compreender os padrões de uso do site e de navegação dos

utilizadorese forneceraosgestoresdemarketing ummecanismoperspicazparamelhoraro

desempenhodowebsite.

Complementarmente, ter acesso a informações sobre os utilizadores do website ajuda os

próprios programadores a tomar decisões apropriadas sobre o desenvolvimentodomesmo.

Quantomaisconhecimentodisponívelsobreosutilizadores,mais fácilserásatisfazerassuas

necessidades.(Phippen,Sheppard,&Furnell,2004)afirmamqueaanáliseWebéfundamental

para o sucesso dos websites. Baseado no seu estudo, as organizações que adotaram e

integraramaanáliseWeb têmvindoacolherbenefíciosmúltiploseadescobrir informações

valiosassobreosseusclientes.Oconhecimentodocomportamentodosutilizadorespermite

queumsitepossacriarumarelaçãofortecomomesmo,poistrarásatisfaçãoàsuautilização.

ComojáreferidoasferramentasdeWebAnalyticspermitemarecolhadeinformaçõesmuito

detalhadassobreosvisitantes, incluindoaquantidadedetempogastoemumadeterminada

página,alocalizaçãofísicadeumutilizador,ocaminhodenavegaçãodomesmo,etc.Noentanto

pode ser sensível tirar conclusões definitivas sobre os dados reportados pelas ferramentas.

(Kaushik, 2008) dá o seguinte exemplo: qualquer ferramenta deWeb Analytics indica que

Page 19: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

11

páginasdeumwebsitesãomaisvisitadas,mascombaseemdadosdefluxodecliquesédifícil

dizerseessaspáginastêmrealmenteoconteúdoqueosutilizadoresprocuram.Arazãopara

visitasfrequentespodeserapenasumsistemadenavegaçãoenganosooudesequilibrado.O

quecomplicaaindamaisoproblemaéadiversidadedeutilizadores,poisoswebsitesservem

váriosgruposdeinteressadosaomesmotempoediferentesgrupostêmrazõesdiferentes.A

interpretação das métricasWeb pode inclusive ser muito simplificada quando o efeito de

variáveisintervenientesnãoéconsiderado,estasnãodevemserexaminadasseparadamente,

massimemconjuntocomoutrasmétricasdonegócio.

2.5 FerramentasdeRecomendaçãoeWebAnalyticsNestaseçãosãoabordadasinicialmentealgumasferramentasderecomendação,objetivosdasmesmas e alguns exemplos. Posteriormente as ferramentas deWeb Analytics com maiordestaqueparaaferramentadeWebAnalyticsbasedestetrabalhooGoogleAnalytics.

2.5.1 FerramentasdeRecomendaçãoAsferramentasderecomendaçãoalteramaformacomoosutilizadoresdoswebsitesinteragemcomestes.Aoinvésdesecingiraumaexperiênciaestáticaemqueosutilizadorespesquisamdeterminados conteúdos/produtos, dotam-nos de uma interatividade adicional paraprovidenciar uma experiência melhorada de utilização. As ferramentas de recomendaçãopreveemasnecessidadeseexpectativasdeumutilizadorespecíficocombasenoseuhistóricodevisualizações,pesquisas,comportamentoepreferências,constituindoeconsiderandooseuperfil,operfildeoutrosutilizadoresecaracterizaçãodosconteúdos/produtos.

Pornorma, as listasde recomendaçãoproduzidasnestas ferramentas suportam-senumadeduas abordagens principais: filtragem colaborativa e filtragem com base em conteúdo, cujoprincípioelógicasubjacentesforamjáexpostosnasecçãoderevisãodaliteratura.

Segue-seumabreveapresentaçãodealgumasferramentasrepresentativasnestaárea,focandoosseguintesaspetos:comoestasferramentassãodisponibilizadas,atravésdeumserviçooucomoumaaplicaçãolocal,oscomponentesprincipaisqueasconstituemeasualógicaprincipaldefuncionamento.

PredictionIOOPredictionIOéumserviçodeMachineLearningOpenSourcefornecidoporumservidorquedisponibilizaumaapplicationprogramminginterface(API)àqualépossívelfazerpesquisascombasenosdadoscarregadosquederamorigemaomodeloderecomendação.

PredictionIOécompostopelosseguintescomponentes:

• PlataformaPredictionIO–ConjuntodeferramentasOpenSourceparacompilar,avaliareproduzirresultadoscombaseemalgoritmosdemachinelearning;

• Servidor de Eventos – Camada de Analytics para compilar eventos de múltiplasplataformas;

• Galeria deTemplates –Onde estão disponíveis os diferentes algoritmos demachine

learning.

Page 20: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

12

Comofunciona:

O servidor de eventos coleciona continuamente os dados reportados pelas diferentesplataformas. Posteriormente os dados são tratados pelos algoritmos de machine learningescolhidosdagaleriadetemplatesesãoconstruídosmodelospreditivosquesãocompiladosparaumserviçoWebquerecebefiltroscomoparâmetroserespondecomprevisõesemreal-time.Aarquiteturalógicaestáilustradanafiguraabaixo.

Figura2-Integraçãoentrecomponentes-PredictionIO

(fonte:http://predictionio.incubator.apache.org/start/)

OPredicitionIOprovidenciaummotorderecomendaçãobaseadonaferramentaApacheSparkMLlib'squeporsuavezaplicaoalgoritmodefiltragemcolaborativapordefeito.

GooglePredictionAPIOGooglePredictionAPIéumserviçotodoelebaseadonacloudquepermiteconstruirmodelosdemachinelearning.Providenciaumconjuntodeferramentasdeprevisãoquepodemajudaraanalisar os dados de um determinado modelo para alimentar outras aplicações, tais comoanálisedesentimentosdocliente,deteçãodespam,sistemasderecomendação,etc.

GooglePredictionAPIécompostopelosseguintescomponentes:

• Google cloud storage – Nuvem de armazenamento para a qual omodelo de dadosdefinidopeloutilizadorécarregado;

• API–Serviçoatravésdoqualoutilizadorpodecarregardadosparaacloud storage,formataressesmesmosdadoseposteriormenteefetuarpesquisassobreosmesmos.

Comofunciona:

EmprimeirolugardevesercriadoumprojetonaplataformaGooglecloud.Apósoprojetocriadoépossívelcriarváriosmodelosdetreino,paraissobastacriarumnovo“bucket”comumnomeúnicoecarregarosdadosdetreino(ogoogledisponibilizatambémumaAPI),atravésdaqualépossívelcarregarummodelodadospreviamentedefinido),assimqueomodeloforcarregadoé

Page 21: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

13

possívelconsultaroestadodotreino,sabendoseestejáfoiconcluídoounãoeobterinformaçãoacercadograudeprecisãodosresultadoseoutrosmetadados.

ApósotreinodosdadosédisponibilizadaumaAPIondeépossívelpesquisarporprevisõesemtempo real com base nos modelos treinados, tendo como vantagem o grande nível deperformancepoisarespostadaAPInuncaésuperiora200ms.

Figura3-Integraçãoentrecomponentes–GooglePredicitonAPI

(fonte:https://cloud.google.com/prediction)

2.5.2 FerramentasWebAnalyticsWebsite,blogouaplicaçãomóvel,emqualquerdoscasoséimportantemedireacompanharo

desempenhoeoimpactodecadaumadestasplataformasrelativamenteàutilização/consumo

daofertadeconteúdos/produtos,considerandonãosóoconteúdocomotambémanavegação

subjacente.

Através do acompanhamento das estatísticas e da interpretação destes dados é possível

conhecerosperfisdosutilizadores(porexemplo,quetipodeconteúdosdeleituraapreciamou

não)e, consequentemente, implementarmelhoriasquepermitam tornarowebsite, blog ou

aplicação móvel mais atrativos, indo ao encontro dos seus interesses com uma melhor

usabilidade e experiência de navegação.Há diversas ferramentas nomercado intuitivas que

transformamainformaçãorecolhidanumrelatóriofácildeconsultar.Existemdiferentestipos

delicenciamentodeutilização,sendoalgumasdestas,pelomenosrelativamenteaumconjunto

defuncionalidades,gratuitas.Embaixoapresenta-sealgumadasferramentasmelhorcotadas

deacordocomaFigura7-FerramentasdeWebAnalytics,paraanalisarotráfegodowebsite.

Page 22: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

14

Adobe Analytics (Pago) – O Adobe Analytics é maiscompleto que oGoogleAnalytics, no entanto não existeuma versão gratuita desta ferramenta. O Adobe utilizarelatórios demarketing, de vendas, relatórios de todo ocomportamento do utilizador, entre outros. Trata-se deuma ferramenta que permite a análise em tempo real,funcionandomuitobememdispositivoscomoostablets,smartphonesedesktop.

Piwik (Gratuito) - é um software OpenSource, que permite acompanhar e analisar

várioswebsitesemtemporeal.Paraalémdefornecergráficosetabelasdetalhadassobreas

característicasdosutilizadoresedasuautilização,estaplataformapermiteaindacriarobjetivos

eacompanharcampanhas.UmadasprincipaiscaracterísticasdoPiwiké

que é uma ferramenta bastante personalizável. Por exemplo, o painel

principaléconstituídoporumasériedewidgetsquepodemsertrocados

oureorganizadosdeacordocomaspreferênciasdecadaum.Paraalém

disso,aocontráriodoqueacontececomoGoogleAnalytics,osdadossão

propriedade do administrador, fazendo com que estes não possam ser partilhados com

terceiros.

GoogleAnalytics(Gratuito)–OGoogleAnalyticséaferramentamaisconhecida.Aassinatura

da Google é, muitas vezes, motivo suficiente para esta ser a

primeiraescolhadasempresas.Aacrescentaraistoestáofacto

desergratuito,flexívelefácildeusar,permitindomonitorizarem

tempo real um blog, website ou aplicação móvel e aceder a

gráficos e tabelas com informações detalhadas sobre os

utilizadores,origemdotráfego,etc.Estaplataformadisponibilizaumasériederelatóriospadrão

sobreascaracterísticasecomportamentosdopúblico-alvo,quepodemserpersonalizadosde

acordocomosinteresseseobjetivosdecadaum.

Umadasprincipais vantagensdoGoogleAnalytics, épermitir estabelecerobjetivos,ou seja,

configurarumasériedelinkscomobjetivodeconsultanowebsite.Destaformaépossívelajustar

e avaliar estratégias relativamente a campanhas demarketing digital e/ou experiência de

utilização,facilitandooacessodoutilizadoratéestaspáginas.

O Google Analytics também dispõe de um “mapa de calor” definido como Heatmap que

representa graficamente dados, onde os valores assumidos por uma variável num mapa

bidimensionalsãorepresentadosporcores.Oobjetivoéanalisarasáreasondeosutilizadores

estãofocados,atravésdecliquesemovimentosdorato.

Tendo neste trabalho adotado a utilização doGoogle Analytics, como se justifica na secção

discussão,no finaldestecapítulo,asuaestrutura,abordagemeconceitossãodescritoscom

maiordetalhenasecçãoseguinte.

(fonte:

https://www.adobe.com/marketing-

cloud/web-analytics.html)

Figura4–AdobeAnalytics

Figura5–Piwik (fonte:

https://piwik.org)

Figura6-GoogleAnalytics

(fonte:

https://www.google.com/analytics)

Page 23: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

15

Seguidamente,podemosverificarumatabelacomarelaçãofrequênciadepesquisaecotaçãodas ferramentas de Web Analytics, com origem na plataforma líder Trustradius

(https://www.trustradius.com),ondeoobjetivopassapelapartilhadecriticas/opiniõessobreexperiênciasorganizacionaisnaadoçãodedeterminadasferramentas:

Figura7-FerramentasdeWebAnalytics

(fonte:https://www.trustradius.com/web-analytics)

2.5.3 GoogleAnalyticsAs bibliotecas JavaScript do Google Analytics utilizam cookies HTTP (hypertext tranferprotocol)paraidentificaroutilizadornumwebsite.Estaidentificaçãoocorrearmazenandoumidentificadorúnicoparaqueositepossaleresseidentificadorseoutilizadorvoltarnovamentee desta forma reconhecê-lo com base nos dados colecionados anteriormente. O Google

Page 24: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

16

Analyticsarmazenatambéminformaçõessobreaspáginas,visitasdoutilizador,a frequênciacomqueesteutilizaositeequantotempopermanecenomesmo.

Objetivos

AmissãoprincipaldoGoogleAnalyticséperceberdeumaformageralcomoéqueosutilizadoresse comportamaonavegarpelasdiversaspáginase secçõesdecada siteenãoapenas saberquantosutilizadoresofazem.

Por exemplo, é com base nas informações colecionadas através do Google Analytics quepodemos analisar se os visitantes de um determinado site estão a ter um comportamentodesejadocomorespostaaumadadacampanhademarketingonline.

OGoogleAnalytics apresentavários instrumentosparaquantificaressasavaliações,quevãopara além do simples carregamento e monitorização do código de acompanhamento naspáginas. Um desses instrumentos do Google Analytics são os objetivos. Estes permitemmonitorizarumdesteselementos:

• quantaspessoaschegamaumacertapágina(predefinida);• quantaspessoasficamnosite/paginaumdeterminadointervalodetempo;• quantaspessoasviramumnúmeromínimodepáginasnosite;• quantas pessoas desencadearam um determinado evento (e.g. preencher um

formulário).

Porqueéqueosobjetivosdevemsercriados?

Os objetivos dão-nos uma boa quantidade de informação útil. Com objetivos podemosmonitorizar se as pessoas que estão num determinadowebsite, estão a fazer aquilo que ésuposto estarem a fazer (visitar uma página, uma venda, ver um vídeo, preencher umformulário,etc).Anavegaçãoquelevaàconcretizaçãodosobjetivosoriginaasconversões,i.e.,dosvisitantesquantosatingiramosobjetivosestabelecidosnamonitorização.Nafiguraabaixopodemosverificaracorrespondênciaentreonumerodevisitasetotaldeobjetivoscumpridos.

Figura8-Númerodeconversõesvsnúmerodevisitas

(fonte:http://www.pitstopmedia.com/sem/visits-goal-report-google-analytics)

Page 25: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

17

OsobjetivospodemsercriadosnasecçãodeadministraçãodopaineldoGoogleAnalytics.OutilizadordeveclicaremObjetivos,eparacriarumobjetivo,clicaemNovoObjetivo.Irádispordeumtotalde20objetivos.Seoutilizadorpretendermaisdoque20objetivoterádepagarpelo serviçodeGoogleAnalytics.Nadescriçãodoobjetivo, deveescolheronomee tipodeobjetivo.

Devemsercriadosobjetivosquesejamúteiserelevantes,oquerequerumtrabalhopréviode

algumaanálisee identificaçãode candidatosaosmesmos.Hámuitas coisasqueoutilizador

podemonitorizar,maspodemrevelar-seirrelevantesparaobterinformaçãoquelhevápermitir

terlucroounotoriedadeparaoseuwebsite/negócio.

Éaquiqueserevelaapertinênciadeumaestratégiabempensadaquernasuaimplementaçãoquernasuamonitorização.Terádeserpensadosobreaquiloquesedesejaqueosvisitantesfaçamquandoestãoemdeterminadowebsite.

Dimensões:

OconceitodedimensãoéimplementadonoGoogleAnalyticscomoumatributodescritivoouumacaracterísticadeumobjetoquepoderecebervaloresdiferentes.Porexemplo,umlocalgeográfico poderia ter uma dimensão chamada Latitude, Longitude ouNome da cidade. OsvaloresparaadimensãoNomedacidadepoderiamserSãoFrancisco,BerlimouLisboa.

Browser,Páginadesaída,DispositivoePaíssãoexemplosdedimensõesexibidasporpadrãonoGoogleAnalytics.Asdimensõespodemserexibidasemtodososrelatórios,aindaquesepossamver algumas dimensões diferentes, dependendo do relatório específico e sua customização.Estasdevemserusadasparaajudaraorganizar,segmentareanalisarosdados.

ComoGoogleAnalytics,épossíveltambémcriardimensõescustomizadasparaguardartiposadicionaisdedadosquesãoenviadospormeiodeumcódigodeacompanhamento,usandoaimportaçãodedadosouaGoogleAnalyticsAPI.

Page 26: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

18

(fonte:https://www.google.com/analytics/)

Comoexemplodeumadimensãopodeseranalisadaaorigemdotráfegoeváriaspodemserasanálisesfeitasrelativamenteacadafontedetráfego.Porexemplo,ataxadeabandonopodeseranalisadatantoparaaspessoasquechegamatravésdoGoogleSearchEngine,comotambémparaaquelasqueacedempelaviadoshyperlinks(tráfegoreferenciadooureferral).Asorigensmaiscomunssão:

• TráfegoDireto:sãoaspessoasqueacedemaowebsitecolocandooendereçonomotordebuscaouacedendoaosfavoritos.

• Hyperlinks (outros sites): também chamados de tráfego de referência ou referral.Mostratodososwebsitesdeterceirosquelevaramvisitantesparaoseuwebsite.Nestalista,entramtambémasredessociais,comooFacebookeoTwitter.

• ProcuraOrgânica:mostratodasaspalavraschavequetrouxeramosvisitantesparaositeatravésdoGoogleeoutrosmotoresdepesquisa.

Figura9-GoogleAnalyticscomoumaferramentadegestão

Page 27: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

19

Nafiguraabaixopodemosverificaronúmerodevisitasmensaisagrupadaspelaorigemdosutilizadores:

Figura10-Númerodevisitasmensaisagrupadaspelasuaorigem

(fonte:https://www.rankranger.com/documentation/analytics-traffic-sources)

Asmétricas

Éumamedidaquantitativadosdadosdasdimensões.AsmétricasdoGoogleAnalyticspodemserfornecidasempercentagensounúmerosexatos.NºdePáginasporsessão,Duraçãomédiada sessão e tempo em página são exemplos demétricas noGoogleAnalytics. Abaixo serãodescritosalgunsexemplosdemétricasdisponíveis:

Visitas e visitantes são dois termos que podem facilmente ser confundidos. O número devisitantes(ouvisitantesúnicos)éaquantidadedepessoasquevisitaramdeterminadowebsite,independentementedaquantidadedevezesqueofizeram.Onúmerodevisitasmostraquantasvezes houve acesso aowebsite, sem levar em consideração a quantidade de pessoas que oacederam.Porexemplo,seomesmovisitanteacederaumdeterminadosite3vezesduranteomesmodia,oGoogleAnalyticssóirácontabilizar1visitantee3visitas.Estamétricaéimportantedeseracompanhadapoisrefletediariamenteaaudiênciaqueumsiteouumblogpossui.Porexemplo,umsitequemantémsempreestávelonúmerodevisitantesevisitaspodemostraremanálisequenãoestáaatrairnovosvisitantes,ouqueaspessoasqueestãoaacederaositesãoasmesmas.

OnúmerodevisualizaçõesdaspáginasouaschamadasPageviews,indicamquantaspáginasdowebsiteforamvisitadas,noentantoestamétricaporsisónãoéespecífica.Porexemplo,ter50.000 Pageviews e 100 visitantes numwebsite, é completamente diferente de ter 50.000Pageviewse50.000visitantes.Ambososcasossãoextremosediferentes.Umamétricaqueéderivadadasvisualizaçõesdepáginaseque traz informaçõesmais relevantesemrelaçãoaocomportamentodosvisitantesdosite sãoasvisitasporpágina,pois indica-nosonúmerodevisualizaçõesqueumapáginaobtém.

Page 28: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

20

Ataxadeabandonomostraapercentagemdepessoasqueacedemapenasaumapáginadowebsiteenãocontinuamanavegaçãoparaumasegundapágina.Ataxadesaída,porsuavezmostraapercentagemdevisitantesqueestavamnumadeterminadapáginaesaíramdowebsite,noentanto,aocontráriodataxadeabandono,ataxadesaídanãotememconsideraçãoseé,ounão,aprimeirapáginadowebsitevisualizadaporumvisitante.Peloque,cadaumadaspáginasmaisimportantesdowebsitedeveterataxadesaídaanalisadadeformafrequente,parapoderemserfeitasotimizações.Apercentagemdenovasvisitasmostraquantosdosvisitantesnumdeterminadoperíododetempoestãoa visitarum site pelaprimeira vez. Para analisar estamétrica, épreciso algunscuidados:umataxamuitobaixasignificaquearetençãodositepodeestarnormalizada,porém,podenãoestaraatrairnovosvisitantes,porsuavezumataxamuitoaltasignificaqueositepodeestaraatrairmuitaspessoas,contudoestaspessoasacabampornãoregressaraosite.Assimocruzamentocomoutrasmétricaspodeajudaraesclarecer.Éaindaimportanteperceberqueaidentificaçãodevisitantesnovosedosvisitantesfrequenteséfeitaatravésdeumcookie,esteéguardadonobrowserdovisitantenaprimeiravezqueeleacedeaosite.Quandoestevisitantesetornafrequente,oGoogleAnalyticsreconheceocookieesabequeaqueleutilizadorjáestevealipelomenosumavez.Oqueaconteceéqueestecookiepodeserapagadomanualmente,oudesativado,equandoovisitantevoltaraosite,écontabilizadocomoumvisitantenovo.Apesardenãoseralgocomum,podeoriginarumamargemparaerro.

Relatórios

Noquedizrespeitoaosrelatórios,todossãocompostospordimensõesemétricas.

AstabelasnamaioriadosrelatóriosdoGoogleAnalyticsorganizamosvaloresdasdimensõesemlinhas,easmétricasemcolunas.Porexemplo,estatabelamostraumadimensão(Cidade)eduasmétricas(SessõesePáginas/sessão).

DIMENSÃO MÉTRICA MÉTRICA

Cidade Sessões Páginas/sessão

São Francisco 5.000 3,74

Berlim 4.000 4,55 Tabela1-Exemplodeumrelatórioqueconjugamétricasedimensões(GoogleAnalytics)

2.6 DiscussãoNestecapítulosãodiscutidasasabordagens,métodoseferramentasutilizadosnosdiferentestiposdeWebMiningeemparticularaquelesquesuportamarecomendação.Considerandoosobjetivos do trabalho e o seu enquadramento na vertente deWeb Mining de navegação,consideram-se mais pertinentes os trabalhos que abordam a recomendação suportada emfiltragem colaborativa ou em algoritmos de identificação de regras de associação. Contudo,ambostêmlimitaçõesinerentesqueforamdiscutidasequeseprendemcomanecessidadedevolume de dados não dispersos e no caso das regras da associação ainda também com a

Page 29: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

21

impossibilidade prática de contemplar a ordem dos fluxos de navegação (i.e., da sequênciaordenadados itensconstantesna(esquerda)daregra).Adicionalmentequalquerabordagemsuportada em algoritmos de Data Mining tem inerentemente um enfoque na extração defeaturesquecaracterizamgrupose/ousegmentosrequerendoparatal(volumede)dadossobremuitas,nemsempreacessíveis,variáveis.Emalternativa,poderiamserconsideradosalgoritmoscapazesdemodelardadoscommenordimensão/volume,todavia,estesmuitasvezesacabamporgerarmodeloscomfracopoderexplicativoreal.

AsnovasalternativasemergentesdatradicionalabordagemOLAPfocadasnasestatísticasdenavegação (e não no utilizador) parecem constituir a alternativa considerando o âmbito dotrabalho(Alves&Belo,2004).Destaformaépossívelinquirirosdadospersistidosrespeitantesànavegação,queao contráriodealgunsmodelosobtidospor recursoa técnicasdeMining,estarãosemprealinhadoscomautilizaçãorealatual.Relativamenteàquestãodaperformance,à medida que estes dados tenhammais dimensões (variáveis) e volume de registos, que éjustamenteamotivaçãoparaasintetizaçãoqueosalgoritmosdeMiningpodemrealizar,estapode ser ultrapassada considerando restrições de dimensões e período temporal que sepretende em cada solicitação, atendendo às necessidades e contexto, facto que leva a ummodelo, e consequente implementação, parametrizável como proposto a partir do capítuloseguinte.

Esta é a orientação base das ferramentas Web Analytics eleitas, em particular, o GoogleAnalytics,adotadocomobasenodesenvolvimentodestetrabalho.Estaspermitemarecolhaeorganizaçãodedadosassimcomoasquestõesrelacionadascomagestãododesempenhoacimareferida.

Assumidamente, com esta abordagem não se encontram necessariamente padrões ocultos,nem se sintetizam características de grupo de utilizadores e/ou conteúdo, mas realizam-serecomendaçõescombaseempadrõesrealmenteexistentestenhamestaqualquerordemderepresentatividade.Ficaassimofoco,deacordocomoâmbitodotrabalho,noemparelhamentodanavegaçãodoutilizador(noseucontexto,qualquerqueesteseja)nopadrãoexistentemais“conveniente”emcadamomentoàmedidaquesecolecionaoseuprópriopadrão.Sendoquea “conveniência” neste trabalho se refere à experiência de utilização melhorada face aosobjetivosdenavegaçãoestabelecidosparaowebsite.

3 RecomendaçãosuportadaemWebAnalyticsUmutilizadorquandoprocuradeterminadowebsitepressupõe-sequeoconteúdodomesmosejadoseuinteresse,noentanto,aformacomoosconteúdosestãodispostosouanavegaçãoimplícita do mesmo pode não estar de acordo com as necessidades ou expectativas dosutilizadores, para isso existem e podem ser definidosKPI´s (key performance indicator) quepermitemavaliaretirarconclusões,relativamenteaocaminhoqueowebsiteestáalevareseesteéopretendido.CombasenoGoogleAnalytics,aferramentabasedestetrabalho,podemosdividirestesKPI´sem2componentes:

AsDimensõessãoessencialmenteascategoriasdosdados,ouseja,definemcaracterísticasdosdados por categorias identificadas e customizadas, por exemplo algumas das dimensõesdisponíveissãootipodeutilizador(novooufrequente),aorigemdoutilizador(owebsitedeondeomesmoéproveniente),onavegadorutilizado,dadosdemográficosdoutilizador(país,

Page 30: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

22

idioma,localidade),etc.AlémdasdimensõesjádisponibilizadaspeloGoogleAnalyticsépossíveltambémcriardimensõescustomizadasealimentá-lascomumalógicaprópriadesenvolvidaparaowebsite.

AsMétricassãoosdadosquantitativosdowebsite,ouseja,onúmerodeutilizadoresquevisitamumadeterminadapágina,otempoempágina,onúmerodesaídas,onúmerodeconversõesparaumobjetivo,onúmerodesessões,etc.

Comreferidonosubcapítulo2.3.3,asdimensõeseasmétricassãoutilizadasemconjuntoparafornecerKPI’s que suportem comparação, pois as dimensões indicam-nos a informação queestamosatratareasmétricas,osnúmerosreaisparacomparação(Ex:onúmerodevisitasdeuma página à data de hoje comparativamente ao número de visitas após um determinadoperíododetempo).

3.1 ModeloPropostoO objetivo do modelo proposto passa por encaminhar o utilizador através de um fluxo depáginas, tendo em conta a página em que este se encontra até à página/ páginas que oadministradordowebsitetenhadefinidocomoobjetivo.Emcadapáginavisitadapeloutilizadoré-lhesugeridaumapáginaseguintequefaçapartedofluxoequeoiráorientaratéumobjetivo,percorrendoomenorcaminhopossível.

Estapáginasugeridaécalculadaatravésdohistóricodeutilizadoresquetenhampassadopelamesmaeatingiramumobjetivo.ComestemodeloprovidenciamosaoadministradordowebsiteumdinamismoquenãoexisteapenascomanálisedoGoogleAnalytics,poiscasoosutilizadoresnãoestejamaatingirosobjetivosdosite,porqueestesnãoserevelamevidentesouhajaumamudançadosmesmos,implicaquesejamtomadasatitudesparainverteratendência.Estapodepassarporredesenharowebsiteparacontemplaranovatendência.

Comestemodeloasrecomendaçõesserãosemprefeitastendoemcontaosobjetivosatuais,ouseja,anavegaçãodoutilizadorserásempreorientadaparaosmesmoseoutilizadornãoserádesviadodocaminhopretendido.

Note-seque,comestaabordagemaredefiniçãodowebsitepodeserobviado,masmesmoarevelar-seimprescindívelexisteumperíodotemporalatéàsuaimplementaçãoeimplantaçãocujodesalinhamentodanavegaçãodoexistentecomosobjetivosatuaiséminimizado,pelasrecomendaçõesquesereajustam.

Subjacente ao mecanismo de recomendação está a definição inicial pelo administrador doobjetivodowebsite,materializando-osnoGoogleAnalytics.Comestabase,semprequeumapágina é visitada por um utilizador a GoRecommendJS, que implementa o modelo (aimplementaçãoédescritanocapitulo4),fazumpedidoderecomendações(recorrendoàapidoGoogleAnalytics)paraproporaspáginasparaoutilizadorvisitarseguidamente.

Alógicasubjacenteaomodelopropostocontemplaaverificaçãoseapáginaparaaqualforampedidasrecomendaçõeséjáumapáginaobjetivoeéentãoumapáginadeabandononatural,casoemque,nãoserãoproduzidasrecomendações.

Caso contrário, são solicitadas ao Google Analytics as páginas seguintes à página atual,ordenadas pelo número de utilizadores por forma descendente (elegendo as 5 primeiras –

Page 31: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

23

configurável) em que nesse caminho tenha ocorrido uma conversão para um objetivo. Estasolicitação aoGA é formulada atendendo a um conjunto de parâmetros (configuráveis) quepodemenriquecera lógicadomodelonaelaboraçãodasrecomendações.Osparâmetroseoseusignificadosãoapresentadosseguidamente:

• (Opcional) Data de Início: baliza o período sobre o qual serão calculadas asrecomendações;

• (Opcional)Tipodedispositivo:defineseasrecomendaçõesdevemserdelimitadaspelomesmo tipodedispositivoounão,oGoogleAnalytics classificaosdispositivosem3categorias:desktop,tabletemobile;

• (Opcional) Idioma: define se as recomendações devem ser delimitadas pelomesmoidiomaounão;

• (Opcional)Pais:defineseasrecomendaçõesdevemserdelimitadaspelomesmopaísounão;

• (Opcional) ChavedaDimensão customizadapara calcular o tempoempágina: estavariáveléutilizadaparacalcularotemporealemqueoutilizadordedicaasuaatençãoaowebsite,otempoqueapáginanãoestáemfoconãoécontabilizado.EstachaveéobtidaaocriarumadimensãopersonalizadanoGoogleAnalytics;

• (Obrigatório) Chave da propriedade: também identificada como código deacompanhamento, é o código único de acompanhamento dowebsite por parte doGoogleAnalytics,todasaspesquisasserãofeitascombasenestecódigo.

3.2 LógicadeNotificaçãoO modelo desenvolvido contém uma preocupação adicional/complementar à geração dasrecomendações.Emtermosdeexperiênciadeutilizadornãoénegligenciável,a intrusãoquepoderácausaraapresentaçãodasrecomendaçõesaoutilizador.

Assim,foi igualmentedesenvolvidaumalógicaassociadaàapresentação/disponibilizaçãodasrecomendações.

ParatalésolicitadoaoGoogleAnalyticsquaisostemposdeabandonodapáginaatual,calculadaamédiaeoseudesviopadrão,ecombasenestesfeitoumcálculoparaotempodeatrasoquecondicionaquandoasrecomendaçõesdevemserexibidas.

AimplementaçãodestalógicaéfeitapelaGoRecommendJSquequandorecebearespostaporpartedoserviçoGoRecommend,criaumeventocomoatrasoremetidopelomesmo.QuandoesteeventoéexecutadoowidgetdaGoRecommendentranapáginacomumaanimaçãodedestaqueparaquesuscitealguminteressesemserdemasiadointrusivo,ficandoapenascomoíconenofinaldaanimação.

Ao clicar nesse mesmo ícone do widget é disponibilizado ao utilizador uma lista com asrecomendações existentes, ordenadas pela recomendação que mais converteu até àrecomendação que menos converteu. Caso o utilizador já tenha clicado em alguma dasrecomendaçõesestasdescemparao fimda listamantendo sempreaordenaçãopelomaiornúmerodeconversõescasotenhaclicadoemmaisqueuma.

Alémdissoowidgetprovidenciaaoutilizadoralgumasopçõesdecustomizaçãoparaquesejamaisflexíveldeacordocomaspreferênciasdoutilizador.

Page 32: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

24

Botõesde+e-,quepermitemaoutilizadordiminuironúmerodeelementosdalistaatéummínimode1ouaumentaronúmerodeelementosdalistaatéaonúmeroderecomendaçõesexistentes.

Botõesdeaumentarediminuiratrasocomqueanotificaçãoéexibidacomummínimodeatrasode 0 ou com um máximo de atraso correspondente ao valor originalmente calculado(parametrizávelemfunçãodamédiaedesviopadrão).Cadacliquenosbotõesaumentaoureduzem10%dovalorcalculado.

Oconjuntodeparâmetrosquepermiteaflexibilizaçãonaconfiguraçãodalógicadenotificaçãoéapresentadoedescritoembaixo:

• (Opcional)Posição:pordefeitooelementoéposicionadonocantosuperiordireito,épossívelcolocaroelementoemqualquerumdos4cantosdapágina;

• (Opcional)Cordefundo:permitedefiniracordefundodowidget;• (Opcional)Cordetexto:permitedefiniracordotextoeícones;• (Opcional)Titulo:par“chave–valor”quepermitedefinirotitulodowidgetqueaparece

notopodalistagemdeacordocomoidioma,emqueachaveéocódigodoidiomaeovalorotituloemquestão.

Page 33: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

25

3.3 SíntesedoModeloParasintetizaromodelorecorre-seaumdiagramadesequênciasdesenhadoabaixosegundoalinguagemUML(UnifiedModelingLanguage),que permite representar um sistema de forma padronizada, com o intuito de facilitar a compreensão antes da implementação.

O diagrama de sequências por sua vez representa a sequência de mensagens entre osparticipantes, onde o tempo decorre para baixo e mostra o fluxo de contacto entre osparticipantes.Atravésdestefluxosequencialépermitidoaoleitorvisualizardeformasimplesoconjuntodeaçõessubjacenteàlógicadomodeloquernageraçãoderecomendaçõesquernasuadisponibilização.

Figura11-Síntesedomodeloproposto

Page 34: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

26

4 ProtótipoDesenvolvidoTal como descrito anteriormente, o objetivo do modelo passa por encaminhar o utilizadoratravésdeumfluxoqueoguieatéumapáginadefinidacomoobjetivopeloadministradordowebsite, sugerindo a(s) página(s) seguinte(s). Este fluxo é calculado através do histórico deutilizadores que atingiram o objetivo, histórico este que é obtido recorrendo à ferramentaGoogleAnalytics,apósaferiçãodofluxodenavegaçãoasrecomendaçõessãodisponibilizadasaoutilizadoratravésdeumwidgetquedeverásercontempladonowebsite.

AntesdeexplicaraarquiteturadasoluçãoéimportanteaindaesclareceralgumasmétricasdoGoogleAnalytics quenomeuentenderdeviamser complementadase tiveram influêncianodesenhodasolução.

O tempo em página é um desses casos, pois o GA calcula o tempo em página através dodiferencialdetempoentreaentradanumapáginaeumcliqueparaoutrapáginadomesmowebsite,ouseja,mesmoqueoutilizadorestejafocadonoconteúdodeumapáginaedemorealgunsminutosnamesmacasonãovisiteoutrapáginaotempocontabilizadoéiguala0,estecalculonãoéfeitonoeventodesaídadapáginaoudobrowserporquenãoégarantidoqueanotificaçãoassíncronasejaentregueantesdofechodapágina/browser,alémdissoexisteaindaoutrafalhanestemétododecálculoquepassapornãoterumanoçãoexatadotemporealqueoutilizadoresteveempáginapoisestepodeterowebsiteabertonumaabaeessamesmaabaestaremsegundoplanoouminimizada,ouseja,outilizadornãoestáefetivamenteaconsultarowebsiteapesardeteromesmoaberto.Existemalgumasabordagensquepassamnãosóporminimizar esta perda de dados,mas tambémotimizar osmesmos para que estejamomaispróximospossíveldarealidade.

Umaabordagempassaporcriareventoscom intervalosde tempoesemprequeeste forematingidosnotificaroGoogleAnalyticsedestaformaépossívelenquadrarostemposempáginaemintervalosdetempo,ouseja,comoexemplosãocriadosnoGoogleAnalytics3eventos,ointervalode0 – 10 segundos, 11– 30 segundos emais de30 segundos, após a criaçãodoseventoséadicionadaadevidalógicaaowebsitequenotificaoGoogleAnalyticssemprequeumintervaloéatingido.

Outra abordagem passa por utilizar a função javascript “sendBeacon”, que permite efetuarpedidosdeformaassíncronaemsegundoplano,quandoobrowseré fechadoedesta formaconseguimosnotificaroGoogleAnalytics,alimitaçãodestafunçãoéasuacompatibilidadecomosbrowsers, nestemomento sóé suportadaemGoogleChromeeFirefox, por issodeve sercomplementadautilizandooeventoonBeforeUnloadchamadoimediatamenteantesdofechodobrowsereefetuaranotificaçãodoeventoaoGoogleAnalyticsdeformasíncrona.

Aabordagemutilizadaparaodesenhodasoluçãofoiaúltimaabordagemporsetratardeumaabordagemmaisotimizadaquepermitechegaravalores reaisenãoa intervalosdevalores,contemplandotambémumamaiorcoberturadecompatibilidadesdeformaaqueaperdanosresultadossejamínima.Alémdissoomodeloterátambémumalógicadeeventosemquesócontabilizaotempoempágina,otempoemqueoutilizadorestáefetivamenteaconsultarapáginaenãootempoemqueestaseencontraembackground.

Page 35: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

27

4.1 ArquiteturaGeralPara o desenvolvimento da solução foi projetada uma arquitetura que se divide em 3componentes:

Figura12-Arquiteturadomodeloproposto

GoRecommendJS:

• Objetivo:BibliotecaJavascriptembutidanowebsite,responsávelpornotificaroGoogleAnalyticsdoseventosqueocorremnomesmo,emparaleloé tambémaresponsávelpelacomunicaçãocomoserviçoGoRecommenddesenvolvido,pedindorecomendaçõesparaowebsite.

• Especificações:o Javascript

o BibliotecajQuery(versão1.9.1)(Dependência)

GoRecommend:

• Objetivo: Serviço responsável por toda a lógica de consulta no Google Analytics eformatação dos dados para construção das recomendações que são disponibilizadasatravésdeumaapi.

• Especificações:o ApacheWebserver

o Php5.5.23

o Symfony2.7.12

o REST

GoogleAnalytics: repositóriodedadosdowebsite, colecionatodasasnotificaçõeseeventosreportadospelaGoRecommendJS,consultadosmaistardepeloserviçoGoRecommend.

Page 36: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

28

4.2 GoRecommendDesenvolvidanalinguagemdeprogramaçãoPHP,comrecursoàFrameworksymfony.

DescriçãodoserviçoGoRecommend:

Endpoint:{{base_url}}/recommendation

MétodoHTTP:GET

ParametrizaçãoObrigatória:

• path: o caminho relativo da página sobre o qual será feita a recomendação ex.:“/contact”.

• start_date: a data de início por onde se devem começar a procurar resultados, pordefeitoiniciaem365diasantesdadataatual(365daysAgo).

• language_code:CódigoISO639doidioma,parâmetroutilizadocasoolanguage_filtersejaativado.

• device_width:Alarguraempixéisdodispositivo,estevalorseráenquadradodeacordocom a lógica do GA numa categoria (< 600px = mobile, >= 600px e <= 1024 =tablet,>1024=desktop),esteparâmetroéutilizadocasoodevice_filtersejaativado.

• web_property_id:tambémidentificadacomocódigodeacompanhamento,éocódigoúnicodeacompanhamentodowebsiteporpartedoGA,todasasconsultasserãofeitascombasenestecódigo.

ParametrizaçãoOpcional:

• real_time_on_page_key:nomedadimensãocustomizadadoGAparaconsultarovalorrealdetempoempágina,casonãosejadefinidoseráutilizadaavariávelpordefeitodoGoogleAnalytics“timeOnPage”.

• country_filter: define se os resultados devem ser delimitados pelomesmo país, pordefeitoo valor é 0 (não filtrar), caso sepretenda filtrar atribuir o valor 1. CasoesteparâmetrosejaativadoseráutilizadaabibliotecaMaxmindGeoIPparacalcularopaísdeacordocomoipdoutilizador.

• device_filter: define se os resultados devem ser delimitados pelo mesmo tipo dedispositivo,pordefeitoovaloré0(nãofiltrar),casosepretendafiltraratribuirovalor1.

• language_filter:defineseosresultadosdevemserdelimitadospelomesmoidioma,pordefeitoovaloré0(nãofiltrar),casosepretendafiltraratribuirovalor1.

Page 37: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

29

LógicadeRecomendação:

SemprequehajaumpedidoaoserviçoGoRecommendesteverifica seapáginaatualéumapáginadeabandonoenãoéumapáginadeobjetivo,casonãosatisfaçaumadestascondiçõesnãohaverárecomendaçãosendoenviadoumalistavazia.Casosatisfaça,oGoRecommendfazumpedidoaoGoogleAnalyticscomosseguintesparâmetros:

• Dimensões:o ga:previousPagePath–Páginaanterioro ga:pagePath–Paginaatualo ga:pageTitle–Titulodapáginaatual

• Métricas:o ga:users–Númerodeutilizadores

• Filtros:o ga:previousPagePathigualaPáginaatualo ga:pagePathdiferentedaPáginaatual (Nãohárecomendaçãoparaamesma

página)

Ouseja,sãosolicitadosaoGoogleAnalytics todasaspáginasanterioresquecorrespondamàpáginaatual,páginasatuaisquanãocorrespondamàpáginaatual(nãorecomendamosparaamesmapágina),títulosdaspáginasatuais,ordenadospelonúmerodeutilizadoresporformadescendenteemquenessefluxotenhaocorridoumaconversãoparaoobjetivo.

OserviçoGoRecommendguardaosvaloresobtidospeloGoogleAnalyticsdiariamenteemcache,ouseja,paraumadeterminadaparametrizaçãosóéefetuadoumpedidopordiamesmoquehajammúltiploscarregamentosdiferentesdepáginasdowebsite.

Os dados são formatados para serem enviados e de seguida oGoRecommend pergunta aoGoogleAnalyticsquaisostemposdeabandonodapáginaatual,calculaamédiaeoseudesviopadrãoeobtémotempodeatrasosobreoqualasrecomendaçõesdevemserexibidascombasenaseguintefórmula:

abs(MEDIA-0.6*DESVIO_PADRAO)

Valorabsolutodasubtraçãodamédiapor60%dovalordodesviopadrão

Page 38: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

30

Finalmenteéretornadaalistaeodelaycomqueestadeveserapresentada.Abaixoumexemploderespostadoserviço.

ExemplodeRespostadoserviçoGoRecommend:

4.3 GoRecommendJSGoRecomendJS é uma biblioteca desenvolvida com base na linguagem de programaçãoJavascript,estabibliotecaintegracomoserviçoGoRecommendqueapósconfiguraçãoporpartedoadministradordowebsitecombasenumconjuntodeparâmetrosqueserãodescritosabaixodisponibilizaumacamadarepresentacionalcombasenumwidgetqueindicaasrecomendaçõesdisponíveis para uma determinada página dowebsite e alguns botões de configuração quepermitemumamaiorflexibilidadedomesmoperanteoutilizador.

Localização:{{base_url}}/js/go-recommend.js

ParametrizaçãoObrigatória:

• web_property_id:verparâmetroweb_property_iddoponto4.2

ParametrizaçãoOpcional:

• start_date:verparâmetrostart_datedoponto4.2• language_filter:verparâmetrolanguage_filterdoponto4.2• device_filter:verparâmetrodevice_filterdoponto4.2• country_filter:verparâmetrocountry_filterdoponto4.2• real_time_on_page_key:verparâmetroreal_time_on_page_keydoponto4.2• position_x:posiçãodoelementonoeixodox,pordefeitooelementoestáencostadoa

direita,podeserconfiguradoparaaesquerdacomovalor“left”.

{

"suggestions":[

{

"url":"/example1",

"title":"Exemplo1",

"weight":"43"

},

{

"url":"/example2",

"title":"Example2",

"weight":"21"

},

],

"delay":3.634

}

Figura13-ExemploderespostadoserviçoGoRecommend

Page 39: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

31

• position_y:posiçãodoelementonoeixodoy,pordefeitooelementoestáencostadoaotopo,podeserconfiguradoparaofimdapáginacomovalor“bottom”.

• background_color: cor de fundo do widget, pode ser configurado com o códigohexadecimalourgbdeumacor.

• color:cordotextodowidget,podeserconfiguradocomocódigohexadecimalourgbdeumacor.

• titles: lista composta por pares chave-valor, em que a chave é o código ISO 639 doidiomaeovalorotitulodowidgetcorrespondente,casoachavenãosejafornecida,otitulo será assumido por defeito quando não haja um idioma correspondente, porexemplo:[{value:“Recommendations”},{key:'pt-pt',value:”Recomendações”}],paraosnavegadoresemqueoidiomaépt-ptseráexibido“Recomendações”,paratodososoutros “Recommendations”, caso este atributo não seja fornecido será assumidosempreovalor“Recommendations”.

LógicadeRecomendação:

Semprequeapáginaécarregada,aGoRecommendJS,carregatodasassuasdependênciasefazumpedidoaoserviçoGoRecommendporrecomendações,casoalistanãovenhavaziaécriadoumeventocomoatrasodefinidopelomesmo,quandoesteeventoéexecutadoowidgetentranapáginacomumaanimação.

LógicadeConfiguração:

Owidgetprovidenciaaoutilizadoralgumasopçõesdecustomizaçãoparaquesejamaisflexíveldeacordocomasopçõesdoutilizador.

Botõesde+e-,quepermitemaoutilizadordiminuironúmerodeelementosdalistaatéummínimode1ouaumentaronúmerodeelementosdalistaatéaonúmeroderecomendaçõesdisponíveis.

Botõesdeaumentarediminuiratrasocomqueanotificaçãoéexibidacomummínimodeatrasode0,oucomummáximodeatrasocorrespondenteaovalor calculadopeloGoRecommend.Cadacliquenosbotõesaumenta/reduzem10%dovalorcalculadopeloGoRecommend.

LógicadeCálculodeTempoemPágina:

Quandoapáginaécarregada,aGoRecommendJScomeçaacontarotempoempágina,acada500msocorreumeventodeverificaçãodoestadodapágina,casoestaestejaemsegundoplanoocontadorpara,noentantooseventoscontinuamaocorrer,casooutilizadorvolteàpáginaomesmoeventoocorreeocontadorcontinuaasuacontagem.Quandoapáginaforfechadaqueresteja em segundo plano ou não, é enviado para o GA o valor real em página através dosmétodossendBeacon(casosejasuportado),ouatravésdacombinaçãodométodobeforeunloadcomumachamadasíncronaaoGA,destaformaconseguimosgarantirumamaiorprobabilidadedesucessonoenviodosdados.

Page 40: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

32

ExemplodeutilizaçãodabibliotecaGoRecommendJS:

Importaroseguintecódigonofinaldapágina:

4.4 DescriçãoFuncionaldeAplicaçãoPara a demonstração da aplicação foram utilizados dados reais, contudo por questões deconfidencialidade estes dados forammascarados e incorporados num layout gratuito comamesma estrutura de navegação que o original. Ao longo desta seção tem-se como objetivoapresentaraexperiênciadoutilizadorrelativamenteaowidgetderecomendaçõesapresentado.

A estrutura para a demonstração contempla as seguintes páginas: Homepage, ‘Sobre nós’,‘Contactos’, ‘Portfolio’e ‘Forma’.Será tambémcontempladaapágina ‘Portfolio’ configuradapeloadministradordowebsitenoGoogleAnalyticscomopáginadeobjetivo.

Inicialmenteé apresentadoo conjuntodeanimaçõesquedãoentradaaowidget napágina,depois a dinâmica das recomendações nas diferentes páginas e finalmente o impacto dainteraçãodoutilizadorcomasaçõesdeconfiguraçãodisponíveisnowidget.

<scriptsrc="//{{base_url}}/js/go-recommend.js"></script>

<script>

GoRecommend.init(

{

real_time_on_page_key:'ga:dimensionX',

web_property_id:'UA-XXXXXXXX-X',

device_filter:1,

language_filter:1,

country_filter:1,

background_color:'#FFF',

color:'#000'

}

);

</script>

Figura14-ExemplodeimplementaçãodabibliotecaGoRecommendJS

Page 41: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

33

Segue-seaapresentaçãodosscreenshotserespetivasdescrições:

1. Páginainicialantesdocarregamentodasrecomendações.

2. Aapresentaçãodowidgetaumentagradualmenteaetiquetaatéàtotalvisibilidadedotitulo e posterior diminuição até onde fica apenas o ícone. Para este caso oadministradordowebsiteconfigurouaGoRecommendJScomascoresdefundobranco,deletraapretoeposicionou-onocantosuperioresquerdosegundoaparametrizaçãodescritanoponto4.3.

3. Estadofinaldowidgetapóstérminodaanimaçãodeentrada

Page 42: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

34

4. As recomendações, onde o fluxo que corresponde em mais conversões a partir dahomepageéparaapágina‘portfolio’,sendoestaapáginaobjetivodowebsiteencontra-sena 1ª posição.De seguida as páginas commais conversões são respetivamente apágina‘Sobrenós’e‘Contactos’.EstaseriaarecomendaçãodaGoRecommendparaaHomepage. Tal como podemos verificar ainda a página ‘Sobre nós’ não se encontradisponívelàprimeiravistanomenu,umdoscasosemqueowidgetderecomendaçãoéumamaisvalia.

5. Omesmocasodarecomendaçãoanterior,masdestavezoutilizadorutilizouobotão na configuração dowidget indicando que pretende receber apenas as 2 primeirasrecomendaçõesdisponíveisenãomaisqueisso.Passoutambématerobotão ativo,podendoassimreporaslinhasdisponíveisatéaonúmerodisponívelderecomendações.Para os exemplos seguintes será restaurado o número de linhas para o número derecomendaçõesdisponíveis.

6. Nesteexemploédemonstradoaalteraçãonasrecomendaçõesnumcontextodiferente,ouseja,navega-separaapágina‘Contactos’eépossívelverificarqueapágina‘Portfolio’(Objetivo) consta na primeira posição das recomendações, sendo a que converte osutilizadores.Apágina‘Sobrenós’mantem-senasegundaposição,ouseja,aspessoasquemaisconvertememsegundolugarvisitamapágina‘Sobrenós’posteriormenteàpágina de ‘Contactos’. É possível verificar também que a página ‘Forma’ é uma

Page 43: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

35

recomendaçãoquenãoconstavanaHomepage,oquepodelevaraduasconclusões:1)nãoexistemvisitasàpáginaformaapartirdaHomepage,2)apesardeexistiremvisitasàpáginaformaapartirdaHomepagenãoexistemconversõesemqueestasequênciaocorranofluxo.Porultimodeixa-sedeterapágina‘Contactos’comorecomendação,poiséaprópriaetemosaHomepagecomorecomendaçãopoisefetivamenteexistirãoconversõesondeo fluxo de navegação contenha a passagem pelaHomepage com origem na página‘Contactos’.

Apenasnãofoipossíveldemonstrarasaçõesdosbotões ,quepermitemaumentaroudiminuiratraso com que a notificação é apresentada pois trata-se de lógica de eventos não sendopossível demonstrar através de imagens, no entanto a lógica associada a estes botões estádescritanoponto4.3.

5 AnáliseeDiscussãodosDadosObtidosNestasecção,numprimeiropontoéidentificadaaabordagemadotadanaavaliaçãodotrabalho,assimcomo,osresultadosobtidosnamesma.Numsegundopontosãodiscutidososresultadoseaslimitaçõesidentificadas.

5.1 AbordagemeResultadosAabordagemdeavaliaçãoadotadatemporbaseasseguintespremissas,abaixodescritas:

Tal como descrito em 3.1, sabem-se que o modelo proposto passa pela recomendação aoutilizadordapáginaseguintequeconstedeumfluxoqueoguieparaumapáginaobjetivo.Assimsendoéavaliadooprotótipoanalisandoatendênciadasrecomendaçõesparaoobjetivoatual,ouseja, comoa recomendaçãoécalculadaemtemporealapesquisaéexecutadade formadinâmicacontemplandoosobjetivosqueoadministradordefiniuatualmenteparaowebsite.Nestaabordagemsãoconsiderados2cenários,oprimeiroemqueoadministradordowebsitesubstituiumobjetivoporoutroeumsegundocenárioemqueoadministradorcomplementaoobjetivo já adicionado anteriormente com um novo objetivo, ficando assim com 2 oumaisobjetivos.

Pretende-secomestaabordagemconstataraalteraçãodasrecomendaçõestendoemcontaasalteraçõesqueoadministradorefetuanosobjetivosaolongodotempo.

Page 44: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

36

Talcomoreferidonaapresentaçãodoprotótipoforamutilizadosdadosreaisdanavegaçãodeumwebsiteque,contudo,nãoesteveexpostoaoprotótipo.

Para cada um dos casos descrito será exibida uma tabela com 3 colunas, onde a 1ª colunarepresentaapáginaemqueoutilizadorseencontra,a2ªcolunarepresentaarecomendaçãoeaúltimacolunarepresentaonúmerodeutilizadoresqueconverteramparaobjetivocomestarecomendação. Os dados serão agrupados pela página em que o utilizador se encontra eordenadas de forma descendente pelo número de utilizadores que converteram o objetivo,regrascontempladastambémparaarecomendaçãodomodelo.

5.1.1 1ºCaso–AlteraçãodoobjetivoNoprimeirocasoforamrecolhidososdadosquandooobjetivoeravisitarapágina‘/contacts’.Épossívelverificarqueamaioriadasconversõesocorrediretamenteparaapáginaobjetivo,ouseja,a1ªrecomendaçãofeitaseriaparaaprópriapáginaobjetivo.

Página Recomendação NºdeConversões/ /contacts 1030

/ /forma 60

/ /portfolio 60

/ /sobrenos 60

/forma /contacts 70

/forma /portfolio 40

/forma / 30

/forma /sobrenos 20

/portfolio /contacts 170

/portfolio /sobrenos 110

/portfolio / 20

/portfolio /forma 10

/sobrenos /contacts 120

/sobrenos /portfolio 60

/sobrenos / 30

/sobrenos /forma 30

/sobrenos /contacts 10Tabela2-Recomendaçõesparaapáginaobjetivo'/contacts'

Page 45: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

37

60diasapósaalteraçãodoobjetivo'/contacts'para'/portfolio'foifeitaumanovarecolhadedadosverificandoquea1ªrecomendaçãopassariaaserapágina'/portfolio',ouseja,nota-seumatendênciaclaradasrecomendaçõesparaonovoobjetivo.

Página Recomendação NºdeConversões/ /portfolio 1920

/ /contacts 450

/ /sobrenos 170

/ /forma 20

/contacts /portfolio 80

/contacts / 70

/contacts /sobrenos 60

/contacts /forma 10

/forma /portfolio 80

/forma / 10

/forma /sobrenos 10

/portfolio /contacts 160

/portfolio /sobrenos 120

/portfolio / 90

/sobrenos /portfolio 100

/sobrenos /forma 70

/sobrenos / 60

/sobrenos /contacts 50Tabela3-Recomendaçõesparaapáginaobjetivo'/portfolio’

5.1.2 2ºCaso–AdiçãodeumnovoobjetivoNo segundo caso foram recolhidos os dados quando o objetivo era visitar a página'/pt/contactos'.Épossívelverificaraquimaisumavezqueotopodasrecomendaçõesocorrediretamenteparaapáginaobjetivo,noentantoeporquepodefazersentidocontextualizaroutilizadorantesdeoencaminharparaapáginaobjetivoépossívelverificar,aindaquecomumadiferença substancialmente menor alguns utilizadores posteriormente à página inicialcontinuarempelapágina'/pt/onde-estamos'enãonapágina'/pt/contactos'.

Página Recomendação NºdeConversões/pt/ /pt/contactos 560

/pt/ /pt/onde-estamos 100

/pt/ /pt/empresa/quem-somos 60

/pt/clientes /pt/onde-estamos 60

/pt/empresa/a-nossa-frota /pt/empresa/projectos-de-referencia

60

/pt/empresa/desempenho-da-empresa /pt/empresa/a-nossa-frota 40

/pt/empresa/equipa /pt/empresa/quem-somos 30

Page 46: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

38

60 dias após a criação de um novo objetivo '/pt/clientes' em complemento ao objetivo'/pt/contactos',ficandoassimcom2objetivosfoifeitaumanovarecolhadedadosverificandomaisumavez a tendênciadas recomendaçõesparaosobjetivos '/pt/clientes' aindaqueemmenor escala que '/pt/contactos', pois anteriormente o objetivo '/pt/clientes' não constavasequernasrecomendaçõeseagoranãosóopróprioobjetivotemumarelevânciamuitomaiorparaasrecomendaçõesassimcomoaspáginasrelacionadascomomesmo.

Página Recomendação NºdeConversões'/pt/ '/pt/contactos 470

'/pt/ '/pt/clientes 240

'/pt/ '/pt/onde-estamos 120

'/pt/ '/pt/servicos 60

'/pt/ '/pt/logistica 40

'/pt/clientes '/pt/contactos 60

'/pt/clientes /pt/onde-estamos 40

'/pt/clientes '/pt/empresa/quem-somos 40

'/pt/contactos /pt/clientes 140

'/pt/contactos '/pt/empresa/quem-somos 110

'/pt/contactos /pt/ 90

'/pt/contactos '/pt/servicos 60

'/pt/empresa/a-nossa-frota '/pt/empresa/projectos-de-referencia

70

'/pt/empresa/equipa '/pt/empresa/quem-somos 70

/pt/empresa/projectos-de-referencia

'/pt/empresa/equipa 60

'/pt/empresa/quem-somos '/pt/contactos 70

'/pt/empresa/quem-somos /pt/clientes 60

'/pt/empresa/quem-somos '/pt/empresa/equipa 60

'/pt/empresa/quem-somos '/pt/empresa/quem-somos 60

/pt/empresa/projectos-de-referencia /pt/empresa/equipa 30

/pt/empresa/quem-somos /pt/contactos 230

/pt/empresa/quem-somos /pt/empresa/a-nossa-frota 40

/pt/logistica /pt/frota 40

/pt/onde-estamos /pt/contactos 110

/pt/onde-estamos /pt/ 40

/pt/onde-estamos /pt/servicos 40

/pt/servicos /pt/contactos 170

/pt/servicos /pt/logistica 70

/pt/servicos /pt/onde-estamos 40Tabela4-Recomendaçõesparaapáginaobjetivo'/pt/contactos’

Page 47: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

39

'/pt/empresa/quem-somos '/pt/empresa/desempenho-da-empresa

50

'/pt/empresa/quem-somos /pt/ 40

'/pt/frota '/pt/clientes 90

'/pt/frota '/pt/onde-estamos 40

'/pt/logistica '/pt/frota 70

'/pt/logistica '/pt/empresa/quem-somos 40

'/pt/logistica '/pt/servicos 40

'/pt/onde-estamos '/pt/contactos 140

'/pt/onde-estamos '/pt/clientes 90

'/pt/onde-estamos '/pt/empresa/quem-somos 50

'/pt/onde-estamos '/pt/servicos 50

'/pt/servicos '/pt/logistica 100

'/pt/servicos '/pt/contactos 80

'/pt/servicos /pt/clientes 60

'/pt/servicos '/pt/onde-estamos 50

'/pt/servicos '/pt/empresa/quem-somos 40Tabela5-Recomendaçõesparaaspáginasobjetivo'/pt/contactos’e'/pt/clientes’

5.2 DiscussãoeAnálisedeLimitaçõesTratando-se de um modelo cujo protótipo não foi aplicado numa utilização prática quepermitiriaavaliaroseuimpactoefetivonasrecomendaçõesobrigouàabordagemdeavaliaçãodescritanopontoanterior,nãosendopossívelidentificarainterferênciacausadaaoutilizadoreeventual resistênciaouadoçãoàutilizaçãodowidgetderecomendações.Tambémnão foipossível testar as preocupações no âmbito da experiência de utilização contempladas naparametrização do modelo tais como: atraso na notificação, número de recomendações,posiçãodowidget,etc.

Porúltimo,comonãofoipossívelaplicaroprotótipoedestaformaavaliarasuaeficácianãoexiste termodecomparaçãocomoutrossistemasderecomendação,contudo,contata-sedaavaliaçãoexpressana secçãoanteriorquea implementação segueeficazmenteosprincípioslógicos subjacentes ao modelo proposto. O desempenho do protótipo não se mostra umalimitação,tendoaavaliaçãoreportadatidoporbaseordemdemilharesderegistos,cujotempoderespostanasconsultasaoGoogleAnalyticséinsignificante.

Page 48: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

40

6 ConclusõeseTrabalhoFuturo6.1 ConclusõesA abordagem do protótipo desenvolvido distinguiu-se das abordagens de Data Mining emparticular as regras de associação por: rever o modelo em tempo real, ou seja, como estemodelo tem por base a estatística através de parâmetros previamente definidos econtextualizadosparapesquisapor recomendações combasenanavegaçãodosutilizadoresqueconverteramemobjetivosépossívelfazerrecomendaçãoconstantementeatualizada,aocontráriodasregrasdeassociaçãodeDataMiningquepararecomendaremrealtimetêmquerefazer constantemente o modelo de dados, o que pode implicar grandes perdas naperformance, caso contrário utiliza modelo desatualizado. Outra das vantagens do modeloproposto relativamente às regras de associação é o facto de este contemplar a ordem dasequênciadosdados,poispararecomendação,aordememqueaspáginassãovisitadasédeextremaimportânciapoisseguemumcontexto,nasregrasdeassociaçãodeDataMiningnãoépossívelcontemplarasequênciadadooinflacionardaordemdecomplexidadedaexecuçãodoalgoritmo.

Assimsendoasnovasalternativasfocadasnasestatísticasdenavegação(enãonoutilizador)parecem constituir uma alternativa considerando ser possível inquirir os dados persistidosrespeitantesànavegação,queaocontráriodosmodelosdeMining,estarãosemprealinhadoscomautilizaçãorealatual.Relativamenteàquestãodaperformance,àmedidaqueestesdadostenhammaisdimensões(variáveis)evolumederegistos,queéjustamenteamotivaçãoparaasintetizaçãoqueosalgoritmosdeMiningpodemrealizar,podeserultrapassadaconsiderandoasdimensões,restriçõeseperíodoquesepretendeemcadasolicitação.

Assumidamente,nãoseencontrampadrõesocultos,nemsesintetizamcaracterísticasdegrupode utilizadores e/ou conteúdo, mas realizam-se recomendações com base em padrõesrealmente existentes tenham estes, qualquer ordem de representatividade. Considerando ofoco no emparelhamento da navegação do utilizador, qualquer que seja o seu contexto nopadrãoexistente,éprovidenciadaumaexperiênciadeutilizaçãomelhoradafaceaosobjetivosdenavegaçãoestabelecidosparaowebsiteàmedidaqueospadrõessãoidentificados.

Esta dissertação assumiu como objetivo o desenvolvimento de uma ferramenta derecomendaçãodenavegaçãoincorporávelemqualquerwebsite,quesematerializouatravésda

construçãodeumabibliotecaJavascriptparametrizávelqueatravésdeconsultaaumserviçoserversideproduzidoemparaleloecombasenainteraçãocomaferramentaGoogleAnalyticspossaofereceraosseusutilizadoresrecomendaçõesdepáginasparaumdeterminadowebsite.Estasrecomendaçõessãoobtidascombaseemhistóricodeutilizadoresquefrequentaramasmesmaspáginasevisitaramaspáginasobjetivodefinidaspelosadministradoresdowebsite.Odesenvolvimentodabibliotecaedoserviçoalémdegratificantespelofactodeconsiderarumaferramentaorientadoraedebastanteutilidade,permitiramconsolidaroexercíciodearticulaçãodo desenvolvimento com as linguagensCss, Javascript e Php, assim como a integração comserviçosWebcomoeraocasodoGoogleAnalytics.

Emsuma,consideroestedesenvolvimentoumcontributoparaaidentificaçãodaimportânciadeferramentasdeWebAnalyticseutilizaroseuenormepotencialcomoguiaparaotimizaraexperiênciadosutilizadores.Dadaaimportânciadotemaconsidera-sequemuitoháaindaquepercorrernestaáreasendo,portanto,umcampofértildetrabalhoparaoutrosinvestigadores.

Page 49: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

41

6.2 TrabalhoFuturoAAPI depesquisa doGoogleAnalytics restringe a quantidadededadosque são retornados(sampling) quandoumaconsulta inclui umgrandenúmerode variáveisdepesquisaouumagrandequantidadededados(maisde250000),ouseja,seosdadosdentrodeumdeterminadointervalo excederem um determinado número de resultados osmesmos serão agregados eselecionadosumsubconjunto,chamadosdeamostra.

Paratrabalhofuturoconsiderorelevanteapósutilizaçãopráticadoprotótipo,avaliaroimpactodosamplingnaprecisãodasrecomendaçõesemwebsitesdemaiorconsultaecasonecessáriotomar medidas para prevenir/diminuir o impacto desta restrição, tais como: otimização/alteraçãodaspesquisas,aumentarparametrizaçãodabibliotecaapesardeumadasmedidasjápensadasnodesenvolvimentodesteprotótipotersidoexatamenteapossibilidadedeconfiguraracoberturatemporaldaspesquisas,permitindomanteratualarecomendação.

Outropontoqueconsiderotambémdeextremaimportânciaéodedesenvolvernofuturo,aoníveldaexperiênciadeutilização,avaliarograuderesistênciaouadaptaçãodosutilizadoresaowidgetderecomendação,identificarseoseuobjetivoestáasercompreendidoeoseulayoutaceite,assimcomoassuasfuncionalidadescompreendidas.

Page 50: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

42

Referências

Alves,R.,&Belo,O.(2004).MiningClickstream-BasedDataCubes.InternationalConferenceonEnterpriseInformationSystems.

Alves,R.,Belo,O.,&Costa,F.(2007).MiningClickstream-BasedDataCubes.In11thDatabaseEngineeringandApplicationsSymposium(pp.120–128).IEEE.

Baeza-Yates,R.,Ribeiro-Neto,B.,&others.(1999).Moderninformationretrieval.ACMpressNewYork.

Berendt,B.,Mobasher,B.,&Spiliopoulou,M.(2001).Measuringtheaccuraryofsessionizersforwebusageanalysis.ProceedingsoftheWorkshoponWebMiningatthe1stSIAM

InternationalConferenceonDataMining,7–14.

Chiarandini,L.(2014).CharacterizingandModelingWebSessionswithApplications.PhDThesis.UniversitatPompeuFabra.

Cho,Y.H.,Kim,J.K.,&Kim,S.H.(2002).Apersonalizedrecommendersystembasedonwebusagemininganddecisiontreeinduction.ExpertSyst.Appl.,23(3),329–342.

Dinucă,C.E.(2012).Anapplicationforclickstreamanalysis,InternationalJournalofcomputerandComunications6(1),68-75.

Halfaker,A.,Keyes,O.,Kluver,D.,Nguyen,T.,Shores,K.,&Uduwage,A.(2015).UserSessionIdentificationBasedonStrongRegularitiesinInter-activityTime.ProceedingsofInternationalWorldWideWebConference,410–418.

Hassan,M.T.,&Karim,A.(2011).Impactofbehaviorclusteringonwebsurferbehaviorprediction.JournalofInformationScienceandEngineering,27(6),1855–1870.

HimanshuSharma,H.S.(2016).CompleteGuidetoDimensionsandMetricsinGoogleAnalytics.Disponívelem:9,Setembro,2016,em:https://www.optimizesmart.com/complete-guide-to-dimensions-and-metrics-in-google-analytics

Kasliwal,A.D.,&Katkar,G.S.(2015).WebUsageminingforPredictingUserAccessBehaviour,InternationalJournalofComputerScienceandInformationTechnologies6(1),201–204.

Kaushik,A.(2008).WebAnalytics2.0.Theartofonlineaccountability&scienceofcustomercentricity.RedlineHeidelberg,3(1),1–14.

Kimball,R.,&Ross,M.(2015).DimensionalModelingTasksandResponsibilities.InTheKimball

GroupReader(pp.233–266).JohnWiley&Sons,Inc.

Li,C.(2016).Whendoesweb-basedpersonalizationreallywork?Thedistinctionbetweenactualpersonalizationandperceivedpersonalization.ComputersinHumanBehavior,54,25–33.

Liu,B.,Mobasher,B.,&Nasraoui,O.(2007).WebDataMining:ExploringHyperlinks,Contents,

andUsageData.Springer.ISBN:978-3-540-37881-5.

Mehtaa,P.,Parekh,B.,Modi,K.,&Solanki,P.(2012).WebPersonalizationUsingWebMining:ConceptandResearchIssue.InternationalJournalofInformationandEducation

Technology,2(5),510.

Page 51: Recomendação de Navegação em Portais da Internet como um ... MSIO-Joao... · Recomendação de Navegação em Portais da Internet como um serviço suportado em ferramentas Web

43

Nadi,S.(2011).AHybridRecommenderSystemforDynamicWebUsers.InternationalJournalMultimediaandImageProcessing1(1),3–8.

Nakatani,K.,&Chuang,T.(2011).Awebanalyticstoolselectionmethod:Ananalyticalhierarchyprocessapproach.InternetResearch,21(2),171–186.

Parra, D., & Brusilovsky, P. (2015). User-controllable personalization: A case study withSetFusion.InternationalJournalofHumanComputerStudies,78,43–67.

Phippen,A.,Sheppard,L.,&Furnell,S.(2004).ApracticalevaluationofWebanalytics.InternetResearch,14(4),284–293.

RickAllen,R.A.(2012).WebAnalytics:WhatIsItGoodFor?.Disponívelem:9,Setembro,2016,em:http://meetcontent.com/blog/web-analytics-what-is-it-good-for

Riecken, D. (2000). Introduction: Personalized Views of Personalization. Communications of

ACM,43(8),26–28.

RitaFrade,R.F.(2016).WebAnalytics:Asmelhoresferramentasdewebanalytics.Disponívelem:9,Setembro,2016,em:http://comteudo.webtexto.pt/melhores-ferramentas-analytics

Slimani, T., & Lazzez, A. (2014). Efficient Analysis of Pattern and Association Rule MiningApproaches.InternationalJournalofInformationTechnologyandComputerScience,6(3),70–81.

Srivastava,J.,Cooley,R.,Deshpande,M.,&Tan,P.-N.(2000).WebUsageMining:DiscoveryandApplicationsofUsagePatternsfromWebData.SIGKDD1(2),12–23.

StephaneHamel,S.H.(2012).BigData–WhatItMeansForTheDigitalAnalyst.Disponivelem:25,Julho,2016em:http://online-behavior.com/analytics/big-data.

Suguna,R.,&Sharmila,D.(2013).AnEfficientWebRecommendationSystemusingCollaborativeFilteringandPatternDiscoveryAlgorithms.InternationalJournalofComputerApplications,70(3),37–44.

WebAnalyticsAssociation,W.A.A.(2000).WebAnalyticsDefinitions.Disponívelem:9,Setembro,2016,em:http://www.digitalanalyticsassociation.org/Files/PDF_standards/WebAnalyticsDefinitions.pdf