Sunteți pe pagina 1din 93

UNIVERSIDAD AUTONOMA METROPOLITANA

APLICACIONES DE REGLAS DE ASOCIACIN PARA WEB MINING

TESIS
QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS DE LA COMPUTACION PRESENTA:

ING. JOSE GUADALUPE MEJIA VEGA

EN LA UNIVERSIDAD AZCAPOTZALCO
DIRIGIDA POR:

AUTONOMA

METROPOLITANA

UNIDAD

DR. ENRIQUE POULAIN GARCIA

JOSE MEJIA 2002 UNIVERSIDAD AUTONOMA METROPOLITANA DICIEMBRE 2002

TODOS LOS DERECHOS RESERVADOS. ESTA OBRA NO PUEDE SER REPRODUCIDA EN PARTES O EN SU TOTALIDAD POR MEDIO DE FOTOCOPIADORA U OTROS MEDIOS SIN EL PERMISO EXPRESO DEL AUTOR

RESUMEN

El crecimiento explosivo de Internet y particularmente de la World Wide Web (WWW), ha hecho cada vez ms necesario para las instituciones y empresas utilizar herramientas automatizadas para encontrar, extraer, filtrar y evaluar los recursos de informacin disponibles. La minera de datos (data mining) ha sido definida como una metodologa para la identificacin de patrones no triviales validos, nuevos, comprensibles y potencialmente tiles posibles de extraer de un conjunto enorme de datos. Los factores antes mencionados dan lugar a la necesidad de crear sistemas inteligentes, que puedan hacer bsquedas o minera en la Web para obtener conocimiento. El Web mining (minera de datos de la Web) puede definirse como el descubrimiento y anlisis de informacin til que se puede obtener de la WWW. El presente trabajo tiene como finalidad minar un campo del repositorio de datos que contiene los localizadores uniformes de recursos (URLs o direcciones electrnicas) de los sitios buscados y utilizados por los usuarios de un servidor de Red, estos sitios son analizados y se disea un algoritmo de bsqueda para asociar los atributos que caracterizan a los empleados de una institucin o empresa (estado civil, sexo, nivel, profesin, ,,,) a dichos URL`s con la finalidad de encontrar reglas asociadas a alguna caracterstica de bsqueda en la Web, en particular en este caso se presenta la utilizacin de sitios asociados a la pornografa. Para ello, se analiza el URL mediante bsqueda de patrones dentro del mismo campo. Es decir por medio de las reglas de asociacin, que es una tcnica de la minera de datos que asocia la pornografa mediante un conjunto de palabras: diccionario, a las variables socioeconmicas de un conjunto de individuos y por otra se determinan los usuarios que visitan sitios Web pornogrficos.

NOMBRE:

JOSE GUADALUPE MEJIA VEGA

GRADO:

MAESTRO EN CIENCIAS DE LA CONPUTACION

TITULO DE LA TESIS:

APLICACIONES DE REGLAS DE ASOCIACION PARA WEBMINING

JURADO:

M.C. ROBERTO FLORES RODRIGUEZ PRESIDENTE

__________________________________

DR. ANA LILIA LAUREANO CRUCES SECRETARIO

__________________________________

DR ENRIQUE GRABRIEL POULAIN GARCIA VOCAL

____________________________

FECHA DE APROBACION:

15 de enero del 2003

Queridos jvenes estudiantes: Les escribo esta carta con el fin de transmitirles un poco de mi experiencia de vida, buscando que contribuya a su formacin, a su manera de pensar y de vivir, a su equilibrio emocional, a su sentido de responsabilidad para con ustedes y para con los dems, a su madurez y, sobre todo, a su felicidad producto de un ser y que hacer cotidiano. Son ustedes privilegiados dentro de la sociedad por la razn ms importante, su propio valor. El xito no es hacer bien o muy bien las cosas y tener el reconocimiento de los dems. No es una opinin exterior, es un estado interior. Es la armona del alma y de sus emociones, que necesita del amor, la familia, la amistad, la autenticidad, la integridad. El ser tan destacado como ustedes significa un privilegio, pero entraa tambin muchos riesgos que puedan afectar valores muy superiores al xito profesional, econmico, social o poltico. La fortaleza y el equilibrio emocional estn en la vida interior, y en evitar aquellos sentimientos que corroen el alma, la envidia, los celos, la soberbia, la lujuria, el egosmo, la venganza, la avaricia, la pereza y que son venenos que se ingieren poco a poco. Cuando den, no esperen recibir, queda aroma en la mano que da rosas, no permitan que sentimientos y opiniones negativas dominen su nimo. El dao emocional no viene de terceros, se fragua y se desarrolla dentro de nosotros. No confundan los valores, ni menosprecien sus principios. El camino de la vida es muy largo, pero se transita muy rpido. Vivan el presente intensa y plenamente, que el pasado no sea un lastre y el futuro sea un estmulo. Cada quien forja su destino y puede influir sobre su realidad, pero no la ignoren. Lo que ms vale en la vida no cuesta y cuesta mucho: el amor, la amistad, la naturaleza y lo que sobre ella ha logrado el hombre de formas, colores, sonidos, olores, que percibimos con nuestros sentidos, pero slo si los tenemos despiertos. Vivan sin miedos y sin culpas; los miedos son los peores sentimientos del hombre, lo debilitan, inhiben su accin y lo deprimen, y las culpas son un lastre enorme en nuestro pensar, al actuar y en la vida. Hacen difcil el presente y obstruyen el futuro. Para combatirlos seamos sensatos, aceptmonos como somos, nuestras realidades, nuestros gozos y nuestras penas. La ocupacin desplaza a la preocupacin y los problemas al enfrentarlos desaparecen, as los problemas deben hacernos ms fuertes, de los fracasos aprender y hacer de los xitos estmulos callados. Acten siempre como les dicte su conciencia pues a sta nunca se le engaa, as los miedos y las culpas sern mnimas. No se encierren, ni arruinen su vida, vvanla con la inteligencia, el alma y

los sentidos despiertos y alerta; debemos conocer sus manifestaciones y educarnos para apreciarlas y disfrutarlas. El trabajo bien hecho no es slo una responsabilidad con la sociedad, es tambin una necesidad emocional. Al final nos vamos sin nada, slo dejamos nuestras obras, familia, amigos, y quiz la influencia, por las ideas que en ellos hayamos dejado. Con mis mejores deseos. Carlos Slim Hel. 25 de agosto de 1996

AGRADECIMIENTOS

Muchas personas han influido en mi camino dentro de la universidad en el periodo transcurrido desde que obtuve el ttulo de licenciado hasta llegar a optar por el grado de maestro; afortunadamente, la mayora de ellas lo han hecho bien. Espero no omitir a ninguna de ellas en estos agradecimientos, y si alguna se me escapa le ruego sea tolerante a mis fallos. En primer lugar quiero expresar mi agradecimiento al Instituto Mexicano del Petrleo, donde me inicie en el mundo de la investigacin y la docencia y que me ha animado constantemente en mi camino. Quiero citar aqu al M.C. Roberto Flores, Jefe del Departamento de soporte tcnico, quien siempre ha mostrado apoyo y me ha depositado su confianza. Igualmente, quiero manifestar mi agradecimiento al director de este trabajo, Dr. Enrique Poulain Garca, quien con su asesoramiento cientfico, sus consejos en la direccin, su estima y el empuje que siempre me ha transmitido ha hecho posible esta memoria de investigacin, al igual que ha hecho posible otras muchos proyectos an ms complejos dentro de esta universidad. No puedo dejar de nombrar a los compaeros de Tecnologa Informtica que han estado en el proyecto desde un principio, con los cuales he tenido unas excelentes relaciones, hemos compartido diversos proyectos y me han apoyado en todos mis pasos; especialmente Ing. Felipe Beltran, Ing. Edel Angel, y al Ing. Alfredo Raymundo; tambin quiero nombrar al Lic. Alejandro Romero quien me dio la oportunidad de desarrollarme como administrador de base de datos. Quiero adems agradecer el trato recibido por el resto de compaeros del departamento y por una larga lista de personas dentro de la comunidad Institucional. Un prrafo adicional a todos los compaeros de sistemas, empezando por mis compaeros Lic. Salvador Velazco, Ing. Roberto Nicols, Ing. Ismael Ruiz, Lic. Anabel Ceballos, Lic. Martha Melchor, Lic. Alfonso Suarez... Todos ellos expertos en base de datos, la lista es casi interminable, a parte de variable (incrementalmente), por lo cual no puedo nombrar personalmente; dense todos por agradecidos al leer esto. Quedo al servicio de todos ustedes y animo a todos los que tienen que defender sus tesis en un futuro no lejano. Reflejo aqu la cordialidad recibida, con un cario especial para el Ing. Roberto Nicols y para los futuros maestros, que tanto me han ayudado y animado, en la revisin del algoritmo minero y adems han deseado el buen fin de este trabajo, casi tanto como el del suyo propio.

DEDICATORIA

A mi Mam, Pap y a mis hermanos, por todo el amor y fortaleza que me han dado, porque cada uno de ustedes forma parte de lo que soy, esta tesis es una superacin no solo personal sino tambin familiar, sin ustedes jams lo hubiera logrado. A mis amigos, por su inmenso cario y apoyo, por estar conmigo en todo momento. A mis compaeros de trabajo, aquellos que desean siempre lo mejor para m. A Janet, Teresa y Karen, que tantas alegras me dan y a las que a veces no dedico el cario y la paciencia que merecen. A mi amigo y compaero Roberto Nicols por compartir sus conocimientos, por su gran ayuda y apoyo. Gracias a el he terminado este trabajo A mi asesor de tesis Profesor Enrique Poulain Garca por su dedicacin y tiempo. Al Instituto Mexicano del Petrleo y la UAM-A por darme la oportunidad de aprender en estas dos grandes Instituciones.

ESTRUCTURA DE LA MEMORIA El presente trabajo consta de seis captulos, bibliografa general y anexos. En capitulo I se presentan los antecedentes de la minera de datos, se proporciona el panorama general de cmo surge a partir de los almacenes de datos o data warehouse (DW) y de la tecnologa OLTP (On Line Transaction Process), as como tambin se enfatiza el crecimiento explosivo de Internet. El capitulo II muestra la justificacin (motivacin) del presente trabajo de investigacin, se aborda el tema de minera de datos desde el punto de vista de almacenamiento masivo de informacin y alto costo que conlleva el anlisis de la informacin. El capitulo III se dan los objetivos generales y particulares del presente trabajo, se acenta en la bsqueda de patrones dentro de un conjunto enorme de datos, con una metodologa que permita hacer minera de datos: tcnica de reglas de asociacin. En el IV capitulo se proporciona la metodologa, la preparacin del archivo para el minado y se hace la descripcin del proceso de extraccin, transformacin y transportacin de los datos. Tambin se muestra un diagrama entidad-relacin del repositorio y se presentan las preguntas ms comunes que el webmining pretende responder. El capitulo V describe que son las reglas de asociacin, se mencionan algunas aplicaciones de las mismas y se explica el algoritmo Apriori-i mediante un ejemplo, se abordan los contenidos de la pornografa en la Internet, que es el caso de aplicacin del algoritmo y se muestran las grficas de las reglas de asociacin ms importantes encontradas en esta investigacin y una tabla de elementos de patrones de pornografa. Los posibles riesgos, tanto ticos como profesionales por el uso de la minera de datos se muestran en el capitulo VI, se puede daar moralmente o invadir la privacidad e integridad de las personas, se presenta un caso real, as como las consideraciones que se deben de tomar en cuenta para no caer en problemas ticos o legales. Finalmente, se incluyen conclusiones de la presente investigacin, a continuacin se dan las referencias, en su mayora son de las revistas de IEEE y ELSEVIER. El anexo A muestra la estructura del archivo que se mina en esta investigacin y se proporciona el cdigo de los scripts utilizados en el proceso de extraccin, transformacin y transportacin de los datos. El anexo B muestra los recursos requeridos y disponibles para este proyecto.

INTRODUCCION

En la actualidad se cuenta con una gran variedad de herramientas para coleccionar enormes cantidades de datos, muchos de ellos han sido continuamente almacenados en bases de datos, las cuales crean una inminente necesidad y grandes oportunidades para encontrar conocimiento que puede estar inmerso en ese gran conjunto de datos y que no es visible a simple vista. Las reglas de asociacin es una de las tcnicas de la minera de datos la cual tiene como objetivo encontrar reglas fuertes o correlacin entre datos. Las reglas descubiertas pueden ayudar a realizar un anlisis de los datos mas detallados y analizar los eventos que se encuentran dentro de ellos, por ejemplo: administracin de negocios, toma de decisiones, anlisis de ventas o la bolsa de valores. En esta tesis se propone y desarrolla una aproximacin de lo que son las reglas de asociacin, las cuales tienen su origen en la tecnologa OLAP (on line analytical process), para ello se emplea una metodologa que propone la construccin del repositorio de datos (extraccin, transformacin y transportacin de los datos) para posteriormente implementar un algoritmo asociativo que nos proporciona reglas fuertes basadas en los parmetros frecuencia (support) y confianza (conffidence), nuestro estudio muestra que esta aproximacin presenta grandes ventajas en trminos de flexibilidad y eficiencia.

INDICE

INTRODUCCION 1 2 3 4 ANTECEDENTES JUSTIFICACION OBJETIVOS GENERALES Y PARTICULARES METODOLOGIA 4.1 FASE I 4.1.1 PROCESAMIENTO Y EXTRACCION DE DATOS 4.1.2 TRANSFORMACION DE DATOS 4.1.3 TRANSPORTACION DE DATOS 4.2 FASE II 4.2.1 MINERIA DE DATOS PARA EL WEB 4.2.2 VISION GLOBAL 4.2.3 EJEMPLO DE SESION DE UN SITIO WEB 4.2.4 INTERACTIVIDAD DESDE EL PRINCIPIO 4.2.5 ESTADO SOLIDO 4.2.6 CONJUNTO DE DATOS 5 ASOCIACION DE LA INFORMACION 5.1 DESCUBRIENDO REGLAS DE ASOCIACION 5.2 APLICACIONES DE LAS REGLAS DE ASOCIACION 5.3 ALGORITMO A PRIORI 5 8 13 14 15 15 20 20 22 22 24 26 26 27 29 31 34 38 41

5.4 LA PORNOGRAFIA EN EL INTERNET 6 LA PRIVACIDAD DE LOS DATOS 6.1 DATOS DE CLIENTES, PRIVACIDAD Y MINERIA DE DATOS 6.2 PRIVACIDAD Y MINERIA DE DATOS 6.3 DIRECTRICES PARA LA PRIVACIDAD 6.4 INFORMACION ANONIMA Y NO ANONIMA 6.5 DATOS DETALLADOS Y AGRGADOS 6.6 INFORMACION PARA OBJETIVO O PARA MEDICION 6.7 FUENTES COMBINADAS 6.8 ASUNTOS LEGALES ASOCIADOS CON MINERIA DE DATOS CONCLUSIONES REFERENCIAS ANEXO A ANEXO B

50 72 72 72 73 74 74 75 75 76 78 79 81 88

INDICE DE FIGURAS
FIGURA 4.1 FIGURA 5.1 FIGURA 5.2 FIGURA 5.3 FIGURA 5.4 FIGURA 5.5 FIGURA 5.6 FIGURA 5.7 FIGURA 5.8 FIGURA 5.9 FIGURA 5.10 FIGURA 5.11 FIGURA 5.12 FIGURA 5.13 FIGURA 5.14 FIGURA 5.15 FIGURA 5.16 DIAGRAMA ENTIDAD RELACION MATRIZ MIF Y EL VECTOR STE MATRIZ MIF DSPUES DE EJECUTAR EL MIF ASOCIACION DEL CAMPO ESTADO CIVIL ASOCIACION DEL CAMPO SEXO ASOCIACION DEL CAMPO FECHA ASOCIACION DEL CAMPO FECHA POR DIA ASOCIACION DEL CAMPO POR DIA DE LA SEMANA ASOCIACION DEL CAMPO TABULADOR ASOCIACION DEL CAMPO TABULADOR Y PUESTO ASOCIACION DEL CAMPO EDIFICIO ASOCIACION DEL CAMPO CONTENIDO ASOCIACION DEL CAMPO CODIGO ASOCIACION DEL CAMPO TIPO DE EMPLEADO SITIOS PORNOGRAFICOS CON SUPPORT MAYOR A 11000 ASOCIACION DEL CAMPO ESTADO ASOCIACION DEL CAMPO ZONA 21 44 45 55 56 56 58 59 60 61 62 63 64 65 66 67 68

INDICE DE TABLAS
TABLA 4.1 TABLA 4.2 TABLA 5.1 TABLA 5.2 TABLA 5.3 TABLA 5.4 TABLA 5.5 TABLA 5.6 TABLA 5.7 TABLA 5.8 TABLA 5.9 TABLA 5.10 RESUMEN DE TRANSACCIONES DE SERVIDORES PROXY ACCIONES DE UNA SESION WEB CONJUNTO DE TRANSACCIONES ALMACENADAS EN D ITEMS FRECUENTES, IF ITEMS ORDENADOS SEGN IF SOPORTE CALCULADO DEL PATRON CONDICIONAL I SOPORTE CALCULADO DEL PATRON CONDICIONAL F SOPORTE CALCULADO DEL PATRON CONDICIONAL A SOPORTE CALCULADO DEL PATRON CONDICIONAL DA SOPORTE CALCULADO DEL PATRON CONDICIONAL CDA SOPORTE CALCULADO DEL PATRON CONDICIONAL D PASO A PASO LAS OPERACIONES PRINCIPALES DEL ALGORITMO PATRONES DE PORNOGRAFIA MAS COMUNES TABLA DE CORRELACIN ENTRE LOS PATRONES DE PORNOGRAFA 22 28 42 42 43 45 46 46 47 47 48 49

TABLA 5.11 TABLA 5.12

53 71

TITULO APLICACIONES DE REGLAS DE ASOCIACIN PARA WEB MINING

1 ANTECEDENTES El crecimiento explosivo de Internet y particularmente de la World Wide Web, ha hecho cada vez ms necesario para las empresas utilizar herramientas automatizadas para encontrar, extraer, filtrar y evaluar los recursos de informacin disponibles. Unido a ello y con la transformacin de la Web, como la herramienta primaria para el acceso a cualquier tipo de informacin, se hace indispensable para las empresas que basan su negocio en Internet poder rastrear y analizar modelos de acceso de usuarios con el fin de cumplir sus objetivos y sus metas. En los ltimos aos se ha desarrollado un enorme crecimiento en la capacidad de generacin y almacenamiento de informacin, debido a la creciente automatizacin de procesos, en general, y a los avances tecnolgicos en la capacidad de almacenamiento de la informacin. Conjuntamente, las herramientas de software tambin han desarrollado un fuerte crecimiento, el proceso de descubrir conocimiento o como es conocida, la minera de datos (data mining) ha sido definida como la identificacin de patrones no triviales validos, nuevos, comprensibles y potencialmente tiles de un conjunto enorme de datos definidos as en las ref. [1, 2]. Los factores antes mencionados dan lugar a la necesidad de crear sistemas inteligentes, tanto del lado cliente y del servidor, que puedan hacer bsquedas o minera en la Web para obtener conocimiento. Web mining (minera del Web) puede definirse como el descubrimiento y anlisis de informacin til en la World Wide Web (WWW). Existen varias tcnicas para hacer minera de datos, como son las reglas de asociacin ref. [3], reglas de extraccin, clustering ref. [4], algoritmos genticos y redes neuronales ref. [5]. Cada una de ellas se aplica con menor o mayor grado de dificultad a las bases de datos relacionales, en que se ha visto que la primera tcnica mencionada es ms exitosa que las dems, debido a que su aplicacin es inmediata en un lenguaje de cuarta generacin, por otra parte, tiene la limitante de ser estrictamente predictiva y no de bsqueda. En el caso de la aplicacin de inteligencia artificial es ms complejo aterrizar o encontrar un camino que lleve a algoritmos de bsqueda inteligentes debido a que no existe una completa conexin entre las bases de datos relacionales y la inteligencia artificial. La minera de datos es una rea nueva de investigacin de las ciencias computacionales. Intenta trasladar los objetivos y las tareas propias de la minera

de datos al dominio de las bases de datos o en general, al dominio de la informacin que no esta estructurada para poder encontrar conocimiento en ella. Debido a su reciente desarrollo es recomendable para entender la minera de datos, hacer nfasis en sus dos principales antecedentes: El concepto de Data warehouse y las herramientas OLAP (On Line Analitical Process) como lo plantea la ref. [6]. Un almacn de datos o Data warehouse (DW) es una enorme coleccin de datos provenientes de sistemas operacionales o mejor conocidos como OLTP (On Line Transaction Process), seleccionados y transformados para facilitar el proceso de anlisis de informacin ref. [7]. Algunas de las caractersticas de los llamados Data warehouses son: los datos estn separados de los sistemas operacionales (sistemas transaccionales), los datos son transformados lgicamente antes de estar dentro del Data Warehouse, los cuales solo contienen un resumen del sistema operacional ya que estos permiten hacer anlisis rpidos y visualizar la informacin desde varias perspectivas. Los Data warehouses no son un requisito indispensable para hacer minera de datos, pero sientan las bases para poder efectuar una buena minera de datos, como lo detalla la ref. [6]. Por otra parte las herramientas OLTP permiten hacer estructuras correlacinales o o arreglos tridimensionales llamados cubos de informacin de los atributos de nuestras entidades, las ref. [8, 9] explican los modelos mas usado, pero estas herramientas no son inteligentes y generan una minera de datos menos robusta, para ello se necesita de un operador para tomar decisiones en el minado de datos. Debido al desarrollo de la tecnologa actual, resulta sencillo coleccionar grandes volmenes de informacin. Con el uso de almacenes de datos de gran capacidad y densidad, lectura ptica, cdigos de barras, las entidades pblicas o empresas pueden fcilmente coleccionar informacin a partir de cada una de las transacciones. Por ejemplo, cul es el conjunto de artculos que un cliente compra? Un concepto similar es el estado de cuenta mensual de una tarjeta de crdito. En l se describe un conjunto de artculos que el tarjeta-habiente adquiri en ese mes. De igual manera, gobiernos, instituciones pblicas y privadas, estn en la posibilidad de conjuntar millones y millones de datos de actividades individuales que contienen informacin altamente detallada sobre montos, fechas, horas, lugares, productos y servicios. Esta informacin cruda es tan voluminosa que resulta intil, pues no aporta conocimiento o fundamento para apoyar la toma de decisiones. El resumen de datos para la toma de decisiones es el campo tradicional de la estadstica. Por ejemplo, la comparacin del valor promedio de la canasta de compra del fin de semana, con el valor promedio entre semana, puede ser un elemento de informacin para la gestin de una entidad publica, empresa o negocio y puede

usarse como base para una poltica de ofertas o para establecer algunas bases de trabajo como horarios de apertura. Resulta de gran importancia traducir estos grandes volmenes de datos en informacin til. Desde tiempo, es claro que slo las computadoras pueden manipular rpidamente la inmensa masa de datos y producir reportes que apoyan la toma de decisiones. Sin embargo, los resmenes estadsticos no son lo nico oculto en el mar de datos. La identificacin de patrones comunes, asociaciones, reglas generales y nuevo conocimiento es hoy en da de gran inters. Una regla que nos dice que el 80% de los mdicos varones tarjeta-habientes compra artculos para dama en la ultima semana de abril o la primera de mayo, puede ser muy til para orientar y dirigir la publicidad que se incorpora en su estado de cuenta, sin tener que imprimir publicidad sobrante o enviarla a otros tarjetahabientes que no exhiben ese comportamiento. Por eso la minera de datos revela patrones o asociaciones que usualmente son desconocidas, por ello se le ha llamado tambin descubrimiento de Conocimiento (Knowledge Discovery).

2 JUSTIFICACION Utilizando la tcnica de la minera de datos que es una rea relativamente nueva y que se encarga bsicamente, como su nombre lo indica, de excavar los datos con el objetivo de encontrar en ello informacin que parece interesante y que no es evidente ni fcil de entender a simple vista, este trabajo de tesis pretende alcanzar un conocimiento bsico aplicado como lo es trabajo reportado en la ref. [4]. Varios han sido los enfoques aplicados para enfrentar este problema. El anlisis matemtico y el anlisis estadstico proporcionan buenos resultados en la solucin del problema, pero estos enfoques tienen como meta la prueba de hiptesis predefinidas y no la bsqueda de patrones no predefinidos en diferentes escenarios de anlisis. La minera de datos es un nuevo enfoque que los especialistas en base de datos y/o inteligencia artificial proponen como una solucin al problema de adquirir y utilizar la informacin de las organizaciones buscando patrones de comportamiento para apoyar la toma de decisiones. La minera de datos permite desarrollar y seleccionar una estrategia para construir y aplicar un algoritmo de bsqueda en un proceso complejo para descubrir conocimiento en bases de datos. La minera de Datos o Data Mining es una tecnologa nueva concebida a finales de los aos 90's, que haciendo uso de las herramientas de ese momento se pudiera lograr el objetivo de encontrar algn conocimiento oculto (patrn, asociacin, regla de comportamiento) dentro de las bases de datos para ayudar en la toma de decisiones. Esta tecnologa surge principalmente de tres factores: 1) El abaratamiento en los costos de almacenamiento y procesamiento de informacin (equipos de cmputo y discos duros cada vez ms grandes y de precio mas bajo). 2) El desarrollo de nuevas tecnologas, mtodos y programas para manejar la informacin. 3) La cultura de la informatizacin del procesamiento de datos, que en la actualidad se esta empezando a conocer como la infoera. Se denomina minera de datos (data mining) al anlisis de archivos y bitcoras de transacciones con el fin de descubrir patrones, relaciones, reglas, asociaciones o incluso excepciones que pueden ser tiles para la toma de decisiones. Los seres humanos poseen habilidades extremadamente sofisticadas para detectar patrones y descubrir tendencias. Por tal motivo, una imagen dice ms que mil palabras y

una grfica o una tabulacin permite, de una mirada, identificar tendencias en el tiempo o relaciones entre dos mediciones de un fenmeno. Por otro lado, no es claro que nuestras habilidades puedan realizar, con la misma eficiencia, la tarea de analizar los miles de millones de datos almacenados electrnicamente al monitorear las transacciones comerciales de una base de datos. As pues, Data Mining es una solucin a muchos de los procesos actuales en los cuales se manejan volmenes de datos cada vez mayores, de forma tal que nos resulta muy difcil percibir algunas caractersticas o anomalas de comportamientos basados solo en el estudio de las bases de datos. De manera ms profunda, Data Mining est compuesta por una serie de tcnicas (traducidas en algoritmos), la mayora proveniente de la inteligencia artificial, pero aplicados a las bases de datos. Sin confundirse con un sistema experto, est tecnologa se basa mas bien en las orientaciones de los expertos para ver la mejor manera de procesar y encontrar correlaciones, patrones en los datos, en este punto se tienen que considerar los elementos de las bases de datos, minera de datos y algunos elementos de sistemas expertos, de otra manera puede resultar en un modelado errneo de los datos. El proceso que conlleva la minera de datos comienza desde definir objetivos, es decir cual es el problema en cuestin. Posteriormente una etapa de preprocesamiento de datos, para quitar ruido y prepararlos de forma adecuada al algoritmo. Existe la etapa llamada de Data Mining, en la cual se introducen los datos para el algoritmo y finalmente una etapa de post-procesamiento que consiste en eliminar conocimientos, que muchas veces resultan obvios y solo dejar aquellos que verdaderamente puede servir para una toma de decisin. Descubrir patrones o relaciones tiles en una coleccin de datos ha recibido tradicionalmente muchos nombres. El trmino data mining lleg incluso a ser muy desprestigiado en estadstica, pues representaba masajear suficientemente los datos hasta que los mismos confirmasen lo que uno quera postular. En este sentido, la minera de datos es un proceso que invierte la dinmica del mtodo cientfico. En el mtodo cientfico, primero se formula la hiptesis y luego se disea el experimento para coleccionar los datos que confirmen o refuten la hiptesis. Si esto se hace con la formalidad adecuada (cuidando cules son las variables controladas y cules experimentales), se obtiene un nuevo conocimiento. En la minera de datos, se coleccionan los datos y esperamos que de ellos emerjan hiptesis. Queremos que los datos describan o indiquen por qu son como son. La ms inocente mirada a los datos por un humano, puede inspirarle una hiptesis. Se debe recordar que los seres humanos tenemos grandes habilidades de generalizacin e identificacin de patrones. Entonces, validar una hiptesis inspirada por los datos en los datos mismos que sea numricamente significativa, pero que experimentalmente puede no ser necesariamente vlida o puede ser incompleta. De ah que la minera de datos debe presentar un enfoque

exploratorio y no necesariamente confirmativo. Por esto, usar la minera de datos para confirmar nuestras hiptesis puede ser peligroso, pues estamos haciendo se puede estar realizando una inferencia poco vlida. Afortunadamente, las tcnicas de validacin desarrolladas a lo largo de los aos 80 en el campo del Aprendizaje Automtico, hacen posible que las inferencias de la Minera de Datos pueden ser validadas para obtener patrones o asociaciones reales y ciertas y no slo reflejos de un manipuleo de los datos. El campo del Descubrimiento de Conocimiento en Bases de Datos, denominado en ingls Knowledge Discovery in Data Bases, usualmente abreviado KDD en los congresos y en la prensa, es la convergencia del Aprendizaje Automtico, la Estadstica, el Reconocimiento de Patrones, la Inteligencia Artificial, las Bases de Datos, la Visualizacin de Datos, los Sistemas para el Apoyo a la Toma de Decisiones, la Recuperacin de Informacin, y otros muchos campos. Parece, que slo hasta ahora, existe un nivel de madurez en todas estas reas, para que sea posible extraer los ms bellos diamantes del conocimiento a partir de los datos. Las Bases de Datos proporcionan la infraestructura necesaria para almacenar, recuperar y manipular datos. La construccin y mantenimiento de un almacn de Datos (Data Warehouse) es una actividad que ha cobrado mucha popularidad en estos ltimos aos. A pesar de que un almacn de Datos es una Base de Datos, su modo de operar y sus aplicaciones son distintos al de una aplicacin de Base de Datos para soportar transacciones y la actividad de negocio en lnea [10]. Tpicamente, el Data Warehouse (DW) almacena y resume informacin sobre transacciones cotidianas a lo largo del tiempo. Puede que contenga informacin que ya no es posible reproducir del sistema para la operacin cotidiana, es informacin arcaica pero til por su crnica histrica del funcionamiento operacional del sistema de informacin, las ref. [11] [12] hacen una explicacin ms exhaustiva de los DW. Las consultas al almacn no son tan sistemticas como las transacciones y usualmente demandan ms recursos de cmputo. Resulta incluso conveniente separar los equipos y sistemas de la operacin cotidiana de transacciones en lnea del Almacn de Datos. El Almacn de Datos hace viable la revisin y el anlisis de su informacin para el apoyo a las decisiones ejecutivas. Un enfoque que ha cobrado fuerza es el Anlisis en Lnea (en ingls, denominado On-Line Analytical Processing, o OLAP) la ref. [8] hace un anlisis del impacto de dicha tecnologa. Las herramientas OLAP ofrecen un mayor podero para revisar, graficar y visualizar informacin multidimensional, en caractersticas temporales, espaciales o propias, pero aunado a que los lenguajes restringidos y estructurados como SQL no son suficientes para el carcter explorador de esta tecnologa. La consulta enunciada con SQL es motivada por la asociatividad de cada uno de los campos que se van a minar, que en si son las aplicaciones y los reportes generados de una base de datos en lnea, suponen que esta es la informacin necesaria para la administracin cotidiana de la actividad de negocio y que slo de manera espordica se requiere de otra informacin.

10

El anlisis de datos almacenados en un Data warehouse tiene un carcter altamente exploratorio. El usuario est en busca de nueva informacin, de nuevos patrones que le sugieran relaciones entre diferentes aspectos conmensurables de su actividad cotidiana. Si el usuario sabe esas asociaciones, no necesita el anlisis de los datos. Las herramientas actuales del OLAP, requieren todava de una alta participacin de un usuario humano, pues son interactivas y requieren la gua de un experto. Sin embargo, se espera que en el futuro la bsqueda de patrones sea ms automatizada, simplemente porque los volmenes de informacin por analizar crecen mucho ms que los recursos humanos para analizarlos. A pesar de que el Descubrimiento de Conocimiento tiene sus inicios en el Aprendizaje Automtico o la Estadstica, hay ciertas componentes que lo hacen diferente. En particular, el objetivo fundamental es encontrar conocimiento til, vlido, relevante y nuevo sobre un fenmeno o actividad mediante algoritmos eficientes, debido a las crecientes rdenes de magnitud en los datos. Al mismo tiempo hay un profundo inters por presentar los resultados de manera visual o al menos de manera que su interpretacin pueda ser muy clara. Otro aspecto es que la interaccin humano-mquina debe ser flexible, dinmica y colaborativa. El resultado de la exploracin, en principio, debe ser interesante y su calidad no debe ser afectada por los mayores volmenes de datos o por el ruido en los datos. En este sentido, los algoritmos de descubrimiento de informacin deben ser altamente robustos. Desdichadamente, como ya se mencion, las tcnicas de anlisis de la informacin no tienen un desarrollo equivalente, por lo que existe una necesidad de una nueva generacin de tcnicas y herramientas computacionales que puedan asistir a quien toma decisiones en el anlisis automtico e inteligente de grandes volmenes de informacin. Encontrar conocimiento til en grandes cantidades de datos es el objetivo principal del rea de descubrimiento de conocimiento en bases de datos. No cabe duda de que el valor tctico o estratgico de los grandes almacenes de datos est en proporcin directa con la capacidad de analizarlos. Dada la gran gama de hiptesis plausibles que se ajustan a los datos, el problema computacional representa un reto poco enfrentado. Sin embargo, estas nuevas condiciones abren un nuevo mundo de oportunidades a la investigacin y al desarrollo de nueva tecnologa. El objetivo de este trabajo y del documento es proponer y realizar una investigacin en el campo de la minera de datos para aplicarlo a una base de datos relacional construida a partir de la informacin general que se registra en servidores Web, la aplicacin que se propone es especifica para un campo dado pero la metodologa que se propone es general y puede ser transferida para diferentes propsitos de bsqueda de patrones en muchos y diferentes campos del conocimiento.

11

3 OBJETIVOS GENERALES Se realiza una investigacin en bases de datos, utilizando los mtodos y las posibilidades que otorga el campo de la minera de datos, con la finalidad de encontrar caminos de bsqueda de patrones tpicos que caractericen eventos. Se utiliza la tcnica de Reglas de asociacin para la bsqueda de atributos en las bitcoras propias de un servidor de Web, los que se generan en los servidores de comunicaciones y se asocian los contenidos y direcciones de las bitcoras para encontrar patrones caractersticos que permiten identificar el origen del evento. Se busca un camino de conciliacin entre los patrones que caracterizan elementos definitorios de comportamiento en las bases de datos relacionales y la aplicacin de elementos caractersticos de las aplicaciones de inteligencia artificial. OBJETIVOS PARTICULARES Disear una metodologa que permita desarrollar la minera de datos sobre patrones de comportamiento en el uso de acceso a los componentes de la Red Mundial, teniendo como elemento bsico la informacin y las ligas que quedan grabadas sobre una bitcora de accesos a Internet. A partir de esa informacin, se disea y construye un repositorio de datos que permite hacer el proceso de Web Mining con la finalidad antes descrita. Para el proceso de Web Mining se propone la utilizacin de la tcnica de Reglas de asociacin que es una de las tcnicas aplicables a la minera de datos para el anlisis de datos, que resulta ms simple y adecuada para el proceso propuesto, una descripcin de ella se da mas adelante. Para cumplir este propsito, se requiere disear un algoritmo que permita minar las paginas web explcitas e implcitas, que los usuarios han utilizado directa o indirectamente, con la finalidad de descubrir patrones tpicos de uso de la red Mundial. Desde el punto de vista de contenidos y diversidad de patrones posibles de analizar, se aplicaran estas tcnicas para caracterizar el uso y acceso a sitios y portales de tipo pornogrficos en la Web y encontrar un modelo relacional que permita facilitar una metodologa aplicada para la minera de datos en bitcoras web.

12

4 METODOLOGIA La metodologa que se aplica en el presente trabajo, hace uso de tcnicas tradicionales OLAP para la creacin de la base de datos, la cual se disea y crea para minar datos y tcnicas de Minera de datos de Asociacin de informacin. Para el desarrollo de este proyecto se contemplaron 2 fases: I.- A partir de las bitcoras del servidor Web, se crea el repositorio de datos (extraccin, transformacin y transportacin de los datos) de manera de lograr los dos primeros objetivos. II.- Desarrollo de un proceso de asociacin de la informacin de la base de datos creada en la fase anterior, se entregan los resultados encontrados en el repositorio de datos. Para la bsqueda de patrones que caracterizan el comportamiento de un grupo, se requiere definir el o los conceptos base que definen esos patrones, en particular para este caso de aplicacin se requiere definir los conceptos que determinan la pornografa, as mismo existen muchos conceptos que no necesariamente estn incluidos en ella, pero que aparecen en conjuncin, y por lo tanto debemos considerar que los patrones pueden incluir el tema central de bsqueda y factores que por separado, no tienen el carcter. Por esto, el contenido base de bsqueda, su definicin y las caractersticas son ajenas a este trabajo y fueron adaptados de trabajos desarrollados por expertos, de esta forma nos interesa encontrar, sobre la base de estas definiciones, los patrones que se utilizan para la asociacin de la informacin y tambin poder discriminar bajo que situacin los contenidos, aun cuando contengan elementos que pueden ser considerados parte del tema central de bsqueda, no es necesariamente elementos tpicos de pornografa, as es que hemos incluido en el algoritmo una metodologa que cuantifica y selecciona los patrones que tienen mayor probabilidad de ser objetos de la bsqueda. Para este trabajo se escogi como tema de la bsqueda de patrones, aquellos que caracterizan el acceso y la utilizacin por los usuarios de un sistema de acceso a la Red Mundial a sitios con y de contenido pornogrficos, independiente de los accesos otros sitios de cualquier contenido. La razn fundamental de elegir este tipo de bsqueda es debido a la gran cantidad de esta informacin en la red y tambin porque puede confundirse con sitios que no necesariamente son del tipo, tambin y en funcin de la cantidad de informacin existente, la efectividad de nuestro algoritmo puede ser evaluado con gran certeza.

4.1 FASE I 4.1.1 PROCESAMIENTO Y EXTRACCIN DE DATOS

13

Esta es una actividad que inicia desde la seleccin de los datos en los cuales se va enfocar el descubrimiento de patrones, para ello se requiere de un receptculo de datos afn con esta actividad, tambin se llevan a cabo las operaciones de preparacin de los datos: limpieza de los datos, esto es eliminar diferencias en formato de los datos, asignacin de tipos de datos, se definen unidades de medida, el objetivo es estandarizar el formato de los mismos, decidir las estrategias para manejar los campos (i.e. atributos), se elimina el posible ruido de los datos y en general, se realizan todas las tareas necesarias para estandarizar la informacin. La bitcora sobre la cual se trabaja es la de un servidor de proxy, cuyos campos se especifican en el anexo A1. A continuacin se muestra la estructura y las caractersticas de unas cuantas lneas del archivo sin formatear:
1016565602.385 603 123.123.129.90 TCP_MISS/200 748 GET http://www.viajar.com/imgviajar/dest/footer_column2_2.gif - DIRECT/www.viajar.com image/gif 1016565602.398 404 123.123.142.168 TCP_MISS/304 137 GET http://www.bbmundo.com/Registro/new_01.gif - TIMEOUT_DIRECT/www.bbmundo.com 1016565602.403 816 123.123.144.43 TCP_MISS/200 10435 GET http://relay.cameraware.com/cwimages/Stiffkitten.jpg - DIRECT/relay.cameraware.com image/jpeg 1016565602.419 0 123.456.181.86 UDP_MISS/000 94 ICP_QUERY http://logs.eresmas.com/www.fantasiax.com/www.marquese.net/ocio/anal.html - NONE/- 1016565602.419 0 123.456.181.86 UDP_MISS/000 94 ICP_QUERY http://logs.eresmas.com/www.fantasiax.com/www.marquese.net/ocio/anal.html - NONE/- 1016565602.423 345 123.123.142.168 TCP_MISS/304 137 GET http://www.bbmundo.com/images/anuncio_i.gif - DIRECT/www.bbmundo.com 1016565602.428 475 123.123.150.10 TCP_MISS/200 1324 GET http://encarta.msn.com/images/UK.gif - TIMEOUT_DIRECT/encarta.msn.com image/gif 1016565602.439 53 123.123.147.15 TCP_SWAPFAIL_MISS/000 0 GET http://www.cruzazul.com.mx/txton_05.jpg - DIRECT/www.cruzazul.com.mx 1016565602.473 431 123.123.150.10 TCP_MISS/200 756 GET http://encarta.msn.com/images/DE.gif - DIRECT/encarta.msn.com image/gif 1016565602.496 0 123.456.181.86 UDP_MISS/000 59 ICP_QUERY http://123.123.143.191/fotos/13806.jpg - NONE/- 1016565602.496 0 123.456.181.86 UDP_MISS/000 59 ICP_QUERY http://123.123.143.191/fotos/13806.jpg - NONE/- -

El archivo es generado por un servidor de proxy, versin 1.0, aproximadamente es de un tamao de 3.3 Gigabytes y contiene 23.3 millones de registros (instancias) las cuales estn compuestos por 10 campos, mostrados anteriormente. Este archivo fue generado a partir del 20 de diciembre del 2001 al 13 de febrero del 2002, el archivo debi de ser procesado ya que no tiene en un formato adecuado para ser cargado a la base de datos, para ello nos apoyamos en 2 herramientas del sistema operativo UNIX y que se conocen como sed (editor de cadenas) y awk (lenguaje para procesamiento de patrones) los cuales se llaman as por las siglas

14

de los nombres de sus creadores, estas dos herramientas son un estndar tanto en UNIX como en LINUX. Estas dos herramientas permiten dar el formato adecuado para procesar el archivo de la bitcora del proxy, que lleva por nombre access.log, se muestra el script que procesa el archivo en el anexo A2: A continuacin se muestran unas cuantas lneas del archivo procesado y formateado:
Tue Mar 19 13:20:02 2002,603,123.123.129.90,TCP_MISS/200,748,GET,http://www.viajar.com,,DIRECT/www.viajar.co m,image/gif Tue Mar 19 13:20:02 2002,404,123.123.142.168,TCP_MISS/304,137,GET,http://www.bbmundo.com,,TIMEOUT_DIREC T/www.bbmundo.com, Tue Mar 19 13:20:02 2002,816,123.123.144.43,TCP_MISS/200,10435,GET,http://relay.cameraware.com,,DIRECT/relay. cameraware.com,image/jpeg Tue Mar 19 13:20:02 2002,0,123.456.181.86,UDP_MISS/000,94,ICP_QUERY,http://logs.eresmas.com,,NONE/-, Tue Mar 19 13:20:02 2002,0,123.456.181.86,UDP_MISS/000,94,ICP_QUERY,http://logs.eresmas.com,,NONE/-, Tue Mar 19 13:20:02 2002,345,123.123.142.168,TCP_MISS/304,137,GET,http://www.bbmundo.com,,DIRECT/www.bbm undo.com, Tue Mar 19 13:20:02 2002,475,123.123.150.10,TCP_MISS/200,1324,GET,http://encarta.msn.com,,TIMEOUT_DIRECT/e ncarta.msn.com,image/gif Tue Mar 19 13:20:02 2002,53,123.123.147.15,TCP_SWAPFAIL_MISS/000,0,GET,http://www.cruzazul.com.mx,,DIRECT/ www.cruzazul.com.mx, Tue Mar 19 13:20:02 2002,431,123.123.150.10,TCP_MISS/200,756,GET,http://encarta.msn.com,,DIRECT/encarta.msn. com,image/gif

El procesamiento total de la bitcora de web tarda alrededor de 3 horas con 20 minutos para un total de 23.3 millones de registros. Una vez terminada la bitcora de web se procede a procesar otros dos archivos: 1. La bitcora del correo, la cual contiene los campos: clave de empleado y correo, y que nos permite conjuntamente con la bitcora del punto 2, relacionar la bitcora web con la informacin laboral de un empleado. A continuacin se muestra un fragmento del archivo que contiene dicha bitcora: aarego@correo.mx,693492 aacuate@correo.mx,743492 aagara@correo.mx,546658 aagzal@correo.mx,1036647

15

aaglar@correo.mx,88376 aaguie@correo.mx,123733 aado@correo.mx,523577 aalarn@correo.mx,286844 aalcnt@correo.mx,550199 aalcta@correo.mx,389600 aalcar@correo.mx,239923 aalro@correo.mx,675212 aava@correo.mx,8912122 aalrad@correo.mx,1011241 aalrez@correo.mx,1150236 aador@correo.mx,123123 aamo@correo.mx,1233245 aamtin@correo.mx,117477 aamio@correo.mx,233799 aanges@correo.mx,5614001 aaoan@correo.mx,335334 aapici@correo.mx,5650345 aapie@correo.mx,331112 Esta bitcora fue procesada con el script que se muestra en el anexo A3: Dando como resultado un archivo de la siguiente forma: aagcia,58531 aagzal,1013431 aaglar,823851 aage,123613 aaho,52516 aalaon,62810 aalct,520111 aalcta,229611 aalcar,459912 aalfo,2352019 aala,2312932 aalrad,3412341 aalrez,2350136 aador,673135 aaaro,7812233 aartin,897455 aaelio,123734 aaeles,231411 aaolan,2353555 aapaci,2350133

16

aapie,3411923 De esta manera el archivo esta listo para ser cargado a la base de datos utilizando el script que se describe en el anexo A4: El script del anexo A4 carga la informacin en la base de datos en una tabla que hemos llamado mail la cual tiene tres campos (correo, clave, ip). 2. La bitcora de sendmail, la cual contiene direccin IP y la clave de correo. A continuacin se muestra un fragmento de dicha bitcora: May 6 00:00:17 7C:www ipop3d[2995605]: pop3 service init from 123.123.123.28 May 6 00:00:17 7C:www ipop3d[2993986]: pop3 service init from 123.123.109.49 May 6 00:00:17 6C:www ipop3d[2993986]: Login user=hsilva host=[123.123.109.49] nmsgs=0/0 May 6 00:00:17 6C:www ipop3d[2993986]: Logout user=hsilva host=[123.123.109.49] nmsgs=0 ndele=0 May 6 00:00:18 6C:www ipop3d[2995605]: Login user=fbeltran host=[123.123.123.28 ] nmsgs=43/43 May 6 00:00:18 6C:www ipop3d[2995605]: Logout user=fbeltran host=[123.123.123.2 8] nmsgs=43 ndele=0 May 6 00:00:29 6C:www sendmail[2998900]: LAA65007: to=umeza@notaria215.com.mx ctladdr=<mcriz@correo.mx> (5233/203), delay=2+12:56:54, xdelay=00:00:40, mailer=esmtp, relay=wizard.notaria215.com.mx. [200.53.1.52], stat=I/O error May 6 00:00:29 6C:www sendmail[2998900]: LAA07675: to=<jpmoran@oule.com>, ctlad dr=<rgrez@correo.mx> (826/203), delay=3+12:14:31, xdelay=00:00:00, mailer=esmtp,relay=oule.com. [64.29.20.133], stat=Deferred: Connection refused by oule.com. May 6 00:00:29 6C:www sendmail[2998900]: XAA71488: to=<bouncehrojas=correo.mx=49=c4m@bounce.3web45.com>, delay=4+00:36:47, xdelay=00:00:00, mailer=esmtp, relay=bounce.3web45.com., stat=Deferred: Connection timed out with bounce.3web45.com. May 6 00:00:29 6C:www sendmail[2998900]: NAA87609: to=umeza@notaria215.com.mx ctladdr=<mctiz@correo.mx> (5233/203), delay=3+10:03:23, xdelay=00:00:00, mailer =esmtp, relay=wizard.notaria215.com.mx., stat=I/O error: I/O error Como podemos ver es un archivo irregular como el de la bitcora del web por lo que primero se tiene que procesar para poder cargarlo a la base de datos. En el anexo A5 se muestra el script que procesa el archivo sendmail.log y que tambin la carga a la base de datos:

17

Despus de aplicar el script del anexo A5 a la bitcora del sendmail se obtiene un archivo de la siguiente forma: hsirva,123.123.11.49 fbertran,123.123.223.28 ecayyares,192.111.181.86 rfar,123.123.134.10 jatdrres,146.545.1 jdidz,192.167.137.37 hsida,123.123.109.49 ecaxres,191.100.181.86 jorxnez,191.168.100.88 rfxx,192.161.155.10 jaxxrres,146.9.5.1 gchxxea,192.193.123.211 hgaryyia,192.169.123.70 masyyis,192.198.129.63 ecazyyes,192.900.181.86 jdyyz,123.123.197.37 rflyyes,192.169.123.21 rfyyx,123.123.195.10 hsylva,192.169.109.49 omootine,146.9.6.101 evluun,192.169.101.116 jatorus,146.5.9.3 El archivo se carga posteriormente a la base de datos, mediante el script que se muestra en el anexo A6: El script del anexo A6 carga el archivo final.txt a la tabla IP la cual contiene los campos correo e IP. 4.1.2 TRANSFORMACIN DE LOS DATOS Este proceso consiste en integrar, corregir, limpiar, verificar y validar, (en caso necesario) atributos y colocar el sello del tiempo al conjunto de datos seleccionados que caracterizan el evento. El resultado de transformar los datos seleccionados entrega una fuente de datos estandarizada y lista para ser transportada a un manejador de base de datos. Una vez que se ha procesado la informacin del archivo de proxy, correo e IP se procede a realizar la transformacin de dichos datos, para ello se tiene que incluir las estructura de las bitcoras de texto en la base de datos, es decir se tienen que disear los moldes tanto de datos como de ndices para dicha informacin, en el

18

anexo A7 se muestra el script que crea la estructura para la bitcora del web (proxy): En el anexo A8 se muestra la estructura final de la bitcora mail. Por ltimo en el anexo A9 se muestra el script que crea la estructura de la bitcora de sendmail en la base de datos: Ya procesada la informacin (limpieza, extraccin y eliminacin de datos) y creados las estructuras en la base de datos se procede a realizar la transportacin de dicha informacin a la base de datos. 4.1.3 TRANSPORTACIN DE LOS DATOS Realizar el proceso de integracin de los archivos planos al repositorio de datos es un tarea de los mas arduo ya que en nuestra investigacin la transportacin del archivo de proxy tardo alrededor de 60 horas. El desarrollo se realiza con las herramientas propias de los manejadores de datos. En particular SQL dispone de herramientas para este propsito, si no se desea usar un lenguaje de uso genrico tal como SQL, se puede utilizar las que proporcionan los manejadores de base de datos, que en principio no difieren mucho de SQL. El manejador que estamos usando, como cualquier otro posee una herramienta para cargar archivos planos a la base de datos, este se llama sql-loader, En el anexo A10 se muestra un ejemplo de cmo usarlo. A continuacin se muestra un diagrama entidad relacin en la figura 4.1 donde podemos ver el repositorio de datos completo. El modelo es muy semejante al presentado en la ref. [18], la diferencia fundamental es que en este trabajo se tiene un tema de bsqueda (la pornografa) como un caso de estudio mientras que en el trabajo citado se estudia el rendimiento del proxy como tal, adems de que en este trabajo se cuenta con un repositorio de empleados para asociar la pornografa a varios atributos del empleado como lo son tabulador, estado civil, dependencia y varios ms.

19

Figura 4.1 Diagrama entidad relacin del repositorio de datos

Como se menciona previamente, la base de datos tiene 23646259 registros de informacin de proxy, los cuales comprenden las transacciones del 20 de diciembre del 2001 al 13 de febrero del 2002 (55 das), el nmero de transacciones es generado por un conjunto de 4729 usuarios, esto significa que en promedio se generan 4990 transacciones por usuario en el transcurso de esos 55 das. Por otra parte, en promedio se generan 91 transacciones por usuario al da, comparando con la tabla 4.1 que ha sido obtenida de la ref. [25], estos usuarios de la Web caen en el periodo 3 con la excepcin que esta generado por 4410 usuarios con una cantidad similar de registros, es decir con la cuarta parte de los usuarios del caso 3, en nuestro caso se genera la misma cantidad de registros. Se debe mencionar que en el caso 3 de la tabla se generan 64.42 en el transcurso de 20 das mientras que en nuestro caso es de 55 das.

20

PERIODO Jun17 Jul7,1997 Abr20 May10, 1997 Ago 29 Sep 18, 1996 Jun4 Jun26, 1997 Jun4 Jun24, 1997 May1 May21, 1997 Jun3 Jun27, 1997

NUMERO DE CLIENTES 1858 2247 16663 953 310 990 711

TRANSACCIONES 5.28 3.19 21.47 1.36 1.86 1.59 12.65

Tabla 4.1 Resumen de transacciones de servidores proxy

En los trabajos reportado en las ref. [22], [23], [24] y [26] se hacen estudios del rendimiento de los proxys respecto al numero de transacciones, tamao del cache, periodo de coleccin, tamao del archivo access.log, total de transacciones, promedio de transacciones por da, total de bytes transferidos, numero de transacciones exitosas y no exitosas. Estos parmetros permiten orientar el presente trabajo para conocer la informacin que se esta analizando en la base de datos y marcan pautas de cmo es recomendable analizar una bitcora de este tipo ya que los artculos antes mencionados basan sus estudios en archivos que tienen la misma estructura con la que se esta trabajando en este proyecto, por lo que son una referencia necesaria y obligada para este trabajo. 4.2 FASE II 4.2.1 MINERA DE DATOS DE UN SITIO WEB El webmining o minera de datos es el proceso iterativo de anlisis de los patrones de las transacciones en lnea y de obtencin de informacin sobre problemas tales como: quin est comprando y qu, cundo, por qu. Adems est relacionado con la extraccin de conocimiento desconocido, si existe, a partir de las peticiones de informacin en Internet. El webmining est relacionado con el empleo de tecnologas de reconocimiento de patrones que pretenden responder preguntas similares o equivalentes a las siguientes: Qu dominios son los ms buscados? Qu sitios son los mas visitados? A que hora se consultan dichos sitios? Qu tipo de usuarios consultan los sitios? Cul es el porcentaje de mujeres y hombres que los visitan? Hay alguna asociacin entre la edad y los sitios buscados? Quines son los usuarios que gastan ms ancho de banda? Qu es lo mas solicitado en las paginas, el texto o las imgenes?

Actualmente los sitios web, cualquiera que sean sus tamaos, estn experimentando un crecimiento explosivo en sus capacidades de generar

21

cantidades de datos en el servidor. Sin embargo, pocos administradores estn en capacidad de emplear tecnologas de minera de datos para transformar estos datos web en algn tipo de conocimiento producto de la inteligencia competitiva que pueda optimizar sus esfuerzos en el comercio o atencin electrnica. El webmining es un mtodo poderoso de "recordar" los contactos diarios del sitio web de una empresa con sus visitantes y clientes y "observar" su comportamiento. Por supuesto, la memoria y las observaciones son funciones humanas que basndose en las tecnologas de la Inteligencia Artificial, las herramientas y tcnicas del Data Mining, intentan reproducir en el procesamiento y anlisis de grandes cantidades de datos. Este tipo de anlisis de datos inductivo puede responder a preguntas que una empresa nunca se plantea, porque puede descubrir relaciones de las cuales no estaba consciente y pueden descubrir patrones ocultos en miles de interacciones de visitantes del sitio web. El webmining ayuda a descubrir qu necesitan y buscan exactamente los clientes en el Internet y proporcionarles precisamente eso. Puede ayudar a mejorar los mrgenes comerciales o de atencin, permite mejorar el control sobre inventario de datos y, en suma, mejorar el diseo y el secuenciamiento de las pginas web. Lo mejor de todo es que puede ayudar a mantener satisfecho al cliente permitiendo a una empresa crear perfiles de este tipo de clientes, a travs de la representacin grfica de su comportamiento y de los datos demogrficos. Esto elimina mucho trabajo de investigacin al hacer negocios u ofrecer servicios en la red. A travs del webmining aplicado a los datos de las transacciones de una empresa, la empresa puede mejorar su respuesta a los clientes, dificultando que los clientes se marchen a otra parte. Adems de proporcionar a los clientes el producto adecuado y las opciones del servicio, el webmining puede guiar a una empresa en la creacin de una fuerte relacin con los clientes. Si el sitio web de una empresa proporciona un producto o servicio que tiene xito a los ojos de los clientes de esta empresa, y sta permanece atenta constantemente a las necesidades de sus clientes, entonces la inversin de stos en dicha empresa puede crear una relacin duradera de fidelidad, ayudando a la empresa a aumentar su cuota de mercado de este tipo de clientes. En el siguiente ejemplo, se muestra cmo se pueden utilizar las tcnicas de la minera de datos para realizar este tipo de enfoque, a travs de un anlisis del comportamiento de los visitantes de un sitio web o la Internet, que a la vez puede proporcionar un perfil compuesto de quines son. Sin embargo, cmo ocurre con todos los proyectos de minera de datos, se debe empezar en primer lugar con disponer de una buena base: los datos y sus distintos componentes. Para estos anlisis se debe empezar con algunos ficheros log bsicos del servidor relacionados con la informacin del cliente extrada de una base de datos de registro de clientes. Despus, se mezclan estos datos del sitio web con los propios datos del datawarehouse, datos propios de un departamento en particular y algunas informaciones externas como datos demogrficos e informacin de la familia. Se ejecutan anlisis de minera de datos para demostrar el enfoque y los resultados que cada una de estas tecnologas y herramientas

22

proporcionan para especialistas de web, marketing y finanzas implicados en el comercio electrnico. El proceso del webmining se desglosa del siguiente modo: 4.2.2 VISIN GLOBAL En el momento actual, los futuros clientes estn accediendo al sitio web de la empresa. Conoce la empresa quines son, dnde viven, a qu se dedican, cmo viven, qu compran y qu les gusta? En este captulo se ponen en prctica una serie de conceptos, todos ellos aglutinados bajo el nombre de minera de datos: marketing relacional, reglas de asociacin, cookies (es una pequea cantidad de informacin enviada por un servidor de Web al navegador de un usuario) y aprendizaje relacional. Se aprende a distinguir cada concepto de los dems a travs de una serie de ejemplos, utilizando varias metodologas, tecnologas y herramientas de minera de datos. En primer lugar, se revisa el proceso implicado en la captura de los datos de visitantes y clientes en el nivel del servidor y en la utilizacin posterior de estos componentes para aadir informacin adicional al usuario o cliente que hace consultas en la Internet. El conjunto de datos resultante es sometido despus a un proceso de minera de datos (reglas de asociacin). Los resultados finales de estos anlisis son diferentes, aunque todos ellos estn diseados para proporcionar a la empresa un nuevo enfoque en la identificacin de los visitantes que hacen uso del Internet, de su origen, de sus gustos y los que es ms importante, cmo se puede conseguir y retener una relacin con ellos a travs de su ciclo de cliente. En cuanto al sitio web, el principal concepto que hay que tener claro, especialmente en un entorno de red, es que el sitio web no es un simple transmisor, sino, en mayor medida, tambin es un receptor. Lo que recibe el sitio web es la informacin del comportamiento del visitante: informacin sobre quines son los visitantes, qu estn buscando, cmo y qu informacin, servicios y productos que quieren y a qu tipo de ofertas responden con mayor probabilidad. Hay que empezar a pensar en el sitio web como una lupa, capaz de descubrir los rasgos y caractersticas de sus muchos visitantes y de los potenciales nuevos clientes. Para obtener un anlisis del comportamiento y de rasgos de estos visitantes a un sitio web, para ejecutar estas tareas se pueden utilizar muchas tcnicas como las siguientes: Hay que tener en cuenta que estos anlisis no son excluyentes, no necesitan ser ejecutados secuencialmente; las necesidades del sistema determinan cundo ponerlas en marcha. Como se coment anteriormente, la mayora de las herramientas de minera de datos se basan en tecnologas de Inteligencia Artificial diseadas para imitar la percepcin y aprendizaje humanos, a diferencia de los

23

programas de bsqueda de bases de datos, los generadores de informes de anlisis web, software de filtrado cooperativo o paquetes estadsticos, las herramientas de la minera de datos se diferencian en que ejecutan sus anlisis de patrones de una manera insesgada (es decir, que los items asociados tienen una alta probabilidad de tomar un valor cercano al valor del parmetro esperado) y autnoma; estos dos parmetros son dirigidos por los datos contenidos en los ficheros log y en las bases de datos generadas por el sitio web, en vez de estar basados en una hiptesis o interpretacin personal del comportamiento del trfico del sitio web. La minera de datos puede utilizarse para resumir y simplificar las caractersticas de miles de sesiones del sitio web y de los patrones de visitantes en forma de una puntuacin, una regla o un grfico de un rbol de decisin. Al igual que la mayora de las fuentes tradicionales de minera de datos, la clave para predecir el futuro est en el anlisis de los datos histricos de las transacciones. Por ejemplo, en la industria de venta al detalle, est normalmente en forma de datos de cdigo de barras. En el sector de servicios financieros, puede estar en el anlisis de los prstamos previos, de las cuentas de las tarjetas de crdito, carteras de clientes, etc. En ambos ejemplos, la clave para la construccin de modelos predictivos empieza con el modelamiento de las transacciones pasadas y de las interacciones con los clientes. En la minera de datos de un sitio web, estos elementos son los componentes de las transacciones en lnea capturadas al nivel del servidor. Estos componentes de datos, junto con un motor de filtrado cooperativo o informacin externa, permiten trazar el perfil de los visitantes y futuros clientes potenciales, y descubrir sus preferencias analizando su comportamiento y sus patrones de compra. 4.2.3 EJEMPLO DE SESIN EN UN SITIO WEB 1. Las visitas a los sitios web generan una entrada en el fichero log del servidor. Componentes de los Datos Generados: hora de acceso, sitio de referencia, palabras clave de bsqueda, dominio del visitante, etc. 2. El servidor enva una cookie al navegador. Nuevos Componentes de Datos: nombre o valor numrico nicos de identificacin del visitante. 3. El visitante del sitio web completa un formulario (si lo hay). Nuevos Componentes: edad, gnero, cdigo postal, etc... del visitante. 4. Los componentes de los datos del sitio web se relacionan con otras bases de datos. Nuevos Componentes: comportamiento de consumo del visitante, valor de la vivienda y del coche, nmero de nios, etc. 5. Finalmente, la minera de los datos de los sitios web enriquecidos se realiza. Nuevos Componentes: edad, gnero, cdigo postal, etc del visitante.

24

4.2.4 INTERACTIVIDAD DESDE EL PRINCIPIO

Antes de empezar la minera de datos del sitio web, en primer lugar debe disponerse de una estrategia para identificar quines son los clientes y visitantes del sitio web, y qu tipo de informacin se quiere capturar a travs de ficheros log, cookies, formularios y software personalizado o de filtrado cooperativo, o la combinacin de ambos. Con los pasos o puntos siguientes, se puede empezar a reunir informacin de quines son los clientes y visitantes del sitio web. Dichos pasos son los siguientes: Ficheros log, para descubrir de donde vienen los clientes visitantes, cmo encontraron el sitio web y qu vieron. Este fichero de texto delimitado por espacios puede ser importado fcilmente a una base de datos para la realizacin de preprocesamiento y ser preparado para su fusin con otros datos para la minera de datos. Esta es la gnesis del anlisis de la minera de datos, porque el autntico valor de los datos del sitio web aparece cuando se mezclan estos con la dems informacin personal del cliente. El conocimiento y valor verdadero se obtiene una vez realizado la minera de datos con estos nuevos datos y realizada la excavacin y la extraccin de los datos ms valiosos. Una de las estrategias clave es mezclar datos insustanciales de Internet con las bases de datos de recursos humanos, demogrficos, etc y operar con ellos hasta convertirlos en un "estado slido". 4.2.5 ESTADO SLIDO El web y los datos que genera son considerados a menudo insustanciales, debido al diseo arquitectnico de TCP/IP. A veces, esto convierte la tarea de la minera de datos de los datos del servidor en una metodologa de bsqueda muy difcil. Sin embargo, pueden enlazarse ciertos datos capturados a nivel del servidor con informacin del estilo de vida del clientes con el fin de convertir estos datos en un estado slido. A travs del cruce estratgico de datos especficos del sitio web con datos externos, se podr "perfilar" quienes son los clientes del sitio web. Por ejemplo, la preparacin de los datos puede implicar la mezcla de la base de datos de formularios de registro con un conjunto de datos demogrficos, utilizando el cdigo postal como enlace de fusin o, suponer la fusin de los ficheros log con un servicio cooperativo o de personalizacin, utilizando cookies compartidas, agrupados a travs de una red de sitios web. En ambos casos, se crea un nuevo y ms rico conjunto de datos, al que se le aplica la minera de datos para descubrir rasgos y comportamientos especficos sobre los visitantes del web. Una metodologa comn para la extraccin de rasgos a partir de los ficheros de informacin de los clientes y de los almacenes de datos, especialmente para sectores mercantiles altamente competitivos como la venta al por menor, los

25

servicios financieros, las empresas de seguros y las telecomunicaciones, implica el enriquecimiento de los datos internos de los clientes con la informacin externa, por ejemplo la de recursos humanos, demogrfica y psicogrfica. Este tipo de bases de datos comerciales se basan normalmente en la informacin de censo que han sido mejoradas por los revendedores de bases de datos de marketing. Estos vendedores de datos normalmente ofrecen la informacin obtenida de registros pblicos como:

Registros inmobiliarios Publicaciones del gobierno Registros de vehculos Archivos de registros pblicos Archivos de asesores de impuestos Tarjetas de garanta Cuestionarios Registros de nacimientos Pginas blancas Correo directo Censo

La informacin del recurso humano detallada de estas fuentes diversas no slo ayuda a determinar los tipos de productos y servicios que los clientes son ms receptivos a comprar, sino que tambin ayuda en la seleccin de los tipos de anuncios, banners, enlaces y mensajes para presentrselos. El comercio electrnico est dirigido en gran medida por la gestin de marcas y mtodos de investigacin de productos. El estilo de vida y los valores de los visitantes puede influir en el diseo global del sitio web y en el mtodo por el cual se venden los productos y servicios. Los datos del factor humano de los visitantes pueden conducir tambin a formar alianzas o colaboraciones con otras empresas o sitios web. De hecho, el nivel por el cual los datos web pueden ser mejorados a travs de su mezcla con otras fuentes de informacin vara en relacin con la actividad que ocurre con cada visitantes o cliente. Se puede enlazar la informacin con los datos que son generados por las interacciones que tienen lugar en el sitio web. A continuacin en la tabla 4.2 se muestran las posibles opciones que se pueden tener al asociar informacin durante una sesin web.

26

Accin Navegar Registro

Datos capturados Sitio web cookie de referencia,

Pueden enlazarse con Filtrado cooperativo y red publicitaria Base de datos demogrficos Archivo de datos de cabeza de familia, almacn de datos.

Cdigo postal, gnero, edad

Compra

Direccin del cliente

Tabla 4.2: Acciones de una sesin web.

Luego de cada transaccin, los visitantes del sitio web proporcionan ms informacin sobre ellos mismos que puede utilizarse para ser combinada con otras fuentes de estilo de vida y base de datos de preferencias de clientes. Adems, con cada compra, un vendedor al por menor puede determinar las preferencias de un cliente y la tasa de consumo. Estos datos empiezan a un nivel muy bajo, donde slo se esta capturando la informacin log del servidor y donde el nico emparejamiento que puede ocurrir es con los filtrados y comparicin de cookies. En la siguiente fase, cuando un visitante completa un formulario de registro en el sitio web, se puede capturar importante informacin como su cdigo postal, que puede ser contrastado con una base de datos como los del recurso humano o cualquier otra . Por ltimo, cuando un visitante se convierte en cliente y realiza una compra que requiere que se enve un producto a su casa, se captura su direccin fsica, que puede ser contrastada con una seleccin de otras fuentes de informacin. Estas fuentes incluyen informacin personal, como edad, sexo, que ofrecen informacin de clientes procedente de tarjetas de garanta y otros registros pblicos y fuentes de informacin de clientes. Todos estos proveedores de datos de tercera va varan en la cantidad de detalle que pueden proporcionar sobre los consumidores, empezando por el cdigo postal y llegando hasta los datos mas detallados como lo pueden ser la fecha de nacimiento o el registro federal de contribuyentes. Es recomendable realizar comparaciones comprando y verificando el sistema para determinar que vendedores ofrecen la informacin ms fiable de los clientes del sitio web en cuestin. Se debe solicitar la lista de estadsticas disponibles y el porcentaje de cobertura de la poblacin. Se puede tambin enlazar la informacin de los clientes del sitio web con el almacn de datos propio, permitiendo as realizar algunos anlisis adicionales de la minera de datos, cmo la clasificacin de datos y las reglas de asociacin. Uno de los beneficios inmediatos de este contraste del sitio web y del datawarehouse

27

es que se puede localizar, comparar y analizar los datos con la finalidad de comparar los rasgos de los clientes existentes con los de los nuevos clientes potenciales. Se pueden descubrir algunas similaridades en su localizacin regional, edad, gnero u otras caractersticas demogrficas, como ingresos o estilo de vida. Un beneficio colateral importante, es que se puede encontrar un nuevo segmento de mercado o un tipo de cliente completamente nuevo.

4.2.6 CONJUNTO DE DATOS

A medida que se interacta con los visitantes y los clientes, se captura gradualmente ms y ms informacin sobre ellos. Se empieza averiguando cmo encontraron este sitio web y qu palabras clave utilizaron para encontrarlo, que se captura a partir del fichero log. A continuacin, si los clientes completan un formulario, se obtiene el cdigo postal de su domicilio e informacin importante cmo sus preferencias, edad o gnero. Finalmente, si ellos hacen una compra, se dispone de la direccin fsica. Todos estos datos capturados se pueden utilizar para contrastarlos con otros archivos de informacin con el fin de obtener una comprensin adicional de estilo de vida y de preferencias. Y lo que es ms importante, los conjuntos de datos combinados pueden ser minados con el fin de asociar y construir perfiles sobre quienes son dichos sujetos. Haciendo uso de una serie de herramientas de minera de datos este conjunto de informacin puede construirse como una cadena delimitada por comas, importable fcilmente.

28

5 ASOCIACIN DE INFORMACIN Para el caso de nuestra investigacin, una vez que los archivos planos forman parte de la base de datos, se encuentra con el problema de relacionar o asociar el campo de la direccin IP con un empleado en particular, es decir la bitcora Web solo cuenta con un campo que indica la maquina de donde se realiza la peticin de un URL (uniform resource locator), por otra parte se tiene que contar con un archivo que relacione este campo con el nmero o nombre de empleado. De otro modo es difcil asociar la informacin de la bitcora con un empleado o departamento de la empresa. Con la informacin relacionada de esta manera se pueden realizar bsquedas sobre los datos y encontrar las asociaciones o reglas que existen entre el departamento X de la empresa con determinados sitios de dominio, cuando y a que hora y si hay coincidencias con la hora de mayor trafico en la empresa, definir cuales son los dominios mas buscados por los empleados de la empresa y si hay coincidencias en su utilizacin por departamentos o grupos. En el momento de poder integrar el repositorio de datos, se puede analizar y predecir la conducta de los empleados de la empresa. Una breve explicacin de las reglas de asociacin se da en lo que sigue: Un ejemplo de las reglas de asociacin es de la forma: el 98% de los clientes que compran llantas y accesorios de autos adems compran herramientas. Consideramos el problema de descubrir reglas de asociacin entre columnas o atributos en bases de datos como un problema que no puede ser resuelto por medio de la asociacin clsica entre columnas mediante los factores de conffidence y support donde cada uno de ellos esta definido de la siguiente manera: Si (if) x entonces y, donde x X, y Y, en que X, Y son conjuntos de datos tal que X Y = Cada regla esta regida por dos factores: Support = (# de registros con X y Y) / (Total de registros) Conffidence = (# de registros con X y Y) / (Total de registros con X) Definiendo externamente los parmetros Support Superior y Conffidence Mnimo se puede plantear el objetivo de descubrir todas las reglas posibles tales que cumplan lo siguiente:

29

Support Support Superior Conffidence Conffidence Mnimo En nuestro caso no se puede aplicar este mtodo ya que los valores de las columnas en la base de datos no son discretos, es decir son cadenas de n caracteres y que no se pueden discretizar ya que implica otro tipo de problemas y que estn lejos del alcance de esta investigacin. Ahora bien el problema de la discretizacin se corrige mediante agrupaciones de datos sobre la columna, es decir se recurre al lgebra relacional para poder conseguir una agrupacin selectiva y efectiva. Una regla de asociacin es una relacin que se puede expresar de la siguiente forma: X => Y definido de la misma manera en las ref. [4][9][11], donde X y Y son un conjunto de columnas. El significado intuitivo de tales reglas es que las transacciones de la base de datos las cuales contienen X tienden a contener Y. El planteamiento formal de este problema se muestra a continuacin. Sea I = {i1, i2, i3, i4.........im} un conjunto de literales llamados columnas. Sea D un conjunto de transacciones donde cada transaccin T es un conjunto de columnas tales que T I. En otras palabras, I= { i1, i2, i3, i4.........im} es un conjunto de atributos con valor binario {0,1}. Una tupla T de la base de datos es representada por los atributos con valor {1} asociada con cada transaccin es un identificador nico, llamando a esto TID. Decimos que una transaccin T contiene un conjunto de columnas X si X T. Una regla de asociacin es una implicacin de la forma X => Y donde X I, Y I y X Y= . Los valores negativos o que estn fuera del espacio {0,1} no son considerados de inters para esta aproximacin, la discusin es neutral respecto a la representacin de D ya que esta puede ser un archivo de datos, una tabla relacional o un resultado de una expresin relacional. El algoritmo para descubrir reglas de asociacin se compone de 2 fases: Dado el conjunto de datos mas frecuentes dentro de un atributo o columna. Descubrir todos los conjuntos de datos con un support mayor o igual al mnimo propuesto externamente por el usuario, como lo cita la ref. [11]. Descubrir reglas con otros atributos mediante un conffidence mayor o igual al mnimo propuesto por el usuario. Conffidence denota lo robusto de la implicacin y support indica la frecuencia de las ocurrencias encontradas en la regla, la ref. [4] los define de esta forma. A continuacin se presentan las primitivas para ordenar y unir tablas, estas primitivas estn expresadas en queries (consultas) SQL que se muestran en la ref.

30

[11], las reglas de asociacin se derivaran de las agrupaciones resultantes de estas consultas. A partir de lo anterior y utilizando SQL, todas las transacciones son almacenadas en la tabla llamada transacciones, primero se genera la frecuencia o cuenta de cada una de las columnas, esto es el nmero de transacciones de cada columna, posteriormente se comparan con el support mnimo requerido para cada uno de las consultas, la salida puede ser almacenada en un reporte o en otra tabla, a continuacin se muestra el esquema de la consulta: Insert into Select columna1, columna2 , columna3, columnan , count(*) From transacciones Group by columna1, columna2 , columna3, columnan Having count(*) >= support mnimo El siguiente paso es generar las asociaciones de las columnas de la tabla y verificar si ellas cumplen con el support mnimo. Para cada columna, es fcil expresar las asociaciones que pueden ser generadas usando una relacin de unin (join) con la tabla transacciones, la expresin es la siguiente: Insert into Select columna1, columna2 , columna3, columnan, count(*) From transacciones, datos1, datos2, datosn Where columna1 like %cadena% and columna2 like %cadena% and . . . columna3 like %cadena% and Group by columna1, columna2 , columna3, columnan Having count(*) >= support mnimo Este tipo de expresiones generan patrones con un conjunto de columnas especificas. La expresin puede ser generalizada para generar patrones arbitrarios, como vemos el orden de las columnas en el patrn no es relevante, el orden es importante solamente en el proceso final para la generacin de la regla. Podemos tomar ventaja para encontrar asociaciones en orden lexicogrfico, por ejemplo podemos generar AB pero no BA como lo menciona la ref. [11]. El algoritmo tiene como finalidad minar un campo del repositorio de datos que contiene los URLs de los sitios buscados por los usuarios, estos sitios sern analizados y se diseara un algoritmo de bsqueda para poder asociar los

31

atributos de los empleados (tabulador, estado civil, sexo) a dichos URL`s con la finalidad de encontrar reglas asociadas a la pornografa. Para ello se tiene que analizar el URL mediante bsqueda de patrones dentro del mismo campo, La Mayora de las pginas pornogrficas de Internet, son muy difciles de localizar ya que tienen muchos espejos de una misma red, o los sitios estn redireccionados a otra red, es decir, automticamente busca a otra. Las pginas pornogrficas estn ntimamente ligadas a los hackers, ya que su clandestinidad se mantiene de esto, para evitar el rastreo, mucho sitios hackers, se cubren con las pginas pornogrficas. El problema de rastrear una Web, tiene mucho que ver con el direccionamiento, y adems del hecho que se puede registrar una Web en cualquier parte del mundo, donde el control no existe, y luego cargarla desde cualquier computadora con acceso a Internet. Otro problema es el de las paginas ocultas, o pginas alojadas en servidores en forma gratuita, en el cual el registro se hace en forma libre, y puede tener contenidos pornogrficos o redireccionados. (Xoom, Angelfire, El sitio, Geocities, Demasiado.com, etc. ) Muchos de estos proveedores advierten que estas paginas sern dadas de bajas si tiene contenidos pornogrficos, pero son tantas, ya que son de difcil deteccin). 5.1 DESCUBRIENDO REGLAS DE ASOCIACION Que es una regla de asociacin? Como hemos mencionado anteriormente minar reglas de asociacin es encontrar asociaciones interesantes o relaciones de correlacin entre un conjunto grande de datos, esto es, identificar conjuntos de atributos - valores (columnas) que frecuentemente ocurren en conjunto y entonces estas formulan reglas que caracterizan esas relaciones. Una definicin formal de las reglas de asociacin se muestra a continuacin: Definicin: Una regla de asociacin es una regla de la forma: A1, A2, A3, .., Am B1, B2,., BN

