Rango Finito

fotoscódigoobservatorioshermanocerdo temas plots

visualización

26

Es muy difícil leer los datos que ofrecen estas “visualizaciones” sobre la situación de los palestinos en territorios bajo el control israelí. Es extraño cómo se ha popularizado ese estilo de “visualizaciones” con un diseño moderno donde los datos principales se pierden entre la mezcla de texto y gráficas supuestamente atractivas.

2

Laia en nieve

Inicialmente quería mirar si se podían detectar, dentro de la nube de políticos tuiteros colombianos, los cúmulos de clientes de empresas de compra de seguidores robot. Con paciencia me bajé el jueves las listas de seguidores de los ciento cuarenta y nueve candidatos al senado con cuenta en Twitter de acuerdo a la base de datos de La Silla Vacía. La idea ingenua era hacer un análisis de componentes principales con la matriz resultante pero las dimensiones de la matriz (149 x 700.000) eran demasiado grandes para poder hacerlo en un tiempo razonable con un computador casero. Por un rato me resigné a hacer sólo la representación del grafo de seguidos y seguidores, pero después recordé que hay reductores de dimensionalidad no-lineales que parten de calcular las distancias entre los puntos (una matriz pequeñita). Una vez procesados los puntos y apropiadamente bidimensionalizados en R armé el gráfico de puntos con D3 (estoy enamorado de D3) y le agregué los vértices del grafo al hacer clic sobre un candidato. El resultado es esto.

Sospecho que lo que el gráfico muestra más que nada (y muy superficialmente) las diferencias en estrategia de comunicaciones digital de los diferentes partidos y candidatos. Los que le meten plata a ser presencia en línea y los que no. Los que quieren ser atendidos y los que atienden. Los conservadores mucho más aglomerados que los liberales. Los verdes totalmente disgregados. El sancocho de “centro democrático”. Benedetti y José Obdulio Gaviria apareados por (conjetura) contratos con la misma empresa de seguidores robot. Igual Serpa y Galán. Tres bloques más o menos bien diferenciados de cuentas: arriba a la izquierda los “líderes de opinión”, abajo los políticos en ascenso y arriba a la derecha los que no le paran muchas bolas a internet pero alguien les dijo que había que estar ahí por si las moscas.

Es un juguete medio inútil pero me gusta cómo se ve. De pronto después intento más serio en esta misma línea. Sigo con ganas de hacer algo a fondo sobre seguidores robots en política colombiana. A ver cuándo puedo.

Hay otros mundos

La información es una forma evacuada de conscienciaMurió el fundador y administrador del proyecto matplotlib ¶ Lecciones elementales de etiqueta bogotana para extranjeros ¶ Cuarenta y cinco monemas de la visualización de información de acuerdo a Santiago OrtizPalabras para llegar a la luna ¶ Cabin in the Woods por fin llega a España ¶ Ciencia ficción en el aula de clase ¶ Un blog dedicado a las incursiones artísticas en la anatomía ¶ Y ya que estamos, la Barbie anatómica.

I went through a sudden period where I couldn’t read

Llevo meses postergando este ejercicio. Hace un par de semanas le dediqué una tarde, pero con la muerte del computador perdí el trabajo (entre muchas otras cosas), así que ayer por la noche lo volví a hacer. El resultado final es más oscuro que iluminador pero qué más da. Su génesis se encuentra en el largo monólogo de Chris Fogle que ocupa el capítulo §22 de The Pale King, la (pseudo)novela póstuma de David Wallace:

[I]nstead of reading something I’d count the words in it, as though reading was the same as just counting the words. [En lugar de leer algo contaba sus palabras, como si leer fuera lo mismo que sólo contar palabras.]

The Pale King (en español El rey pálido, traducción de Javier Calvo) es el esqueleto escueto de una novela que, estimo, rondaría las 1500 páginas (i.e., apenas un tercio de la novela fue concluída). Está estructurada (al menos en su primera edición) en 50 capítulos que, tras la muerte de Wallace, fueron dispuestos en orden lineal por su editor (Wallace no dejó mayores directivas al respecto). Mi pregunta inicial, intencionalmente ingenua, era cómo automatizar ese trabajo o al menos facilitarlo mediante un procesamiento automático del texto que involucrara, cómo no, conteos de palabras.

Gráfico del logaritmo de la extensión en carácteres de cada uno de los capítulos de The Pale King

Con el tiempo, sin embargo, me decanté por un ejercicio alternativo más a mi alcance: (1) Calcular una distancia léxica entre los capítulos, y (2) Disponerlos como puntos en un plano de manera que respetaran (dentro de lo posible) la distancia propuesta. Mi teoría era que un gráfico de ese estilo sería una herramienta útil (un criterio más) para facilitar la organización del texto. Ya no estoy tan seguro.

