Imaginad que tenéis tres documentos de texto en tres idiomas que no conocéis y que usan el mismo alfabeto. Si os doy un nuevo párrafo en uno de esos tres idiomas, ¿cómo identificaríais en qué lengua está escrito? Lo único que podéis utilizar es el winzip o cualquier otro programa para comprimir documentos.
6 comentarios:
No te lo tomes como nada personal, pero estoy convencido que se te ha vuelto a olvidar algún matiz a la hora de plantear el problema.
Supongo que los algoritmos que usan los comprimidores de archivos captarían lo que tienen en común los párrafos conocidos y el nuevo. Comprimiría en conjunto el párrafo suelto con cada uno de los otros tres, y aquel con el que resultara un menor tamaño de archivo, supongo que sería el idioma correcto.
Todo esto sin tener ni pajolera idea de cómo funciona un comprimidor, pero espero moderadamente ansiosa tu respuesta.
Abrir el cuadro de búsqueda y pegar las primeras palabras para ver si coinciden.
Ahora en serio:
Supongo que la respuesta esta en como gestionan los programas de compresión el "caracter" espacio. Cada idioma tiene una frecuencia de palabras de distintas longitudes determinada y supongo que de eso podrás sacar alguna conclusión. Pero vamos que al igual que justine tengo un profundo desconocimiento de como funcionan los programas de marras.
Bueno venga, contesta! Por cierto he hecho la prueba de mi idea y no funciona. ='(
La idea fundamental de un algoritmo de compresión es utilizar la redundancia de información para representar el texto, o lo que sea, más eficientemente (como ya comentamos en otra entrada http://paletosignorantes.blogspot.com/2010/02/gracias-shannon.html ). Dentro de un texto del mismo idioma hay mucha más redundancia que cuando mezclas dos o más, así que tu idea de concatenar y luego comprimir es la solución. No sé por qué no te habrá funcionado, pero en general es bastante efectivo: http://en.wikipedia.org/wiki/Language_identification#Statistical_Approaches
sleeve
Yupi! Qué he ganado? Es que a veces te escucho cuando hablas :) Creo que no funcionó porque el texto era demasiado corto y las diferencias de tamaño de archivo muy pequeñas, probablemente demasiado influidas por otros factores como la longitud final del texto y cosas así. Pero no me apetecía repetir el experimento con un texto más largo.
Publicar un comentario