Краткий взгляд на лес за синтаксическими деревьями

Oct 30, 2011 17:56

Сделал в новом синтаксическом анализаторе работу еще с несколькими типами предложений - императивные конструкции, связки и инверсия.

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

Вот наглядный пример для предложения кот - хитрое и коварное животное:



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

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

что касается кота,
он является животным,
более того, для этого животного характерно, что оно хитрое,
вдобавок, и коварное

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

Еще один пример - предложение с инверсией дополнение-сказуемое-подлежащее:

Какой клад ищут на этом необитаемом острове пираты, забыв про свою безопасность

Деепричастный оборот тут добавлен как тестовая нагрузка. Вот что с ним делает анализатор:



Тут тоже информация структурирована и выстроена в иерархию уточнения деталей.

О ком речь - о пиратах (подлежащее, тип ребра RIGHT_SUBJECT)
Что они делают? Они ищут (глагольное сказуемое, корень графа)
Что они ищут? Клад (тип ребра LEFT_OBJECT)
Где происходит действие? На острове
Что известно про остров? Он необитаемый

И так далее.

извлечение знаний, синтаксический анализатор

Previous post Next post
Up