เมื่อระบุตำแหน่งงาน รายละเอียดงาน และภาคส่วนงาน อัลกอริธึมจะกำหนดรหัสการจำแนกประเภทอาชีพ (SOC) มาตรฐานสหราชอาณาจักร 3 หลักให้กับงาน อัลกอริทึมใช้มาตรฐาน SOC 2010 ดูรายละเอียดเพิ่มเติมได้จากเว็บไซต์ของ ONS
รหัสนี้เขียนโดย Jyldyz Djumalieva, Arthur Turrell, David Copple, James Thurgood และ Bradley Speigner Martin Wood ได้จัดเตรียมการอัปเดตและการปรับปรุงโค้ดล่าสุด
หากคุณใช้รหัสนี้กรุณาอ้างอิง:
Turrell, A., Speigner, B., Djumalieva, J., Copple, D., & Thurgood, J. (2019) การแปลงข้อมูลข้อความที่เกิดขึ้นตามธรรมชาติให้เป็นสถิติทางเศรษฐกิจ: กรณีของการโพสต์ตำแหน่งงานออนไลน์ (หมายเลข w25837) สำนักงานวิจัยเศรษฐกิจแห่งชาติ.
@techreport{turrell2019การเปลี่ยนแปลง title={การแปลงข้อมูลข้อความที่เกิดขึ้นตามธรรมชาติให้เป็นสถิติทางเศรษฐกิจ: กรณีของการโพสต์ตำแหน่งงานออนไลน์}, ผู้แต่ง={เทอร์เรลล์, อาเธอร์และสเปียนเนอร์, แบรดลีย์และดจูมาลิเอวา, จิลดิซและคอปเปิล, เดวิดและเธอร์กู๊ด, เจมส์}, ปี={2019}, สถาบัน={สำนักงานวิจัยเศรษฐกิจแห่งชาติ} -
ดู setup.py สำหรับรายการแพ็คเกจ Python ทั้งหมด
Occupationcoder สร้างขึ้นบน NLTK และใช้ 'Wordnet' (corpora หมายเลข 82 ในรายการ) และ Punkt Tokenizer Models (หมายเลข 106 ในรายการ) เมื่อรันโค้ดเดอร์ ก็คาดว่าจะพบสิ่งเหล่านี้ในไดเร็กทอรีตามปกติ หากคุณติดตั้ง nltk คุณสามารถดาวน์โหลด corpora ได้โดยใช้ nltk.download()
ซึ่งจะติดตั้งในไดเร็กทอรีที่ถูกต้อง หรือคุณสามารถไปที่ http://www.nltk.org/nltk_data/ เพื่อดาวน์โหลดด้วยตนเอง (และปฏิบัติตาม คำแนะนำในการติดตั้ง)
แพ็คเกจอื่นๆ สองสามรายการ เช่น Rapidfuzz ไม่ได้มาพร้อมกับการกระจาย Python ของ Anaconda คุณสามารถติดตั้งสิ่งเหล่านี้ผ่าน pip (หากคุณสามารถเข้าถึงอินเทอร์เน็ต) หรือดาวน์โหลดไบนารีที่เกี่ยวข้องและติดตั้งด้วยตนเอง
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_description | งาน_ภาค |
---|---|---|
นักฟิสิกส์ | คำนวณเกี่ยวกับจักรวาล ค้นคว้า ทำการทดลอง และทำความเข้าใจสภาพแวดล้อมทางกายภาพ | กิจกรรมทางวิชาชีพ วิทยาศาสตร์ และทางเทคนิค |
ใช้
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' )
อาร์กิวเมนต์ชื่อคอลัมน์เป็นทางเลือก ซึ่งแสดงไว้ด้านบนเป็นค่าเริ่มต้น สิ่งนี้จะส่งคืน dataframe ใหม่พร้อมรายการรหัส SOC ต่อท้ายคอลัมน์ใหม่:
ตำแหน่งงาน | job_description | งาน_ภาค | SOC_รหัส |
---|---|---|---|
นักฟิสิกส์ | คำนวณเกี่ยวกับจักรวาล ค้นคว้า ทำการทดลอง และทำความเข้าใจสภาพแวดล้อมทางกายภาพ | กิจกรรมทางวิชาชีพ วิทยาศาสตร์ และทางเทคนิค | 211 |
หากคุณมีแพ็คเกจที่เกี่ยวข้องทั้งหมดใน Requirement.txt ให้ดาวน์โหลดโค้ดและไปที่โฟลเดอร์ Occupationcoder (ซึ่งมี README) จากนั้นจึงวิ่ง
python -m occupationcoder.coder path/to/foo.csv
สิ่งนี้จะสร้างไฟล์ 'processed_jobs.csv' ในโฟลเดอร์ outputs/ ซึ่งมีข้อความต้นฉบับและคอลัมน์ 'SOC_code' พิเศษพร้อมรหัส SOC ที่กำหนด
หากต้องการรันการทดสอบในสภาพแวดล้อมเสมือนของคุณ ให้ใช้
python -m unittest
ในไดเรกทอรี Occupationcoder ระดับบนสุด ดูใน test_occupationcoder.py
ว่ามีอะไรบ้างที่รันและตัวอย่างการใช้งาน เอาต์พุตจะปรากฏในไฟล์ 'processed_jobs.csv' ในโฟลเดอร์ outputs/
เราขอขอบคุณ Emmet Cassidy เป็นอย่างยิ่งสำหรับการทดสอบอัลกอริทึมนี้
รหัสนี้มีให้ 'ตามที่เป็น' เราจะยินดีเป็นอย่างยิ่งหากคุณทำให้ดีขึ้นหรือขยายออกไปทำงานในประเทศอื่นๆ มุมมองทั้งหมดที่แสดงออกมาเป็นความคิดเห็นส่วนตัวของเรา ไม่ใช่ความคิดเห็นของนายจ้างใดๆ
การพัฒนาแพ็คเกจนี้ได้รับการสนับสนุนจากธนาคารแห่งอังกฤษ
แพ็คเกจนี้สร้างขึ้นด้วย Cookiecutter และเทมเพลตโครงการ audreyr/cookiecutter-pypackage