El reto de las 1000 palabras
Esta anotación será breve e incompleta, porque el tiempo libre durante esta semana lo he dedicado a un pequeño problema informático autoimpuesto, y no he tenido tiempo de preparar nada. Lo peor es que la próxima semana probablemente estaré igual de ocupado. Todavía no he terminado con él y me empieza a obsesionar. Está relacionado con una anotación que leí en el blog de Martin Varsavsky. En esa entrada venía a decir que le gustaría encontrar alguna forma de extraer las 1000 palabras más comunes del idioma alemán para poder entender mínimamente un texto cogido al azar, y que esa lista debería ser fácil de compilar en estos tiempos. Bueno, tenemos Internet, y ahí, textos en alemán disponibles (por ejemplo, periódicos digitales) para jugar. Sí, me dije, creo que incluso yo sería capaz de hacerlo.
Pues empecé a programar. Pero para poder comprobar qué tal funcionaba el método tenía que trabajar primero con textos en castellano. La idea que tenía en mente era que a partir de un texto cualquiera, un programa me devolviera un listado con los verbos utilizados y su frecuencia, otro listado de sustantivos y adjetivos, uno de nombres propios, y el último con las partículas gramaticales que quedaran: preposiciones, conjunciones, posesivos, pronombres... esas cosas. Como era un primer paso hacia el análisis de textos en otros idiomas, quería que fuera un conjunto de programas, cada uno especializado en un tipo de palabras, los que solucionaran el proceso de clasificación, para después poder adaptarlos a otro idioma con comodidad. Y otro requisito era que la clasificación no utilizara diccionarios de palabras, que no siempre tendré disponibles, ni información de contexto, es decir, que cada palabra se resolviera independientemente de las demás. A lo mejor es cabezonería mía, pero es que creo que es posible hacerlo así y además constituye un reto interesante.
No merece la pena contar el método exacto con que intento hacer la clasificación porque la mejor forma de explicarlo sería mostrar pseudocódigo o directamente código fuente, y aún no he terminado. Lo que sí que puedo adelantar es que no me había dado cuenta de lo complicada que es la conjugación verbal en castellano, la cantidad de posibles irregularidades que aparecen con ella y cuánto dependemos de la experiencia con verbos similares para poder conjugar correctamente. Además, encuentro que a veces es difícil interpretar si una palabra se utiliza como sustantivo o como verbo sustantivado (pesar cuando es sinónimo de dolor, ¿es verbo o sustantivo o sustantivo con origen de verbo o verbo en función de sustantivo?), o más bien, si es coherente que lo considere como verbo o como sustantivo (cuenta es sustantivo, pero conocer el verbo contar es suficiente para comprenderlo; ¿y pasa lo mismo con el sustantivo cuento?).
Si estoy tan interesado en el problema y me estoy esforzando por resolverlo en castellano es porque le veo una aplicación inmediata. Por ahí adelante (vale, confieso, era un comentario a una noticia de Barrapunto) me encontré con el siguiente dato: una persona típica en Alemania puede manejar unos 30000 términos, si es universitaria la cantidad sube a 100000, y llega hasta 250000 si se mueve en un ambiente especializado. Así que a lo mejor las 1000 palabras que decía Martin son una aproximación que queda escasa. Supongo que se refiere a estudiar un poco la gramática y aprender cómo se conjuga y se construyen frases, que es lo que yo haría, así que realmente lo que necesita es lo que llamamos vocabulario básico: verbos, sustantivos y adjetivos con su significado. Pero ni siquiera 1000 verbos, 1000 sustantivos y 1000 adjetivos me parecen suficientes. Así que sigo programando, ahora para poder medir experimentalmente cuántas palabras distintas utiliza un periódico de tirada nacional en España en su edición digital. Eso me servirá como una aproximación más realista al problema de saber cuántas palabras tengo que aprender de cada clase. El País, El Mundo, La Voz de Galicia... cualquiera me vale. ¿Llegarán a usar 50000 palabras distintas? ¿Se quedarán en las 20000? ¿Cuántas palabras tendré que aprender (y cuáles) para entender el 75% del periódico (ignorar sólo una de cada cuatro)? ¿Notaré variaciones de nivel entre las distintas secciones del periódico? ¿Necesitaré más sustantivos en la zona de tecnología y más verbos en la de deportes? Todas esas preguntas y algunas más con mucha mala leche podré contestarlas al terminar mis programillas, que espero que sea durante esta semana que empieza. Y por supuesto, luego emplearé todo lo aprendido para resolver el reto original. Repasar Alemán, pero también probar el Esperanto, que le tengo ganas.
Pues empecé a programar. Pero para poder comprobar qué tal funcionaba el método tenía que trabajar primero con textos en castellano. La idea que tenía en mente era que a partir de un texto cualquiera, un programa me devolviera un listado con los verbos utilizados y su frecuencia, otro listado de sustantivos y adjetivos, uno de nombres propios, y el último con las partículas gramaticales que quedaran: preposiciones, conjunciones, posesivos, pronombres... esas cosas. Como era un primer paso hacia el análisis de textos en otros idiomas, quería que fuera un conjunto de programas, cada uno especializado en un tipo de palabras, los que solucionaran el proceso de clasificación, para después poder adaptarlos a otro idioma con comodidad. Y otro requisito era que la clasificación no utilizara diccionarios de palabras, que no siempre tendré disponibles, ni información de contexto, es decir, que cada palabra se resolviera independientemente de las demás. A lo mejor es cabezonería mía, pero es que creo que es posible hacerlo así y además constituye un reto interesante.
No merece la pena contar el método exacto con que intento hacer la clasificación porque la mejor forma de explicarlo sería mostrar pseudocódigo o directamente código fuente, y aún no he terminado. Lo que sí que puedo adelantar es que no me había dado cuenta de lo complicada que es la conjugación verbal en castellano, la cantidad de posibles irregularidades que aparecen con ella y cuánto dependemos de la experiencia con verbos similares para poder conjugar correctamente. Además, encuentro que a veces es difícil interpretar si una palabra se utiliza como sustantivo o como verbo sustantivado (pesar cuando es sinónimo de dolor, ¿es verbo o sustantivo o sustantivo con origen de verbo o verbo en función de sustantivo?), o más bien, si es coherente que lo considere como verbo o como sustantivo (cuenta es sustantivo, pero conocer el verbo contar es suficiente para comprenderlo; ¿y pasa lo mismo con el sustantivo cuento?).
Si estoy tan interesado en el problema y me estoy esforzando por resolverlo en castellano es porque le veo una aplicación inmediata. Por ahí adelante (vale, confieso, era un comentario a una noticia de Barrapunto) me encontré con el siguiente dato: una persona típica en Alemania puede manejar unos 30000 términos, si es universitaria la cantidad sube a 100000, y llega hasta 250000 si se mueve en un ambiente especializado. Así que a lo mejor las 1000 palabras que decía Martin son una aproximación que queda escasa. Supongo que se refiere a estudiar un poco la gramática y aprender cómo se conjuga y se construyen frases, que es lo que yo haría, así que realmente lo que necesita es lo que llamamos vocabulario básico: verbos, sustantivos y adjetivos con su significado. Pero ni siquiera 1000 verbos, 1000 sustantivos y 1000 adjetivos me parecen suficientes. Así que sigo programando, ahora para poder medir experimentalmente cuántas palabras distintas utiliza un periódico de tirada nacional en España en su edición digital. Eso me servirá como una aproximación más realista al problema de saber cuántas palabras tengo que aprender de cada clase. El País, El Mundo, La Voz de Galicia... cualquiera me vale. ¿Llegarán a usar 50000 palabras distintas? ¿Se quedarán en las 20000? ¿Cuántas palabras tendré que aprender (y cuáles) para entender el 75% del periódico (ignorar sólo una de cada cuatro)? ¿Notaré variaciones de nivel entre las distintas secciones del periódico? ¿Necesitaré más sustantivos en la zona de tecnología y más verbos en la de deportes? Todas esas preguntas y algunas más con mucha mala leche podré contestarlas al terminar mis programillas, que espero que sea durante esta semana que empieza. Y por supuesto, luego emplearé todo lo aprendido para resolver el reto original. Repasar Alemán, pero también probar el Esperanto, que le tengo ganas.
0 Comments:
Publicar un comentario
<< Home