docstr: SemEval-2010 Task 8 on Multi-Way Classification of Semantic Relations Between Pairs of Nominals.
  
  see https://aclanthology.org/S10-1006.pdf
docstr_tok: ["SemEval-2010","Task","8","on","Multi-Way","Classification","of","Semantic","Relations","Between","Pairs","of","Nominals",".","see","https",":","\/\/aclanthology.org\/S10-1006.pdf"]
code: def __init__(
      self,
      base_path: Optional[Union[str, Path]] = None,
      in_memory: bool = True,
      augment_train: bool = False,
      **corpusargs,
  ) -> None:
      """SemEval-2010 Task 8 on Multi-Way Classification of Semantic Relations Between Pairs of Nominals.
  
      see https://aclanthology.org/S10-1006.pdf
      """
      base_path = (
          flair.cache_root / "datasets"
          if not base_path
          else Path(base_path)
      )
  
      # this dataset name
      dataset_name = self.__class__.__name__.lower()
  
      data_folder = base_path / dataset_name
  
      # download data if necessary
      semeval_2010_task_8_url = "https://drive.google.com/uc?id=0B_jQiLugGTAkMDQ5ZjZiMTUtMzQ1Yy00YWNmLWJlZDYtOWY1ZDMwY2U4YjFk"
      train_file_name = (
          "semeval2010-task8-train-aug.conllu"
          if augment_train
          else "semeval2010-task8-train.conllu"
      )
      data_file = data_folder / train_file_name
  
      # if True:
      if not data_file.is_file():
          source_data_folder = data_folder / "original"
          source_data_file = (
              source_data_folder / "SemEval2010_task8_all_data.zip"
          )
          os.makedirs(source_data_folder, exist_ok=True)
          gdown.download(semeval_2010_task_8_url, str(source_data_file))
          self.extract_and_convert_to_conllu(
              data_file=source_data_file,
              data_folder=data_folder,
              augment_train=augment_train,
          )
  
      super().__init__(
          data_folder,
          train_file=train_file_name,
          test_file="semeval2010-task8-test.conllu",
          column_format={1: "text", 2: "ner"},
          comment_symbol="# ",
          in_memory=in_memory,
          **corpusargs,
      )
  
imports: import bisect
  import io
  import json
  import logging
  import os
  import re
  from collections import defaultdict
  from pathlib import Path
  from typing import Any, Dict, Iterable, List, Optional, Set, Tuple, Union
  import conllu
  import gdown
  from conllu.models import Metadata, Token
  import flair
  from flair.data import Sentence
  from flair.datasets.sequence_labeling import ColumnCorpus
  from flair.file_utils import cached_path
  from flair.splitter import SegtokSentenceSplitter, SentenceSplitter
label_desc: Use image node_id 1 to create a new RE_ENGLISH_SEMEVAL2010 object from inherited base classes: ColumnCorpus with example: obj = RE_ENGLISH_SEMEVAL2010(base_path, in_memory, augment_train)