Linux-2018-spring-run3.sh
home=$HOME datap=$home/data/ctb7/ctb7-stanford-3.4 origtrain=$datap/train.lt100.shuf.crfpos-fltd-0.01-10-fold.conll dev=$datap/dev.crfpos-fltd-0.01.conll
test=test.conll out=test.partial-out.conll train2=train2.partial-anno.conll filelist=files.txt
info="basic" ratio=0.2
perlp="perl $home/perl-scripts" parser="../../src-r26/gdp-r ../config.txt"
range=("1000" "2000" "4000" "8000" "16000" "24000" "32000" "40000" "47000") iter=("30" "30" "30" "40" "60" "80" "100" "120" "150") thread=("10" "10" "10" "10" "15" "15" "15" "15" "20") num=${#range[@]}
for (( i=0; i<$num; i=i+1 )); do this=${range[$i]} mkdir -p $this cd $this
train=../1000/train.conll
if [ $i -ne 0 ]; then fcut=5 usetrain2=1 else fcut=0 usetrain2=0 $perlp/extract-sents-from-conll-file.pl -i $origtrain -s 0:1000 -a $train >> log.extract 2>&1 fi
if [ $i -ne 0 ]; then echo "" > $filelist prev=${range[$i-1]} if [ $i -gt 1 ]; then echo "../$prev/$train2" >> $filelist fi echo "../$prev/$out" >> $filelist $perlp/merge-conll-files.pl -l $filelist -o $train2 >> log.merge-train2 2>&1
iternum=${iter[$i]} $parser $info-$this-$ratio --train=1 --test=0 --fcutoff=$fcut --use-train-2=$usetrain2 --iter-num=$iternum --dictionary-exist=0 --train-file=$train --train-file-2=$train2 --dev-file=$dev > log.create-m 2>&1 $parser $info-$this-$ratio --train=1 --test=0 --fcutoff=$fcut --use-train-2=$usetrain2 --iter-num=$iternum --dictionary-exist=1 --train-file=$train --train-file-2=$train2 --dev-file=$dev > log.train 2>&1 fi
last=$(($num-1)) if [ $i -ne $last ]; then next=${range[$i+1]} $perlp/extract-sents-from-conll-file.pl -i $origtrain -s $this:$next -a $test >> log.extract 2>&1 param=$(ls param*gz | egrep '[0-9]+' -o) $parser $info-$this-$ratio --train=0 --test=1 --fcutoff=$fcut --test-partial-annotation=1 --test-partial-annotation-ratio=$ratio --inst-max-num-eval=-1 --inst-max-len-to-throw=5000 --test-file=$test --output-file=$out --param-num-for-eval=$param > log.test-$param 2>&1 fi
cd .. done