Challenge: Teen code v2 to Vietnamese

Được sự ủng hộ của @drgnz@SakaDream, mình làm challenge này luôn.

:gift:

1 thẻ cào điện thoại 100k ~ tài trợ bởi drgnz :smile:


Easier version: Chuyển tiếng Việt sang teen code v2.

Test case ngược với test case ở phần dưới.


Main challenge: Yêu cầu y như title.

Sample test

Test 0

Input

LUẬT ZÁO ZỤK

Diều 7. Qôn qữ zùq coq n’à cườq và kơ sở’ záo zụk xák; zạy và họk tiếq nói, cữ viết kủa zân tộk wiểu số; zạy qoại qữ.

  1. Tiếq Việt là qôn qữ cín’ wứk zùq coq n’à cườq và kơ sở záo zụk xák. Kăn kứ vào mụk tiêu záo zụk và yêu kầu kụ wể về nội zuq záo zụk, Wủ tướq cín’ fủ kuy dịn’ việk zạy và họk bằq tiếq nướk qoài coq n’à cườq và kơ sở záo zụk xák.

  2. Nhà nướk tạo diều kiện dể qười zân tộk wiểu số dượk họk tiếq nói, cữ viết kủa zân tộk mìn’ n’ằm zữ zìn và fát huy bản sắk văn hoá zân tộk, zúp co họk sin’ qười zân tộk wiểu số zễ zàq tiếp wu kiến wứk xi họk tập coq n’à cườq và kơ sở záo zụk xák. Việk zạy và họk tiếq nói, cữ viết kủa zân tộk wiểu số dượk wựk hiện weo kuy dịn’ kủa Cín’ fủ.

  3. Qoại qữ kuy dịn’ coq cươq cìn’ záo zụk là qôn qữ dượk sử zụq fổ biến coq zao zịc kuốk tế. Việk tổ cứk zạy qoại qữ coq n’à cườq và kơ sở záo zụk xák kần dảm bảo dể qười họk liên tụk và kó hiệu kuả.

Output

LUẬT GIÁO DỤC

Điều 7. Ngôn ngữ dùng trong nhà trường và cơ sở giáo dục khác; dạy và học tiếng nói, chữ viết của dân tộc thiểu số; dạy ngoại ngữ.

  1. Tiếng Việt là ngôn ngữ chính thức dùng trong nhà trường và cơ sở giáo dục khác. Căn cứ vào mục tiêu giáo dục và yêu cầu cụ thể về nội dung giáo dục, Thủ tướng chính phủ quy định việc dạy và học bằng tiếng nước ngoài trong nhà trường và cơ sở giáo dục khác.

  2. Nhà nước tạo điều kiện để người dân tộc thiểu số được học tiếng nói, chữ viết của dân tộc mình nhằm giữ gìn và phát huy bản sắc văn hoá dân tộc, giúp cho học sinh người dân tộc thiểu số dễ dàng tiếp thu khiến thức khi học tập trong nhà trường và cơ sở giáo dục khác. Việc dạy và học tiếng nói, chữ viết của dân tộc thiểu số được thực hiện theo quy định của Chính phủ.

  3. Ngoại ngữ quy định trong chương trình giáo dục là ngôn ngữ được sử dụng phổ biến trong giao dịch quốc tế. Việc tổ chức dạy ngoại ngữ trong nhà trường và cơ sở giáo dục khác cần đảm bảo để người học liên tục và có hiệu quả.

Test 1: https://ideone.com/fT3DUW

Test 2: https://ideone.com/PsLPtX

Vì có tool convert tiếng Việt sang teencode v2 nên mình sẽ mở rộng bộ test, không chỉ có 3 sample test mà sẽ có ít nhất 10 test nữa.

Yêu cầu

Đúng chính tả tiếng Việt đến tối đa. Sẽ có tool đo mức độ đúng chính tả. Càng đúng chính tả nhiều càng tốt.

Cách chấm

Điểm = (tổng tỉ lệ đúng chính tả mỗi test) / tổng số test.

Giới hạn

  • Code dài không quá 500 dòng.

Deadline: trước 8h00’ ngày 5/12

P/s:

  • Gõ tay mệt quá, các tool convert image to text cũng chào thua :v
  • Sao có nét gì đấy của Jyupting với tiếng Nga thế nhỉ :v
6 Likes

Thiệt luôn hả trời :joy:
Thiệt tình, có những cách hay hơn, bác í lại chọn cách tệ nhất.

4 Likes

Coi chừng ông giáo sư report cả đám lên trung ương bây giờ. :joy:

6 Likes

Kệ ông ấy chứ :smile: vẫn có người cần convert teencode sang tiếng Việt mà :v

Mất công chuyển thì chuyển quách qua Tiếng Anh.

1 Like

Chuyển qua tiếng Anh e là hơi khó anh ơi.

Adversarial Neural Machine Translation
https://arxiv.org/abs/1704.06933

Chuyển qua một ngôn ngữ đã tồn tại rồi còn dễ hơn một ngôn ngữ mới.
Giờ chuyển qua ngôn ngữ mới thì các văn bằng tài liệu hay nói chung là tất cả những gì liên quan đến Tiếng Việt trên cái quả đất này đều phải làm lại. Hay sẽ song song cũ mới lẫn lộn.

Nói gì thì nói nhưng mong mọi người ở đây nếu có phản biện điều đó thì nên phân tích rõ ràng và chính xác chứ đừng như mấy comment trên thanhnien :unamused:

1 Like

trch đều thành c thì revert kiểu gì?

3 Likes

Có check chính tả theo số % mà anh.

Challenge này rất khó, nên em mới thêm 1 version dễ hơn là tiếng Việt sang teencode.

do ông này đề ra à :V

Những bất hợp lý mà PGS Bùi Hiền đưa ra, đó là hiện tại, chúng ta sử dụng 2, 3 chữ cái để biểu đạt một âm vị phụ âm đứng đầu. Ví dụ C – Q – K (cuốc, quốc, ca, kali), Tr – Ch (tra, cha), S – X (sa, xa)… Bên cạnh đó, lại dùng 2 chữ cái ghép lại để biểu đạt âm vị một số phụ âm đứng cuối vần như Ch, Ng, Nh (mách, ông, tanh…). “Đó là những hiện tượng không thống nhất, không theo một nguyên tắc chung nào dẫn đến khó khăn cho người đọc, người viết, thậm chí gây hiểu nhầm hoặc không hiểu được chính xác nội dung thông tin. Người học như trẻ em hay người nước ngoài, cũng rất hay mắc lỗi do sự phức tạp này mang lại”, tác giả Bùi Hiền chia sẻ.
Từ đó, PGS Hiền kiến nghị một phương án làm cơ sở để tiến tới một phương án tối ưu trình nhà nước. Chữ quốc ngữ cải tiến của tác giả Bùi Hiền dựa trên tiếng nói văn hóa của thủ đô Hà Nội cả về âm vị cơ bản lẫn 6 thanh điệu chuẩn, nguyên tắc mỗi chữ chỉ biểu đạt một âm vị, và mỗi âm vị chỉ có một chữ cái tương ứng biểu đạt. Sẽ bỏ chữ Đ ra khỏi bảng chữ cái tiếng Việt hiện hành và bổ sung thêm một số chữ cái tiếng Latin như F, J, W, Z. Bên cạnh đó, thay đổi giá trị âm vị của 11 chữ cái hiện có trong bảng trên, cụ thể: C = Ch, Tr; D = Đ; G = G, Gh; F = Ph; K = C, Q, K; Q = Ng, Ngh; R = R; S = S; X = Kh; W =Th; Z = d, gi, r. Vì âm “nhờ” (nh) chưa có kí tự mới thay thế, nên trong văn bản trên tạm thời dùng kí tự ghép n’ để biểu đạt.

1 Like