*

El primer componente del ejercicio es la distancia. La aproximación más intuitiva al cálculo de distancias entre documentos (este artículo de Anna Huang ofrece un sobrevuelo por varios métodos) se basa en recolectar una lista de palabras presentes en los documentos (más detalles adelante) y utilizarlas como base de un espacio vectorial. Bajo este esquema, a cada documento le corresponde una combinación lineal de la base con escalares elegidos de acuerdo al número de apariciones (frecuencia) de la palabra en el documento. Así, si la lista de palabras es $\{v_i\colon 1 \leq i \leq M\}$, entonces un documento $d$ es representado por el vector $M$-dimensional $$\sum_{i=1}^M f_i(d) v_i,$$ donde $f_i(d)$ es igual al número de apariciones de la palabra $v_i$ en el documento $d$. Una vez representados de esta manera, calcular distancias entre documentos se reduce a aplicar el teorema de Pitágoras.

Una versión sólo un poco más sofisticada de lo anterior se basa en la siguiente observación: si una palabra $v_i$ es muy frecuente en un documento $d$ pero también está presente en la mayoría de los documentos disponibles (supongamos que tenemos $N$ documentos) entonces probablemente no sea tan representativa del documento $d$ como cabría esperar inicialmente. Para tomar en cuenta esto, reescribimos la representación vectorial del documento $d$ como $$\sum_{i=1}^M f_i(d) \log\left (\frac{N}{P_i}\right ) v_i,$$ donde $P_i$ es igual al número de documentos que contienen la palabra $v_i$. De esta manera, la frecuencia de la palabra $v_i$ en cada documento es penalizada multiplicándola por un número ($\log(\frac{N}{P_i})$) que se acerca a cero entre más documentos la mencionen.

Así, al final el problema del cálculo de distancias se reduce a decidir cuál debe ser la lista de palabras que se utilicen como base del espacio vectorial de documentos. Siguiendo (a mano alzada) el artículo de Huang, tras una serie de filtros sencillos que removieran diferencias innecesarias y contenido irrelevante busqué (usando NLTK, la navaja suiza del análisis automatizado de texto) todas las palabras que aparecieran más de siete veces en todo el libro. 2060 palabras (aproximadamente un décimo de las que contiene el libro) cumplían con esta condición. Esto en particular implica que los capítulos del libro son representados por puntos en un espacio de dos mil y tantas dimensiones. Calcular distancias entre ellos, ya lo dije, es sencillo. Verlos en un plano es otra historia.

*

Había sobrestimado seriamente la incomprensibilidad del texto. Un conteo burdo de nombres propios en páginas 12-21 ofrece 38, 28, 17, 28, 40, 32, 31, 31, 18, 22. Número medio por página, 28,2, desviación estándar de 6,9, 70% de los datos a s de la media. Número promedio de palabras por página basado en una muestra de 2, 302. O sea 9% de comprensibilidad. Alto.

— H. DeWitt, Ese oscuro objeto del deseo

*

No sé por qué pensaba que el problema de aplanar dimensiones debía estar completa y contundentemente resuelto desde hace décadas. Fue difícil dar por mi cuenta con soluciones convincentes. Finalmente, Juan Manuel me sugirió revisar los métodos de manifold learning implementados en scikit-learn. Para mi sorpresa, varios de los algoritmos disponibles son bastante recientes y provienen de laboratorios de ciencias cognitivas interesados en visión. El que elegí para mi ejercicio, Isomap, fue desarrollado por Josh Tenenbaum (y amigos) cuando trabajaba en Stanford.

La conexión entre visión y reducción de dimensiones se basa en el hecho, permítome ser burdo, de que el ojo cuenta con (muchísimos) sensores que registran el estímulo (imaginen cada sensor como un vector independiente) y luego el cerebro toma esas (combinaciones lineales de) señales y compone una imagen bidimensional (o tal vez un par). ¿Cómo lo hace? Ni idea. Los métodos de manifold analysis intentan simularlo. La idea es asumir que un conjunto de puntos en un espacio de dimensión alta yacen sobre una superficie (de ahí el término manifold) y luego aplanarla preservando en lo posible distancias locales. En el caso particular de Isomap primero se construye un grafo que captura, mediante la imposición de vértices, el sabor local de la colección de puntos, luego se define una distancia optimizada sobre el grafo y finalmente se soluciona un problema de optimización para encontrar los puntos de baja dimensión correspondientes (para el interesado en por qué y cómo funciona, aquí hay detalles y aquí todavía más detalles). Como es de esperarse, entre más puntos, mejor el resultado.

*

