9

Click here to load reader

Caracterización de la popularidad de los archivos de un wiki a gran escala v3

Embed Size (px)

Citation preview

Page 1: Caracterización de la popularidad de los archivos de un wiki a gran escala v3

Caracterización de la popularidad de los archivos de un wiki a gran escala

Francisco Berrizbeitia

Universidad Simón Bolívar Caracas 2013

[email protected]

1 Introducción El estudio de la popularidad en los sitios de internet ha sido objeto de varios estudios [1] [2] [3] sin embargo la disponibilidad de trazas actualizadas para realizar estudios continua siendo un problema para los investigadores. El sitio web Wikipedia.org pone a disposición del público en general [4] sus trazas de acceso con una granularidad de una hora, con este trabajo pretendemos hacer una primera aproximación para análisis futuros de estos datos disponibles. En esta etapa del estudio pudimos comprobar la invariante que la popularidad de los artículos se distribuye siguiendo una ley de potencia [1] [2] [3] en la actualidad y para un sitio web con alto tráfico y un gran número de visitas, al menos para un periodo corto de tiempo (10 días), en este punto pudimos proponer y comprobar un método ajuste de distribución, basado en un muestreo de las observaciones, que permite aligerar la carga computacional en este tipo de análisis. También pudimos detallar la conducta en el corto plazo de los artículos más populares y plantear hipótesis sobre estas conductas para su posterior estudio. Uno de los aspectos de la variación en la popularidad que consideramos especialmente interesante, es el efecto del doodle de Google porque nos puede dar una idea de la magnitud en la variación del tráfico de al tener un link directo en la página más visitada del mundo [5]. Los datos usados para el estudio corresponden a los accesos de usuarios del 1 al 10 de abril de 2013 entre las 5:00 y 5:59 PM. Para cada día se obtuvo la información de los cerca de 2.7 millones de artículos del sitio de Wikipedia en inglés. Los datos fueron limpiados utilizando un script en PHP y almacenados una base de datos mysql antes de ser exportados nuevamente para realizar el trabajo estadístico en R. En la Figura 1 podemos ver un esquema general de este proceso.

Figura 1. Esquema general del proceso para realizar el ajuste de la distribución de la popularidad de los archivos.

Page 2: Caracterización de la popularidad de los archivos de un wiki a gran escala v3

El resto del informe estará organizado de la siguiente manera: Primero haremos una descripción detallada de los datos, después explicamos la metodología aplicada en el estudio, posteriormente presentaremos el detalle de los resultados y terminamos con las conclusiones y referencias.

