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

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