SemRec: A Semantic Enhancement Framework for Tag Based Recommendation