CN101419625B - 一种基于最小可查询模式的Deep Web自适应爬取方法 - Google Patents
一种基于最小可查询模式的Deep Web自适应爬取方法 Download PDFInfo
- Publication number
- CN101419625B CN101419625B CN2008102325553A CN200810232555A CN101419625B CN 101419625 B CN101419625 B CN 101419625B CN 2008102325553 A CN2008102325553 A CN 2008102325553A CN 200810232555 A CN200810232555 A CN 200810232555A CN 101419625 B CN101419625 B CN 101419625B
- Authority
- CN
- China
- Prior art keywords
- mep
- pattern
- new
- query
- inquiry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于最小可查询模式的Deep Web自适应爬取方法。针对当前DeepWeb爬取方法存在的数据孤岛导致的爬取效率较低问题,本发明首先提出了最小可查询模式MEP的概念,并在此基础上提出了MEP生成算法与基于MEP的自适应爬取方法。本发明将查询接口由单文本框推广到最小可查询模式集,一次查询由一个MEP和与该MEP匹配的关键词向量共同确定,自适应地产生期望最优的下一个查询直到满足查询停止条件。本发明使用最小可查询模式不但提高了表单填写准确率,而且充分利用各个模式的特性选取关键词较好地克服数据孤岛问题。
Description
技术领域
本发明属计算机应用领域,主要涉及Web挖掘、信息获取,特别涉及一种基于最小可查询模式的Deep Web自适应爬取方法,主要解决当前同类爬取方法中存在的数据孤岛问题。
背景技术
Deep Web爬取的目标是获取尽可能多的Deep Web数据记录[2],其关键在于如何产生合适的爬取。目前,Deep Web爬取可分为基于先验知识和无先验知识两类查询方法。
基于先验知识的爬取方法需要在爬取前建立相应的先验知识库,进而在先验知识的指导下产生查询。这类方法的不足之处在于:一、要求查询表单含有较多可供学习先验知识的信息,对包含较少信息的查询表单,如只包含接受关键词查询的单文本框表单,其处理能力比较受限;二、一次查询需要完成整个表单的填写,降低了爬取效率。
无先验知识的爬取方法克服了上述方法的不足,爬取过程不依赖先验知识,能较好地处理包含信息较少的查询表单。该类方法通过解析当前已获取的Deep Web数据记录以产生新的候选查询关键词。相对于基于先验知识的爬取方法,无先验知识的爬取方法提高了爬取处理能力,然而该类方法仍存在以下两方面问题:一、仅能对单文本框进行爬取并默认获取到的关键词与该文本框匹配;二、初始爬取的关键词选择缺乏足够依据。上述问题限制了Deep Web爬取方法的能力,从而导致数据孤岛现象,即仅能获得整个数据库中的一部分记录。
申请人检索出以下国内外相关文献:
1.S.Raghavan and H.Garcia-Molina.Crawling the Hidden Web.27th InternationalConference on Very Large Data Bases(VLDB),2001,129-138
2.郑东东,赵朋朋,崔志明.Deep Web爬虫研究与设计.清华大学学报(自然科学版).2005.45(1):1896-1902
3.Alvarez M.,Raposo J.,Pan,A.,Cacheda,F.,Bellas,F.,Carneiro,V.DeepBot:AFocused Crawler for Accessing Hidden Web Content.DEECS,2007
4.Barbosa L,Freire J.Siphoning hidden-web data through keyword-based interfaces.InSBBD,2004
5.Ntoulas A,Zerfos P,Cho J.Downloading textual hidden Web content through keywordqueries.JCDL,2005:100-109.
6.Ping Wu,Ji-Rong Wen,Huan Liu,Wei-Ying Ma.Query Selection Techniques forEfficient Crawling of Structured Web Sources.ICDE,2006.
7.Zhang Z.,He B.,Chang K.C.C.Understanding Web Query Interfaces:Best EffortParsing with Hidden Syntax[C].In Proceedings of the ACM SIGMOD InternationalConference on Management of Data,2004,107-118.
文献[1]提出了一种基于先验知识的方法,即基于LVS(Label Value Set)表的爬取方法,该方法通过学习查询表单来建立LVS表。该方法是基于先验知识方法的代表,由于其依赖于先验知识库的先天缺陷,爬取效率不高。
文献[2]在[1]的基础上,提出了基于预定义的领域本体知识库的爬取方法,通过引入本体模型,增强了爬取领域的扩展性。
文献[3]提出了基于领域定义(Domain Definitions)的爬取方法,在表单识别与填写的准确率上有所改进。
文献[4]最先提出无先验知识的思想,并给出了基于频率的需按此方法,通过选择在已获记录中频率最高的关键词进行爬取。然而使用已获取记录中的高频关键词并不能保证爬取获得较多的新纪录。
文献[5]提出了一种基于期望回报率的贪婪选词方法,该方法根据本地已有信息产生候选关键词并估算其期望回报率,选择回报率最大的关键词进行爬取。该方法是无先验知识方法的代表,但其仅能对单文本框进行爬取,容易导致“数据孤岛”现象。
文献[6]用图对Web数据库进行建模,将求解最优选词策略的问题转化为寻找图的最低带权支配集的问题,提出了基于链的贪婪爬取选词策略来求解近似最优解,并引入领域知识增强了爬取效果。但其仅能对单文本框进行爬取,容易导致“数据孤岛”现象。
文献[7]提出了2P grammar & Best-effort Parser,通过解析Deep Web查询接口的语义,构造出完全解析树,实现对查询界面的模式抽取。
经过分析对比,国内外文献介绍的Deep Web爬取方法未涉及Deep Web查询表单的最小可查询模式抽取方法和基于最小可查询模式的爬取方法。
发明内容
本发明的目的在于克服上述无先验知识方法现有技术存在的数据孤岛问题,提供一种一种基于最小可查询模式的Deep Web自适应爬取方法,该方法能够提升Deep Web爬取效率。
发明提出了最小可查询模式的概念,提出一种自适应的Deep Web爬取方法。本方法将查询由单文本框推广到最小可查询模式集合,通过选择最小可查询模式和与该模式匹配的关键词向量共同确定一次查询,根据已获取的Deep Web信息自适应地产生效率最大的下一个查询,直到满足查询停止条件。
本发明包含以下步骤:
1)生成目标Deep Web查询表单的最小可查询模式集合Smep,其中查询表单:查询表单是Deep Web的查询接口,可表示为所包含控件元素的集合,即查询表单F={e1,...,en},其中ei为F的控件元素;
2)添加种子候选查询qi进候选查询集合,候选查询可表示为qi(kv,mepj)其中qi(kv,mepj)为第i次Deep Web查询,该次查询是通过向最小可查询模式mepj提交关键词向量kv实现的,这里,mepj∈SMEP为包含m个控件元素的最小查询模式,kv=(kv1,kv2,…,kvm)为m维的关键词向量;
3)对最小可查询模式集合中的每个最小可查询模式mepj,预测其模式回报率Pnew(q(mepj)),模式回报率表示最小可查询模式独立于关键词向量选择的获取新记录的回报率,该值取决于查询模式本身;
4)对候选查询集合中的每个候选查询qi(kv,mepj)估计其关键词向量kv对新纪录的条件回报率Pnew(qi(kv|mepj))。Pnew(qi(kv|mepj))表示qi在mepj查询模式下使用关键词向量kv查询对新结果的条件回报率,该值取决于给定模式下关键词向量的查询能力;
5)对于候选查询集合中的查询qi(kv,mepj)计算查询qi对新纪录的回报率Pnew(qi(kv,mepj))和提交其所花费的时间代价cost(qi(kv,mepj));
6)提交候选查询集合中效率Efficient(qi)最高的查询qi,下载结果页面,抽取新纪录中关键词向量kv和其对应的模式信息mepj的偶对即(kv,mepj),更新候选查询集合,效率Efficient(qi)为查询qi单位代价下获取的新结果所占数据库总记录的比值,即Efficient(qi(kv,mepj))=Pnew(qi(kv,mepj))/cost(qi(kv,mepj));
7)如果满足停止爬取条件即为False时则爬取过程在该次查询后停止,算法结束;否则跳转至步骤错误!未找到引用源。;其中costmax为爬取过程中允许的最大代价,ε是个小于1的正数,ws为数据获取窗口W的大小。
所述的生成目标Deep Web查询表单的最小可查询模式集合,以条件模式CP集合Scp为输入使用MEPGeneration(Scp,Smep)算法生成最小可查询模式集合Smep,其中,条件模式CP包含一个或多个元素,用来表征存在关联的控件元素组合,一个CP可以是一个MEP,但任意真子集无法构成一个MEP,为了描述方便,引入函数μ,对于非空集合A,μ(A)={A-{x}|x∈A},算法MEPGeneration(Scp,Smep)如下:
Step1:如果μ(Scp)中未包含可查询模式
将Scp加入Smep;
RETURN;
Step3:RETURN Smep。
所述的对最小可查询模式mepj预测模式回报率Pnew(q(mepj))的方法,即在第i-1次查询结束后使用此时的回报率预测值Pnew(qi(mepj))来代替Pnew(q(mepj)),假设P(qi(kv,mepj))表示查询qi对结果的回报率,v来度量最小可查询模式对已往经验的依赖程度,Pnew(qi(mepj))按照如下公式计算:
式中Z是归一化因子,假设查询qi-1使用mepj模式则
所述的估计关键词向量kv对新纪录的条件回报率Pnew(qi(kv|mepj)),首先在已获得记录集中计算给定模式的关键词向量样本文档频率SampleDF(kv|mep),在此基础上使用SampleDF(kv|mep)预测给定模式的关键词向量对记录的条件回报率P(qi(kv|mepj)),关键词向量kv对新纪录的回报率按照下式计算Pnew(qi(kv|mepj))=P(qi(kv|mepj))-P(q1∨...∨qi-1)*SampleDF(kv|mepj),其中P(q1∨...∨qi-1)为前i-1次爬取无重复记录占Deep Web数据库记录的比值,P(qi(kv|mepj))表示关键词向量kv对纪录的条件回报率。
本发明将查询接口由单文本框推广到最小可查询模式集,充分利用各个模式的特性选取关键词较好地克服数据孤岛问题;此外在爬取初期引入先验知识消除了无先验知识方法存在的初始爬取的关键词选择缺乏足够依据问题。
附图说明
图1是本发明与基于单无限域爬取方法性能比较图。
图a为“计算机学报”网站上的实验图;
图b为“软件学报”网站上的实验图;
图c为“西安交通大学学报自然版”网站上的实验图;
图d为“中国开网”网站上的实验图;
图2是本发明与LVS方法性能比较图。
下面结合附图对本发明的内容作进一步详细说明。
具体实施方式
一种基于最小可查询模式的Deep Web爬取方法,具体包含以下步骤:
1)生成目标Deep Web查询表单的最小可查询模式集合Smep;
2)添加种子候选查询qi进候选查询集合。候选查询可表示为qi(kv,mepj)其中mepj为Smep中的最小可查询模式,kv为填写至mepj的关键字向量;
3)对最小可查询模式集合中的每个最小可查询模式mepj预测其模式回报率Pnew(q(mepj))即最小可查询模式对新记录的期望回报率;
4)对候选查询集合中的每个候选查询qi(kv,mepj)估计其关键词向量kv对新纪录的条件回报率Pnew(qi(kv|mepj))。
5)对于候选查询集合中的查询qi(kv,mepj)计算查询qi对新纪录的回报率Pnew(qi(kv,mepj))和提交其所花费的时间代价cost(qi(kv,mepj));
6)提交候选查询集合中效率Efficient(qi)最高的查询qi。下载结果页面,抽取新纪录中关键词向量和其对应的模式信息,更新候选查询集合;
7)如果满足停止爬取条件则停止爬取,算法结束;否则跳转至步骤错误!未找到引用源。;
以下将按照上述流程顺序叙述具体实施方案,包括:最小可查询模式生成算法、最高效率候选查询筛选方法、模式回报率预测方法、关键字向量对新纪录的条件回报率估计算法。
1.最小查询模式生成算法
定义1查询表单:查询表单是Deep Web的查询接口,可表示为所包含控件元素的集合,即查询表单F={e1,...,en},其中ei为F的控件元素。
每个控件元素有相应的取值空间,设Di为元素ei的值域。若Di为有限集,则ei为有限域元素;若Di为无限集,则ei为无限域元素。描述元素的一个重要属性是标签,用label(ei)表示。在不被误解的情况下,用标签来指代元素。
定义2可查询模式(Executable Pattern,EP):给定查询表单F={e1,...,en}, 1≤m≤n,若对中至少一个控件元素赋值后进行Deep Web数据库检索能返回检索结果,则称集合为F的一个可查询模式。可查询模式满足以下单调特性:
通过可查询模式返回的检索结果也包括零结果。对非可查询模式中的元素赋值后无法执行数据库检索,Deep Web站点一般会给出错误提示或跳转到无关新页面。因此一次查询由一个可查询模式中的一些特定元素和这些元素的赋值唯一确定。
对的一次赋值由关键词向量kv=(kv1,...,kvm)完成,其中 i=1,2,…,m。若存在某个为无限集,则称该MEP为IMEP(Infinite MEP),否则称该MEP为FMEP(FiniteMEP)。查询表单F的所有MEP构成了F的最小可查询模式集SMEP。根据可查询模式的单调特性与最小可查询模式的定义,可得如下推论:
采用枚举方法获得查询表单的最小可查询模式集合需要对表单上所有控件元素的组合进行检验,若表单上有n个控件元素,则需要检验的控件组合数目为2n。因此,当n比较大时,枚举方法的效率很低。控件元素并非孤立存在的,它们之间往往存在关联,例如机票查询的出发城市与目的城市。这样的元素必然出现在同一个最小可查询模式中,因而可以在一个粒度比元素更大的单位上来完成最小可查询模式的生成,从而提高生成效率。为此,引入条件模式CP(Condition Patter,见文献7),它包含一个或多个元素,用来表征存在关联的控件元素组合。一个CP可以是一个MEP,但至多只能是个MEP。
设条件模式集为SCP,初始SMEP为空,算法MEPGeneration(SCP,SMEP)将通过条件模式集SCP生成最小可查询集SMEP。为了描述方便,引入函数μ,对于非空集合A,μ(A)={A-{x}|x∈A}。算法特征在于利用最小可查询模式的单调性对MEP集进行递归地分治求解。算法步骤如下:
MEPGeneration(Scp,Smep)
Step1:如果μ(Scp)中未包含可查询模式
将Scp加入Smep;
RETURN;
Step3:RETURN Smep;
当获得给定表单F的最小可查询模式集合SMEP后,接下来的任务生成候选查询集合,下面首先对MEP爬取任务进行形式化描述,介绍候选查询集合中候选查询筛选方法。
2.候选查询筛选方法
设qi(kv,mepj)为第i次Deep Web查询,该次查询是通过向最小可查询模式mepj提交关键词向量kv实现的。这里,mepj∈SMEP为包含m个控件元素的最小查询模式,kv=(kv1,kv2,…,kvm)为m维的关键词向量。在不影响理解的情况下,qi(kv,mepj)简写为qi。
设P(qi)表示提交qi后所获得的结果记录数占Deep Web数据库总记录数的比例,P(q1∧...∧qi)表示查询q1到qi的共同记录数与总记录数的比值,P(q1∨...∨qi)为查询q1到qi所获得无重复记录数与总记录数的比值,Pnew(qi)为提交查询qi后新增加的结果记录数占总记录数的比例,Pnew(qi)满足:
Pnew(qi)=P(q1∨..qi)-P(q1∨..qi-1) (1)
为了衡量提交查询对资源的消耗,引入cost(qi)作为查询qi消耗的代价。这里将代价cost(qi)定义为完成查询qi所需要的时间,由提交查询时间,下载并分析搜索结果时间和下载新文档时间三部分组成。计算公式如下:
cost(qi(kv,mepj))=tq(mepj)+trP(qi(kv,mepj))+tdPnew(qi(kv,mepj)) (2)
式(2)中,tq(mepj)是利用mepj查询花费的固有时间,包括提交查询网络传输时间与处理该请求的响应时间;tr为平均处理一条结果记录所花费的时间;td为平均下载一个新页面所花费的时间;S为Deep Web数据库的总记录数。假设从提交模式mepj的HTTP请求开始至收到应答包头的时间为t1,下载包含x个记录的应答包时间为t2,抽取x个记录所花费时间为t3。则tq(mepj)=t1, 此处设定的参数不要求精确,数量级正确即可。对于参数不明确的情况tr和td可以使用缺省值tr∈[6.7×10-6,7.8×10-6],td∈[0.05,0.10]
基于上述描述,Deep Web爬取任务可以形式化表现为:在约束 下,确定一组查询序列q1,...qn,使Pnew(q1∨...∨qn)最大。其中T是爬取允许耗费的最大代价。
根据爬取任务,MEP爬取算法旨在确定一组查询序列q1,...,qn,使得在代价约束范围内查询完成后Pnew(q1∨...∨qn)最大,称序列q1,...qn称为全局最优查询序列。获得全局最优查询序列也是一个NP完全问题,在实际中不具有可操作性。为此提出了基于最小可查询模式的查询筛选方法,其核心思想是通过前i-1次的查询结果来预测第i次局部最优的查询,并期望通过这组局部最优查询序列来逼近全局最优查询序列。
定义4效率:效率Efficient(qi)为查询qi单位代价下获取的新结果所占数据库总记录的比值,计算公式如下:
Efficient(qi(kv,mepj))=Pnew(qi(kv,mepj))/cost(qi(kv,mepj)) (3)
在所有候选查询集合中,Efficient(qi)最大的查询称为第i次局部最优查询。观察(3)式可以发现,确定Efficient(qi)实质就是确定Pnew(qi)。为预测Pnew(qi)利用链规则将其改写为:
Pnew(qi(kv,mepj))=Pnew(q(mepj))Pnew(qi(kv|mepj)) (4)式(4)中,Pnew(qi)的值由Pnew(q(mepj))与Pnew(qi(kv|mepj))共同决定。Pnew(q(mepj))表示最小可查询模式独立于关键词向量选择的获取新记录的回报率,简称模式回报率,该值取决于查询模式本身。例如,一个论文查询网站的最小可查询模式集合SMEP={mep(关键词),mep(摘要)},显然,“摘要”模式回报率要大于“关键词”模式,因为摘要一般包括关键词信息。Pnew(qi(kv|mepj))表示qi在mepj查询模式下使用关键词向量kv查询对新结果的条件回报率,该值取决于给定模式下关键词向量的查询能力。
自适应查询算法需要确定局部最优查询必须预测Pnew(q(mepj))与Pnew(qi(kv|mepj)),预测可基于已有数据。在查询前期,由于反馈的记录数比较匮乏,可能会导致选词不当进而引发数据孤岛问题。为此,在自适应查询算法中引入了先验知识库LVS。先验知识库表示为模糊集,模糊集中每一个元素为标签名L和标签值V的偶对,其模糊值Mv∈[0,1]代表标签值V匹配标签名L的程度。
算法可以分为数据积累和预测两个阶段:当查询次数i小于某个阈值s时,为数据积累阶段,该阶段使用LVS选词的概率排序方法筛选出关键词向量。获取Deep Web数据库中的数据;当查询次数i大于等于s时,切换到预测阶段,该阶段在当前已获取数据的基础上筛选出本次Efficient最大的查询。其中s值的设置取决于对先验知识的依赖程度,一般情况下取值范围为[5,12]。算法流程如下:
Step1:准备预测第i次查询qi;
Step2:如果i<s则跳转至Step3;否则跳转至Step6;
Step3:为查询表单中的每个元素,从先验知识库LVS中载入Mv值排序前50个关键词;
Step4:从上步结果中,利用概率排序方法筛选出关键词向量kv;
Step5:如果kv与最小可查询模式集合的任何查询模式均不匹配,则跳转至Step3;否则跳转至Step9;
Step6:预测候最小可查询模式集合中每个模式的模式回报率Pnew(q(mepj));
Step7:估计候选查询集合中给定查询模式关键字向量对新结果的条件回报率Pnew(qi(kv|mepj));
Step8:在候选查询集合中搜索出Efficient最大的查询,如果Efficient相同则选取具有较高Pnew(qi(kv,mepj))的查询。
Step9:返回具有最高效率的关键字向量kv和其模式mepj;
其中Step4中的概率排序方法为,Mv值排序前50个关键词kv1,...kv50的子集kv1,...kvk中选择 最高的关键词组合作为关键词向量。
在提交上述算法返回的候选查询后,Deep Web站点将会返回检索结果。下载所有反馈结果并对下载页面的关键词向量与其对应模式进行抽取得到已解析记录集合{d1,...,dt},其中di为反馈结果中的第i个结果页面。下面介绍上述算法中两个重要的参数Pnew(q(mepj))与Pnew(qi(kv|mepj))的计算方法。
3.模式回报率Pnew(q(mepj))的预测方法
实际中由于无法获得最优查询序列,必须对Pnew(q(mepj))进行预测。用Pnew(qi(mepj))表示第i次查询时对Pnew(q(mepj))的预测值,Pnew(qi(mepj))按照下面的加权预测方法预测,其特征在于:一个模式的回报率取决于该模式先前回报率的加权之和,按照式(5)计算:
式(5)中,v来度量某个模式对已往经验的依赖程度,其取值一般为0.618。Z是归一化因子,假设查询qi-1使用mepj模式,则
4.关键词向量条件回报率Pnew(qi(kv|mepj))估计算法
计算Pnew(qi(kv|mepj))的目的是找出给定mepj下具有较高回报率的关键词向量。根据式(1),
Pnew(qi(kv|mepj))=P(qi(kv|mepj))-P(qi(kv|mepj)∧(q1∨...∨qi-1)) (6)
其中,P(qi(kv|mepj))其值为qi使用mepj查询的所有关键词向量中使用kv查询获取结果的条件回报率,该值需要预测得到。P(qi(kv|mepj)∧(q1∨...∨qi-1))其值为前i-1次查询获取的无重复结果记录中,在给定mepj下出现kv关键词向量的记录与总记录的比值,该值可以通过分析已获取结果记录获得。下面主要介绍这两个值的计算。
为计算P(qi(kv|mepj)∧(q1∨...∨qi-1)),引出给定模式的关键词向量样本文档频率SampleDF(kv|mep),为描述特定模式下的关键词向量对文档频率的贡献度,引入cos<kvxk,mepx>,其中kvxk为dk中出现的kv在某个模式下对应的布尔向量表示,mepx是mep的布尔值向量表示,约定零向量与任意向量夹角余弦值为0。得到已解析记录集合(定义参见第2小节)中包含在模式mep下的关键词向量kv的不重复文档个数SampleDF(kv|mep),按照下式计算:
式中,mepx=(mepx1,...,mepxm-1,mepxm),若mep的第i个元素为无限域元素,则mepxi=1;反之mepxi=0。kvxk=(kvxk 1,...kvxk n),当给定kv和mep时,kvxk的生成算法如下,方法返回kvxk向量。其中label(kvi)表示在dk中关键词kvi的标签,labe1(ei)为mep中第i个元素的标签。
Step1:i=0;
Step2:i++;如果i>mep的维数RETURN kvxk;
Step3:如果mepxi=0则kvxk i=0;跳转至Step2;
Step4:如果labe1(kvi)=null in dk;跳转至Step6;
Step5:如果labe1(kvi)=labe1(ei)则kvxk i=1;跳转至Step2;
否则kvxk i=0;跳转至Step2;
Step6:Smax=0;//计算LVS表中与关键词最相关的标签
对于LVS中表中的所有(L,V)对
S=Mv(kvi);如果(S>Smax)labe1(kvi)=L;
Step7:跳转至Step5;
Step4中labe1(kvi)=null原因是关键词缺失其labe1或对于其labe1无法抽取出来,解决此类标签缺失问题采用LVS计算缺失关键词的最相关的标签(Mv(x)值的定义参见第2小节)。
当mep为FMEP时,其候选关键词向量集合是可从表单中获得。由于假设每个MEP的查询范围都是整个Deep Web数据库,所以通过有限次查询可以获得全部结果。即使第i次查询之前不能确定P(qi(kv|mepj)),通过其平均值可以预测该值,即:
进一步,如果mep包含p个单选类元素(组合框或单选框)e1,...et,...ep,q个多选类元素(多选框)ep+1,...ep+t,...ep+q。其中et包含m个单选项即|Dt|=mt,ep+t包含r个多选项,即|Dp+t|=2r。考虑到多选类元素域值大小与元素个数成指数函数关系,覆盖全部域查询将花费较大代价。为对多选类查询进行优化,查询时选取覆盖其域的一个包含空集,全集和单个多选项构成的大小为ht的真子集。基于以述所述,P(qi(kv|mepj))的预测结果可进一步表达为:
如果给定mep是IMEP,该IMEP包含p个单选类元素,q个多选类元素,则P(qi(kv|mepj))的预测结果为:
公式(10)为P(qi(kv|mepj))的预测式。如果mep是FMEP,查询范围为整个数据库,即f=1;如果mep是IMEP,则f为出现mepj中无限域元素关键词向量的记录占总记录的比值即。这里用预测多文档词汇分布的法则来预测f值。该法则是通过Sample DF来预测f的大小。Mandelbrot在Zipf法则的基础上进一步发现关键词文档的频率f和关键词排序值r有以下关系:f=α(r+β)-r,式中α、β、γ都是参数,r是关键词频率rank值.将上式代入得到
表1 SampleDF(kv|mep)与P(qi)的计算
确定了上述两个值后,则可预测Pnew(qi(kv|mepj))。预测之前需要建立一张候选查询表Tab(Keyword Vector,MEP,SampleDF,ActualDF)存放候选查询,该表由四列组成分别代表关键字向量,最小可查询模式,SampleD和ActualDF.其中(Keyword Vector,MEP)为主键,ActualDF为提交所在行主键(kv,mepj)后所获得的记录数。预测算法基本思想为对候选查询表的每个候选查询更新其sampledf。计算完成后将元组集合中的所有元组按照其sampledf降序排列,并利用所有sampledf*actualdf≠0的元组的rank值及actualdf /S去拟合式(11)。数据库总记录大小S不影响最终选词结果.拟合完成后对所有actualdf=0即还没有提交查询的候选查询计算其Pnew(qi(kv|mepj))值.具体流程如下:
Step1:处理已解析文档dk;所有已解析文档均已处理跳转至Step6;
Step2:如果dk不为新文档则跳转至Step1;
Step3:抽取dk中所有的(关键词向量,模式)偶对并且计算其在dk中的sampledf;
Step4:对于每个关键词向量,模式对(kv,mep)
如果(kv,mep)对出现在候选查询标中则将sampledf加至出现其行的SampleDF列中;
否则在候选查询标中增加新行(kv,mep,sampledf,0);
Step5:跳转至Step1;
Step6:将表中的所有候选查询按照SampleDF列降序排序;
Step7:在排序结果集中所有行号小于300且sampledf*actualdf≠0
用已提交查询行号(排序值)和actualdf/S拟合式
α(r+β)-r的参数α、β、γ;
Step8:对于actualdf=0未提交的所有行
如果mepj为FMEP则f=1;否则f=α(r+β)-r,r为该行的排序值;
当Deep Web数据库大小未知时,何时停止MEP查询是一个关键。假设Deep Web数据库中总记录数为S,mk表示第k次查询获取的结果数,ak表示k次查询后总共获取的无重复结果数,则有ak+1=ak+mk*pk,其中,pk表示mk中新结果所占的比例。为简化计算,假定mk为定值m,pk用数据库中未检索的记录数和总记录数的比值来估计,即pk=(S-ak)/S,从而有:
观察上式可以发现新数据获取随着爬取次数的增长成指数级缩减。为实现高效爬取引出爬取停止策略。设costmax为爬取过程中允许的最大代价;ε是某个很小的正数。设ws为数据获取窗口W的大小,对于查询qi,若i<ws,Wi=(q1∨q2∨...∨qi);若i≥ws,Wi=(qi-ws+1∨qi-ws+2∨...∨qi)。为决策何时停止爬取,规则为若qt查询后,为False,则爬取过程在该次查询后停止。
上述规则中,ws的选择受限于costmax,该值越大,ws便能相应地增大。ε越小,则停止时间越晚,这将耗费过多资源,然而可获得较多的爬取数据;反之ε越大,则停止越早,将影响最终爬取数据量。因此,ε的取值取决于资源耗费和爬取数据量的重要程度,实际中ε的取值范围一般为ws的取值范围一般为[3,15],依据costmax的具体取值而定。如果爬取过程对网络带宽或运行时间限制,costmax的设置依据限制而定;否则costmax取值范围为[1.25×S,3×S]。
5.对比实验
为验证发明方法(简称MEP自适应)的有效性,使用该方法在6个真实的Deep Web站点进行了爬取实验,实验的站点如表2所列:
表2 实验站点及结果
为比较MEP自适应爬取方法与无先验知识方法的优劣,选择无先验知识方法的代表基于单无限域的爬取方法(见文献5,基于Infinite Domain Element方法,简称IDE方法)进行对比实验。如果查询表单接口中包含FMEP,MEP自适应对性能的提升是显著的,如图1(a)为发明方法在“计算机学报”的查询表单上的实验效果图。图中横坐标为查询次数,纵坐标为累计获取记录百分比。图中MEP为发明方法爬取新数据累积曲线,IDE为IDE方法爬取曲线;图1(b)为“西安交通大学学报自然版”查询表单上的实验效果图。为了考察方法在仅含IMEP查询表单的性能进行实验3和4。实验3在“小浣熊”的三个单无限域元素上分别运行了IDE方法,如图1(c),IDE1、IDE2、IDE3分别代表影片名、演员、导演。MEP为本文方法作用在这3个IMEP上的爬取曲线;图1(d)为在“中国开网”上的对比效果,其中IDE1、IDE2、IDE3分别代表作者、出版期刊、标题。
MEP自适应查询算法是基于多模式的,在每次查询时有多个MEP可供选择,每次都选择同一个模式就能退化成单模式,因此文献5中提出的针对单无限域元素的方法只是本发明方法的一个特例,多模式的优势在于能够充分利用各个模式的特性选取关键词来克服“数据孤岛”问题,单模式往往会导致候选词集的局部性,进而导致所获结果的局部性。而多模式可以跨越单模式的选词局部性。例如在蓝莲花实验站点中,我们发现多模式获取的结果可以跨越语种。
为比较发明方法与基于先验知识方法的性能,在“蓝莲花”站点上将MEP自适应方法与经典LVS(见文献1)进行对比实验.实验中,在MEP自适应爬取结束后用关键词中具有较高P(qi)值去更新该关键词对应的LVS表中Mv值,获得了比经典LVS更好的效果,称之为改进LVS。实验结果如图2所示。参照图2所示,可以发现三者效率关系为自适应查询算法>改进的LVS>传统LVS。改进后的LVS方法使得更新后的LVS表具有先验知识更加准确,因此能获得更好的效果,然而由于基于先验知识方法固有的缺陷,其性能依然不如MEP自适应方法。
综上,本发明与无先验知识方法的代表-基于无限域方法以及基于先验知识方法的代表-LVS方法相比,本发明方法具有更高的爬取效率。
Claims (1)
1.一种基于最小可查询模式的Deep Web自适应爬取方法,其特征在于,包含以下步骤:
1)生成目标Deep Web查询表单的最小可查询模式集合Smep,其中查询表单:查询表单是Deep Web的查询接口,可表示为所包含控件元素的集合,即查询表单F={e1,...,en},其中e1为F的控件元素;
可查询模式:给定查询表单F={e1,...,en}, 1≤m≤n,若对{e′1,...,e′m}中至少一个控件元素赋值后进行Deep Web数据库检索能返回检索结果,则称集合{e′1,...,e′m}方F的一个可查询模式;
最小可查询模式:F={e1,...,en}的查询模式{e′1,...,e′m}(1≤m≤n)是最小可查询模式当且仅当{e′1,...,e′m}的任意一个真子集都不是可查询模式,记作MEP(e′1,...e′m);
Smep为表单中的所有最小查询模式MEP(e′1,...,e′m)所构成的集合;
以条件模式CP集合Scp为输入使用MEPGeneration(Scp,Smep)算法生成最小可查询模式集合Smep,其中,条件模式CP包含一个或多个元素,用来表征存在关联的控件元素组合,一个CP可以是一个MEP,但任意真子集无法构成一个MEP,对于非空集合A,μ(A)={A-{x}|x∈A},算法MEPGeneration(Scp,Smep)如下:
Step1:如果μ(Scp)中未包含可查询模式
将Scp加入Smep;
返回;
Step 2:否则对于所有S′cp为查询模式且S′cp∈μ(Scp)
MEPGeneration(S′cp,Smep);
Step 3:返回Smep;
2)添加种子候选查询qi进候选查询集合,候选查询可表示为qi(kv,mepj)其中qi(kv,mepj)为第i次Deep Web查询,该次查询是通过向最小可查询模式mepj提交关键词向量kv实现的,这里,mepj∈SMEP为包含m个控件元素的最小查询模式,kv=(kv1,kv2,…,kvm) 为m维的关键词向量;
3)对最小可查询模式集合中的每个最小可查询模式mepj,预测其模式回报率Pnew(q(mepj)),模式回报率表示最小可查询模式独立于关键词向量选择的获取新记录的回报率,该值取决于查询模式本身Pnew(qi(mepj))按照下面的加权预测方法预测,其特征在于:一个模式的回报率取决于该模式先前回报率的加权之和,按照下式计算:
4)对候选查询集合中的每个候选查询qi(kv,mepj)估计其关键词向量kv对新记录的条件回报率Pnew(qi(kv|mepj)),Pnew(qi(kv|mepj))表示qi在mepj查询模式下使用关键词向量kv查询对新结果的条件回报率,该值取决于给定模式下关键词向量的查询能力,计算方法为:首先在已获得记录集中计算给定模式的关键词向量样本文档频率SampleDF(kv|mep),在此基础上使用SampleDF(kv|mep)预测给定模式的关键词向量对记录的条件回报率P(qi(kv|mepj)),关键词向量kv对新记录的回报率按照下式计算Pnew(qi(kv|mepj))=P(qi(kv|mepj))-P(q1∨...∨qi-1)*SampleDF(kv|mepj),其中P(q1∨...∨qi-1)为前i-1次爬取无重复记录占Deep Web数据库记录的比值,P(qi(kv|mepj))表示关键词向量kv对记录的条件回报率;
5)对于候选查询集合中的查询qi(kv,mepj)计算查询qi对新记录的回报率Pnew(qx(kv,mepj))和提交其所花费的时间代价cost(qi(kv,mepj));
6)提交候选查询集合中效率Efficient(qi)最高的查询qi,下载结果页面,抽取新记录中关键词向量kv和其对应的模式信息mepj的偶对即(kv,mepj),更新候选查询集合,效率Efficient(qi)为查询qi单位代价下获取的新结果所占数据库总记录的比值,即Efficient(qi(kv,mepj))=Pnew(qi(kv,mepj))/cost(qi(kv,mepj));Pnew(qi)可以利用链规则将其改写为:Pnew(qi(kv,mepj))=Pnew(q(mepj))Pnew(qi(kv|mepj)),其中,Pnew(qi)的值由Pnew(q(mepj))于Pnew(qi(kv|mepj))共同决定;代价cost(qi)定义为完成查询qi所需要的时间,由提交查询时间,下载并分析搜索结果时间和下载新文档时间三部分组成,计算公式如下:
cost(qi(kv,mepj))=tq(mepj)+trP(qi(kv,mepj))+tdPnew(qi(kv,mepj))
式中,tq(mepj)是利用mepj查询花费的固有时间,包括提交查询网络传输时间与处理该请求的响应时间;tr为平均处理一条结果记录所花费的时间;td为平均下载一个新页面所花费的时间;S为Deep Web数据库的总记录数,假设从提交模式mepj的HTTP请求开始至收到应答包头的时间为t1,下载包含x个记录的应答包时间为t2,抽取x个记录所花费时间为t3,则tq(mepj)=t1, 此处设定的参数不要求精确,数量级正确即可,对于参数t2与t3不明确的情况tr和td可以使用缺省值tr∈[6.7×10-6,7.8×10-6],td∈[0.05,0.10];
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102325553A CN101419625B (zh) | 2008-12-02 | 2008-12-02 | 一种基于最小可查询模式的Deep Web自适应爬取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102325553A CN101419625B (zh) | 2008-12-02 | 2008-12-02 | 一种基于最小可查询模式的Deep Web自适应爬取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101419625A CN101419625A (zh) | 2009-04-29 |
CN101419625B true CN101419625B (zh) | 2012-11-28 |
Family
ID=40630414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102325553A Expired - Fee Related CN101419625B (zh) | 2008-12-02 | 2008-12-02 | 一种基于最小可查询模式的Deep Web自适应爬取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101419625B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116635A (zh) * | 2013-02-07 | 2013-05-22 | 中国科学院计算技术研究所 | 面向领域的暗网资源采集方法和系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682125B (zh) * | 2012-05-16 | 2014-03-19 | 江苏省现代企业信息化应用支撑软件工程技术研发中心 | 一种基于循环策略的深层网页数据获取方法 |
CN102682119B (zh) * | 2012-05-16 | 2014-03-05 | 崔志明 | 一种基于动态知识的深层网页数据获取方法 |
IN2013MU02853A (zh) * | 2013-09-02 | 2015-07-03 | Tata Consultancy Services Ltd | |
CN103678490B (zh) * | 2013-11-14 | 2017-01-11 | 桂林电子科技大学 | 一种基于Hadoop平台的Deep Web查询接口聚类方法 |
CN105320700A (zh) * | 2014-08-05 | 2016-02-10 | 南京理工大学常熟研究院有限公司 | 一种数据库动态查询表单的生成方法 |
CN106980865B (zh) * | 2016-01-19 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 多条件提取中优化提取性能的方法及装置 |
CN109086450B (zh) * | 2018-08-24 | 2021-08-27 | 电子科技大学 | 一种Web深网查询接口检测方法 |
CN109657131A (zh) * | 2018-12-10 | 2019-04-19 | 中国测绘科学研究院 | 基于检索词与空间范围的深网poi数据获取方法及系统 |
CN109948019B (zh) * | 2019-01-10 | 2021-10-08 | 中央财经大学 | 一种深层网络数据获取方法 |
CN110069635A (zh) * | 2019-04-30 | 2019-07-30 | 秒针信息技术有限公司 | 一种热度词的确定方法及装置 |
-
2008
- 2008-12-02 CN CN2008102325553A patent/CN101419625B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116635A (zh) * | 2013-02-07 | 2013-05-22 | 中国科学院计算技术研究所 | 面向领域的暗网资源采集方法和系统 |
CN103116635B (zh) * | 2013-02-07 | 2015-06-24 | 中国科学院计算技术研究所 | 面向领域的暗网资源采集方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101419625A (zh) | 2009-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101419625B (zh) | 一种基于最小可查询模式的Deep Web自适应爬取方法 | |
US10963794B2 (en) | Concept analysis operations utilizing accelerators | |
US9881080B2 (en) | System for enhancing expert-based computerized analysis of a set of digital documents and methods useful in conjunction therewith | |
EP3534272A1 (en) | Natural language question answering systems | |
Barbosa et al. | Searching for Hidden-Web Databases. | |
Cremaschi et al. | A fully automated approach to a complete semantic table interpretation | |
CN101814067B (zh) | 对自然语言内容中的信息含量进行定量估算的系统和方法 | |
US8732222B2 (en) | Integrating specialized knowledge sources into a general search service | |
CN110929038B (zh) | 基于知识图谱的实体链接方法、装置、设备和存储介质 | |
US10229200B2 (en) | Linking data elements based on similarity data values and semantic annotations | |
AU2017358691A1 (en) | Apparatus and method for semantic search | |
CN102597991A (zh) | 文档分析与关联系统及方法 | |
CN112328891A (zh) | 训练搜索模型的方法、搜索目标对象的方法及其装置 | |
Zhang et al. | Mining a search engine's corpus: efficient yet unbiased sampling and aggregate estimation | |
CN110688474A (zh) | 基于深度学习与链接预测的嵌入表示获得及引文推荐方法 | |
WO2013127951A1 (en) | Method for discovering relevant concepts in a semantic graph of concepts | |
Liu et al. | Domain ontology graph model and its application in Chinese text classification | |
CN113779264A (zh) | 基于专利供需知识图谱的交易推荐方法 | |
Thijs | Using neural-network based paragraph embeddings for the calculation of within and between document similarities | |
CN103020289A (zh) | 一种基于日志挖掘的搜索引擎用户个性化需求提供方法 | |
CN110310012B (zh) | 数据分析方法、装置、设备及计算机可读存储介质 | |
US20040186833A1 (en) | Requirements -based knowledge discovery for technology management | |
US20090265383A1 (en) | System and method for providing image labeling game using cbir | |
CN108733702B (zh) | 用户查询上下位关系提取的方法、装置、电子设备和介质 | |
CN109783650A (zh) | 中文网络百科知识去燥方法、系统及知识库 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121128 Termination date: 20151202 |
|
EXPY | Termination of patent right or utility model |