In one embodiment, a character engine models a character that interacts with users. The character engine receives user input data from a user device, and analyzes the user input data to determine a user intent and an assessment domain. Subsequently, the character engine selects inference algorithm(s) that include machine learning capabilities based on the intent and the assessment domain. The character engine computes a response to the user input data based on the selected inference algorithm(s) and a set of personality characteristics that are associated with the character. Finally, the character engine causes the user device to output the response to the user. In this fashion, the character engine includes sensing functionality, thinking and learning functionality, and expressing functionality. By aggregating advanced sensing techniques, inference algorithms, character-specific personality characteristics, and expressing algorithms, the character engine provides a realistic illusion that users are interacting with the character.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method for generating a character response during an interaction with a user, the method comprising: evaluating user input data that is associated with a user device to determine a user intent and an assessment domain; selecting at least one inference algorithm from a plurality of inference algorithms based on at least one of the user intent and the assessment domain, wherein the at least one inference algorithm implements machine learning functionality; computing a character response to the user input data based on the at least one inference algorithm, the user input data, a set of personality characteristics associated with a character, and data representing knowledge associated with the character; and causing the user device to output the character response to the user. 2. The computer-implemented method of claim 1, wherein the at least one inference algorithm comprises at least a first inference algorithm and a second inference algorithm, wherein the first inference algorithm implements machine learning functionality. 3. The computer-implemented method of claim 1, wherein computing the character response to the user input data comprises: generating an inference based on the at least one inference algorithm, the user input data, and the data representing knowledge associated with the character; selecting the set of personality characteristics from a plurality of sets of personality characteristics based on at least one of the inference, the user intent, and the assessment domain; and generating the character response based on the inference and the set of personality characteristics. 4. The computer-implemented method of claim 1, wherein the data representing knowledge associated with the character includes information obtained from at least one of a World Wide Web, a script, a book, and a user-specific history. 5. The computer-implemented method of claim 1, further comprising updating the data representing knowledge associated with the character based on at least one of the user input data and the character response. 6. The computer-implemented method of claim 1, further comprising, in a batch mode: generating training data based on at least one of the user input data, the character response, the data representing knowledge associated with the character, and one or more data sources; and performing one or more operations that train the at least one inference algorithm based on the training data. 7. The computer-implemented method of claim 5, wherein the one or more data sources include a gamification platform that includes at least one of software and hardware that implement game mechanics to entice the user to provide input that can be used to train the at least one inference algorithm. 8. The computer-implemented method of claim 1, wherein causing the user device to output the character response comprises generating at least one of a physical action, a sound, and an image. 9. The computer-implemented method of claim 1, wherein the user device comprises a robot, a walk around character, a toy, or a computing device. 10. The computer-implemented method of claim 1, wherein the set of personality characteristics comprises a plurality of parameters, wherein each parameter is associated with a different personality dimension. 11. The computer-implemented method of claim 1, wherein the at least one inference algorithm comprises a Markov model, a computer vision system, a theory of mind system, a neural network, or a support vector machine. 12. A character engine that executes on one or more processors, the character engine comprising: a user intent engine that, when executed by the one or more processors, evaluates user input data that is associated with a user device to determine a user intent; a domain engine that, when executed by the one or more processors, evaluates at least one of the user input data and the user intent to determine an assessment domain; and an inference engine that, when executed by the one or more processors: selects at least one inference algorithm from a plurality of inference algorithms based on at least one of the user intent and the assessment domain, wherein the at least one inference algorithm implements machine learning functionality; and computes a character response to the user input data based on the at least one inference algorithm, the user input data, a set of personality characteristics associated with a character, and data representing knowledge associated with the character; and an output device abstraction infrastructure that, when executed by the one or more processors, causes the user device to output the character response to the user. 13. The character engine of claim 12, wherein the at least one inference algorithm comprises at least a first inference algorithm and a second inference algorithm, wherein the first inference algorithm implements machine learning functionality. 14. The character engine of claim 12, wherein the inference engine computes the character response to the user input data by: generating an inference based on the at least one inference algorithm, the user input data, and the data representing knowledge associated with the character; selecting the set of personality characteristics from a plurality of sets of personality characteristics based on at least one of the inference, the user intent, and the assessment domain; and generating the character response based on the inference and the set of personality characteristics. 15. The character engine of claim 12, wherein the data representing knowledge associated with the character includes information obtained from at least one of a World Wide Web, a movie script, a book, and a user-specific history. 16. The character engine of claim 12, wherein causing the user device to output the character response comprises generating at least one of a physical action, a sound, and an image. 17. The character engine of claim 12, wherein the user device comprises a robot, a walk around character, a toy, or a computing device. 18. The character engine of claim 12, wherein the set of personality characteristics comprises a plurality of parameters, wherein each parameter is associated with a different personality dimension. 19. The character engine of claim 12, wherein the at least one inference algorithm comprises a Markov model, a computer vision system, a theory of mind system, a neural network, or a support vector machine. 20. A computer-readable storage medium including instructions that, when executed by a processor, cause the processor to generate a character response during an interaction with a user by performing the steps of: selecting at least one inference algorithm from a plurality of inference algorithms based on at least one of a user intent and an assessment domain, wherein the at least one inference algorithm implements machine learning functionality; causing the at least one inference algorithm to compute an inference based on user input data and data representing knowledge associated with a character; and causing a personality engine associated with the character to compute a character response to the user input data based on the inference.