В поисках разума: можно ли сделать “универсальный” чат-бот с помощью нейронных сетей?

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

    Я очень хорошо помню свои ощущения от чтения классической ныне работы [1] где исследователи Google обучили seq2seq нейросеть генерировать ответы, используя огромную базу субтитров к фильмам. Возможности казались неограниченными:

    Ч: Меня зовут Джон, как меня зовут?
    Н: Джон
    Ч: Сколько ног у собаки?
    Н: Четыре
    Ч: Какого цвета небо?
    Н: Голубого
    Ч: Есть ли у кошки хвост?
    Н: Да
    Ч: Есть ли у кошки крылья?
    Н: Нет

    Диалоги переведены мной на русский. Ч — человек, Н- нейросеть

    Разве не удивительно, что сеть, без всяких правил, на базе очень зашумленных данных умеет правильно отвечать на подобные вопросы (которые не встречаются в самих данных в таких формулировках)? Но вскоре, у такого подхода обнаружился ряд проблем:

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

    В результате, большинство практических систем сейчас все еще базируется на заранее заготовленных ответах и ранжировании вариантов (с помощью правил и машинного обучения), а идея синтезировать ответы с нуля, по словам, отошла на второй план. Даже Google Smart Reply теперь использует ранжирование [2], хотя и с помощью нейросетей. Ранжирование же может быть эффективным и без понимания смысла — только за счет синтаксических преобразований и простых правил [7]. В наших опытах с ранжированием, даже если оно осуществляется нейросетью, поверхностный анализ доминирует, и только очень большие нейросети демонстрируют только некоторые зачатки общетематических знаний [8].

    Также прагматично работают все популярные чат-боты, виртуальные ассистенты и тому подобные программы. Siri и Cortana кажуться высокоинтеллектуальными системами только за счет того, что каждая тематика, которую они понимают, тщательно настраивается вручную [6], что позволяет добиться высокого качества ответов. Но, с другой стороны, по данным некоторых исследований, при всех огромных усилиях, вложенных компаниями в разработку этих помощников, реально их применяют только 13% пользователей телефонов (при этом когда-либо пробовали, но отказались от использования 46% [11] ). К тому же, это технологии известные, поставленные на поток, и заниматься ими скучно. Хочется чего-то потенциально более интеллектуального, но одновременно, не совсем оторванного от практики.

    Много лет назад, при чтении различных фантастических романов, мне понравилась идея “Планирующей машины”

    Отрывок из текста
    — «Информация», — простучал Стив на его клавишах. — «Стивен Райленд, оп. АВС–38440, О.Б.Опорто, оп. ХУЗ–99942, прибыли на… — быстрый взгляд на табличку с кодом, прикрепленную к корпусу телетайпа, — станцию 3, радиус 4–261, Рейкьявик, Исландия. Запрос. Какие следуют указания?».
    Через мгновение от Планирующей Машины пришел ответ — всего одна буква: «П». Это означало, что Машина приняла сообщение, поняла его и ввела в банк памяти. Приказы последуют.

    Зазвенел сигнал телетайпа. Райленд прочел сообщение:
    «Действия. Проследовать к поезду 667, путь 6, купе 93».

    Рифы космоса. Фредерик Пол и Джек Уильямсон, 1964

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

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

    Основным направлением для преодоления вышеописанных недостатков является снабжение нейросети внешней памятью. Память эта бывает в основном двух видов — дифференцируемая, например в [3] и неифференцируемая. Дифференцируемая память предполагает, что механизмы записи и чтения из памяти сами являются нейросетями и обучаются совместно. Для моделирования диалога в основном используется вариант, где обучается только механизм чтения, а механизм записи содержит жестко запрограммированные элементы (например n слотов памяти, и запись идет как в стек) [4]. Такой механизм сложно масштабировать, т.к. чтобы найти элемент в памяти для каждого элемента надо выполнить вычисления с помощью нейросети. Кроме того, содержимое такой памяти невозможно интерпретировать, редактировать вручную, оно может быть не точным, что существенно осложняет использование системы на практике.

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

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

    Применительно к нашей задаче, получается следующая схема:



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

    Кроме того, на практике возникнут и другие вопросы:

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

    Ясно, что ответить на все вопросы сразу не получится, поэтому самым правильным подходом является постепенная реализация.

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

    Пример (очень простой):
    Текст Запрос
    На склад поступило три подушки MatchOne({«type»:«склад»}).Add(«name»:«подушки»,«количество»:«3»)
    есть ли на складе подушки ? MatchOne({«type»:«склад»}).child({«имя»:«подушки»}).NotEmpty( )

    Обратите внимание, язык описывает как-бы процесс навигации по графу. Есть другой способ посмотреть на тоже самое: представьте, что каждый узел в графе это отдельный нейрон. На вход ему приходит некоторая информация — вектор активации входных нейронов и вектор истории предыдущих активаций. Нейрон работает как классификатор — он выбирает, по какому пути (из имеющихся соединений) пойдет процесс дальше. Это гораздо больше похоже на процесс, который реально может происходить в мозге человека [9,10], по крайней мере на некоторые из существующих теорий работы памяти.


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

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

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

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

    Для процесса диалога (что известно давно) очень важен контекст беседы. В использовании нашей системы контекст оказался абсолютно необходимым. Схема с одним большим хранилищем данных возлагает отслеживание полностью на “анализатор”. Для правил эта задача была непосильной, и, для нейросетей, как известно из других исследований, она тоже сложна. Явное представление краткосрочной внешней памяти является сейчас распространенным подходом в диалоговых системах на базе нейросетей [4], и к тому же позволяет показывать содержимое рабочего контекста пользователю, что весьма важно. Поэтому в схеме появился дополнительный блок, хранящий узлы графа, к которым происходило недавнее обращение (либо недавно созданные).

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

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

    Литература
    1. Vinyals, Oriol, and Quoc Le. «A neural conversational model.» arXiv preprint arXiv:1506.05869 (2015).
    2. Henderson, Matthew, et al. «Efficient Natural Language Response Suggestion for Smart Reply.» arXiv preprint arXiv:1705.00652 (2017).
    3. Kumar, Ankit, et al. «Ask me anything: Dynamic memory networks for natural language processing.» International Conference on Machine Learning. 2016.
    4. Chen, Yun-Nung, et al. «End-to-End Memory Networks with Knowledge Carryover for Multi-Turn Spoken Language Understanding.» INTERSPEECH. 2016.
    5. Liang, C., Berant, J., Le, Q., Forbus, K. D., & Lao, N.(2016). Neural symbolic machines: Learning semantic parsers on freebase with weak supervision. arXiv preprintarX iv:1611.0 0 020.
    6. Sarikaya, Ruhi, et al. «An overview of end-to-end language understanding and dialog management for personal digital assistants.» Spoken Language Technology Workshop (SLT), 2016 IEEE. IEEE, 2016.
    7. Ameixa, David, et al. «Luke, I am your father: dealing with out-of-domain requests by using movies subtitles.» International Conference on Intelligent Virtual Agents. Springer, Cham, 2014.
    8. Tarasov, D. S., and E. D. Izotova. «Common Sense Knowledge in Large Scale Neural Conversational Models.» International Conference on Neuroinformatics. Springer, Cham, 2017.
    9. Fuster,Joaquín M… «Network memory.» Trends in neurosciences 20.10 (1997): 451-459.
    10. Fuster, Joaquín M. «Cortex and memory: emergence of a new paradigm.» Cortex 21.11 (2009).
    11. Liao, S.-H. (2015). Awareness and Usage of Speech Technology. Masters thesis, Dept. Computer Science, University of Sheffield
    MeanoTek 28,63
    Разработка систем анализа и генерации текстов
    Поделиться публикацией
    Комментарии 34
    • 0
      Большое спасибо за интересную статью с переднего края работ по созданию ИИ.
      Но не нашел ответа на вынесенный в заголовок вопрос.

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

      Первая очередь системы ПОЭТ разработана и находится в эксплуатации с ноября 1977 года. Трудоемкость разработки математического обеспечения системы составляет 50 человеко-лет, а информационного обеспечения 15 — 20 человеко-лет.

      Попов Э. В. Общение с ЭВМ на естественном языке.— М.: Наука, 1982,— 360 C.


      Позвольте спросить: за сколько лет Вы рассчитываете закончить работу и сколько человеко-лет на это потратить?
      • 0
        Элиза это имитатор и есть.

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

        Но, что касается системы ПОЭТ. Не нашел никаких деталей. Но для интереса, загнал в простую нейронную сеть 4 сборника стихов. Получилось вот это:

        Кто весел, я весть! Все исчезло!
        Поставленым она освящена.
        И независимость от нищеты!
        Но так же вправду ты страшна…

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

        • 0
          > Элиза это имитатор и есть.
          > Я не думаю, что работу можно когда-либо закончить, тут бесконечный фронт для улучшения. Но сейчас есть рабочий прототип и довольно интересные результаты.


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

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

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

          > 50 человеко-лет это не наш масштаб пока, это работа 3.5 человек за 7 месяцев, в свободное от других дел время.

          Ниже я уже спросил другого участника этого обсуждения: не опасаетесь ли Вы, что раньше промежуточного финиша Вас обгонит, нпр., Гугл, который сейчас может потратить пару сотен или м.б. тысяч человеко-лет и закончить работу через год?

          Какие цели Вашей работы: Это хобби? (тогда никаких вопросов не возникает). Это научное исследование? Это коммерческий проект?

          > А самое интересное, что использованный алгоритм был, в принципе, известен как минимум в 1986.
          > Но, что касается системы ПОЭТ. Не нашел никаких деталей.


          В связи с этим возникает вопрос: Вы не изобретаете велосипед? Выяснилось, что не знаете о системе ПОЭТ, на которую было затрачено много человеко-лет и которая описана в книге, изданной лидирующим научным издательством. К слову сказать, эта система делалась не для сочинения стихов.

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

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

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

            Я прагматик. Мне важно, чтобы работало.

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

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

            Да и с поэзией, люди, которые этим занимаются, делают слепое тестирование — отгадайте, написано ли это стихотворение одним из известных поэтов или компьютером.

            В связи с этим возникает вопрос: Вы не изобретаете велосипед? Выяснилось, что не знаете о системе ПОЭТ, на которую было затрачено много человеко-лет и которая описана в книге, изданной лидирующим научным издательством


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

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


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

            Какие цели Вашей работы: Это хобби? (тогда никаких вопросов не возникает). Это научное исследование? Это коммерческий проект?


            Пока это эксперимент. Как побочный продукт, он приносит определенную выгоду. А там видно будет.

            Гугл, который сейчас может потратить пару сотен или м.б. тысяч человеко-лет и закончить работу через год?

            Поскольку они публикуют основные результаты, я буду их постепенно включать и применять. Чем больше они сделают, тем лучше.
            • 0
              > Да и с поэзией, люди, которые этим занимаются, делают слепое тестирование — отгадайте, написано ли это стихотворение одним из известных поэтов или компьютером.

              Такая постановка задачи выглядит некорректной. Эксперт на то и эксперт, чтобы знать, если не наизусть, то стилистические особенности и словари известных поэтов. Более правильная постановка будет: написано ли это стихотворение одним из поэтов (может не известным, может любителем, может графоманом) или компьютером? Ну и, конечно, слово «отгадайте» не подходит для серьезной экспертизы. Требуется обоснованное мотивированное решение, а не игра в угадайку. Последнее и компьютер может, подбрасывая монетку.

              > Пока это эксперимент.

              Для оценки результатов эксперимента требуются строго обоснованные критерии. А в коммерческом проекте, нпр., таких критериев не требуется. Так, несколько лет назад познакомился с одним опытным программистом, который много лет делал программы для астрофизики, а потом ради денег переключился на программы для составления гороскопов. Цинично считает, что занимается ерундой – но эта ерунда пользуется спросом. Я только хочу сказать, что если принять такой чисто коммерческий подход, то бот-имитатор вроде усложненной Элизы может оказаться коммерчески очень успешным. При том, что экспериментальная ценность от еще одной Элизы (в сетке можно найти много подобных Элиз) будет стремиться к нулю. И таким образом Ваше утверждение про прагматизм не согласуется с экспериментальным подходом:

              > Я прагматик. Мне важно, чтобы работало.

              И далее:

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

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

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

              Видимо, тут мой вопрос нечетко прозвучал. Дело не в том, заработал или не заработал ПОЭТ, а дело в том, что результаты огромной работы, прежде всего теоретические, были суммированы в толстой книге, изданной солидным издательством (учитывая тираж – это широко известно). Представляют ли сейчас ценность эти результаты?

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

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

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

                Это нормально. Для сложной задачи несколько косяков вначале это даже не проблема, это обычная обкатка. Плюс, не известно точно, возможно ему помогли утопиться.
                Дело не в том, заработал или не заработал ПОЭТ, а дело в том, что результаты огромной работы, прежде всего теоретические, были суммированы в толстой книге, изданной солидным издательством (учитывая тираж – это широко известно). Представляют ли сейчас ценность эти результаты?

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

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


                  Если вы знаете, куда сейчас можно приделать Элизу и получить за это деньги, поделитесь секретом. Простые вещи все сделаны уже. А сложные — на каждую мелкую тему делать отдельную Элизу, это как раз 50 человеко-лет и уйдет. А у меня их нет, мне нужно, чтобы одна система делала все.
                  • 0
                    Не трудно имитировать стиль и тем более словарь любого поэта


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

                    поэзия оценивается субъективно, рационализация субъективного ощущения ничего не даст.


                    Да. В соц.сетях, нпр., можно найти много лаконичных оценок: мне нравится/не нравится поэт Н. А для солидной литературоведческой статьи такая оценка будет явно недостаточной.

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


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

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


                    Она не позиционирована, как популярная
                    Общение с ЭВМ на естественном языке. Попов Э. В.— М.: Наука. Глав-
                    ная редакция физико-математической литературы, 1982,— 360 c.
                    Книга посвящена проблеме создания систем, предоставляющих челове-
                    ку возможность общаться с вычислительными машинами на естественном
                    языке (в частности, на русском). Излагается комплексный подход к проб-
                    леме общения, состоящий в исследовании данного процесса, разработке опи-
                    сывающих его моделей и реализации на их основе действующих систем.
                    Предложена модель, рассматривающая общение как процесс, в котором уча-
                    стники преследуют свои цели и выявляют цели собеседника. Описана мо-
                    дель участника общения, осуществляющая с помощью знаний о языке,
                    окружающем мире и участниках общения «понимание» входного текста, его
                    обработку и синтез выходного текста. Идеи, методы и алгоритмы, развитые
                    в книге, проиллюстрированы на примере действующей системы общения.
                    -Табл. 16, илл. 66, библ. 159 назв.

                    Эдуард Викторович Попов
                    ОБЩЕНИЕ С ЭВМ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ
                    (Серия: «Проблемы искусственного интеллекта»)
                    Редактор А. А. Некрасов
                    Техн. редактор И. Ш. Апселърод
                    Корректоры Г. С. Плетнева, Н. Б. Румянцева

                    О СЕРИИ
                    «ПРОБЛЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА»
                    Издательство «Наука» начинает выпускать серию книг, посвя-
                    щенных проблемам искусственного интеллекта. Первая из них
                    предваряется этим напутственным словом. Термин «искусствен-
                    ный интеллект» вызывает из-за своей метафоричности возраже-
                    ния пуристов. Мгновенно возникают подозрения, что специалис-
                    ты, работающие в этой области, пытаются наскоком решить
                    самые сложнейшие проблемы, связанные с разгадкой тайн чело-
                    веческого интеллекта, создать технические устройства, равные
                    или даже превосходящие по интеллектуальным способностям че-
                    ловека. Тем самым, по существу, искажаются основные цели,
                    стоящие перед бурно развивающимся направлением современной
                    кибернетики, которое получило название «искусственный ин-
                    теллект».

                    […]
                    Проблемы, относящиеся к созданию технических воплощений
                    идей теории искусственного интеллекта, конструированию робо-
                    тов и других интеллектуальных систем, будут по-прежнему осве-
                    щаться в книгах того же издательства «Наука» в серии «Науч-
                    ные основы робототехники», издаваемой с 1976 года.
                    Зам. председателя Научного Совета
                    ио проблеме «Искусственный интеллект»
                    Комитета по системному анализу при
                    Президиуме АН СССР,
                    доктор технических наук, профессор
                    Д А ПОСПЕЛОВ



                    Если вы знаете, куда сейчас можно приделать Элизу и получить за это деньги

                    Сейчас наметилась тенденция использовать чат-ботов в поисковиках…

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


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

                      Да. В соц.сетях, нпр., можно найти много лаконичных оценок: мне нравится/не нравится поэт Н. А для солидной литературоведческой статьи такая оценка будет явно недостаточной

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

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

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

                      Она не позиционирована, как популярная

                      Значит я неверно вас понял вначале. В любом случае, описания системы ПОЭТ у меня нет.

                      Сейчас наметилась тенденция использовать чат-ботов в поисковиках

                      Как можно использовать Элизу в поисковике?

                      • 0
                        Литературоведение и дегустация не несут объективной ценности?! Не слишком ли сильное утверждение?

                        Число разбившихся самолетов и космических кораблей очень велико.


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

                        Значит я неверно вас понял вначале. В любом случае, описания системы ПОЭТ у меня нет.


                        Я не про систему, а про книжку с теорией. Когда в представляемой работе не видно преемственности (нет ссылок на ранее сделанное), возникают очевидные сомнения на темы изобретения велосипеда и наступания на грабли.

                        Как можно использовать Элизу в поисковике?


                        Как Алису
        • 0
          «Техника со временем дойдет до такого совершенства, что человек сможет обойтись без самого себя.» С.Е.Лец
          • +1

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


            1. Различные понятия как-то кластеризуются в близкие и связанные по смыслу, связанные отношениями. Таких примеров много можно найти. Пример.
            2. Но этого недостаточно для полноценного понимания предметной области (в общем случае — объектов и явлений окружающего мира). Необходимо введение абстрактных понятий и отношений "абстракция — конкретная реализация".
            3. И аналогичные п.1 связи и кластеризация между абстракциями.
            4. И супер-абстракции абстракций, абстракции абстракций абстракций...
            • 0
              Если сеть умеет обращаться к внешнему хранилищу данных, то её легко дообучить на работу с онтологиями. А онтологии как раз и дадут сети понятийный аппарат. Разумеется, если сеть будет в состоянии этим аппаратом воспользоваться.
            • +1
              «Теория фреймов для представления знаний», Марвин Минский. Вы переизобрели фреймы, являющиеся фундаментом самообучающихся экспертных систем уже как пол века (так же вам наверняка будет полезно взглянуть на язык программирования Prolog). Хотелось бы взглянуть на демонстрацию работы вашей системы, т.к. именно конкретные реализации и интересны («дьявол в мелочах»), а сама концепция не нова. И да, у Гугла примерно такое же «смысловое» ранжирование, они балансируют между автоматикой и ручным управлением.
              • 0
                лет 12 назад делал на Prolog довольно объемное приложение. Была такая вещь, Visual Prolog 6.0. Не претендую на изобретение графовых баз данных, впрочем, в тексте есть ссылки на источники и существующие продукты. Я занимаюсь практическим вопросом, как собрать все вместе, и научить общаться с человеком, чтобы структура данных подстраивалась по мере необходимости, и работало это в реальной задаче.
                • +1
                  Да, уже пол века с разным успехом этим занимается куча людей, я лишь этим вас хотел удивить :). И не в изобретении графовых СУБД я вас «обвинил», они лишь инструмент, на котором вы, по сути, пытаетесь реализовать фреймовую модель хранения знаний. Просто теперь у вас есть возможность не переизобретать свой велосипед, а ознакомиться с проработанной концепцией Минского, в которой он уже наверняка порешал многие вопросы, с которыми вы боретесь (и с которыми ещё даже не столкнулись). У вас будет надёжная теоретическая основа, к которой вы уже сможете прикрутить свои более конкретизированные способы согласования фреймов, адекватные вашей реальной задаче (прикрутить, например, нейросетевые классификаторы, что вы, по сути, и пытаетесь сделать). Но, конечно, это IMHO, у вас свой путь :).
                • 0

                  Спасибо за литературу. На новизну я, разумеется, не претендовал и был более чем уверен, что такое есть. Про Prolog знаю, но никогда не доводилось с ним работать. Да и по поводу "дьявола в мелочах" полностью согласен.

                • 0
                  Мои дилетантские рассуждения: на одну область знаний одна обученная сеть и на всех одна сеть-классификатор, которая решает какой сети (сетям) адресовать данный конкретный вопрос
                  • +1
                    Так и делают. Вообще, искусственная нейросеть выглядит для обывателя как некая гомогенная каша нейронов, волшебным образом решающая задачи, однако на самом-самом деле нейросети — это просто некое семейство алгоритмов для решения вполне определённых математических операций (классификация, фильтрация, генерация, свёртка, т.п.), и без «ручного» дизайна архитектуры решения (включающей и способ обучения) под конкретную задачу не обойтись. Т.е., правильнее говорить о конкретной модели решения той или иной конкретной задачи, спроектированной человеком, в которой некоторые параметры подбираются статистически на базе обучающей выборки, и именно в этих местах в модель внедряют ту или иную нейросеть (классификатор или фильтратор, например), коэфициенты которой и подбираются в ходе обучения. Когда говорят «нейросеть от Гугла выиграла чемпиона в Го», то имеют ввиду целый каскад нейросетей с разными свойствами и способами обучения, являющиеся частями определённой созданной человеком модели «решателя Го». Т.е., это как сказать, что в Формуле-1 победил поршень двигателя внутреннего сгорания (если бы в информационном пространстве Формулы был хайп вокруг слова «поршень», как в теме ИТ хайп вокруг слова «нейросеть»)
                    • 0
                      Это обычное решение. Но проблема в том, что всю иерархию классификаторов и тематических решателей приходиться собирать вручную, и это долго и нужен большой штат сотрудников.
                    • 0
                      Наверное вот это www.lucida.ai, очень сократит вам время. Там несколько сотен уже прописаных паттернов. И не проблема научить русскому языку.
                      Но если хотите продолжить копать в сторону строительства графов, то переходите к использованию datastax или janusGraph. Все остальные графовые базы очень медленные. Та же Neo4J, которая вроде по рейтингам показывает неплохие результаты, на кластере из 3 серверов выдает не более 1700 запросов в секунду.
                      Но мне кажется семантика это тупик. Во первых вы устанете подготавливать базу и связи. А во вторых вам придется подготовить еще диких размеров датасет для тренировки нс. Собственно ссылка на люсиду выше.
                      Да и не понятен алгоритм по которым сеть будет создавать новые правила.
                      • 0
                        Никак не могу понять. Пишешь статью, объясняешь, что нечто работает и работает хорошо. Сразу появляется много комментаторов, которые говорят, что нет, это невозможно. И предлагающих использовать XYZ вместо описанного. Ну в чем тут логика?

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

                        И еще, разработанный язык обращений делает основную систему независимой от конкретной графовой базы данных, так что если какой-то выбранный движок окажется непригодным, или перестанет поддерживаться, очень легко перенести все на другой.
                        • 0
                          Это очень легко понять как раз. Каждый на своей волне и любую входящую информацию расматривает с позиции знакомых ему паттернов.
                          Мне просто не ясно, у вас по тексту и нейросеть и графы и fuzzy logic. И совсем не ясно как это работает. Мне так видится, что согласно описаному вами, придется как минимум создавать словарик частей речи.
                          А на компанию товарищей выше можете не обращать внимания, они и в моей статье нагадили выше некуда.
                          • 0
                            А на компанию товарищей выше можете не обращать внимания, они и в моей статье нагадили выше некуда.
                            Скажите пожалуйста: в какой статье Вам нагадили?
                            • 0
                              • 0
                                Большое спасибо. Моих комментариев там нет, поэтому продолжаю надеется, что уважаемый автор статьи ответит на мои вопросы выше.
                                • 0
                                  Я не думаю что кто то сможет дать четкий ответ по времени подобных проектов или по конкретным обьемам. Я сужу по своему проекту, только за этот год было переписано с нуля 6 версий модели. Каждая версия докидывала неочевидных деталей. И максимум что удалось пока достичь, это обобщение одной обьемной книги примерно за 3 часа.
                                  • 0
                                    Хотя бы нечеткий. Или удел подобных проектов чистый энтузиазм пока финансирование не кончится?
                                    • 0
                                      Мне сложно судить. Я сам себя финансирую и моему проекту уже больше 5 лет. Если рассматривать подобные проекты с точки зрения моей модели, то процесс не быстрый. Нужно обобщить очень большой обьем информации. Да и многие детали все равно выясняются только при попытках реализации.
                                      • 0
                                        Можно ли сказать, что Вы потратили 5 человеко-лет или были перерывы на другие работы?
                                        • 0
                                          Конкретно на структуру способную создавать новые паттерны на основе имеющегося опыта наверное года два.
                                          • 0
                                            В моем исходном вопросе цитата, где называются трудозатраты в десятки человеко-лет. Конечно, с 1977 г. прогресс ушел далеко вперед, но все же работа выглядит очень затратной по времени. Не опасаетесь ли Вы, что раньше завершения Вас обгонит, нпр., Гугл, который сейчас может потратить пару сотен или м.б. тысяч человеко-лет и закончить работу через год?
                                            • 0
                                              Так я и пытаюсь обьяснить, что подобные проекты не удастся компенсировать груповой работой. На данном примере. У автора есть некий алгоритм который организует входящие данные в некую структуру которая позволяет формировать исходящие данные. Поможет ли автору наличие 100500 помошников? При условии что на 100% только сам автор понимает как и почему это работает и что нужно еще исправить.
                      • 0
                        Попал не в ту ветку.

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

                        Самое читаемое