tesisdegradodeingenieríaen informática...

88
Tesis de grado de Ingeniería en Informática: “Data Mining en el cálculo de Influencia en redes sociales” Tesista: Federico Teodoro Rodríguez Padrón: 88.310 ([email protected]) Director: Dr. Juan M Ale ([email protected]) Facultad de Ingeniería Universidad de Buenos Aires Agosto 2014

Upload: others

Post on 08-Sep-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Tesis de grado de Ingeniería enInformática: “Data Mining en el cálculo

de Influencia en redes sociales”

Tesista: Federico Teodoro RodríguezPadrón: 88.310

([email protected])

Director: Dr. Juan M Ale([email protected])

Facultad de IngenieríaUniversidad de Buenos Aires

Agosto 2014

Page 2: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Resumen

Dentro de las áreas de estudio abarcadas por la minería de datos, aquellasrelacionadas al análisis del comportamiento humano se han destacado históri-camente, y trascendido más allá del ámbito de la computación. En particular,el Análisis de Influencia en Redes Sociales resulta de gran interés para numero-sas disciplinas, como lo son el marketing, las ciencias sociales y políticas, entreotras. Este estudio se basa en encontrar, dentro de una red social determinada,a aquellas personas con mayor ascendencia sobre el resto de los integrantes dela comunidad. Dado que no todos los individuos tienen relación o están vincu-lados con el resto, el principal objetivo perseguido es identificar, dentro de esegrupo de personas, a aquel sub-conjunto que mediante su influencia logre llegaral mayor porcentaje posible de personas.

Cuál es la mejor forma de buscar a estas personas, qué factores deben consi-derarse a la hora de hacerlo y qué información es necesaria para llevar adelanteeste proceso son algunos de los interrogantes más importantes que el Análisis deInfluencia en Redes Sociales presenta. Diversos estudios han abordado esta pro-blemática en los últimos años, llegando en igual medida a consensos y disensos,y encontrando cada uno de ellos nuevos y distintos obstáculos y limitaciones.Dentro de aquellas cuestiones sobre las cuales ha habido prácticamente unanimi-dad en la comunidad investigadora, la principal refiere al mecanismo medianteel cual seleccionar y procesar la información disponible: es una norma en estosestudios la división del proceso en tres etapas secuenciales. En primer lugar, laselección y el formateo de los datos a utilizar; a continuación, el cálculo de losfactores o grados de influencia individual entre los miembros de la comunidad;y por último, la búsqueda y selección de aquellas personas que más influenciaejercen sobre el resto de la población.

Dentro de este marco de consenso, distintos ensayos han encontrado grancantidad de limitaciones, interrogantes y problemas a resolver, los cuales abor-damos en esta tesis y para los cuales presentamos nuevos enfoques, propuestasde mejora y alternativas de resolución. Nos centramos en resolver los proble-mas de performance que el método hoy en día utilizado presenta (y que enocasiones lo convierte inutilizable en la práctica), proponer nuevas técnicas deprocesamiento, incluir conceptos novedosos y superadores en cada una de lasetapas presentadas, brindar un salto cualitativo en los resultados generados e

i

Page 3: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

involucrar al usuario final desde el inicio del proceso.Para validar el trabajo expuesto, desarrollamos una aplicación que imple-

menta todas y cada una de las propuestas de mejora presentadas, y la aplicamossobre un caso testigo con el objetivo de determinar si las mismas logran resolverlas problemáticas planteadas. Evaluamos los resultados, para finalmente obtenerlas correspondientes conclusiones y posibles trabajos futuros.

Palabras clave: influencia, redes sociales, data mining.

Abstract

From all the study areas reached by data mining, those related to the analysisof human behaviour have always occupied a place of high importance and haveadditionally trascended beyond the computing scope. Particularly, the InfluenceAnalysis in Social Networks is specially interesting for many disciplines, suchas Marketing, Social Sciences and Politics. This study’s goal is to find, within aspecific social network, those people with higher levels of preeminence over therest of the community. Since not every person has relation or is linked to therest, the main goal is to identify, within this group, the subset that through itsinfluence can reach the higher number of individuals.

Which is the best way to find this subset, which factors should be consideredwhile doing it and what information is needed to move this process ahead aresome of the most important questions Influence Analysis in Social Networksshould answer. Many studies have dealt with this problem, arriving to similarconclusions as well as different perspectives on key aspects, in addition to findingthrough their research new obstacles and limitations. One of the points almostall of them have agreed on is the mechanism to select and process the availableinformation: they divide the process in three stages. The first of them selectsand formats the data that is going to be used; the second one estimates theindividual influence degrees among the community members; and the last onesearches and chooses those people with higher influence levels.

Within this agreement frame, different studies have found many bounda-ries, questions and problems to be solved, that we tackle in this thesis, andfor which we present new approaches, improvement proposals and resolutionalternatives. We focus on solving the big performance issues this method cu-

ii

Page 4: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

rrently has (turning it practically unusable at times), proposing new processingtechniques, including innovative and comprehensive concepts in each presentedstage, making a leap in the final results and involving the end user from thevery beginning of the process.

To validate the exposed work, we develop an application that puts in placeall the improvements brought forward in this thesis, applying it over a test caseto determine if they solve the current problems the method faces. We evaluatethe results, to finally get the corresponding conclusions and future work.

Key words: influence, social networks, data mining.

iii

Page 5: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Agradecimientos

Muchísimas gracias a mis padres por todo el apoyo brindado a lo largo de estacarrera, por estar siempre a mi lado en este camino de aprendizaje y superación.Sin su ayuda hubiera sido imposible llegar tan lejos. Su sacrificio ha sido siempreuna fuente de inspiración para mi. Gracias a mi hermana y a mi amor, Marian,por su apoyo y motivación tan importantes durante esta última etapa. Graciasa toda mi familia y amigos por ayudarme cada vez que lo necesité. Gracias atodos los profesores de esta honorable casa de estudios, y muy especialmente aldirector de esta tesis, el Dr. Juan M. Ale.

iv

Page 6: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Índice

1. Introducción 11.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Definición del problema . . . . . . . . . . . . . . . . . . . . . . . 11.3. Contribuciones de esta tesis . . . . . . . . . . . . . . . . . . . . . 21.4. Trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Estado del arte 62.1. Influencia en redes sociales . . . . . . . . . . . . . . . . . . . . . . 62.2. Desafío: maximización . . . . . . . . . . . . . . . . . . . . . . . . 72.3. Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.1. Mapa de relaciones . . . . . . . . . . . . . . . . . . . . . . 92.3.2. Log de acciones . . . . . . . . . . . . . . . . . . . . . . . . 112.3.3. Etapa 1: Formación de datos . . . . . . . . . . . . . . . . 122.3.4. Etapa 2: Probabilidad de contagio . . . . . . . . . . . . . 132.3.5. Etapa 3: Algoritmos de maximización . . . . . . . . . . . 14

2.4. Déficits del proceso . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.1. Etapa 1: Formación de datos . . . . . . . . . . . . . . . . 162.4.2. Etapa 2: Probabilidad de contagio . . . . . . . . . . . . . 172.4.3. Etapa 3: Algoritmos de maximización . . . . . . . . . . . 18

3. Propuesta 203.1. Enfoque de la propuesta . . . . . . . . . . . . . . . . . . . . . . . 203.2. Modelo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.1. Definición del modelo de datos . . . . . . . . . . . . . . . 203.2.2. Extracción de datos . . . . . . . . . . . . . . . . . . . . . 23

3.3. Etapa 1: Formación de datos . . . . . . . . . . . . . . . . . . . . 273.3.1. a. Definición temprana de múltiples acciones propagadas . 273.3.2. b. Omisión de datos de entrada . . . . . . . . . . . . . . . 31

3.4. Etapa 2: Probabilidad de contagio . . . . . . . . . . . . . . . . . 333.4.1. a. Incorporación de Topics . . . . . . . . . . . . . . . . . . 333.4.2. b. Ponderación de las acciones propagadas . . . . . . . . . 383.4.3. c. Discretización del tiempo . . . . . . . . . . . . . . . . . 40

3.5. Etapa 3: Algoritmos de maximización . . . . . . . . . . . . . . . 45

v

Page 7: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

3.5.1. a. Procesamiento únicamente de nodos con antecedentesde contagio . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.5.2. b. Procesamiento de nodos de forma agrupada . . . . . . 463.5.3. c. Frecuencia de participación de los usuarios . . . . . . . 50

4. Implementación 534.1. Plataforma desarrollada . . . . . . . . . . . . . . . . . . . . . . . 53

4.1.1. 1. Modelo de negocio . . . . . . . . . . . . . . . . . . . . . 534.1.2. 2. Acceso a datos . . . . . . . . . . . . . . . . . . . . . . . 554.1.3. 3. Modelo de entidades . . . . . . . . . . . . . . . . . . . . 564.1.4. 4. Aplicación Web . . . . . . . . . . . . . . . . . . . . . . 59

5. Validación 635.1. Implementación del modelo sobre un caso testigo . . . . . . . . . 635.2. Modelo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.2.1. Definición del modelo de datos . . . . . . . . . . . . . . . 635.2.2. Extracción de datos . . . . . . . . . . . . . . . . . . . . . 64

5.3. Etapa 1. Formación de datos . . . . . . . . . . . . . . . . . . . . 645.3.1. a. Definicion temprana de múltiples acciones propagadas . 645.3.2. b. Omisión de datos de entrada . . . . . . . . . . . . . . . 65

5.4. Etapa 2: Probabilidad de contagio . . . . . . . . . . . . . . . . . 655.4.1. a. Incorporación de Topics . . . . . . . . . . . . . . . . . . 655.4.2. b. Ponderación de las acciones propagadas . . . . . . . . . 675.4.3. c. Discretización del tiempo . . . . . . . . . . . . . . . . . 68

5.5. Etapa 3: Algoritmos de maximización . . . . . . . . . . . . . . . 705.5.1. a. Procesamiento únicamente de nodos con antecedentes

de contagio . . . . . . . . . . . . . . . . . . . . . . . . . . 705.5.2. b. Procesamiento de nodos de forma agrupada . . . . . . 715.5.3. c. Frecuencia de participación de los usuarios . . . . . . . 73

5.6. Comparación respecto al modelo sin mejoras. . . . . . . . . . . . 74

6. Conclusiones 77

7. Trabajo futuro 78

Referencias 80

vi

Page 8: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

1. Introducción

1.1. Objetivo

El presente trabajo tiene como objetivo analizar los métodos basados en DataMining hoy en día utilizados para el cálculo y análisis de influencia dentro delcontexto de las redes sociales, y presentar una propuesta de mejora a los déficitsque dichos métodos poseen, como así también incorporar diferentes técnicas deData Mining en los procesos intermedios del cálculo de influencia.

1.2. Definición del problema

Desde los tiempos en que el concepto de redes sociales no estaba asociadoa plataformas web como Facebook y Twitter, muchos estudios académicos yempresariales se han interesado en detectar patrones asociados a usuarios conalto grado de influencia sobre sus pares en dichas redes. Los motivos de esteinterés son variados, desde identificar reacciones en cadena originadas en com-portamientos que un usuario o grupo de usuarios con alto grado de influenciapudieran tener, hasta lanzar campañas de marketing orientadas y dirigidas poraquellos usuarios que más influencia tienen sobre el resto de la red.

Tal cual se destaca en [5] y [8], hoy en día las redes sociales se han popu-larizado a nivel global, y conocer a sus usuarios, relaciones y comportamientosresulta cada día más valioso. Dentro de la información posible de extraer, unárea de gran valor potencial que aún no ha sido debidamente explotada es lade la Influencia dentro de las redes. Conocer cuáles son los usuarios que másascendencia tienen sobre el resto de la red resulta sumamente valioso, tanto pa-ra organizaciones gubernamentales, servicios de inteligencia o simples empresasde marketing. Por ejemplo, tomando este último caso, si a la hora de lanzarun nuevo producto una empresa decide hacerlo a través de personas que tienenmucha llegada sobre un determinado sector de la población (aquel en el cual ala empresa le interesa hacer conocer su producto), se podrían lograr resultadosmucho mejores con un gasto considerablemente menor. Para una organizaciónpolítica, por otro lado, lograr identificar qué personalidades tienen mejor ima-gen y mayor ascendencia sobre la población podría resultar decisivo a la horade encarar una elección presidencial.

Los métodos que mejores resultados han logrado en la búsqueda, mediante

1

Page 9: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

la minería de datos, de aquellas personas con mayor grado de influencia sobreel resto de la comunidad se basan en 3 procesos secuenciales:

Selección y formación de los datos de entrada que el sistema utilizará.

Cálculo de influencia entre personas relacionadas o vinculadas.

Búsqueda de las personas con mayor grado de influencia sobre el resto delos usuarios de la red.

A pesar de haber sido objeto de numerosos estudios, estas 3 etapas presentandiversas falencias y/o posibles puntos de mejora, tanto a nivel de performancecomo de la calidad de los resultados. Las nuevas herramientas que las redessociales nos proveen (como ser mayor información de los usuarios y sus com-portamientos) nos permiten proponer nuevos enfoques a la hora manipular losdatos disponibles, con el afán de obtener resultados más cercanos a la realidady que puedan ser llevados a la práctica, cuestión que con los métodos actualesno siempre es posible, debido al altísimo costo de procesamiento.

1.3. Contribuciones de esta tesis

El propósito de este trabajo es presentar alternativas e introducir nuevastécnicas al cálculo de influencias, en cada una de las 3 etapas mencionadas.

Proponemos, en primer lugar, definir e incorporar al método nuevos con-ceptos a partir de los datos de entrada disponibles, de forma tal de enriquecerel input que el sistema utiliza y obtener mejores resultados, como así tambiénprocesar con técnicas de Data Mining dicha información para reducir su tamañoy aumentar su calidad.

En segundo lugar, ponemos énfasis en calcular los valores de influencia indi-vidual (o probabilidades de contagio) que un usuario tiene sobre otro de su red(punto número 2.). En casi la totalidad de los métodos de búsqueda de usuariosinfluenciadores, este dato es asignado al azar debido a la complejidad de su ob-tención. Por este motivo, consideramos éste un punto clave a la hora de buscarmejoras en los resultados de nuestro método. Perseguimos este objetivo con lapremisa de no afectar la performance del método.

Por último, presentamos una serie de conceptos a aplicar en la selección deel/los usuarios influenciadores (punto número 3.), enfocados tanto en mejorarla calidad de los resultados como en optimizar la performance de los métodos

2

Page 10: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

existentes, como asi también incorporar en esta etapa del proceso al usuariofinal, permitiéndole personalizar ciertas aristas del método y definir parámetrosde búsqueda.

Las propuestas de mejora planteadas en el presente trabajo están acompa-ñadas de contrastaciones prácticas. Se utiliza para esto un set de datos modelo,compuesto por una red de usuarios con sus correspondientes vínculos, y un his-torial de acciones, el cual sirve para determinar los valores de influencia entreusuarios individuales.

Las contribuciones más relevantes que se esperan de esta tesis son:

Proveer un análisis de los métodos empleados hoy en día para el cálculode influencias en redes sociales. Detallar las virtudes de los mismos, comoasí también las falencias que presentan.

Proponer una serie de mejoras para cada una de las etapas que componenlos métodos utilizados en el cálculo de influencias. Incorporar a los mismosnuevos conceptos surgidos del desarrollo global de las redes sociales.

Evaluar empíricamente las propuestas presentadas, verificar si las mismaslograron elevar la calidad de los resultados, como así también mejorar laperformance del método.

Presentar un caso testigo en el cual el uso del método resulte beneficioso.

1.4. Trabajos relacionados

Tal cual exponemos a lo largo de esta tesis, numerosos estudios se han de-dicado a analizar el proceso de búsqueda de usuarios influenciadores en redessociales, encontrándose con descubrimientos y limitaciones no resueltas. Repa-saremos a continuación los principales trabajos referidos a esta problemática,enfatizando aquellos aspectos que nos han servido como punto de partida paradesarrollar nuestra propuesta de mejora.

De acuerdo a lo expuesto por Francesco Bonchi en [5], con la populariza-ción de plataformas online como Twitter y Facebook, el estudio de Influenciaen Redes Sociales ha ganado interés en los últimos años, pero aún asi continúapresentando falencias que requieren ser investigadas y desarrolladas. En primerlugar, el autor destaca la calidad de los resultados entregados por el algoritmoGreedy, pero alerta sobre sus problemas de performance cuando es llevado a

3

Page 11: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

