¿Por qué usar XML como formato de nuestros ficheros?

XML es algo más que un lenguaje, de hecho es un metalenguaje, ya que a través de él podemos describir otros lenguajes. En libgann, guardamos las redes neuronales entrenadas haciendo uso de XML, de forma que cada modelo de red neuronal tendrá un DTD (por ahora pronto serán XSD) asociado que define el lenguaje para guardar éste. La ventaja de este esquema, es que no tenemos que construir nosotros un parser para validar los ficheros guardados, ya que con XML los parser son genéricos, siendo los DTD’s (o XSD’s) los que especializan el parser a cada lenguaje.

Para explotar el uso de XML en Libgann, los fichero XML generados especifican un DTD público, estos DTD’s se encuentran en la dirección:

http://cusl3-libgann.forja.rediris.es/dtd/

De forma que cualquier usuario podrá validar sus archivos ya sea en un validador de internet o en uno local.

Cuando Libgann lee los fichero XML para cargar los distintos modelos de redes neuronales, ignora la especificación del DTD de dicho fichero, utilizando directamente el DTD asociado a ese modelo de red. De no ser así, cualquiera podría cambiar el DTD del fichero, engañando a la biblioteca, de forma que dicho archivo sería valido para ese DTD, pero el DTD no correspondería con ese modelo de red.

Espero no haberos aburrido mucho. Un saludo.

Anuncios

12 comentarios to “¿Por qué usar XML como formato de nuestros ficheros?”

  1. Adrián Says:

    Hola a todos desde el equipo de Locator.

    ¿Por qué os habéis decantado por XML y no JSON?

    En breve nosotros tenemos que decidir el formato de datos que usaremos, me gustaría saber por que vosotros elegís XML frente a JSON ( no se si os planteasteis esto ante )

    Un saludo y gracias de antemano, Adrián.

  2. libgann Says:

    Qué tal Andrián:

    Pues mira la verdad es que no me planteé la opción de usar JSON, de hecho desconocía la existencia de éste. No obstante después de tu mensaje estudiaré las características de JSON, ya que en mi proyecto, sería factible y enriquecedor porder usar ambos formatos.

    Muchas gracias y lamento no poderte ayudar. Un saludo.

  3. JJ Says:

    Si vais a usar XML, hay bastantes trabajos publicados sobre especificación de redes neuronales usando las mismas. No es que sea estrictamente necesario que lo sigáis, pero si queréis interoperabilidad con otros programas, quizás sería conveniente que los mirárais. Dadme un toque si no los encontráis.

  4. libgann Says:

    Muchas gracias por la información. En su día estube buscando sobre el tema, pero veo que no lo hice con la suficiente insistencia, no obstante después de la información que me has dado ten por seguro que buscaré esas especificaciones.

    Un saludo.

  5. Freddy López Says:

    Hola. Yo por el contrario, aún no veo la razón del por qué usar formatos xml o json ¿me lo podéis explicar? Cuando analizo datos desde cualquier programa convencional (o famoso, más bien) como SAS, SPSS, incluso R me hago un lío para crear la matriz de datos. ¿Qué estoy haciendo mal? Gracias.

  6. jjmerelo Says:

    ¿Qué tiene que ver los formatos de almacenamiento con el análisis de los datos?

  7. Freddy López Says:

    No es lo mismo analizar un conjunto de datos cuyo origen está almacenado en un archivo xml que en una hoja de cálculo ¿no te parece? Claro, estoy suponiendo que a la información almacenada en este formato la analizan numéricamente de alguna forma. En caso contrario no hay más qué discutir.

  8. jjmerelo Says:

    Por supuesto, es mucho más fácil analizarlo en XML. Un fichero XML, o YAML, o JSON, lo puedes procesar de mil formas desde mil lenguajes de programación diferentes, incluyendo R o cualquier otro lenguaje de programación que genere ficheros R.

  9. Freddy López Says:

    ¿Es más fácil analizar un archivo xml que uno con filas y columnas?¿Cómo es más fácil?

    Yo entiendo que cualquiera que sepa programar en mil lenguajes puede extraer de un json o xml los datos que le interesen para su estudio pero ¿es esta la razón?¿que puede ser leído de muchos lenguajes?

  10. jjmerelo Says:

    Sí, claro. Una hoja de cálculo es un formato propietario, y XML o cualquier otro son formatos libres, fáciles de procesar. Convertir de XML a CSV o cualquier otro formato es trivial.
    En todo caso, de lo que trata este post es de usar XML para los _modelos_, no los resultados.

  11. Freddy López Says:

    Pero si te vas a molestar porque pregunte, entonces cierra la posibilidad de comentarlos. No pregunto por molestar. Pregunto porque ignoro el tema. Además, las filas y las columnas no son propietarias, ni las hojas de cálculo (gnumeric, sheets, calc de libreoffice, etc) son propietarias. Adiós. Seguiré investigando donde haya menos hostilidad.

  12. jjmerelo Says:

    Hostilidad ninguna, pregunta lo que quieras. Yo tampoco soy el propietario del blog. Evidentemente, si vas a usar una hoja de cálculo _solamente_ para procesar la información, es mejor que guardes los resultados en .CSV o como te convenga. Como te he dicho, lo más habitual es que ese no sea el caso. Además, XML, YAML y JSON pueden contener más información semántica que una hoja de cálculo. Piensa si te encuentras dentro de dos años una hoja de cálculo llamada resultados_experimentos.csv con dos columnas que se llamen generacion y fitness.
    Pero en fin, como te digo, es cosa de cada uno depositar los resultados de los experimentos donde y como mejor le parezca.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: