gpt4 book ai didi

html - 识别 html 中显着相似性的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:08:54 27 4
gpt4 key购买 nike

我想在一个或多个中找到相似之处(确切地说是它的模式)不知道其结构的 HTML 页面。

让我们谈谈一个真正简化的例子,其中的内容和所有属性都是删除。

01 <div>
02 <div><table>.*</table></div>
03 <div><table>.*</table></div>
04
05 <div><p></p><img/></div>
06 <div><p></p><img/></div>
07 <div><p></p><img/></div>
08
09 <div><table>.*</table></div>
10 <div><table>.*</table></div>
11 </div>

我们(人类)可以看到有两种不同类型的模式。这第一个(与表)出现四次。还有一个另一个带有图像标签,三遍。这很容易(对人类而言)。

我想写的完美模块会返回如下结果集:

$VAR = [ { reduced_pattern => '<div><table>.*</table>div>',
real_pattern => '<!-- the real pattern -->',
hits => [{ line => 02,
content => "<div><table>foo 1</table></div>",
relevance => 0,9,
},
{ line => 03,
content => "<div><table>foo 2</table></div>",
relevance => 0,95,
},
{ line => 09,
content => "<div><table>foo 3</table></div>",
relevance => 0,87
},
{ line => 10,
content => "<div><table>foo 4</table></div>",
relevance => 0,80
}
]
},
{ real_pattern => '<!-- the real pattern -->',
hits => [{ line => 05,
content => "<div><p>bar 1</p><img/></div>",
relevance => 0,79,
},
{ line => 06,
content => "<div><p>bar 2</p><img/></div>",
relevance => 0,95,
},
{ line => 07,
content => "<div><p>bar 3</p><img/></div>",
relevance => 0,80
}
],
}
];

类似的东西。

问题是关于算法的。我搜索了“识别显着相似性的算法”。和网络上的类似句子,这里是 SO 和 CPAN,但没有找到匹配得很好的东西。 (我知道有很多,我也读了很多。)

RegExp 不在考虑之列,因为您必须知道要搜索的内容。我假设它可以用神经网络来完成,但学习可能很困难。模糊哈希(如 sssdeep 中的)也可能是一种解决方案。或者我应该更好地从 k-means 或 mahout 的方向开始?

感谢您的回答和评论!

最佳答案

我也在努力完全理解你的问题,但是要研究的一种算法可能是 Support Vector Machines如果您希望将页面分为两种不同的类型。如果您能够生成预先分类的数据集,那么 Hidden Markov Models可能是要走的路。正如 xhudik 所建议的,甚至可以使用决策树。

很抱歉,如果您正在寻找具体的答案,但我认为需要更多信息(例如 2-3 个 html 示例以及如何对这些示例进行分类)来确定您想要实现的目标。

编辑:此外,您是否调查过clusteringWeka等产品和 Orange如果您想要的是智能统计分组,可以为您提供帮助。

关于html - 识别 html 中显着相似性的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14941408/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com