Sie sind auf Seite 1von 88

Tesis de grado de Ingeniera en

Informtica: Data Mining en el clculo


de Influencia en redes sociales
Tesista: Federico Teodoro Rodrguez
Padrn: 88.310
(federico.rodriguez.kluba@gmail.com)
Director: Dr. Juan M Ale
(ale@acm.org)

Facultad de Ingeniera
Universidad de Buenos Aires
Agosto 2014

Resumen
Dentro de las reas de estudio abarcadas por la minera de datos, aquellas
relacionadas al anlisis del comportamiento humano se han destacado histricamente, y trascendido ms all del mbito de la computacin. En particular,
el Anlisis de Influencia en Redes Sociales resulta de gran inters para numerosas disciplinas, como lo son el marketing, las ciencias sociales y polticas, entre
otras. Este estudio se basa en encontrar, dentro de una red social determinada,
a aquellas personas con mayor ascendencia sobre el resto de los integrantes de
la comunidad. Dado que no todos los individuos tienen relacin o estn vinculados con el resto, el principal objetivo perseguido es identificar, dentro de ese
grupo de personas, a aquel sub-conjunto que mediante su influencia logre llegar
al mayor porcentaje posible de personas.
Cul es la mejor forma de buscar a estas personas, qu factores deben considerarse a la hora de hacerlo y qu informacin es necesaria para llevar adelante
este proceso son algunos de los interrogantes ms importantes que el Anlisis de
Influencia en Redes Sociales presenta. Diversos estudios han abordado esta problemtica en los ltimos aos, llegando en igual medida a consensos y disensos,
y encontrando cada uno de ellos nuevos y distintos obstculos y limitaciones.
Dentro de aquellas cuestiones sobre las cuales ha habido prcticamente unanimidad en la comunidad investigadora, la principal refiere al mecanismo mediante
el cual seleccionar y procesar la informacin disponible: es una norma en estos
estudios la divisin del proceso en tres etapas secuenciales. En primer lugar, la
seleccin y el formateo de los datos a utilizar; a continuacin, el clculo de los
factores o grados de influencia individual entre los miembros de la comunidad;
y por ltimo, la bsqueda y seleccin de aquellas personas que ms influencia
ejercen sobre el resto de la poblacin.
Dentro de este marco de consenso, distintos ensayos han encontrado gran
cantidad de limitaciones, interrogantes y problemas a resolver, los cuales abordamos en esta tesis y para los cuales presentamos nuevos enfoques, propuestas
de mejora y alternativas de resolucin. Nos centramos en resolver los problemas de performance que el mtodo hoy en da utilizado presenta (y que en
ocasiones lo convierte inutilizable en la prctica), proponer nuevas tcnicas de
procesamiento, incluir conceptos novedosos y superadores en cada una de las
etapas presentadas, brindar un salto cualitativo en los resultados generados e

involucrar al usuario final desde el inicio del proceso.


Para validar el trabajo expuesto, desarrollamos una aplicacin que implementa todas y cada una de las propuestas de mejora presentadas, y la aplicamos
sobre un caso testigo con el objetivo de determinar si las mismas logran resolver
las problemticas planteadas. Evaluamos los resultados, para finalmente obtener
las 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 analysis
of human behaviour have always occupied a place of high importance and have
additionally trascended beyond the computing scope. Particularly, the Influence
Analysis in Social Networks is specially interesting for many disciplines, such
as Marketing, Social Sciences and Politics. This studys goal is to find, within a
specific social network, those people with higher levels of preeminence over the
rest of the community. Since not every person has relation or is linked to the
rest, the main goal is to identify, within this group, the subset that through its
influence can reach the higher number of individuals.
Which is the best way to find this subset, which factors should be considered
while doing it and what information is needed to move this process ahead are
some of the most important questions Influence Analysis in Social Networks
should answer. Many studies have dealt with this problem, arriving to similar
conclusions as well as different perspectives on key aspects, in addition to finding
through their research new obstacles and limitations. One of the points almost
all of them have agreed on is the mechanism to select and process the available
information: they divide the process in three stages. The first of them selects
and formats the data that is going to be used; the second one estimates the
individual influence degrees among the community members; and the last one
searches and chooses those people with higher influence levels.
Within this agreement frame, different studies have found many boundaries, questions and problems to be solved, that we tackle in this thesis, and
for which we present new approaches, improvement proposals and resolution
alternatives. We focus on solving the big performance issues this method cu-

ii

rrently has (turning it practically unusable at times), proposing new processing


techniques, including innovative and comprehensive concepts in each presented
stage, making a leap in the final results and involving the end user from the
very beginning of the process.
To validate the exposed work, we develop an application that puts in place
all the improvements brought forward in this thesis, applying it over a test case
to determine if they solve the current problems the method faces. We evaluate
the results, to finally get the corresponding conclusions and future work.
Key words: influence, social networks, data mining.

iii

Agradecimientos
Muchsimas gracias a mis padres por todo el apoyo brindado a lo largo de esta
carrera, por estar siempre a mi lado en este camino de aprendizaje y superacin.
Sin su ayuda hubiera sido imposible llegar tan lejos. Su sacrificio ha sido siempre
una fuente de inspiracin para mi. Gracias a mi hermana y a mi amor, Marian,
por su apoyo y motivacin tan importantes durante esta ltima etapa. Gracias
a toda mi familia y amigos por ayudarme cada vez que lo necesit. Gracias a
todos los profesores de esta honorable casa de estudios, y muy especialmente al
director de esta tesis, el Dr. Juan M. Ale.

iv

ndice
1. Introduccin

1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2. Definicin del problema . . . . . . . . . . . . . . . . . . . . . . .

1.3. Contribuciones de esta tesis . . . . . . . . . . . . . . . . . . . . .

1.4. Trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . . .

2. Estado del arte

2.1. Influencia en redes sociales . . . . . . . . . . . . . . . . . . . . . .

2.2. Desafo: maximizacin . . . . . . . . . . . . . . . . . . . . . . . .

2.3. Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.1. Mapa de relaciones . . . . . . . . . . . . . . . . . . . . . .

2.3.2. Log de acciones . . . . . . . . . . . . . . . . . . . . . . . .

11

2.3.3. Etapa 1: Formacin de datos . . . . . . . . . . . . . . . .

12

2.3.4. Etapa 2: Probabilidad de contagio . . . . . . . . . . . . .

13

2.3.5. Etapa 3: Algoritmos de maximizacin . . . . . . . . . . .

14

2.4. Dficits del proceso . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.4.1. Etapa 1: Formacin de datos . . . . . . . . . . . . . . . .

16

2.4.2. Etapa 2: Probabilidad de contagio . . . . . . . . . . . . .

17

2.4.3. Etapa 3: Algoritmos de maximizacin . . . . . . . . . . .

18

3. Propuesta

20

3.1. Enfoque de la propuesta . . . . . . . . . . . . . . . . . . . . . . .

20

3.2. Modelo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

3.2.1. Definicin del modelo de datos . . . . . . . . . . . . . . .

20

3.2.2. Extraccin de datos . . . . . . . . . . . . . . . . . . . . .

23

3.3. Etapa 1: Formacin de datos . . . . . . . . . . . . . . . . . . . .

27

3.3.1. a. Definicin temprana de mltiples acciones propagadas .

27

3.3.2. b. Omisin de datos de entrada . . . . . . . . . . . . . . .

31

3.4. Etapa 2: Probabilidad de contagio . . . . . . . . . . . . . . . . .

33

3.4.1. a. Incorporacin de Topics . . . . . . . . . . . . . . . . . .

33

3.4.2. b. Ponderacin de las acciones propagadas . . . . . . . . .

38

3.4.3. c. Discretizacin del tiempo . . . . . . . . . . . . . . . . .

40

3.5. Etapa 3: Algoritmos de maximizacin . . . . . . . . . . . . . . .

45

3.5.1. a. Procesamiento nicamente de nodos con antecedentes


de contagio . . . . . . . . . . . . . . . . . . . . . . . . . .

45

3.5.2. b. Procesamiento de nodos de forma agrupada . . . . . .

46

3.5.3. c. Frecuencia de participacin de los usuarios . . . . . . .

50

4. Implementacin

53

4.1. Plataforma desarrollada . . . . . . . . . . . . . . . . . . . . . . .

53

4.1.1. 1. Modelo de negocio . . . . . . . . . . . . . . . . . . . . .

53

4.1.2. 2. Acceso a datos . . . . . . . . . . . . . . . . . . . . . . .

55

4.1.3. 3. Modelo de entidades . . . . . . . . . . . . . . . . . . . .

56

4.1.4. 4. Aplicacin Web . . . . . . . . . . . . . . . . . . . . . .

59

5. Validacin

63

5.1. Implementacin del modelo sobre un caso testigo . . . . . . . . .

63

5.2. Modelo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

5.2.1. Definicin del modelo de datos . . . . . . . . . . . . . . .

63

5.2.2. Extraccin de datos . . . . . . . . . . . . . . . . . . . . .

64

5.3. Etapa 1. Formacin de datos . . . . . . . . . . . . . . . . . . . .

64

5.3.1. a. Definicion temprana de mltiples acciones propagadas .

64

5.3.2. b. Omisin de datos de entrada . . . . . . . . . . . . . . .

65

5.4. Etapa 2: Probabilidad de contagio . . . . . . . . . . . . . . . . .

65

5.4.1. a. Incorporacin de Topics . . . . . . . . . . . . . . . . . .

65

5.4.2. b. Ponderacin de las acciones propagadas . . . . . . . . .

67

5.4.3. c. Discretizacin del tiempo . . . . . . . . . . . . . . . . .

68

5.5. Etapa 3: Algoritmos de maximizacin . . . . . . . . . . . . . . .

70

5.5.1. a. Procesamiento nicamente de nodos con antecedentes


de contagio . . . . . . . . . . . . . . . . . . . . . . . . . .

70

5.5.2. b. Procesamiento de nodos de forma agrupada . . . . . .

71

5.5.3. c. Frecuencia de participacin de los usuarios . . . . . . .

73

5.6. Comparacin respecto al modelo sin mejoras. . . . . . . . . . . .

74

6. Conclusiones

77

7. Trabajo futuro

78

Referencias

80

vi

1.

Introduccin

1.1.

Objetivo

El presente trabajo tiene como objetivo analizar los mtodos basados en Data
Mining hoy en da utilizados para el clculo y anlisis de influencia dentro del
contexto de las redes sociales, y presentar una propuesta de mejora a los dficits
que dichos mtodos poseen, como as tambin incorporar diferentes tcnicas de
Data Mining en los procesos intermedios del clculo de influencia.

1.2.

Definicin del problema

Desde los tiempos en que el concepto de redes sociales no estaba asociado


a plataformas web como Facebook y Twitter, muchos estudios acadmicos y
empresariales se han interesado en detectar patrones asociados a usuarios con
alto grado de influencia sobre sus pares en dichas redes. Los motivos de este
inters son variados, desde identificar reacciones en cadena originadas en comportamientos que un usuario o grupo de usuarios con alto grado de influencia
pudieran tener, hasta lanzar campaas de marketing orientadas y dirigidas por
aquellos usuarios que ms influencia tienen sobre el resto de la red.
Tal cual se destaca en [5] y [8], hoy en da las redes sociales se han popularizado a nivel global, y conocer a sus usuarios, relaciones y comportamientos
resulta cada da ms valioso. Dentro de la informacin posible de extraer, un
rea de gran valor potencial que an no ha sido debidamente explotada es la
de la Influencia dentro de las redes. Conocer cules son los usuarios que ms
ascendencia tienen sobre el resto de la red resulta sumamente valioso, tanto para organizaciones gubernamentales, servicios de inteligencia o simples empresas
de marketing. Por ejemplo, tomando este ltimo caso, si a la hora de lanzar
un nuevo producto una empresa decide hacerlo a travs de personas que tienen
mucha llegada sobre un determinado sector de la poblacin (aquel en el cual a
la empresa le interesa hacer conocer su producto), se podran lograr resultados
mucho mejores con un gasto considerablemente menor. Para una organizacin
poltica, por otro lado, lograr identificar qu personalidades tienen mejor imagen y mayor ascendencia sobre la poblacin podra resultar decisivo a la hora
de encarar una eleccin presidencial.
Los mtodos que mejores resultados han logrado en la bsqueda, mediante

la minera de datos, de aquellas personas con mayor grado de influencia sobre


el resto de la comunidad se basan en 3 procesos secuenciales:
Seleccin y formacin de los datos de entrada que el sistema utilizar.
Clculo de influencia entre personas relacionadas o vinculadas.
Bsqueda de las personas con mayor grado de influencia sobre el resto de
los usuarios de la red.
A pesar de haber sido objeto de numerosos estudios, estas 3 etapas presentan
diversas falencias y/o posibles puntos de mejora, tanto a nivel de performance
como de la calidad de los resultados. Las nuevas herramientas que las redes
sociales nos proveen (como ser mayor informacin de los usuarios y sus comportamientos) nos permiten proponer nuevos enfoques a la hora manipular los
datos disponibles, con el afn de obtener resultados ms cercanos a la realidad
y que puedan ser llevados a la prctica, cuestin que con los mtodos actuales
no siempre es posible, debido al altsimo costo de procesamiento.

1.3.

Contribuciones de esta tesis

El propsito de este trabajo es presentar alternativas e introducir nuevas


tcnicas al clculo de influencias, en cada una de las 3 etapas mencionadas.
Proponemos, en primer lugar, definir e incorporar al mtodo nuevos conceptos a partir de los datos de entrada disponibles, de forma tal de enriquecer
el input que el sistema utiliza y obtener mejores resultados, como as tambin
procesar con tcnicas de Data Mining dicha informacin para reducir su tamao
y aumentar su calidad.
En segundo lugar, ponemos nfasis en calcular los valores de influencia individual (o probabilidades de contagio) que un usuario tiene sobre otro de su red
(punto nmero 2.). En casi la totalidad de los mtodos de bsqueda de usuarios
influenciadores, este dato es asignado al azar debido a la complejidad de su obtencin. Por este motivo, consideramos ste un punto clave a la hora de buscar
mejoras en los resultados de nuestro mtodo. Perseguimos este objetivo con la
premisa de no afectar la performance del mtodo.
Por ltimo, presentamos una serie de conceptos a aplicar en la seleccin de
el/los usuarios influenciadores (punto nmero 3.), enfocados tanto en mejorar
la calidad de los resultados como en optimizar la performance de los mtodos
2

existentes, como asi tambin incorporar en esta etapa del proceso al usuario
final, permitindole personalizar ciertas aristas del mtodo y definir parmetros
de bsqueda.
Las propuestas de mejora planteadas en el presente trabajo estn acompaadas de contrastaciones prcticas. Se utiliza para esto un set de datos modelo,
compuesto por una red de usuarios con sus correspondientes vnculos, y un historial de acciones, el cual sirve para determinar los valores de influencia entre
usuarios individuales.
Las contribuciones ms relevantes que se esperan de esta tesis son:
Proveer un anlisis de los mtodos empleados hoy en da para el clculo
de influencias en redes sociales. Detallar las virtudes de los mismos, como
as tambin las falencias que presentan.
Proponer una serie de mejoras para cada una de las etapas que componen
los mtodos utilizados en el clculo de influencias. Incorporar a los mismos
nuevos conceptos surgidos del desarrollo global de las redes sociales.
Evaluar empricamente las propuestas presentadas, verificar si las mismas
lograron elevar la calidad de los resultados, como as tambin mejorar la
performance del mtodo.
Presentar un caso testigo en el cual el uso del mtodo resulte beneficioso.

1.4.

Trabajos relacionados

Tal cual exponemos a lo largo de esta tesis, numerosos estudios se han dedicado a analizar el proceso de bsqueda de usuarios influenciadores en redes
sociales, encontrndose con descubrimientos y limitaciones no resueltas. Repasaremos a continuacin los principales trabajos referidos a esta problemtica,
enfatizando aquellos aspectos que nos han servido como punto de partida para
desarrollar nuestra propuesta de mejora.
De acuerdo a lo expuesto por Francesco Bonchi en [5], con la popularizacin de plataformas online como Twitter y Facebook, el estudio de Influencia
en Redes Sociales ha ganado inters en los ltimos aos, pero an asi contina
presentando falencias que requieren ser investigadas y desarrolladas. En primer
lugar, el autor destaca la calidad de los resultados entregados por el algoritmo
Greedy, pero alerta sobre sus problemas de performance cuando es llevado a
3

la prctica. Proponer alternativas que permitan eliminar esta barrera computacional es uno de los principales desafos a abordar en el presente trabajo. En
segundo lugar, Bonchi pone la lupa sobre uno de los datos de entrada que el
mtodo necesita: las probabilidades individuales de contagio. Tal cual menciona en su trabajo, dicha informacin suele asumirse como conocida por quienes
llevan adelante estudios en esta rea debido a la complejidad que implica obtenerla, y a que al da de hoy no se han logrado desarrollar tcnicas eficientes que
permitan hacerlo. A su vez, agrega que la calidad de los resultados obtenidos
cuando esta informacin es precisa supera ampliamente a la obtenida cuando se
utilizan valores aleatorios. Ponemos, por este motivo, especial nfasis en idear
mecanismos que permitan calcular probabilidades individuales de contagio representativas de la realidad a partir del mapa de relaciones y del historial de
acciones de la red. Por ltimo, en [5], Bonchi menciona la necesidad de contemplar en la tercera etapa del proceso la frecuencia de participacin de los usuarios
de la red, de forma de evitar elegir individuos con baja actividad. Hacemos foco
sobre este punto, proponiendo alternativas a la hora de seleccionar a los usuarios
influenciadores.
En [6], Goyal, Bonchi y Lakshmanan abordan el clculo de probabilidades
de contagio de acuerdo a un modelo propuesto. En el mismo, los datos de entrada utilizados son el mapa de la red (las relaciones entre los miembros de
la misma) y el historial de acciones para un determinado perodo de tiempo.
Tal cual hemos mencionado previamente, nuestro estudio respeta dicho modelo
y utiliza el mismo input, aunque el mecanismo de procesamiento es diferente:
mientras que la propuesta de los autores implica escanear dos veces el historial
de acciones, nuestro enfoque lo hace solo una vez, para luego, en funcin de
las relaciones definidas en el mapa de la red, analizar un nmero reducido de
registros. Adicionalmente, este primer y nico escaneo completo del historial de
acciones resuelve uno de los desafos futuros planteados en el citado artculo, referido a la necesidad de incorporar el concepto de tipos de acciones que permita
ponderar las distintas propagaciones ocurridas en la red.
Por ltimo, de acuerdo a lo expuesto por Chen, Wang y Yang en [7], dos
de los principales desafos que el estudio de Influencia en Redes Sociales debe
asumir e intentar resolver son conseguir un mecanismo escalable que se adapte
fcilmente a la dinmica de las redes sociales de hoy en da, y lograr fraccionar las
enormes estructuras sociales de cada red en comunidades de menor tamao que

faciliten su procesamiento. Ambas cuestiones son abordadas en nuestro trabajo,


proponiendo nuevos enfoques que solucionen dichos dilemas, para realizar luego
el correspondiente anlisis que determine el xito o fracaso de la propuesta.

2.

Estado del arte

2.1.

Influencia en redes sociales

Histricamente, el estudio de las relaciones sociales ha cautivado el inters


de diversas ramas de la ciencia, como la psicologa y la medicina entre otras
tantas. Desde un enfoque poltico y/o econmico, tener conocimiento de cmo
se relacionan las personas otorga una ventaja competitiva notable a quien posea
y sepa analizar dicha informacin.
Dentro de esta rama, un rea sobre la cual no se ha investigado en profundidad en relacin a las dems y que ofrece hoy en da un enorme potencial, es la
de Influencia en redes sociales. Con el auge de la tecnologa, la globalizacin y la
aparicin de nuevas formas de contactarse y comunicarse, esta rea se ha encontrado en los ltimos aos con un nuevo mundo de posibilidades de desarrollo,
tanto desde la ampliacin de las fuentes de informacin sobre las cuales basar
sus estudios, como de los beneficios estratgicos y econmicos de sus resultados.
En relacin a las fuentes de informacin, el auge que han sufrido en la ltima
dcada las redes sociales on-line, como Facebook y Twitter, que conectan a miles
de millones de personas alrededor del mundo, ofrecen dos elementos muy valiosos que anteriormente resultaban de muy difcil acceso: por un lado nos brindan
informacin detallada y muy precisa de las personas, desde su nombre, estado
civil y pas de origen hasta sus gustos musicales, los sitios ms frecuentados
y pasatiempos favoritos; por otro lado, nos permiten conocer cmo interactan
entre ellas, que relacin las une y qu tipo de actividades comparten. Sin embargo, el proceso de reunir, procesar y utilizar esta informacin no ha acompaado
la velocidad de desarrollo y evolucin que las redes sociales han tenido, al punto
que hoy en da se dispone de enormes volmenes de datos de muy fcil acceso
que no son utilizados con todo su potencial.
Esta situacin ha generado que los intentos de incorporar dichas plataformas a procesos de negocio de las empresas y/o estatales hayan sido deficientes.
Particularmente, la posibilidad de conocer qu actores dentro de una red social
ejercen mayor influencia por sobre los dems y se posicionan como lderes es
un aspecto del entendimiento de las redes y relaciones sociales que no ha sido
debidamente explotado. Nos centramos durante el desarrollo de la tesis en este
ltimo punto, tratando de instrumentar mecanismos que permitan llevar a la
prctica los conocimientos que el estudio de Influencia en redes sociales permite

adquirir.
Para esto, intentaremos explicar con mayor profundidad a qu nos referimos con Influencia en redes sociales. A grandes rasgos, podemos identificar tres
motivos por los cuales una persona llega a realizar una determinada accin: en
primer lugar, porque la persona es muy activa, posee iniciativa y por ende inicia
acciones por su propia cuenta, obviando las circunstancias externas; en segundo lugar, esto podra deberse a que factores o eventos externos llevan a que lo
haga; por ltimo, una persona puede ejecutar determinadas acciones debido a
que otras personas de su crculo ms cercano lo han hecho previamente. Esto
ltimo es lo que llamamos Influencia, y durante el siguiente trabajo intentamos
desarrollar conceptos e ideas novedosas con respecto a la materia.
Existen diversos motivos por los cuales una persona puede llegar a ejercer
influencia sobre otra, como lo son la admiracin personal, la existencia de lazos
familiares, sentimentales y emocionales entre las personas, y un tipo de influencia un tanto menos genuina que se genera como fruto de la relacin laboral entre
ambas. Resultan particularmente interesantes de estudiar aquellas personas que
logran ejercer influencia sobre una porcin grande de la poblacin, ya que sus
acciones y expresiones podran generar un impacto y/o consecuencias de tamaos considerables. En lnea con esto se encuentran los principios fundamentales
de lo que se conoce como marketing viral, concepto abordado en [5], [6] y [7]:
siendo que el principal objetivo de una campaa de marketing es que el mensaje
llegue al mayor nmero de personas posible, no necesitamos invertir dinero y
esfuerzo en llegar de forma directa a cada uno de ellos, sino que si logramos
alcanzar a aquellas personas con mayor grado de influencia sobre el resto de la
poblacin, y tomando ventaja de los efectos del boca a boca, podremos llegar
de 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 mismo
sern personas cuyas acciones estn valoradas por el resto de la sociedad.

2.2.

Desafo: maximizacin

El desafo de las campaas de marketing que utilizan el concepto de Influencia en redes sociales en su proceso es, entonces, el de maximizar los beneficios
generados por la campaa partiendo de un capital de inversin y esfuerzo limitados. Esto se traduce en alcanzar, a partir de un nmero reducido de lo
que llamamos nodos iniciales, el mayor nmero de personas posible. Decidir a
7

quienes elegir como nodos iniciales se transforma en una tarea fundamental del
proceso, la cual determina en gran medida el xito o fracaso del mismo. Aqu
entran en juego varios aspectos, los cuales describiremos a continuacin y sobre
los cuales intentamos aportar nuevas ideas durante el desarrollo de esta tesis.
En primer lugar, la forma de calcular el nmero de personas a las cuales un
nodo inicial puede llegar (nodos hoja) que las campaas de marketing utilizan es
un dato aproximado, obtenido a partir de ciertos parmetros, como por ejemplo
la cantidad de conexiones que una persona tiene con otros usuarios en una red
social como Twitter o Facebook, lo cual no necesariamente se traduce en que esas
personas sean realmente lderes o influenciadores sobre el resto de la poblacin:
una persona puede estar conectada con muchas otras dentro de una red social,
y no ejercer en ellas ningn grado de influencia.
A su vez, un lugar comn en el cual muchos procesos de marketing caen es
elegir individualmente, como disparadores de la campaa, a aquellas personas
con mayor nmero aparente de seguidores. Utilizando aspectos bsicos de la
teora de conjuntos, podemos inferir que seleccionar a los nodos iniciales de
forma individual nos puede llevar a un resultado final lejano al valor ptimo,
ya que la unin de los conjuntos de personas alcanzadas por cada uno de estos
nodos podran tener un grado de interseccin muy alto, lo cual implicara que la
diversidad del conjunto final es baja. De esta forma se estaran desperdiciando
recursos, eligiendo nodos disparadores que nos otorgan resultados muy similares.

Figura 1: Personas alcanzadas por dos nodos iniciales con un grado alto y bajo
de interseccin respectivamente.
En tercer lugar, poder direccionar la bsqueda de personas, o nodos hoja,
resulta muy valioso a la hora de encarar una campaa de marketing. Esto apunta
a poder encontrar aquellas personas que ms influencia ejercen sobre el resto de
la poblacin en una determinada rea, la cual obviamente estar relacionada con
8

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


etc.
Por ltimo, la utilizacin de los nuevos recursos que el desarrollo reciente de
las plataformas online ofrecen se ha ido integrando al proceso de forma lenta
y no siempre ptima. El avance de dichas plataformas en trminos de cantidad
de usuarios y facilidad de acceso ha generado niveles de informacin aos atrs
inimaginables, principalmente en lo que refiere al conocimiento de las personas
y la forma en que se relacionan, cuya incorporacin a los procesos existentes
se encuentra an en un estado de maduracin bajo, lo cual ofrece un amplio
espectro de posibilidades, y cuyo anlisis profundizamos durante el desarrollo
de esta tesis.

2.3.

Proceso

Durante la ltima dcada, diversos autores se han interesado en el estudio


del clculo de Influencia en redes sociales. Aquellos que ms xito han tenido
coinciden en gran medida en el tipo de datos a utilizar ([5], [6]) y la secuencia
de procesamiento de los mismos: en cuanto a los datos, resulta imprescindible
disponer de un mapa de relaciones entre las personas (que permitir formar la
red), y un log o historial de las acciones que han realizado (que servir para
evidenciar la propagacin de influencia); en cuanto al procesamiento, se puede
dividir en tres etapas principales, comenzando por la obtencin y formacin de
datos, siguiendo por el clculo de probabilidades de contagio entre las personas,
y finalizando con la obtencin, a travs de un algoritmo, de aquellas personas
que ms influencia ejercen sobre el resto de la comunidad.
Detallaremos a continuacin los puntos mencionados:
2.3.1.

Mapa de relaciones

Un componente imprescindibles del set de datos que se utiliza durante el


proceso de seleccin de usuarios influenciadores es el mapa de relaciones. El
mismo contiene todas las relaciones entre usuarios de una red social. Sin esta
informacin es imposible intentar deducir cualquier tipo de ejercicio de influencia
de una persona sobre otra u otras, ya que para hacerlo es necesario conocer
fehacientemente que existe entre ellas algn tipo de relacin (amistad, relacin
comercial, etc.).

Comnmente este mapa est formado por una tabla que contiene, para cada
persona de la red, todas aquellas personas con las cuales se relaciona. Dicha
relacin puede ser unidireccional (por ejemplo cuando una persona sigue a
otra) o bidireccional (dos personas que son amigas). Idealmente, la tabla podra
incluir informacin temporal que indique la fecha en que las personas iniciaron
dicha relacin.
Usuario

Amigo

Jos

Carlos

Jos

Mara

Mara

Pedro

Lucia

Damin

Lucia

Cecilia

Damin

Carlos

Damin

Cecilia

Pedro

Jos

Natalia

Diego

Carlos

Pedro

Cuadro 1: Mapa de relaciones.

Figura 2: Mapa de relaciones.

10

2.3.2.

Log de acciones

El log de acciones est formado por todas las acciones que, en el contexto
de la red social estudiada, las personas realizaron, y la fecha en que lo hicieron.
Con esta informacin es posible identificar la propagacin de acciones, lo cual,
de cumplirse ciertas condiciones, puede considerarse como un acto de influencia.
De esta forma, un modelo de clculo de influencia podra inferir que si cada vez
que el usuario A realiza una accin, frecuentemente el usuario B tambin lo
hace en un periodo de tiempo relativamente corto, entonces A est ejerciendo
influencia sobre B.
Dependiendo del origen de datos, estas acciones pueden resultar muy variadas y depender de quien est realizando el estudio determinar cules de ellas
se pueden considerar como una propagacin. Por ejemplo en una red social musical, podra considerarse como propagacin el hecho de escuchar una cancin
luego 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 recientemente podran considerarse bajo los efectos de la influencia del mismo.
A su vez, existen factores comunes a la hora de analizar la existencia o no de
propagacin, como por ejemplo que el tiempo entre una accin y otra sea relativamente 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 no
por propia iniciativa disminuye. Depender, como vemos, de cada caso en particular y ser quien est llevando adelante el estudio quien deba determinar las
condiciones para considerar que ha habido una propagacin.
Usuario

Accin

Tiempo

Jose

Accin A

t1

Pedro

Accin B

t2

Jose

Accin B

t3

Lucia

Accin B

t3

Damian

Accin A

t4

Diego

Accin C

t7

Lucia

Accin A

t8

Cuadro 2: Log de acciones.

11

Figura 3: Log de acciones.


2.3.3.

Etapa 1: Formacin de datos

La primer etapa de proceso de obtencin de usuarios influenciadores consiste


en la seleccin, obtencin y formateo de los datos. Conforme lo visto en los
puntos anteriores, el set de datos consistir tpicamente de un mapa de relaciones
entre los integrantes de la red y un log de las acciones que los mismos han
realizado.
En esta etapa se decide qu datos son necesarios para la ejecucin del proceso,
se define un modelo de datos y se evala si el mismo es factible de obtener. Una
vez obtenida esta informacin, se analiza la calidad de la misma, se limpian
aquellos datos innecesarios, se corrigen los defectos que el set pueda tener y se
procede a formatearlos de acuerdo al modelo definido previamente.
Usuario

Token Accion

Accin

Ubicacin

Estado

Fecha

Jose

G1sd89_9244

Accin A

43.07,-71.92

NULL

2014/08/21

Pedro

54rt8u_0932

Accin B

-39.21,-58.90

NULL

2014/08/21

NULL

4pkd21_2276

Accin B

48.87,10.32

NULL

2014/08/23

Lucia

Jf4sdr_5481

Accin B

48.33,32,91

NULL

2014/09/01

Juan

Yuk2de_7454

Accin A

40.02,-4.30

NULL

NULL

Diego

65re9q_9820

Accin C

-31.32,-59.20

NULL

2014/09/01

Cuadro 3: Log de acciones (tabla origen).

12

Usuario

Accin

Fecha

Jose

Accin A

2014/08/21

Pedro

Accin B

2014/08/21

Lucia

Accin B

2014/09/01

Juan

Accin A

2014/09/01

Diego

Accin 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 entre


personas vinculadas. Para cada integrante de la red, independientemente de si las
relaciones son unidireccionales o bidireccionales, se pueden identificar conexiones
entrantes y salientes. Esto es, aquellas personas que podran ejercer influencia
sobre l (porque, por ejemplo, la otra persona lo sigue -unidireccional-, o porque
son amigos -bidireccional-) y aquellas sobre las cuales la persona podra ejercer
algn grado de influencia, respectivamente. Tpicamente se establece que los
valores para la probabilidad de contagio estn entre 0 y 1, representando 0 una
relacin en la cual no hay transferencia de influencia, y 1 cuando es mxima.
Esta etapa del proceso es de una complejidad muy elevada, por lo que muchos
estudios deciden obviarla y otorgar valores aleatorios a las probabilidades de
contagio, centrndose exclusivamente en las etapas 1 y 3. Sin embargo, y tal
cual destacan los autores en [5] y [6], aquellos procesos que utilizan valores
reales para esta variable logran resultados de muchsima ms calidad. De aqu
se desprende el enorme valor de la informacin resultante de la etapa 2, y por
este motivo en la presente tesis ponemos especial nfasis en intentar desarrollar
mecanismos para que ste procesamiento sea eficiente y pueda incluirse dentro
del proceso de bsqueda de usuarios influenciadores.

13

Figura 4: Grafo de probabilidades de contagio.


2.3.5.

Etapa 3: Algoritmos de maximizacin

La ltima etapa del proceso consiste en determinar, dado un mapa de la red


social y las probabilidades de contagio obtenidas en la etapa 2, cmo debemos
seleccionar a los nodos iniciales de forma de llegar, a travs de los efectos del
contagio, a la mayor cantidad de personas en la red. Esto es, obtener un set de
nodos S tal que el alcance de su influencia (lo llamaremos (S)) sea mximo.
Gracias a que la funcin (S) es montona (esto significa que para un conjunto de nodos ST, (S) (T)) y submodular ((Sw) - (S) (Tw)- (T),
con ST) es posible obtener un algoritmo relativamente sencillo que permita
calcular el conjunto de nodos que maximizan . Este algoritmo, conocido como
Greedy algorithm for Influence maximization consiste en iterar la red tantas
veces como cantidad de nodos deseamos obtener (lo llamaremos k), buscando
y agregando al set de nodos S en cada iteracin, aquel nodo que maximiza .
Esto es:

i. S
ii. while|S| < k
i. u argmax[wV \S] ((S{w}) (S) )
ii. S S {u}
Como vemos, el algoritmo parte de un conjunto de nodos S vaco y realiza
k iteraciones. En cada una de ellas agrega al conjunto S aquel nodo que, junto
con los nodos previamente agregados a S, maximiza la propagacin de influencia
dentro de la red.
14

En la Figura 5 podemos ver una iteracin del algoritmo, donde se recorren de


a uno por vez todos los nodos de la red (nodo naranja) y se evala la magnitud
del conjunto alcanzado (nodos rojos). En este caso, se terminar eligiendo a D
ya que su inclusin en el conjunto S genera el contagio de otros 4 nodos.

Figura 5: Iteracin del algoritmo Greedy que resulta con la inclusin del nodo
D en el conjunto S.
Cmo determinar la cantidad de contagios que un nodo puede producir ha
sido un desafo recurrente para todos los estudios del clculo de Influencia en
redes sociales. Para atacar este problema, se han propuesto diversos modelos
de propagacin. Aquellos que mejores crticas han cosechado estn basados en
el concepto de threshold, como lo son el Linear Threshold Model (LTM)
y el Independent Cascade Model (ICM), abordados en detalle en [5]. En
estos modelos se parte del principio fundamental de que en un determinado
instante de tiempo existen solo dos estados en los cuales un nodo de la red
puede encontrarse: activo o inactivo. La forma en que un nodo pase de inactivo a
activo es a travs del contagio con sus nodos aledaos. Esto es, si en determinado
momento una cantidad considerable de sus vecinos se encuentran activos, muy
probablemente el nodo tambin lo haga. El mecanismo para determinar en qu
momento las condiciones invitan a que esto suceda es donde difieren LTM e
15

ICM: para LTM, si en un instante t la suma de las probabilidades entrantes de


todos los vecinos activos de un nodo superan el valor del threshold, entonces en
t + 1 el nodo pasar a activo; para ICM, cada nodo activo intentar contagiar a
sus vecinos inactivos de forma independiente, con una probabilidad de contagio
determinada por la probabilidad entre ambos calculada en la etapa 2. A medida
que el tiempo transcurre, mas y mas vecinos del nodo pasarn a estar activos,
aumentando as las chances de que el nodo en cuestin tambin lo haga.
A pesar de su simpleza, el algoritmo Greedy logra resultados de una calidad
notable: nos garantiza obtener a travs de los nodos elegidos (conjunto S) una
propagacin mayor al 63 % de la que obtendramos con el conjunto de nodos
ptimo. Sin embargo, y como se destaca en [5], [6] y [7], y evaluaremos en la
siguiente seccin, este algoritmo posee ciertos dficits de performance que obligan a proponer modificaciones a su flujo original si el mismo desea ser utilizado
en set de datos de un tamao considerable. Diversos estudios han encarado este
problema, obteniendo distintos resultados.

2.4.

Dficits del proceso

2.4.1.

Etapa 1: Formacin de datos

El principal dficit de esta etapa del proceso es la performance: en general,


el historial de acciones es un set de datos de gran tamao, muy costoso de
procesar. Es necesario en este aspecto incorporar tcnicas tanto de limpieza
como de transformacin de estos datos, evitando procesar un log de acciones
muy grande cuya informacin, en su gran mayora, no es de utilidad para el
proceso.
Por otro lado, en el transcurso de los ltimos aos las plataformas de redes
sociales on-line han evolucionado a pasos agigantados, y el acceso a la informacin se ha ampliado y facilitado de forma notable. Sin embargo, uno de los
grandes dficits del estudio de Influencia en redes sociales es el hecho de que no
ha aprovechado de las nuevas fuentes de informacin disponibles, y en su gran
mayora los modelos se han mantenido en el enfoque tradicional, obviando la
incorporacin de nuevos datos.
Un ejemplo de esto es la informacin referida a las personas, sus perfiles,
gustos, etc. Estos datos se encuentran hoy en da disponibles en su gran mayora,
muchos de ellos proporcionados por las mismas personas (como podra ser sus

16

gustos musicales), y otros tantos los proveen las plataformas de acuerdo a la


interaccin de los usuarios (como por ejemplo el lugar desde el cual las personas
acceden a ellas).
Otro aspecto pendiente de desarrollo es simplificarle al usuario final la posibilidad de realizar definiciones y aportar su conocimiento sobre los datos que
se van a utilizar, como as tambin permitir que la propagacin est definida
por distintos tipos de acciones, ponderadas de acuerdo al peso especifico dentro 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 propagacin de una accin, cules de ellas deben tener
mayor peso en los clculos, etc. De esta forma, un usuario podra definir que,
dentro de su modelo de datos basado en una plataforma de blog, el hecho de
que una persona lea al menos una vez por da un artculo de un determinado
autor es un indicador de influencia de nivel medio. Por otro lado, si una persona
recomienda ms de 3 veces un artculo de este autor a un amigo, es un indicador
de influencia de nivel alto. Podemos ver, entonces, que si el modelo contempla,
admite y principalmente facilita la participacin del usuario final en las definiciones de datos, el mismo se enriquece de forma notoria, generando resultados
de muchsimo ms valor.
Intentamos en la presente tesis superar esta especie de barrera generacional, incorporar al proceso las nuevas fuentes de informacin disponibles y sacar
provecho de su utilizacin.
2.4.2.

Etapa 2: Probabilidad de contagio

Como comentamos anteriormente, esta etapa es la que menos desarrollada


se encuentra. Muy pocos estudios han abordado el anlisis del clculo de la
probabilidad de contagio en una red, resultando en que la mayora de los modelos
de clculo de Influencia en redes sociales utilicen valores aleatorios para simular
verdaderas probabilidades de contagio entre personas.
Son dos los principales dficits de esta etapa: en primer lugar, no se han
conseguido mtodos que obtengan las probabilidades de contagio de manera
performante, con un nivel de aceptacin mnimo que les permita ser incorporados
en el proceso sin afectar el rendimiento del mismo; en segundo lugar, en muchas
ocasiones los mtodos existentes ofrecen resultados que no se asemejan a la
realidad, resultando intil su utilizacin dentro del proceso.

17

Por otro lado, determinar cules de todas las acciones que una persona realiza son consecuencia del contagio o propagacin de una accin realizada previamente por otro miembro de la comunidad, y cules son acciones independientes,
ajenas a cualquier tipo de influencia, resulta muchas veces complejo. Un ejemplo
de esto son las que llamaremos acciones masivas: en ocasiones, ocurren situaciones o eventos globales que llevan a que muchas personas adopten determinados
comportamientos similares, como cuando sucede una catstrofe natural y todos
los miembros de una comunidad pasan das hablando sobre este tema (en el
marco de las redes sociales on-line podramos decir que pasan das tweeteando). Quin o quines fueron los primeros en abordar el asunto es irrelevante, y
sera un error decir que esas personas influenciaron al resto de la comunidad a
realizar comentarios sobre el tema, ya que la propia naturaleza y magnitud del
evento fue lo que desencaden estos comportamientos. Determinar con precisin
cules acciones son fruto de la influencia y cules no es un desafo que no debe
ser subestimado a la hora de calcular las probabilidades de contagio dentro de
una red.
Durante el desarrollo de esta tesis proponemos nuestro enfoque respecto
de cmo optimizar esta etapa, buscando superar los problemas anteriormente
mencionados.
2.4.3.

Etapa 3: Algoritmos de maximizacin

El principal dficit de la tercera y ltima etapa del proceso es la performance del algoritmo utilizado. Como mencionamos, el algoritmo Greedy utilizado
para obtener a las k personas con mayor grado de influencia sobre el resto de
la comunidad otorga resultados de gran calidad. Sin embargo, la complejidad
computacional de obtener en cada iteracin el nodo que mayor ganancia otorga,
lo convierte inutilizable. El problema radica en que, para obtenerlo, el algoritmo
itera cada uno de los nodos de la red y la recorre en su totalidad, tratando de
establecer a qu porcentaje de la comunidad se propaga la activacin, en ese
momento, de un determinado nodo. Aplicar este algoritmo a una red de gran
tamao es prcticamente imposible, por lo cual es necesario encontrar alternativas que permitan reutilizar la base del mismo y aprovechar sus beneficios, pero
evitando replicar sus limitaciones.
Otro de los inconvenientes que presenta la utilizacin del algoritmo Greedy
es que en ocasiones puede llegar a elegir dentro del set final S a nodos que

18

tienen baja actividad dentro de la red, pero que en alguna ocasin han logrado
propagar una accin propia a un porcentaje alto de la comunidad. Su aplicacin en diversos set de datos experimentales ha demostrado que en ocasiones el
algoritmo puede llegar a elegir nodos que tienen una sola accin dentro del historial tomado como input. Por este motivo, es necesario establecer criterios que
permitan al algoritmo determinar en qu ocasiones un nodo debe ser excluido
del clculo de Influencia.
Por ltimo, el algoritmo no permite distinguir en qu reas ejercen influencia
cada uno de los nodos elegidos dentro de S; a su vez, tampoco permite realizar
esta distincin previamente a realizar los clculos. Esto apunta a que, en general,
quien desea conocer a aquellas personas con mayor grado de influencia dentro de
una red, est interesado en un nicho de la poblacin, y no en la totalidad de la
misma. Por ejemplo, si el interesado pretende utilizar los resultados para lanzar
una campaa electoral, probablemente quiera saber cules son las personas que
mayor influencia ejercen dentro de la poblacin en temas referidos a la poltica.
Por otro lado, si el contexto es el de un suplemento vitamnico, querr obtener
como resultado a las personas con mayor grado de influencia en aspectos deportivos. De esta forma, podemos ver la necesidad de aplicar el concepto de mbito
o contexto a la bsqueda de personas influenciadoras, cuestin que el algoritmo
Greedy hoy en da no contempla.

19

3.

Propuesta

3.1.

Enfoque de la propuesta

En esta seccin presentaremos las propuestas de mejora para cada una de


las etapas del proceso, basndonos en los dficits detallados en II. Estado del
arte. Dficits del proceso. El objetivo, tal cual hemos mencionado, es no solo
proponer un modelo que solucione las debilidades existentes, sino que tambin
ofrezca la posibilidad de que el usuario final pueda interactuar de forma sencilla
con el mismo para obtener resultados que le sean de mayor utilidad.
Detallaremos, a su vez, el modelo de datos que utilizaremos para las pruebas
experimentales y sobre el cual se basaran los ejemplos citados en esta seccin.

3.2.

Modelo de datos

Decidimos basar nuestro estudio en la red social Twitter, por lo cual la


primer etapa de la propuesta se basa en la definicin de un modelo de datos,
extraccin y formateo de los datos. Detallamos a continuacin cada una de las
tareas realizadas.
3.2.1.

Definicin del modelo de datos

Como vimos anteriormente, debido a las necesidades del proceso, nuestro


modelo de datos debe contemplar la existencia de un mapa de relaciones entre
usuarios de la plataforma y un historial de acciones de los mismos, a lo cual decidimos agregar una tercera componente vinculada con la informacin personal
de los usuarios.
En cuanto al mapa de relaciones, decidimos utilizar el concepto de Followers
dentro de Twitter para el armado de la red. De esta forma, dos usuarios A y B
estarn relacionados si A es follower de B, generando un vinculo A B. Como
vemos, las relaciones son direccionadas, pudiendo existir un vinculo desde A
hacia B, y no el correspondiente desde B hacia A.

20

Figura 6: Relacin entre usuarios en el modelo de datos definido, en el cual B y


C 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 los
usuarios seleccionados para el estudio:
Campo

Descripcin

UserId_str

String: Identificador del usuario base.

FollowerId_str

String: identificador del usuario que se encuentra siguiendo (following) al usuario base.

En cuanto al historial de acciones, las mismas estn reflejadas en nuestro


modelo a travs de los Tweets que los usuarios realicen. El texto de un tweet,
el usuario que lo realiza y la fecha y ubicacin desde donde lo hace son algunos
de los datos que extraeremos de la plataforma.

21

Campo

Descripcin

Id_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 retweeteando.

Author

String: identificador del usuario que redact el


tweet.

CreatedDate

Date: fecha de creacin del tweet.

Text

String: contenido del tweet.

Language

String: idioma en el cual fue redactado el tweet.

Latitude

Float: latitud cardinal desde donde fue redactado el tweet.

Longitude

Float: longitud cardinal desde donde fue redactado el tweet.

InReplyToUserId_str

String: identificador del usuario al cual se est


respondiendo.

InReplyToStatusId_str

String: identificador del tweet al cual se est respondiendo.

RetweetsCount

Int: cantidad de retweets del tweet.

Place

String: nombre del lugar geogrfico desde donde


fue redactado el tweet.

En este modelo, las acciones estn representadas por las actualizaciones de


estado de los usuarios, ms precisamente por el texto que escriban (campo Text).
De esta forma, y aunque ampliaremos esta definicin en la Etapa 1: Propagacin, tenemos 3 tipos de propagacin posibles:
Cuando un usuario escribe un tweet en respuesta a lo que otro usuario ha
escrito previamente.
Cuando un usuario retweetea el estado de otro usuario.
Cuando un usuario escribe sobre un tema del que otro usuario ha escrito
previamente.

22

Por ltimo, como anticipamos en II. Estado del arte. Dficits del proceso, incorporamos a nuestro set de datos informacin referida a los usuarios,
la cual Twitter provee a travs de su API [2].
Campo

Descripcin

Id_str

String: identificador del usuario.

Name

String: nombre de la cuenta del usuario.

ScreenName

String: nickname del usuario.

Location

String: ubicacin geogrfica del usuario.

FollowersCount

Int: cantidad de followers del usuario.

FriendsCount

