La primera vez que asistí a la clase “Descubrimiento de conocimiento en bases de datos” no imaginé que se convertiría en mi materia favorita de ese semestre. Y mucho menos vislumbré que llegaría a ser mi área predilecta de forma permanente. El nombre de la materia ha cambiado y términos como “Análisis de datos”, “Minería de datos” han tomado su lugar. El alcance se ha extendido pero lo fundamental perdura.

El término minería hace alusión directa al proceso de encontrar material de valor escondido en la arena u otro material. No es muy distinto a tener registros, flujos de datos ó señales que aunque a simple vista carezcan de información útil, ahí está ella, latente, esperando ser encontrada.

Uno de los ejemplos clásicos es la canasta del supermercado: ¿qué productos se asocian directamente a la compra de otros?. La historia de que los papás jóvenes tienen alta predisposición de comprar cerveza y pañales los Viernes por la noche es una leyenda del gremio que ilustra el objetivo de la minería: encontrar información valiosa. Para el ejemplo, encontrar esa asociación beneficiaría al supermercado el cual favorecería esa compra al colocar los pañales a corta distancia de las cervezas. En consecuencia, se observaría un incremento en las ventas de dichos productos.

Un proceso de minería, de acuerdo a [Fayyad et al., 1996], es “la extracción no trivial de información implícita, previamente desconocida y útil a partir de datos”. Como resultado de este proceso podemos obtener relaciones, tendencias, y comportamientos hasta ese momento desconocidos que nos permiten plantear estrategias y tomar decisiones. Es la transformación de datos en conocimiento. Esta “transformación” es lo que me atrajo; me parecía la llave para develar secretos. Era introducirme a un mundo en donde iba a atisbar en cosas sin aparente sentido para obtener información hasta entonces desconocida, ¿ quién se resiste a eso?

Pero el proceso no es simple. Aunque en todo texto que se respete se pueden encontrar los pasos: tener un conjunto de datos, seleccionarlos, pre-procesarlos, transformarlos, aplicar algoritmos, extraer patrones, interpretarlos y aplicar el conocimiento obtenido, en la realidad cada fase tiene sus propios retos. Y difícilmente cada caso es igual. En la práctica, tan solo la parte de preparación de datos suele consumir el 80% del tiempo total del proceso.

La minería de datos puede explicar el pasado y también predecir el futuro. Mediante un análisis exploratorio podemos saber el estado actual de las variables de nuestro interés. Por ejemplo, ¿cuántos alumnos inician la carrera de arquitectura y cuántos la terminan? Por otra parte, si queremos saber cuál es la probabilidad de que un nuevo alumno con cierto perfil termine la carrera, entonces debemos aplicar algoritmos predictivos.

En la etapa de extraer modelos predictivos y patrones, la minería de datos tiene un amigo cercano: el aprendizaje automático. El aprendizaje automático se encarga del estudio, diseño y desarrollo de algoritmos que pueden aprender un modelo sin ser programado explícitamente. Un ejemplo es el aprendizaje automático de un conjunto de reglas que nos digan si un cliente va a volver a usar los servicios de renta de auto dado su perfil. Algunas aplicaciones tradicionales son las relacionadas con control de calidad, diagnóstico médico y análisis bancarios para aprobaciones de crédito. Un factor común en estos ejemplos es que el flujo de datos no es vertiginoso.

Así, el mundo siguió desarrollándose desde el punto de vista tecnológico y ahora se enfrenta a una sobrecarga de información. El uso masivo de dispositivos móviles, el continuo intercambio de información y el crecimiento de internet entre otros factores, han originado grandes cambios y nuevos retos para la minería de datos. Hoy como nunca antes, la explotación de la información es un tema crítico en áreas más allá de las ciencias computacionales y tecnologías de información.

Las tendencias indican que el flujo de información crecerá aún más. Ya no solamente los humanos nos conectaremos e intercambiaremos información entre nosotros. No, ahora los objetos también se conectarán e intercambiarán mensajes, tanto entre éllos como con nosotros. Así, el refrigerador nos enviará un mensaje a nuestro celular si detecta que hace falta leche. La cafetera aprenderá nuestros hábitos y sabrá en qué momento preparar el café. Y perder el llavero ya no será una preocupación pues dispondremos de su ubicación. Los dispositivos que nos podemos poner ya están aquí y también basan sus servicios en la generación de información a partir de nuestras actividades. Los dispositivos de monitoreo de nuestros signos vitales son el preludio de un sinfín de aplicaciones para la preservación y mejora de la salud. Estas aplicaciones involucran el uso intensivo de sensores y el consecuente intercambio de datos generando registros de cada actividad.

