I'm working on this section and will be clearing it up later...read the project logs...
How rin works
To train the distance matrix, the user enters several emotions that they are and aren't feeling. The matrix is then populated with numbers. Cells where two emotions are NOT related (a yes and a no/mabye feeling) are increased by 1 or 0.5 (no or maybe). These are then clustered based on connection. Less connected emotions are grouped together with a hierarchal clustering model, until all 45 of the preset emotions are in 4 or 5 groups. The user then can be asked anytime if they are feeling a particular emotion, and the rest of the emotions in that group are returned. I still need to add more stuff so that the computer can council the user for each of the emotions, offering them assistance based on how they are feeling.
Future Directions
First, I want to make rin available as an easy to use android application so that anyone can use it for free without having to pay for hardware. Because I want rin to supplement mental health services, having it as free software is will make it more accessible.
Because this is Hackaday, I also want to make hardware that runs rin, possibly in a self-contained handheld device or desktop assistant. Because all of my projects is written in python, I can either port it to C and use a microcontroller, or keep it in python and use a single-board computer in my design to simplify things greatly. I haven't decided which direction to take with this yet.
So it's like a Markov chain for user-identified emotions, except it's more of a web than a chain?