Мы запатентовали собственную разработку для «Умного поиска» и вошли в число финалистов конкурса Роспатента «Успешный патент» где выявляют самые классные изобретения по итогам 2020-2021 годов. В конкурсе приняли участвовали еще 128 российских правообладателей.

Мы постоянно работаем над улучшением нашего сервиса. И стараемся делать так, чтобы дата-сайентистам не предлагали вакансии сантехников. С каждым годом мы все ближе к космическому идеалу. В 2020 году мы получили патент на изобретение автоматизированного поиска релевантных резюме и вакансий для рекомендательной системы «Умный поиск hh.ru» с использованием машинного обучения и понижением размерности многомерных данных. 

Компонент Умного поиска hh.ru был изобретен нашими профи по анализу данных и машинному обучению – Георгием Даньщиным, Виктором Реушкиным и Александром Сидоровым. Наше изобретение позволяет за сотни миллисекунд выбирать из миллионов резюме и сотен тысяч вакансий правильные, и соотносить друг с другом те, у которых похож не только текст, но и смысл. Наша фича проделывает это куда лучше и эффективнее, чем подобранные вручную правила.  

Благодаря этому улучшается качество рекомендаций резюме и вакансий и требуется меньше вычислительных ресурсов – мы экономим память и процессоры серверов.

Чтобы рекомендовать вакансии в последние два года мы применяем более сложные ML-модели с большим количеством признаков. Запатентованные изобретения позволяют ощутимо уменьшать объем данных, сохраняя существенную часть их смысла. Затем эти данные используются для очень быстрого предварительного отбора вакансий и резюме, а затем модели выбирают наиболее подходящие. 

Из больших полноразмерных данных мы получаем сжатые. Однако они должны сохранять определенный смысл, чтобы без потери качества и скорости обработки мы могли рекомендовать подходящие резюме для вакансий и наоборот. Наше изобретение используется и для обработки запросов работодателей при поиске по резюме, и для обработки запросов соискателей при поиске вакансий. 

Благодаря hh.ru сотни тысяч работодателей и соискателей находят друг друга в России и за её пределами. Чтобы это происходило быстрее и оптимальнее, наши разработчики используют прикладной искусственный интеллект. Наши решения сильно отличаются от применяемых, например, в веб-поиске. Всё из-за очень большого разнообразия и специфики предметной области наёма и работы, и очень высоких требований к качеству выдачи, которую видят пользователи.  

В 2018 году нам потребовалось сделать рекомендации резюме для вакансий, с учётом географического местоположения и интересов. На тот момент в нашей базе уже было больше 40 млн резюме и 600 тыс. вакансий. Посчитать вероятность, что каждое резюме пригласят на каждую вакансию с помощью сложных математических моделей, подобранных посредством машинного обучения – невозможно. Тем более онлайн, за 50 мс, пока пользователь ждёт отрисовки веб-страницы или экранного мобильного приложения. 

Для решения этой проблемы можно попытаться придумать эвристики и классификаторы резюме и вакансий. Но профессий десятки тысяч, так что этот подход имеет ограничения по качеству и масштабированию. Поэтому мы использовали подход на основе машинного обучения. Мы оцифровываем резюме и вакансии, представляем их в виде векторов чисел. Затем снижаем размерность этих векторов, представляем их в виде хешей. При этом, мы используем для вычисления этих хешей такую функцию, которая выдаёт похожие хеши для резюме и вакансии, если работодатель позвал кандидата на собеседование. Дальше мы сохраняем эти хеши в поля базы, и когда приходит работодатель с вакансией – делаем запрос «выдать все резюме, хеш которых отличается не более чем на N бит». И уже получив несколько десятков тысяч резюме, применяем к ним более сложные и ресурсоёмкие модели. Технические подробности – в нашем патенте, который подготавливали для участия в конкурсе Юридический департамент – Юрий Донников и Дарья Першенкова.

В результате мы смогли запустить рекомендации резюме на вакансии. С тех пор их использование выросло настолько, что работодатели приглашают большинство соискателей не благодаря поиску по базе, а из резюме, которые рекомендуются на их вакансии. Это позволяет тратить на поиски подходящих кандидатов примерно в 6 раз меньше времени, а значит делает наем и поиск работы проще и быстрее. 

Мы решили запатентовать это решение не только для его защиты, но и чтобы поделиться им с вами. Мы верим, что подобный подход может пригодиться и в других компаниях, которые применяют искусственный интеллект на практике, чтобы стать удобнее, полезнее и эффективнее для своих клиентов. Особенно это касается многосторонних маркетплейсов. Это сделает жизнь людей немного лучше. 

Мы очень рады и горды, что Российское патентное ведомство удостоило нашу разработку в сфере искусственного интеллекта такого внимания и признания. Надеемся, это изобретение поможет и вам. 

