Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
En la sección "Introducción al problema" hemos puesto de manifiesto la necesidad de hallar la relación existente entre diferentes blogs. Pretendemos ofrecer al lector de un determinado blog una lista de otras bitácoras que, con una cierta probabilidad, puedan interesarle o bien, dado un determinado autor, que otros autores tratan temas similares.
Este tipo de problema se encuadra dentro del campo de la minería de datos o data mining.
"Data mining es el proceso de extracción de conocimiento a partir de una gran cantidad de datos" (12) . El termino data mining no es del todo correcto. Si nos referimos a la minería del carbón o de las piedras preciosas no decimos que estamos hablando de minería de la tierra, de las rocas o de la arena, aunque sean estos los materiales de los que se extraen las piedras preciosas o el carbón. Sería entonces más correcto hablar de minería del conocimiento o extracción del conocimiento. Sin embargo, y pese a que el termino no sea del todo correcto, es el termino más utilizado cuando nos referimos al proceso de extracción de conocimiento.
Es típico encontrar en sistemas industriales, científicos, comerciales y sistemas de información en general, bases de datos con grandes cantidades de datos, que un humano no es capaz de asimilar. Consideremos por ejemplo, la base de datos que utiliza Blogalia, en la que se almacenan los blogs. Si realizamos un rápido recorrido por los registros de esa base de datos, encontraremos cientos de historias y miles de comentarios realizados por los lectores. Será necesario aplicar un proceso de extracción de conocimiento sobre esos datos para poder obtener información interesante para el lector de un blog.
El proceso de extracción de conocimiento tiene las siguientes fases:
Los procesos de limpieza, integración y transformación de los datos son fundamentales en cualquier proceso de minería de datos. Existen numerosas técnicas que pueden aplicarse a estos procesos y dependiendo del posterior procesador en la fase de data mining es posible que se requiera un preprocesado más o menos complejo. En el problema que nos ocupa, nuestros datos relevantes son los links que encontramos en las historias de los blogs y el proceso de limpieza consiste en aislar estos links y eliminar los erróneos.
Fase minería de datos
Nos centraremos ahora en analizar la fase más
importante del proceso, la minería de datos. En esta fase
se aplican diferentes técnicas dependiendo del tipo de
problema.
Las técnicas más usuales se agrupan en reglas de
asociación, clasificación y
predicción, análisis de agrupamiento
(clustering analysis), análisis de datos
anómalos (outlier analysis) y
análisis de la evolución. Realizaremos una
revisión de todas estos métodos mostrando algunos
ejemplos de las técnicas más utilizadas dentro de
cada grupo.
Reglas de asociación
Las técnicas basadas en reglas de asociación tienen por objetivo descubrir reglas que muestran condiciones del tipo atributo-valor que ocurren frecuentemente en un conjunto de datos. Las reglas de asociación son muy utilizadas en el análisis de cestas de la compra.
Ejemplo:
Las reglas de asociación pueden tener la siguiente forma:
Las personas que compran grabadoras de CDs compran CDs vírgenes:
grabadoras de CDs → CD virgen con un [ soporte (support) 10% y una confianza (confidence) 70%]
Un 10% de soporte no indica que en un 10% del total de las cestas de la compra aparece una grabadora de CDs y una confianza del 70% indica que un 70% de las cestas de la compra en las que aparece una grabadora de CDs también encontramos CDs vírgenes.
Los parámetro soporte y confianza sirven para evaluar la calidad de una regla.
Posteriormente analizaremos en profundidad este tipo de técnicas que han sido las elegidas para dar solución al problema de relacionar weblogs objeto de este trabajo.
La WWW es un servicio de información global ampliamente distribuido que ofrece información sobre noticias, anuncios, información para el consumidor, comunicación entre comunidades virtuales (weblogs), gestión financiera, educación, comercio electrónico, y otros muchos servicios de información. La Web también contiene una rica y dinámica colección de hiperlinks e información del acceso y del uso de los servidores Web, proporcionando una rica fuente de información para la minería de datos. La Web posee también grandes desafíos cuando se trata de descubrir de forma efectiva los recursos y el conocimiento que entraña. (12)
- La información del web es del orden de
cientos de terabytes y continúa su rápido
crecimiento.
- La complejidad de las páginas
web es mayor que cualquier otra colección de
documentos
de texto.
- La web es una fuente de información altamente
dinámica.
- La web sirve información a
una amplia diversidad de comunidades de usuarios.
-
Solo una pequeña parte de la información en la
web es realmente relevante.
Estos desafíos han
provocado la investigación en el descubrimiento
efectivo y eficiente de recursos en Internet.
Existen muchos buscadores basados en índices (ej. Google, Yahoo!, Excite, Altavista, ...) que permiten realizar exploraciones en la Web. Usualmente, estos buscadores permiten encontrar conjuntos de páginas que contienen ciertas palabras. Sin embargo, estos buscadores tienen algunas deficiencias:
· Cualquier cadena de búsqueda puede contener fácilmente cientos de miles de documentos. Muchos de estos documentos tienen una relación marginal con la cadena buscada o son documentos de poca calidad.
· Documentos altamente relevantes pueden no tener palabras clave que los definan.
· La polisemia aporta infinidad de documentos de escaso interés.
Esto nos hace pensar que los buscadores actuales no son suficientes para descubrir recursos en Internet y motiva el desarrollo de técnicas de minería de la Web más eficientes.
Las técnicas del Web mining se centran en tres aspectos:
La idea de utilizar reglas de asociación para aplicar a conjuntos de elementos en grandes bases de datos fue de Rakesh Agrawal, Tomasz Imielinski y Arun Swami del Centro de investigación Almaden de IBM en California. El artículo en el que se trató este tema por primera vez tenía el nombre de "Mining Association Rules between Sets of Items in Large Databases" (18) .
Según este artículo, las reglas de asociación se definen de la siguiente manera: sea I = I1, I2, ..., Im un conjunto de atributos binarios llamados elementos. Sea T una base de datos de transacciones. Cada transacción t está representada como un vector binario, con t[k]=1 si t compró el elemento Ik, t[k] = 0 en otro caso. Existe una tupla en la base de datos por cada transacción. Sea X un conjunto de algunos elementos de I . Decimos que una transacción t satisface X si para todos los elementos Ik de X, t[k] = 1.
Ejemplo: Sea I = {monitor, ratón, grabadora, cd, dvd}
I1 = monitor
I2 = ratón
I3 = grabadora
I4 = cdI5 = dvd
y la siguiente base de datos de transacciones T:
t1 { 0 1 1 1 0 }
t2 { 0 0 1 1 0 }
t3 { 1 1 0 0 0 }
t4 { 1 0 0 0 0 }
t1 satisface a X={ratón, grabadora, cd}
t2 satisface a X={grabadora, cd}
t3 satisface a X={monitor, ratón}
t4 satisface a X ={monitor}
Una regla de asociación es una implicación de la forma X => Ij , donde X es un conjunto de algunos elementos de I, e Ij es un elemento de I que no está presente en X.
La regla X => Ij se satisface en el conjunto de transacciones T con un factor de confianza 0 ≤ c ≤ 1 si al menos un c% de las transacciones que satisfacen X también satisfacen Ij.
Ejemplo:
Transacciones que satisfacen X ={raton} : {t1, t3}
Transacciones que satisfacen Ij ={grabadora} : {t1, t2}
Existen dos transacciones que satisfacen X={raton}. De las dos transacciones {t1, t2}, una {t1} también satisface Ij, es decir un 50% de las transacciones que satisfacen X {t1} también satisfacen Ij {t1}
Luego, podemos decir que la regla {ratón} => {grabadora} se satisface en el conjunto de transacciones T con un factor de confianza c = 0,5
Dado un conjunto de transacciones T, estamos interesados en generar todas las reglas que satisfacen ciertas restricciones adicionales de dos diferentes formas:
Ejemplo:
Para la regla {ratón} > {grabadora}, la unión de antecedente y consecuente es {ratón, grabadora}.
Existe una transacción de T que satisfacen al conjunto {ratón, grabadora}, {t1}
luego el soporte de la regla {ratón} => {grabadora} es 1.
En esta formulación, el problema de la minería de las reglas puede ser descompuesto en dos subproblemas:
Habiendo determinado el conjunto de elementos mayor, la solución al segundo subproblema es más directa. En la siguiente sección analizamos el algoritmo Apriori basado que utiliza las técnicas de las reglas de asociación.
Algoritmo Apriori
Este algoritmo fue propuesto por Rakesh Agrawal y Ramakrishnan Srikant, del Centro de Investigación Almaden de IBM en el artículo "Fast Algorithms for Mining Association Rules" (17) .
El problema de descubrir todas las reglas de asociación puede descomponerse en dos subproblemas:
En este caso analizamos las respuesta a la encuesta realizada por el blog Tintachina. La pregunta que nos interesa analizar es ¿Cuáles son los tres últimos weblogs que has leído?. Como resultado del análisis de las respuestas utilizando reglas de asociación y concretamente el algoritmo Apriori, podremos saber, por ejemplo que los usuarios que leen el blog bandaancha.st también leen a barrapunto.com con un determinado soporte y confianza.
Definición formal del problema
Sea I = I1, I2, ..., Im un conjunto de atributos binarios llamados URLs de Weblogs. Sea T una base de datos de encuestas. Cada encuesta t está representada como un vector binario, con t[k]=1 si t leyó el Weblogs Ik, t[k] = 0 en otro caso. Existe una tupla en la base de datos por cada encuesta. Sea X un conjunto de algunos elementos de I . Decimos que una encuesta t satisface X si para todos los elementos Ik de X, t[k] = 1.
Proceso para llegar a la solución:
1. Limpieza de los datos. Eliminación de ruido y datos inconsistentes De toda la información contenida en los ficheros iniciales xmllectores.xml webloggers.xml, nos quedamos con la respuesta a la pregunta 3. Eliminamos, mediante expresiones regulares los URLs de las bitácoras con datos nulos, respuestas en blanco y respuestas erróneas ¡Error! No se encuentra el origen de la referencia. . Generamos un fichero solo con las respuestas a la pregunta ¿Cuáles son los tres últimos weblogs que has leído? de las respuestas a los cuestionarios de los lectores y los wegloggers.
2. Integración de los datos. Se combinan diferentes fuentes de datos Integramos los datos de los ficheros de webloggers y lectores en uno denomidado todos.xml.
3. Selección de los datos. Se obtienen los datos más relevantes de la base de datos. En nuestro caso, y salvo los datos anómalos, eliminados en la fase 1. Limpieza de los datos, utilizaremos todas las respuestas a las consultas.
4. Transformación de los datos. Los datos se convierten al formato que más interesa para poder aplicar a la siguiente fase del proceso. Realizamos varias transformaciones hasta obtener un fichero con los códigos que representan a los URLs y las cestas de la compra representadas por diferentes códigos en una línea de texto (¡Error! No se encuentra el origen de la referencia.) que aplicaremos al algoritmo Apriori en la fase de minería de datos .
a) Codificación de los URLs. Utilizamos el array asociativo hash_codigos_urls para este propósito. Introducimos cada URL en la llave del array y mediante un contador asociamos un código, previa comprobación de que el URL no haya sido introducido previamente.
b) Composición de las cestas de la compra. Cada respuesta a la pregunta ¿Cuáles son los tres últimos weblogs que has leído? Constituye para nuestro propósito una cesta de la compra. Tras la codificación de los URLs de los blogs que los lectores y bloggers dieron como respuesta a la pregunta, se guardan en el fichero ¡Error! No se encuentra el origen de la referencia. los códigos correspondientes a cada respuesta, introduciendo un retorno de carro antes de pasar a otra respuesta. De esta forma generamos el fichero ¡Error! No se encuentra el origen de la referencia., con el formato requerido para poder aplicar al algoritmo Apriori.
5. Minería de datos. Proceso fundamental en el que se aplican los métodos inteligentes para la obtención de patrones.
Aplicamos el algoritmo Apriori al fichero con las cestas de la copra. Nuestra cesta de la compra contiene URLs con los blogs que los lectores han leído más recientemente. El algoritmo utiliza dos parámetros min support y min confidence. Hemos realizado diferentes pruebas variando el soporte mínimo y la confianza mínima parámetros. Las confianzas utilizadas han sido 0,5 , 0,6 , 0,7 0,8 y 0,9 . Para cada confianza hemos realizado pruebas variando el soporte.
6. Evaluación de los patrones. Para obtener las reglas realmente interesantes que representan el conocimiento.
Al avaluar las reglas tenemos que considerar que la gran diversidad de nuestros artículos ya que cada weblog se corresponde con un artículo y existen en el mundo cientos de miles de weblogs que los usuarios han podido dar como respuesta. Esto provoca que el soporte es muy bajo, al existir una gran variedad de artículos a elegir, estos no se van a repetir mucho en las cestas de la compra, y por lo tanto el soporte que apoya las reglas de asociación es muy bajo. En muchos de los casos el soporte es cercano a 0,006 . Es posible que en otro tipo de problemas, reglas con un soporte tan bajo sean descartadas. En nuestro caso y dada la gran diversidad de artículos, estas reglas son representativas y de gran utilidad.
7. Representación del conocimiento. Donde se utilizan técnicas para mostrar el conocimiento extraído al usuario.
Para la represtación del conocimiento, además de la conversión de las reglas codificadas en reglas con los URLs de los blogs, proponemos (como trabajo futuro) la implementación módulos que se integren en los blogs, de forma que el lector pueda acceder on-line al conocimiento extraído. Por ejemplo, un usuario que lea barrapunto.com pueda acceder a un recuadro de información de este tipo:

