Комментарии 19
Лет 20 назад была такая библиотека DirectIA компании MASA Group, разработавшей игру Conflict Zone. Суть была в чём: в игре она наделяла NPC эмоциями, и, в зависимости от своих эмоций: страх, ярость, и прочее, NPC выбирал тактику действий: напасть, убежать, и так далее. Причём, для ускорения расчётов, чем дальше от игрока находился NPC, тем его эмоции были проще. Сам я с этой библиотекой не работал - просто когда-то читал описание. Насколько я понял, происходил следующий цикл расчётов: на основании соотношения сил, истории недавних потерь - своих и чужих, вычислялся вектор эмоций, затем, на основе вектора эмоций, как-то вычислялся алгоритм поведения, после чего он выполнялся.
Так что в принципе идея интересная.
Либо я криворукий, либо голосование неформатно отображалось и боксы съехали - короче проголосовал за вариант ниже того, который хотел.
Кажется, стоит результат обсудить с группой психологов. Буквально на прошлой неделе обсуждали эмоции и чувства, например, есть такая штука, оказывается, как ложные чувства, например, чувство долга - это бы стоило учитывать. Так же любовь - сложный комплекс чувств и эмоций, никак не базовый. Ну и т.д., а так вообще штука полезная, как раз сетовал своему психологу на отсутствие нормальной систематизации )
"ложные чувства" - вспомнил, как нам в армии большой командир на общем собрании говорил: домой не пишите, что кушать хочется, это ЛОЖНОЕ чувство, пишите, что пищи мало, но она калорийная.
Считает ли человек свою эмоцию истинной или ложной - это процесс осознания, анализа. Но в целом чувство долга не может быть всегда ложным. Для кого-то долг - дело чести, т.е. одна из самых сильных, искренних эмоций.
Кого-то это чувство тяготит, поэтому он его избегает (противники кредитов и кредитных карт, например).
Все мы понимаем, что эмоции - это не только определенная комбинация возбуждений и угнетений отдельных частей мозга или нервной системы (то есть не только код или набор весов нашей нейронной сети), а еще и химия - то есть гормоны.
Давайте попросим LLM выудить из глубин своей памяти, как и с какими гормонами может быть связана отдельная эмоция?
Было бы интересно пойти обратным путём, т. е. составить список гормонов, дать каждому из них параметр интенсивности и меняя значения этих параметров просить LLM отражать это в поведении персонажа. Потому что эмоции сами по себе - это неделимый конструкт, и попытки их дифференцировать всегда упираются в неоднозначные определения. Гормоны же предельно чётко разделены, и их уже смело можно использовать именно как элементы датафрейма. А самое интересное - мы в этом случае никак искусственно не ограничиваем языковую модель в проявлении эмоций, она сама решает, какую эмоцию проявить.
Адреналин способен вызывать как чувство страха, так и чувство ярости. Что именно будет испытывать человек - решает уже мозг. Гормоны - это лишь одна из составляющих эмоций.
Возможно, адреналин при страхе и при ярости - это просто один из гормонов, который у них общий. Так-то, вообще говоря, какие гормоны, когда и в каких количествах выделять - это тоже решает мозг. Без команды мозга ни один гормон не выделится.
страх и ярость не обязательно противоположности. Для нейронных сетей не столь важно как называются конкретные нейромедиаторы. Вполне достаточно определить процентное соотношение базовых психологических эмоций на разные входные данные. Мне кажется, что для многих задач эти проценты можно определить автоматически, путем стохастического имитационного моделирования и генетических алгоритмов.
Гормоны производятся в организме не сами по себе, сигнал даёт нервная система, причём в зависимости от того, в каком контексте, с учётом предыдущего опыта, была оценена ситуация.
Одно и то же задание при разных условиях или формулировках может вызвать у разработчика от чувства скуки/уныния до чувства интереса или азарта, а то и чувство ужаса, что не справится и не пройдёт испытательный срок...
И, как написали ниже, после выброса гормона он может породить дальше различающиеся эмоции, в том числе, при включении механизма осознания своих чувств...
Конечно, было бы неплохо имитировать ещё и нервную систему, которая даёт сигнал к выделению гормонов. Но на первых порах этот этап можно и пропустить - просто представить, что сигнал от нервной системы получен, и внести эти показатели (якобы полученные от нервной системы) в качестве параметров у каждого гормона.
Я считаю, что определённый коктейль гормонов вызывает по-умолчанию определённый спектр эмоций. Естественно, имеется механизм обратной связи, позволяющий потом этот коктейль корректировать. Но в лабораторных условиях эту обратную связь можно и не делать.
Идея не плохая. Агент искусственного интеллекта неизбежно должен иметь контур эмоциональной оценки для правильного самообучения. Что такое хорошо, что такое плохо заложено в психику людей на генетическом уровне и нам надо создать и вшить эту подсистему в само ядро обучения нейронных сетей.
Что такое хорошо, что такое плохо заложено в психику людей на генетическом уровне
Психолог Хеллингер в книге "И в середине тебе станет легко" как раз исследует эти вопросы понятия добра и зла, совести человека, и приходит к выводу, что в одном и том же человеке противоборствует несколько таких систем. Потому что, например, то что хорошо для тебя - может быть плохо для твоих детей.
Вряд ли получится однозначную систему построить.
Спасибо! Очень интересная работа! Давно ждал появление работ этого направления. Теорий эмоций много, мне близка информационная теория П.В. Симонова, в которой рассматриваются эмоции через связь с вероятностью удовлетворения потребностей
Было бы классно обучить распознавать эмоции по сообщениям на основе такого датасета.
Можете попробовать собрать датасет для обучения примерно так:
Выбери в словарь python "Эмоция": [список слов, фраз, речевых оборотов, которые обычно использует человек, когда испытывает такую эмоцию]. // Список эмоций
Получится очень прямолинейно, поэтому можно задать уточняющий промпт:
"Дай более тонкий список примеров, когда сама эмоция прямо не упоминается, но следует из контекста"
emotion_dict = {
'Агрессия': [
"Смотри, как бы не пожалел...", # Угроза без прямого выражения злости
"Твои слова — ошибка, которую ты запомнишь", # Скрытая угроза
"Мне плевать, что ты там думаешь", # Пренебрежение + враждебность
"Ты сам напросился", # Подразумевает готовность к конфликту
"Твои доводы — пустой звук" # Демонстрация превосходства
],
'Азарт': [
"Ещё один бросок — и всё изменится!", # Риск ради результата
"Сердце бьётся чаще... Нужно продолжать", # Физиологический признак азарта
"Ты уверен, что это предел?", # Провокация на новые действия
"Потери? Это временно!", # Игнорирование риска
"Кто не рискует, тот не пьёт шампанское" # Ироничная мотивация
],
'Алчность': [
"Оставь сдачу себе... Мне хватит", # Подчеркивание избытка
"Подарки? Лучше наличные", # Скрытая жадность
"Этого хватит ненадолго...", # Недовольство даже при наличии ресурсов
"Делиться? Сначала подумаю", # Вынужденная щедрость
"Время — деньги. Не трать моё" # Овеществление нематериального
],
'Амбициозность': [
"Планы? Они уже устарели", # Стремление к большему
"Не сравнивай меня с другими", # Требование уникальности
"Ошибки — это ступени, а не повод остановиться", # Мотивация через преодоление
"Ты видишь потолок? Я — нет", # Отказ от границ
"Победа любит настойчивых" # Убеждённость в успехе
],
'Антипатия': [
"Случайно" проигнорировал сообщение, # Скрытое отторжение
"Твоё мнение — не мой приоритет", # Демонстративное пренебрежение
"Какая разница, что он там скажет", # Дистанцирование
"Не трать моё время на пустые разговоры", # Обесценивание чужих слов
"Мы слишком разные для диалога" # Закрытость к общению
],
'Апатия': [
"Можно подумать, это что-то изменит...", # Фатализм
"Да какая разница, что выбрать", # Безразличие к выбору
"И так сойдёт", # Отказ от усилий
"Не хочу даже спорить", # Пассивность
"Всё равно всё плохо" # Обобщённый негатив
],
'Безжалостность': [
"Слабые сами виноваты, что проигрывают", # Оправдание жестокости
"Слезы? Это не аргумент", # Игнорирование эмоций других
"Жизнь — игра. Кто-то должен проиграть", # Деконтекстуализация насилия
"Не путай моё равнодушие с человечностью", # Прямое заявление о бесчеловечности
"Помощь? Это замедляет прогресс" # Подмена морали на логику
],
'Беззаботность': [
"Главное — не последствия, а процесс!", # Акцент на момент
"Завтра само решится!", # Отказ от планирования
"Бери от жизни всё, пока можешь", # Эксплуатация текущего момента
"Не парься, это же не навсегда", # Минимизация серьёзности
"Смех продлевает жизнь. Или наоборот?" # Ироничное пренебрежение рисками
]
}
О! Как интересно! И как знакомо. :)
Сам несколько лет назад как раз таким занимался, правда "вручную" без нейронок.
Вот знал бы, что вы такое сделаете - схалявил :)
А хотите узнать в каком контексте это (может быть) будет использовано (для понимания ИИ и себя)?
http://samlib.ru/j/jurewich_d_p/ei.shtml
почти в конце есть и приложение по данному направлению исследований.
Кстати, ещё есть небольшая группа экзотических чувств типа "испанский стыд", "кенопсия" и т. п.
Спасибо за интерес к теме!
Цифровизация чувств: упаковываем эмоции в датафрейм или базу данных