2010-08-31 40 views
0

是否有一个很好的算法,我可能适用于一个DOM导致我可能相关的节点组?最终目标是获得有用的信息,以帮助从网站中提取TOC和“博客卷”等内容。如果这样的事情已经存在,如果有人让我知道,我会很高兴。什么算法有助于识别DOM中的重复序列?

我意识到这不是我希望确定性地做的事情。我怀疑可能有解决方案的原因,最近来自于处理常见序列的'差异算法'。我不确定这是一个飞跃还是不是从“普通”到“重复”...

回答

0

“相关”是一个非常普遍的术语,因为它总是要在很大程度上取决于实际数据是,你试图推断的关系是什么。我不太明白你为什么在谈论“重复序列”作为“相关性”的度量标准。严格来说,DOM中没有真正的“序列” - 它是一棵树,所以你只能谈论关于父/子关系或兄弟关系的排序(因此排序)。我不确定你的意思是任何这些事情。

也就是说,您可以对DOM做一些说明。他们是树,所以你基本上想要确定具有相似形状的子树,我认为?

您可能采取的一种方法是采用两个此类DOM并尝试通过添加边(使整个事物成为连通图)来关联相似节点(例如具有已知属性或特定节点的节点),然后计算clique

除此之外,我不确定没有更完整的问题描述,我可以建议更多具体的方法。

+0

谢谢!我会告诉你为什么我说'有关'(而不是试图证明)。我在考虑将DOM作为两类节点 - 那些有我关心的信息和没有我关心的信息的节点。在后者中,我试图考虑如何进一步将它们分组为更小的集合并提取关于这些节点的信息,即相关节点,以便我可以在不同的页面(可能在同一个站点内)仅仅根据他们周围的DOM。这一切归结为我想半自动分析像MSDN的东西。 – 2010-08-31 22:34:52

+0

哦,是的,按顺序我在考虑子树,我认为我的意思是树在一个给定级别只有一个节点的地方 - 在我看来,它看起来像一根高大的树枝,节点从顶部创建一个“序列”到底部 – 2010-08-31 22:39:10

0

你只需要选择一个“绝对有趣”的节点的例子,并发明一个很好的相似关系;那么所有类似的节点将会很有趣。相似性可能基于以下因素:通向根的路径高度,属性值,标签名称,兄弟姐妹之间的位置,以上所有关于父级节点的几个级别等等。我使用了这种方法,它的工作方式非常出色。