I can extend the documentation a bit, but when a neural net language model has order N if it uses a context of size N - 1 to score the target word. Changing line 50 to `ngram_size + 1` would mean that in order to train a LM of order N you would need to pass N - 1 to the dataset, which might be a bit confusing.