يملك الاستشارات بيانات علمية دامغة السيد 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 أجزاء من تشغيل التعليمات البرمجية.
استئناف قراءة تلقائياكود استئناف تلقائيا بفتح ويوزع محتواه بدلا من عرض كل استئناف يدويا، فإنه كثيرا انقاذ على تكاليف العمالة.
مطابقة العبارة وتصنيف
عندما يقرأ اصطناعية سيرتك الذاتية، وأنه من الصعب تحديد ما إذا كان الباحث عن عمل هو خبير في التعلم الآلي وهندسة البيانات، لأننا لا يجب أن نعول على هذه العبارة في وقت القراءة. كلمات البحث كود الوحيدة للمحتوى الذي يظهر التسمية، وتصنيف.
التصور البيانات
التصور البيانات هو جانب هام للغاية. فإنه يسرع عملية صنع القرار من خلال الطرق التالية:
نحن نعلم الذي الباحثين عن عمل فئة أكثر تحديدا من الكلمات الرئيسية، من أجل نستنتج أنه / أنها قد يكون لها ثروة من الخبرة تلك الفئة أو من المحتمل أن يكون اختصاصي.
يمكننا إجراء مقارنات بين الباحثين عن عمل لمساعدتنا تصفية المرشحين غير مرغوب فيه.
كيفية تطوير السيرة الذاتية أكثر قدرة على المنافسة؟العديد من الشركات ربما بالفعل استخدام التعليمات البرمجية أعلاه للباحثين عن عمل الشاشة. لذا، إذا كنت تسير على وظيفة أو تبحث عن عمل، وأنا أقترح عليك أن تعمل وفقا لمتطلبات محددة، مع الكلمات الرئيسية اللازمة لتخصيص سيرتك الذاتية.
العلماء بيانات نموذجية، هناك خياران، واحد هو وضع نفسها على أنها اختصاصي، والآخر هو للسماح للناس يشعرون بأنهم خبراء في مجال معين، مثل البرمجة اللغوية العصبية. وفقا لمتطلبات العمل، يمكنك تشغيل هذا الرمز على سيرتك الذاتية، وتعلم الكلمات الرئيسية التي تظهر حتى أكثر من ذلك. ووفقا لالإخراج، يمكنك تعديل مزيد استئناف لتحديد المواقع أفضل من تلقاء نفسها.