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

Понимание в контексте ИИ


Понимание — одна из важных способностей интеллекта. Важность концепции понимания для искусственного интеллекта прослеживается в идеях Алана Тьюринга, Марвина Мински и Рэя Курцвейла.

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

С практической стороны, реализация понимания в ИИ дает возможности:

— обучать ИИ массивом контента, созданным человеком для человека;
— взаимодействовать с ИИ на естественном языке;
— получать от ИИ выводы, которые основываются на понимание «как у человека» (ответ «42» не всегда то, что нам надо).

Поэтому мы приняли концепцию Понимания, как основную в нашем подходе к разработке ИИ.

Основные подходы к разработке ИИ — «сверху-вниз» и «снизу-вверх»


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

Что касается общих тенденций в разработке ИИ, то сейчас превалирует подход «снизу-вверх». Вероятно математический аппарат, используемый в искусственных нейронных сетях, более понятен ученым, разработчикам, энтузиастам.

Мы используем первый подход — «сверху-вниз». Обычно это направление разработки ИИ осложняется отсутствием общей, более-менее стройной, непротиворечивой и всеобъемлющей теории психических процессов человека.

Я собрал команду для работы над такой теорией в 2003 году, тогда еще для целей не связанных ни с искусственным интеллектом, ни в целом с информационными технологиями. Группа академических и практикующих психологов и психотерапевтов поставила перед собой задачу упорядочить имеющиеся в психологии теоретические концепции и практические методы. Пришлось критически пересмотреть всё имеющееся научное знание по этой тематике. В проекте на различных этапах приняло участие более 30 человек.

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

Результаты разработки были опробованы в нескольких продуктовых решениях. В частности мы моделировали поведение интернет пользователей при выборе новостной статьи, при выборе результата из поисковой выдачи, а также распределяли пользователей на группы потребителей разных видов товаров исходя из смоделированных потребностей. В качестве входящих данных для моделирования мы использовали историю посещения сайтов каждым отдельным пользователем. К слову этих данных достаточно, что бы рассчитать около ста характеристик человека, которыми оперирует психолог — экстраверсия, компульсивность и т.д. Пол также является психологической характеристикой, но не для всех стран. Например, для Швеции точность определения составляет максимум 65%, в то время как для стран восточной Европы мы можем определить пол пользователя на основании истории просмотренных страниц с точностью 95%.

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

Также отмечу, что подход нашей команды подразумевает универсальность разрабатываемого ИИ, в отличие от специализированных ИИ, ориентированных на решение однотипных задач.

Хранение и обработка знаний в ИИ


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

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

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

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

Формирование новых видов связи происходит в связи с новым видом деятельности и в связи с появлением новообразований в психике (2) Пример нового вида деятельности — у профессионального дизайнера цвет это не только характеристика, но еще и профессиональный инструмент, что формирует отдельный вид связи. Пример новообразования в психике — абстрактное мышление.

В первую очередь мы выделили два этапа в формировании психики — довербальный, когда формируются структуры, для обозначения которых не используются слова (с рождения до 2-х лет), и вербальный, когда в качестве идентификатора используется слово. Разделение на указанные этапы условное, так как в каждом из них также есть свои отдельные периоды формирования структур.

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

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

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

В процессе создания семантической сети мы выявили несколько интересных особенностей:

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

2. С каждым новообразованием структура знаний перестраивается. Новый возрастной период приносит необходимость значительно изменять структуру связей между элементами.

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

Получение новых знаний и формирование ответов на вопросы


Алгоритмы, реализующие операции мышления, связанные с пониманием новых знаний, опираются на структуру семантической сети.

Вначале текст обрабатывается парсером, разработанным в Стенфордском университете. Затем мы проверяем наличие соответствующих вершин и связей и при необходимости формируем новые. При формировании ответа или уточняющего вопроса алгоритмы ориентируются на имеющиеся данные в семантической сети. Упрощенно работу алгоритмов можно продемонстрировать следующим примером. Прочитав текст «Белые медведи охотятся на тюленей», ИИ, допустим уже зная каждый из этих феноменов по отдельности, выстраивает в семантической сети специальную связь, которая фиксирует эксклюзивность — именно белые медведи охотятся на тюленей. Получив затем вопрос «Бурые медведи охотятся на тюленей?» ИИ ответит «Нет», потому что в семантической сети не будет структуры, соответствующей всем заданным условиям «Бурый медведь охотится на тюленей».

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

В сентябре мы завершили моделирование когнитивных процессов семилетнего ребенка. Пока у нас нет ресурсов запрограммировать всю систему, поэтому временно ограничились семантической сетью и несколькими видами алгоритмов. Если алгоритмы на данном уровне можно обсчитать «вручную», то с семантической сетью так не получиться — она содержит около 10 000 вершин и 40 000 связей. После того, как мы закончим программирование всех алгоритмов, данное решение будет достаточно мощной когнитивной системой для работы с текстовой информацией. Наша система может обеспечить понимание новых знаний, описанных на естественном языке, и оперирование имеющимися на таком же уровне, как у человека соответствующего возраста.

Следующие этапы разработки


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

Fish is an animal. Fish has elongated body. Fish has flattened body. Fish has head, jaws, gills, tail, silver scales. Fish lives in water. Fish can swim, sleep, eat, feel pain, fear. Fish does not speak. If fish is out of water then it dies. Fish uses gills for breathing. Fish uses fins for swimming. Salmon, trout, shark are fish. Cat, bear, coyote, alligator, seal, pelican hunt fish.

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

Кроме того мы планируем разработать алгоритмы для самостоятельного формирования искусственным интеллектом новых видов связи. Это придаст пластичности семантической сети и некоторую «автономность» в обучении ИИ от команды экспертов.

Применение технологии ИИ


Разработанное решение способно понимать простой текст, например, большинство статей из Simple English Wikipedia могут быть поняты системой. Также наше решение может отвечать на вопросы, касающиеся имеющихся знаний и задавать уточняющие вопросы если обнаружит противоречие. Из ограничений на данном этапе — тексты и вопросы должны быть построены грамматически верно. Кроме того система должна быть обучена нашими экспертами абстрактным понятиям в новой предметной области. При таком подходе к обучению разработанное решение неотличимо в диалоге от реального человека.