Las aplicaciones de minería de datos requieren adaptarse a esta sobrecarga de información. Y es aquí en donde la minería se relaciona con Big Data, el proceso de cantidades masivas de datos que requieren nuevas arquitecturas, frameworks, algoritmos y modelos de programación. Observamos tres áreas estrechamente ligadas que están viendo su auge en distintas áreas del conocimiento: aprendizaje automático, minería de datos y Big Data.

Pero estas ideas pueden sonar muy alejadas a nosotros si esa no es nuestra área de trabajo. La realidad es que estas técnicas están presentes en actividades rutinarias como la compra en línea de un libro y un boleto de avión. Las recomendaciones que esos sistemas nos proporcionan se basan en el registro de nuestros datos y actividades frecuentes. De la misma manera, las recomendaciones que recibimos en las redes sociales son producto de análisis de datos y aplicación de modelos predictivos, métricas y búsqueda de relaciones.

Estamos en una época floreciente y sumamente interesante para la creación y desarrollo de aplicaciones utilizando minería de datos. Tópicos como minería de texto, análisis de redes sociales, cómputo en la nube, visualización, desarollo de herramientas, cursos masivos en línea (MOOCs), sistemas de recomendación, modelos de control a partir de datos de sensores, el Internet de las cosas y la Web semántica son solamente algunos ejemplos para el uso innovador de la minería de datos.

Y por supuesto, no puede faltar el lado oscuro de las cosas. Uno de los aspectos críticos de la explotación de la información es la confidencialidad. Por un lado, un sistema que ofrece servicios personalizados requiere tener información veraz del usuario para su mejor desempeño. Por otro lado, la preocupación por el mal uso y la escasa claridad de una reglamentación que garantice la seguridad y el uso honesto de los datos genera desconfianza. En la medida que crezca la certidumbre del usuario en el manejo adecuado de su información privada será también la aceptación y mejor desempeño de las aplicaciones.

Referencia
[Fayyad et al., 1996] Fayyad, U., Piatetsky-shapiro, G., and Smyth, P. (1996). From data mining to knowledge discovery in databases. AI Magazine, 17:37–54 .

El verano pasado cursé un MOOC en el cual conocí Processing. El curso fué bueno aunque lo terminé más por honor que por ilusión pues mi objetivo era más bien tener la experiencia MOOC. Este verano me inscribí a dos, esta vez más por ilusión y con la intención de conocer formas de enseñanza además de contenido del curso.

Se ha dicho mucho sobre el temor de que los MOOCs desplacen al profesor. Para personas disciplinadas, autodidactas y que no esperan que el profesor les digiera todo, los MOOCs si pueden reemplazar al profesor. Muchas veces solamente se necesita la estructura que te filtre información para tener una base y profundizar por tu cuenta. Pero la realidad es que la mayoría no es así (aún) y después de cursar uno y estar experimentando dos puedo decir que no, el MOOC no hace como por encanto que el estudiante sea autónomo.

Por otra parte, un MOOC es el vivo reflejo del estilo del profesor. De los dos que curso, el MOOC A lo da un profesor cuyas explicaciones son  un encanto. Tiene una enorme facilidad de explicar de lo general a lo particular de manera que el estudiante entiende en todo momento lo que está haciendo. Los quizzes tienen siempre una dosis de “¿cómo es esto?” pero siempre se enfocan al tema en cuestión. Jamás hay dudas de lo que se pide, de lo que se espera del estudiante. En este MOOC el profesor sale en los videos, da la sensación de que te lo explica a ti, de forma más personal.

En el MOOC B el profesor tiene un estilo distinto. Hay ejercicios que se salen del tema y el estudiante no tiene idea de cuál es el objetivo. Algunas preguntas de los quizzes son un tanto ambiguas y algunas respuestas también. En este caso, el reto es interpretar lo que el profesor quiere decir. En este MOOC el profesor no se ve, nunca sale en los videos por lo que no se siente ningún vínculo con él.

