A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
- receiving, by a computing device, first data indicative of a first time-evolving movement of a portion of a body touching a surface of one or more devices associated with the body during a collection period;
- generating, by the computing device, feature data that characterizes the first data indicative of the first time-evolving movement of the portion of the body that couples to the one or more devices during distinct times within the collection period, wherein the one or more devices are not in physical contact with the computing device during the collection period;
- detecting, by the computing device, a first data type of the first data, wherein the first data type is associated with the first time-evolving movement of the portion of the body, the first data type being one of a plurality of data types, and wherein each data type of the plurality of data types is associated with a different time-evolving movement of the portion of the body;
- in response to detecting the first data type of the first data, identifying, by the computing device, one or more existing predictive models that represent a plurality of specified emotions using the detected first data type of the first data, wherein (i) inputs to each of the one or more existing predictive models correspond to the generated feature data and (ii) outputs from each of the one or more existing predictive models correspond to data indicative of a specified emotion of the plurality of specified emotions;
- applying, by the computing device, at least one of a pattern recognition algorithm or a machine learning algorithm to the generated feature data and to the identified one or more existing predictive models associated with corresponding default emotions;
- in response to application of the least one pattern recognition algorithm or the machine learning algorithm, identifying, by the computing device, a mixed emotion of the plurality of specified emotions represented by the first time-evolving movement of the portion of the body that couples to the one or more devices during the collection period, wherein the mixed emotion comprises a first emotion corresponding to a first portion of the first time-evolving movement and a second emotion corresponding to a second portion of the first time-evolving movement, the first emotion being different from the second emotion, wherein the second emotion interferes with the first emotion, wherein the second portion of the first time-evolving movement interferes with the first portion of the first time-evolving movement and controls the second emotion identification associated with a remaining portion of the first time-evolving movement;
- selecting one of the first emotion and the second emotion to display through a user interface according to an assigned weighting scheme;
- and
- providing, by the computing device, data indicative of the selected one of the first emotion and the second emotion for presentation through the user interface.