Steps:
1) sentence spliting into lines;
2) not sure whether need to do stop-words removal and stemming; 
3) run: ngram-count -text train.data -order X -lm train.lm -interpolate -kndiscount (or -wbdiscount);
4) run: ngram -ppl test.data -order X -lm train.lm -debug 1 > ppl_output.txt

------------
Notes:
-kndiscount: modified Kneser-Ney discounting
-wbdiscount: Witten-Bell discounting, good in short text;
 Jelinek-Mercer smoothing