Does it ever make sense to use a different alpha/beta from the training (I don't think so)?  If not, it would be great to enforce that here somehow.  Are these alpha/beta parameters in the LDA model file in a way we could easily parse them out?  If not, perhaps we could enforce a naming convention for the trained model files where the values need to be embedded in the file name and they are parsed out before constructing the C++ object.