Glossario

XML

Scopri come l'XML alimenta l'AI e il ML con l'annotazione, la configurazione e lo scambio di dati. Impara la sua struttura, i suoi usi e le sue applicazioni reali!

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

L'XML, o Extensible Markup Language, è un linguaggio di markup versatile creato dal World Wide Web Consortium (W3C) per codificare i documenti in modo che siano sia leggibili dall'uomo che dalla macchina. A differenza dell'HTML, che si concentra sul modo in cui i dati devono essere visualizzati, il ruolo principale dell'XML è quello di descrivere, archiviare e trasportare i dati, sottolineando che si tratta di dati. Il suo formato strutturato e autodescrittivo lo rende molto adatto allo scambio di informazioni tra diversi sistemi e applicazioni, compresi quelli utilizzati nell'Intelligenza Artificiale (AI) e nel Machine Learning (ML). Conoscere l'XML è utile a chiunque lavori con diversi set di dati o integri diversi strumenti all'interno di una pipeline di ML.

Capire la struttura di XML

L'XML organizza i dati utilizzando dei tag racchiusi tra parentesi angolari (< >). Questi tag definiscono gli elementi, che sono i mattoni fondamentali che rappresentano le strutture di dati. Gli elementi possono contenere dati testuali, altri elementi annidati o una combinazione, formando una struttura gerarchica ad albero. I tag possono avere anche degli attributi, che forniscono ulteriori metadati su un elemento. Ad esempio, un file XML che descrive i dati di un libro potrebbe essere simile a <book category="fiction"><title>Example Novel</title><author>Jane Doe</author></book>. Questa struttura esplicita, anche se a volte è più prolissa rispetto ad altri formati, consente una validazione rigorosa rispetto a schemi come XSD (Definizione dello schema XML), assicurando la coerenza dei dati, che è fondamentale in caso di pre-elaborazione dei dati fasi.

Rilevanza nell'AI e nel ML

Sebbene i nuovi formati come JSON e YAML siano sempre più popolari per alcuni compiti grazie alla loro concisione, XML rimane importante in diverse aree chiave dell'IA e del ML:

  • Annotazione dei dati: L'XML è un formato comune per la memorizzazione delle annotazioni nelle attività di computer vision (CV). Per il rilevamento degli oggetti, i file XML spesso riportano l'etichetta della classe e le coordinate del rettangolo di selezione per ogni oggetto di un'immagine. Allo stesso modo, può essere utilizzato per definire i poligoni nella segmentazione delle immagini. Molti set di dati di riferimento si basano su XML per i loro dati di verità. La raccolta e l'annotazione dei dati sono passi fondamentali per la formazione di modelli accurati.
  • Configurazione del modello: Anche se YAML è spesso preferito da Ultralytics per i file di configurazione, XML è talvolta utilizzato da altri framework o sistemi più vecchi per definire le architetture dei modelli, i parametri di allenamento o le impostazioni degli esperimenti. La sua natura strutturata permette di realizzare configurazioni complesse.
  • Interoperabilità dei modelli: Il Predictive Model Markup Language (PMML) è uno standard basato su XML progettato per rappresentare modelli statistici e di data mining addestrati. Il PMML consente ai modelli addestrati in un sistema (ad esempio, utilizzando Scikit-learn) di essere distribuiti in un altro (ad esempio, un motore di scoring di produzione) senza dover riscrivere il codice, facilitando la distribuzione dei modelli. In questo modo si affronta una sfida fondamentale nelle MLOps (Machine Learning Operations).
  • Scambio di dati: L'XML è un formato robusto per lo scambio di dati strutturati tra i diversi componenti di un sistema di IA o tra organizzazioni. La sua natura indipendente dalla piattaforma garantisce che i dati possano essere analizzati in modo affidabile in ambienti software diversi, il che è fondamentale per costruire soluzioni di IA scalabili.

XML vs. formati correlati

È utile distinguere l'XML dagli altri formati di serializzazione dei dati più comuni:

  • JSON (JavaScript Object Notation): Rispetto alla sintassi basata sui tag di XML, JSON utilizza una struttura più leggera a coppie chiave-valore derivata da oggetti JavaScript. In genere è meno prolisso e spesso è più facile da analizzare per le applicazioni web e le API. Per maggiori dettagli, consulta lo standard ufficiale JSON. Mentre XML ha un supporto integrato per gli spazi dei nomi e gli schemi, JSON si affida tipicamente a convenzioni esterne per la validazione.
  • YAML (YAML Ain't Markup Language): YAML privilegia la leggibilità umana, utilizzando l'indentazione per indicare la struttura invece di tag o parentesi. È spesso utilizzato per i file di configurazione nei progetti ML (tra cui Ultralytics YOLO di Ulralytics) e negli strumenti di infrastructure-as-code come Kubernetes. Per maggiori informazioni, esplora le specifiche di YAML.

Applicazioni reali di XML nell'AI/ML

  1. Dataset PASCAL Visual Object Classes (VOC): Questo influente set di dati per il rilevamento di oggetti, ampiamente utilizzato per il benchmarking di modelli quali YOLOv8 e YOLO11utilizza file XML per le sue annotazioni. Ogni file XML corrisponde a un'immagine e contiene informazioni sulla fonte dell'immagine, sulle dimensioni e sui dettagli di ogni oggetto annotato, tra cui l'etichetta della classe (ad esempio, "auto", "persona") e le coordinate del rettangolo di selezione (xmin, ymin, xmax, ymax). Puoi trovare i dettagli sul sito ufficiale di PASCAL VOC e scoprire come utilizzarlo con i modelli Ultralytics nella documentazione del dataset VOC. Piattaforme come Ultralytics HUB possono aiutare a gestire questi set di dati per l'addestramento di modelli personalizzati.
  2. Metadati di immagini mediche (DICOM): Lo standard DICOM (Digital Imaging and Communications in Medicine) è onnipresente nel settore sanitario per l'archiviazione e la trasmissione di immagini mediche. Sebbene DICOM sia un formato binario, l'XML è comunemente utilizzato per rappresentare i metadati associati a queste immagini, come le informazioni sul paziente, i parametri di acquisizione e i risultati diagnostici. Questi metadati strutturati sono fondamentali per le attività di analisi delle immagini mediche, in quanto consentono a ricercatori e medici di filtrare i set di dati, addestrare modelli di intelligenza artificiale diagnostica(AI in radiologia) e garantire la tracciabilità nelle applicazioni sanitarie di intelligenza artificiale.

In sintesi, anche se non è sempre il formato più conciso, la natura strutturata, l'estensibilità e le solide capacità di validazione di XML ne garantiscono il ruolo continuo in aree specifiche dell'IA e del ML, in particolare negli standard di annotazione dei dati, nei formati di scambio di modelli come PMML e nell'integrazione dei dati aziendali. La familiarità con l'XML è preziosa per orientarsi tra le diverse fonti di dati e gli strumenti sul campo.

Leggi tutto