Комментарии 5
Спасибо, вы как раз описали то, что мне самому кажется важным.
Я тоже не хочу, чтобы система один раз что-то решила и потом считала это истиной навсегда. Если она не уверена, пусть так и хранит: непонятно, возможно, нужно больше данных. Потом появляются новые документы, новые связи, новые факты — и старый вывод можно пересмотреть. Даже если раньше он казался довольно надёжным.
С тем же Александром Ивановым всё именно так: одинаковое имя ещё не значит, что это один человек. Нужно смотреть на возраст, место, связи, события, время, другие упоминания. И если позже выяснилось, что склеили двух разных людей, система должна уметь это откатить и пересчитать всё, что от этого зависело.
И идея с похожими кусками графа мне тоже близка. Если в разных местах снова и снова возникает одна и та же структура, из этого уже можно попробовать вывести какое-то новое обобщение, даже если готового термина для него раньше не было. Но я бы и здесь не делал это сразу фактом: сначала кандидат, потом проверка на других данных.
Собственно, я к этому и веду Oblivion: чтобы он не просто копил знания, а постоянно уточнял свою картину мира по мере появления новых доказательств.
На подобной задаче обломал зубы ABBYY в пору своего расцвета. А казалось, победа близка, и вот скоро онтоинженеры будут во всех компаниях. Они тоже рассказывали, как разруливать анафорические ссылки.
Останусь скептиком. Едва ли эта задача имеет решение в общем виде. Да и кто будет ее заказчик? Но вот частные решения по узким предметным областям мне кажутся возможными.
Но желаю удачи! По крайней мере, этим интересно заниматься.
Спасибо, за комментарий.
Вы правы, что в статье я показал только фундамент. Но у меня немного другая постановка: система не обязана разрешить анафору или идентичность в момент первого чтения. Если данных недостаточно, состояние остаётся AMBIGUOUS / UNRESOLVED / DEFERRED и не превращается в факт. Позже, когда появляются новые документы, связи или противоречия, они становятся поводом для переоценки старого решения. Жизненный цикл примерно такой: неизвестно → кандидат → подтверждение → принято → новые данные → переоценка → уточнение / split / merge / rollback. Именно в этом я вижу саморазвитие системы: не в том, чтобы просто «переписывать себя», а в том, чтобы постоянно улучшать собственную картину мира по мере накопления новых доказательств.

Oblivion Mind: как я строю когнитивно‑символьный ИИ с проверяемым знанием