Як ми створювали AI-пошук вакансій на Laravel і MySQL

Ми реалізували AI-пошук вакансій, який підвищив точність підбору пропозицій для кандидатів.

---

Запуск AI-пошуку вакансій на Laravel і MySQL

Недавно в нашій команді виникла дискусія в Slack про те, як зробити пошук вакансій більш релевантним для кандидатів. Один з розробників запропонував використати AI для покращення точності підбору, і ми вирішили, що це саме те, що нам потрібно. Це рішення довелося реалізувати на Laravel з використанням MySQL в якості бази даних.

Чому це було важливо

Існуючий механізм пошуку не задовольняв потреби користувачів: кандидати часто не знаходили підходящі вакансії або отримували нерелевантні результати. Це викликало незадоволення і знижувало довіру до нашої платформи. Наслідки були серйозними — зниження кількості відгуків на вакансії і, як наслідок, зменшення потоку кандидатів на сторінки /jobs і /for-candidates. Нам потрібно було зрозуміти, як використати AI, щоб змінити ситуацію.

Проблема в деталях

Пошук вакансій часто повертав результати, які не відповідали ні досвіду кандидата, ні його уподобанням. Наприклад, один з користувачів, що має досвід роботи в маркетингу, отримував вакансії для технічних спеціалістів. Це не тільки викликало незадоволення, але й знижувало ефективність пошуку. Наша задача полягала в тому, щоб знайти спосіб зробити пошук більш розумним і адаптивним до потреб користувачів.

Перші спроби

Ми почали з простого підходу — спробували покращити існуючий алгоритм пошуку, додавши деякі фільтри. Однак це рішення не дало значних результатів. Ми швидко зрозуміли, що недостатньо просто покращити фільтрацію. Наша команда вирішила, що нам потрібно більше даних і більш складні алгоритми для обробки запитів.

Технічний підхід

Врешті-решт ми обрали підхід, заснований на машинному навчанні, який дозволив нам використовувати дані про попередню взаємодію користувачів з платформою для створення більш точних рекомендацій. Ми інтегрували бібліотеку для обробки природної мови (NLP), яка аналізувала резюме і співвідносила їх з вакансіями.

// Приклад коду для обробки запитів
public function searchJobs($query) {
    $results = Job::where('title', 'LIKE', '%' . $query . '%')
        ->orWhere('description', 'LIKE', '%' . $query . '%')
        ->get();
    return $results;
}

Цей код став частиною більш складної системи, яка враховувала не тільки текстові збіги, але й контекстні дані, такі як уподобання кандидатів і активність на платформі.

Зміни в продукті

Після впровадження нового пошуку ми помітили відчутні зміни в користувацькому досвіді. Кандидати почали отримувати більш релевантні вакансії, що призвело до збільшення кількості відгуків на пропозиції. Більше того, ми отримали позитивні відгуки на сторінках /for-candidates і /companies, де користувачі зазначали, що тепер знаходять саме те, що шукали. Це покращення також сприяло збільшенню кількості підписок на платні послуги на сторінці /pricing.

Чому ми навчилися

  • Просте покращення існуючого алгоритму не завжди призводить до очікуваних результатів.
  • Використання даних про поведінку користувачів дозволяє створити більш точні алгоритми.
  • Інтеграція NLP може значно підвищити якість пошуку.
  • Важливо тестувати різні підходи і не боятися відмовлятися від початкових ідей, якщо вони не працюють.
  • Зворотний зв'язок від користувачів — ключ до розуміння ефективності змін.

Що це означає для кандидатів

Для кандидатів це означає, що тепер процес пошуку вакансій став більш інтуїтивним і ефективним. Ви можете очікувати, що пошукова система буде враховувати ваші навички та уподобання, пропонуючи вам більш підходящі вакансії. Це значно скоротить час, витрачений на пошук роботи, і підвищить ймовірність знаходження ідеальної пропозиції.

Що це означає для рекрутерів

Рекрутерам це відкриває нові можливості для залучення підходящих кандидатів. Більш точний пошук дозволить їм швидше знаходити спеціалістів, що відповідають їхнім вимогам. Це означає, що вони зможуть більш ефективно заповнювати вакансії і скорочувати час на пошук підходящих співробітників.

Наступні кроки

Незважаючи на досягнуті успіхи, ми продовжуємо слідкувати за роботою нового алгоритму. В майбутньому плануємо додати більше параметрів для аналізу і покращити обробку даних. Якби нам довелося повертатися назад, ми б приділили більше уваги тестуванню на ранніх стадіях, щоб уникнути деяких помилок. Ми впевнені, що подальші покращення приведуть до ще більшої задоволеності користувачів і рекрутерів. ---

Пов'язані матеріали

  • Code screenshot plannedПример кода поиска вакансий
    Код, реализующий базовый функционал поиска вакансий с учетом текстовых совпадений.
  • Chart plannedУвеличение числа откликов на вакансии
    График, показывающий динамику откликов на вакансии до и после внедрения AI-поиска.

Також на Fitlane AI

Теми: AI-поиск вакансий, Laravel, MySQL, поиск, алгоритмы, вакансии, подбор