I figured out the problem with the distances always defaulting to zero. This meant using complete linkage to determine the distance between two points in the distance matrix. Therefore, the training matrix I've been using nicely splits into four or five branches, before merging into one huge branch. This is a new problem: how do I know when to stop merging matrix elements? For now, I've decided to stop when 5 categories are created, which seems like a good balance between large groups and small, single cell clusters.
I also packaged everything into a single python file with a command prompt. This makes it really easy to train the matrix or run clustering pretty easily. The last function that I implemented asks the user for different emotions until they are feeling one, then it spits out the rest of the emotions clustered into that one. Right now, that's the absolute best that rin can do.
Past this point, I want to use these emotion clusters to do something more, perhaps provide comfort, relaxation, or praise through a virtual assistant. That part is significantly more complex and will probably involve tailoring specific responses for each of the 45 emotions in the matrix
But for now, you can go to the GitHub link on the side and download the mostly complete version of rin I have. Only get the rin.py file, and run it with python3, preferably in a new folder so there's a separate space for the storage files.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.