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

文档序号:6340681阅读:221来源:国知局
专利名称:基于正则表达式组和控制逻辑的内容抽取方法
技术领域
本技术发明属于信息抽取技术,可用于网页、半结构化数据的内容定位、匹配及抽 取。
背景技术
信息抽取不同于信息检索,当有一个信息需求时,信息检索只能返回相关文档,但 文档不等于信息,它仅是包含想要的信息(人名、机构名等)。随着互联网信息的爆炸式增 长,各种文档如网页的内容样式愈发丰富多彩,而人们所需要的信息愈发难以发现,隐藏在 了各种样式的内容里,需要借助信息抽取的手段。与此同时,人们对信息抽取的要求越来越 高,准确的定位、快速的获取和简单灵活的操作成为评价信息抽取工具优劣的标准。信息抽取的研究可以追溯到上世纪80年代后期。它的主要目标是让计算机不但 找到相关的文档,而且还要找到相关的内容。抽取的信息一般分为这几个方面命名实体 的抽取、与模板有关的内容信息抽取、各个实体之间关系的抽取和预置事件的信息抽取。其 中,命名实体的抽取包括组织机构、人名、地名的抽取,时间、日期、钱币和百分数的抽取、专 有名词的抽取、隐含指代名词和集合名词的抽取;模板内容信息的抽取是用户预先设置模 板,自动抽取用户关心的详细内容,反映时间、地点、人物和发生的事件。当前,信息抽取的主要难点在于内容本身的多变性和内容结构的复杂性。内容本 身的多变性是指我们在描述同一个实体时,经常使用不同的词汇,即使用的词汇是一样的, 它们的组合方式、顺序、格式也常常不一致,但是我们都明白它们是在表达同一个意思。例 如,下面是三篇文章引用同一篇参考文献的格式“ [ΗΡΥ00] J. HAN, J. PEI, AND Y. YIN. Mining frequent patterns without candidate generation. In Proc. of 2000 ACMSIGMOD, pages 1-12,2000.""Han,J. ,Pei J. ,Yin,Y. (1999). Mining Frequent Patterns Without Candidate Generation. Technical Report CMPT99—12,School of Computing Science,Simon Fraser University.,,"J. Han, J.Pei, and Y.Yin. Mining frequent patterns without candidate generation. In SIGMOD' 00. ”可以看到,虽然引用的是同一篇文章,但是有不同的表述方式,让机器自动地识别 出这是同一篇文章存在一定的困难。文本结构的复杂性是指一篇文档中包含多块的内容, 比如一个网页中有广告区域、正文区域、导航区域、推荐链接区域等,即使在一块区域中存 在层层嵌套的html标签。目前信息抽取的方法主要包括有限状态机的方法、Wrappers包装器的方法和机 器学习的方法。有限状态机的方法用来提取命名实体和关系信息,提取系统可以看成是若 干FSMs (Finite State Machine)构成的一个模板,其规则设计根据具体应用来确定。机器 学习的方法使用一些复杂的模型,如隐马尔科夫模型、最大熵马尔科夫模型以及条件随机 场等,它们都需要在训练集上学习,操作起来也很复杂,而且得到的结果未必比简单的方法好。在针对网页及半结构化数据进行抽取时应考虑轻量级的抽取方法。Wrappers包装器是 一种基于模板的方法,模板中的槽(slots)对应文档中需要抽取的字符串,为了更好的匹 配要抽取的文字区域,通过定义pre-filler pattern和post-filler pattern锚定区域的 起始位置和结束位置,然后通过filler pattern抽取所需的信息,更复杂的feappers还引 入槽的序数信息以及层次嵌套信息进行匹配,可以看出Wrappers包装器更适用于对某个 网站下html页面信息的抽取。针对html页面,有人提出利用DOM Trees的树形结构,通过 定义从根结点到包含所需文本信息的结点的路径来搜索匹配。在Wrappers包装器匹配所 需信息的过程中,通常要用到正则表达式来具体识别和抽取相应的内容。现有的信息抽取技术,对于web数据迅速增长下的大量html页面,方法不是模型 复杂、难于使用,就是限制过多、适用范围窄,没有针对网页文本结构的特殊性进行设计。相 比较而言,Wrappers包装器是解决网页信息抽取的可行方案,问题在于如何设计包装器使 得它既能抽取很多样式html下的文本内容,增加抽取的适用范围和灵活度,又能简化操 作,使用者仅通过几行的模板文件即可定位要抽取的内容。此外,通过搜索DOM Tree上的 路径实现抽取的方法效率不高,因为要先把html转换成树形结果,然后从根结点一层层遍 历到目标结点。

