So I am getting down to something serious now, something that might actually be useful in finding me some future employment. I am going to train a neural network! I studied these back in school, in 2000-2001, back when we had to write them ourselves and walk uphill to school both ways. Now there are libraries that do it all! I put the first sample together in a night. Well it took me a while to prepare the data actually, but once I had the data prepared the rest was easy. I basically copied this guy.
My dataset is a bunch of posts I wrote to a facebook group I’m in. This facebook group came out of a website called mycounterpane.com, which is no longer active. It was basically a kind of shared journaling website where you could attach one of thirteen emotions to your post based on how you were feeling.
I split my facebook posts into 1112 sentences, and assigned each one an emotion. I used sentences instead of posts because I figured they would be more uniform in length, and it would give me more data points. They break down like so:
aware: 251
determined: 154
grateful: 130
stable: 100
hopeful: 97
frustrated: 92
overwhelmed: 90
happy: 78
scared: 57
guilty: 31
sad: 19
lonely: 7
angry: 6
For my first attempt I created thirteen separate networks, one for each emotion with a single output. This seemed to work oooookay. The sparse emotions were claiming 99% accuracy, which sounded great until I realized that if I say I’m lonely 1 out of 100 times and the network says I’m lonely 100 times, then the network is 99% accurate! But by that measure you could also get 99% accuracy from a rock, or a sandwich.
So I’m going to try combining it all into one network with thirteen outputs, because that’s a thing. Results in next post! Also I should post some code here. Or get a github account or something. That’s what all the hip kids are doing.