awasthiabhijeet / PIE

Fast + Non-Autoregressive Grammatical Error Correction using BERT. Code and Pre-trained models for paper "Parallel Iterative Edit Models for Local Sequence Transduction": www.aclweb.org/anthology/D19-1435.pdf (EMNLP-IJCNLP 2019)
MIT License
227 stars 40 forks source link

Small bug in errorify/error.py #23

Open kevin-parnow opened 4 years ago

kevin-parnow commented 4 years ago

Hi, first of all, thank you for releasing your code.

I just found a small bug in errorify/error.py - in the function readn at line 53, the extra "yield clist" outside the for loop will yield a duplicate batch if the number of lines in the file is divisible by the batch size.

(so for a source file of 1,000 lines with batch size 200, corr_sentences.txt and incorr_sentences.txt would have 1,200 lines).

A simple fix is removing the boolean "start" checks and setting "clist = []" after every "yield clist" in the for loop, so if the number of lines in the file is divisible by the batch size, the yield outside of the loop will just return an empty list.