docs: def feature_parser(uni_feature, word_surface):
      # type: (text_type, text_type) -> Tuple[Tuple[text_type, text_type, text_type], text_type]
      """
      Parse the POS feature output by Mecab
      :param uni_feature unicode:
      :return ( (pos1, pos2, pos3), word_stem ):
      """
      list_feature_items = uni_feature.split(',')
      # if word has no feature at all
      if len(list_feature_items) == 1: return ('*'), ('*')
  
      pos1 = list_feature_items[0]
      pos2 = list_feature_items[1]
      pos3 = list_feature_items[2]
      tuple_pos = (pos1, pos2, pos3)
  
      # if without constraint(output is normal mecab dictionary like)
      if len(list_feature_items) == 9:
          word_stem = list_feature_items[6]
      # if with constraint(output format depends on Usedict.txt)
      else:
          word_stem = word_surface
  
      return tuple_pos, word_stem