It uses any of the techniques described below. On the other hand, the user himself can fill-out profile or preference files that might already represent the user model or can be indirectly used for user modeling. This means that not all the knowledge that is represented within the model needs to be specified beforehand, but that it is sufficient to know some characteristics of the user out of which to derive others from. Each stereotype is then a set of certain characteristics that continuously appear together. Error libraries are especially applicable in domains where the majority of appearing user errors lead back to a limited number of error types.
Inferences are mostly heuristics as well, which are used to build assumptions on the user.
In contrast to primary acquisition heuristics, inferences are based on formerly built assumptions instead of on the direct interaction with the user, thus being extremely domain-dependent and requiring to be formally represented in an appropriate scheme in the form of inference rules. The development and implementation of user-modeling components for application purposes is extremely time consuming. Primary assumptions on the user usually need to be provided by the application system due to their strict domain dependency. Task modeling deals with the problem of finding out the goals of users at the interface to an application system. This is extremely hard to achieve, since often the users do not work towards a certain goal to achieve - except the one to fulfill their proper application task.