Recomendación de usuarios de Twitter basada en la topología de red

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Recomendación de usuarios de Twitter basada en la topología de red"

Transcripción

1 Recomendación de usuarios de Twitter basada en la topología de red Integrante: Maximiliano Cabrera, José Manuel Vacas Director: Dr. Marcelo Armentano Co-Director: Dr. Ariel Monteserin Título: Ingeniería en sistemas

2 1 Introducción 1.1 Motivación 1.2 Propuesta 2 Marco Teórico y Conceptual 2.1 Descripción del dominio Microblogging Twitter Sistemas de recomendación Metricas 2.2 Trabajos relacionados Clasificación de usuarios Recomendación de usuarios Priorización de resultados 3. Solución propuesta 3.1. Clasificación de usuarios 3.2. Lista de candidatos principales 3.3. Priorización de resultados 3.4. Evaluación 3.5. Simulación 4. Implementación 4.1 Herramientas Struts Hibernate 4.2 Implementación y Diseño Data Transformation System Service Layer Simulación Poda Perfiles Arquitectura Pipe and Filter Algoritmo de recomendación Ponderación de recomendados Operaciones de conjuntos entre redes Priorización de resultados 5. Análisis de resultados 1

3 5.1 Unión 5.2 Interseccion Intersección con mentions (P6) Intersección con replies (P7) Intersección con Retweets (P8) 5.3 Recomendador de amistades Union Intersección 6. Conclusiones 6.2 Limitaciones 6.3 Trabajos Futuros Bibliografia 2

4 1 Introducción 1.1 Motivación Twitter es en la actualidad una de las redes sociales favoritas de los usuarios de internet, gracias a que los mantiene informados de lo que ocurre en cualquier parte del mundo en tiempo real. El éxito de Twitter ha sido tal que gobiernos y la iniciativa privada la han incluido en la lista de los medios de comunicación para difundir acciones e información pública. El uso que los usuarios de internet le han dado a las redes sociales, en particular a Twitter, y el impacto que ésta ha generado sobre la sociedad y su relación con el gobierno es tan grande como versátil [1]. Hoy en día, existe una diversidad muy amplia en contextos diferentes donde Twitter se hace presente. Algunas de ellas van desde un tweet que un usuario común hace en su perfil, hasta actos solidarios para realizar recaudaciones de todo tipo, personas que se ayudan, marketing político, historias de famosos, expertos que recomiendan artículos relevantes, medios que informan en tiempo real, es mucho más que la idea original de Twitter de mantenerse en contacto con familiares y amigos a pesar de la distancia y el tiempo. Se citan a continuación algunos de los usos más profesionales que se le ha dado a la red [2]: Como herramienta de marketing y publicidad Como herramienta informativa Como herramienta de negocios y ventas Como herramienta de aprendizaje Como herramienta de reclutamiento en Recursos Humanos Los creadores de Twitter aún se asombran de los usos creativos que la gente le da a la herramienta. Por ejemplo, una de las primeras acciones solidarias relacionadas con esta plataforma de microblogging se registró durante los incendios en San Diego, California, en octubre de 2007: vecinos con sus celulares "twitteaban" el estado del fuego cerca de sus viviendas alertando a otras personas, a los bomberos y a las autoridades; y se estima que esta información ayudó a la evaluación de los damnificados [3]. 3

5 El propio Twitter incluye un sistema de a quién seguir [4], pero la única información disponible acerca de la información usada para hacer la recomendación es las sugerencias se basan en varios factores, incluyendo las personas que sigues y las que ellos siguen [5]. Existe una gran versatilidad de trabajos en el área. En grandes rasgos, estos trabajos pueden dividirse en tres tipos: 1. aquellos que observan el contenido 2. aquellos que estudian las relaciones entre nodos 3. aquellos que toman un enfoque híbrido. Algunos ponen el foco en el ranking de usuarios de acuerdo a su influencia en la red completa[6]. Otros usan tanto la estructura de red followers/followees como los tweets publicados en la red como un medio para recomendar a las personas que comparten los mismos intereses relacionados con el contenido con el usuario que recibirá las recomendaciones [7]. Hannon et al. [8]. consideraron múltiples estrategias de generación de perfiles de acuerdo a cómo los usuarios son representados en un enfoque basado en contenido (sus tweets y los de los usuarios con los que se relacionan), un enfoque basado en sus relaciones (basados en los IDs de sus seguidores y/o de sus seguidos), así como enfoques híbridos. La gran cantidad de usuarios actualmente activos en la red, sumado a la gran variedad de intereses y usos que cada uno de estos le dan, hace que sea difícil para un miembro nuevo encontrar perfiles que le puedan resultar interesantes. Es por esto que un sistema de recomendación de usuarios es una herramienta sumamente útil para usuarios que utilizan Twitter como consumidores de información. 4

6 1.2 Propuesta La propuesta de este trabajo es evaluar estrategias de recomendación recolectando datos topológicos de la red, los cuales serán clasificados, procesados e interpretados para proveer al usuario un listado de posibles candidatos que puedan resultar de su interés. Nuestro enfoque íntegramente topológico considera, además de la red fisica de followers, otras acciones que pueden brindar información al recomendador, por ejemplo replies, mentions y retweets. Esta información será considerada como relación, y usadas como una mejora en las recomendaciones. El algoritmo de recomendación propuesto será evaluado con distintas topologías de redes, que permitirán realizar un análisis comparativo de cómo varía el comportamiento de un sistema de recomendación de acuerdo al dominio de entrada. Esto es, la medición de las posibles soluciones del sistema de recomendación mediante métricas, que nos ayudarán a medir la calidad del sistema, alterando y evaluando con diferentes topologías de entrada. La idea principal es, enriquecer la topología de red de conexiones directas de amistad entre usuarios (follower/followee), a través de información obtenida de otras topologías de interacción entre estos (reply, retweet, y mentions). 5

7 2 Marco Teórico y Conceptual En el marco de este capítulo describiremos el concepto de microblogging, la red social Twitter, y los diferentes tipos de sistemas de recomendación que existen para poder entender el dominio del problema del cual estamos hablando. 2.1 Descripción del dominio Microblogging El servicio de microblogging es un servicio que permite a los usuarios escribir textos breves y publicarlos por una variedad de medios, incluyendo mensajes de texto, mensajería instantánea, correo electrónico, aplicaciones ad hoc o la web. Los mensajes pueden ser vistos por el público o por un grupo específico que puede ser elegido por el usuario. La principal y más popular característica es su sencillez y sintetización, porque en la mayoría de sistemas de microblogging el tope de escritura son alrededor de 140 caracteres. En esos 140 caracteres podemos contar desde qué estamos haciendo, interactuar con otros usuarios mediante replies y mensajes privados, anunciar cosas, promocionarse, hacer o mantener amistades y networking, encontrar trabajo, etc. Estos mensajes que publica el usuario se muestran en su página de perfil y son también enviados de forma inmediata a otros usuarios que han elegido la opción de recibirlas. El usuario origen puede restringir el envío de estos mensajes sólo a miembros de su círculo de amigos, o permitir su acceso a todos los usuarios (público), que es generalmente la opción por defecto[9]. 6

8 En comparación con los blogs regulares, el microblogging satisface una necesidad de un modo aún más rápido de comunicación. De esta manera reduce el tiempo de los usuarios tanto en la lectura como la generación de contenido. Además de esto, provee una diferencia importante en la frecuencia de actualización. En promedio, un blog prolífico recibe actualizaciones una vez al día o cada pocos días, por otro lado un microblogger puede publicar varias actualizaciones en un solo día. Aunque la idea de microblogging venía de mucho antes que el nacimiento de Twitter en 2006, la famosa red social fue quien popularizó este servicio Twitter Twitter es el servicio de microblogging más popular sobre noticias, entretenimiento, películas, etc. En los últimos años, se ha convertido en una parte importante de nuestra vida cotidiana, proporcionando herramientas para el intercambio de información. A primera vista todo el mundo diría que se trata de una herramienta muy limitada porque lo que se hace en ella es básicamente enviar mensajes con un límite de 140 caracteres, similares a un mensaje SMS de un teléfono móvil[10]. Sin embargo, es habitual que empiecen a fluir inmediatamente los temas de conversación sobre nuevas ideas en todo tipo de campos, como gente interesante a seguir, noticias de última hora, tendencias en los medios sociales, en tecnología, en la moda, recomendaciones de todo tipo de cosas, etc. El primer tweet de la historia fue emitido por uno de sus fundadores, Jack Dorsey, hace ya más de 10 años, el 21 de marzo de 2006[10][11]. En la actualidad, sin la existencia de esta multitudinaria red, follower, follow, retweet, hashtag o mention serían palabras sin significado para cualquier lector. 7

