If a neural network can write Shakespeare, could it write a resume for you? Inspired by the remarkable results of Recurrent Neural Networks and using thousands of anonymized resumes from untapt, I’ve been experimenting with applying deep learning techniques to the CV.
There’s a seminal blog post called The Unreasonable Effectiveness of Recurrent Neural Networks by Andrej Karpathy, a PhD student and instructor at Stanford. Andrej is taken by surprise by the magical results from Recurrent Neural Networks, a particular type of neural network that can process arbitrary sequences of inputs.
In one example, he feeds the Complete Works of Shakespeare into an RNN. He asks his creation to dream up new passages of Shakespeare. The result could have come from the bard himself.
It gives me goose bumps every time I read it.
It got me thinking. Could we try something similar using our data at untapt? If we combine the anonymized resumes from all our members, we have seven times the data of the Complete Works. We could feed this into an RNN and have it imagine a new resume.
The Neural Network
I used TensorFlow, the open source deep learning library from Google. The data scientists here also pointed me at TFLearn, a higher-level API to speed up experiments. For those new to neural networks, Google also made a brilliant playground to illustrate how they work.
We spun up a beefy 40 core box on AWS and set it loose. After a couple of false starts, my RNN, code-named deep_orange, started to dream up resumes.
After a few hours of thinking, the work experience wasn’t looking too inspirational:
Developed and complite the to to anales, and an enterprise project on hull to the analysis and inalysis that team of test and applications and providing resign systeming
Yikes. That’s not going to get deep_orange many interviews. But it’s important to remember, it’s fed a sequence of characters with absolutely no knowledge of the English language, the structure of words and punctuation, and definitely no understanding of the make-up of a resume.
We’re asking a lot. Maybe more time is needed.
By the next day there was a glimmer of progress.
CONTRATES – SOFTWARE ENGINEER
Ontendated and complete and sales product successful office for the components for a company test for company for track and process to company content of cases for design
It’s starting to recognize the structure of a resume. It’s fun to see it invent the name of a company.
A few days later, something magical emerged. I watched as deep_orange dreamed up believable work experience.
LAN CONSULTANCY SERVICES – SENIOR SOFTWARE DEVELOPER
Development: Integrated Reporting services to manage and develop internal and external solutions for the financial standards and processes of clients
Not quite ready to be submitted to a hiring manager… but getting there.
The resume of the future
Could this actually add value for software developers looking for jobs? Potentially, yes. One day, deep_orange, with a few modifications, might predict whether a resume will be invited to interview, or suggest improvements. We’re barely scratching the surface. Much more to come.