Skip to content

Instantly share code, notes, and snippets.

@phineas-pta
Last active July 17, 2024 06:27
Show Gist options
  • Save phineas-pta/05cad38a29fea000ab6d9e13a6f7e623 to your computer and use it in GitHub Desktop.
Save phineas-pta/05cad38a29fea000ab6d9e13a6f7e623 to your computer and use it in GitHub Desktop.
xoá dấu tiếng Việt với Python

xoá dấu tiếng Việt với Python

phương pháp nhanh hơn và không cần cài thêm package

code hoàn chỉnh:

import unicodedata

BANG_XOA_DAU = str.maketrans(
    "ÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬĐÈÉẺẼẸÊẾỀỂỄỆÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴáàảãạăắằẳẵặâấầẩẫậđèéẻẽẹêếềểễệíìỉĩịóòỏõọôốồổỗộơớờởỡợúùủũụưứừửữựýỳỷỹỵ",
    "A"*17 + "D" + "E"*11 + "I"*5 + "O"*17 + "U"*11 + "Y"*5 + "a"*17 + "d" + "e"*11 + "i"*5 + "o"*17 + "u"*11 + "y"*5
)

def xoa_dau(txt: str) -> str:
    if not unicodedata.is_normalized("NFC", txt):
        txt = unicodedata.normalize("NFC", txt)
    return txt.translate(BANG_XOA_DAU)

hãy xem phần giải thích bên dưới để hiểu về các dạng unicode chuẩn C và D

phiên bản không phụ thuộc vào các dạng unicode cho ai muốn mì ăn liền

BANG_XOA_DAU_FULL = str.maketrans(
    "ÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬĐÈÉẺẼẸÊẾỀỂỄỆÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴáàảãạăắằẳẵặâấầẩẫậđèéẻẽẹêếềểễệíìỉĩịóòỏõọôốồổỗộơớờởỡợúùủũụưứừửữựýỳỷỹỵ",
    "A"*17 + "D" + "E"*11 + "I"*5 + "O"*17 + "U"*11 + "Y"*5 + "a"*17 + "d" + "e"*11 + "i"*5 + "o"*17 + "u"*11 + "y"*5,
    chr(774) + chr(770) + chr(795) + chr(769) + chr(768) + chr(777) + chr(771) + chr(803) # 8 kí tự dấu dưới dạng unicode chuẩn D
)

def xoa_dau_full(txt: str) -> str:
    return txt.translate(BANG_XOA_DAU_FULL)

1. giải thích quá trình

cần package unicodedata (có sẵn trong python):

import unicodedata

cho 1 string trong python như sau:

raw_txt = "“Đạo đức kinh”"

bước 1: đưa về dạng unicode chuẩn C (unicode normal form C)

nếu bạn cho rằng raw_txt rất bình thường thì bạn đã lầm, bởi vì dấu là 1 kí tự riêng

ví dụ thay vì là 1 kí tự (U+1EE9) văn bản lại là chuỗi:

  • 3 kí tự u (U+0075) + ◌̛ (dấu móc ư U+031B) + ◌́ (dấu sắc U+0301), do khi crawl text online dạng HTML là ứ, lưu ý thứ tự của U+031BU+0301 không quan trọng 👉 đây gọi là dạng unicode chuẩn D (unicode normal form D)
  • 2 kí tự ư (U+01B0) + ◌́ (dấu sắc U+0301) 👉 không thuộc về dạng unicode chuẩn nào
  • 2 kí tự ú (U+00FA) + ◌̛ (dấu móc ư U+031B) 👉 không thuộc về dạng unicode chuẩn nào

bước này ít người biết đến, nếu bỏ qua bước này, kế tiếp khi ta xoá dấu (thay thế bằng u) sẽ gặp rắc rối do không biết là 1 kí tự hay chuỗi 2/3 kí tự

mình phát hiện ra vấn đề này khi crawl text truyện chữ về đọc

dạng unicode chuẩn C là khi các dấu nhập chung thành 1 kí tự duy nhất (U+1EE9)

để kiểm tra xem text đã đúng dạng unicode chuẩn C (viết tắt NFC):

unicodedata.is_normalized("NFC", raw_txt) # False

chuyển sang dạng unicode chuẩn C

txt = unicodedata.normalize("NFC", raw_txt) # "“Đạo đức kinh”"
unicodedata.is_normalized("NFC", txt)       # True

bước 2: xoá dấu cực nhanh

