Berdasarkan jabatan, deskripsi pekerjaan, dan sektor pekerjaan, algoritme ini menetapkan kode klasifikasi pekerjaan standar (SOC) Inggris sebanyak 3 digit pada pekerjaan tersebut. Algoritmenya menggunakan standar SOC 2010 , rincian selengkapnya dapat ditemukan di situs web ONS.
Kode ini aslinya ditulis oleh Jyldyz Djumalieva, Arthur Turrell, David Copple, James Thurgood, dan Bradley Speigner. Martin Wood telah memberikan pembaruan dan peningkatan kode terkini.
Jika Anda menggunakan kode ini harap kutip:
Turrell, A., Speigner, B., Djumalieva, J., Copple, D., & Thurgood, J. (2019). Mengubah Data Teks yang Terjadi Secara Alami Menjadi Statistik Ekonomi: Kasus Postingan Lowongan Kerja Online (No. w25837). Biro Riset Ekonomi Nasional.
@techreport{turrell2019transformasi, title={Mengubah data teks yang muncul secara alami menjadi statistik ekonomi: Kasus postingan lowongan kerja online}, penulis={Turrell, Arthur dan Speigner, Bradley dan Djumalieva, Jyldyz dan Copple, David dan Thurgood, James}, tahun={2019}, institusi={Biro Riset Ekonomi Nasional} }
Lihat setup.py untuk daftar lengkap paket Python.
okupasicoder dibangun di atas NLTK dan menggunakan 'Wordnet' (sebuah corpora, nomor 82 dalam daftar mereka) dan Model Punkt Tokenizer (nomor 106 dalam daftar mereka). Ketika pembuat kode dijalankan, ia akan menemukannya di direktori biasa. Jika Anda telah menginstal nltk, Anda bisa mendapatkannya corpora menggunakan nltk.download()
yang akan menginstalnya di direktori yang tepat atau Anda dapat mengunjungi http://www.nltk.org/nltk_data/ untuk mengunduhnya secara manual (dan ikuti petunjuk di bawah ini). petunjuk pemasangan).
Beberapa paket lainnya, seperti rapidfuzz tidak disertakan dengan distribusi Python Anaconda. Anda dapat menginstalnya melalui pip (jika Anda memiliki akses ke internet) atau mengunduh binari yang relevan dan menginstalnya secara manual.
occupationcoder/coder.py
menerapkan kode SOC ke deskripsi pekerjaanoccupationcoder/cleaner.py
berisi fungsi pembantu yang sebagian besar memanipulasi stringoccupationcoder/createdictionaries
mengubah indeks kode SOC ONS menjadi kamus yang digunakan oleh occupationcoder/coder.py
occupationcoder/dictionaries
berisi kamus yang digunakan oleh occupationcoder/coder.py
occupationcoder/outputs
adalah direktori keluaran defaultoccupationcoder/tests/test_vacancies.csv
berisi lowongan 'tes' untuk menjalankan kode, digunakan oleh unittests, dapat diakses oleh Anda!Unduh paketnya dan arahkan ke direktori unduhan. Kemudian gunakan
python setup.py sdist
cd dist
pip install occupationcoder- < version > .tar.gz
Baris pertama membuat file .tar.gz, baris kedua menavigasi ke direktori dengan kode paket di dalamnya, dan baris ketiga menginstal paket tersebut. Nomor versi yang digunakan akan terlihat dari nama file .tar.gz.
Mengimpor, dan membuat sebuah instance, pembuat kode
import pandas as pd
from occupationcoder . coder import SOCCoder
myCoder = SOCCoder ()
Untuk menjalankan kode dengan satu kueri, gunakan sintaks berikut dengan metode code_record(job_title,job_description,job_sector)
:
if __name__ == '__main__' :
myCoder . code_record ( 'Physicist' , 'Calculations of the universe' , 'Professional scientific' )
Perhatikan bahwa Anda dapat mengosongkan beberapa bidang dan algoritme akan tetap mengembalikan kode SOC.
Untuk menjalankan kode pada file (misalnya nama csv 'job_file.csv') dengan struktur
jabatan_judul | deskripsi_pekerjaan | sektor_pekerjaan |
---|---|---|
Ahli fisika | Membuat perhitungan tentang alam semesta, melakukan penelitian, melakukan eksperimen dan memahami lingkungan fisik. | Kegiatan profesional, ilmiah & teknis |
menggunakan
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' )
Argumen nama kolom bersifat opsional, yang ditunjukkan di atas adalah nilai default. Ini akan mengembalikan kerangka data baru dengan entri kode SOC yang ditambahkan di kolom baru:
jabatan_judul | deskripsi_pekerjaan | sektor_pekerjaan | SOC_kode |
---|---|---|---|
Ahli fisika | Membuat perhitungan tentang alam semesta, melakukan penelitian, melakukan eksperimen dan memahami lingkungan fisik. | Kegiatan profesional, ilmiah & teknis | 211 |
Jika Anda memiliki semua paket yang relevan di persyaratan.txt, unduh kodenya dan navigasikan ke folder pendudukancoder (yang berisi README). Lalu lari
python -m occupationcoder.coder path/to/foo.csv
Ini akan membuat file 'processed_jobs.csv' di folder outputs/ yang memiliki teks asli dan kolom 'SOC_code' tambahan dengan kode SOC yang ditetapkan.
Untuk menjalankan pengujian di lingkungan virtual Anda, gunakan
python -m unittest
di direktori okupasicoder tingkat atas. Lihat di test_occupationcoder.py
untuk mengetahui apa yang dijalankan dan contoh penggunaan. Outputnya muncul di file 'processed_jobs.csv' di folder outputs/.
Kami sangat berterima kasih kepada Emmet Cassidy karena telah menguji algoritma ini.
Kode ini diberikan 'sebagaimana adanya'. Kami akan senang jika Anda memperbaikinya atau memperluasnya agar dapat diterapkan di negara lain. Semua pandangan yang diungkapkan adalah pandangan pribadi kami, bukan pendapat perusahaan mana pun.
Pengembangan paket ini didukung oleh Bank of England.
Paket ini dibuat dengan Cookiecutter dan templat proyek audreyr/cookiecutter-pypackage.