Text this: Biological-based semi-supervised clustering algorithm to improve gene function prediction