• No se han encontrado resultados

Aunque la información presente en los perfiles de los usuarios que son almacenados en diversas plataformas pueden proporcionar algún nivel de información sobre las similitudes que pueden existir entre las personas, las investigaciones previas han demostrado que los datos asociados a lasinteracciones entre los individuos son una de las fuentes más impor- tantes al momento de inferir el grado de fortaleza de los vínculos entre las personas. En este sentido, diversas técnicas podrían ser aplicadas para inferir este tipo de información: la reciprocidad de llamadas entre dos usuarios de teléfonos móviles, el número de tweets entre usuarios de Twitter o el intercambio de e-mails entre los individuos [125].

No obstante, las redes sociales proporcionan un espacio mucho más rico para tratar de inferir información sobre la confianza que existe entre las personas a través de un amplio conjunto de interacciones disponibles, lo cual puede representar una radiografía más preci- sa sobre el mapa de las relaciones que existen entre los individuos. En este sentido, aunque otras investigaciones han construido redes sociales propietarias para sus experimentos, el presente trabajo ha tomado como referencia una red pública como Facebook para desarro- llar una aproximación para la inferencia de confianza entre individuos. El uso de Facebook

procura el diseño de una solución más escalable no sólo en el dominio de la publicidad ubi- cua sino también en otros dominios, gracias a su popularidad y aceptación entre millones de usuarios.

Como punto de partida, la presente investigación retoma el trabajo de [73], en el cual los autores presentan un modelo predictivo que relaciona datos de la red social con la fortaleza de las relaciones entre individuos usando un dataset de cerca de 2.000 vínculos, con el objeto de disringuir entre lazos fuertes y lazos débiles. La tabla 4.1 muestra un resumen del modelo para las diferentes variables agrupadas en categorías.

Adicionalmente, el modelo propuesto define un top de 15 variables a partir de las cua- les se puede inferir información de confianza con mayor precisión. Para el propósito de la presente investigación, se compara este top con otros trabajos similares para obtener un conjunto unificado de variables que sirva como punto de partida para el estudio (Figura 4.1). De acuerdo a este análisis, se seleccionaron 7 variables para iniciar la construcción del algoritmo de inferencia de confianza entre dos usuarios A y B. Las variables seleccionadas se muestran en la tabla 4.2.

Predicting Tie Strength with Social Media (Gilbert, 2009)

Tie strength in Q&A on social network sites (Panovich, 2012)

Social network collaborative filtering framework and online trust factors: a

case study on Facebook (Chen, 2010)

Interpersonal trust measurements from social interactions in Facebook

(Li, 2014)

How to calculate trust between SN users? (Podoboknic, 2012)

Using transactional information to predict link strength in online social

networks (Kahanda, 2009) Trust inference Main variables Inbox messages Tag photos Photos tagged Co-tag Comments Likes Wall posts

Figura 4.1: Estado del arte: inferencia de confianza a partir de las interacciones entre usuarios. Fuente Propia.

Con base en los elementos anteriores, se define una primera aproximación para el al- goritmo de inferencia, teniendo en cuenta que el objetivo es construir una ecuación que combine la contribución de todo el conjunto de variables para generar como resultado un score de confianza que luego será integrado al algoritmo de filtrado colaborativo del sistema de recomendaciones; igualmente, la idea es mantener esta aproximación tan simple como sea posible para disminuir el impacto sobre el rendimiento del sistema. De esta forma, dado que la confianza entre dos individuos no es necesariamente simétrica, tomando como base el trabajo de [71] y de acuerdo a la teoría de Utilidad de Atributos Múltiple (MAUT, por su sigla en inglés), se define la confianza que un usuario A tiene en un usuario B de acuerdo a la siguiente expresión:

T

A,B

P IM totIM

P Likes totLikes

P T agsT o totT agsT o

P T agsF rom totT agsF rom

P Cotags totCotags

P C totC

P W P totW P (4.1)

Social variables

Intensity

Wall words exchanged Wall posts

Inbox messages exchanged Status updates Comments Likes Tags Intimacy Number of friends

Days since last communication Wall and inbox intimacy words Appearances together in photos Distance between hometowns Relationship status

Duration Days since first communication

Reciprocal services Links exchanged by wall post

Applications in common Structural Mutual friends Groups in common Similarity of interests Common networks Emotional support

Number of positive words Number of negative words Gifts exchanged

Social distance

Age difference

Occupations difference Educational difference

Political and religious difference

Demographic

Gender

Number of apps installed Number of inbox messages Number of wall posts

Number of photo’s comments

Set inicial de variables para inferencia de confianza

Exchanged inbox messages Likes (from B to A)

