CN113486228B - 基于md5三叉树和改进birch算法的互联网论文数据自动抽取算法 - Google Patents
基于md5三叉树和改进birch算法的互联网论文数据自动抽取算法 Download PDFInfo
- Publication number
- CN113486228B CN113486228B CN202110751368.1A CN202110751368A CN113486228B CN 113486228 B CN113486228 B CN 113486228B CN 202110751368 A CN202110751368 A CN 202110751368A CN 113486228 B CN113486228 B CN 113486228B
- Authority
- CN
- China
- Prior art keywords
- node
- acf
- data
- nodes
- algorithm
- 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.)
- Active
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/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- 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/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,该方法包括:从所需要抽取出互联网论文数据的网站中抓取数据,进行页面清洗与预处理,基于MD5三叉树进行站内静态噪音去除,基于节点间相似度进行页间动态噪音去除,融合DBSCAN密度聚类算法对样本点数据进行密集区域与稀疏区域的划分,融合密度因素构建ACF树,修正密集区域与稀疏区域生成ACF森林,基于改进BIRCH算法进行字段单元构建,将得到的字段单元通过字段匹配与页面内容提取方法对字段单元和字段进行匹配,从而得到所需要提取的网页数据。本发明噪音去除技术更优,字段单元构建与字段匹配更高效,能有效解决互联网论文数据自动抽取问题。
Description
技术领域
本发明属于数据采集技术领域,特别是一种基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法。
背景技术
自2012年以来,“大数据”一词已经广为人知,世界逐步开始了“大数据时代”。随着我国进入科技发展的上升期,信息流通速度加快,使得无论在学术界、政府还是企业中,都开始了一场将庞杂的数据资源进行量化的革命,最直观的结果就是ZB量级的到来。其中,信息量占比、信息密度最大的领域就是互联网。大量的互联网网页已经成为了如今规模最大的数据信息源,并为需求者提供了方便、快捷的信息获取平台。通过分析网页中的数据,得到独家信息,可以构建知识图谱、生成人物画像、进行精准推荐等任务,所以数据的获取显得尤为重要,尤其是在学术领域。
近年来,发表在各大期刊、会议上的论文数量呈几何式增长,通过大数据分析论文作者、所属机构、研究领域等之间的关系,有利于同等领域内学者的交流,促进研究的进一步发展。如今学术研究者极其重视的信息被称为“学术领域信息”,对学术领域信息进行深入挖掘并构建相关知识图谱、学术网络,对学术界的学科发展和研究工作有重大价值,因此就需要对大量论文页面中的学术范畴信息进行采集和保留。互联网科技数据信息抽取是采集不同期刊的论文发表页面,对学术领域信息再进行深层次的数据挖掘,或构建知识图谱,发现潜在的数据价值。但是由于网页的多样性,不同站点下的页面结构通常是不一样的,这样数据采集开发人员在进行信息抽取时,需要针对该网页结构编写一套特定的页面解析函数,用于在该站点下的网页中抽取相同模块之间的信息。人工的干预不仅仅浪费人力资源,而且在网站网页模板变更时,还需要相关的人员去维护。因此,寻求一种自动化网页信息抽取技术是十分迫切且必要的。
发明内容
本发明针对上述现有技术中的缺陷,提出一种基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法。该方法包括从所需要抽取出互联网论文数据的网站中抓取数据,进行页面清洗与预处理,基于MD5三叉树进行站内静态噪音去除,基于节点间相似度进行页间动态噪音去除,融合DBSCAN密度聚类算法对样本点数据进行密集区域与稀疏区域的划分,融合密度因素构建ACF树,修正密集区域与稀疏区域生成ACF森林,基于改进BIRCH算法进行字段单元构建,将得到的字段单元通过字段匹配与页面内容提取方法对字段单元和字段进行匹配,从而得到所需要提取的网页数据。本发明噪音去除技术更优,字段单元构建与字段匹配更高效,能有效解决互联网论文数据自动抽取问题。
本发明提供一种基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,所述方法包括以下步骤:
S1、数据抓取:从所需要抽取出互联网论文数据的网站中抓取到页面的HTML代码,并将其存储在本地数据库;
S2、页面清洗与预处理:删除页面注释、无用标签、空节点,合并文字内容,使得页面内有效文本内容均以行为单位居中于页面中央;
S3、基于MD5三叉树进行站内静态噪音去除:将经过清洗与预处理的页面采用基于MD5三叉树的站内静态模板噪音清除算法,去除静态噪音数据;
S4、基于节点间相似度进行页间动态噪音去除:将去除静态噪音的页面采用基于节点间相似度的页间噪音清除算法,去除动态噪音数据;
S5、基于改进BIRCH算法进行字段单元构建:将进行降噪处理后的页面使用基于改进的BIRCH聚类算法构建字段单元,所述步骤S5具体包括以下步骤:
S51、节点特征选择及向量化表示;
S52、基于改进BIRCH聚类算法构建字段单元;
S6、字段匹配:将得到的字段单元通过字段匹配与页面内容提取方法对字段单元和字段进行匹配,从而得到所需要提取的网页数据,所述步骤S6具体包括以下步骤:
S61、定义Web页面字段名称;
S62、定义字段匹配与页面内容提取方法:针对Web页面所表现出来的结构,基于规则的正则表达式进行字段匹配;针对部分字段规则呈现不明显且文本内容不存在任何语义的情况,基于数理统计进行字段匹配。
进一步,所述步骤S3具体包括以下步骤:
S31、通过使用网站页面的DOM树结构,对每一个页面定义一个三元组P=(Ω,Φ,η);
其中:Ω=(P1,P2,…,Pn)表示给定页面上DOM树的节点Pi集合,i=1~n;Φ=(tag,attrib,text,path)表示当前DOM子树的根节点信息,tag表示节点的标签名称,attrib表示节点的属性信息,text表示节点下的文本内容,path表示节点的路径;η表示Φ所生成的唯一标识信息,将它称作节点的“指纹”,采用MD5算法计算得出;
S32、将基于MD5三叉树模型数据结构表示为五元组(D,h,p,n,s);
其中:D表示HTML文档解析成的DOM树结构,表示该DOM树按深度遍历得到的所有节点的MD5值的集合;h表示前缀节点,表示从集合开始到第一个相同MD5值之间的子集;p表示噪音节点;n表示两个对比页面中相同MD5值的部分;s为后缀节点,表示从n中最后一个MD5后到h中最后一个MD5之间的子集;在构建三叉树的过程中可以递归表示成(hi,pi,ni,si),i表示三叉树的层数;
S33、将相同站点下两个页面按照上述方法进行定义和计算并进行比较,可以得到静态噪音,并进行清除。
优选的,所述步骤S4具体包括以下步骤:
S41、计算链接节点即动态模板噪音初值,用符号Di表示:
其中:i表示第i个链接节点;FNi表示文本内数字的个数;TLi表示动态噪音文本字符的个数;
S42、计算链接节点相似度;
S43、计算其他链接节点对当前链接节点的总影响Zi:
其中:Wi表示第i个链接节点对当前链接节点的影响权重;
S44、将经过上述操作后得到的最终结果即为当前节点的最终噪音值;
S45、将节点的噪音值进行聚类。
优选的,所述步骤S42具体包括以下步骤:
S421、计算节点间距离,即从根节点开始到两节点的路径中,除去公共节点后剩余节点的数量;
S422、节点间距离的倒数视为节点间的相似度值;
S423、构建链接节点间相似度矩阵。
所述步骤S45具体包括以下步骤:
S451、将噪音值映射到指定区间内,得到最终的节点得分Score:
其中:a和b分别表示映射到指定区间的边界值;x表示待输入的噪音值;xmin和xmax分别表示噪音值中的最小值和最大值,由于加入了基础节点,且噪音值均为正数,所以xmin恒为0;
S452、将得到的各链接节点的值后,采用CLARANS算法对节点进行聚类,固定聚类类别为2类,对应正文链接和噪音链接,从而去除动态模板噪音数据。
优选的,所述步骤S52具体包括以下步骤:
S521、基于样本点距离区域划分,融合DBSCAN密度聚类算法,对样本点数据进行密集区域与稀疏区域的划分;
S522、融合密度因素构建ACF树,将各个区域的样本点分别进行ACF森林的构建,采用两种不同的聚类特征,引入修正因子,来动态更新ACF森林的子空间阈值;
S523、修正密集区域与稀疏区域生成ACF森林,在构建的稀疏区域ACF森林中,扫描所有稀疏区域ACF森林的叶子节点,寻找更新子空间半径后的密集区域ACF森林中可以合并的叶子节点,并将其插入密集区域ACF森林中,随后更新圆域半径以及祖先节点CF三元组的值;
S524、重复执行步骤S523,直至稀疏区域中无样本点可插入密集区域中则执行步骤S525;
S525、遍历完所有的稀疏区域构成的ACF森林中的样本点,得到多个区域内生成的ACF森林,ACF森林中每一棵树的叶子节点都是一个字段单元。
优选的,所述步骤S521具体包括以下步骤:
S5211、任意读取一个数据样本,将其视为圆域的质心di,然后依次读入数据,计算当前样本点x与圆域质心di的距离Dd:
其中:m为数据样本包含的特征个数;
S5212、若Dd小于提前设置的圆域半径R,则执行步骤S5213,否则将样本点x视为一个新的圆域的质心;
S5213、将样本点x加入以di为质心的圆域,并更新圆域的质心di′:
其中:n0表示当前圆域内样本点的数量;
S5214、继续读入数据,并与当前已经建立起来的圆域质心计算距离,并加入到距离最近且小于R的圆域中,直到数据读入完毕。
优选的,所述步骤S522具体包括以下步骤:
S5221、从数据集中读入第一个样本点X1,将其放入一个新的三元组ACFA中,此时这个三元组的N=1,LS与SS值与该样本点相同,将这个样本节点放入根节点;
S5222、读入第二个样本点X2,计算X1与X2间的距离,若X2在以X1为圆心R为半径的圆域范围内,则说明它们都属于ACFA,将X2也加入到ACFA,并更新ACFA的三元组的值;
计算ACFA的圆域半径修正因子dt:
R′=R·dt (7)
其中:n1为圆域内样本点个数;Y为数据样本总数;R′为修正因子修正后的圆域半径;
每有一个新样本点插入ACF中,都要更新一次该ACF的圆域半径,并更新圆域的质心;
S5223、读入第三个样本点X3,若发现它不能融入刚才形成的圆域A,需要一个新的四元组ACFB来容纳这个新的样本点,此时根节点有两个区域聚类特征,分别为ACFA和ACFB,每插入一个新样本都要向上递归更新其祖先节点的聚类特征CF,此时不需要保留圆域半径修正因子,直接更新其三元组即可;
S5224、若ACF树中某一节点的子节点数量大于分支因子B,则需要进行节点分裂;
S5225、将该节点下的所有ACF四元组中,找到两个距离最远的ACF,作为两个新叶子节点的种子ACF,然后将该节点下剩余的叶子节点,包括新样本点,根据距离划分到两个最近的新节点旁;
S5226、若分裂后的ACF树根节点的子节点数量也超过了范围,对根节点也要分裂,分裂方法与步骤S5225相同;
将每一个密集区域与稀疏区域都进行上述操作,会生成多棵ACF树。
优选的,所述步骤S522中两种不同的聚类特征包括叶子节点的聚类特征和非叶子节点的聚类特征,其中每一个ACF森林的非叶节点聚类特征与BIRCH算法中的聚类特征相同,由一个三元组(N,LS,SS)组成;叶子节点的聚类特征则引入一个修正因子,来动态更新ACF森林的子空间阈值,至少包含2个样本点的叶子节点聚类特征由一个四元组(N,LS,SS,dt)组成;
其中:N表示当前ACF/CF节点内拥有的样本点数量;LS表示当前ACF/CF节点内样本各个特征维度的向量和,其维度大小与特征向量的维度相同;SS表示当前ACF/CF节点内拥有的样本点各特征维度平方的和,其维度大小为1;dt表示当前ACF节点空间区域半径R的修正因子,dt=1+na/Y,na表示圆域内样本点个数,Y表示数据样本总数。
优选的,所述步骤S31中节点的属性信息attrib为节点拥有的包含名称及属性值在内的全部属性,文本内容text为节点起始标签和结束标签之间包含的全部的文本信息。
与现有技术相比,本发明的技术效果为:
1、本发明设计的一种基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,基于MD5三叉树进行站内静态噪音去除,基于节点间相似度进行页间动态噪音去除,噪音去除技术更优,为论文数据的抓取提供了便利。
2、本发明设计的一种基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,融合DBSCAN密度聚类算法对样本点数据进行密集区域与稀疏区域的划分,融合密度因素构建ACF树,基于改进BIRCH算法进行字段单元构建,字段单元构建更快速准确。
3、本发明设计的一种基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,针对Web页面所表现出来的结构,基于规则的正则表达式进行字段匹配;针对部分字段规则呈现不明显且文本内容不存在任何语义的情况,基于数理统计进行字段匹配,字段匹配更高效,能有效解决互联网论文数据自动抽取问题。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。
图1是本发明的基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法的流程图;
图2是本发明的基于样本点距离的密集区域与稀疏区域的划分示意图;
图3为本发明的ACF树构建示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本发明的基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,该方法包括以下步骤:
S1、数据抓取:从所需要抽取出互联网论文数据的网站中抓取到页面的HTML代码,并将其存储在本地数据库。
S2、页面清洗与预处理:删除页面注释、无用标签、空节点,合并文字内容,使得页面内有效文本内容均以行为单位居中于页面中央。
S3、基于MD5三叉树进行站内静态噪音去除:将经过清洗与预处理的页面采用基于MD5三叉树的站内静态模板噪音清除算法,去除静态噪音数据。
S31、通过使用网站页面的DOM树结构,对每一个页面定义一个三元组P=(Ω,Φ,η)。
其中:Ω=(P1,P2,…,Pn)表示给定页面上DOM树的节点Pi集合,i=1~n;Φ=(tag,attrib,text,path)表示当前DOM子树的根节点信息,tag表示节点的标签名称,attrib表示节点的属性信息,由于节点的属性可能不止一个,节点的属性信息attrib为节点拥有的包含名称及属性值在内的全部属性,text表示节点下的文本内容,为节点起始标签和结束标签之间包含的全部的文本信息,path表示节点的路径;η表示Φ所生成的唯一标识信息,将它称作节点的“指纹”,使用Φ中的三种混合信息来生成节点的“指纹”,即一棵以该节点为根节点的DOM子树。在本发明中,η采用MD5算法计算得出,因为MD5函数计算简单,且运行速度较快。值得注意的是,为了避免HTML书写不规范带来的误差,在进行MD5计算时,将文本内容中的所有空格进行了删除,这一操作是根据大量实验得出的。这些DOM树节点间没有重叠覆盖,而每一个DOM树节点Pi又可视为DOM树中以Pi为根节点的子树,所以可被定义为前面所描述的三元组Pi=(Ωi,Φi,ηi),如此迭代循环。
S32、将基于MD5三叉树模型数据结构表示为五元组(D,h,p,n,s)。
其中:D表示HTML文档解析成的DOM树结构,表示该DOM树按深度遍历得到的所有节点的MD5值的集合;h表示前缀节点,表示从集合开始到第一个相同MD5值之间的子集;p表示噪音节点;n表示两个对比页面中相同MD5值的部分;s为后缀节点,表示从n中最后一个MD5后到h中最后一个MD5之间的子集;在构建三叉树的过程中可以递归表示成(hi,pi,ni,si),i表示三叉树的层数。
S33、将相同站点下两个页面按照上述方法进行定义和计算并进行比较,可以得到静态噪音,并进行清除。
S4、基于节点间相似度进行页间动态噪音去除:将去除静态噪音的页面采用基于节点间相似度的页间噪音清除算法,去除动态噪音数据。
S41、计算链接节点即动态模板噪音初值:初步定义了一个链接节点是噪音的可能性大小,即噪音初值,用符号Di表示:
其中:i表示第i个链接节点;FNi表示文本内数字的个数;TLi表示动态噪音文本字符的个数;ln(TLi+2)是为了防止分母出现为零的情况。该公式表明,Di越小则当前链接节点是噪音节点的概率越大。
S42、计算链接节点相似度:
S421、计算节点间距离,即从根节点开始到两节点的路径中,除去公共节点后剩余节点的数量。
S422、节点间距离的倒数视为节点间的相似度值。
S423、构建链接节点间相似度矩阵。
S43、由于节点间相似度越高,节点间影响越大,计算其他链接节点对当前链接节点的总影响Zi:
其中:Wi表示第i个链接节点对当前链接节点的影响权重。
S44、将经过上述操作后得到的最终结果即为当前节点的最终噪音值。
S45、将节点的噪音值进行聚类:
S451、将噪音值映射到指定区间内,得到最终的节点得分Score:
其中:a和b分别表示映射到指定区间的边界值;x表示待输入的噪音值;xmin和xmax分别表示噪音值中的最小值和最大值,由于加入了基础节点,且噪音值均为正数,所以xmin恒为0。
S452、将得到的各链接节点的值后,采用CLARANS算法对节点进行聚类,固定聚类类别为2类,对应正文链接和噪音链接,从而去除动态模板噪音数据。
S5、基于改进BIRCH算法进行字段单元构建:将进行降噪处理后的页面使用基于改进的BIRCH聚类算法构建字段单元:
S51、节点特征选择及向量化表示。
S52、基于改进BIRCH聚类算法构建字段单元:
S521、基于样本点距离区域划分,融合DBSCAN密度聚类算法,对样本点数据进行密集区域与稀疏区域的划分,如图2所示。
S5211、任意读取一个数据样本,将其视为圆域的质心di,然后依次读入数据,计算当前样本点x与圆域质心di的距离Dd:
其中:m为数据样本包含的特征个数。
S5212、若Dd小于提前设置的圆域半径R,则执行步骤S5213,否则将样本点x视为一个新的圆域的质心。
S5213、将样本点x加入以di为质心的圆域,并更新圆域的质心di′:
其中:n0表示当前圆域内样本点的数量。
S5214、继续读入数据,并与当前已经建立起来的圆域质心计算距离,并加入到距离最近且小于R的圆域中,直到数据读入完毕。
S522、融合密度因素构建ACF树,将各个区域的样本点分别进行ACF森林的构建,采用两种不同的聚类特征,引入修正因子,来动态更新ACF森林的子空间阈值。
在构建ACF森林的过程中,将各个区域中的样本点分别进行ACF森林的构建。两种不同的聚类特征包括叶子节点的聚类特征和非叶子节点的聚类特征,其中每一个ACF森林的非叶节点聚类特征与BIRCH算法中的聚类特征相同,由一个三元组(N,LS,SS)组成;叶子节点的聚类特征则引入了一个修正因子,来动态更新ACF森林的子空间阈值,至少包含2个样本点的叶子节点聚类特征由一个四元组(N,LS,SS,dt)组成。
其中:N表示当前ACF/CF节点内拥有的样本点数量;LS表示当前ACF/CF节点内样本各个特征维度的向量和,其维度大小与特征向量的维度相同;SS表示当前ACF/CF节点内拥有的样本点各特征维度平方的和,其维度大小为1;dt表示当前ACF节点空间区域半径R的修正因子,dt=1+na/Y,na表示圆域内样本点个数,Y表示数据样本总数。
聚类特征CF满足线性关系:CF1+CF2=(N1+N2,LS1+LS2,SS1+SS2),即在ACF森林上,每一个非叶子节点的CF值,均为其所有节点的CF值之和。
如图3所示,ACF树的具体构建步骤如下:
S5221、如图3中①所示,从数据集中读入第一个样本点X1,将其放入一个新的三元组ACFA中,此时这个三元组的N=1,LS与SS值与该样本点相同,将这个样本节点放入根节点。
S5222、如图3中②所示,读入第二个样本点X2,计算X1与X2间的距离,如果X2在以X1为圆心R为半径的圆域范围内,则说明它们都属于ACFA,将X2也加入到ACFA,并更新ACFA的三元组的值。
计算ACFA的圆域半径修正因子dt:
R′=R·dt (7)
其中:n1为圆域内样本点个数;Y为数据样本总数;R′为修正因子修正后的圆域半径。
每有一个新样本点插入ACF中,都要更新一次该ACF的圆域半径,并更新圆域的质心;
S5223、如图3中③所示,读入第三个样本点X3,发现它不能融入刚才形成的圆域A,需要一个新的四元组ACFB来容纳这个新的样本点,此时根节点有两个区域聚类特征,分别为ACFA和ACFB。每插入一个新样本都要向上递归更新其祖先节点的聚类特征CF,此时不需要保留圆域半径修正因子,直接更新其三元组即可。
S5224、如图3中④所示,若ACF树中某一节点的子节点数量大于分支因子B,则需要进行节点分裂,图右侧为区域聚类特征包含关系,CF1节点有三个叶子节点,CF2和CF3各有两个叶子节点,分支因子B=3。此时来了一个新样本点,发现它离CF1最近,因此开始判断它在ACF1、ACF2、ACF3哪个圆域内。最后发现它都不在,因此需要为它建立一个区域聚类特征来容纳它,即ACF8,但此时CF1的子节点数量>B,不能再创建新的ACF了,就要将CF1节点一分为二。
S5225、如图3中⑤所示,将CF1节点下的所有ACF四元组中,找到两个距离最远的ACF,作为两个新叶子节点的种子ACF,然后将CF1节点下剩余的叶子节点,包括新样本点ACF8,根据距离划分到两个最近的新节点旁。
S5226、如图3中⑥所示,由于分支因子B=3,分裂后的ACF树根节点的子节点数量超过了范围,对根节点也要分裂,分裂方法与上述相同。
将每一个密集区域与稀疏区域都进行上述操作,会生成多棵ACF树。
S523、修正密集区域与稀疏区域生成ACF森林,在构建的稀疏区域ACF森林中,扫描所有稀疏区域ACF森林的叶子节点,寻找更新子空间半径后的密集区域ACF森林中可以合并的叶子节点,并将其插入密集区域ACF森林中,随后更新圆域半径以及祖先节点CF三元组的值。
S524、重复执行步骤S523,直至稀疏区域中无样本点可插入密集区域中则执行步骤S525。
S525、遍历完所有的稀疏区域构成的ACF森林中的样本点,得到多个区域内生成的ACF森林,ACF森林中每一棵树的叶子节点都是一个字段单元。
S6、字段匹配:将得到的字段单元通过字段匹配与页面内容提取方法对字段单元和字段进行匹配,从而得到所需要提取的网页数据。
S61、定义Web页面字段名称。
S62、定义字段匹配与页面内容提取方法:基于规则的正则表达式进行字段匹配,对部分字段进行匹配,这类方法主要是通过对Web页面的大量分析,根据其表现出来的结构,定义提取规则,从而达到字段匹配的目的;基于数理统计进行字段匹配,面向于部分字段规则呈现不明显且文本内容不存在任何语义的情况,比如abstract和keywords字段。
论文的摘要部分是全文的概括和总结,拥有大段连续的长文本,且它们都保存在一个标签内,以一个元数据的形式存在,即abstract字段对应的字段单元中元数据尽可能少,字符数尽可能多。而keywords字段对应的字段单元中,每一条元数据内的文本内容字符数较少。根据这一特点计算同一字段单元内文本长度L与元数据数量O的比值θ,记为:
θ=L/O (8)
θ越大表示是abstract字段的可能性越高,θ越小表示是keywords字段的可能性越高。
本发明设计的一种基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,基于MD5三叉树进行站内静态噪音去除,基于节点间相似度进行页间动态噪音去除,噪音去除技术更优,为论文数据的抓取提供了便利;融合DBSCAN密度聚类算法对样本点数据进行密集区域与稀疏区域的划分,融合密度因素构建ACF树,基于改进BIRCH算法进行字段单元构建,字段单元构建更快速准确;针对Web页面所表现出来的结构,基于规则的正则表达式进行字段匹配;针对部分字段规则呈现不明显且文本内容不存在任何语义的情况,基于数理统计进行字段匹配,字段匹配更高效,能有效解决互联网论文数据自动抽取问题。
最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1.一种基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,其特征在于,所述方法包括以下步骤:
S1、数据抓取:从所需要抽取出互联网论文数据的网站中抓取到页面的HTML代码,并将其存储在本地数据库;
S2、页面清洗与预处理:删除页面注释、无用标签、空节点,合并文字内容,使得页面内有效文本内容均以行为单位居中于页面中央;
S3、基于MD5三叉树进行站内静态噪音去除:将经过清洗与预处理的页面采用基于MD5三叉树的站内静态模板噪音清除算法,去除静态噪音数据;
S4、基于节点间相似度进行页间动态噪音去除:将去除静态噪音的页面采用基于节点间相似度的页间噪音清除算法,去除动态噪音数据;
S5、基于改进BIRCH算法进行字段单元构建:将进行降噪处理后的页面使用基于改进的BIRCH聚类算法构建字段单元,所述步骤S5具体包括以下步骤:
S51、节点特征选择及向量化表示;
S52、基于改进BIRCH聚类算法构建字段单元;
S6、字段匹配:将得到的字段单元通过字段匹配与页面内容提取方法对字段单元和字段进行匹配,从而得到所需要提取的网页数据,所述步骤S6具体包括以下步骤:
S61、定义Web页面字段名称;
S62、定义字段匹配与页面内容提取方法:针对Web页面所表现出来的结构,基于规则的正则表达式进行字段匹配;针对部分字段规则呈现不明显且文本内容不存在任何语义的情况,基于数理统计进行字段匹配;
所述步骤S3具体包括以下步骤:
S31、通过使用网站页面的DOM树结构,对每一个页面定义一个三元组P=(Ω,Φ,η);
其中:Ω=(P1,P2,…,Pn)表示给定页面上DOM树的节点Pi集合,i=1~n;Φ=(tag,attrib,text,path)表示当前DOM子树的根节点信息,tag表示节点的标签名称,attrib表示节点的属性信息,text表示节点下的文本内容,path表示节点的路径;η表示Φ所生成的唯一标识信息,将它称作节点的“指纹”,采用MD5算法计算得出;
S32、将基于MD5三叉树模型数据结构表示为五元组(D,h,p,n,s);
其中:D表示HTML文档解析成的DOM树结构,表示该DOM树按深度遍历得到的所有节点的MD5值的集合;h表示前缀节点,表示从集合开始到第一个相同MD5值之间的子集;p表示噪音节点;n表示两个对比页面中相同MD5值的部分;s为后缀节点,表示从n中最后一个MD5后到h中最后一个MD5之间的子集;在构建三叉树的过程中可以递归表示成(hi,pi,ni,si),i表示三叉树的层数;
S33、将相同站点下两个页面按照上述方法进行定义和计算并进行比较,可以得到静态噪音,并进行清除;
所述步骤S4具体包括以下步骤:
S41、计算链接节点即动态模板噪音初值;
S42、计算链接节点相似度;
S43、计算其他链接节点对当前链接节点的总影响;
S44、将经过上述操作后得到的最终结果即为当前节点的最终噪音值;
S45、将节点的噪音值进行聚类。
2.根据权利要求1所述的基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,其特征在于,所述步骤S42具体包括以下步骤:
S421、计算节点间距离,即从根节点开始到两节点的路径中,除去公共节点后剩余节点的数量;
S422、节点间距离的倒数视为节点间的相似度值;
S423、构建链接节点间相似度矩阵;
所述步骤S45具体包括以下步骤:
S451、将噪音值映射到指定区间内,得到最终的节点得分Score:
其中:a和b分别表示映射到指定区间的边界值;x表示待输入的噪音值;xmin和xmax分别表示噪音值中的最小值和最大值,由于加入了基础节点,且噪音值均为正数,所以xmin恒为0;
S452、将得到的各链接节点的值后,采用CLARANS算法对节点进行聚类,固定聚类类别为2类,对应正文链接和噪音链接,从而去除动态模板噪音数据。
3.根据权利要求1所述的基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,其特征在于,所述步骤S52具体包括以下步骤:
S521、基于样本点距离区域划分,融合DBSCAN密度聚类算法,对样本点数据进行密集区域与稀疏区域的划分;
S522、融合密度因素构建ACF树,将各个区域的样本点分别进行ACF森林的构建,采用两种不同的聚类特征,引入修正因子,来动态更新ACF森林的子空间阈值;
S523、修正密集区域与稀疏区域生成ACF森林,在构建的稀疏区域ACF森林中,扫描所有稀疏区域ACF森林的叶子节点,寻找更新子空间半径后的密集区域ACF森林中可以合并的叶子节点,并将其插入密集区域ACF森林中,随后更新圆域半径以及祖先节点CF三元组的值;
S524、重复执行步骤S523,直至稀疏区域中无样本点可插入密集区域中则执行步骤S525;
S525、遍历完所有的稀疏区域构成的ACF森林中的样本点,得到多个区域内生成的ACF森林,ACF森林中每一棵树的叶子节点都是一个字段单元。
4.根据权利要求3所述的基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,其特征在于,所述步骤S521具体包括以下步骤:
S5211、任意读取一个数据样本,将其视为圆域的质心di,然后依次读入数据,计算当前样本点xi与圆域质心di的距离Dd:
其中:m为数据样本包含的特征个数;
S5212、若Dd小于提前设置的圆域半径R,则执行步骤S5213,否则将样本点xi视为一个新的圆域的质心;
S5213、将样本点xi加入以di为质心的圆域,并更新圆域的质心di′:
其中:n0表示当前圆域内样本点的数量;
S5214、继续读入数据,并与当前已经建立起来的圆域质心计算距离,并加入到距离最近且小于R的圆域中,直到数据读入完毕。
5.根据权利要求3所述的基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,其特征在于,所述步骤S522具体包括以下步骤:
S5221、从数据集中读入第一个样本点X1,将其放入一个新的三元组ACFA中,此时这个三元组的N=1,LS与SS值与该样本点相同,将这个样本节点放入根节点;
S5222、读入第二个样本点X2,计算X1与X2间的距离,若X2在以X1为圆心R为半径的圆域范围内,则说明它们都属于ACFA,将X2也加入到ACFA,并更新ACFA的三元组的值;
计算ACFA的圆域半径修正因子dt:
R′=R·dt (7)
其中:n1为圆域内样本点个数;Y为数据样本总数;R′为修正因子修正后的圆域半径;
每有一个新样本点插入ACF中,都要更新一次该ACF的圆域半径,并更新圆域的质心;
S5223、读入第三个样本点X3,若发现它不能融入刚才形成的圆域A,需要一个新的四元组ACFB来容纳这个新的样本点,此时根节点有两个区域聚类特征,分别为ACFA和ACFB,每插入一个新样本都要向上递归更新其祖先节点的聚类特征CF,此时不需要保留圆域半径修正因子,直接更新其三元组即可;
S5224、若ACF树中某一节点的子节点数量大于分支因子B,则需要进行节点分裂;
S5225、将该节点下的所有ACF四元组中,找到两个距离最远的ACF,作为两个新叶子节点的种子ACF,然后将该节点下剩余的叶子节点,包括新样本点,根据距离划分到两个最近的新节点旁;
S5226、若分裂后的ACF树根节点的子节点数量也超过了范围,对根节点也要分裂,分裂方法与步骤S5225相同;
将每一个密集区域与稀疏区域都进行上述操作,会生成多棵ACF树。
6.根据权利要求3所述的基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,其特征在于,所述步骤S522中两种不同的聚类特征包括叶子节点的聚类特征和非叶子节点的聚类特征,其中每一个ACF森林的非叶节点聚类特征与BIRCH算法中的聚类特征相同,由一个三元组(N,LS,SS)组成;叶子节点的聚类特征则引入一个修正因子,来动态更新ACF森林的子空间阈值,至少包含2个样本点的叶子节点聚类特征由一个四元组(N,LS,SS,dt)组成;
其中:N表示当前ACF/CF节点内拥有的样本点数量;LS表示当前ACF/CF节点内样本各个特征维度的向量和,其维度大小与特征向量的维度相同;SS表示当前ACF/CF节点内拥有的样本点各特征维度平方的和,其维度大小为1;dt表示当前ACF节点空间区域半径R的修正因子,dt=1+na/Y,na表示圆域内样本点个数,Y表示数据样本总数。
7.根据权利要求1所述的基于MD5三叉树和改进BIRCH算法的互联网论文数据自动抽取算法,其特征在于,所述步骤S31中节点的属性信息attrib为节点拥有的包含名称及属性值在内的全部属性,文本内容text为节点起始标签和结束标签之间包含的全部的文本信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110751368.1A CN113486228B (zh) | 2021-07-02 | 2021-07-02 | 基于md5三叉树和改进birch算法的互联网论文数据自动抽取算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110751368.1A CN113486228B (zh) | 2021-07-02 | 2021-07-02 | 基于md5三叉树和改进birch算法的互联网论文数据自动抽取算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113486228A CN113486228A (zh) | 2021-10-08 |
CN113486228B true CN113486228B (zh) | 2022-05-10 |
Family
ID=77940358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110751368.1A Active CN113486228B (zh) | 2021-07-02 | 2021-07-02 | 基于md5三叉树和改进birch算法的互联网论文数据自动抽取算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486228B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912633A (zh) * | 2016-04-11 | 2016-08-31 | 上海大学 | 面向稀疏样本的聚焦式Web信息抽取系统及方法 |
WO2017080090A1 (zh) * | 2015-11-14 | 2017-05-18 | 孙燕群 | 一种网页正文提取比对方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015165324A1 (zh) * | 2014-04-30 | 2015-11-05 | 广州市动景计算机科技有限公司 | 网页正文的提取方法、装置及网页广告处理方法、装置 |
CN107229668B (zh) * | 2017-03-07 | 2020-04-21 | 桂林电子科技大学 | 一种基于关键词匹配的正文抽取方法 |
CN108052619A (zh) * | 2017-12-15 | 2018-05-18 | 北京海致星图科技有限公司 | 一种基于配置信息匹配及相似度提取网页信息的方法 |
CN111339396B (zh) * | 2018-12-18 | 2024-04-16 | 富士通株式会社 | 提取网页内容的方法、装置和计算机存储介质 |
CN110390038B (zh) * | 2019-07-25 | 2021-10-15 | 中南民族大学 | 基于dom树的页面分块方法、装置、设备及存储介质 |
CN112269906B (zh) * | 2020-10-14 | 2023-04-14 | 西安邮电大学 | 网页正文的自动抽取方法及装置 |
-
2021
- 2021-07-02 CN CN202110751368.1A patent/CN113486228B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017080090A1 (zh) * | 2015-11-14 | 2017-05-18 | 孙燕群 | 一种网页正文提取比对方法 |
CN105912633A (zh) * | 2016-04-11 | 2016-08-31 | 上海大学 | 面向稀疏样本的聚焦式Web信息抽取系统及方法 |
Non-Patent Citations (3)
Title |
---|
基于密度的改进BIRCH聚类算法;韦相;《计算机工程与应用》;20120531;第49卷(第10期);全文 * |
基于文本块密度和标签路径覆盖率的网页正文抽取;刘鹏程,胡骏,吴共庆;《计算机应用研究》;20170614;第35卷(第6期);全文 * |
基于网页DOM树节点路径相似度的正文抽取;潘心宇,陈长福,刘蓉,王美清;《技术与方法》;20161018;第35卷(第19期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113486228A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399457B (zh) | 一种智能问答方法和系统 | |
CN109189942B (zh) | 一种专利数据知识图谱的构建方法及装置 | |
CN109492077B (zh) | 基于知识图谱的石化领域问答方法及系统 | |
CN110334346B (zh) | 一种pdf文件的信息抽取方法和装置 | |
CN101251855B (zh) | 一种互联网网页清洗方法、系统及设备 | |
CN104408191B (zh) | 关键词的关联关键词的获取方法和装置 | |
JP2005092889A (ja) | ウェブページのための情報ブロック抽出装置及び情報ブロック抽出方法 | |
Sarkhel et al. | Visual segmentation for information extraction from heterogeneous visually rich documents | |
CN109165373B (zh) | 一种数据处理方法及装置 | |
JP2007047974A (ja) | 情報抽出装置および情報抽出方法 | |
Tkaczyk | New methods for metadata extraction from scientific literature | |
CN112818200A (zh) | 基于静态网站的数据爬取及事件分析方法及系统 | |
Devika et al. | An overview of web data extraction techniques | |
CN114970502B (zh) | 一种应用于数字政府的文本纠错方法 | |
Li et al. | Visual segmentation-based data record extraction from web documents | |
Rosenfeld et al. | Structural extraction from visual layout of documents | |
CN115982390B (zh) | 一种产业链构建和迭代扩充开发方法 | |
CN113486228B (zh) | 基于md5三叉树和改进birch算法的互联网论文数据自动抽取算法 | |
CN111581478A (zh) | 一种特定主体的跨网站通用新闻采集方法 | |
CN112214615A (zh) | 基于知识图谱的政策文件处理方法、装置和存储介质 | |
CN106897287B (zh) | 网页发布时间抽取方法和用于网页发布时间抽取的装置 | |
CN112632421B (zh) | 一种自适应结构化的文档抽取方法 | |
CN115640439A (zh) | 一种网络舆情监控的方法、系统及存储介质 | |
CN112988999B (zh) | 佛学问答对的构建方法、装置、设备及存储介质 | |
CN115617981A (zh) | 一种面向社交网络短文本的信息层次摘要提取方法 |
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 |