nhờ vào dạng unicode chuẩn C, thay thế kí tự là “1 kí tự thay thế 1 kí tự” (thay vì “1 kí tự thay thế nhiều kí tự” nếu không đúng chuẩn), cách làm hiệu quả nhất là tạo bảng tương ứng kí tự có dấu - ko dấu với hàm str.maketrans() có sẵn trong python:

BANG_XOA_DAU = str.maketrans(
    "ÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬĐÈÉẺẼẸÊẾỀỂỄỆÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴáàảãạăắằẳẵặâấầẩẫậđèéẻẽẹêếềểễệíìỉĩịóòỏõọôốồổỗộơớờởỡợúùủũụưứừửữựýỳỷỹỵ",
    "A"*17 + "D" + "E"*11 + "I"*5 + "O"*17 + "U"*11 + "Y"*5 + "a"*17 + "d" + "e"*11 + "i"*5 + "o"*17 + "u"*11 + "y"*5
)

xoá dấu với hàm .translate() có sẵn trong python:

txt.translate(BANG_XOA_DAU) # "“ Dao duc kinh”"

lệnh thay thế kí tự trên toàn chuỗi được thực thi đúng 1 lần duy nhất

ngoài ra parameter thứ 3 của str.maketrans là 1 string của các kí tự muốn xoá, ta có thể đưa vào 8 kí tự dấu vào đó (xem code đầu bài)

2. so sánh với các cách xoá dấu thường sử dụng khác

2.1. cài thêm package phụ trợ

điểm mạnh là tốc độ, do thực thi lệnh thay thế kí tự trên toàn chuỗi đúng 1 lần duy nhất (giống như trên), nhưng còn nhiều thiếu sót

  • package unidecode: vốn được dùng để chuyển kí tự unicode về bảng ASCII, vậy nên sẽ làm mất các kí tự khác, ví dụ ở trên 2 kí tự “ ” sẽ thành " "; phương pháp duy nhất ko bị ảnh hưởng bởi dạng unicode chuẩn C hay D
from unidecode import unidecode
txt = "“Đạo đức kinh”"
unidecode(txt) # '" Dao duc kinh"'
  • thuật toán FlashText với package flashtext: hứa hẹn tốc độ nhanh hơn cả .replace()RegEx, nhưng không thể thực thi thay thế kí tự (có thể thay thế từ - word)

  • thuật toán Aho-Corasick với package fsed hoặc cyac: trong số các package sử dụng thuật toán Aho-Corasick, chỉ có 2 package này có chức năng thay thế kí tự, còn lại chỉ có chức năng tìm, tốc độ cũng rất tốt

2.2. xử lí kí tự bằng công cụ có sẵn trong python

xem kết quả benchmark ở notebook phía dưới

  • khởi tạo chuỗi mới
BANG_XOA_DAU_1 = {"Á": "A", "À": "A", …}
txt = "“Đạo đức kinh”"
txt = "".join([BANG_XOA_DAU_1.get(s, s) for s in txt])

về cơ bản thì tương đương với phương pháp mình trình bày ở trên, nhưng chậm hơn do sử dụng vòng lặp for

  • dùng .replace():
BANG_XOA_DAU_2 = {"Á": "A", "À": "A", …} # total 134 items
txt = "“Đạo đức kinh”"
for k, v in BANG_XOA_DAU_2.items():
    txt = txt.replace(k, v)

lệnh thay thế kí tự trên toàn chuỗi (.replace()) được thực thi 134 lần

  • dùng RegEx: viết code ngắn hơn, tốc độ nhanh hơn .replace()
import re
BANG_XOA_DAU_3 = { # compile and save regex object for reuse is more efficient
    "A": re.compile("[ÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬ]"),
    "a": re.compile("[áàảãạăắằẳẵặâấầẩẫậ]"),
    … # total 14 items
}
txt = "“Đạo đức kinh”"
for k, v in BANG_XOA_DAU_3.items():
    txt = v.sub(k, txt)

lệnh thay thế kí tự trên toàn chuỗi (re.sub()) được thực thi 14 lần

3. phụ lục: bảng unicode codepoint kí tự tiếng Việt

3.1. dạng unicode chuẩn D

không tồn tại dạng này đối với kí tự Đđ

dấu đổi nguyên âm

̆ (dấu ă)
U+0306
̂ (dấu mũ âêô)
U+0302
̛ (dấu móc ơư)
U+031B

dấu thanh điệu

