class_docstr: **XNLI Chinese** 数据集的 **Loader** ，该数据取自 https://arxiv.org/abs/1809.05053 ，在 https://arxiv.org/pdf/1905.05526.pdf
  、 https://arxiv.org/pdf/1901.10125.pdf 和 https://arxiv.org/pdf/1809.05053.pdf 有使用。
  
  该数据集为中文句对 NLI（本为 ``multi-lingual`` 的数据集，但是这里只取了中文的数据集）。原句子已被
  ``MOSES tokenizer`` 处理，这里我们将其还原并重新按字 tokenize 。原始数据为::
  
      premise hypo    label
      我们 家里 有 一个 但 我 没 找到 我 可以 用 的 时间 我们 家里 有 一个 但 我 从来 没有 时间 使用 它 .  entailment
  
  验证集和测试集中的数据为 csv 或 json 格式，这里只取以上三个 field 中的数据。
  读取的 :class:`~fastNLP.core.DataSet` 将具备以下的数据结构：
  
  .. csv-table::
     :header: "raw_chars1", "raw_chars2", "target"
     
     "我们 家里 有 一个 但 我 没 找到 我 可以 用 的 时间", "我们 家里 有 一个 但 我 从来 没有 时间 使用 它 .", "0"
     "...", "...", "..."
code: def _load(self, path: str = None):
      ds_all = DataSet()
      with open(path, "r", encoding="utf-8") as f:
          head_name_list = f.readline().strip().split("\t")
          sentence1_index = head_name_list.index("sentence1")
          sentence2_index = head_name_list.index("sentence2")
          gold_label_index = head_name_list.index("gold_label")
          language_index = head_name_list.index(("language"))
  
          for line in f:
              line = line.strip()
              raw_instance = line.split("\t")
              sentence1 = raw_instance[sentence1_index]
              sentence2 = raw_instance[sentence2_index]
              gold_label = raw_instance[gold_label_index]
              language = raw_instance[language_index]
              if sentence1:
                  ds_all.append(
                      Instance(
                          sentence1=sentence1,
                          sentence2=sentence2,
                          gold_label=gold_label,
                          language=language,
                      )
                  )
  
      ds_zh = DataSet()
      for i in ds_all:
          if i["language"] == "zh":
              ds_zh.append(
                  Instance(
                      raw_chars1=i["sentence1"],
                      raw_chars2=i["sentence2"],
                      target=i["gold_label"],
                  )
              )
  
      return ds_zh
  
imports: import os
  from typing import Union, Dict
  from .csv import CSVLoader
  from .json import JsonLoader
  from .loader import Loader
  from fastNLP.io.data_bundle import DataBundle
  from ..utils import check_loader_paths
  from fastNLP.core.dataset import DataSet, Instance
  from fastNLP.core.log import logger
label_desc: Use image node_id 2 for calling the CNXNLILoader obj's underlying member method code with example usage: obj._load(path) and returns: ds_zh