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