2010-08-31 22 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

你只需要選擇一個「絕對有趣」的節點的例子,併發明一個很好的相似關係;那麼所有類似的節點將會很有趣。相似性可能基於以下因素:通向根的路徑高度,屬性值,標籤名稱,兄弟姐妹之間的位置,以上所有關於父級節點的幾個級別等等。我使用了這種方法,它的工作方式非常出色。