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

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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

NotebookLM Google adalah alat pengambilan nota AI pintar yang dikuasakan oleh Gemini 2.5, yang cemerlang dalam meringkaskan dokumen. Walau bagaimanapun, ia masih mempunyai batasan penggunaan alat, seperti topi sumber, pergantungan awan, dan ciri "Discover" baru -baru ini

Mari kita menyelam ini. Sekeping ini menganalisis perkembangan terobosan di AI adalah sebahagian daripada liputan saya yang berterusan untuk Forbes mengenai landskap kecerdasan buatan yang berkembang, termasuk membongkar dan menjelaskan kemajuan dan kerumitan utama AI utama

Tetapi apa yang dipertaruhkan di sini bukan sekadar ganti rugi retroaktif atau pembayaran balik royalti. Menurut Yelena Ambartsumian, tadbir urus AI dan peguam IP dan pengasas Ambart Law PLLC, kebimbangan sebenar adalah berpandangan ke hadapan. "Saya fikir Disney dan Universal's MA

Melihat kemas kini dalam versi terkini, anda akan melihat bahawa Alphafold 3 memperluaskan keupayaan pemodelannya ke pelbagai struktur molekul yang lebih luas, seperti ligan (ion atau molekul dengan sifat mengikat tertentu), ion lain, dan apa yang refe

Menggunakan AI tidak sama dengan menggunakannya dengan baik. Ramai pengasas telah menemui ini melalui pengalaman. Apa yang bermula sebagai percubaan menjimatkan masa sering mewujudkan lebih banyak kerja. Pasukan akhirnya menghabiskan berjam-jam menyemak semula kandungan yang dihasilkan AI atau mengesahkan output

DIA adalah pengganti kepada arka penyemak imbas yang terdahulu. Pelayar telah menggantung pembangunan arka dan memberi tumpuan kepada DIA. Penyemak imbas itu dikeluarkan dalam beta pada hari Rabu dan dibuka kepada semua ahli ARC, sementara pengguna lain dikehendaki berada di senarai menunggu. Walaupun ARC telah menggunakan kecerdasan buatan banyak -seperti mengintegrasikan ciri -ciri seperti coretan web dan pratonton pautan -DIA dikenali sebagai "pelayar AI" yang memfokuskan hampir sepenuhnya pada AI generatif. Ciri-ciri Pelayar Dia yang paling menarik di Dia mempunyai persamaan dengan ciri penarikan balik kontroversial di Windows 11. Pelayar akan mengingati aktiviti terdahulu anda supaya anda boleh meminta AI

Space Company Voyager Technologies menaikkan hampir $ 383 juta semasa IPOnya pada hari Rabu, dengan saham yang ditawarkan pada $ 31. Firma itu menyediakan pelbagai perkhidmatan yang berkaitan dengan ruang kepada pelanggan dan pelanggan komersial, termasuk aktiviti di dalam

Berikut adalah sepuluh trend yang menarik yang membentuk semula landskap AI perusahaan. Komitmen kewangan untuk llmsorganizations secara signifikan meningkatkan pelaburan mereka di LLM, dengan 72% menjangkakan perbelanjaan mereka meningkat tahun ini. Pada masa ini, hampir 40% a
