Pengekstrakan data CV
Pengenalan
Apabila menghadiri wawancara kerja atau pengambilan pekerja untuk sebuah syarikat besar, mengkaji setiap CV secara terperinci sering tidak praktikal kerana jumlah pemohon yang tinggi. Sebaliknya, memanfaatkan pengekstrakan data CV untuk memberi tumpuan kepada bagaimana keperluan pekerjaan utama sejajar dengan CV calon boleh membawa kepada perlawanan yang berjaya untuk majikan dan calon.
Bayangkan label profil anda diperiksa -tidak perlu bimbang! Sekarang mudah untuk menilai kesesuaian anda untuk kedudukan dan mengenal pasti sebarang jurang dalam kelayakan anda berbanding dengan keperluan pekerjaan.
Sebagai contoh, jika kerja siaran kerja menyoroti pengalaman dalam pengurusan projek dan kemahiran dalam perisian tertentu, calon harus memastikan kemahiran ini dapat dilihat dengan jelas pada CV mereka. Pendekatan yang disasarkan ini membantu mengupah pengurus dengan cepat mengenal pasti pemohon yang berkelayakan dan memastikan calon dianggap sebagai kedudukan di mana mereka dapat berkembang maju.
Dengan menekankan kelayakan yang paling relevan, proses pengambilan pekerja menjadi lebih cekap, dan kedua -dua pihak boleh mendapat manfaat daripada yang baik. Syarikat itu mendapati bakat yang tepat lebih cepat, dan calon lebih cenderung untuk memainkan peranan yang sesuai dengan kemahiran dan pengalaman mereka.
Hasil pembelajaran
- Memahami kepentingan pengekstrakan data dari CVS untuk automasi dan analisis.
- Memperoleh kemahiran dalam menggunakan perpustakaan python untuk pengekstrakan teks dari pelbagai format fail.
- Ketahui cara memproses imej untuk meningkatkan ketepatan pengekstrakan teks.
- Terokai teknik untuk mengendalikan kepekaan kes dan menormalkan token dalam teks yang diekstrak.
- Kenal pasti alat utama dan perpustakaan yang penting untuk pengekstrakan data CV yang berkesan.
- Membangunkan kemahiran praktikal dalam mengekstrak teks dari kedua -dua imej dan fail PDF.
- Mengiktiraf cabaran yang terlibat dalam pengekstrakan data CV dan penyelesaian yang berkesan.
Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data.
Jadual Kandungan
- Python
- Perpustakaan: NLTK dan Spacy
- Pytesseract
- Perpustakaan bantal
- Gambar atau fail pdf
- Pdfplumber atau pypdf2
- Pasang mesin OCR Pytesseract.
- Pasang bantal perpustakaan
- PasangNLTK untuk tokenisasi (atau spacy)
- Muat turun jalan tesseract dan konfigurasikan
- Imej pra -proses untuk prestasi OCR yang dipertingkatkan
- Mendapatkan teks dari fail pdf
- Pengekstrakan teks dari pdfplumber
- Menormalkan token untuk konsistensi
- Soalan yang sering ditanya
Alat penting untuk pengekstrakan data CV
Untuk mengekstrak data secara berkesan dari resume dan CVS, memanfaatkan alat yang betul adalah penting untuk menyelaraskan proses dan memastikan ketepatan. Bahagian ini akan menyerlahkan perpustakaan dan teknologi utama yang meningkatkan kecekapan pengekstrakan data CV, yang membolehkan analisis dan pandangan yang lebih baik dari profil calon.
Python
Ia mempunyai perpustakaan atau kaedah yang boleh memecah ayat atau perenggan ke dalam kata -kata. Di Python, anda boleh mencapai tokenisasi perkataan menggunakan perpustakaan dan kaedah yang berbeza, seperti split () (tokenisasi asas) atau toolkit bahasa semulajadi (NLTK) dan perpustakaan spacy untuk tokenisasi yang lebih maju.
Tokenisasi mudah (perpecahan ayat) tidak mengenali tanda baca dan watak khas lain.
ayat = "Hari ini adalah hari yang indah!." ayat.split () ['Hari ini', 'adalah', 'a', 'cantik', 'hari!.']
Perpustakaan: NLTK dan Spacy
Python mempunyai alat yang lebih berkuasa untuk tokenisasi (Alam Semulajadi Toolkit (NLTK).
Dalam NLTK (Alam Semulajadi Toolkit), Tokenizer Punkt secara aktif memaksimumkan teks dengan menggunakan model pra-terlatih untuk pemisahan ayat yang tidak diselia dan tokenisasi perkataan.
Import NLTK nltk.download ('punkt') dari nltk import word_tokenize ayat = "Hari ini adalah hari yang indah!." ayat.split () Cetak (ayat) perkataan = word_tokenize (ayat) cetak (perkataan) [nltk_data] memuat turun pakej punkt ke [nltk_data] c: \ users \ ss529 \ appdata \ roaming \ nltk_data ... Hari ini adalah hari yang indah!. ['Hari ini', 'adalah', 'a', 'cantik', 'hari', '!', '.'] [nltk_data] Pakej punkt sudah terkini!
Ciri -ciri utama Punkt:
- Ia boleh memanfaatkan teks yang diberikan ke dalam ayat dan kata -kata tanpa memerlukan maklumat terdahulu mengenai tatabahasa atau sintaks bahasa.
- Ia menggunakan model pembelajaran mesin untuk mengesan sempadan kalimat, yang berguna dalam bahasa di mana tanda baca tidak secara ketat memisahkan ayat.
Spacy adalah perpustakaan NLP yang maju yang memberikan tokenisasi yang tepat dan ciri pemprosesan bahasa yang lain.
Ekspresi biasa: Tokenisasi adat berdasarkan corak, tetapi memerlukan set manual.
Import Re biasa = "[a-za-z] [\ w]?" Re.Findall (biasa, ayat) ['Hari ini', 'adalah', 'a', 'cantik', 'hari!']
Pytesseract
Ia adalah pengiktirafan aksara optik berasaskan python yang digunakan untuk membaca teks dalam imej.
Perpustakaan bantal
Perpustakaan sumber terbuka untuk mengendalikan pelbagai format imej, berguna untuk manipulasi imej.
Gambar atau fail pdf
Resume mungkin dalam format PDF atau imej.
Pdfplumber atau pypdf2
Untuk mengekstrak teks dari pdf dan tokenize ke dalam kata -kata, anda boleh mengikuti langkah -langkah ini di Python:
- Ekstrak teks dari PDF menggunakan perpustakaan seperti pypdf2 atau pdfplumber.
- Tokenize teks yang diekstrak menggunakan sebarang kaedah tokenisasi, seperti split (), nltk, atau spacy.
Mendapatkan perkataan dari fail atau gambar PDF
Untuk fail PDF kami memerlukan PDF Plumber dan untuk Imej OCR.
Jika anda ingin mengekstrak teks dari imej (bukan PDF) dan kemudian tokenize dan skor berdasarkan kata -kata yang telah ditetapkan untuk bidang yang berbeza, anda boleh mencapai ini dengan mengikuti langkah -langkah ini:
Pasang mesin OCR Pytesseract.
Ia akan mengekstrak teks dari gambar
PIP Pasang Pytesseract Bantal NLTK
Pasang bantal perpustakaan
Ia akan membantu mengendalikan pelbagai imej.
Apabila ia datang kepada pemprosesan imej dan manipulasi dalam python-seperti mengubah saiz, menanam, atau menukar antara format yang berbeza-perpustakaan sumber terbuka yang sering datang ke fikiran adalah bantal.
Mari lihat bagaimana bantal berfungsi, untuk melihat imej dalam buku nota Jupyter saya perlu menggunakan paparan dan kurungan di dalamnya perlu menyimpan pembolehubah yang memegang imej.
dari gambar import pil Image = Image.Open ('art.jfif') paparan (gambar)
Untuk mengubah saiz dan menyimpan imej, kaedah saiz semula dan disimpan digunakan, lebar ditetapkan kepada 400 dan ketinggian hingga 450.
Ciri utama bantal:
- Format Imej- Menyokong Format yang Berbeza
- Fungsi manipulasi imej - seseorang boleh mengubah saiz, imej tanaman, menukar imej warna ke kelabu, dan lain -lain.
PasangNLTK untuk tokenisasi (atau spacy)
Ketahui cara meningkatkan keupayaan pemprosesan teks anda dengan memasang NLTK atau SPACY, dua perpustakaan yang kuat untuk tokenisasi dalam pemprosesan bahasa semula jadi.
Muat turun jalan tesseract dan konfigurasikan
Ketahui cara memuat turun Tesseract dari GitHub dan mengintegrasikannya dengan lancar ke dalam skrip anda dengan menambahkan laluan yang diperlukan untuk fungsi OCR yang dioptimumkan.
pytesseract.pytesseract.tesseract_cmd = 'c: \ Program Files \ tesseract -ocr \ tesseract.exe' '
- MacOS: Brew Pasang Tesseract
- Linux: Pasang melalui Pengurus Pakej (misalnya, sudo apt memasang tesseract-ocr).
- PIP memasang bantal pytesseract
Terdapat beberapa alat di antara mereka adalah tesseract perpustakaan yang dibangunkan, sumber terbuka yang telah menyokong banyak bahasa dan OCR.
Pytesseract digunakan untuk projek berasaskan Python, yang bertindak sebagai pembungkus untuk enjin OCR Tesseract.
Teknik Pengekstrakan Teks Imej dan PDF
Dalam era digital, mengekstrak teks dari imej dan fail PDF telah menjadi penting untuk pelbagai aplikasi, termasuk analisis data dan pemprosesan dokumen. Artikel ini meneroka teknik yang berkesan untuk memproses imej dan memanfaatkan perpustakaan yang kuat untuk meningkatkan pengiktirafan aksara optik (OCR) dan menyelaraskan pengekstrakan teks dari pelbagai format fail.
Imej pra -proses untuk prestasi OCR yang dipertingkatkan
Imej preprocessing dapat meningkatkan prestasi OCR dengan mengikuti langkah -langkah yang disebutkan di bawah.
- Imej ke Grayscale: Imej ditukar menjadi skala kelabu untuk mengurangkan latar belakang yang bising dan mempunyai tumpuan tegas pada teks itu sendiri, dan berguna untuk imej dengan keadaan pencahayaan yang berbeza -beza.
- dari Import Import PIL
- Image = ImageOps.Grayscale (Image)
- Ambang: Sapukan ambang binari untuk membuat teks menonjol dengan menukar imej ke dalam format hitam dan putih.
- Saiz semula: Imej kecil yang lebih kecil untuk pengiktirafan teks yang lebih baik.
- Pembuangan bunyi: Keluarkan bunyi atau artifak dalam imej menggunakan penapis (misalnya, gaussian kabur).
Import NLTK Import Pytesseract dari gambar import pil Import CV2 dari nltk.tokenize import word_tokenize nltk.download ('punkt') pytesseract.pytesseract.tesseract_cmd = r'c: \ users \ ss529 \ anaconda3 \ tesseract -ocr \ tesseract.exe ' Imej = Input ("Nama fail:") imag = cv2.imread (imej) #convert ke gambar skala kelabu kelabu = cv2.cvtcolor (imej, cv2.color_bgr2gray) dari nltk.tokenize import word_tokenize def text_from_image (imej): img = image.open (imag) teks = pytesseract.image_to_string (img) teks kembali imej = 'cv1.png' teks1 = text_from_image (imej) # Tokenkan teks yang diekstrak token = word_tokenize (teks1) Cetak (token)
Untuk mengetahui berapa banyak perkataan yang sepadan dengan keperluan yang akan kita bandingkan dan memberi mata kepada setiap perkataan yang sepadan sebagai 10.
# Membandingkan token dengan kata -kata tertentu, abaikan pendua, dan kirakan skor def sbare_tokens_and_score (token, spesifik_words, score_per_match = 10): match_words = set (word.lower () untuk perkataan dalam token jika word.lower () dalam spesifik_words) total_score = len (fields_keywords) * score_per_match kembali total_score # Bidang dengan kemahiran yang berbeza fields_keywords = { "Data_science_carrier": {'pembelajaran mesin yang diawasi', 'pembelajaran mesin tanpa pengawasan', 'data', 'analisis', 'statistik', 'python'}, } # Skor berdasarkan kata -kata tertentu untuk bidang itu def process_image_for_field (imej, medan): jika medan tidak dalam fields_keywords: cetak (f "field '{field}' tidak ditakrifkan.") kembali # Ekstrak teks dari gambar teks = text_from_image (imej) # Tokenkan teks yang diekstrak token = tokenize_text (teks) # Bandingkan token dengan kata -kata tertentu untuk medan yang dipilih spesifik_words = fields_keywords [medan] total_score = compare_tokens_and_score (token, spesifik_words) cetak (f "medan: {field}") Cetak ("Skor Jumlah:", Total_Score) imej = 'cv1.png' medan = 'data_science_carrier'
Untuk menangani kepekaan kes misalnya, "Sains Data" vs "Sains Data", kita boleh menukar semua token dan kata kunci kepada huruf kecil.
token = word_tokenize (extracted_text.lower ())
Dengan menggunakan lemmatisasi dengan perpustakaan NLP seperti NLTK atau berpunca dengan Spacy untuk mengurangkan kata -kata (misalnya, "berlari" ke "lari")
dari nltk.stem import wordnetlemmatizer Lemmatizer = WordNetLemMatizer () def normalisasi_token (token): kembali [Lemmatizer.LemMatize (token.lower ()) untuk token dalam token]
Mendapatkan teks dari fail pdf
Marilah kita meneroka tindakan yang diperlukan untuk mendapatkan teks dari fail PDF.
Pasang perpustakaan yang diperlukan
Anda memerlukan perpustakaan berikut:
- PYPDF2
- pdfplumber
- Spacy
- nltk
Menggunakan PIP
PIP Pasang Pypdf2 Pdfplumber Nltk Spacy python -m spacy muat turun en_core_web_sm
Pengekstrakan teks dengan pydf2
Import PYPDF2 def text_from_pdf (pdf_file): dengan terbuka (pdf_file, 'rb') sebagai fail: pembaca = pypdf2.pdfreader (fail) teks = "" untuk page_num dalam julat (len (reader.pages)): Page = Reader.pages [page_num] teks = page.extract_text () "\ n" teks kembali
Pengekstrakan teks dari pdfplumber
import pdfplumber def text_from_pdf (pdf_file): dengan pdfplumber.open (pdf_file) sebagai pdf: teks = "" untuk halaman di pdf.pages: teks = page.extract_text () "\ n" teks kembali pdf_file = 'soniasingla-datascience-bio.pdf' # Ekstrak teks dari pdf teks = text_from_pdf (pdf_file) # Tokenkan teks yang diekstrak token = word_tokenize (teks) Cetak (token)
Menormalkan token untuk konsistensi
Untuk mengendalikan fail PDF dan bukannya imej dan pastikan kata -kata berulang tidak menerima beberapa skor, ubah kod sebelumnya. Kami akan mengekstrak teks dari fail PDF, tokenize, dan bandingkan token terhadap kata -kata tertentu dari medan yang berbeza. Kod ini akan mengira skor berdasarkan kata -kata yang sesuai.
import pdfplumber Import NLTK dari nltk.tokenize import word_tokenize nltk.download ('punkt') def extract_text_from_pdf (pdf_file): dengan pdfplumber.open (pdf_file) sebagai pdf: teks = "" untuk halaman di pdf.pages: teks = page.extract_text () "\ n" teks kembali def tokenize_text (teks): token = word_tokenize (teks) Token kembali def sbare_tokens_and_score (token, spesifik_words, score_per_match = 10): # Gunakan satu set untuk menyimpan perkataan yang sesuai untuk mengelakkan pendua unik_matched_words = set (word.lower () untuk perkataan dalam token jika word.lower () dalam spesifik_words) # Kirakan jumlah skor berdasarkan perlawanan unik total_score = len (unik_matched_words) * score_per_match kembali unik_matched_words, total_score # Tentukan set perkataan tertentu untuk bidang yang berbeza fields_keywords = { "Data_science_carrier": {'pembelajaran mesin yang diawasi', 'pembelajaran mesin tanpa pengawasan', 'data', 'analisis', 'statistik', 'python'}, # Tambahkan lebih banyak bidang dan kata kunci di sini } # Langkah 4: Pilih medan dan hitung skor berdasarkan kata -kata tertentu untuk medan itu def process_pdf_for_field (pdf_file, medan): jika medan tidak dalam fields_keywords: cetak (f "field '{field}' tidak ditakrifkan.") kembali teks = extract_text_from_pdf (pdf_file) token = tokenize_text (teks) spesifik_words = fields_keywords [medan] unik_matched_words, total_score = compare_tokens_and_score (token, spesifik_words) cetak (f "medan: {field}") Cetak ("Kata -kata yang dipadankan unik:", unik_matched_words) Cetak ("Skor Jumlah:", Total_Score) pdf_file = 'soniasingla-datascience-bio.pdf' medan = 'data_science' process_pdf_for_field (pdf_file, fie
Ia akan menghasilkan mesej ralat kerana medan data_science tidak ditakrifkan.
Apabila ralat dikeluarkan, ia berfungsi dengan baik.
Untuk menangani sensitiviti kes dengan betul dan pastikan kata -kata seperti "data" dan "data" dianggap sebagai perkataan yang sama semasa masih menjaringkan hanya sekali (walaupun ia muncul beberapa kali dengan kes yang berbeza), anda boleh menormalkan kes kedua -dua token dan kata -kata tertentu. Kita boleh melakukan ini dengan menukar kedua -dua token dan kata -kata khusus untuk huruf kecil semasa perbandingan tetapi masih mengekalkan selongsong asal untuk output akhir kata yang dipadankan.
Mata utama pada pengekstrakan teks
- Menggunakan pdfplumber untuk mengekstrak teks dari fail pdf.
- Menggunakan OCR untuk menukar imej ke dalam kod mesin.
- Menggunakan pytesseract untuk menukar kod bungkus python ke dalam teks.
Kesimpulan
Kami meneroka proses penting untuk mengekstrak dan menganalisis data dari CVS, memberi tumpuan kepada teknik automasi menggunakan Python. Kami belajar bagaimana menggunakan perpustakaan penting seperti NLTK, SPACY, Pytesseract, dan bantal untuk pengekstrakan teks yang berkesan dari pelbagai format fail, termasuk PDF dan imej. Dengan menggunakan kaedah untuk tokenisasi, normalisasi teks, dan pemarkahan, kami mendapat gambaran tentang cara menyelaraskan kelayakan calon dengan keperluan pekerjaan dengan cekap. Pendekatan sistematik ini bukan sahaja menyelaraskan proses pengambilan pekerja untuk majikan tetapi juga meningkatkan peluang calon untuk mendapatkan kedudukan yang sepadan dengan kemahiran mereka.
Takeaways utama
- Pengekstrakan data yang cekap dari CVS adalah penting untuk mengautomasikan proses pengambilan pekerja.
- Alat seperti NLTK, Spacy, Pytesseract, dan Bantal adalah penting untuk pengekstrakan dan pemprosesan teks.
- Kaedah tokenisasi yang betul membantu dengan tepat menganalisis kandungan CVS.
- Melaksanakan mekanisme pemarkahan berdasarkan kata kunci meningkatkan proses yang sepadan antara calon dan keperluan pekerjaan.
- Menormalkan token melalui teknik seperti lemmatisasi meningkatkan ketepatan analisis teks.
Soalan yang sering ditanya
Q1. Bagaimana seseorang boleh mendapatkan teks yang diekstrak dari pdf?A. PYPDF2 atau PDFPLUMBER Pustaka untuk mengekstrak teks dari PDF.
S2. Bagaimana cara mengekstrak teks dari CV dalam format imej?A. Jika CV dalam format imej (dokumen atau foto yang diimbas), anda boleh menggunakan OCR (Pengiktirafan Watak Optik) untuk mengekstrak teks dari imej. Alat yang paling biasa digunakan untuk ini di Python adalah Pytesseract, yang merupakan pembungkus untuk Tesseract OCR.
Q3. Bagaimana saya mengendalikan imej berkualiti rendah dalam OCR?A. Meningkatkan kualiti imej sebelum memberi makan kepada OCR dapat meningkatkan ketepatan pengekstrakan teks dengan ketara. Teknik seperti penukaran skala kelabu, ambang, dan pengurangan bunyi menggunakan alat seperti OpenCV boleh membantu.
Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan atas budi bicara penulis.
Atas ialah kandungan terperinci Pengekstrakan data CV. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pengekodan Vibe membentuk semula dunia pembangunan perisian dengan membiarkan kami membuat aplikasi menggunakan bahasa semulajadi dan bukannya kod yang tidak berkesudahan. Diilhamkan oleh penglihatan seperti Andrej Karpathy, pendekatan inovatif ini membolehkan Dev

Februari 2025 telah menjadi satu lagi bulan yang berubah-ubah untuk AI generatif, membawa kita beberapa peningkatan model yang paling dinanti-nantikan dan ciri-ciri baru yang hebat. Dari Xai's Grok 3 dan Anthropic's Claude 3.7 Sonnet, ke Openai's G

Yolo (anda hanya melihat sekali) telah menjadi kerangka pengesanan objek masa nyata yang terkemuka, dengan setiap lelaran bertambah baik pada versi sebelumnya. Versi terbaru Yolo V12 memperkenalkan kemajuan yang meningkatkan ketepatan

Artikel ini mengkaji semula penjana seni AI atas, membincangkan ciri -ciri mereka, kesesuaian untuk projek kreatif, dan nilai. Ia menyerlahkan Midjourney sebagai nilai terbaik untuk profesional dan mengesyorkan Dall-E 2 untuk seni berkualiti tinggi dan disesuaikan.

CHATGPT 4 kini tersedia dan digunakan secara meluas, menunjukkan penambahbaikan yang ketara dalam memahami konteks dan menjana tindak balas yang koheren berbanding dengan pendahulunya seperti ChATGPT 3.5. Perkembangan masa depan mungkin merangkumi lebih banyak Inter yang diperibadikan

Artikel ini membincangkan model AI yang melampaui chatgpt, seperti Lamda, Llama, dan Grok, menonjolkan kelebihan mereka dalam ketepatan, pemahaman, dan kesan industri. (159 aksara)

Mistral OCR: Merevolusi Generasi Pengambilan Pengambilan semula dengan Pemahaman Dokumen Multimodal Sistem Generasi Pengambilan Retrieval (RAG) mempunyai keupayaan AI yang ketara, membolehkan akses ke kedai data yang luas untuk mendapatkan respons yang lebih tepat

Artikel ini membincangkan pembantu penulisan AI terkemuka seperti Grammarly, Jasper, Copy.ai, WriteSonic, dan Rytr, yang memberi tumpuan kepada ciri -ciri unik mereka untuk penciptaan kandungan. Ia berpendapat bahawa Jasper cemerlang dalam pengoptimuman SEO, sementara alat AI membantu mengekalkan nada terdiri
