class_docstr: Construct a BPE tokenizer for HerBERT.
  
  Peculiarities:
  
  - uses BERT's pre-tokenizer: BaseTokenizer splits tokens on spaces, and also on punctuation. Each occurrence of a
    punctuation character will be treated separately.
  
  - Such pretokenized input is BPE subtokenized
  
  This tokenizer inherits from [`XLMTokenizer`] which contains most of the methods. Users should refer to the
  superclass for more information regarding methods.
docstr: Create a mask from the two sequences passed to be used in a sequence-pair classification task. An XLM sequence
  pair mask has the following format:
  
  ```
  0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
  | first sequence    | second sequence |
  ```
  
  If `token_ids_1` is `None`, this method only returns the first portion of the mask (0s).
  
  Args:
      token_ids_0 (`List[int]`):
          List of IDs.
      token_ids_1 (`List[int]`, *optional*):
          Optional second list of IDs for sequence pairs.
  
  Returns:
      `List[int]`: List of [token type IDs](../glossary#token-type-ids) according to the given sequence(s).
docstr_tok: ["Create","a","mask","from","the","two","sequences","passed","to","be","used","in","a","sequence-pair","classification","task",".","An","XLM","sequence","pair","mask","has","the","following","format",":","``","`","0","0","0","0","0","0","0","0","0","0","0","1","1","1","1","1","1","1","1","1","|","first","sequence","|","second","sequence","|","``","`","If","`","token_ids_1","`","is","`","None","`",",","this","method","only","returns","the","first","portion","of","the","mask","(","0s",")",".","Args",":","token_ids_0","(","`","List","[","int","]","`",")",":","List","of","IDs",".","token_ids_1","(","`","List","[","int","]","`",",","*","optional","*",")",":","Optional","second","list","of","IDs","for","sequence","pairs",".","Returns",":","`","List","[","int","]","`",":","List","of","[","token","type","IDs","]","(","..","\/glossary","#","token-type-ids",")","according","to","the","given","sequence","(","s",")","."]
code: def create_token_type_ids_from_sequences(
      self,
      token_ids_0: List[int],
      token_ids_1: Optional[List[int]] = None,
  ) -> List[int]:
      """
      Create a mask from the two sequences passed to be used in a sequence-pair classification task. An XLM sequence
      pair mask has the following format:
  
      ```
      0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
      | first sequence    | second sequence |
      ```
  
      If `token_ids_1` is `None`, this method only returns the first portion of the mask (0s).
  
      Args:
          token_ids_0 (`List[int]`):
              List of IDs.
          token_ids_1 (`List[int]`, *optional*):
              Optional second list of IDs for sequence pairs.
  
      Returns:
          `List[int]`: List of [token type IDs](../glossary#token-type-ids) according to the given sequence(s).
      """
      sep = [self.sep_token_id]
      cls = [self.cls_token_id]
      if token_ids_1 is None:
          return len(cls + token_ids_0 + sep) * [0]
      return len(cls + token_ids_0 + sep) * [0] + len(
          token_ids_1 + sep
      ) * [1]
  
imports: import json
  import os
  import re
  import unicodedata
  from typing import List, Optional, Tuple
  from ...tokenization_utils import PreTrainedTokenizer, _is_control, _is_punctuation, _is_whitespace
  from ...utils import logging
label_desc: Use image node_id 16 for calling the HerbertTokenizer obj's underlying member method code with example usage: obj.create_token_type_ids_from_sequences(token_ids_0, token_ids_1) and returns: unknown, unknown