Ce référentiel contient tous les ensembles de données, codes et documents supplémentaires pour effectuer la tâche de génération de questionnaires dans le domaine de la gestion des ressources humaines (GRH) en tirant parti des LLM. Pour le moment, nous nous sommes concentrés sur les enquêtes, qui manquent généralement de réponses bonnes/fausses ou notées. Plus précisément, les questionnaires d'enquête jouent un rôle déterminant dans la collecte continue de commentaires et d'opinions des employés, permettant aux organisations de surveiller et d'améliorer divers aspects tels que la satisfaction des employés et l'évaluation potentielle.
Compte tenu du manque d'ensembles de données adéquats, nous avons construit une nouvelle collection d'enquêtes RH. Les détails sur l'ensemble de données peuvent être trouvés dans la carte de données. Nous avons testé deux modèles GPT (GPT-3.5-Turbo et GPT-4-Turbo) avec des paramètres différents, afin de déterminer quels sont les facteurs qui contribuent le plus à une meilleure qualité d'enquête. Ces détails peuvent être trouvés dans la carte modèle. Dans notre travail, nous avons conçu un nouveau cadre pour évaluer automatiquement le contenu généré, en raison de la limitation des métriques traditionnelles telles que le ROUGE et le BLEU bruts. Ainsi, nos métriques sont capables d'estimer la qualité des enquêtes en termes d'engagement, de variabilité thématique interne et de flux. De plus amples détails sont indiqués dans la fiche modèle.
Les blocs-notes affichent des statistiques sur le nouvel ensemble de données, l'utilisation des exemples de code et les résultats obtenus.
Nous recommandons d'utiliser Python 3.11.5 pour exécuter notre code, en raison d'éventuelles incompatibilités avec les versions plus récentes.
Le processus d'installation est décrit ci-dessous :
git clone https://github.com/llaraspata/HRMQuestionnaireGenerationUsingLLM.git
python -m venv your_venv_name
source <your_venv_name>/bin/activate # On Windows, use: <your_venv_name>Scriptsactivate
pip install -r requirements.txt
Les différents paramètres expérimentaux sont configurés dans un fichier JSON. Pour exécuter toutes les configurations, utilisez la commande suivante :
python -W ignore <path_to_repo_folder>/src/models/predict.py
Sinon, pour exécuter une configuration spécifique, utilisez la commande suivante :
python -W ignore <path_to_repo_folder>/src/models/predict.py --experiment-id "<experiment_id>"
Prudence
Assurez-vous de disposer d'une clé d'accès OpenAI (Azure) valide, sinon l'appel aux services OpenAI sera interdit. Définissez-le ensuite comme variable d'environnement nommée AZURE_OPENAI_KEY
.
De plus, notez que nous avons utilisé un déploiement privé, il n'est donc pas accessible aux utilisateurs externes à l'équipe R&D Talentia HCM. Ainsi, nous recommandons de remplacer la valeur du paramètre azure_endpoint
par une valeur valide dans l'appel d'API.
Note
L'option -W ignore
permet de ne pas afficher les avertissements potentiels lors de l'exécution du script. Pour les afficher, supprimez simplement une telle option.
Pour exécuter l'étape d'évaluation, exécutez la commande suivante :
python -W ignore <path_to_repo_folder>/src/models/evaluate.py
Pour effectuer la conversion automatique des données augmentées du texte non structuré en JSON, exécutez la commande suivante :
python -W ignore <path_to_repo_folder>/src/data/convert_qst_to_json.py
@inproceedings { laraspata2024SurveyGeneration4HCM ,
author = { Lucrezia Laraspata and Fabio Cardilli and Giovanna Castellano and Gennaro Vessio } ,
title = { Enhancing human capital management through GPT-driven questionnaire generation } ,
year = { 2024 } ,
booktitle = { Proceedings of the Eighth Workshop on Natural Language for Artificial Intelligence (NL4AI 2024) co-located with 23th International Conference of the Italian Association for Artificial Intelligence (AI*IA 2024) } ,
year = { 2024 }
}
├── LICENSE
├── Makefile <- Makefile with commands like `make data` or `make train`
├── README.md <- The top-level README for developers using this project.
├── data
│ ├── external <- Raw questionnaires derived from the augmentation process.
│ ├── interim <- Intermediate augmented data that has been transformed to JSON.
│ ├── processed <- The final, canonical data sets for modeling.
│ └── raw <- The data used as starting point from this project
│ (taken from Talentia Software HCM).
│
├── docs <- A default Sphinx project; see sphinx-doc.org for details
│
├── models <- Predictions for each run experiments. For each of the a log and a picke file are saved.
│
├── notebooks <- Jupyter notebooks used to illustrate class usage, dataset insights, and experimental results.
│
├── requirements.txt <- The requirements file for reproducing the analysis environment.
│
├── setup.py <- makes project pip installable (pip install -e .) so src can be imported
│
├── src <- Source code for use in this project.
│ ├── __init__.py <- Makes src a Python module
│ │
│ ├── data <- Scripts to download or generate data
│ │ ├── convert_qst_to_json.py
│ │ └── TFQuestionnairesDataset.py
│ │
│ ├── prompts <- Catalog of the employed prompts
│ │ ├── qst_to_json_prompts.py
│ │ ├── QstToJsonPromptGenerator.py
│ │ ├── QstToJsonScenarioGenerator.py
│ │ │
│ │ ├── prediction_prompts.py
│ │ ├── PredictionPromptGenerator.py
│ │ ├── PredictionScenarioGenerator.py
│ │ │
│ │ ├── topic_modeling_prompts.py
│ │ ├── TopicModelingPromptGenerator.py
│ │ └── TopicModelingScenarioGenerator.py
│ │
│ ├── models <- Scripts to run experiments and evaluations
│ │ ├── experiment_config.json
│ │ │
│ │ ├── predict.py
│ │ │
│ │ ├── QuestionnairesEvaluator.py
│ │ ├── ModelEvaluator.py
│ │ └── evaluate.py
│ │
│ └── visualization <- Scripts to create exploratory and results oriented visualizations
│ ├── experiment_pairs.json
│ │
│ ├── GlobalResultVisualizer.py
│ ├── PairResultVisualizer.py
│ └── visualize.py
│
└── tox.ini <- tox file with settings for running tox; see tox.readthedocs.io
Projet basé sur le modèle de projet de science des données cookiecutter. #cookiecutterdatascience