← Quay về trang chính

Quy Tắc Khoa Đẩu

Bảng ký tự và quy trình chuyển đổi chữ Việt hiện đại sang chữ Khoa Đẩu cổ, sử dụng bộ mã Unicode riêng (U+E000 – U+E026).

1. Nguyên Âm Đơn

Các nguyên âm cơ bản. Lưu ý: y dùng chung mã với i (E005), ơ dùng chung mã với â (E002).

Bảng nguyên âm đơn Khoa Đẩu
STT Ký tự Việt Ký hiệu Khoa Đẩu Mã Unicode
1aU+E000
2ăU+E001
3âU+E002
4eU+E003
5êU+E004
6i (= y)U+E005
7oU+E006
8ôU+E007
9ơ (= â)U+E002
10uU+E008
11ưU+E009

2. Nguyên Âm Ghép

Các tổ hợp nguyên âm. uô, uơ, uâ dùng chung mã E00C.

Bảng nguyên âm ghép Khoa Đẩu
STT Ký tự Việt Ký hiệu Khoa Đẩu Mã Unicode
1(= yê)U+E00A
2ươU+E00B
3(= uơ, uâ)U+E00C

3. Phụ Âm

3a. Phụ âm đơn

Một số phụ âm dùng chung ký hiệu: b = p, c = k = q, d = r, s = x.

Bảng phụ âm đơn Khoa Đẩu
STT Ký tự Việt Ký hiệu Khoa Đẩu Mã Unicode
1b (= p)U+E011
2c (= k, q)U+E012
3d (= r, gi)U+E013
4đU+E014
5g (= gh)U+E015
6hU+E016
7lU+E017
8mU+E018
9nU+E019
10s (= x)U+E01C
11tU+E01A
12vU+E01B

3b. Phụ âm ghép

Các tổ hợp phụ âm. ch và tr dùng chung mã E01D, ng và ngh dùng chung mã E01F.

Bảng phụ âm ghép Khoa Đẩu
STT Ký tự Việt Ký hiệu Khoa Đẩu Mã Unicode
1phU+E021
2thU+E022
3ch (= tr)U+E01D
4nhU+E020
5ng (= ngh)U+E01F
6khU+E01E
7giU+E013

4. Khóa Cuối (Âm Cuối)

Khi ở cuối âm tiết, một số ký tự dùng mã khác với khi ở đầu. Ví dụ: n đầu = E019, n cuối = E025.

Bảng khóa cuối Khoa Đẩu
STT Âm cuối Việt Ký hiệu Khoa Đẩu Mã Unicode
1-ng (/ -nh)U+E015
2-o (/ -u)U+E00F
3-i (/ -y)U+E00E
4-mU+E024
5-nU+E025
6-tU+E026

5. Quy Trình Dịch

Mỗi câu tiếng Việt được chuyển đổi qua 5 bước tuần tự. Dưới đây minh họa quy trình với ví dụ cụ thể.

1 Chuẩn Hóa Văn Bản

Chuyển thành chữ thường, chuẩn hóa Unicode (NFC), loại bỏ dấu thanh (sắc, huyền, hỏi, ngã, nặng).

Ví dụ: "Xin chào"
"Xin chào" → "xin chao"
2 Khóa Âm Cuối

Thay thế phụ âm/nguyên âm cuối bằng ký tự khóa riêng theo FINAL_LOCK_MAP.

Ví dụ: "xin chao"
"xin" → n cuối → ký tự khóa (E025)
"chao" → o cuối → ký tự khóa (E00F)
3 Thêm Âm Đầu Ảo

Từ bắt đầu bằng nguyên âm sẽ được thêm ký tự E006 (âm đầu ảo) ở trước.

Ví dụ: "ăn ơi"
"ăn ơi" → thêm trước → ăn ơi
4 Đảo Nguyên Âm

Một số nguyên âm (ươ, ô, ê, ơ, e, â) được chuyển lên trước phụ âm đầu theo quy tắc VOWELS_TO_MOVE.

Ví dụ: "tôi"
"tôi" → ô nằm trong danh sách → đảo thành "ôti"
5 Mã Hóa Ký Tự

Tra cứu từng ký tự theo thứ tự ưu tiên: RULES_3 (3 ký tự) → RULES_2 (2 ký tự) → RULES_1 (1 ký tự). Kết quả là chuỗi ký tự PUA hiển thị bằng font Khoa Đẩu.

Ví dụ: "xin chao" (sau các bước trên)
x→E01C, i→E005, [E025], ch→E01D, a→E000, [E00F]

Ví Dụ Chi Tiết

Ví dụ 1: "Xin chào"
B1. Chuẩn hóa: "xin chao" (bỏ dấu huyền)
B2. Khóa cuối: "xi" + E025   "cha" + E00F
B3. Âm đầu ảo: không thay đổi (cả hai từ bắt đầu bằng phụ âm)
B4. Đảo nguyên âm: không thay đổi (i, a không nằm trong danh sách đảo)
B5. Mã hóa: x→E01C i→E005 [E025] ch→E01D a→E000 [E00F]
Kết quả Khoa Đẩu
 
Ví dụ 2: "Ăn ơi" (minh họa âm đầu ảo)
B1. Chuẩn hóa: "ăn ơi"
B2. Khóa cuối: "ă" + E025   "ơ" + E00E
B3. Âm đầu ảo: cả hai từ bắt đầu bằng nguyên âm → thêm E006 trước mỗi từ
B4. Đảo nguyên âm: ơ nằm trong danh sách đảo → đảo lên trước
B5. Mã hóa: [E006] ă→E001 [E025] ơ→E002 [E006] [E00E]
Kết quả Khoa Đẩu
 
Ví dụ 3: "tiếng" (trace từng bước)
Trạng thái sau mỗi bước
Bước Đầu vào Đầu ra Mô tả
0tiếngtiếngQuốc Ngữ gốc
1tiếngtiêngLowercase + bỏ dấu sắc (NFD strip)
2tiêngtiê + E015"ng" cuối → khóa E015
3tiê + E015tiê + E015t là phụ âm, không thêm âm đầu ảo
4tiê + E015tiê + E015iê là cụm bảo vệ, không đảo
5tiê + E015E01A E00A E015t→E01A, iê→E00A
Kết quả Khoa Đẩu


6. So Sánh Phương Pháp Dịch

Trang chủ dùng Dictionary CPU (nhanh nhất, độ chính xác 100%). Trang AI dùng CNN-Shallow-Big — mô hình neural compact 16 KB. Bảng dưới so sánh hiệu năng đo trên benchmark 213,118 từ (Final Report §5.1).

Hiệu năng các phương pháp dịch Quốc Ngữ → Khoa Đẩu
Phương pháp Độ chính xác Độ trễ (213k từ) Kích thước Khi nào dùng
Rule-Based Serial100%~1,295 ms5 KBLogic tham chiếu (ẩn khỏi API)
Dictionary CPU100%~413 ms315 KBMặc định trang chủ (/api/translate)
CNN-Shallow-Big100%~885 ms16 KBTrang AI (/api/translate-ai)
CNN-Big99.93%~1,253 ms17 KBKhông deploy

Khi nào dùng cái nào?

Dictionary CPU. Tra cứu O(1) trên ~17,000 âm tiết tiếng Việt được tiền tính bằng Rule-Based. Nhanh nhất, deterministic. Từ ngoài từ điển (OOV) sẽ giữ nguyên không dịch.
CNN-Shallow-Big. Mạng nơ-ron 2 lớp Conv1D, ~3,300 tham số. Suy luận từng âm tiết theo char-level. Phù hợp khi muốn quan sát hành vi của AI trên text mới hoặc viết sai chính tả.
Rule-Based. Thuật toán gốc 5 bước (Section 5). Dùng để xây dictionary; không expose qua HTTP.