#!/bin/bash [ $# -ge 1 ] || { echo "Usage $0 server" >&2; exit 1; } server="$1" for dataset in pdt-a pdt-m pcedt-m pdtsc-m faust-m; do gold=../pdtc-1.0/pdtc-1.0-$dataset/pdtc-1.0-$dataset-test.conllu [ -f ${gold%.conllu}.paragraphs.conllu ] && gold=${gold%.conllu}.paragraphs.conllu for mode in raw_text gold_tok; do case $mode in raw_text) perl ../ud-2.12/conllu_to_text.pl $gold >tmp.txt; data="-F data=@tmp.txt -F tokenizer=";; gold_tok) data="-F data=@$gold -F input=conllu";; esac curl $data -F tagger= -F parser= $server/process | jq -j .result >tmp.conllu for eval in exact-match lemmaid-match; do case $eval in exact-match) process_conllu="cat";; lemmaid-match) process_conllu="python3 strip_lemma_info.py";; esac echo $dataset $mode $eval $(python3 ../udpipe2_eval.py --no_single_root --verbose <($process_conllu $gold) <($process_conllu tmp.conllu) | tail -n+3 | awk 'BEGIN{ORS=" "}{print $1 ":" $7}') done done done | sh evaluation_merge_em.sh rm tmp.txt tmp.conllu