Last active
May 19, 2024 05:11
-
-
Save ymoslem/f1783b566b3a17b4107a34198daee6a6 to your computer and use it in GitHub Desktop.
Compute WER score for each sentence
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Sentence WER | |
# WER for segment by segment with arguments | |
# Run this file from CMD/Terminal | |
# Example Command: python3 sentence-wer.py test_file_name.txt mt_file_name.txt | |
import sys | |
from jiwer import wer | |
target_test = sys.argv[1] # Test file argument | |
target_pred = sys.argv[2] # MTed file argument | |
# Open the test dataset human translation file | |
with open(target_test) as test: | |
refs = test.readlines() | |
# Open the translation file by the NMT model | |
with open(target_pred) as pred: | |
preds = pred.readlines() | |
wer_file = "wer-" + target_pred + ".txt" | |
# Calculate WER for sentence by sentence and save the result to a file | |
with open(wer_file, "w+") as output: | |
for line in zip(refs, preds): | |
test = line[0] | |
pred = line[1] | |
# print(test, pred) | |
wer_score = wer(test, pred) | |
# print(wer_score, "\n") | |
output.write(str(wer_score) + "\n") | |
print("Done! Please check the WER file '" + wer_file + "' in the same folder!") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment