text: import unicodedata
  graphemes = [
              "ᅡ", "ᄋ", "ᄀ", "ᅵ", "ᆫ", "ᅳ", "ᅥ", "ᅩ", "ᄂ", "ᄃ", "ᄌ", "ᆯ", "ᄅ",
              "ᄉ", "ᅦ", "ᄆ", "ᄒ", "ᅢ", "ᅮ", "ᆼ", "ᆨ", "ᅧ", "ᄇ", "ᆻ", "ᆷ", "ᅣ",
              "ᄎ", "ᄁ", "ᅯ", "ᄄ", "ᅪ", "ᆭ", "ᆸ", "ᄐ", "ᅬ", "ᄍ", "ᄑ", "ᆺ", "ᇂ",
              "ᅭ", "ᇀ", "ᄏ", "ᅫ", "ᄊ", "ᆹ", "ᅤ", "ᅨ", "ᆽ", "ᄈ", "ᅲ", "ᅱ", "ᇁ",
              "ᅴ", "ᆮ", "ᆩ", "ᆾ", "ᆶ", "ᆰ", "ᆲ", "ᅰ", "ᆱ", "ᆬ", "ᆿ", "ᆴ", "ᆪ", "ᆵ"
          ]
  
  def _text_postprocess(sentence: str) -> str:
      """
      Postprocess model output
      Args:
          sentence (str): naively inferenced sentence from model
      Returns:
          str: post-processed, inferenced sentence
      """
      if graphemes:
          # grapheme to character
          sentence = unicodedata.normalize("NFC", sentence.replace(" ", ""))
          sentence = sentence.replace("|", " ").strip()
          return _grapheme_filter(sentence)
  
      return sentence.replace(" ", "").replace("|", " ").strip()
  
  
  def _grapheme_filter(sentence: str) -> str:
      new_sentence = str()
      for item in sentence:
          if item not in graphemes:
              new_sentence += item
      return new_sentence
  
  
  input = '밥 먹으면서 뭐 ᄋ제 자기네 집이 아니다 보니까 원래 우리 집에서 먹을 때도 밥 먹을 때 다 입에 있는 거 다 뭐 삼 키고 얘기를 하 하라ᅩ 하던지 아님 뭐 입을 가리고 하라고 하던지 얘 그 얘기가 있잖아'
  
  print(_text_postprocess(input))
  