9 Hoy en día, al leer alguno de estos términos, el lector rápidamente los relaciona con el mundo de Twitter. Pese a esto, y dado que a lo largo de este documento haremos uso de varios de los términos, se definirá un pequeño apartado para la terminología. Terminologia Uno de los conceptos más populares, por el uso extensivo que se le está dando en el mundo offline, en general, y por parte de los medios de comunicación, en particular es el de hashtag.el hashtag es una etiqueta precedida por el símbolo almohadilla o numeral (#) que permite clasificar y categorizar la temática de los mensajes que acompaña en Twitter. Por la brevedad de los mensajes en Twitter, los hashtags deben ser cortos, con el fin de dejar al usuario espacio para que escriba lo que quiere comunicar sobre el tema del que se trate, y fáciles de memorizar para fomentar la viralidad y la difusión entre usuarios, indicando claramente de qué tema se trata. Existen herramientas como Tagdef o Twubs que permiten registrar y definir la temática a la que se refiere el hashtag [12]. Un retweet es cuando se realiza nuevamente una publicación que otro usuario ha escrito, con el objetivo de difundirla entre sus propios seguidores de Twitter. Es una forma de amplificar la señal para que más personas escuchen el mensaje original. Un reply es una respuesta al Tweet de otra persona. Cuando dos personas están respondiendo entre sí, sólo las personas relevantes, como las que siguen a la persona que respondió y la persona en la conversación, verán la respuesta en su cronología. Una mención es un Tweet que contiene de otra persona en cualquier parte del cuerpo del Tweet. Visitar la página de perfil de otra cuenta en Twitter no mostrará tweets que los mencionen. Sin embargo, se puede buscar Tweets mencionando El subscribirse a una cuenta de twitter para recibir lo que esta publica es conocido como follow. Encontrar a quién seguir en Twitter, teniendo en cuenta que posee un 8

10 nivel de tráfico de más de 320 millones de usuarios activos en 2016 [9] se puede convertir en un desafío. Para poder mejorar estas búsquedas y reducir la sobrecarga de información, existen herramientas que pueden ser de gran utilidad conocidas como sistemas de recomendación Sistemas de recomendación Un sistema de recomendación es un sistema inteligente que proporciona a los usuarios una serie de sugerencias personalizadas (recomendaciones) sobre un determinado tipo de elementos (items). Los sistemas de recomendación estudian las características de cada usuario y mediante un procesamiento de los datos, encuentra un subconjunto de ítems que pueden resultar de interés para el usuario. Todos los sistemas de recomendación tienen como objetivo ayudar al usuario, realizando una serie de recomendaciones de forma que se simplifique al máximo la búsqueda que este debe realizar. Estos sistemas inteligentes estudian las características de los usuarios y mediante el procesamiento de estos datos son capaces de brindar a cada uno una sugerencia personalizada sobre un tema determinado. Existen diferentes formas mediante las cuales estos sistemas proporcionan sus resultados, entre ellos existen los SR con filtrado colaborativo, los no colaborativos o con filtrado basado en contenido, con filtrado demográfico, con filtrado basado en el conocimiento y con filtrado híbrido. Seguidamente se describe cada una de estas estrategias para generar recomendaciones: SR con filtrado colaborativo Un SR se dice colaborativo, o sistema de recomendación social [14] si usa la información conocida sobre las preferencias de otros usuarios para realizar la recomendación al usuario que la precise. Los SR colaborativos identifican usuarios cuyas preferencias sean similares a las de otros usuarios y recomiendan a los primeros 9

11 los elementos que hayan satisfecho a los otros; de esta forma, si dos usuarios U1 y U2, comparten el mismo sistema de valores y al usuario U1 le ha satisfecho un ítem i, probablemente este ítem también satisfaga al usuario U2 por lo que debería recomendarlo. Por ello, en estos SR la definición de medidas de similitud entre preferencias es un punto crítico. La situación puede ser representada como una matriz de usuarios e ítems, donde cada celda representa la valoración de un usuario con respecto a un ítem concreto. Así visto, el problema consiste en predecir valores para las celdas que estén vacías [13]. SR con filtrado basado en contenido Los SR con filtrado basado en contenido muestran las sugerencias al usuario según sus elementos de preferencia, este proceso de filtrado realiza una comparación entre estos elementos para así mostrar la recomendación lo más cercana posible a sus gustos, es decir, recomienda al usuario un elemento similar a otro que ya haya elegido antes. Por ejemplo, si un usuario es afín a los libros de historia, el sistema centrará sus recomendaciones en cualquier libro etiquetado con el tema de historia [14]. Estos sistemas estudian el perfil del usuario basándose en las características de los elementos que él mismo ha solicitado y ofrece las recomendaciones de acuerdo a su perfil. SR con filtrado demográfico Clasifican a los usuarios de acuerdo a su perfil y hacen las recomendaciones basándose en clases demográficas [15]. Las recomendaciones demográficas son similares a las recomendaciones basadas en el contenido con la excepción de que las similitudes están calculadas a partir de la utilización de información demográfica en lugar de valoraciones de los ítems [16]. Suelen tener en cuenta la clasificación que tiene el usuario según su información personal, estos sistemas agrupan a los usuarios de acuerdo a la edad, sexo, profesión y otras características en función de ofrecer recomendaciones atrayentes para los usuarios que pertenezcan al mismo grupo. 10

12 SR con filtrado basado en el conocimiento Analizan la información acerca de cómo un elemento compensa las necesidades de los usuarios y establece relación entre esas necesidades y las recomendaciones. Mientras más información se tenga sobre las necesidades del usuario, más precisas serán las recomendaciones y más se ajustarán a sus gustos. Los sistemas de recomendación basados en el conocimiento pretenden profundizar en el conocimiento sobre los usuarios y los ítems -mayoritariamente de dominio complejo- para la elaboración de recomendaciones que encajen de forma adecuada con los requisitos del usuario. Un caso de dominio complejo pueden ser los servicios financieros o cámaras digitales en donde no es suficiente con establecer propiedades del ítem o producto, sino que se tienen que tener en cuenta otros aspectos como pueden ser la experiencia o expectativas del usuario en el dominio a tratar por el sistema de recomendación [14]. SR con filtrado híbrido Los sistemas de recomendación híbridos combinan diferentes métodos de recomendación, o bien para eliminar problemas específicos de un sistema en concreto, o para aumentar la precisión de las recomendaciones. Si bien añade complejidad al sistema de búsqueda, estos maximizan la eficiencia de los resultados mostrados a los usuarios. Típicamente los sistemas de recomendación de filtro colaborativo son combinados con otros sistemas de recomendación para paliar el problema del arranque en frío. El arranque en frío (en inglés : cold start), es un problema potencial de los equipos basado en sistemas de información, que implican un grado de automatizado de datos de modelos. En concreto, se refiere a la cuestión donde el sistema no puede extraer inferencias para los usuarios o temas sobre los que aún no ha reunido suficiente información.[17] No obstante, los otros sistemas de recomendación también pueden ser combinados [14]. Para tener un valor cuantitativo de la calidad de nuestro sistema de 11

13 recomendación, y así, por ejemplo, realizar comparaciones entre ellos, necesitamos tener herramientas que midan la calidad de dichos sistemas de recomendación. Estas herramientas llamadas métricas, nos permiten cuantificar cuán efectivo es nuestro sistema Metricas Hay múltiples formas de medir la calidad de recomendación generada por un algoritmo, dependiendo de lo que se busque optimizar. Dentro de esta variedad es útil distinguir, en primer término, entre las métricas de error y las métricas de ránking. Las métricas de error se centran en las puntuaciones que el recomendador predice, de forma que miden qué tan cerca ha estado la puntuación predicha respecto a la puntuación real que el usuario ha dado al ítem objetivo. Las métricas más comunes de este conjunto son Mean Absolute Error (MAE), definida como la media de la diferencia absoluta entre los ratings predichos y los reales; y Root Mean Squared Error (RMSE), igual que la anterior pero tomando el cuadrado de las diferencias (para acentuar los valores más grandes) y la raíz cuadrada del promedio. Por otro lado, las métricas de ránking sólo prestan atención al orden en el que los ítems han sido recomendados, independientemente de la puntuación que el algoritmo ha calculado. Para este fin se toman métricas que desde hace tiempo se vienen desarrollando en el campo de la Recuperación de Información para evaluar sistemas de búsqueda. Dentro de este conjunto cabe distinguir tres tipos principales de métricas, dependiendo del objetivo que se busque optimizar, métricas de acierto, de diversidad y de novedad. 12

14 Metricas de error MAE Una de las métricas ampliamente utilizadas dentro de las métricas de errores es el Error Absoluto Medio, o mayormente conocido por su acrónimo MAE (Mean Absolute Error)[10]. Esta métrica calcula la suma de la diferencia entre la calificación del usuario y la calificación prevista y lo divide por el número de ítems considerados. M AE = 1 Bi bk Bi r i (b ) k p i (b ) k A partir del error absoluto medio se crearon algunas variantes. Algunas de ellas son, el error cuadrático medio MSE (Mean Squared Error), RMSE (Root Mean Squared Error) y NMAE, conocido como Normalized Mean Absolute Error, o MAE Normalizado[18]. M SE = 1 B i bk Bi (r i (b k) p i (b k) ) 2 La medida de error cuadrático medio enfatiza los grandes errores al cuadrar cada error individual, como se muestra en la ecuación anterior. RMSE se define simplemente como la raíz de MSE. El MAE normalizado o NMAE es el error absoluto medio, multiplicado por un factor de normalización σ para normalizar el valor con respecto al rango de valores de clasificación. Esta normalización se realiza con el fin de permitir comparaciones entre conjuntos de datos. 1 N MAE = σ MAE = MAE r max r min 13

15 Metricas de ranking Para el entendimiento de las métricas de ranking, se definirá lo que llamamos Matriz de confusión. La Tabla 1, define cuatro conceptos fundamentales para dichas métricas. Tabla 1. Matriz de confusión Real\Predicción Negativo Positivo Negativo a b Positivo c d a es el número de predicciones correctas de que una instancia es negativa. b es el número de predicciones incorrectas de que una instancia es positiva. c es el número de predicciones incorrectas de que una instancia es negativa. b es el número de predicciones correctas de que una instancia es positiva. Una instancia negativa, es un usuarios perteneciente a la lista de recomendación final, para el cual el usuario no tiene interés en seguir. Una instancia positiva, es un usuario perteneciente a la lista de recomendación final, para el cual el usuario tiene interés en seguir, lo que también llamamos acierto. True positive (TP): es la proporción de casos positivos que fueron correctamente identificados. T P = d c+d False positive (FP): es la proporción de casos negativos que fueron incorrectamente identificados como positivos. P F = b a+b 14

16 True negative (TN): es la proporción de casos negativos que fueron correctamente clasificados. T N = a a+b False negative (FN): es la proporción de casos positivos que fueron incorrectamente clasificados como negativos. F N = c c+d Acierto: evalúan el grado de acierto de la recomendación realizada por el algoritmo. Observa los primeros ítems recomendados por el algoritmo y calculan la proporción de ítems recomendados que gustan al usuario. Entre las métricas más utilizadas de ranking se encuentran Precisión en N, Recall en N y ndcg, entre muchas otras. Considerando dos conjuntos, usuarios recomendados U R y los usuarios esperados U E, como indica la Figura 1: Figura 1. Diagrama de Venn de usuarios 15

17 Se pueden definir precisión como la fracción de usuarios recomendados que han resultado ser relevantes para el usuario objetivo [19]. Es inversamente proporcional al grado falsos positivos (usuarios que deberían ser excluidos, pero en su lugar son incluidos). P = Recomendados Esperados = U U U U Recomendados Encontrados U Recomendados Precisión en N: Precisión en primeros N usuarios recomendados. A diferencia del recall, no se hablará de la precisión sin asignar un valor a N. U Recomendados con ranking <= N U P (N) = Esperados N = U Encontrados N Recall Similar a Precisión, representa la fracción de usuarios relevantes para el usuario que han sido incluidos en la recomendación al mismo [19]. Mide la capacidad de recuperación del algoritmo. Es inversamente proporcional al grado de falsos negativos (usuarios que deberían ser incluidos, pero en su lugar no son alcanzados o bien son excluidos). R = Recomendados Esperados U = U U U U Esperados Encontrados Esperados Recall en N: Recall en primeros N usuarios recomendados. Cuando se refiera al Recall sin especificar un valor de N, será al máximo obtenido al estudiar el total de los usuarios alcanzados. R (N) = Recomendados con ranking <= N Esperados U = U U U U Esperados Encontrados Esperados 16

18 CG La ganancia acumulada (CG) no incluye la posición de un resultado en la consideración de la utilidad de un conjunto. De esta manera, se calcula como la suma del total de los pesos Wi de los elementos. Para una posición p, se evalúa CG hasta p como: CG p = p w i i=1 DCG La ganancia acumulada descontada DCG (discounted cumulative gain) depende de 2 suposiciones, Los documentos más relevantes son más útiles cuando aparecen antes en la lista de resultados. Los documentos de mayor relevancia son más útiles que los menos relevantes, que a su vez son más útiles que los documentos no relevantes. De esto, surge la premisa de que los ítems más relevantes que aparecen en una posición lejana, respecto de las primeras posiciones, deben ser penalizados. Esta penalización reduce el valor de puntuación logarítmicamente a la posición en que se encuentra el elemento. DCG p = p i=1 w 2 i 1 log 2(i+1) NDCG La ganancia acumulada descontada normalizada(normalized DCG), nos da una métrica cuyo valor puede ser comparable con otras métricas, ya que es normalizado a un valor probabilístico. Admite además la distinción de diferentes grados de relevancia (a diferencia de métricas como precisión y recall, que consideran relevancia binaria) [20]. 17

19 Se basa en la relevancia de los artículos recomendados. Para ello, se calcula primero la fórmula DCG, opcionalmente sobre un máximo de p elementos (DCG@p). Este valor obtenido debe compararse con el ideal (IDCG o IDCG@p), que se obtiene de la misma forma que DCG pero ordenando los elementos relevantes de mayor a menor preferencia. ndcg p = DCG p IDCG p 2.2 Trabajos relacionados En este apartado, veremos algunos trabajos relacionados, los cuales se tuvieron en cuenta para obtener conceptos e ideas para el desarrollo de la tesis. Principalmente haremos hincapié en los trabajos que aportaron al desarrollo del algoritmo de recomendación. A continuación se citará un resumen por tópicos de los temas tratados en dichos trabajos Clasificación de usuarios Para la clasificación de usuarios, se compararon dos trabajos con diferentes enfoques. Por un lado, el trabajo de Tinati et al. [21], en el que se discute cómo el trabajo de la topología de la influencia de Edelman (TOI) proporcionó el trabajo base para que un nuevo modelo de clasificación fuera producido. Por otro lado, el trabajo presentado por Armentano et al.(2012)[23] en el que se propone una clasificación más reducida, con tres tipos de usuarios. Este último enfoque fue desarrollado como parte de este trabajo. En Tinati et al. [21], Edelman sostiene que las categorías tradicionales de personas influyentes en un entorno off-line corresponden a una serie de factores sociales como la autoridad, la riqueza o el estado de la celebridad. Sin embargo, internet está ofreciendo 18

20 una nueva plataforma donde cualquiera, con las herramientas de publicación adecuadas, tiene igualdad de oportunidades para tener influencia, conversar y tener un punto de vista - independientemente de su estatus social, profesión o ubicación [22]. Edelman proponen 5 categorías de usuarios: Idea Starter Estos pueden ser considerados como individuos que comienzan un meme conversacional. Tienden a estar muy comprometidos con los medios de comunicación, tanto on-line como off-line. Utilizan múltiples fuentes de medios sociales, pero tienen una compleja red de relaciones, especialmente en línea. Como resultado de esto, su red de conexiones suele ser limitada, pero esto asegura que las conexiones son de alta calidad. Aunque un Idea Starter puede no ser el que tiene la "idea brillante" ellos son los que inician la conversación, y debido a sus conexiones fiables, están en un ambiente fértil ideal para que esta crezca. Amplifier Estos pueden ser considerados como individuos que agrupan múltiples pensamientos y comparten ideas y opiniones. Los amplifiers prosperan compartiendo opiniones de otros y disfrutan de ser los primeros en hacerlo. Tienen una red grande de conexiones y son de confianza dentro de su comunidad. Aunque no sintetizan la información que se comparte, tienden a ser los replicadores del conocimiento. Los amplificadores tienden a ser los individuos que forman parte de una pequeña red confiable de ciertos iniciadores de ideas, tomando sus ideas originales y compartiendolas con una audiencia más grande y visible. Debido a este proceso, existe el riesgo de que los iniciadores de ideas lentamente se conviertan en amplificadores debido a una mayor exposición. 19

21 Curator Estos pueden ser considerados como un individuo que usa un contexto más amplio para definir ideas. Los curators tienden a ofrecer un nivel de transparencia más allá de los Idea Starter y Amplifier. Al seguir el camino de la conversación, tienen un impacto en la manera en la que la conversación toma forma y se propaga. Toman las ideas de los Idea Starter y Amplifiers y las validan, cuestionan o rechazan. Son los lazos que se forman entre ldea Starter y Amplifier, uniendo las ideas para ayudar a aclarar y dirigir el tema de la conversación. Los Curators están conectados a una gran audiencia y a menudo recogen información fuera de su comunidad primaria de interés - adaptando la información a su círculo de redes de interés. Comentator Estos pueden ser considerados como individuos que detallan y refinan ideas. Los Commentators agregan o adaptan el flujo de la conversación, añadiendo sus propias opiniones o ideas, pero sin llegar a estar demasiado inmerso en la conversación. A diferencia de las otras categorías, Los Commentators no buscan el reconocimiento ni quieren aumentar su estatus, solo participan en algo en lo que creen fuertemente. Quieren compartir la conversación no para el auto-beneficio. Viewer Estos pueden ser considerados como individuos que toman pasivo interés en la conversación. Estas son las conexiones en el que sólo están conectados para observar en lugar de contribuir a la conversación. Sin embargo, aunque no estén activos, todavía se reflejan en el TOI; mientras que los Viewers no comparten ni crean información on-line, consumen grandes cantidades de información y la comparten con su red off-line. El trabajo propuesto por Armentano et al.(2012)[23], básicamente se consideran dos factores para la clasificación de un usuario U x. La cantidad de seguidores que este tenga (followees), y la cantidad de usuarios que lo siguen (followers). 20

22 Este enfoque fue considerado como base del algoritmo de recomendación de usuarios de nuestro trabajo (el cual se detalla en el capítulo 3), principalmente debido a que nuestro enfoque está centrado en la topología de la red, siendo que la clasificación propuesta en [23] puede ser realizable con estos datos. Para la clasificación propuesta por Edelman [21], es necesario el uso de contenidos de la red, ya que por ejemplo, para clasificar un usuario como Curator, se requiere el análisis de tweets. Por lo que consideramos no aplicable a nuestro trabajo Recomendación de usuarios Desde hace varios años la recomendación de usuarios a seguir es un tópico importante, por lo que ha sido bastante analizado. Trabajos como [6,24] utilizan un enfoque basado en el ranking de los usuario y su influencia en el total de la red (ej: cantidad de followers), sin embargo este tipo de propuesta no toma en consideración los gustos específicos de los usuarios. Otros trabajos se enfocan en el contenido de los tweets[25] para encontrar usuarios con gustos similares pero tienen la desventaja de necesitar contar con los tweets para su análisis. En contraste con estos el trabajo propuesto en [23] propone un algoritmo basado en proximidad dentro de la red, teniendo en cuenta las características sociales de esta y tomando las relaciones entre usuarios follower/followee. Esto permite acortar el rango de posibles usuarios a recomendar basados en la premisa de que el usuario objetivo sigue a usuarios que le parecen interesantes. De esta manera es posible realizar una recomendación basada solamente en características topológicas de la misma y tomando en cuenta los gustos de cada usuario. En nuestro caso, además, permite abstraerse a otras relaciones entre usuarios, como mentions o retweet. 21

23 2.2.3 Priorización de resultados Para la priorización de los resultados, existen diversos trabajos que estudian cómo ponderar los ítems. Si bien esta etapa depende de las características de los ítems que queramos priorizar, y cómo queremos hacer la priorización, existen muchos trabajos que nos pueden ayudar a realizar la priorización de acuerdo a nuestros objetivos. El trabajo presentado en [23] tiene como objetivo demostrar que las métricas para la clasificación de los usuarios populares en Twitter, no son buenas para ranquear recomendaciones de los usuarios que el usuario objetivo podría estar interesado en seguir. Aquí se propone recomendar Information sources, se suponen que este tipo de usuarios tendrá muchos seguidores y que seguirán a pocas personas. Si el usuario U x no tiene followees, entonces sólo el número de seguidores se considera sin cambiar el significado de la ponderación. La siguiente ponderación es propuesta como base para comparar con otras métricas, y tiene como finalidad dar un puntaje mayor a aquellos usuarios que contengan mayor cantidad de followers. i followers(x) ω f (x) = i followees(x) En Hannon et al [8] se compara el uso de perfiles de usuarios basados en el contenido de sus tweets, el de sus followers y followees con perfiles basados en relaciones llegando a la conclusión de que las segundas obtienen igual o mejor precisión para el caso estudiado. 22

24 3. Solución propuesta En este capítulo, ya teniendo los conocimientos necesarios para entender una solución a la problemática planteada en el primer capítulo y los objetivos de este trabajo, se plantea una solución, haciendo hincapié en los detalles a nivel conceptual. Como solución a la problemática planteada, se propone el diseño e implementación de una herramienta que permita evaluar estrategias de recomendación recolectando datos topológicos de la red. Su funcionalidad principal puede dividirse en cuatro grandes etapas que se describen a continuación Clasificación de usuarios A diferencia de otras redes sociales, en Twitter, ha sido demostrado que el 22.1% de las relaciones son recíprocas [10]. En consecuencia el 77.9% son unidireccionales. El estudio también demostró que el 67.6% de los usuarios no son seguidos por ninguno de los usuarios que ellos siguen. Estos son claros indicadores de que estos usuarios probablemente usen twitter como una fuente de información más que una red social. Muchos usuarios solo publican información acerca de un tema particular, como deportes, películas, música o un banda de rock. Estos usuarios pueden ser considerados como fuentes de información o broadcasters. En contraste, la gente que usa twitter para obtener información acerca de algo en particular, como forma de RSS reader, registrándose como seguidores de sus artistas favoritos, celebridades, bloggers o programas de televisión. En Armentano et al. (2013) [8] se propone una clasificación sobre los usuarios de la red basados en el uso que estos le dan a la misma. Information Seekers/buscadores de información (IK): Como se explicó anteriormente, estos usuarios usan la red en busca de información de algún interés específico. 23

25 Information Source/fuentes de información (IS): Gracias a que usuarios usan la red en busca de información de interés, existen usuarios que brindan esa información para que otros puedan leerla. Friends/amigos (FS): El tercer tipo de usuario, le da un uso similar al de otras redes sociales (como Facebook), donde la mayor parte de sus conexiones son amistades. Estos usuarios suponen una importante vía de comunicación con sus familiares y amigos de cualquier parte del mundo. Por lo cual lo usan la red como un canal de comunicación. Si bien existen numerosas y diferentes clasificaciones de usuarios, dependientes de gran cantidad de variables, en este caso, y dado la limitación de la topología de la red, se optará por esta clasificación, esperando un impacto positivo en la recomendación final de usuarios. Para dicha clasificación, se calculará una función UC (User Clasificator), que podemos distribuir entre tres valores para dicha clasificación. followers(u) followees(u) f ollowers(u) + f ollowees(u) +1 U C(u) = 2 Esto genera un índice en el intervalo [0,1] identificando a los Information Sources como usuarios con un valor cercano a 1 y a usuarios con un valor más cercano a 0 como Information Seekers. Basados en este índice, y bajo las cotas 1 y 2 se definirá la clasificación del usuario mediante: 24

26 Tabla 2. Cotas inferiores y superiores para la función UC User \ UC(u) > = α 1 < = α 2 IK FS IS Lista de candidatos principales Para recomendar usuarios en twitter, primero necesitamos un conjunto de candidatos viables dentro de la red. Por cuestiones de simplificación se explicará el método empleado para explorar la red basado en followers/followees. Cada usuario, independientemente del tipo de uso que haga de la red, tiene conexiones que influyen directamente en su perfil, las cuales se define como el conjunto de conexiones salientes con nivel de profundidad uno, o también llamadas conexiones directas, para este caso llamados followees. El algoritmo para reunir usuarios candidatos a recomendar al usuario objetivo user U T, está basado en la siguiente hipótesis [13]: Los usuarios seguidos por los seguidores de los usuarios seguidos por U T son posibles candidatos a recomendar para U T. En otras palabras, si un usuario Uf sigue a 25

27 un usuario que es también seguido por U T, entonces otras personas seguidas por uf pueden ser de interés para U T. Dada la Figura 2, aplicaremos dicho algoritmo para el usuario objetivo U T = 0. Figura 2. Red de followees/followers de profundidad 3 26

28 Formalmente, la búsqueda de usuarios candidatos para recomendar se realiza acorde a los siguientes pasos [11]: 1. Iniciar con el usuario objetivo U T, obtener la lista de usuarios que el/ella sigue, llamaremos a esta lista S. Figura 3. Cálculo de S en red de followees/followers 27

29 Luego de aplicar el primer paso, la lista S, definida por los usuarios que el nodo 0 sigue S= {1,2,3}. 2. Por cada elemento en S obtener sus seguidores, llamaremos a la unión de toda esta lista L. Figura 4. Cálculo de L en red de followees/followers 28

30 La lista resultante L, definida como la unión de los seguidores de cada elemento en S. L = {5,4,6,7,8,8,9} (Lista con elementos repetidos). 3. Para cada elemento en L obtener sus usuarios seguidos, llamaremos a la unión de todos sus elementos P. Figura 5. Cálculo de P en red de followees/followers 29

31 La lista de usuarios P = {1,2,3,10,12,12,14,13,13,15,16}. Luego el último paso, consta de quitar aquellos usuario que el usuario objetivo ya sigue. 4. Excluir de P aquellos usuarios que el usuario objetivo ya sigue. Llamaremos al resultado, lista de candidatos R. Figura 6. Cálculo de R en red de followees/followers 30

32 Quedando la lista final como R = {10,12,12,14,13,13,15,16} La lista resultante, si bien no tendrá elementos repetidos, R se muestra a modo de ver que los elementos que se encuentran repetidos, serán usados para aumentar el puntaje de dicho nodo. El razonamiento detrás de esta hipótesis es que el usuario objetivo es un buscador de información que ya ha identificado algunos usuarios de interés actuando como fuentes de información, quienes son sus seguidos. Otras personas que también siguien algunos de los usuario de este grupo ( ejemplo: suscriptores de algunos de los mismos fuentes de información) tienen intereses en común con el usuario objetivo, podrían descubrir otros relevantes fuentes de información en el mismo tema, los cuales se convertirán en sus seguidos Priorización de resultados El orden en que se presentan los resultados es un factor muy importante, ya que impacta directamente en la calidad del recomendador. Es altamente deseable que las recomendaciones más interesantes al usuario, se presenten en las primeras posiciones. Tal es el grado de importancia del orden de los elementos, que existen métricas que ayudan a tener un parámetro sobre este orden. Una de ellas es DCG, que penaliza los elementos relevantes que aparecen en posiciones lejanas a las primeras. Cada tipo de usuario, según la clasificación anteriormente mencionada, tiene interés en diferentes tipos de usuarios. Así, usuarios buscadores de información, estarán más interesados en fuentes de información. De esta manera podemos establecer un orden en la lista de recomendación, dependiendo del tipo de usuario objetivo. Es decir, si a un usuario buscador de información se le presenta dos ítems clasificados como IS e IK, se presentará en primer lugar el usuario IS. Ahora, Cómo se priorizará si dos ítems tienen la misma clasificación? Para decidir qué ítem priorizar, se utilizará un sistema de score para cada ítem presentado al usuario. Es decir, que cada ítem tendrá asociado un peso el cual dependerá de algunas variables recolectadas de la topología de la red. El hecho de que el algoritmo esté basado meramente en la topología de la red, sin analizar contenido de los tweets o el perfil del usuario, pone una restricción en la 31

33 información que el algoritmo puede procesar. Sin embargo, existe un número considerado de variables que se pueden extraer desde la topología de red. Muchos algoritmos aplican relevancia sobre los datos de los ítems. Llamamos relevancia al puntaje por el cual el algoritmo prioriza el ordenamiento de los ítems a recomendar. En este caso, la relevancia está fuertemente ligada al tipo de perfil del usuario que realiza la búsqueda. Esto significa, que según el tipo de usuario (IS, IK o FS) sobre el que se realiza la recomendación, los parámetros del algoritmo de score se ajustan con distintos valores. Además de esto, se utilizará la información obtenida de las otras topologías para poder mejorar estos resultados, por ejemplo, darle más peso a usuarios que se encuentran en todas las topologías. Imaginemos el escenario en el que cada topología de red, nos aporta información para poder determinar el score de cada nodo de la red. El enfoque planteado, determina un score distinto según quién es la persona a la que se le haga la recomendación. Esto significa que el score calculado para cada usuario de las redes (followees/folowers, replies, mentions, etc) dependerá de quién es el usuario objetivo para el cual se hace la recomendación. Por ejemplo, si el usuario al cual se le hace la evaluación, es un IS, tendrá más importancia nodos que tengan mayor cantidad de seguidores, ya que un buscador de información, buscará nodos del mismo tipo, para proveer de más información. Por otro lado, si el usuario es un FS, un nodo que hace una mención a un amigo directo del usuario objetivo, tendrá más peso sobre la cantidad de followers que a este lo sigan. 32

34 3.4. Evaluación Para esta etapa, se utilizará un dataset, el cual cuenta con casi 16 millones de registros, y contiene diferentes relaciones entre los usuarios. Estos datos han sido construidos después de monitorear los procesos de propagación en Twitter, antes, durante y después del anuncio del descubrimiento de una nueva partícula con las características del bosón de Higgs [12]. Esto significa, que si bien los Ids de los usuarios han sido anonimizados, dichos datos son reales. A partir de este dataset, se obtendrán distintos grafos los cuales difieren en el tipo de conexión entre los nodos. Estos serán transformados mediantes operaciones de unión e intersección, con el objetivo de descubrir nuevas relaciones en la red, y ponderarlas mediante un puntaje, que determinará la fuerza de la conexión. Las conexiones entre los nodos del grafo que se considerarán son: 1. re-tweeting (retweet network): relaciones entre usuarios que hicieron retweets. 2. replying (reply network) : red de respuestas a los tweets existentes. 3. mentioning (mention network): red de conexión mediante menciones entre usuarios. 4. friends/followers: relaciones sociales que representan amigos / seguidores. Grafos simples Figura 7. Grafo de followees Figura 8. Grafo de replies 33

35 Grafos combinados Figura 9. Grafo de unión Figura 10. Grafo de intersección El usuario x estará conectado con el usuario y si x sigue a y o si x replicó a y. El usuario x estará conectado con el usuario y sólo si x sigue a y y replica a y En las Figura 7 y 8, se puede observar dos gráficos simples, los cuales son combinados mediante la operación unión e intersección respectivamente. En las Figura 9 y 10, se observan los grafos resultantes con una ponderación, que nos ayudará a determinar la priorización de resultados a recomendar. Mediante estos grafos, evaluaremos y concluiremos qué relación o relaciones son más conveniente para la recomendación de usuarios. 34

36 3.5. Simulación Para medir la calidad del algoritmo, dado que no contamos con usuarios reales que puedan puntuar la recomendación, usaremos un sistema de simulación. El sistema de simulación básicamente permitirá generar podas en las conexiones de la red, y mediante distintas evaluaciones, se podrá cuantificar si el algoritmo encuentra como una posible recomendación al/los nodo/s que se ha se han quitado de la red. La decisión de qué conexión se va a podar, depende totalmente del sistema de simulación, el cual podrá configurarse para, por ejemplo, podar usuarios con mayor cantidad de seguidores, con mayor cantidad de followees, o una sin ningún criterio específico, para el cual elegirá nodos aleatoriamente. Para entender de manera más clara, en la Figura 11 realizaremos una simple poda sobre la red completa: Figura 11. Red inicial sobre la que se realizará la poda 35

37 Para el siguiente caso, se elegirá una única poda al usuario con mayor cantidad de seguidores. Luego de realizar una poda, puede quedar una subred inaccesible, impidiendo llegar a un conjunto de nodos desde cualquier punto de la red. Si bien este no es el caso, veremos cómo se reducen la lista de usuarios a recomendar, ya que para el algoritmo, la subred {6,7} es inaccesible. La red sobre la cual se hará la evaluación quedará como muestra la Figura 12. Figura 12. Red con poda aplicada 36

38 Siguiendo el algoritmo base, explicado anteriormente en el apartado Lista de candidatos principales, evaluaremos la calidad del algoritmo, mostrando los resultados de los pasos intermedios aplicados a la red con la poda mostrada en la Figura 12. En resumen tendremos: Paso 1: definido como los followees del nodo U T S= Paso 2: por cada nodo en S, tomaremos sus followers L = Paso 3: por cada nodo en L, tomaremos sus followees P = Paso 4: R = Como se puede ver en la lista final R, el algoritmo incluye el nodo podado, por lo que podemos decir que ante la simulación realizada se predijo de forma correcta, 37

39 sumando un acierto a la predicción. Esta es la base con la cual podremos evaluar la calidad del algoritmo. Como se dijo antes, esta es solo la base de la simulación y el algoritmo simplificado, con el objetivo de mostrar cómo se evaluará dicho sistema de recomendación, sin tener en cuenta las métricas, priorización de resultados y otros pasos los cuales se aplicaran y explicaran mas adelantes con los resultados obtenidos. 38

40 4. Implementación En el presente capítulo, se detallan las herramientas utilizadas para el desarrollo de la tesis, cuál fue el motivo de sus usos, el diseño y la implementación de los aspectos más relevantes del sistema. 4.1 Herramientas El desarrollo de la problemática se planteó como una solución orientada a objetos utilizando como lenguaje de programación JAVA. Para mostrar la solución creada, se desarrolló una aplicación web, implementada con el framework Struts2 corriendo en un servidor Apache Tomcat Struts 2 Struts es un framework con carácter de software libre para el desarrollo de aplicaciones Web bajo el patrón MVC en la plataforma Java EE. Se basa en el patrón de diseño MVC el cual separa tres secciones diferenciadas llamadas Modelo, Vista y Controlador. Esto busca separar el modelo de datos, las interfaces de usuario y la lógica de negocios en tres componentes diferentes como muestra la Figura

41 Figura 13. Arquitectura principal de Struts Hibernate Por cuestiones de performance, las cuales se explicaran en la sección 4.2.1, se utilizó como gestor de base de datos MySql. Para poder comunicar la aplicación Java y el repositorio principal en MySql, se utilizó el framework Hibernate, que nos permitió de manera sencilla crear un mapeo entre la capa de modelo y el repositorio. 40

42 Figura 14. Arquitectura principal de Hibernate Esta herramienta permite obtener los datos del repositorio, ya sea a través de consultas en el lenguaje SQL, como en su propio lenguaje llamado HQL. 41

43 4.2 Implementación y Diseño Data Transformation System El hecho de trabajar con grandes volúmenes de datos, hizo que gran parte del sistema esté enfocado en minimizar los costos de operaciones entre los datos. Para esto, se planteó un sistema externo, que permite transformar los datos para que estos puedan ser operados de manera más eficiente. Este sistema, conocido como Data Transformation System o por su acrónimo DTS, es un conjunto de objetos y utilidades que permite la automatización de operaciones de extracción, transformación y carga para o desde una base de datos. Los objetos son paquetes DTS y sus componente y utilidades son llamados DTS Tools. Figura 15. Interacción entre el sistema de recomendación y el DTS 42

44 En la Figura 15 se muestra la interacción entre el sistema de transformación de datos y el sistema de recomendación. En un principio, el sistema de recomendación, no contaba con esta implementación de transformación de datos, lo que fue sumamente costoso ya que se manejaban millones de registros operados a través de un simple data set. El motivo de esta implementación fue la ineficiencia en las operaciones que incluyen gran cantidad de datos. Debido a la gran cantidad de operaciones, es sumamente crítico en cuanto a rendimiento y recursos las decisiones que se tomen tanto a nivel de diseño como de implementación. Con el objetivo de reducir estos tiempo de operaciones, se realizó el sistema DTS, que hizo que disminuyeran significativamente los tiempos y recursos utilizados. La transformación de datos, es un proceso costoso en cuanto a tiempos iniciales, pero gracias al uso de una red estática (dataset) nos permitió realizar una transformación masiva de los datos a una estructura más efectiva, la cual será empleada para cualquier tipo de operación. Este sistema, como se dijo anteriormente, realiza una transformación de datos a estructuras más eficientes. Agregado a esto, realiza cálculos para cada usuario en la red, como son cantidades de seguidores, cantidad de réplicas, menciones, etc, con el objetivo de reducir las operaciones en tiempo de ejecución. La nueva estructura, permite acceder de manera directa a cálculos que con la estructura inicial demandaban innecesariamente recursos y tiempo de procesamiento. 43

45 Figura 16. Estructura de archivo inicial, y estructura de tabla final En la Figura 16, se intenta ilustrar mediante un ejemplo, cómo se reducen los tiempos de procesamiento a través de la nueva estructura generada por el DTS. La misma analogía puede ser usada para las relaciones de mentions, replies, retweets, etc. Obteniendo cuántas menciones hizo y cuántas le hicieron a un determinado usuario, si de menciones se tratase. También, se realizaron cálculos de categorización de usuarios, lo que ayuda a determinar a qué categoría pertenece un determinado usuario sin realizar el cálculo cada vez que se necesite saber la misma. Si bien esta implementación reduce de manera considerable el tiempo de cálculo, toda la información de las distintas relaciones será almacenada en una única entidad, la cual va ser almacenada en memoria. 44

46 La Figura 17, hace referencia a la clase User, de la cual se cargaran cientos de miles de instancias en memoria. Estos objetos serán mapeados mediante el framework Hibernate, que permite tener un mapeo directo objeto-relacional (ORM). En este caso el mapeo de atributos entre la estructura resultante del DTS y nuestra entidad User. Figura 17. Entidad User para mapeo ORM La entidad contiene, por cada usuario, los resultados de los cálculos hechos entre los archivos del dataset. Cada columna de la entidad contiene la cantidad de seguidores, cantidad de personas que sigue, número de replicas/mentions/retweets hechas por y hacia el usuario, de manera que con la este esquema se reduce de cálculos complejos, a una consulta directa de base de datos. Pese a esta gran ventaja, el hecho de manejar un objeto más complejo, produce un tradeoff entre tiempos de procesamiento y el almacenamiento en memoria. Cuando un programa o algoritmo compensa el uso de tiempo con espacio se lo conoce como space-time or time-memory tradeoff. Para atacar el problema de espacio en memoria se retrasó el uso de esta clase hasta que fuese estrictamente necesario realizar cálculos con los datos de cantidad de 45

47 menciones, replies, etc. En su lugar, se usó una collection haciendo sólo referencia al identificador del usuario (id de la clase User). Imaginemos que obtenemos la lista de los seguidores del usuario U T con 200 mil seguidores. Figura 18. Lista de seguidores del usuario U T User 1 User 2 User User Simplificaremos cada objeto User de la lista a un String (user_id) y ocho Integers (followers, followees, replies_to, etc). Dejando de lado factores como la arquitectura y la JVM de java, para un objeto de tipo String se requiere 20+(n/2)*4 bytes de memoria, siendo n la cantidad de caracteres del objeto, y 4 Bytes para un objeto tipo Integer. Supondremos un identificador standard de 4 caracteres para la identificación del usuario y simplificando su cálculo a (n/2)*4 tendremos: String = 8 Bytes Integer = 4 bytes User = 8 bytes + 32 bytes = 40 bytes. El espacio para manejar una lista con 200 mil elementos sera superior a 8 Mb. Imaginemos ahora que cada objeto usuario es representado únicamente por su identificador, como muestra la Figura 19. Figura 19. Lista de ids de seguidores del usuario U T user_id 1 user_id 2 user_id user_id Cada identificador ocupará el tamaño de un String. De la misma manera que para el cálculo del objeto User tendremos que cada objeto ocupa 8 bytes de memoria. Por lo que la lista se reducirá a 1,6 Mb. En conclusión, podemos decir que este enfoque reduce el uso de memoria significativamente. 46

48 4.2.2 Service Layer Dado que la implementación del DTS permite únicamente la comunicación con nuestro dataset, es decir, no podría establecer comunicación con otro Data Source, lo que podría ser otro formato de dataset, o la misma API de Twitter, se creó una capa intermedia que establece las operaciones por las cuales se dará la comunicación. Gracias a esta capa, se tiene una abstracción, que permite cambiar la fuente inicial de información e implementando una interface se pueda establecer una comunicación con otras fuentes evitando el uso del DTS. Si bien el hecho de poder comunicarse directamente con la API de twitter sin pasar por el sistema de transformación de datos aporta una mayor flexibilidad, se pierde el aporte de rendimiento obtenido por el DTS, pasándole toda la responsabilidad a la API que se esté implementando. Para el caso de twitter, es muy poco práctico dado a las grandes limitaciones que tiene en cuanto a cantidad de request por tiempo que se puede pedir a la red. 47

49 Figura 20. Interacción de la capa de servicios con el DTS y el sistema de recomendación Si se desease que el sistema funcione bajo otro data source, como puede ser la API de Twitter o un dataset es necesario implementar la interface de servicio. 48

50 Figura 21. Diagrama de clases de la capa de servicios La Figura 21 muestra la implementación realizada para que nuestro sistema pueda comunicarse mediante la capa de servicios con la base de datos. 49

51 4.2.3 Simulación Poda Antes de iniciar una recomendación para un usuario, el sistema debe ser configurado para una simulación, la cual permitirá realizar podas sobre la red. Una poda, básicamente corta cualquier relación entre usuarios, a través de un borrado lógico en la base de datos. Esta tarea es sumamente importante, ya que nos permitirá medir el sistema de recomendación bajo diferentes perfiles de usuario. Figura 22. Diagrama de clases de los tipos de podas 50

52 Para realizar las diferentes pruebas, se creó un conjuntos de podas, con diferentes características, las cuales permiten hacer podas aleatorias, por popularidad o por tipo de usuario. Básicamente se implementaron 5 tipo de podas, con la posibilidad de combinar cualquiera de estas, y con un diseño donde agregar un nuevo tipo de poda requiere solo la implementación de una nueva clase. Poda por popularidad: La poda por popularidad corta las conexiones sobre aquellos usuarios que mayor popularidad tiene sobre la red. Así mismo existe la poda por menor popularidad, la cual actúa sobre usuarios con menor influencia sobre la red. Poda aleatoria: la poda aleatoria no tienen ninguna lógica de decisión sobre los nodos de la red a podar, sino que, como su nombre lo indica, selecciona un subconjunto con X cantidad de nodos a podar de manera aleatoria. La aleatoriedad, permite crear un escenario donde la simulación sea más real que cualquier otra poda, ya que la diversidad de nodos a podar, no está influenciado por ningún perfil de usuario. Poda por tipo de usuario: la poda por tipo de usuario, puede ser configurada según la clasificación de usuarios IS, IK o IF. Este tipo de poda, requiere definir uno de los tres tipos de clasificaciones de usuarios y la cantidad de usuarios a podar, y trabajara podando los X nodos que clasifiquen para el tipo de usuario definido. Por lo que esta poda puede ser instanciada por Informations Sources, Information Sekeers o friends. Cada una de las podas implementadas, puede ser configurada bajo un porcentaje en lugar de podar X cantidad de nodos. Para la mayoría de las pruebas se tomará un 30% de las conexiones totales del usuario. Esto hace que la simulación sea más viable, ya que es absurdo establecer una cantidad fija para diferentes usuarios, debido a que puede ser insignificante la poda de X conexiones para usuarios con muchas relaciones y muy determinante para usuarios con pocas. 51

53 Perfiles Los perfiles de configuración básicamente son instancias de configuraciones para la recomendación. En cada perfil encapsula los distintos objetos que hacen la configuración del recomendador, como lo son las podas, los comparadores y el conjunto de operaciones que se aplicaran al algoritmo principal. Figura 23. Diagrama de clases para los tipos de perfiles Cada clase hija pertenece a una instancia de configuración en la cual se evaluará al recomendador. En el método create se deben instanciar los objetos configurandolos de la manera que se desee. Una vez creado el conjunto de configuraciones, la simulación tendrá una lista de perfiles, y su lista de usuarios para los cuales se realizar la evaluación, simplificando a: 52

54 4.2.3 Arquitectura Pipe and Filter El sistema URSFT user recomendation System For Twitter, utiliza como base una arquitectura pipe and filter. Esta arquitectura consiste en una cadena de procesos, donde en cada uno de ellos, ingresa un conjunto de datos de entrada y se produce una salida aplicando filtro en los datos. Figura 24. Arquitectura Pipe and Filter Para cada proceso, a través de interfaces, se define como es la comunicación con su antecesor y sucesor proceso. De esta manera, cada proceso realiza determinadas acciones con sus datos de entradas, y de acuerdo al formato definido de su proceso sucesor, transforma los datos para que este pueda procesarlos. 53

55 Algoritmo de recomendación En el primer proceso se aplica el algoritmo base de recomendación. Tiene como entrada el usuario U T para el cual se quiere la recomendación, y como salida una lista de posibles candidatos al usuarios. Este consta de los siguientes cuatro pasos: 1. Obtener la lista de usuarios que sigue U T 2. Por cada elemento en S obtener sus seguidores 3. Para cada elemento en L obtener la lista de usuarios que sigue 4. Quitar de P aquello usuario que U T ya sigue Figura 25. Ilustrativo de pasos del algoritmo 54

56 Ponderación de recomendados Este proceso, tiene como entrada la lista de usuarios a recomendar R. En dicha lista, se aplica un proceso de transformación donde a cada usuario se le aplicará un peso inicial, que consta del número de apariciones en la lista R. De manera que su salida será un estructura de clave valor, donde su clave k será el identificador del usuario y su valor la cantidad de repeticiones en R. Figura 26. Pipe Ponderación de recomendados La abstracción de esta tarea en un proceso independiente, tiene como objetivo brindar una flexibilidad a la hora de cambiar la lógica de ponderación. Esto permite aplicar un peso a través de una lógica más compleja, sin la necesidad de modificar otros procesos Operaciones de conjuntos entre redes El siguiente proceso, a través de operaciones de unión en intersección de dos o más redes, se encarga de combinar los resultados y ponderar nuevamente la lista de resultados R. Dicho proceso define dos operaciones básicas. Union La unión entre dos o más redes de conexiones permite que la red amplíe sus conexiones, dando una mayor diversidad de posibles candidatos a recomendar. Dado dos conjuntos C y C, formalmente la unión está dada por: U C,C = x C x C 55

IIC Sistemas Recomendadores. Denis Parra Profesor Asistente, DCC, PUC CHile

IIC Sistemas Recomendadores. Denis Parra Profesor Asistente, DCC, PUC CHile Métricas de Evaluación IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile TOC En esta clase 1. Prediccion de Ratings: MAE, MSE, RMSE 2. Evaluacion via Precision-Recall 3.

Más detalles

Evaluar revistas en Incites Journal Citation Reports

Evaluar revistas en Incites Journal Citation Reports Evaluar revistas en Incites Journal Citation Reports Rachel Mangan Team Lead, Customer Education Specialist rachel.mangan@thomsonreuters.com Contenido Usos de Journal Citation Reports La producción de

Más detalles

EVALUAR REVISTAS EN INCITES JOURNAL CITATION REPORTS RACHEL MANGAN TEAM LEAD, CUSTOMER EDUCATION SPECIALIST

EVALUAR REVISTAS EN INCITES JOURNAL CITATION REPORTS RACHEL MANGAN TEAM LEAD, CUSTOMER EDUCATION SPECIALIST EVALUAR REVISTAS EN INCITES JOURNAL CITATION REPORTS RACHEL MANGAN TEAM LEAD, CUSTOMER EDUCATION SPECIALIST RACHEL.MANGAN@THOMSONREUTERS.COM CONTENIDO Usos de Journal Citation Reports La producción de

Más detalles

GLOSARIO DE TÉRMINOS DE LOS INFORMES

GLOSARIO DE TÉRMINOS DE LOS INFORMES GLOSARIO DE TÉRMINOS DE LOS INFORMES FACEBOOK Fans: número de personas a los que les gusta mi página de Facebook. Nuevos Fans: aquellas personas que, durante el mes analizado, han hecho click en el botón

Más detalles

LA RED DE LOS 140 CARACTERES TWITTER

LA RED DE LOS 140 CARACTERES TWITTER LA RED DE LOS 140 CARACTERES TWITTER 1 2 QUÉ ES? Microblogging: es como tener un blog donde los posts sólo pueden ser de 140 caracteres (llamados tweets) y puedes actualizarlos a cada momento. Inmediato:

Más detalles

Minería de Datos Web. Cursada 2018

Minería de Datos Web. Cursada 2018 Minería de Datos Web Cursada 2018 Proceso de Minería de Texto Clustering de Documentos Clasificación de Documentos Es un método supervisado para dividir documentos en base a categorías predefinidas Los

Más detalles

Manual Práctico de Twitter

Manual Práctico de Twitter Manual Práctico de Twitter Cómo crear tu perfil y empezar a comunicarte Qué es Twitter? Twitter es un servicio gratuito de microblogging que permite a sus usuarios enviar micro-entradas basadas en texto,

Más detalles

De la Biblioteca tradicional a la Biblioteca 2.0 El uso de las herramientas sociales que permiten el cambio

De la Biblioteca tradicional a la Biblioteca 2.0 El uso de las herramientas sociales que permiten el cambio Biblioteca Pública de la Universidad Nacional de La Plata De la Biblioteca tradicional a la Biblioteca 2.0 El uso de las herramientas sociales que permiten el cambio Lorena Miranda Lorena López Luciano

Más detalles

Guías útiles herramientas para gestionar tus eventos en redes sociales.

Guías útiles herramientas para gestionar tus eventos en redes sociales. Guías útiles 12+1 herramientas para gestionar tus eventos en redes sociales www.omnitel.es omnitel@omnitel.es 2 de 16 Qué encontrarás en esta guía? La presencia de Twitter en los eventos es ya una realidad

Más detalles

INCITES JOURNAL CITATION REPORTS

INCITES JOURNAL CITATION REPORTS INCITES JOURNAL CITATION REPORTS MAYO DE 2014 RACHEL.MANGAN@THOMSONREUTERS.COM FECYT Fundación Española para la Ciencia y la Tecnología La Fundación Española para la Ciencia y la Tecnología (FECYT) es

Más detalles

La red social creada por Mark Zuckerberg, Eduardo Saverin, Chris Hughes y Dustin Moskovitz, para los estudiantes de la Universidad de Harvard, pero

La red social creada por Mark Zuckerberg, Eduardo Saverin, Chris Hughes y Dustin Moskovitz, para los estudiantes de la Universidad de Harvard, pero La red social creada por Mark Zuckerberg, Eduardo Saverin, Chris Hughes y Dustin Moskovitz, para los estudiantes de la Universidad de Harvard, pero actualmente abierta a cualquier persona que posea una

Más detalles

Estrategias TIC. Twitter como herramienta educativa

Estrategias TIC. Twitter como herramienta educativa Estrategias TIC Twitter como herramienta educativa 1 Twitter es una red social de microblogging que permite, a un usuario registrado, enviar y recibir mensajes de texto de hasta 140 caracteres, llamados

Más detalles

Introducción a Minería de Texto. Fabián Latorre

Introducción a Minería de Texto. Fabián Latorre Introducción a Minería de Texto Fabián Latorre fabian.latorre@quantil.com.co Contenido Qué es la minería de texto? Por qué es relevante? Por qué la estudiamos? Aplicaciones La complejidad del texto no

Más detalles

ASIGNATURA: DISEÑO Y PRODUCTOS ANÁLISIS Y EVALUACIÓN DE DISEÑOS CONSIDERANDO EL CICLO DE VIDA

ASIGNATURA: DISEÑO Y PRODUCTOS ANÁLISIS Y EVALUACIÓN DE DISEÑOS CONSIDERANDO EL CICLO DE VIDA ASIGNATURA: DISEÑO Y PRODUCTOS ANÁLISIS Y EVALUACIÓN DE DISEÑOS CONSIDERANDO EL CICLO DE VIDA 1.- INTRODUCCIÓN. Asistimos a un boom de los productos verdes y del diseño ecológico. Muchos de ellos sólo

Más detalles

Facebook. capítulo 13

Facebook. capítulo 13 Facebook capítulo 13 Facebook facebook Este portal web fue creado en 2004 por Mark Zuckerberg, que entonces tenía 19 años, y actualmente cuenta con unos 400 millones de usuarios de todo el mundo, según

Más detalles

Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja)

Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja) Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja) Análisis del Sistema Área: Ingeniería de requisitos Carácter del recurso: Recomendado

Más detalles

3. Diseño de la solución

3. Diseño de la solución 3. Diseño de la solución 3.1. Diseño del Algoritmo En el siguiente capítulo se desarrollará cada de las variables y requerimientos en el sistema de lógica difusa desarrollado. 3.2. Diagrama de bloques

Más detalles

Twitter, la plaza global de pensamientos

Twitter, la plaza global de pensamientos www.juventudrebelde.cu Personalidades como el Presidente de los Consejos de Estado y de Ministros, Miguel Díaz-Canel Bermúdez, son usuarios de Twitter. Autor: Twitter Publicado: 12/12/2018 07:58 pm Twitter,

Más detalles

Modelos de Mercadotecnia Tema 1: Dimensión del Marketing

Modelos de Mercadotecnia Tema 1: Dimensión del Marketing Tema 1: Dimensión del Marketing Sesión 2: Bases de Datos Objetivo de la Sesión: Al concluir la sesión el alumno reconocerá el proceso para llevar a cabo la minería de datos y describirá cómo las herramientas

Más detalles

ISO Procedimientos para la evaluación de la Calidad

ISO Procedimientos para la evaluación de la Calidad ISO 19114 Procedimientos para la evaluación de la Calidad Alcances Pautas: para la determinación y evaluación de calidad, (ISO 19113) para Evaluación y Presentación: - informe de calidad de datos (Metadatos)

