[论文简读] Web Content Information Extraction Based on DOM Tree

news/2024/7/3 2:32:41

【论文简读】Web Content Information Extraction Based on DOM Tree and Statistical Information

简介

文章发布于 2017 17th IEEE International Conference on Communication Technology
作者是北京邮电大学的 Xin Yu
文章提出了一种基于DOM结构将WEB页面划分为块,然后通过统计信息提取内容的方法

方法描述

该方法主要针对主题型新闻页面(以文字为主)

Page Segmentation 页面分割

对DOM树进行 pre-processing 预处理

  1. Add hierarchical information 添加分层属性
    描述DOM树中DOM节点所在的位置层级,比如 <body> 为Level 1 具体可以参照下图

    clipboard.png

  2. Traverse the DOM tree 遍历DOM树获得叶子节点集
    假设目标页面里,只有叶子节点存放着所有相关的文本信息,emmm[・_・?],这一点就是我觉得局限性非常大的一点了,因为不适用于其他类型的网站,而且文章型网页也有部分是不这么做的,也会容易把冗余信息纳入其中。
  3. Get the real node 获得真实节点
    有点一言难尽,还是看图吧
    clipboard.png
    考虑到了这种特殊情况,信息保存在a标签里,但是作者想提取的目标节点为li,所以作者提出GetRealNode方法,将这种父元素只包含了一个子元素,且子元素为叶子节点的情况,将父元素代表子元素这个叶子节点放入数据池中。
  4. Fusion based on least common ancestor 基于最少共同祖先的融合
    把结构性相似节点归纳为一块,比如上图中的li节点,具有许多相邻相似的兄弟节点,可以被关联到同一块中。
    clipboard.png
    该算法中有一个非常奇怪的点,相邻的节点难道层级会不同吗,isCommonLevel和isBrother可以再细化一些。
    划分结果如图三所示
    clipboard.png

统计信息

结合节点中的超链接文本的个数、长度以及层级,为每一个节点进行打分(判断是否是重要节点)

clipboard.png
这里作者没有讲怎么去处理分母为零的情况,举个例子,节点如果不包含任何的链接,textLinkCount+imgLinkCount=0

clipboard.png

阈值

阈值的目的就是为了区分内容块和噪声块

clipboard.png

t 是所要求出的阈值,
Xi 是内容块的评分
N 是要分成多少类,作者取值为二(目标以及噪声)
作者采用计算方差的方法来获取阈值,然后通过内容块的评分与阈值比较,区分出内容节点和噪声节点。

评价体系

作者从准确率,召回率以及一个自定义的平均函数来评价方法

clipboard.png

A是人工的提取内容
B是算法的提取内容
LCS(A,B)是指A和B的最长公共子序列

测试数据集为作者自己采集的新闻网页
效果数据如图所示

clipboard.png

clipboard.png

阅后想法

没有公开的数据集,没有算法源码,过程也这么粗糙,是怎么发上IEEE的...


http://www.niftyadmin.cn/n/4224941.html

相关文章

typeof运算符---JavaScript

前言&#xff1a; 每一种计算机语言除了有自己的数据结构外&#xff0c;还具有自己所支持的数据类型。在JavaScript脚本语言中&#xff0c;采用弱类型方式&#xff0c;即一个变量不必首先做声明&#xff0c;可以在使用或赋值时再确定其数据类型&#xff0c;当然也可以先声明该…

数据类型---JavaScript

前言&#xff1a; 在JavaScript脚本语言中&#xff0c;采用的是弱类型方式&#xff0c;即一个变量不必首先做声明&#xff0c;可以在使用或赋值时再确定其数据类型&#xff0c;当然也可以先声明该变量的类型。 Undefined类型&#xff1a; Undefined是未定义类型的变量&#…

3种对话框---JavaScript

前言&#xff1a; 在JavaScript中有三种样式的对话框&#xff0c;可分别用作提示、确定和输入&#xff0c;对应三个函数&#xff1a;alert、confirm、prompt。 alert&#xff1a; 该对话框只用于提醒&#xff0c;不能对脚本产生任何改变。它只有一个参数---需要提示的信息&a…

数据结构---概论和线性表

前言&#xff1a; 数据结构是计算机组织数据和存储数据的方式。更详细的说&#xff0c;数据结构是指一组相互之间存在一种或多种特定关系的数据的组织方式和它们在计算机内的存储方式&#xff0c;以及定义在该数据上的一组操作。 概论&#xff1a; 数据、数据元素、数据项以及…

mongoDB——副本集

之前介绍了主从复制&#xff0c;其优点是增强了读扩展性&#xff0c;增强了安全性&#xff0c;但是&#xff0c;其缺点是主节点宕机&#xff0c;系统不可用。通过--master和--slave设置的主从集群&#xff0c;只能对主节点进行数据写入&#xff0c;不能直接对从节点进行写操作&…

Jenkins 自动化部署上线

Jenkins 自动化部署上线 标签&#xff08;空格分隔&#xff09;&#xff1a; Jenkins 由于51cto格式问题&#xff0c;可以直接访问https://www.abcdocker.com/abcdocker/3174 查看原文 [TOC] ##一、Jenkins是什么 Jenkins是一款自包含的开源自动化服务,可用于自动执行与构建,测…

学习mongoDB的一些感受

曾经使用过mongoDB来保存文件&#xff0c;最一开始&#xff0c;只是想总结一下在开发中如何实现文件与mongoDB之间的交互。在此之前&#xff0c;并没有系统的了解过mongoDB&#xff0c;虽然知道我们用它来存储文件这些非结构化数据&#xff0c;但是&#xff0c;对于为什么用它存…

正则表达式(1)---JavaScript

前言&#xff1a; 假设用户需要在HTML表单中填写姓名、地址、出生日期等&#xff0c;那么在将表单提交到服务器进一步处理前&#xff0c;JavaScrippt程序会检查表单以确认用户输入了信息并且这些信息时符合要求的。 正则表达式&#xff1a; 是以一个描述字符模式的对象&#…