• Nenhum resultado encontrado

sec¸˜ao, mostraremos como recomendac¸˜oes personalizadas podem ser geradas ao simular os conceitos da filtragem colaborativa dentro da t´ecnica de Passeio Aleat´orio.

5.3

Difus˜ao Baseada em Filtragem Colaborativa

A principal hip´otese das t´ecnicas de recomendac¸˜ao baseadas em filtragem colaborativa ´e que usu´arios que apresentaram interesses por itens similares no passado tendem a apresentar interesses por itens similares no futuro. Modelos de recomendac¸˜ao baseados em filtragem colaborativa atrav´es da vizinhanc¸a de usu´arios j´a demonstraram ser bastante eficientes para a recomendac¸˜ao de POIs em RSBL [YYLL11].

Para que um modelo de recomendac¸˜ao baseado nos K-Vizinhos mais pr´oximos seja im- plementado, ´e necess´ario inicialmente definir uma m´etrica que seja capaz de medir o qu˜ao similares s˜ao dois usu´arios. No nosso caso, dois usu´arios ser˜ao mais similares quanto maior for o n´umero de POIs em comum que ambos visitaram no passado. Da´ı, quanto maior for este n´umero de POIs compartilhados entre dois usu´arios, mais similares eles devem ser.

Neste trabalho, aplicamos a m´etrica de similaridade do cosseno para verificar o qu˜ao similares s˜ao os usu´arios, pois esta mesma m´etrica apresentou bons resultados em trabalhos recentes [YYLL11]. Para que esta m´etrica seja calculada, ´e necess´ario representar cada usu´ario u ∈ U por meio de um vetor ~u com |L| dimens˜oes. Cada posic¸˜ao do vetor ter´a valor igual a 1 para indicar que o usu´ario efetuou um check-in na localizac¸˜ao correspondente aquela posic¸˜ao do vetor, ou 0 caso o usu´ario nunca tenha efetuado um check-in na localizac¸˜ao correspondente; tal como modelado em [YYLL11]. Da´ı, para dois usu´arios u, v ∈ U , a similaridade do cosseno pode ser calculada como descrito na equac¸˜ao 5.4.

simcf(u, v) = ~u · ~v

||~u||||~v|| (5.4) Da forma que foi denifida na equac¸˜ao 5.4, os valores das similaridades entre os usu´arios sempre estar˜ao no intervalo [0, 1]. A similaridade entre dois usu´arios ser´a m´axima, isto ´e igual a 1, quando estes dois usu´arios tiverem feito check-ins exatamente nos mesmos POIs. Ao passo que a similaridade ser´a m´ınima, isto ´e 0, quando os POIs que um usu´ario fez check-ins s˜ao exatamente os POIs que o outro usu´ario n˜ao fez check-in.

5.3 Difus˜ao Baseada em Filtragem Colaborativa 36 Tomando como exemplo os check-ins representados na figura 5.2, ter´ıamos os se- guintes vetores para cada um dos usu´arios: ~u1 = (1, 0, 1, 0, 0), ~u2 = (1, 1, 1, 1, 0) e

~

u3 = (0, 0, 1, 0, 1). Como podemos observar, u1 e u2 visitaram duas localizac¸˜oes em co-

mum (l1 e l3), enquanto u1 e u3 visitaram apenas l3 em comum. Logo, ´e esperado que as

similaridade entre u1e u2seja maior que a similaridade entre u1e u3. Isso pode ser verificado

ao aplicar a equac¸˜ao 5.4. Da´ı, temos simcf(u

1, u2) = 0.7 e simcf(u1, u3) = 0.5.

Uma vez que podemos calcular a similaridade entre dois usu´arios, n˜ao ´e dif´ıcil encontrar os k usu´arios mais similares de um dado usu´ario alvo. Para tanto, basta calcular a similari- dade entre o usu´ario alvo e todos os outros usu´arios, depois ordenar o resultado em ordem decrescente e por fim selecionar os k primeiros usu´arios do ranking.

Ent˜ao, seja Nu o conjunto dos vizinhos (usu´arios mais similares) de um dado usu´ario

alvo u ∈ U ; e LNu =

