2020-04-16 21:17:19 +02:00
|
|
|
#zad1) zlicza liczbe linijek w pliku wikinews_results i zapisuje ten wynik do pliku lines_number.txt
|
|
|
|
wc -l wikiniews_results.tsv > lines_number.txt
|
|
|
|
|
|
|
|
#zad3)
|
|
|
|
|
|
|
|
cut -f2 wikiniews_results.tsv > hypothesis.txt
|
|
|
|
cut -f3 wikiniews_results.tsv > reference.txt
|
|
|
|
|
|
|
|
awk 'BEGIN{FS=OFS="\t"}{print $0,"(sp1_"NR")"}' < reference.txt > reference.trn
|
|
|
|
awk 'BEGIN{FS=OFS="\t"}{print $0,"(sp1_"NR")"}' < hypothesis.txt > hypothesis.trn
|
|
|
|
|
2020-04-21 15:05:54 +02:00
|
|
|
#W hypothesis.trn powinny znaleźć się wyniki działania ASR W reference.trn - referencyjne zdania
|
2020-04-24 00:24:42 +02:00
|
|
|
#Sclite sluzy do obliczenia WER. Kod ponizej z pkt 3.Metryki
|
2020-04-21 15:22:46 +02:00
|
|
|
sclite -f 0 -r reference.trn trn -h hypothesis.trn trn -e utf-8 -i rm -o all stdout | grep Scores > wyniki
|
2020-04-16 21:17:19 +02:00
|
|
|
|
2020-04-21 15:22:46 +02:00
|
|
|
#z wynikow pobiera (C,S,D,I), czyli 6,7,8,9 linie
|
|
|
|
#zeby potem wedlug wzoru (S+D+I)/(S+D+C), czyli linie (2+3+4)/(2+3+1) przeniesc do wer.tsv
|
|
|
|
awk 'BEGIN{OFS="\t"}{print $6, $7, $8, $9}' < wyniki | awk '{ print ($2 + $3 + $4)/($2 + $3 + $1) }' > wer.tsv
|
2020-04-21 15:13:09 +02:00
|
|
|
|
|
|
|
#WER dla każdego zdania dopisujemy w 5 kolumnie do pliku wejściowego
|
2020-04-16 21:17:19 +02:00
|
|
|
paste wikiniews_results.tsv wer.tsv > wikiniews_results_with_wer.tsv
|
|
|
|
|
2020-04-21 15:01:16 +02:00
|
|
|
#wer - procent niepoprawnie rozpoznanych wyrazów
|
2020-04-16 21:17:19 +02:00
|
|
|
awk 'BEGIN{FS=OFS="\t"}{ bad = bad + $1; all++ }END{ print bad/all }' < wer.tsv >> wer.txt
|
2020-04-21 15:01:16 +02:00
|
|
|
#srr - procent całkowicie poprawnie rozpoznanych zdań
|
2020-04-16 21:17:19 +02:00
|
|
|
awk 'BEGIN{FS=OFS="\t"}{ if ( $1 == 0 ) good++; all++ }END{ print good/all }' < wer.tsv >> srr.txt
|