viernes, 18 de diciembre de 2015

Minería de texto y planificación estratégica

mineria de texto

Planificación estratégica y minería de texto

Caso. Análisis de algunos artículos del portal aporrea.org sobre los resultados del 6-D

El análisis estratégico es la base para la decisión estratégica. Consiste en el estudio de datos (cualitativos, cuantitativos) asociados a los factores internos o externos que hemos detectado, previamente, como factores relevantes para nuestra organización, porque pueden afectarla, positiva o negativamente, en forma directa o indirecta.
Los datos de tipo cuantitativo se relacionan con las finanzas y la contabilidad a nivel interno, y con indicadores de tipo económico, financiero, socio-culturales, entre otros, a nivel externo. Tales indicadores provienen del desempeño de la nación, pero también del desempeño de nuestros competidores así como del desempeño de nuestros socios. Este tipo de información generalmente es estructurada. La obtenemos en formato de tablas, hojas de cálculos y bases de datos. Aun cuando es necesario efectuar algunas 'limpiezas' y procesamientos sobre esta data, en general no nos genera mayores problemas para pasar de la obtención de la data al análisis y su posterior publicación.
Los datos de tipo cualitativo son otra historia. Se trata de, por ejemplo, respuestas a preguntas abiertas formuladas en encuestas; opiniones de los usuarios de nuestros servicios o de los consumidores de nuestros productos, sobre la calidad, la efectividad y eficiencia de éstos, o sus consideraciones sobre el desempeño de la organización; leyes, investigaciones académicas, etc. A partir de esta modalidad de datos podemos analizar y predecir tendencias relacionadas con imaginarios, creencias, valores y matrices de opinión. Sin embargo, el problema central con la información cualitativa es que no es estructurada. Se presenta como texto.
Tradicionalmente la información textual suele categorizarse en forma manual, lo cual reduce la complejidad del texto a unos cuantos indicadores que describen la temática/contenido del texto. Este procedimiento es útil cuando tenemos solo unos megas de información textual. Por ejemplo, analizar las cartas de Simón Bolívar, o las constituciones decretadas durante la vida republicana de Venezuela. Sin embargo, cuando tenemos el equivalente a gigas y terabytes de información, el procesamiento manual se convierte en un reto ¿Cómo podríamos procesar manualmente los millones de opiniones sobre los libros adquiridos por los usuarios de Amazon? ¿como procesar las 4.73 millardos de páginas que, a la fecha, posee la web?
Para lidiar con este tipo de retos se ha desarrollado la minería de texto (text mining), a la que también se le denomina analítica (text analytics) de texto. Se trata de una serie de procedimientos en el que se combinan la informática, la estadística y la inteligencia artificial con el objeto de extraer conocimiento de grandes volúmenes de documentos de data no estructurada. Es decir, información textual. Se considera que el 75% de toda la data disponible es textual, vg. no estructurada. El conocimiento que se obtiene no está presente en ninguno de los documentos individuales, sino que emerge del conjunto de ellos.
La minería de texto, dependiendo de la disciplina que la emplee y si los procedimientos se relacionan más con la informática, o la estadística o la inteligencia artificial, implica un conjunto de pasos diversos. No obstante, el núcleo del procedimiento consiste en: Recuperación de información: seleccionar los textos pertinentes. Extracción de la información incluida en esos textos: hechos, acontecimientos, datos clave, relaciones entre ellos, etc. Aplicación de minería de datos para encontrar asociaciones entre esos datos claves previamente extraidos de entre los textos.
El procedimiento no se debe emplear en forma aleatoria, a menos que el objetivo consista en una exploración general de bases de datos textuales para encontrar patrones útiles. No obstante, la recomendación general insiste en que se debe partir de un objetivo de la investigación, un marco teórico, mínimo, y una hipótesis básica. Todo ello para evitar el riesgo de perderse por completo durante el proceso. Se debe, además, Pre-procesar la data, Determinar, de acuerdo con los objetivos de la investigación, el modelo que se aplicará y finalmente interpretar el resultado.

