基于语义和规则的Web网页细粒度信息抽取方法
王晓飞11
(北京邮电大学模式识别实验室)
摘要:本文在利用语义和规则的基础上,提出了一个Web网页信息细粒度抽取的方法。方法首先,利用Web网页的结构和HTML标签信息进行网页的粗粒度信息抽取;其次,结合网页标签、结构和文本语义将粗粒度信息进行文本标识和分割,形成语义上紧密相关的标识文本;然后,根据语义解释器,依次识别出文本中的属性项;最后利用语义和规则,确定属性和属性值对。实验证明,该方法逐步细化分解网页,有效的利用了网页潜在的语义信息,拥有不依赖网页类型、结构,适用性好的优点。实验表明该方法提取正文细粒度精确度达到了90%。
关键词:语义解释器;属性项;相似度;细粒度;抽取规则
中图分类号:TM 391 文献标志码: A
0 引言
随着互联网的迅速发展,涌现了许多优秀的互联网应用,如电子商务、微博、团购、社交网络等,这些优秀的应用在带给人们方便快捷的信息分享的同时,也造成了Web网络信息量的爆炸式增长。越来越多的应用希望能够从海里的Web数据中抽取到精确有用的细粒度信息以便进行深度的信息处理。
然而,目前的信息抽取方法大都存在以下缺陷:仅抽取网页的标题和正文,抽取信息过于粗糙;数据抽取精度高,但是抽取方法复杂,实用性差[1];仅能处理一种类型网页,方法适用性低;抽取方法缺少对抽取数据的语义解释能力,导致抽取数据项偏差较大,精确度不高,自动化识别程度低。随着互联网网页信息的纷繁复杂,网页信息的细粒度抽取显得越来越重要。
1 相关工作
Web网页信息抽取的目的是从非结构化或半结构化的Web文档中抽取数据,并转换成结构化数据,服务于后续的深度信息处理[2]。目前存在的信息抽取方法,主要有以下几种方法:基于包装器的信息抽取[3],利用特定信息源的抽取规则构造数据抽取器,但是我们往往需要处理多种类型网页、文本,很难找到抽取细致化的共同规则集;基于Web结构标签的抽取[4],利用HTML文档结构、标签信息进行数据项定位,但是实际运用中,我们往往不知道我们要处理的网站网页的结构信息,很难依赖未知网页的结构进行信息定位;基于自然语言理解的信息抽取[5],利用自然语言上下文关系、词性和词汇语义标识、短语和语句关联,通过学习,建立抽取规则,然后利用这些规则定位抽取元素,具有一定通用性,但是目前构建词义规则的方法都较为复杂。
本文提出了基于语义和规则的Web网页细粒度信息抽取方法,方法利用网页结构、分隔符和自然语言启发规则,逐步将网页细化,由粗粒度信息转换为细粒度信息,再通过语义和规则识别这些细粒度信息,形成结构化的网页属性项,达到Web网页信息抽取的目的。
2 方法描述
2.1 语义和规则模型理论研究
2.1.1 网页粒度理论
目前由于网络上的信息种类繁多,网页结构形式多变,大多数网页上还包含了许多广告、导航、热点链接等噪音信息,使得网页信息抽取变得非常复杂。参考人工智能的思想:当人在思考一个复杂的问题的时候,人们往往是由总体到部分,由粗到细,逐步进行观察和分析,最终找到比较合理的解决方法,因此可以将原有一次简单的抽取,改进为多次的分隔和抽取,最终获取到网页细粒度信息。根据对文献6的研究,借鉴粒度理论,制定如下网页粒度信息抽取思想:
(1)不断将粗粒度的网页分割为若干细粒度的小对象,然后识别这些小对象,完成网页抽取;
(2)不同的粒度形成层次关系,通过一定的抽取关系联系;
(3)上一层的粒度是由下一层粒度抽取获得;
(4)上一层的粒度比下一层的粒度高,信息更细致。
2.1.1.1 网页粒度抽取过程
网页中充满了很多无用的信息,例如广告、导航、热点链接噪声等,当对网页进行抽取时,需要首先对网页进行去噪或核心信息定位,此过程定义为网页粗粒子抽取。通过网页的粗粒子抽取,去除了网页的无关信息,缩小了查找范围,但网页的粗粒子信息还远达不到我们的抽取精确要求,需要进一步的划分。根据目前大部分网页的核心信息还是通过文本的形式展现,所以进一步的抽取,将是对粗粒度网页的文本内容和其他信息的分割。用户更愿意看到最终结果是简练而明确的信息传递,而不是大段文字的文本,所以在完成文本抽取后,还需要对文本核心内容进行提炼和抽取,此过程定义为细粒度抽取。
由上述过程所说,我们将网页的信息由粗到细分割,层层求精,最后抽取出合理满意的结构化信息,但是完成这一系列过程,需要对网页的结构和文本进行深入分析,制定科学粒度抽取规则。
2.1.1.2 网页粒度抽取规则
基于规则的信息抽取就是利用事先制定的规则,抽取符合约束条件的信息。基于规则的抽取是一种确定性的信息抽取模型[7],这就表示基于规则的信息抽取准确性较高,适用性会较差。根据上文2.1.1所说,现在的网页结构复杂、形式多样,又包含了多种形式的噪声,单纯的一次抽取是无法抽取到细致精确的信息,需要多次抽取。根据对文献8和文献9提出的规则优先级和分级制抽取思想,以及颗粒度理论的研究,本文制定出粒度抽取规则,将抽取规则划分为粗粒度规则和细粒度规则,粗粒度规则主要用于网页信息的初步过滤,减小查询范围和噪声去除;细粒度规则信息用于从确定范围信息文本段中抽取最终信息。粗粒度规则和细粒度规则抽取过程如图2-1所示。
Web页面信息抽取可以看成信息不断过滤的过程,从网页的视觉分块角度来分析,网页中的核心信息载体,往往位于中心位置。粗粒度规则的目的就是将抽取的范围从较大的未知空间定位到较小的空间中,采用网页的布局、结构和标签具有一定的可靠性。粗粒度规则具有公共、松限的属性。当需要从网页中准确的抽取出所需的信息,采用语义中文本项、属性和属性值的概念、关键字、关系形成的抽取规则具有一定可靠性。利用这些针对性较强的规则,元素识别率准确,抽取精确度高。细粒度规则具有私有、约束和细致的属性。
图2-1 粗粒度规则和细粒度规则抽取流程图
2.1.2 网页结构特征分析
文献10把网页按照页面结构特征划分成首页式、列表式和正文式。因为信息的丰富和海量,迫使网站多以属性列表的形式,作为正文页面的导读。正文式页面作为信息的主要传递页面,正文的核心内容往往位于网页源文件的中部。利用这种页面外观上的显示规律,可以用于信息抽取,可以减少复杂语言学知识。
目前,互联网上的网页大多是HTML网页。HTML网页具有半结构化的特征,例如用DOM树来表现HTML页面时,内容块信息会保存在内容标签里,常见的内容标签有: 从上述研究,可以得出以下结论:利用网页的布局、结构特征可以减少复杂语义规则构建;利用适合的标签分隔符可以将网页分隔成有用内容块和无用内容块,适合网页粗粒度过滤。 2.1.2.1 网页嵌套结构分解研究 在对大量的网页进行分析和实验的过程中,发现网页中存在着大量的内容标签嵌套结构,例如表中包含表、正文内容包含表。这些嵌套结构使得网页视觉上近似的结构化数据映射到网页源码上变成了半结构化数据。常见网页内容通过Table标签来展现,从视觉角度来分析网页,可以近似将表中每一项元素对应为抽取元素项,映射到网页源码操作过程就是抽取table标签的每个td标签内容。但是当表嵌套表时,直接抽取table标签下的td标签内容可能对应的是子表,无法直接对应抽取元素项,还需进一步对子表进行抽取。如果网页结构存在多层嵌套,这就使得视觉上看似具有结构的数据在网页源码上很难形成对应。 为了解决上述问题,利用嵌套形成的层次DOM树结构,采用DOM树后序遍历的方法进行数据映射,如图2-2所示。为了得到节点root的所有文本内容,按照后序遍历形成依次处理节点顺序((2)、((5、((8、9)、6)、7)、3)、(4)),这样由部分到整体,逐步分解节点内容。网页制作者在编写网页时,会将语义相关的信息放在一个节点中,采用后序遍历可以保留网页制作者在编写网页的时候,形成的文本项关联语义信息。 图2-2 网页结构嵌套 2.1.2.2 列表式页面粗粒度规则研究 根据对大量网页的研究,我们发现列表式页面一般具有如下特征:(1)页面上有多条记录,记录结构相似,这些记录形成一个列表数据区域;(2)记录条之间具有连续性,中间不包含其他的内容;(3)在网页DOM树中,这些记录拥有相同的父节点;(4)记录条里数据信息项都是简洁概括。如图2-3所示。 图2-3 列表重复属性 基于上述思路具有代表性的工作有文献12和文献13。文献12根据网页列表的重复模式,利用DOM树挖掘算法和简单树匹配算法,从DOM树根节点自上而下递归查找重复列表节点,根据列表节点下的子节点具有数目多、连续、相似度高的特点,从网页中寻找满足条件的列表节点。文献13则采用基于路径统计聚类的信息抽取算法,将具有最大相似度路径的叶子节点进行聚类,然后根据节点的方差进行分隔。通过对文献12和文献13方法的进一步研究,文献13的方法采用DOM树的叶子节点作为分析的最小节点,但是DOM树的叶子节点不一定等同于列表信息条节点,使得网页列表区域分割不准确。本文采用文献12的基于重复模式的列表节点抽取方法,从网页中抽取列表节点。 2.1.2.3 正文式页面粗粒度规则研究 正文式页面一般具有位于网页源文件的中部、以中文字符为主、非链接文字长,链接文字短、正文段落依次排序的特征。本文采用基于统计的正文抽取方法(TTDT),该方法相对手动操作较多的包装器方法和过于依赖网页结构的DOM树、网页分块方法,具有实现简单,通用性好的特点。根据粗粒度抽取的松限性特点,适当的降低统计节点阈值,保证核心信息不丢失。 2.1.3 网页文本特征研究 2.1.3.1 网页属性项研究 网页制作者在编写每个网页时,都是为了通过网页向用户传递一定的信息,所以可以将每个网页看成一个信息载体对象。对需要传递的信息以科学合理的细分,形成信息载体对象的属性项。网页信息的细粒度抽取可以定义为从待抽取网页对象中,智能的识别主题对象的每一个属性项,包括属性和属性值。 根据文献14对网页类型的定义:若能通过识别分隔符或信息点顺序等固定的格式信息即可把“属性值”正确抽取出来,那么,该网页是结构化的。半结构化的网页则可能包含缺失的属性,或一个属性有多个值,或一个属性有多个变体等例外的情况。若需要用语言学知识才能正确抽取属性,则该网页是非结构化的。通过本文的研究,发现网页中的信息源往往都是半结构化的,由结构化和自由文本构成。如图2-4所示,页面展示了手机购物页面的核心内容,页面上半段文本采用自由文本的形式进行显示,不具有任何显示上的特点,但也包含了手机商品丰富的信息。而下半段文本通过“属性:属性值”这样的文本形式列举了手机的性能参数。“属性:属性值”这样的文本定义为属性项结构化文本,具有特点的信息格式,可以通过实现设定好的属性分别出文本所表达的信息。 由上述所述,可以总结网页属性项为以下几点: (1) 网页中包含了大量“属性:属性值”这样简洁精炼的属性项文本; (2) 网页由属性项文本和自由化文本构成,如果把自由化文本转换为属性项文本,网页的核心信息可由属性项构成; (3) 属性项文本可以利用合适的分隔符抽取“属性值”; (4) 对于大多数网页,信息点顺序是未知的,但属性项文本形式是统一的; (5) 自由文本,通过语言学知识可以正确的抽取属性,形成属性项文本; 图2-4 手机信息页面 2.1.3.2 网页短文本研究 网页制作者为了让网页阅读者能够清晰的获取到一些重要信息而在网页的某些特殊位置,例如文本的开始,文本的结束给出短文本显示,这些短文本主要由一些短词、短语或短段落组成。从自然语言的角度来说,人们更愿意看到简练而位置明显的信息传递,而不是在大段文字中,寻找所需的信息,简练的文本更多时候是下面一段文字的标题或者中心句。从网页布局的角度来看,长段落容易使得网页版面黑压压一片,缺少美感,影响信息展示,而短段落容易布局,有助于版面美好,如果给读者留下深刻印象。经过对大量不同类型的网站进行研究,上述情况是具有可靠性的,可以认为网页的短文本包含了网页大量的信息。 通过对网页的进一步研究,我们得出了网页短文本存在的一些规则: (1) 短文本可能由若干个独立、离散的语义模块组成,每个模块内容包含一个或多个网页属性项文本内容。为了下文的叙述简明,定义这些独立、离散、表现形式为单词、词组及整个词汇的语义模块为词语实体; (2) 短文本相互之间存在明显的分隔符,如回车、空格、特殊HTML标签等; (3) 网页的短文本可以归纳为网页属性集合,例如,新闻网页可以归纳为标题、时间、地点、人物、事件等; (4) 短文本在网页中出现的位置不确定,但一般在网页开头和结尾的短文本具有较高的信息量; (5) 表格标签的文本内容多以短文本的形式呈现。 2.1.3.3 网页完整语义文本研究 由于HTML语言具有编写的不规范、代码过于臃肿、数据和表现混杂等缺点,使得原本视觉效果上具有连续效果的文本,可能在HTML源码中,被代码所隔断,不再具有连续性。对HTML网页源码的完整语义研究是保证网页信息正确分割的前提。 根据文献11所说,网页由多个内容块组成,内容块里的信息是相对紧密的,而内容块之间是相对独立的。根据文献15的总结:网页编写者一般以行为逻辑单位编写HTML代码, HTML代码中每一行大都表示一个相对完整的语义。通过对大量网页的分析,上述规则适用于互联网上绝大多数网页,具有一定的可靠性。 2.2 语义解析模块的构造 根据上述所说,要从网页中抽取细粒度信息,需要构建语义解析模块。语义解释器用于提取语句核心词和识别属性词。语义解析模块主要由语义词典和相似度计算公式构成。 2.2.1 语义词典的构造研究 根据文献16和文献17,我们可以构建领域本体或词典,用于解释文本信息,但是领域本体是某个领域内公认概念的集合,用于描述特定领域的概念模型,由特定领域专家进行构建,对用户要求较高[18]。而相对本体,词典的定义比较松散,不具有领域本体的特定领域规范性和权威性,这样也使得抽取的精度大大的下降。因此,本文利用本体概念之间的关系概念对特定领域词典进行改进,利用网页的结构信息和自然语言的启发规则,可以减少语义词典构造的复杂度。 为了构建语义词典,首先需要定义以下概念。属性类:表示网页的信息分类,一般一个网页都是由若干个离散属性类组成。一个属性类是一个完整独立的信息类别。一个属性类代表了网页内容的一部分关键信息。一个属性类可由若干个属项构成,属性项包含的特定属性和属性值,例如联系人:张三,整体属于属性项,“联系人”属于属性,“张三”属于属性值。属性是网页最小信息传递单位。属性类、属性项以及属性、属性值在语义词典中都用词语实体集来表示。词语实体集表示一个独立的语义词语关系集,包含了当前描述元素常见的代表词语集合,代表词常见的关联词以及集合的规则关系约束。语义词典中属性类、属性项、属性和属性值对存在一种或多种特定的关系,主要包含集合、层级、修饰和从属关系。语义词典如图所示2-5所示。 集合关系:属性类或属性项具有相同的某种特定性质,可以用一个属性类集合表示;多个属性和属性值对属于一个属性项集合。 层级关系:属性类可以具有属性类上级;一个属性类,可以分成多个属性项或多个属性类;属性类可以共有属性项或属性类;属性项由属性和属性值构成。 修饰关系:一个属性类可以由其他多个属性项或属性类来进行描述;属性项可由属性和属性值描述; 从属关系:属性项从属属性类;属性和属性值从属属性项;属性类也可以从属属性类。 图2-5 语义词典结构图 2.2.2 相似度计算公式研究 词语之间的相似度,是指两个词语在不同的上下文中可以相互替换而不改变文本的句法语义结构的程度[19]。利用语义词典中已知词语实体的所属类别,根据词语实体之间的相似度,就可以识别网页中词语实体所属类别,完成属性项抽取。目前,计算相似词的方法通常是由同义词词典实现,单纯这些词典收录的领域术语较少,更新缓慢[20],远不能满足网页信息抽取的需要。本文根据对大量网页内容的分析,设计一种基于词素、词长、属性项代表词和关联词的相似度计算方法,用于识别属性项。 2.3.3.1 词素相似度 由于网页制作者在制作网页的时候,出于增加网页的显示的效果,而使得网页文本中的词语被HTML标签隔断,同时文本本身存在错字、漏字、多字的情况,考虑词素的相似性是解决这些问题的有效方法。词素相似性主要根据组成一个词的单个汉字是相同的,同义词和相近含义词,一般包含相同汉字的特点,计算两个词的相似度。计算公式: 公式2-1 其中len(A)和len(B)分别表示词语实体A,B的长度,Sam(A,B)表示词语实体A,B中相同词素的个数。 2.3.3.2 词长相似度 长度相同的两个词相似度可能较大,长度相差较大的两个词相似度偏小。词语相似度中,词长也是需要考虑的,如果两个词语长度相差较大,则相似度就越小。根据上述观察,可以提出如下计算词长公式: 公式2-2 2.3.3.3 属性项词语实体和关联词相似度 在语义词典中,我们事先将最常用的代表属性的词语和近义词包含在内,如果网页中的词语实体直接匹配上词典设置的词语实体,那这个词语实体属于此属性项的可能性将会很大,但是词的解释要根据语境,所以不能完全的等同,需结合关联词进行相似度计算。 关联词是用于修饰核心词汇而存在的,当一句话中,出现了某属性项最常用的代表词语和常见的关联词,那么这个词语实体是此属性项的可能性将进一步加大。例如,“2001年毕业于华东师范大学教育学系教育学原理专业获博士学位/n”,句子经过领域词典分词得到了“华东师范大学”这样的词汇,根据词典查找,发现词汇属于院校类的词语实体集合下,但是由于网页内容的随意性,可能只是网页中随意出现的一个词汇,但同时在句子“华东师范大学”的附近查找到了“毕业”词语,此词语隶属于院校类型词语实体常见关联词集合下,那么“华东师范大学”属于院校属性项的可能性将大大增加。根据这样的分析,可以设定如下公式: 公式2-3 、、表示可调参数,exist(A)函数,表示当词典查找A成功返回1,查找失败返回0,exist(A,B)函数,表示当词典查找A成功后,又查找B成功后返回1,否则返回0。 2.3.3.4 属性项识别计算公式 根据以上分析,可以提出以下属性项识别公式: ,当不为0时, 是可调参数,A表示网页中抽取的词语实体,B表示词典设置的某属性项下的词语实体。由于当从网页中抽取的词语实体不存在分隔、错字、漏字、多字等情况时,词语相似度已经包含了词素相似度,所以此时为0。 设定阈值,当,则可以此词语实体识别所属属性类别。 2.3 网页属性项抽取步骤 在对网页进行粗粒度结构信息过滤后,将会得到结构较为清晰,属性项较为集中的网页信息块。根据2.1.3.1的研究,知道网页属性项大多被包含在网页的属性项文本和段落中。下面介绍如何从网页的两种不同的文本中抽取出属性项。 2.3.1 属性项文本和自由文本预处理 由于HTML网页书写内容没有统一的规范,网页的内容布局也相当随意,在对网页属性项抽取前,需要对HTML网页进行预处理:保留了网页的语义信息、标记出属性项文本和自由文本、去除无用HTML标签。 根据2.1.3节对网页文本的研究,我们可以发现属性项文本和自由文本主要有以下几点区别: Ø 属性项文本具有短文本的特性:相互之间存在明显的分隔符,如回车、空格、“:”字符和一些特殊HTML标签 Ø 属性项文本一般出现在网页开头和结尾,自由文本出现没有约束。 Ø 自由文本一般由多行文字组成,属性项文本最多只有一行。 Ø 属性项文本相对自由文本拥有较多的HTML标签修饰。 Ø 自由文本中包含较多中文符号。 由上述依据,制定如下步骤,文本预处理步骤: (1) 以内容块标签将网页HTML展开,根据2.1.2.1嵌套结构分解法,逐步去除网页HTML标签,保留文本,同时留下标签去除后的所有空白; (2) 统计去除标签后,每一行的汉字字数和中文字符,当汉字字数超过阈值,使用段落标签 注: 2.3.2 属性项文本抽取属性项 通过对主流网站页面的分析,可以发现页面为了显示重要信息,常使用“属性:属性值”这样的显示方法。这样的短文本已经很接近最终抽取的结果,但是网页中显示的“属性”,并非一定的待抽取最细属性项,还需要进行进一步的细化处理,例如网页中抽取到:“招标联系人:张三中标联系人:李四”,根据设定的属性类“联系人”,可以将其都归为“联系人”类,但是如果需要区分是“招标”或“中标”,就需要进一步根据关键词“招标”,“中标”进行再一次的划分。 图2-6显示了网页中常见的两种属性项文本形式。第一种使用嵌套表格table标签对信息进行布局,属性项文本对应于表格 图2-6常见“属性:属性值”显示形式 由上述分析,可以看出属性一般由名词构成,可以采用词语相似度识别,而属性值多由名词、形容词、数词和量词构成,需要综合词语相似度和其他规则识别。可以通过以下抽取步骤获得属性项,如图2-7: (1) 将待抽取页面,构建DOM树,根据2.1.2节网页粗粒度过滤方法得到网页核心区域; (2) 将核心区域按照内容块标签进行DOM树构建; (3) 采用2.3.1节所说后序遍历法对内容块DOM树进行HTML标签去除和信息标记; (4) 利用“属性:属性值”相近的原理,先确定属性,由属性建立属性槽,寻找属性值,读取语义文本每一行,根据2.3.1的标记识别是否属于属性项文本,如果属于则进行(5); (5) 因为一行可能包含一个属性或多个属性项,所以根据“:”和连续空白符,将文本分割成多个词语实体,形成词语实体链,如果词语实体链只包含一个元素,则将紧接的下一行 (6) 将词语实体链中的每一个词语实体与语义词典待抽取属性进行相似度匹配,如果匹配成功,转向(7),否则继续链的下一个元素; (7) 读取词语实体链,当前匹配上词语实体紧相邻的下一个词语实体,根据细粒度规则中存在对属性值的约束,判断其是否属于属性值,例如:姓名属性值是人名,如果符合规则,则完成当前属性项匹配,否则,继续链的下一个元素。 图2-7属性项文本抽取实体 2.3.3 段落中抽取属性项 网页中的信息并非都完全遵守属性项文本这样的结构,一些信息也存在于段落文本中。段落文本相对属性项文本最大的难点是没有网页结构信息,信息表达自由,词语实体需要从段落中识别。利用句子中词的关联程度和相对位置进行关系划分,同时采用语义词典寻找事先设定好的属性,向属性填充属性值的方法实现属性实体抽取,相对简单、准确。 根据2.1.3节的研究,网页的文本内容一般包含属性项结构化的文本和自由化的文本。对于属性项结构化的文本,信息的抽取变成了识别的过程,将已经结构化的文本,识别其所属类别,逐一归类即可,例如如图2-8(1)所示,对于教育经历的基本信息,只需将对应的“南华工商学院”这样的词语实体识别出所属类别“人物类-教育经历类-毕业学院项-名字:属性值,即可完成所需信息抽取。对于自由化的文本,则需要进行进一步的词语实体的切分和识别,例如如图2-8(2)所示,对于教育经历,无法直接获取所需信息“时间”、“学历”、“学校”等。中文中一个句子具有一个完整的信息表达,所以针对自由文本中的句子作为研究单位具有适用性。下面,根据语义词典介绍自由文本中抽取词语实体的过程,如图2-9所示。 图2-8 网页结构文本和自由文本对比 (1)首先利用中文符合,如 句号、分号、问号、感情号、回车等将段落划分成语义独立的句子; (2)利用语义词典对句子进行分词操作,例如图2-8(2)中的教育经历会被分成:“2001年/q 毕业/v 于/p 华东师范大学/nt 教育学系/n 教育学/n 原理/n 专业/n 获/v 博士/n 学位/n ”; (3)在语义词典中,定义好“教育经历类”所包含的属性项:时间(名词或数词)、学历(名词)、学校(名词)、专业(名词)等。当分词形成的某一词语实体匹配到属性项词语实体集时,就向上找到其所属属性类,对应建立属性槽。例如,从分词获得的“华东师范大学”词语实体词,属于属性项“学校”词语实体集,那么向上找到属性类“教育经历类”,建立属性槽“时间:”、“学历:”、“学校:”、“专业”; (4)在步骤2基础上,对于分词得到词语实体,利用相似度和预先设定的规则,判断词语实体是否从属属性。如果发现存在属性词语实体,则由属性词语实体寻找属性值,例如,发现“学历”属性项的关键词语“学位”,则由属性寻找其他词语实体中是否有满足相似度规则的属性值,最终确定“博士”,形成“学位:博士”; (5)词语实体满足事先设定的属性值识别规则,但其他词语实体并未成功匹配属性,则根据语义词典,获取属性,将属性值放入属性槽中。例如“时间:”属性,事先制定时间词语实体识别规则:可能有相关的关键词“年”、“月”、“日”等,可能满足特定的时间格式,根据这样的规则,发现“2001年”满足约束,放入属性槽中。 (6)网页中的句子并非都是信息相关的,在无关的句子中,也存在出现符合词语实体集中的词语实体的可能性,为了提高抽取精度,设定只有当多个属性槽被成功填充时,才认定本次抽取成功,否则本次抽取不成功,继续下一个句子抽取。 图2-9段落抽取属性项 对于属性项文本,可以通过标签和转换规则形成结构化的文本,采用先寻找属性,后寻找属性值的方法具有较高准备性;而自由文本,无法肯定句子中一定同时包含属性和属性值,所以只能分别查找。在句子中,属性脱离属性值存在,对抽取无意义,而属性值可以脱离属性单独存在。 3 实验 3.1 方法实例验证 为了验证方法的可行性,选取招标网站作为主题进行实验。招标网页信息种类繁多,网页结构形式多变,正文包含结构化和自由化文本,同时,实用性比较强,因此选取招标网页作为实例验证方法具有较好的参照性。 整个过程可以分为以下几步:语义词典构造、网页粗粒度抽取、网页结构分析、网页预处理、网页文本抽取、网页细粒度抽取、获得属性实体,如图3-1所示。 图3-1方法设计图 3.1.1 招标主题语义词典构造 领域词典主要由领域关键词构成,语义词典主要在领域词典的基础上,添加关联关键词、核心词素和属性值规则约束。语义词典的功能是用于识别和抽取网页文本项中的词语实体,语义词典的正确建立是信息抽取计算的关键。通过对招标网页的研究和招标领域知识的理解,首先确定该领域的属性类集和抽取属性项集,建立语义词典的层级框架,如图3-2。然后,设置待抽取属性和属性值细粒度规则约束,如图3-3和表3-1。 图3-2语义词典的层级框架 图3-3属性实体和属性值规则约束 表3-1 细粒度规则列表 规则(满足上层规则,才能继续下层) 内容 时间建立统一要求:属性值为时间实体,若是数字,则满足时间格式,若是文字,则包含“年”、“月”、“日”等常见时间词; 采购开始时间规则1 属性关键词约束“采购”“开始”等; 采购结束时间规则2 属性关键词约束“采购”“结束”等; 成交中标时间规则3 属性关键词约束“成交”,“中标”等; 公司建立统一约束规则:常见公司关键词库,例如“公司”,“有限”,“研究所”; 招标公司规则4 属性建立核心词“招标”和同义词; 中标公司规则5 属性建立核心词“中标”和同义词; 代理公司规则6 属性建立核心词“代理”和同义词; 行业和地域信息:建立常见招标行业信息库,地域信息可以根据联系地址推测; 行业类型规则7 优先查找标题中的关键字; 地域类型规则8 优先查找联系地址中的关键词; 标题规则9 根据网页结构信息获取; 链接规则10 根据网页结构信息获取; 采购内容规则11 根据标题和正文起始关键词“采购内容”获取; 中标金额规则12 属性拥有“价格”、“金额”关键字,属性值一般拥有“元”、“¥”等关键信息; 联系人规则13 属性设置“联系人”关键词,属性值为人名,可能拥有不止一个联系人; 联系电话规则14 属性拥有“联系”、“电话”关键词,属性值是数字,可能包含多个电话; 邮编规则15 属性拥有“邮编”关键字,属性值是数字; 联系电话16 属性拥有“联系”、“地址”关键词,属性值包含“街”、“区”、“市”等词素; 由于XML文件不仅具有良好的数据存储性和高度结构化,而且还能设定处理数据的规则,所以采用XML文件构建语义词典,操作方便,易于理解。如图3-4是招标XML语义词典部分数据。 图3-4 XML词典 3.1.2 招标网页属性项抽取 由于列表式页面的结构相对规范,当采用2.1.2.2重复模式算法,定位到列表节点,其处理方法将和正文表格结构处理方法处理类似,所以下面重点介绍网页正文信息属性实体抽取过程。根据2.1.2.2节所说,根据重复模式算法和统计算法将网页进行粗粒度过滤后,将得到正文核心节点,根据对招标网页的研究和实验,发现核心节点多大是一个table节点或者div节点,如图3-5所示。 图3-5 抽取核心节点示例 采用2.1.2.1节网页嵌套分解法和2.3.1节文本预处理后形成如图3-6所示结果。 图3-6 文本分词处理 将属性项文本进行2.3.2步骤,段落文本进行2.3.3步骤,最终结果如图3-7所示。 图3-7 抽取结果示例 3.2 评测方法简述 正文抽取的评价标准一般采用精确度P和召回率R。精确度等于系统正确抽取的结果占所有抽取结果的比例;召回率是测试系统正确抽取的结果占所有可能正确结果的比例。实验中,我们采用精确度P为了评价标准,精确度定义为从网页中没有遗漏的抽取预设定的属性项。 我们设抽取正确的正文网页总数为T1,选取测试网页总数为T0,则: P= T1/T0 (3-1) 3.3 实验结果和分析 根据方法的原理,我们制作网络爬虫和属性项抽取的工具对不同网页布局和结构的招标网站进行测试。我们通过网络爬虫从多个网站分别下载了300张网页进行抽取测试,将抽取结果,结果如图3-8所示。 图3-8 抽取结果示例 将抽取结果和实际网页对比验证,如果网页中存在属性信息没有抽取到,则认为抽取失败。,计算精确度,结果如表3-1。 表3-1 测试结果 网页来源 测试数量 符合要求数量 不符合的数量 P 中国政府采购网 300 268 32 0.893 中央政府采购网 300 283 17 0.943 北京市招投标信息平台 300 257 43 0.857 福建省政法采购网 300 276 24 0.920 中国山东政府采购 300 258 32 0.860 根据表3-1,可以看出抽取方法精确度可以达到90.1%。利用本文提出的属性和属性值抽取方法,准确可靠,实用性较好。分析抽取错误的网页,错误主要有以下原因造成:网页中大量信息处于自由文本当中,对自由文本的切分不准确;属性项关键字相近,没有进一步区分出属性从属。由于对语义词典的依赖,使得抽取精度在一定程度上受限。 4 总结与展望 随着Web网络信息的迸发式增长,网页细粒度信息的抽取显得越来越重要。本文重点研究了网页结构、文本和语义的特点,提出了一种从半结构化网页文本中抽取属性-属性值的方法。方法从粒度、语义和规则多角度考虑网页抽取,具有可靠性。通过实验证明,该方法精确度高,识别率强,具有实用价值。进一步的工作还有许多需要完成,例如语义词典的自动构建、学习,规则的自动发现等。 5 参考文献 [1] 解涛.精确Web信息抽取集成模型与关键技术研究[D].南京大学计算机科学与技术系.2011 [2] 全福亮.面向精确Web信息抽取的自动数据记录分析和识别技术研究[D].南京大学计算机科学与技术系.2011 [3] 李广建,乔建忠.全自动生成网页信息抽取包装器的主要技术方法研究[J].信息系统.2010,1(33) [4] 李卫东.基于DOM的半结构化网页信息抽取算法[J].河北省科学院学报.2009,1(26) [5] 乔卫.基于领域本体的XML语义信息抽取的研究与实现[D].武汉理工大学.2009 [6] 周军.基于粒子计算模型的数据挖掘方法研究[D].江苏大学.2010 [7] 朱姗.基于规则和本体的实体关系抽取系统研究[J].情报杂志.2010,29 [8] 周志华,何佳洲.一种基于统计的神经网络规则抽取方法[J].软件学报.2001,12(2) [9] 李向阳,戴江山.一种Web信息抽取规则的优化方法[J].兰州理工大学学报.2006,32(1) [10] C-H.Hsu and M-T Dung Generating Finite-Sate Transduces for semistructured Data Extraction From the Web.Information systems,Vol 23.No.8,pp.512-538,1998. [11] 苏小鲁.基于DOM的HTML网页正文信息抽取模块设计和实现[D].北京邮电大学.2011 [12] 胡仁龙,袁春风.基于重复模式的自动Web信息抽取[J].软件技术与数据库.2008,32(22) [13] 于鲁波,陈超.互联网商品信息抽取技术[J].计算机工程.2008,34(5) [14] 李蕾,王劲林.基于FFT的网页正文提取算法研究与实现[J].计算机工程和应用.2007,43(30) [15] 张霞亮,陈家俊.基于逻辑行和最大接纳距离的网页正文抽取[J].计算机工程与应用.2009,45(25) [16] 乔卫.基于领域本体的XML语义信息抽取的研究与实现[D].武汉理工大学.2009 [17] 张素香.信息抽取中关键技术的研究[D].北京邮电大学.2008 [18] 陆文豪.基于关系数据库的专业领域语义词典构建研究[D].复旦大学.2009 [19] 袁晓峰.基于知网的词语相似度计算研究[J].成都大学学报.2011,30(4) [20] 钱跃.基于文本挖掘的学者简历自动生成[D].大连理工大学.2011 Content Ex Wang xiaofei1 (1. Beijing University of Posts and Telecommunications Pattern Recognition Artificial Intelligence Laboratory) Abstract:Using the experience of the Chinese con Key words:Chines 、
、 、、 ;而自由文本一般对应长文本。
标记此行,当汉字字数符合阈值,同时本行存在“:”字符,则使用属性项标签,其他标记为表示文本属于sentence句子文本;表示属性文本一个或者多个标签项。第二种使用段落标签或
对应一个或者多个属性项文本。由图可以看出,“属性”和“属性值”具有位置相近的特点。
你可能感兴趣的:(Web技术)