Предисловие, которое рекомендуется прочитать
Учебные заведения России и мира продолжают обучать программированию на Паскале. И это происходит не из-за лени преподавателей к переизданию методических пособий по информатике. Такое обучение позволяет понять гибкую внутреннюю логику организации программ, ведь Паскаль обладает свойствами универсальности и широкими возможностями, при своей компактности и легкости понимания. С помощью этого языка программирования можно адаптировать, подготовить восприятие школьника или студента для самоорганизации и в других языковых средах.
Поэтому в этой книге автор изложил полезные и практичные аспекты накопленного многолетнего опыта, приемы и методы работы с неформализованными строковыми данными на Паскале; а также сведения о новой технологии, являющейся плодом этих практических изысканий. Модель описанной технологии искусственного интеллекта, в качестве исследовательского проекта также реализуется на этом языке. При этом, значительная часть приведенных алгоритмов и программных процедур публикуется впервые, что придает изданию особую ценность.
Почему эта книга актуальна?
Вся беда в том, что профессиональным приемам подробной, прикладной работы с данными строкового типа занимается очень ограниченное число специалистов. Отсюда вытекает явный недостаток практических пособий по данной тематике,1 и как следствие – неявный прикладной функционал в современных языковых компиляторах.2 Также этому есть и другое вполне логичное объяснение. Тема парсинга строковых данных много десятилетий являлась своего рода табу, дурным тоном программирования. Традиционно устоялся стереотип, что строковые переменные – это «рабы интерфейса» и баз данных, а неформализованные сведения – зло, с которым нужно бороться. Результат – налицо: отсутствие приличной школы: как учителей, разработчиков, так и их учеников. Отсутствие предложения за много десятилетий сформировало зеркальное отсутствие спроса. А затем появились и искусственные нейронные сети, которые худо-бедно начали с этими данными работать; но вот разработчикам от этого не стало легче. По существу, искусственные нейросети «подарили» программистам «черный ящик», действия которого бывают необъяснимы.3
Этот пробел явно требует компенсации; тем более, очевидно невостребованной в современной парадигме когнитивных систем оказалась ниша символьного искусственного интеллекта.4
В книге приводятся необычные, но достаточно простые решения по проекту интеллектуальной символьной диалоговой системы. Тем не менее, описанные подходы к ее реализации категорически отличаются от классического представления об объектно-ориентированном программировании, традиционных символьных экспертных систем и от современной методологии машинного обучения. Также весьма существенным моментом в этой работе является отказ от прямого использования символьных конструкций на естественном языке. Тем не менее, практические результаты показывают, что этот комплекс методик может решать задачи, по сей день считавшиеся серьезной проблемой.
Чем мы занимаемся?
«Мы» в данном случае – это небольшое сообщество единомышленников, не входящих в какое-либо формальное объединение, но захваченных идеей реализации искусственного интеллекта на базе технологии MSM.
Сверхзадачей исследований в данном направлении не являлось и не является создание сильного искусственного интеллекта5 в понимании современных физиков и инженеров; (такого, который будет многократно превосходить умственные способности людей). Для начала, следовало бы создать «средний» интеллект. Такой, каким обладает например, ваш сосед, Михаил Ефремович, учитель географии средних лет. Особо ничем не выдающийся, иногда не очень внимательный или рассеянный, иногда циничный, иногда смешной, но… понимающий. Способный сравнивать, оценивать, делать выводы, формулировать суждения. Решать повседневные задачи. Планировать, следовать определенным целям. И главное, способный действовать так, как этого требуют обстоятельства. Вы скажете, такие машины уже есть? Хорошо, если вы так считаете, не будем спорить. Но, автор считает, что нет.
Это учебник?
Книгу можно использовать как учебное пособие по разделу строковых данных на Паскале. Но было бы неверно воспринимать показанные решения, как нечто неоспоримое, – любая приведенная процедура может быть усовершенствована. Сама природа строк приближает нас к другой форме подхода к методикам реализации. Здесь, в этой новой реальности открывается то, что называется нечеткостью, субъективной оценкой и многогранностью связей элементов конструктора, который мы можем выстраивать.
Книга затронет и некоторые философские, психологические, лингвистические аспекты сущности человеческого восприятия. Но она не станет тешить человеческое самолюбие или рисовать утопические миры. На этом поле и без того работают слишком много мастеров слова, чтобы стать только очередным из них. Автору это неинтересно.
Гораздо интереснее работа, имеющая под собой практическое основание, а не метафорические рассуждения. «Практика есть критерий истины» – известное выражение, приписываемое Карлу Марксу, но авторство в данном случае не имеет значения.
Эта книга пробует осветить шаг за шагом движение в новом, малоизученном направлении работы с новой технологией. Страница за страницей практического освоения вы имеете шанс испытать чувства первооткрывателя, какие вероятно испытывал Левенгук, настраивающий первый оптический микроскоп. И пусть спустя сотни лет был построен и микроскоп электронный, но микроскоп конструкции Левенгука был самым важным, первым шагом в нужном направлении.
С другой стороны, кто-то мог бы и сказать «Да обернитесь вокруг: в нашем мире data science,6блокчейна7 и искусственных нейросетей нет места для того, чтобы заниматься какими-то символами…» Но вещь, кажущаяся сегодня слишком простой или неочевидной может стать завтра тем самым электронным микроскопом. История знает массу таких примеров.
Например, концепция первогоперцептрона,8 на основании которой родилось все изобилие современных искусственных нейросетей и машинного обучения более чем на 30 лет была подвергнута остракизму во время так называемой «Зимы искусственного интеллекта». И что бы сказали бывшие критики перцептрона теперь, когда каждая домохозяйка, школьник или пенсионер, имея некоторый интерес и немного свободного времени может настроить искусственную нейросеть и сортировать огурцы по 12 критериям в собственном гараже.9
Можно освоить вещи и поинтереснее огурцов, например машинный перевод, зрение сквозь стены или толщи океанских вод… Но автор в данном случае равнодушен по отношению к искусственным нейросетям, к биг-дате или к попыткам создавать коннектоны. Безусловно, это в своем роде интересные, нужные и незаменимые вещи, представляющие немаловажный научный и коммерческий интерес. Плохая новость состоит в том, что все это имеет мало общего с настоящим интеллектом, который основан на процессе понимания смысла. Да, искусственные нейросети хорошо работают. Выписывают штрафы. Рисуют картины. Консультируют по ряду известных проблем. Играют в шахматы, Го или водят машины. Они это все умеют или будут уметь; и ваша сетка будет уметь гораздо лучше сортировать огурцы, чем человек, – с помощью нескольких строк кода, небольшой настройки переменных и нескольких тысяч примеров выборки. Это – сложная, но популярная и вполне осуществимая задача в рамках существующей парадигмы машинного обучения. Кроме того – уже изданы сотни прикладных учебных пособий по этой теме, существуют простые видеоинструкции по работе с кодом на Питоне и в свободном доступе находятся нужные приложения и наборы данных.