import re
def replace_special_characters(text):
for chu, dau in replacement_dict.items():
text = text.replace(chu, dau)
text = text.replace(".\n", " chấm xuống dòng")
return text.strip()
def word_to_number(text):
for chu, so in replacement_dict_labels.items():
text = text.replace(chu, so)
text = text.replace(" chấm xuống dòng", " 0 1 1")
return text.strip()
replacement_dict_labels = {
"mở ngoặc đơn ": " 1 ",
" đóng ngoặc đơn ": " 2 ",
"mở ngoặc nhọn ": " 3 ",
" đóng ngoặc nhọn ": " 4 ",
"mở ngoặc vuông ": " 5 ",
" đóng ngoặc vuông ": " 6 ",
" gạch ngang trên ": " 7 ",
" gạch ngang dưới ": " 8 ",
" hai chấm": " 9 ",
" chấm phẩy ": " 10 ",
" phẩy": " 11 ",
"lớn hơn ": " 12 ",
"bé hơn ": " 13 ",
"chấm hỏi ": " 14 ",
"chấm than ": " 15 ",
"a còng ": " 16 ",
"dấu thăng ": " 17 ",
"phần trăm ": " 18 ",
" ba chấm ": " 19 ",
" chấm ": " 20 ",
"bằng ": " 21 ",
"xuyệt trái ": " 22 ",
"xuyệt phải ": " 23 ",
"xuống dòng\n": " 24 "
}
replacement_dict = {
r"\(": "mở ngoặc đơn ",
r"\)": " đóng ngoặc đơn ",
r"\{": "mở ngoặc nhọn ",
r"\}": " đóng ngoặc nhọn ",
r"\[": "mở ngoặc vuông ",
r"\]": " đóng ngoặc vuông ",
r"-": " gạch ngang trên ",
r"_": " gạch ngang dưới ",
r":": " hai chấm",
r";": " chấm phẩy ",
r",": " phẩy",
r">": "lớn hơn ",
r"<": "bé hơn ",
r"\?": "chấm hỏi ",
r"!": "chấm than ",
r"@": "a còng ",
r"#": "dấu thăng ",
r"%": "phần trăm ",
r"\.\.\.": " ba chấm ",
r"\.+\.*": " chấm ",
r"=": "bằng ",
r"/": " xuyệt trái ",
r"\\": " xuyệt phải ",
r"\n": "xuống dòng\n"
}
text = "Từ 12/2/2018: Người bán, tặng xe ô tô không phải thông báo với công an.\n"
cau1 = replace_special_characters(text)
print(cau1)
cau2 = word_to_number(cau1)
print(cau2)