1

Мой вопрос: ¿Что было бы лучшей технологией для обнаружения иерархических или древовидных структур?Признание шаблонов или структур в иерархических данных

Я хочу узнать детали в HTML странице, например: меню пользователя для входа или меню навигации или части содержания, колонтитул и т.д.

Я пытаюсь с признанием грамматики реализованного мною (I не нравится классический, как Lex, yacc для этой работы, потому что они не заботятся о смысле HTML-данных) с php и с использованием парсера DOM для HTML-ходьбы (DOMDocument).

У меня возникли проблемы из-за изменчивости способа визуального представления данных в html. Например, меню может быть реализовано с <ul><li><a href=#>Link1</a><li>Link2....</ul>, но есть только одна возможность сотен. Это также зависит от событий css (onclick, onmousehover). И есть проблемы в распознавании реального меню из поддельного меню.

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

Моя грамматика распознавания образов имеет плохой результат, потому что она не допускает возможные «несчастные случаи» в html и не сглаживает распознавание, она слишком строгая (не нечеткая).

¿Любая идея?

ответ

1

Один из возможных способов состоит в том, чтобы иметь массив из множества (10-20) различных регулярных выражений или других методов обнаружения, и посмотреть, сколько из них он имеет право, весить их в соответствии с тем, насколько часто каждый из них правильный, и сравнить его к значению. или вы можете принять полное правильное и использовать нулевую сеть, если хотите.

Смежные вопросы