كيف بحثنا عن المرشحين باستخدام التعلم الآلي

للعثور على المواهب الحقيقية ، يتعين على الشركات التوصل إلى أكثر الطرق غير المعتادة للبحث. تحب EPAM أيضًا البحث عن طرق جديدة لحل المشكلات الشائعة. بدأت هذه التجربة بحقيقة أن جهات التوظيف لدينا التفتت إلى الزملاء من ممارسة البيانات وطلبت التفكير في كيفية إنشاء نظام بحث للمرشحين للوظائف الشاغرة المفتوحة في الشركة. نظام من شأنه أن يساعد على تقليل الوقت الذي يقضيه في العثور على مرشح ذي صلة في المصادر المفتوحة * ، وكذلك زيادة جودة وكمية المرشحين الجيدين. تولى فريق علوم البيانات لدينا المهمة مع الطلاب من مركز التدريب EPAM. بعد ذلك ، سأتحدث عن النهج الرئيسية التي يمكن أن تحل هذه المشكلة ، حلنا والنتائج. بشكل عام ، تبين أن المنشور أكثر من مرجع ، ولكن من خلال منظور حالة عمل محددة. حاولت أيضًا ترك الروابط ،حيث تبدو ذات صلة لي حتى تتمكن من معرفة المزيد عن تقنية أو نهج معين.

* - المواقع والموارد حيث ينشر المرشحون والمستخدمون أنفسهم معلومات عن أنفسهم. الوصول إلى هذه الموارد غير محدود ، بما في ذلك التراخيص وشروط الخدمة لهذه الموارد (شروط الخدمة).



مهمة


عادةً ، تعني الأتمتة تحسين العملية. في حالتنا ، تمت صياغة الهدف على أنه زيادة كفاءة البحث عن المرشحين. يتم التعبير عن الكفاءة في هذه الحالة من خلال إيجاد أنسب الوظائف المرشحة بأقل قدر من الموارد.


, (). , . ( ) , , . : , , , . , .


, : , , , .


— . , . , , .


:


. , . : , , , — . , () .


#1. — One-Hot Encoding (OHE)


, 1 — , 0 — .


هذا النهج بسيط ، ولكن له العديد من العيوب. ربما كانت المشكلة الرئيسية لهذا النهج هي أن المهارات في المساحة التي يتم الحصول عليها بمساعدته ستكون متعامدة مع بعضها البعض ، ولن نتمكن من مقارنة أوجه التشابه بينها. على الأرجح ، ليس من المهم بالنسبة لنا أن نميز بين مهارات مثل Java7 و Java8 ، على سبيل المثال ، وسيكون من الجيد تمييزهم عن المهارات الأخرى التي لا علاقة لها تمامًا بوضع مطور جافا. باستخدام هذا النهج ، ستكون Java7 من Java8 هي نفسها Java7 من Python.

بالإضافة إلى ذلك ، فإن عيب هذا النهج هو أنه لا يمكننا التمييز بين المهارات المحددة والشعبية الشائعة في العينة. هذا سيحدث ضجيجًا معينًا في بحثنا ويتداخل مع تمييز المرشحين وإبراز المرشحين المتشابهين.


من الطرق السهلة لتعديل تأثير المهارات الشائعة قليلاً على البحث عدم استخدام التقديرات الثنائية ، بل التقديرات الموزونة بناءً على تكرار الحدوث في العينة ككل وفي مستندات منفصلة. للقيام بذلك ، استخدم طريقة TF-IDF . ولكن في هذه الحالة ، ما زلنا لا نستطيع تقييم مدى تشابه المهارات مع بعضها البعض.


الطريقة رقم 2. عامل المصفوفة


تمثيل المرشحين في الفضاء ، حيث كل مهارة هي إحداثيات الفضاء ، زائدة عن الحاجة ، كجزء من المهارات متطابقة تقريبًا. وبناءً على ذلك ، يمكن أن تنهار مهارات مماثلة في بعض العوامل / المكونات / الأعراض الكامنة. نهج واحد لإيجاد مثل هذه المكونات هو مجموعة من طرق عامل المصفوفة .


User-Skills , . . — (skills’ embedding). , — , , .


, , . , . — , . , .


, , .


#3.





, . , — . , , , , ( supervised ), , , , , , , (unsupervised ). .


, . , , , .


— , .


,

