1 دقيقة 200 نسخة من سيرتك الذاتية! NLP كيفية فحص بسرعة أفضل المرشحين

يملك الاستشارات بيانات علمية دامغة السيد A، مؤخرا التقيت شيء صعب.

انه يحتاج الى تجنيد اثنين من العلماء البيانات لإكمال مشروع الجودة، حتى انه سيتم وضعها على LinkdIn العمل. والمثير للدهشة، وقال انه تلقى حتى ما يقرب من 200 طلب للوظائف الذاتية.

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

في الواقع، هذه القضية يمكن التعامل معها (NLP) التقنيات في اللغة الطبيعية إلى حل، على الأقل يمكنك اختصار الوقت الذاتية التصفح.

الطلب

أولا، دعونا ننظر في في متطلبات محددة التوظيف:

دراسة متعمقة من المهارات الأساسية، وغيرها من خوارزميات تعلم الآلة فهم الناس.

هل لديك بيانات كبيرة أو المهارات الهندسية، مثل سكالا، AWS، عمال الموانئ، Kubernetes أشخاص آخرين.

طريقة

فهم متطلبات محددة التوظيف، يمكننا تصميم حل لهذه المشكلة:

إنشاء القاموس أو الجدول يحتوي على جميع فئات المهارات، مثل عبارة "keras، tensorflow، CNN، RNN" عمود في "التعلم العميق" في.

عن طريق خوارزميات معالجة اللغات الطبيعية لتحليل سيرتك الذاتية والبحث عن الكلمات الرئيسية أو شكل القاموس المذكورة أعلاه.

ثم نحصي عدد كل فئة تظهر الكلمة. كما هو مبين أدناه:

A الباحثين عن العمل وهو موضح في هذا الجدول تريد "لفهم عمق التعلم عالم البيانات" متسقة للغاية.

* المعلومات الواردة أعلاه بطريقة مرئية لإظهار ذلك، حتى أن الباحثين عن عمل تم فحص.

دراسة

وقد تم تحديد الطريقة تقريبا، فإن التحدي التالي هو كيفية تحقيق.

اللغة الطبيعية قسم معالجة --Spacy

