add estimator based on tf-idf method
fix some bugs, and add the last half in lm.cpp