Donde A y B son predicados o columnas. Tales reglas son usualmente interpretadas como cuando las columnas A1, A2, A3, .., Am ocurren las columnas B1, B2,., BN tambin ocurren en la misma transaccin. Lo que exactamente constituye una columna o transaccin depende de la aplicacin. A continuacin mostramos algunas reglas de asociacin con conceptos diferentes de una columna (item) y una transaccin.

32

Ejemplo 1: La siguiente es una regla de una transaccin de base de datos de productos electrnicos. Producto (X, computadora porttil IBM) sony) Producto (X, impresora

Donde X es una variable que representa una transaccin. En este caso, las columnas (items) son los artculos que el cliente compra, y una transaccin es el conjunto de todos los artculos involucrados en la compra. La regla dice que los clientes que compran una computadora porttil IBM tienden a comprar impresoras sony al mismo tiempo. Ejemplo 2: La siguiente regla sacada de un data warehouse con 3 dimensiones: edad, ocupacin y producto. Age (X, 30-39), Ocupacin (X, estudiante) Producto (X, laptop)

Los artculos aqu son los distintos valores de atributos para las 3 dimensiones dadas y una transaccin es una tupla en el data warehouse. La regla dice que los clientes quienes son estudiantes y que tienen una edad de entre 30 y 39 aos compraran probablemente laptops. La capacidad de generar y coleccionar datos se ha incrementado rpidamente en las ltimas dcadas, y por consecuencia, este explosivo crecimiento en el almacenamiento de datos ha generado la necesidad de nuevas tcnicas y herramientas automatizadas que puedan asistir inteligentemente al usuario en la transformacin de la inmensa cantidad de datos en conocimiento e informacin til. Segn [6] la cantidad de informacin almacenada en todo el mundo se duplica cada 20 meses, se espera que los satlites de observacin de la Tierra generen aproximadamente un petabyte de datos diariamente. Muchos investigadores consideran la minera de datos como sinnimo de Descubrimiento de Conocimiento en Bases de Datos (Knowledge Discovery in Databases, KDD) como lo menciona la ref. [4]. Sin embargo, la ref. [11] define a la minera de datos como un paso esencial en el proceso de descubrimiento de conocimiento en bases de datos y es justamente este el enfoque adoptado en el presente trabajo. El descubrimiento de conocimiento en bases de datos es la extraccin no trivial de informacin implcita, previamente desconocida y potencialmente til almacenada

33

en un repositorio de informacin, as lo define la ref. [8]. El proceso KDD est compuesto de las siguientes fases: Limpieza de datos - eliminacin de ruido y datos irrelevantes. Integracin de datos, donde se combinan datos de diversos orgenes. Seleccin de datos, donde los datos relevantes para el anlisis se recuperan de la base de datos. Transformacin de datos, donde los datos se transforman o consolidan. Minera de datos - proceso esencial donde algoritmos inteligentes se aplican para extraer patrones o regularidades; evaluacin de patrones para identificar los patrones que representan conocimientos, a travs de medidas; presentacin de conocimiento, donde se utilizan tcnicas de representacin y visualizacin de conocimiento, para presentar el conocimiento minado al usuario.

La minera de informacin y conocimiento a partir de repositorios de informacin ha sido reconocida por muchos investigadores como un tpico importante de investigacin en sistemas de bases de datos y aprendizaje de mquinas. Es un campo multidisciplinario, incluye tecnologa de base de datos, inteligencia artificial, redes neuronales, estadstica, reconocimiento de patrones, sistemas basados en conocimiento, adquisicin de conocimiento, recuperacin de informacin y visualizacin de datos. La minera de datos es la extraccin o minera de conocimiento a partir de grandes cantidades de datos. El trmino minera caracteriza el proceso de encontrar un conjunto pequeo de patrones realmente interesantes entre una enorme cantidad de datos. Recientemente, se han desarrollado varias tcnicas de minera de datos, en esta seccin se describen algunas de las ms utilizadas. Caracterizacin y discriminacin Para realizar el anlisis de una base de datos voluminosa es til que sus datos sean generalizados en diferentes niveles de abstraccin, lo cual facilita a los usuarios el estudio general del comportamiento de los datos. La caracterizacin de datos proporciona un resumen conciso de las caractersticas generales o rasgos relevantes de una coleccin de datos. La discriminacin de datos es una comparacin de las caractersticas generales de dos o ms colecciones de datos. Los siguientes ejemplos se mencionan en la ref. [9], corresponden a la caracterizacin y la discriminacin respectivamente.

34

Mostrar las caractersticas de los clientes que gastaron ms de $1000 al ao en AllElectronics. El resultado puede ser un perfil general de los clientes, por ejemplo, la edad oscila entre 40-50 aos, son empleados, y tienen una excelente valoracin de crdito. Comparar las caractersticas generales de los productos software cuyas ventas incrementaron en un 10% en el ltimo ao con aquellos cuyas ventas decrecieron en un 30% durante el mismo perodo.

Agrupamiento Esta tcnica analiza el agrupamiento de los datos, para lo cual se forman grupos de objetos de tal manera que un objeto dentro de un grupo tiene alto grado de similitud comparado con otro objeto del mismo grupo, pero son muy diferentes comparados con objetos de otros grupos. Un ejemplo prctico de esta tcnica sera identificar grupos de clientes que habitan en una determinada rea geogrfica, para establecer puntos estratgicos de comunicacin (sucursales de bancos, tiendas, etc.). Reglas de asociacin La minera de reglas de asociacin busca asociaciones fuertes o relaciones de correlacin entre items en un enorme conjunto de datos y tiene una variedad de aplicaciones como lo menciona la ref. [9]:

5.2 APLICACIONES DE LAS REGLAS DE ASOCIACION Anlisis de DNA Secuencias de DNA. Bsqueda de similitudes en las secuencias de DNA. identificacin de co-ocurrencias de secuencias de genes. enlaces de secuencias de genes en los diferentes estados de una enfermedad. Anlisis de datos financieros Estudio de riesgos para la aprobacin de crditos. Segmentacin de clientes. Deteccin de lavado de dinero y otros crmenes financieros. Identificacin de comportamientos de compra de los clientes. Descubrir patrones de compra y tendencias. Anlisis de la efectividad de las campaas de ventas.

35

Telecomunicaciones Identificar patrones fraudulentos. Encontrar patrones de uso de los servicios de comunicacin. Promover descuentos en servicios especficos. Mejorar la disponibilidad de servicios particulares en una regin. El anlisis de la canasta del mercado analiza los hbitos de compra del cliente encontrando asociaciones entre los diferentes items (artculos) que el cliente selecciona en su canasta de compras. El descubrimiento de tales asociaciones puede ayudar a desarrollar estrategias de mercadeo, descubriendo los items que frecuentemente se compran juntos, as lo plantea la ref. [9]. Aun cuando minar reglas de asociacin se origina con el problema analtico de la bolsa de valores, estas pueden ser aplicadas a muchas otras reas como lo son los negocios, ingeniera, medicina y finanzas. Es mas, como una de las tareas bsicas de la minera de datos, las reglas de asociacin han sido usadas para alcanzar otras tareas de la minera de datos, tales como modelar datos, prediccin de ingresos y soporte de decisiones. Comprender los hbitos y preferencias de compras es esencial para las empresas y en particular las pequeas, ya que necesitan tomar decisiones para saber que productos se promocionan, como se disean los descuentos, como coloca la mercanca en los anaqueles para maximizar las ganancias, etc. Minar reglas de asociacin puede proporcionar tal informacin. Una efectiva aplicacin de minera de dato se desarroll en el ambiente de los vendedores al menudeo en el mercado de la bolsa de valores, esta analiza las caractersticas de los clientes desde el punto de vista de ventas electrnicas y encuentra como y cuando lanzar promociones efectivas. Un ejemplo es la propaganda de la bebidas de cola diettica, la cual primero aplican una campaa publicitaria para poder posteriormente subir los precios despus de conseguir que suban las ventas. En el presente trabajo se investiga el problema de la generacin eficiente de todas las reglas de asociacin que existen en un conjunto de transacciones dado con respecto a un soporte y una confianza mnima. El rendimiento del problema concerniente a esta tarea no est an resuelta adecuadamente, es por esta razn que se desarroll el algoritmo Apriori-I, en base al anlisis cuidadoso de las fortalezas y debilidades de los algoritmos mencionados en las referencias. Un ejemplo de tal regla se menciona en la ref. [17], el 98% de los clientes que compran neumticos y accesorios de automviles tambin necesitan servicio auto motriz. Patrones Frecuentes

36

Un patrn, es un conjunto o secuencia de items, que ocurren juntos en una base de datos, as esta definido en la ref. [9]. Un patrn es frecuente, si la frecuencia de ocurrencia del conjunto de items en la base de datos supera un valor mnimo esperado definido por el usuario. La minera de patrones frecuentes es el fundamento de varias tcnicas de minera y por sta razn es considerada la piedra angular de la minera de datos. Reglas de asociacin. Agrupamiento. Clasificacin, anlisis de clasificacin basado en asociacin. Anlisis de patrones secuenciales.

Descripcin del problema La mayora de los estudios realizados sobre minera de reglas de asociacin adopta la lgica anti-monotnica de Apriori propuesta por la ref. [3]: si un patrn de longitud k no es frecuente ningn super-conjunto de longitud k+1 que contenga el patrn ser frecuente. Sin embargo, el aspecto crtico de Apriori es la generacin de candidatos y su validacin. Para solucionar este problema, FP-growth propuesto por la ref. [3] propone la estructura de datos rbol (FP-tree), donde cada nodo almacena un item, su frecuencia de ocurrencia en la base de datos, y el campo enlace al siguiente nodo. Para mejorar el proceso de recorrido a travs del rbol se recurre a una tabla auxiliar denominada header, que almacena el item y la direccin del primer nodo que almacena el item en FP-tree. En el presente trabajo se propone la utilizacin de matrices y vectores para solucionar el problema de minar reglas de asociacin, el cual se descompone de manera similar al propuesto por [3], en los siguientes pasos: Descubrir los patrones frecuentes. Utilizar los patrones frecuentes descubiertos para generar las reglas de asociacin.

Es importante aclarar que el soporte se define en el presente trabajo, como una frecuencia de ocurrencia absoluta. A pesar de que en algunas de las referencias bibliogrficas est definida como relativa, es decir, el cociente de la frecuencia de ocurrencia del itemset candidato y el nmero total de transacciones de la base de datos. Matriz de itemsets frecuentes Sea L = { I1 , I2 , , Im } un conjunto de literales denominados items, D un conjunto de transacciones (D puede representar un archivo plano, una tabla

37

relacional o el resultado de una consulta), cada transaccin T y x el soporte mnimo predefinido. La matriz de itemsets frecuentes (MIF) almacena el conjunto de items frecuentes identificados en el primer recorrido del repositorio D, en la implementacin los items pueden ser representados a travs de la filas o las columnas, de acuerdo a las caractersticas del compilador y las funcionalidades que ofrezca para el redimensionamiento de la matriz MIF como ocurre con Visual Basic y la funcin redim. Sin embargo, para que la explicacin sea sencilla, los items frecuentes sern representados por las columnas de MIF. Definicin 1 La matriz de itemsets frecuentes es una estructura definida como sigue: Las columnas representan los items frecuentes determinados en el primer recorrido de D. Mientras que las filas (a excepcin de la primera) representan a los itemsets candidatos. Adicionalmente, se utiliza el vector STE para almacenar el soporte de los itemsets candidatos El elemento MIF [ i, j ] <> 0 si el item j pertenece al i-simo itemset candidato, caso contrario MIF [ i, j ] = 0. Si MIF[ i, j ] <>1 entonces almacena la fila de la siguiente ocurrencia del item frecuente j. El elemento ( i 1 ) del vector STE, almacena el soporte o la frecuencia de ocurrencia del itemset candidato de la fila i en MIF.

Es importante aclarar que la matriz MIF se construye en dos etapas, en la primera se almacenan los itemsets candidatos y se llena el vector STE con sus respectivos soportes. En la segunda etapa la matriz MIF ser modificada con el fin de almacenar las filas en las que los items frecuentes ocurren, esto con el objetivo de descubrir los patrones frecuentes. 5.3 ALGORITMO APRIORI-I El algoritmo Apriori-I se descompone en tres prodedimientos: MIF_STE, Posiciones_MIF y Patrones_frecuentes. El primero construye la matriz MIF donde se almacenan los items frecuentes y los itemsets candidatos, adems, se encarga de llenar el vector STE que almacena el soporte de cada uno de los itemsets candidatos. El segundo procedimiento, modifica la matriz MIF para almacenar las filas en las que los items frecuentes estn presentes. Finalmente, el tercer procedimiento se encarga de determinar los itemsets o patrones frecuentes. Apriori-I aplica el mtodo de patrones crecientes, que consiste bsicamente en combinar items frecuentes y determinar el soporte asociado a sta combinacin.

38

El proceso inicia con el item frecuente cuyo soporte es el ms pequeo, a este item se denominar patrn condicional, como se ver ms adelante el patrn condicional puede estar formado por uno o ms items. En este punto se procede a combinar el patrn condicional con los items frecuentes que se encuentran a su izquierda, luego se calcula el soporte que corresponde a cada una de las combinaciones, aquellas que satisfacen el soporte mnimo esperado se convierten en itemsets o patrones frecuentes. Definicin 2 El patrn condicional de un k-itemset agrupa el conjunto de transacciones donde el k-itemset est presente. Ejemplo. Sea la base de datos transaccional, D dada en la Tabla 5.1 y el soporte mnimo esperado x = 6.

Identificador de la transaccin 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010

Items comprados c,d,e,g,h,i,k,p b,e,f,g,h,i,p c,e a,b,c,d,e,f,g,i,p a,b,c,d,e,p a,b,c,d,f,h,p b,e,f,h,i,p a,c,d,e,k,p a,c,d,e,f,i,p a,c,d,e,f,h,i,p

Tabla 5.1: Conjunto de transacciones almacenadas en D

Procedimiento MIF_STE Se procede a determinar el conjunto de items frecuentes IF y sus respectivos soportes.

39

Item Soporte A 6 B 5 C 8 D 7 E 9 F 6 G 3 H 5 I 6 K 2 P 9

Item frecuentes IF ( x >= 6) A C D E F

I P

Tabla 5.2: Items frecuentes, IF

Se ordena IF de forma descendente IF={<e:9>,<p:9>,<c:8>,<d:7>,<a:6>,<f:6>,<i:6>}

segn

el

soporte.

El nmero de items frecuentes se almacena en NIF, en el ejemplo la cantidad de items frecuentes es 7 este valor ser almacenado en la variable NIF. Este paso se detalla en la tabla 5.2. Se realiza el segundo recorrido del repositorio de informacin D para construir la matriz MIF y el vector STE, en la Tabla 5.3 se excluyen de las transacciones los items no frecuentes y se ordenan los items frecuentes segn IF.

Identificador de la transaccin 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010

Items frecuentes ordenados segn IF e,p,c,d,i e,p,f,i e,c e,p,c,d,a,f,i e,p,c,d,a p,c,d,a,f e,p,f,i e,p,c,d,a e,p,c,d,a,f,i e,p,c,d,a,f,i

Tabla 5.3: Items ordenados segn IF

40

Los items frecuentes IF = { e, p, c, d, a, f, i } son representados en la matriz MIF de la siguiente manera, la primera columna representar al item frecuente e, la segunda columna al item p, la tercera columna al item c y as sucesivamente. Para insertar la primera transaccin del repositorio D (1001,<e,p,c,d,i>) en la matriz MIF, se identifican las columnas que corresponden a los items frecuentes incluidos en la transaccin, <e,p,c,d,i> ? <1,2,3,4,7>, sta informacin se utiliza para determinar los elementos distintos de cero que sern insertados en la segunda fila de la matriz, para este ejemplo se tiene [1,1,1,1,0,0,1]. A la segunda transaccin le corresponden las siguientes columnas <e,p,f,i> ? <1,2,6,7> y los elementos que probablemente sern insertados en la tercera fila de la matriz MIF quedan de la siguiente manera [1,1,0,0,0,1,1]. Pero, antes de insertar la fila en la matriz MIF es necesario comparar las filas: [1,1,0,0,0,1,1] y [1,1,1,1,0,0,1], donde, la primera fila corresponde a la transaccin en proceso y la segunda corresponde a la nica fila que actualmente tiene la matriz MIF, si son iguales se debe incrementar el soporte y almacenar el resultado en el vector STE, caso contrario se inserta como una nueva fila en la matriz, asignndole el soporte igual a 1 en el vector STE. Concluido el recorrido del repositorio D, se observa en la Fig. 5.1 la matriz y el Vector resultante.

1 1 2 3 4 5 6 7 1 1 1 1 1 0 e

2 1 1 0 1 1 1 p

3 1 0 1 1 1 1 c

4 1 0 0 1 1 1 d

MIF 5 6 0 0 0 1 1 1 a 0 1 0 1 0 1 f 1 1 0 1 0 0 i

7 1 2 3 4 5 6 STE 1 2 1 3 2 1

Fig. 5.1: Matriz MIF y el vector STE

En la matriz MIF se observa, por ejemplo, que el cuarto itemset candidato (almacenado en la fila 5) tiene un soporte igual a 3, ste valor esta siendo almacenado en el vector STE en la cuarta posicin.

41

Procedimiento Posiciones_MIF Concluida la ejecucin del procedimiento MIF_STE se observa que la primera fila de la matriz MIF queda vaca y es precisamente para que el procedimiento Posiciones_MIF la utilice para almacenar el nmero de fila donde el item frecuente j-simo aparece por primera vez. Por ejemplo, el item frecuente f aparece por primera vez en la tercera fila entonces el elemento MIF[ 1, 6 ] = 3. La siguiente fila en la que f est presente es la 5, ste valor debe ser almacenado en MIF[ 3, 6 ]. La ltima fila que contiene a f es la 7, ste valor ser almacenado en MIF[ 5, 6 ]. Finalmente, el elemento MIF[ 7, 6 ] debe almacenar el valor de 1 para indicar que no existen ms filas que contienen al item f. Se hace notar que no se toma aleatoriamente MIF[ 3, 6 ] MIF[ 5, 6 ] para almacenar los nmeros de fila, es importante que cada fila en la que el item est presente almacene el siguiente nmero de fila donde el item tambin est presente. En la Fig. 5.2 se observa el resultado de aplicar Posiciones_MIF. MIF 5 6 5 3 0 0 0 5 0 0 6 7 1 0 7 0 a f

1 1 2 3 4 5 6 7

2 2 3 4 5 6 1 1 e 2 3 5 0 6 1 7 p

3 2 4 0 5 6 1 7 c

4 2 5 0 0 6 1 7 d

7 2 3 5 0 1 0 0 I 1 2 3 4 5 6 STE 1 2 1 3 2 1

Fig. 5.2: Matriz MIF despus de ejecutar el procedimiento Posiciones_MIF

Concluida la construccin de las estructuras MIF y STE se ejecuta un ciclo NIF - 1 veces, a travs de ste proceso se determinar el conjunto de patrones frecuentes asociado al repositorio de informacin D. Se hace notar que los items frecuentes identificados a travs del procedimiento MIF_STE (e, p, c, d, a, f, i), tambin forman parte del conjunto de patrones frecuentes. El algoritmo Apriori-I aplica el mtodo de patrones crecientes, que consiste bsicamente en combinar items frecuentes y determinar el soporte asociado a sta combinacin. El proceso inicia con el item i el cual se denominar patrn condicional, como se ver ms adelante el patrn condicional puede estar formado por uno o ms items, el item i es combinado con los items frecuentes que se encuentran a su izquierda (f, a, d, c, p y e), luego se calcula el soporte que

42

corresponde a cada una de las combinaciones, obteniendo el resultado que se muestra en la Tabla 5.4.

Items combinados f-i a-i d-i c-i p-i e-i

Soporte 5 3 4 4 6 6

Tabla 5.4 : Soporte calculado del patrn condicional i.

Se observa que la combinacin <p,i> junto con <e,i> satisfacen el soporte mnimo esperado (x = 6) y se convierten en patrones frecuentes. Para la siguiente bsqueda se tiene: Patrn condicional <p,i>, existe un nico item que se encuentra a la izquierda de p, es el item e, luego se obtiene la siguiente combinacin <e,p,i> cuyo soporte es 6, en consecuencia, se convierte en un patrn frecuente. Patrn condicional <e,i>, no existen items a la izquierda de e, por lo tanto no se pueden generar combinaciones. Concluido el anlisis sobre el item i, el proceso contina con el patrn condicional f, se efectan las combinaciones con los items que se encuentran a la izquierda de f (a, d, c, p y e), en la Tabla 5.5 se muestra el soporte obtenido para cada una de las combinaciones.

Items combinados a-f d-f c-f p-f ef

Soporte 4 4 4 6 5

Tabla 5.5: Soporte calculado del patrn condicional f.

Se identifica un nuevo patrn frecuente <p,f> y termina el anlisis sobre el item f. El nuevo patrn condicional a ser analizado es a, cuyas combinaciones se presentan en la Tabla 5.6.

43

Items combinados d-a c-a p-a e-a

Soporte 6 6 6 5

Tabla 5.6: Soporte calculado del patrn condicional a.

Se identifican los siguientes patrones frecuentes: <d,a>, <c,a> y <p,a>, en la siguiente bsqueda se convierten en patrones condicionales. Patrn condicional <d,a>, en la Tabla 5.7 se muestran las combinaciones con los items que se encuentran a la izquierda de d y sus correspondientes soportes.

Items combinados c - d, a p - d, a e - d, a

Soporte 6 6 5

Tabla 5.7: Soporte calculado del patrn condicional da

Se identifican los patrones frecuentes <c,d,a> y <p,d,a>, que a su vez generan los siguientes patrones condicionales: Patrn condicional <c,d,a>, en la Tabla 5.8 se puede verificar que el patrn condicional <c,d,a> genera el patrn frecuente <p,c,d,a>.

Items combinados p - c, d e - c, d

Soporte 6 5

Tabla 5.8: Soporte calculado del patrn condicional cda.

Patrn condicional <p,d,a>, la nica combinacin que se puede generar es <e,p,d,a> cuyo soporte es 5, la cual no es un patrn frecuente porque no satisface el soporte mnimo esperado.

44

Patrn condicional <c,a>, genera dos combinaciones <p,c,a> y <e,c,a> de las cuales <p,c,a> representa un patrn frecuente porque el soporte de sta combinacin es 6, mientras que el soporte de <e,c,a> es 5. Patrn condicional <p,a>, genera la combinacin <e,p,a> que no es un patrn frecuente porque el soporte es 5. El proceso contina con el anlisis del patrn condicional d, en la Tabla 5.9 se observan los soportes calculados de cada una de las combinaciones vlidas.

Items combinados Soporte c-d 7 p-d 7 e-d 6


Tabla 5.9: Soporte calculado del patrn condicional d.

De acuerdo al resultado obtenido las tres combinaciones son patrones frecuentes, en el siguiente ciclo se convierten en patrones condicionales. Patrn condicional <c,d>, genera dos combinaciones <p,c,d> y <e,c,d> cuyos soportes respectivamente son 7 y 6, por lo tanto, se convierten en patrones frecuentes. Patrn condicional <p,c,d>, genera el patrn frecuente <e,p,c,d> cuyo soporte es 6. Patrn condicional <e,c,d>, no genera ninguna combinacin. Patrn condicional <p,d>, genera la combinacin <e,p,d> cuyo soporte es 6, en consecuencia se identifica un nuevo patrn frecuente. Patrn condicional <e,d> no genera combinaciones. De acuerdo a la lista de items frecuentes, el proceso contina con el anlisis del patrn condicional c, que genera las combinaciones <p,c> y <e,c>, el soporte obtenido para ambas combinaciones es 7, por lo tanto, se determinan dos nuevos patrones frecuentes. Patrn condicional <p,c>, genera el patrn frecuente <e,p,c> cuyo soporte es 6. El patrn condicional <e,c> no genera combinaciones. El proceso contina con el patrn condicional p, que genera la combinacin <e,p> cuyo soporte es 8, este valor satisface el soporte mnimo esperado, por lo tanto, <e,p> es un patrn frecuente. La minera de patrones frecuentes concluye, en la Tabla 5.10 se presenta la lista de los patrones frecuentes encontrados a travs del algoritmo Apriori-I.

45

Resultados obtenidos de la ejecucin del algoritmo Apriori-I Iteracin o Llamada recursiva j=7 Patrones frecuentes encontrados '2,7''p,i' '1,7''e,i' Llamada recursiva a la funcin patrones frecuentes Call patrones_frecuentes(2,'2,7')

Patrones_frecuent '1,2,7''e,p,i' es(2,'2,7') j=6 '2,6''p,f' j=5 '4,5''d,a' '3,5''c,a' '2,5''p,a' Call patrones_frecuentes(4,'4,5') Call patrones_frecuentes(3,'3,5') Call patrones_frecuentes(3,'3,4,5')

Patrones_frecuent '3,4,5''c,d,a' es(4,'4,5') '2,4,5''p,d,a' Patrones_frecuent '2,3,4,5''p,c,d,a' es(3,'3,4,5') Patrones_frecuent '2,3,5''p,c,a' es(3,'3,5') j=4 '3,4''c,d' '2,4''p,d' '1,4''e,d'

Patrones_frecuent '2,3,4''p,c,d' es(3,'3,4') '1,3,4''e,c,d' Patrones_frecuent '1,2,3,4''e,p,c,d' es(2,'2,3,4') Patrones_frecuent '1,2,4''e,p,d' es(2,'2,4') '2,3''p,c' j=3 '1,3''e,c' Patrones_frecuent '1,2,3''e,p,c' es(2,'2,3') j=2 '1,2''e,p'

Call patrones_frecuentes(3,'3,4') Call patrones_frecuentes(2,'2,4') Call patrones_frecuentes(2,'2,3,4')

Call patrones_frecuentes(2,'2,3')

Tabla 5.10: Paso a paso las operaciones principales del algoritmo Apriori-I

Rendimiento El algoritmo propuesto comprime el repositorio de informacin en la matriz MIF y el vector STE, si bien se reduce la informacin del repositorio que ser almacenada en la matriz, esta contiene la informacin necesaria para minar el conjunto

46

completo de itemsets frecuentes, adems, es evidente que la estructura MIF en ningn momento ser ms grande que el repositorio original. Con respecto a los costos de acceso y lectura de datos, Apriori-I realiza exactamente dos recorridos sobre el repositorio de informacin, la primera para identificar los items frecuentes y la segunda para construir las estructuras MIF y STE, de esta manera, evita el costo de realizar mltiples recorridos sobre el repositorio. La minera de patrones frecuentes se efecta sobre MIF y STE: Para cada uno de los patrones condicionales identificados se realiza la unin del patrn condicional con los items frecuentes que se encuentran a su izquierda, de esta manera el algoritmo reduce el espacio de bsqueda, para el conjunto obtenido se calcula el soporte a travs del recorrido no secuencial de la matriz MIF, esto es posible porque los elementos de cada una de las columnas de la matriz MIF almacenan las posiciones en las que aparece el item frecuente que es representado por la columna. Si el soporte calculado satisface el soporte mnimo esperado el conjunto de items es un patrn frecuente. En lugar de la generacin de candidatos Apriori-I aplica el mtodo de patrones crecientes, superando de esta forma el aspecto crtico observado en el algoritmo Apriori. Finalmente, la gestin de las estructuras en las que el algoritmo propuesto almacena el repositorio de informacin son definitivamente menos complejas que las estructuras de datos dinmicas que utiliza FP-growth.

5.4 LA PORNOGRAFIA EN EL INTERNET La pornografa en Internet: Una de las fuentes econmicas mas prominentes, y que mueve ms dinero que las mejores empresas multinacionales. La idea de ste informe preliminar, es establecer las bases de las conexiones locales relacionadas con la pornografa en general. Hecho ilegal y delicado ya que intervienen factores de cultura, creencias y moral de cada persona. En mxico no hay legislacin para el uso de Internet. Esto genera un efecto de crecimiento descontrolado y provocando que millones de personas tengan acceso a la pornografa. Para esto se sugiere la atencin de algunos trminos: Hay distintos niveles de pornografa y de estilos - Tipo artstico. Play Boy, Mujeres y hombres desnudos

47

- Relaciones sexuales - Relaciones con Nios/ adolescentes ( entre 12 a 18) - Relaciones de sexo Oral - Relaciones sexo Anal - Relaciones de mas de dos Hombres o mujeres - Relaciones Gay - Relaciones Lesbianas - Juegos sexuales con instrumentos - Relaciones Hard sex (sexo duro): sadismo, perversin, mujeres embarazadas, nios, necrofilias, zoofilias) - Mujeres de la tercera edad. Estos trminos seran, las clasificaciones a Grandes Rasgos de la tipologa de la oferta y demanda sexual en Internet. La mayora de las pginas sexuales de Internet, son muy difciles de localizar, ya sea por la informacin o por la localizacin geogrfica, ya que tienen muchos mirrors (espejos de una misma red), o sino redireccionadas, es decir, de una direccin de internet, automticamte se busca otra. Estn ntimamete ligadas a los hackers, ya que su principal arma se mantiene de esto, para evitar el rastreo, mucho sitios hackers, se esponsorizan con las pginas pornogrficas. Sobre el rastreo de la informacin: El problema de rastrear una web, tiene mucho que ver con el direccionamiento, y adems del hecho que uno puede registrar una web en cualquier parte del mundo, y luego cargarla desde cualquier computadora casera. Lo mismo, al revs, yo soy extranjero y registro una web en Mxico, y la puedo cargar en los servidores locales o en cualquier parte del mundo. El otro problema son las paginas free, o pginas alojadas en servidores en forma Gratuitas, en el cual el registro se hace en forma libre, y puede tener contenidos pornogrficos o redireccionados; servidores gratis como xoom, angelfire, el sitio, Geocities, demasiado.com, etc. Muchos de estos proveedores advierten que estas paginas sern dadas de bajas si tiene contenidos pornogrficos, pero son tantas, que son de difcil deteccin. Se han adjuntados a este informe, una serie de dominios: .com.mx, en el cual pueden haber direcciones falsas, o nombres falsos, a los efectos de establecer el criterio de saber si son o no pornogrficas. Otros registros son a solicitud de los interesados y lo realizan las empresas proveedoras de Internet. Pero Tambin estn los que lo hacen por su cuenta y con la idea de vender servicios de tipo sexual. Se notara que una pagina del tipo www.buscasexo.com.mx, habla de servicios de Internet, no especificando en realidad nada.

