Gästskribent: Att utnyttja artificiell intelligens vid sökningar i ESCO-kompetenser

Blogg

Bakgrund

ESCO är ”en europeisk klassificering av färdigheter, kvalifikationer och yrken”, vars syfte bl.a. är att beskriva befintliga yrken och hurdana färdigheter och kompetenser som behövs inom olika yrken.

När både arbetsgivarens behov och arbetstagarens kompetenser är definierade oberoende av språk, kan arbetstagare hitta de arbetsplatser de behöver även över språkgränserna. Gofore är med och bygger upp Jobbmarknad, som utnyttjar ESCO-klassificeringen bl.a. i arbetsplatssökningar.

Även om tanken med en sådan här klassificering är utmärkt, är det ändå utmanande att tillämpa den på det vardagliga livet. En arbetssökande kan till exempel ha väldigt mångsidiga kunskaper, men den precisa kompetensen kanske inte finns i ESCO-klassificeringen eller så har man namngett kompetensen på ett sätt som gör den svår att hitta.

Vi valde att undersöka om man med hjälp av metoder för artificiell intelligens lättare kunde hitta kompetenser i ESCO-klassificeringen. I praktiken kunde vi alltså utnyttja texterna som en användare skrivit om sin arbetshistorik och sina kompetenser och utifrån dem föreslå kompetenser enligt ESCO-klassificeringen.

Börja enkelt

I vanliga fall gällande applikationer för artificiell intelligens så lönar det sig att sätta igång så elementärt som möjligt och utveckla mer komplicerade modeller vartefter man förstår mera.

Här är det bra att notera att man inte behandlar ord som sådana, utan bara kortare bitar av orden. Det här har betydelse t.ex. i finska språket så att inte böjningsformer påverkar särskilt mycket. Inte heller slumpmässiga skrivfel påverkar sökningens resultat.

Vi kan pröva att mata in en beskrivning av en kompetens på finska i algoritmen och se hurdana kompetenser enligt ESCO-klassificeringen som hittas (tre huvudsakliga förslag):

"Dela ut post"

  • sortera post
  • behandla post
  • hämta post

Hittills ser det bra ut. ”Post” är visserligen ett sådant ord som enkelt leder en i rätt riktning. Vi försöker med något annat:

"Jag kan hjälpa vid användning av rullstol"

  • ge råd åt kunder i hur de ska använda glasögon
  • assistera vid användning av maskiner och redskap
  • ge råd åt kunder i hur de ska använda nya apparater

Nu gick det så att ordet ”användning” började dominera sökningen, eftersom ordet ”rullstol” inte dyker upp bland ESCO-kompetenserna alls.

Öka data med maskinöversättning

Det skulle enkelt underlätta sökningen om kompetenserna var beskrivna lite mer allmänt. I själva verket finns det nog ett par meningar som beskriver ESCO-kompetenserna och vad de innebär. Men den här informationen finns ändå inte på t.ex. finska i ESCO, utan bara på engelska. Men att översätta över 13 000 beskrivningar till finska skulle vara både långsamt och dyrt. Kanske kunde teknik med artificiell intelligens hjälpa här också?

Vi gjorde några försök och konstaterade att Googles översättningstjänst som många känner till numera ger bra direkta översättningar:

Ursprunglig beskrivning
Negotiate with the customers the precise terms at which the service will be sold
Maskinöversättning
Förhandla med kunderna om de exakta villkoren för vilken tjänsten kommer att säljas.

Ursprunglig beskrivning
Various processing methods on precious metals such as gold, silver and platinum.
Maskinöversättning
Olika bearbetningsmetoder på ädelmetaller som guld, silver och platina.          

Nå, riktigt alla översättningar är inte ännu perfekta:

Ursprunglig beskrivning
Put adhesive on plies by operating the cement stick on drum edge.
Maskinöversättning
Sätt lim på skikten genom att använda cementpinnen på trumkanten.