Комментарии (18)


  1. Porfus
    26.04.2022 09:49
    +2

    Прекрасная иллюстрация у Вас в патенте:

    Я так понимаю использование дискет 5,25'' в вашей системе не предусмотрено?

    Дальше нужно сложить эти хеши в поля базы, и когда приходит работодатель с вакансией – делать запрос «выдать все резюме, хеш которых отличается не более чем на N бит».

    А в чем непосредственно новизна Вашего метода, описание похоже типовую систему ранжирования на перцептивных хешах?


    1. m03r
      26.04.2022 15:02

      Если я правильно нашёл в тексте, то это «съёмный магнитный диск», то есть подходят дискеты любого размера.

      А если серьёзно, то я правильно понял, что запатентован примерно тот же метод, что был описан в посте несколько лет назад?


      1. alextheraven
        26.04.2022 15:55
        +2

        А если серьёзно, то я правильно понял, что запатентован примерно тот же метод, что был описан в посте несколько лет назад?

        Запатентовали важную часть, которая позволила 1) перестать использовать большую часть эвристик в эвристическом фильтре, причём работает лучше, чем он 2) справиться не с 490 000 вакансий (кстати, сейчас уже в 2 раза больше), а с примерно 10 000 000 резюме (да, рекомендации работают только по резюме, а только с последними обновлёнными).


        1. m03r
          26.04.2022 16:00

          Спасибо! Было бы интересно прочитать более подробное описание, если это возможно


          1. alextheraven
            27.04.2022 13:24
            +1

            Есть сборник видео и статей, как у нас всё устроено в поиске и рекомендациях https://vk.com/@713179846-search-and-recomendations-tech-and-processes . Там материалы немного устарели, про RNN DSSM и двустороннее поведение на эмбеддингах ещё нет, но думаю, что в этом году появится.


    1. alextheraven
      26.04.2022 15:46
      +2

      Я так понимаю использование дискет 5,25'' в вашей системе не предусмотрено?

      К сожалению, не чувствую себя достаточно сильным специалистом по патентованию, чтобы аргументированно обсуждать, зачем схему с архитектурой компьютера продолжают добавлять в современные патенты, почему там есть гибкие диски и сколько элементов на такую схему достаточно добавить, чтобы зарегистрировать другой, такой же патент.

      А в чем непосредственно новизна Вашего метода, описание похоже типовую систему ранжирования на перцептивных хешах?

      На мой взгляд, в обучаемом снижении размерности и в применении комбинации обучаемой функции хеширования и индексов, чтобы обеспечить очень быстрое применение фильтрующей (не ранжирующей) модели к большому количеству документов.


  1. ChePeter
    26.04.2022 10:19
    +3

    соотносить друг с другом те, у которых похож не только текст, но и смысл

    Проверьте сами поиск по слову «M&A», это целый раздел инвест бизнеса. И посмотрите, что ваш поиск найдет


    1. alextheraven
      26.04.2022 16:22
      +1

      В отличие от рекомендаций, в поиске этот алгоритм не применяется, а вакансии выбираются по тексту, потом ранжируются по типу и дате публикации, потом немного доранжируются моделями по вероятности отклика и последующего приглашения. Сейчас hh.ru - это классифайд, у него модель монетизации такая, что все места на выдаче проданы. Несмотря на это, по запросу "M&A" в Москве 48 вакансий из топ 50 релевантны. На выдаче резюме такой монетизации нет, там 50 из топ-50.


  1. MedicusAmicus
    26.04.2022 11:25
    +5

    Когда Ваш поиск перестанет предлагать тестировщику вакансии разработчика - позовите меня.


    1. Xanderblinov
      26.04.2022 12:50
      +4

      Видимо поиск считает, что с Вашими набором навыков неплохо себя и в разработке попробовать????


      1. MedicusAmicus
        26.04.2022 20:47

        Только что поиск настолько поумнел, что предложил мне пойти учеником мастера по ремонту бытовой техники. Не то, чтобы я - сноп, но не мое это.
        Пойду, составлю SQL-запрос к стиралке с применением диаграммы состояний и переходов, и отправлю на эндпойнт "синтетика\без отжима"
        Не буду писать в техподдержку, у ребят и без меня голова болит с таким сервисом.


        1. Xanderblinov
          26.04.2022 21:09

          Кризис в стране, батенька, ещё не понятно что с вашими сикуэлами будет, а вот в виду проблем с импортом качественной техники мастера-ремонтники могут озолотиться????


          1. MedicusAmicus
            26.04.2022 21:40

            Так я того, и ламинат, и электропроводку, и окна-двери могу.
            И даже аппендицит умею.
            Только вот работу почему-то ищу тестировщиком. Странный я.


    1. alextheraven
      26.04.2022 16:35

      К сожалению, по Вашему сообщению непонятно, почему так. Напишите, пожалуйста, в техподдержку, через меню "помощь".


  1. Rebeiro
    26.04.2022 16:04
    +2

    самый бездарный сайт по поиску работы, втюхивает постоянно лабуду всякую, да и конторы там одни шараги, которые по кругу ходят, одни и те же


    1. anonym0use
      27.04.2022 09:01

      подскажите варианты, где не будут требовать разговорного английского и могут взять на работу разработчика с российским гражданством)


      1. MedicusAmicus
        27.04.2022 09:22

        Все же LinkedIn. После длительного поиска и множества откликов на хх , работа была найдена спустя месяц, после регистрации на "линке".


    1. yulchurin
      27.04.2022 09:19

      Ещё и многие компании размещают одну и ту же вакансию по разным городам и результаты поиска забиваются одной и той же вакансией. Могли бы как-то это ограничить или группировать результаты по работодателю. Функция «не показывать вакансии этого работодателя» вообще не работает. Хабр карьера гораздо удобнее)