This commit is contained in:
Diana-Krol 2020-04-21 20:33:20 +02:00
parent 2c6424ef3d
commit 4ad2418717

View File

@ -1,4 +1,4 @@
# zliczenie liczby linijekw pliku wikinews i zapisanie do lines_number.txt # zliczenie liczby linijek w pliku wikinews i zapisanie do lines_number.txt
wc -l wikiniews_results.tsv > lines_number.txt wc -l wikiniews_results.tsv > lines_number.txt
#utworzenie plików hypothesis i reference #utworzenie plików hypothesis i reference
@ -7,26 +7,25 @@ cut -f2 wikiniews_results.tsv > hypothesis.txt
#wycięcie trzeciej kolumnu (referencje - poprawne zdania) #wycięcie trzeciej kolumnu (referencje - poprawne zdania)
cut -f3 wikiniews_results.tsv > reference.txt cut -f3 wikiniews_results.tsv > reference.txt
#przekształcenie plików txt na trn #przekształcenie plików txt na trn przy użyciu programu Sclite (służy on do obliczania WER)
awk 'BEGIN{FS=OFS="\t"}{print $0,"(sp1_"NR")"}' < reference.txt > reference.trn 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 awk 'BEGIN{FS=OFS="\t"}{print $0,"(sp1_"NR")"}' < hypothesis.txt > hypothesis.trn
#przenieś i zapisz 50 obserwacji
mv wer.txt wer1.txt
mv srr.txt srr1.txt
#wyświetlanie i zapisywanie #wywołanie sclite; grep szuka napisu Scores w raporcie stworzonym przez sclite i zapisuje do zmiennej scores
cat wer1.txt | tail -n 49 > wer.txt #szukamy w tym raporcie wyrażenia wyniki i zapisujemy do zmienej scores.
cat srr1.txt | tail -n 49 > srr.txt
#wywołanie sclite #stary plik + współczynniki na końcu każdej kolumny
sclite -f 0 -r reference.trn trn -h hypothesis.trn trn -e utf-8 -i rm -o all stdout | grep Scores > scores sclite -f 0 -r reference.trn trn -h hypothesis.trn trn -e utf-8 -i rm -o all stdout | grep Scores > scores
#hyphothesis - wyniki działania ARS
#reference - referencyjne zdania
#procentowe niepoprawne rozpoznawanie wyrazów - obliczanie WER
awk 'BEGIN{OFS="\t"}{print $6, $7, $8, $9}' < scores | awk '{ print ($2 + $3 + $4)/($2 + $3 + $1) }' > wer.tsv awk 'BEGIN{OFS="\t"}{print $6, $7, $8, $9}' < scores | awk '{ print ($2 + $3 + $4)/($2 + $3 + $1) }' > wer.tsv
#zapisanie WER do 5 kolumny
paste wikiniews_results.tsv wer.tsv > wikiniews_results_with_wer.tsv paste wikiniews_results.tsv wer.tsv > wikiniews_results_with_wer.tsv
#zliczamy całkowity współczynnik (średnią) dla wszystkich i zapisujemy do wer.txt
awk 'BEGIN{FS=OFS="\t"}{ bad = bad + $1; all++ }END{ print bad/all }' < wer.tsv >> wer.txt awk 'BEGIN{FS=OFS="\t"}{ bad = bad + $1; all++ }END{ print bad/all }' < wer.tsv >> wer.txt
#liczymy SRR
#Jeśli pierwsza kolumna jest równa zero, to zliczamy liczbę dobrych i dzielimy przez liczbę wszystkich
awk 'BEGIN{FS=OFS="\t"}{ if ( $1 == 0 ) good++; all++ }END{ print good/all }' < wer.tsv >> srr.txt awk 'BEGIN{FS=OFS="\t"}{ if ( $1 == 0 ) good++; all++ }END{ print good/all }' < wer.tsv >> srr.txt