Dieses Repository enthält alle Datensätze, Codes und ergänzenden Materialien zur Durchführung der Fragebogenerstellungsaufgabe im Bereich Human Resource Management (HRM) durch Nutzung von LLMs. Im Moment haben wir uns auf Umfragen konzentriert, bei denen es in der Regel an richtigen/falschen oder bewerteten Antworten mangelt. Insbesondere sind Umfragefragebögen von entscheidender Bedeutung, um kontinuierliches Feedback und Meinungen von Mitarbeitern zu sammeln und es Unternehmen zu ermöglichen, verschiedene Aspekte wie Mitarbeiterzufriedenheit und Potenzialbewertung zu überwachen und zu verbessern.
Aufgrund des Mangels an geeigneten Datensätzen haben wir eine neue Sammlung von HR-Umfragen erstellt. Details zum Datensatz finden Sie in der Datenkarte. Wir haben zwei GPT-Modelle (GPT-3.5-Turbo und GPT-4-Turbo) mit unterschiedlichen Einstellungen getestet, um herauszufinden, welche Faktoren am meisten zu einer höheren Umfragequalität beitragen. Solche Details finden Sie in der Modellkarte. In unserer Arbeit haben wir ein neuartiges Framework zur automatischen Auswertung der generierten Inhalte entwickelt, da herkömmliche Metriken wie Roh-ROUGE und BLEU begrenzt sind. Somit sind unsere Metriken in der Lage, die Qualität der Umfragen in Bezug auf Engagement, interne thematische Variabilität und Fluss einzuschätzen. Weitere Details sind in der Modellkarte aufgeführt.
Notebooks zeigen Statistiken zum neuen Datensatz, zur Verwendung von Codebeispielen und zu den erzielten Ergebnissen.
Aufgrund möglicher Inkompatibilitäten mit neueren Versionen empfehlen wir, Python 3.11.5 zum Ausführen unseres Codes zu verwenden.
Der Installationsprozess wird im Folgenden beschrieben:
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
Die verschiedenen experimentellen Einstellungen werden in einer JSON-Datei konfiguriert. Um alle Konfigurationen auszuführen, verwenden Sie den folgenden Befehl:
python -W ignore <path_to_repo_folder>/src/models/predict.py
Andernfalls verwenden Sie zum Ausführen einer bestimmten Konfiguration den folgenden Befehl:
python -W ignore <path_to_repo_folder>/src/models/predict.py --experiment-id "<experiment_id>"
Vorsicht
Stellen Sie sicher, dass Sie über einen gültigen (Azure) OpenAI-Zugriffsschlüssel verfügen, andernfalls wird der Aufruf der OpenAI-Dienste verboten. Legen Sie es dann als Umgebungsvariable mit dem Namen AZURE_OPENAI_KEY
fest.
Beachten Sie außerdem, dass wir eine private Bereitstellung verwendet haben, sodass Benutzer außerhalb des Talentia HCM-Forschungs- und Entwicklungsteams nicht darauf zugreifen können. Daher empfehlen wir, den Parameterwert azure_endpoint
im API-Aufruf durch einen gültigen Wert zu ersetzen.
Notiz
Mit der Option -W ignore
können mögliche Warnungen während der Skriptausführung nicht angezeigt werden. Um sie anzuzeigen, entfernen Sie einfach eine solche Option.
Um den Evaluierungsschritt auszuführen, führen Sie den folgenden Befehl aus:
python -W ignore <path_to_repo_folder>/src/models/evaluate.py
Führen Sie den folgenden Befehl aus, um die automatische Konvertierung der erweiterten Daten von unstrukturiertem Text in JSON durchzuführen:
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
Projekt basierend auf der Cookiecutter-Data-Science-Projektvorlage. #cookiecutterdatascience