1.本发明涉及文本提取领域,特别涉及一种文章内容抽取方法、装置、设备及存储介质。
背景技术:
2.当下很多网站中包含的信息丰富而复杂,对于推荐内容的干扰项也比较多,可以包括有导航、标题、正文、时间、甚至广告等内容,甚至有些网站的文字高聚集并非出现在文章部分,而是出现在推荐内容部分,或者广告信息部分,这样对于基于文字聚集程度识别出来的文章内容,则准确性则会大打折扣,从而影响数据分析,识别的效果。
3.在现有技术中,对网页内容抽取的方法主要是通过标签进行提取,比如常见的抽取页面所有的带有content的特征标签,但此方法对于部分网站适用,部分网站不适用,若网站将标签的特征换位text的话,在批量提取文章内容的时候,就会产生很多噪点数据,甚至提取不到想要的数据,从而影响数据分析的结果。
技术实现要素:
4.基于此,本技术实施例提供了一种文章内容抽取方法、装置、设备及存储介质,可以能够准确抽取网页内的文章内容并提高文章内容识别的精准度。
5.第一方面,提供了一种文章内容抽取方法,该方法包括:
6.获取目标网页的源码,对所述目标网页的源码进行dom树构建;
7.对构建的dom树进行信息重构,得到带有自定义属性的dom树,所述自定义属性至少包括位置信息属性、父子标签属性;
8.遍历所述带有自定义属性的dom树,对dom树中各个节点中的标签进行特征提取得到预选标签集合,其中,所述标签中包括该标签对应的位置信息;
9.对所述预选标签集合根据预设的噪音文本集合进行初步去噪得到候选标签集合;其中,根据第一公式得到候选标签集合,所述第一公式具体包括:
10.r1=p-p∩(p1∪p2∪...∪pn)
11.r1表示候选标签集合,p表示预选标签集合,p1,p2...pn表示不同的噪音集合;
12.对所述候选标签集合进行多维度特征采集得到每个候选标签在各个维度的分值,对每个候选标签在各个维度的分值进行归一化处理,并根据预设的各个维度权重得到标签得分集合,选择最优得分标签所对应的位置信息得到网页内容;
13.其中,根据第二公式得到标签得分结合,所述第二公式具体包括:
[0014][0015]
r2表示标签得分集合,w表示归一化后的权重值集合,μ表示分值均值,并有δ表示分值标准差,并有υ表示维度分值,n表示候选标签数
量。
[0016]
可选地,对所述候选标签集合进行多维度特征采集得到每个候选标签在各个维度的分值,包括:
[0017]
对所述候选标签集合中的每个候选标签进行内容文字占比评分、位置全页占比评分、父子标签特征评分以及文本内容特征评分。
[0018]
可选地,所述对每个候选标签在各个维度的分值进行归一化处理,并根据预设的各个维度权重得到目标标签,包括:
[0019]
根据归一化的分值与各个维度权重比做乘积得到标签得分集合。
[0020]
可选地,对所述目标网页源码进行dom树构建,包括:
[0021]
对所述目标网页源码中所有标签及标签对应的位置信息进行dom树构建。
[0022]
可选地,对所述dom树中各个节点中的标签进行特征提取得到预选标签集合,包括:
[0023]
提取所述dom树中各个节点中的标签中至少包含text、article、post、conter、list以及content特征的标签作为预选标签。
[0024]
可选地,所述标签对应的位置信息包括标签的行位置以及总标签位置。
[0025]
可选地,在对所述预选标签集合根据预设的噪音集合进行初步去噪得到候选标签集合之前,还包括:
[0026]
设置噪音文本集合,所述噪音文本集合中的噪音文本至少包括广告、推荐以及海购。
[0027]
第二方面,提供了一种文章内容抽取装置,该装置包括:
[0028]
构建模块,用于获取目标网页的源码,对所述目标网页的源码进行dom树构建;
[0029]
重构模块,用于对构建的dom树进行信息重构,得到带有自定义属性的dom树,所述自定义属性至少包括位置信息属性、父子标签属性;
[0030]
提取模块,用于遍历所述带有自定义属性的dom树,对dom树中各个节点中的标签进行特征提取得到预选标签集合,其中,所述标签中包括该标签对应的位置信息;
[0031]
去噪模块,用于对所述预选标签集合根据预设的噪音文本集合进行初步去噪得到候选标签集合;其中,根据第一公式得到候选标签集合,所述第一公式具体包括:
[0032]
r1=p-p∩(p1∪p2∪...∪pn)
[0033]
r1表示候选标签集合,p表示预选标签集合,p1,p2...pn表示不同的噪音集合;
[0034]
分析模块,用于对所述候选标签集合进行多维度特征采集得到每个候选标签在各个维度的分值,对每个候选标签在各个维度的分值进行归一化处理,并根据预设的各个维度权重得到标签得分集合,选择最优得分标签所对应的位置信息得到网页内容;
[0035]
其中,根据第二公式得到标签得分结合,所述第二公式具体包括:
[0036][0037]
r2表示标签得分集合,w表示归一化后的权重值集合,μ表示分值均值,并有δ表示分值标准差,并有υ表示维度分值,n表示候选标签数量。
[0038]
第三方面,提供了一种设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面任一所述的文章内容抽取方法。
[0039]
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一所述的文章内容抽取方法。
[0040]
本技术实施例提供的技术方案中,首先获取目标网页的源码,对目标网页的源码进行dom树构建;对构建的dom树进行信息重构,得到带有自定义属性的dom树,自定义属性至少包括位置信息属性、父子标签属性;遍历带有自定义属性的dom树,对dom树中各个节点中的标签进行特征提取得到预选标签集合,其中,标签中包括该标签对应的位置信息;对预选标签集合根据预设的噪音文本集合进行初步去噪得到候选标签集合;对候选标签集合进行多维度特征采集得到各个维度的分值,进行归一化处理,并根据预设的各个维度权重得到标签得分集合,选择最优得分标签所对应的位置信息得到网页内容。可以看出,本技术中通过从不同维度特征进行判定,最终计算出目标文章内容在网页中的位置,可以有效的进行数据抽取。
附图说明
[0041]
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
[0042]
图1为本技术实施例提供的一种文章内容抽取方法的步骤流程图;
[0043]
图2为本技术实施例提供的目标网页的示意图;
[0044]
图3为本技术实施例提供的候选标签集合的示意图;
[0045]
图4为本技术实施例提供的多维度特征采集的示意图;
[0046]
图5为本技术实施例最终得到的目标网页内容示意图;
[0047]
图6为本技术实施例提供的一种文章内容抽取方法流程图;
[0048]
图7为本技术实施例提供的一种文章内容抽取装置的框图;
[0049]
图8为本技术实施例提供的一种设备的示意图。
具体实施方式
[0050]
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051]
现有对网页文章提取的方法主要有标签提取,适用范围局限性较大,不能将大量的网站聚合到一起,比如常见的抽取页面所有的带有content的特征标签,部分网站适用,部分网站不适用,若网站将标签的特征换位text的话,在批量提取文章内容的时候,就会产生很多噪点数据,甚至提取不到想要的数据,从而影响数据分析的结果。
[0052]
相比较文字聚合程度提取文章内容的方法,当下很多网站对于推荐内容的干扰项也比较多,甚至有些网站的文字高聚集并非出现在文章部分,而是出现在推荐内容部分,或
者广告信息部分,这样对于基于文字聚集程度识别出来的文章内容,则准确性则会大打折扣,从而影响数据分析,识别的效果。
[0053]
而对于位置识别的效果则更差,一般认为一个网页的主题部分应该在全页的中间偏下部分,但是随着五花八门的网站,海量数据的产生,越来越多的网页进行个性化设置,有些将文章部分嵌入到了一些样式框中,有些将文章折叠起来,更有直接将网页一分为二,左边是广告推荐,右边是文章内容,中间夹杂各种噪音信息等,这样对于位置识别的难度和效果都大打折扣。
[0054]
本方法基于此在整合上述三种识别方法的基础上进行扩展识别,从不同维度,各个指标进行判定,最终计算出文章的内容位置,进行数据抽取。
[0055]
请参考图1,其示出了本技术实施例提供的一种文章内容抽取方法的流程图,该方法可以包括以下步骤:
[0056]
步骤101,获取目标网页的源码,对目标网页的源码进行dom树构建。
[0057]
在本技术实施例中,目标网页的示意图如图2所示,其中包括了标题、正文、时间以及广告等内容。
[0058]
获取目标网页的源码,将网页的所有标签和位置相关信息进行一个树状结构构建,具体的,首先获取目标web网页的html源代码,再通过dom(document objectmodel,文档对象化模型)将html源代码进行解析,生成的html tree树状结构和对应访问方法,即得出dom树;
[0059]
dom树中的每一节点单元对应html网页脚本里的一个元素单元,即标签(tag),可通过这棵dom树访问所有节点,可以对dom树进行节点的遍历、插入、删除等操作,也可以创建新的节点元素。dom树展示了节点的集合,以及它们之间的联系。dom树中的节点彼此之间都有等级关系,通常通过父、子和同级节点来描述这种关系。父节点拥有子节点,位于相同层级上的子节点称为同级节点(兄弟或姐妹)。
[0060]
其中,dom树中的每一节点单元中的标签包括有标签对应的位置信息包括标签的行位置以及总标签位置,一个是行位置,意为在本网页源码的哪一行,一个是总标签位置,意为从网页源码的第一个标签算起的第n个标签,这样一个带有位置信息的dom树状结构的对象创建好之后,接下来就是对特征的提取。
[0061]
步骤102,对构建的dom树进行信息重构,得到带有自定义属性的dom树。
[0062]
其中,自定义属性至少包括位置信息属性、父子标签属性;
[0063]
步骤103,遍历带有自定义属性的dom树,对dom树中各个节点中的标签进行特征提取得到预选标签集合。
[0064]
其中,标签中包括该标签对应的位置信息,根据大量的数据观察,发现一般内容的标签特征里面会带有content的特征,如id=content或class=text等等,因此我们首先对标签进行特征提取,提取dom树对象的所有有关于content,text,article,post,conter,list以及某一个元素下面有大量p标签的标签两个和某一个元素下面有大量a标签的标签两个(简称疑似内容标签),构成一个具有文章内容备选的合集,这里对于大量聚集疑似文章内容的标签限制其位置位于全文的1/4~3/4之间,接下来为其每一个标签赋值一个初始化的分数,其中前六个赋值可以为1分,后面的疑似标签可以为0.8分,因为疑似标签在位置上比较上面有内容标签特征的标签有位置上的优势,在位置运算的时候分数可能会相对较
高,因此这里只给0.8分。
[0065]
例如,如图2所示的目标网页在特征提取后得到的标签统计结果如表1:
[0066]
表1标签统计结果
[0067][0068]
步骤103,对预选标签集合根据预设的噪音文本集合进行初步去噪得到候选标签集合。
[0069]
在本技术实施例中,首先设置噪音文本集合,噪音文本集合中的明显的噪音为:广告,推荐,海购等噪音文本特征,对于标签属性的明显噪音特征则为author,title等,对于文本中有明显噪音的匹配项可以直接进行过滤,但是对于标签属性明显的噪音特征的标签,这里需要结合位置信息,进行减分,因为后续需要针对标题位置对文章位置进行分数评定,其中得到的候选标签集合如图3所示。
[0070]
在本技术实施例中,对预选标签集合根据预设的噪音文本集合进行初步去噪得到候选标签集合;其中,根据第一公式得到候选标签集合,第一公式具体包括:
[0071]
r1=p-p∩(p1∪p2∪...∪pn)
[0072]
r1表示候选标签集合,p表示预选标签集合,p1,p2...pn表示不同的噪音集合。
[0073]
步骤104,对候选标签集合进行多维度特征采集得到每个候选标签在各个维度的分值,对每个候选标签在各个维度的分值进行归一化处理,并根据预设的各个维度权重得到标签得分集合,选择最优得分标签所对应的位置信息得到网页内容。
[0074]
其中,如图4在匹配预选标签以及去除明显噪音之后的多维度特征采集具体包括了对候选标签集合中的每个候选标签进行内容文字占比评分、位置全页占比评分、父子标签特征评分以及文本内容特征评分。
[0075]
对文本内容占比进行比较评分(内容文字占比评分),具体方法为首先提取出全页面的文本信息,然后提取出备选标签的文本信息,用每一个备选标签的文本信息和整个页面的文本信息做一个商,得出一个数值,赋值给其备选标签。
[0076]
对标签位置信息进行比较评分(位置全页占比评分),拿出其所有备选标签的位置,再拿出整篇网页源码的标签位置总数做商,得出的数值即看做当前标签在页面所有标签的顺序位置信息,我们以0.5为一个参照点,向两边扩散,类如正态分布,越靠近峰值,分数相对较高,越靠近两侧,分数相对较低,同时我们要对整个网页进行划分,通过title标签大致便能找到正文内对应的title标签,对于位置在title以上的候选标签分数直接置为0,因为一般正常情况下文章的内容不太可能超过标题,但对于左右结构的不影响其评分效
果。
[0077]
对当前标签的父子标签特征进行评分(父子标签特征评分),首先拿出当前候选标签的父标签,查看其标签特征里面是否带有content,text等特征,每有一个,为其候选标签加1分,看其所有的子标签,拿出整个网页对象的所有a标签和p标签的总数,再拿出候选标签的所有a子标签和p子标签,分别对应全页的a标签和p标签做商,得出其a标签和p标签的占比,这三项分数分别赋值给候选标签的相应得分。
[0078]
对文章内容进行评分(文本内容特征评分),拿出候选标签的所有文本信息,去匹配收集好的噪音数据特征,如:推荐xx,点击链接xxx,免责声明xxx等,每匹配出一个扣一分,如:内容xxx,报道xxx,责任编辑xxx等相关字样出现,每一个加一分,算出相对应的分数赋值给候选标签的相应分数下面。
[0079]
在本技术实施例中,对候选标签集合进行多维度特征采集得到每个候选标签在各个维度的分值,对每个候选标签在各个维度的分值进行归一化处理,并根据预设的各个维度权重得到标签得分集合,选择最优得分标签所对应的位置信息得到网页内容;
[0080]
其中,根据第二公式得到标签得分结合,第二公式具体包括:
[0081][0082]
r2表示标签得分集合,w表示归一化后的权重值集合,μ表示分值均值,并有δ表示分值标准差,并有υ表示维度分值,n表示候选标签数量。
[0083]
在本技术一个可选的实施例中,对每个候选标签在各个维度的评分进行归一化处理,使其每一项的得分都在0至1之间,这样做的目的是使所有的项目得分都能够平等的对内容进行打分,不会因为某一项分数够高而使用其它分值的权重减弱,再根据大量的数据验证,得出的权重进行相应项的权重赋值,这样一来,每一个特征的原始权重相同,同时每一个特征的特征点权重又有所区别,以免在多个特征分数大体相同的时候不能区分哪一个特征相对重要的情况。
[0084]
实际应用中需要用已有的样本集进行测试,做一个k值调整。由于对出现明显的噪音特征的文本内容进行了过滤,部分明显的广告信息和推荐内容,如羊驼租货这样的进行了过滤,所以使用了默认的权重配比,即各个指标的权重配比均为1。对每一个标签及结构按照上述进行相对应的得分计算,同时去掉元素内没有文字的标签,去掉文字内有噪音特征的标签,去掉标题以上的标签,其父标签有内容特征的,子标签有内容特征的,内容文本里面有内容特征的分别按照相应规则进行加分,对于位置去除项,文本里面有噪音的去除项进行相应的去除,得到的目标网页内容如图5所示。
[0085]
如图6,给出了利用本方法的一种流程示意图,通过本方法从不同维度,各个指标进行判定,最终计算出文章的内容位置,进行数据抽取,可以可以提高文章内容识别的精准度。
[0086]
请参考图7,其示出了本技术实施例提供的一种文章内容抽取装置200的框图。如图7所示,该装置200可以包括:构建模块201、重构模块202、提取模块203、去噪模块204以及分析模块205。
[0087]
构建模块201,用于获取目标网页的源码,对目标网页的源码进行dom树构建;
[0088]
重构模块202,用于对构建的dom树进行信息重构,得到带有自定义属性的dom树,自定义属性至少包括位置信息属性、父子标签属性;
[0089]
提取模块203,用于遍历带有自定义属性的dom树,对dom树中各个节点中的标签进行特征提取得到预选标签集合,其中,标签中包括该标签对应的位置信息;
[0090]
去噪模块204,用于对预选标签集合根据预设的噪音文本集合进行初步去噪得到候选标签集合;其中,根据第一公式得到候选标签集合,第一公式具体包括:
[0091]
r1=p-p∩(p1∪p2∪...∪pn)
[0092]
r1表示候选标签集合,p表示预选标签集合,p1,p2...pn表示不同的噪音集合;
[0093]
分析模块205,用于对候选标签集合进行多维度特征采集得到每个候选标签在各个维度的分值,对每个候选标签在各个维度的分值进行归一化处理,并根据预设的各个维度权重得到标签得分集合,选择最优得分标签所对应的位置信息得到网页内容;
[0094]
其中,根据第二公式得到标签得分结合,第二公式具体包括:
[0095][0096]
r2表示标签得分集合,w表示归一化后的权重值集合,μ表示分值均值,并有δ表示分值标准差,并有υ表示维度分值,n表示候选标签数量。
[0097]
关于文章内容抽取装置的具体限定可以参见上文中对于文章内容抽取方法的限定,在此不再赘述。上述文章内容抽取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0098]
在一个实施例中,提供了一种设备,该电子设备可以是计算机,其内部结构图可以如图8所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该设备的处理器用于提供计算和控制能力。该设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于文章内容抽取数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文章内容抽取方法。
[0099]
本领域技术人员可以理解,如图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0100]
在本技术的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述文章内容抽取方法的步骤。
[0101]
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0102]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以m种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(symchlimk)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0103]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0104]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
转载请注明原文地址:https://tc.8miu.com/read-377.html