Más detalles

Introducción. La capa de red:

Introducción. La capa de red: Introducción La capa de red: Tiene como objetivo llevar los paquetes desde el origen al destino. Es la primera capa de origen a destino. Debe conocer la topología de la red. Debe proporcionar un interfaz

Más detalles

3. HERRAMIENTAS DE OPTIMIZACIÓN DEL SISTEMA ELÉCTRICO

3. HERRAMIENTAS DE OPTIMIZACIÓN DEL SISTEMA ELÉCTRICO 3. HERRAMIENTAS DE OPTIMIZACIÓN DEL SISTEMA ELÉCTRICO Con el objetivo de optimizar el control de tensiones y la potencia reactiva se han desarrollado y se continúan desarrollando métodos, técnicas y algoritmos

Más detalles

ESTUDIO DE EVALUACIÓN DE IMPACTO DE LAS ACTIVIDADES DE LA FUNDACIÓN CEDDET

ESTUDIO DE EVALUACIÓN DE IMPACTO DE LAS ACTIVIDADES DE LA FUNDACIÓN CEDDET ASPECTOS GENERALES ESTUDIO DE EVALUACIÓN DE IMPACTO DE LAS ACTIVIDADES DE LA FUNDACIÓN CEDDET 2009-2011 - - Madrid, septiembre 2014 Introducción El objetivo de este estudio de evaluación es generar información

Más detalles

Iníciate en la Red Social Twitter. Olga López Sipán Técnico (Info-Doc, gestión de la información)

Iníciate en la Red Social Twitter. Olga López Sipán Técnico (Info-Doc, gestión de la información) Iníciate en la Red Social Twitter Olga López Sipán Técnico (Info-Doc, gestión de la información) olopez@huesca.es Qué es una red social? Una red social en Internet es una comunidad de usuarios registrados

Más detalles

Introducción.. 2. Desarrollo. 3. Conclusión 7. Bibliografía... 8

Introducción.. 2. Desarrollo. 3. Conclusión 7. Bibliografía... 8 Introducción.. 2 Desarrollo. 3 Conclusión 7 Bibliografía... 8 1 INTRODUCCIÓN Hoy en día, las redes sociales se han convertido en un fenómeno importante. De esta manera, provocan cambios en el mundo del

Más detalles

Manual de usuario. Centro de Evaluación Facultad de Educación Universidad de los Andes. Para PAZATUIDEA. Plataforma PazAtuIdea

Manual de usuario. Centro de Evaluación Facultad de Educación Universidad de los Andes. Para PAZATUIDEA. Plataforma PazAtuIdea Manual de usuario Para PAZATUIDEA Plataforma PazAtuIdea Centro de Evaluación Facultad de Educación Convenio MEN-OIM Centro de Evaluación Facultad de Educación Universidad de los Andes Fecha: 30/06/2018

