New! Search for patents from more than 100 countries including Australia, Brazil, Sweden and more

CN102063493A - 基于正则表达式组和控制逻辑的内容抽取方法 - Google Patents

基于正则表达式组和控制逻辑的内容抽取方法 Download PDF

Info

Publication number
CN102063493A
CN102063493A CN2010106144855A CN201010614485A CN102063493A CN 102063493 A CN102063493 A CN 102063493A CN 2010106144855 A CN2010106144855 A CN 2010106144855A CN 201010614485 A CN201010614485 A CN 201010614485A CN 102063493 A CN102063493 A CN 102063493A
Authority
CN
CHINA
Prior art keywords
matching
operation
regular expression
logic
text
Prior art date
Application number
CN2010106144855A
Other languages
English (en)
Inventor
徐潇然
邓志鸿
Original Assignee
北京大学
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京大学 filed Critical 北京大学
Priority to CN2010106144855A priority Critical patent/CN102063493A/zh
Publication of CN102063493A publication Critical patent/CN102063493A/zh

Links

Abstract

本发明提供了一种基于正则表达式组和控制逻辑的内容抽取方法,可用于网页、半结构化数据的内容定位、匹配及抽取。本发明提供的方案包括:所述方法基于正则表达式组和控制逻辑;所述方法对文档元素进行自外而内的层层定位,每一次定位包括如下要素:匹配点,触发操作,逻辑控制。本发明提供的方案有三方面的技术优势:第一,正则表达式不需要构建DOM Tree,匹配速度快;第二,用一组正则表达式并加入控制逻辑,让每个正则表达式在匹配成功时执行特定的逻辑,使得能够抽取更多形式下的内容;第三,本发明的控制逻辑的具体规则可由使用者自己定制,灵活度更大。

Description

基于正则表达式组和控制逻辑的内容抽取方法技术领域

[0001] 本技术发明属于信息抽取技术,可用于网页、半结构化数据的内容定位、匹配及抽 取。背景技术

[0002] 信息抽取不同于信息检索,当有一个信息需求时,信息检索只能返回相关文档,但 文档不等于信息,它仅是包含想要的信息(人名、机构名等)。随着互联网信息的爆炸式增 长,各种文档如网页的内容样式愈发丰富多彩,而人们所需要的信息愈发难以发现,隐藏在 了各种样式的内容里,需要借助信息抽取的手段。与此同时,人们对信息抽取的要求越来越 高,准确的定位、快速的获取和简单灵活的操作成为评价信息抽取工具优劣的标准。

[0003] 信息抽取的研究可以追溯到上世纪80年代后期。它的主要目标是让计算机不但 找到相关的文档,而且还要找到相关的内容。抽取的信息一般分为这几个方面:命名实体 的抽取、与模板有关的内容信息抽取、各个实体之间关系的抽取和预置事件的信息抽取。其 中,命名实体的抽取包括组织机构、人名、地名的抽取,时间、日期、钱币和百分数的抽取、专 有名词的抽取、隐含指代名词和集合名词的抽取;模板内容信息的抽取是用户预先设置模 板,自动抽取用户关心的详细内容,反映时间、地点、人物和发生的事件。

[0004] 当前,信息抽取的主要难点在于内容本身的多变性和内容结构的复杂性。内容本 身的多变性是指我们在描述同一个实体时,经常使用不同的词汇,即使用的词汇是一样的, 它们的组合方式、顺序、格式也常常不一致,但是我们都明白它们是在表达同一个意思。例 如,下面是三篇文章引用同一篇参考文献的格式:

[0005] “ [ΗΡΥ00] J. HAN, J. PEI, AND Y. YIN. Mining frequent patterns without candidate generation. In Proc. of 2000 ACMSIGMOD, pages 1-12,2000."

[0006] "Han,J. ,Pei J. ,Yin,Y. (1999). Mining Frequent Patterns Without Candidate Generation. Technical Report CMPT99—12,School of Computing Science,Simon Fraser University.,,

[0007] "J. Han, J.Pei, and Y.Yin. Mining frequent patterns without candidate generation. In SIGMOD' 00. ”

[0008] 可以看到,虽然引用的是同一篇文章,但是有不同的表述方式,让机器自动地识别 出这是同一篇文章存在一定的困难。文本结构的复杂性是指一篇文档中包含多块的内容, 比如一个网页中有广告区域、正文区域、导航区域、推荐链接区域等,即使在一块区域中存 在层层嵌套的html标签。

[0009] 目前信息抽取的方法主要包括:有限状态机的方法、Wrappers包装器的方法和机 器学习的方法。有限状态机的方法用来提取命名实体和关系信息,提取系统可以看成是若 干FSMs (Finite State Machine)构成的一个模板,其规则设计根据具体应用来确定。机器 学习的方法使用一些复杂的模型,如隐马尔科夫模型、最大熵马尔科夫模型以及条件随机 场等,它们都需要在训练集上学习,操作起来也很复杂,而且得到的结果未必比简单的方法好。在针对网页及半结构化数据进行抽取时应考虑轻量级的抽取方法。Wrappers包装器是 一种基于模板的方法,模板中的槽(slots)对应文档中需要抽取的字符串,为了更好的匹 配要抽取的文字区域,通过定义pre-filler pattern和post-filler pattern锚定区域的 起始位置和结束位置,然后通过filler pattern抽取所需的信息,更复杂的feappers还引 入槽的序数信息以及层次嵌套信息进行匹配,可以看出Wrappers包装器更适用于对某个 网站下html页面信息的抽取。针对html页面,有人提出利用DOM Trees的树形结构,通过 定义从根结点到包含所需文本信息的结点的路径来搜索匹配。在Wrappers包装器匹配所 需信息的过程中,通常要用到正则表达式来具体识别和抽取相应的内容。

[0010] 现有的信息抽取技术,对于web数据迅速增长下的大量html页面,方法不是模型 复杂、难于使用,就是限制过多、适用范围窄,没有针对网页文本结构的特殊性进行设计。相 比较而言,Wrappers包装器是解决网页信息抽取的可行方案,问题在于如何设计包装器使 得它既能抽取很多样式html下的文本内容,增加抽取的适用范围和灵活度,又能简化操 作,使用者仅通过几行的模板文件即可定位要抽取的内容。此外,通过搜索DOM Tree上的 路径实现抽取的方法效率不高,因为要先把html转换成树形结果,然后从根结点一层层遍 历到目标结点。发明内容

[0011] 本发明(Cebrec)的目的是提供一种基于正则表达式组和控制逻辑的设计方案, 旨在解决现有技术中匹配速度慢、抽取范围窄、灵活性差的问题。

[0012] 本发明提供的技术方案如下:

[0013] 方案1 :一种文档的内容抽取方法,所述文档为网页或半结构化数据,其特征在 于,所述方法基于正则表达式组和控制逻辑;所述方法对文档元素进行自外而内的层层定 位,每一次定位包括如下要素:

[0014] a)匹配点:起始匹配点、结束匹配点、内部匹配点;

[0015] 所述匹配点是通过一组正则表达式匹配文本获得的位置,起始匹配点和结束匹配 点间的文本区域为要返回的定位区域,内部匹配点用来触发操作;

[0016] b)触发操作:初始化操作、先执行操作、后执行操作;

[0017] 所述触发操作是一组被调用的函数,函数中可以操作变量,所述初始化操作包括 定义变量和初始化变量值,所述先执行操作和后执行操作分别是在结束点判断逻辑的前后 调用的函数;

[0018] a)逻辑控制:结束点判断逻辑、文本取舍判断逻辑;

[0019] 所述逻辑控制是一组返回布尔变量的函数,用来确定结束点位置和区域的取舍。

[0020] 方案2 :作为方案1的一种优选实现,其特征在于,所述一次定位的流程如下(参 附图1):

[0021] 1)执行初始化操作,设置变量k表示匹配的是第k个匹配(k初始值为0),设置状 态变量s ;

[0022] 2)匹配起始正则表达式,如果找不到匹配则转步骤8),否则锚定起始点;

[0023] 3)用或逻辑组合多个内部正则表达式和结束正则表达式,从起始点位置向后匹 配;[0024] 4)若发现匹配,则抽出匹配文本T(由于或逻辑,匹配的可能是某个或某几个内部 正则表达式,也可能是结束正则表达式);若无匹配,转至步骤8);

[0025] 5)在绑定先执行操作的正则表达式中,如果哪个正则表达式匹配上文本Τ,则触 发该正则表达式对应的先执行操作(先执行操作会修改状态变量s);

[0026] 6)判断文本T是否匹配结束表达式,如果匹配则进一步调用函数Finished;函 数Finished是一段判断结束点是否合法的逻辑(该逻辑由用户定义),根据状态变量s是 否满足用户给的条件返回true或false,如果返回true还需调用函数hcludeText ;函数 IncludeText是一段判断文本是取还是舍的逻辑,通过看变量k是否满足条件返回true或 false,然后变量k加1,状态变量s恢复原值,转步骤1)匹配下一个(一次定位过程可返回 多个匹配结果);

[0027] 7)在绑定后执行操作的正则表达式中,如果哪个正则表达式匹配上文本T,则触 发该正则表达式对应的后执行操作,然后转步骤4);

[0028] 8)结束。

[0029] 方案3 :作为方案1的一种优选实现,其特征在于,所述触发操作和逻辑控制由用 户自定义,通过一个配置文件实现(这样增加了灵活度)。

[0030] 方案4 :作为方案3的一种优选实现,其特征在于,所述配置文件为XML文档或者 文本文件。

[0031] 本发明的有益效果:本发明提供的方案有三方面的技术优势。第一,正则表达式不 需要构建DOM Tree,匹配速度快;第二,用一组正则表达式并加入控制逻辑,让每个正则表 达式在匹配成功时执行特定的逻辑,使得能够抽取更多形式下的内容;第三,本发明的控制 逻辑的具体规则可由使用者自己定制,灵活度更大。附图说明

[0032] 图1本发明方法的流程图。 具体实施方式

[0033] 下面通过一个具体的例子对本发明作进一步说明。

[0034]

Figure CN102063493AD00061

[0035] 针对上面两个文档,目标是从中抽取“ AAA ” “ BBB ” “ CCC ”,忽略“ xxx ” “ yyy ” “ ζ ζ ζ,,, 其中文档2后面的部分内容丢失。

[0036] 用户需要定义一份配置文件,包含三层定位:

[0037] (1)定位div区域

[0038] a)起始匹配点:“<div>,,

[0039] b)结束匹配点:“</div>”或遇到文件尾

[0040] C)内部匹配点:“<div>”①

[0041] “</div>” ②

[0042] d)初始化操作:设置变量k为零,自定义变量layer和变量toend。其中layer表 示嵌套的子div区域的深度,初始时为零;toend表示遇到文件尾

[0043] e)先执行操作:若遇到文件尾,置变量toend为true

[0044] f)后执行操作:若匹配上内部点①,变量layer加1 ;若匹配上内部点②,变量 layer 减 1

[0045] g)结束点判断逻辑:若变量toend为true或者变量layer等于0,返回true ;否 则返回false

[0046] h)文本取舍判断逻辑:返回true

[0047] (2)定位tr区域[0048] a)起始匹配点:“<tr>”

[0049] b)结束匹配点:“</tr>”或遇到文件尾

[0050] c)初始化操作:设置变量k为零

[0051] d)先执行操作:无

[0052] e)后执行操作:无

[0053] f)结束点判断逻辑:返回true

[0054] g)文本取舍判断逻辑:若k等于1,返回true ;否则返回false

[0055] (3)定位目标

[0056] 正则表达式直接匹配。

[0057] 抽取阶段会按照配置文件的说明根据附图1所提供的流程来一层层定位,首先定 位div区域,定位成功后进入下一层tr区域,再成功后定位目标。这个配置文件解决了重 复标签嵌套和文件流异常结束的问题。

Claims (4)

1. 一种文档的内容抽取方法,所述文档为网页或半结构化数据,其特征在于,所述方法 基于正则表达式组和控制逻辑;所述方法对文档元素进行自外而内的层层定位,每一次定 位包括如下要素:a)匹配点:起始匹配点、结束匹配点、内部匹配点;所述匹配点是通过一组正则表达式匹配文本获得的位置,起始匹配点和结束匹配点间 的文本区域为要返回的定位区域,内部匹配点用来触发操作;b)触发操作:初始化操作、先执行操作、后执行操作;所述触发操作是一组被调用的函数,其中初始化操作包括定义变量和初始化变量值, 先执行操作和后执行操作分别是在结束点判断逻辑的前后调用的函数;а)逻辑控制:结束点判断逻辑、文本取舍判断逻辑;所述逻辑控制是一组返回布尔变量的函数,用来确定结束点位置和区域的取舍。
2.如权利要求1所述的内容抽取方法,其特征在于,所述一次定位的流程如下:1)执行初始化操作,设置变量k表示匹配的是第k个匹配,设置状态变量s ;2)匹配起始正则表达式,如果找不到匹配则转步骤8),否则锚定起始点;3)用或逻辑组合多个内部正则表达式和结束正则表达式,从起始点位置向后匹配;4)若发现匹配,则抽出匹配文本T ;若无匹配,转至步骤8);5)在绑定先执行操作的正则表达式中,如果哪个正则表达式匹配上文本T,则触发该 正则表达式对应的先执行操作;б)判断文本T是否匹配结束表达式,如果匹配则进一步调用函数Finished ;函数 Finished是一段判断结束点是否合法的逻辑,根据状态变量s是否满足用户给的条件返回 true或false,如果返回true还需调用函数hcludeText ;函数IncludeText是一段判断 文本是取还是舍的逻辑,通过看变量k是否满足条件返回true或false,然后变量k加1, 状态变量s恢复原值,转步骤1)匹配下一个;7)在绑定后执行操作的正则表达式中,如果哪个正则表达式匹配上文本T,则触发该 正则表达式对应的后执行操作,然后转步骤4);a)结束。
3.如权利要求1所述的内容抽取方法,其特征在于,所述触发操作和逻辑控制由用户 自定义,通过一个配置文件实现。
4.如权利要求3所述的内容抽取方法,其特征在于,所述配置文件为XML文档或者文本 文件。
CN2010106144855A 2010-12-30 2010-12-30 基于正则表达式组和控制逻辑的内容抽取方法 CN102063493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010106144855A CN102063493A (zh) 2010-12-30 2010-12-30 基于正则表达式组和控制逻辑的内容抽取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010106144855A CN102063493A (zh) 2010-12-30 2010-12-30 基于正则表达式组和控制逻辑的内容抽取方法

Publications (1)

Publication Number Publication Date
CN102063493A true CN102063493A (zh) 2011-05-18

Family

ID=43998768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010106144855A CN102063493A (zh) 2010-12-30 2010-12-30 基于正则表达式组和控制逻辑的内容抽取方法

Country Status (1)

Country Link
CN (1) CN102063493A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262658A (zh) * 2011-07-13 2011-11-30 东北大学 一种基于实体的自底向上Web数据抽取方法
CN107608949A (zh) * 2017-10-16 2018-01-19 北京神州泰岳软件股份有限公司 一种基于语义模型的文本信息抽取方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262658A (zh) * 2011-07-13 2011-11-30 东北大学 一种基于实体的自底向上Web数据抽取方法
CN102262658B (zh) 2011-07-13 2013-10-16 东北大学 一种基于实体的自底向上Web数据抽取方法
CN107608949A (zh) * 2017-10-16 2018-01-19 北京神州泰岳软件股份有限公司 一种基于语义模型的文本信息抽取方法及装置

Similar Documents

Publication Publication Date Title
Liu et al. Vide: A vision-based approach for deep web data extraction
Tidwell Xslt
US6714939B2 (en) Creation of structured data from plain text
US20100228744A1 (en) Intelligent enhancement of a search result snippet
US6516308B1 (en) Method and apparatus for extracting data from data sources on a network
Chang et al. Automatic information extraction from semi-structured web pages by pattern discovery
Bird et al. Towards a query language for annotation graphs
CN101477544A (zh) 一种识别垃圾文本的方法和系统
Wang et al. Bootstrapping both product features and opinion words from chinese customer reviews with cross-inducing
Kay XSLT 2.0 and XPath 2.0 Programmer's Reference
Guo et al. Improving multilingual semantic interoperation in cross-organizational enterprise systems through concept disambiguation
CN101192234A (zh) 一种基于网页抽取的搜索系统及搜索方法
CN103902652A (zh) 自动问答系统
JPH07325827A (ja) ハイパーテキスト自動生成装置
CN101520798A (zh) 基于垂直搜索和聚焦爬虫的网页分类技术
CN102087669A (zh) 基于语义关联的智能搜索引擎系统
US7107524B2 (en) Computer implemented example-based concept-oriented data extraction method
Hogue Tree pattern inference and matching for wrapper induction on the World Wide Web
CN101908071A (zh) 一种提高搜索引擎搜索效率的方法及其系统
CN102184189A (zh) 基于dom节点文本密度的网页核心块确定方法
CN101079031A (zh) 一种网页主题提取系统和方法
CN102902700A (zh) 基于在线增量演化主题模型的软件自动分类方法
CN102135967A (zh) 网页关键词提取方法、装置及系统
CN1936892A (zh) 图像内容语义标注方法
CN102043843A (zh) 一种用于基于目标应用获取目标词条的方法与获取设备

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)