3 Características de los datos Los datos fueron obtenidos del repositorio público del proyecto de Wikipedia [4]. Los datos se encuentran clasificados por días y con un granularidad de una hora, en nuestro caso decidimos obtener los archivos correspondientes a las 17 horas, porque consideramos que era la hora del día donde más usuarios se encontraban despiertos y podíamos obtener resultados más representativos. Cada archivo contiene el nombre, el tamaño en bytes y el número de acceso durante esa hora del archivo seleccionado, esto para todos los archivos de todos los proyectos. En nuestro estudio solo nos interesaban los artículos de la enciclopedia (wikipedia), los datos iniciales se procesaron mediante un script escrito en php que generaba otro archivo de texto únicamente con los datos de nuestro interés y en formato apropiado para hacer una inserción directa a la base de datos, aprovechando las ventajas del método LOAD DATA INFILE implementado en mysql. En la figura 2 vemos la implementación del algoritmo usado para realizar esta tarea. for($i = 0; $i < $numLineas; $i++){ $linea = fgets($log); $arrLinea = explode(" ",$linea); if($arrLinea[0] == 'en'){ $test = stripos($arrLinea[1], ':'); $test2 = stripos($arrLinea[1], '.'); if($test === false and $test2 === false){ $linea = $arrLinea[0].":::".$arrLinea[1].":::".$arrLinea[2].":::".$arrLinea[3].":::".$idDia.":!:"; fwrite($dest,$linea); }//if($test === false){ } }

Figura 2. Implementación en PHP del algoritmo de obtención de los datos requeridos para el estudio a partir de los archivos obtenidos del servidor

El archivo resultante cuenta únicamente con los artículos del proyecto de Wikipedia en inglés eliminando los artículos de proyectos de enciclopedia en otros idiomas y otros proyectos como Wikibooks o Wikimedia. Este procedimiento de le aplicó a cada uno de los archivos de los días escogidos para el estudio, a saber, del 1 al 10 de Abril de 2013. El resultado fue una base de datos con 27 millones de registros que recoge toda la información de interés para el estudio. De la base de datos se generaron diferentes archivos de texto, adecuadamente formateados para su trabajo con el software estadístico R.

4 Metodología El estudio persigue dos objetivos a saber, verificar que se puede utilizar muestreo aleatorio para el cálculo de parámetros para la distribución de la popularidad de los artículos de un sitio de gran escala y el estudio de los archivos más populares para realizar observaciones y formular hipótesis para trabajos futuros.

Page 3: Caracterización de la popularidad de los archivos de un wiki a gran escala v3

4.1 Ajuste de la distribución Para realizar el ajuste de la distribución en base a las muestras seguimos la metodología propuesta por Ricci [6] que consiste en:

1. Análisis preliminar y formación de la hipótesis 2. Estimación de los parámetros de la distribución 3. Comprobación de los parámetros de la distribución

4.1.1 Análisis preliminar y formación de la hipótesis

En la literatura [1][2][3] encontramos que los artículos deberían distribuirse siguiendo una ley de potencias, para comprobar esto graficamos los datos de la muestras de cada día como se muestra en la figura 2.

Figura 2. Gráficos para toda la muestra (aproximadamente 2.700.000 artículos) para los 6 primeros días del estudio. La tendencia se mantiene durante los siguientes 4 días.

En los gráficos de la figura 2 observamos que para la mayor parte de la muestra, los primero 2.300.000 artículos la gráfica se ajusta a una línea recta, en la figura 3 los gráficos para de ese rango en 3 días de la muestra.

Page 4: Caracterización de la popularidad de los archivos de un wiki a gran escala v3

Figura 3. Gráficos de los primero 2.300.000 artículos ordenados por popularidad de mayor a menor para los días 1, 6 y 10 del estudio.

El comportamiento del final de la cola sospechamos que se debe al tamaño de muestra que solo contempla una hora del día, en [7] donde los autores del estudio trabajaron con un mes de datos de la misma fuente, no presentan ese comportamiento al final de la cola.

4.1.2 Estimación de los parámetros de la distribución

Como se puede apreciar en las gráficas de las figuras 1 y 2 los gráficos no varían entre los días, lo que hace creer que la función de distribución de popularidad es constante en el tiempo, al menos en el corto plazo. Por esta razón la estimación de parámetros se realizó basándonos en los datos de un solo día.

Para acelerar el cálculo de los parámetros de la distribución se decidió realizar la estimación sobre una muestra, cosa que, hasta donde conocemos no es una práctica común en este tipo de estudios.

Figura 4. Comparación del gráfico del conjunto original (2.300.000 observaciones) y de la muestra

(2.300 observaciones) Como vemos en la figura 4 la forma de la curva del conjunto original de datos y de la muestra obtenida a partir de ese conjunto son muy similares, dado esto decidimos seguir adelante y hacer los cálculos de ajuste de parámetros con la muestra.

Page 5: Caracterización de la popularidad de los archivos de un wiki a gran escala v3

La obtención de la muestra se hizo mediante la implementación de un script en PHP que tomó las observaciones con un espacio entre ellas de 1000 muestras. En la figura 5 podemos ver el algoritmo que genera la muestra.

$step = 1000; $cont = 0; $linea = fgets($log); while ($linea != false) { $cont++; if($cont%$step == 0){ fwrite($dest,$linea); } $linea = fgets($log); }

Figura 5. Algoritmo para generar la muestra de trabajo

A partir de la muestra se realizaron los cálculos en R para la estimación de los parámetros, utilizando las librerías “actuar” que tiene una implementación de la distribución Pareto que se puede utilizar en conjunto con la función fitdtr de la librería MASS. En la figura 6 vemos el código en R y las salidas.

Figura 6. Salida en R para el ajuste de parámetros en la distribución

4.1.2 Comprobación de los parámetros de la distribución

Queremos validar dos cosas: Que los parámetros estimados ajustan efectivamente la distribución de dónde provino la muestra y comprobar que esa estimación en válida para el conjunto de datos original. En ambos casos vamos a utilizar métodos gráficos, en específico, qqplot. En la figura 7 podemos observar los gráficos resultantes para la muestra y para el conjunto de datos original.

Page 6: Caracterización de la popularidad de los archivos de un wiki a gran escala v3

Figura 7. qqplots de las observaciones vs los cuantiles teóricos para la cola en los datos originales y en

la muestra. Los gráficos muestran que es posible encontrar los parámetros de la distribución utilizando el método de muestreo propuesto en este trabajo, ya que en ambas gráficas se observa un comportamiento similar y ajustado a una línea recta. Sin embargo, la distribución Pareto propuesta no ajusta adecuadamente los datos para toda la muestra. En otros trabajos [7][1][2] proponen la utilización de una distribución zipf para el ajuste, recomendamos para trabajos futuros incluir esta distribución y comprobar si efectivamente se ajusta mejor para los primeros datos de la observaciones.

4.2 Observación detallada de los archivos más populares del sitio web. En [1] se estudió la variación de la popularidad en servidores de video en el largo plazo, en [8] la evolución de la popularidad en término de actualizaciones de los artículos y en [9] se demuestra el efecto de eventos externos afectan la popularidad de los artículos en función de los vínculos entrantes. En este trabajo vamos a observar el efecto en términos de cuantitativos de estos picos de popularidad, observar su decaimiento y proponer posibles causas. Para realizar estas observaciones obtuvimos de la base de datos los 100 artículos más visitados de cada uno de los días, luego corrimos un script sobre los datos para obtener el número de veces que aparece cada artículo en el resto de los días, en la tabla 1 se puede ver en detalle el número de ocurrencias tomando como base cada día del estudio. En la figura 8 podemos ver un gráfico de las medias de cada número de ocurrencias.

Page 7: Caracterización de la popularidad de los archivos de un wiki a gran escala v3

Tabla 1. Detalle del número de artículos que aparecen en el top 100 tomando como base el día en cuestión. Por ejemplo si tomamos como base el día 3 del estudio, la primera fila nos indica que 15

artículos solo aparecieron en el top 100 ese día.

Figura 8. Medias del número de artículos en el TOP 100, 44% permanecen los 10 días. 14% en promedio solo dura un día.

Cómo podemos observar tanto en la tabla 1 como en la figura 8 notamos que hay dos grandes grupos, aquellos artículos que se mantienen populares durante todo el estudio (44%), entendiendo como popular el formar parte de los 100 artículos más visitados del sitio, y aquellos que solo son populares por 1 día, que en promedio son el 15%, pero que en ocasiones alcanzaron valores de hasta el 29%. Esto nos lleva a pensar que existen varios factores que inciden en que un artículo se haga popular, estos factores determinan el tiempo que un artículo será popular. Por el tiempo del estudio no podremos analizar el tiempo del decaimiento en la popularidad de los artículos por más de 10 días. Creemos pertinente realizar trabajos futuros en este sentido ya que si bien existen estudios respecto a la variación de la popularidad en el tiempo, [1][2][3][8] no se ha ahondado en las causas de la popularidad. En [9] se estudia como los eventos puntuales

Número de Ocurrencias dia1 dia 2 dia 3 dia 4 dia 5 dia 6 dia 7 dia 8 dia 9 dia 10 Media

Desviación estandar

1 29 13 15 15 15 15 7 23 14 9 14,41 6,352 10 12 7 8 6 5 7 6 6 5 6,93 2,253 1 2 2 4 7 7 8 3 5 6 3,76 2,464 3 9 7 7 5 6 8 6 8 9 6,51 1,875 2 3 5 4 3 4 6 5 5 8 4,20 1,726 4 4 7 5 7 8 8 3 7 8 5,79 1,917 2 2 2 2 2 3 2 2 2 2 2,08 0,328 2 5 5 5 5 3 5 2 4 4 3,78 1,259 3 6 6 6 6 5 5 6 5 5 5,20 0,95

10 44 44 44 44 44 44 44 44 44 44 44,00 0,00

Page 8: Caracterización de la popularidad de los archivos de un wiki a gran escala v3

generan vínculos entrantes pero no como la creación de estos vínculos repercute en la visitas y por cuánto tiempo. En [7] los autores estudian la popularidad y la dividen en dos tipos: popularidad puntual y popularidad sostenida. Esta división es consistente con nuestras observaciones expuestas en la tabla 1 y en la figura 8. También en [7] se presenta una lista de razones o causas externas que generar los diferentes tipos de popularidades. En la figura 10 vemos los gráficos de visitas para los artículos del personaje histórico Maria Sibylla y para la película Fiding Nemo de los estudios Pixar, ambas presentaron picos de popularidad durante un único día.

Figura 10. Número de visitas durante el estudio para los artículos sobre Maria Sibylla y la película

Finding Nemo. La subida en la popularidad de Maria Sibylla se debió a la aparición de un Google doodle en su honor el día 2 de abril de 2013 a nivel a mundial, esto significo salto en términos de peticiones de visitas de 1.142.914.186 en su pico más alto (el día de la publicación del doodle ) a niveles de aproximadamente 2.000.000 de peticiones. Es importante recordar que estamos hablando únicamente de las peticiones de una sola hora del día. Como podemos ver la aparición del doodle generó incremento en la peticiones de un 87.274 % respecto a su valor más bajo de la muestra. El caso de la película Finding Nemo se debió al anuncio que realizó la popular presentadora Ellen DeGeneres en su programa de una secuela de la película también el día 2 de abril de 2013 . En su pico el artículo fue pedido 614.947.009 de veces lo que representó una subida del 3950% respecto a su valor más bajo, es de notar también que el decaimiento en la popularidad de este artículo fue con una curva más suave que en el caso del artículo anterior. Estos son solo dos ejemplos pero consideramos importante, en especial para los administradores de sitios web de distribución de contenido como blogs o sitios de noticias, estudiar con mayor profundidad las causas de las subidas repentinas de popularidad en los artículos para poder tomar las medidas necesarias para prever este tipo de picos cuando se ejecuten acciones publicitarias, de posicionamiento en buscadores, etc. Asimismo creemos que los log que pone a disposición la fundación Wikipedia son una fuente muy valiosa de datos para llevar a cabo estas investigaciones.

Page 9: Caracterización de la popularidad de los archivos de un wiki a gran escala v3

6 Conclusiones En este estudio pudimos comprobar que es posible realizar un buen ajuste en la distribución basándose en un muestreo aleatorio sistemático [10] de las observaciones, usando este método se logró ajustar la mayoría de la cola a una distribución Pareto, sin embargo creemos que una distribución Zipf se podría ajustar mejor a los datos. Pudimos comprobar que los parámetros de la distribución hallados a partir de la muestra, efectivamente ajustan una distribución para todas las observaciones (figura 7). También pudimos detectar dos eventos especiales que dispararon la popularidad de algunos artículos, en particular el doodle de Google y la mención de la presentadora estadounidense Ellen DeGeneres en su programa como causas de las subidas repentinas de popularidad. Creemos que estos resultamos demuestran, a pesar de lo corto del estudio, la gran utilidad que tienen los datos que la fundación Wikipedia hace público en la realización de estudios sobre la popularidad de los archivos en la web.

7 Referencias [1] L. Cherkasova, M.Gupta. “Analysis of Enterprise Media Server Workloads: Access Patterns, Locality, Content Evolution, and Rates of Change”. IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 12, NO. 5, OCTOBER 2004, pp 781-790. [2] C. Roadknight, I. Marshall and D. Vearer, “File Popularity Characterisation”, Proceedings of the 2nd Workshop on Internet Server Performance (WISP ‘99), Atlanta, GA, May 1999. [3] V. Almeida, A. Bestavros, M. Crovella and A. de Oliveira, ‘‘Characterizing Reference Locality in the WWW’’, Proceedings of 1996 International Conference on Parallel and Distributed Information Systems (PDIS ‘96), pp. 92-103,December 1996. [4] Dirección URL para la obtención de las trazas de vistas de los artículos y archivos de los proyectos de Wikipedia.org (Page view statistics for Wikimedia projects) http://dumps.wikimedia.org/other/pagecounts-raw/ [5] Ranking de Alexa parea el momento del estudio colocaba a google.com como la página más visitada del mundo. http://www.alexa.com/topsites [6] V. Ricci. “Fitting distributions with R”. http://cran.r-project.org/doc/contrib/Ricci-distributions-en.pdf . Release 0.4-21 Febrero 2005. [7] A. West, Milowent. “Examining the popularity of Wikipedia articles: catalysts, trends, and applications”. http://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2013-02-04/Special_report. 4 Febrero 2013 [8] R. Almeida, B.Mozafari, J. Cho, “On the Evolution of Wikipedia”. ICWSM’2007 Boulder, Colorado, USA. [9] J. Ratkiewicz, S.Fortunato,A.Flammini,F. Menczer, A. Vespignani “Characterizing and Modeling the Dynamics of Online Popularity”. PHYSICAL REVIEW LETTERS, Lett.105, 8 de Octubre de 2010. [10] Tipos de muestreo. http://es.wikipedia.org/wiki/Muestreo_en_estad%C3%ADstica