emotions: humans vs machines

Does a machine have emotions? Machine does not have emotions, however, it is able to read them. Topic Modeling is a search in the text clusters of  words that you can group in certain categories based on similarities, the computer compares the occurrence of topics within a document to how a word has been assigned in other documents to find the best match. Here is my topic modeling with Hemingway Old Man and the Sea:

tp

I believe, that the most important part in doing Topic Modeling (and Sentiment Analysis) is your familiarity with the text. If you do not know text well, you won’t be able to find a mistake in the results caused by wrong algorithm. My own Topic Modeling table:

topicmodeling

Sentiment Analysis algorithm is a search in the classification problem and using certain rules categories words by sentiment. For instance, Alchemy API gives us full sentiment analysis where we have key words with sentiment (negative, positive, neutral).  If you compare the results in my table and the results in Alchemy API you will find not a big difference:

senanvy

According to program the poem by Vysotskiy has more negative sentiments which means that it is a “sad” or even “angry” poem. However, it still does not show you all “shades” of the text. For us that means that we need to be careful using these programs and the results every time, not just blindly trust it.

The positive side of this method (as for machine programs) that it does all the matching and topic modeling for us, so if you have a huge text you do not need to spend time on doing everything by hand. Also, it gives us many eyes effect that helps us to find a new reading of the text.  Although, in my point of view we have more negative sides than positives. Negative sides: double work – once it done with matching you need to double check it after. You need to create a stop list for each text, because if you have word “not” on your stop list and at the same time “not” semantically placed with “not happy” you will loose the meaning of  “not happy” and would have left only “happy”. Also you need to check the dictionary, which words are related to angry or calm mood, may be for your specific text you would like to change words in the dictionary too.

I believe that machines can read emotions, if we “teach” them how to do so. The problem is that if with math we can rely on machine results because it is only numbers, we can not do the same with text. The answer is clear, we have precise algorithm where X+Y=1, when in literature we can not always say that, the meaning of the text can be changed even by one comma. For me doing sentiment analysis with program is the same as using Google translate, it’s good but better to check.