Más detalles

Capítulo 3: Las VLAN

Capítulo 3: Las VLAN : Las VLAN Última actualización: 11 de Enero de 2004 Autor: Eduardo Collado edu@eduangi.com : 1 Contenido Panorámica de VLAN Segmentación Limitaciones de las VLAN Diferencias entre LANs y VLANs Tipos de

Más detalles

Técnicas de Minería de Datos

Técnicas de Minería de Datos Técnicas de Minería de Datos Act. Humberto Ramos S. 1 Qué es Minería de datos? El desarrollo de dispositivos tecnológicos para acumular datos a bajo costo. Acumulación o registro de gran cantidad de datos.

Más detalles

Cómo lograr mayor participación y compromiso de los empleados

Cómo lograr mayor participación y compromiso de los empleados BOLETÍN Nº 10 / 2016 Cómo lograr mayor participación y compromiso de los empleados Por Javier Vargas Vicepresidente Regional para América Latina de Right Management Cómo lograr mayor participación y compromiso

Más detalles

Twitter. Reconocimiento-NoComercial-CompartirIgual 2.5 España:

Twitter. Reconocimiento-NoComercial-CompartirIgual 2.5 España: Twitter Reconocimiento-NoComercial-CompartirIgual 2.5 España: http://creativecommons.org/licenses/by-nc/2.5/es/ Realizado por: José Sánchez Rodríguez (Universidad de Málaga) josesanchez@uma.es Julio Ruiz

Más detalles

xn, y a su vez existen variables que no son determinadas o incontrolables z1, z2 zn.

xn, y a su vez existen variables que no son determinadas o incontrolables z1, z2 zn. CAPÍTULO 4 CONSIDERACIONES PARA EL DISEÑO DE EXPERIMENTOS Todos los investigadores realizan experimentos en todos los campos del saber con el objetivo de descubrir algo acerca de un proceso. Un experimento

Más detalles

Unidad didáctica 5. Twitter. Descubre Comunicación www.descubrecomunicacion.com @DescubreC

Unidad didáctica 5. Twitter. Descubre Comunicación www.descubrecomunicacion.com @DescubreC Descubre Comunicación www.descubrecomunicacion.com @DescubreC Qué es Twitter? La red de microblogging por excelencia. Principal característica: entrada de 140 caracteres. Porqué triunfa Twitter? Inmediatez

Más detalles

Anexo I CUESTIONARIO UTILIZADO PARA LA RECOGIDA DE INFORMACIÓN

Anexo I CUESTIONARIO UTILIZADO PARA LA RECOGIDA DE INFORMACIÓN Anexo I CUESTIONARIO UTILIZADO PARA LA RECOGIDA DE INFORMACIÓN 165 ENCUESTA DE COMPORTAMIENTOS Y TIPOLOGÍAS DE VISITANTES EN EUSKADI 166 ANEXO I. CUESTIONARIO UTILIZADO PARA LA RECOGIDA DE INFORMACIÓN

Más detalles

Normas sobre calidad de información geográfica

Normas sobre calidad de información geográfica Normas sobre calidad de información geográfica Normalización y Calidad ISO 19113: Información Geográfica Principios de la calidad. ISO 19114: Información Geográfica Procedimientos de evaluación de la calidad.

Más detalles

Comportamiento del Consumidor. El consumidor online

Comportamiento del Consumidor. El consumidor online Comportamiento del Consumidor El consumidor online El consumidor online El consumidor online cambia tan rápido como lo hace Internet. A medida que van apareciendo nuevas tendencias, los usuarios van modificando

Más detalles

Evaluación e Integración de Toma de Decisiones en Sistemas de Recomendación. Autor: Rus María Mesas Jávega Tutor: Alejandro Bellogín Kouki

