Nlp

La complejidad de la ley

El otro día publiqué código para bajar el BOE completo. Pero no conté qué me llevó a escribirlo.

El motivo es que, en un tiempo en que andaba menos ocupado que ahora, quise ver si se podía medir la complejidad de la ley. En realidad, la de los textos legales. ¿Debería haber motivo para que estos sean más impenetrables —de serlo— que un manual de Python? En eso consistía ese proyecto en el que acabé no embarcándome.

El escritor exemplar

Nlp, R

El escritor exemplar es un experimento de escritura automática realizado por Molino de Ideas sobre una idea de Mario Tascón y con la colaboración de Carlos J. Gil Bellosta en conmemoración por los 400 años de la publicación de Las Novelas Ejemplares.

Eso reza el pie de página de El escritor exemplar un artilugio que a veces crea frases tales como

escritor_exemplar

que debieran ser aleatorias, no muy distintas en estilo de las Novelas Ejemplares y, con muchísima suerte, inspiradoras.

Palabras y pelas: un ejercicio apenas incoado

Nos encantan las palabras (¡y los mapas, pero esa es otra historia!). En estos días de tanto discurso hay mucho interés por examinar con lupa qué palabras dijo quién y cuándo en una exégesis cuantitativa y (¿tal vez por eso?) falta de calado.

Porque lo que dijo este o aquel, al fin y al cabo, no deja de ser predecible y poco interesante. Rara vez se dice nada que lo sea en horario de máxima audiencia y en fechas tan señaladas.

Mi charla sobre un lematizador probabilístico con R (vídeo y diapositivas)

Nlp, R

Acabo de subir a mi servidor las diapositivas de la charla describiendo un lematizador desambiguado que anuncié el otro día. Gracias a Carlos Ortega y Pedro Concejero, el vídeo de la charla está disponible en Vímeo. Por su parte, las transparencias pueden descargarse aquí.

Quiero agradecer a los asistentes a la charla su interés y, muy particularmente, su participación en el debate que se abrió al final de la sesión. Fue muy enriquecedor.

Charla: un lematizador probabilístico con R

El jueves 16 de mayo hablaré en el Grupo de Interés Local de Madrid de R sobre lematizadores probabilísticos.

Hablaré sobre el proceso de lematizacion y trataré de mostrar su importancia dentro del mundo del llamado procesamiento del lenguaje natural (NLP). La lematización es un proceso humilde dentro del NLP del que apenas nadie habla: su ejercicio solo ha hecho famoso a Martin Porter. Lo eclipsan otras aplicaciones más vistosas, como el siempre sobrevalorado análisis del sentimiento. Sin embargo, es una pieza fundamental que subyace (o debería subyacer) en cualquier aplicación seria que analice textos.

MapReduce con mincedmeat

Hace unos días implementé un proceso MapReduce usando mincedmeat, un pequeño entorno en Python para desarrollar este tipo de procesos distribuidos. El código y los datos pueden descargarse de este enlace.

Los datos de partida están en 249 ficheros de unos 25kb que contienen filas del tipo

journals/algorithmica/HarelS98:::David Harel::Meir Sardas:::An Algorithm for Straight-Line of Planar Graphs

es decir, publicación, autor (o autores) separados por :: y título de la publicación. Los tres campos están separados por :::.

Limpieza de cartera: tres artículos

Estoy limpiando mi cartera y antes de mandar unos cuantos legajos al archivador (o al contenedor de reciclaje) quiero dejar nota de sus contenidos para referencia mía y, quién sabe, si inspiración de otros.

El primer artículo es Tackling the Poor Assumptions of Naive Bayes Text Classifiers. Tiene esencialmente dos partes. La primera analiza críticamente el método de clasificación bayesiano ingenuo (naive Bayes) en el contexto de la minería de textos identificando una serie de deficiencias. En la segunda parte, los autores proponen una serie de modificaciones ad hoc para crear un algoritmo de clasificación mejorado.

Las palabras esenciales del diccionario

Me he entretenido en los últimos tiempos tratando de responder una pregunta que, sin inquietarme, no dejaba de despertar mi curiosidad.

En la escuela nos enseñaron a definir palabras. Una de las primeras reglas de aquel juego era que el término definido no podía usarse en la definición: casa no se puede utilizar para definir casa. Los niños lo entendíamos. Sin embargo, los mayores hacían trampa: en el DRAE, construir se define en términos de edificar y edificar, en términos de construir.

Un lematizador para el español con R (II)

R

El otro día publiqué mi pequeño lematizador para el español con R. Era el subproducto de un antiguo proyecto mío de cuyos resultados daré noticia en los próximos días.

Pero veo con infinita satisfacción que Emilio Torres, viejo conocido de quienes, por ejemplo, hayáis asistido a las II o III Jornadas de Usuarios de R, ha estado abundando en el asunto y, ciertamente mejorándolo (cosa que, todo hay que decir, tiene escaso mérito): basta mirar los sus comentarios a la entrada original.

Un lematizador para el español con R... ¿cutre? ¿mejorable?

Nlp, R

Uno de los pasos previos para realizar lo que se viene llamando minería de texto es lematizar el texto. Desafortunadamente, no existen buenos lematizadores en español. Al menos, buenos lematizadores libres.

Existen el llamado algoritmo de porter y snowball pero, o son demasiado crudos o están más pensados para un lenguaje con muchas menos variantes morfológicas que el español.

Sinceramente, no sé a qué se dedican —me consta que los hay— los lingüistas computacionales de la hispanidad entera: ¿no son capaces de liberar una herramienta de lematización medianamente decente que podamos usar los demás? Lo más parecido a esa herramienta aparentemente inexistente que conozco es Grampal, que funciona a través de una interfaz web.

Predicciones a toro pasado y el perro que no ladró

Es fácil predecir a toro pasado. Casi tan fácil que asestarle una gran lanzada al moro muerto (el refranero es así de incorrecto políticamente, lo siento).

Esas son las ideas que me sugirieron fundamentalmente la lectura del un tanto hagiográfico Superordenadores para ‘predecir’ revoluciones y del artículo al que se refería, Culturomics 2.0: Forecasting large-scale human behavior using news media tone in time and space.

El artículo nos explica cómo utilizando resúmenes de noticias de diversas fuentes era posible haber predicho las revoluciones de Egipto, Túnez y Libia. Y, casi, casi, cómo haber encontrado a Bin Laden.

Sobre la economía del lenguaje

De acuerdo con una observación de Zipf (y supongo que de muchos otros y que no hay que confundir con su ley), la longitud de las palabras más corrientes es menor que las que se usan menos frecuentemente.

Un estudio reciente, Word lengths are optimized for efficient communication, matiza esa observación: la cantidad de información contenida en una palabra predice mejor la longitud de las palabras que la frecuencia de aparición pura. En una comparación entre diversos idiomas europeos, parece manifestarse que palabras que aportan poca información son breves; las que aportan mucha, más largas.