Cada MOOC requiere un lenguaje de programación distinto y me ha ido mejor en el lenguaje que desconocía que en el que ya tengo algunos años usando.

¿Quiere decir entonces que es mejor el MOOC A que el B?  No lo pienso así. Es lo mismo que con los profesores “en vivo”.  De cada estilo se aprenden cosas diferentes y eso es lo que enriquece el estudio.

Faltan aún muchas semanas de MOOC. Solamente espero no reprobar en el MOOC B que en teoría no debería ser un problema :D

 

Publicado en el blog de Cuadrivio: http://blog.cuadrivio.net/2014/04/mineria-una-ayuda-para-explorar-textos-y-mas/

Cada mañana reviso rápidamente el correo electrónico antes de iniciar las actividades del día, y cada mañana debo luchar con la tentación de leer la información que se despliega ante mis ojos con la apariencia de ser algo que debo saber. Es sumamente seductora la idea de leer todas las actualizaciones de blogs, los nuevos artículos, las infografías, los tweets, el muro de Facebook y ver un sinfín de textos, videos e imágenes que saturan mis ojos y cerebro durante los primeros minutos del día. En ocasiones cedo a la tentación con el pretexto de que es útil para mis planes y termino dilapidando tiempo que pude aprovechar en actividades más productivas. También acostumbro marcar los textos o sitios Web que supuestamente leeré en cuanto tenga tiempo. Rara vez llega ese momento, pero el simple hecho de saber que tengo la información disponible genera la falsa ilusión de que ese conocimiento ya es mío. Qué ingenuidad.

Buscar y analizar información son dos de las actividades a las dedicamos gran parte de nuestro tiempo. La vida sería más fácil si recibiéramos solamente la información significativa, sin embargo, la avalancha de información tiende a crecer. Los dispositivos inteligentes tienen intenciones de obtener toda la información posible para tomar decisiones por nosotros, avisarnos, darnos alertas de salud y poner a nuestra disposición una innumerable cantidad de funciones que requieren de un flujo de información constante.

Texto, video, audio e imágenes son los principales formatos de la información con la que nuestros dispositivos móviles y computadoras nos reciben día a día. De los cuatro formatos, el texto es el elemental, el que ha estado presente desde los primeros sitios Web, así que concentrémonos en él. Supongamos que hemos tomado notas durante un año sobre distintos temas, pero no las hemos agrupado por categoría o tema. Nuestro objetivo es organizar las notas, pero son tantas que no sabemos por dónde empezar. Las notas las hemos escrito en diferentes procesadores de texto y las tenemos en una sola carpeta en nuestra computadora. En medio de  tal desorden y caos, la minería de textos nos puede ayudar a identificar la categoría de cada nota. La minería de textos busca extraer información significativa de datos no estructurados mediante la identificación y exploración de patrones interesantes.[1] Como en toda labor de minería de datos, la fase más laboriosa es el pre-procesamiento. Esta fase incluye tareas de categorización, extracción de información, extracción de términos, el almacenamiento de representaciones intermedias, las técnicas para analizar dichas representaciones y la visualización de resultados. Pero lo más importante, lo que debe tenerse claro antes de dar cualquier paso, es qué quiero saber, qué textos fuente son los adecuados.

Pero no vayamos muy lejos. Un análisis exploratorio básico de un conjunto de textos puede arrojarnos información interesante con potencial para contestar preguntas más complejas. Los periódicos, libros y revistas electrónicos son por sí mismos almacenes de información que pueden analizarse periódicamente. Tomemos como ejemplo la subsección de cuentos perteneciente a la sección de literatura de Cuadrivio. Algunas preguntas que se me ocurren son las siguientes:

  • Para el número 9, ¿cuál fue la temática predominante además de la planteada en el dossier?
  • ¿Cuáles son las palabras clave que describen las novelas publicadas en el 2011?
  • De los cuentos publicados, ¿existen similitudes entre las temáticas abordadas por los diferentes autores?
  • ¿Qué palabras caracterizan a un autor?
  • ¿Cuál es la longitud máxima y mínima de las entradas publicadas en el blog?
  • ¿Existe correlación entre la longitud de las entradas y el número de visitas?

