Sentiment Analysis
December 11 2020
Sentiment Analysis is a very specialised branch of a much wider field of computational linguistics that is generally called Natural Language Processing. This field of work relies heavily on machine and deep learning techniques to enable the computer to analyse text and spoken words. It is indeed a fascinating area of study and current research with computational, rule-based models of language has made for some quite remarkable advancements when it comes to getting a machine to ‘understand’ human languages. Although I’m no advocate for artificial intelligence per se, I’ve become increasingly interested in this field of work, in part due to my languages background and my early dabblings in linguistics at university. Indeed, language is a recurring theme in my work and underpins a lot of how I’ve developed my thinking about culture and creation at large. My interest has therefore been a natural yearning to learn more. It is however directed by a certain critical eye, even a healthy dose of scepticism, when it comes to the concepts of so-called intelligent machines. To put it bluntly, machines are pretty dumb without the intelligence we humans provide them with. They are just data processing devices on high speed steroids - Speed being where they surpass the human. That said, we get them to do some pretty nifty things. Beside the various and indeed complex issues that AI is amplifying in terms of ethics and morals, for better as for worse, I’ve taken on a little journey to learn more about the language side of things. And particularly this slippery sub-topic we call sentiment analysis and for which I’m undertaking a few artistic approaches to explore.
What is sentiment analysis and what is it that I want to explore? As a starter, sentiment analysis attempts to extract subjective qualities from language content. It is a computational means for making suggestions about attitudes and emotions latent in language and predominantly in textual language. It looks for positive and negative words or phrases and is capable of labelling these with varying degrees of emotion; joy, sadness, disgust, anger and fear. Considering that human language by nature is full of ambiguities and can be interpreted on many levels, such a task is quite an achievement for a machine. Indeed for us humans, language full of metaphor, sarcasm, idiom and structural inconsistencies, manifests a complex challenge and especially when it comes to analysing the subtleties of emotional interpretation. How then does a machine even get to take on such a task and to what extent can we even believe in what it has to offer? I mean, why would anyone trust the capacity for a computer to even make inferences on language when we as humans can express such a wide variety of views on what we read?
The technicalities of sentiment analysis are beyond my scope of skills. I’m not a computational linguist and I have no deep understanding of the underlying algorithms linked with natural language understanding. The processes are complex and include concepts such as relational extraction, tokenisation, semantic parsing, vector-space semantics, recursive neural tensor networks (RNTN) and LSTMs. Search for any of those terms and you’ll probably be presented with pages of thesis articles on the topic. Although these are vital concepts linked with the subject matter at hand, my approach is more philosophical with a small dose of cognitive science and a heavy penchant towards the creative values. What essentially interest me is the emotional part of course and inevitably more of how we, as humans, process information emotionally. That said, any use of such a technique can not be purely a pretext for creative output. I do wish to express some ideas on the technology at large and our relation with these as a means to better understand ourselves.
So, where does all the magic happen in sentiment analysis? On a crude level, early techniques relied on reference dictionaries that listed words assigned with a polarity scale - negative to positive with a neutral score in-between. In more complex and recent work, machine learning uses classification models to extract features and predict labels for words. Current machine learning models use neural networking techniques such as RNTN and LSTM, which have the capacity to both learn and memorise relation extraction, i.e. semantic relationships across textual content. Neural networks work on a layered architecture, passing on information using a weights related concept, similar to how action potentials work in human neural networks. Ok, but how is the labelling happening, from where does the machine get the information necessary to categorise a word or phrase as positive, joyful and others as negative or fearful? I have yet to find a clear answer to that. Interestingly, my first questions to arise from reading about this technique were directed to us humans. Rather than dig into technical thesis papers I began to wonder more about how we, as humans, analyse text.
Consequently, my current readings are with people such as Robert Sapolsky, Oliver Sacks and Antonio Damasio all of whom have undertaken life-long research in the biology of emotions. This leads me to the matter in hand; wanting to understand emotion within the context of memory and as a starter how we process textual language on emotional levels. How does a text effect our general mood, what are we feeling with those little signs on the page, how do they colour our thoughts and eventually feed our emotions? Are we simply just sentiment analysis machines?
As you can read, this little article raises more questions that it has answers for, except that last one for which I will respond with a resounding ‘no’. I guess that this is the nature of my research, it is taking me on a journey of unexplored paths. For the moment, I have yet to come to any definitive crossroads. Rather I feel I’m in an expansive open field and I’m just smelling the flowers at hand for the moment. A wind is blowing, will I follow?
Some Interesting Reference Reading.
IBM's take on Artificial Intelligence
Wikipedia's entry about Natural Language Processing
Identifying Emotion Labels From Psychiatric Social Texts.