la práctica. Proponer alternativas que permitan eliminar esta barrera compu-tacional es uno de los principales desafíos a abordar en el presente trabajo. Ensegundo lugar, Bonchi pone la lupa sobre uno de los datos de entrada que elmétodo necesita: las probabilidades individuales de contagio. Tal cual mencio-na en su trabajo, dicha información suele asumirse como conocida por quienesllevan adelante estudios en esta área debido a la complejidad que implica obte-nerla, y a que al día de hoy no se han logrado desarrollar técnicas eficientes quepermitan hacerlo. A su vez, agrega que la calidad de los resultados obtenidoscuando esta información es precisa supera ampliamente a la obtenida cuando seutilizan valores aleatorios. Ponemos, por este motivo, especial énfasis en idearmecanismos que permitan calcular probabilidades individuales de contagio re-presentativas de la realidad a partir del mapa de relaciones y del historial deacciones de la red. Por último, en [5], Bonchi menciona la necesidad de contem-plar en la tercera etapa del proceso la frecuencia de participación de los usuariosde la red, de forma de evitar elegir individuos con baja actividad. Hacemos focosobre este punto, proponiendo alternativas a la hora de seleccionar a los usuariosinfluenciadores.

En [6], Goyal, Bonchi y Lakshmanan abordan el cálculo de probabilidadesde contagio de acuerdo a un modelo propuesto. En el mismo, los datos de en-trada utilizados son el mapa de la red (las relaciones entre los miembros dela misma) y el historial de acciones para un determinado período de tiempo.Tal cual hemos mencionado previamente, nuestro estudio respeta dicho modeloy utiliza el mismo input, aunque el mecanismo de procesamiento es diferente:mientras que la propuesta de los autores implica escanear dos veces el historialde acciones, nuestro enfoque lo hace solo una vez, para luego, en función delas relaciones definidas en el mapa de la red, analizar un número reducido deregistros. Adicionalmente, este primer y único escaneo completo del historial deacciones resuelve uno de los desafíos futuros planteados en el citado artículo, re-ferido a la necesidad de incorporar el concepto de tipos de acciones que permitaponderar las distintas propagaciones ocurridas en la red.

Por último, de acuerdo a lo expuesto por Chen, Wang y Yang en [7], dosde los principales desafíos que el estudio de Influencia en Redes Sociales debeasumir e intentar resolver son conseguir un mecanismo escalable que se adaptefácilmente a la dinámica de las redes sociales de hoy en día, y lograr fraccionar lasenormes estructuras sociales de cada red en comunidades de menor tamaño que

4

Page 12: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

faciliten su procesamiento. Ambas cuestiones son abordadas en nuestro trabajo,proponiendo nuevos enfoques que solucionen dichos dilemas, para realizar luegoel correspondiente análisis que determine el éxito o fracaso de la propuesta.

5

Page 13: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

2. Estado del arte

2.1. Influencia en redes sociales

Históricamente, el estudio de las relaciones sociales ha cautivado el interésde diversas ramas de la ciencia, como la psicología y la medicina entre otrastantas. Desde un enfoque político y/o económico, tener conocimiento de cómose relacionan las personas otorga una ventaja competitiva notable a quien poseay sepa analizar dicha información.

Dentro de esta rama, un área sobre la cual no se ha investigado en profundi-dad en relación a las demás y que ofrece hoy en día un enorme potencial, es lade Influencia en redes sociales. Con el auge de la tecnología, la globalización y laaparición de nuevas formas de contactarse y comunicarse, esta área se ha encon-trado en los últimos años con un nuevo mundo de posibilidades de desarrollo,tanto desde la ampliación de las fuentes de información sobre las cuales basarsus estudios, como de los beneficios estratégicos y económicos de sus resultados.

En relación a las fuentes de información, el auge que han sufrido en la últimadécada las redes sociales on-line, como Facebook y Twitter, que conectan a milesde millones de personas alrededor del mundo, ofrecen dos elementos muy valio-sos que anteriormente resultaban de muy difícil acceso: por un lado nos brindaninformación detallada y muy precisa de las personas, desde su nombre, estadocivil y país de origen hasta sus gustos musicales, los sitios más frecuentadosy pasatiempos favoritos; por otro lado, nos permiten conocer cómo interactúanentre ellas, que relación las une y qué tipo de actividades comparten. Sin embar-go, el proceso de reunir, procesar y utilizar esta información no ha acompañadola velocidad de desarrollo y evolución que las redes sociales han tenido, al puntoque hoy en día se dispone de enormes volúmenes de datos de muy fácil accesoque no son utilizados con todo su potencial.

Esta situación ha generado que los intentos de incorporar dichas platafor-mas a procesos de negocio de las empresas y/o estatales hayan sido deficientes.Particularmente, la posibilidad de conocer qué actores dentro de una red socialejercen mayor influencia por sobre los demás y se posicionan como líderes esun aspecto del entendimiento de las redes y relaciones sociales que no ha sidodebidamente explotado. Nos centramos durante el desarrollo de la tesis en esteúltimo punto, tratando de instrumentar mecanismos que permitan llevar a lapráctica los conocimientos que el estudio de Influencia en redes sociales permite

6

Page 14: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

adquirir.Para esto, intentaremos explicar con mayor profundidad a qué nos referi-

mos con Influencia en redes sociales. A grandes rasgos, podemos identificar tresmotivos por los cuales una persona llega a realizar una determinada acción: enprimer lugar, porque la persona es muy activa, posee iniciativa y por ende iniciaacciones por su propia cuenta, obviando las circunstancias externas; en segun-do lugar, esto podría deberse a que factores o eventos externos llevan a que lohaga; por último, una persona puede ejecutar determinadas acciones debido aque otras personas de su círculo más cercano lo han hecho previamente. Estoúltimo es lo que llamamos Influencia, y durante el siguiente trabajo intentamosdesarrollar conceptos e ideas novedosas con respecto a la materia.

Existen diversos motivos por los cuales una persona puede llegar a ejercerinfluencia sobre otra, como lo son la admiración personal, la existencia de lazosfamiliares, sentimentales y emocionales entre las personas, y un tipo de influen-cia un tanto menos genuina que se genera como fruto de la relación laboral entreambas. Resultan particularmente interesantes de estudiar aquellas personas quelogran ejercer influencia sobre una porción grande de la población, ya que susacciones y expresiones podrían generar un impacto y/o consecuencias de tama-ños considerables. En línea con esto se encuentran los principios fundamentalesde lo que se conoce como marketing viral, concepto abordado en [5], [6] y [7]:siendo que el principal objetivo de una campaña de marketing es que el mensajellegue al mayor número de personas posible, no necesitamos invertir dinero yesfuerzo en llegar de forma directa a cada uno de ellos, sino que si logramosalcanzar a aquellas personas con mayor grado de influencia sobre el resto de lapoblación, y tomando ventaja de los efectos del boca a boca, podremos llegarde forma indirecta a todos ellos. No solo esto, sino que nuestro mensaje llegaráa los destinatarios con mucha mayor fuerza, ya que los mensajeros del mismoserán personas cuyas acciones están valoradas por el resto de la sociedad.

2.2. Desafío: maximización

El desafío de las campañas de marketing que utilizan el concepto de Influen-cia en redes sociales en su proceso es, entonces, el de maximizar los beneficiosgenerados por la campaña partiendo de un capital de inversión y esfuerzo li-mitados. Esto se traduce en alcanzar, a partir de un número reducido de loque llamamos nodos iniciales, el mayor número de personas posible. Decidir a

7

Page 15: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

quienes elegir como nodos iniciales se transforma en una tarea fundamental delproceso, la cual determina en gran medida el éxito o fracaso del mismo. Aquíentran en juego varios aspectos, los cuales describiremos a continuación y sobrelos cuales intentamos aportar nuevas ideas durante el desarrollo de esta tesis.

En primer lugar, la forma de calcular el número de personas a las cuales unnodo inicial puede llegar (nodos hoja) que las campañas de marketing utilizan esun dato aproximado, obtenido a partir de ciertos parámetros, como por ejemplola cantidad de conexiones que una persona tiene con otros usuarios en una redsocial como Twitter o Facebook, lo cual no necesariamente se traduce en que esaspersonas sean realmente líderes o influenciadores sobre el resto de la población:una persona puede estar conectada con muchas otras dentro de una red social,y no ejercer en ellas ningún grado de influencia.

A su vez, un lugar común en el cual muchos procesos de marketing caen eselegir individualmente, como disparadores de la campaña, a aquellas personascon mayor número aparente de seguidores. Utilizando aspectos básicos de lateoría de conjuntos, podemos inferir que seleccionar a los nodos iniciales deforma individual nos puede llevar a un resultado final lejano al valor óptimo,ya que la unión de los conjuntos de personas alcanzadas por cada uno de estosnodos podrían tener un grado de intersección muy alto, lo cual implicaría que ladiversidad del conjunto final es baja. De esta forma se estarían desperdiciandorecursos, eligiendo nodos disparadores que nos otorgan resultados muy similares.

Figura 1: Personas alcanzadas por dos nodos iniciales con un grado alto y bajode intersección respectivamente.

En tercer lugar, poder direccionar la búsqueda de personas, o nodos hoja,resulta muy valioso a la hora de encarar una campaña de marketing. Esto apuntaa poder encontrar aquellas personas que más influencia ejercen sobre el resto dela población en una determinada área, la cual obviamente estará relacionada con

8

Page 16: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

el producto que se intenta promocionar, el mensaje que se intenta transmitir,etc.

Por último, la utilización de los nuevos recursos que el desarrollo reciente delas plataformas online ofrecen se ha ido integrando al proceso de forma lentay no siempre óptima. El avance de dichas plataformas en términos de cantidadde usuarios y facilidad de acceso ha generado niveles de información años atrásinimaginables, principalmente en lo que refiere al conocimiento de las personasy la forma en que se relacionan, cuya incorporación a los procesos existentesse encuentra aún en un estado de maduración bajo, lo cual ofrece un amplioespectro de posibilidades, y cuyo análisis profundizamos durante el desarrollode esta tesis.

2.3. Proceso

Durante la última década, diversos autores se han interesado en el estudiodel cálculo de Influencia en redes sociales. Aquellos que más éxito han tenidocoinciden en gran medida en el tipo de datos a utilizar ([5], [6]) y la secuenciade procesamiento de los mismos: en cuanto a los datos, resulta imprescindibledisponer de un mapa de relaciones entre las personas (que permitirá formar lared), y un log o historial de las acciones que han realizado (que servirá paraevidenciar la propagación de influencia); en cuanto al procesamiento, se puededividir en tres etapas principales, comenzando por la obtención y formación dedatos, siguiendo por el cálculo de probabilidades de contagio entre las personas,y finalizando con la obtención, a través de un algoritmo, de aquellas personasque más influencia ejercen sobre el resto de la comunidad.

Detallaremos a continuación los puntos mencionados:

2.3.1. Mapa de relaciones

Un componente imprescindibles del set de datos que se utiliza durante elproceso de selección de usuarios influenciadores es el mapa de relaciones. Elmismo contiene todas las relaciones entre usuarios de una red social. Sin estainformación es imposible intentar deducir cualquier tipo de ejercicio de influenciade una persona sobre otra u otras, ya que para hacerlo es necesario conocerfehacientemente que existe entre ellas algún tipo de relación (amistad, relacióncomercial, etc.).

9

Page 17: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Comúnmente este mapa está formado por una tabla que contiene, para cadapersona de la red, todas aquellas personas con las cuales se relaciona. Dicharelación puede ser unidireccional (por ejemplo cuando una persona “sigue” aotra) o bidireccional (dos personas que son amigas). Idealmente, la tabla podríaincluir información temporal que indique la fecha en que las personas iniciarondicha relación.

Usuario AmigoJosé CarlosJosé MaríaMaría PedroLucia DamiánLucia Cecilia

Damián CarlosDamián CeciliaPedro JoséNatalia DiegoCarlos Pedro

Cuadro 1: Mapa de relaciones.

Figura 2: Mapa de relaciones.

10

Page 18: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

2.3.2. Log de acciones

El log de acciones está formado por todas las acciones que, en el contextode la red social estudiada, las personas realizaron, y la fecha en que lo hicieron.Con esta información es posible identificar la propagación de acciones, lo cual,de cumplirse ciertas condiciones, puede considerarse como un acto de influencia.De esta forma, un modelo de cálculo de influencia podría inferir que si cada vezque el usuario A realiza una acción, frecuentemente el usuario B también lohace en un periodo de tiempo relativamente corto, entonces A está ejerciendoinfluencia sobre B.

Dependiendo del origen de datos, estas acciones pueden resultar muy varia-das y dependerá de quien esté realizando el estudio determinar cuáles de ellasse pueden considerar como una propagación. Por ejemplo en una red social mu-sical, podría considerarse como propagación el hecho de escuchar una canciónluego de que otro usuario lo haya hecho. O si analizamos una red de cocina,aquellas personas que cocinen una receta que un maestro chef ha publicado re-cientemente podrían considerarse bajo los efectos de la influencia del mismo.A su vez, existen factores comunes a la hora de analizar la existencia o no depropagación, como por ejemplo que el tiempo entre una acción y otra sea re-lativamente corto, ya que tal cual se justifica en [5], a medida que transcurre,la probabilidad de que la persona haya actuado por obra de la influencia y nopor propia iniciativa disminuye. Dependerá, como vemos, de cada caso en par-ticular y será quien esté llevando adelante el estudio quien deba determinar lascondiciones para considerar que ha habido una propagación.

Usuario Acción TiempoJose Acción ‘A’ t1Pedro Acción ‘B’ t2Jose Acción ‘B’ t3Lucia Acción ‘B’ t3

Damian Acción ‘A’ t4Diego Acción ‘C’ t7Lucia Acción ‘A’ t8

Cuadro 2: Log de acciones.

11

Page 19: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 3: Log de acciones.

2.3.3. Etapa 1: Formación de datos

La primer etapa de proceso de obtención de usuarios influenciadores consisteen la selección, obtención y formateo de los datos. Conforme lo visto en lospuntos anteriores, el set de datos consistirá típicamente de un mapa de relacionesentre los integrantes de la red y un log de las acciones que los mismos hanrealizado.

En esta etapa se decide qué datos son necesarios para la ejecución del proceso,se define un modelo de datos y se evalúa si el mismo es factible de obtener. Unavez obtenida esta información, se analiza la calidad de la misma, se limpianaquellos datos innecesarios, se corrigen los defectos que el set pueda tener y seprocede a formatearlos de acuerdo al modelo definido previamente.

Usuario Token Accion Acción Ubicación Estado FechaJose G1sd89_9244 Acción ‘A’ 43.07,-71.92 NULL 2014/08/21Pedro 54rt8u_0932 Acción ‘B’ -39.21,-58.90 NULL 2014/08/21NULL 4pkd21_2276 Acción ‘B’ 48.87,10.32 NULL 2014/08/23Lucia Jf4sdr_5481 Acción ‘B’ 48.33,32,91 NULL 2014/09/01Juan Yuk2de_7454 Acción ‘A’ 40.02,-4.30 NULL NULLDiego 65re9q_9820 Acción ‘C’ -31.32,-59.20 NULL 2014/09/01

Cuadro 3: Log de acciones (tabla origen).

12

Page 20: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Usuario Acción FechaJose Acción ‘A’ 2014/08/21Pedro Acción ‘B’ 2014/08/21Lucia Acción ‘B’ 2014/09/01Juan Acción ‘A’ 2014/09/01Diego Acción ‘C’ 2014/09/01

Cuadro 4: Log de acciones post-formateo de datos.

2.3.4. Etapa 2: Probabilidad de contagio

La segunda etapa consiste en calcular las probabilidades de contagio entrepersonas vinculadas. Para cada integrante de la red, independientemente de si lasrelaciones son unidireccionales o bidireccionales, se pueden identificar conexionesentrantes y salientes. Esto es, aquellas personas que podrían ejercer influenciasobre él (porque, por ejemplo, la otra persona lo sigue -unidireccional-, o porqueson amigos -bidireccional-) y aquellas sobre las cuales la persona podría ejerceralgún grado de influencia, respectivamente. Típicamente se establece que losvalores para la probabilidad de contagio estén entre 0 y 1, representando 0 unarelación en la cual no hay transferencia de influencia, y 1 cuando es máxima.

Esta etapa del proceso es de una complejidad muy elevada, por lo que muchosestudios deciden obviarla y otorgar valores aleatorios a las probabilidades decontagio, centrándose exclusivamente en las etapas 1 y 3. Sin embargo, y talcual destacan los autores en [5] y [6], aquellos procesos que utilizan valoresreales para esta variable logran resultados de muchísima más calidad. De aquíse desprende el enorme valor de la información resultante de la etapa 2, y poreste motivo en la presente tesis ponemos especial énfasis en intentar desarrollarmecanismos para que éste procesamiento sea eficiente y pueda incluirse dentrodel proceso de búsqueda de usuarios influenciadores.

13

Page 21: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 4: Grafo de probabilidades de contagio.

2.3.5. Etapa 3: Algoritmos de maximización