La información que se busca con esas preguntas puede darnos un panorama del comportamiento de la revista por año, por número, por sección, por autor, por estación del año o por cualquier parámetro que nos interese. A partir de los datos recolectados se pueden aplicar métodos para realizar predicciones como apoyo para la toma de decisiones. Por ejemplo, ¿cuál es el mes más favorecedor para publicar cierta temática? Pueden surgir innumerables preguntas para obtener información de los textos que vaya más allá de su contenido literario.

Pongamos un pequeño ejemplo para contestar a la pregunta de cuáles son las palabras que describen a los cinco últimos cuentos publicados en diciembre de 2013. Cabe mencionar que de los cinco cuentos solamente leí uno, por lo que carezco de conocimiento que influya en los resultados.

De la sección de literatura tomé los cuentos «Comida de ángeles», «Quiero mi dinero de regreso», «En el rondín de la noche», «Los Pérez» y «Ciudad alfiler». Los pasos fueron los siguientes:

  1. Convertir el formato html a texto para facilitar su procesamiento. Nuestra entrada consiste en cinco textos.
  2. Convertir a minúscula para que la visualización se facilite.
  3. Eliminar stop words o palabras muy comunes, como por ejemplo: «de», «la», «que», «pero». Puede verse una lista destop words del español en una nota al final de este texto.[2]
  4. Eliminar la puntuación. Para nuestros fines, la puntuación no aporta conocimiento relevante.
  5. Obtener las palabras que aparecieron al menos tres veces.
  6. Obtener una nube de palabras para una visualización agradable.

Los pasos pueden parecer simples, pero si se realizan para todos los cuentos que han sido publicados en Cuadrivio sin utilizar herramientas que automaticen el proceso, entonces la labor se puede convertir en algo que nadie querría hacer. Sin embargo, actualmente existen herramientas desoftware que pueden ayudarnos a automatizar las tareas.[3]

Como resultado se obtuvieron dos conjuntos de palabras principales. Para cada conjunto se generaron las nubes de palabras que se muestran en las figuras 1 y 2 respectivamente. En el primer conjunto, las palabras predominantes son «vida», «dios», «mamá», «padre», «mundo», «luz», mientras que en el segundo las palabras principales son «párroco», «bebé», «condenada», «patrón», «miedo». A partir de dicha información se puede determinar que los temas que los cuentos tocan son la religión, la maternidad, el sometimiento y el miedo.

Figura 1. Palabras principales: «vida», «dios», «mamá», «padre», «mundo», «luz».

Figura 1. Palabras principales: «vida», «dios», «mamá», «padre», «mundo», «luz».

 

Figura 2. Palabras principales: «párroco», «bebé», «condenada», «patrón», «miedo».

Figura 2. Palabras principales: «párroco», «bebé», «condenada», «patrón», «miedo».

¿Qué pasa si en vez de que una persona haga el proceso mejor se desarrolla una aplicación automática que haga los análisis más frecuentes de forma regular? En el momento en que llegamos a este punto, nos damos cuenta de que utilizando las técnicas apropiadas podemos evitarnos esa sobrecarga de información de la que hablaba al inicio.

¿Y el experto?,  ¿dónde queda el experto? Sí, aquel que realmente entiende los textos,  aquel que puede evaluar su calidad y emitir su interpretación. El experto es quien da su opinión final, es quien determina si realmente lo que la aplicación extrajo es relevante. La minería de textos no es un sustituto del experto, por el contrario, es un conjunto de técnicas y métodos que constituyen un apoyo para facilitar su trabajo.

¿Cómo me puede ayudar la minería de textos para distraerme menos? Extrayendo información significativa de acuerdo a parámetros que se indiquen para estar segura de que no me perdí de algo importante. Sin embargo, si lo que quiero es generar algo en vez de ser simplemente receptora, sigo creyendo que  la mejor solución es y será cerrar el navegador y ponerme a hacer las cosas.

Referencias

[1] Ronen Feldman, James Sanger, The Text Mining Handbook: Advanced Approaches in Analyzing Unstructured Data. Cambridge University Press, 2007.

[2] A Spanish stop word list: http://snowball.tartarus.org/algorithms/spanish/stop.txt. Consultado el 20 de abril de 2014.

