Automatic Extration of Web Data --Web 数据的自动抽取

64
Automatic Extration of Web Data --Web 数数数数数数数

description

Automatic Extration of Web Data --Web 数据的自动抽取. 参考文献. Nora Derouiche, Bogdan Cautis, Talel Abdessalem. Automatic Extraction of Structured Web Data with Domain Knowledge.IEEE ICDE 2012 - PowerPoint PPT Presentation

Transcript of Automatic Extration of Web Data --Web 数据的自动抽取

Page 1: Automatic Extration of Web Data --Web  数据的自动抽取

Automatic Extration of Web Data--Web 数据的自动抽取

Page 2: Automatic Extration of Web Data --Web  数据的自动抽取

1. Nora Derouiche, Bogdan Cautis, Talel Abdessalem. Automatic

Extraction of Structured Web Data with Domain Knowledge.IEEE

ICDE 2012

2. TalelAbdessalem,BogdanCautis,NoraDerouiche.ObjectRunner

Lightweight, Targeted Extraction and Querying of Structured Web

Data.

3. Bing Liu 著 . 俞勇等译 .Web 数据挖掘 ( 第 2 版 ). 清华大学出版社

4. 赖春波 .Web 信息自动抽取技术研究 . 浙江大学硕士学位论文

参考文献

Page 3: Automatic Extration of Web Data --Web  数据的自动抽取

part1 术语及相关背景

part2 抽取过程

part3 ObjectRunner

part4 实验评估

Page 4: Automatic Extration of Web Data --Web  数据的自动抽取

术语及相关背景

Page 5: Automatic Extration of Web Data --Web  数据的自动抽取

信息提取 /抽取 (Information Extraction)概念:指从一段文本中抽取指定的一类信息(例如事件、事实)、并将其(形成结构化的数据)填入一个数据库中供用户查询使用的过程。

识别 ( 命名 ) 实体,确定 ( 语义 ) 关系

信息提取的“ 8字方针”

术语及相关背景

Page 6: Automatic Extration of Web Data --Web  数据的自动抽取

中旅国际

淘宝

卓越亚马逊

语料库

信息提取

信息提取

书籍信息旅行线路个人简历天气预报餐厅推荐招聘广告

……

内容索引库 用户界面

DB Interface

信息提取

术语及相关背景

Page 7: Automatic Extration of Web Data --Web  数据的自动抽取

A. 用户指定感兴趣的信息特性,以及待分析的文本集(数据源);

B. 系统过滤文本集并以一定的格式输出匹配的信息 ( 关系记录 ) 。

信息提取涉及到两个方面的因素

术语及相关背景

Page 8: Automatic Extration of Web Data --Web  数据的自动抽取

• 5 个典型的提取阶段:- NE (Named Entities)

- ER (Entity Relations)

- Template Scenario ( 模板场景 )

- Coreference ( 共指 )

- Template Merger (模板合并)• 具体提取哪些 NE, ER, Scenario 以及做哪些 Coref,

Merger 是任务相关的。

MUC 的 IE任务定义

备注: MUC 是指 Message Understanding Conference

Page 9: Automatic Extration of Web Data --Web  数据的自动抽取

- NE (Named Entities): 提取文本中相关的命名实体,包括人名、机构 / 公司名称、书名等的识别 - ER (Entity Relations): 提取命名实体之间的各种关系(事实) Write_of( 作者 , 范明 ),

price_of( 数据挖掘导论 ( 完整版 ) , ¥ 47.70  )

- Template Scenario (Event Structures) :事件结构 召开会议 (Time<…>, Spot<…>, Convener<…>, Topic<…>)

- Coreference (Identity descriptions) : 代词、名词共指- Template Merger : 相同事件的合并

5个典型的提取阶段:

Page 10: Automatic Extration of Web Data --Web  数据的自动抽取

信息抽取的三种方法:1)手工方法(Manual Approach):通过观察网页及其源码,由编程人员找出一些模式( Pattern ),在根据这些模式编程抽取目标数据。

2)包装器归纳(Wrapper Introduction):有监督的学习方法,半自动的。这种方法从手工标注的网页或数据记录集中学习一组抽取规则,随后这组规则即被用于从具有类似格式的网页中抽取目标数据项。

3)自动抽取( Automatic Extration):无监督的学习方法。给定一张或数张网页,这种方法自动从中寻找模式或语法,以便进行数据抽取。这种方法不需要进行手工标注,可以用于处理大量站点和网页的数据抽取工作。

