Socializing the Semantic Gap: A Comparative Survey on Image Tag Assignment, Refinement and Retrieval