Evaluación e Integración de Toma de Decisiones en Sistemas de Recomendación. Autor: Rus María Mesas Jávega Tutor: Alejandro Bellogín Kouki Evaluación e Integración de Toma de Decisiones en Sistemas de Recomendación Autor: Rus María Mesas Jávega Tutor: Alejandro Bellogín Kouki Índice Introducción Estado del Arte Toma de Decisiones en Algoritmos

Más detalles

ANÁLISIS DE DATOS. Jesús García Herrero

ANÁLISIS DE DATOS. Jesús García Herrero ANÁLISIS DE DATOS Jesús García Herrero ANALISIS DE DATOS EJERCICIOS Una empresa de seguros de automóviles quiere utilizar los datos sobre sus clientes para obtener reglas útiles que permita clasificar

Más detalles

Implementación de Componentes

Implementación de Componentes Implementación de Componentes Concepto Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura

Más detalles

Análisis de Datos. Combinación de clasificadores. Profesor: Dr. Wilfrido Gómez Flores

Análisis de Datos. Combinación de clasificadores. Profesor: Dr. Wilfrido Gómez Flores Análisis de Datos Combinación de clasificadores Profesor: Dr. Wilfrido Gómez Flores 1 Introducción Diversos algoritmos de clasificación están limitados a resolver problemas binarios, es decir, con dos

Más detalles

PATRONES DE DISEÑO FRAMEWORKS

PATRONES DE DISEÑO FRAMEWORKS PATRONES DE FRAMEWORKS Definiciones Finalidades Características Diseño de software basado en patrones Descripción Utilización de los patrones en el diseño Clasificación FRAMEWORKS Basado en la reutilización

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software 1 Ingeniería de Sistemas Enfoque en variedad de elementos Análisis, diseño y organización de los elementos en un sistema Todo para generar un producto, servicio o tecnología para

Más detalles

Conecta con tus clientes a través de Facebook

Conecta con tus clientes a través de Facebook Conecta con tus clientes a través de Facebook Miguel Fernández Arrieta mfernandez@eps.mondragon.edu http://www.linkedin.com/in/miguelfernandezarrieta http://twitter.com/lostinweb20 Mondragon Unibertsitatea

Más detalles

mobile intelligence El contenido correcto, al usuario correcto, en el momento Indicado

mobile intelligence El contenido correcto, al usuario correcto, en el momento Indicado mobile intelligence El contenido correcto, al usuario correcto, en el momento Indicado Objetivos de una Operadora Personalizar el Cross selling/ Up selling de suscripciones a VAS, datos, voz, etc. Lograr

Más detalles

Hostalia Guía de uso HOSTALIA CLOUD SEO. Manual de Usuario. Calle San Rafael, Alcobendas (Madrid) Teléfono:

Hostalia Guía de uso HOSTALIA CLOUD SEO. Manual de Usuario. Calle San Rafael, Alcobendas (Madrid) Teléfono: HOSTALIA CLOUD SEO Manual de Usuario Calle San Rafael, 14 28108 Alcobendas (Madrid) Teléfono: 900 103 293 www.hostalia.com INTRODUCCIÓN 3 PRIMEROS PASOS 4 TU INFORME 5 TU PLAN 10 CONFIGURACIÓN 12 CONCEPTOS

Más detalles

Clasificadores Débiles - AdaBoost

Clasificadores Débiles - AdaBoost Capítulo 3 Clasificadores Débiles - AdaBoost El término boosting hace referencia a un tipo de algoritmos cuya finalidad es encontrar una hipótesis fuerte a partir de utilizar hipótesis simples y débiles.

Más detalles

Los protocolos de enrutamiento dinámico se han usado en redes desde comienzos de la década de los ochenta.

Los protocolos de enrutamiento dinámico se han usado en redes desde comienzos de la década de los ochenta. Los protocolos de enrutamiento dinámico se han usado en redes desde comienzos de la década de los ochenta. La primera versión de RIP se lanzó en 1982, pero algunos de los algoritmos básicos dentro del

Más detalles

ESQUEMAS DE PERSISTENCIA EN LENGUAJES ORIENTADOS A OBJETOS. Martín Pablo Caballero Tutores: Gabriel Bruno y Parruccia Luciano

ESQUEMAS DE PERSISTENCIA EN LENGUAJES ORIENTADOS A OBJETOS. Martín Pablo Caballero Tutores: Gabriel Bruno y Parruccia Luciano ESQUEMAS DE PERSISTENCIA EN LENGUAJES ORIENTADOS A OBJETOS Martín Pablo Caballero Tutores: Gabriel Bruno y Parruccia Luciano Alumno becarío de investigación y servicio, de la carrera de Ingeniería en Sistemas

Más detalles

GRUPO 1 ESCALAS DE CALIFICACIÓN

GRUPO 1 ESCALAS DE CALIFICACIÓN GRUPO 1 ESCALAS DE CALIFICACIÓN Qué es una escala? Es un instrumento que permite registrar el grado, de logro de una habilidad, destreza, actitud por parte del estudiante, de acuerdo con una escala determinada

Más detalles

Publicidad Digital. Elisa Olazo Mucha Twitter : elisa.olazo. 23 de setiembre de 2015 Lima, Perú

Publicidad Digital. Elisa Olazo Mucha Twitter : elisa.olazo. 23 de setiembre de 2015 Lima, Perú Publicidad Digital Elisa Olazo Mucha elisa.olazo@hibu.com Twitter : elisa.olazo 23 de setiembre de 2015 Lima, Perú hibu plc 2015 1 Hibu hibu Perú es líder en la provisión de servicios de creación de páginas

Más detalles

en concreto los objetivos que van del 6 al 9 (aplicaciones, tecnología, implicaciones morales, sociales y éticas, y dimensión internacional)

en concreto los objetivos que van del 6 al 9 (aplicaciones, tecnología, implicaciones morales, sociales y éticas, y dimensión internacional) El componente de la evaluación interna en estos cursos es una exploración matemática. Consiste en un breve informe escrito por el alumno, basado en un tema elegido por este, y que debe centrarse en las

Más detalles

Sólo se deberán utilizar números enteros y no puntos parciales como fracciones o decimales.

Sólo se deberán utilizar números enteros y no puntos parciales como fracciones o decimales. ENSAYO DE TEORIA DEL CONOCIMIENTO Uso de los criterios de evaluación El método de evaluación utilizado por IBO se basa en criterios establecidos. Es decir, al evaluar el ensayo sobre un título prescrito

Más detalles

Big Data y Control Estadistico de Procesos. By Marc Schaeffers

Big Data y Control Estadistico de Procesos. By Marc Schaeffers Big Data y Control Estadistico de Procesos By Marc Schaeffers Big Data y Control Estadistico de Procesos INTRODUCCIÓN Las empresas han estado aplicando técnicas de control de procesos estadísticos (SPC)

Más detalles

Terminología de Twitter

Terminología de Twitter TECNOLOGÍA EDUCACIÓN CONOCIMIENTO Terminología de Twitter Twitter es un servicio gratuito de mensajes sociales, conexiones y "microblogging" para enviar y recibir mensajes de texto cortos (de 140 caracteres)

Más detalles

para el mejor funcionamiento de Directorios y Consejos

para el mejor funcionamiento de Directorios y Consejos Uso de Herramientas digitales para el mejor funcionamiento de Directorios y Consejos REPORTE FINAL JULIO 2013 1 Uso de herramientas digitales para el mejor funcionamiento de Directorios Y Consejos Introducción

Más detalles

Entrenamiento Completo en Redes Sociales 2016

Entrenamiento Completo en Redes Sociales 2016 Entrenamiento Completo en Redes Sociales 2016 Perfil del Instructor Ing. Andrés Subía Ingeniero en Marketing y Banca e Inversión Especialización en Marketing Digital de la Universidad de Illinois, Urbana

Más detalles

Redes Sociales UN RECURSO EDUCATIVO

Redes Sociales UN RECURSO EDUCATIVO Redes Sociales UN RECURSO EDUCATIVO Moldeamos nuestras herramientas y de ahí en adelante, ellas nos moldean a nosotros! - Marshall Mcluhan Moldeamos a nuestros estudiantes y de ahí en adelante, ellos nos

Más detalles

Linkedin: Guía de uso. Utilidades profesionales del Linkedin.

Linkedin: Guía de uso. Utilidades profesionales del Linkedin. 1 Linkedin: Guía de uso. Utilidades profesionales del Linkedin. Principales herramientas de LinkedIn Índice 2.1. Como buscar en LinkedIn 2.2. El buscador avanzado 2.3. Cómo usar LinkedIn con tu email y

Más detalles

FICHA DOCENTES: TALLER REDES SOCIALES

FICHA DOCENTES: TALLER REDES SOCIALES FICHA DOCENTES: TALLER REDES SOCIALES FICHA Este tutorial está pensado para ayudar a los docentes o educadores a la hora de brindar lineamientos para compartir en redes sociales los productos audiovisuales

Más detalles

Eclipse SDK 3.3: Utilizado para el desarrollo del software de la aplicación web.

