image

Изучая прикладную психологию в составе группы энтузиастов, была выявлена интересная закономерность. Нам показалось, что обнаруженные связи между словами очевидны. Но теперь, спустя много лет, я начинаю понимать, что в эту сторону люди, почему-то, не смотрят.

Подтверждением тому могут стать недавно появившиеся «стихи» от нейронных сетей Google в стиле спичрайтеров мэра одного большого города.

Примеры такой «поэзии»:

«То был единственный путь.
Это был единственный путь.
Был ее черед моргнуть.
Было трудно сказать».

«Он надолго замолчал.
Он смолк на мгновение.
На секунду стало тихо.
Было темно и холодно.
Возникла пауза.
Теперь мой черед».

И, если перефразировать слова того самого мэра, то «Сегодня нейронные сети не каждый может программировать. Вернее, программировать могут не только лишь все – мало кто может это делать.»

Для того, чтобы робот сочинял более адекватные стихи или понимал глубокий смысл уже написанных, следует вложить в него систему ассоциирования. Для каждого исходного слова существует «первый порядок» или «явный ряд» ассоциаций. Его для удобства можно разбить на несколько групп:

Визуальные: Солнце -> Апельсин
Аудиальные: Конь -> Цокот, сюда же относятся омонимы, рифмы, аллитерации, устоявшиеся выражения (Пуп -> Земли)
Кинестетические: Дождь -> Мокро
Логические: Санкт-Петербург -> Окно в Европу

Этот ряд очевиден и легко читается человеком. Подтверждением тому служит игра в ассоциации.

Но такой простой подход не может позволить роботу проникнуть глубоко в суть текста. Зато робо-поэтам от Google же, стоит им воспользоваться, чтобы уменьшить зашкаливающую абстрактность их «произведений».

Однако, каждая ассоциация первого порядка может быть представлена как исходное слово, к которому так же можно построить свой ряд ассоциаций. Если сложить несколько рядов «ассоциаций к ассоциациям» для одного и того же слова и вычесть из него «явный ряд», то получится «второй ряд ассоциаций» к исходному слову. Этот второй и все последующие ряды ассоциаций трудно разгадываемы сознанием человека, тогда как подсознание легко обнаруживает закономерности и «читает между строк». Образовывается ситуация, которую можно описать анекдотом:

— Сколько будет 0,5+1/2?
— Нутром чую что литр, а доказать не могу.

В итоге текст, построенный на рядах скрытых ассоциаций, может казаться совершенно нелогичным и бессвязным, однако очень точно передавать мысли и эмоции человека. Если учитывать эту нехитрую закономерность при машинном анализе текстов, то станет возможным определять что именно хотел сказать автор, но не сказал явно (но его сдало подсознание). Похожую методику (не объясняя механики) используют психологи и психиатры, например, в тесте Роршаха или тесте на ассоциации.

Дабы не быть голословным, приведу пример построения второго ряда ассоциаций для слова «Любовь»:

image

Очевидно, что из 256 ассоциаций второго порядка (16х16) серьёзная доля уже использована в текстах поп-песен, большинство из которых про ту самую «любовь», что и является лучшим доказательством вышеописанной теории.

Считаю, что за этой простой с виду парадигмой семантического анализа кроется сложный путь к созданию полноценного программного сознания (которое часто называют громким термином ИИ).
Поделиться с друзьями
-->

