发明名称 Web信息抽取方法
摘要 Web信息抽取方法属于互联网技术领域。如何才能从冗杂的Web页面中抽取出需要的信息已经成为多数研究者希望解决的问题。Web信息抽取方法:基于特征比较法建立抽取规则的过程中计算结点相似度,具体步骤选择数据项特征,构建数据项特征,计算相似度;深度遍历整个DOM树完成后,就计算出了所有结点的综合相似度S,最终得到综合相似度S最大的结点,就是需要找的相似结点;相似结点对于的内容就是待抽取信息。本文针对互联网上煤矿安全事件信息的特点,提出了面向煤矿安全事件的Web信息抽取方法,为用户提供更加快速、准确的煤矿安全事件信息服务。
申请公布号 CN105677638A 申请公布日期 2016.06.15
申请号 CN201610005979.0 申请日期 2016.01.05
申请人 北京工业大学 发明人 沈琦;刘泽伟;李婧;陈博;王宇
分类号 G06F17/27(2006.01)I 主分类号 G06F17/27(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 刘萍
主权项 Web信息抽取方法,其特征在于分为以下两步完成;1)基于特征比较法建立抽取规则的过程中计算结点相似度,具体步骤:(1)第一步选择数据项特征DOM树中的结点除了具有路径特征之外,还有数据项特征,每个节点对应的上层父结点及其名称、左右邻结点特征;在抽取过程中,待抽取页和模板页中的同类信息可能包含相同的字符内容,把这些字符内容称为特征字符串,且把它也当成结点的一个重要特征;每个结点具有的这些特征和路径特征一起用特征类Characteristic来存放,将Characteristic做如下定义:class Characteristic{private String text;//结点内容private String path;//结点路径private String comPath="";//公共路径private String parentName;//父结点名称private String parentAttribute;//父结点属性private String leftName;//左邻结点名private String rightName;//右邻结点名private String feature;//特征字符串private int relDistance;//相对距离}(2)第二步构建数据项特征Characteristic类的text属性用于存放结点的内容;comPath的作用是存放这些记录的公有路径,comPath初始值为空;feature特征字符串,用来跟用户标记的上层公有字符串相匹配,相对距离的计算也会用到feature;结点的父节点及其属性,左邻结点名称和右邻结点对于parentName、parentAttribute、leftName、rightName中;结点的路径存放在path中;结点的特征字符串和其对应的数据项之间的距离保存在relDistance属性中;(3)第三步计算相似度计算结点相似度就是在测试页面里通过比较结点特征,找到跟用户标记的数据项有着最大相似度的信息,然后将这些信息抽取出来;结点路径通常包括HTML标记及其位置序号,所以能够将结点路径划分为两个序列,分别是标记序列和序号序列;记样本页面结点A对应的数据项结点路径的标记序列是MA=(MA<sub>1</sub>,MA<sub>2</sub>,MA<sub>3</sub>,…,MAn),序号序列是NA=(NA<sub>1</sub>,NA<sub>2</sub>,NA<sub>3</sub>,…,NA<sub>n</sub>);记测试网页结点B对应的数据项结点路径对应的标记序列是MB=(MB<sub>1</sub>,MB<sub>2</sub>,MB<sub>3</sub>,…,MB<sub>n</sub>),序号序列是NB=(NB<sub>1</sub>,NB<sub>2</sub>,NB<sub>3</sub>,…,NB<sub>n</sub>),从而MA和MB的相似度是:<maths num="0001"><math><![CDATA[<mrow><mi>M</mi><mi>S</mi><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>C</mi><mi>i</mi></msub><mo>,</mo><msub><mi>C</mi><mi>i</mi></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>M</mi><msub><mi>A</mi><mi>i</mi></msub><mo>=</mo><mi>M</mi><msub><mi>B</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo><msub><mi>MA</mi><mi>i</mi></msub><mo>&NotEqual;</mo><msub><mi>MB</mi><mi>i</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000900265440000021.GIF" wi="791" he="155" /></maths>序列序号的特点是,如果两个结点数据项越相似,那么他们就越靠近,表现在数值上就是序号序列的差值就越小;所以NA和NB的相似度NS定义如下:<maths num="0002"><math><![CDATA[<mrow><mi>N</mi><mi>S</mi><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>C</mi><mi>i</mi></msub><mo>,</mo><msub><mi>C</mi><mi>i</mi></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>N</mi><msub><mi>A</mi><mi>i</mi></msub><mo>=</mo><mi>N</mi><msub><mi>B</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo><msub><mi>NA</mi><mi>i</mi></msub><mo>&NotEqual;</mo><msub><mi>NB</mi><mi>i</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000900265440000022.GIF" wi="797" he="150" /></maths>如果给序号序列和标记序列分配一样的权重,那么结点路径的相似度PS定义如下:<maths num="0003"><math><![CDATA[<mrow><mi>P</mi><mi>S</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><mi>M</mi><mi>S</mi><mo>+</mo><mi>N</mi><mi>S</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000900265440000023.GIF" wi="524" he="117" /></maths>特征字符串相似度的定义:在测试页面中,假如当前结点在规定的相对距离范围内也含有对应的特征字符串,那么该结点的特征字符串的相似度为1,反之取0;本文将字符串相似度记为CS;特征类中其它特征属性对应的相似度全部按照下面的公式进行计算,所述的其他特征属性是步骤(1)中除特征字符串,和结点路径之外的特征属性;<maths num="0004"><math><![CDATA[<mrow><mi>C</mi><mi>h</mi><mi>S</mi><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>C</mi><mi>h</mi><mi>A</mi><mo>=</mo><mi>C</mi><mi>h</mi><mi>B</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>C</mi><mi>h</mi><mi>A</mi><mo>&NotEqual;</mo><mi>C</mi><mi>h</mi><mi>B</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000900265440000031.GIF" wi="579" he="152" /></maths>公式中ChA代表在样本页面中的数据项特征,ChB代表测试页面中对应的特征;也就是说,如果测试页面与样本页面对应的特征项相等,那么这个特征项的相似度为1,反之取0;接下来给出计算测试页面和样本页面综合相似度S;由于在判断两个数据结点是否相似的时候,特征字符串的参考价值比较高,所以把它的权重设为其他特征的2倍;由上所述,S的计算公式如下:S=PS+2CS+ΣChS                 (5)以上就是特征类Characteristic中所有特征项相似度的计算方法,每个结点对应的特征项也就是定位该结点的规则;最终计算出来相似度最大的结点,就是需要找的相似结点;有了上面这些相似结点的计算规则,下面就是利用相似结点的定位算法,对相似结点定位的过程;2)在煤矿安全事件Web信息抽取系统中,对相似结点定位的算法如下:算法输入内容:主题DOM树算法输出内容:相似结点算法步骤:(1)将获取页面主题后生成的DOM树根节点作为当前结点;(2)取出待抽取的第一个语义项的特征,把它作为当前特征;(3)将当前结点的DOM路径取出来,然后将其与当前特征中包含的路径特征进行对比,如果匹配则转(4),如果不匹配则转(7);(4)判断当前结点对应相邻的前后结点的标记名称与当前特征里面左邻结点名和右邻结点名是否一样,如果一样则转(5),不一样则转(7);(5)计算当前结点和当前特征的综合相似度S;(6)取出待抽取的下一个语义特征作为下一个语义项的当前特征;如果成功取出就把这个特征作为当前特征;取出失败意味着当前结点与全部语义项都不相似;下一步需要将当前结点删除,然后再从样本页中取出第一个语义特征,把它作为第一个语义项的当前规则;(7)继续深度遍历整个DOM树,若遍历结束,则算法结束,否则取出下一个结点,并把它当做当前结点,然后转(3);深度遍历整个DOM树完成后,就计算出了所有结点的综合相似度S,最终得到综合相似度S最大的结点,就是需要找的相似结点;相似结点对于的内容就是待抽取信息。
地址 100124 北京市朝阳区平乐园100号