In August I joined some friends to attend my first Govhack - which was undertaken remotely due to Covid. As part of a 1.5 day hackathon, the competition involved to solving a real world government challenge using publicly available datasets.
We chose to work on creating a graphical atlas which would allow users to describe their job responsibilities in natural language and have the system match them to their best suited job title. The user is presented with an interactive map showing the distance in 'skills' from the user against the demand for the roles found on job boards. Users could then select job titles of interest and learn more information and insights via data.
A full write-up including project pitch, wire frames, user stories is at: https://frankai.wixsite.com/jobatlas/demo
Proof of concept is at: http://bit.ly/job-atlas
Due to the time restrictions we focused on creating a proof of concept for three main features:
Can the user input their roles in natural language and match it to an ANZCO job title and code?
Can the system display a map of job role vs relative position of roles based on skills visually.
Can we incorporate the ABS API data to gain insights that might be useful to the user.
Lean Canvas
Proof 1
We used the National Skills Commission Skills Classifications dataset which has a text description component for each of the titles and the ANZCO Codes.
We used the Natural Language ToolKit (NLTK) and Term Frequency–Inverse Document Frequency (TF-IDF) to take in the ANZCO titles and descriptions, break it down into keywords and create the model.
When the user inputs their text descriptions, we can repeat the process to match that to the closest ANZCO description of a role or title. By doing so we can classify them against the existing codes and find where they sit on the model, which we can display in a graphical format.
Dataset showing title and description against codes
Screenshot of proof 1
Proof 2
This program uses another component of the National Skills Commission Skills Classifications dataset, which classifies roles against 10 core competencies and scores them on relative proficiency level. This allows us to use this as features to map out the roles and display the relative re-training required along the x-axis of the map.
The y-axis is a logarithmic output of the Labour Market Information Portal Job Vacancies Data and uses the ANZSCO_Code as a key to match with the x-axis data. This allows us to plot the job map to the user, and the graph below shows the difference between core competencies of the two roles.
The Labour Market Information Portal - IVI Job Vacancies Data set counts online job advertisements on Seek, CareerOne and Australian Jobsearch and catalogues them against state/territories.
X-axis dataset showing proficiency ratings against codes
IVI dataset showing ANZCO Codes against job vacancies for y-axis
Current role in red, on the skills map of all roles.
Graph of core competencies between two roles
Proof 3
We wanted to incorporate the ABS API portal to be able to show insights regarding the roles the user would look into. In this case we worked with the IT Specialist role pulling in the data, and then linking it up with the keys provided by the mentors in the slack channel.
We used this to display a heatmap of of IT Specialists by industry and size of company.
ABS API Raw Data pull
ABS API Data Keys provided from Mentors on Slack
Heatmap displaying insights obtained from dataset.
Source code for ABS API Exploration at Collab
Comments