class_docstr: Base class for text encoders.
  Translates raw texts into structured token arrays
class_docstr_tok: ["Base","class","for","text","encoders",".","Translates","raw","texts","into","structured","token","arrays"]
docstr: Encodes the text for passing to the model, also tracks the location of each token to allow reconstruction.
  It can also, optionally, construct a per-token labels as required for training.
  :param Xs: A list of lists of string -- [n_fields, n_segments]
  :param Y: A list of list of targets -- [n_batch, n_segments]
  :param max_length: Max length of the sequences.
  :return: A Labeled Sequence Object.
docstr_tok: ["Encodes","the","text","for","passing","to","the","model",",","also","tracks","the","location","of","each","token","to","allow","reconstruction",".","It","can","also",",","optionally",",","construct","a","per-token","labels","as","required","for","training",".",":","param","Xs",":","A","list","of","lists","of","string","--","[","n_fields",",","n_segments","]",":","param","Y",":","A","list","of","list","of","targets","--","[","n_batch",",","n_segments","]",":","param","max_length",":","Max","length","of","the","sequences",".",":","return",":","A","Labeled","Sequence","Object","."]
code: def encode_multi_input(
      self,
      Xs,
      max_length=None,
      remove_repeated_whitespace=False,
      include_bos_eos=True,
  ):
      """
      Encodes the text for passing to the model, also tracks the location of each token to allow reconstruction.
      It can also, optionally, construct a per-token labels as required for training.
      :param Xs: A list of lists of string -- [n_fields, n_segments]
      :param Y: A list of list of targets -- [n_batch, n_segments]
      :param max_length: Max length of the sequences.
      :return: A Labeled Sequence Object.
      """
      encoded = self._encode(Xs)
      if remove_repeated_whitespace:
          encoded = _remove_repeated_whitespace(encoded)
      # merge fields + truncate if necessary
      token_ids = self._cut_and_concat(
          encoded=encoded.token_ids,
          max_length=max_length,
          include_bos_eos=include_bos_eos,
      )
      tokens = self._cut_and_concat(
          encoded=encoded.tokens,
          max_length=max_length,
          include_bos_eos=include_bos_eos,
      )
      token_ends = self._cut_and_concat(
          encoded=encoded.token_ends,
          max_length=max_length,
          special_tokens=-1,
          include_bos_eos=include_bos_eos,
      )
      token_starts = self._cut_and_concat(
          encoded=encoded.token_starts,
          max_length=max_length,
          special_tokens=-1,
          include_bos_eos=include_bos_eos,
      )
      return EncodedOutput(
          token_ids=np.asarray(token_ids),
          tokens=np.array(tokens),
          token_ends=np.asarray(token_ends),
          token_starts=np.asarray(token_starts),
      )
  
imports: import warnings
  import functools
  from collections import namedtuple, Counter, OrderedDict
  import spacy
  import numpy
label_desc: Use image node_id 9 for calling the BaseEncoder obj's underlying member method code with example usage: obj.encode_multi_input(Xs, max_length, remove_repeated_whitespace, include_bos_eos) and returns: EncodedOutput