NLP: new scoring factors
NLP: minor addition
NLP: complete definition of BM25