基于位置标记的网页信息抽取方法和装置制造方法

文档序号:6509410阅读:178来源:国知局
基于位置标记的网页信息抽取方法和装置制造方法
【专利摘要】本发明公开了一种基于位置标记的网页信息抽取方法和装置。该基于位置标记的网页信息抽取方法,包括以下步骤:获取训练页面,训练页面中标注了至少一个属性,被标注属性的内容与网页中需要抽取的文本内容对应;获取训练页面中多个属性的前缀标签,前缀标签包括当前属性与前一属性之间的所有标签,多个属性包括被标注属性;在被标注属性的前缀标签中选取被标注属性的起始标记;在被标注属性之后的标签中选取结束标记;在需要抽取的网页中查询起始标记和结束标记,并抽取起始标记和结束标记之间的属性内容,以得到属性内容中包含的信息。使用本发明的技术方案,可避免出现人工编写抽取规则的效率低错误率高的问题,提高了网页信息提取的效率。
【专利说明】基于位置标记的网页信息抽取方法和装置
【技术领域】
[0001]本发明涉及互联网领域,具体而言,涉及一种基于位置标记的网页信息抽取方法和装置。
【背景技术】
[0002]网页信息抽取是指从网页文本中抽取出目标信息并将其形成结构化数据的过程。
[0003]由于网页在某种程度上具有一定的结构,因此网页信息抽取不同于对普通文本的抽取。这种结构化的形式带来了一定的缺点。在网页中,数据通常会被标签所分割,一个完整的句子中往往穿插着对句子本身不起任何作用的标签,从而无法表达句子原始的意义,这就使得传统的基于自然语言处理的文本信息抽取技术无法直接移植到网页信息抽取领域。
[0004]现有的网页信息抽取技术,主要依靠人工编写抽取规则进行,即通过对网页及其源码的分析,由编程人员找出一些规则,再根据这些规则编写程序抽取目标数据。人工规则提取方法存在着以下缺点:
[0005]1、需要抓取大批量的站点时,对每个站点编写抽取规则工作量大,而且操作人员的编程工作受到主观因素影响,存在一定错误率;
[0006]2、在出现网页改版时,网页的页面结构有可能出现变化,造成此前编写的规则失效,需要重复编写规则的工作,严重影响了效率。
[0007]针对目前人工编写规则进行网页信息提取工作量大、效率低的问题,现有技术中尚未提出有效的解决方案。

【发明内容】

[0008]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的网页信息抽取装置和相应的网页信息抽取方法。
[0009]依据本发明的一个方面,提供了基于位置标记的网页信息抽取方法。该基于位置标记的网页信息抽取方法,包括以下步骤:获取训练页面,训练页面中标注了至少一个属性,被标注属性的内容与网页中需要抽取的文本内容对应;获取训练页面中多个属性的前缀标签,前缀标签包括当前属性与前一属性之间的所有标签,多个属性包括被标注属性;在被标注属性的前缀标签中选取被标注属性的起始标记;在被标注属性之后的标签中选取结束标记;在需要抽取的网页中查询起始标记和结束标记,并抽取起始标记和结束标记之间的属性内容,以得到属性内容中包含的信息。
[0010]进一步地,起始标记为被标注属性的前缀标签中的标签或者标签组合,标签或者标签组合满足以下条件:在多个属性的前缀标签中,标签或者标签组合仅出现在被标注属性的前缀标签中。
[0011]可选地,在被标注属性的前缀标签中选取被标注属性的起始标记包括:将被标注属性之前相邻的标签记为备选标记;判断备选标记是否在多个属性的前缀标签中唯一,如果是,将备选标记作为起始标记,如果否,将与备选标记之前相邻的标签与备选标记进行组合,组合结果记为新的备选标记,直至挑选出起始标记或者被标注属性的前缀标签中的标签组合均不唯一。
[0012]进一步地,在将被标注属性之前相邻的标签记为备选标记之前还包括:将被标注属性的前缀标签按照与被标注属性的邻近关系距离进行排序,其中被标注属性之前相邻的标签记为排序第一的标签。
[0013]可选地,获取训练页面的步骤包括:获取需要抽取的文本内容,并将需要抽取的文本内容作为目标属性值;从目标网站中选取网页作为训练页面;在训练页面中查询与目标属性值相同或相近的属性,并将相同或相近的属性作为被标注属性。
[0014]进一步地,在训练页面中查询与目标属性值相同或相近的属性包括:在训练页面中判断是否存在属性值与目标属性值相同的属性,如果是,将该与目标属性值相同的属性作为被标注属性;如果否,将目标属性值进行切分,根据训练页面中文本行与切分后的属性值的相似度得出与目标属性值相近的属性。
[0015]可选地,将目标属性进行切分的步骤包括:去除训练页面中所有的标签,得到网页中文本行组成的数组;计算数组中文本行的平均长度;将目标属性值按照平均长度进行切分。
[0016]可选地,根据训练页面中文本行与切分后的属性值的相似度得出与目标属性值相近的属性包括:分别计算训练页面中各文本行与切分后的属性值的相似度;选择出相似度最高的一个或多个文本行;分别判断一个或多个文本行的相似度是否大于预设阈值,并且将一个或多个文本行与各自相邻的文本行进行结合,判断结合后的文本对切分后的属性值的相似度是否增大;选择以上判断结果均为是的文本行作为与目标属性值相近的属性。
[0017]根据本发明的另一方面,提供了一种网页信息抽取装置。该网页信息抽取装置包括:第一获取模块,用于获取训练页面,训练页面中标注了至少一个属性,被标注属性的内容与网页中需要抽取的文本内容对应;第二获取模块,用于获取训练页面中多个属性的前缀标签,前缀标签包括当前属性与前一属性之间的所有标签,多个属性包括被标注属性;第一选取模块,用于在被标注属性的前缀标签中选取被标注属性的起始标记;第二选取模块,用于在选取被标注属性之后的标签中选取结束标记;信息抽取模块,用于在需要抽取的网页中查询起始标记和结束标记,并抽取起始标记和结束标记之间的属性内容,以得到属性内容中包含的信息。
[0018]可选地,第一选取模块包括:第一定义子模块,用于将被标注属性之前相邻的标签记为备选标记;判断子模块,用于判断备选标记是否在多个属性的前缀标签中唯一;第二定义子模块,用于在判断子模块的输出为否的情况下,将与备选标记之前相邻的标签与备选标记进行组合,组合结果记为新的备选标记;标记子模块,用于在判断子模块的输出为是的情况下,将备选标记作为起始标记。
[0019]进一步地,第一获取模块包括:目标属性值获取子模块,用于获取需要抽取的文本内容,并将需要抽取的文本内容作为目标属性值;训练页面获取子模块,用于从目标网站中选取网页作为训练页面;查询子模块,用于在训练页面中查询与目标属性值相同或相近的属性,并将相同或相近的属性作为被标注属性。
[0020]使用本发明的技术方案,在被标注属性之前的标签和之后的标签中分别挑选起始标记和结束标记,将得出的起始标记和结束标记自动生成基于位置标记的网页信息的抽取规则,从而避免出现人工编写抽取规则的效率低错误率高的问题,提高了网页信息提取的效率。
[0021]另外通过进一步地改进,在训练页面中查询与原始目标属性值相同或相近的属性作为被标注属性,能够通过原始属性值,在新的页面结构中,标记出新的属性值所在的位置,可以重新训练得出符合新网页结构的抽取规则。从而当网页结构发生变更的时候,无需人工参与,就能自动修正规则,产生新的抽取规则。达到了进一步降低人工成本和抽取错误信息所造成的损失的技术效果。
[0022]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0023]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0024]图1是根据本发明一个实施例的基于位置标记的网页信息抽取装置的示意图;
[0025]图2是根据本发明另一个实施例的基于位置标记的网页信息抽取装置的示意图;
[0026]图3是根据本发明一个实施例的基于位置标记的网页信息抽取方法的示意图;
[0027]图4是根据本发明另一个实施例的基于位置标记的网页信息抽取方法中查找起始标记的流程图;以及
[0028]图5是根据本发明又一个实施例的基于位置标记的网页信息抽取方法中计算被标注属性的流程图。
【具体实施方式】
[0029]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0030]本实施例提供的基于位置标记的网页信息抽取装置利用少量人工标注的目标属性,完成了网页信息抽取规则的生成。图1是根据本发明一个实施例的基于位置标记的网页信息抽取装置的示意图,该网页信息抽取装置包括:第一获取模块110,用于获取训练页面,训练页面中标注了至少一个属性,被标注属性的内容与网页中需要抽取的文本内容对应;第二获取模块120,用于获取训练页面中多个属性的前缀标签,前缀标签包括当前属性与前一属性之间的所有标签,多个属性包括被标注属性;第一选取模块130,用于在被标注属性的前缀标签中选取被标注属性的起始标记;第二选取模块140,用于在选取被标注属性之后的标签中选取结束标记;信息抽取模块150,用于在需要抽取的网页中查询起始标记和结束标记,并抽取起始标记和结束标记之间的属性内容,以得到属性内容中包含的信肩、O
[0031]在以上实施例的基于位置标记的网页信息抽取装置中,第一获取模块110所获取的训练页面,通过人工方式已经标注了至少一个属性,被标注的属性内容对于与需抽取的文本内容,由第一选取模块130和第二选取模块140分别选取起始标记和结束标记作为位置标记,从而可以生成基于位置标记的网页抽取规则,信息抽取模块150利用基于位置标记的网页抽取规则就可以将带抽取网页中的起始标记和结束标记之间的属性内容抽取出来,得到属性内容中包含的信息。该实施例中的网页信息抽取装置仅需要人工对少量的训练页面标注内容,例如针对某一站点仅需要对一个页面进行标注,而且相比于人工编写网页抽取规则而言,标注内容的工作量大大降低且对人员的专业水平要求更低。
[0032]图2是根据本发明另一个实施例的基于位置标记的网页信息抽取装置的示意图,在该实施例的网页信息抽取装置中,第一选取模块130具体包括:第一定义子模块131,用于将被标注属性之前相邻的标签记为备选标记;判断子模块132,用于判断备选标记是否在多个属性的前缀标签中唯一;第二定义子模块133,用于在判断子模块132的输出为否的情况下,将与备选标记之前相邻的标签与备选标记进行组合,组合结果记为新的备选标记;标记子模块134,用于在判断子模块132的输出为是的情况下,将备选标记作为起始标记。通过以上第一选取模块130,挑选出的起始标记为被标注属性的前缀标签中的标签或者标签组合,而且满足以下条件:在多个属性的前缀标签中,作为起始标签的标签或者标签组合仅出现在被标注属性的前缀标签中。由于具有以上唯一性,在一个网页中利用起始标注就可以得到待抽取内容的位置。
[0033]为了便于第二定义子模块133可以方便地将标签进行标记,第一选取模块130在将被标注属性之前相邻的标签记为备选标记之前还可以进行以下准备操作:将被标注属性的前缀标签按照与被标注属性的邻近关系距离进行排序,其中被标注属性之前相邻的标签记为排序第一的标签。经过排序,所有的前缀标签按照与属性的距离排列成数组,从该标签数组中可以方便进行标签组合以定义备选标记。
[0034]另外,第一获取模块110具体可以包括:目标属性值获取子模块111,用于获取需要抽取的文本内容,并将需要抽取的文本内容作为目标属性值;训练页面获取子模块112,用于从目标网站中选取网页作为训练页面;查询子模块113,用于在训练页面中查询与目标属性值相同或相近的属性,并将相同或相近的属性作为被标注属性。
[0035]在一个网站的网页结构有变化的情况下,导致属性值所在的位置发生改变或者属性前后发生变化,此时,训练页面获取子模块112可以获取到新的训练网页,查询子模块113根据目标属性值在新的训练网页中的属性中进行查找匹配得到新的被标注属性,从而在原始目标属性值与需要的被标注属性并不完全一致的情况下,仍然可以使用以上网页抽取装置进行网页文本内容的抽取。解决了原始目标属性值在新的训练页面中的对应的属性值不完全相同或者原有属性值被多个标签隔开的问题。
[0036]以上查询子模块113中在训练页面中查询与目标属性值相同或相近的属性的步骤的具体流程可以包括:在训练页面中判断是否存在属性值与目标属性值相同的属性,如果是,将该与目标属性值相同的属性作为被标注属性;如果否,将目标属性值进行切分,根据训练页面中文本行与切分后的属性值的相似度得出与目标属性值相近的属性。
[0037]以上切分可以根据网页中文本行的平均长度进行切分,从而以上根据训练页面中文本行与切分后的属性值的相似度得出与目标属性值相近的属性的步骤,具体的流程可以为:分别计算训练页面中各文本行与切分后的属性值的相似度;选择出相似度最高的一个或多个文本行;分别判断一个或多个文本行的相似度是否大于预设阈值,并且将一个或多个文本行与各自相邻的文本行进行结合,判断结合后的文本对切分后的属性值的相似度是否增大;选择以上判断结果均为是的文本行作为与目标属性值相近的属性。从而可以得到新的训练页面中对应的标注属性。
[0038]以下结合对基于位置标记的网页信息抽取方法的说明,对以上实施例的网页信息抽取装置的工作流程进一步进行说明,其中以下实施例中介绍的基于位置标记的网页信息抽取方法可以由以上任一实施例的网页信息抽取装置执行,需要说明的是,下列是实施例的方法中的步骤流程在执行过程中,可以灵活地配置给以上模块执行,或者对以上模块进行调整后执行,并不依赖于固定的模块结构。
[0039]图3是根据本发明一个实施例的基于位置标记的网页信息抽取方法的示意图,如图所示,该网页信息抽取方法包括以下步骤:
[0040]步骤S301,获取训练页面,训练页面中标注了至少一个属性,被标注属性的内容与网页中需要抽取的文本内容对应;
[0041]步骤S303,获取训练页面中多个属性的前缀标签,前缀标签包括当前属性与前一属性之间的所有标签,多个属性包括被标注属性;
[0042]步骤S305,在被标注属性的前缀标签中选取被标注属性的起始标记;
[0043]步骤S307,在被标注属性之后的标签中选取结束标记;
[0044]步骤S309,在需要抽取的网页中查询起始标记和结束标记,并抽取起始标记和结束标记之间的属性内容,以得到属性内容中包含的信息。
[0045]该实施例中基于位置标记的方法是从训练页面中多个属性或者全部属性的前缀标签中挑选出标注属性具有唯一性的起始标记,从而对与训练页面结构相同的待抽取网页进行信息抽取时,可以通过起始标记就可以得到包含抽取信息的属性在网页中的位置,从而抽取该属性的属性值,得到属性内容中包含的文本信息。
[0046]由于在步骤S303中获取各属性的前缀标签时,下一相邻属性的前缀标签就是当前属性之后的标签,因此步骤S307中在被标注属性之后的标签也可从步骤S303中得到,而且该结束标记对属性的结尾进行了标记,保证了被标注属性或待抽取属性的完整性并且不带有多余的内容。
[0047]从以上说明可以看出,起始标记可以优选为被标注属性的前缀标签中的标签或者标签组合,该标签或者标签组合作为起始标记满足以下条件:在多个属性的前缀标签中,标签或者标签组合仅出现在被标注属性的前缀标签中。
[0048]在前缀标签中找到被标注属性的起始标记的具体流程可以采用迭代的方式进行,例如,将被标注属性之前相邻的标签记为备选标记;判断备选标记是否在多个属性的前缀标签中唯一,如果是,将备选标记作为起始标记,如果否,将与备选标记之如相邻的标签与备选标记进行组合,组合结果记为新的备选标记,直至挑选出起始标记或者被标注属性的前缀标签中的标签组合均不唯一。
[0049]为了在迭代过程中能够迅速地组合新的标签组合,在将被标注属性之前相邻的标签记为备选标记之前还可以包括:将被标注属性的前缀标签按照与被标注属性的邻近关系距离进行排序,其中被标注属性之前相邻的标签记为排序第一的标签。从而将前缀标签进行预处理,将前缀标签形成队列,按照顺序依次附加在备选标记中就可以得到新的备选
己 O
[0050]若一个网站的网页结构有所变更,属性值所在的位置或者前后的标签都有可能发生了改变,这就会导致无法在变更后的网页结构中的无法直接找到与人工标注的属性值完全相同的属性。针对这一问题,本实施例的方法可以通过进一步优化,能够在发现网页结构变更之后,根据原有历史属性的值,对新网页进行训练,产生新的抽取规则。
[0051]在该优化的网页抽取方法中,以上步骤S301具体可以包括:获取需要抽取的文本内容,并将需要抽取的文本内容作为目标属性值;从目标网站中选取网页作为训练页面;在训练页面中查询与目标属性值相同或相近的属性,并将相同或相近的属性作为被标注属性。
[0052]以上目标属性值可以是在改版之前的网页结构中的属性值,即由人员标注的原始目标属性,通过在改版后的训练也面中查找出相同或相近的属性作为被标注属性,继续执行以上步骤S303至S309的流程,就可以在新的网页中抽取相应的文本信息。
[0053]其中,在训练页面中查询与目标属性值相同或相近的属性具体可以包括:在训练页面中判断是否存在属性值与目标属性值相同的属性,如果是,将该与目标属性值相同的属性作为被标注属性;如果否,将目标属性值进行切分,根据训练页面中文本行与切分后的属性值的相似度得出与目标属性值相近的属性。
[0054]以上切分文本行的文本长度可以按照网页中文本的平均长度进行,在这种切分方法下,将目标属性进行切分的步骤包括:去除训练页面中所有的标签,得到网页中文本行组成的数组;计算数组中文本行的平均长度;将目标属性值按照平均长度进行切分。
[0055]可选地,根据训练页面中文本行与切分后的属性值的相似度得出与目标属性值相近的属性包括:分别计算训练页面中各文本行与切分后的属性值的相似度;选择出相似度最高的一个或多个文本行;分别判断一个或多个文本行的相似度是否大于预设阈值,并且将一个或多个文本行与各自相邻的文本行进行结合,判断结合后的文本对切分后的属性值的相似度是否增大;选择以上判断结果均为是的文本行作为与目标属性值相近的属性。
[0056]下面结合两个具体的应用实例对以上实施例的基于位置标记的网页信息抽取方法进行补充说明。
[0057]在第一应用实例中,需要人工标记出属性值,可自动生成包含起始标记和结束标记的位置标记,从而可在网页中定位出需抽取信息的属性位置。
[0058]例如在需要抽取信息的网站的网页的html源代码中存在以下一段:<li>〈p>name: 360safe〈/pX/li>。在这段源代码中,标记<li>、〈p>或者<li>〈p>都可以作为一个标记。而所谓的抽取规则,指的是在属性值name:360safe的前后各包含一系列的标记,并根据这些标记能够从原始网页中,得到需要抽取的属性值name: 360safe。在本实施例中,位于待抽取内容的属性之前的标记称为开始标记;位于待抽取内容的属性之后的标记成为结束标记。
[0059]为了抽取出需要的信息就需要通过人工标注的属性值,查找出能够定位该属性值的开始标记和结束标记。
[0060]首先,随机从已经人工标记属性值的网页中挑选一个页面作为训练页面,获取该训练页面中的所有标签组成多个前缀标签数组,数组的个数与网页中的属性个数一致,其中前缀标签数组由一个属性与该属性之前相邻属性之间的所有标签组成。
[0061]然后需要在被标注属性的前缀标签数组中挑选在页面中唯一的标签或唯一的标签组合作为起始标记,图4是根据本发明另一个实施例的基于位置标记的网页信息抽取方法中查找起始标记的流程图,如该流程图所示,首先执行步骤S401,将被标注属性的前缀标签中的标签,按照被标注属性的距离进行反向排序,然后执行步骤S402 ;
[0062]步骤S402,参数进行初始化,排序参数N=I,并将序号为I的标签作为初始备选标记,然后执行步骤S403 ;
[0063]步骤S403,判断备选标记是否在所有属性的前缀标记是唯一的,如果判断结果为是,执行步骤S404,如果判断结果为否,执行步骤S405 ;
[0064]步骤S404,将当前备选标记作为起始标记,并结束查找流程;
[0065]步骤S405,排序参数加一,即N=N+1,然后执行步骤S406 ;
[0066]步骤S406,判断当前排序参数是否超过被标注属性的前缀标签的个数,也就是判断是否所有被标注属性的前缀标签组合在页面中是否均不唯一,如果是,则说明无法利用标注属性找到合适的起始标记,完成查找并输出算法失效的信息;如果否,执行步骤S407,就需要执行步骤S407 ;
[0067]步骤S407,将第N标签与备选标记组合,组合结果记为新的备选标记,也就是延长当前的备选标记,形成新的备选标记,返回执行S403,进行下一轮迭代。
[0068]在得出起始标记后,可以将属性的属性值后的相邻的弟一标签作为结束标记。将该起始标记和结束标记作为基于位置标记的网页信息提取规则。利用该规则,进行网页信息提取时,可以在网页中查询起始标记和结束标记,并将起始标记和结束标记的属性内各作为抽取内容,从而可以得出需要的文本信息。
[0069]结合以上〈li>〈p>name:360safe〈/p>〈/li>的例子进行说明,属性 name:360safe的前缀标签为<li>〈p>,经过步骤S401的反向排序,得到
标签的序号为1,<li>的序号为2,步骤S402中将
标签作为初始备选标记,步骤S403判断
是否在整个页面的html文档中唯一,如果唯一,将〈P〉作为起始标记,如果不唯一,将备选标记扩展为<li>〈p>,并判断<li>〈p>的标签组合是否在整个页面的html文档中唯一,如果唯一,将<li>
作为起始标记,如果不唯一,由于<li>〈p>已经是全部的前缀标签,结束迭代判断过程,算法失效。由于以上实例中的前缀标签仅有两个,如果<li>〈p>的标签组合仍不唯一,算法就失效。但是对于一般需要提取信息的属性的前缀标签的个数比较多的情况下,循环判断可能需要较多的次数。
[0070]以上的步骤是利用人工标注的属性生成规则,但是现有的网站经常会变更网页的版式,在每次网页改版后,都进行人工标注的工作量也比较大,因此本发明的又一个实施例的网页信息抽取方法可以利用改版前标注的属性计算得出符合新结构的页面的属性,也就是通过匹配得出新页面中的标注属性,利用该标注属性重复位置标记的查找过程得到新页面的抽取规则。
[0071]网站的网页结构发生变化时,属性所在的位置或者属性的前后的标签均可能发生改变。需要在新的训练页面中匹配得出用户标注的属性对应的属性。然后将该对应的属性作为被标注属性,继续执行以上实施例中介绍的方法。由于查找位置标记的步骤已经在之前介绍过了,一下主要在新页面中查找对应属性,也就是匹配得出被标注属性的过程进行介绍。
[0072]以上匹配被标注属性的难点在于:
[0073]1、原有人工标注的目标属性值可能与新的属性值不完全相同,例如:原来的描述片段“这款软件应用于ios、android平台”,新的描述片段为“这款软件应用于ios、android、winphone 平台,,。
[0074]2、原有的属性值可能被多个标签隔开,例如:新的描述片段为“这款软件应用于<br>ios<br>android<br>winphone 平台,,。
[0075]对于上述两种情况,若是要求属性值完全一致,无法根据老的属性值标记出新的属性值。
[0076]图5是根据本发明又一个实施例的基于位置标记的网页信息抽取方法中计算被标注属性的流程图,如该流程图所示,
[0077]首先执行步骤S501,接收目标属性值,该目标属性值是指原始页面中已标注出的属性值,然后执行步骤S502 ;
[0078]步骤S502,从目标网站中选取训练页面,然后执行步骤S503的判断步骤;
[0079]步骤S503,判断训练页面中存在与目标属性值相同的属性,即判断网页改版后是否对原来的属性值以及标签没有影响;如果存在,直接执行步骤S517 ;如果不存在,依次执行步骤S504至步骤S509 ;
[0080]步骤S504,去除训练页面中所有的标签,得到网页中文本行组成的数组;
[0081 ] 步骤S505,将目标属性值按照文本行数组平均长度进行分段,分为P段,初始化分段序号参数P=I ;
[0082]步骤S506,计算第P段目标属性与数组中各文本行的相似度,相似度可以利用汉明距离、编辑距离等参数来评价,一般编辑距离或汉明距离越大,相似度越小;
[0083]步骤S507,选取Q个相似度最大的文本行,其相似度依次为S1、S2……SQ,初始化文本行排序参数q=l,一般选择3个相似度最高的文本行,即Q的取值一般为3 ;
[0084]步骤S508,计算第q个文本行与之前相邻的文本行结合后与第P段目标属性的相似度,记为S/ ;
[0085]步骤S509,计算第q个文本行与之后相邻的文本行结合后与第P段目标属性的相似度,记为S/ ';
[0086]步骤S510,判断S/ <Sq?并且S/丨< Sq ?,如果是,执行步骤S511,如果否,执行步骤S513 ;
[0087]步骤S511,判断Sq是否大于预设阈值,即判断文本行与目标属性值相似;如果是,执行步骤S512,如果否,执行步骤S513 ;
[0088]步骤S512,将第q个文本行作为被标注属性,完成被标注属性的匹配过程;
[0089]步骤S513,判断q+Ι≤Q ?,如果是,证明所有Q个相似度最大的文本行已经迭代完成,需要对下一分段的目标属性进行计算,然后执行步骤S514,如果否,执行步骤S516,进入计算下一个待选文本行是否符合要求;
[0090]步骤S514,判断p+1厄尔P?,如果是,证明所有目标属性值的分段已经迭代完成,此时如果仍找不出匹配的被标注属性,算法失效,结束计算,如果否,执行步骤S517,进入下一段分段属性的匹配计算过程;
[0091]步骤S515,P累加I,返回执行步骤S506 ;
[0092]步骤S516,q累加I,返回执行步骤S508 ;
[0093]步骤S517,与目标属性值相同的属性作为被标注属性。
[0094]通过上面的方法,就能够通过原始的目标属性值,在新的页面结构中,标记出新的被标注属性所在的位置。然后按照之前介绍的流程对标记出的新网页挑选位置标记,进行训练。就可以得到新的抽取规则了。
[0095]根据本发明实施例的装置,其中,所述第一选取模块包括:
[0096]第一定义子模块,用于将所述被标注属性之前相邻的标签记为备选标记;
[0097]判断子模块,用于判断所述备选标记是否在所述多个属性的前缀标签中唯一;
[0098]第二定义子模块,用于在所述判断子模块的输出为否的情况下,将与所述备选标记之前相邻的标签与所述备选标记进行组合,组合结果记为新的备选标记;
[0099]标记子模块,用于在所述判断子模块的输出为是的情况下,将所述备选标记作为所述起始标记。
[0100]根据本发明实施例所述的装置,其中,所述第一获取模块包括:
[0101]目标属性值获取子模块,用于获取所述需要抽取的文本内容,并将所述需要抽取的文本内容作为目标属性值;
[0102]训练页面获取子模块,用于从目标网站中选取网页作为所述训练页面;
[0103]查询子模块,用于在所述训练页面中查询与所述目标属性值相同或相近的属性,并将所述相同或相近的属性作为所述被标注属性。
[0104]通过本技术发明,能够大大的降低人工提取规则的工作量,同时能够避免人工提取规则出错的情况。另外,当网页结构发生变更的时候,无需人工参与,就能自动修正规则,产生新的抽取规则。从而进一步降低人工成本和抽取错误信息所造成的损失。
[0105]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0106]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0107]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0108]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0109]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的网页抽取装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0110]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
【权利要求】
1.一种基于位置标记的网页信息抽取方法,包括以下步骤: 获取训练页面,所述训练页面中标注了至少一个属性,被标注属性的内容与网页中需要抽取的文本内容对应; 获取所述训练页面中多个属性的前缀标签,所述前缀标签包括当前属性与前一属性之间的所有标签,所述多个属性包括所述被标注属性; 在所述被标注属性的如缀标签中选取所述被标注属性的起始标记; 在所述被标注属性之后的标签中选取结束标记; 在需要抽取的网页中查询所述起始标记和所述结束标记,并抽取所述起始标记和所述结束标记之间的属性内容,以得到所述属性内容中包含的信息。
2.根据权利要求1所述的方法,其中,所述起始标记为所述被标注属性的前缀标签中的标签或者标签组合,所述标签或者标签组合满足以下条件:在所述多个属性的前缀标签中,所述标签或者标签组合仅出现在所述被标注属性的前缀标签中。
3.根据权利要求2所述的方法,其中,在所述被标注属性的前缀标签中选取所述被标注属性的起始标记包括: 将所述被标注属性之前相邻的标签记为备选标记; 判断所述备选标记是否在所述多个属性的前缀标签中唯一,如果是,将所述备选标记作为所述起始标记, 如果否,将与所述备选标记之前相邻的标签与所述备选标记进行组合,组合结果记为新的备选标记,直至挑选出所述起始标记或者所述被标注属性的前缀标签中的标签组合均不唯一。.
4.根据权利要求2所述的方法,其中,将所述被标注属性之前相邻的标签记为备选标记之前还包括: 将所述被标注属性的前缀标签按照与所述被标注属性的邻近关系距离进行排序,其中所述被标注属性之前相邻的标签记为排序第一的标签。
5.根据权利要求1所述的方法,其中,在所述被标注属性之后的标签中选取结束标记包括: 选取所述被标注属性之后相邻的标签作为其结束标记。
6.根据权利要求1至5中任一项所述的方法,其中,获取训练页面包括: 获取所述需要抽取的文本内容,并将所述需要抽取的文本内容作为目标属性值; 从目标网站中选取网页作为所述训练页面; 在所述训练页面中查询与所述目标属性值相同或相近的属性,并将所述相同或相近的属性作为所述被标注属性。
7.根据权利要求6所述的方法,其中,在所述训练页面中查询与所述目标属性值相同或相近的属性,包括: 在所述训练页面中判断是否存在属性值与所述目标属性值相同的属性,如果是,将该与所述目标属性值相同的属性作为所述被标注属性; 如果否,将所述目标属性值进行切分,根据所述训练页面中文本行与切分后的属性值的相似度得出与所述目标属性值相近的属性。
8.根据权利要求7所述的方法,其中,将所述目标属性进行切分包括:去除所述训练页面中所有的标签,得到网页中文本行组成的数组; 计算所述数组中文本行的平均长度; 将所述目标属性值按照所述平均长度进行切分。
9.根据权利要求8所述的方法,其中,根据所述训练页面中文本行与切分后的属性值的相似度得出与所述目标属性值相近的属性包括: 分别计算所述训练页面中各文本行与切分后的属性值的相似度; 选择出相似度最高的一个或多个文本行; 分别判断所述一个或多个文本行的相似度是否大于预设阈值,并且将所述一个或多个文本行与各自相邻的文本行进行结合,判断结合后的文本对所述切分后的属性值的相似度是否增大; 选择以上判断结果均为是的文本行作为与所述目标属性值相近的属性。
10.一种网页信息抽取装置,包括以下模块: 第一获取模块,用于获取训练页面,所述训练页面中标注了至少一个属性,被标注属性的内容与网页中需要抽取的文本内容对应; 第二获取模块,用于获取所述训练页面中多个属性的前缀标签,前缀标签包括当前属性与前一属性之间的所有标签,所述多个属性包括所述被标注属性; 第一选取模块,用于在所述被标注属性的前缀标签中选取所述被标注属性的起始标记; 第二选取模块,用于在选取所述被标注属性之后的标签中选取结束标记; 信息抽取模块,用于在需要抽取的网页中查询所述起始标记和所述结束标记,并抽取所述起始标记和所述结束标记之间的属性内容,以得到所述属性内容中包含的信息。
【文档编号】G06F17/30GK103473285SQ201310385373
【公开日】2013年12月25日 申请日期:2013年8月29日 优先权日:2013年8月29日
【发明者】徐锐波, 付赟 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1