class_docstr: Kaggle Toxic Comment Classification Challenge corpus
  
  You need to download corpus from https://www.kaggle.com/c/jigsaw-toxic-comment-classification-challenge/overview
  to a folder. Then init a JigsawToxicCommentCorpus object with `train.csv` path.
  
  Examples:
  
      >>> from kashgari.corpus import JigsawToxicCommentCorpus
      >>> corpus = JigsawToxicCommentCorpus('<train.csv file-path>')
      >>> train_x, train_y = corpus.load_data('train')
      >>> test_x, test_y = corpus.load_data('test')
      >>> print(train_x)
      [['Please', 'stop', 'being', 'a', 'penis—', 'and', 'Grow', 'Up', 'Regards-'], ...]
      >>> print(train_y)
      [['obscene', 'insult'], ...]
class_docstr_tok: ["Kaggle","Toxic","Comment","Classification","Challenge","corpus","You","need","to","download","corpus","from","https",":","\/\/www.kaggle.com\/c\/jigsaw-toxic-comment-classification-challenge\/overview","to","a","folder",".","Then","init","a","JigsawToxicCommentCorpus","object","with","`","train.csv","`","path",".","Examples",":",">",">",">","from","kashgari.corpus","import","JigsawToxicCommentCorpus",">",">",">","corpus","=","JigsawToxicCommentCorpus","(","'","<","train.csv","file-path",">","'",")",">",">",">","train_x",",","train_y","=","corpus.load_data","(","'train","'",")",">",">",">","test_x",",","test_y","=","corpus.load_data","(","'test","'",")",">",">",">","print","(","train_x",")","[","[","'Please","'",",","'stop","'",",","'being","'",",","'","a","'",",","'penis\u2014","'",",","'and","'",",","'Grow","'",",","'Up","'",",","'Regards-","'","]",",","...","]",">",">",">","print","(","train_y",")","[","[","'obscene","'",",","'insult","'","]",",","...","]"]
code: def __init__(
      self,
      corpus_train_csv_path: str,
      sample_count: int = None,
      tokenizer: Tokenizer = None,
  ) -> None:
      self.file_path = corpus_train_csv_path
      self.train_ids = []
      self.test_ids = []
      self.valid_ids = []
  
      self.tokenizer: Tokenizer
      if tokenizer is None:
          self.tokenizer = BertTokenizer()
      else:
          self.tokenizer = tokenizer
  
      if sample_count is None:
          df = pd.read_csv(self.file_path)
          sample_count = len(df)
          del df
      self.sample_count = sample_count
  
      for i in range(self.sample_count):
          prob = np.random.random()
          if prob <= 0.7:
              self.train_ids.append(i)
          elif prob <= 0.85:
              self.test_ids.append(i)
          else:
              self.valid_ids.append(i)
  
imports: import os
  from typing import List
  from typing import Tuple
  import numpy
  import pandas
  from tensorflow.keras.utils import get_file
  from kashgari import macros
  from kashgari import utils
  from kashgari.logger import logger
  from kashgari.tokenizers.base_tokenizer import Tokenizer
  from kashgari.tokenizers.bert_tokenizer import BertTokenizer
label_desc: Use image node_id 1 to create a new JigsawToxicCommentCorpus object  with example: obj = JigsawToxicCommentCorpus(corpus_train_csv_path, sample_count, tokenizer)