Tags to B Tags from B

Cotags (posts where both users are tagged together) Comments (from B to A)

Wall posts (from B to A)

Tabla 4.2:Primer conjunto de variables para inferir confianza desde Facebook.Fuente propia.

Donde

α+β+γ+δ+ξ+θ+φ= 1.

IM hace referencia a los mensajes intercambiados en el inbox,C a los Comentarios,WP a los posts en el muro (Wall posts) y el prefijotothace referencia al total de interacciones para un atributo en particular, por ejemplo la cantidad total de mensajes intercambiados en el inbox por un usuario específico con todos sus amigos. La normalización que tiene lugar al dividir entre el total de interacciones, tiene sentido cuando consideramos la frecuencia de interacción entre individuos como un claro indicador de confianza. Para comprenderlo mejor, se bosqueja el siguiente ejemplo: se supone que el usuario A tiene el número de interacciones que se ilustra en la figura 4.2 con los usuarios B y C. A simple vista, se podría intuir que A confía más en C que en B, pero probablemente esta condición se deba a que C es un usuario más activo que B, luego el nivel de actividad en la red es un parámetro que debería ser tenido en cuenta. Si se asume que B tiene un total de 5 interacciones con sus amigos y C un total de 10 interacciones, cuando se aplica la normalización se observa que casi el el 60 % (3/5) de la interacciones de B se producen con el usuario A, mientras que éstas sólo representan el 40 % (4/10) para el usuario C. Esto significa que la condición de usuario activo tiene un efecto importante en el proceso de inferencia, luego es importante tener una visión global de la actividad de los usuarios en la red, en lugar de enfocarse en la actividad de pares específicos. Otros trabajos han usado aproximaciones similares que sugieren la necesidad de realizar la normalización propuesta [72], [76].

A

B

C

2

1

1

3

Figura 4.2:Interacción de usuarios en una red social.Fuente Propia.

Una vez definida una primera aproximación para el algoritmo de inferencia de confianza, uno de los retos más importantes planteados en la ecuación 4.1 es una estimación correcta de los pesos de cada variable. En la práctica, esta tarea no resulta trivial al punto que varias propuestas han realizado estimaciones empíricas que terminan definiendo pesos subjetivos durante la experimentación [126]. Aunque ésta pueda ser una propuesta aceptable, para el

contexto del presente trabajo se busca un mecanismo que permita combinar variables que se encuentren correlacionadas entre sí; por ejemplo, un tag puede provocar uncomentario

o unlike, así que el número de interacciones de estas variables guarda una relación entre sí. De acuerdo a lo anterior, se decide adaptar el método sugerido por [76], el cual aplica la técnica de PCA (Principal Component Analysis). En términos simples, PCA usa una trans- formación ortogonal para convertir un conjunto de observaciones de variables posiblemente relacionadas, en un conjunto de valores de variables no relacionadas, al encontrar un con- junto reducido de combinaciones lineales para los tipos de interacción en este caso. Como resultado, se obtienen pesos para cada componente independiente, lo cual define la con- tribución de cada tipo de interacción de una forma más objetiva, simplificando a su vez el proceso de cálculo para la obtención de los pesos de cada variable. En este orden de ideas, a continuación se resume el proceso para calcular elscore de confianza para cada uno de los amigos de un usuario específico:

(1) Cálculo de la matriz de interacción: para cada amigoj de un usuarioi (j

Fi), se define

un vector

S~

ij, de tal manera que que cada fila representa la interacción entre un ami-

go j y el usuario i y cada columna representa un tipo de interacción específico (|Fi|

filas y 7 columnas, una por cada variable de interacción). Posteriormente, la matriz es normalizada de acuerdo al análisis realizado previamente.

(2) Cálculo de la matriz de covarianza: durante esta fase, se calculan las posibles relacio- nes entre las variables. Al final, se seleccionan los eigenvectores que corresponden a los eigenvalores más altos, para así obetener una combinación lineal de componentes principales como sigue:

T

j

=

m

X

i=1

λ

i

P

λ

m

×u

i

×Z

ij (4.2)

Z

ijk

=

s

e k ij

−x

¯ k

v

k

,

x

¯ k

=

P

x

k

|F

i

|

,

v

k

=

s

P

(s

kij

−x

¯k

)

2

|F

i

| −1

(4.3)

(3) Cálculo del score de confianza: el score de confianza se calcula en dos pasos:

(a) Se obtiene un score inicial a partir de la contribución de cada componente prin- cipal (ecuaciones 4.2 y 4.3).