Bag of Words

Es uno de los modelos más extendidos para el procesamiento y análisis de información textual. Descompone el texto original en un conjunto de caracteres (palabras, puntuaciones, espacios en blanco), que luego transforma en una matriz compuesta de documentos, términos, y la distribución de frecuencia de los términos en cada documento. En el contexto del Bag of Words, BoW, se entiende como documento un conjunto de caracteres delimitados por un punto y aparte. Por tanto, puede tratarse de un caracter, una línea, un párrafo o un texto completo.
El BoW no está exento de críticas. Dado que los documentos son 'deconstruidos' y reducido a términos + frecuencia de aparición en el texto, cada término/palabra pierde la relación original con el contexto en el que se la usa. Es decir, en el BoW el orden de las palabras es irrelevante. Así el siguiente texto:
"Me fui solo al banco a cobrar un cheque. Había demasiada gente de pie porque habia un solo banco disponible"
 

se descompone de la siguiente forma 

terms={me, fui, solo, al, banco, a, cobrar, un, cheque, había, 
demasiada, gente, de, pie, porque, disponible}

docs={1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1}
Se pierde, por ejemplo, el sentido de homonimia en la palabra banco: institución financiera/mueble. Desde la inteligencia artificial se realizan numerosas investigaciones para superar este problema y otros similares. No obstante, el BoW ha probado ser útil a lo largo de los años. Se le ha empleado con bastante éxito como procedimiento-base para filtrar correos indeseados, recuperar información en la web, clasificar documentos, clasificar imágenes, reconocer rostros, detectar plagio, identificar a autores anónimos de correspondencias/textos, entre otros.

Minería de texto y análisis estratégico

la minería de texto puede sernos de gran utilidad en salas de análisis estratégico y/o salas situacionales. Puede permitirnos hacer seguimiento a opiniones, tópicos especiales o cadentes que involucran a nuestra organización, identificar el cambio de tendencia en los imaginarios, valores y creencias en nuestro entorno, los sentimientos predominantes en las discusiones sobre ciertos aspectos, etc.
Aprovechando la coyuntura reciente en Venezuela, apliquemos la minería de texto para averiguar cuál fue la reacción de algunos articulistas de aporrea.org con respecto a los resultados de las elecciones parlamentarias del 6-D.

Ejemplo Tendencias en la opinión de algunos articulistas de aporrea.org a propósito de los resultados del 6-D

Objetivo Conocer el tipo de explicación ofrecida a, o la preocupación generada por, los resultados de las elecciones parlamentarias del 6 de diciembre de 2015, tomando en consideración los tópicos más frecuentes por artículos y por minutos
Muestra 96 artículos Publicados entre la 1 am. del 7/12 y la 1 am. del 08/12 Publicaron: 4 mujeres, 92 hombres
Extracción de la información: Se creó una tabla con los datos del articulista, el título del articulo, la hora y el contenido de cada artículo Aplicación de minería de datos modelo bag of words.
A partir de éste: nubes de palabras, para analizar los contenidos de los artículos en forma visual y escalamiento multidimensional, para clasificar los artículos en función de la similitud de los temas tratados.
Aplicación de minería de datos
Hemos usado R para la minería de datos
Pre-procesamiento:
Creamos una base de datos textual Eliminamos las palabras vacías (artículos, verbos copulativos); puntuaciones, espacios en blanco y llevamos todos los textos a minúscula Lematizamos los textos para quedarnos con la raíz de las palabras Creamos una matriz documental Relativizamos las frecuencias por cada mil palabras.
Nube de palabras. Clave de interpretación. Las nubes de palabras, al menos las elaboradas con R, nos facilitan la interpretación. En estas nubes, el tamaño de la fuente, el color, y la ubicación de la palabra es significativo. Al mayor tamaño y ubicación central del término, mayor frecuencia de uso. Las palabras con un mismo color se caracterizan por tener frecuencias similares. Se les puede considerar cluster temáticos
Palabras más usadas. Distribución de frecuencias absolutas


