NLP Blog #1-Machines and self understanding
This is the beginning of a blog about my experience learning about Natural Language Processing. My learning track is open ended and self guided. I am picking up materials as I go, and this blog will be a weekly chronicle of my journey.
In selecting this topic, I have three primary sources of inspiration:
First, is https://smmry.com/
I encountered this website from a reddit bot that uses the technology of smmry to provide auto-generated summaries of links. I would be browsing reddit, see that someone posted a link, and right below would be a reply from reddit.com/user/autotldr with a few sentences of key points in the article. My initial reaction was “wait…. what??”
The machine-brain barrier had been breached.
Computers could finally understand human language.
Well, not so fast. Turns out that it was just a language processing algorithm that counts the total words in a body of text, rank orders the sentences according to their important words, and then returns a user-specified number of those top sentences. Read this blog post by Matthew Plaut for a deeper look into smmry.
My second source of inspiration was this blog from openai:
The implications here are a bit more profound. Given a prompt, their model can generate a grammatically correct, topically-coherent essay. The catch is that it doesn’t have to be truthful — the model doesn’t know fact from fiction. It has just been trained to put words and phrases together, and from those connections it can approximate natural language. The result is comical — a report about findings of unicorns in the Andes Mountains, written like it could appear in the New York Times.
The third, and probably most impactful for me, was a personal conversation with a friend who had implemented a natural language processing service for his company. Using NLP libraries, he wrote code that interprets the emotional valence of support emails to determine their priority level to support staff. I left that conversation convinced that there is a way for software to be created that understands people. Maybe it’s just pretending to understand, but I’m willing to give it the benefit of doubt.
The magic of creating software is most impactful for me when I am able to connect it directly to my human experience. Deep dives into the rational territory of computer code often leave me wanting for the wonder of the natural world. This blog is my attempt to further tie together my journey of self-understanding with software development.