1. A method of categorizing a user, the method comprising: monitoring a user's usage of one or more marked graphical user interface (GUI) features of an application; classifying a length of one or more of a user's application sessions; generating one or more user-specific ontologies for the user in accordance with the user's monitored usage, wherein a user-specific ontology is represented by a graph including one or more edges connected to one or more vertices, wherein each vertex of the one or more vertices corresponds to a GUI feature selected by the user interacting with the application, and each edge of the one or more edges corresponds to a sequence of the GUI features by the user, wherein the generating includes for each classified length, determining whether a user-specific ontology exists for the respective classified length of the session for the user, wherein in response to a determination that the user-specific ontology exists for the respective classified length of the session, the generating further includes appending the user's monitored usage to the existing user-specific ontology for the classified length of the session, and in response to a determination that the user-specific ontology does not exist for the respective classified length of the session, the generating further includes generating a user-specific ontology for the classified length of the session; comparing the one or more user-specific ontologies with a plurality of defined ontologies, each defined ontology corresponding to a category of a plurality of categories; and categorizing the user in accordance with the comparison of the one or more user-specific ontologies and the plurality of defined ontologies.