Ursprunglig beskrivning
The joining of two pieces of metal together by deforming one or both so they fit into each other.
Maskinöversättning
Fogning av två metallstycken genom att deformera en eller båda så att de passar in i varandra.

I vårt fall spelar små felaktigheter ingen roll, eftersom den maskinöversatta texten inte alls syns för användaren och den används bara som hjälpmedel för att hitta rätt kompetens. Vi kan försöka på nytt med ett tidigare fall nu när de maskinöversatta beskrivningarna är med i inlärningsmaterialet:

"Jag kan hjälpa vid användning av rullstol"

  • ge råd vid användning av specialredskap i dagligt bruk
  • ge råd om lösningar gällande tillgänglighet
  • använda specialredskap i dagligt bruk

Märkbart bättre! Nu kan ordet ”rullstol” kombineras med hjälpmedel och tillgänglighet, eftersom orden kommer fram i beskrivningen av kompetensen.

Kunde yrken hjälpa?

Algoritmen här fungerar redan bra i de fall där man letar efter en namngiven kompetens. Om man däremot har matat in något vagare, till exempel antydningar till en tidigare arbetserfarenhet, får man helt klart sämre resultat:

"Jag har varit praktikant i en bokhandel"

  • ordna praktiska övningar
  • kan ta del av praktiska övningar
  • delta i praktiska sportövningar

Eftersom bokhandlar inte nämns i beskrivningen över kompetenser har algoritmen tagit fasta på ordet ”praktikant” och ger förslag utifrån det.

Vi funderade om man kunde lösa problemet genom att för en stund glömma kompetenserna och i stället söka ett yrke som motsvarade det man matat in. I ESCO finns grupperade yrken utifrån kompetenserna, så händigt nog fick vi uppräknade kompetenser som kunde anknytas till yrken.

Pusslet med yrkena löste vi på två sätt. För det första finns det tretusen yrken listade i ESCO och till varje yrke finns ett par meningar (på engelska) som beskriver yrket, såsom tillhörande kompetenser.

Vi drog de här meningarna genom Googles översättningstjänst och fick på så sätt material till yrkessökningen.

För det andra finns det på Jobbmarknad ungefär 600 yrken som är beskrivna i detalj. Det är inte meningsfullt att kombinera de här data, så vi gjorde en yrkessökning för båda datamängderna och kombinerade resultaten. Nu kan vi försöka söka ett yrke utifrån texten som matats in:

"Jag arbetade tidigare på ett daghem, ja och så i skolköket."

  • köksbiträde
  • kökschef
  • barnskötare

Inte illa! Och när vi beaktar kompetenser som hör till flera yrken så spelar det inte så stor roll om något enstaka yrkesförslag vore dåligt.

När det gäller kompetensgrunderna för sökningen pekar yrkena ändå i rätt riktning. Vi försöker nu med ett tidigare exempel:

"Jag har varit praktikant i en bokhandel"

  • hålla reda på de senaste bokpublikationerna
  • sälja böcker
  • rekommendera böcker för kunder

Mycket bättre! En sökning gjord endast utifrån yrket ger förstås relevanta kompetenser, men enskilda yrkeskompetenser kommer i en slumpmässig ordning. I praktiken får man det bästa resultatet genom att kombinera resultaten från olika algoritmer med en lämplig betoning.

 En sådan här kombinationsalgoritm fungerar också när yrken inte går att definiera; då består sökningen av direkta benämningar på kompetenser och beskrivningar.

Slutsatser

”Kompetensrekommenderaren” som fungerar utifrån beskrivningen här är redan i bruk när man fyller i sin profil på Jobbmarknad, och nya applikationspunkter hittas hela tiden. Den inmatade texten kan i princip vara vad som helst, från enskilda sökord till en persons egen presentationstext och från CV till arbetsplatsannonser. Utvecklingsarbetet fortsätter.

Heikki Niittylä

Data Scientist Gofore