Solution of practical task 3
Task: Forming effective work teams
The solution of the practical task is performed in two stages. At the first stage it is necessary to use the OCEAN-AI library to obtain predictions (personality traits scores). The second step is to use the _colleague_ranking method from the OCEAN-AI library to solve the presented practical task using the example of finding suitable colleagues for the target colleague. Examples of the results of the work and implementation are presented below.
Thus, the OCEAN-AI library provides tools to analyze the personality traits of colleagues’ personalities and can help to form effective work groups, improve communication, and reduce team conflicts.
FI V2
[2]:
# Импорт необходимых инструментов
import os
import pandas as pd
# Импорт модуля
from oceanai.modules.lab.build import Run
# Создание экземпляра класса
_b5 = Run()
# Настройка ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
corpus = 'fi'
# Формирование аудиомоделей
res_load_model_hc = _b5.load_audio_model_hc()
res_load_model_nn = _b5.load_audio_model_nn()
# Загрузка весов аудиомоделей
url = _b5.weights_for_big5_['audio'][corpus]['hc']['googledisk']
res_load_model_weights_hc = _b5.load_audio_model_weights_hc(url = url, force_reload = False)
url = _b5.weights_for_big5_['audio'][corpus]['nn']['googledisk']
res_load_model_weights_nn = _b5.load_audio_model_weights_nn(url = url, force_reload = False)
# Формирование видеомоделей
res_load_model_hc = _b5.load_video_model_hc(lang='en')
res_load_model_deep_fe = _b5.load_video_model_deep_fe()
res_load_model_nn = _b5.load_video_model_nn()
# Загрузка весов видеомоделей
url = _b5.weights_for_big5_['video'][corpus]['hc']['googledisk']
res_load_model_weights_hc = _b5.load_video_model_weights_hc(url = url, force_reload = False)
url = _b5.weights_for_big5_['video'][corpus]['fe']['googledisk']
res_load_model_weights_deep_fe = _b5.load_video_model_weights_deep_fe(url = url, force_reload = False)
url = _b5.weights_for_big5_['video'][corpus]['nn']['googledisk']
res_load_model_weights_nn = _b5.load_video_model_weights_nn(url = url, force_reload = False)
# Загрузка словаря с экспертными признаками (текстовая модальность)
res_load_text_features = _b5.load_text_features()
# Формирование текстовых моделей
res_setup_translation_model = _b5.setup_translation_model() # только для русского языка
res_setup_translation_model = _b5.setup_bert_encoder(force_reload = False)
res_load_text_model_hc_fi = _b5.load_text_model_hc(corpus=corpus)
res_load_text_model_nn_fi = _b5.load_text_model_nn(corpus=corpus)
# Загрузка весов текстовых моделей
url = _b5.weights_for_big5_['text'][corpus]['hc']['googledisk']
res_load_text_model_weights_hc_fi = _b5.load_text_model_weights_hc(url = url, force_reload = False)
url = _b5.weights_for_big5_['text'][corpus]['nn']['googledisk']
res_load_text_model_weights_nn_fi = _b5.load_text_model_weights_nn(url = url, force_reload = False)
# Формирование модели для мультимодального объединения информации
res_load_avt_model_b5 = _b5.load_avt_model_b5()
# Загрузка весов модели для мультимодального объединения информации
url = _b5.weights_for_big5_['avt'][corpus]['b5']['googledisk']
res_load_avt_model_weights_b5 = _b5.load_avt_model_weights_b5(url = url, force_reload = False)
PATH_TO_DIR = './video_FI/'
PATH_SAVE_VIDEO = './video_FI/test/'
_b5.path_to_save_ = PATH_SAVE_VIDEO
# Загрузка 10 тестовых аудиовидеозаписей из корпуса First Impression V2
# URL: https://chalearnlap.cvc.uab.cat/dataset/24/description/
domain = 'https://download.sberdisk.ru/download/file/'
tets_name_files = [
'429713680?token=FqHdMLSSh7zYSZt&filename=_plk5k7PBEg.003.mp4',
'429713681?token=Hz9b4lQkrLfic33&filename=be0DQawtVkE.002.mp4',
'429713683?token=EgUXS9Xs8xHm5gz&filename=2d6btbaNdfo.000.mp4',
'429713684?token=1U26753kmPYdIgt&filename=300gK3CnzW0.003.mp4',
'429713685?token=LyigAWLTzDNwKJO&filename=300gK3CnzW0.001.mp4',
'429713686?token=EpfRbCKHyuc4HPu&filename=cLaZxEf1nE4.004.mp4',
'429713687?token=FNTkwqBr4jOS95l&filename=g24JGYuT74A.004.mp4',
'429713688?token=qDT95nz7hfm2Nki&filename=JZNMxa3OKHY.000.mp4',
'429713689?token=noLguEGXDpbcKhg&filename=nvlqJbHk_Lc.003.mp4',
'429713679?token=9L7RQ0hgdJlcek6&filename=4vdJGgZpj4k.003.mp4'
]
for curr_files in tets_name_files:
_b5.download_file_from_url(url = domain + curr_files, out = True)
# Получение прогнозов
_b5.path_to_dataset_ = PATH_TO_DIR # Директория набора данных
_b5.ext_ = ['.mp4'] # Расширения искомых файлов
# Полный путь к файлу с верными предсказаниями для подсчета точности
url_accuracy = _b5.true_traits_[corpus]['googledisk']
_b5.get_avt_predictions(url_accuracy = url_accuracy, lang = 'en')
[2024-10-10 21:44:08] Извлечение признаков (экспертных и нейросетевых) из текста …
[2024-10-10 21:44:08] Получение прогнозов и вычисление точности (мультимодальное объединение) …
10 из 10 (100.0%) … GitHub:nbsphinx-math:OCEANAI\docs\source\user_guide:nbsphinx-math:notebooks\video_FI:nbsphinx-math:test_plk5k7PBEg.003.mp4 …
| Path | Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | |
|---|---|---|---|---|---|---|
| Person ID | ||||||
| 1 | 2d6btbaNdfo.000.mp4 | 0.618917 | 0.660694 | 0.477656 | 0.654437 | 0.601256 |
| 2 | 300gK3CnzW0.001.mp4 | 0.461732 | 0.413451 | 0.415706 | 0.498301 | 0.431224 |
| 3 | 300gK3CnzW0.003.mp4 | 0.468002 | 0.448618 | 0.371742 | 0.509602 | 0.453739 |
| 4 | 4vdJGgZpj4k.003.mp4 | 0.585348 | 0.616446 | 0.49443 | 0.605614 | 0.587017 |
| 5 | be0DQawtVkE.002.mp4 | 0.680991 | 0.56602 | 0.553915 | 0.646545 | 0.64246 |
| 6 | cLaZxEf1nE4.004.mp4 | 0.66342 | 0.551018 | 0.557912 | 0.585238 | 0.587174 |
| 7 | g24JGYuT74A.004.mp4 | 0.590237 | 0.399273 | 0.409554 | 0.531861 | 0.507134 |
| 8 | JZNMxa3OKHY.000.mp4 | 0.60577 | 0.523617 | 0.531137 | 0.594406 | 0.57984 |
| 9 | nvlqJbHk_Lc.003.mp4 | 0.511002 | 0.464702 | 0.390882 | 0.443663 | 0.438811 |
| 10 | _plk5k7PBEg.003.mp4 | 0.647606 | 0.610466 | 0.524718 | 0.61428 | 0.606428 |
[2024-10-10 21:44:08] Точность по отдельным персональным качествам личности человека …
| Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | Mean | |
|---|---|---|---|---|---|---|
| Metrics | ||||||
| MAE | 0.0735 | 0.0631 | 0.0914 | 0.0706 | 0.0691 | 0.0735 |
| Accuracy | 0.9265 | 0.9369 | 0.9086 | 0.9294 | 0.9309 | 0.9265 |
[2024-10-10 21:44:08] Средняя средних абсолютных ошибок: 0.0735, средняя точность: 0.9265 …
Лог файлы успешно сохранены …
— Время выполнения: 35.328 сек. —
[2]:
True
To find the suitable colleague, you need to know two correlation coefficients for each of a personality traits. These coefficients should show how the trait score of one person changes when it is higher or lower than the same trait score of another person.
В качестве примера предлагается использование коэффициентов корреляции между двумя людьми в контексте отношений “начальник-подчиненный”, представленных в статье:
Kuroda S., Yamamoto I. Good boss, bad boss, workers’ mental health and productivity: Evidence from Japan // Japan & The World Economy. – 2018. – vol. 48. – pp. 106-118.
The user can set their own correlation coefficients.
[3]:
# Loading dataframe with correlation coefficients
url = 'https://download.sberdisk.ru/download/file/478675819?token=LuB7L1QsEY0UuSs&filename=colleague_ranking.csv'
df_correlation_coefficients = pd.read_csv(url)
df_correlation_coefficients = pd.DataFrame(
df_correlation_coefficients.drop(['ID'], axis = 1)
)
df_correlation_coefficients.index.name = 'ID'
df_correlation_coefficients.index += 1
df_correlation_coefficients.index = df_correlation_coefficients.index.map(str)
df_correlation_coefficients
[3]:
| Score_comparison | Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | |
|---|---|---|---|---|---|---|
| ID | ||||||
| 1 | higher | -0.0602 | 0.0471 | -0.1070 | -0.0832 | 0.190 |
| 2 | lower | -0.1720 | -0.1050 | 0.0772 | 0.0703 | -0.229 |
Finding a suitable senior colleague
[4]:
# List of personality traits scores of the target person
target_scores = [0.527886, 0.522337, 0.458468, 0.51761, 0.444649]
_b5._colleague_ranking(
correlation_coefficients = df_correlation_coefficients,
target_scores = target_scores,
colleague = 'major',
equal_coefficients = 0.5,
out = False
)
_b5._save_logs(df = _b5.df_files_colleague_, name = 'major_colleague_ranking_fi_en', out = True)
# Optional
df = _b5.df_files_colleague_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[4]:
| Path | OPE | CON | EXT | AGR | NNEU | Match | |
|---|---|---|---|---|---|---|---|
| Person ID | |||||||
| 3 | 300gK3CnzW0.003.mp4 | 0.468 | 0.449 | 0.372 | 0.510 | 0.454 | 0.023 |
| 7 | g24JGYuT74A.004.mp4 | 0.590 | 0.399 | 0.410 | 0.532 | 0.507 | 0.006 |
| 1 | 2d6btbaNdfo.000.mp4 | 0.619 | 0.661 | 0.478 | 0.654 | 0.601 | 0.002 |
| 4 | 4vdJGgZpj4k.003.mp4 | 0.585 | 0.616 | 0.494 | 0.606 | 0.587 | 0.002 |
| 10 | _plk5k7PBEg.003.mp4 | 0.648 | 0.610 | 0.525 | 0.614 | 0.606 | -0.002 |
| 5 | be0DQawtVkE.002.mp4 | 0.681 | 0.566 | 0.554 | 0.647 | 0.642 | -0.005 |
| 8 | JZNMxa3OKHY.000.mp4 | 0.606 | 0.524 | 0.531 | 0.594 | 0.580 | -0.008 |
| 6 | cLaZxEf1nE4.004.mp4 | 0.663 | 0.551 | 0.558 | 0.585 | 0.587 | -0.011 |
| 2 | 300gK3CnzW0.001.mp4 | 0.462 | 0.413 | 0.416 | 0.498 | 0.431 | -0.154 |
| 9 | nvlqJbHk_Lc.003.mp4 | 0.511 | 0.465 | 0.391 | 0.444 | 0.439 | -0.176 |
Finding a suitable junior colleague
[5]:
# List of personality traits scores of the target person
target_scores = [0.527886, 0.522337, 0.458468, 0.51761, 0.444649]
_b5._colleague_ranking(
correlation_coefficients = df_correlation_coefficients,
target_scores = target_scores,
colleague = 'minor',
equal_coefficients = 0.5,
out = False
)
_b5._save_logs(df = _b5.df_files_colleague_, name = 'minor_colleague_ranking_fi_en', out = True)
# Optional
df = _b5.df_files_colleague_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[5]:
| Path | OPE | CON | EXT | AGR | NNEU | Match | |
|---|---|---|---|---|---|---|---|
| Person ID | |||||||
| 9 | nvlqJbHk_Lc.003.mp4 | 0.511 | 0.465 | 0.391 | 0.444 | 0.439 | -0.004 |
| 2 | 300gK3CnzW0.001.mp4 | 0.462 | 0.413 | 0.416 | 0.498 | 0.431 | -0.012 |
| 3 | 300gK3CnzW0.003.mp4 | 0.468 | 0.449 | 0.372 | 0.510 | 0.454 | -0.193 |
| 7 | g24JGYuT74A.004.mp4 | 0.590 | 0.399 | 0.410 | 0.532 | 0.507 | -0.205 |
| 8 | JZNMxa3OKHY.000.mp4 | 0.606 | 0.524 | 0.531 | 0.594 | 0.580 | -0.209 |
| 4 | 4vdJGgZpj4k.003.mp4 | 0.585 | 0.616 | 0.494 | 0.606 | 0.587 | -0.219 |
| 6 | cLaZxEf1nE4.004.mp4 | 0.663 | 0.551 | 0.558 | 0.585 | 0.587 | -0.222 |
| 10 | _plk5k7PBEg.003.mp4 | 0.648 | 0.610 | 0.525 | 0.614 | 0.606 | -0.231 |
| 1 | 2d6btbaNdfo.000.mp4 | 0.619 | 0.661 | 0.478 | 0.654 | 0.601 | -0.231 |
| 5 | be0DQawtVkE.002.mp4 | 0.681 | 0.566 | 0.554 | 0.647 | 0.642 | -0.236 |
Для поиска подходящего коллеги по типу личности MBTI необходимо знать коэффициенты корреляции между личностными качествами человека и типами личности MBTI, а также оценки этих качеств для целевого человека.
В качестве примера предлагается использование коэффициентов корреляции, представленных в статье:
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.
The user can set their own correlation coefficients.
[6]:
# Загрузка датафрейма с коэффициентами корреляции
url = 'https://download.sberdisk.ru/download/file/493644095?token=EX7hFxNJhMoLumI&filename=df_mbti_correlation.csv'
df_correlation_coefficients = pd.read_csv(url)
df_correlation_coefficients.index.name = 'ID'
df_correlation_coefficients.index += 1
df_correlation_coefficients.index = df_correlation_coefficients.index.map(str)
df_correlation_coefficients
[6]:
| Trait | EI | SN | TF | JP | |
|---|---|---|---|---|---|
| ID | |||||
| 1 | Openness | 0.09 | -0.03 | -0.14 | -0.16 |
| 2 | Conscientiousness | 0.04 | -0.04 | 0.20 | 0.14 |
| 3 | Extraversion | 0.20 | -0.03 | 0.01 | -0.07 |
| 4 | Agreeableness | 0.02 | 0.05 | -0.35 | 0.03 |
| 5 | Non-Neuroticism | 0.08 | 0.00 | 0.16 | 0.00 |
[7]:
_b5._colleague_personality_type_match(
correlation_coefficients = df_correlation_coefficients,
target_scores = [0.34, 0.56, 0.42, 0.57, 0.56],
threshold = 0.5,
out = True
)
_b5._save_logs(df = _b5.df_files_MBTI_colleague_match_, name = 'MBTI_colleague_personality_type_match_en', out = True)
# Optional
df = _b5.df_files_MBTI_colleague_match_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:6]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[7]:
| Path | OPE | CON | EXT | AGR | NNEU | EI | SN | TF | JP | MBTI | Match | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Person ID | ||||||||||||
| 2 | 300gK3CnzW0.001.mp4 | 0.462 | 0.413 | 0.416 | 0.498 | 0.431 | -0.185699 | 0.017946 | 0.083205 | 0.030144 | ISTJ | 100.0 |
| 3 | 300gK3CnzW0.003.mp4 | 0.468 | 0.449 | 0.372 | 0.510 | 0.454 | -0.160520 | 0.068617 | -0.278880 | 0.053384 | ISFJ | 75.0 |
| 1 | 2d6btbaNdfo.000.mp4 | 0.619 | 0.661 | 0.478 | 0.654 | 0.601 | 0.047788 | 0.002056 | -0.092138 | 0.046539 | ESFJ | 50.0 |
| 4 | 4vdJGgZpj4k.003.mp4 | 0.585 | 0.616 | 0.494 | 0.606 | 0.587 | 0.037527 | 0.002895 | -0.081646 | 0.045425 | ESFJ | 50.0 |
| 7 | g24JGYuT74A.004.mp4 | 0.590 | 0.399 | 0.410 | 0.532 | 0.507 | 0.006447 | 0.037143 | -0.271593 | -0.105712 | ESFP | 25.0 |
| 9 | nvlqJbHk_Lc.003.mp4 | 0.511 | 0.465 | 0.391 | 0.444 | 0.439 | -0.094752 | -0.007199 | -0.083317 | -0.132767 | INFP | 25.0 |
| 5 | be0DQawtVkE.002.mp4 | 0.681 | 0.566 | 0.554 | 0.647 | 0.642 | 0.259041 | -0.027361 | -0.100093 | -0.049093 | ENFP | 0.0 |
| 6 | cLaZxEf1nE4.004.mp4 | 0.663 | 0.551 | 0.558 | 0.585 | 0.587 | 0.252010 | -0.029419 | -0.087981 | -0.050501 | ENFP | 0.0 |
| 8 | JZNMxa3OKHY.000.mp4 | 0.606 | 0.524 | 0.531 | 0.594 | 0.580 | 0.239967 | -0.025332 | -0.090041 | -0.042964 | ENFP | 0.0 |
| 10 | _plk5k7PBEg.003.mp4 | 0.648 | 0.610 | 0.525 | 0.614 | 0.606 | 0.248447 | -0.028874 | -0.081294 | -0.036454 | ENFP | 0.0 |
Для определения степени выраженности персональных растройств необходимо знать коэффициенты корреляции между персональными качествами личности человека и типами личности MBTI, а также кооэффициенты корреляции между типами личности MBTI и персональными растройствами.
В качестве примера предлагается использование коэффициентов корреляции между персональными качествами личности человека и типами личности MBTI, представленных в статье [1] и кооэффициентов корреляции между типами личности MBTI и персональными растройствами [2].
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.
Furnham A. MBTI and aberrant personality traits: dark-side trait correlates of the Myers Briggs type inventory // Psychology. - 2022. - vol. 13(5). - pp 805-815.
Среди персональных расстройста рассматриваются следующие: 1) Параноидное (Paranoid) — Недоверие и подозрительность по отношению к другим; мотивы интерпретируются как злонамеренные. 2) Шизоидное (Schizoid) — Эмоциональная холодность и отстранённость от социальных отношений; безразличие к похвалам и критике. 3) Шизотипическое (Schizotypal) — Странные убеждения или магическое мышление; поведение или речь, которые кажутся странными, эксцентричными или необычными. 4) Антисоциальное (Antisocial) — Пренебрежение к истине; импульсивность и неспособность планировать будущее; нарушение социальных норм. 5) Пограничное (Borderline) — Неуместная злость; нестабильные и интенсивные отношения, которые чередуются между идеализацией и обесцениванием. 6) Истерическое (Histrionic) — Чрезмерная эмоциональность и стремление к вниманию; драматизация, театральное поведение и преувеличенное выражение эмоций. 7) Нарциссическое (Narcissistic) — Высокомерные и надменные манеры или установки, преувеличенное чувство собственной значимости и права на особое отношение. 8) Избегающее (Avoidant) — Социальное избегание; чувство неполноценности и повышенная чувствительность к критике или отказу. 9) Зависимое (Dependent) — Трудности в принятии повседневных решений без чрезмерных советов и уверений; трудности в выражении несогласия из-за страха потери поддержки или одобрения. 10) Обсессивно-компульсивное личностное расстройство (OCPD) — Чрезмерная озабоченность порядком, перфекционизмом, контролем и деталями; стремление к соблюдению правил, часто в ущерб гибкости и эффективности.
The user can set their own correlation coefficients.
[8]:
url = 'https://download.sberdisk.ru/download/file/493644095?token=EX7hFxNJhMoLumI&filename=df_mbti_correlation.csv'
df_correlation_coefficients_mbti = pd.read_csv(url)
df_correlation_coefficients_mbti.index.name = 'ID'
df_correlation_coefficients_mbti.index += 1
df_correlation_coefficients_mbti.index = df_correlation_coefficients_mbti.index.map(str)
url = 'https://download.sberdisk.ru/download/file/493644096?token=T309xfzRosPj3v9&filename=df_disorder_correlation.csv'
df_correlation_coefficients_disorders = pd.read_csv(url)
df_correlation_coefficients_disorders.index.name = 'ID'
df_correlation_coefficients_disorders.index += 1
df_correlation_coefficients_disorders.index = df_correlation_coefficients_disorders.index.map(str)
[9]:
_b5._colleague_personality_desorders(
correlation_coefficients_mbti = df_correlation_coefficients_mbti,
correlation_coefficients_disorders = df_correlation_coefficients_disorders,
personality_desorder_number = 3,
threshold = 0.5,
out = True
)
_b5._save_logs(df = _b5.df_files_MBTI_disorders_, name = 'MBTI_colleague_personality_type_match_fi_en', out = True)
# Optional
df = _b5.df_files_MBTI_disorders_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:6]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[9]:
| Path | OPE | CON | EXT | AGR | NNEU | MBTI | Disorder 1 | Disorder 2 | Disorder 3 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Person ID | ||||||||||
| 1 | 2d6btbaNdfo.000.mp4 | 0.619 | 0.661 | 0.478 | 0.654 | 0.601 | ESFJ | Narcissistic (0.034) | Paranoid (0.033) | Dependent (0.028) |
| 2 | 300gK3CnzW0.001.mp4 | 0.462 | 0.413 | 0.416 | 0.498 | 0.431 | ISTJ | Schizoid (0.039) | Avoidant (0.022) | Dependent (0.012) |
| 3 | 300gK3CnzW0.003.mp4 | 0.468 | 0.449 | 0.372 | 0.510 | 0.454 | ISFJ | Dependent (0.089) | Narcissistic (0.087) | Paranoid (0.082) |
| 4 | 4vdJGgZpj4k.003.mp4 | 0.585 | 0.616 | 0.494 | 0.606 | 0.587 | ESFJ | Narcissistic (0.03) | Paranoid (0.029) | Dependent (0.025) |
| 5 | be0DQawtVkE.002.mp4 | 0.681 | 0.566 | 0.554 | 0.647 | 0.642 | ENFP | Paranoid (0.067) | Narcissistic (0.064) | Histrionic (0.062) |
| 6 | cLaZxEf1nE4.004.mp4 | 0.663 | 0.551 | 0.558 | 0.585 | 0.587 | ENFP | Paranoid (0.063) | Histrionic (0.06) | Narcissistic (0.06) |
| 7 | g24JGYuT74A.004.mp4 | 0.590 | 0.399 | 0.410 | 0.532 | 0.507 | ESFP | Narcissistic (0.09) | Paranoid (0.085) | Dependent (0.074) |
| 8 | JZNMxa3OKHY.000.mp4 | 0.606 | 0.524 | 0.531 | 0.594 | 0.580 | ENFP | Paranoid (0.061) | Narcissistic (0.058) | Histrionic (0.057) |
| 9 | nvlqJbHk_Lc.003.mp4 | 0.511 | 0.465 | 0.391 | 0.444 | 0.439 | INFP | Avoidant (0.036) | Schizoid (0.035) | Narcissistic (0.031) |
| 10 | _plk5k7PBEg.003.mp4 | 0.648 | 0.610 | 0.525 | 0.614 | 0.606 | ENFP | Paranoid (0.06) | Histrionic (0.057) | Narcissistic (0.056) |
MuPTA (ru)
[10]:
import os
import pandas as pd
# Импорт модуля
from oceanai.modules.lab.build import Run
# Создание экземпляра класса
_b5 = Run()
corpus = 'mupta'
lang = 'ru'
# Настройка ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
# Формирование аудиомоделей
res_load_model_hc = _b5.load_audio_model_hc()
res_load_model_nn = _b5.load_audio_model_nn()
# Загрузка весов аудиомоделей
url = _b5.weights_for_big5_['audio'][corpus]['hc']['googledisk']
res_load_model_weights_hc = _b5.load_audio_model_weights_hc(url = url, force_reload = False)
url = _b5.weights_for_big5_['audio'][corpus]['nn']['googledisk']
res_load_model_weights_nn = _b5.load_audio_model_weights_nn(url = url, force_reload = False)
# Формирование видеомоделей
res_load_model_hc = _b5.load_video_model_hc(lang=lang)
res_load_model_deep_fe = _b5.load_video_model_deep_fe()
res_load_model_nn = _b5.load_video_model_nn()
# Загрузка весов видеомоделей
url = _b5.weights_for_big5_['video'][corpus]['hc']['googledisk']
res_load_model_weights_hc = _b5.load_video_model_weights_hc(url = url, force_reload = False)
url = _b5.weights_for_big5_['video'][corpus]['fe']['googledisk']
res_load_model_weights_deep_fe = _b5.load_video_model_weights_deep_fe(url = url, force_reload = False)
url = _b5.weights_for_big5_['video'][corpus]['nn']['googledisk']
res_load_model_weights_nn = _b5.load_video_model_weights_nn(url = url, force_reload = False)
# Загрузка словаря с экспертными признаками (текстовая модальность)
res_load_text_features = _b5.load_text_features()
# Формирование текстовых моделей
res_setup_translation_model = _b5.setup_translation_model() # только для русского языка
res_setup_translation_model = _b5.setup_bert_encoder(force_reload = False)
res_load_text_model_hc_fi = _b5.load_text_model_hc(corpus=corpus)
res_load_text_model_nn_fi = _b5.load_text_model_nn(corpus=corpus)
# Загрузка весов текстовых моделей
url = _b5.weights_for_big5_['text'][corpus]['hc']['googledisk']
res_load_text_model_weights_hc_fi = _b5.load_text_model_weights_hc(url = url, force_reload = False)
url = _b5.weights_for_big5_['text'][corpus]['nn']['googledisk']
res_load_text_model_weights_nn_fi = _b5.load_text_model_weights_nn(url = url, force_reload = False)
# Формирование модели для мультимодального объединения информации
res_load_avt_model_b5 = _b5.load_avt_model_b5()
# Загрузка весов модели для мультимодального объединения информации
url = _b5.weights_for_big5_['avt'][corpus]['b5']['googledisk']
res_load_avt_model_weights_b5 = _b5.load_avt_model_weights_b5(url = url, force_reload = False)
PATH_TO_DIR = './video_MuPTA/'
PATH_SAVE_VIDEO = './video_MuPTA/test/'
_b5.path_to_save_ = PATH_SAVE_VIDEO
# Загрузка 10 тестовых аудиовидеозаписей из корпуса MuPTA
# URL: https://hci.nw.ru/en/pages/mupta-corpus
domain = 'https://download.sberdisk.ru/download/file/'
tets_name_files = [
'477995979?token=2cvyk7CS0mHx2MJ&filename=speaker_06_center_83.mov',
'477995980?token=jGPtBPS69uzFU6Y&filename=speaker_01_center_83.mov',
'477995967?token=zCaRbNB6ht5wMPq&filename=speaker_11_center_83.mov',
'477995966?token=B1rbinDYRQKrI3T&filename=speaker_15_center_83.mov',
'477995978?token=dEpVDtZg1EQiEQ9&filename=speaker_07_center_83.mov',
'477995961?token=o1hVjw8G45q9L9Z&filename=speaker_19_center_83.mov',
'477995964?token=5K220Aqf673VHPq&filename=speaker_23_center_83.mov',
'477995965?token=v1LVD2KT1cU7Lpb&filename=speaker_24_center_83.mov',
'477995962?token=tmaSGyyWLA6XCy9&filename=speaker_27_center_83.mov',
'477995963?token=bTpo96qNDPcwGqb&filename=speaker_10_center_83.mov',
]
for curr_files in tets_name_files:
_b5.download_file_from_url(url = domain + curr_files, out = True)
# Получение прогнозов
_b5.path_to_dataset_ = PATH_TO_DIR # Директория набора данных
_b5.ext_ = ['.mov'] # Расширения искомых файлов
# Полный путь к файлу с верными предсказаниями для подсчета точности
url_accuracy = _b5.true_traits_['mupta']['googledisk']
_b5.get_avt_predictions(url_accuracy = url_accuracy, lang = lang)
[2024-10-10 21:54:06] Извлечение признаков (экспертных и нейросетевых) из текста …
[2024-10-10 21:54:07] Получение прогнозов и вычисление точности (мультимодальное объединение) …
10 из 10 (100.0%) … GitHub:nbsphinx-math:OCEANAI\docs\source\user_guide:nbsphinx-math:notebooks\video_MuPTA:nbsphinx-math:test\speaker_27_center_83.mov …
| Path | Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | |
|---|---|---|---|---|---|---|
| Person ID | ||||||
| 1 | speaker_01_center_83.mov | 0.765745 | 0.696637 | 0.656309 | 0.75986 | 0.494141 |
| 2 | speaker_06_center_83.mov | 0.686514 | 0.659488 | 0.611838 | 0.749739 | 0.420672 |
| 3 | speaker_07_center_83.mov | 0.671993 | 0.661216 | 0.571759 | 0.704542 | 0.381026 |
| 4 | speaker_10_center_83.mov | 0.69828 | 0.59893 | 0.571893 | 0.674907 | 0.35082 |
| 5 | speaker_11_center_83.mov | 0.718329 | 0.598986 | 0.573518 | 0.73201 | 0.379845 |
| 6 | speaker_15_center_83.mov | 0.670932 | 0.671055 | 0.602337 | 0.708656 | 0.399527 |
| 7 | speaker_19_center_83.mov | 0.767261 | 0.658167 | 0.653367 | 0.801366 | 0.463443 |
| 8 | speaker_23_center_83.mov | 0.699837 | 0.684907 | 0.616671 | 0.806437 | 0.447853 |
| 9 | speaker_24_center_83.mov | 0.710566 | 0.66299 | 0.610562 | 0.711242 | 0.413696 |
| 10 | speaker_27_center_83.mov | 0.759404 | 0.712562 | 0.658357 | 0.830507 | 0.507612 |
[2024-10-10 21:54:07] Точность по отдельным персональным качествам личности человека …
| Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | Mean | |
|---|---|---|---|---|---|---|
| Metrics | ||||||
| MAE | 0.0706 | 0.0788 | 0.1328 | 0.1071 | 0.1002 | 0.0979 |
| Accuracy | 0.9294 | 0.9212 | 0.8672 | 0.8929 | 0.8998 | 0.9021 |
[2024-10-10 21:54:07] Средняя средних абсолютных ошибок: 0.0979, средняя точность: 0.9021 …
Лог файлы успешно сохранены …
— Время выполнения: 311.791 сек. —
[10]:
True
To find the suitable colleague, you need to know two correlation coefficients for each of a personality traits. These coefficients should show how the trait score of one person changes when it is higher or lower than the same trait score of another person.
В качестве примера предлагается использование коэффициентов корреляции между двумя людьми в контексте отношений “начальник-подчиненный”, представленных в статье:
Kuroda S., Yamamoto I. Good boss, bad boss, workers’ mental health and productivity: Evidence from Japan // Japan & The World Economy. – 2018. – vol. 48. – pp. 106-118.
The user can set their own correlation coefficients.
[11]:
# Loading dataframe with correlation coefficients
url = 'https://download.sberdisk.ru/download/file/478675819?token=LuB7L1QsEY0UuSs&filename=colleague_ranking.csv'
df_correlation_coefficients = pd.read_csv(url)
df_correlation_coefficients = pd.DataFrame(
df_correlation_coefficients.drop(['ID'], axis = 1)
)
df_correlation_coefficients.index.name = 'ID'
df_correlation_coefficients.index += 1
df_correlation_coefficients.index = df_correlation_coefficients.index.map(str)
df_correlation_coefficients
[11]:
| Score_comparison | Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | |
|---|---|---|---|---|---|---|
| ID | ||||||
| 1 | higher | -0.0602 | 0.0471 | -0.1070 | -0.0832 | 0.190 |
| 2 | lower | -0.1720 | -0.1050 | 0.0772 | 0.0703 | -0.229 |
Finding a suitable senior colleague
[12]:
# List of personality traits scores of the target person
target_scores = [0.527886, 0.522337, 0.458468, 0.51761, 0.444649]
_b5._colleague_ranking(
correlation_coefficients = df_correlation_coefficients,
target_scores = target_scores,
colleague = 'major',
equal_coefficients = 0.5,
out = False
)
_b5._save_logs(df = _b5.df_files_colleague_, name = 'major_colleague_ranking_mupta_ru', out = True)
# Optional
df = _b5.df_files_colleague_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[12]:
| Path | OPE | CON | EXT | AGR | NNEU | Match | |
|---|---|---|---|---|---|---|---|
| Person ID | |||||||
| 1 | speaker_01_center_83.mov | 0.766 | 0.697 | 0.656 | 0.760 | 0.494 | -0.053 |
| 10 | speaker_27_center_83.mov | 0.759 | 0.713 | 0.658 | 0.831 | 0.508 | -0.055 |
| 8 | speaker_23_center_83.mov | 0.700 | 0.685 | 0.617 | 0.806 | 0.448 | -0.058 |
| 7 | speaker_19_center_83.mov | 0.767 | 0.658 | 0.653 | 0.801 | 0.463 | -0.064 |
| 4 | speaker_10_center_83.mov | 0.698 | 0.599 | 0.572 | 0.675 | 0.351 | -0.211 |
| 3 | speaker_07_center_83.mov | 0.672 | 0.661 | 0.572 | 0.705 | 0.381 | -0.216 |
| 6 | speaker_15_center_83.mov | 0.671 | 0.671 | 0.602 | 0.709 | 0.400 | -0.224 |
| 5 | speaker_11_center_83.mov | 0.718 | 0.599 | 0.574 | 0.732 | 0.380 | -0.224 |
| 9 | speaker_24_center_83.mov | 0.711 | 0.663 | 0.611 | 0.711 | 0.414 | -0.231 |
| 2 | speaker_06_center_83.mov | 0.687 | 0.659 | 0.612 | 0.750 | 0.421 | -0.234 |
Finding a suitable junior colleague
[13]:
# List of personality traits scores of the target person
target_scores = [0.527886, 0.522337, 0.458468, 0.51761, 0.444649]
_b5._colleague_ranking(
correlation_coefficients = df_correlation_coefficients,
target_scores = target_scores,
colleague = 'minor',
equal_coefficients = 0.5,
out = False
)
_b5._save_logs(df = _b5.df_files_colleague_, name = 'minor_colleague_ranking_mupta_ru', out = True)
# Optional
df = _b5.df_files_colleague_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[13]:
| Path | OPE | CON | EXT | AGR | NNEU | Match | |
|---|---|---|---|---|---|---|---|
| Person ID | |||||||
| 2 | speaker_06_center_83.mov | 0.687 | 0.659 | 0.612 | 0.750 | 0.421 | -0.007 |
| 6 | speaker_15_center_83.mov | 0.671 | 0.671 | 0.602 | 0.709 | 0.400 | -0.014 |
| 9 | speaker_24_center_83.mov | 0.711 | 0.663 | 0.611 | 0.711 | 0.414 | -0.016 |
| 5 | speaker_11_center_83.mov | 0.718 | 0.599 | 0.574 | 0.732 | 0.380 | -0.019 |
| 3 | speaker_07_center_83.mov | 0.672 | 0.661 | 0.572 | 0.705 | 0.381 | -0.019 |
| 4 | speaker_10_center_83.mov | 0.698 | 0.599 | 0.572 | 0.675 | 0.351 | -0.025 |
| 8 | speaker_23_center_83.mov | 0.700 | 0.685 | 0.617 | 0.806 | 0.448 | -0.191 |
| 7 | speaker_19_center_83.mov | 0.767 | 0.658 | 0.653 | 0.801 | 0.463 | -0.200 |
| 10 | speaker_27_center_83.mov | 0.759 | 0.713 | 0.658 | 0.831 | 0.508 | -0.212 |
| 1 | speaker_01_center_83.mov | 0.766 | 0.697 | 0.656 | 0.760 | 0.494 | -0.214 |
Для поиска подходящего коллеги по типу личности MBTI необходимо знать коэффициенты корреляции между личностными качествами человека и типами MBTI, а также оценки этих качеств для целевого человека.
В качестве примера предлагается использование коэффициентов корреляции, представленных в статье:
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.
The user can set their own correlation coefficients.
[14]:
# Загрузка датафрейма с коэффициентами корреляции
url = 'https://download.sberdisk.ru/download/file/493644095?token=EX7hFxNJhMoLumI&filename=df_mbti_correlation.csv'
df_correlation_coefficients = pd.read_csv(url)
df_correlation_coefficients.index.name = 'ID'
df_correlation_coefficients.index += 1
df_correlation_coefficients.index = df_correlation_coefficients.index.map(str)
df_correlation_coefficients
[14]:
| Trait | EI | SN | TF | JP | |
|---|---|---|---|---|---|
| ID | |||||
| 1 | Openness | 0.09 | -0.03 | -0.14 | -0.16 |
| 2 | Conscientiousness | 0.04 | -0.04 | 0.20 | 0.14 |
| 3 | Extraversion | 0.20 | -0.03 | 0.01 | -0.07 |
| 4 | Agreeableness | 0.02 | 0.05 | -0.35 | 0.03 |
| 5 | Non-Neuroticism | 0.08 | 0.00 | 0.16 | 0.00 |
[15]:
_b5._colleague_personality_type_match(
correlation_coefficients = df_correlation_coefficients,
target_scores = [0.34, 0.56, 0.42, 0.57, 0.56],
threshold = 0.5,
out = False
)
_b5._save_logs(df = _b5.df_files_MBTI_colleague_match_, name = 'MBTI_colleague_personality_type_match_ru', out = True)
# Optional
df = _b5.df_files_MBTI_colleague_match_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:6]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[15]:
| Path | OPE | CON | EXT | AGR | NNEU | EI | SN | TF | JP | MBTI | Match | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Person ID | ||||||||||||
| 1 | speaker_01_center_83.mov | 0.766 | 0.697 | 0.656 | 0.760 | 0.494 | 0.203710 | -0.032534 | -0.306328 | -0.048136 | ENFP | 0.0 |
| 2 | speaker_06_center_83.mov | 0.687 | 0.659 | 0.612 | 0.750 | 0.421 | 0.191874 | -0.027843 | -0.287812 | -0.037850 | ENFP | 0.0 |
| 3 | speaker_07_center_83.mov | 0.672 | 0.661 | 0.572 | 0.705 | 0.381 | 0.184889 | -0.028534 | -0.263672 | -0.033835 | ENFP | 0.0 |
| 4 | speaker_10_center_83.mov | 0.698 | 0.599 | 0.572 | 0.675 | 0.351 | 0.186613 | -0.028317 | -0.264603 | -0.047660 | ENFP | 0.0 |
| 5 | speaker_11_center_83.mov | 0.718 | 0.599 | 0.574 | 0.732 | 0.380 | 0.187565 | -0.026114 | -0.292012 | -0.049261 | ENFP | 0.0 |
| 6 | speaker_15_center_83.mov | 0.671 | 0.671 | 0.602 | 0.709 | 0.400 | 0.189904 | -0.029607 | -0.265650 | -0.034305 | ENFP | 0.0 |
| 7 | speaker_19_center_83.mov | 0.767 | 0.658 | 0.653 | 0.801 | 0.463 | 0.205006 | -0.028877 | -0.323879 | -0.052313 | ENFP | 0.0 |
| 8 | speaker_23_center_83.mov | 0.700 | 0.685 | 0.617 | 0.806 | 0.448 | 0.194016 | -0.026570 | -0.308738 | -0.035061 | ENFP | 0.0 |
| 9 | speaker_24_center_83.mov | 0.711 | 0.663 | 0.611 | 0.711 | 0.414 | 0.193712 | -0.030591 | -0.275902 | -0.042274 | ENFP | 0.0 |
| 10 | speaker_27_center_83.mov | 0.759 | 0.713 | 0.658 | 0.831 | 0.508 | 0.285739 | -0.029510 | -0.166680 | -0.042916 | ENFP | 0.0 |
Для определения степени выраженности персональных растройств необходимо знать коэффициенты корреляции между персональными качествами личности человека и типами личности MBTI, а также кооэффициенты корреляции между типами личности MBTI и персональными растройствами.
В качестве примера предлагается использование коэффициентов корреляции между персональными качествами личности человека и типами личности MBTI, представленных в статье [1] и кооэффициентов корреляции между типами личности MBTI и персональными растройствами [2].
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.
Furnham A. MBTI and aberrant personality traits: dark-side trait correlates of the Myers Briggs type inventory // Psychology. - 2022. - vol. 13(5). - pp 805-815.
Среди персональных расстройста рассматриваются следующие: 1) Параноидное (Paranoid) — Недоверие и подозрительность по отношению к другим; мотивы интерпретируются как злонамеренные. 2) Шизоидное (Schizoid) — Эмоциональная холодность и отстранённость от социальных отношений; безразличие к похвалам и критике. 3) Шизотипическое (Schizotypal) — Странные убеждения или магическое мышление; поведение или речь, которые кажутся странными, эксцентричными или необычными. 4) Антисоциальное (Antisocial) — Пренебрежение к истине; импульсивность и неспособность планировать будущее; нарушение социальных норм. 5) Пограничное (Borderline) — Неуместная злость; нестабильные и интенсивные отношения, которые чередуются между идеализацией и обесцениванием. 6) Истерическое (Histrionic) — Чрезмерная эмоциональность и стремление к вниманию; драматизация, театральное поведение и преувеличенное выражение эмоций. 7) Нарциссическое (Narcissistic) — Высокомерные и надменные манеры или установки, преувеличенное чувство собственной значимости и права на особое отношение. 8) Избегающее (Avoidant) — Социальное избегание; чувство неполноценности и повышенная чувствительность к критике или отказу. 9) Зависимое (Dependent) — Трудности в принятии повседневных решений без чрезмерных советов и уверений; трудности в выражении несогласия из-за страха потери поддержки или одобрения. 10) Обсессивно-компульсивное личностное расстройство (OCPD) — Чрезмерная озабоченность порядком, перфекционизмом, контролем и деталями; стремление к соблюдению правил, часто в ущерб гибкости и эффективности.
The user can set their own correlation coefficients.
[16]:
url = 'https://download.sberdisk.ru/download/file/493644095?token=EX7hFxNJhMoLumI&filename=df_mbti_correlation.csv'
df_correlation_coefficients_mbti = pd.read_csv(url)
df_correlation_coefficients_mbti.index.name = 'ID'
df_correlation_coefficients_mbti.index += 1
df_correlation_coefficients_mbti.index = df_correlation_coefficients_mbti.index.map(str)
url = 'https://download.sberdisk.ru/download/file/493644096?token=T309xfzRosPj3v9&filename=df_disorder_correlation.csv'
df_correlation_coefficients_disorders = pd.read_csv(url)
df_correlation_coefficients_disorders.index.name = 'ID'
df_correlation_coefficients_disorders.index += 1
df_correlation_coefficients_disorders.index = df_correlation_coefficients_disorders.index.map(str)
[17]:
_b5._colleague_personality_desorders(
correlation_coefficients_mbti = df_correlation_coefficients_mbti,
correlation_coefficients_disorders = df_correlation_coefficients_disorders,
personality_desorder_number = 3,
threshold = 0.5,
out = True
)
_b5._save_logs(df = _b5.df_files_MBTI_disorders_, name = 'MBTI_colleague_personality_type_match_fi_en', out = True)
# Optional
df = _b5.df_files_MBTI_disorders_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:6]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[17]:
| Path | OPE | CON | EXT | AGR | NNEU | MBTI | Disorder 1 | Disorder 2 | Disorder 3 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Person ID | ||||||||||
| 1 | speaker_01_center_83.mov | 0.766 | 0.697 | 0.656 | 0.760 | 0.494 | ENFP | Narcissistic (0.121) | Paranoid (0.119) | Dependent (0.083) |
| 2 | speaker_06_center_83.mov | 0.687 | 0.659 | 0.612 | 0.750 | 0.421 | ENFP | Narcissistic (0.114) | Paranoid (0.112) | Dependent (0.078) |
| 3 | speaker_07_center_83.mov | 0.672 | 0.661 | 0.572 | 0.705 | 0.381 | ENFP | Narcissistic (0.105) | Paranoid (0.104) | Dependent (0.071) |
| 4 | speaker_10_center_83.mov | 0.698 | 0.599 | 0.572 | 0.675 | 0.351 | ENFP | Narcissistic (0.106) | Paranoid (0.105) | Dependent (0.071) |
| 5 | speaker_11_center_83.mov | 0.718 | 0.599 | 0.574 | 0.732 | 0.380 | ENFP | Narcissistic (0.115) | Paranoid (0.113) | Dependent (0.079) |
| 6 | speaker_15_center_83.mov | 0.671 | 0.671 | 0.602 | 0.709 | 0.400 | ENFP | Narcissistic (0.107) | Paranoid (0.105) | Dependent (0.072) |
| 7 | speaker_19_center_83.mov | 0.767 | 0.658 | 0.653 | 0.801 | 0.463 | ENFP | Narcissistic (0.127) | Paranoid (0.125) | Dependent (0.087) |
| 8 | speaker_23_center_83.mov | 0.700 | 0.685 | 0.617 | 0.806 | 0.448 | ENFP | Narcissistic (0.12) | Paranoid (0.118) | Dependent (0.083) |
| 9 | speaker_24_center_83.mov | 0.711 | 0.663 | 0.611 | 0.711 | 0.414 | ENFP | Narcissistic (0.11) | Paranoid (0.109) | Dependent (0.074) |
| 10 | speaker_27_center_83.mov | 0.759 | 0.713 | 0.658 | 0.831 | 0.508 | ENFP | Paranoid (0.09) | Narcissistic (0.088) | Histrionic (0.073) |
MuPTA (en)
[18]:
import os
import pandas as pd
# Импорт модуля
from oceanai.modules.lab.build import Run
# Создание экземпляра класса
_b5 = Run()
corpus = 'fi'
lang = 'en'
# Настройка ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
# Формирование аудиомоделей
res_load_model_hc = _b5.load_audio_model_hc()
res_load_model_nn = _b5.load_audio_model_nn()
# Загрузка весов аудиомоделей
url = _b5.weights_for_big5_['audio'][corpus]['hc']['googledisk']
res_load_model_weights_hc = _b5.load_audio_model_weights_hc(url = url, force_reload = False)
url = _b5.weights_for_big5_['audio'][corpus]['nn']['googledisk']
res_load_model_weights_nn = _b5.load_audio_model_weights_nn(url = url, force_reload = False)
# Формирование видеомоделей
res_load_model_hc = _b5.load_video_model_hc(lang=lang)
res_load_model_deep_fe = _b5.load_video_model_deep_fe()
res_load_model_nn = _b5.load_video_model_nn()
# Загрузка весов видеомоделей
url = _b5.weights_for_big5_['video'][corpus]['hc']['googledisk']
res_load_model_weights_hc = _b5.load_video_model_weights_hc(url = url, force_reload = False)
url = _b5.weights_for_big5_['video'][corpus]['fe']['googledisk']
res_load_model_weights_deep_fe = _b5.load_video_model_weights_deep_fe(url = url, force_reload = False)
url = _b5.weights_for_big5_['video'][corpus]['nn']['googledisk']
res_load_model_weights_nn = _b5.load_video_model_weights_nn(url = url, force_reload = False)
# Загрузка словаря с экспертными признаками (текстовая модальность)
res_load_text_features = _b5.load_text_features()
# Формирование текстовых моделей
res_setup_translation_model = _b5.setup_translation_model() # только для русского языка
res_setup_translation_model = _b5.setup_bert_encoder(force_reload = False)
res_load_text_model_hc_fi = _b5.load_text_model_hc(corpus=corpus)
res_load_text_model_nn_fi = _b5.load_text_model_nn(corpus=corpus)
# Загрузка весов текстовых моделей
url = _b5.weights_for_big5_['text'][corpus]['hc']['googledisk']
res_load_text_model_weights_hc_fi = _b5.load_text_model_weights_hc(url = url, force_reload = False)
url = _b5.weights_for_big5_['text'][corpus]['nn']['googledisk']
res_load_text_model_weights_nn_fi = _b5.load_text_model_weights_nn(url = url, force_reload = False)
# Формирование модели для мультимодального объединения информации
res_load_avt_model_b5 = _b5.load_avt_model_b5()
# Загрузка весов модели для мультимодального объединения информации
url = _b5.weights_for_big5_['avt'][corpus]['b5']['googledisk']
res_load_avt_model_weights_b5 = _b5.load_avt_model_weights_b5(url = url)
PATH_TO_DIR = './video_MuPTA/'
PATH_SAVE_VIDEO = './video_MuPTA/test/'
_b5.path_to_save_ = PATH_SAVE_VIDEO
# Загрузка 10 тестовых аудиовидеозаписей из корпуса MuPTA
# URL: https://hci.nw.ru/en/pages/mupta-corpus
domain = 'https://download.sberdisk.ru/download/file/'
tets_name_files = [
'477995979?token=2cvyk7CS0mHx2MJ&filename=speaker_06_center_83.mov',
'477995980?token=jGPtBPS69uzFU6Y&filename=speaker_01_center_83.mov',
'477995967?token=zCaRbNB6ht5wMPq&filename=speaker_11_center_83.mov',
'477995966?token=B1rbinDYRQKrI3T&filename=speaker_15_center_83.mov',
'477995978?token=dEpVDtZg1EQiEQ9&filename=speaker_07_center_83.mov',
'477995961?token=o1hVjw8G45q9L9Z&filename=speaker_19_center_83.mov',
'477995964?token=5K220Aqf673VHPq&filename=speaker_23_center_83.mov',
'477995965?token=v1LVD2KT1cU7Lpb&filename=speaker_24_center_83.mov',
'477995962?token=tmaSGyyWLA6XCy9&filename=speaker_27_center_83.mov',
'477995963?token=bTpo96qNDPcwGqb&filename=speaker_10_center_83.mov',
]
for curr_files in tets_name_files:
_b5.download_file_from_url(url = domain + curr_files, out = True)
# Получение прогнозов
_b5.path_to_dataset_ = PATH_TO_DIR # Директория набора данных
_b5.ext_ = ['.mov'] # Расширения искомых файлов
# Полный путь к файлу с верными предсказаниями для подсчета точности
url_accuracy = _b5.true_traits_['mupta']['googledisk']
_b5.get_avt_predictions(url_accuracy = url_accuracy, lang = lang)
[2024-10-10 22:04:06] Извлечение признаков (экспертных и нейросетевых) из текста …
[2024-10-10 22:04:06] Получение прогнозов и вычисление точности (мультимодальное объединение) …
10 из 10 (100.0%) … GitHub:nbsphinx-math:OCEANAI\docs\source\user_guide:nbsphinx-math:notebooks\video_MuPTA:nbsphinx-math:test\speaker_27_center_83.mov …
| Path | Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | |
|---|---|---|---|---|---|---|
| Person ID | ||||||
| 1 | speaker_01_center_83.mov | 0.59561 | 0.542967 | 0.440668 | 0.589769 | 0.515306 |
| 2 | speaker_06_center_83.mov | 0.661347 | 0.673973 | 0.603208 | 0.64543 | 0.6431 |
| 3 | speaker_07_center_83.mov | 0.439868 | 0.465049 | 0.284547 | 0.422551 | 0.396058 |
| 4 | speaker_10_center_83.mov | 0.47715 | 0.502563 | 0.373686 | 0.441372 | 0.424637 |
| 5 | speaker_11_center_83.mov | 0.403292 | 0.344359 | 0.317304 | 0.422228 | 0.384346 |
| 6 | speaker_15_center_83.mov | 0.581837 | 0.562177 | 0.504623 | 0.602169 | 0.522254 |
| 7 | speaker_19_center_83.mov | 0.510444 | 0.448468 | 0.425599 | 0.451861 | 0.447891 |
| 8 | speaker_23_center_83.mov | 0.500526 | 0.541376 | 0.308529 | 0.441178 | 0.452412 |
| 9 | speaker_24_center_83.mov | 0.427677 | 0.511355 | 0.301078 | 0.434281 | 0.442301 |
| 10 | speaker_27_center_83.mov | 0.566414 | 0.659169 | 0.434059 | 0.59122 | 0.579172 |
[2024-10-10 22:04:06] Точность по отдельным персональным качествам личности человека …
| Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | Mean | |
|---|---|---|---|---|---|---|
| Metrics | ||||||
| MAE | 0.1632 | 0.1621 | 0.176 | 0.2589 | 0.1122 | 0.1745 |
| Accuracy | 0.8368 | 0.8379 | 0.824 | 0.7411 | 0.8878 | 0.8255 |
[2024-10-10 22:04:06] Средняя средних абсолютных ошибок: 0.1745, средняя точность: 0.8255 …
Лог файлы успешно сохранены …
— Время выполнения: 302.368 сек. —
[18]:
True
To find the suitable colleague, you need to know two correlation coefficients for each of a personality traits. These coefficients should show how the trait score of one person changes when it is higher or lower than the same trait score of another person.
В качестве примера предлагается использование коэффициентов корреляции между двумя людьми в контексте отношений “начальник-подчиненный”, представленных в статье:
Kuroda S., Yamamoto I. Good boss, bad boss, workers’ mental health and productivity: Evidence from Japan // Japan & The World Economy. – 2018. – vol. 48. – pp. 106-118.
The user can set their own correlation coefficients.
[19]:
# Loading dataframe with correlation coefficients
url = 'https://download.sberdisk.ru/download/file/478675819?token=LuB7L1QsEY0UuSs&filename=colleague_ranking.csv'
df_correlation_coefficients = pd.read_csv(url)
df_correlation_coefficients = pd.DataFrame(
df_correlation_coefficients.drop(['ID'], axis = 1)
)
df_correlation_coefficients.index.name = 'ID'
df_correlation_coefficients.index += 1
df_correlation_coefficients.index = df_correlation_coefficients.index.map(str)
df_correlation_coefficients
[19]:
| Score_comparison | Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | |
|---|---|---|---|---|---|---|
| ID | ||||||
| 1 | higher | -0.0602 | 0.0471 | -0.1070 | -0.0832 | 0.190 |
| 2 | lower | -0.1720 | -0.1050 | 0.0772 | 0.0703 | -0.229 |
Finding a suitable senior colleague
[20]:
# List of personality traits scores of the target person
target_scores = [0.527886, 0.522337, 0.458468, 0.51761, 0.444649]
_b5._colleague_ranking(
correlation_coefficients = df_correlation_coefficients,
target_scores = target_scores,
colleague = 'major',
equal_coefficients = 0.5,
out = False
)
_b5._save_logs(df = _b5.df_files_colleague_, name = 'major_colleague_ranking_mupta_en', out = True)
# Optional
df = _b5.df_files_colleague_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[20]:
| Path | OPE | CON | EXT | AGR | NNEU | Match | |
|---|---|---|---|---|---|---|---|
| Person ID | |||||||
| 10 | speaker_27_center_83.mov | 0.566 | 0.659 | 0.434 | 0.591 | 0.579 | 0.091 |
| 8 | speaker_23_center_83.mov | 0.501 | 0.541 | 0.309 | 0.441 | 0.452 | 0.080 |
| 1 | speaker_01_center_83.mov | 0.596 | 0.543 | 0.441 | 0.590 | 0.515 | 0.073 |
| 7 | speaker_19_center_83.mov | 0.510 | 0.448 | 0.426 | 0.452 | 0.448 | 0.015 |
| 2 | speaker_06_center_83.mov | 0.661 | 0.674 | 0.603 | 0.645 | 0.643 | -0.004 |
| 6 | speaker_15_center_83.mov | 0.582 | 0.562 | 0.505 | 0.602 | 0.522 | -0.013 |
| 5 | speaker_11_center_83.mov | 0.403 | 0.344 | 0.317 | 0.422 | 0.384 | -0.139 |
| 3 | speaker_07_center_83.mov | 0.440 | 0.465 | 0.285 | 0.423 | 0.396 | -0.164 |
| 4 | speaker_10_center_83.mov | 0.477 | 0.503 | 0.374 | 0.441 | 0.425 | -0.172 |
| 9 | speaker_24_center_83.mov | 0.428 | 0.511 | 0.301 | 0.434 | 0.442 | -0.175 |
Finding a suitable junior colleague
[21]:
# List of personality traits scores of the target person
target_scores = [0.527886, 0.522337, 0.458468, 0.51761, 0.444649]
_b5._colleague_ranking(
correlation_coefficients = df_correlation_coefficients,
target_scores = target_scores,
colleague = 'minor',
equal_coefficients = 0.5,
out = False
)
_b5._save_logs(df = _b5.df_files_colleague_, name = 'minor_colleague_ranking_mupta_en', out = True)
# Optional
df = _b5.df_files_colleague_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[21]:
| Path | OPE | CON | EXT | AGR | NNEU | Match | |
|---|---|---|---|---|---|---|---|
| Person ID | |||||||
| 9 | speaker_24_center_83.mov | 0.428 | 0.511 | 0.301 | 0.434 | 0.442 | 0.014 |
| 3 | speaker_07_center_83.mov | 0.440 | 0.465 | 0.285 | 0.423 | 0.396 | 0.005 |
| 4 | speaker_10_center_83.mov | 0.477 | 0.503 | 0.374 | 0.441 | 0.425 | -0.001 |
| 5 | speaker_11_center_83.mov | 0.403 | 0.344 | 0.317 | 0.422 | 0.384 | -0.004 |
| 7 | speaker_19_center_83.mov | 0.510 | 0.448 | 0.426 | 0.452 | 0.448 | -0.195 |
| 6 | speaker_15_center_83.mov | 0.582 | 0.562 | 0.505 | 0.602 | 0.522 | -0.198 |
| 2 | speaker_06_center_83.mov | 0.661 | 0.674 | 0.603 | 0.645 | 0.643 | -0.240 |
| 8 | speaker_23_center_83.mov | 0.501 | 0.541 | 0.309 | 0.441 | 0.452 | -0.260 |
| 1 | speaker_01_center_83.mov | 0.596 | 0.543 | 0.441 | 0.590 | 0.515 | -0.283 |
| 10 | speaker_27_center_83.mov | 0.566 | 0.659 | 0.434 | 0.591 | 0.579 | -0.304 |
Для поиска подходящего коллеги по типу личности MBTI необходимо знать коэффициенты корреляции между личностными качествами человека и типами личности MBTI, а также оценки этих качеств для целевого человека.
В качестве примера предлагается использование коэффициентов корреляции, представленных в статье:
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.
The user can set their own correlation coefficients.
[22]:
# Загрузка датафрейма с коэффициентами корреляции
url = 'https://download.sberdisk.ru/download/file/493644095?token=EX7hFxNJhMoLumI&filename=df_mbti_correlation.csv'
df_correlation_coefficients = pd.read_csv(url)
df_correlation_coefficients.index.name = 'ID'
df_correlation_coefficients.index += 1
df_correlation_coefficients.index = df_correlation_coefficients.index.map(str)
df_correlation_coefficients
[22]:
| Trait | EI | SN | TF | JP | |
|---|---|---|---|---|---|
| ID | |||||
| 1 | Openness | 0.09 | -0.03 | -0.14 | -0.16 |
| 2 | Conscientiousness | 0.04 | -0.04 | 0.20 | 0.14 |
| 3 | Extraversion | 0.20 | -0.03 | 0.01 | -0.07 |
| 4 | Agreeableness | 0.02 | 0.05 | -0.35 | 0.03 |
| 5 | Non-Neuroticism | 0.08 | 0.00 | 0.16 | 0.00 |
[23]:
_b5._colleague_personality_type_match(
correlation_coefficients = df_correlation_coefficients,
target_scores = [0.34, 0.56, 0.42, 0.57, 0.56],
threshold = 0.5,
out = False
)
_b5._save_logs(df = _b5.df_files_MBTI_colleague_match_, name = 'MBTI_colleague_personality_type_match_en', out = True)
# Optional
df = _b5.df_files_MBTI_colleague_match_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:6]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[23]:
| Path | OPE | CON | EXT | AGR | NNEU | EI | SN | TF | JP | MBTI | Match | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Person ID | ||||||||||||
| 3 | speaker_07_center_83.mov | 0.440 | 0.465 | 0.285 | 0.423 | 0.396 | -0.155235 | 0.019207 | 0.050250 | 0.012514 | ISTJ | 100.0 |
| 5 | speaker_11_center_83.mov | 0.403 | 0.344 | 0.317 | 0.422 | 0.384 | -0.152724 | 0.014281 | 0.070700 | 0.025861 | ISTJ | 100.0 |
| 4 | speaker_10_center_83.mov | 0.477 | 0.503 | 0.374 | 0.441 | 0.425 | -0.140376 | -0.016646 | 0.250115 | 0.159620 | INTJ | 75.0 |
| 8 | speaker_23_center_83.mov | 0.501 | 0.541 | 0.309 | 0.441 | 0.452 | -0.040020 | -0.049474 | 0.117143 | 0.004070 | INTJ | 75.0 |
| 9 | speaker_24_center_83.mov | 0.428 | 0.511 | 0.301 | 0.434 | 0.442 | -0.122322 | -0.020306 | 0.240365 | 0.148065 | INTJ | 75.0 |
| 1 | speaker_01_center_83.mov | 0.596 | 0.543 | 0.441 | 0.590 | 0.515 | 0.040210 | 0.003122 | -0.103169 | 0.029258 | ESFJ | 50.0 |
| 7 | speaker_19_center_83.mov | 0.510 | 0.448 | 0.426 | 0.452 | 0.448 | -0.101987 | -0.007200 | -0.078923 | -0.128220 | INFP | 25.0 |
| 10 | speaker_27_center_83.mov | 0.566 | 0.659 | 0.434 | 0.591 | 0.579 | 0.048690 | -0.000776 | -0.066064 | 0.049778 | ENFJ | 25.0 |
| 2 | speaker_06_center_83.mov | 0.661 | 0.674 | 0.603 | 0.645 | 0.643 | 0.271478 | -0.032624 | -0.074766 | -0.034321 | ENFP | 0.0 |
| 6 | speaker_15_center_83.mov | 0.582 | 0.562 | 0.505 | 0.602 | 0.522 | 0.229601 | -0.024972 | -0.091174 | -0.031648 | ENFP | 0.0 |
Для определения степени выраженности персональных растройств необходимо знать коэффициенты корреляции между персональными качествами личности человека и типами личности MBTI, а также кооэффициенты корреляции между типами личности MBTI и персональными растройствами.
В качестве примера предлагается использование коэффициентов корреляции между персональными качествами личности человека и типами личности MBTI, представленных в статье [1] и кооэффициентов корреляции между типами личности MBTI и персональными растройствами [2].
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.
Furnham A. MBTI and aberrant personality traits: dark-side trait correlates of the Myers Briggs type inventory // Psychology. - 2022. - vol. 13(5). - pp 805-815.
Среди персональных расстройста рассматриваются следующие: 1) Параноидное (Paranoid) — Недоверие и подозрительность по отношению к другим; мотивы интерпретируются как злонамеренные. 2) Шизоидное (Schizoid) — Эмоциональная холодность и отстранённость от социальных отношений; безразличие к похвалам и критике. 3) Шизотипическое (Schizotypal) — Странные убеждения или магическое мышление; поведение или речь, которые кажутся странными, эксцентричными или необычными. 4) Антисоциальное (Antisocial) — Пренебрежение к истине; импульсивность и неспособность планировать будущее; нарушение социальных норм. 5) Пограничное (Borderline) — Неуместная злость; нестабильные и интенсивные отношения, которые чередуются между идеализацией и обесцениванием. 6) Истерическое (Histrionic) — Чрезмерная эмоциональность и стремление к вниманию; драматизация, театральное поведение и преувеличенное выражение эмоций. 7) Нарциссическое (Narcissistic) — Высокомерные и надменные манеры или установки, преувеличенное чувство собственной значимости и права на особое отношение. 8) Избегающее (Avoidant) — Социальное избегание; чувство неполноценности и повышенная чувствительность к критике или отказу. 9) Зависимое (Dependent) — Трудности в принятии повседневных решений без чрезмерных советов и уверений; трудности в выражении несогласия из-за страха потери поддержки или одобрения. 10) Обсессивно-компульсивное личностное расстройство (OCPD) — Чрезмерная озабоченность порядком, перфекционизмом, контролем и деталями; стремление к соблюдению правил, часто в ущерб гибкости и эффективности.
The user can set their own correlation coefficients.
[24]:
url = 'https://download.sberdisk.ru/download/file/493644095?token=EX7hFxNJhMoLumI&filename=df_mbti_correlation.csv'
df_correlation_coefficients_mbti = pd.read_csv(url)
df_correlation_coefficients_mbti.index.name = 'ID'
df_correlation_coefficients_mbti.index += 1
df_correlation_coefficients_mbti.index = df_correlation_coefficients_mbti.index.map(str)
url = 'https://download.sberdisk.ru/download/file/493644096?token=T309xfzRosPj3v9&filename=df_disorder_correlation.csv'
df_correlation_coefficients_disorders = pd.read_csv(url)
df_correlation_coefficients_disorders.index.name = 'ID'
df_correlation_coefficients_disorders.index += 1
df_correlation_coefficients_disorders.index = df_correlation_coefficients_disorders.index.map(str)
[25]:
_b5._colleague_personality_desorders(
correlation_coefficients_mbti = df_correlation_coefficients_mbti,
correlation_coefficients_disorders = df_correlation_coefficients_disorders,
personality_desorder_number = 3,
threshold = 0.5,
out = True
)
_b5._save_logs(df = _b5.df_files_MBTI_disorders_, name = 'MBTI_colleague_personality_type_match_fi_en', out = True)
# Optional
df = _b5.df_files_MBTI_disorders_.rename(columns = {'Openness':'OPE', 'Conscientiousness':'CON', 'Extraversion': 'EXT', 'Agreeableness': 'AGR', 'Non-Neuroticism': 'NNEU'})
columns_to_round = df.columns[1:6]
df[columns_to_round] = df[columns_to_round].apply(lambda x: [round(i, 3) for i in x])
df
[25]:
| Path | OPE | CON | EXT | AGR | NNEU | MBTI | Disorder 1 | Disorder 2 | Disorder 3 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Person ID | ||||||||||
| 1 | speaker_01_center_83.mov | 0.596 | 0.543 | 0.441 | 0.590 | 0.515 | ESFJ | Narcissistic (0.037) | Paranoid (0.036) | Dependent (0.03) |
| 2 | speaker_06_center_83.mov | 0.661 | 0.674 | 0.603 | 0.645 | 0.643 | ENFP | Paranoid (0.061) | Histrionic (0.06) | Narcissistic (0.057) |
| 3 | speaker_07_center_83.mov | 0.440 | 0.465 | 0.285 | 0.423 | 0.396 | ISTJ | Schizoid (0.033) | Avoidant (0.019) | Dependent (0.009) |
| 4 | speaker_10_center_83.mov | 0.477 | 0.503 | 0.374 | 0.441 | 0.425 | INTJ | Schizoid (0.03) | OCPD (0.021) | Avoidant (0.017) |
| 5 | speaker_11_center_83.mov | 0.403 | 0.344 | 0.317 | 0.422 | 0.384 | ISTJ | Schizoid (0.032) | Avoidant (0.018) | Dependent (0.01) |
| 6 | speaker_15_center_83.mov | 0.582 | 0.562 | 0.505 | 0.602 | 0.522 | ENFP | Paranoid (0.06) | Narcissistic (0.057) | Histrionic (0.054) |
| 7 | speaker_19_center_83.mov | 0.510 | 0.448 | 0.426 | 0.452 | 0.448 | INFP | Schizoid (0.036) | Avoidant (0.036) | Narcissistic (0.03) |
| 8 | speaker_23_center_83.mov | 0.501 | 0.541 | 0.309 | 0.441 | 0.452 | INTJ | OCPD (0.012) | Schizoid (0.01) | Avoidant (0.006) |
| 9 | speaker_24_center_83.mov | 0.428 | 0.511 | 0.301 | 0.434 | 0.442 | INTJ | Schizoid (0.026) | OCPD (0.02) | Avoidant (0.015) |
| 10 | speaker_27_center_83.mov | 0.566 | 0.659 | 0.434 | 0.591 | 0.579 | ENFJ | Narcissistic (0.026) | Paranoid (0.026) | Dependent (0.021) |