Tag - learning algorithm