Jak powstała sztuczna inteligencja w systemie rekrutacyjnym Element

Original article can be found here (source): Artificial Intelligence on Medium

Jak powstała sztuczna inteligencja w systemie rekrutacyjnym Element

Coraz więcej mówi się o sztucznej inteligencji w branży rekrutacyjnej i systemach ATS. Mówi się dużo o szansach i zagrożeniach, jakie niesie ta technologia, ale mało o tym, czym ta sztuczna inteligencja w ogóle jest i jak powstaje. Osobiście zawsze mnie to ciekawiło. Dziś, kiedy wiem trochę więcej na ten temat, mogę się tą wiedzą podzielić.

Cele i korzyści.

Jednym z podstawowych zastosowań sztucznej inteligencji w ATS Element, jest wspieranie procesów rekrutacyjnych poprzez automatyzację czasochłonnych i kosztownych czynności związanych z realizacją poszczególnych działań składających się na cały proces rekrutacyjny. Sztuczna inteligencja (będę zamiennie używał skrótu SI), którą rozwijamy w systemie rekrutacyjnym Element, ma zatem:

  1. Rozumieć treść życiorysów (zagadnienie omówione w naszym ostatnim artykule, link na końcu wpisu)
  2. Dopasowywać kandydatów do projektów
  3. Zadawać kandydatom odpowiednie pytania po analizie zakresu obowiązków wakującego stanowiska i treści CV kandydata.

W poprzednim artykule omówiliśmy, w jaki sposób sztuczna inteligencja pozwala rozumieć treść życiorysów i w jaki sposób ta technologia rewolucjonizuje sposób pracy z dużymi bazami kandydatów. W tym artykule opowiem, w jaki sposób można stworzyć SI, które rzeczywiście potrafi rozumieć zawartość życiorysów kandydatów.

Jak być może pamiętasz z lektury poprzedniego wpisu na naszym blogu, rozumienie treści CV to jej odczytywanie i podejmowanie decyzji o tym, co w tej treści jest imieniem, nazwiskiem, stanowiskiem, datą rozpoczęcia i zakończenia pracy, kierunkiem uczelni, umiejętnością itp.

Skąd zatem sztuczna inteligencja ma wiedzieć, jakie znaczenie ma wybrany ciąg znaków w dokumencie ? Najpierw człowiek musi wytłumaczyć to algorytmowi. Na czym polega tłumaczenie? Mniej więcej na tym samym, co uczenie dziecka np. nazw przedmiotów. Zanim jednak rozpoczęliśmy naukę, najpierw musieliśmy zaplanować nasze dziecko, a potem je… stworzyć.

Początek.

Pierwszym i zasadniczym wyzwaniem stojącym przed nami wiele miesięcy temu był fakt, że sztuczna inteligencja w zastosowaniach rekrutacyjnych dopiero raczkuje. Nie mamy do dyspozycji zbyt wielu źródeł wiedzy ani zasobów danych, które moglibyśmy wykorzystać w naszych pracach. Startowaliśmy niemal od zera.

W pierwszej kolejności znaleźliśmy kilkanaście prac naukowych, które dotyczyły zastosowań sztucznej inteligencji do analizy tekstu i treści życiorysów. Po analizie wszystkich dostępnych nam źródeł wiedzy uznaliśmy jednak, że najlepszym rozwiązaniem będzie zaczerpnięcie z obecnego dorobku wiedzy wszystkiego, co najlepsze, dołożenie własnych pomysłów i stworzenie zupełnie nowego rozwiązania. Po wielu godzinach analiz i planów podjęliśmy niezbędne decyzje związane z przygotowaniem infrastruktury i sieci neuronowych, na których oprzemy naszą SI. W następnej kolejności potrzebowaliśmy już tylko danych.

Nauka to dane.

Jak wspomniałem, rozwój sztucznej inteligencji przebiega jak nauka dziecka. W obu przypadkach nauka jest procesem długotrwałym i wymagającym poświęcenia. W przypadku sztucznej inteligencji, której celem jest rozumienie treści CV, nauka polega w pierwszej kolejności na przygotowywaniu dużej liczby (liczonej w tysiącach) specjalnie opracowanych życiorysów. Te specjalnie opracowane życiorysy to dokumenty, utworzone w osobnym module naszego ATS, w których zaznaczamy poszczególne fragmenty treści, a następnie tym fragmentom przydzielamy odpowiednie znaczenie. Jeśli zatem czytam treść życiorysu i natrafiam na słowo Maciej, to zaznaczam to słowo i oznaczam je jako imię, jeśli trafiam na datę, to wskazują, czego data dotyczy, np. rozpoczęcia pracy na konkretnym stanowisku w konkretnej firmie. Proces bardzo zbliżony, do uzupełniania profilu na portalu Linkedin.

Wydaje się na pierwszy rzut oka proste? W rzeczywistości jest pełne pułapek, niejednoznaczności i konieczności podejmowania kompromisowych decyzji. Jednym ze stałych elementów rozwoju sztucznej inteligencji w ATS Element, są regularnie organizowane sesje, podczas których analizujemy postępy prac. Podczas tych sesji staramy się także rozwiązywać problematyczne sytuacje związane z oznaczaniem danych. Oto kilka przykładów:

  1. Czy znalezione w CV sformułowanie „2017 — Coca Cola” oznacza, że kandydat pracował w tej firmie tylko w 2017 roku?
  2. Czy jeśli kandydat napisał, że pracuje jako “Freelancer dla firmy Coca Cola” to nasza sztuczna inteligencja ma przyjąć, że miejscem zatrudnienia jest Freelancer czy Coca Cola?
  3. Jeśli kandydat podał w edukacji “Technik Chemii”, to jaki studiował kierunek?
  4. Co zrobić, jeśli poziom umiejętności kandydat oznaczył gwiazdkami? Czy sztuczna inteligencja ma liczyć i interpretować gwiazdki?
  5. Jaki jest poziom umiejętności języka zgodnie ze standardem ESOKJ (od A1 do C2), jeśli w życiorysie stwierdzono “Angielski — rozumienie bardzo dobre, pisanie dobre”?

Czym więcej kandydatów i ich życiorysów, tym więcej tego rodzaju pytań. Ludzka kreatywność jest nieograniczona i nie sposób stworzyć jednego algorytmu, który zrozumie każdy rodzaj CV. Właśnie do rozwiązywania tak trudnych problemów stosuje się sztuczną inteligencję. By ta inteligencja radziła sobie z różnorodnością ludzkiej kreatywności, musimy dostarczy jej wiele tysięcy przykładów. Przykłady te mają pokazywać sposób, w jaki człowiek rozwiązuje takie właśnie problemy.

W jaki sposób sztuczna inteligencja uczy się z tych przykładów? Cóż, to są już zagadnienia związane głównie ze statystyką. Jeśli algorytm otrzyma 10 000 przykładów, w których dwa słowa w pierwszych wersach dokumentu, będą oznaczone jako imię i nazwisko, to w dokumencie numer 10 001 samodzielnie znajdzie podobną parę słów i prawidłowo wskaże, które z nich to imię, a które nazwisko. Należy pamiętać, że nie chodzi tu o zwykłe zapamiętanie imion i nazwisk. Sztuczna inteligencja nie zapamiętuje znaczeń danych słów, lecz każdorazowo decyduje o znaczeniu słowa, oceniając kontekst jego użycia, a także położenie w całym dokumencie.

Co przed nami?

Prawdopodobnie minie jeszcze wiele lat, a może dekad, zanim ktokolwiek stworzy SI, która poradzi sobie z bezbłędną interpretacją życiorysów. Ludzka kreatywność jest nieograniczona, pojawiają się nowe pojęcia i słowa, stare z biegiem czasu zmieniają swoje znaczenia. Tak jak człowiek nie jest w stanie pojąć wszystkiego, co go otacza, tak sztuczna inteligencja również będzie mieć ten problem. Nie oczekujemy jednak doskonałości. Jednym z podstawowych celów sztucznej inteligencji w naszym systemie rekrutacyjnym jest automatyzacja prostych, ale czasochłonnych i kosztownych procesów takich jak interpretowanie treści życiorysów. Już dziś każdy fragment treści CV, który został prawidłowo zinterpretowany przez nasz ATS, pozwala zaoszczędzić rekruterom cenne sekundy pracy. To właśnie o te sekundy walczymy. Z tych sekund budujemy minuty, które następnie zamieniamy na godziny lżejszej, szybszej i w końcu po prostu mniej kosztownej pracy.

Podziękowania dla Tomasza Horeckiego i zespołu DataLabeling, specjalizującego się w realizacji zadań związanych z przygotowywaniem danych niezbędnych do rozwoju algorytmów sztucznej inteligencji.

Powiązane posty:

hashtags# sztuczna inteligencja system rekrutacyjny ATS rekrutacja Element