Архетип, полученный из древнегреческого языка, относится к универсальному символу, который служит исходным образцом для более конкретных символов. Интерпретация архетипов варьируется в зависимости от области исследования. Например, в психологии архетипами считаются модели, существующие в психике человека. С другой стороны, в философии архетипы представляют собой идеальные формы конкретных объектов. Философ Платон из Древней Греции ввел понятие чистых и совершенных форм, также известных как Формы или архетипы, которые являются общими для многих объектов в реальном мире.

Начало изучению архетипов в психологии положил Карл Густав Юнг. Этот швейцарский психиатр прославился своими идеями об экстраверсии и интроверсии, а также своим увлечением религией, мифами, мистицизмом и алхимией. Юнг считал, что архетипы уходят своими корнями в коллективное бессознательное.

Книга Юнга «Эйон» описывает несколько основных архетипов, в том числе Самость. Для Юнга Самость представляет собой объединение сознательной и бессознательной жизни человека, достигаемое посредством индивидуации. Мандала, символ в форме круга, важный в индуистских и буддийских практиках, лучше всего представляет Атман. Психолог Дэвид Фонтана отмечает в своей книге, что медитация с мандалами может помочь человеку получить доступ к своему бессознательному и облегчить процесс индивидуации.

Трикстеры архетипичны, потому что они появляются в разных культурах, но выражаются с оттенком конкретной культуры. Например, в индейской традиции койот фигурирует как фигура обманщика в мифах этой культуры, тогда как обманщик Локи — из скандинавской мифологии — является богом-оборотнем и любителем озорства. В английском фольклоре Пак, играющий ключевую роль в шекспировском Сне в летнюю ночь, – это обманщик, принявший облик феи. А еще у нас есть шут, которого обычно приравнивают к трикстеру. Тем не менее, они совершенно разные по своей природе.

По стандартным определениям, шут — это тот, кто одевается в яркую одежду и развлекает средневековый двор шутками, насмешками и шутками. С другой стороны, трикстер — мифический персонаж, известный своим озорным и игривым характером. Они часто используют уловки, чтобы преподать урок другим с помощью хитрых средств.

Юнг считал, что трикстер — это древний и фундаментальный архетип. В своей работе «О психологии трикстера» он анализирует этот архетип и отмечает, что он появляется в мифах со всего мира. Хотя характеристики и представления трикстера сильно различаются, Юнг отмечает, что кролик воплощает этот архетип в африканских и афроамериканских рассказах, тогда как лиса представляет его в фольклоре догонов, Шотландии, Болгарии, России, Франции и Финляндии.

Многие местные традиции считали клоунов и обманщиков необходимыми для любого контакта со священным. Люди не могли молиться, пока не засмеялись, потому что смех открывает и освобождает от жестких предубеждений. Люди должны были иметь трикстеров в самых священных церемониях, чтобы они не забыли, что священное приходит через огорчение, переворачивание, удивление. Трикстер в большинстве туземных традиций необходим для созидания, для рождения. -Берд Гиббенс — профессор английского языка Арканзасского университета в Литл-Роке.

У индейцев пуэбло Нью-Мексико есть священные клоуны, также называемые клоунами пуэбло, которые служат их обманщиками. Эти клоуны, известные как Кошаре, несут основную ответственность за распространение радости и смеха, которые, как считается, обладают целительной силой. Они используют свое остроумие, чтобы подчеркнуть абсурдность различных ситуаций, но также имеют и более темную сторону, так как насмешки иногда могут заставить людей чувствовать себя некомфортно. Во время праздников кошары носят полосатую раскраску и остроконечные шляпы, как средневековые придворные шуты.

Роль шутов, клоунов и шутов в традиционных сказках и баснях выходит далеко за рамки простого развлечения, однако современное общество, похоже, упустило из виду этот факт. Эти фигуры почитались как духовные наставники и проводники для молодежи, предлагающие утешение и утешение тем, кто в горе и беде. Их мудрые слова имеют большой вес и пользуются большим уважением. Интересно, что, несмотря на их предполагаемую власть и влияние, эти фигуры исторически имели более низкий статус, чем даже самый низкий слуга, что создает любопытный парадокс.

Связан ли юмор с нашей способностью распознавать несовершенства и трагедии?