48

Sobre las paginas de Intenet: Una vez que se realiza el registro se procede a cargar la informacin de tipo sexual, en algn servidor. Pudiendo darse a conocer o no el nombre o contacto real de la gente que mantiene el hosting (el lugar). De nuestra experiencia se ha observado que se llega al servidor, que lo aloja, por ejemplo, hay pginas nacionales que tienen contenidos extranjeros alojadas en Estados Unidos (donde la legislacin es mas dura, o bien al menos existe legislacin). Cmo es el Negocio? El usuario que se registra de manera local cobra los derechos o vende el dominio, como parte del negocio, a los que generan la web. Patrocinar el sitio: se arma una Web y se publica banners ( cartelitos), en su Web con la direccin de la pagina pornogrfica. Es decir, la actividad comercial no tiene ningn tipo de control. Como se sabe si hay contenidos sexuales? Es bastante difcil, En realidad un sitio pornogrfico, no necesariamente le muestra en la entrada que hay sexo explcito, se habla siempre de mayores de 18 aos, pero, quien sabe la edad?, adems adentro se redirecciona a un sitio especial con un plus en la tarjeta de crdito al lugar de sexo duro. Pero a nivel portal o entrada no se ve nada, salvo insinuaciones. Y esto es clave ya que las insinuaciones son por dems detonadores de curiosidad. A continuacin se muestra una tabla de los patrones de pornografa ms comunes en paginas pornogrficas, son alrededor de 300 y vienen acompaados con las siguientes columnas:

49

PT WEB PORN TOTAL 8m 5329 4676 10005 akamai 359967 278441 638408 angel 21623 18337 39960 babe 65618 41206 106824 backdoor 106 48 154 beach 1891 902 2793 beast 13121 6319 19440 bikini 7676 5094 12770 bisexual 3141 1053 4194 blow 2345 1304 3649 boob 8544 6301 14845 breast 2539 1787 4326 burst 4133 4133 8266

FWEB 5351.4422 341469.618 21373.6763 57137.6776 82.371 1493.9109 10398.0047 6830.3765 2243.2732 1951.7654 7940.2459 2313.877 4421.2915

FPORN 4272.7468 272639.254 17065.3635 45620.3802 65.7674 1192.7818 8302.0687 5453.5709 1791.0945 1558.3461 6339.7228 1847.4665 3530.0875

PWEB 0.00057209 0.0365043 0.00228492 0.00610822 8.8057E-06 0.0001597 0.00111158 0.00073019 0.00023981 0.00020865 0.00084884 0.00024736 0.00047265

PPORN 0.00045677 0.02914609 0.00182435 0.00487698 7.0308E-06 0.00012751 0.00088752 0.00058301 0.00019147 0.00016659 0.00067774 0.0001975 0.00037738

Tabla 5.11: Patrones de pornografa ms comunes