La última etapa del proceso consiste en determinar, dado un mapa de la redsocial y las probabilidades de contagio obtenidas en la etapa 2, cómo debemosseleccionar a los nodos iniciales de forma de llegar, a través de los efectos delcontagio, a la mayor cantidad de personas en la red. Esto es, obtener un set denodos S tal que el alcance de su influencia (lo llamaremos σ(S)) sea máximo.

Gracias a que la función σ(S) es monótona (esto significa que para un conjun-to de nodos S⊆T, σ(S) ≤ σ(T)) y submodular (σ(S∪w) - σ(S) ≥ σ(T∪w)- σ(T),con S⊆T) es posible obtener un algoritmo relativamente sencillo que permitacalcular el conjunto de nodos que maximizan σ. Este algoritmo, conocido comoGreedy algorithm for Influence maximization consiste en iterar la red tantasveces como cantidad de nodos deseamos obtener (lo llamaremos k), buscandoy agregando al set de nodos S en cada iteración, aquel nodo que maximiza σ.Esto es:

i. S ← ∅

ii. while|S| < k

i. u← argmax[wεV \S](σ(S∪{w}) − σ(S))

ii. S ← S ∪ {u}

Como vemos, el algoritmo parte de un conjunto de nodos S vacío y realizak iteraciones. En cada una de ellas agrega al conjunto S aquel nodo que, juntocon los nodos previamente agregados a S, maximiza la propagación de influenciadentro de la red.

14

Page 22: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

En la Figura 5 podemos ver una iteración del algoritmo, donde se recorren dea uno por vez todos los nodos de la red (nodo naranja) y se evalúa la magnituddel conjunto alcanzado (nodos rojos). En este caso, se terminará eligiendo a Dya que su inclusión en el conjunto S genera el contagio de otros 4 nodos.

Figura 5: Iteración del algoritmo Greedy que resulta con la inclusión del nodoD en el conjunto S.

Cómo determinar la cantidad de contagios que un nodo puede producir hasido un desafío recurrente para todos los estudios del cálculo de Influencia enredes sociales. Para atacar este problema, se han propuesto diversos modelosde propagación. Aquellos que mejores críticas han cosechado están basados enel concepto de threshold, como lo son el Linear Threshold Model (LTM)y el Independent Cascade Model (ICM), abordados en detalle en [5]. Enestos modelos se parte del principio fundamental de que en un determinadoinstante de tiempo existen solo dos estados en los cuales un nodo de la redpuede encontrarse: activo o inactivo. La forma en que un nodo pase de inactivo aactivo es a través del contagio con sus nodos aledaños. Esto es, si en determinadomomento una cantidad considerable de sus vecinos se encuentran activos, muyprobablemente el nodo también lo haga. El mecanismo para determinar en quémomento las condiciones invitan a que esto suceda es donde difieren LTM e

15

Page 23: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

ICM: para LTM, si en un instante t la suma de las probabilidades entrantes detodos los vecinos activos de un nodo superan el valor del threshold, entonces ent + 1 el nodo pasará a activo; para ICM, cada nodo activo intentará contagiar asus vecinos inactivos de forma independiente, con una probabilidad de contagiodeterminada por la probabilidad entre ambos calculada en la etapa 2. A medidaque el tiempo transcurre, mas y mas vecinos del nodo pasarán a estar activos,aumentando así las chances de que el nodo en cuestión también lo haga.

A pesar de su simpleza, el algoritmo Greedy logra resultados de una calidadnotable: nos garantiza obtener a través de los nodos elegidos (conjunto S) unapropagación mayor al 63% de la que obtendríamos con el conjunto de nodosóptimo. Sin embargo, y como se destaca en [5], [6] y [7], y evaluaremos en lasiguiente sección, este algoritmo posee ciertos déficits de performance que obli-gan a proponer modificaciones a su flujo original si el mismo desea ser utilizadoen set de datos de un tamaño considerable. Diversos estudios han encarado esteproblema, obteniendo distintos resultados.

2.4. Déficits del proceso

2.4.1. Etapa 1: Formación de datos

El principal déficit de esta etapa del proceso es la performance: en general,el historial de acciones es un set de datos de gran tamaño, muy costoso deprocesar. Es necesario en este aspecto incorporar técnicas tanto de limpiezacomo de transformación de estos datos, evitando procesar un log de accionesmuy grande cuya información, en su gran mayoría, no es de utilidad para elproceso.

Por otro lado, en el transcurso de los últimos años las plataformas de redessociales on-line han evolucionado a pasos agigantados, y el acceso a la infor-mación se ha ampliado y facilitado de forma notable. Sin embargo, uno de losgrandes déficits del estudio de Influencia en redes sociales es el hecho de que noha aprovechado de las nuevas fuentes de información disponibles, y en su granmayoría los modelos se han mantenido en el enfoque tradicional, obviando laincorporación de nuevos datos.

Un ejemplo de esto es la información referida a las personas, sus perfiles,gustos, etc. Estos datos se encuentran hoy en día disponibles en su gran mayoría,muchos de ellos proporcionados por las mismas personas (como podría ser sus

16

Page 24: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

gustos musicales), y otros tantos los proveen las plataformas de acuerdo a lainteracción de los usuarios (como por ejemplo el lugar desde el cual las personasacceden a ellas).

Otro aspecto pendiente de desarrollo es simplificarle al usuario final la po-sibilidad de realizar definiciones y aportar su conocimiento sobre los datos quese van a utilizar, como así también permitir que la propagación esté definidapor distintos tipos de acciones, ponderadas de acuerdo al peso especifico den-tro del modelo que se le defina. Esto apunta a flexibilizar y escalar el modelo,permitiendo que, por ejemplo, el usuario defina de forma sencilla qué entiendeél, a nivel de datos, por propagación de una acción, cuáles de ellas deben tenermayor peso en los cálculos, etc. De esta forma, un usuario podría definir que,dentro de su modelo de datos basado en una plataforma de blog, el hecho deque una persona lea al menos una vez por día un artículo de un determinadoautor es un indicador de influencia de nivel medio. Por otro lado, si una personarecomienda más de 3 veces un artículo de este autor a un amigo, es un indicadorde influencia de nivel alto. Podemos ver, entonces, que si el modelo contempla,admite y principalmente facilita la participación del usuario final en las defini-ciones de datos, el mismo se enriquece de forma notoria, generando resultadosde muchísimo más valor.

Intentamos en la presente tesis superar esta especie de barrera generacio-nal, incorporar al proceso las nuevas fuentes de información disponibles y sacarprovecho de su utilización.

2.4.2. Etapa 2: Probabilidad de contagio

Como comentamos anteriormente, esta etapa es la que menos desarrolladase encuentra. Muy pocos estudios han abordado el análisis del cálculo de laprobabilidad de contagio en una red, resultando en que la mayoría de los modelosde cálculo de Influencia en redes sociales utilicen valores aleatorios para simularverdaderas probabilidades de contagio entre personas.

Son dos los principales déficits de esta etapa: en primer lugar, no se hanconseguido métodos que obtengan las probabilidades de contagio de maneraperformante, con un nivel de aceptación mínimo que les permita ser incorporadosen el proceso sin afectar el rendimiento del mismo; en segundo lugar, en muchasocasiones los métodos existentes ofrecen resultados que no se asemejan a larealidad, resultando inútil su utilización dentro del proceso.

17

Page 25: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Por otro lado, determinar cuáles de todas las acciones que una persona reali-za son consecuencia del contagio o propagación de una acción realizada previa-mente por otro miembro de la comunidad, y cuáles son acciones independientes,ajenas a cualquier tipo de influencia, resulta muchas veces complejo. Un ejemplode esto son las que llamaremos acciones masivas: en ocasiones, ocurren situacio-nes o eventos globales que llevan a que muchas personas adopten determinadoscomportamientos similares, como cuando sucede una catástrofe natural y todoslos miembros de una comunidad pasan días hablando sobre este tema (en elmarco de las redes sociales on-line podríamos decir que “pasan días tweetean-do”). Quién o quiénes fueron los primeros en abordar el asunto es irrelevante, ysería un error decir que esas personas influenciaron al resto de la comunidad arealizar comentarios sobre el tema, ya que la propia naturaleza y magnitud delevento fue lo que desencadenó estos comportamientos. Determinar con precisióncuáles acciones son fruto de la influencia y cuáles no es un desafío que no debeser subestimado a la hora de calcular las probabilidades de contagio dentro deuna red.

Durante el desarrollo de esta tesis proponemos nuestro enfoque respectode cómo optimizar esta etapa, buscando superar los problemas anteriormentemencionados.

2.4.3. Etapa 3: Algoritmos de maximización

El principal déficit de la tercera y última etapa del proceso es la performan-ce del algoritmo utilizado. Como mencionamos, el algoritmo Greedy utilizadopara obtener a las k personas con mayor grado de influencia sobre el resto dela comunidad otorga resultados de gran calidad. Sin embargo, la complejidadcomputacional de obtener en cada iteración el nodo que mayor ganancia otorga,lo convierte inutilizable. El problema radica en que, para obtenerlo, el algoritmoitera cada uno de los nodos de la red y la recorre en su totalidad, tratando deestablecer a qué porcentaje de la comunidad se propaga la activación, en esemomento, de un determinado nodo. Aplicar este algoritmo a una red de grantamaño es prácticamente imposible, por lo cual es necesario encontrar alternati-vas que permitan reutilizar la base del mismo y aprovechar sus beneficios, peroevitando replicar sus limitaciones.

Otro de los inconvenientes que presenta la utilización del algoritmo Greedyes que en ocasiones puede llegar a elegir dentro del set final S a nodos que

18

Page 26: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

tienen baja actividad dentro de la red, pero que en alguna ocasión han logradopropagar una acción propia a un porcentaje alto de la comunidad. Su aplica-ción en diversos set de datos experimentales ha demostrado que en ocasiones elalgoritmo puede llegar a elegir nodos que tienen una sola acción dentro del his-torial tomado como input. Por este motivo, es necesario establecer criterios quepermitan al algoritmo determinar en qué ocasiones un nodo debe ser excluidodel cálculo de Influencia.

Por último, el algoritmo no permite distinguir en qué áreas ejercen influenciacada uno de los nodos elegidos dentro de S; a su vez, tampoco permite realizaresta distinción previamente a realizar los cálculos. Esto apunta a que, en general,quien desea conocer a aquellas personas con mayor grado de influencia dentro deuna red, está interesado en un nicho de la población, y no en la totalidad de lamisma. Por ejemplo, si el interesado pretende utilizar los resultados para lanzaruna campaña electoral, probablemente quiera saber cuáles son las personas quemayor influencia ejercen dentro de la población en temas referidos a la política.Por otro lado, si el contexto es el de un suplemento vitamínico, querrá obtenercomo resultado a las personas con mayor grado de influencia en aspectos depor-tivos. De esta forma, podemos ver la necesidad de aplicar el concepto de ámbitoo contexto a la búsqueda de personas influenciadoras, cuestión que el algoritmoGreedy hoy en día no contempla.

19

Page 27: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

3. Propuesta

3.1. Enfoque de la propuesta

En esta sección presentaremos las propuestas de mejora para cada una delas etapas del proceso, basándonos en los déficits detallados en II. Estado delarte. Déficits del proceso. El objetivo, tal cual hemos mencionado, es no soloproponer un modelo que solucione las debilidades existentes, sino que tambiénofrezca la posibilidad de que el usuario final pueda interactuar de forma sencillacon el mismo para obtener resultados que le sean de mayor utilidad.

Detallaremos, a su vez, el modelo de datos que utilizaremos para las pruebasexperimentales y sobre el cual se basaran los ejemplos citados en esta sección.

3.2. Modelo de datos

Decidimos basar nuestro estudio en la red social Twitter, por lo cual laprimer etapa de la propuesta se basa en la definición de un modelo de datos,extracción y formateo de los datos. Detallamos a continuación cada una de lastareas realizadas.

3.2.1. Definición del modelo de datos

Como vimos anteriormente, debido a las necesidades del proceso, nuestromodelo de datos debe contemplar la existencia de un mapa de relaciones entreusuarios de la plataforma y un historial de acciones de los mismos, a lo cual de-cidimos agregar una tercera componente vinculada con la información personalde los usuarios.

En cuanto al mapa de relaciones, decidimos utilizar el concepto de Followersdentro de Twitter para el armado de la red. De esta forma, dos usuarios A y Bestarán relacionados si A es follower de B, generando un vinculo A → B. Comovemos, las relaciones son direccionadas, pudiendo existir un vinculo desde Ahacia B, y no el correspondiente desde B hacia A.

20

Page 28: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 6: Relación entre usuarios en el modelo de datos definido, en el cual B yC son followers de A, mientras que A es follower de B pero no de C.

Nuestro modelo de datos contiene, entonces, todas las relaciones entre losusuarios seleccionados para el estudio:

Campo DescripciónUserId_str String: Identificador del usuario base.FollowerId_str String: identificador del usuario que se encuentra si-

guiendo (following) al usuario base.

En cuanto al historial de acciones, las mismas están reflejadas en nuestromodelo a través de los Tweets que los usuarios realicen. El texto de un tweet,el usuario que lo realiza y la fecha y ubicación desde donde lo hace son algunosde los datos que extraeremos de la plataforma.

21

Page 29: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Campo DescripciónId_str String: identificador del tweet.UserId_str String: identificador del usuario que realizó el

tweet.IsRetweet Bool: indica si es un retweet.RetweetedTweetId_str String: identificador del tweet que se está ret-

weeteando.Author String: identificador del usuario que redactó el

tweet.CreatedDate Date: fecha de creación del tweet.Text String: contenido del tweet.Language String: idioma en el cual fue redactado el tweet.Latitude Float: latitud cardinal desde donde fue redacta-

do el tweet.Longitude Float: longitud cardinal desde donde fue redac-

tado el tweet.InReplyToUserId_str String: identificador del usuario al cual se está

respondiendo.InReplyToStatusId_str String: identificador del tweet al cual se está res-

pondiendo.RetweetsCount Int: cantidad de retweets del tweet.Place String: nombre del lugar geográfico desde donde

fue redactado el tweet.

En este modelo, las acciones están representadas por las actualizaciones deestado de los usuarios, más precisamente por el texto que escriban (campo Text).De esta forma, y aunque ampliaremos esta definición en la Etapa 1: Propa-gación, tenemos 3 tipos de propagación posibles:

Cuando un usuario escribe un tweet en respuesta a lo que otro usuario haescrito previamente.

Cuando un usuario retweetea el estado de otro usuario.

Cuando un usuario escribe sobre un tema del que otro usuario ha escritopreviamente.

22

Page 30: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Por último, como anticipamos en II. Estado del arte. Déficits del pro-ceso, incorporamos a nuestro set de datos información referida a los usuarios,la cual Twitter provee a través de su API [2].

Campo DescripciónId_str String: identificador del usuario.Name String: nombre de la cuenta del usuario.ScreenName String: nickname del usuario.Location String: ubicación geográfica del usuario.FollowersCount Int: cantidad de followers del usuario.FriendsCount Int: cantidad de amigos del usuario (cuentas de las cua-

les es follower).Language String: idioma nativo del usuario.StatusesCount Int: cantidad de actualizaciones de estado escritas por

el usuario.Verified Bool: indica si el usuario ha verificado su cuenta (cuenta

oficial).UtcTime Int: huso horario del usuario.

3.2.2. Extracción de datos

Para el armado de la red, y debido a la imposibilidad de abordar toda laestructura de Twitter por tener una enorme cantidad de usuarios, decidimosacotar nuestra búsqueda a un número reducido de cuentas, todas relacionadasal cine y series de televisión. Partimos de 12 cuentas referentes dentro del áreacinematográfica y televisiva (nodos iniciales):

Cine_Y_Series

nosgustacine

Frases_del_Cine

cinesargentinos

TrailersyEstren

iYoVoyAlCine

23

Page 31: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

A_Cine

SOFILMEsp

altapeli

atresmediacine

CineHoy

cineespanol

A continuación, extrajimos todos los followers de cada una de esas cuentas.Como resultado obtuvimos 261.947 relaciones, de las cuales 239.521 pertenecíana usuarios únicos dentro de la red. Analizando los datos pudimos también ob-tener la cantidad de usuarios que eran follower simultáneamente de más de unode los nodos iniciales. Los resultados arrojaron 2 cuentas que seguían a 11 delos nodos iniciales, y 8 cuentas que seguían a 10 de ellos. Expondremos en lasiguiente tabla el análisis completo:

#Friends Cantidad de usuarios % del total de la red11 2 8,35̂-610 8 3,34̂-59 21 8,76̂-58 40 1,67̂-47 76 3,17̂-46 162 6,76̂-45 312 0,00130264 782 0,00326483 2.254 0,00941042 12.518 0,05226261 223.364 0,9325445

Detallamos a continuación la distribución de followers de los nodos iniciales(cantidad de conexiones entrantes) con respecto al total de followers encontra-dos:

24

Page 32: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

User Cantidad de followers % del total de la redCine_Y_Series 22.668 9,46nosgustacine 10.140 4,23

