{ "cells": [ { "cell_type": "markdown", "id": "aa1a1b54-d8db-4524-b60c-270df12c8db4", "metadata": {}, "source": [ "## Решение практической задачи 1\n", "\n", "### Задача: ранжирование потенциальных кандидатов по профессиональным обязанностям\n", "\n", "> Решение практической задачи выполняется в два этапа. На первом этапе необходимо использовать библиотеку OCEAN-AI для получения гипотез предсказаний (оценок персональных качеств личности человека). На втором этапе следует использовать методы _candidate_ranking и _priority_skill_calculation из библиотеки OCEAN-AI для решения представленной практической задачи. Примеры результатов работы и реализации представлены ниже.\n", "\n", "> Таким образом, библиотека OCEAN-AI предоставляет инструменты для анализа персональных качеств личности кандидатов и их соответствия требованиям должности, что может значительно улучшить процесс подбора персонала и помочь в принятии более объективных и систематизированных решений при ранжировании кандидатов.\n", "\n", "
\n", " \n", "
\n", "\n", "
\n", " \n", "
\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "id": "f5d4b7ce-ce69-43b9-9145-c785e9e62091", "metadata": { "nbsphinx": "hidden", "tags": [] }, "outputs": [], "source": [ "import os # Взаимодействие с файловой системой\n", "import sys # Доступ к некоторым переменным и функциям Python\n", "\n", "PATH_TO_SOURCE = os.path.abspath(os.path.dirname(globals()['_dh'][0]))\n", "PATH_TO_ROOT = os.path.join(PATH_TO_SOURCE, '..', '..', '..')\n", "\n", "sys.path.insert(0, os.path.abspath(PATH_TO_ROOT))" ] }, { "cell_type": "markdown", "id": "c6b59162-9490-446c-85ca-7ce2a9f8ac48", "metadata": {}, "source": [ "### `FI V2`" ] }, { "cell_type": "code", "execution_count": 2, "id": "adb1d9a8-e7e4-4f30-ad1b-272ddc35533a", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-10 17:13:14] Извлечение признаков (экспертных и нейросетевых) из текста ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-10 17:13:15] Получение прогнозов и вычисление точности (мультимодальное объединение) ...**

    10 из 10 (100.0%) ... GitHub\\OCEANAI\\docs\\source\\user_guide\\notebooks\\video_FI\\test\\_plk5k7PBEg.003.mp4 ...

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOpennessConscientiousnessExtraversionAgreeablenessNon-Neuroticism
Person ID
12d6btbaNdfo.000.mp40.6189170.6606940.4776560.6544370.601256
2300gK3CnzW0.001.mp40.4617320.4134510.4157060.4983010.431224
3300gK3CnzW0.003.mp40.4680020.4486180.3717420.5096020.453739
44vdJGgZpj4k.003.mp40.5853480.6164460.494430.6056140.587017
5be0DQawtVkE.002.mp40.6809910.566020.5539150.6465450.64246
6cLaZxEf1nE4.004.mp40.663420.5510180.5579120.5852380.587174
7g24JGYuT74A.004.mp40.5902370.3992730.4095540.5318610.507134
8JZNMxa3OKHY.000.mp40.605770.5236170.5311370.5944060.57984
9nvlqJbHk_Lc.003.mp40.5110020.4647020.3908820.4436630.438811
10_plk5k7PBEg.003.mp40.6476060.6104660.5247180.614280.606428
\n", "
" ], "text/plain": [ " Path Openness Conscientiousness Extraversion \\\n", "Person ID \n", "1 2d6btbaNdfo.000.mp4 0.618917 0.660694 0.477656 \n", "2 300gK3CnzW0.001.mp4 0.461732 0.413451 0.415706 \n", "3 300gK3CnzW0.003.mp4 0.468002 0.448618 0.371742 \n", "4 4vdJGgZpj4k.003.mp4 0.585348 0.616446 0.49443 \n", "5 be0DQawtVkE.002.mp4 0.680991 0.56602 0.553915 \n", "6 cLaZxEf1nE4.004.mp4 0.66342 0.551018 0.557912 \n", "7 g24JGYuT74A.004.mp4 0.590237 0.399273 0.409554 \n", "8 JZNMxa3OKHY.000.mp4 0.60577 0.523617 0.531137 \n", "9 nvlqJbHk_Lc.003.mp4 0.511002 0.464702 0.390882 \n", "10 _plk5k7PBEg.003.mp4 0.647606 0.610466 0.524718 \n", "\n", " Agreeableness Non-Neuroticism \n", "Person ID \n", "1 0.654437 0.601256 \n", "2 0.498301 0.431224 \n", "3 0.509602 0.453739 \n", "4 0.605614 0.587017 \n", "5 0.646545 0.64246 \n", "6 0.585238 0.587174 \n", "7 0.531861 0.507134 \n", "8 0.594406 0.57984 \n", "9 0.443663 0.438811 \n", "10 0.61428 0.606428 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-10 17:13:15] Точность по отдельным персональным качествам личности человека ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
OpennessConscientiousnessExtraversionAgreeablenessNon-NeuroticismMean
Metrics
MAE0.07350.06310.09140.07060.06910.0735
Accuracy0.92650.93690.90860.92940.93090.9265
\n", "
" ], "text/plain": [ " Openness Conscientiousness Extraversion Agreeableness \\\n", "Metrics \n", "MAE 0.0735 0.0631 0.0914 0.0706 \n", "Accuracy 0.9265 0.9369 0.9086 0.9294 \n", "\n", " Non-Neuroticism Mean \n", "Metrics \n", "MAE 0.0691 0.0735 \n", "Accuracy 0.9309 0.9265 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-10 17:13:15] Средняя средних абсолютных ошибок: 0.0735, средняя точность: 0.9265 ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**Лог файлы успешно сохранены ...**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**--- Время выполнения: 34.472 сек. ---**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "True" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Импорт необходимых инструментов\n", "import os\n", "import pandas as pd\n", "\n", "# Импорт модуля\n", "from oceanai.modules.lab.build import Run\n", "\n", "# Создание экземпляра класса\n", "_b5 = Run()\n", "\n", "# Настройка ядра\n", "_b5.path_to_save_ = './models' # Директория для сохранения файла\n", "_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг\n", "\n", "corpus = 'fi'\n", "\n", "# Формирование аудиомоделей\n", "res_load_model_hc = _b5.load_audio_model_hc()\n", "res_load_model_nn = _b5.load_audio_model_nn()\n", "\n", "# Загрузка весов аудиомоделей\n", "url = _b5.weights_for_big5_['audio'][corpus]['hc']['googledisk']\n", "res_load_model_weights_hc = _b5.load_audio_model_weights_hc(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['audio'][corpus]['nn']['googledisk']\n", "res_load_model_weights_nn = _b5.load_audio_model_weights_nn(url = url, force_reload = False)\n", "\n", "# Формирование видеомоделей\n", "res_load_model_hc = _b5.load_video_model_hc(lang='en')\n", "res_load_model_deep_fe = _b5.load_video_model_deep_fe()\n", "res_load_model_nn = _b5.load_video_model_nn()\n", "\n", "# Загрузка весов видеомоделей\n", "url = _b5.weights_for_big5_['video'][corpus]['hc']['googledisk']\n", "res_load_model_weights_hc = _b5.load_video_model_weights_hc(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['video'][corpus]['fe']['googledisk']\n", "res_load_model_weights_deep_fe = _b5.load_video_model_weights_deep_fe(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['video'][corpus]['nn']['googledisk']\n", "res_load_model_weights_nn = _b5.load_video_model_weights_nn(url = url, force_reload = False)\n", "\n", "# Загрузка словаря с экспертными признаками (текстовая модальность)\n", "res_load_text_features = _b5.load_text_features()\n", "\n", "# Формирование текстовых моделей \n", "res_setup_bert_model = _b5.setup_bert_encoder(force_reload = False)\n", "res_load_text_model_hc_fi = _b5.load_text_model_hc(corpus=corpus)\n", "res_load_text_model_nn_fi = _b5.load_text_model_nn(corpus=corpus)\n", "\n", "# Загрузка весов текстовых моделей\n", "url = _b5.weights_for_big5_['text'][corpus]['hc']['googledisk']\n", "res_load_text_model_weights_hc_fi = _b5.load_text_model_weights_hc(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['text'][corpus]['nn']['googledisk']\n", "res_load_text_model_weights_nn_fi = _b5.load_text_model_weights_nn(url = url, force_reload = False)\n", "\n", "# Формирование модели для мультимодального объединения информации\n", "res_load_avt_model_b5 = _b5.load_avt_model_b5()\n", "\n", "# Загрузка весов модели для мультимодального объединения информации\n", "url = _b5.weights_for_big5_['avt'][corpus]['b5']['googledisk']\n", "res_load_avt_model_weights_b5 = _b5.load_avt_model_weights_b5(url = url, force_reload = False)\n", "\n", "PATH_TO_DIR = './video_FI/'\n", "PATH_SAVE_VIDEO = './video_FI/test/'\n", "\n", "_b5.path_to_save_ = PATH_SAVE_VIDEO\n", "\n", "# Загрузка 10 тестовых аудиовидеозаписей из корпуса First Impression V2\n", "# URL: https://chalearnlap.cvc.uab.cat/dataset/24/description/\n", "domain = 'https://download.sberdisk.ru/download/file/'\n", "tets_name_files = [\n", " '429713680?token=FqHdMLSSh7zYSZt&filename=_plk5k7PBEg.003.mp4',\n", " '429713681?token=Hz9b4lQkrLfic33&filename=be0DQawtVkE.002.mp4',\n", " '429713683?token=EgUXS9Xs8xHm5gz&filename=2d6btbaNdfo.000.mp4',\n", " '429713684?token=1U26753kmPYdIgt&filename=300gK3CnzW0.003.mp4',\n", " '429713685?token=LyigAWLTzDNwKJO&filename=300gK3CnzW0.001.mp4',\n", " '429713686?token=EpfRbCKHyuc4HPu&filename=cLaZxEf1nE4.004.mp4',\n", " '429713687?token=FNTkwqBr4jOS95l&filename=g24JGYuT74A.004.mp4',\n", " '429713688?token=qDT95nz7hfm2Nki&filename=JZNMxa3OKHY.000.mp4',\n", " '429713689?token=noLguEGXDpbcKhg&filename=nvlqJbHk_Lc.003.mp4',\n", " '429713679?token=9L7RQ0hgdJlcek6&filename=4vdJGgZpj4k.003.mp4'\n", "]\n", "\n", "for curr_files in tets_name_files:\n", " _b5.download_file_from_url(url = domain + curr_files, out = True)\n", "\n", "# Получение прогнозов\n", "_b5.path_to_dataset_ = PATH_TO_DIR # Директория набора данных\n", "_b5.ext_ = ['.mp4'] # Расширения искомых файлов\n", "\n", "# Полный путь к файлу с верными предсказаниями для подсчета точности\n", "url_accuracy = _b5.true_traits_[corpus]['googledisk']\n", "\n", "_b5.get_avt_predictions(url_accuracy = url_accuracy, lang = 'en')" ] }, { "cell_type": "markdown", "id": "bd399157-db76-4f5d-9324-c53fde65ccbe", "metadata": {}, "source": [ "
\n", "\n", "Для выполнения ранжирования кандидатов необходимо знать весовые коэффициенты, определяющие приоритетность персональных качеств личности в зависимости от профессии.\n", "\n", "Предлагаются весовые коэффициенты для 5 профессий, вычисленные на основе научных статей:\n", "\n", "1) Sajjad H. et al. Personality and Career Choices // African Journal of Business Management. - 2012. – Vol. 6 (6) – pp. 2255-2260.\n", "2) Alkhelil A. H. The Relationship between Personality Traits and Career Choice: A Case Study of Secondary School Students // International Journal of Academic Research in Progressive Education and Development. – 2016. – Vol. 5(2). – pp. 2226-6348.\n", "3) De Jong N. et al. Personality Traits and Career Role Enactment: Career Role Preferences as a Mediator // Frontiers in Psychology. – 2019. – Vol. 10. – pp. 1720.\n", "\n", "Пользователь может установить свои весовые коэффициенты; сумма весов должна быть равна 100." ] }, { "cell_type": "code", "execution_count": 3, "id": "e8d85c2a-1825-4f13-8ac7-a9033aa9a69a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ProfessionOpennessConscientiousnessExtraversionAgreeablenessNon-Neuroticism
ID
1Managers/executives153515305
2Entrepreneurship30305530
3Social/Non profit making professions55353520
4Public sector professions155015155
5Scientists/researchers, and engineers501551515
\n", "
" ], "text/plain": [ " Profession Openness Conscientiousness \\\n", "ID \n", "1 Managers/executives 15 35 \n", "2 Entrepreneurship 30 30 \n", "3 Social/Non profit making professions 5 5 \n", "4 Public sector professions 15 50 \n", "5 Scientists/researchers, and engineers 50 15 \n", "\n", " Extraversion Agreeableness Non-Neuroticism \n", "ID \n", "1 15 30 5 \n", "2 5 5 30 \n", "3 35 35 20 \n", "4 15 15 5 \n", "5 5 15 15 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Загрузка датафрейма с весовыми коэффициентами\n", "url = 'https://download.sberdisk.ru/download/file/478675798?token=fF5fNZVpthQlEV0&filename=traits_priority_for_professions.csv'\n", "traits_priority_for_professions = pd.read_csv(url)\n", "\n", "traits_priority_for_professions.index.name = 'ID'\n", "traits_priority_for_professions.index += 1\n", "traits_priority_for_professions.index = traits_priority_for_professions.index.map(str)\n", "\n", "traits_priority_for_professions" ] }, { "cell_type": "markdown", "id": "8fd37b5f-eb10-417c-99b3-67c56001b2fc", "metadata": {}, "source": [ "#### Ранжирование кандидатов на должность инженера-проектировщика" ] }, { "cell_type": "code", "execution_count": 4, "id": "c35d30c6-1042-4bd3-abbc-48081e44fd06", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUCandidate score
Person ID
5be0DQawtVkE.002.mp40.6810.5660.5540.6470.64264.644
10_plk5k7PBEg.003.mp40.6480.6100.5250.6140.60662.472
12d6btbaNdfo.000.mp40.6190.6610.4780.6540.60162.080
6cLaZxEf1nE4.004.mp40.6630.5510.5580.5850.58761.812
44vdJGgZpj4k.003.mp40.5850.6160.4940.6060.58758.876
8JZNMxa3OKHY.000.mp40.6060.5240.5310.5940.58058.412
7g24JGYuT74A.004.mp40.5900.3990.4100.5320.50753.134
9nvlqJbHk_Lc.003.mp40.5110.4650.3910.4440.43947.712
3300gK3CnzW0.003.mp40.4680.4490.3720.5100.45446.438
2300gK3CnzW0.001.mp40.4620.4130.4160.4980.43145.310
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "5 be0DQawtVkE.002.mp4 0.681 0.566 0.554 0.647 0.642 \n", "10 _plk5k7PBEg.003.mp4 0.648 0.610 0.525 0.614 0.606 \n", "1 2d6btbaNdfo.000.mp4 0.619 0.661 0.478 0.654 0.601 \n", "6 cLaZxEf1nE4.004.mp4 0.663 0.551 0.558 0.585 0.587 \n", "4 4vdJGgZpj4k.003.mp4 0.585 0.616 0.494 0.606 0.587 \n", "8 JZNMxa3OKHY.000.mp4 0.606 0.524 0.531 0.594 0.580 \n", "7 g24JGYuT74A.004.mp4 0.590 0.399 0.410 0.532 0.507 \n", "9 nvlqJbHk_Lc.003.mp4 0.511 0.465 0.391 0.444 0.439 \n", "3 300gK3CnzW0.003.mp4 0.468 0.449 0.372 0.510 0.454 \n", "2 300gK3CnzW0.001.mp4 0.462 0.413 0.416 0.498 0.431 \n", "\n", " Candidate score \n", "Person ID \n", "5 64.644 \n", "10 62.472 \n", "1 62.080 \n", "6 61.812 \n", "4 58.876 \n", "8 58.412 \n", "7 53.134 \n", "9 47.712 \n", "3 46.438 \n", "2 45.310 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weights = traits_priority_for_professions.iloc[4].values[1:]\n", "weights = list(map(int, weights))\n", "\n", "_b5._candidate_ranking(\n", " weigths_openness = weights[0], \n", " weigths_conscientiousness = weights[1],\n", " weigths_extraversion = weights[2],\n", " weigths_agreeableness = weights[3], \n", " weigths_non_neuroticism = weights[4],\n", " out = False\n", ")\n", "\n", "_b5._save_logs(df = _b5.df_files_ranking_, name = 'engineer_candidate_ranking_fi_en', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_ranking_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "db44803a-fb15-4540-883d-1231b5115a0b", "metadata": {}, "source": [ "#### Ранжирование кандидатов на должность менеджера" ] }, { "cell_type": "code", "execution_count": 5, "id": "d3c9a238-a39a-4bdd-9bb1-92ed194badb0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUCandidate score
Person ID
12d6btbaNdfo.000.mp40.6190.6610.4780.6540.60162.212
5be0DQawtVkE.002.mp40.6810.5660.5540.6470.64260.943
10_plk5k7PBEg.003.mp40.6480.6100.5250.6140.60660.412
44vdJGgZpj4k.003.mp40.5850.6160.4940.6060.58758.876
6cLaZxEf1nE4.004.mp40.6630.5510.5580.5850.58758.099
8JZNMxa3OKHY.000.mp40.6060.5240.5310.5940.58056.112
7g24JGYuT74A.004.mp40.5900.3990.4100.5320.50747.463
3300gK3CnzW0.003.mp40.4680.4490.3720.5100.45445.855
9nvlqJbHk_Lc.003.mp40.5110.4650.3910.4440.43945.297
2300gK3CnzW0.001.mp40.4620.4130.4160.4980.43144.737
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "1 2d6btbaNdfo.000.mp4 0.619 0.661 0.478 0.654 0.601 \n", "5 be0DQawtVkE.002.mp4 0.681 0.566 0.554 0.647 0.642 \n", "10 _plk5k7PBEg.003.mp4 0.648 0.610 0.525 0.614 0.606 \n", "4 4vdJGgZpj4k.003.mp4 0.585 0.616 0.494 0.606 0.587 \n", "6 cLaZxEf1nE4.004.mp4 0.663 0.551 0.558 0.585 0.587 \n", "8 JZNMxa3OKHY.000.mp4 0.606 0.524 0.531 0.594 0.580 \n", "7 g24JGYuT74A.004.mp4 0.590 0.399 0.410 0.532 0.507 \n", "3 300gK3CnzW0.003.mp4 0.468 0.449 0.372 0.510 0.454 \n", "9 nvlqJbHk_Lc.003.mp4 0.511 0.465 0.391 0.444 0.439 \n", "2 300gK3CnzW0.001.mp4 0.462 0.413 0.416 0.498 0.431 \n", "\n", " Candidate score \n", "Person ID \n", "1 62.212 \n", "5 60.943 \n", "10 60.412 \n", "4 58.876 \n", "6 58.099 \n", "8 56.112 \n", "7 47.463 \n", "3 45.855 \n", "9 45.297 \n", "2 44.737 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weights = traits_priority_for_professions.iloc[0].values[1:]\n", "weights = list(map(int, weights))\n", "\n", "_b5._candidate_ranking(\n", " weigths_openness = weights[0], \n", " weigths_conscientiousness = weights[1],\n", " weigths_extraversion = weights[2],\n", " weigths_agreeableness = weights[3], \n", " weigths_non_neuroticism = weights[4],\n", " out = False\n", ")\n", "\n", "_b5._save_logs(df = _b5.df_files_ranking_, name = 'executive_candidate_ranking_fi_en', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_ranking_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "8509b13f-f215-4fd7-aa0c-a3e117e967fb", "metadata": {}, "source": [ "
\n", "\n", "Для ранжирования кандидатов по профессиональным навыкам необходимо задать по два коэффициента корреляции для каждого персонального качества личности человека и навыка, а также порога полярности качеств. Эти коэффициенты должны показывать, как измениться оценка качества человека если она больше или меньше заданного порога полярности качеств. \n", "\n", "В качестве примера предлагается использование коэффициентов корреляции между двумя людьми в четырьмя профессиональными навыками, представленных в статье:\n", "\n", "1) Wehner C., de Grip A., Pfeifer H. Do recruiters select workers with different personality traits for different tasks? A discrete choice experiment // Labour Economics. - 2022. - vol. 78. - pp. 102186.\n", "\n", "Представлены 4 профессиональных навыка: \n", "\n", "1) Analytical (Аналитические навыки). Умение эффективно решать новые задачи, требующие глубокого анализа. \n", "2) Interactive (Навыки межличностного общения). Умение убеждать и достигать компромиссов с заказчиками и коллегами.\n", "4) Routine (Способность выполнять рутинную работу). Умение эффективно управлять рутинными задачами, соблюдая точность и внимание к деталям.\n", "5) Non-Routine (Способность выполнять нестандартную работу). Умение реагировать и решать проблемы, не имеющие установленного порядка, проявляя адаптивность и креативные навыки в решении задач.\n", "\n", "Пользователь может установить свои коэффициенты корреляции и ранжировать кандидатов по другим профессиональным навыкам." ] }, { "cell_type": "markdown", "id": "baed7e14-4b47-48bf-9109-015bb5b7d89c", "metadata": {}, "source": [ "#### Ранжирование кандидатов по профессиональным навыкам" ] }, { "cell_type": "code", "execution_count": 6, "id": "8a9fd13a-f2f9-4ad3-9ed7-496859876002", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TraitScore_levelAnalyticalInteractiveRoutineNon-Routine
ID
1Opennesshigh0.0820.3480.5710.510
2Opennesslow0.1960.1520.1480.218
3Conscientiousnesshigh0.9941.3331.5071.258
4Conscientiousnesslow0.2410.1880.1910.267
5Extraversionhigh0.169-0.0600.2580.017
6Extraversionlow0.1810.1350.1300.194
7Agreeablenesshigh1.2390.9641.4001.191
8Agreeablenesslow0.2260.1800.1890.259
9Non-Neuroticismhigh0.6360.7770.8760.729
10Non-Neuroticismlow0.2070.1590.1660.238
\n", "
" ], "text/plain": [ " Trait Score_level Analytical Interactive Routine \\\n", "ID \n", "1 Openness high 0.082 0.348 0.571 \n", "2 Openness low 0.196 0.152 0.148 \n", "3 Conscientiousness high 0.994 1.333 1.507 \n", "4 Conscientiousness low 0.241 0.188 0.191 \n", "5 Extraversion high 0.169 -0.060 0.258 \n", "6 Extraversion low 0.181 0.135 0.130 \n", "7 Agreeableness high 1.239 0.964 1.400 \n", "8 Agreeableness low 0.226 0.180 0.189 \n", "9 Non-Neuroticism high 0.636 0.777 0.876 \n", "10 Non-Neuroticism low 0.207 0.159 0.166 \n", "\n", " Non-Routine \n", "ID \n", "1 0.510 \n", "2 0.218 \n", "3 1.258 \n", "4 0.267 \n", "5 0.017 \n", "6 0.194 \n", "7 1.191 \n", "8 0.259 \n", "9 0.729 \n", "10 0.238 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Загрузка датафрейма с коэффициентами корреляции\n", "url = 'https://download.sberdisk.ru/download/file/478678231?token=0qiZwliLtHWWYMv&filename=professional_skills.csv'\n", "df_professional_skills = pd.read_csv(url)\n", "\n", "df_professional_skills.index.name = 'ID'\n", "df_professional_skills.index += 1\n", "df_professional_skills.index = df_professional_skills.index.map(str)\n", "\n", "df_professional_skills" ] }, { "cell_type": "code", "execution_count": 7, "id": "9529e4e5-ca6c-4539-a311-beed1d07364a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUAnalyticalInteractiveRoutineNon-Routine
Person ID
12d6btbaNdfo.000.mp40.6190.6610.4780.6540.6010.3970.4520.5710.491
5be0DQawtVkE.002.mp40.6810.5660.5540.6470.6420.3840.4160.5710.461
10_plk5k7PBEg.003.mp40.6480.6100.5250.6140.6060.3790.4140.5630.456
44vdJGgZpj4k.003.mp40.5850.6160.4940.6060.5870.3750.4260.5380.464
6cLaZxEf1nE4.004.mp40.6630.5510.5580.5850.5870.3590.3900.5370.433
8JZNMxa3OKHY.000.mp40.6060.5240.5310.5940.5800.3530.3800.5220.421
7g24JGYuT74A.004.mp40.5900.3990.4100.5320.5070.2400.2490.3310.298
3300gK3CnzW0.003.mp40.4680.4490.3720.5100.4540.1980.1540.1980.202
2300gK3CnzW0.001.mp40.4620.4130.4160.4980.4310.0930.0720.0730.105
9nvlqJbHk_Lc.003.mp40.5110.4650.3910.4440.4390.0830.0940.1180.136
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU Analytical \\\n", "Person ID \n", "1 2d6btbaNdfo.000.mp4 0.619 0.661 0.478 0.654 0.601 0.397 \n", "5 be0DQawtVkE.002.mp4 0.681 0.566 0.554 0.647 0.642 0.384 \n", "10 _plk5k7PBEg.003.mp4 0.648 0.610 0.525 0.614 0.606 0.379 \n", "4 4vdJGgZpj4k.003.mp4 0.585 0.616 0.494 0.606 0.587 0.375 \n", "6 cLaZxEf1nE4.004.mp4 0.663 0.551 0.558 0.585 0.587 0.359 \n", "8 JZNMxa3OKHY.000.mp4 0.606 0.524 0.531 0.594 0.580 0.353 \n", "7 g24JGYuT74A.004.mp4 0.590 0.399 0.410 0.532 0.507 0.240 \n", "3 300gK3CnzW0.003.mp4 0.468 0.449 0.372 0.510 0.454 0.198 \n", "2 300gK3CnzW0.001.mp4 0.462 0.413 0.416 0.498 0.431 0.093 \n", "9 nvlqJbHk_Lc.003.mp4 0.511 0.465 0.391 0.444 0.439 0.083 \n", "\n", " Interactive Routine Non-Routine \n", "Person ID \n", "1 0.452 0.571 0.491 \n", "5 0.416 0.571 0.461 \n", "10 0.414 0.563 0.456 \n", "4 0.426 0.538 0.464 \n", "6 0.390 0.537 0.433 \n", "8 0.380 0.522 0.421 \n", "7 0.249 0.331 0.298 \n", "3 0.154 0.198 0.202 \n", "2 0.072 0.073 0.105 \n", "9 0.094 0.118 0.136 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_b5._priority_skill_calculation(\n", " correlation_coefficients = df_professional_skills,\n", " threshold = 0.5,\n", " out = True\n", ")\n", "\n", "_b5._save_logs(df = _b5.df_files_priority_skill_, name = 'skill_candidate_ranking_fi_en', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_priority_skill_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "a4283405", "metadata": {}, "source": [ "
\n", "\n", "Для ранжирования кандидатов по одному из шестнадцати типов личности MBTI необходимо задать матрицу корреляции между персональными качествами личности человека и четырьмя диспозициями MBTI, установить порог полярности качеств и указать целевой тип личности MBTI.\n", "\n", "В качестве примера предлагается использование коэффициентов корреляции, представленных в статье [1]. Описание типов личности MBTI и соотвествующие им успешные профессии представлены в статье [2].\n", "\n", "1) Furnham A. The big five facets and the MBTI: The relationship between the 30 NEO-PI (R) Facets and the four Myers-Briggs Type Indicator (MBTI) scores // Psychology. - 2022. vol. 13(10). - pp. 1504-1516.\n", "2) Tieger P.D., Barron B., Tieger K. Do what you are: Discover the perfect career for you through the secrets of personality type // Hachette UK. - 2024.\n", "\n", "##### Типы личности MBTI основаны на четырех измерениях личности:\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Описание измеренияИзмерение
Как мы взаимодействуем с миром и куда направляем свою энергию(E) Экстраверсия - Интроверсия (I)
Вид информации, которую мы естественным образом замечаем(S) Сенсорика - Интуиция (N)
Как мы принимаем решения(T) Логика - Чувства (F)
Предпочитаем ли мы жить более структурированно (принимая решения) или более спонтанно (принимая информацию)(J) Оценка - Восприятие (P)
\n", "
\n", "\n", "##### Типы личности MBTI и соотвествующие им успешные профессии:\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Тип личностиОписаниеУспешные профессии
ISTJЭтот человек отличается ответственностью, строгостью и педантичностью. Он опирается на объективные факты и склонен к аналитическому мышлению. Приступает к задаче только тогда, когда уверен в своих возможностях и успехеИнспектор: бухгалтер, аудитор, бюджетный аналитик, финансовый менеджер, разработчик, системный аналитик, библиотекарь и т. д.
ISFJЭтот человек склонен к самоанализу и анализу окружающих, легко распознает фальшь и предпочитает сохранять психологическую дистанцию. Он исполнителен, внимателен и готов помогать другим. Его силы и энергия исходят из внутренних ресурсов, и он всегда полагается на собственный опытЗащитник: медсестра, врач, ветеринар или ветеринарный ассистент, социальный работник, сельскохозяйственный или пищевой ученый, секретарь, водитель и т. д.
INFJО таких людях говорят: «ему можно доверять». Он отличается высокой чувствительностью, уделяет большое внимание межличностным отношениям, умеет давать ценные советы и помогает раскрывать потенциал других. Развитая интуиция не только генерирует множество идей, но и способствует самоорганизацииСоветник: психолог, специалист по управлению персоналом, офис-менеджер, специалист по обучению, графический дизайнер и т. д.
INTJЭтот человек умеет выделять главное, говорит четко и по существу, придерживается практического подхода. Он стремится постоянно улучшать свою работу и всегда ищет способы сделать задачу еще лучше. Пустые разговоры ему не по душе, поэтому он избегает больших шумных компаний и с трудом заводит новые знакомстваМастермайнд: аниматор, архитектор, копирайтер, фотограф, тележурналист, видеомонтажер, специалист по бизнес-развитию, исполнительный директор, профессор и т. д.
ISTPЭтот человек воспринимает мир через ощущения. По природе эмпат, но чаще сосредоточен на себе. Его умение объективно принимать решения и анализировать ситуацию указывает на технический склад ума. Он всегда соблюдает дедлайны, хотя иногда может поступить неожиданноСоздатель: инженер, техник, строитель, инспектор, судебный эксперт, программист, разработчик ПО и т. д.
ISFPЭтот человек умеет находить радость в однообразии и рутинных делах. Прекрасно ладит с людьми, избегая конфликтов. Ему важно чувствовать свою значимость и оказывать помощь. Такой человек не стремится руководить или менять других, уважает их личные границы и ожидает того же в ответ. По натуре он приземленный практик, на которого всегда можно положитьсяКомпозитор: помощник по маркетингу, танцор, шеф-повар, офис-администратор, художник, дизайнер интерьеров, секретарь, медсестра и т. д.
INFPЭтот человек - чувствительный лирик, прекрасно разбирающийся в людях и легко вызывающий у них симпатию. Он обладает отличным чувством юмора и уделяет большое внимание своему внешнему виду. Стремится к самопознанию, гармонии с собой и старается быть полезным окружающимЦелитель: писатель, дизайнер мультимедиа, менеджер по работе с клиентами, учитель для детей с особыми потребностями, тренер, редактор, модельер и т. д.
INTPЭтот человек - эрудит с философским складом ума. Он тщательно анализирует свои решения, стремясь к объективности и беспристрастности. Бурные проявления эмоций ему не свойственны. Однако большое количество данных и их изменчивость могут вызывать у него внутреннее напряжениеАрхитектор: технический писатель, веб-разработчик, аналитик информационной безопасности, исследователь, ученый, юрист и т. д.
ESTPЭтот человек всегда добивается успеха, невзирая на препятствия, которые лишь усиливают его целеустремленность. Он стремится к лидерским позициям и плохо переносит роль подчиненного. Обычно разрабатывает четкий план действий и неуклонно ему следуетПромоутер: специалист по работе с клиентами, актер, личный тренер, бренд-амбассадор, менеджер, предприниматель, креативный директор, полицейский, маркетолог, производитель и т. д.
ESFPЭтот человек легко выявляет слабые стороны людей, что позволяет ему эффективно манипулировать и управлять. В общении он чаще всего руководствуется собственными интересами и предпочитает жить в настоящем. Часто не завершает начатое, стремясь к быстрым результатам. Однако при этом стремится поддерживать гармоничные отношения с окружающимиИсполнитель: бортпроводник, артист, учитель, менеджер по связям с общественностью, торговый представитель, организатор мероприятий и т. д.
ENFPЭтот человек - творческая личность и фантазер, обладающий качествами, которые помогают ему успешно взаимодействовать с другими, быть открытым и общительным. Он активно участвует в различных мероприятиях, легко решает возникающие вопросы и демонстрирует гибкостьЧемпион: медицинский работник, продюсер, продавец-консультант, специалист по обслуживанию клиентов, сценарист, ведущий на ТВ/радио и т. д.
ENTPЭтот человек - изобретательный, инициативный и гибкий. Он генератор идей и первопроходец, который не выносит рутины. Постоянное движение и интуитивное принятие решений всегда сопровождают его в работеНоватор: инженер, маркетолог, менеджер по социальным сетям, аналитик управления, руководитель цифрового маркетинга, бизнес-консультант, разработчик игр, менеджер по продажам и т. д.
ESTJЭто трудолюбивый человек, который воспринимает мир таким, какой он есть. Он склонен тщательно планировать и доводить дела до конца. Заботится о своем ближайшем окружении, проявляет добродушие, но иногда может быть вспыльчивым, резким и упрямымСупервайзер: управляющий директор, менеджер отеля, финансовый сотрудник, судья, агент по недвижимости, генеральный директор, шеф-повар, менеджер по бизнес-развитию, телемаркетолог и т. д.
ESFJЭтот человек умеет оказывать влияние на людей, проявляет заботу и готов жертвовать собой ради других. Он легко устанавливает контакт с любым человеком и способен направить ситуацию в нужное ему руслоПоставщик: специалист по технической поддержке, менеджер по работе с клиентами, профессор колледжа, медицинский исследователь, бухгалтер, фотожурналист и т. д.
ENFJЭтот человек отличается эмоциональностью и эмпатией. Его мимика выразительна, а речь — красноречива. Благодаря своей самоорганизованности, он успешно воплощает свои фантазии и идеи в жизнь. Он интуитивно понимает, какое решение следует принять в каждой конкретной ситуацииУчитель: менеджер по связям с общественностью, менеджер по продажам, директор по управлению персоналом, арт-директор, консультант и т. д.
ENTJЭтот человек легко увлекается, готов рисковать и полагается на интуицию. Без страха внедряет новые технологии и способен глубоко анализировать как себя, так и окружающий мир. Жизнь для него - это борьба, в которой он чувствует себя уверенно. Открыт для новых возможностей, но при этом нуждается в контролеКомандир: руководитель строительства, администратор службы здравоохранения, финансовый бухгалтер, аудитор, юрист, директор школы, химический инженер, менеджер баз данных и т. д.
\n", "
\n", "\n", "Пользователь может установить свои коэффициенты корреляции и ранжировать кандидатов по другим типам личности." ] }, { "cell_type": "markdown", "id": "d0a65bd1", "metadata": {}, "source": [ "#### Ранжирование кандидатов по одному из шестнадцати типов личности по версии MBTI" ] }, { "cell_type": "code", "execution_count": 8, "id": "18dc8c49", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TraitEISNTFJP
ID
1Openness0.09-0.03-0.14-0.16
2Conscientiousness0.04-0.040.200.14
3Extraversion0.20-0.030.01-0.07
4Agreeableness0.020.05-0.350.03
5Non-Neuroticism0.080.000.160.00
\n", "
" ], "text/plain": [ " Trait EI SN TF JP\n", "ID \n", "1 Openness 0.09 -0.03 -0.14 -0.16\n", "2 Conscientiousness 0.04 -0.04 0.20 0.14\n", "3 Extraversion 0.20 -0.03 0.01 -0.07\n", "4 Agreeableness 0.02 0.05 -0.35 0.03\n", "5 Non-Neuroticism 0.08 0.00 0.16 0.00" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Загрузка датафрейма с коэффициентами корреляции\n", "url = 'https://download.sberdisk.ru/download/file/493644095?token=EX7hFxNJhMoLumI&filename=df_mbti_correlation.csv'\n", "df_correlation_coefficients = pd.read_csv(url)\n", "\n", "df_correlation_coefficients.index.name = 'ID'\n", "df_correlation_coefficients.index += 1\n", "df_correlation_coefficients.index = df_correlation_coefficients.index.map(str)\n", "\n", "df_correlation_coefficients" ] }, { "cell_type": "code", "execution_count": 9, "id": "fff740f8", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUEISNTFJPMBTIMBTI_ScoreMatch
Person ID
5be0DQawtVkE.002.mp40.6810.5660.5540.6470.6420.259041-0.027361-0.100093-0.049093ENFP0.28987175.0
6cLaZxEf1nE4.004.mp40.6630.5510.5580.5850.5870.252010-0.029419-0.087981-0.050501ENFP0.27705775.0
10_plk5k7PBEg.003.mp40.6480.6100.5250.6140.6060.248447-0.028874-0.081294-0.036454ENFP0.26896175.0
8JZNMxa3OKHY.000.mp40.6060.5240.5310.5940.5800.239967-0.025332-0.090041-0.042964ENFP0.26650475.0
3300gK3CnzW0.003.mp40.4680.4490.3720.5100.454-0.1605200.068617-0.2788800.053384ISFJ0.16613250.0
12d6btbaNdfo.000.mp40.6190.6610.4780.6540.6010.0477880.002056-0.0921380.046539ESFJ0.13985075.0
7g24JGYuT74A.004.mp40.5900.3990.4100.5320.5070.0064470.037143-0.271593-0.105712ESFP0.13902050.0
44vdJGgZpj4k.003.mp40.5850.6160.4940.6060.5870.0375270.002895-0.0816460.045425ESFJ0.12344975.0
9nvlqJbHk_Lc.003.mp40.5110.4650.3910.4440.439-0.094752-0.007199-0.083317-0.132767INFP0.04525850.0
2300gK3CnzW0.001.mp40.4620.4130.4160.4980.431-0.1856990.0179460.0832050.030144ISTJ0.00753625.0
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU EI \\\n", "Person ID \n", "5 be0DQawtVkE.002.mp4 0.681 0.566 0.554 0.647 0.642 0.259041 \n", "6 cLaZxEf1nE4.004.mp4 0.663 0.551 0.558 0.585 0.587 0.252010 \n", "10 _plk5k7PBEg.003.mp4 0.648 0.610 0.525 0.614 0.606 0.248447 \n", "8 JZNMxa3OKHY.000.mp4 0.606 0.524 0.531 0.594 0.580 0.239967 \n", "3 300gK3CnzW0.003.mp4 0.468 0.449 0.372 0.510 0.454 -0.160520 \n", "1 2d6btbaNdfo.000.mp4 0.619 0.661 0.478 0.654 0.601 0.047788 \n", "7 g24JGYuT74A.004.mp4 0.590 0.399 0.410 0.532 0.507 0.006447 \n", "4 4vdJGgZpj4k.003.mp4 0.585 0.616 0.494 0.606 0.587 0.037527 \n", "9 nvlqJbHk_Lc.003.mp4 0.511 0.465 0.391 0.444 0.439 -0.094752 \n", "2 300gK3CnzW0.001.mp4 0.462 0.413 0.416 0.498 0.431 -0.185699 \n", "\n", " SN TF JP MBTI MBTI_Score Match \n", "Person ID \n", "5 -0.027361 -0.100093 -0.049093 ENFP 0.289871 75.0 \n", "6 -0.029419 -0.087981 -0.050501 ENFP 0.277057 75.0 \n", "10 -0.028874 -0.081294 -0.036454 ENFP 0.268961 75.0 \n", "8 -0.025332 -0.090041 -0.042964 ENFP 0.266504 75.0 \n", "3 0.068617 -0.278880 0.053384 ISFJ 0.166132 50.0 \n", "1 0.002056 -0.092138 0.046539 ESFJ 0.139850 75.0 \n", "7 0.037143 -0.271593 -0.105712 ESFP 0.139020 50.0 \n", "4 0.002895 -0.081646 0.045425 ESFJ 0.123449 75.0 \n", "9 -0.007199 -0.083317 -0.132767 INFP 0.045258 50.0 \n", "2 0.017946 0.083205 0.030144 ISTJ 0.007536 25.0 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_b5._professional_match(\n", " correlation_coefficients = df_correlation_coefficients,\n", " personality_type = \"ENFJ\",\n", " threshold = 0.5,\n", " out = True\n", ")\n", "\n", "_b5._save_logs(df = _b5._df_files_MBTI_job_match, name = 'MBTI_ranking_fi_en', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_MBTI_job_match_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:6]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "2297292e-1e4b-44e0-9c85-ab0fba999892", "metadata": {}, "source": [ "### `MuPTA` (ru)" ] }, { "cell_type": "code", "execution_count": 10, "id": "3887d07c-eef2-4980-8d82-cabf6568aa7d", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-10 17:24:03] Извлечение признаков (экспертных и нейросетевых) из текста ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-10 17:24:04] Получение прогнозов и вычисление точности (мультимодальное объединение) ...**

    10 из 10 (100.0%) ... GitHub\\OCEANAI\\docs\\source\\user_guide\\notebooks\\video_MuPTA\\test\\speaker_27_center_83.mov ...

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOpennessConscientiousnessExtraversionAgreeablenessNon-Neuroticism
Person ID
1speaker_01_center_83.mov0.7657450.6966370.6563090.759860.494141
2speaker_06_center_83.mov0.6865140.6594880.6118380.7497390.420672
3speaker_07_center_83.mov0.6719930.6612160.5717590.7045420.381026
4speaker_10_center_83.mov0.698280.598930.5718930.6749070.35082
5speaker_11_center_83.mov0.7183290.5989860.5735180.732010.379845
6speaker_15_center_83.mov0.6709320.6710550.6023370.7086560.399527
7speaker_19_center_83.mov0.7672610.6581670.6533670.8013660.463443
8speaker_23_center_83.mov0.6998370.6849070.6166710.8064370.447853
9speaker_24_center_83.mov0.7105660.662990.6105620.7112420.413696
10speaker_27_center_83.mov0.7594040.7125620.6583570.8305070.507612
\n", "
" ], "text/plain": [ " Path Openness Conscientiousness Extraversion \\\n", "Person ID \n", "1 speaker_01_center_83.mov 0.765745 0.696637 0.656309 \n", "2 speaker_06_center_83.mov 0.686514 0.659488 0.611838 \n", "3 speaker_07_center_83.mov 0.671993 0.661216 0.571759 \n", "4 speaker_10_center_83.mov 0.69828 0.59893 0.571893 \n", "5 speaker_11_center_83.mov 0.718329 0.598986 0.573518 \n", "6 speaker_15_center_83.mov 0.670932 0.671055 0.602337 \n", "7 speaker_19_center_83.mov 0.767261 0.658167 0.653367 \n", "8 speaker_23_center_83.mov 0.699837 0.684907 0.616671 \n", "9 speaker_24_center_83.mov 0.710566 0.66299 0.610562 \n", "10 speaker_27_center_83.mov 0.759404 0.712562 0.658357 \n", "\n", " Agreeableness Non-Neuroticism \n", "Person ID \n", "1 0.75986 0.494141 \n", "2 0.749739 0.420672 \n", "3 0.704542 0.381026 \n", "4 0.674907 0.35082 \n", "5 0.73201 0.379845 \n", "6 0.708656 0.399527 \n", "7 0.801366 0.463443 \n", "8 0.806437 0.447853 \n", "9 0.711242 0.413696 \n", "10 0.830507 0.507612 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-10 17:24:04] Точность по отдельным персональным качествам личности человека ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
OpennessConscientiousnessExtraversionAgreeablenessNon-NeuroticismMean
Metrics
MAE0.07060.07880.13280.10710.10020.0979
Accuracy0.92940.92120.86720.89290.89980.9021
\n", "
" ], "text/plain": [ " Openness Conscientiousness Extraversion Agreeableness \\\n", "Metrics \n", "MAE 0.0706 0.0788 0.1328 0.1071 \n", "Accuracy 0.9294 0.9212 0.8672 0.8929 \n", "\n", " Non-Neuroticism Mean \n", "Metrics \n", "MAE 0.1002 0.0979 \n", "Accuracy 0.8998 0.9021 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-10 17:24:04] Средняя средних абсолютных ошибок: 0.0979, средняя точность: 0.9021 ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**Лог файлы успешно сохранены ...**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**--- Время выполнения: 322.244 сек. ---**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "True" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import os\n", "import pandas as pd\n", "\n", "# Импорт модуля\n", "from oceanai.modules.lab.build import Run\n", "\n", "# Создание экземпляра класса\n", "_b5 = Run()\n", "\n", "corpus = 'mupta'\n", "lang = 'ru'\n", "\n", "# Настройка ядра\n", "_b5.path_to_save_ = './models' # Директория для сохранения файла\n", "_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг\n", "\n", "# Формирование аудиомоделей\n", "res_load_model_hc = _b5.load_audio_model_hc()\n", "res_load_model_nn = _b5.load_audio_model_nn()\n", "\n", "# Загрузка весов аудиомоделей\n", "url = _b5.weights_for_big5_['audio'][corpus]['hc']['googledisk']\n", "res_load_model_weights_hc = _b5.load_audio_model_weights_hc(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['audio'][corpus]['nn']['googledisk']\n", "res_load_model_weights_nn = _b5.load_audio_model_weights_nn(url = url, force_reload = False)\n", "\n", "# Формирование видеомоделей\n", "res_load_model_hc = _b5.load_video_model_hc(lang=lang)\n", "res_load_model_deep_fe = _b5.load_video_model_deep_fe()\n", "res_load_model_nn = _b5.load_video_model_nn()\n", "\n", "# Загрузка весов видеомоделей\n", "url = _b5.weights_for_big5_['video'][corpus]['hc']['googledisk']\n", "res_load_model_weights_hc = _b5.load_video_model_weights_hc(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['video'][corpus]['fe']['googledisk']\n", "res_load_model_weights_deep_fe = _b5.load_video_model_weights_deep_fe(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['video'][corpus]['nn']['googledisk']\n", "res_load_model_weights_nn = _b5.load_video_model_weights_nn(url = url, force_reload = False)\n", "\n", "# Загрузка словаря с экспертными признаками (текстовая модальность)\n", "res_load_text_features = _b5.load_text_features()\n", "\n", "# Формирование текстовых моделей \n", "res_setup_translation_model = _b5.setup_translation_model() # только для русского языка\n", "res_setup_translation_model = _b5.setup_bert_encoder(force_reload = False)\n", "res_load_text_model_hc_fi = _b5.load_text_model_hc(corpus=corpus)\n", "res_load_text_model_nn_fi = _b5.load_text_model_nn(corpus=corpus)\n", "\n", "# Загрузка весов текстовых моделей\n", "url = _b5.weights_for_big5_['text'][corpus]['hc']['googledisk']\n", "res_load_text_model_weights_hc_fi = _b5.load_text_model_weights_hc(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['text'][corpus]['nn']['googledisk']\n", "res_load_text_model_weights_nn_fi = _b5.load_text_model_weights_nn(url = url, force_reload = False)\n", "\n", "# Формирование модели для мультимодального объединения информации\n", "res_load_avt_model_b5 = _b5.load_avt_model_b5()\n", "\n", "# Загрузка весов модели для мультимодального объединения информации\n", "url = _b5.weights_for_big5_['avt'][corpus]['b5']['googledisk']\n", "res_load_avt_model_weights_b5 = _b5.load_avt_model_weights_b5(url = url, force_reload = False)\n", "\n", "PATH_TO_DIR = './video_MuPTA/'\n", "PATH_SAVE_VIDEO = './video_MuPTA/test/'\n", "\n", "_b5.path_to_save_ = PATH_SAVE_VIDEO\n", "\n", "# Загрузка 10 тестовых аудиовидеозаписей из корпуса MuPTA\n", "# URL: https://hci.nw.ru/en/pages/mupta-corpus\n", "domain = 'https://download.sberdisk.ru/download/file/'\n", "tets_name_files = [\n", " '477995979?token=2cvyk7CS0mHx2MJ&filename=speaker_06_center_83.mov',\n", " '477995980?token=jGPtBPS69uzFU6Y&filename=speaker_01_center_83.mov',\n", " '477995967?token=zCaRbNB6ht5wMPq&filename=speaker_11_center_83.mov',\n", " '477995966?token=B1rbinDYRQKrI3T&filename=speaker_15_center_83.mov',\n", " '477995978?token=dEpVDtZg1EQiEQ9&filename=speaker_07_center_83.mov',\n", " '477995961?token=o1hVjw8G45q9L9Z&filename=speaker_19_center_83.mov',\n", " '477995964?token=5K220Aqf673VHPq&filename=speaker_23_center_83.mov',\n", " '477995965?token=v1LVD2KT1cU7Lpb&filename=speaker_24_center_83.mov',\n", " '477995962?token=tmaSGyyWLA6XCy9&filename=speaker_27_center_83.mov',\n", " '477995963?token=bTpo96qNDPcwGqb&filename=speaker_10_center_83.mov',\n", "]\n", "\n", "for curr_files in tets_name_files:\n", " _b5.download_file_from_url(url = domain + curr_files, out = True)\n", "\n", "# Получение прогнозов\n", "_b5.path_to_dataset_ = PATH_TO_DIR # Директория набора данных\n", "_b5.ext_ = ['.mov'] # Расширения искомых файлов\n", "\n", "# Полный путь к файлу с верными предсказаниями для подсчета точности\n", "url_accuracy = _b5.true_traits_['mupta']['googledisk']\n", "\n", "_b5.get_avt_predictions(url_accuracy = url_accuracy, lang = lang)" ] }, { "cell_type": "markdown", "id": "193025ae-0e9e-4a91-a3df-8f3bfc395a9d", "metadata": {}, "source": [ "
\n", "\n", "Для выполнения ранжирования кандидатов необходимо знать весовые коэффициенты, определяющие приоритетность персональных качеств личности в зависимости от профессии.\n", "\n", "Предлагаются весовые коэффициенты для 5 профессий, вычисленные на основе научных статей:\n", "\n", "1) Sajjad H. et al. Personality and Career Choices // African Journal of Business Management. - 2012. – Vol. 6 (6) – pp. 2255-2260.\n", "2) Alkhelil A. H. The Relationship between Personality Traits and Career Choice: A Case Study of Secondary School Students // International Journal of Academic Research in Progressive Education and Development. – 2016. – Vol. 5(2). – pp. 2226-6348.\n", "3) De Jong N. et al. Personality Traits and Career Role Enactment: Career Role Preferences as a Mediator // Frontiers in Psychology. – 2019. – Vol. 10. – pp. 1720.\n", "\n", "Пользователь может установить свои весовые коэффициенты; сумма весов должна быть равна 100." ] }, { "cell_type": "code", "execution_count": 13, "id": "f79ba8a2-c173-4d83-9cf7-d0c991c7bcc0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ProfessionOpennessConscientiousnessExtraversionAgreeablenessNon-Neuroticism
ID
1Managers/executives153515305
2Entrepreneurship30305530
3Social/Non profit making professions55353520
4Public sector professions155015155
5Scientists/researchers, and engineers501551515
\n", "
" ], "text/plain": [ " Profession Openness Conscientiousness \\\n", "ID \n", "1 Managers/executives 15 35 \n", "2 Entrepreneurship 30 30 \n", "3 Social/Non profit making professions 5 5 \n", "4 Public sector professions 15 50 \n", "5 Scientists/researchers, and engineers 50 15 \n", "\n", " Extraversion Agreeableness Non-Neuroticism \n", "ID \n", "1 15 30 5 \n", "2 5 5 30 \n", "3 35 35 20 \n", "4 15 15 5 \n", "5 5 15 15 " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Загрузка датафрейма с весовыми коэффициентами\n", "url = 'https://download.sberdisk.ru/download/file/478675798?token=fF5fNZVpthQlEV0&filename=traits_priority_for_professions.csv'\n", "traits_priority_for_professions = pd.read_csv(url)\n", "\n", "traits_priority_for_professions.index.name = 'ID'\n", "traits_priority_for_professions.index += 1\n", "traits_priority_for_professions.index = traits_priority_for_professions.index.map(str)\n", "\n", "traits_priority_for_professions" ] }, { "cell_type": "markdown", "id": "36fbef26-34ec-4812-9074-6eb6879069d3", "metadata": {}, "source": [ "#### Ранжирование кандидатов на должность инженера-проектировщика" ] }, { "cell_type": "code", "execution_count": 14, "id": "16e43257-3500-4dd8-b04a-34f7435fc185", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUCandidate score
Person ID
10speaker_27_center_83.mov0.7590.7130.6580.8310.50872.022
1speaker_01_center_83.mov0.7660.6970.6560.7600.49470.828
7speaker_19_center_83.mov0.7670.6580.6530.8010.46370.475
8speaker_23_center_83.mov0.7000.6850.6170.8060.44867.163
9speaker_24_center_83.mov0.7110.6630.6110.7110.41465.400
2speaker_06_center_83.mov0.6870.6590.6120.7500.42164.833
5speaker_11_center_83.mov0.7180.5990.5740.7320.38064.447
6speaker_15_center_83.mov0.6710.6710.6020.7090.40063.247
3speaker_07_center_83.mov0.6720.6610.5720.7050.38162.660
4speaker_10_center_83.mov0.6980.5990.5720.6750.35162.143
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "10 speaker_27_center_83.mov 0.759 0.713 0.658 0.831 0.508 \n", "1 speaker_01_center_83.mov 0.766 0.697 0.656 0.760 0.494 \n", "7 speaker_19_center_83.mov 0.767 0.658 0.653 0.801 0.463 \n", "8 speaker_23_center_83.mov 0.700 0.685 0.617 0.806 0.448 \n", "9 speaker_24_center_83.mov 0.711 0.663 0.611 0.711 0.414 \n", "2 speaker_06_center_83.mov 0.687 0.659 0.612 0.750 0.421 \n", "5 speaker_11_center_83.mov 0.718 0.599 0.574 0.732 0.380 \n", "6 speaker_15_center_83.mov 0.671 0.671 0.602 0.709 0.400 \n", "3 speaker_07_center_83.mov 0.672 0.661 0.572 0.705 0.381 \n", "4 speaker_10_center_83.mov 0.698 0.599 0.572 0.675 0.351 \n", "\n", " Candidate score \n", "Person ID \n", "10 72.022 \n", "1 70.828 \n", "7 70.475 \n", "8 67.163 \n", "9 65.400 \n", "2 64.833 \n", "5 64.447 \n", "6 63.247 \n", "3 62.660 \n", "4 62.143 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weights = traits_priority_for_professions.iloc[4].values[1:]\n", "weights = list(map(int, weights))\n", "\n", "_b5._candidate_ranking(\n", " weigths_openness = weights[0], \n", " weigths_conscientiousness = weights[1],\n", " weigths_extraversion = weights[2],\n", " weigths_agreeableness = weights[3], \n", " weigths_non_neuroticism = weights[4],\n", " out = False\n", ")\n", "\n", "_b5._save_logs(df = _b5.df_files_ranking_, name = 'engineer_candidate_ranking_mupta_ru', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_ranking_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "87ea0221-872f-4ac0-b89a-2c4fcaaa5b45", "metadata": {}, "source": [ "#### Ранжирование кандидатов на должность менеджера" ] }, { "cell_type": "code", "execution_count": 15, "id": "41e60b73-f8a0-444d-a696-2f83ff138e53", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUCandidate score
Person ID
10speaker_27_center_83.mov0.7590.7130.6580.8310.50873.659
1speaker_01_center_83.mov0.7660.6970.6560.7600.49470.980
7speaker_19_center_83.mov0.7670.6580.6530.8010.46370.703
8speaker_23_center_83.mov0.7000.6850.6170.8060.44870.152
2speaker_06_center_83.mov0.6870.6590.6120.7500.42167.153
9speaker_24_center_83.mov0.7110.6630.6110.7110.41466.427
6speaker_15_center_83.mov0.6710.6710.6020.7090.40065.843
3speaker_07_center_83.mov0.6720.6610.5720.7050.38164.840
5speaker_11_center_83.mov0.7180.5990.5740.7320.38064.202
4speaker_10_center_83.mov0.6980.5990.5720.6750.35162.016
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "10 speaker_27_center_83.mov 0.759 0.713 0.658 0.831 0.508 \n", "1 speaker_01_center_83.mov 0.766 0.697 0.656 0.760 0.494 \n", "7 speaker_19_center_83.mov 0.767 0.658 0.653 0.801 0.463 \n", "8 speaker_23_center_83.mov 0.700 0.685 0.617 0.806 0.448 \n", "2 speaker_06_center_83.mov 0.687 0.659 0.612 0.750 0.421 \n", "9 speaker_24_center_83.mov 0.711 0.663 0.611 0.711 0.414 \n", "6 speaker_15_center_83.mov 0.671 0.671 0.602 0.709 0.400 \n", "3 speaker_07_center_83.mov 0.672 0.661 0.572 0.705 0.381 \n", "5 speaker_11_center_83.mov 0.718 0.599 0.574 0.732 0.380 \n", "4 speaker_10_center_83.mov 0.698 0.599 0.572 0.675 0.351 \n", "\n", " Candidate score \n", "Person ID \n", "10 73.659 \n", "1 70.980 \n", "7 70.703 \n", "8 70.152 \n", "2 67.153 \n", "9 66.427 \n", "6 65.843 \n", "3 64.840 \n", "5 64.202 \n", "4 62.016 " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weights = traits_priority_for_professions.iloc[0].values[1:]\n", "weights = list(map(int, weights))\n", "\n", "_b5._candidate_ranking(\n", " weigths_openness = weights[0], \n", " weigths_conscientiousness = weights[1],\n", " weigths_extraversion = weights[2],\n", " weigths_agreeableness = weights[3], \n", " weigths_non_neuroticism = weights[4],\n", " out = False\n", ")\n", "\n", "_b5._save_logs(df = _b5.df_files_ranking_, name = 'executive_candidate_ranking_mupta_ru', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_ranking_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "6a176cee-f519-4065-a742-593f7c4c1a98", "metadata": {}, "source": [ "
\n", "\n", "Для ранжирования кандидатов по профессиональным навыкам необходимо задать по два коэффициента корреляции для каждого персонального качества личности человека и навыка, а также порога полярности качеств. Эти коэффициенты должны показывать, как измениться оценка качества человека если она больше или меньше заданного порога полярности качеств. \n", "\n", "В качестве примера предлагается использование коэффициентов корреляции между двумя людьми в четырьмя профессиональными навыками, представленных в статье:\n", "\n", "1) Wehner C., de Grip A., Pfeifer H. Do recruiters select workers with different personality traits for different tasks? A discrete choice experiment // Labour Economics. - 2022. - vol. 78. - pp. 102186.\n", "\n", "Представлены 4 профессиональных навыка: \n", "\n", "1) Analytical (Аналитические навыки). Умение эффективно решать новые задачи, требующие глубокого анализа. \n", "2) Interactive (Навыки межличностного общения). Умение убеждать и достигать компромиссов с заказчиками и коллегами.\n", "4) Routine (Способность выполнять рутинную работу). Умение эффективно управлять рутинными задачами, соблюдая точность и внимание к деталям.\n", "5) Non-Routine (Способность выполнять нестандартную работу). Умение реагировать и решать проблемы, не имеющие установленного порядка, проявляя адаптивность и креативные навыки в решении задач.\n", "\n", "Пользователь может установить свои коэффициенты корреляции и ранжировать кандидатов по другим профессиональным навыкам." ] }, { "cell_type": "markdown", "id": "ff810b13-0fae-4201-a74a-79f2f978e1e7", "metadata": {}, "source": [ "#### Ранжирование кандидатов по профессиональным навыкам" ] }, { "cell_type": "code", "execution_count": 16, "id": "1b7cae2f-76d6-4628-acfc-54d2f941113a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TraitScore_levelAnalyticalInteractiveRoutineNon-Routine
ID
1Opennesshigh0.0820.3480.5710.510
2Opennesslow0.1960.1520.1480.218
3Conscientiousnesshigh0.9941.3331.5071.258
4Conscientiousnesslow0.2410.1880.1910.267
5Extraversionhigh0.169-0.0600.2580.017
6Extraversionlow0.1810.1350.1300.194
7Agreeablenesshigh1.2390.9641.4001.191
8Agreeablenesslow0.2260.1800.1890.259
9Non-Neuroticismhigh0.6360.7770.8760.729
10Non-Neuroticismlow0.2070.1590.1660.238
\n", "
" ], "text/plain": [ " Trait Score_level Analytical Interactive Routine \\\n", "ID \n", "1 Openness high 0.082 0.348 0.571 \n", "2 Openness low 0.196 0.152 0.148 \n", "3 Conscientiousness high 0.994 1.333 1.507 \n", "4 Conscientiousness low 0.241 0.188 0.191 \n", "5 Extraversion high 0.169 -0.060 0.258 \n", "6 Extraversion low 0.181 0.135 0.130 \n", "7 Agreeableness high 1.239 0.964 1.400 \n", "8 Agreeableness low 0.226 0.180 0.189 \n", "9 Non-Neuroticism high 0.636 0.777 0.876 \n", "10 Non-Neuroticism low 0.207 0.159 0.166 \n", "\n", " Non-Routine \n", "ID \n", "1 0.510 \n", "2 0.218 \n", "3 1.258 \n", "4 0.267 \n", "5 0.017 \n", "6 0.194 \n", "7 1.191 \n", "8 0.259 \n", "9 0.729 \n", "10 0.238 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Загрузка датафрейма с коэффициентами корреляции\n", "url = 'https://download.sberdisk.ru/download/file/478678231?token=0qiZwliLtHWWYMv&filename=professional_skills.csv'\n", "df_professional_skills = pd.read_csv(url)\n", "\n", "df_professional_skills.index.name = 'ID'\n", "df_professional_skills.index += 1\n", "df_professional_skills.index = df_professional_skills.index.map(str)\n", "\n", "df_professional_skills" ] }, { "cell_type": "code", "execution_count": 17, "id": "0921b47e-003c-41a6-9fd0-ff1a4b434f70", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUAnalyticalInteractiveRoutineNon-Routine
Person ID
10speaker_27_center_83.mov0.7590.7130.6580.8310.5080.4470.4740.6570.531
8speaker_23_center_83.mov0.7000.6850.6170.8060.4480.3870.3940.5590.459
7speaker_19_center_83.mov0.7670.6580.6530.8010.4630.3830.3900.5590.459
1speaker_01_center_83.mov0.7660.6970.6560.7600.4940.3820.3930.5600.460
2speaker_06_center_83.mov0.6870.6590.6120.7500.4210.3660.3740.5330.437
9speaker_24_center_83.mov0.7110.6630.6110.7110.4140.3570.3690.5250.430
6speaker_15_center_83.mov0.6710.6710.6020.7090.4000.3570.3680.5220.427
3speaker_07_center_83.mov0.6720.6610.5720.7050.3810.3520.3640.5150.423
5speaker_11_center_83.mov0.7180.5990.5740.7320.3800.3470.3560.5100.418
4speaker_10_center_83.mov0.6980.5990.5720.6750.3510.3320.3430.4900.401
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "10 speaker_27_center_83.mov 0.759 0.713 0.658 0.831 0.508 \n", "8 speaker_23_center_83.mov 0.700 0.685 0.617 0.806 0.448 \n", "7 speaker_19_center_83.mov 0.767 0.658 0.653 0.801 0.463 \n", "1 speaker_01_center_83.mov 0.766 0.697 0.656 0.760 0.494 \n", "2 speaker_06_center_83.mov 0.687 0.659 0.612 0.750 0.421 \n", "9 speaker_24_center_83.mov 0.711 0.663 0.611 0.711 0.414 \n", "6 speaker_15_center_83.mov 0.671 0.671 0.602 0.709 0.400 \n", "3 speaker_07_center_83.mov 0.672 0.661 0.572 0.705 0.381 \n", "5 speaker_11_center_83.mov 0.718 0.599 0.574 0.732 0.380 \n", "4 speaker_10_center_83.mov 0.698 0.599 0.572 0.675 0.351 \n", "\n", " Analytical Interactive Routine Non-Routine \n", "Person ID \n", "10 0.447 0.474 0.657 0.531 \n", "8 0.387 0.394 0.559 0.459 \n", "7 0.383 0.390 0.559 0.459 \n", "1 0.382 0.393 0.560 0.460 \n", "2 0.366 0.374 0.533 0.437 \n", "9 0.357 0.369 0.525 0.430 \n", "6 0.357 0.368 0.522 0.427 \n", "3 0.352 0.364 0.515 0.423 \n", "5 0.347 0.356 0.510 0.418 \n", "4 0.332 0.343 0.490 0.401 " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_b5._priority_skill_calculation(\n", " correlation_coefficients = df_professional_skills,\n", " threshold = 0.5,\n", " out = True\n", ")\n", "\n", "_b5._save_logs(df = _b5.df_files_priority_skill_, name = 'skill_candidate_ranking_mupta_ru', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_priority_skill_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "f443f6ad", "metadata": {}, "source": [ "
\n", "\n", "Для ранжирования кандидатов по одному из шестнадцати типов личности MBTI необходимо задать матрицу корреляции между персональными качествами личности человека и четырьмя диспозициями MBTI, установить порог полярности качеств и указать целевой тип личности MBTI.\n", "\n", "В качестве примера предлагается использование коэффициентов корреляции, представленных в статье [1]. Описание типов личности MBTI и соотвествующие им успешные профессии представлены в статье [2].\n", "\n", "1) Furnham A. The big five facets and the MBTI: The relationship between the 30 NEO-PI (R) Facets and the four Myers-Briggs Type Indicator (MBTI) scores // Psychology. - 2022. vol. 13(10). - pp. 1504-1516.\n", "2) Tieger P.D., Barron B., Tieger K. Do what you are: Discover the perfect career for you through the secrets of personality type // Hachette UK. - 2024.\n", "\n", "##### Типы личности MBTI основаны на четырех измерениях личности:\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Описание измеренияИзмерение
Как мы взаимодействуем с миром и куда направляем свою энергию(E) Экстраверсия - Интроверсия (I)
Вид информации, которую мы естественным образом замечаем(S) Сенсорика - Интуиция (N)
Как мы принимаем решения(T) Логика - Чувства (F)
Предпочитаем ли мы жить более структурированно (принимая решения) или более спонтанно (принимая информацию)(J) Оценка - Восприятие (P)
\n", "
\n", "\n", "##### Типы личности MBTI и соотвествующие им успешные профессии:\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Тип личностиОписаниеУспешные профессии
ISTJЭтот человек отличается ответственностью, строгостью и педантичностью. Он опирается на объективные факты и склонен к аналитическому мышлению. Приступает к задаче только тогда, когда уверен в своих возможностях и успехеИнспектор: бухгалтер, аудитор, бюджетный аналитик, финансовый менеджер, разработчик, системный аналитик, библиотекарь и т. д.
ISFJЭтот человек склонен к самоанализу и анализу окружающих, легко распознает фальшь и предпочитает сохранять психологическую дистанцию. Он исполнителен, внимателен и готов помогать другим. Его силы и энергия исходят из внутренних ресурсов, и он всегда полагается на собственный опытЗащитник: медсестра, врач, ветеринар или ветеринарный ассистент, социальный работник, сельскохозяйственный или пищевой ученый, секретарь, водитель и т. д.
INFJО таких людях говорят: «ему можно доверять». Он отличается высокой чувствительностью, уделяет большое внимание межличностным отношениям, умеет давать ценные советы и помогает раскрывать потенциал других. Развитая интуиция не только генерирует множество идей, но и способствует самоорганизацииСоветник: психолог, специалист по управлению персоналом, офис-менеджер, специалист по обучению, графический дизайнер и т. д.
INTJЭтот человек умеет выделять главное, говорит четко и по существу, придерживается практического подхода. Он стремится постоянно улучшать свою работу и всегда ищет способы сделать задачу еще лучше. Пустые разговоры ему не по душе, поэтому он избегает больших шумных компаний и с трудом заводит новые знакомстваМастермайнд: аниматор, архитектор, копирайтер, фотограф, тележурналист, видеомонтажер, специалист по бизнес-развитию, исполнительный директор, профессор и т. д.
ISTPЭтот человек воспринимает мир через ощущения. По природе эмпат, но чаще сосредоточен на себе. Его умение объективно принимать решения и анализировать ситуацию указывает на технический склад ума. Он всегда соблюдает дедлайны, хотя иногда может поступить неожиданноСоздатель: инженер, техник, строитель, инспектор, судебный эксперт, программист, разработчик ПО и т. д.
ISFPЭтот человек умеет находить радость в однообразии и рутинных делах. Прекрасно ладит с людьми, избегая конфликтов. Ему важно чувствовать свою значимость и оказывать помощь. Такой человек не стремится руководить или менять других, уважает их личные границы и ожидает того же в ответ. По натуре он приземленный практик, на которого всегда можно положитьсяКомпозитор: помощник по маркетингу, танцор, шеф-повар, офис-администратор, художник, дизайнер интерьеров, секретарь, медсестра и т. д.
INFPЭтот человек - чувствительный лирик, прекрасно разбирающийся в людях и легко вызывающий у них симпатию. Он обладает отличным чувством юмора и уделяет большое внимание своему внешнему виду. Стремится к самопознанию, гармонии с собой и старается быть полезным окружающимЦелитель: писатель, дизайнер мультимедиа, менеджер по работе с клиентами, учитель для детей с особыми потребностями, тренер, редактор, модельер и т. д.
INTPЭтот человек - эрудит с философским складом ума. Он тщательно анализирует свои решения, стремясь к объективности и беспристрастности. Бурные проявления эмоций ему не свойственны. Однако большое количество данных и их изменчивость могут вызывать у него внутреннее напряжениеАрхитектор: технический писатель, веб-разработчик, аналитик информационной безопасности, исследователь, ученый, юрист и т. д.
ESTPЭтот человек всегда добивается успеха, невзирая на препятствия, которые лишь усиливают его целеустремленность. Он стремится к лидерским позициям и плохо переносит роль подчиненного. Обычно разрабатывает четкий план действий и неуклонно ему следуетПромоутер: специалист по работе с клиентами, актер, личный тренер, бренд-амбассадор, менеджер, предприниматель, креативный директор, полицейский, маркетолог, производитель и т. д.
ESFPЭтот человек легко выявляет слабые стороны людей, что позволяет ему эффективно манипулировать и управлять. В общении он чаще всего руководствуется собственными интересами и предпочитает жить в настоящем. Часто не завершает начатое, стремясь к быстрым результатам. Однако при этом стремится поддерживать гармоничные отношения с окружающимиИсполнитель: бортпроводник, артист, учитель, менеджер по связям с общественностью, торговый представитель, организатор мероприятий и т. д.
ENFPЭтот человек - творческая личность и фантазер, обладающий качествами, которые помогают ему успешно взаимодействовать с другими, быть открытым и общительным. Он активно участвует в различных мероприятиях, легко решает возникающие вопросы и демонстрирует гибкостьЧемпион: медицинский работник, продюсер, продавец-консультант, специалист по обслуживанию клиентов, сценарист, ведущий на ТВ/радио и т. д.
ENTPЭтот человек - изобретательный, инициативный и гибкий. Он генератор идей и первопроходец, который не выносит рутины. Постоянное движение и интуитивное принятие решений всегда сопровождают его в работеНоватор: инженер, маркетолог, менеджер по социальным сетям, аналитик управления, руководитель цифрового маркетинга, бизнес-консультант, разработчик игр, менеджер по продажам и т. д.
ESTJЭто трудолюбивый человек, который воспринимает мир таким, какой он есть. Он склонен тщательно планировать и доводить дела до конца. Заботится о своем ближайшем окружении, проявляет добродушие, но иногда может быть вспыльчивым, резким и упрямымСупервайзер: управляющий директор, менеджер отеля, финансовый сотрудник, судья, агент по недвижимости, генеральный директор, шеф-повар, менеджер по бизнес-развитию, телемаркетолог и т. д.
ESFJЭтот человек умеет оказывать влияние на людей, проявляет заботу и готов жертвовать собой ради других. Он легко устанавливает контакт с любым человеком и способен направить ситуацию в нужное ему руслоПоставщик: специалист по технической поддержке, менеджер по работе с клиентами, профессор колледжа, медицинский исследователь, бухгалтер, фотожурналист и т. д.
ENFJЭтот человек отличается эмоциональностью и эмпатией. Его мимика выразительна, а речь — красноречива. Благодаря своей самоорганизованности, он успешно воплощает свои фантазии и идеи в жизнь. Он интуитивно понимает, какое решение следует принять в каждой конкретной ситуацииУчитель: менеджер по связям с общественностью, менеджер по продажам, директор по управлению персоналом, арт-директор, консультант и т. д.
ENTJЭтот человек легко увлекается, готов рисковать и полагается на интуицию. Без страха внедряет новые технологии и способен глубоко анализировать как себя, так и окружающий мир. Жизнь для него - это борьба, в которой он чувствует себя уверенно. Открыт для новых возможностей, но при этом нуждается в контролеКомандир: руководитель строительства, администратор службы здравоохранения, финансовый бухгалтер, аудитор, юрист, директор школы, химический инженер, менеджер баз данных и т. д.
\n", "
\n", "\n", "Пользователь может установить свои коэффициенты корреляции и ранжировать кандидатов по другим типам личности." ] }, { "cell_type": "code", "execution_count": 18, "id": "f3ab3951", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TraitEISNTFJP
ID
1Openness0.09-0.03-0.14-0.16
2Conscientiousness0.04-0.040.200.14
3Extraversion0.20-0.030.01-0.07
4Agreeableness0.020.05-0.350.03
5Non-Neuroticism0.080.000.160.00
\n", "
" ], "text/plain": [ " Trait EI SN TF JP\n", "ID \n", "1 Openness 0.09 -0.03 -0.14 -0.16\n", "2 Conscientiousness 0.04 -0.04 0.20 0.14\n", "3 Extraversion 0.20 -0.03 0.01 -0.07\n", "4 Agreeableness 0.02 0.05 -0.35 0.03\n", "5 Non-Neuroticism 0.08 0.00 0.16 0.00" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Загрузка датафрейма с коэффициентами корреляции\n", "url = 'https://download.sberdisk.ru/download/file/493644095?token=EX7hFxNJhMoLumI&filename=df_mbti_correlation.csv'\n", "df_correlation_coefficients = pd.read_csv(url)\n", "\n", "df_correlation_coefficients.index.name = 'ID'\n", "df_correlation_coefficients.index += 1\n", "df_correlation_coefficients.index = df_correlation_coefficients.index.map(str)\n", "\n", "df_correlation_coefficients" ] }, { "cell_type": "code", "execution_count": 19, "id": "3743bc4e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUEISNTFJPMBTIMBTI_ScoreMatch
Person ID
7speaker_19_center_83.mov0.7670.6580.6530.8010.4630.205006-0.028877-0.323879-0.052313ENFP0.41832175.0
1speaker_01_center_83.mov0.7660.6970.6560.7600.4940.203710-0.032534-0.306328-0.048136ENFP0.40692975.0
8speaker_23_center_83.mov0.7000.6850.6170.8060.4480.194016-0.026570-0.308738-0.035061ENFP0.39699375.0
2speaker_06_center_83.mov0.6870.6590.6120.7500.4210.191874-0.027843-0.287812-0.037850ENFP0.38064775.0
5speaker_11_center_83.mov0.7180.5990.5740.7320.3800.187565-0.026114-0.292012-0.049261ENFP0.37926975.0
9speaker_24_center_83.mov0.7110.6630.6110.7110.4140.193712-0.030591-0.275902-0.042274ENFP0.37515475.0
6speaker_15_center_83.mov0.6710.6710.6020.7090.4000.189904-0.029607-0.265650-0.034305ENFP0.36387175.0
10speaker_27_center_83.mov0.7590.7130.6580.8310.5080.285739-0.029510-0.166680-0.042916ENFP0.36144775.0
4speaker_10_center_83.mov0.6980.5990.5720.6750.3510.186613-0.028317-0.264603-0.047660ENFP0.35965075.0
3speaker_07_center_83.mov0.6720.6610.5720.7050.3810.184889-0.028534-0.263672-0.033835ENFP0.35782175.0
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "7 speaker_19_center_83.mov 0.767 0.658 0.653 0.801 0.463 \n", "1 speaker_01_center_83.mov 0.766 0.697 0.656 0.760 0.494 \n", "8 speaker_23_center_83.mov 0.700 0.685 0.617 0.806 0.448 \n", "2 speaker_06_center_83.mov 0.687 0.659 0.612 0.750 0.421 \n", "5 speaker_11_center_83.mov 0.718 0.599 0.574 0.732 0.380 \n", "9 speaker_24_center_83.mov 0.711 0.663 0.611 0.711 0.414 \n", "6 speaker_15_center_83.mov 0.671 0.671 0.602 0.709 0.400 \n", "10 speaker_27_center_83.mov 0.759 0.713 0.658 0.831 0.508 \n", "4 speaker_10_center_83.mov 0.698 0.599 0.572 0.675 0.351 \n", "3 speaker_07_center_83.mov 0.672 0.661 0.572 0.705 0.381 \n", "\n", " EI SN TF JP MBTI MBTI_Score Match \n", "Person ID \n", "7 0.205006 -0.028877 -0.323879 -0.052313 ENFP 0.418321 75.0 \n", "1 0.203710 -0.032534 -0.306328 -0.048136 ENFP 0.406929 75.0 \n", "8 0.194016 -0.026570 -0.308738 -0.035061 ENFP 0.396993 75.0 \n", "2 0.191874 -0.027843 -0.287812 -0.037850 ENFP 0.380647 75.0 \n", "5 0.187565 -0.026114 -0.292012 -0.049261 ENFP 0.379269 75.0 \n", "9 0.193712 -0.030591 -0.275902 -0.042274 ENFP 0.375154 75.0 \n", "6 0.189904 -0.029607 -0.265650 -0.034305 ENFP 0.363871 75.0 \n", "10 0.285739 -0.029510 -0.166680 -0.042916 ENFP 0.361447 75.0 \n", "4 0.186613 -0.028317 -0.264603 -0.047660 ENFP 0.359650 75.0 \n", "3 0.184889 -0.028534 -0.263672 -0.033835 ENFP 0.357821 75.0 " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_b5._professional_match(\n", " correlation_coefficients = df_correlation_coefficients,\n", " personality_type = \"ENFJ\",\n", " threshold = 0.5,\n", " out = True\n", ")\n", "\n", "_b5._save_logs(df = _b5._df_files_MBTI_job_match, name = 'MBTI_ranking_mupta_ru', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_MBTI_job_match_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:6]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "708fcd2b-eb78-4f58-96d2-19298b8c26d9", "metadata": {}, "source": [ "### `MuPTA` (en)" ] }, { "cell_type": "code", "execution_count": 21, "id": "1b1f1294-6f09-4827-85c6-75ccc7fbd375", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-10 17:40:54] Извлечение признаков (экспертных и нейросетевых) из текста ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-10 17:40:55] Получение прогнозов и вычисление точности (мультимодальное объединение) ...**

    10 из 10 (100.0%) ... GitHub\\OCEANAI\\docs\\source\\user_guide\\notebooks\\video_MuPTA\\test\\speaker_27_center_83.mov ...

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOpennessConscientiousnessExtraversionAgreeablenessNon-Neuroticism
Person ID
1speaker_01_center_83.mov0.595610.5429670.4406680.5897690.515306
2speaker_06_center_83.mov0.6613470.6739730.6032080.645430.6431
3speaker_07_center_83.mov0.4398680.4650490.2845470.4225510.396058
4speaker_10_center_83.mov0.477150.5025630.3736860.4413720.424637
5speaker_11_center_83.mov0.4032920.3443590.3173040.4222280.384346
6speaker_15_center_83.mov0.5818370.5621770.5046230.6021690.522254
7speaker_19_center_83.mov0.5104440.4484680.4255990.4518610.447891
8speaker_23_center_83.mov0.5005260.5413760.3085290.4411780.452412
9speaker_24_center_83.mov0.4276770.5113550.3010780.4342810.442301
10speaker_27_center_83.mov0.5664140.6591690.4340590.591220.579172
\n", "
" ], "text/plain": [ " Path Openness Conscientiousness Extraversion \\\n", "Person ID \n", "1 speaker_01_center_83.mov 0.59561 0.542967 0.440668 \n", "2 speaker_06_center_83.mov 0.661347 0.673973 0.603208 \n", "3 speaker_07_center_83.mov 0.439868 0.465049 0.284547 \n", "4 speaker_10_center_83.mov 0.47715 0.502563 0.373686 \n", "5 speaker_11_center_83.mov 0.403292 0.344359 0.317304 \n", "6 speaker_15_center_83.mov 0.581837 0.562177 0.504623 \n", "7 speaker_19_center_83.mov 0.510444 0.448468 0.425599 \n", "8 speaker_23_center_83.mov 0.500526 0.541376 0.308529 \n", "9 speaker_24_center_83.mov 0.427677 0.511355 0.301078 \n", "10 speaker_27_center_83.mov 0.566414 0.659169 0.434059 \n", "\n", " Agreeableness Non-Neuroticism \n", "Person ID \n", "1 0.589769 0.515306 \n", "2 0.64543 0.6431 \n", "3 0.422551 0.396058 \n", "4 0.441372 0.424637 \n", "5 0.422228 0.384346 \n", "6 0.602169 0.522254 \n", "7 0.451861 0.447891 \n", "8 0.441178 0.452412 \n", "9 0.434281 0.442301 \n", "10 0.59122 0.579172 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-10 17:40:55] Точность по отдельным персональным качествам личности человека ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
OpennessConscientiousnessExtraversionAgreeablenessNon-NeuroticismMean
Metrics
MAE0.16320.16210.1760.25890.11220.1745
Accuracy0.83680.83790.8240.74110.88780.8255
\n", "
" ], "text/plain": [ " Openness Conscientiousness Extraversion Agreeableness \\\n", "Metrics \n", "MAE 0.1632 0.1621 0.176 0.2589 \n", "Accuracy 0.8368 0.8379 0.824 0.7411 \n", "\n", " Non-Neuroticism Mean \n", "Metrics \n", "MAE 0.1122 0.1745 \n", "Accuracy 0.8878 0.8255 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-10 17:40:55] Средняя средних абсолютных ошибок: 0.1745, средняя точность: 0.8255 ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**Лог файлы успешно сохранены ...**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**--- Время выполнения: 316.051 сек. ---**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "True" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import os\n", "import pandas as pd\n", "\n", "# Импорт модуля\n", "from oceanai.modules.lab.build import Run\n", "\n", "# Создание экземпляра класса\n", "_b5 = Run()\n", "\n", "corpus = 'fi'\n", "lang = 'en'\n", "\n", "# Настройка ядра\n", "_b5.path_to_save_ = './models' # Директория для сохранения файла\n", "_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг\n", "\n", "# Формирование аудиомоделей\n", "res_load_model_hc = _b5.load_audio_model_hc()\n", "res_load_model_nn = _b5.load_audio_model_nn()\n", "\n", "# Загрузка весов аудиомоделей\n", "url = _b5.weights_for_big5_['audio'][corpus]['hc']['googledisk']\n", "res_load_model_weights_hc = _b5.load_audio_model_weights_hc(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['audio'][corpus]['nn']['googledisk']\n", "res_load_model_weights_nn = _b5.load_audio_model_weights_nn(url = url, force_reload = False)\n", "\n", "# Формирование видеомоделей\n", "res_load_model_hc = _b5.load_video_model_hc(lang=lang)\n", "res_load_model_deep_fe = _b5.load_video_model_deep_fe()\n", "res_load_model_nn = _b5.load_video_model_nn()\n", "\n", "# Загрузка весов видеомоделей\n", "url = _b5.weights_for_big5_['video'][corpus]['hc']['googledisk']\n", "res_load_model_weights_hc = _b5.load_video_model_weights_hc(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['video'][corpus]['fe']['googledisk']\n", "res_load_model_weights_deep_fe = _b5.load_video_model_weights_deep_fe(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['video'][corpus]['nn']['googledisk']\n", "res_load_model_weights_nn = _b5.load_video_model_weights_nn(url = url, force_reload = False)\n", "\n", "# Загрузка словаря с экспертными признаками (текстовая модальность)\n", "res_load_text_features = _b5.load_text_features()\n", "\n", "# Формирование текстовых моделей \n", "res_setup_translation_model = _b5.setup_bert_encoder(force_reload = False)\n", "res_load_text_model_hc_fi = _b5.load_text_model_hc(corpus=corpus)\n", "res_load_text_model_nn_fi = _b5.load_text_model_nn(corpus=corpus)\n", "\n", "# Загрузка весов текстовых моделей\n", "url = _b5.weights_for_big5_['text'][corpus]['hc']['googledisk']\n", "res_load_text_model_weights_hc_fi = _b5.load_text_model_weights_hc(url = url, force_reload = False)\n", "\n", "url = _b5.weights_for_big5_['text'][corpus]['nn']['googledisk']\n", "res_load_text_model_weights_nn_fi = _b5.load_text_model_weights_nn(url = url, force_reload = False)\n", "\n", "# Формирование модели для мультимодального объединения информации\n", "res_load_avt_model_b5 = _b5.load_avt_model_b5()\n", "\n", "# Загрузка весов модели для мультимодального объединения информации\n", "url = _b5.weights_for_big5_['avt'][corpus]['b5']['googledisk']\n", "res_load_avt_model_weights_b5 = _b5.load_avt_model_weights_b5(url = url, force_reload = False)\n", "\n", "PATH_TO_DIR = './video_MuPTA/'\n", "PATH_SAVE_VIDEO = './video_MuPTA/test/'\n", "\n", "_b5.path_to_save_ = PATH_SAVE_VIDEO\n", "\n", "# Загрузка 10 тестовых аудиовидеозаписей из корпуса MuPTA\n", "# URL: https://hci.nw.ru/en/pages/mupta-corpus\n", "domain = 'https://download.sberdisk.ru/download/file/'\n", "tets_name_files = [\n", " '477995979?token=2cvyk7CS0mHx2MJ&filename=speaker_06_center_83.mov',\n", " '477995980?token=jGPtBPS69uzFU6Y&filename=speaker_01_center_83.mov',\n", " '477995967?token=zCaRbNB6ht5wMPq&filename=speaker_11_center_83.mov',\n", " '477995966?token=B1rbinDYRQKrI3T&filename=speaker_15_center_83.mov',\n", " '477995978?token=dEpVDtZg1EQiEQ9&filename=speaker_07_center_83.mov',\n", " '477995961?token=o1hVjw8G45q9L9Z&filename=speaker_19_center_83.mov',\n", " '477995964?token=5K220Aqf673VHPq&filename=speaker_23_center_83.mov',\n", " '477995965?token=v1LVD2KT1cU7Lpb&filename=speaker_24_center_83.mov',\n", " '477995962?token=tmaSGyyWLA6XCy9&filename=speaker_27_center_83.mov',\n", " '477995963?token=bTpo96qNDPcwGqb&filename=speaker_10_center_83.mov',\n", "]\n", "\n", "for curr_files in tets_name_files:\n", " _b5.download_file_from_url(url = domain + curr_files, out = True)\n", "\n", "# Получение прогнозов\n", "_b5.path_to_dataset_ = PATH_TO_DIR # Директория набора данных\n", "_b5.ext_ = ['.mov'] # Расширения искомых файлов\n", "\n", "# Полный путь к файлу с верными предсказаниями для подсчета точности\n", "url_accuracy = _b5.true_traits_['mupta']['googledisk']\n", "\n", "_b5.get_avt_predictions(url_accuracy = url_accuracy, lang = lang)" ] }, { "cell_type": "markdown", "id": "b7d2dceb-423d-463d-ba89-61603250689a", "metadata": {}, "source": [ "
\n", "\n", "Для выполнения ранжирования кандидатов необходимо знать весовые коэффициенты, определяющие приоритетность персональных качеств личности в зависимости от профессии.\n", "\n", "Предлагаются весовые коэффициенты для 5 профессий, вычисленные на основе научных статей:\n", "\n", "1) Sajjad H. et al. Personality and Career Choices // African Journal of Business Management. - 2012. – Vol. 6 (6) – pp. 2255-2260.\n", "2) Alkhelil A. H. The Relationship between Personality Traits and Career Choice: A Case Study of Secondary School Students // International Journal of Academic Research in Progressive Education and Development. – 2016. – Vol. 5(2). – pp. 2226-6348.\n", "3) De Jong N. et al. Personality Traits and Career Role Enactment: Career Role Preferences as a Mediator // Frontiers in Psychology. – 2019. – Vol. 10. – pp. 1720.\n", "\n", "Пользователь может установить свои весовые коэффициенты; сумма весов должна быть равна 100." ] }, { "cell_type": "code", "execution_count": 22, "id": "b38c6569-1558-447a-875d-5735451e8f26", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ProfessionOpennessConscientiousnessExtraversionAgreeablenessNon-Neuroticism
ID
1Managers/executives153515305
2Entrepreneurship30305530
3Social/Non profit making professions55353520
4Public sector professions155015155
5Scientists/researchers, and engineers501551515
\n", "
" ], "text/plain": [ " Profession Openness Conscientiousness \\\n", "ID \n", "1 Managers/executives 15 35 \n", "2 Entrepreneurship 30 30 \n", "3 Social/Non profit making professions 5 5 \n", "4 Public sector professions 15 50 \n", "5 Scientists/researchers, and engineers 50 15 \n", "\n", " Extraversion Agreeableness Non-Neuroticism \n", "ID \n", "1 15 30 5 \n", "2 5 5 30 \n", "3 35 35 20 \n", "4 15 15 5 \n", "5 5 15 15 " ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Загрузка датафрейма с весовыми коэффициентами\n", "url = 'https://download.sberdisk.ru/download/file/478675798?token=fF5fNZVpthQlEV0&filename=traits_priority_for_professions.csv'\n", "traits_priority_for_professions = pd.read_csv(url)\n", "\n", "traits_priority_for_professions.index.name = 'ID'\n", "traits_priority_for_professions.index += 1\n", "traits_priority_for_professions.index = traits_priority_for_professions.index.map(str)\n", "\n", "traits_priority_for_professions" ] }, { "cell_type": "markdown", "id": "ece309a9-5818-435d-8721-b15e2eca8e01", "metadata": {}, "source": [ "#### Ранжирование кандидатов на должность инженера-проектировщика" ] }, { "cell_type": "code", "execution_count": 23, "id": "6d095685-fda4-4943-9a0f-d0463a39798c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUCandidate score
Person ID
2speaker_06_center_83.mov0.6610.6740.6030.6450.64365.521
10speaker_27_center_83.mov0.5660.6590.4340.5910.57957.934
6speaker_15_center_83.mov0.5820.5620.5050.6020.52256.914
1speaker_01_center_83.mov0.5960.5430.4410.5900.51556.704
8speaker_23_center_83.mov0.5010.5410.3090.4410.45248.093
7speaker_19_center_83.mov0.5100.4480.4260.4520.44847.873
4speaker_10_center_83.mov0.4770.5030.3740.4410.42546.254
9speaker_24_center_83.mov0.4280.5110.3010.4340.44243.708
3speaker_07_center_83.mov0.4400.4650.2850.4230.39642.671
5speaker_11_center_83.mov0.4030.3440.3170.4220.38439.015
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "2 speaker_06_center_83.mov 0.661 0.674 0.603 0.645 0.643 \n", "10 speaker_27_center_83.mov 0.566 0.659 0.434 0.591 0.579 \n", "6 speaker_15_center_83.mov 0.582 0.562 0.505 0.602 0.522 \n", "1 speaker_01_center_83.mov 0.596 0.543 0.441 0.590 0.515 \n", "8 speaker_23_center_83.mov 0.501 0.541 0.309 0.441 0.452 \n", "7 speaker_19_center_83.mov 0.510 0.448 0.426 0.452 0.448 \n", "4 speaker_10_center_83.mov 0.477 0.503 0.374 0.441 0.425 \n", "9 speaker_24_center_83.mov 0.428 0.511 0.301 0.434 0.442 \n", "3 speaker_07_center_83.mov 0.440 0.465 0.285 0.423 0.396 \n", "5 speaker_11_center_83.mov 0.403 0.344 0.317 0.422 0.384 \n", "\n", " Candidate score \n", "Person ID \n", "2 65.521 \n", "10 57.934 \n", "6 56.914 \n", "1 56.704 \n", "8 48.093 \n", "7 47.873 \n", "4 46.254 \n", "9 43.708 \n", "3 42.671 \n", "5 39.015 " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weights = traits_priority_for_professions.iloc[4].values[1:]\n", "weights = list(map(int, weights))\n", "\n", "_b5._candidate_ranking(\n", " weigths_openness = weights[0], \n", " weigths_conscientiousness = weights[1],\n", " weigths_extraversion = weights[2],\n", " weigths_agreeableness = weights[3], \n", " weigths_non_neuroticism = weights[4],\n", " out = False\n", ")\n", "\n", "_b5._save_logs(df = _b5.df_files_ranking_, name = 'engineer_candidate_ranking_mupta_en', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_ranking_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "d56b0166-8fe2-4995-87d7-97b123176e0c", "metadata": {}, "source": [ "#### Ранжирование кандидатов на должность менеджера" ] }, { "cell_type": "code", "execution_count": 24, "id": "5f54009f-1bc5-49cf-8f33-0e99b4307722", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUCandidate score
Person ID
2speaker_06_center_83.mov0.6610.6740.6030.6450.64365.136
10speaker_27_center_83.mov0.5660.6590.4340.5910.57958.710
6speaker_15_center_83.mov0.5820.5620.5050.6020.52256.649
1speaker_01_center_83.mov0.5960.5430.4410.5900.51554.818
8speaker_23_center_83.mov0.5010.5410.3090.4410.45246.581
4speaker_10_center_83.mov0.4770.5030.3740.4410.42545.717
7speaker_19_center_83.mov0.5100.4480.4260.4520.44845.532
9speaker_24_center_83.mov0.4280.5110.3010.4340.44244.069
3speaker_07_center_83.mov0.4400.4650.2850.4230.39641.800
5speaker_11_center_83.mov0.4030.3440.3170.4220.38437.450
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "2 speaker_06_center_83.mov 0.661 0.674 0.603 0.645 0.643 \n", "10 speaker_27_center_83.mov 0.566 0.659 0.434 0.591 0.579 \n", "6 speaker_15_center_83.mov 0.582 0.562 0.505 0.602 0.522 \n", "1 speaker_01_center_83.mov 0.596 0.543 0.441 0.590 0.515 \n", "8 speaker_23_center_83.mov 0.501 0.541 0.309 0.441 0.452 \n", "4 speaker_10_center_83.mov 0.477 0.503 0.374 0.441 0.425 \n", "7 speaker_19_center_83.mov 0.510 0.448 0.426 0.452 0.448 \n", "9 speaker_24_center_83.mov 0.428 0.511 0.301 0.434 0.442 \n", "3 speaker_07_center_83.mov 0.440 0.465 0.285 0.423 0.396 \n", "5 speaker_11_center_83.mov 0.403 0.344 0.317 0.422 0.384 \n", "\n", " Candidate score \n", "Person ID \n", "2 65.136 \n", "10 58.710 \n", "6 56.649 \n", "1 54.818 \n", "8 46.581 \n", "4 45.717 \n", "7 45.532 \n", "9 44.069 \n", "3 41.800 \n", "5 37.450 " ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weights = traits_priority_for_professions.iloc[0].values[1:]\n", "weights = list(map(int, weights))\n", "\n", "_b5._candidate_ranking(\n", " weigths_openness = weights[0], \n", " weigths_conscientiousness = weights[1],\n", " weigths_extraversion = weights[2],\n", " weigths_agreeableness = weights[3], \n", " weigths_non_neuroticism = weights[4],\n", " out = False\n", ")\n", "\n", "_b5._save_logs(df = _b5.df_files_ranking_, name = 'executive_candidate_ranking_mupta_en', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_ranking_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "b217246c-1cfd-4470-a4df-b335d6f2241e", "metadata": {}, "source": [ "
\n", "\n", "Для ранжирования кандидатов по профессиональным навыкам необходимо задать по два коэффициента корреляции для каждого персонального качества личности человека и навыка, а также порога полярности качеств. Эти коэффициенты должны показывать, как измениться оценка качества человека если она больше или меньше заданного порога полярности качеств. \n", "\n", "В качестве примера предлагается использование коэффициентов корреляции между двумя людьми в четырьмя профессиональными навыками, представленных в статье:\n", "\n", "1) Wehner C., de Grip A., Pfeifer H. Do recruiters select workers with different personality traits for different tasks? A discrete choice experiment // Labour Economics. - 2022. - vol. 78. - pp. 102186.\n", "\n", "Представлены 4 профессиональных навыка: \n", "\n", "1) Analytical (Аналитические навыки). Умение эффективно решать новые задачи, требующие глубокого анализа. \n", "2) Interactive (Навыки межличностного общения). Умение убеждать и достигать компромиссов с заказчиками и коллегами.\n", "4) Routine (Способность выполнять рутинную работу). Умение эффективно управлять рутинными задачами, соблюдая точность и внимание к деталям.\n", "5) Non-Routine (Способность выполнять нестандартную работу). Умение реагировать и решать проблемы, не имеющие установленного порядка, проявляя адаптивность и креативные навыки в решении задач.\n", "\n", "Пользователь может установить свои коэффициенты корреляции и ранжировать кандидатов по другим профессиональным навыкам." ] }, { "cell_type": "markdown", "id": "2b7fc489-957d-4a6f-af41-e9ba012c1e9d", "metadata": {}, "source": [ "#### Ранжирование кандидатов по профессиональным навыкам" ] }, { "cell_type": "code", "execution_count": 25, "id": "2424f29a-3270-4b98-b173-51314c769e2e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TraitScore_levelAnalyticalInteractiveRoutineNon-Routine
ID
1Opennesshigh0.0820.3480.5710.510
2Opennesslow0.1960.1520.1480.218
3Conscientiousnesshigh0.9941.3331.5071.258
4Conscientiousnesslow0.2410.1880.1910.267
5Extraversionhigh0.169-0.0600.2580.017
6Extraversionlow0.1810.1350.1300.194
7Agreeablenesshigh1.2390.9641.4001.191
8Agreeablenesslow0.2260.1800.1890.259
9Non-Neuroticismhigh0.6360.7770.8760.729
10Non-Neuroticismlow0.2070.1590.1660.238
\n", "
" ], "text/plain": [ " Trait Score_level Analytical Interactive Routine \\\n", "ID \n", "1 Openness high 0.082 0.348 0.571 \n", "2 Openness low 0.196 0.152 0.148 \n", "3 Conscientiousness high 0.994 1.333 1.507 \n", "4 Conscientiousness low 0.241 0.188 0.191 \n", "5 Extraversion high 0.169 -0.060 0.258 \n", "6 Extraversion low 0.181 0.135 0.130 \n", "7 Agreeableness high 1.239 0.964 1.400 \n", "8 Agreeableness low 0.226 0.180 0.189 \n", "9 Non-Neuroticism high 0.636 0.777 0.876 \n", "10 Non-Neuroticism low 0.207 0.159 0.166 \n", "\n", " Non-Routine \n", "ID \n", "1 0.510 \n", "2 0.218 \n", "3 1.258 \n", "4 0.267 \n", "5 0.017 \n", "6 0.194 \n", "7 1.191 \n", "8 0.259 \n", "9 0.729 \n", "10 0.238 " ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Загрузка датафрейма с коэффициентами корреляции\n", "url = 'https://download.sberdisk.ru/download/file/478678231?token=0qiZwliLtHWWYMv&filename=professional_skills.csv'\n", "df_professional_skills = pd.read_csv(url)\n", "\n", "df_professional_skills.index.name = 'ID'\n", "df_professional_skills.index += 1\n", "df_professional_skills.index = df_professional_skills.index.map(str)\n", "\n", "df_professional_skills" ] }, { "cell_type": "code", "execution_count": 26, "id": "80a54d9a-6f3c-400b-8cdd-d4ddcde2afc2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUAnalyticalInteractiveRoutineNon-Routine
Person ID
2speaker_06_center_83.mov0.6610.6740.6030.6450.6430.4070.4430.6030.487
10speaker_27_center_83.mov0.5660.6590.4340.5910.5790.3760.4310.5420.466
6speaker_15_center_83.mov0.5820.5620.5050.6020.5220.3540.3820.5220.422
1speaker_01_center_83.mov0.5960.5430.4410.5900.5150.3450.3920.4990.430
4speaker_10_center_83.mov0.4770.5030.3740.4410.4250.1700.1880.2060.205
9speaker_24_center_83.mov0.4280.5110.3010.4340.4420.1670.1870.2060.203
8speaker_23_center_83.mov0.5010.5410.3090.4410.4520.1660.2180.2600.244
3speaker_07_center_83.mov0.4400.4650.2850.4230.3960.0850.0660.0670.096
7speaker_19_center_83.mov0.5100.4480.4260.4520.4480.0840.0940.1180.137
5speaker_11_center_83.mov0.4030.3440.3170.4220.3840.0790.0610.0620.088
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "2 speaker_06_center_83.mov 0.661 0.674 0.603 0.645 0.643 \n", "10 speaker_27_center_83.mov 0.566 0.659 0.434 0.591 0.579 \n", "6 speaker_15_center_83.mov 0.582 0.562 0.505 0.602 0.522 \n", "1 speaker_01_center_83.mov 0.596 0.543 0.441 0.590 0.515 \n", "4 speaker_10_center_83.mov 0.477 0.503 0.374 0.441 0.425 \n", "9 speaker_24_center_83.mov 0.428 0.511 0.301 0.434 0.442 \n", "8 speaker_23_center_83.mov 0.501 0.541 0.309 0.441 0.452 \n", "3 speaker_07_center_83.mov 0.440 0.465 0.285 0.423 0.396 \n", "7 speaker_19_center_83.mov 0.510 0.448 0.426 0.452 0.448 \n", "5 speaker_11_center_83.mov 0.403 0.344 0.317 0.422 0.384 \n", "\n", " Analytical Interactive Routine Non-Routine \n", "Person ID \n", "2 0.407 0.443 0.603 0.487 \n", "10 0.376 0.431 0.542 0.466 \n", "6 0.354 0.382 0.522 0.422 \n", "1 0.345 0.392 0.499 0.430 \n", "4 0.170 0.188 0.206 0.205 \n", "9 0.167 0.187 0.206 0.203 \n", "8 0.166 0.218 0.260 0.244 \n", "3 0.085 0.066 0.067 0.096 \n", "7 0.084 0.094 0.118 0.137 \n", "5 0.079 0.061 0.062 0.088 " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_b5._priority_skill_calculation(\n", " correlation_coefficients = df_professional_skills,\n", " threshold = 0.5,\n", " out = True\n", ")\n", "\n", "_b5._save_logs(df = _b5.df_files_priority_skill_, name = 'skill_candidate_ranking_mupta_en', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_priority_skill_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] }, { "cell_type": "markdown", "id": "624ef336", "metadata": {}, "source": [ "
\n", "\n", "Для ранжирования кандидатов по одному из шестнадцати типов личности MBTI необходимо задать матрицу корреляции между персональными качествами личности человека и четырьмя диспозициями MBTI, установить порог полярности качеств и указать целевой тип личности MBTI.\n", "\n", "В качестве примера предлагается использование коэффициентов корреляции, представленных в статье [1]. Описание типов личности MBTI и соотвествующие им успешные профессии представлены в статье [2].\n", "\n", "1) Furnham A. The big five facets and the MBTI: The relationship between the 30 NEO-PI (R) Facets and the four Myers-Briggs Type Indicator (MBTI) scores // Psychology. - 2022. vol. 13(10). - pp. 1504-1516.\n", "2) Tieger P.D., Barron B., Tieger K. Do what you are: Discover the perfect career for you through the secrets of personality type // Hachette UK. - 2024.\n", "\n", "##### Типы личности MBTI основаны на четырех измерениях личности:\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Описание измеренияИзмерение
Как мы взаимодействуем с миром и куда направляем свою энергию(E) Экстраверсия - Интроверсия (I)
Вид информации, которую мы естественным образом замечаем(S) Сенсорика - Интуиция (N)
Как мы принимаем решения(T) Логика - Чувства (F)
Предпочитаем ли мы жить более структурированно (принимая решения) или более спонтанно (принимая информацию)(J) Оценка - Восприятие (P)
\n", "
\n", "\n", "##### Типы личности MBTI и соотвествующие им успешные профессии:\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Тип личностиОписаниеУспешные профессии
ISTJЭтот человек отличается ответственностью, строгостью и педантичностью. Он опирается на объективные факты и склонен к аналитическому мышлению. Приступает к задаче только тогда, когда уверен в своих возможностях и успехеИнспектор: бухгалтер, аудитор, бюджетный аналитик, финансовый менеджер, разработчик, системный аналитик, библиотекарь и т. д.
ISFJЭтот человек склонен к самоанализу и анализу окружающих, легко распознает фальшь и предпочитает сохранять психологическую дистанцию. Он исполнителен, внимателен и готов помогать другим. Его силы и энергия исходят из внутренних ресурсов, и он всегда полагается на собственный опытЗащитник: медсестра, врач, ветеринар или ветеринарный ассистент, социальный работник, сельскохозяйственный или пищевой ученый, секретарь, водитель и т. д.
INFJО таких людях говорят: «ему можно доверять». Он отличается высокой чувствительностью, уделяет большое внимание межличностным отношениям, умеет давать ценные советы и помогает раскрывать потенциал других. Развитая интуиция не только генерирует множество идей, но и способствует самоорганизацииСоветник: психолог, специалист по управлению персоналом, офис-менеджер, специалист по обучению, графический дизайнер и т. д.
INTJЭтот человек умеет выделять главное, говорит четко и по существу, придерживается практического подхода. Он стремится постоянно улучшать свою работу и всегда ищет способы сделать задачу еще лучше. Пустые разговоры ему не по душе, поэтому он избегает больших шумных компаний и с трудом заводит новые знакомстваМастермайнд: аниматор, архитектор, копирайтер, фотограф, тележурналист, видеомонтажер, специалист по бизнес-развитию, исполнительный директор, профессор и т. д.
ISTPЭтот человек воспринимает мир через ощущения. По природе эмпат, но чаще сосредоточен на себе. Его умение объективно принимать решения и анализировать ситуацию указывает на технический склад ума. Он всегда соблюдает дедлайны, хотя иногда может поступить неожиданноСоздатель: инженер, техник, строитель, инспектор, судебный эксперт, программист, разработчик ПО и т. д.
ISFPЭтот человек умеет находить радость в однообразии и рутинных делах. Прекрасно ладит с людьми, избегая конфликтов. Ему важно чувствовать свою значимость и оказывать помощь. Такой человек не стремится руководить или менять других, уважает их личные границы и ожидает того же в ответ. По натуре он приземленный практик, на которого всегда можно положитьсяКомпозитор: помощник по маркетингу, танцор, шеф-повар, офис-администратор, художник, дизайнер интерьеров, секретарь, медсестра и т. д.
INFPЭтот человек - чувствительный лирик, прекрасно разбирающийся в людях и легко вызывающий у них симпатию. Он обладает отличным чувством юмора и уделяет большое внимание своему внешнему виду. Стремится к самопознанию, гармонии с собой и старается быть полезным окружающимЦелитель: писатель, дизайнер мультимедиа, менеджер по работе с клиентами, учитель для детей с особыми потребностями, тренер, редактор, модельер и т. д.
INTPЭтот человек - эрудит с философским складом ума. Он тщательно анализирует свои решения, стремясь к объективности и беспристрастности. Бурные проявления эмоций ему не свойственны. Однако большое количество данных и их изменчивость могут вызывать у него внутреннее напряжениеАрхитектор: технический писатель, веб-разработчик, аналитик информационной безопасности, исследователь, ученый, юрист и т. д.
ESTPЭтот человек всегда добивается успеха, невзирая на препятствия, которые лишь усиливают его целеустремленность. Он стремится к лидерским позициям и плохо переносит роль подчиненного. Обычно разрабатывает четкий план действий и неуклонно ему следуетПромоутер: специалист по работе с клиентами, актер, личный тренер, бренд-амбассадор, менеджер, предприниматель, креативный директор, полицейский, маркетолог, производитель и т. д.
ESFPЭтот человек легко выявляет слабые стороны людей, что позволяет ему эффективно манипулировать и управлять. В общении он чаще всего руководствуется собственными интересами и предпочитает жить в настоящем. Часто не завершает начатое, стремясь к быстрым результатам. Однако при этом стремится поддерживать гармоничные отношения с окружающимиИсполнитель: бортпроводник, артист, учитель, менеджер по связям с общественностью, торговый представитель, организатор мероприятий и т. д.
ENFPЭтот человек - творческая личность и фантазер, обладающий качествами, которые помогают ему успешно взаимодействовать с другими, быть открытым и общительным. Он активно участвует в различных мероприятиях, легко решает возникающие вопросы и демонстрирует гибкостьЧемпион: медицинский работник, продюсер, продавец-консультант, специалист по обслуживанию клиентов, сценарист, ведущий на ТВ/радио и т. д.
ENTPЭтот человек - изобретательный, инициативный и гибкий. Он генератор идей и первопроходец, который не выносит рутины. Постоянное движение и интуитивное принятие решений всегда сопровождают его в работеНоватор: инженер, маркетолог, менеджер по социальным сетям, аналитик управления, руководитель цифрового маркетинга, бизнес-консультант, разработчик игр, менеджер по продажам и т. д.
ESTJЭто трудолюбивый человек, который воспринимает мир таким, какой он есть. Он склонен тщательно планировать и доводить дела до конца. Заботится о своем ближайшем окружении, проявляет добродушие, но иногда может быть вспыльчивым, резким и упрямымСупервайзер: управляющий директор, менеджер отеля, финансовый сотрудник, судья, агент по недвижимости, генеральный директор, шеф-повар, менеджер по бизнес-развитию, телемаркетолог и т. д.
ESFJЭтот человек умеет оказывать влияние на людей, проявляет заботу и готов жертвовать собой ради других. Он легко устанавливает контакт с любым человеком и способен направить ситуацию в нужное ему руслоПоставщик: специалист по технической поддержке, менеджер по работе с клиентами, профессор колледжа, медицинский исследователь, бухгалтер, фотожурналист и т. д.
ENFJЭтот человек отличается эмоциональностью и эмпатией. Его мимика выразительна, а речь — красноречива. Благодаря своей самоорганизованности, он успешно воплощает свои фантазии и идеи в жизнь. Он интуитивно понимает, какое решение следует принять в каждой конкретной ситуацииУчитель: менеджер по связям с общественностью, менеджер по продажам, директор по управлению персоналом, арт-директор, консультант и т. д.
ENTJЭтот человек легко увлекается, готов рисковать и полагается на интуицию. Без страха внедряет новые технологии и способен глубоко анализировать как себя, так и окружающий мир. Жизнь для него - это борьба, в которой он чувствует себя уверенно. Открыт для новых возможностей, но при этом нуждается в контролеКомандир: руководитель строительства, администратор службы здравоохранения, финансовый бухгалтер, аудитор, юрист, директор школы, химический инженер, менеджер баз данных и т. д.
\n", "
\n", "\n", "Пользователь может установить свои коэффициенты корреляции и ранжировать кандидатов по другим типам личности." ] }, { "cell_type": "code", "execution_count": 27, "id": "fd23c41d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TraitEISNTFJP
ID
1Openness0.09-0.03-0.14-0.16
2Conscientiousness0.04-0.040.200.14
3Extraversion0.20-0.030.01-0.07
4Agreeableness0.020.05-0.350.03
5Non-Neuroticism0.080.000.160.00
\n", "
" ], "text/plain": [ " Trait EI SN TF JP\n", "ID \n", "1 Openness 0.09 -0.03 -0.14 -0.16\n", "2 Conscientiousness 0.04 -0.04 0.20 0.14\n", "3 Extraversion 0.20 -0.03 0.01 -0.07\n", "4 Agreeableness 0.02 0.05 -0.35 0.03\n", "5 Non-Neuroticism 0.08 0.00 0.16 0.00" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Загрузка датафрейма с коэффициентами корреляции\n", "url = 'https://download.sberdisk.ru/download/file/493644095?token=EX7hFxNJhMoLumI&filename=df_mbti_correlation.csv'\n", "df_correlation_coefficients = pd.read_csv(url)\n", "\n", "df_correlation_coefficients.index.name = 'ID'\n", "df_correlation_coefficients.index += 1\n", "df_correlation_coefficients.index = df_correlation_coefficients.index.map(str)\n", "\n", "df_correlation_coefficients" ] }, { "cell_type": "code", "execution_count": 30, "id": "69eb410d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PathOPECONEXTAGRNNEUEISNTFJPMBTIMBTI_ScoreMatch
Person ID
2speaker_06_center_83.mov0.6610.6740.6030.6450.6430.271478-0.032624-0.074766-0.034321ENFP0.28415275.0
6speaker_15_center_83.mov0.5820.5620.5050.6020.5220.229601-0.024972-0.091174-0.031648ENFP0.25931175.0
10speaker_27_center_83.mov0.5660.6590.4340.5910.5790.048690-0.000776-0.0660640.049778ENFJ0.165309100.0
1speaker_01_center_83.mov0.5960.5430.4410.5900.5150.0402100.003122-0.1031690.029258ESFJ0.12947775.0
4speaker_10_center_83.mov0.4770.5030.3740.4410.425-0.140376-0.0166460.2501150.159620INTJ0.08813350.0
9speaker_24_center_83.mov0.4280.5110.3010.4340.442-0.122322-0.0203060.2403650.148065INTJ0.08418550.0
7speaker_19_center_83.mov0.5100.4480.4260.4520.448-0.101987-0.007200-0.078923-0.128220INFP0.04306150.0
8speaker_23_center_83.mov0.5010.5410.3090.4410.452-0.040020-0.0494740.1171430.004070INTJ0.02677250.0
5speaker_11_center_83.mov0.4030.3440.3170.4220.384-0.1527240.0142810.0707000.025861ISTJ0.00646525.0
3speaker_07_center_83.mov0.4400.4650.2850.4230.396-0.1552350.0192070.0502500.012514ISTJ0.00312825.0
\n", "
" ], "text/plain": [ " Path OPE CON EXT AGR NNEU \\\n", "Person ID \n", "2 speaker_06_center_83.mov 0.661 0.674 0.603 0.645 0.643 \n", "6 speaker_15_center_83.mov 0.582 0.562 0.505 0.602 0.522 \n", "10 speaker_27_center_83.mov 0.566 0.659 0.434 0.591 0.579 \n", "1 speaker_01_center_83.mov 0.596 0.543 0.441 0.590 0.515 \n", "4 speaker_10_center_83.mov 0.477 0.503 0.374 0.441 0.425 \n", "9 speaker_24_center_83.mov 0.428 0.511 0.301 0.434 0.442 \n", "7 speaker_19_center_83.mov 0.510 0.448 0.426 0.452 0.448 \n", "8 speaker_23_center_83.mov 0.501 0.541 0.309 0.441 0.452 \n", "5 speaker_11_center_83.mov 0.403 0.344 0.317 0.422 0.384 \n", "3 speaker_07_center_83.mov 0.440 0.465 0.285 0.423 0.396 \n", "\n", " EI SN TF JP MBTI MBTI_Score Match \n", "Person ID \n", "2 0.271478 -0.032624 -0.074766 -0.034321 ENFP 0.284152 75.0 \n", "6 0.229601 -0.024972 -0.091174 -0.031648 ENFP 0.259311 75.0 \n", "10 0.048690 -0.000776 -0.066064 0.049778 ENFJ 0.165309 100.0 \n", "1 0.040210 0.003122 -0.103169 0.029258 ESFJ 0.129477 75.0 \n", "4 -0.140376 -0.016646 0.250115 0.159620 INTJ 0.088133 50.0 \n", "9 -0.122322 -0.020306 0.240365 0.148065 INTJ 0.084185 50.0 \n", "7 -0.101987 -0.007200 -0.078923 -0.128220 INFP 0.043061 50.0 \n", "8 -0.040020 -0.049474 0.117143 0.004070 INTJ 0.026772 50.0 \n", "5 -0.152724 0.014281 0.070700 0.025861 ISTJ 0.006465 25.0 \n", "3 -0.155235 0.019207 0.050250 0.012514 ISTJ 0.003128 25.0 " ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_b5._professional_match(\n", " correlation_coefficients = df_correlation_coefficients,\n", " personality_type = \"ENFJ\",\n", " threshold = 0.5,\n", " out = True\n", ")\n", "\n", "_b5._save_logs(df = _b5._df_files_MBTI_job_match, name = 'MBTI_ranking_mupta_en', out = True)\n", "\n", "# Опционно\n", "df = _b5.df_files_MBTI_job_match_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})\n", "columns_to_round = df.columns[1:6]\n", "df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])\n", "df" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.11" } }, "nbformat": 4, "nbformat_minor": 5 }