PT : Patrn de pornografa. WEB: Frecuencia encontrada en el universo. PORN: Frecuencia encontrada en un subconjunto del universo. TOTAL: Suma de las columnas WEB y PORN. EWEB: Frecuencia esperada para la columna WEB. EPORN: Frecuencia esperada para la columna PORN PWEB: Probabilidad de que suceda el patrn dentro del universo. PPORN: Probabilidad de que suceda el patrn dentro del subconjunto. FACTOR: Es el cociente de la columna PORN y WEB. FPWEB: El producto del FACTOR y PWEB. FPPORN: El producto del FACTOR y PPORN. En la tabla se muestra un anlisis de frecuencias de los patrones, lo que se pretende es encontrar un peso a cada uno de los patrones y con ello conseguir caracterizar un URL pornogrfico, para ello nos tendremos que valer de la estadstica para conseguirlo. Los patrones de esta lista fueron seleccionados de una lista de 450 patrones aproximadamente, cada uno de ellos fue buscado en un universo de 23.3 millones de URLs para poder conocer su frecuencia de aparicin(esto nos da los valores de la columna web), por otra parte se realizo el mismo barrido para crear un subconjunto del universo el cual contiene URLs muy susceptibles de ser pornogrficos, este subconjunto con 4.5 millones de URLs fue examinado para poder seleccionar los que son verdaderamente pornogrficos de lo que no lo son, resultando un subconjunto de 3.3 millones de registros. Sobre este subconjunto se hace un segundo rastreo para poder obtener nuestra tercera columna de la tabla anterior. Con estos datos obtenemos una tabla de contingencia y procedemos a calcular la probabilidad de que ocurra dicho patrn tanto en el universo como en el

