Получение прогнозов по тексту

c73127cab6504d77bcc9590a6b5d8b66


Импорт необходимых инструментов

[2]:
from oceanai.modules.lab.build import Run

Сборка

[3]:
_b5 = Run(
    lang = 'ru', # Язык
    color_simple = '#333', # Цвет обычного текста (шестнадцатеричный код)
    color_info = '#1776D2', # Цвет текста содержащего информацию (шестнадцатеричный код)
    color_err = '#FF0000', # Цвет текста содержащего ошибку (шестнадцатеричный код)
    color_true = '#008001', # Цвет текста содержащего положительную информацию (шестнадцатеричный код)
    bold_text = True, # Жирное начертание текста
    num_to_df_display = 30, # Количество строк для отображения в таблицах
    text_runtime = 'Время выполнения', # Текст времени выполнения
    metadata = True # Отображение информации о библиотеке
)

[2023-12-14 18:07:43] OCEANAI - персональные качества личности человека:    Авторы:        Рюмина Елена [ryumina_ev@mail.ru]        Рюмин Дмитрий [dl_03.03.1991@mail.ru]        Карпов Алексей [karpov@iias.spb.su]    Сопровождающие:        Рюмина Елена [ryumina_ev@mail.ru]        Рюмин Дмитрий [dl_03.03.1991@mail.ru]    Версия: 1.0.0a16    Лицензия: BSD License

Получение и отображение версий установленных библиотек

  • _b5.df_pkgs_ - DataFrame c версиями установленных библиотек

[4]:
_b5.libs_vers(runtime = True, run = True)
Package Version
1 TensorFlow 2.15.0
2 Keras 2.15.0
3 OpenCV 4.8.1
4 MediaPipe 0.9.0
5 NumPy 1.26.2
6 SciPy 1.11.4
7 Pandas 2.1.3
8 Scikit-learn 1.3.2
9 OpenSmile 2.5.0
10 Librosa 0.10.1
11 AudioRead 3.0.1
12 IPython 8.18.1
13 PyMediaInfo 6.1.0
14 Requests 2.31.0
15 JupyterLab 4.0.9
16 LIWC 0.5.0
17 Transformers 4.36.0
18 Sentencepiece 0.1.99
19 Torch 2.0.1+cpu
20 Torchaudio 2.0.2+cpu

— Время выполнения: 0.006 сек. —

Загрузка словаря с экспертными признаками

[5]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг

res_load_text_features = _b5.load_text_features(
    force_reload = True, # Принудительная загрузка файла
    out = True, # Отображение
    runtime = True, # Подсчет времени выполнения
    run = True # Блокировка выполнения
)

[2023-12-14 18:07:43] Загрузка словаря с экспертными признаками …

[2023-12-14 18:07:43] Загрузка файла “LIWC2007.txt” 100.0% …

— Время выполнения: 0.232 сек. —

Формирование токенизатора и нейросетевой модели машинного перевода (RU -> EN)

[6]:
res_setup_translation_model = _b5.setup_translation_model(
    out = True, # Отображение
    runtime = True, # Подсчет времени выполнения
    run = True # Блокировка выполнения
)

[2023-12-14 18:07:43] Формирование токенизатора и нейросетевой модели машинного перевода …

— Время выполнения: 1.71 сек. —

Формирование токенизатора и нейросетевой модели BERT (для кодирования слов)

[7]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг

res_setup_translation_model = _b5.setup_bert_encoder(
    force_reload = False, # Принудительная загрузка файла
    out = True, # Отображение
    runtime = True, # Подсчет времени выполнения
    run = True # Блокировка выполнения
)

[2023-12-14 18:07:45] Формирование токенизатора и нейросетевой модели BERT …

[2023-12-14 18:07:47] Загрузка файла “bert-base-multilingual-cased.zip”

[2023-12-14 18:07:45] Формирование токенизатора и нейросетевой модели BERT …

[2023-12-14 18:07:47] Загрузка файла “bert-base-multilingual-cased.zip”

[2023-12-14 18:07:47] Разархивирование архива “bert-base-multilingual-cased.zip” …

— Время выполнения: 4.188 сек. —

FI V2

Формирование нейросетевой архитектуры модели для получения оценок по экспертным признакам

  • _b5.text_model_hc_ - Нейросетевая модель tf.keras.Model для получения оценок по экспертным признакам

[8]:
res_load_text_model_hc_fi = _b5.load_text_model_hc(
    corpus = "fi", # Корпус для тестирования нейросетевой модели
    show_summary = False, # Отображение сформированной нейросетевой архитектуры модели
    out = True, # Отображение
    runtime = True, # Подсчет времени выполнения
    run = True # Блокировка выполнения
)

[2023-12-14 18:07:49] Формирование нейросетевой архитектуры модели для получения оценок по экспертным признакам (текстовая модальность) …

— Время выполнения: 0.647 сек. —

Загрузка весов нейросетевой модели для получения оценок по экспертным признакам

  • _b5.text_model_hc_ - Нейросетевая модель tf.keras.Model для получения оценок по экспертным признакам

[9]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг

url = _b5.weights_for_big5_['text']['fi']['hc']['sberdisk']

res_load_text_model_weights_hc_fi = _b5.load_text_model_weights_hc(
    url = url, # Полный путь к файлу с весами нейросетевой модели
    force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
    out = True, # Отображение
    runtime = True, # Подсчет времени выполнения
    run = True # Блокировка выполнения
)

[2023-12-14 18:07:50] Загрузка весов нейросетевой модели для получения оценок по экспертным признакам (текстовая модальность) …

[2023-12-14 18:07:50] Загрузка файла “weights_2023-07-15_10-52-15.h5” 100.0% …

— Время выполнения: 0.289 сек. —

Формирование нейросетевой архитектуры модели для получения оценок по нейросетевым признакам

  • _b5.text_model_nn_ - Нейросетевая модель tf.keras.Model для получения оценок по нейросетевым признакам

[10]:
res_load_text_model_nn_fi = _b5.load_text_model_nn(
    corpus = "fi", # Корпус для тестирования нейросетевой модели
    show_summary = False, # Отображение сформированной нейросетевой архитектуры модели
    out = True, # Отображение
    runtime = True, # Подсчет времени выполнения
    run = True # Блокировка выполнения
)

[2023-12-14 18:07:50] Формирование нейросетевой архитектуры для получения оценок по нейросетевым признакам (текстовая модальность) …

— Время выполнения: 0.279 сек. —

Загрузка весов нейросетевой модели для получения оценок по нейросетевым признакам

  • _b5.text_model_nn_ - Нейросетевая модель tf.keras.Model для получения оценок по нейросетевым признакам

[11]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг

url = _b5.weights_for_big5_['text']['fi']['nn']['sberdisk']

res_load_text_model_weights_nn_fi = _b5.load_text_model_weights_nn(
    url = url, # Полный путь к файлу с весами нейросетевой модели
    force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
    out = True, # Отображение
    runtime = True, # Подсчет времени выполнения
    run = True # Блокировка выполнения
)

[2023-12-14 18:07:50] Загрузка весов нейросетевой модели для получения оценок по нейросетевым признакам (текстовая модальность) …

[2023-12-14 18:07:51] Загрузка файла “weights_2023-07-03_15-01-08.h5” 100.0% …

— Время выполнения: 0.337 сек. —

Формирование нейросетевой архитектуры модели для получения оценок персональных качеств

  • _b5.text_model_b5_ - Нейросетевая модель tf.keras.Model для получения оценок персональных качеств

[12]:
res_load_text_model_b5 = _b5.load_text_model_b5(
    show_summary = False, # Отображение сформированной нейросетевой архитектуры модели
    out = True, # Отображение
    runtime = True, # Подсчет времени выполнения
    run = True # Блокировка выполнения
)

[2023-12-14 18:07:51] Формирование нейросетевой архитектуры модели для получения оценок персональных качеств (текстовая модальность) …

— Время выполнения: 0.015 сек. —

Загрузка весов нейросетевой модели для получения оценок персональных качеств

  • _b5.text_model_b5_ - Нейросетевая модель tf.keras.Model для получения оценок персональных качеств

[13]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг

url = _b5.weights_for_big5_['text']['fi']['b5']['sberdisk']

res_load_text_model_weights_b5 = _b5.load_text_model_weights_b5(
    url = url,
    force_reload = False, # Принудительная загрузка файла с весами нейросетевой модели из сети
    out = True, # Отображение
    runtime = True, # Подсчет времени выполнения
    run = True # Блокировка выполнения
)

[2023-12-14 18:07:51] Загрузка весов нейросетевой модели для получения оценок персональных качеств (текстовая модальность) …

[2023-12-14 18:07:51] Загрузка файла “ft_fi_2023-12-09_14-25-13.h5”

— Время выполнения: 0.163 сек. —

Получение прогнозов (текстовая модальность)

  • _b5.df_files_ - DataFrame с данными

  • _b5.df_accuracy_ - DataFrame с результатами вычисления точности

[14]:
# Настройки ядра
_b5.path_to_dataset_ = 'E:/Databases/FirstImpressionsV2/test' # Директория набора данных
# Директории не входящие в выборку
_b5.ignore_dirs_ = []
# Названия ключей для DataFrame набора данных
_b5.keys_dataset_ = ['Path', 'Openness', 'Conscientiousness', 'Extraversion', 'Agreeableness', 'Non-Neuroticism']
_b5.ext_ = ['.mp4'] # Расширения искомых файлов
_b5.path_to_logs_ = './logs' # Директория для сохранения LOG файлов

# Полный путь к файлу с верными предсказаниями для подсчета точности
url_accuracy = _b5.true_traits_['fi']['sberdisk']

res_get_text_union_predictions = _b5.get_text_union_predictions(
    depth = 1,         # Глубина иерархии для получения видеоданных
    recursive = False, # Рекурсивный поиск данных
    asr = True,        # Распознавание речи
    lang = 'en',       # Выбор языка
    accuracy = True,   # Вычисление точности
    url_accuracy = url_accuracy,
    logs = True,       # При необходимости формировать LOG файл
    out = True,        # Отображение
    runtime = True,    # Подсчет времени выполнения
    run = True         # Блокировка выполнения
)

