이 저장소에는 LLM을 활용하여 HRM(인적 자원 관리) 도메인에서 설문지 생성 작업을 수행하는 데 필요한 모든 데이터 세트, 코드 및 보충 자료가 포함되어 있습니다. 현재 우리는 일반적으로 옳고 그름 또는 점수가 매겨진 답변이 없는 설문조사에 중점을 두었습니다. 특히, 설문조사 설문지는 직원으로부터 지속적인 피드백과 의견을 수집하는 데 중요한 역할을 하며, 이를 통해 조직은 직원 만족도 및 잠재적 평가와 같은 다양한 측면을 모니터링하고 향상시킬 수 있습니다.
적절한 데이터세트가 부족하다는 점을 고려하여 새로운 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 R&D 팀 외부 사용자가 액세스할 수 없습니다. 따라서 API 호출에서 azure_endpoint
매개 변수 값을 유효한 값으로 대체하는 것이 좋습니다.
메모
-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