50

subconjunto. Con ello podremos hacer una primer aproximacin para poder darle peso a cada patrn. La probabilidad total de encontrar pornografa en un url esta dada por la sumatoria de las probabilidades:

pf
Donde: El factor o peso esta dado por:

i i

pi es la probabilidad esperada del patrn en el subespacio, comparado con el universo.

frecsu i fi = frecun i
Donde: frecsu es la frecuencia del patrn en el subespacio y frecun es la frecuencia del patrn en el universo Al realizar el rastreo de los patrones por medio del sistema experto en el campo url, se recobran el 95% de los registros, es decir 3.1 millones de registros. Una vez que se tiene se tiene el repositorio pornogrfico se procede a asociarlo con el repositorio del recurso humano, a continuacin se muestra en la figura 5.3 una asociacin del campo estado civil con la pornografa:

51

Figura 5.3 Asociacin del campo estado civil.

La grfica muestra que los casados son ms susceptibles de ver pornografa, la regla muestra que tiene un support del 72%, es decir que una persona que es casada tiene 72% de probabilidad de ver pornografa. Ahora bien la asociacin del campo fecha que se ilustra en la figura 5.4 muestra que la pornografa tambin es consultada por el sexo femenino y aunque el porcentaje es bajo es significativo (12.7%).

