class_docstr: A helper class that represents input string that to be modified.
  for example:
      1. CnTextField(['今天', '天气', '不错'],None)
      2. CnTextField('今天天气不错',None)
  
  :param str or list field_value: the value of the field.
  :param int mask: mask label.
class_docstr_tok: ["A","helper","class","that","represents","input","string","that","to","be","modified",".","for","example",":","1",".","CnTextField","(","[","'\u4eca\u5929","'",",","'\u5929\u6c14","'",",","'\u4e0d\u9519","'","]",",","None",")","2",".","CnTextField","(","'\u4eca\u5929\u5929\u6c14\u4e0d\u9519","'",",","None",")",":","param","str","or","list","field_value",":","the","value","of","the","field",".",":","param","int","mask",":","mask","label","."]
code: def __init__(self, field_value, mask=None):
      if isinstance(field_value, str):
          sentence = field_value
      elif isinstance(field_value, list):
          # join and re-tokenize because of insert/delete operation
          sentence = "".join(field_value)
      else:
          raise ValueError(
              "TextField supports string/token list, given "
              "{0}".format(type(field_value))
          )
  
      if not mask:
          self._mask = [ORIGIN] * len(sentence)
      else:
          assert len(mask) == len(sentence)
          for index, mask_item in enumerate(mask):
              if mask_item not in [ORIGIN, TASK_MASK, MODIFIED_MASK]:
                  raise ValueError(
                      "Not support mask value of {0}".format(mask_item)
                  )
          self._mask = mask
  
      super().__init__(sentence, field_type=str)
      self._text = sentence
      self._sentences = None
      self._tokens = [k for k in self._text]
      self._words = None
      self._ner_tags = None
      self._ner_list = None
      self._pos_tags = None
      self._dp = None
  
imports: from .field import Field
  from ....common.utils.list_op import *
  from ....common.preprocess.cn_processor import CnProcessor
  from ....common.settings import ORIGIN, TASK_MASK, MODIFIED_MASK
label_desc: Use image node_id 1 to create a new CnTextField object from inherited base classes: Field with example: obj = CnTextField(field_value, mask)