1

我的问题是¿检测分层或树模式的最佳技术是什么?

我想识别 HTML 页面中的部分,例如:用户登录菜单、导航菜单、内容正文、页脚等。

我正在尝试使用我实现的语法识别(我不喜欢 Lex 和 yacc 这样的经典作品,因为他们不关心 HTML 数据意义)使用 php 并使用 DOM 解析器进行 HTML 遍历(DOMDocument)。

我遇到了麻烦,因为在 html 中直观地表示数据的方式的可变性。例如,一个菜单可以用 实现<ul><li><a href=#>Link1</a><li>Link2....</ul>,但只有数百种可能性。它还取决于 css 事件(onclick、onmousehover)。从假菜单中识别真正的菜单也存在问题。

我在考虑神经训练,但在所有示例中,我发现它们适用于线性数据,而不是分层数据。我尝试训练一些网络,但很明显它们丢失了 DOM 树元素之间的关系信息。或者也许我不知道如何让它变得更好。

我的模式识别语法结果很差,因为它不接受 html 中可能的“意外”,也不平滑识别,它太严格(不模糊)。

任何想法?

4

1 回答 1

1

一种可能的方法是拥有许多(10-20)个不同的正则表达式或其他检测方法的数组,并查看其中有多少符合条件,根据每个正确的频率对它们进行加权,并将其与一个值进行比较。或者,如果您喜欢它们,您可以完全正确并使用神经网络进行选择。

于 2011-02-08T21:40:36.397 回答