Giới hạn thời gian: 60.0s / Giới hạn bộ nhớ: 64M

Điểm: 100

1. Bối cảnh thực tế & Mục tiêu

Trong lịch sử Việt Nam, chữ Nôm là hệ thống văn tự được sử dụng rộng rãi để ghi chép tiếng Việt trong nhiều thế kỷ. Rất nhiều tài liệu quý như thơ văn, sử ký, sách giáo khoa cổ, văn bản hành chính, gia phả, ... hiện vẫn tồn tại dưới dạng bản scan hoặc ảnh chụp.

Tuy nhiên, việc số hóa các tài liệu chữ Nôm vẫn là một bài toán rất khó do:

  • Hình ảnh xuống cấp theo thời gian.
  • Nhiễu, mờ, mất nét.
  • Ký tự có hình dạng phức tạp và số lượng lớp lớn.
  • Font chữ và chất lượng in rất đa dạng.

Trong đề thi này, thí sinh sẽ xây dựng hệ thống OCR (Optical Character Recognition) để nhận diện các ký tự chữ Nôm từ ảnh.

Đây là bài toán nền tảng trong:

  • Số hóa tài liệu lịch sử.
  • Xây dựng thư viện văn bản cổ điện tử.
  • Hỗ trợ nghiên cứu Hán Nôm.
  • Phát triển các hệ thống OCR cho ngôn ngữ low-resource.

2. Nhiệm vụ

Mục tiêu: Dự đoán ký tự chữ Nôm tương ứng từ ảnh chứa một ký tự duy nhất.


Bài toán

Đầu vào:

  • Một ảnh chứa đúng một ký tự chữ Nôm.

Đầu ra:

  • Ký tự chữ Nôm tương ứng.

Đây là bài toán Image Classification nhiều lớp.


3. Quy định & Giới hạn

Để đảm bảo tính công bằng, cuộc thi áp dụng các quy định sau:

Được phép

  • Sử dụng:

    • torch
    • torchvision
  • Được phép sử dụng:

    • Các model classification có sẵn trong torchvision.models
    • Pretrained weights trên ImageNet

Không được phép

  • Không được sử dụng dữ liệu ngoài dưới mọi hình thức. Chỉ được sử dụng dataset do BTC cung cấp tại link Google Drive ở Mục 5.
  • Không được sử dụng pretrained model hoặc pretrained weights từ nguồn khác ngoài torchvision/ImageNet.
  • Không được sử dụng OCR model pretrained bên ngoài.
  • Không được sử dụng dữ liệu test cho training, validation hoặc pseudo-labeling.
  • Không được can thiệp thủ công vào prediction của test set.

4. Tiêu chí đánh giá

Do dữ liệu có phân bố class không đồng đều, metric chính được sử dụng là:

Macro F1 Score

F1-score được tính độc lập cho từng class: $$ F1 = \frac{2PR}{P + R} $$ Điểm cuối cùng: $$ Macro\ F1 = \frac{1}{N}\sum_{i=1}^{N}F1_i $$ Trong đó:

  • N là số lượng class.
  • Mỗi class được đóng góp trọng số như nhau.

5. Data và Baseline


6. Dataset và Submission Format

Cấu trúc Dataset

dataset/
│
├── train/
│   ├── images/
│   └── labels.csv
│
└── test/
    └── images/

Format Labels

File labels.csv:

image,label
0000000.jpg,保
0000001.jpg,大
0000002.jpg,元
0000003.jpg,年
...

Submission Format

Thí sinh cần tạo file:

submission.csv

Nội dung file:

image,label
0000000.jpg,保
0000001.jpg,大
0000002.jpg,元
0000003.jpg,年
0000004.jpg,春
0000005.jpg,新

Sau đó nén trực tiếp thành:

submission.zip

Cấu trúc file nộp

submission.zip
└── submission.csv

Lưu ý: File submission.csv phải nằm trực tiếp bên trong .zip, không được chứa trong thư mục cha.


Quy định

  • File nộp phải ở định dạng .zip
  • Bên trong .zip phải chứa duy nhất file:
submission.csv
  • Header bắt buộc:
image,label
  • Tên file ảnh phải giữ nguyên.
  • Mỗi ảnh chỉ được dự đoán đúng một ký tự.
  • Các file .zip sai cấu trúc sẽ bị từ chối tự động.

7. Lưu ý

  • Một số ký tự chữ Nôm có hình dạng rất giống nhau.
  • Dataset có thể chứa nhiều ký tự hiếm với rất ít sample.
  • Dữ liệu có thể chứa nhiễu, blur hoặc chất lượng scan không đồng đều.
  • Các submission lỗi format sẽ bị từ chối tự động.

8. Acknowledgement

Dataset được curate và xử lý lại từ các nguồn dữ liệu public về chữ Nôm phục vụ mục đích học thuật và nghiên cứu.

Một phần dữ liệu tham khảo từ Nôm OCR Training Corpus (Albert Errickson, 2026), phát hành dưới giấy phép CC-BY-4.0.