[2023-12-14 19:00:14] Извлечение признаков (экспертных и нейросетевых) из текста …

[2023-12-14 19:00:15] Получение прогнозов и вычисление точности (текстовая модальность) …

    2000 из 2000 (100.0%) … test80_25_Q4wOgixh7E.004.mp4 …

Path Openness Conscientiousness Extraversion Agreeableness Non-Neuroticism
ID
1 E:\Databases\FirstImpressionsV2\test\test80_01... 0.624434 0.588915 0.53729 0.601771 0.587032
2 E:\Databases\FirstImpressionsV2\test\test80_01... 0.518305 0.405696 0.440837 0.486431 0.42919
3 E:\Databases\FirstImpressionsV2\test\test80_01... 0.516165 0.482939 0.419187 0.520959 0.46346
4 E:\Databases\FirstImpressionsV2\test\test80_01... 0.653522 0.645953 0.5613 0.63864 0.635908
5 E:\Databases\FirstImpressionsV2\test\test80_01... 0.672823 0.563164 0.597474 0.618239 0.627377
6 E:\Databases\FirstImpressionsV2\test\test80_01... 0.571563 0.49441 0.477624 0.548336 0.509708
7 E:\Databases\FirstImpressionsV2\test\test80_01... 0.579048 0.590844 0.470888 0.580203 0.545247
8 E:\Databases\FirstImpressionsV2\test\test80_01... 0.547369 0.540064 0.441378 0.55407 0.52564
9 E:\Databases\FirstImpressionsV2\test\test80_01... 0.630611 0.546466 0.548925 0.592785 0.576801
10 E:\Databases\FirstImpressionsV2\test\test80_01... 0.643665 0.650126 0.561841 0.63202 0.636658
11 E:\Databases\FirstImpressionsV2\test\test80_01... 0.610431 0.509742 0.532337 0.563182 0.548405
12 E:\Databases\FirstImpressionsV2\test\test80_01... 0.501841 0.438787 0.408134 0.493867 0.433236
13 E:\Databases\FirstImpressionsV2\test\test80_01... 0.516751 0.521908 0.412392 0.535759 0.475492
14 E:\Databases\FirstImpressionsV2\test\test80_01... 0.625826 0.595756 0.545166 0.608196 0.601571
15 E:\Databases\FirstImpressionsV2\test\test80_01... 0.506065 0.466968 0.428299 0.497129 0.451425
16 E:\Databases\FirstImpressionsV2\test\test80_01... 0.638552 0.564402 0.561068 0.599493 0.594701
17 E:\Databases\FirstImpressionsV2\test\test80_01... 0.51764 0.588128 0.392461 0.569938 0.512308
18 E:\Databases\FirstImpressionsV2\test\test80_01... 0.581101 0.516556 0.489761 0.557651 0.521073
19 E:\Databases\FirstImpressionsV2\test\test80_01... 0.545621 0.467661 0.46827 0.518607 0.478676
20 E:\Databases\FirstImpressionsV2\test\test80_01... 0.619155 0.529129 0.535892 0.58141 0.571938
21 E:\Databases\FirstImpressionsV2\test\test80_01... 0.58491 0.489063 0.500084 0.538159 0.525135
22 E:\Databases\FirstImpressionsV2\test\test80_01... 0.504319 0.449576 0.427531 0.488319 0.441239
23 E:\Databases\FirstImpressionsV2\test\test80_01... 0.587255 0.591969 0.50329 0.578679 0.566444
24 E:\Databases\FirstImpressionsV2\test\test80_01... 0.6448 0.58204 0.558367 0.61345 0.60149
25 E:\Databases\FirstImpressionsV2\test\test80_01... 0.575514 0.517498 0.481397 0.548056 0.514953
26 E:\Databases\FirstImpressionsV2\test\test80_01... 0.561977 0.594428 0.456222 0.562595 0.536081
27 E:\Databases\FirstImpressionsV2\test\test80_01... 0.522762 0.468697 0.426084 0.510566 0.451157
28 E:\Databases\FirstImpressionsV2\test\test80_01... 0.642535 0.538425 0.564254 0.602641 0.595872
29 E:\Databases\FirstImpressionsV2\test\test80_01... 0.615789 0.54139 0.522493 0.585496 0.570682
30 E:\Databases\FirstImpressionsV2\test\test80_01... 0.620333 0.522955 0.543902 0.569043 0.559107

[2023-12-14 19:00:16] Точность по отдельным персональным качествам личности человека …

Openness Conscientiousness Extraversion Agreeableness Non-Neuroticism Mean
Metrics
MAE 0.1097 0.114 0.115 0.1019 0.1154 0.1112
Accuracy 0.8903 0.886 0.885 0.8981 0.8846 0.8888

[2023-12-14 19:00:16] Средняя средних абсолютных ошибок: 0.1112, средняя точность: 0.8888 …

Лог файлы успешно сохранены …

— Время выполнения: 3131.846 сек. —