Extraction de données CV
Introduction
Lorsque vous assistez à un entretien d'embauche ou à l'embauche d'une grande entreprise, l'examen de chaque CV en détail n'est souvent pas pratique en raison du volume élevé de candidats. Au lieu de cela, tirer parti de l'extraction des données CV pour se concentrer sur la façon dont les exigences clés de l'emploi s'alignent sur le CV d'un candidat peuvent conduire à une correspondance réussie pour l'employeur et le candidat.
Imaginez que votre étiquette de profil soit vérifiée - ne doit pas vous inquiéter! Il est désormais facile d'évaluer votre ajustement pour un poste et d'identifier les lacunes de vos qualifications par rapport aux exigences du travail.
Par exemple, si une publication d'emploi met en évidence l'expérience de la gestion de projet et la compétence dans un logiciel spécifique, le candidat doit s'assurer que ces compétences sont clairement visibles sur leur CV. Cette approche ciblée aide à embaucher les gestionnaires d'identifier rapidement les candidats qualifiés et garantit que le candidat est pris en compte pour les postes où ils peuvent prospérer.
En soulignant les qualifications les plus pertinentes, le processus d'embauche devient plus efficace et les deux parties peuvent bénéficier d'un bon ajustement. L'entreprise trouve le bon talent plus rapidement, et le candidat est plus susceptible de décrocher un rôle qui correspond à ses compétences et à leur expérience.
Résultats d'apprentissage
- Comprendre l'importance de l'extraction des données à partir de CV pour l'automatisation et l'analyse.
- Acquérir une compétence en utilisant des bibliothèques Python pour l'extraction de texte à partir de divers formats de fichiers.
- Apprenez à prétraiter les images pour améliorer la précision de l'extraction de texte.
- Explorez les techniques pour gérer la sensibilité des caisses et normaliser les jetons dans le texte extrait.
- Identifiez les outils et les bibliothèques clés essentiels pour une extraction efficace des données CV.
- Développer des compétences pratiques pour extraire du texte à la fois des images et des fichiers PDF.
- Reconnaissez les défis liés à l'extraction des données CV et aux solutions efficaces.
Cet article a été publié dans le cadre du Blogathon de la science des données.
Table des matières
- Python
- Bibliothèques: NLTK et Spacy
- Pytesseract
- Bibliothèque d'oreillers
- Images ou fichiers pdf
- PDFPLUMBER ou PYPDF2
- Installez la machine OCR Pytesseract.
- Installez l'oreiller de la bibliothèque
- Installnltk pour la tokenisation (ou spacy)
- Télécharger Tesseract et Configurer le chemin
- Images de prétraitement pour des performances d'OCR améliorées
- Obtenir du texte à partir de fichiers PDF
- Extraction du texte de PDFLUMBER
- Normaliser les jetons pour la cohérence
- Questions fréquemment posées
Outils essentiels pour l'extraction des données CV
Pour extraire efficacement les données des CV et CV, tirant parti des bons outils est essentiel pour rationaliser le processus et assurer la précision. Cette section mettra en évidence les bibliothèques et les technologies clés qui améliorent l'efficacité de l'extraction des données CV, permettant une meilleure analyse et des informations à partir des profils candidats.
Python
Il a une bibliothèque ou une méthode qui peut diviser des phrases ou un paragraphe en mots. Dans Python, vous pouvez réaliser des tokenisation des mots à l'aide de différentes bibliothèques et méthodes, telles que Split () (Tokenisation de base) ou la boîte à outils en langage naturel (NLTK) et les bibliothèques spacy pour la tokenisation plus avancée.
La tokenisation simple (division des phrases) ne reconnaît pas les ponctuations et autres caractères spéciaux.
phrases = "Aujourd'hui est une belle journée!." phrases.split () ['Aujourd'hui', 'est', 'a', 'beaux', 'jour !.']
Bibliothèques: NLTK et Spacy
Python a un outil plus puissant pour la tokenisation (Natural Language Toolkit (NLTK).
Dans NLTK (Natural Language Toolkit), le tokenzer Punkt tokenise activement le texte en utilisant un modèle pré-formé pour la division des phrases non supervisée et la tokenisation des mots.
Importer NLTK nltk.download ('punkt') à partir de nltk import word_tokenize phrases = "Aujourd'hui est une belle journée!." phrases.split () Imprimer (phrases) mots = word_tokenize (phrases) imprimer (mots) [nltk_data] Téléchargement du package punkt [nltk_data] c: \ Users \ ss529 \ appdata \ roaming \ nltk_data ... Aujourd'hui est une belle journée!. [«Aujourd'hui», «est», «a», «belle», «jour», «!», ».»] [nltk_data] package punkt est déjà à jour!
Caractéristiques clés de Punkt:
- Il peut tokeniser un texte donné dans les phrases et les mots sans avoir besoin d'informations préalables sur la grammaire ou la syntaxe de la langue.
- Il utilise des modèles d'apprentissage automatique pour détecter les limites des phrases, ce qui est utile dans les langues où la ponctuation ne sépare pas strictement les phrases.
Spacy est une bibliothèque NLP avancée qui offre une tokenisation précise et d'autres fonctionnalités de traitement linguistique.
Expressions régulières: tokenisation personnalisée basée sur des modèles, mais nécessite un ensemble manuel.
Importer RE régulier = "[a-za-z] [\ w]?" re.findall (réguliers, phrases) ['Aujourd'hui', 'est', 'a', 'beau', 'jour!']
Pytesseract
Il s'agit d'une reconnaissance de caractères optiques basée sur Python utilisée pour lire du texte dans les images.
Bibliothèque d'oreillers
Une bibliothèque open source pour gérer divers formats d'image, utile pour la manipulation d'images.
Images ou fichiers pdf
Les CV peuvent être dans des formats PDF ou d'image.
PDFPLUMBER ou PYPDF2
Pour extraire du texte d'un PDF et le tokenize en mots, vous pouvez suivre ces étapes de Python:
- Extraire du texte d'un PDF à l'aide d'une bibliothèque comme PYPDF2 ou PDFPLUMBER.
- Tokenize le texte extrait à l'aide d'une méthode de tokenisation, telle que Split (), NLTK ou Spacy.
Obtenir des mots à partir de fichiers ou d'images PDF
Pour les fichiers PDF, nous aurons besoin d'un plombier PDF et pour les images OCR.
Si vous souhaitez extraire du texte d'une image (au lieu d'un PDF), puis de la tokenize et du score basé sur des mots prédéfinis pour différents champs, vous pouvez y parvenir en suivant ces étapes:
Installez la machine OCR Pytesseract.
Il va en extraire Helpto des images
pip installer pytesseract oreiller nltk
Installez l'oreiller de la bibliothèque
Il aidera à gérer diverses images.
En ce qui concerne le traitement et la manipulation de l'image dans Python - tels que le redimensionnement, le recadrage ou la conversion entre différents formats - la bibliothèque open source qui vient souvent à l'esprit est un oreiller.
Voyons comment fonctionne l'oreiller, pour voir l'image dans Jupyter Notebook, je dois utiliser l'affichage et les supports intérieurs doivent stocker la variable tenant l'image.
à partir de l'image d'importation PIL image = image.open ('art.jfif') Affichage (image)
Pour redimensionner et enregistrer l'image, la méthode redimensionnée et enregistrée est utilisée, la largeur est définie sur 400 et la hauteur à 450.
Caractéristiques clés de l'oreiller:
- Formats d'image - Soutenez les différents formats
- Fonctions de manipulation d'images - On peut redimensionner, recadrer des images, convertir les images couleur en gris, etc.
Installnltk pour la tokenisation (ou spacy)
Découvrez comment améliorer vos capacités de traitement de texte en installant NLTK ou Spacy, deux bibliothèques puissantes pour la tokenisation dans le traitement du langage naturel.
Télécharger Tesseract et Configurer le chemin
Apprenez à télécharger Tesseract à partir de GitHub et à l'intégrer de manière transparente dans votre script en ajoutant le chemin nécessaire pour la fonctionnalité OCR optimisée.
pytesseract.pytesseract.tesseract_cmd = 'C: \ Program Files \ Tesseract-OCR \ Tesseract.exe' '
- macOS: Brew Installer Tesseract
- Linux: installer via Package Manager (par exemple, sudo apt install Tesseract-OCR).
- Pip Installer Pytesseract Oread
Il existe plusieurs outils dont l'une est la bibliothèque open-source développée par Google Tesseract qui a pris en charge de nombreuses langues et OCR.
Pytesseract est utilisé pour les projets basés sur Python, qui agissent comme un emballage pour le moteur OCR Tesseract.
Techniques d'extraction de texte d'image et de PDF
À l'ère numérique, l'extraction du texte des images et des fichiers PDF est devenue essentielle pour diverses applications, y compris l'analyse des données et le traitement des documents. Cet article explore des techniques efficaces pour le prétraitement des images et tirant parti de bibliothèques puissantes pour améliorer la reconnaissance des caractères optiques (OCR) et rationaliser l'extraction de texte à partir de divers formats de fichiers.
Images de prétraitement pour des performances d'OCR améliorées
Les images de prétraitement peuvent améliorer les performances de l'OCR en suivant les étapes mentionnées ci-dessous.
- Images en niveaux de gris: Les images sont converties en niveaux de gris pour réduire l'arrière-plan bruyant et se concentrer fermement sur le texte lui-même, et est utile pour les images avec des conditions d'éclairage variables.
- à partir de PIL import imageops
- image = imageops.grayscale (image)
- Soufflement: appliquez un seuil binaire pour faire ressortir le texte en convertissant l'image en format noir et blanc.
- Redimensionnement: images plus petites haut de gamme pour une meilleure reconnaissance de texte.
- Élimination du bruit: retirer le bruit ou les artefacts dans l'image à l'aide de filtres (par exemple, flou gaussien).
Importer NLTK Importer Pytesseract à partir de l'image d'importation PIL Importer CV2 de nltk.tokenize import word_tokenize nltk.download ('punkt') pytesseract.pytesseract.tesseract_cmd = r'c: \ users \ ss529 \ anaconda3 \ Tesseract-oCr \ Tesseract.exe ' Image = Input ("Nom du fichier:") imag = cv2.imread (image) #convert à l'image en niveaux de gris gris = cv2.cvtcolor (images, cv2.color_bgr2Gray) de nltk.tokenize import word_tokenize DEF Text_From_image (image): img = image.open (imag) text = pytesseract.image_to_string (IMG) RETOUR image = 'cv1.png' text1 = text_from_image (image) # Tokenize le texte extrait tokens = word_tokenize (text1) Imprimer (jetons)
Pour savoir combien de mots correspondent aux exigences que nous comparerons et donner des points à chaque mot correspondant comme 10.
# Comparaison des jetons avec des mots spécifiques, ignorer les doublons et calculer le score def compare_tokens_and_score (tokens, spécifique_words, score_per_match = 10): match_words = set (word.lower () pour word en jetons si word.lower () dans Spécifique_words) total_score = len (Fields_keywords) * score_per_match retourner total_score # Champs avec des compétences différentes fields_keywords = { "Data_science_carrier": {'supervisé d'apprentissage automatique' } # Score basé sur des mots spécifiques pour ce champ Def process_image_for_field (image, champ): Si le champ n'est pas dans Fields_keywords: print (f "Field '{champ}' n'est pas défini.") retour # Extraire le texte de l'image text = text_from_image (image) # Tokenize le texte extrait tokens = tokenize_text (texte) # Comparez les jetons avec des mots spécifiques pour le champ sélectionné spécifique_words = fields_keywords [champ] total_score = compare_tokens_and_score (jetons, spécifique_words) print (f "Field: {champ}") print ("Score total:", total_score) image = 'cv1.png' field = 'data_science_carrier'
Pour gérer la sensibilité des cas, par exemple, «science des données» par rapport à la «science des données», nous pouvons convertir tous les jetons et mots clés en minuscules.
tokens = word_tokenize (extrait_text.lower ())
Avec l'utilisation de la lemmatisation avec des bibliothèques NLP comme NLTK ou en stimulant avec du spacy pour réduire les mots (par exemple, «courir» pour «exécuter»)
de nltk.stem importe wordnetlemmatizer lemmatizer = wordNetlemmatizer () Def Normalize_Tokens (Tokens): return [lemmatizer.lemmatize (token.lower ()) pour le jeton en jetons]
Obtenir du texte à partir de fichiers PDF
Explorons maintenant les actions requises pour obtenir du texte à partir des fichiers PDF.
Installer les bibliothèques requises
Vous aurez besoin des bibliothèques suivantes:
- Pypdf2
- pdflumber
- spality
- NLTK
Utilisation de pip
PIP Installer PYPDF2 PDFPLUMBER NLTK SPACY Python -m Spacy Download EN_CORE_WEB_SM
Extraction du texte avec le PYDF2
Importer le PYPDF2 DEF Text_From_pdf (PDF_FILE): avec open (pdf_file, 'rb') en tant que fichier: lecteur = pypdf2.pdfreader (fichier) text = "" pour page_num dans la gamme (Len (Reader.Pages)): page = reader.pages [page_num] text = page.extract_text () "\ n" RETOUR
Extraction du texte de PDFLUMBER
importer pdfplumber DEF Text_From_pdf (PDF_FILE): avec pdfplumber.open (pdf_file) comme pdf: text = "" Pour la page dans PDF.Pages: text = page.extract_text () "\ n" RETOUR pdf_file = 'Soniasingla-datascience-bio.pdf' # Extraire le texte du PDF text = text_from_pdf (pdf_file) # Tokenize le texte extrait tokens = word_tokenize (texte) Imprimer (jetons)
Normaliser les jetons pour la cohérence
Pour gérer le fichier PDF au lieu d'une image et garantir que les mots répétés ne reçoivent pas plusieurs scores, modifiez le code précédent. Nous allons extraire du texte du fichier PDF, le tokenize et comparer les jetons avec des mots spécifiques de différents champs. Le code calculera le score basé sur des mots appariés uniques.
importer pdfplumber Importer NLTK de nltk.tokenize import word_tokenize nltk.download ('punkt') def extract_text_from_pdf (pdf_file): avec pdfplumber.open (pdf_file) comme pdf: text = "" Pour la page dans PDF.Pages: text = page.extract_text () "\ n" RETOUR def tokenize_text (texte): tokens = word_tokenize (texte) Tokens de retour def compare_tokens_and_score (tokens, spécifique_words, score_per_match = 10): # Utilisez un ensemble pour stocker des mots assortis uniques pour éviter les doublons unique_matched_words = set (word.lower () pour word en jetons si word.lower () dans spécifique_words) # Calculer le score total basé sur des matchs uniques total_score = len (unique_matched_words) * score_per_match Renvoie unique_matched_words, total_score # Définir des ensembles de mots spécifiques pour différents champs fields_keywords = { "Data_science_carrier": {'supervisé d'apprentissage automatique' # Ajouter plus de champs et de mots clés ici } # Étape 4: Sélectionnez le champ et calculez le score en fonction des mots spécifiques pour ce champ def process_pdf_for_field (pdf_file, champ): Si le champ n'est pas dans Fields_keywords: print (f "Field '{champ}' n'est pas défini.") retour text = extract_text_from_pdf (pdf_file) tokens = tokenize_text (texte) spécifique_words = fields_keywords [champ] unique_matched_words, total_score = compare_tokens_and_score (jetons, spécifique_words) print (f "Field: {champ}") Imprimer ("Mots uniques correspondants:", unique_matched_words) print ("Score total:", total_score) pdf_file = 'Soniasingla-datascience-bio.pdf' field = 'data_science' process_pdf_for_field (pdf_file, fie
Il produira un message d'erreur car le champ Data_science n'est pas défini.
Lorsque l'erreur est supprimée, cela fonctionne bien.
Pour gérer correctement la sensibilité des cas et garantir que des mots comme «données» et «données» sont considérés comme le même mot tout en le marquant une seule fois (même s'il apparaît plusieurs fois avec des cas différents), vous pouvez normaliser le cas des jetons et des mots spécifiques. Nous pouvons le faire en convertissant à la fois les jetons et les mots spécifiques en minuscules pendant la comparaison tout en préservant le boîtier d'origine pour la sortie finale des mots correspondants.
Points clés sur l'extraction de texte
- Utilisation de PDFPlumber pour extraire le texte du fichier PDF.
- Utilisation de l'OCR pour convertir l'image en code machine.
- Utilisation de Pytesseract pour convertir les codes de wrap python en texte.
Conclusion
Nous avons exploré le processus crucial d'extraction et d'analyse des données de CVS, en nous concentrant sur les techniques d'automatisation à l'aide de Python. Nous avons appris à utiliser des bibliothèques essentielles comme NLTK, Spacy, Pytesseract et Pillow pour une extraction de texte efficace à partir de divers formats de fichiers, y compris les PDF et les images. En appliquant des méthodes pour la tokenisation, la normalisation du texte et la notation, nous avons acquis un aperçu de la manière d'aligner efficacement les qualifications des candidats avec les exigences de l'emploi. Cette approche systématique rationalise non seulement le processus d'embauche pour les employeurs, mais améliore également les chances des candidats d'obtenir des postes qui correspondent à leurs compétences.
Principaux à retenir
- Une extraction efficace de données à partir de CVS est essentielle pour l'automatisation du processus d'embauche.
- Des outils comme NLTK, Spacy, Pytesseract et Pillow sont essentiels pour l'extraction et le traitement de texte.
- Les méthodes de tokenisation appropriées aident à analyser avec précision le contenu des CV.
- La mise en œuvre d'un mécanisme de notation basé sur les mots clés améliore le processus de correspondance entre les candidats et les exigences de l'emploi.
- La normalisation des jetons à travers des techniques comme la lemmatisation améliore la précision de l'analyse du texte.
Questions fréquemment posées
Q1. Comment peut-être le texte extrait de PDF?A. bibliothèques PYPDF2 ou PDFPLUMBER pour extraire du texte de PDF.
Q2. Comment extraire du texte de CV au format d'image?A. Si le CV est au format d'image (document ou photo numérisé), vous pouvez utiliser l'OCR (reconnaissance optique des caractères) pour extraire du texte de l'image. L'outil le plus utilisé pour cela dans Python est Pytesseract, qui est un emballage pour Tesseract OCR.
Q3. Comment gérer les images de mauvaise qualité dans OCR?A. Améliorer la qualité des images avant de les alimenter en OCR peut augmenter considérablement la précision de l'extraction de texte. Des techniques comme la conversion de niveaux de gris, le seuil et la réduction du bruit à l'aide d'outils comme OpenCV peuvent aider.
Les médias présentés dans cet article ne sont pas détenus par l'analytique vidhya et sont utilisés à la discrétion de l'auteur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le codage des ambiances est de remodeler le monde du développement de logiciels en nous permettant de créer des applications en utilisant le langage naturel au lieu de lignes de code sans fin. Inspirée par des visionnaires comme Andrej Karpathy, cette approche innovante permet de dev

Février 2025 a été un autre mois qui change la donne pour une IA générative, nous apportant certaines des mises à niveau des modèles les plus attendues et de nouvelles fonctionnalités révolutionnaires. De Xai's Grok 3 et Anthropic's Claude 3.7 Sonnet, à Openai's G

Yolo (vous ne regardez qu'une seule fois) a été un cadre de détection d'objets en temps réel de premier plan, chaque itération améliorant les versions précédentes. La dernière version Yolo V12 introduit des progrès qui améliorent considérablement la précision

L'article passe en revue les meilleurs générateurs d'art AI, discutant de leurs fonctionnalités, de leur aptitude aux projets créatifs et de la valeur. Il met en évidence MidJourney comme la meilleure valeur pour les professionnels et recommande Dall-E 2 pour un art personnalisable de haute qualité.

Chatgpt 4 est actuellement disponible et largement utilisé, démontrant des améliorations significatives dans la compréhension du contexte et la génération de réponses cohérentes par rapport à ses prédécesseurs comme Chatgpt 3.5. Les développements futurs peuvent inclure un interg plus personnalisé

L'article traite des modèles d'IA dépassant Chatgpt, comme Lamda, Llama et Grok, mettant en évidence leurs avantages en matière de précision, de compréhension et d'impact de l'industrie. (159 caractères)

Mistral OCR: révolutionner la génération de la récupération avec une compréhension du document multimodal Les systèmes de génération (RAG) (RAG) de la récupération ont considérablement avancé les capacités d'IA, permettant à de vastes magasins de données pour une responsabilité plus éclairée

L'article traite des meilleurs assistants d'écriture d'IA comme Grammarly, Jasper, Copy.ai, WireSonic et Rytr, en se concentrant sur leurs fonctionnalités uniques pour la création de contenu. Il soutient que Jasper excelle dans l'optimisation du référencement, tandis que les outils d'IA aident à maintenir le ton
