《信息抽取方法和装置.pdf》由会员分享,可在线阅读,更多相关《信息抽取方法和装置.pdf(12页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103092973 A (43)申请公布日 2013.05.08 CN 103092973 A *CN103092973A* (21)申请号 201310028403.2 (22)申请日 2013.01.24 G06F 17/30(2006.01) G06F 17/27(2006.01) (71)申请人 浪潮 (北京) 电子信息产业有限公司 地址 100085 北京市海淀区上地信息路 2 号 2-1 号 C 栋 1 层 (72)发明人 高滨 刘正伟 高飞 (74)专利代理机构 北京安信方达知识产权代理 有限公司 11262 代理人 栗若木 曲鹏 (54) 发明名称 信。
2、息抽取方法和装置 (57) 摘要 本发明提供了一种信息抽取方法和装置。涉 及计算机应用领域 ; 解决了现有信息抽取技术 无法满足实际应用需要的问题。该方法包括 : 对 HTML文档进行预处理, 得到规范的XHTML文档 ; 对 所述 XHTML 文档进行解析, 获取样本实例 ; 通过归 纳学习所述样本实例, 得出公共 XPATH ; 生成 XSLT 抽取规则 ; 根据所述XSLT抽取规则和所述XPATH, 通过输出文件函数进行信息抽取。本发明提供的 技术方案适用于基于网页结构的特征分析, 实现 了高查全率和查准率的信息抽取。 (51)Int.Cl. 权利要求书 2 页 说明书 5 页 附图 4。
3、 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图4页 (10)申请公布号 CN 103092973 A CN 103092973 A *CN103092973A* 1/2 页 2 1. 一种信息抽取方法, 其特征在于, 包括 : 对超文本标记语言 (HTML)文档进行预处理, 得到规范的可扩展超文本置标语言 (XHTML) 文档 ; 对所述 XHTML 文档进行解析, 获取样本实例 ; 通过归纳学习所述样本实例, 得出公共 XML 路径语言 (XPATH) ; 生成扩展样式表转换语言 (XSLT) 抽取规则 ; 根据所述 XSLT 抽取规则和所。
4、述 XPATH, 通过输出文件函数进行信息抽取。 2.根据权利要求1所述的信息抽取方法, 其特征在于, 所述对HTML文档进行预处理, 得 到规范的 XHTML 文档包括 : 将所述 HTML 文档解析成一颗 HTML 文档对象模块 (HTMLDOM) 树, 并获取该树的根元素 ; 为所述 HTML 文档添加 XML 文档声明和 XSLT 规则转换文件 ; 从所述树的树根开始递归遍历所述 HTMLDOM 树, 形成所述规范的 XHTML 文件。 3. 根据权利要求 2 所述的信息抽取方法, 其特征在于, 从所述树的树根开始递归遍历 所述 HTMLDOM 树, 形成所述规范的 XHTML 文件包。
5、括 : 从树根开始递归遍历所述 HTMLDOM 树, 判断节点类型 ; 对节点类型为文本节点的节点, 用实体引用代替文本节点的特殊字符, 并打印所述文 本节点 ; 对节点类型为有用元素的元素节点, 在取出所述元素节点之前先打印 “” , 获得该元素 节点的名称, 同时将该元素节点的名称小写化 ; 对节点类型为无用元素的元素节点, 直接过滤该元素节点。 4. 根据权利要求 3 所述的信息抽取方法, 其特征在于, 所述从所述树的树根开始递归 遍历所述 HTMLDOM 树, 形成所述规范的 XHTML 文件还包括 : 对于有子节点的节点类型为有用元素的元素节点, 以同样方式递归打印出所有孩子节 点,。
6、 直到遍历结束, 关闭所述元素节点。 5. 根据权利要求 1 所述的信息抽取方法, 其特征在于, 所述对所述 XHTML 文档进行解 析, 获取样本实例的步骤包括 : 将页面清洗得到的 XHTML 文档解析成 XMLDOM 树, 获得该树的根节点 (ROOT) ; 深度优先遍历所述 XMLDOM 树 ; 获得根节点的名称 ; 在所述根节点有孩子节点时递归处理该节点的孩子节点, 在所述根节点没有孩子节点 时直接加到当前节点下 ; 把所有子节点加载到 JTREE 的根节点中生成整棵树。 6. 根据权利要求 1 所述的信息抽取方法, 其特征在于, 所述通过归纳学习所述样本实 例, 得出公共 XPAT。
7、H 包括 : 对于两个样本实例的 XPATH 表达式, 从根节点开始比较 ; 如果节点名称和位置序号都一致, 则计入公共 XPATH 表达式 ; 若某个 XPATH 的节点名称相同, 而位置序号不同, 则获得该节点及其所有的兄弟节点, 将该节点的孩子序号置为 0, 并写入公共 XPATH 表达式中 ; 依次比较直到 XPATH 表达式结束。 权 利 要 求 书 CN 103092973 A 2 2/2 页 3 7. 根据权利要求 1 所述的信息抽取方法, 其特征在于, 所述生成 XSLT 抽取规则包括 : 定义三个变量, 使用该三个变量保存起始孩子节点序号、 孩子节点数以及步长值 ; 设置公共。
8、路径里的参数, 初始值为起始孩子节点序号 ; 模板运行一次后将起始孩子节点序号按步长值增加, 得到的结果作为参数递归调用模 板, 完成多条记录数的自动抽取。 8. 根据权利要求 1 所述的信息抽取方法, 其特征在于, 所述根据所述 XSLT 抽取规则和 所述 XPATH, 通过输出文件函数进行信息抽取的步骤之后, 还包括 : 将抽取结果存入 XML 文件中, 用于观察数据抽取的正确性和二次处理。 9. 一种信息抽取装置, 其特征在于, 包括 : 页面预处理模块, 用于对 HTML 文档进行预处理, 得到规范的 XHTML 文档 ; 网页树构建模块, 用于对所述 XHTML 文档进行解析, 获取。
9、样本实例 ; XPATH 构建模块, 用于通过归纳学习所述样本实例, 得出公共 XPATH ; 抽取规则形成模块, 用于生成 XSLT 抽取规则 ; 信息抽取模块, 用于根据所述 XSLT 抽取规则和所述 XPATH, 通过输出文件函数进行信 息抽取。 权 利 要 求 书 CN 103092973 A 3 1/5 页 4 信息抽取方法和装置 技术领域 0001 本发明涉及计算机应用领域, 尤其涉及一种信息抽取方法和装置。 背景技术 0002 随着信息产业和通讯技术的飞速发展, 互联网已经成为重要的知识库和信息来 源。 然而, 随着互联网上信息量日益庞大, 互联网中数据的组织类型更加多样化并且信。
10、息缺 乏统一管理, 人们对于高效率的信息抽取技术的需求越来越迫切。 0003 基于网页结构特征分析的方法, 采用统计聚类的思想, 查全率较高, 但在抽取信息 时具有一定的盲目性, 经常抽取出大量的无用信息。基于隐马尔科夫模型 (Hidden Markov Model, 简称 HMM) 的信息抽取方法, 需要相关领域的专家事先构建出该领域的最优数学模 型, 且模型参数的制定需要大量的样本数据, 抽取效率较低。 基于本体实现的表格信息抽取 方法, 不依赖于所抽取的 WEB 页面的设计格式, 也没有对其内容提出任何表示限制, 但该方 法只适用于一定的应用领域, 当应用领域改变时相应的本体需要重新构造。
11、。基于自然语言 处理方式的信息抽取方法适用于含有大量自由文本且句子成分完整的 Web 页面, 但该方法 没有充分利用 Web 文档的层次结构, 且处理速度慢, 导致该方法的适用范围较小。 0004 可见, 现有的信息抽取技术难以同时满足网页信息自动抽取中查全率与准确率 高、 抽取信息量大、 用户负担轻和无关于应用领域等要求。 发明内容 0005 本发明提供了一种信息抽取方法和装置, 解决了现有信息抽取技术无法满足实际 应用需要的问题。 0006 一种信息抽取方法, 包括 : 0007 对超文本标记语言 (HTML) 文档进行预处理, 得到规范的可扩展超文本置标语言 (XHTML) 文档 ; 0。
12、008 对所述 XHTML 文档进行解析, 获取样本实例 ; 0009 通过归纳学习所述样本实例, 得出公共 XML 路径语言 (XPATH) ; 0010 生成扩展样式表转换语言 (XSLT) 抽取规则 ; 0011 根据所述 XSLT 抽取规则和所述 XPATH, 通过输出文件函数进行信息抽取。 0012 优选的, 所述对 HTML 文档进行预处理, 得到规范的 XHTML 文档包括 : 0013 将所述 HTML 文档解析成一颗 HTML 文档对象模块 (HTMLDOM) 树, 并获取该树的根 元素 ; 0014 为所述 HTML 文档添加 XML 文档声明和 XSLT 规则转换文件 ;。
13、 0015 从所述树的树根开始递归遍历所述 HTMLDOM 树, 形成所述规范的 XHTML 文件。 0016 优选的, 从所述树的树根开始递归遍历所述HTMLDOM树, 形成所述规范的XHTML文 件包括 : 0017 从树根开始递归遍历所述 HTMLDOM 树, 判断节点类型 ; 说 明 书 CN 103092973 A 4 2/5 页 5 0018 对节点类型为文本节点的节点, 用实体引用代替文本节点的特殊字符, 并打印所 述文本节点 ; 0019 对节点类型为有用元素的元素节点, 在取出所述元素节点之前先打印 “” , 获得该 元素节点的名称, 同时将该元素节点的名称小写化 ; 002。
14、0 对节点类型为无用元素的元素节点, 直接过滤该元素节点。 0021 优选的, 所述从所述树的树根开始递归遍历所述 HTMLDOM 树, 形成所述规范的 XHTML 文件还包括 : 0022 对于有子节点的节点类型为有用元素的元素节点, 以同样方式递归打印出所有孩 子节点, 直到遍历结束, 关闭所述元素节点。 0023 优选的, 所述对所述 XHTML 文档进行解析, 获取样本实例的步骤包括 : 0024 将页面清洗得到的 XHTML 文档解析成 XMLDOM 树, 获得该树的根节点 (ROOT) ; 0025 深度优先遍历所述 XMLDOM 树 ; 0026 获得根节点的名称 ; 0027 。
15、在所述根节点有孩子节点时递归处理该节点的孩子节点, 在所述根节点没有孩子 节点时直接加到当前节点下 ; 0028 把所有子节点加载到 JTREE 的根节点中生成整棵树。 0029 优选的, 所述通过归纳学习所述样本实例, 得出公共 XPATH 包括 : 0030 对于两个样本实例的 XPATH 表达式, 从根节点开始比较 ; 0031 如果节点名称和位置序号都一致, 则计入公共 XPATH 表达式 ; 0032 若某个 XPATH 的节点名称相同, 而位置序号不同, 则获得该节点及其所有的兄弟 节点, 将该节点的孩子序号置为 0, 并写入公共 XPATH 表达式中 ; 0033 依次比较直到 。
16、XPATH 表达式结束。 0034 优选的, 所述生成 XSLT 抽取规则包括 : 0035 定义三个变量, 使用该三个变量保存起始孩子节点序号、 孩子节点数以及步长 值 ; 0036 设置公共路径里的参数, 初始值为起始孩子节点序号 ; 0037 模板运行一次后将起始孩子节点序号按步长值增加, 得到的结果作为参数递归调 用模板, 完成多条记录数的自动抽取。 0038 优选的, 所述根据所述 XSLT 抽取规则和所述 XPATH, 通过输出文件函数进行信息 抽取的步骤之后, 还包括 : 0039 将抽取结果存入 XML 文件中, 用于观察数据抽取的正确性和二次处理。 0040 本发明还提供了一。
17、种信息抽取装置, 包括 : 0041 页面预处理模块, 用于对 HTML 文档进行预处理, 得到规范的 XHTML 文档 ; 0042 网页树构建模块, 用于对所述 XHTML 文档进行解析, 获取样本实例 ; 0043 XPATH 构建模块, 用于通过归纳学习所述样本实例, 得出公共 XPATH ; 0044 抽取规则形成模块, 用于生成 XSLT 抽取规则 ; 0045 信息抽取模块, 用于根据所述 XSLT 抽取规则和所述 XPATH, 通过输出文件函数进 行信息抽取。 0046 本发明提供了一种信息抽取方法和装置, 对 HTML 文档进行预处理, 得到规范的 说 明 书 CN 1030。
18、92973 A 5 3/5 页 6 XHTML 文档, 然后对所述 XHTML 文档进行解析, 获取样本实例, 通过归纳学习所述样本实例, 得出公共 XPATH, 并生成 XSLT 抽取规则, 最后根据所述 XSLT 抽取规则和所述 XPATH, 通过输 出文件函数进行信息抽取, 实现了高查全率和查准率的信息抽取, 解决了现有信息抽取技 术无法满足实际应用需要的问题。 附图说明 0047 图 1 为本发明的实施例一提供的一种信息抽取装置的结构示意图 ; 0048 图 2 为本发明的实施例一提供的一种信息抽取方法的流程图 ; 0049 图 3 为本发明的实施例一提供的一种信息抽取方法的实现原理图。
19、 ; 0050 图 4 为本发明的实施例二中实验结果示意图。 具体实施方式 0051 现有的信息抽取技术难以同时满足网页信息自动抽取中查全率与准确率高、 抽取 信息量大、 用户负担轻和无关于应用领域等要求。 0052 为了解决上述问题, 本发明的实施例提供了一种信息抽取方法和装置。下文中将 结合附图对本发明的实施例进行详细说明。 需要说明的是, 在不冲突的情况下, 本申请中的 实施例及实施例中的特征可以相互任意组合。 0053 首先结合附图, 对本发明的实施例一进行说明。 0054 本发明实施例提供了一种信息抽取装置, 该装置的结构如图 1 所示, 包括 : 0055 页面预处理模块 101,。
20、 用于对 HTML 文档进行预处理, 得到规范的 XHTML 文档 ; 0056 网页树构建模块 102, 用于对所述 XHTML 文档进行解析, 获取样本实例 ; 0057 XPATH 构建模块 103, 用于通过归纳学习所述样本实例, 得出公共 XPATH ; 0058 抽取规则形成模块 104, 用于生成 XSLT 抽取规则 ; 0059 信息抽取模块105, 用于根据所述XSLT抽取规则和所述XPATH, 通过输出文件函数 进行信息抽取。 0060 结合图 1 所示的信息抽取装置, 本发明的实施例还提供了一种信息抽取方法, 使 用该方法完成 WEB 信息抽取的流程如图 2 所示, 包括。
21、 : 0061 步骤 201、 对 HTML 文档进行预处理, 得到规范的 XHTML 文档 ; 0062 本步骤提供一种 HTML 页面清洗算法, 主要实现步骤如下 : 0063 1、 利用 NekoHtml 把 HTML 文档解析成一棵 HTMLDOM 树, 并获得该树的根元素。 0064 2、 为文档添加 XML 文档声明和 XSLT 规则转换文件。 0065 3、 从树根开始, 递归遍历 HTMLDOM 树, 根据节点类型进行判断处理。 0066 若是文本节点, 则用实体引用代替特殊字符, 并打印文本节点。若是元素节点, 则 需判断节点类型是否是无用元素。若是无用节点, 如 Scrip。
22、t、 META、 Form、 STYLE 等, 则直接 过滤 ; 否则, 在取出元素节点之前先打印 “” , 利用 DOM 中的 getNodeName() 方法获得元素 节点名称, 同时将其名称小写化。 0067 如果有用元素类型的元素节点有子节点, 则以同样方式递归打印出所有孩子节 点, 直到遍历结束, 关闭元素节点。 0068 4、 待整个 HTMLDOM 树遍历结束, 则形成了规范的 XHTML 文档。 说 明 书 CN 103092973 A 6 4/5 页 7 0069 步骤 202、 对所述 XHTML 文档进行解析, 获取样本实例 ; 0070 本步骤中, 对 XHTML 文档。
23、进行解析, 使用 JTREE 构建可视化的 XML 文档, 以便获得 样本实例, 减轻用户负担。构建网页分析树流程如下 : 0071 首先, 将步骤 201 之后得到的 XHTML 文档解析成 XMLDOM 树, 获得该树的根节点 ROOT。 0072 其次, 深度优先遍历该 XMLDOM 树。获得根节点的名称, 如果该根节点有孩子节点, 递归处理该根节点的孩子节点。如果该根节点没有孩子节点, 则直接将没有子节点的元素 节点加到根节点下。最后把所有孩子节点加载到 JTREE 的根节点中生成整棵树 0073 步骤 203、 通过归纳学习所述样本实例, 得出公共 XPATH ; 0074 在获得所。
24、有的样本实例后, 通过归纳学习得出公共 XPATH(待抽取节点的路径, 使 用 XPATH 来定位) 。例如 : 对于两个样本实例的 XPATH 表达式, 从根节点开始比较。 0075 如果节点名称和位置序号都一致, 则将节点的路径XPATH计入公共XPATH表达式, 形如 : /root/node1/node2。若某个 XPATH 的节点名称相同, 而位置序号不同 (在树中同一 层的不同兄弟节点位置序号不同) , 则说明待抽取的信息位于该树节点的及其兄弟节点为 父节点的子树中 ; 此时, 继续获得该节点及其所有的兄弟节点, 并将该节点的孩子序号置为 0, 并写入公共 XPATH 表达式中。依。
25、次比较直到 XPATH 表达式结束。 0076 步骤 204、 生成 XSLT 抽取规则 ; 0077 本步骤可采用基于树的绝对路径定位方式, 这种方式最为直观和准确, 运行效率 也最高。 0078 在信息抽取中, 一般记录条数较多, 而在 XSLT 中, 当 XSLT 处理器为执行转换而处 理样式表的时候, 它的值每次都可能发生变化。但是, 一旦在某个转换中设定了这个值, 就 不再发生变化。因此, 要把所有的记录条数全部抽取出来, 必须使用模板递归调用。首先定 义三个变量, 使用这三个变量保存起始孩子节点序号、 孩子节点数以及步长值。 然后设置公 共路径里的参数, 初始值为起始孩子节点序号,。
26、 模板 (即某个待抽取记录的抽取规则模板 , 本质一个 xml 文件, 使用 xslt 进行处理) 运行一次后将起始孩子节点序号按步长值增加, 得 到的结果作为参数递归调用模板, 完成多条记录数的自动抽取。 0079 步骤 205、 根据所述 XSLT 抽取规则和所述 XPATH, 通过输出文件函数进行信息抽 取 ; 0080 本步骤中, 根据抽取规则库里的规则, 利用 XSLT 和 XPATH 在数据转换和数据定位 方面的优势, 通过输出文件函数实现信息抽取。优选的, 还可将抽取结果存入 XML 文件中, 用于观察数据抽取的正确性和二次处理。 0081 本发明实施例中, 可根据实际需要自定义。
27、抽取规则以构成抽取规则库。 0082 本发明实施例的实现原理如图 3 所示。 0083 下面结合附图, 对本发明的实施例二进行说明。 0084 本发明实施例提供了一种信息抽取方法, 该信息抽取方法建立在待抽取的网页库 已获得的前提下, 通过页面预处理器将源 HTML 页面标准化, 补充 HTML 不规则标签, 过滤无 用元素节点等。如果该类型页面在抽取规则库中不存在, 利用页面结构解析器将网页解析 成为 JTree, 并根据样本实例学习公共 XPATH, 从而形成提取规则。如果存在抽取规则, 则直 接进行抽取。利用该原型系统进行了对 4 个网站的 26 个页面的进行了实验, 实验结果参见 说 。
28、明 书 CN 103092973 A 7 5/5 页 8 图4, 实验结果以准确率 (P) 和召回率 (R) 来衡量。 另外, 引入一个准确率和召回率的加权平 均值 F, 其中待抽取数据共 423 个, 当其提供的样本实例数为 2 个时, 实际抽出共 366 个, 正 确抽出共360个, 平均F值为75.23% ; 当其提供的样本实例为3个时, 平均查全率为99.17%, 平均查准率为 99.17%, 平均 F 值为 99.17%。对于一般网站而言, 一个信息点本方法最多提 供 3 个样本实例, 便可完成较高查全率和查准率的抽取。 0085 本发明的实施例提供了一种信息抽取方法和装置, 对 H。
29、TML 文档进行预处理, 得 到规范的 XHTML 文档, 然后对所述 XHTML 文档进行解析, 获取样本实例, 通过归纳学习所 述样本实例, 得出公共 XPATH, 并生成 XSLT 抽取规则, 最后根据所述 XSLT 抽取规则和所述 XPATH, 通过输出文件函数进行信息抽取, 实现了高查全率和查准率的信息抽取, 解决了现 有信息抽取技术无法满足实际应用需要的问题。 0086 本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程 序流程来实现, 所述计算机程序可以存储于一计算机可读存储介质中, 所述计算机程序在 相应的硬件平台上 (如系统、 设备、 装置、 器件等) 执行。
30、, 在执行时, 包括方法实施例的步骤之 一或其组合。 0087 可选地, 上述实施例的全部或部分步骤也可以使用集成电路来实现, 这些步骤可 以被分别制作成一个个集成电路模块, 或者将它们中的多个模块或步骤制作成单个集成电 路模块来实现。这样, 本发明不限制于任何特定的硬件和软件结合。 0088 上述实施例中的各装置 / 功能模块 / 功能单元可以采用通用的计算装置来实现, 它们可以集中在单个的计算装置上, 也可以分布在多个计算装置所组成的网络上。 0089 上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为 独立的产品销售或使用时, 可以存储在一个计算机可读取存储介质中。上。
31、述提到的计算机 可读取存储介质可以是只读存储器, 磁盘或光盘等。 0090 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到变化或 替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围应以权利要求所述的保 护范围为准。 说 明 书 CN 103092973 A 8 1/4 页 9 图 1 说 明 书 附 图 CN 103092973 A 9 2/4 页 10 图 2 说 明 书 附 图 CN 103092973 A 10 3/4 页 11 图 3 说 明 书 附 图 CN 103092973 A 11 4/4 页 12 图 4 说 明 书 附 图 CN 103092973 A 12 。