class_docstr: NER Sample class to hold the necessary info and provide atomic operations.
class_docstr_tok: ["NER","Sample","class","to","hold","the","necessary","info","and","provide","atomic","operations","."]
docstr: Replace multi entity in once time.Assume input entities
  with reversed sequential.
  
  :param list entities_info: list of entity_info
  :param list candidates: candidate entities
  :return: Modified NERSample
docstr_tok: ["Replace","multi","entity","in","once","time.Assume","input","entities","with","reversed","sequential",".",":","param","list","entities_info",":","list","of","entity_info",":","param","list","candidates",":","candidate","entities",":","return",":","Modified","NERSample"]
code: def entities_replace(self, entities_info, candidates):
      r"""
      Replace multi entity in once time.Assume input entities
      with reversed sequential.
  
      :param list entities_info: list of entity_info
      :param list candidates: candidate entities
      :return: Modified NERSample
  
      """
      assert len(entities_info) == len(candidates)
      assert isinstance(entities_info, list)
      assert isinstance(candidates, list)
      sample = self.clone(self)
  
      for i in range(len(entities_info)):
          entity = entities_info[i]
          sample = sample.entity_replace(
              entity["start"],
              entity["end"],
              candidates[i],
              entity["tag"],
          )
  
      return sample
  
imports: from .sample import Sample
  from ..field import ListField, TextField
  from ....common.utils.list_op import get_align_seq
label_desc: Use image node_id 15 for calling the NERSample obj's underlying member method code with example usage: obj.entities_replace(entities_info, candidates) and returns: sample