Git Product home page Git Product logo

job-offers-recommender's Introduction


An application to improve job offer recommendations

by Romain Avouac and Jaime Costa Centena

Application interface

Table of Contents

About the Project

This project is our final submission for the 3rd year Computer Science Project class at ENSAE ParisTech.

Our personal goal was to get familiar with and improve our knowledge of a broad range of development frameworks and tools. Moreover, the projet could provide a first version of a useful tool for the general public, especially in the current economic context.

Our web application aims at improving the matching procedure between job seekers and job offers, using data from the French governmental agency Pôle Emploi. This agency is used by more than 403 000 businesses to recruit, and its website has more than 46 millions monthly visitors. Despite these numbers, a few tests done on Pôle Emploi job search service show that the current procedure has important shortcomings, e.g. high sensitivity to language mistakes, homonymy, etc. Besides, since the current search procedure is based on keywords, its quality is strongly dependent on the indexation of the offers.

Against that background, we wanted to implement a more flexible search procedure, based on embeddings, as it is often seen in modern recommender systems.

In order to make this procedure easily accessible to end users, we chose to develop a minimalistic, user-friendly web application. The app has two purposes :

  • generate a professional looking and normalized resume, based on the information provided by the user. This feature is especially useful for job seekers with limited IT familiarity ;
  • recommend to users the most relevant job offers based on their profile (experience, skills, etc.)

Do not hesitate to reach out to us for any comment or suggestion regarding this project.

Built with

Getting Started

Installation

  1. Clone the repo
git clone https://github.com/avouacr/3A-ENSAE-projet-info.git
  1. (optional) Create a virtual environment inside the cloned directory
python3 -m venv ./venv
source venv/bin/activate
  1. Install required libraries
pip install -r requirements.txt
  1. Download input data for the application
python3 ./download_data.py

Launching the app

Once the installation is complete, you can start the application

python3 ./app.py

Updating the job offers database

By default, the app runs with the job offers data from the current (04/24/2020) Pole Emploi database. If you want to update the data with the new job offers, follow these steps :

  1. Get the Pole Emploi API developper identifier and key

  2. Set them as environment variables (POLE_EMPLOI_API_ID and POLE_EMPLOI_API_KEY).

export POLE_EMPLOI_API_ID="YOUR POLE EMPLOI API DI"
export POLE_EMPLOI_API_KEY="YOUR POLE EMPLOI API KEY"

The above procedure does not store the variables. If you wish to conserve these variables persistently, you might find ressources in the following links for Linux, Windows and Mac.

  1. Query Pole Emploi API
 python3 API_query/api_query.py

By default this queries for offers published during the last two years (365x2 days), you can change this through the num_days_lookback variable in the API_query/api_query.py script.

  1. Compute the new FastText representations of the offers
python3 doc_embeddings/fasttext_embeddings.py

Usage

The interface of the application is voluntarily minimalistic. The first and mandatory step for users is to complete their profile (general information, official certification, education, experiences and self-presentation). Then, they can can either :

  • download a professional looking resume filled with all the information they provided ;
  • check the job offers that best match their profile.

Contributing

All contributions are welcome. You can either report a bug or contribute directly using the following typical workflow :

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Romain Avouac - avouacr - [email protected]

Jaime Costa Centena - JCCen - [email protected]

Acknowledgements

job-offers-recommender's People

Contributors

avouacr avatar dependabot[bot] avatar jccen avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.