class_docstr: **MNLI** 数据集的 **Loader**，如果您使用了这个数据，请引用
  
      https://www.nyu.edu/projects/bowman/multinli/paper.pdf
  
  读取的数据格式为::
  
      index   promptID        pairID  genre   sentence1_binary_parse  sentence2_binary_parse  sentence1_parse sentence2_parse sentence1       sentence2       label1  gold_label
      0       31193   31193n  government      ( ( Conceptually ( cream skimming ) ) ...
      1       101457  101457e telephone       ( you ( ( know ( during ( ( ( the season ) and ) ( i guess ) ) )...
      ...
  
  读取之后的 :class:`~fastNLP.core.DataSet` 中包含以下的内容： ``raw_words`` 是 ``sentence1`` ， ``raw_words2`` 是 ``sentence2`` ，
  ``target`` 是 ``gold_label``。测试集中没有 ``target`` 列。
  
  .. csv-table::
     :header: "raw_words1", "raw_words2", "target"
  
     "Conceptually cream ...", "Product and geography...", "neutral"
     "you know during the ...", "You lose the things to the...", "entailment"
     "...", "...", "..."
code: def _load(self, path: str):
      ds = DataSet()
      with open(path, "r", encoding="utf-8") as f:
          f.readline()  # 跳过header
          if path.endswith("test_matched.tsv") or path.endswith(
              "test_mismatched.tsv"
          ):
              logger.warning("MNLI's test file has no target.")
              for line in f:
                  line = line.strip()
                  if line:
                      parts = line.split("\t")
                      raw_words1 = parts[8]
                      raw_words2 = parts[9]
                      idx = int(parts[0])
                      if raw_words1 and raw_words2:
                          ds.append(
                              Instance(
                                  raw_words1=raw_words1,
                                  raw_words2=raw_words2,
                                  index=idx,
                              )
                          )
          else:
              for line in f:
                  line = line.strip()
                  if line:
                      parts = line.split("\t")
                      raw_words1 = parts[8]
                      raw_words2 = parts[9]
                      target = parts[-1]
                      idx = int(parts[0])
                      if raw_words1 and raw_words2 and target:
                          ds.append(
                              Instance(
                                  raw_words1=raw_words1,
                                  raw_words2=raw_words2,
                                  target=target,
                                  index=idx,
                              )
                          )
      return ds
  
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 MNLILoader obj's underlying member method code with example usage: obj._load(path) and returns: ds