Eclipse SDK 3.3: Utilizado para el desarrollo del software de la aplicación web. 0. Datos de interés La totalidad del proyecto de título Aplicación web y análisis de señales acústicas provenientes del llanto de los infantes (A web-based application and acoustic signal analysis of the

Más detalles

Aprendizaje para Clasificación con Factorización Matricial Basado en Listwise para Filtrado Colaborativo

Aprendizaje para Clasificación con Factorización Matricial Basado en Listwise para Filtrado Colaborativo 2012 Aprendizaje para Clasificación con Factorización Matricial Basado en Listwise para Filtrado Colaborativo Iván López Espejo 22/04/2012 2 Aprendizaje para Clasificación con Factorización Matricial Basado

Más detalles

Tema 13 Modelos de Representación de Diagramas

Tema 13 Modelos de Representación de Diagramas Tema 13 Modelos de Representación de Diagramas En este tema haremos una revisión rápida de los modelos de representación de diagramas, y su utilidad en la Expresión Gráfica. 13.1 Introducción y Definición

Más detalles

CÓMO RECLUTAR EN TWITTER. Aprende La Mejor Forma de Publicar Ofertas, Encontrar Candidatos y Mejorar Tu Employer Branding

CÓMO RECLUTAR EN TWITTER. Aprende La Mejor Forma de Publicar Ofertas, Encontrar Candidatos y Mejorar Tu Employer Branding CÓMO RECLUTAR EN TWITTER Aprende La Mejor Forma de Publicar Ofertas, Encontrar Candidatos y Mejorar Tu Employer Branding Introducción Hoy en día, todo lo que nos rodea avanza de manera muy rápida, y las

Más detalles

TEMA 6: INTRODUCCIÓN A UML

TEMA 6: INTRODUCCIÓN A UML TEMA 6: INTRODUCCIÓN A UML Por qué modelamos? El modelado es una parte central de todas las actividades que conducen a la producción de un software de calidad. Como tal la ingeniería software debe basarse

Más detalles

Gestión por Competencias

Gestión por Competencias MANUAL DE USUARIO Gestión por Competencias 1 INDICE Nº CONTENIDO PAGINA 1 Introducción 3 2 INTRODUCCION La gestión por competencias es una herramienta muy útil para administrar y enfocar mejor el Recurso

Más detalles

Teoría de la decisión

Teoría de la decisión Teoría de la decisión Unidad 03.- Decisiones bajo certidumbre Método: Proceso analítico de jerarquías (AHP) (analytical hierarchy process) 1 Decisiones: cómo las queremos? Cuándo y cómo. Oportunas. Bien

Más detalles

DISEÑE UNA ESTRATEGIA DIGITAL PARA SU EMPRESA Marketing Digital

DISEÑE UNA ESTRATEGIA DIGITAL PARA SU EMPRESA Marketing Digital DISEÑE UNA ESTRATEGIA DIGITAL PARA SU EMPRESA Marketing Digital Qué es el marketing? Introducción y Definición Qué es el marketing? Introducción y Definición Introducción y Definición Qué es la Publicidad?

Más detalles

El marketing de influencia. Un caso práctico. Araceli Castelló

El marketing de influencia. Un caso práctico. Araceli Castelló El marketing de influencia. Un caso práctico www.aracelicastello.com V Encuentro Internacional de Investigadores en Publicidad y Áreas Afines Alicante - octubre de 2015 1. introducción Las opiniones de

Más detalles

Agile Barcelona. Personas e interacciones. Analizadas a través de datos, métricas, gráficos y tendencias

Agile Barcelona. Personas e interacciones. Analizadas a través de datos, métricas, gráficos y tendencias Agile Barcelona Personas e interacciones Analizadas a través de datos, métricas, gráficos y tendencias Plataforma web para análisis de datos Universitat Oberta de Catalunya, TFG (Grado Multimedia - 2017)

Más detalles

Aplicaciones y complementos

Aplicaciones y complementos Aplicaciones y complementos 1. Cómo mostrar Google Maps Google Maps ofrece una tecnología de asignación eficaz y fácil de usar, además de información comercial local que incluye ubicaciones, información

Más detalles

Publicidad digital para las Pymes

Publicidad digital para las Pymes Publicidad digital para las Pymes Elisa Olazo Mucha elisa.olazo@hibu.com Seminario Miércoles del exportador - PromPerú Twitter : elisa.olazo 12 de febrero de 2016 Lima, Perú hibu plc 2015 1 Cuál es el

Más detalles

Anexo 10. Pruebas verificadas

Anexo 10. Pruebas verificadas 1 Anexo 10. Pruebas verificadas Introducción El proceso de pruebas inició con una revisión conceptual para la identificación de las pruebas por realizar, a partir de las características del proyecto. En

Más detalles

Repetidores o Hubs. Puentes

Repetidores o Hubs. Puentes Repetidores o Hubs Un Repetidor o Hub (también llamado concentrador) es un dispositivo de red de capa 1, que simplemente propaga la señal de la comunicación para que pueda llegar a un mayor número de elementos:

Más detalles

CAPITULO 5 RESULTADOS Y CONCLUSIONES

CAPITULO 5 RESULTADOS Y CONCLUSIONES CAPITULO 5 RESULTADOS Y CONCLUSIONES A continuación se describirán los resultados obtenidos durante las pruebas realizadas mencionadas en el capítulo anterior, también se observarán las capacidades de

Más detalles

INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ CARRERA INFORMÁTICA SEMESTRE SÉPTIMO PERIODO ABR. /SEP.-2015 INGENIERÍA DEL SOFTWARE TEMA: RESUMEN#4: LENGUAJE UNIFICADO DE MODELADO

Más detalles

1. Propósito. Establecer los puntos que debe cubrir como referencia documental mínima un documento de Diseño de sistemas automatizados.

1. Propósito. Establecer los puntos que debe cubrir como referencia documental mínima un documento de Diseño de sistemas automatizados. Página 1 de 8 1. Propósito. Establecer los puntos que debe cubrir como referencia documental mínima un documento de de sistemas automatizados. 2. Ámbito de responsabilidad. RDSI Responsable del Desarrollo

Más detalles

Qué hace Market Dynamics? Marketing entrante

Qué hace Market Dynamics? Marketing entrante Qué hace Market Dynamics? Marketing entrante Trabajamos como un imán en vez de un martillo, basado en el contenido que atrae y alimenta los prospectos vs el spam que los molesta. Hay tres etapas: Ser encontrado,

Más detalles

La eficiencia de los programas

La eficiencia de los programas La eficiencia de los programas Jordi Linares Pellicer EPSA-DSIC Índice General 1 Introducción... 2 2 El coste temporal y espacial de los programas... 2 2.1 El coste temporal medido en función de tiempos

Más detalles

CURSO DE BLOGGER REDES SOCIALES YOUTUBE MODULO 3. Youtube YOUTUBE. Redes sociales. a) Qué es Youtube?

CURSO DE BLOGGER REDES SOCIALES YOUTUBE MODULO 3. Youtube YOUTUBE. Redes sociales. a) Qué es Youtube? REDES SOCIALES Youtube a) Qué es Youtube? El famoso portal sirve para subir y compartir vídeos de una manera muy sencilla, creado por tres trabajadores 2005, Google lo compró en 2006 por 1.650 millones

Más detalles

INSTITUTO NACIONAL DE ESTADÍSTICAS (INE) 29 de Abril de 2016

INSTITUTO NACIONAL DE ESTADÍSTICAS (INE) 29 de Abril de 2016 ANEXO ESTADÍSTICO 1 : COEFICIENTES DE VARIACIÓN Y ERROR ASOCIADO AL ESTIMADOR ENCUESTA NACIONAL DE EMPLEO (ENE) INSTITUTO NACIONAL DE ESTADÍSTICAS (INE) 9 de Abril de 016 1 Este anexo estadístico es una

Más detalles

Estadística descriptiva e inferencial. Métodos básicos y aplicaciones

Estadística descriptiva e inferencial. Métodos básicos y aplicaciones descriptiva e inferencial Métodos básicos y aplicaciones 1 Introducción El término estadística suele usarse bajo dos significados distintos: 1 Como colección de datos numéricos: se habla de una estadística

Más detalles

MODULO 6. MICROBLOGGING

MODULO 6. MICROBLOGGING MODULO 6. MICROBLOGGING 1. Concepto de Microblogging El microblogging, también conocido como nanoblogging, es un servicio que permite a sus usuarios enviar y publicar mensajes breves (alrededor de 140

Más detalles

Cómo medir la calidad de la educación?

Cómo medir la calidad de la educación? Cómo medir la calidad de la educación? Domingo 13 de Noviembre 2016 Ancell Scheker Mendoza Dirección de Evaluación de la Calidad AGENDA I. CONTEXTUALIZACIÓN II. MEDICIÓN DE LA CALIDAD EN EL SISTEMA EDUCATIVO

Más detalles

RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN

RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN Dra. Silvana Aciar Instituto de Informática UNSJ Día Virtual sobre Sistemas Colaborativos Octubre 2013 1 Indice

Más detalles

La ingeniería del software es una disciplina de ingeniería que comprende todos los aspectos de la producción de software.

La ingeniería del software es una disciplina de ingeniería que comprende todos los aspectos de la producción de software. Ingeniería del Software. Ian Sommerville Introducción. Preguntas de introducción. Qué es el software? Programas de ordenador y la documentación asociada. Los productos de software se pueden desarrollar

Más detalles

Tu éxito depende de ti

Tu éxito depende de ti MARKETING ONLINE Tu éxito depende de ti. La gran mayoría de los usuarios de Internet utilizan los buscadores para encontrar empresas que den soluciones a sus necesidades. El posicionamiento web permite

Más detalles

Estudio UPS Pulso del Comprador en Línea

Estudio UPS Pulso del Comprador en Línea Estudio UPS Pulso del Comprador en Línea Marzo del 2018 Resumen ejecutivo del estudio de INICIO Los compradores en línea de se caracterizan por ser más pacientes, grandes usuarios de la tecnología móvil

Más detalles

Tecnología para la. Web (MVC)

Tecnología para la. Web (MVC) Tecnología para la Construcción de Aplicaciones Web (MVC) Dr. Víctor J. Sosa vjsosa@tamps.cinvestav.mx Información sintetizada del curso: Introducción a los servicios y servidores de información en Internet

Más detalles

Redes Sociales. https://www.infop.hn

Redes Sociales. https://www.infop.hn Redes Sociales https://www.infop.hn Redes Sociales Qué son las Redes Sociales? Las redes sociales son comunidades virtuales. Es decir, plataformas de Internet que agrupan a personas que se relacionan entre

Más detalles

PROCESAMIENTO DISTRIBUIDO

PROCESAMIENTO DISTRIBUIDO Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos

Más detalles

Twitter para novatos. Sep TWITTER PARA NOVATOS

Twitter para novatos. Sep TWITTER PARA NOVATOS 1 PERO...QUÉ ES TWITTER? TWITTER es un servicio de microblogging que permite a sus usuarios enviar micro-entradas basadas en texto, denominadas "tweets", de una longitud máxima de 140 caracteres. El envío

Más detalles

Plataformas distribuidas para análisis de grandes grafos. Dr. Cristian Mateos Díaz CONICET / ISISTAN UNICEN

Plataformas distribuidas para análisis de grandes grafos. Dr. Cristian Mateos Díaz CONICET / ISISTAN UNICEN Plataformas distribuidas para análisis de grandes grafos Dr. Cristian Mateos Díaz CONICET / ISISTAN UNICEN http://www.exa.unicen.edu.ar/~cmateos 1 Introducción Big data conduce a grandes volúmenes de datos,

Más detalles

CI-5313: Arquitectura y Administración de Base de Datos I Apuntes del curso INDICES (II y III)

CI-5313: Arquitectura y Administración de Base de Datos I Apuntes del curso INDICES (II y III) CI-5313: Arquitectura y Administración de Base de Datos I Apuntes del curso INDICES (II y III) Soraya Abad Mota Versión 1: Septiembre 2002 Actualizaciones: Enero 2005 y Septiembre 2007 1. Tópico 4: Lineamientos

Más detalles

Procesamiento Masivo de Web Spam. Washington Bastidas Santos Jesús González Vera

Procesamiento Masivo de Web Spam. Washington Bastidas Santos Jesús González Vera Procesamiento Masivo de Web Spam Washington Bastidas Santos Jesús González Vera Agenda INTRODUCCIÓN PROBLEMA METODOLOGÍA IMPLEMENTACIÓN EVALUACIÓN Y RESULTADOS CONCLUSIÓN TRABAJO FUTURO BIBLIOGRAFÍA 1

Más detalles

Capítulo IV. Diseño del sistema.

Capítulo IV. Diseño del sistema. Capítulo IV. Diseño del sistema. Este capítulo profundizará sobre la ingeniería de software necesaria para llevar a cabo la implementación del sistema. Por medio de UML podremos analizar de forma gráfica

Más detalles

Ciudad Guayana, Febrero de 2011

Ciudad Guayana, Febrero de 2011 REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA ANTONIO JOSÉ DE SUCRE INGENIERÍA INDUSTRIAL CÁTEDRA: SISTEMAS DE INFORMACIÓN Profesor: Turmero, Iván Ciudad Guayana, Febrero

Más detalles

Para llevar a cabo una simulación, se requiere implementar las siguientes etapas:

Para llevar a cabo una simulación, se requiere implementar las siguientes etapas: SIMULACIÓN: La simulación se define como una técnica numérica utilizada para representar un proceso o fenómeno mediante otro más simple que permite analizar sus características. Esta técnica emplea relaciones

Más detalles

Capítulo 1 Introducción

Capítulo 1 Introducción Capítulo 1 Introducción 1.1 Ambiente móvil Nuestro trabajo de tesis se centra en la evaluación de consultas en ambiente móviles. Un ambiente móvil consiste en un conjunto de productores y consumidores

Más detalles

HOJA DE RUTA PARA UNA PROSPECCIÓN SOCIAL: CÓMO USAR LOS SOCIAL MEDIA PARA ENCONTRAR NUEVOS CLIENTES

HOJA DE RUTA PARA UNA PROSPECCIÓN SOCIAL: CÓMO USAR LOS SOCIAL MEDIA PARA ENCONTRAR NUEVOS CLIENTES HOJA DE RUTA PARA UNA PROSPECCIÓN SOCIAL: CÓMO USAR LOS SOCIAL MEDIA PARA ENCONTRAR NUEVOS CLIENTES Por Maggie Hibma Qué es la Prospección Social? Como un entusiasta del inbound, ya entiendes la importancia

Más detalles