术语及相关背景

Page 11: Automatic Extration of Web Data --Web  数据的自动抽取

包装器的缺陷:

A.手工标注不适合对大量站点进行抽取

B.包装器的维护的开销会很大: Web 是一个动态的环境,站点不断地变化。如果一个站点改变了它的格式模板,那么现有的针对该站点的包装器将会失效。

网站中的数据记录通常是用很少的模板来编码的,故自动提取是可行的!!

术语及相关背景

Page 12: Automatic Extration of Web Data --Web  数据的自动抽取

Web自动抽取的过程

术语及相关背景

Page 13: Automatic Extration of Web Data --Web  数据的自动抽取

预处理过程主要是对网页集合进行 XHTML/XML 规范化。网页聚类的目标是尽可能的把输入的混乱网页集合中 / 实际上 0属于同一模板生成的网页 ( 相似度较高 )归为一类。模板生成是在网页聚类的结果上 , 对属于同一类的网页进行共性分析 , 从而生成这类网页的最佳抽取模板。抽取过程实际上也是一个 DOM树的匹配过程 , 对于输入网页中映射到模板的数据字段的节点 ,我们抽取出这个节点的内容到特定数据字段。数据标记过程就是为抽取出的数据字段添加语义信息的过程。

术语及相关背景

Page 14: Automatic Extration of Web Data --Web  数据的自动抽取

任务 : 按分类收集各网站书籍的所有信息,以便用户或其他人需要时查询

需求:希望系统能够直接对各网站进行搜索和信息提取,然后得到一个包括了大量书籍信息的数据库文件,以非常方便地使用标准的数据库系统来浏览和查询这些信息(必要时再调出原文作更细致的考察)。

书籍信息的信息抽取

术语及相关背景

Page 15: Automatic Extration of Web Data --Web  数据的自动抽取

术语及相关背景

这种页面也叫列表页面( List pages)

Page 16: Automatic Extration of Web Data --Web  数据的自动抽取

术语及相关背景这种页面也叫单一页面( singleton pages)

Page 17: Automatic Extration of Web Data --Web  数据的自动抽取

书名 计算机科学丛书:数据挖掘 :概念与技术 (原书第 3 版 )

作者 ~ 韩家炜  ( 作者 ), Micheline Kamber ( 作者 ), 裴健  ( 作者 ),  范明  ( 译者 ), 孟小峰  ( 译者 ) 

出版社 机械工业出版社出版时间 2012-08 出版精装 /平装 平装价格 ¥ 60.90 

评价星级送达时间 部分地区今天或明天即可送达活动(满减) 中文图书满 80元返 2 张 25元鞋靴满减券 其他卖家数量 57

其他买家价格 ¥ 51.2

书籍信息

Page 18: Automatic Extration of Web Data --Web  数据的自动抽取

举例说明

术语及相关背景

Page 19: Automatic Extration of Web Data --Web  数据的自动抽取

<HTML><body><div id="atfResults" class="list results apsList"><div id="result_0" class="fstRow prod celwidget" name="B008RVQHHE"> <div class="linePlaceholder"></div><div class="image imageContainer"> <a href="http://www.amazon.cn/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E4%B8%9B%E4%B9%A6-%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98-%E6%A6%82%E5%BF%B5%E4%B8%8E%E6%8A%80%E6%9C%AF-%E9%9F%A9%E5%AE%B6%E7%82%9C/dp/B008RVQHHE/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1368498914&amp;sr=1-1&amp;keywords=%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98" target="_blank"><img src="http://ec4.images-amazon.com/images/I/51ydR-eztrL._SL160_PIsitb-sticker-arrow-dp,TopRight,12,-18_SH30_OU28_AA160_.jpg" class="productImage" alt="产品详细信息 "/></a></div><h3 class="newaps"> <a href="http://www.amazon.cn/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E4%B8%9B%E4%B9%A6-%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98-%E6%A6%82%E5%BF%B5%E4%B8%8E%E6%8A%80%E6%9C%AF-%E9%9F%A9%E5%AE%B6%E7%82%9C/dp/B008RVQHHE/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1368498914&amp;sr=1-1&amp;keywords=%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98" target="_blank"><span class="lrg">&#35745;&#31639;&#26426;&#31185;&#23398;&#19995;&#20070;&#65306;&#25968;&#25454;&#25366;&#25496;:&#27010;&#24565;&#19982;&#25216;&#26415;(&#21407;&#20070;&#31532;3&#29256;)</span></a> <span class="med reg">韩家炜、 Micheline Kamber 、裴健、 范明 机械工业出版社 (2012-08 出版 )</span> </h3><li> <span class="med avblity"> 部分地区 <span class='bld grn'>今天 </span> 或 <span class='bld grn'> 明天 </span> 即可送达 </span> </li><li class="sect mbc">更多购买选择 - 平装 </li><li class="med grey mkp2"> <a href="http://www.amazon.cn/gp/offer-listing/B008RVQHHE/ref=sr_1_1_olp?s=books&amp;ie=UTF8&amp;qid=1368498914&amp;sr=1-1&amp;keywords=%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98&amp;condition=new" target="_blank"><span class="price bld"> ¥ 51.20</span> 新品 <span class="grey">(57卖家 )</span></a></li></ul><span class="rvwCnt">(<a alt="平均 4.4 星 " class="longReview" href="http://www.amazon.cn/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E4%B8%9B%E4%B9%A6-%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98-%E6%A6%82%E5%BF%B5%E4%B8%8E%E6%8A%80%E6%9C%AF-%E9%9F%A9%E5%AE%B6%E7%82%9C/product-reviews/B008RVQHHE/ref=sr_1_1_cm_cr_acr_txt?ie=UTF8&amp;showViewpoints=1" target="_blank">30条评论 </a>)</span> </li><li> 中文图书满 80元返 2 张 25元鞋靴满减券 <a href="http://www.amazon.cn/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E4%B8%9B%E4%B9%A6-%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98-%E6%A6%82%E5%BF%B5%E4%B8%8E%E6%8A%80%E6%9C%AF-%E9%9F%A9%E5%AE%B6%E7%82%9C/dp/B008RVQHHE/ref=sr_1_1_det?s=books&amp;ie=UTF8&amp;qid=1368498914&amp;sr=1-1#productPromotions" target="_blank"> 查看详细资料 </a></li>

</HTML ></body>

术语及相关背景

Page 20: Automatic Extration of Web Data --Web  数据的自动抽取

事件模板

术语及相关背景

Page 21: Automatic Extration of Web Data --Web  数据的自动抽取

命名实体与关系<NamedEntities>

<BookList>

计算机科学丛书:数据挖掘 :概念与技术 (原书第 3 版 )

数据挖掘导论 ( 完整版 ) 

</ BookList>

</NamedEntities>

<EntityRelations>

write_of( 数据挖掘导论 ( 完整版 )  作者 , 陈封能 (Pang-Ning

Tan) 、斯坦巴赫 (Michael Steinbach) 、库玛尔 (Vipin Kumar) 、 范明 )

</EntityRelations>

术语及相关背景

Page 22: Automatic Extration of Web Data --Web  数据的自动抽取

Sample pages

术语及相关背景

Page 23: Automatic Extration of Web Data --Web  数据的自动抽取

Recognizer ri

(i) user-defined regular expressions(ii) system predefined ones (e.g., addresses,dates, phone numbers, etc)

(iii)open, dictionary-based ones (isInstanceOf recognizers)

Entity type ti

Complex types defined in reclusive manner(递归 )

t =[{ti}, mi],

{ti}:a set of instances of type ti (atomic or not)

mi :a multiplicity constraint that specifies restrictions on the

number of ti instances in t [n-m,*(0 或多 ),+(1 或多 ),?(0 或多 ),1]

Structured Object Description(SOD)SOD 可以表示任何复杂的类型,并可能通过附加数值,文本或消歧规则来补充。

术语及相关背景

Page 24: Automatic Extration of Web Data --Web  数据的自动抽取

对于每一个给定的 SOD s 和数据源 S ,模板 描述了ז SOD

s 是如何从 Si 页面中抽取出来的。

SOD s 中的每组实体类型 type t =[{ti },mi ] ,模板 ז 定义一个 sept (分离符),代表了实体类型 ti 被这些分隔符隔开。

对于每组类型 type t ={t1,...,tk }, 模板 ז 定义了 k 个类型的 k

个实例组成了 t ,被这些分隔符隔开。

Structured Object Description(SOD)SOD 可以表示任何复杂的类型,并可能通过附加数值,文本或消歧规则来补充。

术语及相关背景

Page 25: Automatic Extration of Web Data --Web  数据的自动抽取

某饭店网页的类型树

Structured Object Description(SOD)

术语及相关背景

Page 26: Automatic Extration of Web Data --Web  数据的自动抽取