Code Vietnamese → Teencode v2 này dễ hiểu nhưng không hiệu quả :slight_smile:

var Temp = TextBox_Original.Text;
Temp = Temp.Replace("th", "w");
Temp = Temp.Replace("Th", "W");
Temp = Temp.Replace("tH", "w");
Temp = Temp.Replace("TH", "W");
Temp = Temp.Replace('X', 'S');
Temp = Temp.Replace('x', 's');
Temp = Temp.Replace('d', 'z');
Temp = Temp.Replace('D', 'Z');
Temp = Temp.Replace('đ', 'd');
Temp = Temp.Replace('Đ', 'D');
Temp = Temp.Replace("gi", "z");
Temp = Temp.Replace("gI", "z");
Temp = Temp.Replace("Gi", "Z");
Temp = Temp.Replace("GI", "Z");
Temp = Temp.Replace("kh", "x");
Temp = Temp.Replace("kH", "x");
Temp = Temp.Replace("Kh", "X");
Temp = Temp.Replace("KH", "X");
Temp = Temp.Replace("QU", "K");
Temp = Temp.Replace("qu", "k");
Temp = Temp.Replace("Qu", "K");
Temp = Temp.Replace("qU", "k");
Temp = Temp.Replace("ngh", "q");
Temp = Temp.Replace("nGH", "q");
Temp = Temp.Replace("nGh", "q");
Temp = Temp.Replace("ngH", "q");
Temp = Temp.Replace("NGH", "Q");
Temp = Temp.Replace("NgH", "Q");
Temp = Temp.Replace("NGH", "Q");
Temp = Temp.Replace("Ngh", "Q");
Temp = Temp.Replace("ng", "q");
Temp = Temp.Replace("nG", "q");
Temp = Temp.Replace("NG", "Q");
Temp = Temp.Replace("Ng", "Q");
Temp = Temp.Replace("ph", "f");
Temp = Temp.Replace("pH", "f");
Temp = Temp.Replace("PH", "F");
Temp = Temp.Replace("Ph", "F");
Temp = Temp.Replace("gh", "g");
Temp = Temp.Replace("gH", "g");
Temp = Temp.Replace("GH", "G");
Temp = Temp.Replace("Gh", "G");
Temp = Temp.Replace("Nh", "N'");
Temp = Temp.Replace("NH", "N'");
Temp = Temp.Replace("nh", "n'");
Temp = Temp.Replace("nH", "n'");
Temp = Temp.Replace("Tr", "J");
Temp = Temp.Replace("TR", "J");
Temp = Temp.Replace("tr", "j");
Temp = Temp.Replace("tR", "j");
Temp = Temp.Replace("Ch", "J");
Temp = Temp.Replace("CH", "J");
Temp = Temp.Replace("ch", "j");
Temp = Temp.Replace("cH", "j");
Temp = Temp.Replace('c', 'k');
Temp = Temp.Replace('C', 'K');
Temp = Temp.Replace('j', 'c');
Temp = Temp.Replace('J', 'C');
TextBox_Result.Text = Temp;
1 Like

Đọc theo giọng miền Bắc dễ hơn. Chắc ổng mới khảo sát môi trường ổng sinh hoạt mà sinh ra bảng chữ cái mới.

Miền Trung và miền Nam đọc không thuận miệng.

1 Like

:joy: https://news.zing.vn/cong-cu-chuyen-chu-viet-thanh-tieq-viet-kieu-moi-post799005.html?utm_source=facebook&utm_medium=fanpage&utm_campaign=fanpage done

3 Likes

Đệt, có thanh niên làm rồi up lên github luôn à?
Ghê ghê :laughing:

1 Like

Website: https://tieqviet.surge.sh/

1 Like

Challenge lần này ế rồi :cold_sweat:

Có vẻ challenge này khó đấy
Bên trên người ta convert Tiếng Việt -> Tiếq Việt, còn mình là Tiếq Việt -> Tiếng Việt :grin:
P/S: Để tối làm thử :laughing:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?