Frases_del_Cine 56.773 23,70cinesargentinos 26.666 11,13TrailersyEstren 27.064 11,30iYoVoyAlCine 19.226 8,03

A_Cine 15.623 6,52SOFILMEsp 2.486 1,03

altapeli 17.792 7,43atresmediacine 29.524 12,33

CineHoy 32.580 13,60cineespanol 1.405 0,59

Debido a la magnitud de los datos, y considerando la necesidad de contarpara este trabajo con un set de datos de tamaño intermedio, se estableció uncriterio de conservación de los usuarios obtenidos en el paso anterior por elcual sólo se incorporarían a la red final aquellos usuarios que están vinculados(following) como mínimo al 40% de los nodos iniciales, junto con los vínculosentre ellos. De esta forma, se conservaron 633 cuentas y 3.685 vínculos.

Por último, para completar el armado de la red se decidió incorporar aleato-riamente entre 1 y 3 followers de los usuarios obtenidos en el paso anterior, deforma de contar con 3 niveles dentro del árbol de vínculos de la red. Se obtu-vieron 1.192 nuevas relaciones, correspondientes a 1.099 usuarios nuevos dentrode la red. De esta forma, la red quedó conformada por 1.732 usuarios y 4.877relaciones entre ellos. La cantidad de nodos únicos con vínculos entrantes resultóigual a 616, mientras que la de nodos únicos con vínculos salientes fue de 1.725.

A continuación se extrajo la información correspondiente a los perfiles delos 1.732 usuarios, de acuerdo a los criterios definidos en el armado del modelo(campos Id_str, Name, ScreenName, Location, FollowersCount, FriendsCount,Language, StatusesCount, Verified y UtcTime). Detallamos a modo de ejemploalgunos de los registros obtenidos:

25

Page 33: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Id_str Name ScreenName Location ...1869530976 AltaGraciaBarComedia AltaGraciaBC Cordoba, Ar-

gentina...

1869977479 Nahomi fernanda ? nahomipadin Guatemala ...1870581221 Alex Davila brendan0097 Monterrey N.L

Mexico...

187142576 Palacio del Cine PalaciodelCine_ Granada Espa-ña

...

1872200707 Hablame de Cine Hablamedecine13 Universidad deNavarra

...

1873106480 ChristchurchCars chccarrentals Christchurch ...

... FollowersCount

FriendsCount

Language StatusesCount

Verified UtcTime

... 1128 1945 es 437 0 -10800

... 108 326 es 114 0 -18000

... 231 1974 es 145 0 -14400

... 187 231 es 767 0 7200

... 38 233 es 52 0 NULL

... 1183 1296 es 71 0 19800

Por último, para completar el historial de acciones y de acuerdo al modelode datos propuesto, se procedió a extraer de la plataforma los Tweets publicadospor los usuarios. Debido a que el historial debe registrar todas las acciones rea-lizadas por los usuarios entre dos fechas definidas, se decidió extraer los Tweetsde los 1.732 usuarios de la red publicados entre el 30/07/2014 y el 24/08/2014.Se consiguieron un total de 117.916 Tweets, cumpliendo las expectativas de dis-poner de un set de datos de tamaño intermedio y representativo de la actividadregistrada en la plataforma. La tabla quedó conformada por registros como lossiguientes:

26

Page 34: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Id_str UserId_str

Author Text CreatedDate

...

496725833504292864

904459700

65094819

RT @TrailersyEstren: ‘CinemaParadiso’- Trailer en español.Reestreno en cines con motivodel 25 Aniversario. Copia digi-tal restaurada htt...

2014-08-0518:34:02

...

495917326525808640

405097141

405097141

La Alcarria es el escenario per-fecto para una versión españolade Breaking Bad.

2014-08-0313:01:19

...

494439504854671363

1004924833

1004924833

@misancer Opino lo mismo, esuna serie que sin destacar mu-cho es entretenida, buena y conaudiencias sólidas. Ganas ya delúltimo capítulo!

2014-07-3011:08:58

...

... Lang Latit. Longit. IsRt

InReplyToUserId_str

InReplyToStatusId_str

RtCount

Place

... es NULL NULL 1 NULL NULL 13 NULL

... es 40,389 -2,771 0 NULL NULL 0 Buendia

... es NULL NULL 0 248549886 494438558992957440

0 NULL

3.3. Etapa 1: Formación de datos

3.3.1. a. Definición temprana de múltiples acciones propagadas

Uno de los principales motivos por el cual el proceso de búsqueda de usuariosinfluenciadores presenta problemas de performance a lo largo de todo el ciclo esla magnitud de los datos. Particularmente, el historial de acciones, al registrarel 100% de la actividad de todos los usuarios de la red durante un período detiempo, suele alcanzar grandes tamaños y su procesamiento durante las distintasetapas del proceso se transforma en una carga muy alta.

Por otro lado, los modelos actuales no contemplan la posibilidad de incluirmás de un tipo de acción en el modelo de propagación. Esto significa que para

27

Page 35: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

un determinado caso de estudio, la propagación estará dada por la repeticióndentro de la red de acciones del tipo A definidas por el usuario (como podríaser escuchar una canción que un amigo escuchó previamente), y quedarán fueralas acciones del tipo B o C (como por ejemplo comprar un disco que un amigome recomendó, o asistir a un recital promocionado por él).

Para atacar ambos problemas de forma conjunta, proponemos la Definicióntemprana de múltiples acciones propagadas. Este concepto apunta a permitirleal usuario final definir en una instancia inicial del proyecto todos los tipos depropagación que desea contemplar dentro de su modelo. De esta forma, una vezdefinidos los tipos de propagación, es posible limpiar del historial todas aquellasacciones que no aplican dentro de ninguna de las clasificaciones. Esto se traduceen que solo sean procesadas aquellas acciones que, o bien fueron propagadas deacuerdo a alguna de las categorías definidas previamente, o son un nodo inicialdentro de una cadena de propagación. De esta forma, el modelo se evita lacarga que generan registros que no aportan información relevante al proceso decálculo de influencia, lo cual le otorga una ventaja notable si consideramos que,en la práctica, la mayoría de las acciones no participan dentro de un proceso depropagación, y hoy en día los modelos consideran el procesamiento de todas lasacciones por igual.

En los cuadros 5 y 6 podemos observar la reduccion del tamaño de un setde datos al cual se le aplica la definicion temprana de acciones propagadas.En este caso, los tipos de acciones definidos por el usuario son dos: el retweet(RT ) y empezar a seguir a otro usuario (Following). Luego de aplicado el filtrocorrespondiente a estos dos tipos de acciones, la cantidad de registros disminuyede 11 a 5, lo cual representa una reduccion del 54%. A su vez, la cantidadde usuarios eventualmente involucrados en la propagacion se reduce de 8 a 4,exactamente un 50%.

28

Page 36: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

# Tipo de accion Usuario1 Comentario A2 RT B3 RT C4 Fav D5 Following E6 Foto C7 Comentario F8 RT E9 Fav G10 Following H11 Comentario D

Cuadro 5: Historial de acciones original.

# Tipo de accion Usuario2 RT B3 RT C5 Following E8 RT E10 Following H

Cuadro 6: Historial de acciones post-procesamiento.

Ejemplificamos a continuación este aporte aplicado al modelo de datos de-finido para esta Tesis. Para el mismo, identificamos tres tipos de propagación,los cuales procedemos a detallar:

1. Tweet sobre un mismo tema: se considera propagación de influencia elhecho de que una persona escriba un tweet abordando una temática sobrela cual, previamente, un miembro de su red de amigos también ha escrito.

Por ejemplo, si el usuario A realiza una publicación comentando la nue-va película de Transformers y posteriormente, en un periodo de tiemporelativamente corto, el usuario B, que es follower de A, también escribesobre dicha película, nos encontraremos ante un caso de propagación deuna acción desde A hacia B.

29

Page 37: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 7: Propagación de una acción de tipo “Tweet sobre un mismo tema”.

2. Retweets: esta categoría incluye las publicaciones del tipo retweet, lascuales dentro de la plataforma de Twitter representan a un usuario com-partiendo a su red de amigos un mensaje que otro usuario ha publicadoanteriormente.

De esta forma, un retweet por parte del usuario B de una publicaciónrealizada por A se considerará una propagación desde A hacia B.

Figura 8: Propagación de una acción de tipo “Retweet”.

3. Comentario sobre un tweet de otro usuario: por último, el tercer tipo depropagación tiene lugar cada vez que un usuario realiza un comentario enun tweet publicado por un amigo.

30

Page 38: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Por ejemplo, si el usuario A escribe un tweet recomendando la serie “Thebig bang theory”, y posteriormente el usuario B comenta que la semanapróxima comenzará a verla, podemos inferir que A ejerce un cierto gradode influencia sobre B.

Figura 9: Propagación de una acción de tipo “Comentario sobre un tweet deotro usuario”.

3.3.2. b. Omisión de datos de entrada

Como último punto dentro de la Etapa 1, proponemos analizar la omisiónde determinados datos de entrada bajo la teoría de que su inclusión no aportacalidad adicional a los resultados, y que obviar su procesamiento puede otorgarbeneficios de performance considerables. Particularmente apuntamos a excluir elanálisis de la fecha de inicio de la relación entre dos usuarios: históricamente, elcálculo de usuarios influenciadores propuso estudiar únicamente la propagaciónde acciones realizadas en una fecha posterior a la fecha en la cual los usuarios encuestión dieron inicio formal a su relación o vinculo social. Sin embargo variosaspectos, que enumeraremos a continuación, nos permiten proponer la exclusiónde este análisis previo.

31

Page 39: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

En primer lugar, la masividad de las redes sociales on-line de hoy día hanllevado prácticamente a la desaparición de la privacidad y exclusividad de losvínculos: las figuras sobre las cuales se centra y se interesa este estudio (aque-llos usuarios que ejercen un alto grado de influencia sobre la población) y susacciones son abiertas al resto de la comunidad. No sería interesante, y muchomenos de gran utilidad, conocer usuarios influenciadores que interactúan conun círculo pequeño de contactos. Por el contrario, estamos buscando a aquellaspersonas que logran ejercer influencia sobre un gran porcentaje de la comunidad,independientemente de si éstos últimos han manifestado o explicitado una rela-ción formal con los primeros. Esto apunta a que la propagación de una acciónrealizada por una determinada persona puede llegar a otra aún cuando entreellos no exista un vínculo formal, y no por esto debe ser omitida del proceso.En la práctica, una publicación, comentario o expresión de una personalidadpopular suele transmitirse por diferentes canales a los miembos de la comuni-dad, alcanzando incluso a aquellos que no tienen una relación manifiesta conellos (por ejemplo, quienes no son sus seguidores en Twitter). Si esta acción sepropaga, podemos inferir la presencia de influencia, independientemente de laexistencia o no del mencionado vínculo.

En segundo lugar, habiendo introducido el concepto de definición tempranade acciones propagadas, el usuario es capaz de definir tipos de acciones paralos cuales conocer o no la fecha de inicio del vinculo social es indiferente, tantoporque la propia acción garantiza esta condición, como porque para ese tipode acción resulta indistinto que exista un vinculo formal dentro de la red. Porejemplo para las acciones de tipo Retweet, la propia existencia de la mismagarantiza que un usuario ha logrado ejercer influencia sobre otro. Aún cuandono sepamos si el usuario que realizó el retweet es follower del autor del tweetdentro de la plataforma, el hecho de que haya retwitteado su estado nos garantizaque existe un nexo al menos informal entre ambos, que lo conoce y que de algunaforma sus acciones repercuten en él.

Por último, un aspecto sobre el cual hacen foco muchas de las propuestasde este trabajo es la mejora de performance del proceso. Es sabido que uno delos factores que dificulta la implementación de modelos de cálculo de influenciaes que los tiempos de procesamiento son muy grandes, al punto de tornarloscomputacionalmente prohibitivos. Por este motivo, poder obviar esta etapa delproceso, evitar realizar validaciones respecto al inicio de vínculos formales dentro

32

Page 40: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

de la red y las fechas de realización de acciones, resulta muy valioso.En la fase IV. Implementación nos proponemos demostrar que las supo-

siciones aquí planteadas resultan correctas.

3.4. Etapa 2: Probabilidad de contagio

3.4.1. a. Incorporación de Topics

Prácticamente todos los tipos de contagio o propagación de acciones pre-sentes en los modelos de cálculo de influencia están de alguna u otra manerarelacionados con un concepto al que llamaremos topic, y que más allá de algu-nos acercamientos planteados en [6] y [9], al día de hoy no ha sido debidamenteestudiado y explotado.

Un topic es un término o conjunto de términos semánticamente relacionados,que identifican un único concepto. Por ejemplo, el término “Batman” identificaunívocamente a la serie animada de igual nombre. Por otro lado, el conjunto detérminos {“Batman”, “Begins”} refiere a la primer película de la trilogía dirigidapor Christopher Nolan, mientras que {“Batman”, “Comics”, “Bolland”} permiteidentificar a las historietas publicadas en la década del 80 por la editorial DCComics.

Dentro del estudio de la influencia en las redes sociales, este concepto puedeutilizarse para mejorar la eficiencia del cálculo de probabilidades de contagioentre personas. Particularmente, en las redes de publicación de contenidos nosolo nos otorga un nuevo tipo de propagación de acciones, sino que también nospermite obviar del proceso una tarea sumamente costosa en cuanto a perfor-mance como es la detección y eliminación de términos frecuentes del lenguaje.Detallamos a continuación nuestra propuesta para la incorporación de los topicsen el proceso de detección de usuarios influenciadores.

Como dijimos, un topic es un término o conjunto de términos que identificaun único concepto. A su vez, podemos intuir que la posibilidad de conocercuáles son los topics que se hacen presente en las acciones detectadas en una redsocial en un determinado período de tiempo resulta de gran valor a la hora deidentificar cuáles de ellas son fruto de la propagación, cuáles son origen de unacadena de contagio, cuáles son acciones masivas repetidas por un gran porcentajede la población y cuáles son acciones aisladas del resto. En sintonía con esto,es necesario incluir el concepto de frecuencia a la definición de topics: dentro

33

Page 41: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

de una red social, un topic puede ser frecuente durante un período acotado detiempo o puede estar presente en todo momento; a su vez, la frecuencia puededefinirse para un conjunto de la población o para la totalidad de la misma.

En base a esta definición podemos identificar tres tipos de topic distintos:

1. Frecuente sólo durante un período de tiempo específico, para toda la po-blación: son sucesos globales que ocurren en algún momento determinadoe involucran a prácticamente la totalidad de la población. Las llamaremosacciones masivas, y las mismas no serán consideradas en el cálculo deinfluencia ya que, más allá de que en el historial de acciones podemosencontrar al primer usuario que hizo referencia a este tema, sería erróneodecir que dicho usuario originó una cadena de propagación, cuando enrealidad la naturaleza misma del evento fue lo que generó que se haga tanpopular. Esto es fácilmente comprobable ya que podremos encontrar, paraeste tipo de acciones, muchos otros nodos iniciadores (también llamadosnodo origen) que no tienen relación con aquel encontrado previamente, conlo cual podemos afirmar que no ha habido una propagación entre ellos.

Un ejemplo de esto fue el Tsunami que tuviera lugar en Japón en el año2004. Durante varios días el tema estuvo a la cabeza de todos los diarios anivel mundial y fue motivo de conversación de millones de personas. Previoa esto, mucha gente ni siquiera conocía el término “tsunami”, y pasadasunas semanas el tema fue perdiendo protagonismo al punto de recuperarvalores de popularidad cercanos a los que tenía antes de este suceso.

Uno de los aportes de esta tesis es detectar las acciones masivas del histo-rial y excluirlas del cálculo de probabilidades de contagio, evitando asignara una persona un nivel de influencia sobre el resto de la comunidad queno tiene.

34

Page 42: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 10: Frecuencia del término “Tsumani” en publicaciones globales en elaño 2004.

2. Frecuente en todo momento, para toda la población o un grupo reducidode ella: son términos y sucesos que forman parte de la rutina de las perso-nas. Los llamaremos términos frecuentes, y su aplicación en el procesoserá auxiliar: mientras que no son útiles para identificar propagación deacciones, nos sirven para descartar aquellas que se hacen presente a lolargo de todo el ciclo de vida del historial registrado.

De esta forma, todos los términos comunes del lenguaje (conectores, pre-posiciones, etc.) y aquellos que forman parte de la cotidianeidad (“fútbol”,“trabajo”, etc.) pueden ser fácilmente identificados y extraídos del proce-so de cálculo de probabilidades de propagación, lo cual resulta un aportemuy valioso para el proceso, ya que la tarea de extraer términos comunesdel leguaje es compleja y costosa.

35

Page 43: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 11: Frecuencia del término “Fútbol” en tweets durante el año 2012.