Комментарии (13)


  1. napa3um
    28.06.2016 16:41
    +4

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


    1. Shurovej
      29.06.2016 10:37

      Принцип очевидный и примитивный. С этого и начинается пост.
      Но судя по «стихам» от робота, этот принцип не был учтён строителями ИИ.
      И та ахинея, которую выдают за поэзию, могла легко стать на порядок адекватнее.

      Что же касается «прописных истин создания ИИ», то я считаю, что не все из них истинны.
      В противном случае, ИИ уже давно бы функционировал.


      1. napa3um
        29.06.2016 12:07

        Может был бы, может не был. Может, вы смотрели дилетантские поделки, может, в реализации принципов есть сложности — можно рассуждать бесконечно. Ваши безадресные «поучения» не несут никакой ценности. Но вы могли бы хотя бы попытаться реализовать в рабочей модели то, о чём пишите, чтобы убедиться в правильности своих идей или узнать _настоящие_ сложности в их реализации. Заставлять других проверять свои идеи вы могли бы, наверное, с фамилией Перельман или Хокинг, а так это всё выглядит как кухонный разговор о том, как страной управлять. Настолько же самонадеянно и безрезультатно.


      1. napa3um
        29.06.2016 12:25

        Если решите реализовывать, рекомендую взглянуть на OWL и RDF при выборе формата хранения ваших «ассоциаций», чтобы графовыми операциями удобно было извлекать ассоциации нужного класса и уровня вложенности. А вот с наполнением словаря уже возникнут трудности (и самое настоящее научное творчество), если вы не собираетесь вручную 150 000 слов по графу расставлять (ну, или насколько богатый лексикон вы хотите привить своему ИИ). Для генерации текста попробуйте для начала марковские цепи.


  1. michael_vostrikov
    28.06.2016 19:42

    Для того, чтобы робот сочинял более адекватные стихи или понимал глубокий смысл уже написанных, следует вложить в него систему ассоциирования

    Для того, чтобы робот понимал смысл (не обязательно глубокий), нужно, чтобы он мог распознавать окружающие объекты и связи между ними, а также восстанавливать их в воображении в оперативной памяти по описанию. От того, что он скажет «word1 у меня ассоциируется с word2», он не станет больше понимать значение этих слов.


    1. EyeGem
      29.06.2016 09:59

      Зато можно сделать генератор небольших рассказов-сценариев по шаблонам, но с высокой комбинаторикой и вариативностью суб-сценариев (шагов) и кросс-сценариев (параллельных арок), после чего скормить получаемые сценарии подобной ассоциативной системе с подбором рифмы и архивированием смыслов в минимальные наборы слов. И тем самым скрыть аляповатости исходных генерированных сценариев за плотным слогом =)


      1. michael_vostrikov
        29.06.2016 12:28

        Не все ассоциации к словам подходят по смыслу к другим словам в предложении. А еще бывает, что правильное ударение определяется из контекста, например в слове «замок». Неправильно определили исходное слово — получили неправильные ассоциации.


    1. Shurovej
      29.06.2016 10:57

      В прикладных задачах нет разницы между «пониманием» и «имитацией понимания».

      Представим себе сервис, который описывает в нескольких словах о чём книга
      и может подбирать книги по произвольному описанию предоставленного юзером.
      Будь то учебник по физике или роман о любви, дружбе и предательстве.
      Конечному пользователю важен результат, а «понимал» робот, «читая» книгу
      или просто «сделал вид» что понял но выдал адекватный ответ — не имеет значения.

      Тем не менее, должен согласиться с замечанием.
      За кавычками и оговорками мне стоило бы следить внимательнее.


  1. Peresveta
    29.06.2016 08:08

    Мысль статьи интересна.
    Но вопрос — как быть с разными ассоциативными рядами людей разных культур или даже людей разного образования?
    Ведь одно и тоже слово (понятие) у разных людей может соотноситься с совершенно разными понятиями.
    И ассоциация второго порядка не будет воспринята другим человеком, как ведущая с «основе».


    1. Shurovej
      29.06.2016 11:22

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

      Описанное Вами является проблемой лишь при попытке создать «идеальную» или «всеобъемлющую» базу ассоциаций.
      И этот же нюанс является инструментом для создания нескольких отличающихся друг от друга баз ассоциаций.
      Так в «русском» варианте слово «собака» ассоциируется со словом «друг», а в «корейском» со словом «еда».
      (стоит учесть, что у покусанного собакой человека это слово ассоциируется с «опасностью», не зависимо от его культурной принадлежности)

      Ответ на вопрос «как быть?» можно сформулировать так:
      Под каждую задачу, следует подбирать отдельную «пачку» ассоциаций.


  1. Ermit
    29.06.2016 09:59

    Для слова / понятия «любовь» Вы нашли 256 ассоциаций.
    У меня два вопроса: сколько времени у Вас на это ушло?
    Сколько времени у Вас уйдет на 40 000 понятий?
    Это по моему представлению средняя языковая лексическая база.


    1. Shurovej
      29.06.2016 10:26

      Сначала ответы:
      1. На поиск 256 ассоциаций ушло около 4х часов.
      2. Вопрос не совсем корректен. Поясню ниже.

      Ручным поиском заниматься действительно нет смысла — времени уйдёт слишком много.
      На это есть банки ассоциаций и машинное обучение.


  1. elingur
    29.06.2016 22:36

    созданию полноценного программного сознания

    Сознание — это не совокупность ассоциаций разного порядка. Это раз. А во вторых, существует много методов автоматического поиска разного рода ассоциативной лексики. Посмотрите классику: LDA,LSA, pLSA.