La información se obtendría como resultado del análisis de las siguiente reglas:

Esta información puede ser muy útil para que los lectores descubran Blogs que guardan relación con los que lee habitualmente.
A continuación se muestran recuadros con secciones de los ficheros de datos y código aclaratorios de las explicaciones de las fases de data mining.

Fichero inicial de partida en formato XML con las respuesta a la encuesta realizada por el Blog Tintachina

Fichero que contiene solo las respuestas a la pregunta ¿Cuáles son los tres últimos weblogs que has leído? en formato XML

Expresiones regulares utilizadas para la limpieza de los datos

Sección del código que asigna códigos a los URLs de los blogs y genera las cestas de la compra.

Fichero que contiene la representación de las cestas de la compra. Cada código corresponde a un URL de un blog. Cada línea representa las respuesta que un usuario ha dado a la pregunta ¿Cuáles son los tres últimos weblogs que has leído?

Este fichero contiene los códigos que se han asociado a cada uno de los URLs de los blogs.

Este fichero contiene las reglas de asociación generadas por el algoritmo Apriori con los códigos de los URLs

Fichero que contiene las reglas de asociación generadas por el algoritmo Apriori y la posterior transformación de los códigos por sus correspondientes URLs.
TITOL]Análisis de los resultados
El estudio se ha realizado sobre una encuesta realizada a lectores de weblogs que respondían, entre otras, a las siguiente pregunta ¿Cuáles son los tres últimos weblogs que has leído?
Después de analizar los resultados, por parte de un experto conocedor de muchos de los weblogs a los que se refieren los lectores hemos podido hallar relación entre los weblogs que aparecen en las reglas de asociación.
Por ejemplo, la regla:
bandaancha.st ==> barrapunto.com (0.692308, 9)
con un factor de confianza 0.69 y un soporte de 9 reglas hace referencia a dos weblogs que tratan temas tecnológicos.

