| #!/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 |
|
|