52

Figura 5.4 Asociacin del campo sexo.

Ahora se muestra el resultado obtenido para el campo fecha en la figura 5.5 en el cual se puede observar que la consulta de la pornografa alcanza su pico a las 15:00 PM, que es la hora en la que se regresa de comer.

Figura 5.5 Asociacin del fecha.

53

Dentro del mismo anlisis del campo fecha se observa que las consultas en la pornografa es un fenmeno constante en el transcurso de los 55 das estudiados, ahora bien se muestra en la figura 5.6 donde se hace la asociacin de cada da con la pornografa.

54

Figura 5.6 Asociacin del campo fecha por da.

55

Ahora se tiene la figura 5.7 que muestra la asociacin de los da de la semana, y tambin se observa que no hay diferencia significativa entre cada da de la semana, entre el lunes (1) y el domingo (7), la diferencia de porcentaje es mnima, esto comprueba que el fenmeno de las consultas es constante.

Figura 5.7 Asociacin del campo fecha por das de la semana.

En la figura 5.8 tenemos la asociacin del tabulador del empleado a la pornografa.

56

Figura 5.8 Asociacin del campo tabulador.

Ahora aunque la asociacin anterior es subjetiva ahora mostramos un nivel mas de minado en la figura 5.9 mostramos la asociacin tanto del tabulador como del puesto.

57

Figura 5.9 Asociacin de los campos tabulador y puesto.

58

Ahora bien, en la figura 5.10 tenemos un diagrama de pastel donde se muestra el porcentaje de accesos por cada edificio:

Figura 5.10 Asociacin del campo edificio.

59

Ahora se muestra la asociacin del campo contenido en la figura 5.11, donde se muestra que lo ms consultado son las imgenes de tipo jpeg y gif adems del texto, por otra parte el audio y el vdeo tienen un porcentaje bajo en comparacin con los mencionados anteriormente.

Figura 5.11 Asociacin del campo contenido.

60

Ahora mostramos en la figura 5.12 el campo cdigo que describe como fue tratada la peticin de Internet:

Figura 5.12 Asociacin del campo cdigo.

61

En la grfica anterior se muestra que el 45 por ciento de las peticiones que hacen son buscadas en el Internet directamente ya que no estn dentro del servidor de proxy, este porcentaje son semejantes a los mostrados en la ref. [23]. Ahora mostramos la clasificacin de empleados en la figura 5.13 y observamos que la regla indica que entre mas alto sea la clasificacin se es ms susceptible de ver pornografa y adems nos percatamos que dicha regla se rompe en la a partir de la clasificacin F.

Figura 5.13 Asociacin del campo tipo de empleado.

En la figura 5.14 se muestran todos los sitios pornogrficos consultados, que tuvieron support mayor a 11000.

62

Figura 5.14 Sitios pornogrficos con support mayor a 11000.

63

Las siguientes grficas 5.15 y 5.16 son un ejemplo de que la muestra esta sobrerrepresentada, ya que estamos usando para estas dos reglas una muestra predispuesta, por lo que las inferencias que resultan de estas asociaciones no son validas.

Figura 5.15 Asociacin del campo estado.

64

Figura 5.16 Asociacin del campo zona.

A continuacin se muestra la tabla 5.12 de correlacin entre los patrones encontrados durante la investigacin y por causas de espacio solo se mostraron solo una parte de la tabla:

65

PATRON1 adult adult adult adult adult adult adult adult adult adult adult adult adult amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur amateur anal anal anal anal anal anal anal anal angel animal asian asian asian asian asian asian

PATRON 2 Babe Bouncer Core Free Hard Hot Movies Photo Pic Porn Sex Video Xxx asian beast black chic core ero forbidden free galler girl hard hot mate movies nude pic porn sex sweet teen ass hot passion pic sex slut teen tight movies passion delight ero free mate nude pleasure

FRECUENCIA 1204 14026 1044 13791 1044 2637 4936 1305 1577 1653 3143 1604 5358 1977 2332 1626 1468 1428 1292 3228 4430 1111 17782 1428 1421 95082 2211 1304 3098 1713 5838 1164 9266 2344 1196 1995 1567 5543 1377 1053 1377 2950 1473 1896 1286 1672 1977 1216 1743

66

asian asian awe awe babe babe babe babe babe babe babe babe babe babe babe babe beast beast beast beast beast bikini bikini bisexual bisexual black black black black black black black black black black black black black black blonde blonde blonde blonde blonde bony bony bony bony bony bony

sex xxx raw xxx bony core ero free galler hard hot necro nude sex sin xxx mate movies teen whore xxx free wicked girl sex blonde bony cock fantas fart free interracial mate porn pussy racial sex teen xxx fart free interracial racial sex ebony fantas free porn pussy sex

1169 1356 1835 2112 1185 1069 2918 13256 1341 2115 3169 4126 1437 8088 1198 2144 2338 2992 5561 1606 1882 1245 1638 3033 3141 6489 1182 1846 1206 4323 5234 3230 1626 1878 1260 3230 1435 1118 1118 4323 2998 2934 2934 1030 10459 2120 1672 1072 1311 1817

67

bony boob bouncer bouncer breast butt cam cam cam cam cam cam cam cam cam cam cam candy celeb celeb celeb celeb celeb celeb chic chic chic chix chix cock core core core core core core core core Core Core Core Core Core Core Core

teen facial hot video lover lick ero free girl mate pic porn raw sex skirt spy voyeur girl free heat hot naked nude pic linda mate porn movies porn sex ero free gay girl hard hot junky mate movies pic porn sex teen video xxx

1078 1194 1072 1289 1600 1032 1693 3158 2827 1018 1364 3192 137236 4063 1114 3849 1938 1170 4217 1144 2172 5434 6639 3621 1758 1468 2071 8487 8487 1510 1988 7282 4091 1206 55509 1400 2961 1428 2527 4963 7418 11117 2913 2811 4187

Tabla 5.12 Tabla de correlacin entre los patrones de pornografa.

68

6 LA PRIVACIDAD DE LOS DATOS 6.1 DATOS DE CLIENTES, PRIVACIDAD Y MINERIA DE DATOS No importa cul es la estructura interna de datos del cliente o cmo se obtienen los datos de fuentes externas, lo importante es la privacidad del cliente. La privacidad es algo que est ah, pero que adquiere relevancia a medida que el sistema se vuelve ms poderoso y empieza a utilizar una metodologa de minera de datos cada vez ms efectiva. La privacidad va ganando importancia en la sociedad actual, donde los comerciantes, las aseguradoras y los organismos gubernamentales disponen de grandes almacenes de datos personales. Las suspicacias que la gente tiene acerca de la recoleccin de datos de estos datos se empiezan a extender, como era de esperar, hacia los tratamientos analticos de los mismos. Los usuarios de hacen uso de herramientas de minera de datos tienen que pensar sobre cmo los asuntos relacionados con la privacidad va a afectar esta tecnologa. Adems de la privacidad, a medida que la minera de datos empieza a ganar importancia en los asuntos empresariales, surgirn muchas cuestiones legales que merecen la mxima atencin. Qu pasara si un modelo destinado a decidir a quin se le enva una oferta de crdito se basar en caractersticas como raza o sexo? Qu tipo de responsabilidad habra en estas circunstancias? El analista tiene que tener claro que tendr que enfrentarse a estos asuntos si se utiliza la minera de datos para tomar decisiones de carcter delicado.

6.2 PRIVACIDAD Y MINERIA DE DATOS En febrero de 1998 en los EE.UU., estall un escndalo sobre la empresa farmacutica CVS y su colaboracin con Elensys, una empresa de marketing directo de Massachusetts que enviaba a los clientes de CVS avisos de que no haban renovado sus prescripciones. Al ser criticada por lo que se consider una violacin de privacidad de registros mdicos de sus clientes, CVS rescindi el contrato con Elensys. Aunque la minera de datos no se mencion pblicamente durante la controversia, se sabe que en los debates sobre la privacidad mdica que hubo al respecto en el Senado de los EE.UU. se habl de Elensys y el uso de minera de datos en actividades de marketing. Puede que no sea lejano el da en el que se impongan limitaciones legales sobre el uso de la tecnologa de minera de datos. Y slo es la punta del iceberg. Los EE.UU. tienen un enfoque mucho ms relajado sobre la privacidad que el resto del mundo. En contra, la Unin Europea promulg en octubre de 1998 una directiva muy restrictiva sobre la Proteccin de Datos que,

69

probablemente, sea el primer contratiempo de los muchos que afectarn la tecnologa de minera de datos. Esta directiva europea, por ejemplo, prohibe la transferencia de datos personales a los pases que no disponen de suficientes leyes sobre la privacidad de datos. Adems, posee muchos requisitos para las empresas que manejan datos privados, incluyendo el derecho de una persona a acceder, restringir y eliminar la informacin personal que sobre la misma posee una empresa. La industria estadounidense afirma que el control voluntario en vigor en los EE.UU. es suficiente. Los abogados especializados opinan que cualquier control debe apoyarse en la legislacin. Los recientes comentarios de los representantes del gobierno estadounidense fueron crticos con el enfoque voluntario. Consideran imprescindible el consentimiento de consumidor informado: el cliente tiene que estar informado acerca del uso que se les va da a los datos sobre l recogidos y si sern o no revelados a terceros. Y recomiendan proporcionar a los clientes tres niveles de eleccin para cualquier dato recogido: No permitir la minera de datos de los datos de clientes. Permitir la minera de datos slo para el uso interno. Permitir minera de datos tanto para el uso interno como externo.

Estas controversias entre la minera de datos y la privacidad slo son el comienzo. En los prximos aos aumentar el control sobre la minera de datos en relacin con su impacto en la privacidad. La enorme cantidad de datos que se recoge sobre los individuos, unida a las poderosas nuevas tecnologas en minera de datos, despertaran muchas suspicacias por parte de clientes que, seguramente, empezarn a emprender acciones legales contra el uso indebido de esta tecnologa de.

6.3 DIRECTRICES PARA LA PRIVACIDAD En cualquier caso, existen algunas pautas generales para la construccin del sistema de minero que, aunque no infalibles, ayudarn a reducir problemas futuros. Por supuesto, estas directrices se basan en la experiencia dentro del marco de leyes y lmites tecnolgicos habituales. Como se puede ver en el ejemplo de Elensys, incluso si las leyes no estn claras y se toman precauciones, una empresa puede tener verdaderos problemas si sus clientes tienen la impresin de que la poltica de la privacidad de la empresa no es la adecuada.

70

6.4 INFORMACIN ANNIMA Y NO ANNIMA En general, hay que distinguir entre la informacin que contiene la identidad del cliente y la que no la contiene. Un ejemplo obvio puede ser el nombre completo y los ingresos. Pero incluso el segundo apellido o los apellidos junto con la direccin podran ser suficientes para identificar al individuo. Hay que intentar, siempre que sea posible, que el sistema de minera de datos trabaje con datos annimos y resumir el concepto del cliente como individuo en un nico identificador codificado. Por ejemplo, un nmero de diez dgitos que slo el analista puede traducir en el nombre y direccin de un cliente individual. No es difcil generar un identificador annimo. Slo tiene que ser nico y, con fines promocionales, hay que tener una tabla donde se guarde el identificador junto con el nombre y la direccin del individuo. Por supuesto, el identificador no puede ser una simple permutacin del Nmero de Identificacin Fiscal. Debera asignarse al azar y ser completamente independiente de cualquier informacin descriptiva, promocional o transaccional disponibles sobre el cliente.

6.5 DATOS DETALLADOS Y DATOS AGREGADOS Aun si los datos sobre el cliente estn anonimizados, pero todava son detallados (individuales), hay riesgo que alguien pueda ser identificado. Por ejemplo, si se sabe el cdigo postal, la edad y el modelo del coche de una persona, se puede averiguar quin es esta persona. Una de las maneras de asegurar un mayor nivel de privacidad para los clientes es trabajar slo con datos agregados. Por ejemplo, se puede tratar de realizar las acciones de marketing basndose slo en la edad y el sexo de los clientes. Suponiendo que la base de datos tiene un milln de clientes y agrupndolos en 240 grupos distintos (unas 120 edades y 2 sexos), se tiene de promedio algo ms de 4.000 clientes por grupo. El fichero resultante de esta segmentacin es todava til para realizar minera de datos, mediciones de marketing y determinaciones del pblico objetivo, pero un individuo y su informacin estn (casi) protegidos. Aun as, hay que tener cuidado al utilizar los datos agregados porque algunos grupos resultantes del proceso pueden contener unos pocos clientes o incluso a un solo cliente. Por ejemplo, el segmento de edad de 120 aos puede, si es que contiene a alguien, contener a un solo cliente. Por lo tanto, algunos clientes no pueden preservar su anonimato, incluso siendo uno entre un milln, si son muy viejos. La mejor forma de prevenir estos problemas es realizar una inspeccin manual de los tamaos de los segmentos y fusionar los segmentos poco poblados

71

entre s. Esto tambin es importante para los sistemas OLAP, que utilizan datos agregados y, adems, disponen de herramientas para poder desmenuzar los grupos resultantes segn gran variedad de caractersticas. 6.6 INFORMACIN PARA OBJETIVO O PARA MEDICIN Otro momento importante es determinar qu uso se les va a dar a los datos del cliente: se utilizarn para determinar el pblico objetivo o slo para medir. Los clientes se preocupan menos si creen que la empresa utiliza la informacin recogida para conocer lo que hacen y medir sus respuestas a una promocin que cuando creen que la empresa utiliza la informacin para emprender acciones agresivas de marketing. Puede ser inquietante recibir por correo promociones con ocasin de acontecimientos de la vida personal (el nacimiento del nio) o informacin personal (una nueva medicina que trata una enfermedad especfica del cliente). En realidad, todas las mediciones se realizan con el fin de determinar el pblico objetivo, pues la nica razn para realizarlas es la de modificar las acciones basndose en lo aprendido. Se puede decir que la diferencia entre medir y determinar el objetivo no est muy clara. Aun as, desde el punto de vista prctico, medir es siempre una estrategia ms segura.

6.7 FUENTES COMBINADAS Una cuestin ms que afecta a la privacidad del cliente es la utilizacin de distintas fuentes de datos. Esta cuestin es relativamente reciente, porque habitualmente era bastante complicado recoger datos sobre un cliente fuera de las estructuras de la empresa. Actualmente, gracias a los avances de las tecnologas de informacin (ordenadores, bases de datos, etc), es mucho ms fcil combinar datos procedentes de diferentes fuentes y formar una visin ms completa del cliente. Suele ser informacin sobre el comportamiento y preferencias de un cliente referente a mercados y productos que no son propios de la empresa (por ejemplo, la compra de la base de datos de una revista). 6.8 ASUNTOS LEGALES ASOCIADOS CON MINERIA DE DATOS Cada decisin que toma una empresa implica repercusiones legales: a quin dar el crdito, qu transacciones pueden ser fraudulentas, qu clientes merecen recibir una oferta hipotecaria especial, son asuntos delicados. Si la decisin

72

incorpora una caracterstica que no est permitida por la ley pueden surgir problemas. En los EE.UU. durante los ltimos diez aos algunas empresas de servicios financieros fueron multadas a causa de una aplicacin impropia de las tcnicas para marketing de tarjetas de crdito y otros tipos de prstamos. Un ejemplo tpico de las prcticas ilegales sera la exclusin de la gente que vive en un barrio determinado de una ciudad de las promociones de crditos u otros servicios financieros. Estas exclusiones ocurran a menudo a causa de carcter racial de los vecinos excluidos. Ahora, cuando los procesos de seleccin se realizan automticamente mediante minera de datos, hay que asegurarse de que los patrones descubiertos por la minera de datos no contengan las exclusiones prohibidas. En minera de datos, las decisiones se ocultan detrs de funciones matemticas y criterios de seleccin complicados. Los algoritmos estadsticos y de aprendizaje incrustados en la herramienta de minera de datos no distinguen entre variables conflictivas (raza, sexo, edad, etc.) y cualquier otra caracterstica a la hora de tomar una decisin. Para estos algoritmos un campo de datos es un campo de datos y, realmente, poco importa qu esta detrs de un nmero. Por ello, es importante asegurarse de que las variables incorrectas no participan en el modelo. Un problema ms surge debido a que la minera de datos permite un desarrollo muy rpido de modelos predictivos, basndose en el anlisis de grandes cantidades de datos, habitualmente, todos los datos que se encuentran en un data warehouse (almacn de datos). Esto supone menos tiempo para revisiones de los datos a analizar, es decir, menos tiempo para la participacin humana en el proceso. Tambin hay que tener en cuenta las variables que contienen informacin codificada sobre otras variables como, por ejemplo, la variable soltero que lleva implcita la informacin sobre el sexo. La clave para reducir los problemas es revisar directamente los datos antes de hacer cualquier anlisis mediante la minera de datos. Cualquier parte cuestionable de los datos debera evaluarse para determinar si su inclusin en el modelo es legal y/o deseable. Incluso si un tipo determinado de datos no est prohibido, el hecho de poder usar esta variable no necesariamente implica que sea aconsejable usarla. En la sociedad actual puede ser mejor pecar de prudente. Por supuesto, sera aconsejable realizar un anlisis post-mining para determinar si alguno de los patrones encontrados por el algoritmo de minera de datos afecta desproporcionadamente a alguna clase protegida. Un perfilado estadstico relativamente simple de cada clase protegida permitira evaluar si el modelo predictivo ha excluido algn grupo (protegido). En EE.UU., las empresas de servicios financieros que prestan crditos personales estn obligadas a evaluar cada etapa de decisin de sus campaas de marketing para determinar si

73

contiene alguna discriminacin implcita. Lgicamente, esto ha incrementado significativamente la complejidad de los esfuerzos de marketing. Finalmente, un abogado legal competente debera revisar cualquier duda sobre el uso de datos cuestionables en un modelo predictivo. Las Tcnicas Estadsticas proporcionan un anlisis descriptivo, inferencial y multivariante de los datos, mientras que Data Mining profundiza ms, buscando patrones ocultos que se escapan a tcnicas tradicionales. Es necesario y se tiene que mencionar que no pretendemos ser una autoridad moral sobre lo que es bueno y malo en la pornografa, pero si queremos asegurarnos (por medio de la Minera de Datos) que algunos de los sitios o pgina visitados por los empleados tienen patrones que son caractersticos de la pornografa en la Web, como se explica anteriormente la bsqueda de sitios de esta ndole es fundamentalmente practica y debido a que existen grandes posibilidades de encontrar un mejor algoritmo con gran cantidad de caractersticas o atributos que otro tipo de sitios no lo permiten fcilmente. As mismo como su definicin conceptual ser tomada de la literatura experta en el tema.