(b) A continuación se normaliza el valor obtenido en el paso anterior para desplazarlo a una escala entre -1 y 1 (ecuación 4.4); esto facilita la integración del score de confianza en el algoritmo de recomendación como se verá más adelante en la sección 4.3.

T rust score=

(P CA

score

−P CA

min

)×(Score

max

−Score

min

)

P CA

max

−P CA

min

Una vez definida una primera aproximación para calcular un score de confianza entre usuarios a partir de la información sobre sus interacciones en la red social, se realiza una validación final para incluir la percepción de usuarios reales sobre el rol de cada una de las variables consideradas durante el proceso de inferencia. Con este propósito, se diseña una encuesta dirigida a 57 voluntarios de la empresa SmartSoft Play. Durante el procedimiento, se solicita a los usuarios que seleccionen las variables que a su criterio representan de mejor manera la confianza que se puede tener en otra persona en Facebook; al aplicar la encuesta se simplifica el conjunto de variables a 5 (todas la variables relacionadas con tags, simplemente se representan como tags). La figura 4.3 muestra los resultados obtenidos sobre un total de 145 votos para las 5 variables.

0" 5" 10" 15" 20" 25" 30" 35" 40" 45" 50"

Inbox"messages" Comments" Wall"posts" Tags" Likes"

Figura 4.3:Validación del conjunto de variables para inferencia de confianza.Fuente Propia.

A partir de estos resultados, se puede observar que los mensajes en el inbox (inbox messages), los comentarios (comments) y los posts en el muro (wall posts) son las variables que los usuarios más relacionan con laconfianza hacia otro individuo. Tomando como base esta percepción, se diseña un test deground truth para calcular la precisión del algoritmo de inferencia de confianza de la siguiente manera:

(1) Para cada participante, se calcula el listado de los 10 amigos con los que existe un vínculo de confianza más fuerte (top ten) usando en primera instancia el algoritmo de inferencia que incluye las siete variables definidas inicialmente; en una segunda ins- tancia, se realiza el mismo cálculo pero reduciendo el número de variables de acuerdo a la percepción de los usuarios capturada en la encuesta.

(2) Posteriormente, se solicia a los usuarios que elaboren un listado con su propiotop ten, es decir con los 10 amigos en Facebook con los que perciben un vínculo de confianza más fuerte, ordenando la lista de mayor a menor.

(3) Finalmente, se comparan los resultados del algoritmo (aplicando sus dos instancias) con el listado elaborado por cada uno de los participantes. Específicamente, se realiza una sustracción entre las posiciones entregadas por el algoritmo y el listado de los

participantes, se suman estas diferencias y se obtiene un promedio a partir del cual se procede a realizar el cálculo del porcentaje de precisión respectivo. Específicamen- te, el porcentaje de error se calcula como la relación entre el promedio obtenido en el ranking y la diferencia de error máxima que se puede obtener. Esta diferencia se obtendría si el algoritmo ordenara a los amigos en un orden totalmente inverso de confianza (el número 1 en la posición 10, el número 2 en la posición 9 y así sucesiva- mente); la suma de las diferencias en estos posicionamientos da como resultado 50. A manera de ilustración, la figura 4.4 muestra un ejemplo simple para el cálculo del porcentaje de precisión.

Figura 4.4:Cálculo de porcentaje de precisión del algoritmo de inferencia.Fuente Propia.

En síntesis, la segunda instancia del algoritmo de inferencia de confianza usando los mensajes en elinbox, los comentarios y losposts en el muro, demostró un mejor compor- tamiento que la versión original de acuerdo a la prueba deground truth. No obstante, se decide realizar una nueva inspección incluyendo la contribución de lostags. En la tabla 4.3 se detallan los resultados obtenidos.

Test Variables Método Promedio Precisión

1 Inbox messages, comments, wall posts PCA 18.4 63 % 2 Inbox messages, comments, wall posts, tags to PCA 17.6 65 %

Tabla 4.3:Resultados de la prueba de ground truth para el algoritmo de inferencia de confianza. Fuente propia.

Como se puede observar, en principio la inclusión de información sobre los tags intro- duce una mejora de dos puntos porcentuales, que aunque no es significativa (p = 0.493)

posiciona el valor de precisión del algoritmo en un punto aceptable (cerca del 65 %), tenien- do en cuenta el grado de subjetividad intrínseco que introduce la percepción de los usuarios. De acuerdo a lo anterior, finalmente el algoritmo realiza la inferencia de confianza a partir de cuatro variables de interacción como se muestra en la ecuación 4.5, lo cual reduce la cantidad de recursos computacionales requeridos durante el proceso.

T

A,B

P

IM

totIM

P

T agsT o

totT agsT o+θ

P

C

totC

P

W P

totW P

(4.5)