Thông tin chi tiết về nguồn dữ liệu và attribution sẽ được công bố sau khi cuộc thi kết thúc.


Chúc các bạn số hóa di sản chữ Nôm thành công!


Giới hạn thời gian: 60.0s / Giới hạn bộ nhớ: 64M

Điểm: 100

1. Bối cảnh thực tế & Mục tiêu

Các hệ thống OCR tiếng Việt trong thực tế thường tạo ra nhiều lỗi do:

  • Ảnh scan mờ, nhiễu hoặc chất lượng thấp.
  • Font chữ đa dạng.
  • Văn bản bị méo, lệch hoặc mất dấu.
  • OCR engine nhận diện sai ký tự hoặc sai dấu tiếng Việt.

Ví dụ:

nhim hūu han, công ty cô phàn mói

Cần được sửa thành:

nhiệm hữu hạn, công ty cổ phần mới

Trong đề thi này, thí sinh sẽ xây dựng hệ thống Vietnamese OCR Text Correction nhằm tự động sửa lỗi văn bản OCR tiếng Việt.

Đây là bài toán quan trọng trong:

  • Số hóa tài liệu tiếng Việt.
  • Hậu xử lý cho hệ thống OCR.
  • Khôi phục văn bản lịch sử hoặc scan chất lượng thấp.
  • Xây dựng NLP cho tiếng Việt low-resource và noisy text.

2. Nhiệm vụ

Mục tiêu: Dự đoán phiên bản văn bản đã được sửa lỗi từ đầu vào OCR bị nhiễu.


Bài toán

Đầu vào:

  • Một đoạn văn bản OCR chứa lỗi.

Đầu ra:

  • Phiên bản văn bản đã được sửa lỗi.

Ví dụ:

Input:

vn tiép tuc thyc hin quyěn và nghía vu

Output:

vẫn tiếp tục thực hiện quyền và nghĩa vụ

Đây là bài toán Text Correction / Sequence-to-Sequence.


3. Quy định & Giới hạn

Để đảm bảo tính công bằng, cuộc thi áp dụng các quy định sau:

Được phép

  • Sử dụng:

    • torch
    • torchvision
    • transformers
    • sentencepiece
  • Được phép tự xây dựng model từ đầu (train from scratch).


Không được phép

  • Không được sử dụng dữ liệu ngoài dưới mọi hình thức. Chỉ được sử dụng dataset do BTC cung cấp tại link Google Drive ở Mục 5.
  • Không được sử dụng pretrained model dưới mọi hình thức.
  • Không được finetune từ checkpoint pretrained.
  • Không được sử dụng pretrained embeddings từ bên ngoài.
  • Không được sử dụng dữ liệu test cho training, validation hoặc pseudo-labeling.
  • Không được can thiệp thủ công vào prediction của test set.

4. Tiêu chí đánh giá

Metric chính:

Character Error Rate (CER)

CER đo khoảng cách chỉnh sửa giữa prediction và ground truth ở cấp độ ký tự.

$$ CER = \frac{S + D + I}{N} $$

Trong đó:

  • S: số ký tự bị thay thế
  • D: số ký tự bị xóa
  • I: số ký tự được chèn thêm
  • N: số ký tự trong ground truth

CER càng thấp càng tốt.

Lưu ý: trên leaderboard, điểm số sẽ được tính là 1 - CER.


5. Data và Baseline


6. Dataset và Submission Format

Cấu trúc Dataset

dataset/
│
├── train.csv
└── test.csv

6.1 Training Format

File train.csv:

id,input,corrected_text
0,"nhim hūu han","nhiệm hữu hạn"
1,"vn tiép tuc","vẫn tiếp tục"
2,"Doi voi cac","Đối với các"

Trong đó:

  • input: văn bản OCR lỗi
  • corrected_text: văn bản đúng

6.2 Test Format

File test.csv:

id,input
0,"Doi voi cac bo tuong tac"
1,"5. Soan thao va ky van ban"
2,"7. Dai chet cua he thong"

6.3 Submission Format

File nộp bài:

id,corrected_text
0,"Đối với các bộ tương tác"
1,"5. Soạn thảo và ký văn bản"
2,"7. Dải chết của hệ thống"

Quy định

  • File phải ở định dạng .csv
  • Header bắt buộc:
id,corrected_text
  • Không được thay đổi id.
  • Prediction phải là chuỗi Unicode hợp lệ UTF-8.

7. Lưu ý

  • OCR noise có thể bao gồm:

    • Sai dấu tiếng Việt
    • Thiếu ký tự
    • Thừa ký tự
    • Sai khoảng trắng
    • Sai chữ hoa/thường
    • Ký tự Unicode bất thường
  • CER rất nhạy với lỗi thiếu/thừa ký tự.

  • Các submission lỗi format sẽ bị từ chối tự động.

8. Acknowledgement

Một phần dữ liệu được curate và xử lý lại từ các nguồn dữ liệu public phục vụ nghiên cứu về OCR text correction tiếng Việt.

Chúc các bạn xây dựng thành công hệ thống sửa lỗi OCR tiếng Việt!