[Из песочницы] История создания ИСУ, которая ещё не создана
ИСУ — интерактивная система управления.Написаное ниже — это лишь набросок идеи, бесконтрольный забег вперёд, попытка излить и распутать мысли, запутанные и замусоренные после небольшого, но частого путешествия в мир лингвистики, искусственного интеллекта, программирования, электроники и прочей фиготени. В результате чего я мало узнал нового, а что узнал — со временем запамятовал, и, кроме того, ещё и запутался… Короче говоря, ниже приведённый текст может содержать нормальные идеи (на что я надеюсь), но представлены они могут быть в весьма неудобной или даже в ненормальной форме. Также не ясно, получится ли у меня хоть что-нибудь нормальное и полезное. Прошу прощения за текстовое нытьё.Всё началось с попытки написать бота для Джаббера. Это было где-то в апреле (а может, немного раньше), когда меня в Джаббер затащила, по моему согласию, знакомая Линуксоид, с которой случайно познакомился в соц. сети в марте 2014 года. Она то и предложила мне конференцию в Джаббере, в котором тусились разного рода электронщики, майнеры, линуксоиды и прочие товарищи. Так как я человек, совсем не любящий тусовок, то бываю я там почти никогда и мне приглянулись боты в одной из таких конференций. Задача у тех ботов простая: выдавать некоторую информацию по команде, сохранять историю и удалённо управлять компьютером, тоже по команде. Но у меня-то ведь давно горела и горит тяга к искусственному интеллекту (далее — ИИ). Вот тут и решил я перейти к попытке его реализации.
В апреле был написан простой бот, состоящий из одного файла на Python. Затем решено было разделить его на файл взаимодействия с Джаббером и на два пакета: пакет разбора команд и пакет ИИ, или разбора естественного языка (далее — ЕЯ). Пакеты состояли из одного файла (если не считать файла __init__.py). В мае уже было разделение на пакет пользовотельских модулей, в котором должны быть написаны функции-команды.
Сперва мне показалось разумным составить правила командного языка, наподобие команд в Линуксе, чтобы определить правила этих самых команд, которые должны были стать правилами формального языка. Тем более, используя команды, легче проверять будущую логику бота. Вдохновение на подобное пришло от книги, описывающей Raspberry Pi и ОС Raspbian, основанной на ОС Debian. Основной модуль в пакете разбора команд был увеличен в размерах. Были некоторые успехи: выполнение команд; возможность вложения команд одна в другую; память предыдущего запроса, если пользователь забыл ввести параметр команды, с целью запроса этого параметра у пользователя. Научился даже много новому в Python’е.
Но это было не то, что я хотел. Однажды ко мне пришла мысль, что формальный, или внутренний, язык (далее — ВЯ) должен не иметь форму команд, а быть представлен определённой структурой данных — списком или словарём. А потому язык команд теперь смысла не имеет — и пакет команд был постепенно преобразован в пакет конвертации ЕЯ во ВЯ, а тот модуль, изначально предназначенный для приблизительно той же цели, был удалён из-за почти двухмесячного неиспользования. Я начал больше времени уделять костяку ИСУ — так сказать системе обслуживания модуля логики. Задача такой системы (далее — каркас) — избавить модуль логики от зависимости от неинтеллектуальных функций: доступ к базам данных, загрузка пользовательских модулей и одного языкового, интерфейсов и прочего.
Такая структура, состоящая из ядра, каркаса, интерфейсов и подключаемых модулей сделали ИСУ легко изменяемой и расширяемой. Можно независимо изменять каждый элемент ИСУ, не влезая в дебри целой системы. Но это был лишь каркас. Интеллектом ещё и не пахнет, ибо боты размером 10 кб, просто выполняющие команды, могут быть более продуктивными, чем ИСУ размером 40 кб, которая способна выполнить несколько бесполезных команд. Отличие лишь в том, что в ИСУ можно удобно развивать логику, добавлять новые языки с любым способом анализа текста, прикручивать любые интерфейсы с разным способом ввода: текстовый, голосовой, да хоть мысленный через нейроинтерфейсы! Можно прикрутить к ИСУ или интегрировать (или совместить) с ней любые исполнительные устройства и системы: «умный дом», ОГАС, возможно, и Демократия 3.0.
В будущем планируется добавить Алдегонод в качестве эмоционального ядра, которое, взаимодействуя с логическим ядром, наделит ИСУ эмоциональными (или псевдоэмоциональными?) возможностями.
Вообще, ИСУ запланирована как система управления, о чём гласит её название. Лишь с той разницей, что она будет постоянно анализоровать информацию с разных датчиков (температура, эмоции, состояние замков, экомическая статистика) и предлагать собственные варианты решения каких-либо задач, принимать свои же решения самостоятельно или выполнять указания пользователя (или групп пользователей). Это похоже на АСГУ из техно-оперы «О не сбывшемся грядущем». Но не совсем так: ИСУ и ОГАС — это разные ситемы, но их можно совместить. Хотя, я запутался… Вот блин. Ну да ладно, бывает, ибо это ещё не конкретная задача, а просто идея.
Итак, в качестве естественного языка взаимодействия с ИСУ выбран Эсперанто из-за его простоты. Но в будущем можно добавить любой другой язык, лишь бы он не вносил ограничения, так как мыслительные возможности разных языков могут сильно различаться из-за различий развитости мышления у разных народов. Сегодня реализованы лишь малейшие способности ИСУ, о которых писать пока просто смешно.