[3] «List of text mining software», Wikipedia:http://en.wikipedia.org/wiki/List_of_text_mining_software. Consultado el 20 de abril de 2014.

En este mes de regresos, uno de los regresos que más me ha gustado es a la columna de Cuadrivio o Cuadris de cariño. Este es el texto del mes (tomado de http://blog.cuadrivio.net/2014/01/de-verdad-es-inteligente-mi-refrigerador/)

La palabra inteligente se está volviendo de uso obligado como atributo de los dispositivos actuales. Ya no solamente los teléfonos son inteligentes, las tendencias apuntan al incremento de aparatos domésticos con inteligencia incluida. ¿Tienes que lavar la ropa pero no estarás en casa? No te preocupes, ya puedes monitorear tu lavadora mediante tu teléfono inteligente. ¿Necesitas regular la temperatura del refrigerador cuando cambia el clima? Olvídate de eso, ya hay refrigeradores con control inteligente de temperatura. ¿Vas a preparar un platillo y no tienes disponible la receta? Conéctate a internet desde tu refrigerador con Wi-Fi y de paso revisa las noticias mientras sacas el jugo y la leche; los refrigeradores con touch screen ya están disponibles. Seamos bienvenidos a la era del hogar inteligente [1]. Pero no olvidemos la salud, ya que para cuidarla y monitorearla también hay dispositivos que llegan al rescate. Cuando salgas a correr colócate una pulsera que registre tu distancia recorrida, velocidad y calorías consumidas. Monitorea tu corazón con dispositivos que incluyen conexión Bluetooth y GPS para que te avisen si hay alguna anormalidad y envíen los datos a tu cardiólogo para que los anexe a tu registro médico. La ropa también tiene inteligencia. Pero si eres de los que pierden los calcetines, entonces ten cuidado, ya que existen nuevos modelos que tienen sensores textiles para medir tus zancadas y ritmo al caminar. La información recolectada por estos aparatos puede ser subida a la nube por tu teléfono y enviada a donde indiques. No te preocupes por la interconexión, los artículos se entienden entre ellos.

Como vemos, ya no es suficiente con traer con nosotros los aparatos, ya nos los podemos poner (wearable gadgets). Estamos viviendo una era fascinante en la cual la comunicación es la protagonista y su alcance va más allá de conectar humanos con humanos, la conexión incluye también a los aparatos de uso cotidiano. Pero ¿son realmente inteligentes los dispositivos mencionados? De acuerdo con Stuart Russell y Peter Norvig [3], científicos de gran relevancia en el campo de la inteligencia artificial, un sistema inteligente es aquel que realiza la mejor acción para una situación dada. El aprendizaje con base en la experiencia es un factor importante para que el sistema pueda tomar la mejor decisión. Dependiendo para qué fin fue diseñado, un sistema inteligente debe ser capaz de monitorear su entorno, seleccionar la acción más adecuada y ejecutarla. Tomando en cuenta lo anterior, podemos diferenciar un comportamiento inteligente de otro que no lo es, como en los siguientes casos:

Un teléfono celular ha registrado durante tres meses la hora y días de la semana en los cuales su usuario pone la alarma. El usuario no tiene un horario regular, éste depende de las citas de negocios que son registradas en la agenda de su teléfono. Con esta información, el teléfono aplica un proceso de generalización en el cual ha identificado las variables relevantes y ha obtenido un modelo que le permite predecir la hora en la que se debe establecer la alarma. Así, al cabo de tres meses, el teléfono tiene información suficiente para ser capaz de autoactivar la alarma y predecir la hora en la que debe sonar. Adicionalmente, usando otras variables el teléfono sabe qué tono o música será más agradable para despertar. El usuario ya no se preocupa de olvidar poner la alarma, su teléfono aprendió a configurarla. En este caso el teléfono es inteligente.

Por otro lado, tenemos otro teléfono que registra durante tres meses tus trayectos diarios desde que sales de tu casa hasta que regresas. El teléfono actualiza tu estatus en las redes sociales indicando los lugares en los que te encuentras. Al final de cada día, la aplicación sube a un repositorio en la nube tu historial registrado. En este caso el teléfono es un recolector de datos. Los procesos de actualización que realiza son actividades programadas que no involucran toma de decisiones. No es inteligente.

Aun cuando la recolección de datos, envío de información y conexión a internet son aspectos muy importantes, no son procesos que convierten en inteligente a un dispositivo. En muchos casos, agregar el término inteligente es una estrategia comercial que anticipa lo que vendrá en términos de avance tecnológico. La siguiente etapa consiste en convertir los dispositivos en sistemas realmente inteligentes, y para ello se cuenta ya con información de sobra para procesar y de la cual aprender.

La fascinación por tales dispositivos es natural, la evolución tecnológica es tan vertiginosa que estamos viendo la transformación de conductas y hábitos humanos en tiempos cortos. Me gusta mucho la idea de una cafetera inteligente con la cual me pueda comunicar y que avise en mi cuenta de Facebook que ya está listo el café. Pero ante tal despliegue de inteligencia que nos ayuda a resolver tareas cotidianas, no debemos olvidar que también tenemos un cerebro que debe ser inteligente. ¿Podemos confiar totalmente nuestra información y decisiones a unos aparatos que son inútiles ante la ausencia de batería? ¿Por qué confiamos más en aparatos externos que en nuestro cerebro? ¿Hasta qué punto los dispositivos inteligentes son nuestro apoyo y a partir de qué límite nos convertimos en dependientes? Vale la pena autoanalizarnos.

 


Referencias

[1] Samsung home appliances: http://www.samsung.com/us/home-appliances/. Página consultada el 20 de enero del 2014.
[2] «Wearable tech: 13 new gadgets from CES 2014»:http://www.computerworld.com/slideshow/detail/135328. Página consultada el 20 de enero del 2014.

[3] Stuart J. Russell , Peter Norvig, Artificial Intelligence: A Modern Approach, 3a edición, Pearson Education, 2003.

[4] «Connect To Your Coffee: Introducing starter»:http://www.quirky.com/blog/post/2013/09/connect-to-your-coffee-introducing-starter/. Página consultada el 20 de enero del 2014.

Embed This Image On Your Site (copy code below):

A principios de Mayo vi una convocatoria de Slideshare para un concurso de presentaciones llamado in10years y me gustó mucho la idea. Durante el mes hice algunos avances y el Viernes pasado al fin logré terminarla y enviarla. Para mi sorpresa, el día siguiente (Junio 1) recibí la notificación de que la presentación había sido elegida como “presentación top del día”. Eso significa que durante un día, la presentación estaría en la página principal del sitio, favoreciendo las visitas. Y así fué. En menos de un día, la presentación alcanzó poco más de 11,000 visitas. Vaya, casi me sentí como iCarly :)

