File size: 1,100 Bytes
6dc7c27 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import collections
from typing import List
import argparse
from src.utils.wsd import read_from_raganato, expand_raganato_path
def compute_sense_count(raganato_paths: List[str], output_path: str) -> None:
sense_counter = collections.Counter()
for rag_path in raganato_paths:
for _, _, wsd_sentence in read_from_raganato(*expand_raganato_path(rag_path)):
for wsd_instance in wsd_sentence:
if wsd_instance.labels is None:
continue
sense_counter.update(wsd_instance.labels)
with open(output_path, "w") as f:
for sense, count in sense_counter.items():
f.write(f"{sense}\t{count}\n")
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser()
parser.add_argument("--raganato-paths", nargs="+", required=True)
parser.add_argument("--output-path", required=True)
return parser.parse_args()
def main():
args = parse_args()
compute_sense_count(args.raganato_paths, args.output_path)
if __name__ == "__main__":
main()
|