Slå ihop JobAd Enrichments & Job Search

Tycker att JobAd Enrichments har mycket användbara funktioner för att hitta relevanta kompetenser/egenskaper, samt hur pass eftertraktade dem är för specifika platsannonser.

Men som jag förstår det verkar den endast fungera på en platsannons i taget. Finns det något sätt som man kan koppla ihop de två och göra arbetsmarknadsanalyser på aggregerad data? Jag skulle vilja försöka skapa ett rudimentärt Labour Intelligence-verktyg med hjälp av den öppna datan.

Eller är det isåfall en enklare keyword matching liknande den som en annan användare gjorde för populäraste programmeringsspråken som man får basera det på.

Hej Mathias!

Det går absolut att först hämta annonsdata och därefter skicka in detta till JobAd Enrichments API för att sålla ut efterfrågade kompetenser, förmågor, yrkestitlar och var arbetsplatsen ligger, i alla annonser som du hämtat.

För att hämta alla annonser som finns publicerade på Platsbanken så är det bättre att använda JobStream API, Job Stream | JobTech Development istället för att göra sökning genom JobSearch API.
Här är information om hur du anropar JobStream API:
Job Stream | JobTech Development
getting-started-code-examples/test_stream_examples.py at master · JobtechSwe/getting-started-code-examples · GitHub

Om du istället är intresserad av att hämta alla historiska annonser (.rar-filer att ladda ner från år 2006-2020) så kan du kika här:

Förslagsvis så gör du på följande sätt:

  1. Hämta/ladda ner de annonser som du vill göra analys på (JobStream eller Historical Jobs)
  2. Loopa igenom alla annonser som du vill få berikade med JobAd Enrichments API. Du kan skicka in 100 annonser i taget, i samma anrop, för att berika annonserna på kortast möjliga tid. Om man berikar ca 40.000 annonser så tar det mellan 10-15 minuter. Du vill alltså preparera inputparametern så att anropet ser ut som i exemplet på: https://jobad-enrichments-api.jobtechdev.se/ - se fältet “payload”, som har 2 exempelannonser i samma anrop.
    Jag skulle rekommendera att använda endpointen /enrichtextdocumentsbinary som enbart returnerar de begrepp som arbetsgivaren antagligen efterfrågar, det vill säga t.ex. kompetenser som arbetsgivaren tycker att man ska ha/kunna.
    Den andra endpointen, /enrichtextdocuments, returnerar även de begrepp som arbetsgivaren inte efterfrågar (om värdet i attributet prediction är närmare 0.0 betyder det att ML-modellen inte tror att begreppet efterfrågas, om värdet är närmare 1.0 betyder det att ML-modellen tror att begreppet efterfrågas av arbetsgivaren).
  3. Spara resultatet från JobAd Enrichments och lägg på denna information till dina hämtade annonser
  4. Analysera. :slight_smile:

Jag tittade på länken för sidan med sammanställningen av de populäraste programmeringsspråken, ett av problemen som fick lösas där var att samma term kan skrivas på olika sätt, t.ex. “csharp” och “c#”. Detta problem är hanterat i den synonymordlista som används i bakgrunden i JobAd Enrichments API, som också är nedladdningsbar, se https://jobad-enrichments-api.jobtechdev.se/ - endpointen /synonymdictionary
Exempel på data från /synonymdictionary är:
{
“concept”: “C#”,
“term”: “c#”,
“term_misspelled”: false,
“type”: “KOMPETENS”
},
{
“concept”: “C#”,
“term”: “csharp”,
“term_misspelled”: false,
“type”: “KOMPETENS”
},

…där både termen “c#” och “csharp” pekar mot samma concept-term, “C#”.

Med andra ord, om det står “C#” i annonsen eller “Csharp”, så kommer det i båda fallen att returneras “concept”: “C#” från JobAd Enrichments API (men att “term” är just det ord som hittades i annonsen).

Om du vill hämta hela synonymordlistan så är det bäst att göra det via kod eller curl, swagger-sidan kan få problem att rendera/presentera alla kompetensbegrepp (ca 54.000 kompetenser just nu) i webbläsaren.

Hör gärna av dig igen om något var oklart i svaret!

Lycka till!

/Mattias

1 gillning

Supertack för det otroligt uttömliga svaret :pray: Nu har jag lite hemläxa att göra :smiley:

Tack själv! Hoppas att det går bra! :smile: