Секреты поиска решений управляемого данными

от автора

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

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

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

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

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

Если продолжать аналогию, то структура, состоящая из последовательности информационных блоков, тоже в каком-то смысле несёт в себе свою размерность – путь к решению задачи.

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

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

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

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

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

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

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

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

Детальный анализ (сопоставление) информационных блоков может позволить обнаружить и указать на неполные и недостоверные сведения в информационном наполнении.

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

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

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

Нервная сеть

Нервная сеть

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

Структура из информационных блоков

Структура из информационных блоков

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

ссылка на оригинал статьи https://habr.com/ru/articles/1051928/