Distribución de palabras por artículo analizado
Las frecuencias absoluta de los términos nos indican que los articulistas sintieron mayor preocupación con la oposición, el gobierno, el pueblo, la guerra económica. Se observa que las discusiones parecen haber girado en el rol de esos tres elementos en los resultados. Si en lugar de observar las frecuencias absolutas, observamos las frecuencias de las palabras por cada mil de ellas, obtenemos:

Visto desde esta perspectiva logramos observar algunos patrones distintos, lo cual nos permite enriquecer el análisis
Distribucion de frecuencia de palabras por cada mil


Otra estrategia útil, dependiendo del tipo de seguimiento que estemos adelantando en nuestra sala de análisis estratégico, consiste en observar los términos más frecuentes por segundo, minutos, horas, días, semanas, etc. Este tipo de análisis nos puede señalar la importancia de un tópico dado en el tiempo. Un mismo tópico puede ser empleado con distintas frecuencias en un lapso dado, por lo que aparecerá en la nube en forma repetida y con diferentes colores o tamaño. Ese patrón de aparición puede indicarnos tópicos claves. Veamos ese caso en nuestro análisis:

Distribución de palabras por minuto
Si lematizamos las palabras, podremos tambien buscar patrones adicionales en las palabras por minutos:
Distribución de palabras luego de lematizarlas

Clasificacion de los articulos

La última estrategia que discutiremos en este post, es la clasificación de los artículos. Podríamos desear tener juntos los artículos que, por su deistribución de frecuencia de términos, resultan más parecidos entre sí. Al tener esta taxonomía, podríamos crear otras nubes de palabras para obtener otras perspectivas en el análisis. Es importante tomar en cuenta que el parecido entre los artículos se verá afectado por el número de términos que elijamos retener en el análisis. Así por ejemplo, si decidimos analizar los artículos tomando el 90% de los términos obtendremos un resultado distinto al que podríamos obtener si analizamos sólo el 5% de ellos. La Decisión de tomar el 100% del contenido del documento o solo un 5% dependerá de la extensión de cada texto y de los objetivos del análisis. También puede influir la capacidad de memoria de nuestros equipos.
Ejemplificaremos la clasificación de documentos y al mismo tiempo cómo el resultado podría variar en función de la cantidad de términos retenido con el siguiente gif. La técnica empleada es Escalamiento multidimensional. La clave de interpretación es que los documentos más parecidos entre si tenderán a aparecer cercanos unos de otros. Los documentos que aparecen hacia el centro del gráfico tratan tópicos muy parecidos, en tanto que los que se alejan del centroide contienen temas diferentes. Adicionalmente, los grupos opuestos: arriba, abajo, derecha, izquierda, tienden a presentar contenidos opuestos. Si usaramos la técnica en una sala de análisis situacional, nos interesaríamos sobre todo por estos grupos alejados del centroide y contrapuestos entre sí:
Clasificación de documentos usando escalamiento multidimensional
En este post no intepretaremos las visualizaciones...Le dejamos esa actividad a usted, amigo lector. Observe las nubes y saque sus conclusiones.



Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.

jueves, 26 de noviembre de 2015

Usando el paquete "animation". Inflación en Venezuela. 1830-2014

Segundo gráfico

Añadiendo algunos detalles adicionales al código básico que hicimos en la entrada anterior, podemos obtener un gráfico que se adapte mejor a los objetivos pedagógicos que tenemos en mente en un momento dado. Hemos añadido la presidencia y hemos colocado en azul los valores de la inflación por debajo del promedio en el lapso analizado (7,5%), y en rojo los valores iguales o superiores a ese valor promedio:



Obviamente se pueden añadir/eliminar elementos. Queríamos destacar la utilidad del paquete y lo relativamente fácil que es usarla.

Si lo que deseamos es un gráfico de líneas:



Usando el paquete "animation" de R

