Rango Finito

fotoscódigoobservatorioshermanocerdo temas plots

matemática

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.

Modelos

La teoría de modelos explora la relación entre los lenguajes formales matemáticos y las estructuras abstractas de las que pretenden hablar. No todo lenguaje matemático es formal. La formalización es sólo una estrategia de juego entre muchas otras. Una de las ventajas de la formalización es que, al equiparar sintaxis y semántica, facilita la verificación y producción automática de argumentos. Otra es que permite capturar propiedades esenciales de las estructuras. Una desventaja es que es rígida en exceso: impone todo tipo de limitaciones de enfoque y aproximación. La teoría de modelos, sin embargo, no se concentra en desarrollar matemáticas a través de la formalización (empresa tradicionalmente monopolizada por personas con trastornos mentales serios) sino en estudiar consecuencias matemáticas de la (potencial) formalización. En particular, la teoría de modelos propone taxonomías y fisiologías de las estructuras matemáticas de acuerdo a diferentes filtros formales. La taxonomía se basa en la miopía natural de los lenguajes. La fisiología en su capacidad complementaria para nombrar y aislar. Si la teoría de modelos se pudiera aplicar abusivamente a los lenguajes naturales, intentaría responder preguntas como las siguientes: (1) ¿Cuántos mundos posibles son capturados por una descripción particular del mundo? (2) ¿Qué consecuencias físicas se desprenden del hecho de que dos mundos sean ligüísticamente indistinguibles? (3) ¿Qué objetos del mundo pueden ser nombrados? (4) ¿Qué quiere decir nombrar? (5) ¿Qué captura el nombre de un objeto? (6) ¿Cómo interactúan físicamente los objetos nombrables? (7) En general: ¿Cuál es el poder del lenguaje sobre la realidad que describe o narra? El teorema de Svenonius señala el carácter mutable de lo innombrable (Remember Lovecraft). El teorema de Beth establece una equivalencia entre lo nombrable y lo ineludible (Remember Perec). Si la teoría de modelos pudiera aplicarse abusívamente a los lenguajes naturales, sería la hermana maniaco-compulsiva de la (meta)literatura.

Inconsistencia

Edward Nelson dice que la aritmética de Peano es inconsistente. La aritmética de Peano es nuestro intento más popular (en pie desde 1889) de listar de manera comprimida las leyes formales que regulan los números naturales. El teorema de incompletitud de Gödel implica que todo (¡todo!) intento de este tipo está destinado al fracaso de una de dos maneras posibles: la primera opción (la buena) es que nuestra colección sea incompleta y existan afirmaciones que no sean verdaderas ni falsas de acuerdo a los axiomas (i.e. que no se desprendan de ellos ni los contradigan). La segunda opción (la mala) es que la colección de reglas engendre una contradicción. Por supuesto, se esperaba que los axiomas propuestos por Peano fuesen simplemente incompletos, pero ahora Nelson asegura, como si fuera cualquier cosa, como si anunciara que su nieto necesita gafas, que implican una contradicción. En un documento disponible en su página web, Nelson describe su argumento a grandes rasgos. A continuación cito un párrafo:

If this were normal science, the proof that P is inconsistent could be written up rather quickly. But since this work calls for a paradigm shift in mathematics, it is essential that all details be developed fully. At present, I have written just over 100 pages beginning this. The current version is posted as a work in progress at http://www.math.princeton.edu/ ̃nelson/books.html, and the book will be updated from time to time. The proofs are automatically checked by a program I devised called qea (for quod est absurdum, since all the proofs are indirect). Most proof checkers require one to trust that the program is correct, something that is notoriously difficult to verify. But qea, from a very concise input, prints out full proofs that a mathematician can quickly check simply by inspection. To date there are 733 axioms, definitions, and theorems, and qea checked the work in 93 seconds of user time, writing to files 23 megabytes of full proofs that are available from hyperlinks in the book.

Muy probablemente la demostracion de Nelson es incorrecta (de no serlo implicaría un cambio radical de paradigma en la base misma de la matemática), pero sus motivaciones y metodologías bien valen la atención.