По мнению аналитических психологов, существует 4 теории юмора и архетипа трикстера:

  1. Теория несоответствия: можно проследить до исторических личностей, таких как Кант, Кьеркегор, и даже до комментариев, сделанных Аристотелем в Риторике.
  2. Теория превосходства. Согласно Томасу Гоббсу, юмор возникает из-за «внезапной славы», которую мы ощущаем, когда признаем свое превосходство над другими.
  3. Теория облегчения. Зигмунд Фрейд и Герберт Спенсер рассматривали юмор как способ высвободить или сохранить энергию, порожденную подавлением.
  4. Теория игры: попытка классифицировать юмор как разновидность игры.

Иррациональность, бессознательное — злейший враг когнитивной науки в попытках создания искусственного интеллекта. Механизм «если… то» не имеет смысла. В «юморе» мы можем найти всю палитру эмоций: сексуальные, агрессивные, саркастические, ненависть… все это может быть юмором. – Арво Крикманн, 2009 г.

Набор данных Jester:

Ссылка здесь.

База данных шутов, размещенная Калифорнийским университетом в Беркли, содержит 4,1 миллиона непрерывных оценок (от -10,00 до +10,00) 100 шуток от 73 421 пользователя, собранных в период с апреля 1999 г. по май 2003 г. в следующем формате:

  1. 3 Файлы данных содержат анонимные рейтинги 73 421 пользователя.
  2. Файлы данных имеют формат .zip, после распаковки они имеют формат Excel (.xls).
  3. Рейтинги представляют собой реальные значения в диапазоне от -10,00 до +10,00 (значение «99» соответствует «ноль» = «не оценено»).
  4. Одна строка на пользователя
  5. В первом столбце указано количество шуток, оцененных этим пользователем. В следующих 100 столбцах указаны рейтинги шуток от 01 до 100.
  6. Подматрица, включающая только столбцы {5, 7, 8, 13, 15, 16, 17, 18, 19, 20}, является плотной. Почти все пользователи оценили эти шутки (см. обсуждение «универсальных запросов» в статье выше).
User ID 
1  2  3 4  ...     96     97     98     99    100\n",
            "0            1  -7.82   8.79  -9.66  -8.16  ...  99.00  -5.63  99.00  99.00  99.00\n",
            "1            2   4.08  -0.29   6.36   4.37  ...  -2.14   3.06   0.34  -4.32   1.07\n",
            "2            3  99.00  99.00  99.00  99.00  ...  99.00  99.00  99.00  99.00  99.00\n",
            "3            4  99.00   8.35  99.00  99.00  ...  99.00  99.00  99.00  99.00  99.00\n",
            "4            5   8.50   4.61  -4.17  -5.39  ...   1.55   3.11   6.55   1.80   1.60\n",
            "...        ...    ...    ...    ...    ...  ...    ...    ...    ...    ...    ...\n",
            "24978    24979   0.44   7.43   9.08   2.33  ...   9.03   6.55   8.69   8.79   7.43\n",
            "24979    24980   9.13  -8.16   8.59   9.08  ...  -8.20  -7.23  -8.59   9.13   8.45\n",
            "24980    24981  99.00  99.00  99.00  99.00  ...  99.00  99.00  99.00  99.00  99.00\n",
            "24981    24982  99.00  99.00  99.00  99.00  ...  99.00  99.00  99.00  99.00  99.00\n",
            "24982    24983   2.43   2.67  -3.98   4.27  ...  99.00  99.00  99.00  99.00  99.00\n",

Фрейм данных будет переформатирован путем создания столбцов для идентификатора пользователя, идентификатора шутки и оценок вместо столбца для каждой шутки:

            "   User ID Joke ID  Rating\n",
            "0        1       1   -7.82\n",
            "1        2       1    4.08\n",
            "2        3       1   99.00\n",
            "3        4       1   99.00\n",
            "4        5       1    8.50\n"

Наконец, кадр данных передается в набор данных-сюрприз, который является необходимым типом данных для построения системы рекомендаций с использованием библиотеки Surprise.

"source": [
        "reader = Reader(rating_scale=(-10, 10))\n",
        "\n",
        "# columns must be passed into this method in the order: user (raw) ids, item (raw) ids, ratings\n",
        "data = Dataset.load_from_df(df[['User ID', 'Joke ID', 'Rating']], reader)"
      ],
      "execution_count": null,
      "outputs": []

В качестве алгоритма для этой задачи выбран k ближайших соседей со средними значениями. Этот подход к совместной фильтрации использует средние оценки каждого пользователя, чтобы найти k наиболее похожих пользователей и рекомендует элементы на основе их предпочтений. Совместная фильтрация направлена ​​на выявление пользователей со схожими вкусами и предпочтениями и предложение элементов, которые были положительно оценены этими похожими пользователями.

