بالنظر إلى المسمى الوظيفي والوصف الوظيفي وقطاع الوظيفة، تقوم الخوارزمية بتعيين رمز التصنيف المهني القياسي (SOC) في المملكة المتحدة المكون من 3 أرقام للوظيفة. تستخدم الخوارزمية معيار SOC 2010 ، ويمكن الاطلاع على مزيد من التفاصيل على موقع ONS الإلكتروني.
تمت كتابة هذا الرمز في الأصل بواسطة جيلديز جومالييفا وآرثر توريل وديفيد كوبل وجيمس ثورجود وبرادلي سبينر. قدم Martin Wood تحديثات وتحسينات أحدث للتعليمات البرمجية.
إذا كنت تستخدم هذا الرمز يرجى ذكر:
توريل، أ.، سبينر، ب.، دجوماليفا، ج.، كوبل، د.، وثورغود، ج. (2019). تحويل البيانات النصية التي تحدث بشكل طبيعي إلى إحصاءات اقتصادية: حالة إعلانات الوظائف الشاغرة عبر الإنترنت (رقم w25837). المكتب الوطني للبحوث الاقتصادية.
@techreport{turrell2019transforming, title={تحويل البيانات النصية التي تحدث بشكل طبيعي إلى إحصاءات اقتصادية: حالة إعلانات الوظائف الشاغرة عبر الإنترنت}, المؤلف={توريل، آرثر وسبينر، برادلي وجوماليفا، جيلديز وكوبل، ديفيد وثورغود، جيمس}، العام={2019}, المؤسسة={المكتب الوطني للبحوث الاقتصادية} }
راجع setup.py للحصول على قائمة كاملة بحزم Python.
تم بناء الاحتلال على رأس NLTK ويستخدم "Wordnet" (مجموعة، رقم 82 في قائمتهم) ونماذج Punkt Tokenizer (رقم 106 في قائمتهم). عند تشغيل برنامج التشفير، فإنه يتوقع العثور على هذه الملفات في أدلةه المعتادة. إذا قمت بتثبيت nltk، فيمكنك الحصول عليها باستخدام nltk.download()
الذي سيقوم بتثبيتها في الأدلة الصحيحة أو يمكنك الانتقال إلى http://www.nltk.org/nltk_data/ لتنزيلها يدويًا (واتبع تعليمات التثبيت).
بعض الحزم الأخرى، مثل Rapidfuzz، لا تأتي مع توزيعة Anaconda من Python. يمكنك تثبيتها عبر النقطة (إذا كان لديك إمكانية الوصول إلى الإنترنت) أو تنزيل الثنائيات ذات الصلة وتثبيتها يدويًا.
occupationcoder/coder.py
رموز SOC على الأوصاف الوظيفيةoccupationcoder/cleaner.py
على وظيفة مساعدة تتعامل في الغالب مع السلاسلoccupationcoder/createdictionaries
يحول فهرس ONS الخاص برمز SOC إلى قواميس يستخدمها occupationcoder/coder.py
occupationcoder/dictionaries
على القواميس التي يستخدمها occupationcoder/coder.py
occupationcoder/outputs
هو دليل الإخراج الافتراضيoccupationcoder/tests/test_vacancies.csv
على وظائف شاغرة "اختبارية" لتشغيل الكود عليها، وتستخدمها Unittests، ويمكن الوصول إليها بواسطتك!قم بتنزيل الحزمة وانتقل إلى دليل التنزيل. ثم استخدم
python setup.py sdist
cd dist
pip install occupationcoder- < version > .tar.gz
يقوم السطر الأول بإنشاء ملف .tar.gz، وينتقل الثاني إلى الدليل الذي يحتوي على الكود المعبأ، ويقوم السطر الثالث بتثبيت الحزمة. سيكون رقم الإصدار المطلوب استخدامه واضحًا من اسم الملف .tar.gz.
استيراد وإنشاء مثيل للمبرمج
import pandas as pd
from occupationcoder . coder import SOCCoder
myCoder = SOCCoder ()
لتشغيل التعليمات البرمجية باستخدام استعلام واحد، استخدم بناء الجملة التالي مع أسلوب code_record(job_title,job_description,job_sector)
:
if __name__ == '__main__' :
myCoder . code_record ( 'Physicist' , 'Calculations of the universe' , 'Professional scientific' )
لاحظ أنه يمكنك ترك بعض الحقول فارغة وستستمر الخوارزمية في إرجاع رمز SOC.
لتشغيل التعليمات البرمجية على ملف (على سبيل المثال، اسم CSV 'job_file.csv') مع البنية
مسمى وظيفي | المسمى الوظيفي | job_sector |
---|---|---|
فيزيائي | إجراء حسابات حول الكون وإجراء الأبحاث وإجراء التجارب وفهم البيئة المادية. | الأنشطة المهنية والعلمية والتقنية |
يستخدم
df = pd . read_csv ( 'path/to/foo.csv' )
df = myCoder . code_data_frame ( df , title_column = 'job_title' , sector_column = 'job_sector' , description_column = 'job_description' )
تعتبر وسيطات اسم العمود اختيارية، والموضحة أعلاه هي القيم الافتراضية. سيؤدي هذا إلى إرجاع إطار بيانات جديد مع إدخالات رمز SOC الملحقة في عمود جديد:
مسمى وظيفي | المسمى الوظيفي | job_sector | SOC_code |
---|---|---|---|
فيزيائي | إجراء حسابات حول الكون وإجراء الأبحاث وإجراء التجارب وفهم البيئة المادية. | الأنشطة المهنية والعلمية والتقنية | 211 |
إذا كانت لديك جميع الحزم ذات الصلة في ملف require.txt، فقم بتنزيل الكود وانتقل إلى مجلد الاحتلال (الذي يحتوي على ملف README). ثم اركض
python -m occupationcoder.coder path/to/foo.csv
سيؤدي هذا إلى إنشاء ملف "processed_jobs.csv" في مجلد المخرجات/ الذي يحتوي على النص الأصلي وعمود "SOC_code" إضافي مع رموز SOC المخصصة.
لإجراء الاختبارات في بيئتك الافتراضية، استخدم
python -m unittest
في دليل المبرمج الوظيفي ذي المستوى الأعلى. ابحث في test_occupationcoder.py
عن ما يتم تشغيله وعن أمثلة للاستخدام. يظهر الإخراج في ملف "processed_jobs.csv" في مجلد المخرجات/.
نحن ممتنون جدًا لـ Emmet Cassidy لاختبار هذه الخوارزمية.
يتم توفير هذا الرمز "كما هو". سنكون سعداء إذا قمت بتحسينه أو توسيع نطاقه ليعمل في بلدان أخرى. جميع الآراء المعبر عنها هي آراءنا الشخصية، وليست آراء أي صاحب عمل.
تم دعم تطوير هذه الحزمة من قبل بنك إنجلترا.
تم إنشاء هذه الحزمة باستخدام Cookiecutter وقالب مشروع audreyr/cookiecutter-pypackage.