Sería necesario que un experto explorase los weblogs para poder determinar cuales están relacionados. A través de la aplicación de las reglas de asociación podemos recomendar a los lectores de un determinado weblog otros weblogs de temas similares, sin necesidad de la supervisión por parte de un experto.
Se han realizado diferentes grupos de pruebas, variando el soporte mínimo (min support) y la confianza mínima (min confidence). Ha sido necesario bajar el valor del soporte hasta 0,001 para obtener 96 reglas con una confianza mínima de 0,6, ya que con un soporte mínimo 0,1 no se obtiene ninguna regla. En cambio, si bajamos el soporte mínimo hasta 0,006 obtenemos 5.800 reglas.
De los resultados obtenidos consideramos interesante destacar los valores de soporte obtenido para las reglas. Obtenemos un soporte muy bajo (0,001 a 0,0006) y sin embargo los resultados han sido considerados interesantes por un experto. Justificamos este hecho por dos cuestiones. La primera, es la variedad de artículos de nuestro supermercado, siguiendo el ejemplo propuesto en (18) es relativamente muy grande. Nuestros artículos son URLs que apuntan a weblogs. Hemos contabilizado más de 2160 artículos en este ejemplo y trabajamos sobre una base de datos de 1473 cestas de la compra. Esta es la razón, por la cual el soporte el muy bajo, la gran variedad de artículos (URLs) y el bajo número de cestas de la compra (encuestas).
Los siguientes gráficos muestran la variación del número de reglas con respecto al soporte mínimo y a la confidencia mínima.