对于包含一个 SOD s 和一组源 {S1,…… , Sn} 的输入

The extraction template

1. 给 s里的实体类型( entity types )建立类型识别器( type

recognizer )

2. 对于每个源 Si ,做如下操作:

1) 在页面中找到并标注实体类型实例

2 )查找页面的一个样本集

3 )在样本的基础上推出模板 iז ( s , Si )

4 )使用模板 i来提取源ז Si 里 s 的所有实例

3.利用提取过的对象来完善识别器

Page 27: Automatic Extration of Web Data --Web  数据的自动抽取

提取过程与实现

Page 28: Automatic Extration of Web Data --Web  数据的自动抽取

数据抽取的的两个步骤1.自动标注2.提取模板的构建

提取过程与实现

Page 29: Automatic Extration of Web Data --Web  数据的自动抽取

预处理过程

1. 数据清洗2. 找出最可能的中心片段(有用的片段)3.利用 JTidy 将不规则的 HTML 页面转换为 XML 页面

A.建立类型识别器( Type recognizers)1. 查询知识库( YAGO 本体)2. 在 Web里直接查询用户的给定的实例。

提取过程与实现

Page 30: Automatic Extration of Web Data --Web  数据的自动抽取

B.注释和选择页面样本

1. 输入:参数(如样本大小为 k ) , 源 Si , SOD s

2.样本集 S = Si

3. 将 s 中的实体类型按选择性评估排序4. 对于 s里面每个实体类型 t {5. 查找并标注 S 中的 t6. 计算每个页面的得分7. 找到 S里得分最高的已标注页面 S’ ,使得 S = S’ }9.返回源 S里得分最高的 k 个页面(用于构建提取模板)

提取过程与实现

Page 31: Automatic Extration of Web Data --Web  数据的自动抽取

B.标注和选择页面样本

Page 32: Automatic Extration of Web Data --Web  数据的自动抽取

上图为根据页面 p1所构建的 DOM树,其中标注过程会利用 DOM

来完成,标注结果会被表示为类型标注 DOM树

标注

提取过程与实现

Page 33: Automatic Extration of Web Data --Web  数据的自动抽取

count(i,t,p)-- ( i , t)在语料库中用模式 p的点击数

count(i) 是 i在语料库中的点击数

count25—25%时的点击数

页面选择

提取过程与实现

Page 34: Automatic Extration of Web Data --Web  数据的自动抽取

其中, tf(i):term frequency (检索词频率)

页面选择

提取过程与实现

Page 35: Automatic Extration of Web Data --Web  数据的自动抽取

C.生成包装器(Wrapper)

输入: SOD s

输出:提取模板 ז

发生向量( occurrence vector)例如 p1 , p2 , p3 中的 <div> 的发生向量可以表示为<3,3,6>

等价类 EQs:在页面中具有相同频率的标签集

提取过程与实现

Page 36: Automatic Extration of Web Data --Web  数据的自动抽取

如 p1 和 p2 的 <div> 个数一样,所以 p1 .<div> 和 p2.<div>就是一个等价类

提取过程与实现

Page 37: Automatic Extration of Web Data --Web  数据的自动抽取

非冲突标注( non-conflicting annotations ):当 token ( html 标签)有相同类型的标注或者根本没有被标注时,就可以说这些 token含有非冲突标注

冲突标注( conflicting annotations):当 token 有不同类型的标注,就可以说这些 token含有冲突标注

提取过程与实现

Page 38: Automatic Extration of Web Data --Web  数据的自动抽取

算法用于区别 HTML 页面中的各标签1.repeat2. repeat3. 查找等价类4. 处理无效等价类5. if 中止条件成立 then6. 停止进程7. end if8. 利用 Eqs区别标签 +非冲突标注的作用9. 直至 fixphoint10. 利用等价类——冲突标注来区别各标签的作用11.直至 fixphoint

C.生成包装器(用于区别 HTML的各标签)

提取过程与实现

Page 39: Automatic Extration of Web Data --Web  数据的自动抽取

C.生成包装器(用于区别 HTML的各标签)

提取过程与实现

Page 40: Automatic Extration of Web Data --Web  数据的自动抽取

左边的 SODs 包含了两个元组类型 {t1,{},t3} 和 {t31,t32} 以及一个集合类型 {t2}

D.输出模板

提取过程与实现

Page 41: Automatic Extration of Web Data --Web  数据的自动抽取

D.输出模板

提取过程与实现

Page 42: Automatic Extration of Web Data --Web  数据的自动抽取