3. Frecuente sólo durante un período de tiempo específico, para un sector re-ducido de la población: son sucesos que cobran popularidad dentro de unconjunto relativamente pequeño de la comunidad, y al cabo de un tiemporegresan a sus valores de frecuencia habituales. Los llamaremos topicslocales, y serán éstos los topics que más valor tendrán en nuestro modelo,ya que los mismos son indicio de focos de influencia local.

Dado que el topic se vuelve popular para un conjunto acotado de personas,podemos descartar que la naturaleza del mismo sea lo que lo llevó a valoresde frecuencia por encima de los habituales. Por el contrario, podemos decirque su popularidad nació en aquella o aquellas personas que dieron origenal tema, que lo pusieron sobre la mesa para que luego otras, arrastradaspor el efecto de influencia que estas personas generan en ellos, lleven apopularizarlo dentro de su comunidad.

Por ejemplo, si dentro de una comunidad de compañeros de futbol unapersona con alto grado de influencia sobre el resto comenta que el nuevodesodorante “Sports Fan” le ha parecido de muy buena calidad y reco-mienda a sus compañeros que lo prueben, y al cabo de un par de díasnotamos que muchos otros miembros de la red han hecho algún comenta-

36

Page 44: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

rio al respecto, con mucha más frecuencia de lo que lo hacían previamente,podemos decir que nos encontramos ante un caso de topic local.

Figura 12: Frecuencia del topic “Songs of Innocence” entre la totalidad de lapoblación (rojo), y la comunidad del Rock (azul) durante los meses previos yposteriores al lanzamiento del disco.

A partir de estas definciones, al momento de procesar el historial de transac-ciones y en caso de encontrarnos ante alguna de ellas (accion masiva, términofrecuente o topic local), se ponderará o eventualmente descartará la acción deacuerdo a los criterios definidos previamente:

Acción masiva: cuanto mayor sea la aparición/utilización de ese términoo topic en la población para un período de tiempo cercano al de la acciónen cuestión, menor es el peso que dicha acción tendrá en el cálculo de pro-babilidades de contagio, tendiendo eventualmente a cero cuando la acciónse enmarca en lo que podríamos denominar un “topic global”.

Términos frecuentes: los términos frecuentes, como las palabras comunesdel idioma o los términos de uso cotidiano, son descartados y no se tienenen cuenta a la hora de obtener las probabilidades de contagio.

Topics locales: son los más relevantes dentro del proceso de obtención de

37

Page 45: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

probabilidades de contagio, y su eventual aparición tendrá una pondera-ción muy alta dentro de los cálculos que se realicen.

3.4.2. b. Ponderación de las acciones propagadas

Como podemos imaginar, no todas las propagaciones que ocurren dentro deuna red están vinculadas a transferencias de influencia de igual grado. Con estonos referimos a que, dada las circunstancias en las que una acción realizada poruna persona fue repetida más tarde por otra, el momento en que lo hizo y eltipo de acción en cuestión, es posible determinar que tan fuerte es el lazo deinfluencia que une a estas dos personas.

En referencia a esto, proponemos introducir el concepto de ponderación delas acciones propagadas, por el cual, a la hora de obtener las probabilidadesindividuales de contagio, las acciones del historial utilizadas tendrán mayor omenor peso en el cálculo que se realiza de acuerdo a las circunstancias particu-lares de cada una. Identificamos tres factores principales a considerar, los cualesdetallaremos a continuación:

Criterio del usuario final: el principal y más determinante factor de ponde-ración de las acciones propagadas está dado por el criterio del usuario final,aquel que conoce en detalle el contexto del estudio que se está realizando.

Al igual que en la etapa de formación de datos, donde se involucra alusuario permitiéndole definir los tipos de propagación que el modelo debeconsiderar, en esta segunda etapa puede participar ponderándolos. Estaponderación puede manifestarse de diversas formas, como por ejemplo através de un simple ordenamiento de los tipos de acción, desde el más im-portante al menos vinculante, o mediante la asignación de valores discretosa cada uno. A su vez, los valores podrían ser números enteros entre 1 y 10,categorías definidas especialmente para el estudio (como “bajo”, “medio”y “alto”), etc. La decisión de qué mecanismo utilizar estará en manos delusuario, y nuevamente la idea es brindar un grado de flexibilidad lo másalto posible, de forma que para cada estudio se pueda definir de mane-ra sencilla el criterio de ponderación a utilizar, e incluso realizar corridascon distintas variantes y evaluar los resultados obtenidos con cada una deellas.

Para ponderar los tipos de propagación definidos en Etapa 1: Formación

38

Page 46: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

de datos. a. Definición temprana de múltiples acciones propaga-das utilizamos valores numéricos, con una escala de entre 1 y 15, siendo1 un tipo de propagación débil y 15 el más fuerte. En este punto es im-portante destacar que la escala a utilizar puede ser redefinida en cadaimplementación, no siendo relevante los valores utilizados para los míni-mos y máximos, sino la relación entre ellos.

Tipo de propagación Factor de ponderaciónTweet sobre un mismo tema 2

Retweets 15Comentar un tweet de otro usuario 10

Tiempo transcurrido entre la acción y la repetición: cuando definimos lapropagación de acciones mencionamos que el tiempo es un indicio impor-tante que nos ayuda a definir si la segunda acción fue una repetición dela primera, o es un acto independiente fruto de la propia iniciativa de lapersona que la realizó. De acuerdo a diversos estudios sobre casos reales,como se observa en [5], si una persona va a repetir una acción realizadapor otra anteriormente, es probable que lo haga en un período de tiempocercano. Podemos inferir que cuanto más tiempo transcurre entre dos ac-tos del mismo tipo, menor es la probabilidad de que el segundo se hayagenerado a causa de la influencia. Proponemos, entonces, utilizar un factorde multiplicación k que pondere las propagaciones de acuerdo al tiempotranscurrido entre una acción y su repetición.

Tal cual destaca Bonchi en [5], la probabilidad de contagio disminuye deforma exponencial en el tiempo. La función exacta que define esta caídavaría ligeramente según el dominio estudiado, lo cual permite que se adopteen su lugar, de forma genérica, cualquier función exponencial negativa.Dentro de las posibilidades, y valorando la simpleza de comprenderla yutilizarla, elegimos la siguiente:

k = 12t−1

con t = cantidad de intervalos de tiempo transcurridos entre las acciones.

39

Page 47: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Como podemos ver, si la repetición ocurre en el intervalo inmediatamen-te posterior a la acción, el valor de k será igual a 1, mientras que pararepeticiones muy lejanas en el tiempo, el valor de k tiende a 0.

Cantidad de personas vinculadas que realizaron la acción previamente:este último factor surge del hecho de que, tal cual se demuestra en [6],cuanto mayor es la cantidad de contactos de una persona que han rea-lizado previamente la acción analizada, resulta más difícil determinar siel individuo actuó imitando a alguno de ellos en particular, y en caso deque así fuera, cuál de todos ellos fue el que lo influenció a actuar de esaforma, o si fue el hecho de que muchos de sus contactos repitieran unaacción lo que lo generó, lo cual resulta más probable. Considerando esto,podemos decir que el peso de propagación de una acción que fue realizadapreviamente por un solo contacto debe ser más alto que el de una que fuerealizada por varios miembros de la red.

En sintonía con el factor de ponderación definido en la sección anterior,proponemos la utilización de un multiplicador p, cuyo valor disminuya amedida que aumenta la cantidad de predecesores de una acción.

p = 1n+ 1

con n = cantidad de contactos de la red del individuo que realizaron laacción previamente.

3.4.3. c. Discretización del tiempo

La discretización es un proceso que transforma datos o valores continuos endiscretos, lo que también podría verse como transformar valores cuantitativosen cualitativos. Estos últimos son muy importantes en los algoritmos de DataMining, ya que mejoran su performance y su efectividad. Sin embargo, y a pesarde que la discretización ha sido largamente estudiada ([10], [11], [12] entre otros),no siempre resulta sencillo encontrar la mejor forma de transformar los datosdel dominio de manera que los nuevos valores resulten representativos y útilesal estudio en cuestión. Particularmente, el modelo de búsqueda de usuariosinfluenciadores en redes sociales es muy específico y no comparte demasiadasimilitud con otros modelos, por lo cual surge la necesidad de proponer una

40

Page 48: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

alternativa de discretización propia, que se adapte a las necesidades de dichotrabajo.

Estudiamos en esta sección la discretización de una variable clave dentro denuestro modelo: el tiempo. El mismo nos permite determinar, entre otras cosas,qué usuario inició una acción, cuánto demoró cada propagación, cuál es el tiempopromedio en que las acciones de determinado tipo se propagan de un usuarioa otro, etc. Resulta indispensable, entonces, que los resultados del proceso dediscretización sean representativos del dominio en el que se trabaja. Por estemotivo, para este análisis nos valemos de la información obtenida y generadaen los pasos anteriores del proceso; particularmente, utilizamos el concepto detipos de acciones propagadas.

Una decisión clave que puede llevar al éxito o fracaso del proceso de dis-cretización es la elección de la amplitud de los intervalos de tiempo con quetrabajará el modelo. Esto es, la distancia entre los extremos inferior y superiorde un intervalo. Si dicho valor no está dentro de un rango de aceptación razo-nable puede llegar a introducir ruido al método, que genere distorsión en loscálculos y termine entregando resultados de baja calidad. En nuestra propues-ta, la amplitud de los intervalos es el resultado del análisis de los tiempos dedemora entre acciones propagadas. El proceso propuesto consta de tres pasos,que detallamos a continuación:

1. Para cada propagación incluida dentro de las definidas en Etapa 1: For-mación de datos. a. Definición temprana de múltiples accionespropagadas, obtenemos el instante de tiempo en que sucedieron tanto laacción original como su repetición. En base a esto, calculamos el tiempode propagación (lapso transcurrido entre ambas acciones). Como resultadotenemos una serie de valores que representan cuanto demoró cada acciónindividual en ser propagada.

Ejemplificamos a continuación con un conjunto de acciones ocurridas eldía 12 de agosto del 2014:

41

Page 49: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Acción Tipo de acción Tiempo deocurrencia

Tiempo depropagación

A1 Retweet 08:22 hs -A2 Retweet 08:24 hs 2 minutosB1 Mismo topic 08:36 hs -A3 Retweet 08:37 hs 15 minutosB2 Mismo topic 08:39 hs 3 minutosC1 Comentario en tweet 08:40 hs -B3 Mismo topic 08:41 hs 5 minutosB4 Mismo topic 08:42 hs 6 minutosC2 Comentario en tweet 08:44 hs 4 minutosD1 Mismo topic 08:46 hs -C3 Comentario en tweet 08:47 hs 7 minutosD2 Mismo topic 08:49 hs 3 minutosD3 Mismo topic 08:50 hs 4 minutosE1 Retweet 09:03 hs -E2 Retweet 09:04 hs 1 minutoE3 Retweet 09:05 hs 2 minutosF1 Comentario en tweet 09:07 hs -F2 Comentario en tweet 09:09 hs 2 minutosE4 Retweet 09:09 hs 6 minutos

Cuadro 7: Demoras [en minutos] = {1, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 15}

2. Calculamos el tiempo promedio de propagación (tpp), utilizando las demo-ras obtenidas en el paso anterior. La amplitud de los intervalos será unafracción de este valor, con el objetivo de asegurarnos que la mayor can-tidad de acciones propagadas formen parte de intervalos distintos entreellas. Para este ejemplo elegimos 1/2 como factor de multiplicación, perodicho valor puede ser redefinido de acuerdo al criterio y las necesidadesdel trabajo en cuestión.

tpp =

n∑i=1

tpi

n

En nuestro ejemplo, el tiempo promedio de propagación es igual a:

42

Page 50: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

tpp = 1 + 2 + 2 + 2 + 3 + 3 + 4 + 4 + 5 + 5 + 6 + 7 + 1513

tpp = 4, 53min.

La amplitud de los intervalos es entonces 2,26 minutos.

3. Se define un tiempo inicial ‘t0’, igual al instante en que se realizó la pri-mera acción propagada del set de datos. Los valores discretos de tiempo(intervalos) de las acciones se obtienen a partir del instante ‘t0’y la am-plitud definida en ii.

Intervalos (asumiendo primer acción propagada: 08:00 hs.) = { [08:00,08:02:26) , [08:02:26, 08:04:52) , [08:04:52, 08:06:78) , [08:06:78, 08:09:04) ,[08:09:04, 08:11:03) , [08:11:03, 08:13:56) , [08:13:56, 08:15:82) , [08:15:82,08:18:08), [08:18:08, 08:20:34), ... }

4. Por último, el tiempo de propagación (TP) entre acciones está dado porla diferencia de intervalos de tiempo entre ellas.

Ejemplificamos a continuación la distancia de tiempo de las propagacionesde tipo A de nuestro ejemplo.

TP(A1→A2) = ∆t(t10, t11) = 1

TP(A1→A3) = ∆t(t10, t17) = 7

43

Page 51: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Acción Tiempo deocurrencia

Tiempo dis-cretizado

Tiempo depropagación

t0 = 08:00 hsA1 08:22 hs t10 -A2 08:24 hs t11 1B1 08:36 hs t16 -A3 08:37 hs t17 7B2 08:39 hs t18 2C1 08:40 hs t18 -B3 08:41 hs t19 3B4 08:42 hs t19 3C2 08:44 hs t20 2D1 08:46 hs t21 -C3 08:47 hs t21 3D2 08:49 hs t22 1D3 08:50 hs t23 2E1 09:03 hs t28 -E2 09:04 hs t29 1E3 09:05 hs t29 1F1 09:07 hs t30 -F2 09:09 hs t31 1E4 09:09 hs t31 3

Cuadro 8: Demoras [en intervalos de tiempo] = {1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3,7,}

Una vez finalizado el proceso habremos transformado todos los valores con-tinuos de nuestro modelo en valores discretos, lo cual mejora notablemente laperformance del método: ahora la distancia entre acciones propagadas está da-da por la cantidad de intervalos entre ellas, es decir números enteros, y no esnecesario calcular y luego comparar para cada una el tiempo transcurrido, enhoras, minutos y segundos.

A su vez, el hecho de haber utilizado para los cálculos únicamente aquellasacciones enmarcadas dentro de las definidas en la Etapa 1: Formación dedatos. a. Definición temprana de múltiples acciones propagadas le

44

Page 52: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

ahorra al modelo el procesamiento de un número muy grande de registros, lo cualgenera una mejora de performance muy importante, a la vez que perfecciona lacalidad de los resultados, ya que al considerar para los cálculos sólo las accionespropagadas se obtienen valores representativos de las acciones que al modelole interesan, que son aquellas que fueron disparadas por un potencial usuarioinfluenciador y replicadas por uno o varios usuarios distintos de la red.

3.5. Etapa 3: Algoritmos de maximización

Como vimos anteriormente, el principal problema del algoritmo Greedy parala búsqueda de usuarios influenciadores es su performance. Más específicamente,el hecho de tener que procesar en cada iteración a todos los usuarios de la redpara determinar el alcance de contagio logrado por cada uno de ellos (esto es,cuántos nodos que se encuentran inactivos cambian de estado si se activa dichonodo) resulta ser el principal obstáculo en pos de un algoritmo eficiente. Enlos puntos a. y b. de esta sección detallamos dos mecanismos que proponemospara resolver este inconveniente. Posteriormente, presentamos alternativas almecanismo tradicional de búsqueda de usuarios influenciadores que apuntan amejorar la calidad de los resultados obtenidos.

3.5.1. a. Procesamiento únicamente de nodos con antecedentes decontagio

A partir del aporte realizado en la Etapa 1. Formación de datos a.Definición temprana de múltiples acciones propagadas, conocemos endetalle cuales son las acciones que fueron propagadas del total de registros delhistorial. Esto significa que podemos individualizar tanto a las personas queiniciaron acciones que luego fueron propagadas (los llamaremos iniciadores),como a aquellas que participaron del proceso de propagación en las subsiguientesetapas, más allá de no haber sido los iniciadores de la misma. Llamaremos aéstas últimas propagadores.

Siendo que el modelo busca a aquellas personas que, a través de su influencia,pueden producir la mayor cantidad de activación de nodos posible, el hecho deconocer con exactitud quienes fueron los propagadores dentro de la comunidaddado un historial de acciones nos permite, en esta tercera etapa, procesar soloa esos usuarios, y no al total de la red. Esto significa que la red no necesita

45

Page 53: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

ser recorrida en su totalidad para cada iteración del algoritmo, sino que solo unnúmero reducido de nodos (aquellos que lograron transmitir un acto suyo a otrapersona) deben ser procesados en cada una de ellas.

Teniendo en cuenta que el número de acciones propagadas es un porcentajemenor dentro de la totalidad de registros del historial y que los propagadores deestas acciones en muchas ocasiones se repiten, la cantidad de nodos a procesarpor el algoritmo Greedy se reduce notablemente, haciendo factible su aplicacióndentro de sets de datos de gran volumen, tal cual se presentan en la práctica.

En el siguiente ejemplo podemos ver los beneficios de aplicar este filtro previoal procesamiento de los nodos:

Disponemos de una red con 25.942 nodos, y un historial de acciones con1.815.560 registros, de las cuales 31.248 fueron propagadas. Si analizamos losnodos origen de cada una de esas propagaciones, encontramos que participaronun total de 2.720 usuarios distintos. De esta forma, y tal cual podemos observaren la Figura 13, la cantidad de nodos a procesar por el algoritmo en cadaiteración se reduce casi en un 90%.

Figura 13: Gráfico con el porcentaje de acciones propagadas del total de ac-ciones del historial (izquierda), y el porcentaje de usuarios propagadores de lacomunidad (derecha).

3.5.2. b. Procesamiento de nodos de forma agrupada

Más allá de haber logrado en la sección anterior reducir notablemente lacantidad de nodos a procesar en cada iteración, podemos hacerlo aún más. Paraesto, nos valdremos de los beneficios de la técnica de clustering.

46

Page 54: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

El clustering es la tarea de agrupar en conjuntos (clusters) elementos de unsistema, de forma que aquellos que se encuentran en un mismo cluster sean mássimilares entre ellos que con los elementos de los otros clusters. La definición desimilitud es propia de cada proyecto, pudiendo estar dada por la comparaciónde un atributo de los registros, la combinación de varios de ellos, o alguna otraalternativa.

Utilizando este concepto, y tomando algunas de las premisas definidas en [7]y [8], proponemos realizar una serie de modificaciones al algoritmo Greedy, lascuales enunciamos a continuación:

Agrupar a los nodos resultantes del filtro aplicado en a. Procesamientosólo de nodos con antecedentes de contagio en una cantidad reducidade clusters, de acuerdo a un criterio que explicaremos luego.

Procesar, en cada iteración, un único nodo por cluster elegido de formaaleatoria, y calcular el valor de σ(S) que se obtendría si se incorporaradicho nodo al conjunto S.

Identificar, de todos los nodos procesados, aquel que maximiza el valor deσ(S).

Procesar los nodos restantes del cluster al cual pertenece el nodo obtenidoen el paso anterior.

Incorporar al conjunto S a aquel nodo del cluster procesado que maximizael valor de σ(S).

De esta forma, como podemos ver en la Figura 14, la cantidad de nodosprocesados en cada iteración se reduce a valores muy bajos, proporcional a lacantidad de clusters que hayamos definido al comienzo de esta etapa.

47

Page 55: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 14: Nodos procesados en función de la cantidad de clusters.

Continuando con el ejemplo de la sección anterior, los 2.720 usuarios po-drían agruparse en 15 clusters distintos, cada uno con aproximadamente 180usuarios. De esta forma, cada iteración implicaría recorrer primero los 15 clus-ters, y posteriormente 179 nodos más (los “hermanos” de aquel que mayor valorde σ(S) dio en el primer paso), lo cual da un total de 194. Esto implica unareducción de casi el 93% con respecto a los nodos resultantes del filtro aplicadoanteriormente, y más del 99% con respecto al total de miembros de la red.

Un factor importante en el éxito de esta propuesta radica en qué tan correctasea la definición de similitud de elementos de un mismo cluster que realicemos.Dado que el algoritmo procesa un nodo por cluster y toma el resultado a mo-do de referencia, el mismo debe ser representativo de los demás elementos delconjunto. Por este motivo decidimos utilizar como factor de similitud la Matrizde probabilidades de contagio entre los usuarios de la red. De esta forma, sonagrupados en un mismo cluster aquellos usuarios que tengan probabilidades decontagio entrantes/salientes de valores similares, y desde/hacia un conjunto si-milar de usuarios, garantizando así que los nodos elegidos de forma aleatoriabrindan un valor de σ(S) representativo del cluster que los contiene. La elecciónde este factor de similitud, entonces, nos permite suponer con un bajo nivel deincertidumbre que todos los elementos de un cluster tienen un valor de σ(S) igualo muy cercano al del nodo elegido aleatoriamente, permitiendo la aplicación del

48

Page 56: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

mecanismo propuesto sin afectar la calidad de los resultados y mejorando deforma notable la performance, al computar un número de registros muy inferioral original.

Matriz de probabilidades de contagio: en esta matriz de NxN, con N =cantidad de miembros de la red social, se representan las probabilidades decontagio desde y hacia todos los usuarios de la red. La misma contiene unregistro ‘i’ por usuario, y en cada columna ‘j’ se especifica la probabilidad deque i propague una acción a j (definidas en 2. Probabilidad de contagio). Esdecir que cada fila tiene las probabilidades salientes, mientras que cada columnatiene las probabilidades entrantes. De esta forma, la Matriz de probabilidadesde contagio ofrece al algoritmo de clustering una distribución espacial que lepermite realizar los agrupamientos.

Por último, durante el armado de la matriz se incorpora un proceso de nor-malización, mediante el cual se garantiza que la suma los valores de probabilidadentrantes sean mayores o iguales a 0 y menores o iguales a 1.

Usuario A Usuario B Usuario C Usuario D Usuario EUsuario A - 0,00 0,01 0,04 0,15Usuario B 0,20 - 0,08 0,62 0,21Usuario C 0,00 0,41 - 0,00 0,00Usuario D 0,37 0,00 0,14 - 0,06Usuario E 0,12 0,11 0,00 0,09 -

Cuadro 9: Matriz de probabilidad de contagio de una red con 5 miembros.

En el cuadro 9 podemos observar las probabilidades de contagio represen-tadas en la matriz anteriormente definida. Tomando como referencia al usuarioA, podemos identificar las probabilidades salientes:

p(A,B) = 0, 00

p(A,C) = 0, 01

p(A,D) = 0, 04

p(A,E) = 0, 15

49

Page 57: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Y las probabilidades entrantes:

p(B,A) = 0, 20

p(C,A) = 0, 00

p(D,A) = 0, 37

p(E,A) = 0, 12

3.5.3. c. Frecuencia de participación de los usuarios

Un déficit del algoritmo Greedy es que para obtener el conjunto de nodos S sebasa exclusivamente en la probabilidad de contagio calculada en la etapa 2, y notiene en cuenta la frecuencia de participación de los usuarios en la red, es decirqué cantidad de acciones realizan. De esta forma, puede resultar seleccionadoun nodo con un alto nivel de actividad de la misma forma que uno que solo haparticipado en contadas ocasiones.

Esto genera dos situaciones indeseadas, las cuales enunciamos a continuacióny para las cuales proponemos alternativas superadoras: por un lado, la posibili-dad de que ante probabilidades de contagio similares, se elija un nodo con muchamenor actividad que otro; por otro lado, el hecho de que se pueda elegir dentrodel conjunto final S usuarios que han realizado una sola acción, o un númeromuy bajo de ellas, pero que las mismas se propagaron a un alto porcentaje de lapoblación. Empíricamente se ha comprobado que esta última situación es muyfrecuente dentro del cálculo de usuarios influenciadores utilizando el mecanismotradicional.

Proponemos, entonces, la inclusión de 2 factores adicionales al método:

Ponderación de la frecuencia de participación: como mencionamos, el he-cho de que la frecuencia de participación no sea tenida en cuenta a la horade formar el conjunto de nodos S puede llevar a que resulte elegido unnodo con baja actividad por sobre otro con una gran cantidad de accionesen el historial, si es que el valor de σ(S) del primero es mayor, aunque ladiferencia sea pequeña. Como podemos imaginar, en casos en los cualeslos valores de σ(S) son similares, resultaría más valioso que se seleccionea aquel usuario que mas participación en la red ha tenido.

Proponemos incluir un factor de multiplicación a que pondere el resultadode σ(S), dirimiendo de forma automática, a favor de los nodos con mayor

50

Page 58: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

actividad, aquellos casos en que el resultado de dicha función de propaga-ción sea similar. El valor de a para una persona será igual a la cantidadde acciones realizadas por ella, sobre el total de acciones realizadas portoda la comunidad.

Adicionalmente, se permite al usuario final definir un nivel de influenciade a en los cálculos realizados por el algoritmo, al cual llamaremos h. Estosignifica que el usuario puede indicar si desea que la frecuencia de partici-pación (a) tenga más o menos peso a la hora de seleccionar los nodos delconjunto S, pudiendo incluso establecer que la misma no tenga influenciaalguna, es decir que no se tome en cuenta la frecuencia de participaciónde los usuarios a la hora de seleccionar los nodos del conjunto S.

De esta forma, el resultado final de σ(S) para el usuario i está dado por:

σ(S) = a ∗ h ∗ σ(S)

a = acciones propagadas por i / total de acciones propagadas de la red

h = nivel de influencia de a definido por el usuario final (valores posibles:alto, medio, bajo o nulo).

Umbral de actividad: en segundo lugar, tal cual se observara en numero-sos casos prácticos estudiados, es frecuente que el conjunto final S incluyanodos con muy baja actividad en la red, muchas veces con solo una omuy pocas acciones registradas en el historial, en los casos en que la pro-pagación de las mismas es alta. Para evitar esta situación, proponemosestablecer un umbral de actividad que permita definir un sub-conjuntode personas a utilizar en el cálculo de influencia, priorizando aquellas quemayor actividad registran respecto de las que solo han tenido participa-ción activa en la red social en contadas ocasiones. De esta forma, se ofreceal usuario final la posibilidad de definir qué porcentaje de las personascon mayor actividad se tendrán en cuenta en los cálculos. Si, por ejemplo,en una red con 1.500 nodos, el usuario definiese trabajar con el 25% quemayor actividad registra, se tomarían los 375 nodos con mayor cantidadde acciones propagadas, y se procesaría y seleccionaría a los miembros delconjunto S considerando sólo esos 375 nodos y no toda la red.

Esta restricción es introducida previo al inicio del procesamiento del al-goritmo, eliminando del set de nodos candidatos a todos aquellos que no

51

Page 59: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

superen este umbral, de forma que no solo mejore la calidad de los resulta-dos finales, sino también la performance del método, que se ve beneficiadapor la omisión de un nuevo grupo de nodos, tal cual ocurriera en los puntosa. y b. de esta sección, y por lo tanto la posibilidad de trabajar con menorcantidad de registros, lo cual se traduce directamente en menor cantidadde iteraciones para encontrar el mejor nodo de cada ronda de selección.Por supuesto, si el usuario define utilizar el 100% de la red, no se produceen esta etapa reducción alguna del set de datos.

52

Page 60: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

4. Implementación

4.1. Plataforma desarrollada

Con el fin de llevar a la práctica las propuestas de mejora presentadas en laEtapa III, se desarrolló una plataforma de búsqueda de usuarios influenciadoresen cuya construcción se aplicaron todos y cada uno de los conceptos presentadosdurante el desarrollo de la propuesta.

En sintonía con el espíritu de este trabajo, enfocado no solo en ofrecer unalgoritmo que brinde resultados de mayor calidad, sino también en involucraren el proceso al usuario final, se decidió desarrollar una aplicación web, user-friendly, que facilite la participación del mismo en las definiciones previas alprocesamiento.

A su vez, siguiendo la premisa planteada en [7] de poder disponer de unaplataforma escalable y dinámica, la aplicación fue desarrollada en forma de tem-plate, manteniendo genérica la lógica central del proceso, de modo que resultesencillo adaptar orígenes de datos muy diversos sin demasiado esfuerzo adicio-nal. En particular, para este trabajo se vinculó una base de datos referida a lared social Twitter, cuyo esfuerzo demandó sólo un 20% del total de horas dedi-cadas a la aplicación. Para lograr esta genericidad, el desarrollo fue dividido en4 módulos principales, los cuales detallamos a continuación.

4.1.1. 1. Modelo de negocio

Contiene el core de la aplicación:

Algoritmo Greedy: aquí se centra toda la lógica propia del algoritmoGreedy para la búsqueda de usuarios influenciadores, como así tambiénla interacción entre las distintas ramas de la aplicación (clasificación deacciones, obtención de probabilidades de contagio, discretización del tiem-po, etc.) para generar el modelo que el proceso necesita.

Clasificación de acciones: se encarga de clasificar todas las acciones deacuerdo a las categorías definidas por el usuario, como así también deidentificar y ponderar los topics que se encuentran implícitos en dichasacciones.

Cálculo de probabilidades de contagio: obtiene las probabilidades indivi-duales de contagio entre usuarios vinculados de la red.

53

Page 61: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Discretización del tiempo: implementa la discretización definida en estetrabajo, a la vez que permite calcular el tiempo de propagación, en unidadde intervalos de tiempo, entre acciones.

Clustering: se encarga de agrupar en sub-conjuntos a los usuarios que seránparte de la búsqueda final de usuarios influenciadores.

Este módulo contiene la lógica que cualquier adaptación de origen de datoscompartirá. En él se realizan las operaciones referidas a clasificar cada una de lasacciones del modelo de datos, se realiza la discretización del tiempo de acuerdoa los parámetros definidos en la etapa 2.c, se calculan las probabilidades decontagio entre usuarios de la red, se realiza el clustering de nodos propuesto enla etapa 3.b, y se ejecuta el algoritmo Greedy que se encarga de elegir a los nusuarios de mayor influencia en la red.

Como dijimos, la lógica aquí incluida es común a cualquier origen de datos,y no necesita ser modificada en caso de realizar un trabajo sobre un modelodistinto al de Twitter (utilizado para este trabajo).

A continuación presentamos un diagrama de clases del módulo de negocio:

Figura 15: Diagrama de clases del modelo de negocio.

54

Page 62: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

4.1.2. 2. Acceso a datos

Contiene la lógica para acceder a los datos del origen utilizado. Este módulodebe ser construido en su totalidad por el usuario, de acuerdo a la adaptaciónque se desea realizar. Debe disponibilizar al menos 3 conexiones básicas que laaplicación utilizará como input:

Vínculos entre usuarios de la red.

Historial de acciones.

Información de los usuarios.

Adicionalmente, la aplicación requerirá 2 conexiones relacionadas a la lógicade procesamiento del algoritmo Greedy:

Terms/Topics.

Discretización del tiempo.

Para el presente trabajo se decidió conectar con la aplicación una base dedatos extraída de Twitter mediante el ORM Entity Framework 5.0.0. Deacuerdo al modelo de datos definido en la etapa III, las 5 conexiones requeridasse mapean con las tablas de la base de datos de la siguiente forma:

Vínculos entre usuarios de la red → [Relations].

Historial de acciones → [Tweets].

Información de los usuarios → [Users].

Terms/Topics → [Terms].

Discretización del tiempo → [DiscretizedTimeInterval].

Presentamos a continuación un diagrama representando las entidades deacceso a datos y sus relaciones, de acuerdo al ORM utilizado para la presenteaplicación:

55

Page 63: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 16: Modelo de datos utilizado para el presente trabajo.

4.1.3. 3. Modelo de entidades

Este módulo contiene tanto las entidades propias del modelo como las ex-tensiones definidas por el usuario. A partir de cuatro entidades básicas que elalgoritmo en este trabajo definido y los procesos involucrados necesitan, el usua-rio debe implementar las extensiones que se definieron durante el diseño de laadaptación a realizar, de modo que el algoritmo Greedy pueda ejecutar en el ori-gen de datos utilizado toda la lógica genérica definida en el módulo 1. Modelode negocio.

Detallaremos a continuación las 4 entidades genéricas del modelo, su signi-ficado dentro de la aplicación y las extensiones realizadas para el trabajo sobrela base de datos de Twitter.

56

Page 64: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

IAction: Representa una acción del Historial de acciones modelo.

Está compuesta por los campos:

• Id: identificador único de la acción.

• Date: fecha en que la acción fue realizada.

Para este trabajo se extendió esta interfaz mediante la declaración de laentidad TwitterAction, que incorpora información propia del modelo dedatos, como ser los campos Author, Text y Language, entre otros.

IActionType: Representa un tipo de acción, tal cual se definiese en la etapa1.a Definición temprana de múltiples acciones propagadas.

Está compuesta por los campos:

• Weight: peso específico de la acción propagada.

• ActionTypeId: identificador del tipo de acción.

Y los métodos:

• Validate(): se encarga de validar si la instancia de una acción per-tenece o no a ese tipo de acciones.

• GetPredecessorAction(): busca y retorna la acción predecesora dela actual, es decir aquella que inició la propagación.

Para este trabajo se extendió esta interfaz mediante la declaración delas entidades ReplyActionType, RetweetActionType y TopicAc-tionType, que hacen referencia a los tres tipos de acciones definidos enla etapa 1.a, y se completó la implementación de los métodos Validate()y GetPredecessorAction().

IUser: Representa un usuario de la red social.

Está compuesta por los campos:

• Id: identificador único del usuario.

• Name: nombre del usuario.

