?

Log in

No account? Create an account

serge_gorshkov


Сергей Горшков - о бизнесе в сфере ИТ

о семантической интеграции, программировании, управлении...


Previous Entry Share Next Entry
Нейросети и онтологии
serge_gorshkov

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


1) Задачи классификации. Это, наверное, самая очевидная точка соприкосновения двух миров. Любая онтология основана на наборе классов, которые служат для описания в виде правил и с помощью свойств того общего, что можно выделить для определенных групп объектов или явлений. Нейросети и машинное обучение, в свою очередь, отлично решают задачи классификации, то есть отнесения информационных объектов к определенным классам - в том числе по критериям, которые нельзя или слишком сложно формализовать. Мы широко используем классификацию с помощью машинного обучения (не только нейросетей, но и других методов, например деревьев решений). Возможный сценарий: алгоритм машинного обучения решает, к какому классу отнести объект или явление, а правило логического вывода определяет, как его следует обработать.

2) Предсказание числовых характеристик объектов или событий. С этой целью применяются различные методы регрессии, суть которых сводится к предсказанию ожидаемого значения некой величины для набора объектов или событий. В онтологии описываются классы этих объектов или событий, каждому из которых приписываются несколько независимых величин (свойств-литералов, в терминах онтологии) и одна или несколько зависимых величин, значения которых являются предметом поиска. Регрессия, реализованная с помощью нейросети или других алгоритмов машинного обучения, позволяет найти значение интересующей величины X – предположим, объема спроса – в зависимости от известных величин [Y, Z, ...] – допустим, цены товара и его потребительских характеристик. Важно, что для определения значений одной величины для объектов разных классов обучение может (а иногда и должно) выполняться по отдельности.

3) Кластеризация. В данном случае нейросеть разбивает объекты на несколько групп по степени похожести, которые – в отличие от чистой задачи классификации – не так легко соотнести с классами онтологии. Но эти группы можно использовать в разных вариантах взаимодействия с пользователем в рамках интерфейса, построенного на основе онтологической модели - а почти все наши интерфейсы строятся именно так, то есть в онтологии кроме модели предметной области присутствует и модель самой автоматизированной системы или ее фрагментов, в т.ч. интерфейса. Полученными кластерами можно распорядиться по-разному: вывести их в ленту, нанести на некую плоскость, окрасить различными цветами. Дальше пользователь «поможет» системе связать полученные кластеры с элементами онтологии, и система «поймет», как обработать кластеризованные объекты.

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