CN106055667A - 一种基于文本‑标签密度的网页核心内容提取方法 - Google Patents
一种基于文本‑标签密度的网页核心内容提取方法 Download PDFInfo
- Publication number
- CN106055667A CN106055667A CN201610390441.6A CN201610390441A CN106055667A CN 106055667 A CN106055667 A CN 106055667A CN 201610390441 A CN201610390441 A CN 201610390441A CN 106055667 A CN106055667 A CN 106055667A
- Authority
- CN
- China
- Prior art keywords
- text
- web page
- core content
- label
- character
- 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
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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于文本‑标签密度的网页核心内容提取方法,其包括:网页源代码预处理、网页核心内容范围预估、核心内容边界确定和删除剩余标签四个阶段。网页源代码预处理阶段从原始网页文本中提取标题、摘要、描述等核心要素,并删除原始网页文本中与网页核心内容无关的标签,从而得到待处理文本;网页核心内容范围预估阶段,确定网页核心内容的大致范围;核心内容边界确定阶段分别确定网页正文核心内容精确的起止位置;删除剩余标签阶段取出核心内容部分,并删除多余标签,获得便于分析处理的网页核心内容。本发明无需解析网页文档的DOM结构,也不限定网页的主题和内容,处理过程具有线性复杂度,能够适用于各种网页核心内容提取、网页去噪等技术应用。
Description
技术领域
本发明涉及通信领域中互联网技术领域,具体地,涉及一种基于文本-标签密度的具有线性复杂度的网页正文核心内容的提取方法。
背景技术
随着互联网的高速发展,万维网(World Wide Web)已经成为世界上最大的互联网资料库。因此,如何有效地提取万维网上的信息,已经成为当前的一个新的研究方向。这些内容涉及高速地收集、处理和提取网页信息。
然而,在现实中,网页上除了有与主题相关的文本内容之外,还会有大量无关的信息。这些内容包括徽标、广告、图片、导航、边栏等各种信息。尽管这些信息对于网页浏览者来说会起到辅助浏览的作用,但是,对于信息检索、数据挖掘等众多互联网应用来说,这些信息多数情况却并无作用。有时,它们甚至还会对网页的自动处理程序产生严重的干扰,降低了网页数据分析处理的准确性。
为了提升各种针对网页页面信息获取、检索、挖掘应用的效果,网页内容提取技术被广泛应用于网页正文内容的提取。
目前,网页正文内容提取的方法主要可以分为基于标签统计、基于标签DOM结构、基于网页分块模板等方法。
基于标签统计的网页正文内容提取方法是通过寻找网页中包含中文字符最多的标签结点来提取网页正文内容。该方法一般先对网页的DOM结构做简单分析,计算每个标签节点内的文本密度,通过比较各结点文本密度与给定域值的大小关系筛选正文文本。该方法简单有效,但往往需要对网页标签的DOM结构进行专门的分析,有时还会受到样式标签、字体标签的干扰。
基于标签DOM结构的文档提取技术是将网页中的某些特定标签提取出来,再根据特定的标签及内容要求,确定每个标签所包含的主题是否与提取要求相符,从而判定正文所在的标签,提取正文。这种方法对文档的内容和结构要求较高,同时也要求预先处理网页的DOM结构,普适性不强。
基于网页分块模板的方法假设网页具有相似的特征和结构,针对具有一定结构的网页制定相应的“模板”,以提取网页内容。由于模板在很大程度上依赖于网页的具体结构,一旦网页结构发生变化,需要重新设定学习,通用性不强。
发明内容
本发明技术解决问题:针对现有技术上的不足,提供一种基于文本-标签密度提取网页正文内容的方法,该方法无需解析网页文档的DOM结构,也不限定网页的主题内容,具有线性复杂度,能够适用于各种网页核心内容提取、网页去噪等技术应用。
本发明技术解决方案:一种基于文本-标签密度的网页核心内容提取方法,包括:网页源代码预处理、网页核心内容范围预估、核心内容边界确定和删除剩余标签四个阶段。其中:
网页源代码预处理阶段,从原始网页文本中提取出核心要素,核心要素包括标题、关键词和描述,并删除原始网页文本中与核心内容无关的标签内容,从而得到剩余的网页文本,称该剩余文本为待处理文本;
网页核心内容范围预估阶段,在待处理文本中,确定网页核心内容的大致范围,即分别获得核心内容预估区间的开始位置approxStart和结束位置approxEnd;
核心内容边界确定阶段,基于核心内容预估区间的开始位置approxStart和结束位置approxEnd,确定网页核心内容大致的中心位置,然后再在该中心位置的前后,基于文本-标签密度函数,分别确定网页文本正文核心内容精确的起止位置,精确起止位置包括核心文本的前边界和后边界;
删除剩余标签阶段,基于核心内容的前边界和后边界取出网页核心内容区域的文本,并进一步删除该区域中的多余标签,最终获得便于分析处理的网页核心内容。
所述网页源代码预处理阶段中,从原始网页文本中提取出核心要素,即标题、关键词和描述实现步骤如下:
(1)在网页的<head>标签的范围内,即以“<head>”为开始、以“</head>”为结束的字符串中,查找以“<title>”为开始、以“</title>”为结束的字符串,并将这两个标签“<title>”和“</title>”之间的文字作为网页的标题。在HTML文本中,<head>是头部标签,<title>是标题标签。
(2)在网页的<head>标签的范围内,在所有的<meta>标签内,即以“<meta”或“<META”为开始、以其后首个出现的“>”为结束的字符串中,查找“name=”keywords”content=”XXXX””的字符串,XXXX表示英文引号中任何字符串,并将字符串XXXX中以“,”或“_”分隔的文字分别作为该网页的关键词;在HTML文本中,name属性定义了<meta>标签中名称-值对的名称,keywords表示该名称为关键字,content属性定义了<meta>标签中名称-值对的值。
(3)在网页的<head>标签的范围内,在所有<meta>标签内,查找“name=”descriptions”content=”YYYY””的字符串,YYYY表示英文引号中任何字符串,并将字符串YYYY作为该网页的描述。
所述删除原始网页文本中与核心内容无关的标签内容的实现方法如下:在网页源码中,取出<body>标签范围内的字符串,即以“<body>”为开始、以“</body>”为结束的字符串,查找与核心内容无关的标签、标签附带内容和特殊格式字符串,并删除;与核心内容无关的标签包括“<!---->”、“/*...*/”、“<script>”或“<SCRIPT>”、“<style>”或“<STYLE>”、“<span>”或“<SPAN>”、“<font>”或“<FONT>”、“<div>”或“<DIV>”、“<p>”或“<P>”;特殊格式字符串包括“ ;”、“&;”;删除后,剩余的网页文本被称为待处理文本;在HTML文本中,<body>是文档主体标签,<script>是脚本标签,<style>是样式标签,<span>是行内元素标签,<font>是字体标签,<div>是分区标签,<p>是段落标签,<!--...-->是注释标签,/*...*/是css或脚本语言的注释标签, 和&表示文本特殊字符。
所述网页核心内容范围预估阶段实现为:对待处理文本中的每一个字符做标记,确定待处理文本中各个网页标签及网页内容的起止区域;从待处理文本的起始位置开始,以长度D为单位,逐个计算第k个区间[k*D,(k+1)*D-1]内被标示为网页内容的字符数量,并判断该区间内网页内容的字符数量是否超过选定的阈值a*D,其中,0<a<=1;如果某个区间[k*D,(k+1)*D-1]内的网页内容字符数超过a*D,则称该区间为候选区间,并将该区间的标示变量Candidate[k]标注为1;否则,如该区间中的网页内容字符数量少于等于a*D,则将该区间的标示变量Candidate[k]标注为0;根据标示数组Candidate,选择最长的超出阈值的多个连续区间作为核心内容范围的预估,如果有多个超出阈值的连续区间具有相同的最大长度,则可根据整个区域的网页内容字符数量或随机选择一个区域作为核心内容范围的预估;最后分别获得核心内容范围预估的开始位置approxStart和结束位置approxEnd。
所述各个网页标签中,一个网页标签被定义为以字符“<”为开始、以字符“<”后首个出现的字符“>”为结束的字符串;一段网页内容被定义为包含在以字符“>”为开始、以其后首个“<”字符为结束,两个字符之间的字符串。
所述核心内容边界确定阶段具体步骤如下:
(1)根据确定的核心内容范围预估的开始位置approxStart和结束位置approxEnd,计算核心内容的预估中心M=(approxStart+approxEnd)/2;
(2)对待处理文本从0到M中的任何一个位置x,根据下文本-标签密度公式计算区间[0,M]以x为分界点的文本-标签密度:
其中,i表示待处理文本字符的位置,取值范围为0到M。b[i]表示待处理文本中第i个位置的字符是否属于某个网页标签:如果第i个位置的字符属于某段网页内容,则记b[k]=0;否则,第i个位置的字符属于某个网页标签,记b[i]=1。
从这些结果中选择一个使得该数值最大的位置x,将其作为核心内容的前边界;
(3)对待处理文本从M到length(length表示待处理文本的字符长度)中的任何一个位置y,根据下文本-标签密度公式计算区间[M,length]以y为分界点的文本-标签密度:
从这些结果中选择一个使得该数值最大的位置y,将其作为核心内容的后边界,返回边界x和y,即该网页核心内容的精确边界。
所述删除剩余标签阶段的实现为:按照前边界x和后边界y取出网页待处理文本的核心部分,删除其中的</p>、<strong>、<br>等多余标签,以及其中包含的图片标签<img...>、锚文本超链接<a href=...>等非文本标签,进而获得最终的网页核心内容;在HTML文本中,<strong>是强调文本标签,<img>是图像标签,<br>是换行标签,<a>是超链接标签。
本发明与现有技术相比的优点在于:本发明能够自动的高效去除网页HTML页面中的噪声代码,自动获取网页的标题、关键词及核心内容,提高了网页正文获取的效率和准确度。该方法能够适应于多钟类型页面的正文提取,不需要特定类型的网页制作和模板,提高了正文识别的准确率。此外,本发明不需要提取网页文档的DOM结构,无需要DOM解析器辅助处理。因此,本发明实现简单、高效,能够有效地提取网页HTML页面的核心内容。
附图说明
图1为本发明的实现流程图;
图2为本发明中获得网页文本的标题、关键词和摘要描述等网页核心要素的过程图;
图3为本发明中确定待处理文本中各个网页标签和网页内容起止区域的过程图;
图4为本发明中的确定候选区间过程图;
图5为本发明中的预估核心范围过程图;
图6为本发明中的核心内容边界确定过程图;
图7为本发明中的删除剩余标签过程图。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
本发明以网页源码为输入,输出包含标题、关键词、描述、核心内容在内的网页核心文本,其重点在于网页核心内容的获取。
如下图1所示,本发明的处理过程包括:网页源代码预处理、网页核心内容范围预估、核心内容边界确定、删除剩余标签等四个阶段。
本发明具体通过以下技术方案实现:
一、网页源代码预处理阶段
预处理阶段需要从原始网页文本中提取出标题、关键词、描述等网页核心要素,并删除网页文本部分容易干扰网页核心内容提取的标签,产生网页的待处理文本。具体方法步骤如下:
步骤1:获得网页文本的标题、关键词和摘要描述等网页核心要素。步骤1的流程如图2所示,其具体方法如下:
步骤1.1 在网页的<head>标签的范围内(以“<head>”为开始、以“</head>”为结束的字符串),查找以“<title>”为开始、以“</title>”为结束的字符串,并将这两个标签之间的文字作为网页的标题。
步骤1.2 在网页的<head>标签的范围内,在所有<meta>标签内(以“<meta”或“<META”为开始、以其后首个出现的“>”为结束的字符串),查找“name=”keywords”content=”XXXX””的字符串(XXXX表示英文引号中任何字符串,其通常由“,”或“_”分隔),并将字符串XXXX中以“,”或“_”分隔的文字分别作为该网页的关键词。
步骤1.3 在网页的<head>标签的范围内,在所有<meta>标签内(“<meta”或“<META”为开始、以其后首个出现的“>”为结束的字符串),查找“name=”descriptions”content=”YYYY””的字符串(YYYY表示英文引号中任何字符串),并将字符串YYYY作为该网页的描述。
步骤2:取出网页<body>标签范围内的字符串(以“<body>”为开始、以“</body>”为结束的字符串),删除与内容无关的注释、程序、字体格式设置等标签,获得网页的待处理文本。具体方法如下:
步骤2.1 在网页源码中,取出<body>标签范围内的字符串,执行步骤2.2;
步骤2.2 查找以“<!--”为开始、以其后首个出现的“-->”为结束的所有字符串,删除这些字符串,并执行步骤2.3;
步骤2.3 查找以“/*”为开始、以其后首个出现的“*/”为结束的所有字符串,删除这些字符串,并执行步骤2.4;
步骤2.4 查找以“<script”或“<SCRIPT”为开始、以其后首个出现的“</script>”或“</SCRIPT>”为结束的所有字符串,删除这些字符串,并执行步骤2.5;
步骤2.5 查找以“<style”或“<STYLE”为开始、以其后首个出现的“</style>”或“</STYLE>”为结束的所有字符串,删除这些字符串,并执行步骤2.6;
步骤2.6 查找以“<span”或“<SPAN”为开始、以其后首个出现的“</span>”或“</SPAN>”为结束的所有字符串,删除这些字符串,并执行步骤2.7;
步骤2.7 查找以“<font”或“<FONT”为开始、以其后首个出现的“>”为结束的所有字符串,删除这些字符串,并执行步骤2.8;
步骤2.8 查找以“<div”或“<DIV”为开始、以其后首个出现的“>”为结束的所有字符串,删除这些字符串,并执行步骤2.9;
步骤2.9 查找以“<p”或“<P”为开始、以其后首个出现的“>”为结束的所有字符串,删除这些字符串,并执行步骤2.10;
步骤2.10 删除文档中的“ ;”、“&;”等特殊格式字符串。
步骤2的作用在于去除原始网页文本中与核心内容无关的标签内容。这些内容可以由一些特殊的HTML标签识别(如步骤2中所涉及的标签)。上述描述是步骤2思想的一种实现,具体实现可以还可以包含一些其他的HTML标签,顺序也并非一定按照上述顺序执行。但这些实现都可以看做是步骤2思想的一种实现。
结束步骤2后,剩余的网页文本在本发明中被称为待处理文本。
二、核心内容范围预估
在对网页源码预处理后,本发明将在上一阶段的结果—待处理文本中,确定网页核心内容预估区间的开始位置和结束位置。具体方法步骤如下:
步骤3:对待处理文本中的每一个字符做标记,确定待处理文本中各个网页标签及网页内容的起止区域。
其中,一个网页标签被定义为以字符“<”为开始、以其后首个出现的字符“>”为结束的字符串(包含字符“<”和“>”),一段网页内容被定义为包含在以字符“>”为开始、以其后首个“<”字符为结束,两个字符之间的字符串(不包含“>”和“<”字符)。
在步骤3的实现上,本发明采用记录各段网页内容起止位置的方法标记网页待处理文本中文本区域。记网页待处理文本中第c段网页内容的起始位置和终止位置分别为contentStart[c]和contentEnd[c]。本发明还用b[i]标记待处理文本中第i个位置的字符是否属于某个网页标签:如果第i个位置的字符属于某段网页内容,则记b[i]=0;否则,第i个位置的字符属于某个网页标签,记b[i]=1。其中,i和c都从0开始计数。
步骤3的流程如图3所示,其具体实现如下:
步骤3.1 记待处理文本的长度(全部字符的数量)为length,取i=0、c=0,执行步骤3.2。
步骤3.2 如果i>=length,执行步骤3.5;否则,从位置i开始,找到第一个“<”字符的位置,标记该位置为labelStart,并执行步骤3.3。
步骤3.3 如果i<labelStart,则标注contentStart[c]=i、contentEnd[c]=labelStart-1、c=c+1,并对所有的j(i<=j<labelStart)标注b[j]=0,执行步骤3.4;否则,labelStart=i,直接执行步骤3.4。
步骤3.4 从位置labelStart开始,找到第一个“>”字符的位置,标记该位置为labelEnd(由于HTML网页中标签字符“<”和“>”必然成对出现,故一定可以找到“>”字符),并对所有的j(labelStart<=j<=labelEnd)标注b[j]=1,令i=labelEnd+1,执行步骤3.2。
步骤3.5 结束步骤3。
在执行步骤3后,对于待处理文本中的每一位置i的字符,都可以根据b[i]判定其属于一个网页标签,还是属于一段网页内容。
步骤4:从待处理文本的起始位置开始,以长度D为单位,从k=0开始,逐个计算第k个区间[k*D,(k+1)*D-1]内被标示为网页内容的字符数量,并判断该区间内网页内容的字符数量是否超过选定的阈值a*D。其中,0<a<=1。
如果某个区间[k*D,(k+1)*D-1]内的网页内容字符数超过a*D,则称该区间为候选区间,并将该区间的标示变量Candidate[k]标注为1;否则,如该区间中的网页内容字符数量少于等于a*D,则将该区间的标示变量Candidate[k]标注为0。通常,D可以取100、200等整百数字,a可取0.5到1之间的小数,一般取a为0.7、0.8等。具体还可以根据实际情况,对参数D、a做适当调整。
步骤4的流程如图4所示,其具体实现如下:
步骤4.1 取k=0,执行步骤4.2。
步骤4.2 如果k*D<length,执行步骤4.3;否则,执行步骤4.5。
步骤4.3 统计区间[k*D,(k+1)*D-1]内被标示为网页内容的字符数量CharNum(如果(k+1)*D超出待处理文本长度length,即(k+1)*D>length,则统计区间[i*D,length-1]内被标示为网页内容的字符数量)。
步骤4.4 如果CharNum>a*D,标记Candidate[k]=1;否则,标记Candidate[k]=0;k=k+1,执行步骤4.2。
步骤4.5 结束步骤4。
步骤4的意义在于确定网页待处理文本中,长度为D的各个字符区间内,统计网页内容字符的数量,并对超出阈值的区间在标示数组Candidate中标记。
步骤5:根据标示数组Candidate,选择最长的超出阈值的多个连续区间作为核心内容范围的预估。如果有多个超出阈值的连续区间具有相同的最大长度,则可根据整个区域的网页内容字符数量或随机选择一个区域作为核心内容范围的预估。
例如,从第i个区间到第j个区间(j>=i)的网页文本字符数量都大于a*D,而第i-1个区间和第j+1个区间的网页文本字符数都不大于a*D,则从第i个区间到第j个区间构成一个连续区域。如果从i到j的区间是所有超出阈值连续区间最大的一个区间,那么[i*D,(j+1)*D-1]是核心内容范围的一个预估。
步骤5的流程如图5所示,其具体方法步骤如下:
步骤5.1 取k=0,maxLength=0,currentLength=0,approxStart=approxEnd=0,执行步骤5.2。
步骤5.2 如果k*D<length,执行步骤5.3;否则,执行步骤5.5。
步骤5.3 如果Candidate[k]=1,取currentLength=currentLength+1,k=k+1,执行步骤5.2;否则,执行步骤5.4。
步骤5.4 如果currentLength>maxLength,取maxLength=currentLength,approxEnd=k*D-1,approxStart=(k-maxLength)*D。令currentLength=0,k=k+1,执行步骤5.2。
步骤5.5 如果currentLength>maxLength,取maxLength=currentLength,approxEnd=length-1,approxStart=(k-maxLength)*D,结束步骤5。
注:步骤5结束后,本发明将获得两个参数approxStart和approxEnd,它们分别是网页核心内容预估区间的起止位置,并将在第三阶段核心内容边界确定起作用。
三、核心内容边界确定
基于核心内容预估区间的开始位置approxStart和结束位置approxEnd,确定网页核心内容大致的中心位置。然后再在该中心位置的前后,分别基于不同的文本-标签密度函数,确定网页文本正文核心内容精确的起止位置。
步骤6:获取到预估区间后,选择区域的中点(或依据某种原则计算出来的任何一中心点)作为分割点M,并以此作为界限,分别计算前后区间的文本-标签密度。步骤6的流程如图6所示,其具体方法步骤如下:
步骤6.1 根据步骤5确定的核心内容预估区间的开始位置approxStart和预估结束位置approxEnd,计算核心内容的预估中心M=(approxStart+approxEnd)/2,执行步骤6.2。
步骤6.2 对待处理文本从0到M中的任何一个位置x(通常,x从所有文本标签开始的位置content[c]中选择),根据下公式计算区间[0,M]以x为分界点的文本-标签密度:
从这些结果中选择一个使得该数值最大的位置x,将其作为核心内容的前边界,执行步骤6.3。
步骤6.3 对待处理文本从M到length中的任何一个位置y(通常,y从所有文本标签结束的位置contentEnd[c]中选择),根据下公式计算区间[M,length]以y为分界点的文本-标签密度:
从这些结果中选择一个使得该数值最大的位置y,将其作为核心内容的后边界,执行步骤6.4。
步骤6.4 返回边界x和y,即该网页核心内容的精确边界。
步骤6.1 是对文本中心点的一种估计方法,针对核心内容中心点的其他估计方法也应视为本发明的一种变形。步骤6.2的作用在于在区间[0,M]中确定一个数值x,使得从位置0到x-1的标签数量尽可能多,从x到M的正文数量尽可能多。步骤6.3的作用在于在区间[M,length]中确定一个数值y,使得从M到y的正文字符数量尽可能多,从y+1到length的标签数量尽可能多。
四、剩余标签删除
基于确定的前边间x和后边界y,取出核心内容部分,并进一步删除多余标签,以获得便于分析处理的网页核心内容。具体方法设计如下:
步骤7:按照边界x和y取出网页待处理文本的核心部分,删除其中的</p>、<strong>等多余标签,以及其中包含的图片标签<img...>、锚文本超链接<a href=...>等非文本标签,获得最终的网页核心内容。步骤7的流程如图7所示,其具体方法如下:
步骤7.1 取出待处理文本中从位置x到y之间(包含x和y)的字符串,将其作为网页核心部分,执行步骤7.2。
步骤7.2 在网页核心部分中,查找以“</p”或“</P”为开始,以其后首个出现的“>”为结束的所有字符串,删除这些字符串,并在删除处添加一个回车字符“\n”,执行步骤7.3。
步骤7.3 查找以“<strong”为开始,以其后首个出现的“>”为结束的所有字符串,删除这些字符串,并执行步骤7.4。
步骤7.4 查找以“<img”为开始,以其后首个出现的“>”为结束的所有字符串,删除这些字符串,并执行步骤7.5。
步骤7.5 查找以“<a”为开始,以其后首个出现的“>”为结束的所有字符串,删除这些字符串,并执行步骤7.6。
步骤7.6 类似上述步骤,去除核心部分中其余多余的标签,如<br>标签等。
步骤8:基于步骤7的文本结果,将多个连续的制表符“\t”或多个连续的回车换行符号“\n”等分别替换为单个制表符或单个换行符。将步骤8剩余的文本作为网页文本最终的核心内容。步骤8获得的网页核心内容与步骤1获得的网页核心要素共同构成了网页文本的主要内容。
应该理解的是,本实施例只是该发明的一种优选的实施方式。在不脱离本发明的精神和原则的前提下,任何对本发明做出的等同替换或变化,都应计入本发明的保护范围之内。
Claims (7)
1.一种基于文本-标签密度的网页核心内容提取方法,其特征在于:网页源代码预处理、网页核心内容范围预估、核心内容边界确定和删除剩余标签四个阶段;其中:
网页源代码预处理阶段,从原始网页文本中提取出核心要素,核心要素包括标题、关键词和描述,并删除原始网页文本中与核心内容无关的标签内容,从而得到剩余的网页文本,称该剩余文本为待处理文本;
网页核心内容范围预估阶段,在待处理文本中,确定网页核心内容的大致范围,即分别获得核心内容预估区间的开始位置approxStart和结束位置approxEnd;
核心内容边界确定阶段,基于核心内容预估区间的开始位置approxStart和结束位置approxEnd,确定网页核心内容大致的中心位置,然后再在该中心位置的前后,基于文本-标签密度函数,分别确定网页文本正文核心内容精确的起止位置,精确起止位置包括核心文本的前边界和后边界;
删除剩余标签阶段,基于核心内容的前边界和后边界取出网页核心内容区域的文本,并进一步删除该区域中的多余标签,最终获得便于分析处理的网页核心内容。
2.根据权利要求1所述的基于文本-标签密度的网页核心内容提取方法,其特征在于:所述网页源代码预处理阶段中,从原始网页文本中提取出核心要素,即标题、关键词和描述,实现步骤如下:
(1)在网页的<head>标签的范围内,即以“<head>”为开始、以“</head>”为结束的字符串中,查找以“<title>”为开始、以“</title>”为结束的字符串,并将标题标签“<title>”和“</title>”之间的文字作为网页的标题;在HTML文本中,<head>是头部标签,<title>是标题标签;
(2)在网页的<head>标签的范围内,在所有的<meta>标签内,即以“<meta”或“<META”为开始、以其后首个出现的“>”为结束的字符串中,查找“name=”keywords”content=”XXXX””的字符串,XXXX表示英文引号中任何字符串,并将字符串XXXX中以“,”或“_”分隔的文字分别作为该网页的关键词;在HTML文本中,name属性定义了<meta>标签中名称-值对的名称,keywords表示该名称为关键字,content属性定义了<meta>标签中名称-值对的值;
(3)在网页的<head>标签的范围内,在所有<meta>标签内,查找“name=”descriptions”content=”YYYY””的字符串,YYYY表示英文引号中任何字符串,并将字符串YYYY作为该网页的描述。
3.根据权利要求1所述的基于文本-标签密度的网页核心内容提取方法,其特征在于:所述删除原始网页文本中与核心内容无关的标签内容的实现方法如下:在网页源码中,取出<body>标签范围内的字符串,即以“<body>”为开始、以“</body>”为结束的字符串,查找与核心内容无关的标签、标签附带内容和特殊格式字符串,并删除;与核心内容无关的标签包括“<!---->”、“/*...*/”、“<script>”或“<SCRIPT>”、“<style>”或“<STYLE>”、“<span>”或“<SPAN>”、“<font>”或“<FONT>”、“<div>”或“<DIV>”、“<p>”或“<P>”;特殊格式字符串包括“ ;”、“&;”;删除后,剩余的网页文本被称为待处理文本;在HTML文本中,<body>是文档主体标签,<script>是脚本标签,<style>是样式标签,<span>是行内元素标签,<font>是字体标签,<div>是分区标签,<p>是段落标签,<!--...-->是注释标签,/*...*/是css或脚本语言的注释标签, 和&表示文本特殊字符。
4.根据权利要求1所述的基于文本-标签密度的网页核心内容提取方法,其特征在于:所述网页核心内容范围预估阶段的实现为:对待处理文本中的每一个字符做标记,确定待处理文本中各个网页标签及网页内容的起止区域;从待处理文本的起始位置开始,以长度D为单位,逐个计算第k个区间[k*D,(k+1)*D-1]内被标示为网页内容的字符数量,并判断该区间内网页内容的字符数量是否超过选定的阈值a*D,其中,0<a<=1;如果某个区间[k*D,(k+1)*D-1]内的网页内容字符数超过a*D,则称该区间为候选区间,并将该区间的标示变量Candidate[k]标注为1;否则,如该区间中的网页内容字符数量少于等于a*D,则将该区间的标示变量Candidate[k]标注为0;根据标示数组Candidate,选择最长的超出阈值的多个连续区间作为核心内容范围的预估,如果有多个超出阈值的连续区间具有相同的最大长度,则可根据整个区域的网页内容字符数量或随机选择一个区域作为核心内容范围的预估;最后分别获得核心内容范围预估的开始位置approxStart和结束位置approxEnd。
5.根据权利要求4所述的基于文本-标签密度的网页核心内容提取方法,其特征在于:所述各个网页标签中,一个网页标签被定义为以字符“<”为开始、以字符“<”后首个出现的字符“>”为结束的字符串;一段网页内容被定义为包含在以字符“>”为开始、以其后首个“<”字符为结束,两个字符之间的字符串。
6.根据权利要求1所述的基于文本-标签密度的网页核心内容提取方法,其特征在于:所述核心内容边界确定阶段的具体步骤如下:
(1)根据确定的核心内容预估区间的开始位置approxStart和结束位置approxEnd,计算核心内容的预估中心M=(approxStart+approxEnd)/2;
(2)对待处理文本从0到M中的任何一个位置x,根据下文本-标签密度公式计算区间[0,M]以x为分界点的文本-标签密度:
其中,i表示待处理文本字符的位置,取值范围为0到M。b[i]表示待处理文本中第i个位置的字符是否属于某个网页标签:如果第i个位置的字符属于某段网页内容,则记b[k]=0;否则,第i个位置的字符属于某个网页标签,记b[i]=1;
从这些结果中选择一个使得该数值最大的位置x,将其作为核心内容的前边界;
(3)对待处理文本从M到length中的任何一个位置y,根据下文本-标签密度公式计算区间[M,length]以y为分界点的文本-标签密度:
length表示待处理文本的字符长度,从这些结果中选择一个使得该数值最大的位置y,将其作为核心内容的后边界,返回边界x和y,即该网页核心内容的精确边界。
7.根据权利要求1所述的基于文本-标签密度的网页核心内容提取方法,其特征在于:所述删除剩余标签阶段的实现为:按照前边界x和后边界y取出网页待处理文本的核心部分,删除其中的</p>、<strong>、<br>等多余标签,以及其中包含的图片标签<img...>、锚文本超链接<a href=...>等非文本标签,进而获得最终的网页核心内容;在HTML文本中,<strong>是强调文本标签,<img>是图像标签,<br>是换行标签,<a>是超链接标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610390441.6A CN106055667B (zh) | 2016-06-06 | 2016-06-06 | 一种基于文本-标签密度的网页核心内容提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610390441.6A CN106055667B (zh) | 2016-06-06 | 2016-06-06 | 一种基于文本-标签密度的网页核心内容提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106055667A true CN106055667A (zh) | 2016-10-26 |
CN106055667B CN106055667B (zh) | 2019-06-04 |
Family
ID=57170197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610390441.6A Active CN106055667B (zh) | 2016-06-06 | 2016-06-06 | 一种基于文本-标签密度的网页核心内容提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106055667B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547895A (zh) * | 2016-11-03 | 2017-03-29 | 北京锐安科技有限公司 | 一种网页信息的提取方法及装置 |
CN107256486A (zh) * | 2017-05-27 | 2017-10-17 | 北京小米移动软件有限公司 | 交易记录信息获取方法、装置及计算机可读存储介质 |
CN108334508A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 网页信息的提取方法和装置 |
CN109325197A (zh) * | 2018-08-17 | 2019-02-12 | 百度在线网络技术(北京)有限公司 | 用于提取信息的方法和装置 |
CN109684642A (zh) * | 2018-12-26 | 2019-04-26 | 重庆誉存大数据科技有限公司 | 一种结合页面解析规则和nlp文本向量化的摘要提取方法 |
CN110381118A (zh) * | 2019-06-19 | 2019-10-25 | 平安普惠企业管理有限公司 | 页面数据传输的控制方法和相关设备 |
CN110390037A (zh) * | 2019-07-25 | 2019-10-29 | 中南民族大学 | 基于dom树的信息分类方法、装置、设备及存储介质 |
CN110825376A (zh) * | 2018-08-07 | 2020-02-21 | 深圳Tcl数字技术有限公司 | 一种解析带注释json文件的方法、存储介质及装置 |
CN111831948A (zh) * | 2019-04-18 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 网页类型的检测方法、装置及计算机设备 |
CN113934914A (zh) * | 2021-12-20 | 2022-01-14 | 成都橙视传媒科技股份公司 | 一种针对新闻媒体批量加密数据的采集方法 |
CN114329143A (zh) * | 2021-12-30 | 2022-04-12 | 厦门市美亚柏科信息股份有限公司 | 一种新闻网页的信息抽取方法及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013214250A (ja) * | 2012-04-03 | 2013-10-17 | Yahoo Japan Corp | 情報処理装置、方法、コンピュータ・プログラム及びシステム |
CN103810251A (zh) * | 2014-01-21 | 2014-05-21 | 南京财经大学 | 一种文本提取方法及装置 |
US20140280223A1 (en) * | 2013-03-13 | 2014-09-18 | Deja.io, Inc. | Media recommendation based on media content information |
CN105183801A (zh) * | 2015-08-25 | 2015-12-23 | 北京信息科技大学 | 网页正文抽取方法及装置 |
-
2016
- 2016-06-06 CN CN201610390441.6A patent/CN106055667B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013214250A (ja) * | 2012-04-03 | 2013-10-17 | Yahoo Japan Corp | 情報処理装置、方法、コンピュータ・プログラム及びシステム |
US20140280223A1 (en) * | 2013-03-13 | 2014-09-18 | Deja.io, Inc. | Media recommendation based on media content information |
CN103810251A (zh) * | 2014-01-21 | 2014-05-21 | 南京财经大学 | 一种文本提取方法及装置 |
CN105183801A (zh) * | 2015-08-25 | 2015-12-23 | 北京信息科技大学 | 网页正文抽取方法及装置 |
Non-Patent Citations (2)
Title |
---|
王少康,董科军,阎保平: "使用特征文本密度的网页正文提取", 《计算机工程与应用》 * |
高庆宁,吴鹏,张晶晶: "基于文档对象模型与行块分布算法的网页信息抽取", 《情报理论与实践》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547895A (zh) * | 2016-11-03 | 2017-03-29 | 北京锐安科技有限公司 | 一种网页信息的提取方法及装置 |
CN106547895B (zh) * | 2016-11-03 | 2020-07-03 | 北京锐安科技有限公司 | 一种网页信息的提取方法及装置 |
CN108334508A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 网页信息的提取方法和装置 |
CN108334508B (zh) * | 2017-01-19 | 2021-11-16 | 阿里巴巴集团控股有限公司 | 网页信息的提取方法和装置 |
CN107256486B (zh) * | 2017-05-27 | 2020-10-09 | 北京小米移动软件有限公司 | 交易记录信息获取方法、装置及计算机可读存储介质 |
CN107256486A (zh) * | 2017-05-27 | 2017-10-17 | 北京小米移动软件有限公司 | 交易记录信息获取方法、装置及计算机可读存储介质 |
CN110825376B (zh) * | 2018-08-07 | 2024-03-12 | 深圳Tcl数字技术有限公司 | 一种解析带注释json文件的方法、存储介质及装置 |
CN110825376A (zh) * | 2018-08-07 | 2020-02-21 | 深圳Tcl数字技术有限公司 | 一种解析带注释json文件的方法、存储介质及装置 |
CN109325197A (zh) * | 2018-08-17 | 2019-02-12 | 百度在线网络技术(北京)有限公司 | 用于提取信息的方法和装置 |
CN109684642A (zh) * | 2018-12-26 | 2019-04-26 | 重庆誉存大数据科技有限公司 | 一种结合页面解析规则和nlp文本向量化的摘要提取方法 |
CN109684642B (zh) * | 2018-12-26 | 2023-01-13 | 重庆电信系统集成有限公司 | 一种结合页面解析规则和nlp文本向量化的摘要提取方法 |
CN111831948A (zh) * | 2019-04-18 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 网页类型的检测方法、装置及计算机设备 |
CN110381118B (zh) * | 2019-06-19 | 2022-03-04 | 平安普惠企业管理有限公司 | 页面数据传输的控制方法和相关设备 |
CN110381118A (zh) * | 2019-06-19 | 2019-10-25 | 平安普惠企业管理有限公司 | 页面数据传输的控制方法和相关设备 |
CN110390037A (zh) * | 2019-07-25 | 2019-10-29 | 中南民族大学 | 基于dom树的信息分类方法、装置、设备及存储介质 |
CN110390037B (zh) * | 2019-07-25 | 2021-12-03 | 中南民族大学 | 基于dom树的信息分类方法、装置、设备及存储介质 |
CN113934914A (zh) * | 2021-12-20 | 2022-01-14 | 成都橙视传媒科技股份公司 | 一种针对新闻媒体批量加密数据的采集方法 |
CN113934914B (zh) * | 2021-12-20 | 2022-03-01 | 成都橙视传媒科技股份公司 | 一种针对新闻媒体批量加密数据的采集方法 |
CN114329143A (zh) * | 2021-12-30 | 2022-04-12 | 厦门市美亚柏科信息股份有限公司 | 一种新闻网页的信息抽取方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN106055667B (zh) | 2019-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106055667B (zh) | 一种基于文本-标签密度的网页核心内容提取方法 | |
CN101251855B (zh) | 一种互联网网页清洗方法、系统及设备 | |
CN104881458B (zh) | 一种网页主题的标注方法和装置 | |
CN102270206A (zh) | 一种有效网页内容的抓取方法及装置 | |
CN102591612B (zh) | 一种基于标点连续性的通用网页正文提取方法及其系统 | |
CN106021383A (zh) | 网页相似度计算方法及装置 | |
CN106709032A (zh) | 抽取电子表格文档中结构化信息的方法及装置 | |
CN106021392A (zh) | 一种新闻关键信息的提取方法及系统 | |
CN108763591A (zh) | 一种网页正文提取方法、装置、计算机装置及计算机可读存储介质 | |
WO2017008448A1 (zh) | 一种网页核心内容提取方法 | |
CN103699591A (zh) | 一种基于示例页面的网页正文提取方法 | |
CN103927397A (zh) | 一种基于区块树的Web页面链接块的识别方法 | |
CN103778141A (zh) | 一种混合pdf图书目录自动抽取算法 | |
CN108874870A (zh) | 一种数据抽取方法、设备及计算机可存储介质 | |
CN109165373B (zh) | 一种数据处理方法及装置 | |
CN112633431A (zh) | 一种基于crnn和ctc的藏汉双语场景文字识别方法 | |
CN109086255A (zh) | 一种基于深度学习的参考文献自动标注方法及系统 | |
CN105740355B (zh) | 基于聚集文本密度的网页正文提取方法及装置 | |
CN107145591B (zh) | 一种基于标题的网页有效元数据内容提取方法 | |
CN117312711A (zh) | 一种基于ai分析的搜索引擎优化方法及系统 | |
CN106372232B (zh) | 基于人工智能的信息挖掘方法和装置 | |
CN101673263B (zh) | 视频内容的搜索方法 | |
CN109472020B (zh) | 一种特征对齐中文分词方法 | |
CN110297994A (zh) | 网页数据的采集方法、装置、计算机设备和存储介质 | |
CN117390329A (zh) | 网页标注方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |