danieldux commited on
Commit
57da4b3
1 Parent(s): 7375cc5

Add ISCO hierarchy download and creation

Browse files
Files changed (1) hide show
  1. metric_template_1.py +16 -2
metric_template_1.py CHANGED
@@ -16,6 +16,8 @@
16
  import evaluate
17
  import datasets
18
  import ham
 
 
19
 
20
 
21
  # TODO: Add BibTeX citation
@@ -56,6 +58,9 @@ Examples:
56
 
57
  # TODO: Define external resources urls if needed
58
  BAD_WORDS_URL = "http://url/to/external/resource/bad_words.txt"
 
 
 
59
 
60
 
61
  @evaluate.utils.file_utils.add_start_docstrings(_DESCRIPTION, _KWARGS_DESCRIPTION)
@@ -87,7 +92,15 @@ class MetricTemplate1(evaluate.Metric):
87
  def _download_and_prepare(self, dl_manager):
88
  """Optional: download external resources useful to compute the scores"""
89
  # TODO: Download external resources if needed
90
- pass
 
 
 
 
 
 
 
 
91
 
92
  def _compute(self, predictions, references):
93
  """Returns the scores"""
@@ -103,9 +116,10 @@ class MetricTemplate1(evaluate.Metric):
103
  )
104
 
105
  # Example usage:
106
- hierarchy = {"G": ["E"], "E": ["B"], "F": ["C"], "C": ["B"], "B": []}
107
  # true_labels = [{'G'}]
108
  # predicted_labels = [{'F'}]
 
109
  hP, hR = ham.hierarchical_precision_recall(references, predictions, hierarchy)
110
  hF = ham.hierarchical_f_measure(hP, hR)
111
  print(
 
16
  import evaluate
17
  import datasets
18
  import ham
19
+ import os
20
+ import isco
21
 
22
 
23
  # TODO: Add BibTeX citation
 
58
 
59
  # TODO: Define external resources urls if needed
60
  BAD_WORDS_URL = "http://url/to/external/resource/bad_words.txt"
61
+ ISCO_HIERARCHY_URL = (
62
+ "https://storage.googleapis.com/isco-public/tables/ISCO_structure.csv"
63
+ )
64
 
65
 
66
  @evaluate.utils.file_utils.add_start_docstrings(_DESCRIPTION, _KWARGS_DESCRIPTION)
 
92
  def _download_and_prepare(self, dl_manager):
93
  """Optional: download external resources useful to compute the scores"""
94
  # TODO: Download external resources if needed
95
+
96
+ # Download and prepare the ISCO structure csv file
97
+ isco_csv = dl_manager.download_and_extract(ISCO_HIERARCHY_URL)
98
+ print(f"ISCO CSV file downloaded")
99
+ self.isco_hierarchy = isco.create_hierarchy(
100
+ os.path.join(isco_csv, "isco_structure.csv")
101
+ )
102
+ print("ISCO hierarchy created")
103
+ print(self.isco_hierarchy)
104
 
105
  def _compute(self, predictions, references):
106
  """Returns the scores"""
 
116
  )
117
 
118
  # Example usage:
119
+ # hierarchy = {"G": ["E"], "E": ["B"], "F": ["C"], "C": ["B"], "B": []}
120
  # true_labels = [{'G'}]
121
  # predicted_labels = [{'F'}]
122
+ hierarchy = self.isco_hierarchy
123
  hP, hR = ham.hierarchical_precision_recall(references, predictions, hierarchy)
124
  hF = ham.hierarchical_f_measure(hP, hR)
125
  print(