́ (dấu sắc)
U+0301
̀ (dấu huyền)
U+0300
̉ (dấu hỏi)
U+0309
̃ (dấu ngã)
U+0303
̣ (dấu nặng)
U+0323

3.2. dạng unicode chuẩn C

tham khảo thêm: https://vietunicode.sourceforge.net/charset/vietcharset.html

Á
U+00C1
À
U+00C0

U+1EA2
Ã
U+00C3

U+1EA0
Ă
U+0102

U+1EAE

U+1EB0

U+1EB2

U+1EB4

U+1EB6
Â
U+00C2

U+1EA4

U+1EA6

U+1EA8

U+1EAA

U+1EAC
Đ
U+0110
È
U+00C8
É
U+00C9

U+1EBA

U+1EBC

U+1EB8
Ê
U+00CA

U+1EBE

U+1EC0

U+1EC2

U+1EC4

U+1EC6
Í
U+00CD
Ì
U+00CC

U+1EC8
Ĩ
U+0128

U+1ECA
Ó
U+00D3
Ò
U+00D2

U+1ECE
Õ
U+00D5

U+1ECC
Ô
U+00D4

U+1ED0

U+1ED2

U+1ED4

U+1ED6

U+1ED8
Ơ
U+01A0

U+1EDA

U+1EDC

U+1EDE

U+1EE0

U+1EE2
Ú
U+00DA
Ù
U+00D9

U+1EE6
Ũ
U+0168

U+1EE4
Ư
U+01AF

U+1EE8

U+1EEA

U+1EEC

U+1EEE

U+1EF0
Ý
U+00DD

U+1EF2

U+1EF6

U+1EF8

U+1EF4
á
U+00E1
à
U+00E0

U+1EA3
ã
U+00E3

U+1EA1
ă
U+0103

U+1EAF

U+1EB1

U+1EB3

U+1EB5

U+1EB7
â
U+00E2

U+1EA5

U+1EA7

U+1EA9

U+1EAB

U+1EAD
đ
U+0111
è
U+00E8
é
U+00E9

U+1EBB

U+1EBD

U+1EB9
ê
U+00EA
ế
U+1EBF

U+1EC1

U+1EC3

U+1EC5

U+1EC7
í
U+00ED
ì
U+00EC

U+1EC9
ĩ
U+0129

U+1ECB
ó
U+00F3
ò
U+00F2

U+1ECF
õ
U+00F5

U+1ECD
ô
U+00F4

U+1ED1

U+1ED3

U+1ED5

U+1ED7

U+1ED9
ơ
U+01A1

U+1EDB

U+1EDD

U+1EDF

U+1EE1

U+1EE3
ú
U+00FA
ù
U+00F9

U+1EE7
ũ
U+0169

U+1EE5
ư
U+01B0

U+1EE9

U+1EEB

U+1EED

U+1EEF

U+1EF1
ý
U+00FD

U+1EF3

U+1EF7

U+1EF9

