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

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 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.




Developer, endurance athlete, amateur music producer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

AZ-900: Exam Questions (8/12)

Setting up Remix IDE for Solidity Development

Your 6 months(not strictly) plan for Preparing for Tech Interviews.

What are CRUD operations?

How to create a source/medium acquisition report in GA4?

Making Your Models Come To Life

Jitsi@scale: Using SR Linux to support online interactive video education for large groups of…

To most of my peers in high school, career and technical education (CTE) programs were just other…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Luke McCrae

Luke McCrae

Developer, endurance athlete, amateur music producer

More from Medium

Data Structure: Arrays and Lists (I)

“Data: Types, Structures and Storage Systems”

Engineering Design by Genetic Algorithms and Finite Element Methods

From RDBMS to Non-Relational Databases