发明内容
本发明(Cebrec)的目的是提供一种基于正则表达式组和控制逻辑的设计方案, 旨在解决现有技术中匹配速度慢、抽取范围窄、灵活性差的问题。本发明提供的技术方案如下方案1 一种文档的内容抽取方法,所述文档为网页或半结构化数据,其特征在 于,所述方法基于正则表达式组和控制逻辑;所述方法对文档元素进行自外而内的层层定 位,每一次定位包括如下要素a)匹配点起始匹配点、结束匹配点、内部匹配点;所述匹配点是通过一组正则表达式匹配文本获得的位置,起始匹配点和结束匹配 点间的文本区域为要返回的定位区域,内部匹配点用来触发操作;b)触发操作初始化操作、先执行操作、后执行操作;所述触发操作是一组被调用的函数,函数中可以操作变量,所述初始化操作包括 定义变量和初始化变量值,所述先执行操作和后执行操作分别是在结束点判断逻辑的前后 调用的函数;a)逻辑控制结束点判断逻辑、文本取舍判断逻辑;所述逻辑控制是一组返回布尔变量的函数,用来确定结束点位置和区域的取舍。方案2 作为方案1的一种优选实现,其特征在于,所述一次定位的流程如下(参 附图1)1)执行初始化操作,设置变量k表示匹配的是第k个匹配(k初始值为0),设置状 态变量s ;2)匹配起始正则表达式,如果找不到匹配则转步骤8),否则锚定起始点;3)用或逻辑组合多个内部正则表达式和结束正则表达式,从起始点位置向后匹 配;
4)若发现匹配,则抽出匹配文本T(由于或逻辑,匹配的可能是某个或某几个内部 正则表达式,也可能是结束正则表达式);若无匹配,转至步骤8);5)在绑定先执行操作的正则表达式中,如果哪个正则表达式匹配上文本Τ,则触 发该正则表达式对应的先执行操作(先执行操作会修改状态变量s);6)判断文本T是否匹配结束表达式,如果匹配则进一步调用函数Finished;函 数Finished是一段判断结束点是否合法的逻辑(该逻辑由用户定义),根据状态变量s是 否满足用户给的条件返回true或false,如果返回true还需调用函数hcludeText ;函数 IncludeText是一段判断文本是取还是舍的逻辑,通过看变量k是否满足条件返回true或 false,然后变量k加1,状态变量s恢复原值,转步骤1)匹配下一个(一次定位过程可返回 多个匹配结果);7)在绑定后执行操作的正则表达式中,如果哪个正则表达式匹配上文本T,则触 发该正则表达式对应的后执行操作,然后转步骤4);8)结束。方案3 作为方案1的一种优选实现,其特征在于,所述触发操作和逻辑控制由用 户自定义,通过一个配置文件实现(这样增加了灵活度)。方案4 作为方案3的一种优选实现,其特征在于,所述配置文件为XML文档或者 文本文件。本发明的有益效果本发明提供的方案有三方面的技术优势。第一,正则表达式不 需要构建DOM Tree,匹配速度快;第二,用一组正则表达式并加入控制逻辑,让每个正则表 达式在匹配成功时执行特定的逻辑,使得能够抽取更多形式下的内容;第三,本发明的控制 逻辑的具体规则可由使用者自己定制,灵活度更大。


图1本发明方法的流程图。
具体实施例方式下面通过一个具体的例子对本发明作进一步说明。
权利要求
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文档或者文本 文件。
全文摘要
本发明提供了一种基于正则表达式组和控制逻辑的内容抽取方法,可用于网页、半结构化数据的内容定位、匹配及抽取。本发明提供的方案包括所述方法基于正则表达式组和控制逻辑;所述方法对文档元素进行自外而内的层层定位,每一次定位包括如下要素匹配点,触发操作,逻辑控制。本发明提供的方案有三方面的技术优势第一,正则表达式不需要构建DOM Tree,匹配速度快;第二,用一组正则表达式并加入控制逻辑,让每个正则表达式在匹配成功时执行特定的逻辑,使得能够抽取更多形式下的内容;第三,本发明的控制逻辑的具体规则可由使用者自己定制,灵活度更大。
文档编号G06F17/30GK102063493SQ20101061448
公开日2011年5月18日 申请日期2010年12月30日 优先权日2010年12月30日
发明者徐潇然, 邓志鸿 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1