StarSpace. «», . , , , , , .

, , . , .

#4.


, — .


, . , , — , — . , — . — - — , , . , , .



, — .


العقد - على سبيل المثال ، يمكن أن يكون المرشحون متشابهين إلى حد ما مع بعضهم البعض ، أو يكونون في نفس المجتمع ، أو يشتركون في مصالح مشتركة ، أو يعملون في نفس الشركة أو لديهم خصائص متطابقة أخرى - هذا هو المسؤول عن خاصية التوحيد. من ناحية أخرى ، يمكن توحيد عقد المجموعات المختلفة بحقيقة أنها تلعب نفس الدور في مجموعاتها - القادة ، القادة المساعدين ، أوصياء المعلومات ، المتواصلون ، الغرباء. إذا أردنا مقارنة رسمين بيانيين ، يمكننا أن نفهم أن القادة في عمود واحد يلعبون نفس الدور الذي يلعبه القادة في عمود آخر - وهذا ما يسمى التشابه الهيكلي.


بطريقة أو بأخرى ، تحاول طرق تمثيل الرسم البياني إنشاء مسافة مع مراعاة كل من التماثل والمعادلة الهيكلية للرسم البياني.


عامل الرسم البياني


بادئ ذي بدء ، نعتبر طريقة تعتمد على عامل الرسم البياني.

, : , .. — 1, — 0. , .


, .


a-like word2vec*


( , ) . , , , . . , , . , — w2v(skip-gram), doc2vec. ( word2vec).


يمكنك قراءة المزيد حول طرق تمثيل الرسم البياني المتشابهة ، على سبيل المثال ، هنا - DeepWalk ، Node2vec ، Graph2vec .


مصدر

الشبكات التلافيفية على الرسوم البيانية


إليك فكرة مشابهة للطريقة السابقة: نراجع الرسم البياني ونستخدم المعلومات حول جيرانها لتمثيل عقدة واحدة. بالإضافة إلى ذلك ، يتم تضمين المعلومات حول الهيكل العام للرسم البياني وخصائص العقدة في تدريب التمثيل. الابتكار الرئيسي لهذه الطرق هو أن النموذج يقوم بتطبيع قيم كل عقدة بطريقة تجعل الموضع في المساحة الكامنة للعقدتين أقرب ، وكلما تشابهت الأدوار الهيكلية لهذه العقد في الرسم الفرعي.


هذا الإجراء يسمى طي الرسم البياني.



مزيد من التفاصيل يمكن العثور عليها هنا:


,

PyTorch BigGraph — Facebook Research. , . , , .

:


: — , . , , , .


, — IT-. , , IT-, (.. ), , .


GitHub (github.com, Terms of Service), . , GitHub API GitHub Archive, GitHub , .

GitHub . : ( , ), , , , , (), , , , , , .


GitHub , , . - , ; (), , . , , .




GitHub, embedding, .. . , .




.




, embedding.




embedding , , — .




. .


, GitHub , . , , , .




4 , , 5 . , , , , : Java, JavaScript, Python, DevOps, Data Science. 3500 . , , 35% , 65% — . , . , , Java Developer — 60%, , , . , DevOps, , . , — 25,5% .


ما حققناه


  • يمكن مقارنة النسبة المئوية للمرشحين ذوي الصلة التي أوصى بها النموذج مع النسبة المئوية للأنظمة الأخرى ، بما في ذلك موارد البحث عن الوظائف.
  • كان من الممكن زيادة القاعدة الداخلية للمرشحين بعدة مئات ، بإضافة مصدر لم يكن مشتركًا من قبل.
  • تم تقليل الوقت المستغرق للعثور على مرشح واحد بنسبة 29٪ مقارنة بمصادر البحث "الباردة" الأخرى (أي المصادر التي لا يتم استخدامها للبحث المباشر عن وظيفة).
  • تمكنا من معالجة الطلبات بمهارات نادرة بشكل أكثر كفاءة.
  • وتوظيف عدد قليل من كبار المهندسين الذين لم يكونوا في بحث نشط عن وظيفة.

ما أود تحسينه


الحل الناتج له عيوب لم نتمكن بعد من حلها:
  • لا يوجد حتى الآن حل جيد لتقييم مستوى إتقان المرشحين.
  • GitHub , .
  • , , GitHub.
  • , .


, , , , .


, , , .


All Articles