Мой вопрос: ¿Что было бы лучшей технологией для обнаружения иерархических или древовидных структур?Признание шаблонов или структур в иерархических данных
Я хочу узнать детали в HTML странице, например: меню пользователя для входа или меню навигации или части содержания, колонтитул и т.д.
Я пытаюсь с признанием грамматики реализованного мною (I не нравится классический, как Lex, yacc для этой работы, потому что они не заботятся о смысле HTML-данных) с php и с использованием парсера DOM для HTML-ходьбы (DOMDocument).
У меня возникли проблемы из-за изменчивости способа визуального представления данных в html. Например, меню может быть реализовано с <ul><li><a href=#>Link1</a><li>Link2....</ul>
, но есть только одна возможность сотен. Это также зависит от событий css (onclick, onmousehover). И есть проблемы в распознавании реального меню из поддельного меню.
Я думал о нейронной подготовке, но во всех примерах я нашел, что они предназначены для линейных данных, а не для иерархических данных. Я попытался организовать некоторые сети, но очевидно, что они теряют информацию о взаимоотношениях между элементами дерева DOM. Или, может быть, я не знаю, чтобы сделать это лучше.
Моя грамматика распознавания образов имеет плохой результат, потому что она не допускает возможные «несчастные случаи» в html и не сглаживает распознавание, она слишком строгая (не нечеткая).
¿Любая идея?