En la planificación, y en general en cualquier disciplina, es útil ilustrar algún procedimiento paso a paso, para facilitar la comprensión de lo que se expone. En planificación, a menudo es importante simular la posible evolución de un sistema. Existen numerosos softwares propietarios para realizar estos procedimientos. Sin embargo, en los últimos años, los desarrolladores de opciones libres y opensources nos han puesto al alcance de la mano numerosas alternativas para llevar a cabo esta tarea. Este es el caso de R. Existen numerosos paquetes con una variadas de biblioteca de funciones para realizar animaciones. Uno de estos paquetes es animation.
Vamos a ofrecer nuestros primeros pasos usando el paquete. Simplemente animaremos la evolución de la tasa de inflación en Venezuela, calculada a partir del Indice de Precios al Consumidor, desde 1831 hasta 2014.

Obtención de la data

La data para nuestra gráfica la obtuvimos de la página web del economista José Huerta . Nos quedamos sólo con los valores relacionados con el IPC. Los datos están hasta 2013. Tomamos la cifra de la inflación del 2014 ofrecida por el Banco Central. Finalmente subimos la información a la consola de R.

Primera animación

Empezamos con una idea simple:


plot(x, y, main="Venezuela. Inflacion 1831-2013", type='n', xlim=c(1831, 2013), xlabs='Años', ylabs='tasa')
abline(h=c(0, 30), col=c('red', 'darkred')

# crear una serie de imagenes en png para obtener posteriormente la película. # este es el codigo basico al que haremos modificaciones posteriores en algunas lineas


x = head(inflacion$anio)
y = head(inflacion$tasa)
n = length(x)


for(i in 1:n){
        frame = 100 + i
        filename <- paste("prueba", frame, ".png", sep="")
        png(file=filename, width=550, height=550)
        plot(x, y, xlim=c(1831,1836), type='n')
        points(x[i], y[i])
        dev.off()
        
}

im.convert("prueba*.png", output = "p.gif")


El resultado:
El gráfico no es satisfactorio. Sólo me incluye un sólo punto. Me interesa que los valores se mantengan para poder tener un patrón claro de la tendencia en el comportamiento de la inflación, en estos casi 200 años. Ello implica modificar la x[i] e y[i]. Aquí estoy pidiendo que se visualice cada valor, uno a uno. Pero no estoy pidiendo que se mantengan los anteriores. Esto lo puedo remediar de la siguiente forma:


points(x[1:i], y[1:i])



Introduciendo esta modificación al código anterior obtenemos:

El resultado nos gusta más. Sin embargo, sería bueno incluir una suerte de contardor que nos muestre cada año en la medida en que los valores se muestran en el gráfico. Esto lo podemos lograr incluyendo la función title(), después de establecer los puntos (debemos entonces eliminar el título principal en el gráfico base). Podemos eliminar también el eje x:




title(main=as.character(i+1830))



Hemos querido colocar en el subtítulo los valores de la tasa año a año. el procedimiento es similar que para el caso del título principal. No obstante, no parece buena idea. Intentemos mejor llevar al título principal ambos valores:




 title(main=paste(as.character(i+1830),":", y[i]),
                     cex.main = 3, col.main="darkred")



A esta animación le podemos agregar algunas cosas: por ejemplo controles para pausarla o para detenerla. Podemos agregar información sobre los presidentes en los diferentes periodos e incluso podemos enfatizar algunos eventos cercanos a periodos de inflación negativa, o los momentos en los que la inflación, en forma sostenida pasó algunos valores. Finalmente, esos distintos hitos podrían señalarse coloreando los puntos de diversas formas.

Hemos usado un formato gif, pero el paquete animation nos permite generar otros formatos: html, swift, y películas

lunes, 9 de marzo de 2015

Alo Presidente, 1999-2012, según temas claves



Hemos analizado 294 emisiones del programa Aló Presidente, 1999-2012, empleando la técnica de minería de texto. Buscamos aquellas palabras que, de acuerdo con el indicador 'keyness', se usaron en forma inusualmente alta en las emisiones procesadas y que, por tanto, nos indican los temas que fueron claves en el lapso analizado, e igualmente  aquellas palabras que se usaron en forma inusualmente baja año a año y que nos permitieron hacernos una idea sobre los tópicos que fueron perdiendo relevancia a lo largo de los años en el programa.  Las emisiones degrabadas del programas se bajaron de la página web Alo Presidente, se llevaron a texto plano y se emplearon los programas R 3 y Python 2.78 para efectuar la minería.

Aun cuando en la página web se nos dice que hubo 378 emisiones, sólo encontramos 295 programas degrabados. De estos uno no pudo convertirse a texto plano. De los 83 programas faltantes, 45 parecen seguir un patrón, lo que sugiere que podrían no estar perdidos al azar. Son emisiones que corresponden  al periodo junio-septiembre 2001; agosto-octubre 2002, y enero marzo 2003. Siguiendo la descripción que se ofrece en la página web sobre cada programa, pudimos elaborar una nube de texto que nos indica que, al parecer, los tópicos más importantes en los 45 programas que faltan se relacionan con el petroleo y el paro de 2001-2002. Aló Presidente experimentó tres modificaciones en su formato. Ninguna de las tres fue permanente.


Gráfico 1. Algunas consideraciones sobre las emisiones analizadas
del Aló Presidente con énfasis en las emisiones faltantes

Las 294 emisiones de Aló Presidente analizadas suman aproximadamente 10 millones y medios de palabras, lo que implica que cada una se empleó en promedio 114 veces., y lo que, a su vez sugiere, que el programa giraba en torno a tópicos centrales, es decir, que no había una dispersión temática, sino que existía un núcleo en torno al cual giraban los temas. 

Pese a lo que pudiera ser creencia común, los temas más frecuente en los 294 programas no se relacionaron ni con la oposición, ni con los héroes patrios, tampoco con la economía ni la política. Los temas más frecuentes se relaciona con pronombres personales: yo, tú, me, nos, lo que sugiere que este programa tenía un cariz muy personal, de mucha cercanía con el oyente. Una estrategia bastante común en el discurso populista.

Gráfico 2: Palabras de uso más frecuentes en el Aló Presidente, 1999-2012

Finalmente, cuando analizamos los programas a la luz del indicador 'keynes' y elaboramos sendas nubes de textos para cada año, encontramos que los temas en el Aló parecen estar muy centrados en las diferentes coyunturas electorales. En tiempos de elecciones claves, como lo es el año 2004 y luego 2006, se producen el mayor número de proyectos y actividades relacionadas con la educación, salud y trabajo. Estos proyectos dejan de ser importantes a partir de la coyuntura 2008 y es así como en los años 2009 y 2010, temas que parecieran haber sido de gran importancia en hasta 2006, desaparecen del foco de interés del Aló Presidente, como puede observarse en el gráfico 3. Esta pérdida de interés en los temas dentro del programa, si recordamos las coyunturas, implicó también una pérdida en las inversiones que se hacia en esos proyectos, pues las principales denuncias sobre la falta de insumos, personal etc., de, por ejemplo, la Misión Barrio Adentro, ocurren a partir de 2009 y sobre todo en 2010.
Gráfico 3: temas claves muy frecuentes en el Aló presidente (colores cálidos)
 y temas claves poco frecuentes (colores fríos). En el primer caso, los temas resaltantes aparecen de mayor tamaño y en el centro de la nube; en el segundo caso, los temas que han perdido importancia aparecen en el centro y aparecen también de mayor tamaño. Indicador: keynes (log-likelihood)


miércoles, 28 de enero de 2015

La estratégia, los artes de la guerra y la planificación

Estrategia

Estratégia es una palabra de origen griego que combina dos ideas: ejército y guía, conductor. El término, en su sentido original, se refiere justamente a la capacidad de  quienes están a la cabeza de lo que hoy denominamos fuerzas armadas, para, a través de diversas maniobras, alcanzar el objetivo trazado. Esto es, obtener la victoria sobre el enemigo. Desde esta perspectiva, contamos con numerosas obras escritas a lo largo de los siglos, en diferentes culturas y países que nos ofrecen las reflexiones de militares, o personas muy cercanas a esta posición, con respecto a la estrategia y el arte de la guerra. Entre estas obras tenemos El arte de la guerra, Sun Tzu(11), aproximadamente siglo
IV A.C; Bushido. El código del samurai(8), siglos IX-XII ; Los siete libros sobre arte guerra; Nicolás Maquiavelo(14), mediados del siglo XVI; El libro de los cinco anillos, Miyamoto Musashi(10), de mediados del siglo XVII; De la Guerra, Carl Philipp Gottlieb von Clausewitz(9), siglo XIX; y ya en el siglo XX encontramos dos autores que nos ofrecen sus perspectivas sobre la estrategia en el campo de la guerra irregular, Mao Zedong(13), War and Strategy, y Ernesto Guevara(12), Guerra de guerrillas. 

Cada uno de estos autores enfocan la estregia desde distintos ángulos. Así, al evaluar las palabras más frecuentes empleadas por cada uno de ellos en los textos que hemos seleccionado, encontramos que para Sun Tzu los dos elementos centrales  de la estratégia militar son enemigos y terreno, seguido de las tropas y el ejército. El análisis de entorno y la valoración interna de la organización militar son pues, los ejes de la estrategia para Sun Tzu. En el Bushido, el guerrero mismo es la base de la estrategia. El texto destaca la concepción sobre la vida y la muerte así como los valores que deben definir y guiar la vida del samurai. Para Maquiavelo, la organización y constitución de la milicia son los elementos fundamentales para formular la estrategia militar. Musashi centra la formulación
de la estratégia tanto en el guerrero como en su habilidad para emplear las armas que necesita. En este caso el sable. El guerrero debe conocer, manipular y dominar a fondo su armamento. Clausewitz, concentra su atención en la guerra misma, los objetivos y los medios necesarios para no solo llevarla a cabo, sino también para ganarla. Mao y el Che Guevara también se centran en la guerra. Mao introduce el partido y el estado de guerra como elemento importantes para concebir la estrategia; en tanto que el Che, incluye el pueblo, los campesinos y la movilidad como aspectos resaltantes de ésta.

Abstrayendo de cada una de las obras los elementos resaltantes, encontramos que la formulación de estrategia gira en torno a la persona del guerrero, es decir, quién; la destreza en el uso de las armas, la organización del ejercito y de las tropas, con qué, con quién. En este punto podemos incluir los apoyos externos necesarios cuando quien libra la batalla presenta condiciones desventajosas frente al enemigo; el entorno en el que se librará la contienda, dónde; la contienda misma, esto es, la guerra, qué. Como observaremos más adelante, cada uno de estos aspectos se toman en cuenta en la planificación estratégica corporativa.



Referencias

[8] Anónimo Bushido. El camino del guerrero http://img7.xooimage.com consultado
el 25 de marzo de 2013
[9] Clausewitz, K. De la guerra Libro Dot.com http://www.librodot.com consultado
el 25 de marzo de 2013
[10] Musashi, M. El libro de los cinco anillos Libro Dot.com http://www.librodot.com
consultado el 25 de marzo de 2013
[11] Sun, T. El arte de la guerra Libro Dot.com http://www.librodot.com consultado
el 25 de marzo de 2013
[12] Guevara, E. La guerra de guerrillas Libro Dot.com http://www.librodot.com consultado
el 25 de marzo de 2013
[13] Zedong, M. War and strategy Marxists Archives http://www.marxists.org/ consultado
el 25 de marzo de 2013
[14] Machiavelli, N. The Seven Books of the Art of War Marxists Archives
http://www.marxists.org/ consultado el 25 de marzo de 2013

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.