class_docstr: Coref Sample
class_docstr_tok: ["Coref","Sample"]
docstr: Given an 2nd list of str (word list list),
  concat it and records the length of each sentence
  
  :param list sens: 2nd list of str (word list list)
  :returns (list, list): x as list of str (word list),
      sen_map as list of int (sen len list)
docstr_tok: ["Given","an","2nd","list","of","str","(","word","list","list",")",",","concat","it","and","records","the","length","of","each","sentence",":","param","list","sens",":","2nd","list","of","str","(","word","list","list",")",":","returns","(","list",",","list",")",":","x","as","list","of","str","(","word","list",")",",","sen_map","as","list","of","int","(","sen","len","list",")"]
code: def sens2doc(sens):
      r"""
      Given an 2nd list of str (word list list),
      concat it and records the length of each sentence
  
      :param list sens: 2nd list of str (word list list)
      :returns (list, list): x as list of str (word list),
          sen_map as list of int (sen len list)
  
      """
      x = concat(sens)
      sen_map = [len(sen) for sen in sens]
      return x, sen_map
  
imports: from ....common.settings import ORIGIN, TASK_MASK
  from ....common.utils.fp_utils import *
  from ....common.utils.shift_utils import *
  from .sample import Sample
  from ..field import ListField, TextField
label_desc: Use image node_id 12 for calling the CorefSample obj's underlying member method code with example usage: obj.sens2doc(sens) and returns: x,  sen_map