Распознавание шаблонов или структур в иерархических данных - PullRequest
1 голос
/ 04 февраля 2011

У меня вопрос ¿Какая технология лучше всего подходит для обнаружения иерархических или древовидных шаблонов?

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

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

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

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

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

¿Есть идеи?

1 Ответ

1 голос
/ 09 февраля 2011

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

...