Int: cantidad de amigos del usuario (cuentas de las cuales 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

3.2.2.

Int: huso horario del usuario.

Extraccin de datos

Para el armado de la red, y debido a la imposibilidad de abordar toda la


estructura de Twitter por tener una enorme cantidad de usuarios, decidimos
acotar nuestra bsqueda a un nmero reducido de cuentas, todas relacionadas
al cine y series de televisin. Partimos de 12 cuentas referentes dentro del rea
cinematogrfica y televisiva (nodos iniciales):
Cine_Y_Series
nosgustacine
Frases_del_Cine
cinesargentinos
TrailersyEstren
iYoVoyAlCine

23

A_Cine
SOFILMEsp
altapeli
atresmediacine
CineHoy
cineespanol
A continuacin, extrajimos todos los followers de cada una de esas cuentas.
Como resultado obtuvimos 261.947 relaciones, de las cuales 239.521 pertenecan
a usuarios nicos dentro de la red. Analizando los datos pudimos tambin obtener la cantidad de usuarios que eran follower simultneamente de ms de uno
de los nodos iniciales. Los resultados arrojaron 2 cuentas que seguan a 11 de
los nodos iniciales, y 8 cuentas que seguan a 10 de ellos. Expondremos en la
siguiente tabla el anlisis completo:
#Friends

Cantidad de usuarios

% del total de la red

11

10

8,35-6
3,34-5

21

40

76

162

3,17-4
6,76-4

312

0,0013026

782

0,0032648

2.254

0,0094104

12.518

0,0522626

223.364

0,9325445

8,76-5
1,67-4

Detallamos a continuacin la distribucin de followers de los nodos iniciales


(cantidad de conexiones entrantes) con respecto al total de followers encontrados:

24

User

Cantidad de followers

% del total de la red

Cine_Y_Series

22.668

9,46

nosgustacine

10.140

4,23

Frases_del_Cine

56.773

23,70

cinesargentinos

26.666

11,13

TrailersyEstren

27.064

11,30

iYoVoyAlCine

19.226

8,03

A_Cine

15.623

6,52

SOFILMEsp

2.486

1,03

altapeli

17.792

7,43

atresmediacine

29.524

12,33

CineHoy

32.580

13,60

cineespanol

1.405

0,59

Debido a la magnitud de los datos, y considerando la necesidad de contar


para este trabajo con un set de datos de tamao intermedio, se estableci un
criterio de conservacin de los usuarios obtenidos en el paso anterior por el
cual slo se incorporaran a la red final aquellos usuarios que estn vinculados
(following) como mnimo al 40 % de los nodos iniciales, junto con los vnculos
entre ellos. De esta forma, se conservaron 633 cuentas y 3.685 vnculos.
Por ltimo, para completar el armado de la red se decidi incorporar aleatoriamente entre 1 y 3 followers de los usuarios obtenidos en el paso anterior, de
forma de contar con 3 niveles dentro del rbol de vnculos de la red. Se obtuvieron 1.192 nuevas relaciones, correspondientes a 1.099 usuarios nuevos dentro
de la red. De esta forma, la red qued conformada por 1.732 usuarios y 4.877
relaciones entre ellos. La cantidad de nodos nicos con vnculos entrantes result
igual a 616, mientras que la de nodos nicos con vnculos salientes fue de 1.725.
A continuacin se extrajo la informacin correspondiente a los perfiles de
los 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 ejemplo
algunos de los registros obtenidos:

25

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 de

...

Navarra
1873106480

...

ChristchurchCars

Language

chccarrentals

Christchurch

Statuses

Verified

UtcTime

Followers

Friends

Count

Count

...

1128

1945

es

437

-10800

...

108

326

es

114

-18000

...

231

1974

es

145

-14400

...

187

231

es

767

7200

...

38

233

es

52

NULL

...

1183

1296

es

71

19800

Count

Por ltimo, para completar el historial de acciones y de acuerdo al modelo


de datos propuesto, se procedi a extraer de la plataforma los Tweets publicados
por los usuarios. Debido a que el historial debe registrar todas las acciones realizadas por los usuarios entre dos fechas definidas, se decidi extraer los Tweets
de 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 disponer de un set de datos de tamao intermedio y representativo de la actividad
registrada en la plataforma. La tabla qued conformada por registros como los
siguientes:

26

...

Id_str

UserId

Author Text

Created

_str

...

Date

496725833

90445

6509

RT @TrailersyEstren: Cinema

2014-08-05

504292864

9700

4819

Paradiso- Trailer en espaol.

18:34:02

...

Reestreno en cines con motivo


del 25 Aniversario. Copia digital restaurada htt...
495917326

40509

4050

La Alcarria es el escenario per-

2014-08-03

525808640

7141

97141

fecto para una versin espaola

13:01:19

...

de Breaking Bad.
494439504

10049

10049

@misancer Opino lo mismo, es

2014-07-30

854671363

24833

24833

una serie que sin destacar mu-

11:08:58

...

cho es entretenida, buena y con


audiencias slidas. Ganas ya del
ltimo captulo!

...

Lang Latit.

Longit. Is

InReplyTo

InReplyTo

Rt

Rt

UserId_str

StatusId_str

Count

Place

...

es

NULL

NULL

NULL

NULL

13

NULL

...

es

40,389

-2,771

NULL

NULL

Buendia

...

es

NULL

NULL

248549886

494438558

NULL

992957440

3.3.
3.3.1.

Etapa 1: Formacin de datos


a. Definicin temprana de mltiples acciones propagadas

Uno de los principales motivos por el cual el proceso de bsqueda de usuarios


influenciadores presenta problemas de performance a lo largo de todo el ciclo es
la magnitud de los datos. Particularmente, el historial de acciones, al registrar
el 100 % de la actividad de todos los usuarios de la red durante un perodo de
tiempo, suele alcanzar grandes tamaos y su procesamiento durante las distintas
etapas del proceso se transforma en una carga muy alta.
Por otro lado, los modelos actuales no contemplan la posibilidad de incluir
ms de un tipo de accin en el modelo de propagacin. Esto significa que para

27

un determinado caso de estudio, la propagacin estar dada por la repeticin


dentro de la red de acciones del tipo A definidas por el usuario (como podra
ser escuchar una cancin que un amigo escuch previamente), y quedarn fuera
las acciones del tipo B o C (como por ejemplo comprar un disco que un amigo
me recomend, o asistir a un recital promocionado por l).
Para atacar ambos problemas de forma conjunta, proponemos la Definicin
temprana de mltiples acciones propagadas. Este concepto apunta a permitirle
al usuario final definir en una instancia inicial del proyecto todos los tipos de
propagacin que desea contemplar dentro de su modelo. De esta forma, una vez
definidos los tipos de propagacin, es posible limpiar del historial todas aquellas
acciones que no aplican dentro de ninguna de las clasificaciones. Esto se traduce
en que solo sean procesadas aquellas acciones que, o bien fueron propagadas de
acuerdo a alguna de las categoras definidas previamente, o son un nodo inicial
dentro de una cadena de propagacin. De esta forma, el modelo se evita la
carga que generan registros que no aportan informacin relevante al proceso de
clculo de influencia, lo cual le otorga una ventaja notable si consideramos que,
en la prctica, la mayora de las acciones no participan dentro de un proceso de
propagacin, y hoy en da los modelos consideran el procesamiento de todas las
acciones por igual.
En los cuadros 5 y 6 podemos observar la reduccion del tamao de un set
de 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 filtro
correspondiente a estos dos tipos de acciones, la cantidad de registros disminuye
de 11 a 5, lo cual representa una reduccion del 54 %. A su vez, la cantidad
de usuarios eventualmente involucrados en la propagacion se reduce de 8 a 4,
exactamente un 50 %.

28

Tipo de accion

Usuario

Comentario

RT

RT

Fav

Following

Foto

Comentario

RT

Fav

10

Following

11

Comentario

Cuadro 5: Historial de acciones original.

Tipo de accion

Usuario

RT

RT

Following

RT

10

Following

Cuadro 6: Historial de acciones post-procesamiento.


Ejemplificamos a continuacin este aporte aplicado al modelo de datos definido para esta Tesis. Para el mismo, identificamos tres tipos de propagacin,
los cuales procedemos a detallar:
1. Tweet sobre un mismo tema: se considera propagacin de influencia el
hecho de que una persona escriba un tweet abordando una temtica sobre
la cual, previamente, un miembro de su red de amigos tambin ha escrito.
Por ejemplo, si el usuario A realiza una publicacin comentando la nueva pelcula de Transformers y posteriormente, en un periodo de tiempo
relativamente corto, el usuario B, que es follower de A, tambin escribe
sobre dicha pelcula, nos encontraremos ante un caso de propagacin de
una accin desde A hacia B.
29

Figura 7: Propagacin de una accin de tipo Tweet sobre un mismo tema.


2. Retweets: esta categora incluye las publicaciones del tipo retweet, las
cuales dentro de la plataforma de Twitter representan a un usuario compartiendo a su red de amigos un mensaje que otro usuario ha publicado
anteriormente.
De esta forma, un retweet por parte del usuario B de una publicacin
realizada por A se considerar una propagacin desde A hacia B.

Figura 8: Propagacin de una accin de tipo Retweet.


3. Comentario sobre un tweet de otro usuario: por ltimo, el tercer tipo de
propagacin tiene lugar cada vez que un usuario realiza un comentario en
un tweet publicado por un amigo.
30

Por ejemplo, si el usuario A escribe un tweet recomendando la serie The


big bang theory, y posteriormente el usuario B comenta que la semana
prxima comenzar a verla, podemos inferir que A ejerce un cierto grado
de influencia sobre B.

Figura 9: Propagacin de una accin de tipo Comentario sobre un tweet de


otro usuario.
3.3.2.

b. Omisin de datos de entrada

Como ltimo punto dentro de la Etapa 1, proponemos analizar la omisin


de determinados datos de entrada bajo la teora de que su inclusin no aporta
calidad adicional a los resultados, y que obviar su procesamiento puede otorgar
beneficios de performance considerables. Particularmente apuntamos a excluir el
anlisis de la fecha de inicio de la relacin entre dos usuarios: histricamente, el
clculo de usuarios influenciadores propuso estudiar nicamente la propagacin
de acciones realizadas en una fecha posterior a la fecha en la cual los usuarios en
cuestin dieron inicio formal a su relacin o vinculo social. Sin embargo varios
aspectos, que enumeraremos a continuacin, nos permiten proponer la exclusin
de este anlisis previo.
31

En primer lugar, la masividad de las redes sociales on-line de hoy da han


llevado prcticamente a la desaparicin de la privacidad y exclusividad de los
vnculos: las figuras sobre las cuales se centra y se interesa este estudio (aquellos usuarios que ejercen un alto grado de influencia sobre la poblacin) y sus
acciones son abiertas al resto de la comunidad. No sera interesante, y mucho
menos de gran utilidad, conocer usuarios influenciadores que interactan con
un crculo pequeo de contactos. Por el contrario, estamos buscando a aquellas
personas que logran ejercer influencia sobre un gran porcentaje de la comunidad,
independientemente de si stos ltimos han manifestado o explicitado una relacin formal con los primeros. Esto apunta a que la propagacin de una accin
realizada por una determinada persona puede llegar a otra an cuando entre
ellos no exista un vnculo formal, y no por esto debe ser omitida del proceso.
En la prctica, una publicacin, comentario o expresin de una personalidad
popular suele transmitirse por diferentes canales a los miembos de la comunidad, alcanzando incluso a aquellos que no tienen una relacin manifiesta con
ellos (por ejemplo, quienes no son sus seguidores en Twitter). Si esta accin se
propaga, podemos inferir la presencia de influencia, independientemente de la
existencia o no del mencionado vnculo.
En segundo lugar, habiendo introducido el concepto de definicin temprana
de acciones propagadas, el usuario es capaz de definir tipos de acciones para
los cuales conocer o no la fecha de inicio del vinculo social es indiferente, tanto
porque la propia accin garantiza esta condicin, como porque para ese tipo
de accin resulta indistinto que exista un vinculo formal dentro de la red. Por
ejemplo para las acciones de tipo Retweet, la propia existencia de la misma
garantiza que un usuario ha logrado ejercer influencia sobre otro. An cuando
no sepamos si el usuario que realiz el retweet es follower del autor del tweet
dentro de la plataforma, el hecho de que haya retwitteado su estado nos garantiza
que existe un nexo al menos informal entre ambos, que lo conoce y que de alguna
forma sus acciones repercuten en l.
Por ltimo, un aspecto sobre el cual hacen foco muchas de las propuestas
de este trabajo es la mejora de performance del proceso. Es sabido que uno de
los factores que dificulta la implementacin de modelos de clculo de influencia
es que los tiempos de procesamiento son muy grandes, al punto de tornarlos
computacionalmente prohibitivos. Por este motivo, poder obviar esta etapa del
proceso, evitar realizar validaciones respecto al inicio de vnculos formales dentro

32

de la red y las fechas de realizacin de acciones, resulta muy valioso.


En la fase IV. Implementacin nos proponemos demostrar que las suposiciones aqu planteadas resultan correctas.

3.4.

Etapa 2: Probabilidad de contagio

3.4.1.

a. Incorporacin de Topics

Prcticamente todos los tipos de contagio o propagacin de acciones presentes en los modelos de clculo de influencia estn de alguna u otra manera
relacionados con un concepto al que llamaremos topic, y que ms all de algunos acercamientos planteados en [6] y [9], al da de hoy no ha sido debidamente
estudiado y explotado.
Un topic es un trmino o conjunto de trminos semnticamente relacionados,
que identifican un nico concepto. Por ejemplo, el trmino Batman identifica
unvocamente a la serie animada de igual nombre. Por otro lado, el conjunto de
trminos {Batman, Begins} refiere a la primer pelcula de la triloga dirigida
por Christopher Nolan, mientras que {Batman, Comics, Bolland} permite
identificar a las historietas publicadas en la dcada del 80 por la editorial DC
Comics.
Dentro del estudio de la influencia en las redes sociales, este concepto puede
utilizarse para mejorar la eficiencia del clculo de probabilidades de contagio
entre personas. Particularmente, en las redes de publicacin de contenidos no
solo nos otorga un nuevo tipo de propagacin de acciones, sino que tambin nos
permite obviar del proceso una tarea sumamente costosa en cuanto a performance como es la deteccin y eliminacin de trminos frecuentes del lenguaje.
Detallamos a continuacin nuestra propuesta para la incorporacin de los topics
en el proceso de deteccin de usuarios influenciadores.
Como dijimos, un topic es un trmino o conjunto de trminos que identifica
un nico concepto. A su vez, podemos intuir que la posibilidad de conocer
cules son los topics que se hacen presente en las acciones detectadas en una red
social en un determinado perodo de tiempo resulta de gran valor a la hora de
identificar cules de ellas son fruto de la propagacin, cules son origen de una
cadena de contagio, cules son acciones masivas repetidas por un gran porcentaje
de la poblacin y cules son acciones aisladas del resto. En sintona con esto,
es necesario incluir el concepto de frecuencia a la definicin de topics: dentro

33

de una red social, un topic puede ser frecuente durante un perodo acotado de
tiempo o puede estar presente en todo momento; a su vez, la frecuencia puede
definirse para un conjunto de la poblacin o para la totalidad de la misma.
En base a esta definicin podemos identificar tres tipos de topic distintos:
1. Frecuente slo durante un perodo de tiempo especfico, para toda la poblacin: son sucesos globales que ocurren en algn momento determinado
e involucran a prcticamente la totalidad de la poblacin. Las llamaremos
acciones masivas, y las mismas no sern consideradas en el clculo de
influencia ya que, ms all de que en el historial de acciones podemos
encontrar al primer usuario que hizo referencia a este tema, sera errneo
decir que dicho usuario origin una cadena de propagacin, cuando en
realidad la naturaleza misma del evento fue lo que gener que se haga tan
popular. Esto es fcilmente comprobable ya que podremos encontrar, para
este tipo de acciones, muchos otros nodos iniciadores (tambin llamados
nodo origen) que no tienen relacin con aquel encontrado previamente, con
lo cual podemos afirmar que no ha habido una propagacin entre ellos.
Un ejemplo de esto fue el Tsunami que tuviera lugar en Japn en el ao
2004. Durante varios das el tema estuvo a la cabeza de todos los diarios a
nivel mundial y fue motivo de conversacin de millones de personas. Previo
a esto, mucha gente ni siquiera conoca el trmino tsunami, y pasadas
unas semanas el tema fue perdiendo protagonismo al punto de recuperar
valores de popularidad cercanos a los que tena antes de este suceso.
Uno de los aportes de esta tesis es detectar las acciones masivas del historial y excluirlas del clculo de probabilidades de contagio, evitando asignar
a una persona un nivel de influencia sobre el resto de la comunidad que
no tiene.

34

Figura 10: Frecuencia del trmino Tsumani en publicaciones globales en el


ao 2004.
2. Frecuente en todo momento, para toda la poblacin o un grupo reducido
de ella: son trminos y sucesos que forman parte de la rutina de las personas. Los llamaremos trminos frecuentes, y su aplicacin en el proceso
ser auxiliar: mientras que no son tiles para identificar propagacin de
acciones, nos sirven para descartar aquellas que se hacen presente a lo
largo de todo el ciclo de vida del historial registrado.
De esta forma, todos los trminos comunes del lenguaje (conectores, preposiciones, etc.) y aquellos que forman parte de la cotidianeidad (ftbol,
trabajo, etc.) pueden ser fcilmente identificados y extrados del proceso de clculo de probabilidades de propagacin, lo cual resulta un aporte
muy valioso para el proceso, ya que la tarea de extraer trminos comunes
del leguaje es compleja y costosa.

35

Figura 11: Frecuencia del trmino Ftbol en tweets durante el ao 2012.


3. Frecuente slo durante un perodo de tiempo especfico, para un sector reducido de la poblacin: son sucesos que cobran popularidad dentro de un
conjunto relativamente pequeo de la comunidad, y al cabo de un tiempo
regresan a sus valores de frecuencia habituales. Los llamaremos topics
locales, y sern stos los topics que ms valor tendrn 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 valores
de frecuencia por encima de los habituales. Por el contrario, podemos decir
que su popularidad naci en aquella o aquellas personas que dieron origen
al tema, que lo pusieron sobre la mesa para que luego otras, arrastradas
por el efecto de influencia que estas personas generan en ellos, lleven a
popularizarlo dentro de su comunidad.
Por ejemplo, si dentro de una comunidad de compaeros de futbol una
persona con alto grado de influencia sobre el resto comenta que el nuevo
desodorante Sports Fan le ha parecido de muy buena calidad y recomienda a sus compaeros que lo prueben, y al cabo de un par de das
notamos que muchos otros miembros de la red han hecho algn comenta-

36

rio al respecto, con mucha ms frecuencia de lo que lo hacan previamente,


podemos decir que nos encontramos ante un caso de topic local.

Figura 12: Frecuencia del topic Songs of Innocence entre la totalidad de la


poblacin (rojo), y la comunidad del Rock (azul) durante los meses previos y
posteriores al lanzamiento del disco.
A partir de estas definciones, al momento de procesar el historial de transacciones y en caso de encontrarnos ante alguna de ellas (accion masiva, trmino
frecuente o topic local), se ponderar o eventualmente descartar la accin de
acuerdo a los criterios definidos previamente:
Accin masiva: cuanto mayor sea la aparicin/utilizacin de ese trmino
o topic en la poblacin para un perodo de tiempo cercano al de la accin
en cuestin, menor es el peso que dicha accin tendr en el clculo de probabilidades de contagio, tendiendo eventualmente a cero cuando la accin
se enmarca en lo que podramos denominar un topic global.
Trminos frecuentes: los trminos frecuentes, como las palabras comunes
del idioma o los trminos de uso cotidiano, son descartados y no se tienen
en cuenta a la hora de obtener las probabilidades de contagio.
Topics locales: son los ms relevantes dentro del proceso de obtencin de

37

probabilidades de contagio, y su eventual aparicin tendr una ponderacin muy alta dentro de los clculos que se realicen.
3.4.2.

b. Ponderacin de las acciones propagadas

Como podemos imaginar, no todas las propagaciones que ocurren dentro de


una red estn vinculadas a transferencias de influencia de igual grado. Con esto
nos referimos a que, dada las circunstancias en las que una accin realizada por
una persona fue repetida ms tarde por otra, el momento en que lo hizo y el
tipo de accin en cuestin, es posible determinar que tan fuerte es el lazo de
influencia que une a estas dos personas.
En referencia a esto, proponemos introducir el concepto de ponderacin de
las acciones propagadas, por el cual, a la hora de obtener las probabilidades
individuales de contagio, las acciones del historial utilizadas tendrn mayor o
menor peso en el clculo que se realiza de acuerdo a las circunstancias particulares de cada una. Identificamos tres factores principales a considerar, los cuales
detallaremos a continuacin:
Criterio del usuario final: el principal y ms determinante factor de ponderacin 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 formacin de datos, donde se involucra al
usuario permitindole definir los tipos de propagacin que el modelo debe
considerar, en esta segunda etapa puede participar ponderndolos. Esta
ponderacin puede manifestarse de diversas formas, como por ejemplo a
travs de un simple ordenamiento de los tipos de accin, desde el ms importante al menos vinculante, o mediante la asignacin de valores discretos
a cada uno. A su vez, los valores podran ser nmeros enteros entre 1 y 10,
categoras definidas especialmente para el estudio (como bajo, medio
y alto), etc. La decisin de qu mecanismo utilizar estar en manos del
usuario, y nuevamente la idea es brindar un grado de flexibilidad lo ms
alto posible, de forma que para cada estudio se pueda definir de manera sencilla el criterio de ponderacin a utilizar, e incluso realizar corridas
con distintas variantes y evaluar los resultados obtenidos con cada una de
ellas.
Para ponderar los tipos de propagacin definidos en Etapa 1: Formacin

38

de datos. a. Definicin temprana de mltiples acciones propagadas utilizamos valores numricos, con una escala de entre 1 y 15, siendo
1 un tipo de propagacin dbil y 15 el ms fuerte. En este punto es importante destacar que la escala a utilizar puede ser redefinida en cada
implementacin, no siendo relevante los valores utilizados para los mnimos y mximos, sino la relacin entre ellos.
Tipo de propagacin

Factor de ponderacin

Tweet sobre un mismo tema

Retweets

15

Comentar un tweet de otro usuario

10

Tiempo transcurrido entre la accin y la repeticin: cuando definimos la


propagacin de acciones mencionamos que el tiempo es un indicio importante que nos ayuda a definir si la segunda accin fue una repeticin de
la primera, o es un acto independiente fruto de la propia iniciativa de la
persona que la realiz. De acuerdo a diversos estudios sobre casos reales,
como se observa en [5], si una persona va a repetir una accin realizada
por otra anteriormente, es probable que lo haga en un perodo de tiempo
cercano. Podemos inferir que cuanto ms tiempo transcurre entre dos actos del mismo tipo, menor es la probabilidad de que el segundo se haya
generado a causa de la influencia. Proponemos, entonces, utilizar un factor
de multiplicacin k que pondere las propagaciones de acuerdo al tiempo
transcurrido entre una accin y su repeticin.
Tal cual destaca Bonchi en [5], la probabilidad de contagio disminuye de
forma exponencial en el tiempo. La funcin exacta que define esta cada
vara ligeramente segn el dominio estudiado, lo cual permite que se adopte
en su lugar, de forma genrica, cualquier funcin exponencial negativa.
Dentro de las posibilidades, y valorando la simpleza de comprenderla y
utilizarla, elegimos la siguiente:

k=

1
2t1

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

39

Como podemos ver, si la repeticin ocurre en el intervalo inmediatamente posterior a la accin, el valor de k ser igual a 1, mientras que para
repeticiones muy lejanas en el tiempo, el valor de k tiende a 0.
Cantidad de personas vinculadas que realizaron la accin 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 realizado previamente la accin analizada, resulta ms difcil determinar si
el individuo actu imitando a alguno de ellos en particular, y en caso de
que as fuera, cul de todos ellos fue el que lo influenci a actuar de esa
forma, o si fue el hecho de que muchos de sus contactos repitieran una
accin lo que lo gener, lo cual resulta ms probable. Considerando esto,
podemos decir que el peso de propagacin de una accin que fue realizada
previamente por un solo contacto debe ser ms alto que el de una que fue
realizada por varios miembros de la red.
En sintona con el factor de ponderacin definido en la seccin anterior,
proponemos la utilizacin de un multiplicador p, cuyo valor disminuya a
medida que aumenta la cantidad de predecesores de una accin.

p=

1
n+1

con n = cantidad de contactos de la red del individuo que realizaron la


accin previamente.
3.4.3.

c. Discretizacin del tiempo

La discretizacin es un proceso que transforma datos o valores continuos en


discretos, lo que tambin podra verse como transformar valores cuantitativos
en cualitativos. Estos ltimos son muy importantes en los algoritmos de Data
Mining, ya que mejoran su performance y su efectividad. Sin embargo, y a pesar
de que la discretizacin ha sido largamente estudiada ([10], [11], [12] entre otros),
no siempre resulta sencillo encontrar la mejor forma de transformar los datos
del dominio de manera que los nuevos valores resulten representativos y tiles
al estudio en cuestin. Particularmente, el modelo de bsqueda de usuarios
influenciadores en redes sociales es muy especfico y no comparte demasiada
similitud con otros modelos, por lo cual surge la necesidad de proponer una
40

alternativa de discretizacin propia, que se adapte a las necesidades de dicho


trabajo.
Estudiamos en esta seccin la discretizacin de una variable clave dentro de
nuestro modelo: el tiempo. El mismo nos permite determinar, entre otras cosas,
qu usuario inici una accin, cunto demor cada propagacin, cul es el tiempo
promedio en que las acciones de determinado tipo se propagan de un usuario
a otro, etc. Resulta indispensable, entonces, que los resultados del proceso de
discretizacin sean representativos del dominio en el que se trabaja. Por este
motivo, para este anlisis nos valemos de la informacin obtenida y generada
en los pasos anteriores del proceso; particularmente, utilizamos el concepto de
tipos de acciones propagadas.
Una decisin clave que puede llevar al xito o fracaso del proceso de discretizacin es la eleccin de la amplitud de los intervalos de tiempo con que
trabajar el modelo. Esto es, la distancia entre los extremos inferior y superior
de un intervalo. Si dicho valor no est dentro de un rango de aceptacin razonable puede llegar a introducir ruido al mtodo, que genere distorsin en los
clculos y termine entregando resultados de baja calidad. En nuestra propuesta, la amplitud de los intervalos es el resultado del anlisis de los tiempos de
demora entre acciones propagadas. El proceso propuesto consta de tres pasos,
que detallamos a continuacin:
1. Para cada propagacin incluida dentro de las definidas en Etapa 1: Formacin de datos. a. Definicin temprana de mltiples acciones
propagadas, obtenemos el instante de tiempo en que sucedieron tanto la
accin original como su repeticin. En base a esto, calculamos el tiempo
de propagacin (lapso transcurrido entre ambas acciones). Como resultado
tenemos una serie de valores que representan cuanto demor cada accin
individual en ser propagada.
Ejemplificamos a continuacin con un conjunto de acciones ocurridas el
da 12 de agosto del 2014:

41

Accin

Tipo de accin

Tiempo de

Tiempo

ocurrencia

propagacin

A1

Retweet

08:22 hs

A2

Retweet

08:24 hs

2 minutos

B1

Mismo topic

08:36 hs

A3

Retweet

08:37 hs

15 minutos

B2

Mismo topic

08:39 hs

3 minutos

C1

Comentario en tweet

08:40 hs

B3

Mismo topic

08:41 hs

5 minutos

B4

Mismo topic

08:42 hs

6 minutos

C2

Comentario en tweet

08:44 hs

4 minutos

D1

Mismo topic

08:46 hs

C3

Comentario en tweet

08:47 hs

7 minutos

D2

Mismo topic

08:49 hs

3 minutos

D3

Mismo topic

08:50 hs

4 minutos

E1

Retweet

09:03 hs

E2

Retweet

09:04 hs

1 minuto

E3

Retweet

09:05 hs

2 minutos

F1

Comentario en tweet

09:07 hs

F2

Comentario en tweet

09:09 hs

2 minutos

E4

Retweet

09:09 hs

6 minutos

de

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


2. Calculamos el tiempo promedio de propagacin (tpp), utilizando las demoras obtenidas en el paso anterior. La amplitud de los intervalos ser una
fraccin de este valor, con el objetivo de asegurarnos que la mayor cantidad de acciones propagadas formen parte de intervalos distintos entre
ellas. Para este ejemplo elegimos 1/2 como factor de multiplicacin, pero
dicho valor puede ser redefinido de acuerdo al criterio y las necesidades
del trabajo en cuestin.
n
X

tpp =

tpi

i=1

En nuestro ejemplo, el tiempo promedio de propagacin es igual a:


42

1 + 2 + 2 + 2 + 3 + 3 + 4 + 4 + 5 + 5 + 6 + 7 + 15
13
tpp = 4, 53 min.

tpp =

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 primera accin propagada del set de datos. Los valores discretos de tiempo
(intervalos) de las acciones se obtienen a partir del instante t0y la amplitud definida en ii.
Intervalos (asumiendo primer accin 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 propagacin (TP) entre acciones est dado por
la diferencia de intervalos de tiempo entre ellas.
Ejemplificamos a continuacin la distancia de tiempo de las propagaciones
de tipo A de nuestro ejemplo.
T P(A1A2) = t(t10 , t11 ) = 1
T P(A1A3) = t(t10 , t17 ) = 7

43

Accin

Tiempo de

Tiempo dis-

Tiempo

ocurrencia

cretizado

propagacin

de

t0 = 08:00 hs
A1

08:22 hs

t10

A2

08:24 hs

t11

B1

08:36 hs

t16

A3

08:37 hs

t17

B2

08:39 hs

t18

C1

08:40 hs

t18

B3

08:41 hs

t19

B4

08:42 hs

t19

C2

08:44 hs

t20

D1

08:46 hs

t21

C3

08:47 hs

t21

D2

08:49 hs

t22

D3

08:50 hs

t23

E1

09:03 hs

t28

E2

09:04 hs

t29

E3

09:05 hs

t29

F1

09:07 hs

t30

F2

09:09 hs

t31

E4

09:09 hs

t31

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 continuos de nuestro modelo en valores discretos, lo cual mejora notablemente la
performance del mtodo: ahora la distancia entre acciones propagadas est dada por la cantidad de intervalos entre ellas, es decir nmeros enteros, y no es
necesario calcular y luego comparar para cada una el tiempo transcurrido, en
horas, minutos y segundos.
A su vez, el hecho de haber utilizado para los clculos nicamente aquellas
acciones enmarcadas dentro de las definidas en la Etapa 1: Formacin de
datos. a. Definicin temprana de mltiples acciones propagadas le

44

ahorra al modelo el procesamiento de un nmero muy grande de registros, lo cual


genera una mejora de performance muy importante, a la vez que perfecciona la
calidad de los resultados, ya que al considerar para los clculos slo las acciones
propagadas se obtienen valores representativos de las acciones que al modelo
le interesan, que son aquellas que fueron disparadas por un potencial usuario
influenciador y replicadas por uno o varios usuarios distintos de la red.

3.5.

Etapa 3: Algoritmos de maximizacin

Como vimos anteriormente, el principal problema del algoritmo Greedy para


la bsqueda de usuarios influenciadores es su performance. Ms especficamente,
el hecho de tener que procesar en cada iteracin a todos los usuarios de la red
para determinar el alcance de contagio logrado por cada uno de ellos (esto es,
cuntos nodos que se encuentran inactivos cambian de estado si se activa dicho
nodo) resulta ser el principal obstculo en pos de un algoritmo eficiente. En
los puntos a. y b. de esta seccin detallamos dos mecanismos que proponemos
para resolver este inconveniente. Posteriormente, presentamos alternativas al
mecanismo tradicional de bsqueda de usuarios influenciadores que apuntan a
mejorar la calidad de los resultados obtenidos.
3.5.1.

a. Procesamiento nicamente de nodos con antecedentes de


contagio

A partir del aporte realizado en la Etapa 1. Formacin de datos a.


Definicin temprana de mltiples acciones propagadas, conocemos en
detalle cuales son las acciones que fueron propagadas del total de registros del
historial. Esto significa que podemos individualizar tanto a las personas que
iniciaron acciones que luego fueron propagadas (los llamaremos iniciadores),
como a aquellas que participaron del proceso de propagacin en las subsiguientes
etapas, ms 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 travs de su influencia,
pueden producir la mayor cantidad de activacin de nodos posible, el hecho de
conocer con exactitud quienes fueron los propagadores dentro de la comunidad
dado un historial de acciones nos permite, en esta tercera etapa, procesar solo
a esos usuarios, y no al total de la red. Esto significa que la red no necesita

45

ser recorrida en su totalidad para cada iteracin del algoritmo, sino que solo un
nmero reducido de nodos (aquellos que lograron transmitir un acto suyo a otra
persona) deben ser procesados en cada una de ellas.
Teniendo en cuenta que el nmero de acciones propagadas es un porcentaje
menor dentro de la totalidad de registros del historial y que los propagadores de
estas acciones en muchas ocasiones se repiten, la cantidad de nodos a procesar
por el algoritmo Greedy se reduce notablemente, haciendo factible su aplicacin
dentro de sets de datos de gran volumen, tal cual se presentan en la prctica.
En el siguiente ejemplo podemos ver los beneficios de aplicar este filtro previo
al procesamiento de los nodos:
Disponemos de una red con 25.942 nodos, y un historial de acciones con
1.815.560 registros, de las cuales 31.248 fueron propagadas. Si analizamos los
nodos origen de cada una de esas propagaciones, encontramos que participaron
un total de 2.720 usuarios distintos. De esta forma, y tal cual podemos observar
en la Figura 13, la cantidad de nodos a procesar por el algoritmo en cada
iteracin se reduce casi en un 90 %.

Figura 13: Grfico con el porcentaje de acciones propagadas del total de acciones del historial (izquierda), y el porcentaje de usuarios propagadores de la
comunidad (derecha).
3.5.2.

b. Procesamiento de nodos de forma agrupada

Ms all de haber logrado en la seccin anterior reducir notablemente la


cantidad de nodos a procesar en cada iteracin, podemos hacerlo an ms. Para
esto, nos valdremos de los beneficios de la tcnica de clustering.

46

El clustering es la tarea de agrupar en conjuntos (clusters) elementos de un


sistema, de forma que aquellos que se encuentran en un mismo cluster sean ms
similares entre ellos que con los elementos de los otros clusters. La definicin de
similitud es propia de cada proyecto, pudiendo estar dada por la comparacin
de un atributo de los registros, la combinacin de varios de ellos, o alguna otra
alternativa.
Utilizando este concepto, y tomando algunas de las premisas definidas en [7]
y [8], proponemos realizar una serie de modificaciones al algoritmo Greedy, las
cuales enunciamos a continuacin:
Agrupar a los nodos resultantes del filtro aplicado en a. Procesamiento
slo de nodos con antecedentes de contagio en una cantidad reducida
de clusters, de acuerdo a un criterio que explicaremos luego.
Procesar, en cada iteracin, un nico nodo por cluster elegido de forma
aleatoria, y calcular el valor de (S) que se obtendra si se incorporara
dicho 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 obtenido
en el paso anterior.
Incorporar al conjunto S a aquel nodo del cluster procesado que maximiza
el valor de (S).
De esta forma, como podemos ver en la Figura 14, la cantidad de nodos
procesados en cada iteracin se reduce a valores muy bajos, proporcional a la
cantidad de clusters que hayamos definido al comienzo de esta etapa.

47

Figura 14: Nodos procesados en funcin de la cantidad de clusters.


Continuando con el ejemplo de la seccin anterior, los 2.720 usuarios podran agruparse en 15 clusters distintos, cada uno con aproximadamente 180
usuarios. De esta forma, cada iteracin implicara recorrer primero los 15 clusters, y posteriormente 179 nodos ms (los hermanos de aquel que mayor valor
de (S) dio en el primer paso), lo cual da un total de 194. Esto implica una
reduccin de casi el 93 % con respecto a los nodos resultantes del filtro aplicado
anteriormente, y ms del 99 % con respecto al total de miembros de la red.
Un factor importante en el xito de esta propuesta radica en qu tan correcta
sea la definicin de similitud de elementos de un mismo cluster que realicemos.
Dado que el algoritmo procesa un nodo por cluster y toma el resultado a modo de referencia, el mismo debe ser representativo de los dems elementos del
conjunto. Por este motivo decidimos utilizar como factor de similitud la Matriz
de probabilidades de contagio entre los usuarios de la red. De esta forma, son
agrupados en un mismo cluster aquellos usuarios que tengan probabilidades de
contagio entrantes/salientes de valores similares, y desde/hacia un conjunto similar de usuarios, garantizando as que los nodos elegidos de forma aleatoria
brindan un valor de (S) representativo del cluster que los contiene. La eleccin
de este factor de similitud, entonces, nos permite suponer con un bajo nivel de
incertidumbre que todos los elementos de un cluster tienen un valor de (S) igual
o muy cercano al del nodo elegido aleatoriamente, permitiendo la aplicacin del
48

mecanismo propuesto sin afectar la calidad de los resultados y mejorando de


forma notable la performance, al computar un nmero de registros muy inferior
al original.
Matriz de probabilidades de contagio: en esta matriz de NxN, con N =
cantidad de miembros de la red social, se representan las probabilidades de
contagio desde y hacia todos los usuarios de la red. La misma contiene un
registro i por usuario, y en cada columna j se especifica la probabilidad de
que i propague una accin a j (definidas en 2. Probabilidad de contagio). Es
decir que cada fila tiene las probabilidades salientes, mientras que cada columna
tiene las probabilidades entrantes. De esta forma, la Matriz de probabilidades
de contagio ofrece al algoritmo de clustering una distribucin espacial que le
permite realizar los agrupamientos.
Por ltimo, durante el armado de la matriz se incorpora un proceso de normalizacin, mediante el cual se garantiza que la suma los valores de probabilidad
entrantes sean mayores o iguales a 0 y menores o iguales a 1.
Usuario A

Usuario B

Usuario C

Usuario D

Usuario E

Usuario A

0,00

0,01

0,04

0,15

Usuario B

0,20

0,08

0,62

0,21

Usuario C

0,00

0,41

0,00

0,00

Usuario D

0,37

0,00

0,14

0,06

Usuario 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 representadas en la matriz anteriormente definida. Tomando como referencia al usuario
A, 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

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 participacin de los usuarios

Un dficit del algoritmo Greedy es que para obtener el conjunto de nodos S se


basa exclusivamente en la probabilidad de contagio calculada en la etapa 2, y no
tiene en cuenta la frecuencia de participacin de los usuarios en la red, es decir
qu cantidad de acciones realizan. De esta forma, puede resultar seleccionado
un nodo con un alto nivel de actividad de la misma forma que uno que solo ha
participado en contadas ocasiones.
Esto genera dos situaciones indeseadas, las cuales enunciamos a continuacin
y para las cuales proponemos alternativas superadoras: por un lado, la posibilidad de que ante probabilidades de contagio similares, se elija un nodo con mucha
menor actividad que otro; por otro lado, el hecho de que se pueda elegir dentro
del conjunto final S usuarios que han realizado una sola accin, o un nmero
muy bajo de ellas, pero que las mismas se propagaron a un alto porcentaje de la
poblacin. Empricamente se ha comprobado que esta ltima situacin es muy
frecuente dentro del clculo de usuarios influenciadores utilizando el mecanismo
tradicional.
Proponemos, entonces, la inclusin de 2 factores adicionales al mtodo:
Ponderacin de la frecuencia de participacin: como mencionamos, el hecho de que la frecuencia de participacin no sea tenida en cuenta a la hora
de formar el conjunto de nodos S puede llevar a que resulte elegido un
nodo con baja actividad por sobre otro con una gran cantidad de acciones
en el historial, si es que el valor de (S) del primero es mayor, aunque la
diferencia sea pequea. Como podemos imaginar, en casos en los cuales
los valores de (S) son similares, resultara ms valioso que se seleccione
a aquel usuario que mas participacin en la red ha tenido.
Proponemos incluir un factor de multiplicacin a que pondere el resultado
de (S), dirimiendo de forma automtica, a favor de los nodos con mayor

50

actividad, aquellos casos en que el resultado de dicha funcin de propagacin sea similar. El valor de a para una persona ser igual a la cantidad
de acciones realizadas por ella, sobre el total de acciones realizadas por
toda la comunidad.
Adicionalmente, se permite al usuario final definir un nivel de influencia
de a en los clculos realizados por el algoritmo, al cual llamaremos h. Esto
significa que el usuario puede indicar si desea que la frecuencia de participacin (a) tenga ms o menos peso a la hora de seleccionar los nodos del
conjunto S, pudiendo incluso establecer que la misma no tenga influencia
alguna, es decir que no se tome en cuenta la frecuencia de participacin
de 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 numerosos casos prcticos estudiados, es frecuente que el conjunto final S incluya
nodos con muy baja actividad en la red, muchas veces con solo una o
muy pocas acciones registradas en el historial, en los casos en que la propagacin de las mismas es alta. Para evitar esta situacin, proponemos
establecer un umbral de actividad que permita definir un sub-conjunto
de personas a utilizar en el clculo de influencia, priorizando aquellas que
mayor actividad registran respecto de las que solo han tenido participacin activa en la red social en contadas ocasiones. De esta forma, se ofrece
al usuario final la posibilidad de definir qu porcentaje de las personas
con mayor actividad se tendrn en cuenta en los clculos. Si, por ejemplo,
en una red con 1.500 nodos, el usuario definiese trabajar con el 25 % que
mayor actividad registra, se tomaran los 375 nodos con mayor cantidad
de acciones propagadas, y se procesara y seleccionara a los miembros del
conjunto S considerando slo esos 375 nodos y no toda la red.
Esta restriccin es introducida previo al inicio del procesamiento del algoritmo, eliminando del set de nodos candidatos a todos aquellos que no
51

superen este umbral, de forma que no solo mejore la calidad de los resultados finales, sino tambin la performance del mtodo, que se ve beneficiada
por la omisin de un nuevo grupo de nodos, tal cual ocurriera en los puntos
a. y b. de esta seccin, y por lo tanto la posibilidad de trabajar con menor
cantidad de registros, lo cual se traduce directamente en menor cantidad
de iteraciones para encontrar el mejor nodo de cada ronda de seleccin.
Por supuesto, si el usuario define utilizar el 100 % de la red, no se produce
en esta etapa reduccin alguna del set de datos.

52

4.

Implementacin

4.1.

Plataforma desarrollada

Con el fin de llevar a la prctica las propuestas de mejora presentadas en la


Etapa III, se desarroll una plataforma de bsqueda de usuarios influenciadores
en cuya construccin se aplicaron todos y cada uno de los conceptos presentados
durante el desarrollo de la propuesta.
En sintona con el espritu de este trabajo, enfocado no solo en ofrecer un
algoritmo que brinde resultados de mayor calidad, sino tambin en involucrar
en el proceso al usuario final, se decidi desarrollar una aplicacin web, userfriendly, que facilite la participacin del mismo en las definiciones previas al
procesamiento.
A su vez, siguiendo la premisa planteada en [7] de poder disponer de una
plataforma escalable y dinmica, la aplicacin fue desarrollada en forma de template, manteniendo genrica la lgica central del proceso, de modo que resulte
sencillo adaptar orgenes de datos muy diversos sin demasiado esfuerzo adicional. En particular, para este trabajo se vincul una base de datos referida a la
red social Twitter, cuyo esfuerzo demand slo un 20 % del total de horas dedicadas a la aplicacin. Para lograr esta genericidad, el desarrollo fue dividido en
4 mdulos principales, los cuales detallamos a continuacin.
4.1.1.

1. Modelo de negocio

Contiene el core de la aplicacin:


Algoritmo Greedy: aqu se centra toda la lgica propia del algoritmo
Greedy para la bsqueda de usuarios influenciadores, como as tambin
la interaccin entre las distintas ramas de la aplicacin (clasificacin de
acciones, obtencin de probabilidades de contagio, discretizacin del tiempo, etc.) para generar el modelo que el proceso necesita.
Clasificacin de acciones: se encarga de clasificar todas las acciones de
acuerdo a las categoras definidas por el usuario, como as tambin de
identificar y ponderar los topics que se encuentran implcitos en dichas
acciones.
Clculo de probabilidades de contagio: obtiene las probabilidades individuales de contagio entre usuarios vinculados de la red.
53

Discretizacin del tiempo: implementa la discretizacin definida en este


trabajo, a la vez que permite calcular el tiempo de propagacin, en unidad
de intervalos de tiempo, entre acciones.
Clustering: se encarga de agrupar en sub-conjuntos a los usuarios que sern
parte de la bsqueda final de usuarios influenciadores.
Este mdulo contiene la lgica que cualquier adaptacin de origen de datos
compartir. En l se realizan las operaciones referidas a clasificar cada una de las
acciones del modelo de datos, se realiza la discretizacin del tiempo de acuerdo
a los parmetros definidos en la etapa 2.c, se calculan las probabilidades de
contagio entre usuarios de la red, se realiza el clustering de nodos propuesto en
la etapa 3.b, y se ejecuta el algoritmo Greedy que se encarga de elegir a los n
usuarios de mayor influencia en la red.
Como dijimos, la lgica aqu incluida es comn a cualquier origen de datos,
y no necesita ser modificada en caso de realizar un trabajo sobre un modelo
distinto al de Twitter (utilizado para este trabajo).
A continuacin presentamos un diagrama de clases del mdulo de negocio:

Figura 15: Diagrama de clases del modelo de negocio.


54

4.1.2.

2. Acceso a datos

Contiene la lgica para acceder a los datos del origen utilizado. Este mdulo
debe ser construido en su totalidad por el usuario, de acuerdo a la adaptacin
que se desea realizar. Debe disponibilizar al menos 3 conexiones bsicas que la
aplicacin utilizar como input:
Vnculos entre usuarios de la red.
Historial de acciones.
Informacin de los usuarios.
Adicionalmente, la aplicacin requerir 2 conexiones relacionadas a la lgica
de procesamiento del algoritmo Greedy:
Terms/Topics.
Discretizacin del tiempo.
Para el presente trabajo se decidi conectar con la aplicacin una base de
datos extrada de Twitter mediante el ORM Entity Framework 5.0.0. De
acuerdo al modelo de datos definido en la etapa III, las 5 conexiones requeridas
se mapean con las tablas de la base de datos de la siguiente forma:
Vnculos entre usuarios de la red [Relations].
Historial de acciones [Tweets].
Informacin de los usuarios [Users].
Terms/Topics [Terms].
Discretizacin del tiempo [DiscretizedTimeInterval].
Presentamos a continuacin un diagrama representando las entidades de
acceso a datos y sus relaciones, de acuerdo al ORM utilizado para la presente
aplicacin:

55

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


4.1.3.

3. Modelo de entidades

Este mdulo contiene tanto las entidades propias del modelo como las extensiones definidas por el usuario. A partir de cuatro entidades bsicas que el
algoritmo en este trabajo definido y los procesos involucrados necesitan, el usuario debe implementar las extensiones que se definieron durante el diseo de la
adaptacin a realizar, de modo que el algoritmo Greedy pueda ejecutar en el origen de datos utilizado toda la lgica genrica definida en el mdulo 1. Modelo
de negocio.
Detallaremos a continuacin las 4 entidades genricas del modelo, su significado dentro de la aplicacin y las extensiones realizadas para el trabajo sobre
la base de datos de Twitter.

56

IAction: Representa una accin del Historial de acciones modelo.


Est compuesta por los campos:
Id: identificador nico de la accin.
Date: fecha en que la accin fue realizada.
Para este trabajo se extendi esta interfaz mediante la declaracin de la
entidad TwitterAction, que incorpora informacin propia del modelo de
datos, como ser los campos Author, Text y Language, entre otros.
IActionType: Representa un tipo de accin, tal cual se definiese en la etapa
1.a Definicin temprana de mltiples acciones propagadas.
Est compuesta por los campos:
Weight: peso especfico de la accin propagada.
ActionTypeId: identificador del tipo de accin.
Y los mtodos:
Validate(): se encarga de validar si la instancia de una accin pertenece o no a ese tipo de acciones.
GetPredecessorAction(): busca y retorna la accin predecesora de
la actual, es decir aquella que inici la propagacin.
Para este trabajo se extendi esta interfaz mediante la declaracin de
las entidades ReplyActionType, RetweetActionType y TopicActionType, que hacen referencia a los tres tipos de acciones definidos en
la etapa 1.a, y se complet la implementacin de los mtodos 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 ubicacin espacial del usuario de
acuerdo a las probabilidades de contagio, que se utilizar en el proceso
de clustering.
57

Para este trabajo se exendi esta inferfaz mediante la declaracin de la


entidad User, que incorpora informacin propia del modelo de datos, como
ser los campos ScreenName, Location, FollowersCount y Language.
IUserRelation: Representa una relacin entre dos usuarios de la red.
Est compuesta por los campos:
Id: identificador nico de la relacin.
LeftUser: referencia al usuario A de la relacin.
RightUser: referencia al usuario B de la relacin.
IsBidirectional: indica si la relacin es o no bidireccional. En caso
de 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 declaracin de la
entidad UserRelation, que no incorpora informacin ni lgica adicional.
Presentamos a continuacin un diagrama de clases del modelo de entidades
definido para este trabajo, el cual incluye las entidades genricas que toda implementacin compartir, como as tambin aquellas propias del estudio sobre
la red social Twitter aqu implementado:

58

Figura 17: Diagrama de clases del modelo de entidades.


4.1.4.

4. Aplicacin Web

El mdulo web contiene el frontend de la aplicacin, con el cual el usuario


final deber interactuar para establecer los parmetros de bsqueda de usuarios
influenciadores, y ser quien entregue los resultados luego del procesamiento del
algoritmo Greedy.
La arquitectura de la aplicacin fue diseada utilizando el patrn MVC
(Model-View-Controller), y se puede dividir en dos mdulos principales:
Greedy: En l se enmarca el flujo de bsqueda de usuarios influenciadores.
Contiene 4 pantallas principales:
Seleccin de parmetros iniciales: permite al usuario final elegir
la cantidad de usuarios influenciadores a buscar, el peso del parmetro Frecuencia de participacin, y la cantidad de usuarios a utilizar
para el procesamiento (en % de acuerdo a su nivel de participacin

59

en la red social).
Seleccin de pesos especficos de tipos de accin: permite al
usuario asignar un peso a cada tipo de accin definido en la Etapa
1.a Definicin temprana de mltiples acciones propagadas.
Opciones avanzadas: permite al usuario elegir la cantidad de clusters a utilizar en el procesamiento, y la probabilidad de contagio
mnima para activar un nodo.
Resultados: ofrece al usuario los resultados de haber ejecutado el
algoritmo Greedy utilizando los parmetros definidos en las pantallas
previas. Se informa quienes son los usuarios influenciadores encontrados, y el alcance conjunto de su influencia (a qu cantidad de usuarios
llegan).
Soporte: Incluye documentacin de ayuda para el uso de la aplicacin, e
informacin acerca de la misma (autor, propsito, versin, etc).
A continuacin se muestran, a modo de ejemplo, dos pantallas de la aplicacin. En primer lugar, en la figura 18 se puede ver una de las pantallas de
configuracin, en la cual el usuario final puede definir sus propios valores para
cada uno de los parmetros de bsqueda, de acuerdo al propsito de su investigacin. En segundo lugar, la figura 19 ofrece los resultados luego de haberse
ejecutado el algoritmo Greedy con los parmetros previamente definidos.

60

Figura 18: Pantalla de configuracin de parmetros de la aplicacin web.

61

Figura 19: Pantalla con los resultados del algoritmo Greedy.

62

5.

Validacin

5.1.

Implementacin del modelo sobre un caso testigo

En la presente seccin describimos los resultados de aplicar el modelo sobre


un caso testigo. Tal cual detallaramos previamente, el origen de datos seleccionado fue la red social Twitter, dentro de un mbito reducido, limitado a un
grupo de cuentas relacionado a la industria cinematrogrfica.
Nos basamos en las 3 etapas principales del proceso de bsqueda de usuarios
influenciadores, ms los aportes presentados en este trabajo, para describir el
flujo de secuencias transitadas desde la definicin del modelo de datos hasta la
presentacin de los usuarios con mayor capacidad de influencia sobre la totalidad
de la red. Por ltimo, incluimos una breve comparacin respecto a los resultados
obtenidos al ejecutar la aplicacin sin las mejoras aqu propuestas.

5.2.
5.2.1.

Modelo de datos
Definicin del modelo de datos

De acuerdo a la estructura de datos de la plataforma seleccionada (Twitter),


y a la factibilidad de extraccin de informacin de la misma, se defini un modelo
de datos compuesto por 3 tablas principales, tal cual describiramos en la seccin
3 de este trabajo. Las mismas son la tabla Relations para representar el grafo de
relaciones entre usuarios de la red, la tabla Tweets para representar el historial
de acciones, y la tabla Users para representar la informacin personal de cada
usuario de la red.
Tal cual mencionramos, la relaciones en la tabla Relations son unidireccionales, ya que reflejan un vinculo de following de un usuario (follower) al
restante. Adicionalmente a la informacin que nos ofrece la plataforma Twitter,
se aadi 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 informacin proporcionada por la plataforma. Se destacan los campos Text, IsRetweet e InReplyToUserId, que son fundamentales para determinar si un registro en particular
pertenece a una determinada categora de acciones. El campo ActionType,
propio del presente trabajo, que nos permite categorizar cada instancia de una
accin (tweet) dentro de algn tipo de accin a definir en la etapa 1.a, completa

63

la tabla.
Por ltimo, la tabla Users contiene nicamente informacin extrada de la
plataforma, como el nickname del usuario en la aplicacin, su ubicacin geogrfica, la cantidad de seguidores, etc.
5.2.2.

Extraccin de datos

Tal cual se describiera en la Etapa III del presente trabajo, partiendo de


12 cuentas base se obtuvieron 4.877 relaciones entre 1.732 usuarios distintos. Se
obtuvieron a continuacin 117.916 tweets de dichos usuarios, la totalidad de los
ingresados por ellos a la plataforma entre el 30/7/2014 y el 24/8/2014.

5.3.
5.3.1.

Etapa 1. Formacin de datos


a. Definicion temprana de mltiples acciones propagadas

De acuerdo a los tres tipos de accin definidos previamente, se procedi a


clasificar la totalidad de los registros. Para esto, la aplicacin se vali de las
implementaciones del mtodo Validate() realizadas para ReplyActionType,
RetweetActionType y TopicActionType. Cada una de estas implementaciones define una lgica que permite determinar si la instancia de una accin
pertenece o no a ese tipo de accin.
Luego de procesar la totalidad de los registros de la tabla Tweets, el resultado fue el siguiente:
Tipo de accin

Cantidad de registros

Tweet Reply

11.419

Retweet

30.921

Topic

4.194

No class

71.382

Cuadro 10: Cantidad de registros por tipo de accin.


Como podemos ver, la clasificacin temprana de las acciones nos permite reducir 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 accin definido, con lo cual quedan excluidos del procesamiento mas del 60 % del total de
registros iniciales.

64

5.3.2.

b. Omisin de datos de entrada

Gracias a que la definicin de datos realizada logr alinearse a los tres principios enunciados en la propuesta de mejora (seccion 3.3.2), fue posible omitir
del proceso la fecha de inicio del vnculo formal entre los distintos usuarios de la
red. Repasamos a continuacin estas tres consignas, y detallamos de qu forma
se logra la mencionada alineacin.
En principio, la naturaleza de la red social estudiada (Twitter) cumple con
la consigna de ser masiva y pblica. De esta forma, las acciones realizadas por
sus miembros, y ms especficamente por aquellos de inters para este trabajo
(las figuras pblicas), son accesibles para cualquier integrante de la red social.
Ms an, la mayora de estas acciones logran viralizarse rpidamente y terminan
siendo conocidas por toda la comunidad, ms all de la existencia o no de una
relacin social entre ellos (en nuestro caso, ser follower del otro usuario). Por este
motivo podemos afirmar que no resulta necesario que dos personas mantengan
un vnculo formal para que uno de ellos logre propagar una accin, y por ende
ejercer influencia sobre el otro.
En segundo lugar, de los tres tipos de accin definidos, dos de ellos nos
garantizan la existencia del vnculo social entre los usuarios. Ellos son el Retweet
y el Tweet Reply: el hecho de que un usuario retwitee o comente el estado de
otro implica que lo conoce y que su accin lleg hasta l, ya sea de manera
formal o casual. Por otro lado, ms all de que las acciones de tipo Topic no nos
permiten realizar esta afirmacin, s podemos sostener la teora enunciada en
el prrafo anterior: sea de manera directa o por un canal alternativo, la accin
iniciada por un usuario logr llegar al restante, y de esta forma su influencia fue
ejercida.
Por ltimo, resulta evidente que el nivel de procesamiento se redujo al omitir
del clculo las validaciones correspondientes a la fecha de inicio del vnculo
formal entre los usuarios de la red.

5.4.
5.4.1.

Etapa 2: Probabilidad de contagio


a. Incorporacin de Topics

Tal cual mencionramos en la etapa 1.a, se encontraron 4.194 propagaciones


de tipo Topic. Durante la ejecucin del algoritmo se guardaron en un archivo
auxiliar todos los registros enmarcados en esta categora y sus acciones origen

65

(es decir, la accin que inici la propagacin). Luego de analizar los resultados,
pudimos comprobar que tanto las llamadas acciones masivas como los trminos
frecuentes haban sido debidamente excluidos por el algoritmo, a excepcin de
un nmero menor de registros. De esta forma y en sintona con el objetivo
perseguido en esta etapa, el subconjunto de acciones de tipo Topic creado por
la aplicacin qued conformado en su mayora por los llamados topics locales.
A continuacin se incluyen dos propagaciones de tipo topic local detectadas
por la aplicacin:

Figura 20: Accin de tipo Topic propagada desde el usuario @TrailersyEstren


al usuario @CINEMANIA_ES.

Figura 21: Accin de tipo Topic propagada desde el usuario @altapeli al usuario
@vecine.

66

5.4.2.

b. Ponderacin de las acciones propagadas

De acuerdo a la propuesta presentada, al momento de calcular las probabilidades de contagio entre usuarios vinculados de la red se aplicaron sobre todas
las acciones propagadas tres factores de ponderacin.
El primero de ellos refiere al criterio del usuario final. A modo de referencia, y utilizando un anlisis realizado al momento de adaptar el template para
el origen de datos de la plataforma Twitter, se definieron los pesos especficos
de cada uno de los tipos de accin, habilitando al usuario final la posibilidad de
modificar dichos valores en la primer pantalla de la aplicacin. Los valores de
referencia utilizados fueron:
Tipo de accin

Peso especfico

Tweet Reply

10

Retweet

15

Topic

De esta forma, las propagaciones de tipo Retweet se consideraron el mayor


ejercicio de influencia posible dentro del caso de estudio. En segundo lugar se
ubicaron las propagaciones de tipo Tweet Reply, y por ltimo las de tipo Topic.
El segundo factor de ponderacin utilizado fue el tiempo transcurrido entre
la accin original y su repeticin por parte de un usuario vinculado. Para formar
este multiplicador, la aplicacin se vali de los intervalos de tiempo calculados
en la etapa de discretizacin del tiempo, la cual explicaremos en la siguiente
seccin. Con el criterio utilizado, a mayor tiempo entre la accin original y su
rplica, menor el peso de la propagacin.
El tercer y ltimo factor utilizado fue la cantidad de contactos que replicaron la accin previamente. Para cada tipo de accin se defini un mecanismo
de bsqueda de propagaciones previas, de modo de poder determinar cuntos
usuarios replicaron la accin original antes de que el usuario estudiado decidiera
realizarlo. Se descartaron en este anlisis las repeticiones realizadas por usuarios
que no forman parte de su red de vnculos.
Luego de obtener los pesos especficos, y calcular a partir de ellos las probabilidades individuales de contagio, la distribucin de las mismas qued de la
siguiente forma:

67

Figura 22: Distribucin de probabilidades de contagio.


5.4.3.

c. Discretizacin del tiempo

A partir de las propagaciones detectadas en la etapa 1.a se procedi a realizar


la discretizacin del tiempo. Siguiendo la premisa de procesar solo las acciones
que forman parte de flujos de propagacin (es decir las llamadas acciones iniciadoras, y las acciones que repiten una accin iniciadora), se consideraron para
el clculo de intervalos de tiempo 46.534 de un total de 117.916 registros de
acciones.
El tiempo de procesamiento fue bajo, impulsado por la excepcin de ms
del 60 % de los registros, y los resultados, al haberse utilizado como parmetro de discretizacin un dato propio del modelo estudiado, garantizan una fiel
representacin y una adecuada distribucin de los intervalos de tiempo.
Finalmente, luego del procesamiento de las 46.534 acciones, el instante cero,
o intervalo inicial detectado por la aplicacin, a partir del cual se calculan los
tiempos de propagacin, correspondi al 30/07/2014 09:27 hs, y la amplitud de
los intervalos fue de 32 minutos.

68

BaseTime

IntervalLengthInMinutes

2014-07-30 09:27:07.000

32

Cuadro 11: Tabla DiscretizedTimeInterval luego del proceso de discretizacin.


A partir de los resultados obtenidos, la distancia de tiempo entre acciones
se calcula utilizando la amplitud de intervalo de tiempo aqu definida. Ejemplificamos con dos propagaciones del historial de acciones utilizado. La primera de
ellas tiene una diferencia de tiempo alta, lo cual lleva a que su peso dentro del
clculo de probabilidades de contagio sea bajo, mientras que la segunda se trata
de una propagacin de corto plazo, con lo cual tiene un peso significativo en la
probabilidad de contagio entre los usuarios involucrados.
Propagacin entre @fotogramas_es y @Dolby_Spain:
Tweet original: @fotogramas_es: Nos adentramos en el rodaje de #Lucy,
con Scarlett Johansson convertida en herona de accin 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 propagacin (en minutos): 9942
Tiempo de propagacin (en intervalos de tiempo): 310

Figura 23: Retweet de un estado, y su tiempo de propagacin.


69

Propagacin entre @elpalomitron y @Cinedepatio:


Tweet original: @elpalomitron: Hoy por fin se estrena #GuardianesDeLaGalaxia! Creis que es la peli del verano? http://t.co/N2PD8644jB
http://t.co/12kOkpLSol
Fecha del tweet: 14/08/2014 - 10:46 hs.
Fecha del retweet: 14/08/2014 - 12:13 hs.
Tiempo de propagacin (en minutos): 87
Tiempo de propagacin (en intervalos de tiempo): 2

Figura 24: Retweet de un estado, y su tiempo de propagacin.

5.5.
5.5.1.

Etapa 3: Algoritmos de maximizacin


a. Procesamiento nicamente de nodos con antecedentes de
contagio

Continuando con la premisa de procesar nicamente la informacin valiosa


para el modelo, en esta tercera etapa se decidi, en primer lugar, incluir en la
bsqueda de usuarios influenciadores slo a aquellos que hubieran sido participes
de acciones propagadas. Es decir, se excluyeron del proceso a los que podramos
llamar nodos pasivos.
Luego de aplicar este filtro, quedaron excluidos 1039 usuarios, lo cual significa un 59,98 % del total de usuarios de la red. Una vez ms, podemos ver
como la seleccin y utilizacin de slo aquellos nodos con informacin til al
70

modelo en estudio nos ahorra el anlisis de un gran nmero de registros, lo cual


representa una notable disminucin en el tiempo de procesamiento requerido
para completar la tarea.
5.5.2.

b. Procesamiento de nodos de forma agrupada

Calculadas las probabilidades individuales de contagio, se procedi a formar


los clusters mediante los cuales obtener a los usuarios con mayor poder de influencia sobre la red. Tal cual podemos ver en la Figura 25, la cantidad terica
ideal de clusters que nos genera el menor procesamiento es 25. Este clculo supone que la distribucin de nodos es pareja, es decir que todos los clusters tienen
la misma cantidad de nodos, lo cual en la prctica no sucede por motivos que
enunciamos a continuacin.

Figura 25: Cantidad de nodos procesados de acuerdo a la cantidad de clusters


utilizados.
Sabido es que el conjunto de usuarios que ejercen un grado de influencia
considerable sobre el resto de la poblacin es un porcentaje menor del total de
la red. Por el contrario, el conjunto de nodos pasivos o de bajo poder de influencia conforma la mayora de los miembros de la comunidad. Por este motivo, y
siendo que a la hora de realizar el clustering el factor de similitud utilizado es
la probabilidad de contagio entrante y saliente de cada usuario, estos nodos con
bajo poder de influencia suelen agruparse es un mismo sub-conjunto, generando
la existencia de un cluster de gran tamao cuyo valor promedio de probabilidad

71

de contagio saliente es muy baja. Al momento de procesar un nodo aleatoriamente 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-conjunto
sea elegido son practicamente cero, ya que como mencionamos la probabilidad
de contagio saliente promedio es muy baja. De esta forma, el algoritmo se evita
procesar el cluster que contiene la mayor cantidad de nodos agrupados, generando un ahorro de procesamiento mucho mayor al que tendramos si la distribucin
de nodos por cluster fuera pareja.
Para justificar lo anteriormente expuesto, exponemos los resultados de una
ejecucin del algoritmo Greedy para la bsqueda de 5 usuarios influenciadores,
utilizando 25 clusters. En primer lugar ensearemos la distribucin de nodos
por cluster, y a continuacin la cantidad de nodos procesados en cada una de
las 5 iteraciones.
Distribucin de nodos por cluster:
Cluster

Cantidad de nodos

Cluster

Cantidad de nodos

14

15

16

14

17

14

18

19

20

11

21

12

10

22

10

23

11

24

12

500

25

14

13

Como podemos ver, el cluster nmero 12 agrupa la mayor cantidad de nodos


de la red, todos ellos con probabilidades de contagio salientes de valor pequeo.
De esta forma, al elegir aleatoriamente un registro por cluster y calcular su
spread, difcilmente resulte seleccionado un nodo de este sub-conjunto. As, y
tal cual podemos confirmar con los valores de la siguiente tabla, el ahorro de

72

procesamiento es an mayor al obtenido tericamente.


Cantidad de nodos procesados por iteracin:
Iteracin

Nodos procesados

Porcentaje de la poblacin

39

2,25 %

27

1,55 %

26

1,50 %

30

1,73 %

32

1,84 %

Como vemos, la cantidad de nodos procesados en cada iteracin es muy baja,


no superando en ninguna ocasin el 3 % del total de la poblacin. De esta forma
el algoritmo Greedy deja de ser computacionalmente prohibitivo, mientras que
mantiene la calidad de los resultados.
5.5.3.

c. Frecuencia de participacin de los usuarios

En esta seccin evaluamos los resultados luego de ejecutar la aplicacin con


los 4 valores posibles de uno de los nuevos parmetros definidos en este trabajo,
llamado Participation frequency weight, el cual pondera la participacin de los
usuarios a la hora de agregar, en cada iteracin, un nuevo nodo al conjunto S.
Se comprob empricamente que los usuarios influenciadores elegidos se ubican, en el peor de los casos, dentro del 52 % de mayor actividad dentro de la red
(cuando el valor del parmetro es No). A continuacin detallaremos los resultados en una tabla que indica, para cada valor del parmetro, en qu posicin
se encuentran los usuarios elegidos (se considera la ubicacin en el ranking de
actividad del usuario peor posicionado del total de usuarios elegidos, es decir
aquel usuario del conjunto final S que menor cantidad de acciones realiz).

73

Participation

Posicin del usuario de S con

frequency weight

menor 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 cuestin ocupa la posicin A


en 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 presentadas
logran superar uno de los mayores dficits que el algoritmo Greedy tradicional
presenta, que es la frecuente seleccin de usuarios con muy baja actividad. An
cuando no se pondere la frecuencia de participacin de los usuarios, la propia
naturaleza del algoritmo implementado para esta tesis privilegia a los usuarios
con un nivel de actividad considerable.
Como dato adicional, cabe mencionar que independientemente del valor elegido para el parmetro de ponderacin de actividad, ciertos usuarios se repitieron en los resultados de todas a casi todas las corridas. Particularmente, la
cuenta AP El Sitio del Cine fue parte del conjunto final S en las 4 ejecuciones
realizadas (para los valores High, Medium, Low y No del parmetro Participation frequency weight). Esto nos demuestra la consistencia del modelo y reafirma
lo expuesto en el anterior prrafo, acerca del algoritmo y su caracterstica de
privilegiar aquellos nodos que mayor actividad registran.

5.6.

Comparacin respecto al modelo sin mejoras.

Con el objetivo de obtener una ltima confirmacin respecto de las bondades


del modelo propuesto, procedimos a realizar una ejecucin de la aplicacin eliminando todas las instancias de mejora propuestas en este trabajo, y compararla
contra una ejecucin de nuestro modelo. La cantidad de usuarios a obtener fue
de 5 en ambos casos, mientras que los parmetros de bsqueda en sta ltima
fueron los siguientes:
Ponderacin de la frecuencia de participacin: Medio.
Subconjunto de usuarios a procesar: Top 50 %.
74

Ponderacin de los tipos de accin:


Tweet Reply: 10.
Retweet: 15.
Topic: 2.
Cantidad de clusters: 25.
Peso mnimo para la activacin de nodos: 0,002.
En primer lugar merece ser destacado el tiempo de procesamiento obtenido
en cada una de las ejecuciones, realizadas sobre una computadora estandar de
escritorio, con un procesador de 4 ncleos y 6 GB de memoria RAM. Mientras
que la aplicacin base (sin las mejoras) demor 18 horas, 26 minutos y 52 segundos en finalizar, nuestra aplicacin lo hizo en tan solo 21 minutos y 10 segundos.
Esto se fundamenta principalmente en la cantidad de nodos procesados en cada
iteracin, los cuales detallaremos a continuacin:
Iteracin

Nodos

procesados

Nodos

procesados

(modelo base)

(modelo con mejoras)

1732

28

1731

34

1730

26

1729

29

1728

31

Como mencionamos en este trabajo, las mejoras de performance no tienen


razn de ser si se obtienen en detrimento de la calidad de los resultados. En
este punto, podemos confirmar que nuestro modelo cumple con la mencionada
condicin: mientras que mediante el mecanismo original se logr un alcance o
spread de 642 usuarios (sobre un total de 1732), para el modelo con las mejoras
implementadas este valor fue de 627.
Para finalizar, analizamos cada una de las cuentas elegidas en ambas ejecuciones a fin de verificar si el nuevo mtodo cumpla en priorizar aquellas con
mayor actividad en la red. Como resultado podemos confirmar que el objetivo
fue cumplido, obteniendo un total de 3.343 acciones entre las 5 cuentas, respecto

75

de las 562 alcanzadas con el mtodo original, lo cual representa un incremento


del 594 %.
Cuenta

Cantidad de acciones

Trailers y Estrenos

368

Atresmedia Cine

35

Actualidad Cine

125

Leandro Almeida

34

Solamente Cine

Cuadro 13: Cuentas obtenidas con el mtodo original.

Cuenta

Cantidad de acciones

Trailers y Estrenos

368

AP El Sitio Del Cine

775

Darwin-The Movie

919

mercedes ruiz

837

Caro

444

Cuadro 14: Cuentas obtenidas con las mejoras aplicadas.

76

6.

Conclusiones
En este trabajo nos propusimos analizar y mejorar los mecanismos utilizados

actualmente para la obtencin de usuarios influenciadores en redes sociales.


Luego de estudiar en profundidad el estado del arte, diversos puntos crticos
y falencias del mtodo fueron detectados, para los cuales planteamos una serie
de propuestas de mejora enfocadas en resolver las limitaciones encontradas,
optimizar la performance y mejorar la calidad de los resultados. Nos propusimos,
adems, idear un sistema que permita involucrar ms activamente al usuario
final, permitindole definir de forma dinmica sus patrones de bsqueda. Por
ltimo, desarrollamos una aplicacin que implemente las propuestas realizadas
y nos permita validar las mismas, a partir de los resultados obtenidos mediante
la utilizacin de un set de datos testigo.
En primer lugar, podemos concluir que el fruto de este trabajo es un novedoso
mecanismo que logra el objetivo de seleccionar, a partir de orgenes de datos muy
diversos, un conjunto de usuarios con alto grado de influencia sobre el resto de
la poblacin, respetando las premisas planteadas de lograr resultados de calidad
en tiempos de procesamiento computacionalmente razonables. No hubiera sido
aceptable optimizar la performance del proceso en detrimento de la calidad ya
probada del algoritmo Greedy.
A partir de las optimizaciones introducidas al modelo de datos original, los
criterios de conservacin de datos establecidos y la posibilidad de parametrizacin ofrecida y disponibilizada al usuario final, se logr reducir notablemente el
tamao de la informacin procesada. A su vez, la utilizacin de tcnicas de clustering en la etapa final del proceso permiti transformar el algoritmo Greedy,
computacionalmente prohibitivo en su versin original, en un procedimiento factible de ser utilizado en la bsqueda de usuarios influenciadores. En este punto
es importante destacar que sucesivas corridas, en las cuales no se modificaron
los valores de los parmetros de entrada, arrojaron resultados prcticamente
idnticos, confirmando que el agente aleatorio utilizado a la hora de elegir un
nodo por cluster no aporta ruido al proceso, gracias a la correcta definicin del
factor de similitud.
Por otro lado, tanto la definicin temprana de acciones como los parmetros
presentados en las etapas 2 y 3 cumplieron el objetivo de involucrar al usuario
final desde el comienzo. A diferencia de las herramientas tradicionales de anlisis

77

de datos, y particularmente las relacionadas a la influencia en redes sociales, sta


se acerc al usuario al brindarle la posibilidad de participar de forma activa en las
definiciones preliminares como as tambin modificar los patrones de bsqueda
y comparar los distintos resultados. Estos parmetros, a su vez, cumplieron
su principal tarea: por un lado el llamado Criterio del usuario final, al ser
modificado en corridas consecutivas, produjo distintas salidas, orientadas cada
una de ellas a los valores definidos para los tipos de accin del dominio; por otro
lado, pudimos comprobar empricamente que las propagaciones cercanas en el
tiempo tuvieran mayor peso que aquellas con un tiempo de propagacin alto,
tal cual se definiera el factor k; por ltimo, la Ponderacin de la frecuencia de
participacin y el Umbral de actividad cumplieron en priorizar a las personas
ms activas por sobre las pasivas, y eliminar del conjunto final S a aquellas que
no tuvieran un nivel mnimo de actividad, respectivamente.
La implementacin de la propuesta en una aplicacin user-friendly nos otorg una enorme facilidad para generar distintas corridas, modificando el valor de
los parmetros de entrada, y poder as contrastar los resultados obtenidos en
funcin de los esperados. Pudimos validar, de esta forma, que nuestra propuesta
cumpliera los distintos objetivos planteados. A su vez, el hecho de haber desarrollado la misma en forma de template dej abierta la posibilidad de adaptar, sin
demasiado esfuerzo adicional, nuevos modelos de datos obtenidos de diferentes
dominios, tanto para agregar validaciones al proceso como para iniciar nuevos
estudios sobre distintas plataformas (Facebook, Linkedin, etc.).
Por ltimo, la introduccin de la propagacin de tipo Topic result muy
valiosa en diferentes aspectos. No solo evit la tarea de eliminar los trminos
frecuentes del lenguaje, sino que permiti descubrir una gran cantidad de vnculos entre personas que, sin su inclusin, no hubieran sido posibles. Sin dudas este
concepto puede servir como puntapi inicial para futuros trabajos, motivo por
el cual consideramos que resulta uno de los aportes ms significativos de esta
tesis.

7.

Trabajo futuro
El desarrollo de esta tesis arroj, adems de valiosas conclusiones, una serie

de desafos e interrogantes que abren la puerta a nuevas investigaciones. Detallaremos a continuacin dos de los que consideramos ms valiosos y con mayor

78

potencial en el rea estudiada.


Como primer punto a destacar, vemos en el concepto de Topic un horizonte
de investigacin muy amplio, tanto en los mecanismos para obtener propagaciones de este tipo, como en su utilizacin en los algoritmos de bsqueda de
usuarios influenciadores. Particularmente, la posibilidad de elegir personas con
alto poder de influencia en una determinada rea, es decir personas influyentes
en un topic en particular, otorgara un enorme salto de calidad al mtodo. La
mayora de los actores interesados en los resultados de este tipo de trabajos, como por ejemplo las agencias de marketing, se veran enormemente beneficiados
por la posibilidad de orientar o dirigir an ms sus carriles de bsqueda.
A su vez, una deuda pendiente que deja este estudio es la inclusin de mayor
informacin personal de los usuarios de las redes sociales en los mecanismos de
bsqueda. Tal cual planteramos al comienzo de esta tesis, la popularizacin de
las redes sociales on-line, acompaada de los enormes avances tecnolgicos de
los ltimos tiempos han generado y disponibilizado a la comunidad muchsima
informacin referida a las personas que utilizan dichas plataformas. Sus gustos,
preferencias y la forma de relacionarse son hoy en da datos que pueden conocerse
de forma sencilla y con muy bajo esfuerzo. Sin embargo, dicha informacin an
no ha sido debidamente explotada, y consideramos que su inclusin al proceso
de bsqueda de usuarios influenciadores es el siguiente paso para generar un
mtodo todava ms poderoso.

79

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 Studio
Magazine, 2013.
[5] Francesco Bonchi, Influence Propagation in Social Networks: A Data
Mining Perspective, IEEE Intelligent Informatics Bulletin, 2011.
[6] Amit Goyal, Francesco Bonchi y Laks V. S. Lakshmanan, Learning Influence Probabilities In Social Networks, Third ACM International
Conference on Web Search and Data Mining, 2010.
[7] Wei Chen, Yajun Wang y Siyu Yang, Efficient Influence Maximization in Social Networks, 15th ACM International Conference on Knowledge Discovery and Data Mining, 2009.
[8] Wei Chen, Yifei Yuan y Li Zhang, Scalable Influence Maximization
in Social Networks under the Linear Threshold Model, 10th IEEE International Conference on Data Mining, 2010.
[9] Mario Cataldi, Luigi Di Caro y Claudio Schifanella, Emerging
Topic Detection on Twitter based on Temporal and Social Terms Evaluation, 10th International Workshop on Multimedia Data Mining, 2010.
[10] Usama M. Fayyad y Keki B. Irani, Multi-Interval Discretization of
Continuous-Valued Attributes for Classification Learning, International
Joint Conference on Uncertainty in AI, 1993.
[11] H. Liu, F. Hussain y C.L. Tan, M. Dash, Discretization: An Enabling
Technique, Data Mining and Knowledge Discovery, 2002.
[12] L. Mora y R. Morales, Modelling time series with data mining, MOISES Project of the CICYT, 2002.
[13] Adrien Guille y Hakim Hacid, A Predictive Model for the Temporal Dynamics of Information Diffusion in Online Social Networks, 21st
International Conference Companion on World Wide Web, 2012.
80

[14] Kazumi Saito, Masahiro Kimura y Hiroshi Motoda, Detecting


Changes in Information Diffusion Patterns over Social Networks, ACM
Transactions on Intelligent Systems and Technology, 2013.
[15] Shahab Mokarizadeh, Peep Kngas y Mihhail Matskin, Exploring
Information Diffusion in Network of Semantically Annotated Web Service
Interfaces, 2nd International Conference on Web Intelligence, Mining and
Semantics, 2012.
[16] Alice Albano, Jean-Loup Guillaume y Bndicte Le Grand, File
Diffusion in a Dynamic Peer-to-peer Network, 21st International Conference Companion on World Wide Web, 2012.
[17] Yanhua Li, Wei Chen, Yajun Wang y Zhi-Li Zhang, Influence Diffusion Dynamics and Influence Maximization in Social Networks with
Friend and Foe Relationships, 6th ACM International Conference on Web
Search and Data Mining, 2013.
[18] Seth Myers, Chenguang Zhu y Jure Leskovec, Information Diffusion and External Influence in Networks, 18th ACM International Conference on Knowledge Discovery and Data Mining, 2012.
[19] Adrien Guille, Hakim Hacid, Ccile Favre y Djamel A. Zighed,
Information Diffusion in Online Social Networks: A Survey, ACM SIGMOD Newsletter, 2013.
[20] Tiancheng Lou y Jie Tang, Mining Structural Hole Spanners Through
Information Diffusion in Social Networks, 22nd International Conference
on World Wide Web, 2013.

81

Das könnte Ihnen auch gefallen