74

CONCLUSIONES La mejora obtenida en el algoritmo propuesto Apriori-I para minar reglas de asociacin est relacionada con el descubrimiento del conjunto completo de patrones frecuentes que es el fundamento de otras tcnicas de minera, por ejemplo: Agrupamiento . Clasificacin, Anlisis de clasificacin basado en asociacin. Anlisis de patrones secuenciales. En consecuencia, el presente trabajo no se limita a la minera de reglas de asociacin, de manera general se extiende a todas aquellas tcnicas de minera cuyo fundamento este basado en la minera de patrones frecuentes. El algoritmo Apriori-I realiza exactamente dos recorridos sobre el repositorio D, reduce el espacio de bsqueda almacenando la informacin relevante de forma comprimida en las estructuras MIF y STE. Se mejora la eficiencia de minar patrones frecuentes a travs de:

Toda la informacin necesaria para minar los patrones frecuentes se encuentran en MIF (matriz de items frecuentes) y STE (vector que almacena el soporte), no requiere almacenar la informacin en estructuras complejas como son la lista enlazada, el rbol y como ocurre en los mtodos basados en instancias. Se limita a la validacin de los candidatos aplicando la bsqueda de patrones frecuentes, de sta manera, se evita la generacin del conjunto de itemsets candidatos, que se considera el cuello de botella del algoritmo Apriori. Considerando las caractersticas mencionadas del algoritmo Apriori-I, se concluye, que el algoritmo propuesto posee una eficiencia para buscar y obtener (minar) reglas de asociacin porque no genera un nmero exponencial de itemsets candidatos como ocurre en Apriori, tampoco utiliza la estructura que bsicamente es un rbol cuyo recorrido merma el rendimiento de la asociatividad.

75

REFERENCIAS
[1] FAYYAD, PIATETSKY-SHAPIRO, P.SMYTH. FROM DATA MINING TO KNOWLEDGE DISCOVERY: AN OVERVIEW, ADVANCES IN KNOWLEDGE DISCOVERY AND DATA MINING. PAGS 1-34. MIT PRESS 1996. [2] FERNANDO BERZAL, JUAN CARLOS CUBERO. TBAR: AN EFFICIENT METHOD FOR ASSOCIATION RULE MINING IN RELATIONAL DATABASE. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 47-64. ARTICULO 37 DEL 2001. [3] MOHAMMED J. ZAKI. SCALABLE ALGORITHMS FOR ASSOCIATION MINING. IEEE TRANSACTIONS ON KNOWLEDGE ANDA DATA ENGINEERING VOL 12. No 3 PAGS 372-390. MAYO/JUNIO 2000. [4] MING-SYAN CHEN, JIAWEI HAN. DATA MINING: AN OVERVIEW FROM A DATABASE PRESPECTIVE. IEEE TRANSACTIONS ON KNOWLEDGE ANDA DATA ENGINEERING VOL 8 No 6 PAGS 866-881. DICIEMBRE 1996. [5] HONGJUN LU, HUAN LIU. EFFECTIVE DATA MINING USING NEURAL NETWORKS. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING VOL 8. PAGS 957-961. No 6 DICIEMBRE 1996. [6] JAIDEEP SRIVASTAVA, PING YAO CHEN. WAREHOUSE CREATIONA POTENTIAL ROADBLOCK TO DATA WAREHOUSING. IEEE TRANSACTIONS ON KNOWLEDGE ANDA DATA ENGINEERING VOL 11. PAGS 118-126. No 1 ENERO-FEBRERO 1999. [7] DIMITRI THEODORATOS, TIMOS SELLIS. DESIGNING DATA WAREHOUSES. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 279-301. ARTICULO 31 DE 1999. [8] JIAWEI HAN, SHOJIRO NISHIO, HIROYUKI KAWANO. GENERALIZATION-BASED DATA MINING IN OBJECT-ORIENTED DATABASES USING AN OBJECT CUBE MODEL. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 55-97. ARTICULO 25 DE 1998. [9] JIAWEI HAN, YONGJIAN FU. MINING MULTIPLE LEVEL ASSOCIATION RULES IN LARGE DATABASES. IEEE TRANSACTIONS ON KNOWLEDGE ANDA DATA ENGINEERING VOL 11. PAGS 798805. No 5 SEPTIEMBRE/OCTUBRE 1999. [10] C.I EZEIFE. SELECTTING AND MATERIALIZING HORIZONTALLY PARTITIONED WAREHOUSE VIEWS. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 185-210. ARTICULO 36 DEL 2001. [11] MAURICE HOUTSMA, ARUN SWAMI. SET-ORIENTED DATA MINING IN RELATIONAL DATABASE. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 245-262. ARTICULO 17 DE 1995. [12] ENDRE BOROS, PETER L. HAMMER. AN IMPLEMENTATION OF LOGICAL ANALYSIS OF DATA. IEEE TRANSACTIONS ON KNOWLEDGE ANDA DATA ENGINEERING VOL 12. PAGS 292-306. No 2 MARZOABRIL 2000. [13] SARABJOT S. ANAND, DAVID A. BELL. EDM: A GENERAL FRAMEWORK FOR DATA MINING BASED ON EVIDENCE THEORY. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 189-223. ARTICULO 18 DE 1996. [14] PAOLO FRASCONI, MARCO GORI. DATA CATEGORIZATION USING DECISION TRELLISES. IEEE TRANSACTIONS ON KNOWLEDGE ANDA DATA ENGINEERING VOL 11. PAGS 697-712. No 5 SEPTIEMBRE/OCTUBRE 1999. [15] LIMIN FU. KNOWLEDGE DISCOVERY BY INDUCTIVE NEURAL NETWORKS. IEEE TRANSACTIONS ON KNOWLEDGE ANDA DATA ENGINEERING VOL 11. PAGS 992-998. No 6 NOVIEMBRE/DICIEMBRE 1999.

76

[16] JONG SOO PARK, MING-SYAN CHEN. USING A HASH-BASED METHOD WITH TRANSACTION TRIMMING FOR MINING ASSOCIATION RULES. IEEE TRANSACTIONS ON KNOWLEDGE ANDA DATA ENGINEERING VOL 9. PAGS 813-825. No 5 SEPTIEMBRE/OCTUBRE 1997. [17] CHARU C. AGGARWAL, PHILIP S. YU. A NEW APPROACH TO ONLINE GENERATION OF ASSOCIATION RULES. IEEE TRANSACTIONS ON KNOWLEDGE ANDA DATA ENGINEERING VOL 13. PAGS 527-539. No 4 JULIO/AGOSTO 2001. [18] F. BONCHI, F. GIANNOTTI, C. GOZZI. WEB LOG DATA WAREHOUSING AND MINING FOR INTELLIGENT WEB CACHING. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 165-189. ARTICULO 39 DE 2001. [19] YONGQIAO XIAO, MARGARET H. DUNHAM. EFFICIENT MINING OF TRANSVERSAL PATTERNS. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 191-214. ARTICULO 39 DE 2001. [20] OSMAR R. ZAIANE. BUILDING VIRTUAL WEB VIEWS. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 143-163. ARTICULO 39 DE 2001. [21] ALEXANDROS NANOPOULOS, YANNIS MANOLOPOULOS. MINING PATTERNS FROM GRAPH TRAVERSALS. ELSEVIER DATA AND KNOWLEDGE ENGINEERING. PAGS 243-266. ARTICULO 37 DE 2001. [22] M.F. ARLITT AND C.J. WILLIAMSOM, INTERNET WEB SERVERS: WORKLOAD CHARACTERIZATION ANDA PERFORMANCE IMPLICATIONS, IEEE/ACM TRANSACTIONS ON NETWORKING 5 PAGS 631-645. 1997. [23] P. BARFORD, A. BESTAVROS, A. BRADLEY AND M.E. CROVELLA, CHANGES IN WEB CLIENT ACCESS PATTERNS: CHARACTERISTICS AND CACHING IMPLICATION, WORLD WIDE WEB 2 PAGS 1528. 1999. [24] L. BRESLAU, P. CAO, L. FAN, G. PHILLIPS, AND S. SHENKER, WEB CACHING AND ZIPF-LIKE DSITRIBUTIOS: EVIDENCE AND IMPLICATIONS, IN: PROC. OF THE INFOCOM 99 CONFERENCE. PAGS 163-174. 1999. [25] B.M. DUSKA, D. MARWOOD, M.J. FELLEY, THE MEASURED ACCESS CHARACTERISTICS OF WORLD-WIDE-WEB CLIENT PROXY CACHES, IN: PROC. OF THE USENIX SYMPOSIUM ON INTERNET TECHNOLOGIES AND SYSTEMS (1997). [26] S. JIN AND A.BESTAVROS, TEMPORAL LOCALITY IN WEB REQUEST STREAMS: SOURCES, CHARACTERISTICS AND CAHING IMPLICATIONS (POSTER), IN: IN PROC. OF THE SIGMETRICS 2000 CONFERENCE. PGAS 110-111. 2000.

77

ANEXO A A1 Campos de la bitcora del servidor proxy. Fecha: Es la fecha y hora en la cual se realizo la transaccin de peticin de Internet. El formato esta el estndar de UNIX con una resolucin en milisegundos y la cual tendr que ser transformado a otro formato para su transportacin a al base de datos. Tiempo: Es el tiempo en milisegundos el cual el socket se abre y cierra durante la transaccin. Direccin del cliente: Es la direccin Ip (protocol Internet) con el cual el cliente se identifica. Cdigo: Describe como fue tratada la peticin de Internet. Los valores que puede tomar esta columna son los siguientes: TCP_HIT Una copia vlida del objeto pedido estaba en el cache. TCP_MISS El objeto pedido no estaba en el cache. TCP_REFRESH_HIT El objeto estaba en l cache, pero envejeci. Una requisicin Si-modificar-desde fue hecha y un 304 no Modificaron es recibida. TCP_REF_FAIL_HIT El objeto estaba en l cache, pero envejeci. La demanda para validar el objeto fallo, se entrega el envejecido. TCP_REFRESH_MISS El objeto estaba en l cache, pero envejeci. Una requisicin Si-modificar-desde fue hecha y la contestacin contuvo el nuevo contenido. TCP_CLIENT_REFRESH El cliente emiti una requisicin en la cual se refresca el cache del cliente con la informacin del cache. TCP_CLIENT_REFRESH_MISS El cliente emiti un mensaje de no esta en l cache. As, l cache tiene que re enviar el objeto del servidor de origen. Esto es usuarios que obligan al apoderado a verificar si ya hay una nueva copia. Para abreviar, el navegador le oblig al proxy a que verifique si existe una nueva versin. TCP_IMS_HIT

78

El cliente emiti un requisicin Si-modificar-desde y el objeto estaba en l cache y todava se mantena fresco. TCP_HIT y TCP_IMS_HIT son los HITS, la nica diferencia en el caso de TCP_IMS_HIT el navegador ha tenido que actualizar la versin as que no hubo ninguna necesidad de enviar la copia del cache al cliente. TCP_IMS_MISS El cliente emiti una requisicin Si-modificar-desde para un objeto que envejeci. TCP_SWAPFAIL Se crea que el objeto estaba en el cache, pero no poda ser accesado. TCP_DENIED Se neg el acceso a esta requisicin. UDP_ se refiere a las demandas en el puerto de ICP UDP_HIT Una copia vlida del objeto estaba en el cache. UDP_HIT_OBJ Igual que UDP_HIT, pero el objeto es demasiado pequeo para ser enviado en la respuesta UDP. Guarda la peticin de TCP siguiente. UDP_MISS El objeto pedido no estaba en el cache. UDP_DENIED Se neg el acceso a esta requisicin. UDP_INVALID Una demanda no vlida fue recibida. UDP_RELOADING La demanda de ICP fue negada porque el cache estaba ocupado cargando su metadata. Bytes: El nmero de bytes escritos al cliente. Mtodo: El mtodo de requisicin HTTP o ICP_QUERY para requisiciones ICP. Url: El url requerido. Id: El campo tiene el nombre de usuario el cual realizo la solicitud. Para nuestro caso esta vaco. Lugar: Da una descripcin de donde fue traida la pagina. Contenido: Tipo de contenido, por ejemplo HTML, vdeo, sonido, etc.

79

A2 Script que procesa el archivo access.log 1. sh pp.awk 2. sh ppp.awk 3. sed "s/http\:\/\//http\:/g" tmp00.txt > tmp000.txt 4. sh pppp.awk 5. sed "s/,//g" tmp0000.txt> tmp2.txt 6. sed "s/ - /,,/g" tmp2.txt> tmp3.txt 7. sed "s/ -/,/g" tmp3.txt> tmp4.txt 8. sed "s/ /,/g" tmp4.txt> tmp5.txt 9. cat tmp5.txt | perl -nwe 's/^(\d+)/localtime ($1)/e; print ' > tmp6.txt 10. sed "s/http\:/http\:\/\//g" tmp6.txt > tmp7.txt 11. cp carga.ctl final1.ctl 12. cat tmp7.txt >>final1.ctl 13. ORACLE_SID=saf; export ORACLE_SID 14. ORACLE_HOME=/usr1/oracle/app/oracle/product/8.1.5; export ORACLE_HOME 15. /usr1/oracle/app/oracle/product/8.1.5/bin/sqlldr jmejia/lolitas00 control=/usr16/tp/dm/final1.ctl La primera lnea es un script que lleva por contenido el siguiente cdigo: awk '{print $1,$2,$3,$4,$5,$6,substr($7,1,50),$8,$9,$10}' access.log > tmp0.txt Este script corta la cadena del url a 50 caracteres de longitud. Ya que de forma eliminamos ruido de los datos, entendiendo por ruido todos los caracteres posteriores a la primer diagonal. La segunda lnea es otro script de awk que lleva el siguiente cdigo: awk '{print substr($1,1,10),$2,$3,$4,$5,$6,$7,$8,$9,$10}' tmp0.txt> tmp00.txt Este cdigo tiene la finalidad de obtener los primeros diez dgitos del primer campo el cual contiene el tiempo en segundos a partir del primero de febrero de 1970. La cuarta lnea nos ayuda a extraer la raz del url: awk '{ z = split($7, array, "/") for (i = 1; i <= 1; ++i) print $1,$2,$3,$4,$5,$6,array[i],$8,$9,$10 }' tmp000.txt > tmp0000.txt

80

La lnea 9 es muy importante en el procesado de la informacin ya que es un script de perl que nos ayuda a convertir el primer campo a un formato de fecha estndar de UNIX y que a continuacin se muestra: Mon May 6 16:28:27 CDT 2002 Las lneas 3,5,6,7,8 nos ayudan a quitar caracteres indeseados en el archivo, la lnea 11 a la 15 sirven para proporcionar las variables de ambiente al usuario y poder realizar la carga a la base de datos. A3 Script que procesa la bitacora de correo. sed "s/@.*,/,/" plano.txt >plano2.txt A4 Script que carga la bitacora de correo dentro de la base de datos. load data infile 'plano2.txt' append into table mail fields terminated by ',' optionally enclosed by '"' trailing nullcols (correo,clave,ip) begindata A5 Script que procesa el archivo sendmail.log grep -v 'sendmail' sendmail.log > tmp0.log grep -v 'pop3 service init' tmp0.log > tmp1.log grep -v 'Logout user' tmp1.log > tmp2.log sed "s/.*user/user/" tmp2.log > tmp3.log sed "s/host=.*\[/\[/" tmp3.log > tmp4.log grep -v 'ipop3d' tmp4.log > tmp5.log grep -v 'user=???' tmp5.log > tmp6.log grep -v 'imapd' tmp6.log > tmp7.log sed "s/ nmsgs=.*//" tmp7.log > tmp8.log sed "s/user=//" tmp8.log > tmp9.log sed "s/ \[/,/" tmp9.log > tmp10.log sed "s/\].*//" tmp10.log > final.txt rm tmp*.log

81

A6 Script que carga el archivo de la bitacora sendmail.log procesado a la base de datos. load data infile 'final.txt' append into table ip fields terminated by ',' optionally enclosed by '"' trailing nullcols (correo,ip) begindata A7 Script que crea la estructura de la bitacora del proxy en la base de datos. create table web ( fecha date, tiempo number(8), ip varchar(19), codigo varchar(28), bytes number(8), metodo varchar(9), url varchar(60), id varchar(20), lugar varchar(90), contenido varchar(50) ) tablespace webdata storage (initial 500M next 500M); create index ipurl on web(ip,url) compress 1 tablespace webindi storage (initial 500M next 500M); La tabla creada por el script mostrada anteriormente crea una estructura en la base de datos llamada web y adems crea un ndice llamado ipurl para los campos ip y url. A8 Script que crea la estructura de la bitacora de correo en la base de datos. create table mail ( correo varchar(15), clave number(6), ip varchar(19) ) tablespace webdata storage (initial 300K next 100K); create index ipcorreocve on mail(correo,clave,ip) compress 1

82

tablespace webindi storage (initial 300K next 100K); El script anterior crea una tabla llamada mail en la base de datos con un ndice llamado ipcorreocve para los campos correo,clave e IP. A9 Script que crea la estructura de la bitacora del sendmail en la base de datos. create table ip ( correo varchar(15), ip varchar(19) ) tablespace webdata storage (initial 7M next 7M); create unique index correoip on ip(correo,ip) compress 1 tablespace webindi storage (initial 7M next 7M); El script crea una tabla llamada IP con un ndice nico llamado correoip para los campos correo e IP: A10 Ejemplo de cmo usar la herramienta sql-loader. load data infile 'plano2.txt' append into table mail fields terminated by ',' optionally enclosed by '"' trailing nullcols (correo,clave,ip) La primera lnea contiene las palabras reservadas que indican que se van cargar datos, la segunda lnea indica la fuente de los datos ( es decir el archivo que contiene los datos), la lnea tres es otra palabra reservada que indica aadir a los datos que ya previamente se encuentran en la base de datos. La instruccin cuatro nos indica el nombre de la tabla mail que se encuentra en la base de datos y la cual ser poblada (esta estructurada ya debe haber sido previamente creada), la instruccin cinco indica cual es el separador de campo (en este ejemplo es ,). La instruccin seis tiene palabras reservadas que indican que en caso de no haber datos el manejador de base de datos insertara valores nulos para una determinada columna y por ultimo la instruccin 7 nos muestra los campos de la tabla mail.

83

ANEXO B RECURSOS REQUERIDOS Bitcora web, la cual esta depositada en varios servidores de correo y cuyo sistema operativo es genricamente Unix.

- Sistema operativo Tru 64 Unix de Compaq o Linux Red Hat 7.2 montado en un equipo WS alpha server disponible en el IMP. - Un manejador de base de datos relacional compatible SQL ANSI. - Un compilador de lenguaje de cuarta generacin, SQL. - Un compilador de lenguaje Java y un compilador de lenguaje Perl. RECURSOS DISPONIBLES Son las caractersticas descritas previamente: - Bitcora web y acceso a los servidores que la contienen. - Equipo de computo con Sistema operativo Tru 64 Unix o Linux Red Hat. - Un manejador de base de datos con SQL y compilador para lenguaje de cuarta generacin. - Compiladores Java y Perl.

84

S-ar putea să vă placă și