XML, hay Ngôn ngữ đánh dấu mở rộng, là một ngôn ngữ đánh dấu đa năng do World Wide Web Consortium (W3C) tạo ra để mã hóa tài liệu theo cách mà cả con người và máy đều có thể đọc được. Không giống như HTML, tập trung vào cách dữ liệu nên được hiển thị, vai trò chính của XML là mô tả, lưu trữ và vận chuyển dữ liệu, nhấn mạnh dữ liệu là gì. Định dạng có cấu trúc, tự mô tả của nó làm cho nó rất phù hợp để trao đổi thông tin giữa các hệ thống và ứng dụng khác nhau, bao gồm cả những hệ thống và ứng dụng được sử dụng trong Trí tuệ nhân tạo (AI) và Học máy (ML) . Hiểu biết về XML có lợi cho bất kỳ ai làm việc với các tập dữ liệu đa dạng hoặc tích hợp các công cụ khác nhau trong một quy trình ML.
Hiểu cấu trúc XML
XML tổ chức dữ liệu bằng cách sử dụng các thẻ được đặt trong dấu ngoặc nhọn (< >
). Các thẻ này định nghĩa các phần tử, là các khối xây dựng cơ bản đại diện cho các cấu trúc dữ liệu. Các phần tử có thể chứa dữ liệu văn bản, các phần tử lồng nhau khác hoặc kết hợp, tạo thành cấu trúc giống như cây phân cấp. Các thẻ cũng có thể có các thuộc tính, cung cấp siêu dữ liệu bổ sung về một phần tử. Ví dụ, một tệp XML mô tả dữ liệu sách có thể trông giống như <book category="fiction"><title>Example Novel</title><author>Jane Doe</author></book>
. Cấu trúc rõ ràng này, mặc dù đôi khi dài dòng hơn các định dạng khác, cho phép xác thực chặt chẽ đối với các lược đồ như XSD (Định nghĩa lược đồ XML), đảm bảo tính nhất quán của dữ liệu, điều này rất quan trọng trong các tiền xử lý dữ liệu giai đoạn.
Sự liên quan trong AI và ML
Trong khi các định dạng mới hơn như JSON và YAML ngày càng phổ biến cho một số tác vụ nhất định do tính cô đọng của chúng, XML vẫn có liên quan trong một số lĩnh vực chính của AI và ML:
- Chú thích dữ liệu: XML là định dạng phổ biến để lưu trữ chú thích trong các tác vụ thị giác máy tính (CV) . Đối với phát hiện đối tượng , các tệp XML thường nêu chi tiết nhãn lớp và tọa độ hộp giới hạn cho từng đối tượng trong hình ảnh. Tương tự, nó có thể được sử dụng để xác định đa giác trong phân đoạn hình ảnh . Nhiều tập dữ liệu chuẩn dựa vào XML để có dữ liệu thực tế. Thu thập dữ liệu và chú thích phù hợp là các bước quan trọng trong việc đào tạo các mô hình chính xác.
- Cấu hình mô hình: Mặc dù YAML thường được Ultralytics ưu tiên cho các tệp cấu hình , XML đôi khi được các khuôn khổ khác hoặc các hệ thống cũ hơn sử dụng để xác định kiến trúc mô hình, tham số đào tạo hoặc cài đặt thử nghiệm. Bản chất có cấu trúc của nó cho phép cấu hình phức tạp.
- Khả năng tương tác mô hình: Ngôn ngữ đánh dấu mô hình dự đoán (PMML) là một tiêu chuẩn dựa trên XML được thiết kế để biểu diễn các mô hình thống kê và khai thác dữ liệu đã được đào tạo. PMML cho phép các mô hình đã được đào tạo trong một hệ thống (ví dụ: sử dụng Scikit-learn ) được triển khai trong một hệ thống khác (ví dụ: công cụ chấm điểm sản xuất) mà không cần viết lại mã, tạo điều kiện triển khai mô hình dễ dàng hơn. Điều này giải quyết một thách thức chính trong MLOps (Hoạt động học máy) .
- Trao đổi dữ liệu: XML đóng vai trò là định dạng mạnh mẽ để trao đổi dữ liệu có cấu trúc giữa các thành phần khác nhau của hệ thống AI hoặc giữa các tổ chức. Bản chất độc lập với nền tảng của nó đảm bảo rằng dữ liệu có thể được phân tích cú pháp đáng tin cậy trên nhiều môi trường phần mềm khác nhau, rất quan trọng để xây dựng các giải pháp AI có thể mở rộng.
XML so với các định dạng liên quan
Sẽ rất hữu ích khi phân biệt XML với các định dạng tuần tự hóa dữ liệu phổ biến khác:
- JSON (JavaScript Object Notation): So với cú pháp dựa trên thẻ của XML, JSON sử dụng cấu trúc cặp khóa-giá trị nhẹ hơn bắt nguồn từ các đối tượng JavaScript. Nhìn chung, nó ít dài dòng hơn và thường dễ phân tích hơn đối với các ứng dụng web và API. Xem tiêu chuẩn JSON chính thức để biết chi tiết. Trong khi XML có hỗ trợ tích hợp cho không gian tên và lược đồ, JSON thường dựa vào các quy ước bên ngoài để xác thực.
- YAML (YAML Ain't Markup Language): YAML ưu tiên khả năng đọc của con người, sử dụng thụt lề để biểu thị cấu trúc thay vì thẻ hoặc dấu ngoặc. Nó thường được sử dụng cho các tệp cấu hình trong các dự án ML (bao gồm các mô hình Ultralytics YOLO ) và các công cụ cơ sở hạ tầng dưới dạng mã như Kubernetes . Khám phá thông số kỹ thuật YAML để biết thêm thông tin.
Ứng dụng thực tế của XML trong AI/ML
- Bộ dữ liệu PASCAL Visual Object Classes (VOC): Bộ dữ liệu phát hiện đối tượng có ảnh hưởng này, được sử dụng rộng rãi cho các mô hình chuẩn như YOLOv8 và YOLO11 , sử dụng các tệp XML cho các chú thích của nó. Mỗi tệp XML tương ứng với một hình ảnh và chứa thông tin về nguồn hình ảnh, kích thước và chi tiết cho từng đối tượng được chú thích, bao gồm nhãn lớp của nó (ví dụ: 'xe hơi', 'người') và tọa độ hộp giới hạn (xmin, ymin, xmax, ymax). Bạn có thể tìm thấy thông tin chi tiết trên trang web PASCAL VOC chính thức và tìm hiểu cách sử dụng nó với Ultralytics mô hình trong tài liệu tập dữ liệu VOC . Các nền tảng như Ultralytics HUB có thể giúp quản lý các tập dữ liệu như vậy để đào tạo các mô hình tùy chỉnh .
- Siêu dữ liệu hình ảnh y tế (DICOM): Tiêu chuẩn DICOM (Hình ảnh kỹ thuật số và truyền thông trong y học) phổ biến trong chăm sóc sức khỏe để lưu trữ và truyền hình ảnh y tế. Trong khi bản thân DICOM là định dạng nhị phân, XML thường được sử dụng để biểu diễn siêu dữ liệu mở rộng liên quan đến những hình ảnh này, chẳng hạn như thông tin bệnh nhân, thông số thu thập và phát hiện chẩn đoán. Siêu dữ liệu có cấu trúc này rất quan trọng đối với các tác vụ trong phân tích hình ảnh y tế , cho phép các nhà nghiên cứu và bác sĩ lâm sàng lọc các tập dữ liệu, đào tạo các mô hình AI chẩn đoán ( AI trong X quang ) và đảm bảo khả năng truy xuất nguồn gốc trong các ứng dụng chăm sóc sức khỏe AI .
Tóm lại, mặc dù không phải lúc nào cũng là định dạng ngắn gọn nhất, bản chất có cấu trúc, khả năng mở rộng và khả năng xác thực mạnh mẽ của XML đảm bảo vai trò liên tục của nó trong các lĩnh vực cụ thể của AI và ML, đặc biệt là trong các tiêu chuẩn chú thích dữ liệu, định dạng trao đổi mô hình như PMML và tích hợp dữ liệu doanh nghiệp. Sự quen thuộc với XML rất có giá trị để điều hướng các nguồn dữ liệu và công cụ đa dạng trong lĩnh vực này.