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 words(self):
      if self._words or self._words == []:
          return self._words
      else:
          self._words = self.cn_processor.tokenize(self.text, cws=True)
          return self._words
  
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 10 for calling the CnTextField obj's underlying member method code with example usage: obj.words() and returns: self, self