U+1EF5
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Benchmark xóa dấu"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "77ad8cd7",
"metadata": {},
"source": [
"cài thêm 2 package sử dụng thuật toán Aho-Corasick"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "496b9d4a",
"metadata": {},
"outputs": [],
"source": [
"%pip install -q cyac fsed"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import re, random\n",
"from timeit import timeit\n",
"from matplotlib import pyplot as plt\n",
"\n",
"from fsed.ahocorasick import AhoCorasickTrie as fsedTrie\n",
"from cyac import Trie as cyacTrie"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"mặc định văn bản dưới dạng unicode chuẩn C (unicode normal form C) để tránh rắc rối với các kí tự dấu"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"CHU_CO_DAU = \"ÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬĐÈÉẺẼẸÊẾỀỂỄỆÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴáàảãạăắằẳẵặâấầẩẫậđèéẻẽẹêếềểễệíìỉĩịóòỏõọôốồổỗộơớờởỡợúùủũụưứừửữựýỳỷỹỵ\"\n",
"CHU_KO_DAU = \"A\"*17 + \"D\" + \"E\"*11 + \"I\"*5 + \"O\"*17 + \"U\"*11 + \"Y\"*5 + \"a\"*17 + \"d\" + \"e\"*11 + \"i\"*5 + \"o\"*17 + \"u\"*11 + \"y\"*5\n",
"assert(len(CHU_CO_DAU) == len(CHU_KO_DAU))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"№ 0: `str.maketrans() + .translate()`"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"BANG_XOA_DAU_0 = str.maketrans(CHU_CO_DAU, CHU_KO_DAU)\n",
"\n",
"def xoa_dau_0(txt):\n",
" return txt.translate(BANG_XOA_DAU_0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"№ 1: `new string`"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"BANG_XOA_DAU_1 = dict(zip(CHU_CO_DAU, CHU_KO_DAU))\n",
"\n",
"def xoa_dau_1(txt):\n",
" return \"\".join(BANG_XOA_DAU_1.get(s, s) for s in txt)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"№ 2: `.replace()`"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"BANG_XOA_DAU_2 = dict(zip(CHU_CO_DAU, CHU_KO_DAU))\n",
"\n",
"def xoa_dau_2(txt):\n",
" for k, v in BANG_XOA_DAU_2.items():\n",
" txt = txt.replace(k, v)\n",
" return txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"№ 3: `RegEx`"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"BANG_XOA_DAU_3 = {\n",
" \"A\": re.compile(\"[ÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬ]\"),\n",
" \"D\": re.compile(\"Đ\"),\n",
" \"E\": re.compile(\"[ÈÉẺẼẸÊẾỀỂỄỆ]\"),\n",
" \"I\": re.compile(\"[ÍÌỈĨỊ]\"),\n",
" \"O\": re.compile(\"[ÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢ]\"),\n",
" \"U\": re.compile(\"[ÚÙỦŨỤƯỨỪỬỮỰ]\"),\n",
" \"Y\": re.compile(\"[ÝỲỶỸỴ]\"),\n",
" \"a\": re.compile(\"[áàảãạăắằẳẵặâấầẩẫậ]\"),\n",
" \"d\": re.compile(\"đ\"),\n",
" \"e\": re.compile(\"[èéẻẽẹêếềểễệ]\"),\n",
" \"i\": re.compile(\"[íìỉĩị]\"),\n",
" \"o\": re.compile(\"[óòỏõọôốồổỗộơớờởỡợ]\"),\n",
" \"u\": re.compile(\"[úùủũụưứừửữự]\"),\n",
" \"y\": re.compile(\"[ýỳỷỹỵ]\")\n",
"}\n",
"\n",
"def xoa_dau_3(txt):\n",
" for k, v in BANG_XOA_DAU_3.items():\n",
" txt = v.sub(k, txt)\n",
" return txt"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "a5cc3835",
"metadata": {},
"source": [
"№ 4: `fsed`"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "71cda986",
"metadata": {},
"outputs": [],
"source": [
"BANG_XOA_DAU_4 = fsedTrie()\n",
"for i, j in zip(CHU_CO_DAU, CHU_KO_DAU):\n",
" BANG_XOA_DAU_4[i] = j\n",
"\n",
"def xoa_dau_4(txt):\n",
" return BANG_XOA_DAU_4.greedy_replace(txt)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "cbdd4661",
"metadata": {},
"source": [
"№ 5: `cyac`"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f06e6f9d",
"metadata": {},
"outputs": [],
"source": [
"BANG_XOA_DAU_5 = cyacTrie()\n",
"BANG_XOA_DAU_5bis = {BANG_XOA_DAU_5.insert(i): j for i, j in zip(CHU_CO_DAU, CHU_KO_DAU)}\n",
"\n",
"def xoa_dau_5(txt):\n",
" return BANG_XOA_DAU_5.replace_longest(txt, BANG_XOA_DAU_5bis)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"array chứa thời gian thực thi từng phương pháp để so sánh"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"vec_N, vec_0, vec_1, vec_2, vec_3, vec_4, vec_5 = [], [], [], [], [], [], []"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"benchmark với văn bản có độ dài 10<sup>0</sup>, 10<sup>1</sup>, 10<sup>2</sup>, …, 10<sup>8</sup> kí tự, với tất cả kí tự đều có dấu (worst-case scenario)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"N_repet = 10 # sồ lần thực thi (lấy thời gian trung bình)\n",
"for i in range(9):\n",
" N = 10**i\n",
" txt = \"\".join(random.choices(CHU_CO_DAU, k=N))\n",
"\n",
" t_0 = timeit(\"xoa_dau_0(txt)\", number=N_repet, globals=globals())\n",
" t_1 = timeit(\"xoa_dau_1(txt)\", number=N_repet, globals=globals())\n",
" t_2 = timeit(\"xoa_dau_2(txt)\", number=N_repet, globals=globals())\n",
" t_3 = timeit(\"xoa_dau_3(txt)\", number=N_repet, globals=globals())\n",
" t_4 = timeit(\"xoa_dau_4(txt)\", number=N_repet, globals=globals())\n",
" t_5 = timeit(\"xoa_dau_5(txt)\", number=N_repet, globals=globals())\n",
"\n",
" vec_N.append(N)\n",
" vec_0.append(t_0)\n",
" vec_1.append(t_1)\n",
" vec_2.append(t_2)\n",
" vec_3.append(t_3)\n",
" vec_4.append(t_4)\n",
" vec_5.append(t_5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"đồ thị so sánh"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(vec_N, vec_0, label=\"str.maketrans()\")\n",
"plt.plot(vec_N, vec_1, label=\"new string\")\n",
"plt.plot(vec_N, vec_2, label=\".replace()\")\n",
"plt.plot(vec_N, vec_3, label=\"RegEx\")\n",
"plt.plot(vec_N, vec_4, label=\"fsed\")\n",
"plt.plot(vec_N, vec_5, label=\"cyac\")\n",
"plt.xscale(\"log\")\n",
"plt.yscale(\"log\")\n",
"plt.xlabel(\"string length\")\n",
"plt.ylabel(\"time (s)\")\n",
"plt.legend()\n",
"plt.grid()\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
BANG_DANH_DAU = {
"vni": {
"Á": "A1" , "À": "A2" , "Ả": "A3" , "Ã": "A4" , "Ạ": "A5" ,
"Ă": "A8", "Ắ": "A81", "Ằ": "A82", "Ẳ": "A83", "Ẵ": "A84", "Ặ": "A85",
"Â": "A6", "Ấ": "A61", "Ầ": "A62", "Ẩ": "A63", "Ẫ": "A64", "Ậ": "A65",
"Đ": "D9",
"É": "E1" , "È": "E2" , "Ẻ": "E3" , "Ẽ": "E4" , "Ẹ": "E5" ,
"Ê": "E6", "Ế": "E61", "Ề": "E62", "Ể": "E63", "Ễ": "E64", "Ệ": "E65",
"Í": "I1" , "Ì": "I2" , "Ỉ": "I3" , "Ĩ": "I4" , "Ị": "I5" ,
"Ó": "O1" , "Ò": "O2" , "Ỏ": "O3" , "Õ": "O4" , "Ọ": "O5" ,
"Ô": "O6", "Ố": "O61", "Ồ": "O62", "Ổ": "O63", "Ỗ": "O64", "Ộ": "O65",
"Ơ": "O7", "Ớ": "O71", "Ờ": "O72", "Ở": "O73", "Ỡ": "O74", "Ợ": "O75",
"Ú": "U1" , "Ù": "U2" , "Ủ": "U3" , "Ũ": "U4" , "Ụ": "U5" ,
"Ư": "U7", "Ứ": "U71", "Ừ": "U72", "Ử": "U73", "Ữ": "U74", "Ự": "U75",
"Ý": "Y1" , "Ỳ": "Y2" , "Ỷ": "Y3" , "Ỹ": "Y4" , "Ỵ": "Y5" ,
"á": "a1" , "à": "a2" , "ả": "a3" , "ã": "a4" , "ạ": "a5" ,
"ă": "a8", "ắ": "a81", "ằ": "a82", "ẳ": "a83", "ẵ": "a84", "ặ": "a85",
"â": "a6", "ấ": "a61", "ầ": "a62", "ẩ": "a63", "ẫ": "a64", "ậ": "a65",
"đ": "d9",
"é": "e1" , "è": "e2" , "ẻ": "e3" , "ẽ": "e4" , "ẹ": "e5" ,
"ê": "e6", "ế": "e61", "ề": "e62", "ể": "e63", "ễ": "e64", "ệ": "e65",
"í": "i1" , "ì": "i2" , "ỉ": "i3" , "ĩ": "i4" , "ị": "i5" ,
"ó": "o1" , "ò": "o2" , "ỏ": "o3" , "õ": "o4" , "ọ": "o5" ,
"ô": "o6", "ố": "o61", "ồ": "o62", "ổ": "o63", "ỗ": "o64", "ộ": "o65",
"ơ": "o7", "ớ": "o71", "ờ": "o72", "ở": "o73", "ỡ": "o74", "ợ": "o75",
"ú": "u1" , "ù": "u2" , "ủ": "u3" , "ũ": "u4" , "ụ": "u5" ,
"ư": "u7", "ứ": "u71", "ừ": "u72", "ử": "u73", "ữ": "u74", "ự": "u75",
"ý": "y1" , "ỳ": "y2" , "ỷ": "y3" , "ỹ": "y4" , "ỵ": "y5" ,
},
"telex": {
"Á": "AS" , "À": "AF" , "Ả": "AR" , "Ã": "AX" , "Ạ": "AJ" ,
"Ă": "AW", "Ắ": "AWS", "Ằ": "AWF", "Ẳ": "AWR", "Ẵ": "AWX", "Ặ": "AWJ",
"Â": "AA", "Ấ": "AAS", "Ầ": "AAF", "Ẩ": "AAR", "Ẫ": "AAX", "Ậ": "AAJ",
"Đ": "DD",
"É": "ES" , "È": "EF" , "Ẻ": "ER" , "Ẽ": "EX" , "Ẹ": "EJ" ,
"Ê": "EE", "Ế": "EES", "Ề": "EEF", "Ể": "EER", "Ễ": "EEX", "Ệ": "EEJ",
"Í": "IS" , "Ì": "IF" , "Ỉ": "IR" , "Ĩ": "IX" , "Ị": "IJ" ,
"Ó": "OS" , "Ò": "OF" , "Ỏ": "OR" , "Õ": "OX" , "Ọ": "OJ" ,
"Ô": "OO", "Ố": "OOS", "Ồ": "OOF", "Ổ": "OOR", "Ỗ": "OOX", "Ộ": "OOJ",
"Ơ": "OW", "Ớ": "OWS", "Ờ": "OWF", "Ở": "OWR", "Ỡ": "OWX", "Ợ": "OWJ",
"Ú": "US" , "Ù": "UF" , "Ủ": "UR" , "Ũ": "UX" , "Ụ": "UJ" ,
"Ư": "UW", "Ứ": "UWS", "Ừ": "UWF", "Ử": "UWR", "Ữ": "UWX", "Ự": "UWJ",
"Ý": "YS" , "Ỳ": "YF" , "Ỷ": "YR" , "Ỹ": "YX" , "Ỵ": "YJ" ,
"á": "as" , "à": "af" , "ả": "ar" , "ã": "ax" , "ạ": "aj" ,
"ă": "aw", "ắ": "aws", "ằ": "awf", "ẳ": "awr", "ẵ": "awx", "ặ": "awj",
"â": "aa", "ấ": "aas", "ầ": "aaf", "ẩ": "aar", "ẫ": "aax", "ậ": "aaj",
"đ": "dd",
"é": "es" , "è": "ef" , "ẻ": "er" , "ẽ": "ex" , "ẹ": "ej" ,
"ê": "ee", "ế": "ees", "ề": "eef", "ể": "eer", "ễ": "eex", "ệ": "eej",
"í": "is" , "ì": "if" , "ỉ": "ir" , "ĩ": "ix" , "ị": "ij" ,
"ó": "os" , "ò": "of" , "ỏ": "or" , "õ": "ox" , "ọ": "oj" ,
"ô": "oo", "ố": "oos", "ồ": "oof", "ổ": "oor", "ỗ": "oox", "ộ": "ooj",
"ơ": "ow", "ớ": "ows", "ờ": "owf", "ở": "owr", "ỡ": "owx", "ợ": "owj",
"ú": "us" , "ù": "uf" , "ủ": "ur" , "ũ": "ux" , "ụ": "uj" ,
"ư": "uw", "ứ": "uws", "ừ": "uwf", "ử": "uwr", "ữ": "uwx", "ự": "uwj",
"ý": "ys" , "ỳ": "yf" , "ỷ": "yr" , "ỹ": "yx" , "ỵ": "yj" ,
}
}
def xoa_dau_sang_vni_telex(txt: str, kieu_go: str) -> str:
kieu_go = kieu_go.lower()
if kieu_go not in BANG_DANH_DAU:
raise Exception("kiểu gõ ko hợp lệ")
for k, v in BANG_DANH_DAU[kieu_go].items():
txt = txt.replace(k, v)
return txt
xoa_dau_sang_vni_telex(txt, "vni") # "“D9a5o d9u71c kinh”"
xoa_dau_sang_vni_telex(txt, "telex") # "“DDajo dduwsc kinh”"
@dminhhoang26
Copy link

chuẩn, chi tiết và đầy đủ

@ngoclinh3102
Copy link

nice !

@vndee
Copy link

vndee commented Apr 13, 2024

Great content, thanks for sharing!

@atom-tr
Copy link

atom-tr commented May 6, 2024

Xịn xò quá nè, còn giải thích đầy đủ nữa.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment