Untitled

 avatar
unknown
plain_text
a year ago
2.1 kB
3
Indexable
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)