#!/bin/bash
# Creates basic tagger models.

set -euo pipefail

readonly OPTS=$(getopt                         \
                    --name "$(basename "$0")"  \
                    --options ""               \
                    --longoptions "data_path:" \
                    -- "$@")
eval set --${OPTS}
while [[ $# -gt 0 ]]; do
    case "$1" in
        --data_path)
            readonly DATA_PATH=$2
            shift 2
            ;;
        *)
            break
            ;;
    esac
done

readonly TAGGERS=("TnT" "Collins" "LAPOS" "Stanford" "NLP4J" "Flair")

train() {
    for TAGGER in ${TAGGERS[@]}; do
        echo "Tagger: $TAGGER"
        ./tagger.py --data_path="${DATA_PATH}" --tagger="${TAGGER}"
    done
}

evaluation() {
    ARGS=""
    for TAGGER in ${TAGGERS[@]}; do
        ARGS+=" ${DATA_PATH}/test.${TAGGER}.textproto"
    done
    ./evaluate.py \
        "--train=${DATA_PATH}/train.textproto" \
        "--gold=${DATA_PATH}/test.textproto" \
        ${ARGS}
}

main() {
    evaluation
}

main