• XYGraphLocation: contiene la ubicación espacial del usuario deacuerdo a las probabilidades de contagio, que se utilizará en el procesode clustering.

57

Page 65: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Para este trabajo se exendió esta inferfaz mediante la declaración de laentidad User, que incorpora información propia del modelo de datos, comoser los campos ScreenName, Location, FollowersCount y Language.

IUserRelation: Representa una relación entre dos usuarios de la red.

Está compuesta por los campos:

• Id: identificador único de la relación.

• LeftUser: referencia al usuario ‘A’ de la relación.

• RightUser: referencia al usuario ‘B’ de la relación.

• IsBidirectional: indica si la relación es o no bidireccional. En casode no serlo, la misma es dirigida de ‘A’ hacia ‘B’.

• Probability: probabilidad de contagio entre los usuarios.

Para este trabajo se extendió esta interfaz mediante la declaración de laentidad UserRelation, que no incorpora información ni lógica adicional.

Presentamos a continuación un diagrama de clases del modelo de entidadesdefinido para este trabajo, el cual incluye las entidades genéricas que toda im-plementación compartirá, como así también aquellas propias del estudio sobrela red social Twitter aquí implementado:

58

Page 66: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 17: Diagrama de clases del modelo de entidades.

4.1.4. 4. Aplicación Web

El módulo web contiene el frontend de la aplicación, con el cual el usuariofinal deberá interactuar para establecer los parámetros de búsqueda de usuariosinfluenciadores, y será quien entregue los resultados luego del procesamiento delalgoritmo Greedy.

La arquitectura de la aplicación fue diseñada utilizando el patrón MVC(Model-View-Controller), y se puede dividir en dos módulos principales:

Greedy: En él se enmarca el flujo de búsqueda de usuarios influenciadores.Contiene 4 pantallas principales:

• Selección de parámetros iniciales: permite al usuario final elegirla cantidad de usuarios influenciadores a buscar, el peso del paráme-tro Frecuencia de participación, y la cantidad de usuarios a utilizarpara el procesamiento (en% de acuerdo a su nivel de participación

59

Page 67: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

en la red social).

• Selección de pesos específicos de tipos de acción: permite alusuario asignar un peso a cada tipo de acción definido en la Etapa1.a Definición temprana de múltiples acciones propagadas.

• Opciones avanzadas: permite al usuario elegir la cantidad de clus-ters a utilizar en el procesamiento, y la probabilidad de contagiomínima para activar un nodo.

• Resultados: ofrece al usuario los resultados de haber ejecutado elalgoritmo Greedy utilizando los parámetros definidos en las pantallasprevias. Se informa quienes son los usuarios influenciadores encontra-dos, y el alcance conjunto de su influencia (a qué cantidad de usuariosllegan).

Soporte: Incluye documentación de ayuda para el uso de la aplicación, einformación acerca de la misma (autor, propósito, versión, etc).

A continuación se muestran, a modo de ejemplo, dos pantallas de la apli-cación. En primer lugar, en la figura 18 se puede ver una de las pantallas deconfiguración, en la cual el usuario final puede definir sus propios valores paracada uno de los parámetros de búsqueda, de acuerdo al propósito de su inves-tigación. En segundo lugar, la figura 19 ofrece los resultados luego de haberseejecutado el algoritmo Greedy con los parámetros previamente definidos.

60

Page 68: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 18: Pantalla de configuración de parámetros de la aplicación web.

61

Page 69: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 19: Pantalla con los resultados del algoritmo Greedy.

62

Page 70: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

5. Validación

5.1. Implementación del modelo sobre un caso testigo

En la presente sección describimos los resultados de aplicar el modelo sobreun caso testigo. Tal cual detallaramos previamente, el origen de datos seleccio-nado fue la red social Twitter, dentro de un ámbito reducido, limitado a ungrupo de cuentas relacionado a la industria cinematrográfica.

Nos basamos en las 3 etapas principales del proceso de búsqueda de usuariosinfluenciadores, más los aportes presentados en este trabajo, para describir elflujo de secuencias transitadas desde la definición del modelo de datos hasta lapresentación de los usuarios con mayor capacidad de influencia sobre la totalidadde la red. Por último, incluimos una breve comparación respecto a los resultadosobtenidos al ejecutar la aplicación sin las mejoras aquí propuestas.

5.2. Modelo de datos

5.2.1. Definición del modelo de datos

De acuerdo a la estructura de datos de la plataforma seleccionada (Twitter),y a la factibilidad de extracción de información de la misma, se definió un modelode datos compuesto por 3 tablas principales, tal cual describiéramos en la sección3 de este trabajo. Las mismas son la tablaRelations para representar el grafo derelaciones entre usuarios de la red, la tabla Tweets para representar el historialde acciones, y la tabla Users para representar la información personal de cadausuario de la red.

Tal cual mencionáramos, la relaciones en la tabla Relations son unidirec-cionales, ya que reflejan un vinculo de following de un usuario (follower) alrestante. Adicionalmente a la información que nos ofrece la plataforma Twitter,se añadió el campo Probability para almacenar la probabilidad de contagio,que será calculada en una etapa posterior del proceso.

La tabla Tweets, a su vez, contiene un extracto de la información proporcio-nada por la plataforma. Se destacan los campos Text, IsRetweet e InReply-ToUserId, que son fundamentales para determinar si un registro en particularpertenece a una determinada categoría de acciones. El campo ActionType,propio del presente trabajo, que nos permite categorizar cada instancia de unaacción (tweet) dentro de algún tipo de acción a definir en la etapa 1.a, completa

63

Page 71: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

la tabla.Por último, la tabla Users contiene únicamente información extraída de la

plataforma, como el nickname del usuario en la aplicación, su ubicación geográ-fica, la cantidad de seguidores, etc.

5.2.2. Extracción de datos

Tal cual se describiera en la Etapa III del presente trabajo, partiendo de12 cuentas base se obtuvieron 4.877 relaciones entre 1.732 usuarios distintos. Seobtuvieron a continuación 117.916 tweets de dichos usuarios, la totalidad de losingresados por ellos a la plataforma entre el 30/7/2014 y el 24/8/2014.

5.3. Etapa 1. Formación de datos

5.3.1. a. Definicion temprana de múltiples acciones propagadas

De acuerdo a los tres tipos de acción definidos previamente, se procedió aclasificar la totalidad de los registros. Para esto, la aplicación se valió de lasimplementaciones del método Validate() realizadas para ReplyActionType,RetweetActionType y TopicActionType. Cada una de estas implementa-ciones define una lógica que permite determinar si la instancia de una acciónpertenece o no a ese tipo de acción.

Luego de procesar la totalidad de los registros de la tabla Tweets, el resul-tado fue el siguiente:

Tipo de acción Cantidad de registrosTweet Reply 11.419Retweet 30.921Topic 4.194

No class 71.382

Cuadro 10: Cantidad de registros por tipo de acción.

Como podemos ver, la clasificación temprana de las acciones nos permite re-ducir de forma considerable el set de datos a procesar. En este caso, un 39,46%de las acciones se puede enmarcar dentro de alguno de los tipos de acción defi-nido, con lo cual quedan excluidos del procesamiento mas del 60% del total deregistros iniciales.

64

Page 72: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

5.3.2. b. Omisión de datos de entrada

Gracias a que la definición de datos realizada logró alinearse a los tres prin-cipios enunciados en la propuesta de mejora (seccion 3.3.2), fue posible omitirdel proceso la fecha de inicio del vínculo formal entre los distintos usuarios de lared. Repasamos a continuación estas tres consignas, y detallamos de qué formase logra la mencionada alineación.

En principio, la naturaleza de la red social estudiada (Twitter) cumple conla consigna de ser masiva y pública. De esta forma, las acciones realizadas porsus miembros, y más específicamente por aquellos de interés para este trabajo(las figuras públicas), son accesibles para cualquier integrante de la red social.Más aún, la mayoría de estas acciones logran viralizarse rápidamente y terminansiendo conocidas por toda la comunidad, más allá de la existencia o no de unarelación social entre ellos (en nuestro caso, ser follower del otro usuario). Por estemotivo podemos afirmar que no resulta necesario que dos personas mantenganun vínculo formal para que uno de ellos logre propagar una acción, y por endeejercer influencia sobre el otro.

En segundo lugar, de los tres tipos de acción definidos, dos de ellos nosgarantizan la existencia del vínculo social entre los usuarios. Ellos son el Retweety el Tweet Reply: el hecho de que un usuario retwitee o comente el estado deotro implica que lo conoce y que su acción llegó hasta él, ya sea de maneraformal o casual. Por otro lado, más allá de que las acciones de tipo Topic no nospermiten realizar esta afirmación, sí podemos sostener la teoría enunciada enel párrafo anterior: sea de manera directa o por un canal alternativo, la accióniniciada por un usuario logró llegar al restante, y de esta forma su influencia fueejercida.

Por último, resulta evidente que el nivel de procesamiento se redujo al omitirdel cálculo las validaciones correspondientes a la fecha de inicio del vínculoformal entre los usuarios de la red.

5.4. Etapa 2: Probabilidad de contagio

5.4.1. a. Incorporación de Topics

Tal cual mencionáramos en la etapa 1.a, se encontraron 4.194 propagacionesde tipo Topic. Durante la ejecución del algoritmo se guardaron en un archivoauxiliar todos los registros enmarcados en esta categoría y sus acciones origen

65

Page 73: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

(es decir, la acción que inició la propagación). Luego de analizar los resultados,pudimos comprobar que tanto las llamadas acciones masivas como los términosfrecuentes habían sido debidamente excluidos por el algoritmo, a excepción deun número menor de registros. De esta forma y en sintonía con el objetivoperseguido en esta etapa, el subconjunto de acciones de tipo Topic creado porla aplicación quedó conformado en su mayoría por los llamados topics locales.

A continuación se incluyen dos propagaciones de tipo topic local detectadaspor la aplicación:

Figura 20: Acción de tipo Topic propagada desde el usuario @TrailersyEstrenal usuario @CINEMANIA_ES.

Figura 21: Acción de tipo Topic propagada desde el usuario @altapeli al usuario@vecine.

66

Page 74: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

5.4.2. b. Ponderación de las acciones propagadas

De acuerdo a la propuesta presentada, al momento de calcular las probabi-lidades de contagio entre usuarios vinculados de la red se aplicaron sobre todaslas acciones propagadas tres factores de ponderación.

El primero de ellos refiere al criterio del usuario final. A modo de referen-cia, y utilizando un análisis realizado al momento de adaptar el template parael origen de datos de la plataforma Twitter, se definieron los pesos específicosde cada uno de los tipos de acción, habilitando al usuario final la posibilidad demodificar dichos valores en la primer pantalla de la aplicación. Los valores dereferencia utilizados fueron:

Tipo de acción Peso específicoTweet Reply 10Retweet 15Topic 2

De esta forma, las propagaciones de tipo Retweet se consideraron el mayorejercicio de influencia posible dentro del caso de estudio. En segundo lugar seubicaron las propagaciones de tipo Tweet Reply, y por último las de tipo Topic.

El segundo factor de ponderación utilizado fue el tiempo transcurrido entrela acción original y su repetición por parte de un usuario vinculado. Para formareste multiplicador, la aplicación se valió de los intervalos de tiempo calculadosen la etapa de discretización del tiempo, la cual explicaremos en la siguientesección. Con el criterio utilizado, a mayor tiempo entre la acción original y suréplica, menor el peso de la propagación.

El tercer y último factor utilizado fue la cantidad de contactos que replica-ron la acción previamente. Para cada tipo de acción se definió un mecanismode búsqueda de propagaciones previas, de modo de poder determinar cuántosusuarios replicaron la acción original antes de que el usuario estudiado decidierarealizarlo. Se descartaron en este análisis las repeticiones realizadas por usuariosque no forman parte de su red de vínculos.

Luego de obtener los pesos específicos, y calcular a partir de ellos las pro-babilidades individuales de contagio, la distribución de las mismas quedó de lasiguiente forma:

67

Page 75: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Figura 22: Distribución de probabilidades de contagio.

5.4.3. c. Discretización del tiempo

A partir de las propagaciones detectadas en la etapa 1.a se procedió a realizarla discretización del tiempo. Siguiendo la premisa de procesar solo las accionesque forman parte de flujos de propagación (es decir las llamadas acciones ini-ciadoras, y las acciones que repiten una acción iniciadora), se consideraron parael cálculo de intervalos de tiempo 46.534 de un total de 117.916 registros deacciones.

El tiempo de procesamiento fue bajo, impulsado por la excepción de másdel 60% de los registros, y los resultados, al haberse utilizado como paráme-tro de discretización un dato propio del modelo estudiado, garantizan una fielrepresentación y una adecuada distribución de los intervalos de tiempo.

Finalmente, luego del procesamiento de las 46.534 acciones, el instante cero,o intervalo inicial detectado por la aplicación, a partir del cual se calculan lostiempos de propagación, correspondió al 30/07/2014 09:27 hs, y la amplitud delos intervalos fue de 32 minutos.

68

Page 76: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

BaseTime IntervalLengthInMinutes2014-07-30 09:27:07.000 32

Cuadro 11: Tabla DiscretizedTimeInterval luego del proceso de discretización.

A partir de los resultados obtenidos, la distancia de tiempo entre accionesse calcula utilizando la amplitud de intervalo de tiempo aquí definida. Ejempli-ficamos con dos propagaciones del historial de acciones utilizado. La primera deellas tiene una diferencia de tiempo alta, lo cual lleva a que su peso dentro delcálculo de probabilidades de contagio sea bajo, mientras que la segunda se tratade una propagación de corto plazo, con lo cual tiene un peso significativo en laprobabilidad de contagio entre los usuarios involucrados.

Propagación entre @fotogramas_es y @Dolby_Spain:

Tweet original: @fotogramas_es: Nos adentramos en el rodaje de #Lucy,con Scarlett Johansson convertida en heroína de acción http://t.co/Pi731UtvR8@Universal_Spain

Fecha del tweet: 14/08/2014 - 14:02 hs.

Fecha del retweet: 21/08/2014 - 11:44 hs.

Tiempo de propagación (en minutos): 9942

Tiempo de propagación (en intervalos de tiempo): 310

Figura 23: Retweet de un estado, y su tiempo de propagación.

69

Page 77: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Propagación entre @elpalomitron y @Cinedepatio:

Tweet original: @elpalomitron: ¡Hoy por fin se estrena #GuardianesDe-LaGalaxia! ¿Creéis que es la peli del verano? http://t.co/N2PD8644jBhttp://t.co/12kOkpLSol

Fecha del tweet: 14/08/2014 - 10:46 hs.

Fecha del retweet: 14/08/2014 - 12:13 hs.

Tiempo de propagación (en minutos): 87

Tiempo de propagación (en intervalos de tiempo): 2

Figura 24: Retweet de un estado, y su tiempo de propagación.

5.5. Etapa 3: Algoritmos de maximización

5.5.1. a. Procesamiento únicamente de nodos con antecedentes decontagio

Continuando con la premisa de procesar únicamente la información valiosapara el modelo, en esta tercera etapa se decidió, en primer lugar, incluir en labúsqueda de usuarios influenciadores sólo a aquellos que hubieran sido participesde acciones propagadas. Es decir, se excluyeron del proceso a los que podríamosllamar nodos pasivos.

Luego de aplicar este filtro, quedaron excluidos 1039 usuarios, lo cual sig-nifica un 59,98% del total de usuarios de la red. Una vez más, podemos vercomo la selección y utilización de sólo aquellos nodos con información útil al

70

Page 78: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

modelo en estudio nos ahorra el análisis de un gran número de registros, lo cualrepresenta una notable disminución en el tiempo de procesamiento requeridopara completar la tarea.

5.5.2. b. Procesamiento de nodos de forma agrupada

Calculadas las probabilidades individuales de contagio, se procedió a formarlos clusters mediante los cuales obtener a los usuarios con mayor poder de in-fluencia sobre la red. Tal cual podemos ver en la Figura 25, la cantidad teóricaideal de clusters que nos genera el menor procesamiento es 25. Este cálculo su-pone que la distribución de nodos es pareja, es decir que todos los clusters tienenla misma cantidad de nodos, lo cual en la práctica no sucede por motivos queenunciamos a continuación.

Figura 25: Cantidad de nodos procesados de acuerdo a la cantidad de clustersutilizados.

Sabido es que el conjunto de usuarios que ejercen un grado de influenciaconsiderable sobre el resto de la población es un porcentaje menor del total dela red. Por el contrario, el conjunto de nodos pasivos o de bajo poder de influen-cia conforma la mayoría de los miembros de la comunidad. Por este motivo, ysiendo que a la hora de realizar el clustering el factor de similitud utilizado esla probabilidad de contagio entrante y saliente de cada usuario, estos nodos conbajo poder de influencia suelen agruparse es un mismo sub-conjunto, generandola existencia de un cluster de gran tamaño cuyo valor promedio de probabilidad

