text: #coding:utf-8
  #   Copyright (c) 2019  PaddlePaddle Authors. All Rights Reserved.
  #
  # Licensed under the Apache License, Version 2.0 (the "License"
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  
  
  class InputExample(object):
      """
      Input data structure of BERT/ERNIE, can satisfy single sequence task like
      text classification, sequence lableing; Sequence pair task like dialog
      task.
      """
  
      def __init__(self, guid, text_a, text_b=None, label=None):
          """Constructs a InputExample.
      Args:
        guid: Unique id for the example.
        text_a: string. The untokenized text of the first sequence. For single
          sequence tasks, only this sequence must be specified.
        text_b: (Optional) string. The untokenized text of the second sequence.
          Only must be specified for sequence pair tasks.
        label: (Optional) string. The label of the example. This should be
          specified for train and dev examples, but not for test examples.
      """
          self.guid = guid
          self.text_a = text_a
          self.text_b = text_b
          self.label = label
  
      def __str__(self):
          if self.text_b is None:
              return "text={}\tlabel={}".format(self.text_a, self.label)
          else:
              return "text_a={}\ttext_b{},label={}".format(
                  self.text_a, self.text_b, label)
  
  
  class HubDataset(object):
      def get_train_examples(self):
          raise NotImplementedError()
  
      def get_dev_examples(self):
          raise NotImplementedError()
  
      def get_test_examples(self):
          raise NotImplementedError()
  
      def get_val_examples(self):
          return self.get_dev_examples()
  
      def get_labels(self):
          raise NotImplementedError()
  
      def num_labels(self):
          raise NotImplementedError()
  