Jak rozwiązaliśmy problem dopasowania ofert pracy i CV bez przechowywania zbędnych danych

Opracowaliśmy podejście, które pozwala na porównywanie ofert pracy i CV, minimalizując ilość przechowywanych danych.

---

Wprowadzenie do problemu rekrutacji bez przechowywania danych

Niedawno na Slacku wywiązała się dyskusja na temat tego, jak najlepiej dopasowywać oferty pracy i CV, nie tworząc zbędnych baz danych. Jeden z programistów poruszył kwestię: jak możemy przechowywać tylko potrzebne dane, zapewniając jednocześnie wysoką jakość dopasowania. To stało się dla nas wyzwaniem, ponieważ od tego zależała efektywność naszego serwisu rekrutacyjnego.

Kontekst zadania

Problem, z którym się zmierzyliśmy, pojawił się w wyniku rozwoju naszej platformy. Rekruterzy i kandydaci zaczęli dostrzegać, że wyniki wyszukiwania ofert pracy i CV nie zawsze się zgadzały. Rozumieliśmy, że to wpływa na naszą reputację na rynku. Jeśli nie będziemy w stanie dostarczyć wysokiej jakości wyników, ryzykujemy utratę zaufania naszych użytkowników, zwłaszcza w warunkach dużej konkurencji.

Konkretne trudności

Jednym z przykładów, które badaliśmy, było dopasowywanie CV, gdzie słowa kluczowe nie zawsze zgadzały się pomiędzy ofertami pracy a kandydatami. Na przykład, CV kandydata mogło zawierać termin „rozwój oprogramowania”, podczas gdy oferta pracy wymagała „programowania”. To różnice wpływały na wyniki wyszukiwania i, w konsekwencji, na satysfakcję użytkowników. Zdawaliśmy sobie sprawę, że musimy znaleźć bardziej elastyczne i inteligentne podejście do przetwarzania danych.

Pierwsze próby rozwiązania

Pierwszym rozwiązaniem, które wypróbowaliśmy, było zastosowanie prostych algorytmów opartych na słowach kluczowych. Stworzyliśmy system, który dopasowywał oferty pracy i CV na podstawie częstotliwości występowania słów. Jednak to rozwiązanie okazało się nieefektywne. Podczas testów zauważyliśmy, że wielu odpowiednich kandydatów nie znajdowało ofert pracy z powodu niezgodności terminologii. To stało się dla nas sygnałem do przeprowadzenia głębszej analizy.

Techniczne podejście do rozwiązania

Ostatecznie postanowiliśmy zastosować bardziej zaawansowany algorytm uczenia maszynowego, który uwzględniał kontekst słów i ich semantykę. Wdrożyliśmy model, który był uczony na zbiorze danych zawierającym różne oferty pracy i CV. Przykład kodu, ilustrujący kluczowe aspekty wdrożenia:

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

vectorizer = TfidfVectorizer()
vacancy_matrix = vectorizer.fit_transform(vacancies)
candidate_matrix = vectorizer.transform(candidates)

similarity = cosine_similarity(vacancy_matrix, candidate_matrix)

To podejście pozwoliło nam dokładniej dopasowywać oferty pracy i CV, minimalizując ilość danych, które musieliśmy przechowywać. Udało nam się przechowywać tylko „skompresowane” reprezentacje ofert pracy i CV, co znacznie zmniejszyło obciążenie naszej bazy danych.

Zmiany w produkcie

Po wdrożeniu nowego algorytmu zauważyliśmy znaczną poprawę jakości wyników wyszukiwania. Kandydaci zaczęli otrzymywać więcej trafnych ofert, a rekruterzy zauważyli wzrost jakości dopasowania. To pozytywnie wpłynęło na doświadczenie użytkowników, co z kolei odzwierciedliło się w wynikach w sekcjach /jobs i /for-companies. Jesteśmy pewni, że te zmiany pomogą nam wzmocnić pozycję na rynku.

Lekcje, które wyciągnęliśmy

  • Użycie prostych algorytmów może prowadzić do niewystarczającej efektywności.
  • Kontekstowa semantyka jest ważniejsza niż częstotliwość występowania słów.
  • Kompresja danych pozwala obniżyć koszty przechowywania.
  • Opinie użytkowników są ważnym czynnikiem w doskonaleniu produktu.
  • Nie bójcie się próbować różnych podejść: czasami najlepsze rozwiązanie może być zaskakujące.

Znaczenie dla kandydatów

Kandydaci mogą teraz liczyć na dokładniejsze i bardziej trafne oferty. Dzięki ulepszonemu algorytmowi ich szanse na zauważenie przez rekruterów wzrastają, co sprawia, że proces poszukiwania pracy staje się bardziej efektywny i przyjemny.

Znaczenie dla rekruterów

Rekruterzy mają dostęp do lepszej jakości kandydatów, co minimalizuje czas poświęcony na poszukiwanie. Ulepszony system dopasowania pozwala im szybciej znajdować odpowiednie CV, co zwiększa ogólną wydajność pracy.

Następne kroki

Pomimo osiągniętego postępu, nadal monitorujemy wyniki działania nowego algorytmu. Planujemy przeprowadzać dodatkowe eksperymenty, aby zrozumieć, jak jeszcze można poprawić jakość dopasowania bez zwiększania ilości przechowywanych danych. Gdybyśmy mieli zacząć od nowa, zwrócilibyśmy większą uwagę na opinie na wczesnych etapach rozwoju, aby uniknąć niektórych wcześniejszych błędów. ---

Także na Fitlane AI

Tematy: сравнение вакансий и резюме, хранение данных, оптимизация процессов, машинное обучение, алгоритмы сопоставления, Fitlane AI, платформа для подбора кадров