具体实施方式
本发明实施例中,从网页中查找网页中包含的每种信息属性,获取每种信息属性对应的信息属性候选集,然后根据保存的信息属性之间的位置关系与布局关系概率的对应关系,确定至少两种信息属性间的至少一个最大布局关系概率对应的位置关系,从至少两种信息属性对应的属性候选集中,抽取满足每种信息属性位置关系的信息属性组合。其中,信息属性包括:标题、发布时间、作者、评论链接、来源、正文、主题、相关信息或图片等,则每种信息属性对应的信息属性候选集分别为:标题候选集、发布时间候选集、作者候选集、评论链接候选集、来源候选集、正文候选集、主题候选集、相关信息候选集、以及图片候选集。参见图1,从网页中抽取信息的具体过程包括:
步骤101:查找网页中的每种信息属性,获取每种信息属性对应的信息属性候选集。
这里,信息属性可以包括:标题、发布时间、作者、评论链接、来源、正文、主题、相关信息、图片等中两种,或多种。存储单元中存储了每种信息属性对应的抽取条件,当在网页中的查找到的信息属性满足对应的抽取条件,就将查找到的信息属性放入对应的信息属性候选集中。
步骤102:根据保存的信息属性间的位置关系与布局关系概率的对应关系,确定至少两种信息属性间的至少一个最大布局关系概率对应的位置关系。这里,首先在保存的对应关系中,查找至少两种信息属性间的至少一个最大布局关系概率,然后确定查找到的最大布局关系概率对应的位置关系。
保存的信息属性间的位置关系与布局关系概率的对应关系可以表示为{(ai,aj),Rs,p}形式,其中(ai,aj)为信息属性组合,用于表示两种信息属性ai和aj;Rs为位置类型,用于表示两种信息属性之间的位置关系类型,取值为1、2或3,1表示上下关系,2表示左右关系,3表示相邻关系;p为布局关系概率值(0-1),用于表示两种信息属性符合某种位置关系的概率。
根据上述保存的对应关系,确定两种信息属性ai,aj之间p的最大值对应的Rs。例如:保存的{(ai,aj),Rs,p}包括:{(标题,发布时间),Rs=1,P=97.6%},以及{(标题,发布时间),Rs=3,P=100%},则P=100%为最大值,其对应的Rs=3,则可以确定信息属性位置关系为标题和发布时间为相邻关系。
这里,网页中只有两种信息属性时,则只需确定这两种信息属性的位置关系。网页中包括两种以上信息属性时,则需要确定至少一个最大布局关系概率对应的两种信息属性的位置关系。
步骤103:从至少两种信息属性对应的信息属性候选集中,抽取满足所述位置关系的信息属性组合。
在本发明实施例步骤101中,每种信息属性都可以包括一些子属性,例如标题包括的子属性可以为:字体、标签、位置以及文本;作者包括的子属性可以为:字体、位置以及文本。这样,对于信息属性的每种子属性设定一定的条件,或者对信息属性的一种或多种子属性设定一定的条件。例如:存储单元中存储的标题对应的抽取条件为:信息标题的字体必须大于15PX,颜色为黑色,则判断待抽取的网页中查找到的每个标题的字体是否大于15PX,颜色是否为黑色,当发现信息标题T1的字体大于15PX,且颜色为黑色,则可以将T1作为候选标题放入标题候选集中;存储单元中存储的发布时间对应的抽取条件为:发布时间的位置必须在网页的上半部分,且发布时间的字体颜色为黑色,则,判断待抽取的网页中查找到的每个发布时间的位置是否在网页的上半部分,以及对应的发布时间的字体颜色是否为黑色,当发现发布时间S2符合上述抽取条件,则将S2作为候选发布时间放入发布时间候选集中。
因此,这里,标题候选集可能会包括:T1、T3、T5等候选标题;发布时间候选集可能会包括:S2、S3等候选发布时间;作者候选集可能会包括:E3、E5等候选作者;评论链接候选集可能会包括:R1、R7等候选评论链接;来源候选集可能而没有符合抽取条件的候选来源、正文候选集可能会包括:X1、X4、X6等候选正文;主题候选集可能会包括:Y4、Y5等候选主题;相关信息候选集、以及图片候选集都没有符合抽取条件的候选相关信息以及候选图片。
当然,本发明实施例中,信息属性也可以只有标题、作者、正文这几个,因此,也只需要从待提取的网页中,查找满足各自设定条件的候选标题,候选作者以及候选正文,放入对应的标题候选集、作者候选集以及正文候选集中。
当本发明实施例中网页中包括两种以上的信息属性时,则上述步骤102可以只确定第一信息属性和第二信息属性的第一最大布局关系概率对应的第一位置关系;也可以首先确定第一信息属性和第二信息属性的第一最大布局关系概率对应的第一位置关系,再确定第一信息属性和第三信息属性的第二最大布局关系概率对应的第二位置关系;还可以确定每两种信息属性之间的最大布局关系概率对应的位置关系。
例如:网页中包括:标题,作者,发布时间,则可以确定标题与作者的属性位置关系为上下关系,标题与发布时间的属性位置关系为相邻关系,作者与发布时间的属性位置关系为相邻关系这三种关系中的一种,两种或三种。
在本发明实施例步骤103中,当网页中只有两种信息属性时,则可以从这两种信息属性对应的信息属性候选集中,抽取满足属性位置关系的信息属性组合放入当前的候选组合集中,将当前的候选组合集中信息属性组合作为抽取的信息输出。
在本发明实施例步骤103中,当网页中包括多种信息属性时,则可以首先从第一信息属性对应的第一信息属性候选集,以及第二信息属性对应的第二信息属性候选集组成的合集中,抽取满足第一位置关系的信息属性组合放入当前的候选组合集中;然后从当前的候选组合集,以及第三信息属性对应的第三信息属性候选集组成的合集中,抽取满足第二位置关系的信息属性组合,并用抽取的信息属性组合更新当前的候选组合集;最后将更新后的当前的候选组合集中信息属性组合作为抽取的信息输出。
以此类推,新增一种信息属性,确定一个新增位置关系,就可以从当前的候选组合集,以及新增息属性对应的信息属性候选集组成的合集中,抽取满足新增位置关系的信息属性组合,然后用抽取的信息属性组合更新当前的候选组合集,将更新后的当前的候选组合集中信息属性组合作为抽取的信息输出。
例如:当标题与作者的属性位置关系为上下关系时,根据标题候选集中每个候选标题的位置值,以及作者候选集中每个候选作者的位置值,抽取出候选标题在候选作者之上的信息属性组合,例如:{T1、E2}、{T1、E3}、{T2、E3}符合候选标题在候选作者之上,则将这三个信息属性组合抽取出来放入当前的候选组合集中。当本发明实施例中,还确定了标题与发布时间的属性位置关系为相邻关系时,则根据当前的候选组合集,以及发布时间候选集组成的合集中,每个候选标题和每个候选发布时间的位置值,抽取候选标题与候选发布时间相邻的信息属性组合。例如:候选组合集包括{T1、E2}、{T1、E3}、{T2、E3};发布时间候选集包括{S1、S2},则根据T1、T2、S1、S2的位置值,确定符合标题与发布时间相邻关系的组合为{T1、E2、S2},{T1、E3、S2},则可以用{T1、E2、S2},{T1、E3、S2}更新当前的候选组合集,并输出由T1、E2、S2组成的信息,以及由T1、E3、S2组成的信息。
在本发明实施例步骤103中,当网页中包括多种信息属性时,还可以首先从第一信息属性对应的第一信息属性候选集,以及第二信息属性对应的第二信息属性候选集组成的合集中,抽取满足第一位置关系的信息属性组合放入当前的候选组合集中;然后从第一信息属性对应的第一信息属性候选集,以及第三信息属性对应的第三信息属性候选集组成的合集中,抽取满足第二位置关系的信息属性组合放入当前的候选组合集中;将当前的候选组合集中的信息属性组合进行排列组合后,作为抽取的信息输出。
以此类推,新增一种信息属性,确定一个新增位置关系,就可以从新增位置关系对应的两种信息属性候选集组成的合集中,抽取满足新增位置关系的信息属性组合放入当前的候选组合集中;然后将当前的候选组合集中的信息属性组合进行排列组合后,作为抽取的信息输出。
例如:当标题与作者的属性位置关系为上下关系时,抽出的组合包括{T1、E2}、{T1、E3}、{T2、E3};当标题与发布时间的属性位置关系为相邻关系,抽出的组合为{T1、S2},则当前的候选组合集包括:{T1、E2}、{T1、E3}、{T2、E3},{T1、S2},则对其进行排列组合后,可以输出由T1、E2、S2组成的信息,以及由T1、E3、S2组成的信息。
下面结合说明书附图对本发明实施例作进一步详细描述。
实施例一,这里,信息具体可以为新闻信息,从网页中获取候选新闻属性放入对应属性候选集中,参见图2,包括:
步骤201:读取一个包含有新闻的网页,并将读取的网页转换为文档对象模型(DOM,Document Object Model)树结构。
本发明实施例中可以采用微软开发的Visual STudio2005中C#语言的WebBRowsER组件将读取到的网元转换为DOM树结构。
DOM树结构的每个节点都是新闻信息的属性,即可能是标题、发布时间、作者、评论链接、来源、正文、主题、相关新闻或图片。每个节点对应的属性都包括子属性。例如:一个节点是标题,则该节点包含了该标题的字体信息、标签信息、位置信息、文本信息等等,具体可以用数值来标识节点包含的每个子属性。
步骤202:将根节点作为当前节点。
步骤203:判断当前节点的信息属性,根据保存的该信息属性的抽取条件,确定当前节点是否为候选信息属性,如果是,执行步骤204;否则,执行步骤205。
保存的信息属性的抽取条件如表1所示:
表1
本发明实施例中,可以保存表1所示的全部信息属性的抽取条件,也可以只保存其中一部分。例如:对于标题,只对字体和位置设定了抽取条件,对于发布时间,只对位置和文本设置了抽取条件。
这里,若当前节点为标题,其设定的抽取条件为字体的大小>15px,位置须在网页的上半部,则根据当前节点包含的子属性的值,确定其字体的大小是否大于15px,以及其位置是否在网页的上半部,若当前节点包含的子属性的值满足设定条件,则执行步骤204,否则执行205。
若当前节点为正文,其设定的抽取条件为字体的大小<12px,其常用标签为<p>、<br>或<div>,其位置在网页的中部。如果当前节点的字体的大小<12px,其常用标签为<p>、<br>或<div>,且位置在网页的中部,那么当前节点包含的子属性的值满足设定条件,则执行步骤204,否则执行205。
其他信息属性的判断过程类似,就不再累述了。
步骤204:将当前节点作为候选节点放入对应的新闻属性候选集中,然后执行步骤205。
若步骤203中的当前节点为标题,且满足标题的抽取条件,则将当前节点,即当前标题作为候选标题放入标题候选集中。
步骤205:获取当前节点所有的子节点,确定当前节点包含的子节点个数N。
步骤206:判断N=0否?即判断当前节点是否包含子节点,当N不等于零,即当前节点包含子节点时,执行步骤207,当N等于零,即当前节点不包含子节点时,执行步骤208。
步骤207:将每个子结点作为当前节点,转入步骤203中。
步骤208:输出每种新闻属性候选集,流程结束。也就是获得步骤204中确定的包括候选节点的所有新闻属性候选集。
这里,经过设定的抽取条件的筛选后,标题候选集包括:候选标题T1和候选标题T2。作者候选集包括:候选作者E1、E2和E3。评论链接候选集包括:候选评论链接R1和R2。
实施二:在本发明实施例一中,已经获得了包括候选新闻属性的所有新闻属性候选集,例如:标题候选集包括:候选标题T1和候选标题T2。作者候选集包括:候选作者E1、E2和E3。评论链接候选集包括:R1和R2。则本发明实施例二中,根据保存的新闻属性间的位置关系与布局关系概率的对应关系,也就是根据保存的新闻属性间的布局关系库,从新闻属性候选集中确定满足布局关系的候选新闻属性组合,从而形成完整的新闻信息输出。参见图3,具体包括:
步骤301:获得各种新闻属性候选集。
根据实施例一中所述的流程,获得网页中各种新闻属性候选集。
步骤302:将保存的新闻属性布局关系库,作为当前的新闻属性布局关系库。
这里,保存的新闻属性布局关系库可以如表2所示,
表2
其中,每个单元格可转换成这样的形式{(ai,aj),Rs,p}的1至3个元组,比如单元格横三竖二可转换为{(标题,作者),1,100%}和{(标题,作者),2,26.92%}两种元组。
步骤303:初始化当前的属性组合集S,以及当前的候选组合集C,即将S,C两种组合集清空。
步骤304:选择两种新闻属性作为当前的两种新闻属性ai,aj。
新闻属性有很多时,可以任选两种新闻属性作为当前的两种新闻属性ai,aj。也可以根据实际应用的经验,选择最常见的两种新闻属性,例如:标题和作者。
步骤305:从当前的新闻属性布局关系库中确定当前的两种新闻属性布局关系的最大概率值P,对应的属性位置关系Rs。
当步骤303确定的当前的两种属性为标题和作者。根据表2中的单元格横三竖二{(标题,作者),1,100%}可以确定,当P=100%时,Rs=1。
步骤306:将当前的新闻属性ai和aj中不属于当前的属性组合集S的新闻属性对应的新闻属性候选集,以及当前的候选组合集C组成的一个合集,在该合集中选择符合属性位置关系Rs的候选组合放入当前候选组合集C中,即根据更新当前候选组合集C。
这里,可以是由ai或aj对应的新闻属性候选集,与当前的候选组合集C组成的一个合集,也可以是有ai和aj对应的两种新闻属性候选集,与当前的候选组合集C组成的一个合集,还可以只由当前的候选组合集C组成一个合集。
初始化S,C都为空集时,即当前的新闻属性ai和aj都不属于S,因此,合集由当前的新闻属性ai和aj对应的两种新闻属性候选集组成,在合集中选择符合属性位置关系Rs的候选组合放入当前的候选组合集C中。
在流程进行中,S,C都不为空集,若aj不属于S时,则由aj对应的新闻属性候选集,以及当前的候选组合集C组成的一个合集,在合集中选择符合属性位置关系Rs的候选组合更新当前的候选组合集C中。
当ai和aj都属于S中,则当前的候选组合集C组成的一个合集,在合集中选择符合属性位置关系Rs的候选组合更新当前的候选组合集C中。
步骤307:将当前的新闻属性ai和aj中不属于当前属性集S中的新闻属性放入当前属性组合S中,并从当前的新闻属性布局关系库,将当前的两种属性的属性布局关系删除,即将关系元组{(ai,aj),Rs,p}删除,将删除后的新闻属性布局关系库作为当前的新闻属性布局关系库。
步骤308:判断当前的新闻属性布局关系库中,是否包括这样的元组:{(am,an),Rs,p},其中am∈S,即am必须是上述过程中已经选择过的信息属性,如果包括,则将am,an作为当前的两种新闻属性ai,aj,返回步骤305;否则,执行步骤309。
步骤309:将当前的候选组合集C中的候选组合作为抽取的信息输出。
若本实施例中,保存的新闻属性布局关系库可以如表3所示,
表3
可见,新闻属性质只包括:标题、作者和评论链接。初始化时,S和C都为空集,选取的ai,aj为标题,作者,其最大位置关系概率对应的关系元组为{(标题,作者),1,100%},标题候选集为{T1、T2};作者候选集为{E1、E2、E3},根据每个候选标题,以及每个候选作者的位置属性的值,可以确定其在网页中的位置,参见图4,可知在网页中的位置从上到下依次为:E1、T1、E2、T2、E3。由这两种新闻属性候选集组成的合集中所有的组合共6个:(E1,T1)、(T1、E2)、(E2、T2)、(E1、T2)、(T1、E3)、(T2、E3)。这里,Rs=1,因此,只有(T1、E2)、(T1、E3)、(T2、E3)符合标题在作者上面的布局关系,因此将它们放入当前的候选组合集C中。
标题和作者都不属于S,因此,将标题和作者放入S中,从表3中删除标题和作者之间的新闻属性布局关系,那么当前的新闻属性布局关系库中,还包括标题和评论链接的布局关系,因标题属于集合S,则将标题和评论链接作为当前的两种新闻属性,即根据当前的新闻属性布局关系库中{(标题,评论链接),1,100%},确定P=100%时,Rs=1,也就是标题和评论链接的位置关系为上下关系。评论链接不属于S,因此,由评论链接候选集{R1、R2},与当前的候选组合集C{(T1、E2)、(T1、E3)、(T2、E3)}组成的合集为{(T1、E2、R1)、(T1、E3、R1)、(T2、E3、R1)、(T1、E2、R2)、(T1、E3、R2)、(T2、E3、R2)},根据每个候选标题,以及每个候选评论链接的位置属性的值,参见图5,可以确定{T1、R2}、符合根据上述的标题和评论链接的上下关系,因此,将合集中满足标题和评论链接的上下关系的(T1、E2、R2)、(T1、E3、R2)放入当前的候选组合集C中。
评论链接不属于S中,因此将评论链接放入S中,所以S包括:标题,作者,评论链接。
将标题和评论链接的布局关系删除后,当前的新闻属性布局关系库中,还包括作者和评论链接的布局关系,其中,作者或评论链接都属于S,根据{(作者,评论链接),1,100%},确定作者和评论链接的关系也是上下关系。作者,评论链接都已属于S了,因此,合集就为当前的候选组合集C{(T1、E2、R2)、(T1、E3、R2)},参见图5,可以确定(E1、R2)、(E2、R2)符合作者和评论链接的上下关系,这样,合集中只有(T1、E2、R2)符合作者和评论链接的上下关系,因此,当前的候选组合集C只包括(T1、E2、R2)。
将作者评论链接的布局关系删除后,当前的新闻属性布局关系库中没有新闻属性布局关系了,因此,将当前的候选组合集C中的(T1、E2、R2)作为抽出的信息,并将其输出。
实施例二是本发明的较佳实施例,可以根据网页中每两种信息属性间的位置关系,抽取比较全面的信息,从而可以获得更加准确的信息。
当然,本发明实施例也可以只根据多种信息属性中的某两种信息属性的位置关系,抽取符合该位置关系的信息属性组合,并抽取到的信息属性组合作为信息输出。
根据上述的从网页中抽取信息的方法,可以构建一种从网页中抽取信息的装置,参见图6,包括:获取单元100、确定单元200和抽取单元300.
获取单元100,用于查找网页中的每种信息属性,获取每种信息属性对应的信息属性候选集:
确定单元200,用于根据保存的信息属性间的位置关系与布局关系概率的对应关系,查找至少两种信息属性间的至少一个最大布局关系概率,并确定查找到的最大布局关系概率对应的位置关系;
抽取单元300,用于从所述至少两种信息属性分别对应的信息属性候选集中,抽取满足所述位置关系的信息属性组合。
其中,获取单元100可以将所述网页转换为DOM树结构,并遍历所述DOM树结构的各个节点,将满足设定条件的节点对应的信息属性,放入该信息属性对应的信息属性候选集中。
当网页中只有两种信息属性时,确定单元只需确定这两种信息属性的位置关系;则抽取单元可以从这两种信息属性对应的信息属性候选集中,抽取满足属性位置关系的信息属性组合放入当前的候选组合集中,将当前的候选组合集中信息属性组合作为抽取的信息输出。
当网页中包括两种以上的信息属性时,确定单元可以只确定第一信息属性和第二信息属性的第一最大布局关系概率对应的第一位置关系;也可以首先确定第一信息属性和第二信息属性的第一最大布局关系概率对应的第一位置关系,再确定第一信息属性和第三信息属性的第二最大布局关系概率对应的第二位置关系;还可以确定每两种信息属性之间的最大布局关系概率对应的位置关系。
则抽取单元可以首先从第一信息属性对应的第一信息属性候选集,以及第二信息属性对应的第二信息属性候选集组成的合集中,抽取满足第一位置关系的信息属性组合放入当前的候选组合集中;然后从当前的候选组合集,以及第三信息属性对应的第三信息属性候选集组成的合集中,抽取满足第二位置关系的信息属性组合,最后用抽取的信息属性组合更新当前的候选组合集,将更新后的当前的候选组合集中信息属性组合作为抽取的信息输出。
或者,抽取单元可以首先从第一信息属性对应的第一信息属性候选集,以及第二信息属性对应的第二信息属性候选集组成的合集中,抽取满足第一位置关系的信息属性组合放入当前的候选组合集中;然后从第一信息属性对应的第一信息属性候选集,以及第三信息属性对应的第三信息属性候选集组成的合集中,抽取满足第二位置关系的信息属性组合放入当前的候选组合集中;将当前的候选组合集中的信息属性组合进行排列组合后,作为抽取的信息输出。
综上所述,本发明实施例中,首先查找网页中的每种信息属性,获取每种信息属性对应的信息属性候选集,然后根据信息属性间的位置关系,抽取信息属性组合,形成高相关性的聚类,从而可以从网页中快速、准确地抽取出所需的信息。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。