《Web Content Extraction Through Machine Learning》 通过机器学习来提取网页内容
2014年,未见期刊会议上登载,作者 Ziyan Zhou @stanford.edu
简介
数据集
以新闻文章网站
为主
数据集链接 https://github.com/ziyan/spid...
网页分块
本文采用了phantom.js作为headless webkit browser(无头浏览器,现在有更好的方法了,比如puppeteer.js)
对于每一个包含文本的DOM元素,算法会找到它最近的父元素标记为块。
遗憾的是,作者对一些噪音数据的处理没有详细地进行解释。
分块效果如图所示
聚类
由于不同网页之间设计和布局存在较大差异,作者选择了DBSCAN作为聚类算法来解决簇数目未知/簇形状未知/噪声等问题(未给出距离函数)。
DBSCAN 密度聚类算法 大致原理就是选择一个样本节点,聚集所有密度可达的样本形成一个类,相比k-means聚类算法而言更适用于稠密的数据库,想要详细了解的可以 点击这里
寻找内容块
通过与标题简介等meta信息对比文本间的差异(最长公共子序列LCS算法),来评估每一个集群与描述之间的相似性。
分类
支持向量机SVM与交叉验证
特征选择
以下特征效果依次递增
- 文本长度
- 标签路径
- CSS选择器
- CSS属性
总结
emmm,有点浅了,数据集太少,而且针对性也太强,导致出来的结果很好,但是没有什么说服力,还是有可以参考的地方的。