Из особенностей нашего подхода к обучению — нет необходимости в большом объеме обучающих данных. Новым абстрактным понятиям и новым знаниям в определенной предметной области, система обучается однократным прочтением текста.

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

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

Собственных ресурсов уже не хватает, поэтому рассматриваем партнерство с другими компаниями. Мы можем полностью обеспечивать технологическую часть для продуктов или платформ, а со стороны партнеров ожидаем увидеть продуктовую экспертизу и ресурсы для реализации в коде. Также команда будет рада разработчикам, которым близки изложенные в статье идеи.

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

1. Гуссерль Э. Логические исследования./ Пер. с нем. Э. А. Бернштейна под ред. С. Л. Франка. Новая редакция Р. А. Громова. — М.: Академический проект, 2011.
2. Пиаже Ж. Речь и мышление ребёнка. — М., 1994.
Поделиться с друзьями
-->

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


  1. daiver19
    02.11.2016 19:24
    +2

    Возможно, конечно, это прорыв, но что-то терзают меня смутные сомнения.

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

    Ну и главное, при чем вообще психика и какие-то модели человеческого сознания к тому, о чем речь во второй части статьи?


    1. InFortis
      02.11.2016 20:13
      +1

      Насчет прорыва время покажет.

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

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

      Касательно «хороших результатах на данных, аналогичных тренировочным». На примере из текста про Рыбу. После него можно сказать, что «Плотва – это рыба». А затем задать вопрос «Где живет плотва?». ИИ ответит «В воде». Этого не было в «тренировочных данных»?

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


      1. daiver19
        02.11.2016 20:27
        +2

        А потом предложение «Плотва — это лошадь Геральта». И сеть сломалась? Контекст так же важен, как и связи.


        1. InFortis
          02.11.2016 20:47
          +1

          ))))

          Если перед этим обучить ИИ сюжету «Ведьмака» и не сказать ничего о лошади главного героя, то после предложенной Вами реплики на вопрос, «Что ест плотва?» буде ответ «Червяков», а на вопрос «Что ест Плотва?» — «Сено». Имена собственные ИИ уже понимает.

          В том то и дело, что «сеть» и алгоритмы, если они построена по образу человеческих, не «ломаются». Если Вы напишите в своей реплике Плотву с маленькой буквы, то ИИ задаст уточняющий вопрос «Плотва это лошадь или рыба?».

          Абсолютно согласен, что контекст важен. Пока реализуем его понимание на уровне семи лет.


          1. daiver19
            02.11.2016 20:51

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


            1. InFortis
              02.11.2016 21:30
              +1

              Вы правы в том, что омонимы – проблема. Сейчас решаем ее, оговаривая эти случаи при обучении и присваивая второму из слов-омонимов некоторое расширение («девичья коса», «речная коса»). Таким образом избегаем одинаковых вершин. Проблема есть, но я бы ее не преувеличивал.

              В семь лет понимает много, но это еще не интеллект взрослого человека. Нет абстрактного мышления и не строит сам новые виды связи.

              А вот идея, что наш подход к разработке ИИ не позволит сделать решение, различающее контекст, не понятна. Вы же различаете. В чем вы видите проблему?


              1. daiver19
                02.11.2016 21:33
                +1

                Ну я же понятия не имею, что вы там сделали :) Я всего лишь сделал выводы из того, что описано в статье. Описанная семантическая сеть на вид не очень справится с контекстом.

                Кстати, я не знаком с алгоритмами работы Watson, но мне кажется там что-то подобное (по крайней мере на вопросы в Jeopardy он хорошо так отвечал). Just sayin'


                1. InFortis
                  02.11.2016 22:01

                  Да, ВАТСОН отвечает на вопросы. Уверен, он может ответить на большее число вопросов, чем наш семилетка. Но делает это совсем по-другому. Там, как раз, нейронные сети. По-моему. И уж ему контекст не под силу именно из-за применяемых методов решения задачи.

                  Для меня вопрос контекста очень важен. Если можно, подскажите, что в описанном нами решении заставляет сомневаться, что понимание контекста может быть реализовано?


                  1. daiver19
                    02.11.2016 22:16

                    Не уверен, что там НС. НС вообще плоховато приспособлены для ответов на вопросы. По крайней мере, он еще в 2011 отвечал в Jeopardy, при том, что deep learning тогда не особо был развит.

                    Я не знаю всех деталей реализации, мое грубое представление — это некий граф. Мне просто неясно, где в такой схеме быть контексту, если вы просто ходите по нужным связям.


                    1. InFortis
                      03.11.2016 12:49

                      Против графа работает то, что для ответа Ватсон обрабатывает большой массив истории сети. Если я не перепутал, то в какой-то статье так описывали.


              1. zirix
                03.11.2016 00:39

                В семь лет понимает много, но это еще не интеллект взрослого человека. Нет абстрактного мышления и не строит сам новые виды связи.

                Я в 8 лет имел в своем «портфолио» несколько несложных игр в т.ч. мультиплеер. И подобным может похвастаться половина хабра.
                Я могу ошибаться, но без абстрактного мышления игру не напишешь.


                1. InFortis
                  03.11.2016 15:37

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

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

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


            1. Hellsy22
              02.11.2016 22:29

              В устной речи имена не выделяются. А в некоторых языках даже на письме имена собственные не выделяются и как-то дети семи лет прекрасно понимают о чем или о ком речь.


              1. InFortis
                03.11.2016 13:45

                Мы, пока, работаем с письменной речью. Проблема омонимов существует. Если я напишу здесь «Я вижу длинную косу», то как можно определить, о какой именно косе идет речь? Если же это в предложение встретиться в абзаце, то станет понятно из предыдущих предложений. Так наш ИИ тоже понимает.


        1. nikitastaf1996
          02.11.2016 20:48

          А тут мы впихиваем данные по Ведьмаку и бам.У нас две Плотвы.


    1. MiXaiL27
      03.11.2016 06:32

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


      1. InFortis
        03.11.2016 13:46

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

        Есть исключение. Клинику Билли Миллигана не можем объяснить в рамках нынешнего аппарата.


    1. fivehouse
      03.11.2016 09:54

      Возможно, конечно, это прорыв, но что-то терзают меня смутные сомнения.
      Правильно Вас терзают сомнения. Судя по описанию я вижу несколько очень существенных ошибок. Авторы демонстрируют существенное непонимание понимания. :) Да и семантические сети изъезжены были вдоль-и-поперек лет 30 и более тому назад. Семантические сети дали некоторые результаты. Но результаты были более, чем скромные.


      1. InFortis
        03.11.2016 13:47

        Возможно. Но я могу подтвердить свое непонимание или соглашусь с ошибками, если Вы приведете мои конкретные высказывания.

        Да, уже после того, как мы это сделали, выяснили, что Мински об этом пути говорил 30 лет назад. Семантические сети применяются, например, в экспертных системах. В ряде задач эффекта не дали. Но каким образом это говорит о нашем непонимании или о наших ошибках?


        1. fivehouse
          03.11.2016 16:21

          Первая задача, к решению которой мы приступили — разработка семантической сети, для хранения знаний в том виде, в котором они хранятся в психике человека. При этом структура семантической сети должна обеспечить не только хранения данных, но и эффективную работу алгоритмов повторяющих когнитивные и другие процессы.
          1) Утверждение о связи семантических сетей с человеческой психикой совершенно ошибочное. Почитайте что нибудь современное про работу нейронов и найдите там что нибудь от семантической сети. Я не призывают вас копировать нейрон, на текущем этапе это почти не возможно. Но тщательное описание работы нейрона и нейронных ансамблей дает некоторое представление что на самом деле происходит в мозгу и в психике. Это очень важно понять безотносительно к смыслам и семантикам. Это все вы выкинули. Это главная и фундаментальная ошибка.
          2) Весьма интеллектуальные и смышленные животные понятия не имеют ни о словах, ни о семантике; не имеют никаких четких алгоритмов в голове. Тем не мение они умудряются показывать иногда очень достойные интеллектуальные результаты.


          1. InFortis
            03.11.2016 19:54

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

            Искусственные нейронные сети — это отдельное направление в разработке ИИ. Мне и коллегам, чтобы осуществлять психотерапевтический процесс, совсем не надо понимать, как работает нейрон.

            2) Вторая сигнальная система, речь — особенность человека, как вида. Мы работаем с психикой человека.

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


  1. zirix
    02.11.2016 20:09

    Насколько я понял:
    У вас нет механизма мышления/рассуждения.
    Есть только механизм генерации семантической сети из утверждений составленных по определенному шаблону.

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

    Причем вы выбрали один из самых простых языков — английский. Попробуйте построить семантическую сеть для русского языка на произвольном тексте.

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


    1. InFortis
      02.11.2016 20:26

      Ну, что-то Вы точно поняли верно)))

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

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

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

      Также функционирует и когнитивные процессы человека, которые мы постарались максимально отразить в наших алгоритмах и структуре сети.

      Английский выбрали не из-за простоты, но это приятный бонус. С русским работа по алгоритмам была бы раза в два более трудоемкая. Плюс на русском нет хорошего парсера.

      Не очень понял, что именно существует, но все знакомые нам решения не похожи на наше по задачам и функционалу. Если у Вас есть ссылка — буду благодарен. Обязательно изучу и готов подтвердить здесь, если тождественное решение обнаружится.


      1. zirix
        02.11.2016 23:42

        Под шаблонами я имел ввиду конструкции вида:
        X это Y
        X имеет Y
        X глагол/действие Y
        что общего у X и Y?
        Если A, то B.

        и их комбинации.

        Проблема в том что мы не по шаблонам понимаем речь. В противном случае мы не смогли бы понять фразу где переставлены местами слова или вообще написана с нарушением всех правил.
        Например: «играть мальчик машинка». Вы прекрасно поняли кто с чем играет.

        Вот еще пример который уже затрагивает тему мышления: «девочка мальчик играть с туфля длинный каблук красный».
        Вы ведь ответите на вопрос кто носит туфли и какого они цвета?

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

        Также понимание естественной речи тесно переплетается с абстрактным мышлением/рассуждением.
        Вот пример:
        1)Линкольн был президентом Федерации.
        2)Президент Федерации был добрым человеком.
        3)Добрый человек общался с президентом Федерации в саду.
        4)Человек, который общался в саду был рожден в 1809 году и был добрым.
        5)Добрый рожденный в 1809 году человек был президентом Федерации.
        Вопросы:
        1)Был ли президент Федерации в саду?
        2)Был ли Линкольн добрым человеком?
        3)В каком году добрый человек общался с президентом Федерации?
        4)В каком году родился человек, встретившийся в саду с Линкольном?
        5)В каком году родился Линкольн?


        Вот здесь без мышления ответить на вопросы невозможно (если специально не затачивать систему на решение похожих задач). Там есть хитрость…
        Что такое мышление думаю интуитивно понятно, подробно раскрыть эту тему можно только в формате статьи.

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

        На счет примеров:
        У меня нет ссылок на похожие работы, они есть у CEO. По памяти:
        в 80-90е был сделан проект: геометрические фигуры на экране можно было размещать с использованием естественного языка.
        Можно было сказать:«поставь треугольник над квадратом», и программа делала это.
        Довольно продвинутая вещь для того времени, подход к парсингу текста похож на ваш.
        Попытался найти в гугле, но он замусорен темой ИИ. Извините.

        Ну и наша система может сойти за пример, у нас тоже семантические сети используются. Примеры выше это то, что ее спрашивали.


        1. InFortis
          03.11.2016 13:48

          Спасибо. Про шаблоны и мышление стало понятнее.

          «Играть мальчик машинка» простое высказывание. Наш обученный ИИ его поймет. А вот второй пример, с красной туфлей, увы, лишь частично. Слишком велика неопределенность. Красный каблук у туфли выделит. А вот кто играет – нет.

          Про проблему контекста планирую следующую статью. Насколько мне известно математики пытаются ее решить с помощью латентного размещения дирихле. Человек контекст определяет по маркерам присутствующим в ситуации (в тексте). Качественно выделить эти маркеры — отдельная задача. В рамках нашего подхода она решаема.

          Про Линкольна – это решение задачи. Он у нас такие решать пока не умеет. Но проблема только в том, что мы его этому не учили. С нынешним уровнем сети и алгоритмов ИИ способен решать подобные задачи. Но я еще подумаю над этим.


          1. dimm_ddr
            03.11.2016 13:56

            Ну кстати в примере с туфлей даже мне взрослому человеку не то чтобы очевидно кто и с чем играет. Контекста и информации не хватает.


      1. badbaters
        03.11.2016 14:16

        Добрый день. Заинтересовала ваша работа в области ИИ. Я всегда интересовался ИИ, психикой, сознанием, самоидентификацией личности т.д. Вам не кажется что современные подходы к созданию ИИ несколько неактуальны. Современные программные и аппаратные средства не предназначенны для ИИ. Как по мне нужно идти в направлении развитии самих инструментов для создания ИИ. Текущие языки программирования по моему, не подходят для развития полнофункционального ИИ, равно как и аппаратные средства — те же самые ЦП — не совсем оптимизированы под функционал Искусственного интеллекта. Конечно я не специалист в данной области, но все же мне кажется развитие ИИ современными средствами приведет лишь к более умным версиям Сири, Кортаны и Вотсонов, но до полноценного уровня ИИ они не смогут развится. Вы говорите о переносе опыта человеческого мышления, но при этом по сути используете не те инструменты.

        p/s/ Если шанс попасть не специалисту в данную область. Я студент учусь на технологии и предпринимательство, что как вы понимаете не совсем связанно с ИИ. Можно ли как то попасть в компанию занимающуюся развитием и изучением ИИ. У меня сейчас нет нужных навыков знаю, но все же данная сфера технологий очень волнует меня и хотелось бы принимать в ее развитии какое либо участие.


        1. InFortis
          03.11.2016 16:41

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

          Относительно инструментов, то для нашего способа реализации ИИ имеющихся инструментов — языков программирования и БД — достаточно.


  1. Wesha
    02.11.2016 21:21

    > копирования структур и процессов психики человека

    Только умоляю, ради всего святого, не копируйте «структуры и процессы» психики моей девушки!

    Ибо тогда третья мировая война неизбежна.


    1. InFortis
      02.11.2016 21:59

      ))))
      Я в психике своих клиентов наковырялся порядком. Не предвижу у Вашей девушки никаких особо разрушительных структур. То, что у нее есть парень, говорит о ее психическом здоровье.

      А личностные особенности мы пока оставляем вне нашей семантической сети. У нас абсолютно средний ребенок. Без каких-либо личностных отклонений, изюминок и пр. В общем, совсем не интересен. Даже скучен.

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


  1. napa3um
    02.11.2016 22:09

    Астрологи объявили год инвестирования в ИИ. Количество Женей Густманов удвоилось.


  1. ooptimum
    02.11.2016 23:02
    +2

    Ребята разрабатывают экспертную систему, Пролог, логическое программирование, вот это вот все. 70-е года прошлого века. Круг замыкается.

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


    1. InFortis
      03.11.2016 13:48

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

      Если строить ИИ путем копирования высшей нервной деятельности или, хотя бы, когнитивных процессов человека, то кто кроме нас, психологов, способен это сделать?


      1. ooptimum
        03.11.2016 17:34
        +1

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

        У меня сложилось впечатление, что Вы искренне считаете, что изобрели что-то новое. Жаль Вас огорчать, но нет, этой идее уже 100 лет в обед, причем практически в буквальном смысле. С точки зрения технологий возможно вы (команда) придумали что-то новое, но концептуально — нет. И об этом вам дают понять тут сразу несколько человек. Вам писали про чат-ботов и привели пример наиболее успешного на сегодняшний день — Женя Густман, прошедшего тест Тьюринга. В первом предложении моего сообщения выше содержится набор ключевых слов, которые Вы также можете погуглить. И кстати: «Оk Google...», — тоже вполне рабочий пример.

        То, что Вы психолог — как раз и объясняет, почему Вы не в курсе того, что было проделано сильно задолго до вас программистами. Но изобретать в очередной раз колесо не очень разумно. И мы вам подсказываем, что на этом пути уже набито достаточно шишек, и указываем, где их искать.

        В целом же, я желаю успехов вашему проекту. Может быть на новых технологических рельсах и получится то, что не получалось до сих пор уже в течение почти полувека.


        1. InFortis
          03.11.2016 20:34

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

          Про новое и про идею, которой 100 лет — уточните, пожалуйста, что именно вы имеете ввиду. Если вы про чат-ботов, то мы не приписываем себе их авторство. И кстати Женю вряд ли стоит считать наиболее успешным решением подобного рода, речь скорее о некотором мошенничестве.

          За последний абзац спасибо. Да, мы рассчитываем, что наши наработки позволят нам это сделать.


          1. ooptimum
            03.11.2016 22:54
            +1

            По первому вопросу — как я полагаю, вы считаете, что ваша система понимает полученные знания как человек. Ну, во-первых, это не так. Ваша программа ничего не понимает и уж тем более не как человек. Вот когда ваша жена сообщает вам, что завтра к вам в гости приедет ее мама, вы скорее всего понимаете, что вечер будет отличаться от обычного. Ваша программа на основании той же информации понять это не в состоянии. Любые понятия для нее тождественны, важны лишь взаимосвязи (графы) между этими понятиями. И эти графы являются фактической программой для получения ответа на заданные вопросы. Более того, вот вы приводите цитату: «понимание — это универсальная операция мышления...», а разве ваша программа мыслит? Разумеется нет. А нет ножек — нет и печенек. Во-вторых, вы просили пример, поэтому я приведу его еще раз — поиск Google, особенно голосовой, с проговариванием ответа вслух. Разумеется за исключением характеристики «понимать их, как человек».

            По первому вопросу — я не утверждал, что вы приписываете себе авторство чат-ботов. В своей статье вы преподносите ваше видение построения систем ИИ, вашу идею как некий прорыв, новое слово в области ИИ. Напрямую вы это, конечно, не пишете, но это легко читается между строк (кстати, ваша программа не поняла бы этого). Алан Тьюринг сформулировал свой знаменитый эмпирический тест 66 лет назад — 2/3 века уже прошло с тех пор. А логическое программирование — фактически то же самое, чем занимаетесь вы при разработке своей системы — начало развиваться в конце 60-х годов прошлого века. Но идеи умных машин витали в умах и до появления компьютеров — механические экспертные системы существовали еще в 19 веке.


            1. ooptimum
              03.11.2016 23:33

              Не могу редактировать сообщения, поэтому допишу тут. В начале второго абзаца опечатка, читать надо «по второму вопросу».

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


              1. InFortis
                04.11.2016 11:32

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

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

                По части «мышления» человека, то, мне кажется, вы несколько идеализируете этот процесс. Мы соответствующие операции воспроизводим для семилетки и не вижу никаких сложностей для 12-ти летнего. Если провести декомпозицию этого процесса, то выясняется, что он не очень сложен.

                Связь между нашим ИИ и голосовым интерфейсом есть, но очень поверхностная.

                У нас есть нечеткая логика, но у семилетки таких связей очень мало. Хотя вы, если я правильно понял, описали три вида связей, а в нашей семантической сети их сейчас 15.

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


                1. ooptimum
                  04.11.2016 11:57

                  Умеет ли ваша программа обобщать? Допустим, ваша программа знает о существовании рыб и птиц, более того, она знает, что и рыбы, и птицы — животные. Про птиц она дополнительно знает, что у них есть хвост, но про рыб дополнительно она не знает ничего. Если задать ей вопрос, есть ли у рыбы хвост, сможет ли она ответить на него?


                  1. InFortis
                    04.11.2016 12:22

                    Приятно отвечать на содержательные вопросы.

                    Описанный Вами пример относится именно к абстрактному мышлению. В частности к работе с аналогиями.

                    У среднего семилетки этот аппарат отсутствует. Он оперирует только предложенными ему абстрактными категориями. Формирования абстрактного мышления начинается в школе и, в среднем, его основные операции осваиваются к 12 годам.

                    Если для семилетки его алгоритмы нами описаны и частично запрограммированы, то абстрактное мышление у нас еще не в таком завершенном виде.


          1. zirix
            04.11.2016 00:26

            Приведите, пожалуйста, пример экспертной системы способной получать знания из текста,

            https://vimeo.com/144188093 смотреть с 2:15. Этой системе уже 5 лет. Прототип был сделан 15 лет назад.

            Вы изобретаете то, что было сделано еще в 80е. Никакого ноу-хау у вас нет. Более того уровень вышей технологии так в 80х и остался.

            Вот еще интересный проект https://habrahabr.ru/post/174237/ показывающий что выделить смысл из английского текста не такая уж большая проблема.

            Решение проблемы понимания естественного языка надо искать не в семантических сетях, они не больше чем способ хранения информации.


            1. InFortis
              04.11.2016 11:36

              Спасибо за ссылки.

              https://vimeo.com/144188093 – это клип. Т.е, вероятно, это описание того, как что-то должно работать. Причем, описание в общих фразах и общего функционала. Не ясно, на каких принципах решение построено и есть ли работающий прототип. К сожалению, не могу никак прокомментировать.

              https://habrahabr.ru/post/174237/ — за этим проектом мы следили. Было много обещаний. К работающему решению доступа нет. Опять же, что то сказать не могу.

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


              1. zirix
                04.11.2016 16:50

                Не ясно,… есть ли работающий прототип.

                Не ясно? Я прямым текстом сказал что есть не только прототип:)
                Этот проект год назад на выставке в Южной Корее демонстрировали.
                И при большом желании можно в Москве посмотреть.

                Диалог про линкольна, который я процитировал выше, сочинили для нее.

                Принципы? Тоже используется семантическая сеть, правда не классическая, а ее сильно усложненный аналог.
                Тоже есть обход графа/семантической сети для извлечения данных.

                Центральной частью системы является мышление. Настоящее и сложное.
                Она понимает русский язык. Причем семантика языка не в LEX описана, она использует мышление для разбора фразы. В результате легко понимает сложные фразы длинной в 30 слов и более.
                Это же мышление используется для обобщения данных и помогает учитывать контекст.
                Неоднозначности в фразах для нее не являются проблемой.

                Обработкой и извлечением данных из семантической сети занимаются не набор алгоритмов, а мышление.

                В прототипе есть распознавание голоса. Точнее распознавание звуков. Она не только речь понимает, но и любые звуки может услышать. Если ее обучить(дать книжку почитать) азбуке морзе, то можно будет кулаком по столу «настукивать» текст.

                Могу ответить на вопросы по этой системе…


  1. ZOXEXIVO
    03.11.2016 00:17
    +2

    Нереально задолбал за последние 3 месяца ИИ/Блокчейн/Бот — хайпы.
    Такое ощущение, что в ИТ принесло миллионы людей с чистым листом вместо мозгов и они решили спроектировать все заново. Становится страшно от того, что ждет индустрию, которую пиарят с каждого забора и завлекают новичков халявными деньгами.


    1. InFortis
      03.11.2016 13:49

      Работаем мы над этим много лет. Опубликовали, когда сделали. За трендами не очень следим. Меня тоже огорчает подобная «замусоренность» этой темы.


  1. lingvo
    03.11.2016 01:19

    Эх, а кто-бы подсказал, как разработать хороший ИИ для решения практических повседневных задач. Чтобы мог выполняться на линуксовом железе и желательно с исходниками…
    Например человек периодически делает какое-то определенное действие — например, включает и выключает свет. Выполнение/невыполнение этого действия, а также конкретный момент времени, зависит от определенных факторов — дня недели, времени суток, состояния погоды. В общем случае известно какие факторы влияют на принятие решения, но неизвестно каким именно образом они влияют на принятие решения конкретно этим человеком — это дело привычки. Было бы здорово придумать такой ИИ, которому бы на вход подавались эти факторы, затем он обучался бы на исторических данных за предыдущие месяцы и в конце концов мог бы предсказывать момент включения/отключения света с определенной долей вероятности. Желательно высокой. Это бы позволило автоматизировать рутинные операции без какого либо программирования — на основе поведения, живого человека и было бы супер применением.


    1. napa3um
      03.11.2016 05:11

      Попробуйте нейросети или байесовый классификатор. Или марковские цепи. Практически все алгоритмы машинного обучения о вашей задаче.


      1. dimm_ddr
        03.11.2016 14:00

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


        1. napa3um
          03.11.2016 14:04

          И эта проблема никак не решится «хорошим ИИ», об этом и речь. Магии не бывает.


          1. lingvo
            04.11.2016 00:51

            В этом и вопрос. Я могу найти негра, заплатить ему 50 рублей и обьяснить жестами, что мне от него нужно. И он будет включать свет, как задумано. Почему я не могу это сделать с ИИ?


            1. zirix
              04.11.2016 01:09

              Для этого нужен сильный ИИ, только он поймет сложные жесты и речь. Его еще никто не сделал, только пытаются.


            1. ooptimum
              04.11.2016 06:59

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


  1. worldmind
    03.11.2016 10:14

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

    Думаю, что для создания ИИ нам нужен искусственный мозг в искусственном теле, который будут растить как ребёнка.

    По идее вам надо демонстрационную версию своего проекта сделать, например, по приглашениям давать доступ поболтать с вашим ИИ в чате.

    Ну и немного оффтопа, я тут пишу книгу об устройстве сбалансированного и рационального общества, так вот один из вопросов который мне не до конца понятен, это как определить границу между ребёнком и взрослым, какие-то наброски я сделал, но пока окончательного понимания не сформировалось и спросить не знаю у кого, может подскажете куда копнуть?


    1. InFortis
      03.11.2016 13:49

      Пока с производительностью проблем нет. Для взрослого сеть будет примерно в 20 больше, до 200 000 вершин. Возможно возникнет необходимость оптимизации.

      По нашим наблюдениям ребенок уже рождается с некоторой «сетью». Помучились с этим изрядно. Считаем, что нам удалось эту проблему решить.

      За мысли спасибо. По вопросу границы между детьми и взрослыми я бы порекомендовал З. Фройда и Пиаже. Они наиболее фундаментальны. Если есть желание заморочиться, то Анна Фройд и Мелани Кляйн.


      1. worldmind
        03.11.2016 16:53

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


        1. InFortis
          03.11.2016 19:55

          Фрейд, все же, прошлый век. Более поздние работы психоаналитиков ближе к истине, как ее понимаю я.


          1. worldmind
            03.11.2016 20:36

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


            1. worldmind
              04.11.2016 11:32

              InFortis у товарища есть статья на эту тему, но он пока не нашёл где опубликоваться.


            1. InFortis
              04.11.2016 16:03

              Выдумал не он, он популяризировал. Ее на заре сильно критиковали, но доля истины в ней явно есть. Я и мои коллеги элементами этой теории пользуемся.


  1. wikipro
    03.11.2016 12:41

    Как по Вашему мнению, насколько имеет смысл хранить, данные в БД используя для записи (коротких статей-понятий) в БД движок SMW (Semantic MediaWiki)? Это позволит онлайн смотреть в вики «что думает ИИ». Насколько корректны и адекватны связи узлов (страниц). SMW помоему позволяет покрыть все потребности Вашего проекта:
    Вершина — страница, Графы — типы ссылок на страницы, каждой странице можно присвоить свойства, даже с типами,
    проблема с омонимами решается, на примере: Коса (причёска) и Коса (география), Коса (сельскохозяйственный инструмент) + страница многозначных терминов (страница контекста).
    Насколько вообще ресурсоёмко Ваше приложение — для «7 летнего ребёнка» нужен ПК- сервер с Ксеоном и 965Гб или кластер?


    1. InFortis
      03.11.2016 13:53

      Мой коллега занимался анализом имеющихся на рынке решений по семантическим сетям. По его словам SMW нам не подошел из-за невозможности отразить большинство из видов связей нашей семантической сети.

      Ресурсоемкость низкая, для нынешнего решения кластер не требуется.


  1. ArtificialLife
    03.11.2016 12:41

    Вы утверждаете, что Ваша модель ИИ универсальна. Значит ли это, что он может оперировать механическими щупальцами так же хорошо, как и понимать текст?


    1. InFortis
      03.11.2016 13:55

      Мы сейчас воссоздали структуры, связанные с когнитивными процессами. «Тела» у нас, пока, нет.

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

      А работать с сигналами от датчиков хорошо получается у нынешних решений на НС. Мы готовы состыковываться с подобными системами и решать свою часть задачи.


      1. ArtificialLife
        03.11.2016 14:17

        Я задал этот вопрос по тому, что есть мнение, что мозг вообще ВСЕ делает одинаково. Т.е. есть некоторый общий, универсальный алгоритм обработки данных который и текст распознает, и мышцами управляет.

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


        1. dimm_ddr
          03.11.2016 16:38

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


        1. InFortis
          03.11.2016 16:42

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

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


      1. wikipro
        03.11.2016 17:42

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


        1. InFortis
          03.11.2016 19:56

          В зависимости от решаемых продуктом задач пропорция может быть различной.

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

          В продукте для управления транспортным средством доля НС буде бОльшей.

          Для более развитОго решения предполагаю пропорция между этими двумя компонентами ИИ будет примерно одинаковой. Мы отталкиваемся от фактической структуры психики человека.


          1. wikipro
            03.11.2016 20:03

            А что будет/должно быть на верхнем уровне? Алгоритмы должны управлять нейросетью (мне кажется такой ИИ должен быть более предсказуем, понятен, мало кому нужны решения ИИ логику которых невозможно проверить) или Нейросеть использовать алгоритмы, возможно в результате эволюции куски нейросети выродятся в жёсткие алгоритмы (что то типа инстинктов у живых существ), например для математических вычислений ИИ необходим не кусок нейросети а, а dll-ка встроенная в нейросеть.


            1. InFortis
              04.11.2016 11:38

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

              Если какая-то задача с биг-дата или анализом данных датчиков, то решение на НС, а наши алгоритмы для интерфейса взаимодействия с человеком.

              Согласен с Вашим видением.


      1. Olorin111
        04.11.2016 11:39

        Напомнило различия между функционалом неокортекса и того, что эволюция наваяла до него.


  1. TurboPascal55
    03.11.2016 12:41

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


    1. InFortis
      03.11.2016 13:57

      Не соглашусь. Как раз скопировать можно.

      Вы, скорее, описываете путь воспроизведения филогенеза. Воссоздать условия, в которых формировалась так долго и такая сложная система как психика будет очень трудно. Мы же берем уже сформированное.

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

      Примерно тоже, только посложнее, мы делаем с высшей нервной деятельностью.

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

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


      1. napa3um
        03.11.2016 14:50

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


        1. InFortis
          03.11.2016 16:44

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

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

          Терпеть не могу описанный Вами формат статьи. Я пишу о фактической работе, проделанной коллективом.

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


    1. dimm_ddr
      03.11.2016 14:04

      И даже ваш вариант в выбранном вами пути будет неполноценным. Потому что человеческая психика развивалась одновременно с изменяющимся миром. То есть если предположить что повторить можно только повторив путь развития, то придется симулировать полностью все окружение.


      1. InFortis
        03.11.2016 19:57

        Можно, как делаем мы, не симулировать процесс развития, а копировать уже сформированные к определенному этапу структуры.


        1. napa3um
          04.11.2016 07:01

          О каких структурах речь? Как вы формализовали их, не опираясь на процесс развития в ваших формулировках?


          1. InFortis
            04.11.2016 12:09

            Мы не «выращиваем» наш ИИ. Т.е. мы не воспроизводим среду и следим, как меняется его структура. До 12 лет включительно, такой подход, по нашему мнению, менее эффективен, чем копирование готовых структур.

            Формализовали мы их в виде структур семантической сети и алгоритмов работы с ней.

            Например. К семи годам психика, для распознания феномена пользуется двумя видами связей. Одна обеспечивает однозначное узнавание по признаку. Это «кот» Z «говорит_мяу». Вторая – характеризует неуникальные признаки «кот» W «пушистый», «кот» W «домашнее_животное», «кот» W «охотится_мышей». Алгоритм в случае связи Z сразу актуализирует феномен. Если «мяу», то «кот». В случае связи W он проводил более сложные процедуры. Иногда может сказать, что это «кот», если признаков достаточно, иногда – что «возможно кот», а иногда предъявить вершины, имеющие такой же признак. «Кто охотится на мышей?» «Кот, лис, сова».

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


            1. napa3um
              04.11.2016 13:03

              Откуда скопировали?


              1. InFortis
                04.11.2016 16:04

                Копировали с фактической психики, реальных людей. Исследовали собственные структуры, проводили исследования с коллегами и не только, детьми различного возраста. Прорабатывали яркие описанные клинические случаи. Затем формировали усредненную модель, лишенную индивидуальных особенностей. Ее и брали за эталон.


                1. napa3um
                  04.11.2016 16:47

                  Т.е., полностью оригинальная модель психики, разработанная с нуля и не похожая ни на что известное ранее?


                  1. InFortis
                    04.11.2016 20:32

                    Нет, мы скорее компилировали и взаимосогласовывали наиболее релевантные теории. Фрейд, много других психоаналитиков, Юнг, Пиаже, Адлер и др. Но и наш вклад есть, собственные структуры и описание процессов.


                1. dimm_ddr
                  07.11.2016 10:50

                  Вы упомянули исследования. А может быть вы их даже опубликовали и готовы поделиться ссылками? Было бы очень интересно почитать. Если же не опубликовали — то может быть стоит об этом задуматься?


                  1. InFortis
                    07.11.2016 16:26

                    По предыдущим кейсам статьи есть. Ссылку на одну в комментах внизу привел.

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

                    Например, виды связей в семантической сети. Есть сторонние решения с более 30 видами связей. У нас, для семилетки, 15. Измени хоть одну из них, или добавь, и решение не будет работать, как психика человека этого возраста. И в этом проблема — как описать семантическую сеть, что бы получилась содержательная статья и при этом не дать четкий перечень видов связей.


                    1. napa3um
                      07.11.2016 18:35

                      Вы переоцениваете важность ваших наработок, мне кажется. Те, кому мог бы помочь список связей в вашей сети, справятся и без этого списка. А те, кому не поможет — не поможет и остальное описание. Самим фактом сокрытия ваших «ноу-хау» ценность им не создашь, но вот недоверие вызовешь. (Сам в детстве вместо программирования долгое время занимался методами шифровки EXE-шника — опыт пиратства не прошёл бесследно, оставив суеверный страх перед воровством интеллектуальной собственности, которую я даже ещё не успел создать.)


                      1. InFortis
                        07.11.2016 18:55

                        Может вы и правы. Но пока не поднимается рука открывать все, что сделал коллектив за несколько лет. Тем более, что бились мы над некоторыми вопросами изрядно и некоторые решения далеко не очевидны. Буду думать, как адекватно в этой ситуации лучше сделать.


  1. Dreamer_other
    03.11.2016 12:41

    Статья написана слишком общо, нехватает конкретики, но, кажется, что направление у вас верное, я сам размышлял над чем-то подобным. Есть несколько вопросов.
    Какая именно структура семантической сети?
    Как именно там хранятся конкретные факты?
    Могут ли храниться прямо противоречащие друг другу факты(нужно что-то типа весов достоверности)?
    Как собираетесь делать генерацию абстракций? Кажется, что это очень вычислительно трудная задача: нужно искать совпадающие структуры на графе, что есть NP-полная задача.
    Разум человека способен к рефлексии, то есть процесс собственного мышления может быть частью предметной области мышления. Думали ли вы над тем, что бы наделить подобным вашу разработку?


    1. InFortis
      03.11.2016 14:00

      Это обзорная статья. Отдельные темы будут раскрыты в следующих.

      Полностью описывать семантическую сеть не буду, там много ноу-хау. Но на большинство вопросов постараюсь ответить.

      Структура. Вершины — слова или выражения. Соединяются различными видами связей, их 15 для семилетки. Различия в видах определяется спецификой взаимодействия различных вершин в рамках различных задач.

      Факты хранятся в виде вершин, соединенных связями. Например, «Зеленый помидор не съедобен» — «Помидор» W «Зеленый» N «Съедобен». ИИ может ответить как на вопрос «Съедобен ли зеленый помидор?», так и на «Какой помидор не съедобен?», «Какие бывают помидоры?» и их варианты.

      Это несколько упрощенно. Наверное, будет отдельная статья по семантической сети. С картинками.

      Противоречащие факты для семилетки невозможны, он такой конфликт стремится разрешить. Для более взрослого ИИ – конечно. И, конечно, кроме весов достоверности других решений мы не видим.

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

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


      1. napa3um
        03.11.2016 14:13

        Что-то принципиально новое относительно фреймов Минского, изображенного на КДПВ? Мне кажется, что его теория исчерпывающе описывает структуру хранения разряженной (неполной) семантической сети, и проблема не в алгоритмах структуризации знаний, а, скорее, в эволюционно-психолого-социального обоснования «ядра» этой сети, на которое «наматываются» все остальные постепенно уточняемые данные о мире. А без эмуляции Матрицы со всей генетикой, культурой и экономикой человеков (или построения андроидного младенца с человекоподобной сенсорикой и моторикой и воспитывающегося в человеческом детском саду) такое ядро не построить.


        1. InFortis
          03.11.2016 16:45

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

          Но по части необходимости воспроизвести процесс роста я не согласен. Некоторые структуры мы копируем уже сформированными.


          1. napa3um
            04.11.2016 06:52

            Ну, я не сказал бы, что это ваш оригинальный подход. Он, скорее, Минского, именно об разряжённости и инкрементальности представления знаний его теория фреймов.


      1. Dreamer_other
        03.11.2016 22:54

        Спасибо за ответы. Буду ждать статью про вашу сементическую сеть. Вообще, желаю успехов, считаю, что сильный ИИ возможен именно на этом пути.


        1. InFortis
          04.11.2016 12:10

          Спасибо за поддержку.


  1. IvanovAA
    03.11.2016 14:17

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


    1. InFortis
      03.11.2016 16:58

      Я и мои коллеги видим полное отсутствие нечеткости в психике. Все мысли, действия и переживания детерминированы. Иногда можно не понимать причины или выводы, но случайных мыслей и переживаний нет. Разве что на уровне мутации, в пределах о, о5%.

      А сильным ИИ делает, по нашему мнению, возможность самому изменять свою структуру. Т.е. создавать новые виды связей. Это одно из направлений нашей работы.

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


      1. mars1983
        04.11.2016 18:05

        Если еще удалось прочитать, то очень рекомендую книгу А. С. Потапова «Искуственный интеллект и универсальное мышление». В ней очень хорошо описаны описаны основные подходы к реализации ИИ, их история и ограничения.

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


        1. InFortis
          04.11.2016 21:03

          За книгу спасибо, ознакомлюсь.

          Вы поняли почти все верно. Только не согласен с одним моментом. Появление такого новообразования как абстрактное мышление (к 12 годам), безусловно, изменит ландшафт семантической сети. Но не сделает ненужными имеющиеся сейчас структуры и алгоритмы. Над этим будут надстроены новые структуры. Так же было с переходом от 3 летки к 7-ми. Собственно это еще Пиаже говорил, что новообразования не отменяют уже сложившийся порядок, а лишь дополняют. Хотя точка зрения на отдельные предметы и явления после этого может смениться на противоположную.

          Касательно вероятностей, то они уже есть в сети и алгоритмах, просто используются очень редко, по возрасту.

          Сейчас противоречия только обнаруживаются и ИИ задает вопрос, какой из вариантов верен. Его и запоминает. Как и положено семилетнему ребенку.

          На следующем этапе, мы как раз над этим сейчас работаем, вопрос противоречий решается несколькими способами, в зависимости от ряда условий. Названия наши внутренние.

          Первый вариант – «сверхавторитет». Не важно, что там было и насколько сказанное им приводит к конфликтам в семантической сети. Эта информация принимается как истинная.

          Второй вариант – «рабочая версия истины». Принимается та, у которой, с отрывом, меньше конфликтов в сети. Остальные варианты помечаются особым образом и хранятся. В ряде случаев актуализируются.

          Третий – «неопределенность». Сохраняются все варианты, помеченные особым образом. В поиске информации на вопросы, требующие четкого ответа, не учитываются. В ряде процедур могут участвовать.

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


  1. AlexeyR
    03.11.2016 16:09

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


    1. InFortis
      03.11.2016 19:58

      Среди психологов, скорее, усредненное мнение – часть структур врожденная, часть формируется средой. Я думаю так же.

      Неоднозначности языка детерминированы. Про контекст и как мы решаем вопрос его распознавания, скорее всего, будет следующая статья.

      Без некоторого аппарата, использующего весовые коэффициенты, мы не обошлись. Но называть его статистическим неверно.


      1. AlexeyR
        03.11.2016 22:01

        Что врожденное, а что нет — вопрос интересный. Подробнее тут.


        1. InFortis
          04.11.2016 12:11

          Посмотрел. Многие вещи хрестоматийны, с ними не поспоришь. С некоторыми не согласен.


  1. slonoslon
    04.11.2016 14:28

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


    1. InFortis
      04.11.2016 16:06

      Спасибо за этот вопрос.

      Мне рекомендовали это из статьи убрать и говорить только о когнитивных процессах. Хотя они сплошь пронизаны влиянием потребностной сферы (и ее проявлениями – желаниями) и эмоциональной компонентой. Я несколько упростил описание. Желания и эмоции сложнее поддаются рефлексии и соответственно читателю труднее подтвердить или опровергнуть мысли в статье.

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

      Что касается эмоциональной сферы — не могу найти правильной точки рассмотрения для публикации на этом ресурсе. Буду думать.


      1. napa3um
        04.11.2016 16:38

        А на других ресурсах не публиковались? Научные работы, патенты?


        1. InFortis
          04.11.2016 21:23

          По поисковому решению статья на Academia — https://www.academia.edu/9464444/Personalized_Search_Human_Mental_Modelling_Approach

          По нашей работе над ИИ публиковать статьи начали сейчас, когда можем говорить предметно. На этом ресурсе планируем цикл статей. Здесь интересно дискутировать.

          Англоязычные ресурсы выбираю, буду благодарен за совет, где лучше публиковаться.