Inspiration

I hate reading through job descriptions and trying to figure out what skills they are looking for in a developer amidst the shameless self-promotion and flagrant buzz-word spamming. So I decided to train a custom AI model to do so, and ended up building a whole AI training UI in the process!

What it does

Nina allows a user to generate training code for custom MITIE models. It is project-agnositic, meaning it can be used to generate code for any kind of MITIE NER custom model.

Lumbergh is a custom trained MITIE model which parses through a job description and pulls out the required developer skills.

How I built it

I build Nina using HTML, CSS, and JS (jQuery + Vue.js)

For Lumbergh I used MITIE, a deep learning library that is designed for perfoming Named Entity Recognition. I used Nina to generate custom MITIE training code, and then trained a model based on data which I pulled from the Indeed.com API and tagged by hand

Challenges I ran into

Initially the model I designed was far too complex, and lead to very long AI training times (the first training session took an hour and a half, and that was only for 8 data sets!). I then simplified the model to pull just one entity instead of 3. This not only lowered the training time, but it ended up leading to a more accurate model

Accomplishments that I'm proud of

The accomplishment I am most proud of is the F1-Score I obtained on the custom model after optimizing it. An F1 score is a measure of accuracy for models. The highest F1 score I achieved was 91.2% on my final model.

What I learned

I had never used machine learning before this weekend, I learned a ton about how deep learning and NER work behind the scenes. I also learned Vue.js for the first time to build the front end.

What's next for Nina & Lumbergh

The plan is to continue improving the accuracy of Lumbergh and eventually use it as a feature in another app of mine called ResOptim, which automatically optimizes resumes based on a set of skill criteria. Currently Lumbergh is only trained on a dataset of 25 job descriptions, I would like to push that up to 100.

I plan to release Nina as a standalone tool to make generating MITIE model code easier for everyone who is working on NER models, as there are currently no good GUIs for that process

Built With

Share this project:

Updates

Submission history