سبسي لديه ميزة تسمى "عبارة المنظر" (https://spacy.io/api/phrasematcher)، لتلبية الاحتياجات، مكتبتنا مطابقة عبارة / كلمة.

استئناف القراءة

هناك العديد من حزم البرامج الجاهزة يمكن أن تساعد في قراءة سيرتك الذاتية. منذ تم تلقي السيرة الذاتية في شكل PDF، حتى نتمكن من استخدام حزمة التثبيت PDF، مثل PyPDF2.

اللغة: بيثون

التصور البيانات: Matplotlib

تفسير رمز

رمز كاملة

هنا هو الكامل كود رابط جست:

#Resume العبارة كود المنظر

#importing جميع المكتبات المطلوبة

استيراد PyPDF2

السراج استيراد

من نظام التشغيل listdir استيراد

من os.path isfile الاستيراد والانضمام

من الإعلام والتوعية استيراد StringIO

الباندا الواردات والمشتريات

من مجموعات استيراد عداد

en_core_web_sm استيراد

البرمجة اللغوية العصبية = en_core_web_sm.load ()

من spacy.matcher PhraseMatcher استيراد

#Function لقراءة السيرة الذاتية من واحد مجلد واحد

mypath = 'D: / NLP_Resume / المرشح استئناف "#enter المسار الخاص بك هنا حيث يمكنك حفظ السير الذاتية

onlyfiles =

pdfextract صفر (ملف):

 fileReader = PyPDF2.PdfFileReader (مفتوحة (ملف، "م ع"))

 countpage = fileReader.getNumPages ()

 عد = 0

 نص =

 بينما العد <  countpage:

 pageObj = fileReader.getPage (العد)

 عد + 1 =

 ر = pageObj.extractText ()

 طباعة (ر)

 text.append (ر)

 النص عودة

#function لقراءة الغايات الذاتية

#function أن يفعل العبارة المطابقة ويبني الشخصية المرشحة

create_profile صفر (ملف):

 النص = pdfextract (ملف)

 النص = شارع (النص)

 النص = text.replace ( "\ ن"، "")

 النص = text.lower ()

 #below هو CSV حيث لدينا جميع الكلمات الرئيسية، يمكنك تخصيص بنفسك

 keyword_dict = pd.read_csv ( 'D: /NLP_Resume/resume/template_new.csv')

 stats_words =

 NLP_words =

 ML_words =

 DL_words =

 R_words =

 python_words =

 Data_Engineering_words =

 المنظر = PhraseMatcher (nlp.vocab)

 matcher.add ( "إحصائيات"، لا شيء، * stats_words)

 matcher.add ( 'NLP "، لا شيء، * NLP_words)

 matcher.add ( 'ML "، لا شيء، * ML_words)

 matcher.add ( 'DL'، لا شيء، * DL_words)

 matcher.add ( 'R'، لا شيء، * R_words)

 matcher.add ( 'بايثون "، لا شيء، * python_words)

 matcher.add ( 'DE'، لا شيء، * Data_Engineering_words)

 وثيقة = البرمجة اللغوية العصبية (النص)

 د =

 مباريات = المنظر (وثيقة)

 لmatch_id، بداية، تنتهي في المباريات:

 rule_id = nlp.vocab.strings  # الحصول على ID يونيكود، أي "لون"

 فترة = ثيقة  # الحصول على شريحة مطابقة للوثيقة

 d.append ((rule_id، span.text))

 كلمات = "\ ن" .join (و '{ط } {ط } ({ي}) "لط، ي في عداد (د). عناصر ())

 ## سلسلة convertimg من الكلمات الرئيسية لdataframe

 مدافع = pd.read_csv (StringIO (كلمة مرور)، وأسماء = )

 DF1 = pd.DataFrame (df.Keywords_List.str.split ( ''، 1) .tolist ()، والأعمدة = )

 DF2 = pd.DataFrame (df1.Keyword.str.split ( '('، 1) .tolist ()، والأعمدة = )

 df3 = pd.concat ( ، محور = 1)

 df3 = df3 تطبيق. (لامدا س: x.rstrip ( ")"))

 قاعدة = os.path.basename (ملف)

 اسم الملف = os.path.splitext (القاعدة)

 اسم = filename.split ( '_')

 NAME2 = اسم

 NAME2 = name2.lower ()

 ## تحويل شارع لdataframe

 NAME3 = pd.read_csv (StringIO (NAME2)، وأسماء = )

 dataf = pd.concat ( ، محور = 1)

 dataf . fillna (dataf . iloc ، inplace = صحيح)

 عودة (dataf)

ينتهي #function

#code لتنفيذ / استدعاء وظائف أعلاه

final_database = pd.DataFrame ()

ط = 0

بينما كنت <  ليون (onlyfiles):

 ملف = onlyfiles

 دات = create_profile (ملف)

 final_database = final_database.append (دات)

 ط + 1 =

 طباعة (final_database)

#code لحساب الكلمات تحت كل فئة وvisulaize من خلال Matplotlib

final_database2 = final_database . groupby ( ). عدد (). Unstack ()

final_database2.reset_index (inplace = صحيح)

final_database2.fillna (0، inplace = صحيح)

new_data = final_database2.iloc

new_data.index = final_database2

#execute وتحت خط إذا كنت ترغب في مشاهدة الوضع مرشح في تنسيق CSV

# Sample2 = new_data.to_csv ( 'sample.csv')

matplotlib.pyplot استيراد كما معاهدة قانون البراءات

plt.rcParams.update ({ 'font.size': 10})

الفأس = new_data.plot.barh (عنوان = "المصطلحات استئناف حسب الفئة"، أسطورة = خطأ، figsize = (25،7)، مكدسة = صحيح)

تسميات =

لي في new_data.columns:

 لأنني في new_data.index:

 التسمية = شارع (ي) + ":" + شارع (new_data.loc )

 labels.append (التسمية)

بقع = ax.patches

لالتسمية، المستطيل في الرمز البريدي (تسميات، والبقع):

 العرض = rect.get_width ()

 إذا عرض >  0:

 س = rect.get_x ()

 ذ = rect.get_y ()

 ارتفاع = rect.get_height ()

 ax.text (س + عرض / 2. والطول ذ + / 2.، والتسمية، ها = 'مركز'، فا = 'مركز')

plt.show ()

الآن، لدينا رمز بأكمله.

وينبغي التأكيد على أمرين:

CSV الكلمات الرئيسية

في الأسطر 44 الأولى من التعليمات البرمجية، ويسمى CSV الكلمة template_new.csv، يمكنك استبدال ذلك (وإجراء التغييرات اللازمة على القانون) مع قاعدة البيانات الخاصة بهم من خيار، ولكن لبساطة، اخترنا رأ excelsheet (CSV) . كلمة تحت كل فئة يمكن تكييفها مع قائمة الكلمات الشخصية مطابقة التالية.

الباحثين عن عمل - جدول الكلمات الرئيسية

سوف تشغيل 114 سطر من الكود إنشاء ملف CSV، عد المرشحين فئة الكلمة الرئيسية (اسمه الحقيقي مخفي الطلب) سيتم عرض هذا الملف، كما هو مبين أدناه.

هذه النتيجة ليست بديهية، فمن الممكن تصور لهم باستخدام matplotlib:

DE هنا نيابة عن البيانات الهندسية، والآخر هو بديهي

وكما يتبين من الرسم البياني، دوم كوب وفيشر تبدو أكثر مثل الخبراء، في حين أن تظهر للآخرين أن يكون اختصاصي.

قبل ما فعل السيد ويمكن اختيار، فقط من أصل 15 مرشحا استئناف ما يقرب من 200 أجزاء من تشغيل التعليمات البرمجية.

  استئناف قراءة تلقائيا

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

مطابقة العبارة وتصنيف

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

التصور البيانات

التصور البيانات هو جانب هام للغاية. فإنه يسرع عملية صنع القرار من خلال الطرق التالية:

نحن نعلم الذي الباحثين عن عمل فئة أكثر تحديدا من الكلمات الرئيسية، من أجل نستنتج أنه / أنها قد يكون لها ثروة من الخبرة تلك الفئة أو من المحتمل أن يكون اختصاصي.

يمكننا إجراء مقارنات بين الباحثين عن عمل لمساعدتنا تصفية المرشحين غير مرغوب فيه.

كيفية تطوير السيرة الذاتية أكثر قدرة على المنافسة؟

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

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

هو عليه، "مقاتلة المحمول" هو العودة

الاعصار "مانغوستين" من اسمه؟ وكيف اسمه؟

9 سنوات منذ اليوم اورانج 3-0، منهيا 32 عاما العديد محرجة كوريا

تعطيك 3599 يوان، يمكنك شراء أحدث الرائد المحلي أو عفا عليها الزمن فون 7؟

العاصمة القديمة لمهرجان الصينية فانوس السنة الجديدة الستار مشرق، مضاءة السماء الزرقاء داتونغ

هوندا لإطلاق دراجة نارية الكهربائية خصيصا للصين: 7988 يوان التحمل 60KM

بقرة! قدم وو لي 1 الى 2 من ركلة جزاء! موقع الصين واسبانيا والمشجعين لديهم مرحبا

الجاز الصاعد تألق صديقة الشمس، لعن بعيدا عن الخبث أصدقاء من الذكور Lianxiangxiyu

قصف مجد V20 الاداءات التعرض: الكاميرا، وكاميرا مزدوجة في الجزء الخلفي من أسلوب أنيق الشاشة الأمامية

المالك، إلى الأبد العبادة، وأصبح QQ الحيوانات الأليفة رسميا الشباب الكلاسيكية

المكونات مسكن للألم "ايبوبروفين" مكتشف توفي المستخدمين: العديد من النساء حياته ل

بكى؟ الأرز الأحمر Note5 MIUI10 وقفة ثابتة دفع! زيادة كبيرة في استهلاك الطاقة بعد الترقية