CN112084451A - 一种基于视觉分块的网页logo提取系统及方法 - Google Patents
一种基于视觉分块的网页logo提取系统及方法 Download PDFInfo
- Publication number
- CN112084451A CN112084451A CN202010972271.9A CN202010972271A CN112084451A CN 112084451 A CN112084451 A CN 112084451A CN 202010972271 A CN202010972271 A CN 202010972271A CN 112084451 A CN112084451 A CN 112084451A
- Authority
- CN
- China
- Prior art keywords
- visual
- block
- logo
- separator
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是一种基于视觉分块的网页LOGO提取系统及方法,属于计算机网络领域,尤其涉及网页LOGO提取及视觉识别分析技术,目的是为解决网页视觉识别分析不稳定,准确率不高,实际应用效果不好等问题;本发明包括页面数据提取模块、分隔符探测模块和页面布局重构模块各模块之间呈递进逻辑连接,通过页面数据提取模块用于所需特征量的提取;分隔符探测模块负责分隔符的添加以及规则化分割;页面布局重构模块用于将页面内容重新布局重构,使得网页视觉识别率得到提高,该方法提取更为健壮的视觉特征,有更好的鲁棒性,同时具有更高的准确度。
Description
技术领域
本发明是一种基于视觉分块的网页LOGO提取系统及方法,尤其涉及网页LOGO提取及视觉识别分析技术,属于计算机网络领域。
背景技术
《中国互联网络发展状况统计报告》指出依然有44.4%网民遭受过网络安全的威胁,其中钓鱼网站占比最重。国家已经设置了国家防火墙对此进行了管控,通过设置黑名单的方式根据IP,域名进行过滤,但是攻击者根据现有的防御方式不断发掘新的攻击技术。有一部分网站不断的更换域名和主机地址,导致这些网页的识别难度变大。在这样的情况下只通过黑名单就无能为力,所以需要对网页内容的特征提取。
目前基于网页内容的特征提取主要分为3大类,有基于机器学习的启发式特征提取方法,有基于网页源代码的提取方法,有基于网页DOM树结构的提取方法,还有基于视觉特征的提取方法。
基于网页源代码的特征提取的效率高,但是未充分利用网页中的其他信息。基于网页DOM树结构的特征提取方法同时考虑了文本密度和网页的DOM树结构信息,准确率得到的提高,但与基于网页源码的特征提取存在相同的问题,所以提取出更加有代表性的网页视觉特征,对网页识别有这举足轻重的影响。
网页特征提取方法主要分为三类:基于网页文本的特征提取,基于网页结构的特征提取和基于网页视觉信息的特征提取:
(1)基于网页文本的特征提取:
针对于网页中的文本信息,对于普通文本的文档特征提取出现的比较早,Heintze等人从文档中提取长度为30至45的字符串作为文档特征Shivakumar等人通过对分段文本的签名进行比较来识别目标文档。除了Heintze和Shivakumar的匹配算法外,还有YAP3算法、MDR算法等,这些算法没有考虑到网页文本内容或者普通文档的整体结构,只是使用了字符串比较的方法。在文档查重中还有基于词频统计的方法,如Shivakumar等人提出的SCAM方法,后来该方法被改进后被应用于Google的系统。但是由于网页内容比较少,包含的词汇量也很少,这导致生成的文本特征向量十分的稀疏,会导致分类的准确率下降,并且传统的方法并没有考虑到网页的语义特征和结构特征。
(2)基于网页的结构特征提取:
Si等人在1997年提出了Check方法,它引入了文档的结构信息,即文档按章、节、段落等生成一颗文档树,然后对文档树进行深度优先比较来计算相似度Sahuguet等人提出的W4F算法是将网页构建成DOM树,基于人工标记好的网页,抽取出网页主要内容对应的规则。Liu等人设计的XWrap也是先将网页构建成DOM树,然后根据目标节点的XPath表达式来进行内容的提取,这个技术的不足之处是该技术对网页结构的变化敏感,所以要经常对结构发生变化的网页更新XPath表达式。
(3)基于网页视觉特征提取:
网页中包含很多的视觉特征比如字体,背景颜色,链接个数,Deng Cai等人提出了一种独立于标记树,自上而下的方法来检测Web内容结构体。它根据用户的视觉感受模拟用户如何理解Web布局结构。这种方法独立于HTML文档表示。王宪法等人使用了WEMLVF,分别提出了基于经典包装器归纳算法SoftMeadly和基于XPath的自动生成信息抽取模板的方法。这两种方法使用视觉特征自动生成信息抽取模板,但模板的表达并不包含视觉特征,使得在使用模板进行信息抽取的过程中无需提取网页的视觉特征,从而既充分利用了视觉特征在信息抽取中的作用,又显著提升了信息抽取的效率。2015年Wu等人提出一种基于视觉特征的正文抽取方法,他们结合了网页的结构特征和视觉特征,利用已标注数据集进行训练,使用分类算法来将正文和非正文内容分成两类,但是这些方法并没有得到好的实际应用效果。
发明内容
为了解决现有技术中基于网页视觉识别分析不稳定,准确率不高,实际应用效果不好的问题,本发明提出一种基于视觉分块的网页LOGO提取系统及方法,具体方案如下:
方案一:一种基于视觉分块的网页LOGO提取系统,包括页面数据提取模块、分隔符探测模块和页面布局重构模块,上述各模块之间呈递进逻辑连接;
页面数据提取模块用于所需特征量的提取;
分隔符探测模块负责分隔符的添加以及规则化分割;
页面布局重构模块用于将页面内容重新布局重构。
进一步地,所述的页面数据提取模块由视觉块提取模块和LOGO块提取模块两部分组成。
方案二:一种基于视觉分块的网页LOGO提取方法,是根据上述提取系统为基础实现的,具体方法步骤如下:
步骤一,在对html页面进行解析,然后通过所述的页面数据提取模块中的视觉块提取模块对视觉块进行提取,通过所述的LOGO块提取模块对LOGO块进行数据提取;
步骤二,利用所述的分隔符探测模块在网页中添加的分隔符并通过算法进行分割;
步骤三,最终通过页面布局重构模块将分割整理后的内容进行页面布局重构,实现网页LOGO提取。
进一步地,在步骤一中视觉块提取模块根据视觉块的特点进行视觉快提取,视觉块为DOM树节点的子集;视觉块用VisualBlock表示,由多个视觉块组成的视觉结构则用VisualStructure表示,所述的视觉块特点具体为:
A.每个视觉块都是一个与网页平行的矩形;
B.一个视觉结构里的所有视觉块之间关联度高于一个阈值,说明这个结构中内容关联度高,可以合并为一个视觉结构;
C.视觉块中包含位置信息,字体大小,文本个数,链接个数,图片个数;
D.视觉块之间不存在重合;
E.视觉结构拥有所有视觉块的特点。
进一步地,所述的位置信息以top、left、heigh和width作为坐标四元组,top和left分别定义节点显示区域矩形的左上角定点与页面下边沿的像素距离;heigh指矩形区域的高度,width指矩形区域的宽度;确定四元组进而确定VisualBlock的显示区域,所述的字体大小通过解析VisualBlock包含的DOM树结点获得,对所有节点的字体大小进行统计;所述的图片个数对包含的DOM树节点解析,获取到<image>标签,统计个数并且保存链接生成DOM树,最终利用CSSBOX类库模型对视觉块进行提取。
进一步地,根据步骤二中所述的分隔符探测模块,一个分隔符由一个二元组代表Ps,Pe,其中Ps代表着起始坐标,Pe代表着结束坐标,分隔符宽度由这两个值计算,分隔符探测算法步骤如下:
步骤二一,首先初始化分隔符列表,列表最开始只包含一个以面板为界限的分隔符对于在面板上的每个视觉块,每个视觉块之间的分隔符按如下规则别评估,首先移除初始面板周围的4个分隔符,如果分隔符中包含一个块,则分割这个分隔符;如果块穿过一个分隔符,则重新调整分隔符参数;如果一个分隔符被block覆盖,则移除这个分隔符;移除初始面板周围的4个分隔符;
步骤二二,分隔符被用来辨别不同语义块,因此分隔符的权重可以根据相邻块的不同分配,接下来的规则被用来为每一个分隔符设置权重,分隔符宽度越宽则权值越大,如果分隔符与某些标签重叠则权值越高,如果分隔符分割开的两个视觉块背景颜色不同则权值提高;
步骤二三,对于水平分隔符,如果分隔符两侧的字体属性差异较大,则权值会增加,此外,如果分隔符上方的块的字体大小小于分隔符下方的块的字体大小,则权值会增加,对于水平分割器,当分割器两侧的块的结构非常相似时,分割器的权值将减小。
进一步地,步骤三中所述的页面布局重构模块,构建过程从权值最小的的分隔符开始,然后将这些分隔符旁边视觉块合并以形成新的视觉块;合并过程将反复进行,直到满足最大权值的分隔符为止,并根据块区域中分隔符的最大权重设置每个视觉块文件的DOC,其中预先定义文件为PDOC,则DOC的要求是DOC>PDOC;
之后检查每个叶子节点是否满足粒度要求,对于每个失败的节点,再次转到视觉块提取步骤,以进一步在该节点内构造子内容结构;如果所有节点全部满足要求,则停止迭代过程,并获得整个页面的基于视觉的内容结构。
进一步地,所述的视觉块提取模块,在网页进行了分割后,分割出来每个部分中包含的视觉块之间都有紧密的联系,每个视觉块之间的DOC都高于PDOC;由多个视觉块聚合出来的结构为视觉结构visualstructure,每个视觉结构的特征信息都是由内部所有视觉块的信息构成,其中视觉结构的特征信息具体为:
位置信息:visualstructure的位置信息是一个四元组包括top、left、width和height四个视觉特征量,遍历visualstructure中所有的视觉块,找到最小的top,left和最大的top+height,left+weight,同时用以上这四个数据代表着visualstructure所包含的区域;
图像信息:visualstructure的图像信息为所包含的所有的视觉块图像信息的汇总,视觉块中存在两个字段,一个是记录包含图像个数,一个是图像的链接列表,将所有视觉块中的两个字段进行加和得到visualstructure的图像信息;
背景颜色:提取visualstructure中第一个视觉块的背景颜色作为visualstructure的背景颜色;
文本内容:包含视觉块的所有文本内容;
字体大小:提取第一个视觉块的字体大小当作visualstrcture的字体大小;
根据构建之后的VisualStructure,从根节点依次前序遍历每个视觉块信息,提取每个视觉块的视觉特征,visualstructure中的ID代表该结构在树中的位置,根节点ID=“1”,其子节点ID=“1-1”,“1-2”以此类推,为每一个visualstructure根据其ID名字建立一个文件夹用于存放该结构的一些具体文件,如结构中包含图片,则根据<img,src=“”>获取图片的url,获取到块中的图片存储到与之对应的ID文件夹内。
进一步地,所述的LOGO块提取模块,经过采集大量网页源码,对网页中LOGO图片位置的属性字段会包含LOGO或者LOGO字段,使用LOGO或者包含LOGO的字段设为该图片的类,利用该特性自主提取网页的LOGO图片;之后结合VIPS算法,提取出来LOGO图片具有最小的粒度,即提取出来的LOGO块仅包含LOGO图片不包含其他的干扰信息;
之后将html解析成DOM树,DOM树中的节点包含标签,标签属性为<div class=”LOGO”>或<div id=”LOGO”>,在提取过程中,如果视觉块中存在class属性包含“LOGO”关键字的时候,则将改视觉块设为LOGO块,其中IsLOGO字段为true,并且该视觉块的所有子节点也为LOGO块;
通过DOM树构建视觉树的时候标注LOGO块,LOGO标注算法如下:
解析DOM树中的每个节点属性信息,判断该节点是否为LOGO块,查看节点属性class或id中是否包含LOGO关键字,如果包含则为LOGO块;如果该节点是LOGO块,则将该节点设为可视块,并将DOC设为11,将该节点的所有子节点同时设为LOGO块;递归标注每一个子节点;
根据LOGO块需满足块DOC>PDOC规则,则LOGO视觉块探测算法如下:
递归遍历已经分割完成的所有视觉块,从视觉块根节点开始遍历;之后判断该视觉快是否满足粒度要求,如果满足则查看该视觉块中包含的所有可视块中是否存在LOGO块即isLOGO字段为true的节点,如果存在则将该块即为LOGO;获取视觉块位置四元组,如果为LOGO块则根据坐标截取网页中图片,最后递归遍历该视觉块所有子节点;
根据LOGO标注算法,LOGO探测算法,如果存在包含“LOGO”关键字的块,则将该视觉块视为LOGO块,因块中存在LOGO图片具有不确定性,所以对视觉结构中包含的所有的视觉块进行遍历,去判断是否为LOGO块,如果是则在ID后加上“LOGO”字样。
本发明的有益效果体现在:
一种基于视觉分块的网页LOGO提取系统及方法,是基于网页DOM树结构的特征进行特征量提取的系统及其方法,本发明的提取方法同时考虑了文本密度和网页的DOM树结构信息,准确率得到的提高,通常先利用浏览器渲染某个网页后,获取到这个网页中各个节点的视觉信息,该方法提取更为健壮的视觉特征,有更好的鲁棒性,同时具有更高的准确度。
附图说明
图1是基于视觉的页面分块算法流程图;
图2是某大学教务处视觉块提取示意图;
图3是某大学教务处页面分隔符集合示意图;
图4是内容重构后的某大学教务处页面显示图;
图5是经提取视觉特征结果图;
图6是某网页视觉块结构示意图;
图7是某网页编辑LOGO块示意图。
具体实施方式
具体实施方式一:结合附图1-7说明基于视觉分块的网页LOGO提取系统,具体实施方式如下:该系统包括页面数据提取模块、分隔符探测模块和页面布局重构模块;
上述各模块之间呈递进逻辑连接;页面数据提取模块用于所需特征量的提取,分隔符探测模块负责分隔符的添加以及规则化分割,页面布局重构模块用于将页面内容重新布局重构。
具体实施方式二:结合附图1-7说明基于视觉分块的网页LOGO提取方法,包括视觉块划分算法,根据网页的基本结构,浏览器根据HTML,CSS生成DOMtree,CSStree并进行渲染。
视觉块为DOM树节点的子集,与DOM树不同,每个视觉块都表示网页中的某一部分,视觉块用VisualBlock表示,由多个视觉块组成的视觉结构用VisualStructure表示,视觉块的特点如下:
(1)每个视觉块都是一个与网页平行的矩形,
(2)一个视觉结构里的所有视觉块之间关联度高于一个阈值,说明这个结构中内容关联度高,可以合并为一个视觉结构,
(3)视觉块中包含位置信息,字体大小,文本个数,链接个数,图片个数等等,
(4)视觉块之间不存在重合,
(5)视觉结构拥有所有视觉块的特点。
其中特点(3)提到的位置信息为坐标四元组(top,left,heigh,width),Top和left分别指节点显示区域矩形的左上角定点与页面下边沿的像素距离;heigh指矩形区域的高度,width指矩形区域的宽度。确定四元组可以确定VisualBlock的显示区域,提到的字体大小通过解析VisualBlock包含的DOM树结点获得,对所有节点的字体大小进行统计。图片个数也是对包含的DOM树节点解析,获取到<image>标签,统计个数并且保存链接。生成DOM树,并利用CSSBOX的类库对视觉块进行提取。
具体实施方式三:除具体实施方式二所述的视觉块划分算法,结合附图1-7的说明,该算法还可细化为视觉块划分过程:
其中每个页面都可以用一个三元组表示:Ω=(O,Φ,σ),O是一个块的有限集,每个块都不重合O=(Ω1,Ω2,…,Ωn)可以将每个块递归地视为与从整个页面结构产生的子结构相关联的子网页。
Φ是一个分隔符的有限集Φ=(φ1,φ2,…,φn),包括水平和垂直两个分隔符,每个分隔符都有一个表示其可见性的权重,并且同一Φ中的所有分隔符都具有相同的权重。
每两个块之间可以被表示为δ=OⅹO—>ΦU{NULL}对于每个视觉块,例子:存在Ω1,Ω2,并且δ(Ω1,Ω2)≠NULL,说明Ω1,Ω2存在一个分隔符,或者可得知两个块是相邻关系;
对于每个可视块,都定义了关联度(DOC),以衡量其内容的关联性,DOC具有以下属性:
(1)DOC值越大,块内的内容越一致。
(2)在层次结构树中,子级的DOC不小于其父级的DOC。
(3)在我们的算法中,DOC值是1到10的整数,不过也可以使用不同的范围(例如,实数等)。
具体实施方式四:基于视觉分块的网页LOGO提取方法,可以预先定义允许的关联度(PDOC)以实现不同应用程序的内容结构的不同粒度;PDOC越小,内容结构粒度越粗。视觉块划分流程如图1所示,包括块提取,分隔符检测和内容结构构建三个步骤,这三个步骤总体上视为一轮,算法是自上而下的;
首先将网页分为几个大块,然后记录此级别的层次结构,对于每个大块,递归执行相同的过程,直到获得DOC>PDOC的最小块,具体实施步骤如下:
步骤一:块提取,Web页面的主体内容都被标记在<body>和</body>之间,所以只需要提取主体部分的块区域,通常DOM树中的每一个节点都可以代表一个视觉块,但有一些大的节点(<table><p>)用它来代表单个视觉块并不合适,所有这些节点需要被分割并且被他们的子节点代替。
对于每个被提取出来的节点,其DOC值根据其内部差异进行设置,重复此过程直到找到所有合适的节点代表当前子页面中的可视块为止,具体算法过程如下:
(1)判断所有的DOM节点是否满足可视这个条件;
(2)如果满足可视这个条件,根据上面提到的规则对可视节点进行分割;
(3)如果节点可以分割,则继续遍历其子节点,对子节点重复这个过程;
(4)如果节点不可分割,将节点加入池中,进行保存。
接下来考虑判断DOM节点本身的属性以及DOM节点孩子的属性,依靠WWW html规范4.01,将DOM节点分为inline node和line-break node两类,依靠节点在浏览器中的表现和孩子节点的属性我们可以给出如下定义:
(1)有效节点:该节点展示在浏览器上,说明该节点的宽度和高度都>0
(2)文本节点:这个DOM节点对一个文本,不存在html标签
我们提出了一些启发式的规则判断节点是否可分,当该节点不可分割的时候为其设立DOC值;规则如表1所示:
表1块提取中适用的启发式规则表
对于拥有不同html标签的DOM节点,需要应用不同的规则,如表2所示:
表2不同规则对应不同节点对照表
R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 | R10 | R11 | R12 | |
Inline Text Node | √ | √ | √ | √ | √ | √ | √ | √ | √ | |||
<TABLE> | √ | √ | √ | √ | √ | √ | ||||||
<TR> | √ | √ | √ | √ | √ | √ | ||||||
<TD> | √ | √ | √ | √ | √ | √ | √ | √ | ||||
<P> | √ | √ | √ | √ | √ | √ | √ | √ | √ | |||
Other Tags | √ | √ | √ | √ | √ | √ | √√ | √ |
根据以上两个表对DOMTree进行划分,如图2所示,展示对DOMTree划分出来的视觉块。
步骤二:分隔符探测,一个分隔符由一个二元组代表,(Ps,Pe),Ps代表着起始坐标,Pe代表着结束坐标,分隔符宽度由这两个值计算,分隔符探测算法如下:
首先初始化分隔符列表,列表最开始只包含一个以面板为界限的分隔符,对于在面板上的每个视觉块,每个视觉块之间的分隔符按如下规则别评估,如果分隔符中包含一个块,则分割这个分隔符;如果块穿过一个分隔符,则重新调整分隔符参数,如果一个分隔符被block覆盖,则移除这个分隔符,移除初始面板周围的4个分隔符,分隔符被用来辨别不同语义块,因此分隔符的权重可以根据相邻块的不同分配,接下来的规则被用来为每一个分隔符设置权重;分隔符宽度越宽则权值越大,如果分隔符与某些标签重叠则权值越高,如果分隔符分割开的两个视觉块背景颜色不同则权值提高,对于水平分隔符,如果分隔符两侧的字体属性(如字体大小和字体粗细)差异较大,则权值会增加。此外,如果分隔符上方的块的字体大小小于分隔符下方的块的字体大小,则权值会增加;对于水平分隔器,当分隔器两侧的块的结构非常相似(例如均为文本)时,分隔器的权值将减小;如图3所示在网页中添加的分隔符:
步骤三:内容结构构建,构建过程从权值最小的的分隔符开始,然后将这些分隔符旁边视觉块合并以形成新的视觉块;合并过程将反复进行,直到满足最大权值的分隔符为止。根据块区域中分隔符的最大权重设置每个视觉块的DOC。
之后,检查每个叶子节点是否满足粒度要求。对于每个失败的节点,我们再次转到可视块提取步骤,以进一步在该节点内构造子内容结构。如果所有节点都满足要求,则停止迭代过程,并获得整个页面的基于视觉的内容结构。如果预先定义了PDOC,则DOC的常见要求是DOC>PDOC。
具体实施方式五:结合附图1-7说明,除具体实施方式二所述的视觉块提取方法,该方法还可细化为网页视觉块提取和LOGO块提取两部分:
(1)视觉块提取
根据具体实施方式四中步骤二中的分隔符探测算法,网页进行了分割后,分割出来每个部分中包含的视觉块之间都有紧密的联系,每个视觉块之间的DOC都高于PDOC。由多个视觉块聚合出来的结构为视觉结构(visualstructure),每个视觉结构的特征信息都是由内部所有视觉块的信息构成,其中视觉结构的特征信息具体为:
位置信息:visualstructure的位置信息是一个四元组包括top、left、width和height四个视觉特征量,遍历visualstructure中所有的视觉块,找到最小的top,left和最大的top+height,left+weight,同时用以上这四个数据代表着visualstructure所包含的区域;
图像信息:visualstructure的图像信息就是所包含的所有的视觉块图像信息的汇总,视觉块中存在两个字段,一个是记录包含图像个数,一个是图像的链接列表。将所有视觉快中这这两个字段进行加和就是visualstructure的图像信息。
背景颜色:提取visualstructure中第一个视觉块的背景颜色当作visualstructure的背景颜色。
文本内容:包含视觉块的所有文本内容
字体大小:提取第一个视觉块的字体大小当作visualstrcture的字体大小。
根据构建之后的VisualStructure,从根节点依次前序遍历每个视觉块信息,提取每个视觉块的视觉特征。visualstructure中的ID代表着该结构在树中的位置,根节点ID=“1”,其子节点ID=”1-1”,”1-2”以此类推。为每一个visualstructure根据其ID名字建立一个文件夹用于存放该结构的一些具体文件。比如:如果结构中包含图片,根据<img,src=””>获取图片的url,获取到块中的图片存储到与之对应的ID文件夹内。
(2)LOGO块提取
经过观察大量网页源码发现,网页中LOGO图片位置的属性字段大概率会包含LOGO或者LOGO字段,因为开发者为了定义该图片为网页中的LOGO,所以使用LOGO或者包含LOGO的字段设为该图片的类。本方法利用到该特性,自主提取到网页的LOGO图片。结合VIPS算法,提取出来LOGO图片具有最小的粒度,即提取出来的LOGO块仅包含LOGO图片不包含其他的干扰信息;之后将html解析成DOM树,DOM树中的节点包含标签,标签属性为<div class=”LOGO”>或<div id=”LOGO”>,在提取过程中,如果视觉块中存在class属性包含“LOGO”关键字的时候,则将改视觉块设为LOGO块,其中IsLOGO字段为true,并且该视觉块的所有子节点也为LOGO块;
通过DOM树构建视觉树的时候标注LOGO块,LOGO标注算法如下:
解析DOM树中的每个节点属性信息,判断该节点是否为LOGO块,查看节点属性class或id中是否包含LOGO关键字,如果包含则为LOGO块;如果该节点是LOGO块,则将该节点设为可视块,并将DOC设为11,将该节点的所有子节点同时设为LOGO块;递归标注每一个子节点;
根据LOGO块需满足块DOC>PDOC,LOGO,块探测算法如下:
递归遍历已经分割完成的所有视觉块,从视觉块根节点开始遍历;之后判断该视觉快是否满足粒度要求,如果满足的去查看该视觉块中包含的所有可视块中是否存在LOGO块即isLOGO字段为true的节点,如果存在则将该块即为LOGO;获取视觉块位置四元组,如果为LOGO块则根据坐标截取网页中图片,最后递归遍历该视觉块所有子节点。
根据LOGO标注算法,LOGO探测算法,如果存在包含“LOGO”关键字的块,则将该视觉块视为LOGO块,块中可能存在LOGO图片,所以对视觉结构中包含的所以的视觉块进行遍历,去判断是否为LOGO块,如果是则在ID后加上“LOGO”字样。
以上实施例只是对本专利的示例性说明,并不限定它的保护范围,本领域技术人员还可以对其局部进行改变,只要没有超出本专利的精神实质,都在本专利的保护范围内。
Claims (9)
1.一种基于视觉分块的网页LOGO提取系统,其特征在于:该系统包括页面数据提取模块、分隔符探测模块和页面布局重构模块,上述各模块之间呈递进逻辑连接;
页面数据提取模块用于所需特征量的提取;
分隔符探测模块负责分隔符的添加以及规则化分隔;
页面布局重构模块用于将页面内容重新布局重构。
2.根据权利要求1所述的一种基于视觉分块的网页LOGO提取系统,其特征在于:所述的页面数据提取模块由视觉块提取模块和LOGO块提取模块两部分组成。
3.一种基于视觉分块的网页LOGO提取方法,是根据权利要求2所述提取系统为基础实现的,其特征在于:具体方法步骤如下:
步骤一,在对html页面进行解析,然后通过所述的页面数据提取模块中的视觉块提取模块对视觉块进行提取,通过所述的LOGO块提取模块对LOGO块进行数据提取;
步骤二,利用所述的分隔符探测模块在网页中添加分隔符并通过算法进行分隔;
步骤三,最终通过页面布局重构模块将分隔整理后的内容进行页面布局重构,实现网页LOGO提取。
4.根据权利要求3所述的一种基于视觉分块的网页LOGO提取方法,其特征在于:在步骤一中视觉块提取模块根据视觉块的特点进行视觉块提取,视觉块为DOM树节点的子集;视觉块用VisualBlock表示,由多个视觉块组成的视觉结构则用VisualStructure表示,所述的视觉块特点具体为:
A.每个视觉块都是一个与网页平行的矩形;
B.一个视觉结构里的所有视觉块之间关联度高于一个阈值,说明这个结构中内容关联度高,可以合并为一个视觉结构;
C.视觉块中包含位置信息,字体大小,文本个数,链接个数,图片个数;
D.视觉块之间不存在重合;
E.视觉结构拥有所有视觉块的特点。
5.根据权利要求4所述的一种基于视觉分块的网页LOGO提取方法,其特征在于:所述的位置信息以top、left、heigh和width作为坐标四元组,top和left分别定义节点显示区域矩形的左上角定点与页面下边沿的像素距离;heigh指矩形区域的高度,width指矩形区域的宽度;确定四元组进而确定VisualBlock的显示区域,所述的字体大小通过解析VisualBlock包含的DOM树结点获得,对所有节点的字体大小进行统计;所述的图片个数对包含的DOM树节点解析,获取到<image>标签,统计个数并且保存链接生成DOM树,最终利用CSSBOX类库模型对视觉块进行提取。
6.根据权利要求5所述的一种基于视觉分块的网页LOGO提取方法,其特征在于:根据步骤二中所述的分隔符探测模块,一个分隔符由一个二元组代表Ps,Pe,其中Ps代表着起始坐标,Pe代表着结束坐标,分隔符宽度由这两个值计算,分隔符探测算法步骤如下:
步骤二一,首先初始化分隔符列表,列表最开始只包含一个以面板为界限的分隔符对于在面板上的每个视觉块,每个视觉块之间的分隔符按如下规则别评估,首先移除初始面板周围的4个分隔符,如果分隔符中包含一个块,则分隔这个分隔符;如果块穿过一个分隔符,则重新调整分隔符参数;如果一个分隔符被block覆盖,则移除这个分隔符;移除初始面板周围的4个分隔符;
步骤二二,分隔符被用来辨别不同语义块,因此分隔符的权重可以根据相邻块的不同分配,接下来的规则被用来为每一个分隔符设置权重,分隔符宽度越宽则权值越大,如果分隔符与某些标签重叠则权值越高,如果分隔符分隔开的两个视觉块背景颜色不同则权值提高;
步骤二三,对于水平分隔符,如果分隔符两侧的字体属性差异较大,则权值会增加,此外,如果分隔符上方的块的字体大小小于分隔符下方的块的字体大小,则权值会增加,对于水平分隔器,当分隔器两侧的块的结构非常相似时,分隔器的权值将减小。
7.根据权利要求6所述的一种基于视觉分块的网页LOGO提取方法,其特征在于:步骤三中所述的页面布局重构模块,构建过程从权值最小的的分隔符开始,然后将这些分隔符旁边视觉块合并以形成新的视觉块;合并过程将反复进行,直到满足最大权值的分隔符为止,并根据块区域中分隔符的最大权重设置每个视觉块文件的DOC,其中预先定义文件为PDOC,则DOC的要求是DOC>PDOC;
之后检查每个叶子节点是否满足粒度要求,对于每个失败的节点,再次转到视觉块提取步骤,以进一步在该节点内构造子内容结构;如果所有节点全部满足要求,则停止迭代过程,并获得整个页面的基于视觉的内容结构。
8.根据权利要求7所述的一种基于视觉分块的网页LOGO提取方法,其特征在于:所述的视觉块提取模块,在网页进行了分隔后,分隔出来每个部分中包含的视觉块之间都有紧密的联系,每个视觉块之间的DOC都高于PDOC;由多个视觉块聚合出来的结构为视觉结构visualstructure,每个视觉结构的特征信息都是由内部所有视觉块的信息构成,其中视觉结构的特征信息具体为:
位置信息:visualstructure的位置信息是一个四元组包括top、left、width和height四个视觉特征量,遍历visualstructure中所有的视觉块,找到最小的top,left和最大的top+height,left+weight,同时用以上这四个数据代表着visualstructure所包含的区域;
图像信息:visualstructure的图像信息为所包含的所有的视觉块图像信息的汇总,视觉块中存在两个字段,一个是记录包含图像个数,一个是图像的链接列表,将所有视觉块中的两个字段进行加和得到visualstructure的图像信息;
背景颜色:提取visualstructure中第一个视觉块的背景颜色作为visualstructure的背景颜色;
文本内容:包含视觉块的所有文本内容;
字体大小:提取第一个视觉块的字体大小当作visualstrcture的字体大小;
根据构建之后的VisualStructure,从根节点依次前序遍历每个视觉块信息,提取每个视觉块的视觉特征,visualstructure中的ID代表该结构在树中的位置,根节点ID=“1”,其子节点ID=“1-1”,“1-2”以此类推,为每一个visualstructure根据其ID名字建立一个文件夹用于存放该结构的一些具体文件,如结构中包含图片,则根据<img,src=“”>获取图片的url,获取到块中的图片存储到与之对应的ID文件夹内。
9.根据权利要求8所述的一种基于视觉分块的网页LOGO提取方法,其特征在于:所述的LOGO块提取模块,经过采集大量网页源码,对网页中LOGO图片位置的属性字段会包含LOGO或者LOGO字段,使用LOGO或者包含LOGO的字段设为该图片的类,利用该特性自主提取网页的LOGO图片;之后结合VIPS算法,提取出来LOGO图片具有最小的粒度,即提取出来的LOGO块仅包含LOGO图片不包含其他的干扰信息;
之后将html解析成DOM树,DOM树中的节点包含标签,标签属性为<div class=”LOGO”>或<div id=”LOGO”>,在提取过程中,如果视觉块中存在class属性包含“LOGO”关键字的时候,则将改视觉块设为LOGO块,其中IsLOGO字段为true,并且该视觉块的所有子节点也为LOGO块;
通过DOM树构建视觉树的时候标注LOGO块,LOGO标注算法如下:
解析DOM树中的每个节点属性信息,判断该节点是否为LOGO块,查看节点属性class或id中是否包含LOGO关键字,如果包含则为LOGO块;如果该节点是LOGO块,则将该节点设为可视块,并将DOC设为11,将该节点的所有子节点同时设为LOGO块;递归标注每一个子节点;
根据LOGO块需满足块DOC>PDOC规则,则LOGO视觉块探测算法如下:
递归遍历已经分隔完成的所有视觉块,从视觉块根节点开始遍历;之后判断该视觉块是否满足粒度要求,如果满足则查看该视觉块中包含的所有可视块中是否存在LOGO块即isLOGO字段为true的节点,如果存在则将该块即为LOGO;获取视觉块位置四元组,如果为LOGO块则根据坐标截取网页中图片,最后递归遍历该视觉块所有子节点;
根据LOGO标注算法,LOGO探测算法,如果存在包含“LOGO”关键字的块,则将该视觉块视为LOGO块,因块中存在LOGO图片具有不确定性,所以对视觉结构中包含的所有的视觉块进行遍历,去判断是否为LOGO块,如果是则在ID后加上“LOGO”字样。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010972271.9A CN112084451B (zh) | 2020-09-16 | 2020-09-16 | 一种基于视觉分块的网页logo提取系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010972271.9A CN112084451B (zh) | 2020-09-16 | 2020-09-16 | 一种基于视觉分块的网页logo提取系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084451A true CN112084451A (zh) | 2020-12-15 |
CN112084451B CN112084451B (zh) | 2022-09-30 |
Family
ID=73736881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010972271.9A Active CN112084451B (zh) | 2020-09-16 | 2020-09-16 | 一种基于视觉分块的网页logo提取系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084451B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732955A (zh) * | 2021-03-31 | 2021-04-30 | 国网浙江省电力有限公司 | 标准成本核算中的财务凭证存储记录方法 |
CN113806665A (zh) * | 2021-09-24 | 2021-12-17 | 刘秀萍 | 基于非模式化Web数据模型的网页分块方法 |
CN115982443A (zh) * | 2023-03-17 | 2023-04-18 | 杭州实在智能科技有限公司 | 基于视觉分析的屏幕页面结构解析与路径存储方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663023A (zh) * | 2012-03-22 | 2012-09-12 | 浙江盘石信息技术有限公司 | 一种提取网页内容的实现方法 |
US20130124684A1 (en) * | 2010-07-30 | 2013-05-16 | Li-Wei Zheng | Visual separator detection in web pages using code analysis |
CN103442014A (zh) * | 2013-09-03 | 2013-12-11 | 中国科学院信息工程研究所 | 一种自动检测疑似仿冒网站的方法及系统 |
CN104123363A (zh) * | 2014-07-21 | 2014-10-29 | 北京奇虎科技有限公司 | 网页主图提取方法及装置 |
CN104182424A (zh) * | 2013-05-28 | 2014-12-03 | 中国电信股份有限公司 | 适用于移动终端的网页处理方法和服务器 |
CN104834717A (zh) * | 2015-05-11 | 2015-08-12 | 浪潮集团有限公司 | 一种基于网页聚类的Web信息自动抽取方法 |
CN105912633A (zh) * | 2016-04-11 | 2016-08-31 | 上海大学 | 面向稀疏样本的聚焦式Web信息抽取系统及方法 |
-
2020
- 2020-09-16 CN CN202010972271.9A patent/CN112084451B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130124684A1 (en) * | 2010-07-30 | 2013-05-16 | Li-Wei Zheng | Visual separator detection in web pages using code analysis |
CN102663023A (zh) * | 2012-03-22 | 2012-09-12 | 浙江盘石信息技术有限公司 | 一种提取网页内容的实现方法 |
CN104182424A (zh) * | 2013-05-28 | 2014-12-03 | 中国电信股份有限公司 | 适用于移动终端的网页处理方法和服务器 |
CN103442014A (zh) * | 2013-09-03 | 2013-12-11 | 中国科学院信息工程研究所 | 一种自动检测疑似仿冒网站的方法及系统 |
CN104123363A (zh) * | 2014-07-21 | 2014-10-29 | 北京奇虎科技有限公司 | 网页主图提取方法及装置 |
CN104834717A (zh) * | 2015-05-11 | 2015-08-12 | 浪潮集团有限公司 | 一种基于网页聚类的Web信息自动抽取方法 |
CN105912633A (zh) * | 2016-04-11 | 2016-08-31 | 上海大学 | 面向稀疏样本的聚焦式Web信息抽取系统及方法 |
Non-Patent Citations (1)
Title |
---|
王宪发等: "基于视觉特征的网页信息抽取方法研究", 《中文信息学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732955A (zh) * | 2021-03-31 | 2021-04-30 | 国网浙江省电力有限公司 | 标准成本核算中的财务凭证存储记录方法 |
CN113806665A (zh) * | 2021-09-24 | 2021-12-17 | 刘秀萍 | 基于非模式化Web数据模型的网页分块方法 |
CN115982443A (zh) * | 2023-03-17 | 2023-04-18 | 杭州实在智能科技有限公司 | 基于视觉分析的屏幕页面结构解析与路径存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112084451B (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112084451B (zh) | 一种基于视觉分块的网页logo提取系统及方法 | |
CN110968667B (zh) | 一种基于文本状态特征的期刊文献表格抽取方法 | |
US8719291B2 (en) | Information extraction using spatial reasoning on the CSS2 visual box model | |
US7941420B2 (en) | Method for organizing structurally similar web pages from a web site | |
Fang et al. | A table detection method for multipage pdf documents via visual seperators and tabular structures | |
CN109492177B (zh) | 一种基于网页语义结构的网页分块方法 | |
CN106709032A (zh) | 抽取电子表格文档中结构化信息的方法及装置 | |
Al-Zaidy et al. | Automatic summary generation for scientific data charts | |
CN112667940B (zh) | 基于深度学习的网页正文抽取方法 | |
JP2005063432A (ja) | マルチメディアオブジェクト検索装置およびマルチメディアオブジェクト検索方法 | |
US20130124684A1 (en) | Visual separator detection in web pages using code analysis | |
Fauzi et al. | Webpage segmentation for extracting images and their surrounding contextual information | |
Insa Cabrera et al. | Using the words/leafs ratio in the DOM tree for content extraction | |
CN109165373B (zh) | 一种数据处理方法及装置 | |
CN107145591A (zh) | 一种基于标题的网页有效元数据内容提取方法 | |
Nguyen et al. | Web document analysis based on visual segmentation and page rendering | |
CN108694192B (zh) | 网页类型的判断方法及装置 | |
Gali et al. | Extracting representative image from web page | |
CN110083760A (zh) | 一种基于可视块的多记录型动态网页信息提取方法 | |
Kamola et al. | Image-based logical document structure recognition | |
CN113434797B (zh) | 一种网页信息提取方法及装置 | |
Rahal et al. | Information extraction from Arabic and Latin scanned invoices | |
CN110147516A (zh) | 页面设计中前端代码的智能识别方法及相关设备 | |
Kim et al. | Main content extraction from web documents using text block context | |
Xu et al. | Estimating similarity of rich internet pages using visual information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |