Да, видимо, в этой статье вопросы семантической обработки текста и баз знаний я не раскрыл достаточно понятно. Поэтому, на следующей неделе я планирую опубликовать более подробную статью на эту тему.
Эта система предназначена для обработки предложений, имеющих ясный информационный смысл, который отсутствует в предложенном Вами примере. Можно придумать еще много примеров, которые система в принципе "не поймет". Но это и не надо, поскольку она не претендует на полную универсальность, а предназначена для определенной области практического применения.
Семантические связи объектов друг с другом в тексте фактически формируются при построении узлов, когда парсер находит объекты, которые могут подойти на те или иные семантические роли для смыслового уточнения узлообразующего объекта.
В данной статье под "Базой знаний" подразумевается совокупность сформированных при обработке текстов смысловых узлов (типа "продажа — кто? Газпром, что? газ, куда? Европа"). Т.е. система семантических связей объектов друг с другом.
Согласен, что у этого подхода есть ограничения. Семантический поисковый движок, основанный на ручных онтологиях, вполне может хорошо работать при относительно небольшом количестве анализируемых текстов и при не очень большом количестве объектов, из-за необходимости для каждого объекта знать семантические связи. Построение масштабной семантической системы требует применения технологий машинного обучения, но в ее основе все равно должен лежать онтологический подход. Именно комбинация обоих подходов может привести к успеху.
Есть прототип (пошлю вам ссылку в личном сообщении).
Огромного количества вариантов распознавания не образуется, работает ряд ограничений. Во-первых, формирование узлов — многоступенчатый процесс. Узлообразующие объекты имеют разный приоритет, сначала формируются узлы с более высоким приоритетом, потом остальные, и приоритетные узлы могут войти в узлы с низким приоритетом. Во-вторых, в большинстве случаев, формирующие узел объекты должны в тексте прилегать друг к другу. В-третьих, среди образованных узлов на каждом этапе остаются только лучшие (которые покрывают наибольшее количество объектов и удовлетворяют синтаксическим условиям).
Согласен, что неправильные узлы, приводящие к неверной семантической интерпретации омонимов — это не самая большая проблема, но бороться с этим надо, и быть готовым ко всем запросам, а не только "грамотным".
В ближайшее время планирую написать подробную статью именно про методику преобразования текста в семантическое представление.
Семантические связи объектов друг с другом в тексте фактически формируются при построении узлов, когда парсер находит объекты, которые могут подойти на те или иные семантические роли для смыслового уточнения узлообразующего объекта.
Огромного количества вариантов распознавания не образуется, работает ряд ограничений. Во-первых, формирование узлов — многоступенчатый процесс. Узлообразующие объекты имеют разный приоритет, сначала формируются узлы с более высоким приоритетом, потом остальные, и приоритетные узлы могут войти в узлы с низким приоритетом. Во-вторых, в большинстве случаев, формирующие узел объекты должны в тексте прилегать друг к другу. В-третьих, среди образованных узлов на каждом этапе остаются только лучшие (которые покрывают наибольшее количество объектов и удовлетворяют синтаксическим условиям).
Согласен, что неправильные узлы, приводящие к неверной семантической интерпретации омонимов — это не самая большая проблема, но бороться с этим надо, и быть готовым ко всем запросам, а не только "грамотным".
В ближайшее время планирую написать подробную статью именно про методику преобразования текста в семантическое представление.