Automatic Extration of Web Data --Web 数据的自动抽取
-
Upload
gillian-nguyen -
Category
Documents
-
view
112 -
download
1
description
Transcript of Automatic Extration of Web Data --Web 数据的自动抽取
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 信息自动抽取技术研究 . 浙江大学硕士学位论文
参考文献
part1 术语及相关背景
part2 抽取过程
part3 ObjectRunner
part4 实验评估
术语及相关背景
信息提取 /抽取 (Information Extraction)概念:指从一段文本中抽取指定的一类信息(例如事件、事实)、并将其(形成结构化的数据)填入一个数据库中供用户查询使用的过程。
识别 ( 命名 ) 实体,确定 ( 语义 ) 关系
信息提取的“ 8字方针”
术语及相关背景
中旅国际
…
淘宝
…
卓越亚马逊
…
语料库
信息提取
信息提取
书籍信息旅行线路个人简历天气预报餐厅推荐招聘广告
……
内容索引库 用户界面
DB Interface
信息提取
术语及相关背景
A. 用户指定感兴趣的信息特性,以及待分析的文本集(数据源);
B. 系统过滤文本集并以一定的格式输出匹配的信息 ( 关系记录 ) 。
信息提取涉及到两个方面的因素
术语及相关背景
• 5 个典型的提取阶段:- NE (Named Entities)
- ER (Entity Relations)
- Template Scenario ( 模板场景 )
- Coreference ( 共指 )
- Template Merger (模板合并)• 具体提取哪些 NE, ER, Scenario 以及做哪些 Coref,
Merger 是任务相关的。
MUC 的 IE任务定义
备注: MUC 是指 Message Understanding Conference
- 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个典型的提取阶段:
信息抽取的三种方法:1)手工方法(Manual Approach):通过观察网页及其源码,由编程人员找出一些模式( Pattern ),在根据这些模式编程抽取目标数据。
2)包装器归纳(Wrapper Introduction):有监督的学习方法,半自动的。这种方法从手工标注的网页或数据记录集中学习一组抽取规则,随后这组规则即被用于从具有类似格式的网页中抽取目标数据项。
3)自动抽取( Automatic Extration):无监督的学习方法。给定一张或数张网页,这种方法自动从中寻找模式或语法,以便进行数据抽取。这种方法不需要进行手工标注,可以用于处理大量站点和网页的数据抽取工作。
术语及相关背景
包装器的缺陷:
A.手工标注不适合对大量站点进行抽取
B.包装器的维护的开销会很大: Web 是一个动态的环境,站点不断地变化。如果一个站点改变了它的格式模板,那么现有的针对该站点的包装器将会失效。
网站中的数据记录通常是用很少的模板来编码的,故自动提取是可行的!!
术语及相关背景
Web自动抽取的过程
术语及相关背景
预处理过程主要是对网页集合进行 XHTML/XML 规范化。网页聚类的目标是尽可能的把输入的混乱网页集合中 / 实际上 0属于同一模板生成的网页 ( 相似度较高 )归为一类。模板生成是在网页聚类的结果上 , 对属于同一类的网页进行共性分析 , 从而生成这类网页的最佳抽取模板。抽取过程实际上也是一个 DOM树的匹配过程 , 对于输入网页中映射到模板的数据字段的节点 ,我们抽取出这个节点的内容到特定数据字段。数据标记过程就是为抽取出的数据字段添加语义信息的过程。
术语及相关背景
任务 : 按分类收集各网站书籍的所有信息,以便用户或其他人需要时查询
需求:希望系统能够直接对各网站进行搜索和信息提取,然后得到一个包括了大量书籍信息的数据库文件,以非常方便地使用标准的数据库系统来浏览和查询这些信息(必要时再调出原文作更细致的考察)。
书籍信息的信息抽取
术语及相关背景
术语及相关背景
这种页面也叫列表页面( List pages)
术语及相关背景这种页面也叫单一页面( singleton pages)
书名 计算机科学丛书:数据挖掘 :概念与技术 (原书第 3 版 )
作者 ~ 韩家炜 ( 作者 ), Micheline Kamber ( 作者 ), 裴健 ( 作者 ), 范明 ( 译者 ), 孟小峰 ( 译者 )
出版社 机械工业出版社出版时间 2012-08 出版精装 /平装 平装价格 ¥ 60.90
评价星级送达时间 部分地区今天或明天即可送达活动(满减) 中文图书满 80元返 2 张 25元鞋靴满减券 其他卖家数量 57
其他买家价格 ¥ 51.2
书籍信息
举例说明
术语及相关背景
<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&ie=UTF8&qid=1368498914&sr=1-1&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&ie=UTF8&qid=1368498914&sr=1-1&keywords=%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98" target="_blank"><span class="lrg">计算机科学丛书:数据挖掘:概念与技术(原书第3版)</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&ie=UTF8&qid=1368498914&sr=1-1&keywords=%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98&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&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&ie=UTF8&qid=1368498914&sr=1-1#productPromotions" target="_blank"> 查看详细资料 </a></li>
</HTML ></body>
术语及相关背景
事件模板
术语及相关背景
命名实体与关系<NamedEntities>
<BookList>
计算机科学丛书:数据挖掘 :概念与技术 (原书第 3 版 )
数据挖掘导论 ( 完整版 )
</ BookList>
</NamedEntities>
<EntityRelations>
write_of( 数据挖掘导论 ( 完整版 ) 作者 , 陈封能 (Pang-Ning
Tan) 、斯坦巴赫 (Michael Steinbach) 、库玛尔 (Vipin Kumar) 、 范明 )
</EntityRelations>
术语及相关背景
Sample pages
术语及相关背景
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 可以表示任何复杂的类型,并可能通过附加数值,文本或消歧规则来补充。
术语及相关背景
对于每一个给定的 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 可以表示任何复杂的类型,并可能通过附加数值,文本或消歧规则来补充。
术语及相关背景
某饭店网页的类型树
Structured Object Description(SOD)
术语及相关背景
对于包含一个 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.利用提取过的对象来完善识别器
提取过程与实现
数据抽取的的两个步骤1.自动标注2.提取模板的构建
提取过程与实现
预处理过程
1. 数据清洗2. 找出最可能的中心片段(有用的片段)3.利用 JTidy 将不规则的 HTML 页面转换为 XML 页面
A.建立类型识别器( Type recognizers)1. 查询知识库( YAGO 本体)2. 在 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 个页面(用于构建提取模板)
提取过程与实现
B.标注和选择页面样本
上图为根据页面 p1所构建的 DOM树,其中标注过程会利用 DOM
来完成,标注结果会被表示为类型标注 DOM树
标注
提取过程与实现
count(i,t,p)-- ( i , t)在语料库中用模式 p的点击数
count(i) 是 i在语料库中的点击数
count25—25%时的点击数
页面选择
提取过程与实现
其中, tf(i):term frequency (检索词频率)
页面选择
提取过程与实现
C.生成包装器(Wrapper)
输入: SOD s
输出:提取模板 ז
发生向量( occurrence vector)例如 p1 , p2 , p3 中的 <div> 的发生向量可以表示为<3,3,6>
等价类 EQs:在页面中具有相同频率的标签集
提取过程与实现
如 p1 和 p2 的 <div> 个数一样,所以 p1 .<div> 和 p2.<div>就是一个等价类
提取过程与实现
非冲突标注( non-conflicting annotations ):当 token ( html 标签)有相同类型的标注或者根本没有被标注时,就可以说这些 token含有非冲突标注
冲突标注( conflicting annotations):当 token 有不同类型的标注,就可以说这些 token含有冲突标注
提取过程与实现
算法用于区别 HTML 页面中的各标签1.repeat2. repeat3. 查找等价类4. 处理无效等价类5. if 中止条件成立 then6. 停止进程7. end if8. 利用 Eqs区别标签 +非冲突标注的作用9. 直至 fixphoint10. 利用等价类——冲突标注来区别各标签的作用11.直至 fixphoint
C.生成包装器(用于区别 HTML的各标签)
提取过程与实现
C.生成包装器(用于区别 HTML的各标签)
提取过程与实现
左边的 SODs 包含了两个元组类型 {t1,{},t3} 和 {t31,t32} 以及一个集合类型 {t2}
D.输出模板
提取过程与实现
D.输出模板
提取过程与实现
E.提早结束包装器生成
在标注阶段对于给定的 SOD
1.选择标注含有较高满意度的页面样本集 ,依据满意度临界值来停止2.依据可视块的粒度(注释的多少,文中是阿尔法取 50% )
在包装器生成阶段在迭代过程中,进程可以被停止(见算法 2 )
提取过程与实现
ObjectRunner
ObjectRunner system
ObjectRunner system
Figure : Extraction interface
ObjectRunner system
Figure : Query interface
实验结果及对比
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
实验结果及对比
信息抽取的一般评价标准
实验结果及对比
查全率和准确率不可能同时达到最优
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
实验结果及对比
Sample selection vs. random selection:
这张图表示用都是用 ObjectRunner来提取信息,但是选择信息的方法分别为随机选择和基于结构化对象描述的方法选择时的正确率的比较,可以基于SOD 这个方法的正确率会远远高于随机选择的正确率。
实验结果及对比
Comparison with state-of-the-art approaches:
从表中我们可以看出 ObjectRunner 的性能远远超过 RoadRunner ,而RoadRunner 在提取列表页面时的表现极差,完全正确的比例为 0 。
实验结果及对比
实验结果及对比
实验结果及对比
Thank you !( Q&A)
树匹配
设 W ( A,B )是树 A 和 B最大匹配中节点对的个数,m ( <A1,…,Ak>, <B1,…,Bn > )是 <A1,…,Ak> 和 <B1,…,Bn >最大匹配中节点对的个数如果 RA!=RB ,那么 W ( A,B ) =0 。则 W ( A,B )的形式化定义如下:
简单树匹配( STM)
简单树匹配( STM)
有限状态机:一个编码模板模式通常被表示成一个正则表达式。一个非确定性有限状态机可以被构建起来以匹配出现在代表一张网页的输入字符串中的模式。在这个过程中,数据项将被抽取出来。模式匹配( Pattern matching):也可能直接将字符串或树模式与输入相匹配以抽取数据。因为可以部分匹配,比有限状态机灵活。
独立地抽取各张网页:如果网站使用了不同的模板来编码它的数据,解决方法是从每张网页中寻找模式并只用本网页的模式抽取网页中的数据,然后,单独处理每张网页是低效的。
抽取方式
探测新模板
启发式规则