[

v∈Nu

Lvo conjunto de todos os POIs visitados por todos os vizinhos de

u. Podemos ent˜ao definir o grafo Gcf o qual a aplicac¸˜ao da t´ecnica de Passeio Aleat´orio neste

grafo ir´a ranquear as localizac¸˜oes de forma similar `a t´ecnica de filtragem colaborativa dos K-Vizinhos mais pr´oximos. Para tanto, devemos adicionar arestas entre u e seus vizinhos Nu, de forma que o caminhante do Passeio Aleat´orio seja capaz de visitar as localizac¸˜oes

LNu. Formalmente, Gcf = (Vcf, Ecf ) onde Vcf = {u} ∪ Nu ∪ LNu, Ecf = {(u, v) : v ∈

Nu} ∪ {(v, l) : v ∈ Nu, l ∈ LNu} ∪ {(l, v) : l ∈ LNu, v ∈ Nu} e os pesos das arestas s˜ao

definidos da seguinte forma:

wcf(p, q) =                    simcf(p,q) P v∈Nusimcf(p,v) , se p = u e q ∈ Nu 1 |Lp|, se p ∈ Nu e q ∈ LNu 1 outDegree(p), se p ∈ LNu e q ∈ Nu 0, caso contr´ario

Observe que os pesos das arestas devem ser normalizados de forma que a soma dos pesos das arestas saindo de cada v´ertice n˜ao seja maior que 1, desta forma os pesos destas arestas podem refletir a probabilidade do caminhante utilizar uma dada aresta durante a execuc¸˜ao de um salto no Passeio Aleat´orio. Na figura 5.3 vemos como seria a disposic¸˜ao dos v´ertices e arestas ao transformar do grafo de check-ins da figura 1.1 em um grafo baseado em filtra- gem colaborativa, assumindo u1 como usu´ario alvo e u2 e u3 como seus dois vizinhos mais

5.4 Difus˜ao Baseada em Distˆancias 37

Figura 5.3: Grafo Baseado em Filtragem Colaborativa pr´oximos.

Quanto aos pesos das arestas do grafo da figura 5.3, sabemos que a similaridades en- tre o usu´ario alvo u1 e seus vizinhos u2 e u3 s˜ao, respectivamente, 0.7 e 0.5; por´em como

devemos aplicar normalizac¸˜ao, ent˜ao os pesos das arestas wcf(u1, u2) e wcf(u1, u3) ser˜ao,

respectivamente, 0.58 e 0.42. N˜ao apenas as arestas saindo do usu´ario alvo devem ser nor- malizadas, mas tamb´em as arestas saindo dos vizinhos e saindo dos lugares; por esta raz˜ao temos que os pesos de cada aresta saindo do usu´ario u2 teriam peso igual a 0.25, enquanto

os pesos das arestas chegando em u2a partir dos lugares l1, l2, l3e l4 seriam 1, 1, 0.5 and 0.5

respectivamente.

Ao aplicar o Passeio Aleat´orio no grafo da figura 5.3, encontrar´ıamos no ranking de recomendac¸˜ao para o usu´ario alvo u1 o lugar l4 em uma posic¸˜ao melhor que os lugares l2 e

l5. Isso se d´a pois l4 ´e alcanc¸´avel a partir dos dois vizinhos u2 e u3, enquanto l2 ´e alcanc¸´avel

apenas a partir de u2e l5apenas a partir de u3. Assim, o caminhante ir´a visitar l4mais vezes

que l2e l5.

5.4

Difus˜ao Baseada em Distˆancias

N˜ao ´e nenhuma surpresa que os check-ins dos usu´arios nas RSBL n˜ao s˜ao distribu´ıdos de forma uniforme no espac¸o geogr´afico. O deslocamento do usu´ario de uma cidade para outra, ou at´e mesmo entre diferentes ´areas de uma mesma cidade, geralmente demanda tempo e dinheiro. Por esta raz˜ao, os usu´arios tendem a visitar lugares pr´oximos dos lugares j´a visitados anteriormente [CCLS11; NSMP11].

Sendo assim, precisamos de uma m´etrica para definir o qu˜ao pr´oximos s˜ao dois luga- res, sendo a distˆancia geogr´afica uma escolha ´obvia nesse sentido. Por´em, desejamos uma

5.4 Difus˜ao Baseada em Distˆancias 38 m´etrica que calcule a similaridade entre lugares no intervalo [0, 1] para manter a coerˆencia com o intervalo da m´etrica de similaridade entre usu´arios definida na sec¸˜ao anterior. Sejam l, l0 ∈ L dois lugares os quais queremos medir o qu˜ao similares eles s˜ao de acordo com sua pr´oximidade geogr´afica e dist : L × L → R uma func¸˜ao que calcula a distˆancia, em kilˆometros, entre dois lugares; ent˜ao podemos calcular a similaridade entre lugares da RSBL da forma descrita na equac¸˜ao 5.5.

simdist(l, l0) = min 

1, 1

Documentos relacionados