Этот репозиторий содержит все наборы данных, код и дополнительные материалы для выполнения задачи создания анкеты в области управления человеческими ресурсами (HRM) с использованием LLM. На данный момент мы сосредоточились на опросах, в которых обычно отсутствуют правильные/неправильные или оцененные ответы. В частности, опросные анкеты способствуют постоянному сбору отзывов и мнений от сотрудников, позволяя организациям отслеживать и улучшать различные аспекты, такие как удовлетворенность сотрудников и оценка потенциала.
Учитывая отсутствие адекватных наборов данных, мы создали новую коллекцию HR-опросов. Подробную информацию о наборе данных можно найти в Карте данных. Мы протестировали две модели GPT (GPT-3.5-Turbo и GPT-4-Turbo) с разными настройками, чтобы выявить факторы, которые больше всего способствуют более высокому качеству съемки. Такие подробности можно найти в Карте модели. В нашей работе мы разработали новую систему для автоматической оценки сгенерированного контента из-за ограничений традиционных показателей, таких как ROUGE и BLEU. Таким образом, наши метрики позволяют оценить качество опросов с точки зрения вовлеченности, внутренней тематической вариативности и потока. Более подробная информация указана в Карте модели.
В блокнотах отображается статистика по новому набору данных, использованию примеров кода и полученным результатам.
Мы рекомендуем использовать Python 3.11.5 для запуска нашего кода из-за возможной несовместимости с более новыми версиями.
Процесс установки описан ниже:
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
Несколько экспериментальных настроек настраиваются в файле JSON. Для запуска всех конфигураций используйте следующую команду:
python -W ignore <path_to_repo_folder>/src/models/predict.py
В противном случае для запуска определенной конфигурации используйте следующую команду:
python -W ignore <path_to_repo_folder>/src/models/predict.py --experiment-id "<experiment_id>"
Осторожность
Убедитесь, что у вас есть действительный ключ доступа (Azure) OpenAI, в противном случае вызов служб OpenAI будет запрещен. Затем установите ее как переменную среды с именем AZURE_OPENAI_KEY
.
Более того, обратите внимание, что мы использовали частное развертывание, поэтому к нему не могут получить доступ пользователи, не относящиеся к команде исследований и разработок Talentia HCM. Поэтому мы рекомендуем заменить значение параметра azure_endpoint
допустимым в вызове API.
Примечание
Опция -W ignore
позволяет не отображать потенциальные предупреждения во время выполнения скрипта. Чтобы их отобразить, просто удалите такую опцию.
Чтобы запустить этап оценки, выполните следующую команду:
python -W ignore <path_to_repo_folder>/src/models/evaluate.py
Чтобы выполнить автоматическое преобразование дополненных данных из неструктурированного текста в JSON, выполните следующую команду:
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
Проект основан на шаблоне проекта по науке о данных cookiecutter. #cookiecutterdatascience