Smith-Corona Typewriter Haris Awang via Compfight

La semana pasada asistí a algunas conferencias sobre la escritura y publicación de artículos. Dos tópicos fueron los que más me gustaron: el plagio y los hábitos de escritura.

¿Qué es plagio? lo que no es original, así sin más. Nada de parafraseos ni copiar y pegar de nuestros propios escritos. Existen herramientas que detectan plagio y las editoriales hacen uso extensivo de ellas como filtro para la aceptación/rechazo de artículos. Lo mejor es que antes de enviar un artículo a revisión verifiques que no tengas plagio o algo parecido. Las siguientes ligas son muy recomendables:

http://www.ithenticate.com/

https://www.writecheck.com/static/home.html

http://www.plagiarismchecker.com/

En cuanto a hábitos, la práctica constante es lo más recomendable. Si ya cuentas con la investigación y los resultados, lo mejor será escribir diariamente, al menos una página al día. Y así, más pronto de lo que se piensa, tendrás una primer versión sin tener que iniciar una mañana pensando en que tienes que terminar un artículo de 20 páginas.

Generalmente doy prioridad a las actividades de acuerdo a los tiempos de entrega. Aunque funciona, no siempre es bueno porque en vez de avanzar un poco cada día en otras cosas, le dedico mucho tiempo algo específico en días cercanos a la entrega. Esto impide  dar revisiones profundas que podrían hacerse si se tuvieran las cosas listas antes. Cambiaré este hábito y veré cómo resulta el nuevo.

Por otra parte, este mes regreso a escribir la columna “Datos en el tejado” en la revista Cuadrivio, cosa que me da mucho gusto.