Podemos concluir del trabajo realizado que, en general, los resultados son aceptables. Las reglas obtenidas ofrecen una información muy interesante a la hora de clasificar las bitácoras partiendo de las respuestas de los lectores. Los resultados pueden mejorar sustancialmente al disponer de un número de encuestas mayor. Esto a la vez nos hace reflexionar en la idea de que el algoritmo Apriori basado en las reglas de asociación no solo funciona bien en grandes bases de datos, como se presente en un principio (18) , sino que además presenta resultados más que aceptables en bases de datos más pequeñas.
Como trabajos futuros planeamos la aplicación del algoritmo Apriori para proponer al lector de una historia perteneciente a un weblog, enlaces que puedan serle interesantes. Para este propósito utilizaremos las historias como cestas de la compra y los URLs de la historia como artículos.
Otro trabajo a realizar en la misma línea será el de relacionar bitácoras, utilizando los URLs que aparecen en la bitácora de un webloger (creador de un weblog) como cesta de la compra y los códigos correspondientes a las bitácoras como artículos.
Otro de las líneas futuras de trabajo será la aplicación de algoritmos para la obtención de reglas de asociación más eficientes, así como métodos para determinar cuales son los soportes mínimos y confidencias mínimas más interesantes para obtener un conjunto de reglas optimo.
También creemos interesante trabajar en la línea de la representación del conocimiento que sean más útiles para los usuarios de los weblogs. Una de los posibles representaciones sería la presentación del conocimiento on-line en el momento de la lectura de la historia a través de recuadros en la misma página de la historia desde la cual el lector pueda acceder a temas relacionados.
[1] - Tintachina, "Entrevista a Carlos Tirado de Bitácora Tremendo", agosto 2003. Disponible en www.blogosfera.com
[2] - Rebecca Blood, "weblogs: a history and perspective", septiembre 2000. Disponible en www.rebeccablood.net
[3] - Barry M. Leiner, Vinton G. Cerf, David D. Clark, Robert E. Kahn, Leonard Kleinrock, Daniel C. Lynch, Jon Postel, Larry G. Roberts, Stephen Wolff, "A Brief History of the Internet", diciembre, 2003. Disponible en www.isoc.org
[4] - Dan Connolly, "A Little History of the World Wide Web", 2000. Disponible en www.w3.org
[5] - Tim Berners-Lee, "The World Wide Web: Past, Present and Future", agosto 1996 . Disponible en www.w3.org
[6] - William F. Slater, "Internet History and Growth", Chicago Chapter of the Internet Society, September 2002. Disponible en www.isoc.org
[7] - Internet Society, "A Brief History of the Internet and Related Networks", noviembre 2001. Disponible en www.isoc.org
[8] - Tim Berners-Lee, "Frequently asked questions", 2004. Disponible en www.w3.org
[9] - Dave Winer ,"The History of Weblogs", 1999. Disponible en newhome.weblogs.com
[10] - Alejandro Piscitelli, Raúl Drelichman "Tomándonos la historia de los weblogs en serio", Junio de 2004 . Disponible en www.ilhn.com
[11] - Mercè Molist, "Arrasan los ‘weblogs’", El país semanal, 25 de abril 2004
[12] - Jiawei Han, Micheline Kamber, "Data Mining, Concepts and Techniques", 2001
[13] - Minos N. Garofalakis, Rajeev Rastogi, S. Seshadri, Kyuseok Shim, "Data mining and the Web: Past, Present and Future"
[14] - J. M. Kleinberg. Autoritative sources in a hyperlinked environment. Journal of ACM, 46 :604-632, 1999
[15] - K. Wang, Szhou, S.C. Liew, "Building hierarchical classifiers using class proximity". Proc. 1999 Int. Conf. Very Large Database (VLDB’99) pag. 363-374, Edimburgo, UK, sept. 1999
[16] - S. Chakrabarti, B.E. Dom, P. Indik. "Enhaced hypertext classification using hyper-links". Proc. 1998 ACM-SIGMOD Int. Conf. Management of Data (SIG-MOD’98) 307-318, Seatle WA, Junio 1998
[17] - R. Agrawal, R. Srikant. "Fast Algorithms for Mining Association Rules", Proc. 1994 Int. Conf. Very Large Database (VLDB’94), pag. 487-499, Santiago, Chile
[18] - R. Agrawal, T. Imielinski, A. Swami, "Mining association rules between sets of items in large databases". Proc, ACM SIGMOD, Conf. on Management of Data, pag. 207-216, Washington, D.C., Mayo 1993
Notas
[a] - En septiembre de 2002 se estimaba que Internet tenía unos 840 millones de usuarios y 200 millones de hosts, fuente Netsizer.com – de Telcordia (6)
[b] - Blogger contabilizó unos 45.000 weblogs creados por mes (2)
[c] - El término "bitácora" (procedente del latín habitaculum) se refiere a un compartimento donde se guardaba la brújula, el cuaderno en el que se hacían las anotaciones de la navegación, el compás y otros instrumentos. Gustavo Arizpe, fue uno de los primeros en utilizar este termino en "Area Estratégica" en diciembre de 1999 (http://estrategica.editthispage.com/1999/12/19) (1)
[d] -
Juan Julián Merelo · José Carpio Cañada · José Carpio Cañada · Fernando Tricas García · Gemma Ferreres · Beatriz Prieto -
Estos contenidos son Copyleft bajo una licencia de Creative Commons
![]()
Pueden ser distribuidos o reproducidos, mencionando su autor,
siempre que no sea para un uso económico o comercial. No
se pueden alterar o transformar, para generar unos
nuevos.
http://creativecommons.org/licenses/by-nc/2.0
Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
Trabajos relacionados
Ver mas trabajos de Internet |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.
Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.
Ingrese el e-mail y contraseña con el que está registrado en Monografias.com
|
|