E.提早结束包装器生成

在标注阶段对于给定的 SOD

1.选择标注含有较高满意度的页面样本集 ,依据满意度临界值来停止2.依据可视块的粒度(注释的多少,文中是阿尔法取 50% )

在包装器生成阶段在迭代过程中,进程可以被停止(见算法 2 )

提取过程与实现

Page 43: Automatic Extration of Web Data --Web  数据的自动抽取

ObjectRunner

Page 44: Automatic Extration of Web Data --Web  数据的自动抽取

ObjectRunner system

Page 45: Automatic Extration of Web Data --Web  数据的自动抽取

ObjectRunner system

Figure : Extraction interface

Page 46: Automatic Extration of Web Data --Web  数据的自动抽取

ObjectRunner system

Figure : Query interface

Page 47: Automatic Extration of Web Data --Web  数据的自动抽取

实验结果及对比

Page 48: Automatic Extration of Web Data --Web  数据的自动抽取

Cars

DatasetsFive different domains: concerts, albums, books, publications and cars

artist datelocation

theaterAddress(optional)

title artist price date

price

titleDate

(optional)

authors

authorCar

brandprice

Albums

Concerts

Publications

Books

实验结果及对比

Page 49: Automatic Extration of Web Data --Web  数据的自动抽取

信息抽取的一般评价标准

实验结果及对比

查全率和准确率不可能同时达到最优

Page 50: Automatic Extration of Web Data --Web  数据的自动抽取

Correct attributes—Ac

Correct objects—Oc

Partially correct attributes—Ap

Partially correct objects—Op

Incorrect attributes—Ai

Incorrect objects—Oi

The pecision for correctness—Pc

The precision for patially-correctness--Pp

其中 ,No=Oc+Oi+Op

实验结果及对比

Page 51: Automatic Extration of Web Data --Web  数据的自动抽取
Page 52: Automatic Extration of Web Data --Web  数据的自动抽取

Sample selection vs. random selection:

这张图表示用都是用 ObjectRunner来提取信息,但是选择信息的方法分别为随机选择和基于结构化对象描述的方法选择时的正确率的比较,可以基于SOD 这个方法的正确率会远远高于随机选择的正确率。

实验结果及对比

Page 53: Automatic Extration of Web Data --Web  数据的自动抽取

Comparison with state-of-the-art approaches:

从表中我们可以看出 ObjectRunner 的性能远远超过 RoadRunner ,而RoadRunner 在提取列表页面时的表现极差,完全正确的比例为 0 。

实验结果及对比

Page 54: Automatic Extration of Web Data --Web  数据的自动抽取

实验结果及对比

Page 55: Automatic Extration of Web Data --Web  数据的自动抽取

实验结果及对比

Page 56: Automatic Extration of Web Data --Web  数据的自动抽取

Thank you !( Q&A)

Page 57: Automatic Extration of Web Data --Web  数据的自动抽取

树匹配

Page 58: Automatic Extration of Web Data --Web  数据的自动抽取

设 W ( A,B )是树 A 和 B最大匹配中节点对的个数,m ( <A1,…,Ak>, <B1,…,Bn > )是 <A1,…,Ak> 和 <B1,…,Bn >最大匹配中节点对的个数如果 RA!=RB ,那么 W ( A,B ) =0 。则 W ( A,B )的形式化定义如下:

Page 59: Automatic Extration of Web Data --Web  数据的自动抽取

简单树匹配( STM)

Page 60: Automatic Extration of Web Data --Web  数据的自动抽取

简单树匹配( STM)

Page 61: Automatic Extration of Web Data --Web  数据的自动抽取
Page 62: Automatic Extration of Web Data --Web  数据的自动抽取

有限状态机:一个编码模板模式通常被表示成一个正则表达式。一个非确定性有限状态机可以被构建起来以匹配出现在代表一张网页的输入字符串中的模式。在这个过程中,数据项将被抽取出来。模式匹配( Pattern matching):也可能直接将字符串或树模式与输入相匹配以抽取数据。因为可以部分匹配,比有限状态机灵活。

独立地抽取各张网页:如果网站使用了不同的模板来编码它的数据,解决方法是从每张网页中寻找模式并只用本网页的模式抽取网页中的数据,然后,单独处理每张网页是低效的。

抽取方式

Page 63: Automatic Extration of Web Data --Web  数据的自动抽取

探测新模板

Page 64: Automatic Extration of Web Data --Web  数据的自动抽取

启发式规则