class_docstr: https://worksheets.codalab.org/worksheets/0x27203f932f8341b79841d50ce0fd684f/
  
  This dataset is released by the Evaluation of Chinese Human-Computer Dialogue Technology (SMP2018-ECDT)
  task 1 and is provided by the iFLYTEK Corporation, which is a Chinese human-computer dialogue dataset.
  
  Sample::
  
            label           query
      0   weather        今天东莞天气如何
      1       map  从观音桥到重庆市图书馆怎么走
      2  cookbook          鸭蛋怎么腌？
      3    health         怎么治疗牛皮癣
      4      chat             唠什么
  
  Example:
      >>> from kashgari.corpus import SMP2018ECDTCorpus
      >>> train_x, train_y = SMP2018ECDTCorpus.load_data('train')
      >>> test_x, test_y = SMP2018ECDTCorpus.load_data('test')
      >>> valid_x, valid_y = SMP2018ECDTCorpus.load_data('valid')
      >>> print(train_x)
      [['听', '新', '闻', '。'], ['电', '视', '台', '在', '播', '什', '么'], ...]
      >>> print(train_y)
      ['news', 'epg', ...]
class_docstr_tok: ["https",":","\/\/worksheets.codalab.org\/worksheets\/0x27203f932f8341b79841d50ce0fd684f\/","This","dataset","is","released","by","the","Evaluation","of","Chinese","Human-Computer","Dialogue","Technology","(","SMP2018-ECDT",")","task","1","and","is","provided","by","the","iFLYTEK","Corporation",",","which","is","a","Chinese","human-computer","dialogue","dataset",".","Sample",":",":","label","query","0","weather","\u4eca\u5929\u4e1c\u839e\u5929\u6c14\u5982\u4f55","1","map","\u4ece\u89c2\u97f3\u6865\u5230\u91cd\u5e86\u5e02\u56fe\u4e66\u9986\u600e\u4e48\u8d70","2","cookbook","\u9e2d\u86cb\u600e\u4e48\u814c\uff1f","3","health","\u600e\u4e48\u6cbb\u7597\u725b\u76ae\u7663","4","chat","\u5520\u4ec0\u4e48","Example",":",">",">",">","from","kashgari.corpus","import","SMP2018ECDTCorpus",">",">",">","train_x",",","train_y","=","SMP2018ECDTCorpus.load_data","(","'train","'",")",">",">",">","test_x",",","test_y","=","SMP2018ECDTCorpus.load_data","(","'test","'",")",">",">",">","valid_x",",","valid_y","=","SMP2018ECDTCorpus.load_data","(","'valid","'",")",">",">",">","print","(","train_x",")","[","[","'","\u542c","'",",","'","\u65b0","'",",","'","\u95fb","'",",","'\u3002","'","]",",","[","'","\u7535","'",",","'","\u89c6","'",",","'","\u53f0","'",",","'","\u5728","'",",","'","\u64ad","'",",","'","\u4ec0","'",",","'","\u4e48","'","]",",","...","]",">",">",">","print","(","train_y",")","[","'news","'",",","'epg","'",",","...","]"]
docstr: Load dataset as sequence classification format, char level tokenized
  
  Args:
      subset_name: {train, test, valid}
      shuffle: should shuffle or not, default True.
      cutter: sentence cutter, {char, jieba}
  
  Returns:
      dataset_features and dataset labels
docstr_tok: ["Load","dataset","as","sequence","classification","format",",","char","level","tokenized","Args",":","subset_name",":","{","train",",","test",",","valid","}","shuffle",":","should","shuffle","or","not",",","default","True",".","cutter",":","sentence","cutter",",","{","char",",","jieba","}","Returns",":","dataset_features","and","dataset","labels"]
code: def load_data(
      cls,
      subset_name: str = "train",
      shuffle: bool = True,
      cutter: str = "char",
  ) -> Tuple[List[List[str]], List[str]]:
      """
      Load dataset as sequence classification format, char level tokenized
  
      Args:
          subset_name: {train, test, valid}
          shuffle: should shuffle or not, default True.
          cutter: sentence cutter, {char, jieba}
  
      Returns:
          dataset_features and dataset labels
  
      """
  
      corpus_path = get_file(
          cls.__corpus_name__,
          cls.__zip_file__name,
          cache_dir=K.DATA_PATH,
          untar=True,
      )
  
      if cutter not in ["char", "jieba", "none"]:
          raise ValueError(
              "cutter error, please use one onf the {char, jieba}"
          )
  
      df_path = os.path.join(corpus_path, f"{subset_name}.csv")
      df = pd.read_csv(df_path)
      if cutter == "jieba":
          try:
              import jieba
          except ModuleNotFoundError:
              raise ModuleNotFoundError(
                  "please install jieba, `$ pip install jieba`"
              )
          x_data = [
              list(jieba.cut(item)) for item in df["query"].to_list()
          ]
      elif cutter == "char":
          x_data = [list(item) for item in df["query"].to_list()]
      y_data = df["label"].to_list()
  
      if shuffle:
          x_data, y_data = utils.unison_shuffled_copies(x_data, y_data)
      logger.debug(
          f"loaded {len(x_data)} samples from {df_path}. Sample:\n"
          f"x[0]: {x_data[0]}\n"
          f"y[0]: {y_data[0]}"
      )
      return x_data, y_data
  
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 for calling the SMP2018ECDTCorpus obj's underlying member method code with example usage: obj.load_data(cls, subset_name, shuffle, cutter) and returns: x_data,  y_data