consec-model-weights / src /scripts /data /pmi /test_coverage.py
Harsha909's picture
Upload 47 files
6dc7c27 verified
Raw
History Blame Contribute Delete
1.25 kB
import argparse
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser()
parser.add_argument("--raganato-path")
parser.add_argument("--vocabulary-path")
return parser.parse_args()
def compute_coverage(raganato_path: str, vocabulary_path: str) -> None:
with open(vocabulary_path) as f:
vocabulary = set()
for line in f:
vocabulary.add(line.strip())
total_counter = []
word_level_counter = dict()
for _, _, wsd_sentence in read_from_raganato(*expand_raganato_path(raganato_path)):
for wsd_instance in wsd_sentence:
if wsd_instance.text not in vocabulary:
total_counter.append(0)
word_level_counter[wsd_instance.text] = 0
else:
total_counter.append(1)
word_level_counter[wsd_instance.text] = 1
print(f"Instance level coverage: {sum(total_counter)/len(total_counter)*100:.2f}%")
print(f"Word level coverage: {sum(word_level_counter.values())/len(word_level_counter)*100:.2f}%")
def main():
args = parse_args()
compute_coverage(args.raganato_path, args.vocabulary_path)
if __name__ == "__main__":
main()