11. A system for categorizing a user, the system comprising: a monitor that monitors a user's usage of one or more marked GUI features of an application; a hardware memory that stores a plurality of defined ontologies; an ontology generator that generates 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 selected by the user, wherein the ontology generator classifies a length of one or more of a user's application sessions, wherein for each classified length, the ontology generator determines 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 ontology generator appends the user's monitored usage to the existing user-specific ontology for the respective 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 ontology generator generates a user-specific ontology for the respective classified length of the session; and a categorizer coupled to the memory, wherein the categorizer compares the one or more user-specific ontologies with plurality of defined ontologies stored in the hardware memory, and categorizes the user in accordance with the comparison of the one or more user-specific ontologies and the plurality of defined ontologies, wherein each defined ontology corresponds to a category of a plurality of categories.
11. A system for categorizing a user, the system comprising: a monitor that monitors a user's usage of one or more marked GUI features of an application; a hardware memory that stores a plurality of defined ontologies; an ontology generator that generates 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 selected by the user, wherein the ontology generator classifies a length of one or more of a user's application sessions, wherein for each classified length, the ontology generator determines 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 ontology generator appends the user's monitored usage to the existing user-specific ontology for the respective 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 ontology generator generates a user-specific ontology for the respective classified length of the session; and a categorizer coupled to the memory, wherein the categorizer compares the one or more user-specific ontologies with plurality of defined ontologies stored in the hardware memory, and categorizes the user in accordance with the comparison of the one or more user-specific ontologies and the plurality of defined ontologies, wherein each defined ontology corresponds to a category of a plurality of categories. 19. The system of claim 11 , wherein the monitor marks the one or more GUI features of the application.