Tal vez cincuenta puntos no sean suficientes. (Aquí más grande.)

Este de arriba es el resultado de aplicar Isomap a una versión normalizada (para evitar desequilibrios por diferencias de extensión) de los 50 puntos 2060-dimensionales que representan, de acuerdo a la lista de palabras elegidas, los 50 capítulos de The Pale King. Así se ve. Con Javier discutimos una noche los posibles significados de varios gráficos similares a este pero no logramos decidir si se conectaban de alguna manera con la sustancia del libro, lo que quiera que eso signifique. La verdad, prefiero que sea así. El anticlímax tiene naturaleza de Buda.

*

Anoche, antes de acostarme, se me ocurrió un posible orden lineal que se desprendería de estos cálculos: organizar los capítulos de acuerdo a la distancia al centro de masa (Isomap lo clava en $(0,0)$). El orden sería: §20, §6, §9, §22, §2, §14, §13, §7, §15, §16, §35, §32, §21, §46, §31, §17, §43, §26, §29, §45, §4, §8, §42, §19, §39, §10, §38, §33, §24, §50, §36, §27, §44, §47, §49, §12, §34, §23, §5, §1, §18, §11, §28, §30, §41, §48, §37, §3, §40 y §25. Ya puestos, calculé directamente sobre los puntos originales (en el espacio de dimensión 2060) y en ese caso (cambia, obviamente) el orden es: §22, §24, §2, §27, §42, §30, §7, §19, §33, §9, §5, §14, §47, §6, §49, §16, §8, §46, §43, §15, §13, §23, §36, §32, §26, §45, §39, §3, §12, §18, §29, §20, §17, §48, §38, §37, §50, §21, §31, §4, §35, §44, §1, §11, §41, §40, §28, §34, §10 y §25. En ambos, el recorrido se cierra en ese capítulo neurótico a dos columnas (Devils are actually angels) que describe la tediosa cotidianidad diaria de la oficina de impuestos (casi todos los personajes son mencionados), y se inicia (o casi) con el soliloquio de Chris Fogle (§22) sobre, entre otras cosas, su tendencia a contar palabras en lugar de leer. También podrían organizarse en sentido inverso, como en una espiral hacia el origen. Tal vez eso tenga más sentido.

Direcciones desde el infierno

London a 33 grados centígrados. FedEx dice que mi computador llega mañana por la tarde. Mientras tanto leo The Scar de Miéville. A continuación algunos enlaces que he recopilado durante la última semana cuando Mónica me suelta su computador:

  • Ojo a los cortos documentales de Sean Dunne disponibles en Vimeo. Mención especial merece American Juggalo, sobre la comunidad de fanáticos de la banda Insane Clown Posse (aquí una introducción a la banda publicada hace un par de años en Wired). La estética sucia de Donne y sus temas, lugares y tratamientos me recuerdan lo mejor de los hermanos Coen. Todavía quedan algunos días para apoyar Oxyana su proyecto de documental financiado vía Kickstarter.
  • La colombiana Diana Beltrán Herrera hace pájaros de papel (y estructuras geométricas).
  • Cultvana es una nueva revista digital en español. La diagramación de los artículos (aquí por ejemplo uno sobre la obra de Todd Solondz) es novedosa y trabajada. Me gusta muchísimo (aunque apreciaría una tipografía principal más grande). En el primer número la oferta es diversa pero se nota el ánimo tan juvenil y español por popularizar el análisis cultural académico (que nunca me ha entusiasmado mucho). Creo que al formato que proponen le convendrían números temáticos ocasionales. De resto la veo muy bien encaminada.
  • Robert Hodgin hace simulaciones de creación, exploración y destrucción utilizando la librería Cinder, una especie de Processing de alto desempeño en C++.
  • Educación Prohibida, un documental y proyecto argentino para sacar a la educación pública de su inercia perniciosa. Las reflexiones y críticas aplican sin dificultad al panorama educativo global.
  • Iñigo Quilez explica los fundamentos del warping. Aquí algunos experimentos básicos de Amnon Owed usando Processing. Intentaré algo parecido.
  • El Toronto Star compiló los artículos que escribió Ernest Hemingway entre 1920 y 1924 y los publicó en formato periódico, página a página, tal y como aparecieron originalmente. Aquí hay un pequeño abrebocas en línea (otro sitio de artículos con diagramación novedosa, por cierto). Me impresiona la fuerza de la redacción del joven Hemingway (que atribuyo en parte a la exigencia editorial que tenían los periódicos de entonces) pero sobre todo su seguridad al abordar los temas que trata. Cuesta creer que tenga sólo veinte años.
  • Retratos de Kumi Yamashita hechos con clavos e hilo. Ver para no creer.
On Juggalo Island we can be one.