1. A computer implemented method in a data processing system for automatically increasing the quality of content provided to a user, the computer implemented method comprising computer implemented steps of: determining communities of practice a user is associated with based on login data received from the user to start a particular task; retrieving a corresponding set of tags for each of the communities of practice determined to be associated with the user based on the login data received; aggregating all corresponding sets of tags for the communities of practice determined to be associated with the user to define a role for the user in the particular task; retrieving a personal set of tags associated with the user for the particular task; adding the personal set of tags associated with the user for the particular task to the aggregate of all corresponding sets of tags for the communities of practice determined to be associated with the user to create a new set of tags representing the user in the role in the particular task; recording a context of the user in the particular task in a data structure in a storage device; filtering the new set of tags representing the user in the role in the particular task based on the context to create a sub-set of tags representing the user in the role in the context of performing the particular task; querying a defined number of tag aware information sources using the sub-set of tags representing the user in the role in the context of performing the particular task; receiving content from the defined number of tag aware information sources based on the query using the sub-set of tags representing the user in the role in the context of performing the particular task; and outputting the content received from the defined number of tag aware information sources on an output device for use by the user in the role in the context of performing the particular task.