Detecting Trends in Job Advertisements.
Khalil Mrini, Kshitij Sharma, Pierre Dillenbourg
We present an automatic method for trend detection in job ads. From a job-posting website, we collect job ads from 16 countries and in 8 languages and 6 job domains. We pre-process them by removing stop words, lemmatising and performing cross-domain filtering. Then, we improve the vocabulary by forming n-grams and restrict it by filtering based on named-entity and part-of-speech tags. We split the job ads to compare two time periods: the first halves of 2016 and 2017. A trending word is defined as a word with a higher TF-IDF weight in 2017 than in 2016. The results obtained show a close correlation between the position of a word in its text and its trendiness regardless of country, language or job domain.
Language: Python 3.
Packages Used: nltk, numpy, matplotlib, scipy, polyglot, pandas, pytrends, bs4, requests, urllib, pattern3, pymystem3.
The files are described hereafter in the order they should be used:
AdzunaJobAdRetriever.py
: Generates json files, one per page, of the job ads of Adzuna in the Raw Data folderAdzunaJobDescriptionFetcher.py
: Fetches the descriptions if available from the original website and outputs them in the Raw Text folderTrendDetectionPipeline.py
: Performs all of the trend detection, with the help of the following files:TreeTagger.py
: Implements a tree tagger class for pre-processingSequenceMining.py
: Implements the Generalised Sequential Pattern (GSP) Algorithm
TimeSeries.py
: Gives counts of the number of job ads collected over timeTrendPositions.py
: Computes Trend Positions in the pre-processed textGoogleTrends.py
: Computes the energy of a trending word in Google Trends for comparison