Для логической переменной user-based установлено значение false, чтобы вычислять сходство между элементами, а не пользователями. Были реализованы два варианта меры подобия: среднеквадратическая разница и косинус, которые вычисляют среднеквадратичную разницу и косинусное сходство, соответственно, между всеми парами элементов. Минимальная поддержка была предоставлена ​​в качестве опции для обеспечения того, чтобы минимальное количество обычных пользователей для подобия не было равно нулю, с указанными значениями 3, 4 и 5. Для оценки производительности в качестве показателей используются среднеквадратическая ошибка и средняя абсолютная ошибка.

# determining the optimal algorithm parameters with GridSearchCV\n",
        "sim_options = {\n",
        "    \"name\": [\"msd\", \"cosine\"],\n",
        "    \"min_support\": [3, 4, 5],\n",
        "    \"user_based\": [False],\n",
        "}\n",
        "\n",
        "param_grid = {\"sim_options\": sim_options}\n",
        "\n",
        "gs = GridSearchCV(KNNWithMeans, param_grid, measures=[\"rmse\", \"mae\"], cv=5)\n",
        "gs.fit(data)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ux2mN2smU4I3",
        "outputId": "3123069f-57de-4365-828e-b21e6f1e4059"
      },
      "source": [
        "print(gs.best_score[\"rmse\"])\n",
        "print(gs.best_params[\"rmse\"])"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "4.1838836032075175\n",
            "{'sim_options': {'name': 'cosine', 'min_support': 3, 'user_based': False}}\n"
          ],
          "name": "stdout"

Согласно полученным результатам, лучшим набором параметров для рекомендателя является использование косинусного сходства в качестве меры подобия с минимальной поддержкой 3 на основе среднеквадратичной ошибки. Затем рекомендатель обучается с использованием этих параметров.

 uid = 1  # raw user id (as in the ratings file)  iid = 1  # raw item id (as in the ratings file)# get a prediction for specific users and items pred = algo.predict(uid, iid, r_ui=-7.82, verbose=True)      


user: 1          item: 1          r_ui = -7.82   est = -3.43   {'actual_k': 40, 'was_impossible': False} 

In [ ]:
 uid = 24983  # raw user id (as in the ratings file)  iid = 87     # raw item id (as in the ratings file)# get a prediction for specific users and items pred = algo.predict(uid, iid, r_ui=7.23, verbose=True)      


user: 24983      item: 87         r_ui = 7.23   est = 4.93   {'actual_k': 40, 'was_impossible': False}

Обученный алгоритм прогнозирует оценки для пользователя 1 и шутки 1 как -3,43, тогда как фактическая оценка составляет -7,82. Точно так же для пользователя 24983 и шутки 87 прогнозируемый рейтинг составляет 4,93, тогда как фактический рейтинг равен 7,23.

Судя по двум приведенным примерам, прогнозы алгоритма кажутся соответствующими реальным рейтингам, но числовые значения не совсем точны. Чтобы улучшить результаты рекомендаций, шутки можно ранжировать по ошибкам, чтобы определить, какие шутки имеют самые высокие ошибки предсказания.

При анализе прогнозов алгоритма становится очевидным, что рейтинги, сгенерированные рекомендателями, близко соответствуют фактическим рейтингам лучших прогнозов с незначительной ошибкой 0,000008. Однако в худших прогнозах ошибка достигает максимума 18,83. С помощью этого алгоритма можно генерировать рекомендации для каждого пользователя.

Может ли машинное обучение выйти за рамки алгоритмов рекомендаций?

Несмотря на достижения в области искусственного интеллекта и машинного обучения, многие эксперты считают, что создание оригинальных шуток по-прежнему выходит за рамки возможностей машин. По мнению аналитических психологов, чувство юмора — это уникальная человеческая черта, которая развивается благодаря культурному и социальному опыту. Хотя машины могут научиться распознавать закономерности и генерировать ответы на основе данных, им не хватает креативности и эмоционального понимания, необходимых для создания по-настоящему смешных шуток. Хотя рекомендательные алгоритмы могут помочь машинам генерировать шутки на основе существующих шаблонов и предпочтений, они не могут полностью воспроизвести нюансы юмора, которые делают его таким уникальным, человеческим. Таким образом, вполне вероятно, что люди останутся основным источником комедии в обозримом будущем.

Однажды монах спросил Учителя: «Есть ли у собаки природа Будды?» На что Мастер ответил: «Гав!» - Карл Юнг (1939)