71

Page 79: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

de contagio saliente es muy baja. Al momento de procesar un nodo aleatoria-mente elegido por cluster y luego procesar todos los nodos del cluster “ganador”(aquel que mayor valor de spread obtuvo), las chances de que este sub-conjuntosea elegido son practicamente cero, ya que como mencionamos la probabilidadde contagio saliente promedio es muy baja. De esta forma, el algoritmo se evitaprocesar el cluster que contiene la mayor cantidad de nodos agrupados, generan-do un ahorro de procesamiento mucho mayor al que tendríamos si la distribuciónde nodos por cluster fuera pareja.

Para justificar lo anteriormente expuesto, exponemos los resultados de unaejecución del algoritmo Greedy para la búsqueda de 5 usuarios influenciadores,utilizando 25 clusters. En primer lugar enseñaremos la distribución de nodospor cluster, y a continuación la cantidad de nodos procesados en cada una delas 5 iteraciones.

Distribución de nodos por cluster:

Cluster Cantidad de nodos Cluster Cantidad de nodos1 8 14 62 8 15 73 1 16 144 6 17 145 3 18 76 7 19 97 8 20 118 6 21 129 10 22 210 5 23 911 9 24 912 500 25 1413 8

Como podemos ver, el cluster número 12 agrupa la mayor cantidad de nodosde la red, todos ellos con probabilidades de contagio salientes de valor pequeño.De esta forma, al elegir aleatoriamente un registro por cluster y calcular suspread, difícilmente resulte seleccionado un nodo de este sub-conjunto. Así, ytal cual podemos confirmar con los valores de la siguiente tabla, el ahorro de

72

Page 80: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

procesamiento es aún mayor al obtenido teóricamente.Cantidad de nodos procesados por iteración:

Iteración Nodos procesados Porcentaje de la población1 39 2,25%2 27 1,55%3 26 1,50%4 30 1,73%5 32 1,84%

Como vemos, la cantidad de nodos procesados en cada iteración es muy baja,no superando en ninguna ocasión el 3% del total de la población. De esta formael algoritmo Greedy deja de ser computacionalmente prohibitivo, mientras quemantiene la calidad de los resultados.

5.5.3. c. Frecuencia de participación de los usuarios

En esta sección evaluamos los resultados luego de ejecutar la aplicación conlos 4 valores posibles de uno de los nuevos parámetros definidos en este trabajo,llamado Participation frequency weight, el cual pondera la participación de losusuarios a la hora de agregar, en cada iteración, un nuevo nodo al conjunto S.

Se comprobó empíricamente que los usuarios influenciadores elegidos se ubi-can, en el peor de los casos, dentro del 52% de mayor actividad dentro de la red(cuando el valor del parámetro es No). A continuación detallaremos los resul-tados en una tabla que indica, para cada valor del parámetro, en qué posiciónse encuentran los usuarios elegidos (se considera la ubicación en el ranking deactividad del usuario peor posicionado del total de usuarios elegidos, es deciraquel usuario del conjunto final S que menor cantidad de acciones realizó).

73

Page 81: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Participationfrequency weight

Posición del usuario de S conmenor cantidad de acciones *

%

High 85 / 1732 4,90%Medium 153 / 1732 8,83%Low 162 / 1732 9,35%No 913 / 1732 52,71%

Cuadro 12: * A/B representa que el usuario en cuestión ocupa la posición Aen el ranking de cantidad de acciones realizadas, sobre un total de B usuarios(la totalidad de la red).

Como podemos ver, las propuestas de mejora en este trabajo presentadaslogran superar uno de los mayores déficits que el algoritmo Greedy tradicionalpresenta, que es la frecuente selección de usuarios con muy baja actividad. Aúncuando no se pondere la frecuencia de participación de los usuarios, la propianaturaleza del algoritmo implementado para esta tesis privilegia a los usuarioscon un nivel de actividad considerable.

Como dato adicional, cabe mencionar que independientemente del valor ele-gido para el parámetro de ponderación de actividad, ciertos usuarios se repi-tieron en los resultados de todas a casi todas las corridas. Particularmente, lacuenta AP El Sitio del Cine fue parte del conjunto final S en las 4 ejecucionesrealizadas (para los valores High, Medium, Low y No del parámetro Participa-tion frequency weight). Esto nos demuestra la consistencia del modelo y reafirmalo expuesto en el anterior párrafo, acerca del algoritmo y su característica deprivilegiar aquellos nodos que mayor actividad registran.

5.6. Comparación respecto al modelo sin mejoras.

Con el objetivo de obtener una última confirmación respecto de las bondadesdel modelo propuesto, procedimos a realizar una ejecución de la aplicación elimi-nando todas las instancias de mejora propuestas en este trabajo, y compararlacontra una ejecución de nuestro modelo. La cantidad de usuarios a obtener fuede 5 en ambos casos, mientras que los parámetros de búsqueda en ésta últimafueron los siguientes:

Ponderación de la frecuencia de participación: Medio.

Subconjunto de usuarios a procesar: Top 50%.

74

Page 82: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Ponderación de los tipos de acción:

• Tweet Reply: 10.

• Retweet: 15.

• Topic: 2.

Cantidad de clusters: 25.

Peso mínimo para la activación de nodos: 0,002.

En primer lugar merece ser destacado el tiempo de procesamiento obtenidoen cada una de las ejecuciones, realizadas sobre una computadora estandar deescritorio, con un procesador de 4 núcleos y 6 GB de memoria RAM. Mientrasque la aplicación base (sin las mejoras) demoró 18 horas, 26 minutos y 52 segun-dos en finalizar, nuestra aplicación lo hizo en tan solo 21 minutos y 10 segundos.Esto se fundamenta principalmente en la cantidad de nodos procesados en cadaiteración, los cuales detallaremos a continuación:

Iteración Nodos procesados(modelo base)

Nodos procesados(modelo con mejoras)

1 1732 282 1731 343 1730 264 1729 295 1728 31

Como mencionamos en este trabajo, las mejoras de performance no tienenrazón de ser si se obtienen en detrimento de la calidad de los resultados. Eneste punto, podemos confirmar que nuestro modelo cumple con la mencionadacondición: mientras que mediante el mecanismo original se logró un alcance ospread de 642 usuarios (sobre un total de 1732), para el modelo con las mejorasimplementadas este valor fue de 627.

Para finalizar, analizamos cada una de las cuentas elegidas en ambas ejecu-ciones a fin de verificar si el nuevo método cumplía en priorizar aquellas conmayor actividad en la red. Como resultado podemos confirmar que el objetivofue cumplido, obteniendo un total de 3.343 acciones entre las 5 cuentas, respecto

75

Page 83: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

de las 562 alcanzadas con el método original, lo cual representa un incrementodel 594%.

Cuenta Cantidad de accionesTrailers y Estrenos 368Atresmedia Cine 35Actualidad Cine 125Leandro Almeida 34Solamente Cine 0

Cuadro 13: Cuentas obtenidas con el método original.

Cuenta Cantidad de accionesTrailers y Estrenos 368AP El Sitio Del Cine 775Darwin-The Movie 919

mercedes ruiz 837Caro 444

Cuadro 14: Cuentas obtenidas con las mejoras aplicadas.

76

Page 84: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

6. Conclusiones

En este trabajo nos propusimos analizar y mejorar los mecanismos utilizadosactualmente para la obtención de usuarios influenciadores en redes sociales.Luego de estudiar en profundidad el estado del arte, diversos puntos críticosy falencias del método fueron detectados, para los cuales planteamos una seriede propuestas de mejora enfocadas en resolver las limitaciones encontradas,optimizar la performance y mejorar la calidad de los resultados. Nos propusimos,además, idear un sistema que permita involucrar más activamente al usuariofinal, permitiéndole definir de forma dinámica sus patrones de búsqueda. Porúltimo, desarrollamos una aplicación que implemente las propuestas realizadasy nos permita validar las mismas, a partir de los resultados obtenidos mediantela utilización de un set de datos testigo.

En primer lugar, podemos concluir que el fruto de este trabajo es un novedosomecanismo que logra el objetivo de seleccionar, a partir de orígenes de datos muydiversos, un conjunto de usuarios con alto grado de influencia sobre el resto dela población, respetando las premisas planteadas de lograr resultados de calidaden tiempos de procesamiento computacionalmente razonables. No hubiera sidoaceptable optimizar la performance del proceso en detrimento de la calidad yaprobada del algoritmo Greedy.

A partir de las optimizaciones introducidas al modelo de datos original, loscriterios de conservación de datos establecidos y la posibilidad de parametriza-ción ofrecida y disponibilizada al usuario final, se logró reducir notablemente eltamaño de la información procesada. A su vez, la utilización de técnicas de clus-tering en la etapa final del proceso permitió transformar el algoritmo Greedy,computacionalmente prohibitivo en su versión original, en un procedimiento fac-tible de ser utilizado en la búsqueda de usuarios influenciadores. En este puntoes importante destacar que sucesivas corridas, en las cuales no se modificaronlos valores de los parámetros de entrada, arrojaron resultados prácticamenteidénticos, confirmando que el agente aleatorio utilizado a la hora de elegir unnodo por cluster no aporta ruido al proceso, gracias a la correcta definición delfactor de similitud.

Por otro lado, tanto la definición temprana de acciones como los parámetrospresentados en las etapas 2 y 3 cumplieron el objetivo de involucrar al usuariofinal desde el comienzo. A diferencia de las herramientas tradicionales de análisis

77

Page 85: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

de datos, y particularmente las relacionadas a la influencia en redes sociales, éstase acercó al usuario al brindarle la posibilidad de participar de forma activa en lasdefiniciones preliminares como así también modificar los patrones de búsqueday comparar los distintos resultados. Estos parámetros, a su vez, cumplieronsu principal tarea: por un lado el llamado Criterio del usuario final, al sermodificado en corridas consecutivas, produjo distintas salidas, orientadas cadauna de ellas a los valores definidos para los tipos de acción del dominio; por otrolado, pudimos comprobar empíricamente que las propagaciones cercanas en eltiempo tuvieran mayor peso que aquellas con un tiempo de propagación alto,tal cual se definiera el factor k; por último, la Ponderación de la frecuencia departicipación y el Umbral de actividad cumplieron en priorizar a las personasmás activas por sobre las pasivas, y eliminar del conjunto final S a aquellas queno tuvieran un nivel mínimo de actividad, respectivamente.

La implementación de la propuesta en una aplicación user-friendly nos otor-gó una enorme facilidad para generar distintas corridas, modificando el valor delos parámetros de entrada, y poder así contrastar los resultados obtenidos enfunción de los esperados. Pudimos validar, de esta forma, que nuestra propuestacumpliera los distintos objetivos planteados. A su vez, el hecho de haber desarro-llado la misma en forma de template dejó abierta la posibilidad de adaptar, sindemasiado esfuerzo adicional, nuevos modelos de datos obtenidos de diferentesdominios, tanto para agregar validaciones al proceso como para iniciar nuevosestudios sobre distintas plataformas (Facebook, Linkedin, etc.).

Por último, la introducción de la propagación de tipo Topic resultó muyvaliosa en diferentes aspectos. No solo evitó la tarea de eliminar los términosfrecuentes del lenguaje, sino que permitió descubrir una gran cantidad de víncu-los entre personas que, sin su inclusión, no hubieran sido posibles. Sin dudas esteconcepto puede servir como puntapié inicial para futuros trabajos, motivo porel cual consideramos que resulta uno de los aportes más significativos de estatesis.

7. Trabajo futuro

El desarrollo de esta tesis arrojó, además de valiosas conclusiones, una seriede desafíos e interrogantes que abren la puerta a nuevas investigaciones. Deta-llaremos a continuación dos de los que consideramos más valiosos y con mayor

78

Page 86: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

potencial en el área estudiada.Como primer punto a destacar, vemos en el concepto de Topic un horizonte

de investigación muy amplio, tanto en los mecanismos para obtener propaga-ciones de este tipo, como en su utilización en los algoritmos de búsqueda deusuarios influenciadores. Particularmente, la posibilidad de elegir personas conalto poder de influencia en una determinada área, es decir personas influyentesen un topic en particular, otorgaría un enorme salto de calidad al método. Lamayoría de los actores interesados en los resultados de este tipo de trabajos, co-mo por ejemplo las agencias de marketing, se verían enormemente beneficiadospor la posibilidad de orientar o dirigir aún más sus carriles de búsqueda.

A su vez, una deuda pendiente que deja este estudio es la inclusión de mayorinformación personal de los usuarios de las redes sociales en los mecanismos debúsqueda. Tal cual planteáramos al comienzo de esta tesis, la popularización delas redes sociales on-line, acompañada de los enormes avances tecnológicos delos últimos tiempos han generado y disponibilizado a la comunidad muchísimainformación referida a las personas que utilizan dichas plataformas. Sus gustos,preferencias y la forma de relacionarse son hoy en día datos que pueden conocersede forma sencilla y con muy bajo esfuerzo. Sin embargo, dicha información aúnno ha sido debidamente explotada, y consideramos que su inclusión al procesode búsqueda de usuarios influenciadores es el siguiente paso para generar unmétodo todavía más poderoso.

79

Page 87: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

Referencias

[1] .NET Framework, http://www.microsoft.com/net

[2] Twitter API, https://dev.twitter.com

[3] TweetSharp, https://github.com/danielcrenna/tweetsharp

[4] James McCaffrey, K-means Data Clustering using C#, Visual StudioMagazine, 2013.

[5] Francesco Bonchi, Influence Propagation in Social Networks: A DataMining Perspective, IEEE Intelligent Informatics Bulletin, 2011.

[6] Amit Goyal, Francesco Bonchi y Laks V. S. Lakshmanan, Lear-ning Influence Probabilities In Social Networks, Third ACM InternationalConference on Web Search and Data Mining, 2010.

[7] Wei Chen, Yajun Wang y Siyu Yang, Efficient Influence Maximiza-tion in Social Networks, 15th ACM International Conference on Know-ledge Discovery and Data Mining, 2009.

[8] Wei Chen, Yifei Yuan y Li Zhang, Scalable Influence Maximizationin Social Networks under the Linear Threshold Model, 10th IEEE Inter-national Conference on Data Mining, 2010.

[9] Mario Cataldi, Luigi Di Caro y Claudio Schifanella, EmergingTopic Detection on Twitter based on Temporal and Social Terms Evalua-tion, 10th International Workshop on Multimedia Data Mining, 2010.

[10] Usama M. Fayyad y Keki B. Irani, Multi-Interval Discretization ofContinuous-Valued Attributes for Classification Learning, InternationalJoint Conference on Uncertainty in AI, 1993.

[11] H. Liu, F. Hussain y C.L. Tan, M. Dash, Discretization: An EnablingTechnique, Data Mining and Knowledge Discovery, 2002.

[12] L. Mora y R. Morales, Modelling time series with data mining, MOI-SES Project of the CICYT, 2002.

[13] Adrien Guille y Hakim Hacid, A Predictive Model for the Tempo-ral Dynamics of Information Diffusion in Online Social Networks, 21stInternational Conference Companion on World Wide Web, 2012.

80

Page 88: TesisdegradodeIngenieríaen Informática ...materias.fi.uba.ar/7500/Rodriguez_Federico.pdfTesisdegradodeIngenieríaen Informática:“DataMiningenelcálculo deInfluenciaenredessociales”

[14] Kazumi Saito, Masahiro Kimura y Hiroshi Motoda, DetectingChanges in Information Diffusion Patterns over Social Networks, ACMTransactions on Intelligent Systems and Technology, 2013.

[15] Shahab Mokarizadeh, Peep Küngas y Mihhail Matskin, ExploringInformation Diffusion in Network of Semantically Annotated Web ServiceInterfaces, 2nd International Conference on Web Intelligence, Mining andSemantics, 2012.

[16] Alice Albano, Jean-Loup Guillaume y Bénédicte Le Grand, FileDiffusion in a Dynamic Peer-to-peer Network, 21st International Confe-rence Companion on World Wide Web, 2012.

[17] Yanhua Li, Wei Chen, Yajun Wang y Zhi-Li Zhang, Influence Dif-fusion Dynamics and Influence Maximization in Social Networks withFriend and Foe Relationships, 6th ACM International Conference on WebSearch and Data Mining, 2013.

[18] Seth Myers, Chenguang Zhu y Jure Leskovec, Information Diffu-sion and External Influence in Networks, 18th ACM International Confe-rence on Knowledge Discovery and Data Mining, 2012.

[19] Adrien Guille, Hakim Hacid, Cécile Favre y Djamel A. Zighed,Information Diffusion in Online Social Networks: A Survey, ACM SIG-MOD Newsletter, 2013.

[20] Tiancheng Lou y Jie Tang, Mining Structural Hole Spanners ThroughInformation Diffusion in Social Networks, 22nd International Conferenceon World Wide Web, 2013.

81