CN103116635A - 面向领域的暗网资源采集方法和系统 - Google Patents

面向领域的暗网资源采集方法和系统 Download PDF

Info

Publication number
CN103116635A
CN103116635A CN201310049317XA CN201310049317A CN103116635A CN 103116635 A CN103116635 A CN 103116635A CN 201310049317X A CN201310049317X A CN 201310049317XA CN 201310049317 A CN201310049317 A CN 201310049317A CN 103116635 A CN103116635 A CN 103116635A
Authority
CN
China
Prior art keywords
list
query
inquiry
result
page
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.)
Granted
Application number
CN201310049317XA
Other languages
English (en)
Other versions
CN103116635B (zh
Inventor
熊锦华
林海伦
程学旗
张永超
廖华明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201310049317.XA priority Critical patent/CN103116635B/zh
Publication of CN103116635A publication Critical patent/CN103116635A/zh
Application granted granted Critical
Publication of CN103116635B publication Critical patent/CN103116635B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种面向领域的暗网资源采集方法。该方法从抓取的页面中识别与指定领域相关的页面,获取有效表单集合;对于有效表单集合中的每个表单,判断其表单类型并按照不同的表单类型构造有效查询,所述表单类型为单输入项的表单或多输入项的表单;以及输出有效的查询所返回的结果,作为采集的暗网资源。该方法能够实现暗网资源查询接口的自动识别和分类,同时实现简单查询接口和复杂查询接口的查询的有效构造,从而实现暗网资源的采集。该方法不仅能够无缝的集成到现有的搜索引擎当中,而且能够同时进行简单查询接口和复杂查询接口所指向的暗网资源的采集。

Description

面向领域的暗网资源采集方法和系统
技术领域
本发明涉及信息检索,尤其涉及采集暗网资源的方法。
背景技术
随着互联网技术的快速发展,在Internet中出现了很多不同类型的数据库,它们存储的信息数量庞大、质量高,形成了一个巨大的在线信息资源库。这些存储在后台数据库中的信息,它们存储规范统一,有良好的数据结构,并且数据质量高,但是这些数据库大都隐藏在查询接口——表单之后,用户只能通过查询接口键入一系列的关键词提交查询之后才能获取后台数据库的信息。而当前的网络爬虫还不具备自动填写查询接口的能力,因此这些信息无法由网络爬虫通过页面超链接关系直接获取,因此信息不能被搜索引擎索引。这些不能被标准搜索引擎索引的信息资源被称为暗网(Hidden Web)资源或深网(Deep Web)资源。通过搜索引擎无法直接获得这些资源的原因在于搜索引擎采用的爬虫技术是通过超链接关系发现新的Web页面,因此缺乏执行表单查询的能力。然而,相关研究调查结果表明暗网资源是十分重要的:一方面暗网资源比搜索引擎可索引的资源在数量上更大,另一方面暗网资源为用户提供的信息质量更高。如何有效的获取这些高质量的暗网资源已成为一个迫切需要解决的问题。
查询接口(表单)是进入暗网数据源的唯一途径,只有通过往表单中键入查询关键词,才能获取暗网后台数据库的信息。现有的暗网资源采集技术实际上是将隐藏在页面查询接口背后的资源转换为搜索引擎可索引的形式。页面查询接口根据输入项的个数可分为:简单查询接口和复杂查询接口,简单查询接口即为包含一个输入项的表单,复杂查询接口则是包含两个或多个输入项的表单。
目前,暗网资源采集的相关研究主要分为两类:一类是为特定的领域(如汽车、图书等)创建集成的查询接口中介的方法;另一类是为网站的每个查询接口生成一组查询集合的方法。这两类方法中共有的处理过程包括:
(a)在网页中识别暗网资源的查询接口;
(b)根据查询接口进行查询构造;
(c)提交所构造的查询,并基于查询返回的结果来实现暗网资源的采集。
但是这两类方法根据查询接口进行查询构造的方法各不相同。第一种方法本质上是数据集成的解决方法:该方法为每个领域创建一个中介表单(Mediator Form),从而建立每个数据源与中介表单之间的语义映射,使得中介表单上的执行的查询可以转换为对应数据源表单上的查询,实现暗网资源采集。这种方法采用面向领域的思想,虽然可以达到较高的资源覆盖率,但是对一个搜索引擎来说,还是存在很多缺陷:(1)没有考虑同一领域网站设计的差异,难以解决简单查询接口与中介表单之间的语义映射,特别是无法有效抓取单输入项的表单背后所隐藏的暗网资源;(2)维护中介表单及为其准备输入数据工作繁重,导致该方法的扩展性差。
第二种方法则为每个暗网表单计算所有的最相关的查询集合,然后像处理其他静态网页一样离线提取其中的超链接、创建页面索引。这种方法能够充分利用已有的搜索引擎的爬虫技术进行无缝的暗网资源采集。但是,这个方法需要解决的一个至关重要的问题是爬虫如何自动产生最优化的查询以实现有效的暗网资源采集。目前,这种方法通常利用查询接口所在的页面信息构造初始查询集合,利用查询返回的结果动态产生查询集合,采集暗网资源。该方法比较适用于简单查询接口,但是难以对复杂查询接口进行资源采集,原因在于:复杂查询接口包含多个输入项,很难自动确定每个输入项的值域或接受的数据类型,难以建立查询与输入项之间的自动匹配。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种通用的、可扩展的暗网资源采集方法,同时兼容简单查询接口和复杂查询接口的暗网资源采集需求。
本发明的目的是通过以下技术方案实现的:
一方面,根据本发明的一个实施例提供了一种面向领域的暗网资源采集方法,包括:
步骤1,从抓取的页面中识别与指定领域相关的页面,获取有效表单集合;
步骤2,对于有效表单集合中的每个表单,判断其表单类型并按照不同的表单类型构造有效查询,所述表单类型为单输入项的表单或多输入项的表单;
步骤3,输出有效的查询所返回的结果,作为采集的暗网资源。
上述方法中,所述步骤1可包括:
计算页面与指定领域的相关度,并基于所述相关度判断页面是否与指定领域相关;
对于与指定领域相关的页面,提取该页面中包含的表单;
从所提取的表单中过滤掉不可搜索的表单,以获取有效的表单集合。
上述方法中,所述步骤1还包括:
提取与指定领域相关的页面中可能包含表单的链接,基于该链接进一步抓取网页。
上述方法中,对于单输入项的表单,所述步骤2可包括下列步骤:
步骤201,基于领域知识或表单所在页面的内容构造初始的候选查询集合,并为该集合中的每个查询赋予权重;
步骤202,从候选查询集合中选择一组查询进行提交;
步骤203,根据查询返回的结果选择有效的查询;
步骤204,根据有效的查询所返回的结果扩充候选查询集合;
重复执行步骤202、203、204,直到满足终止条件为止。
上述方法中,所述步骤203可包括:
(1)根据查询的返回结果,计算查询的命中率和重叠率,以获取查询提交的收益;
(2)根据查询提交的收益来选择有效的查询;
其中,采用下述公式来计算查询的重叠率、命中率和收益:
查询qi的重叠率OR是在DB上执行该查询返回的结果中与T(i-1,DB)中重复的结果项数占整个查询结果总数的比例,记为: OR ( q i ) = | S ( q i , DB ) ∩ T ( i - 1 , DB ) | | S ( q i , DB ) | , i≥1
其中,DB表示一个暗网数据库包含的资源,qi表示一个查询,S(qi,DB)表示在DB上执行查询qi获取的结果项集合,T(i-1,DB)表示在DB上执行i-1个查询抓取的不同结果项的集合;
查询qi的命中率HR是执行该查询返回的结果中与T(i-1,DB)中不重复的结果项数占整个查询结果总数的比例,记为:
HR ( q i ) = 1 - | S ( q i , DB ) ∩ T ( i - 1 , DB ) | | S ( q i , DB ) |
查询qi的收益B通过查询的命中率或查询的重叠率表示,记为:
B(qi)=H(qi)=1-OR(qi)
上述方法中,所述步骤203还可包括根据查询返回的结果计算候选集合中每个查询的权重,并更新候选查询集合。
上述方法中,对于多输入项的表单,所述步骤2可包括下列步骤:
步骤2a,构造指定领域的领域属性及属性同义词集合,并获取每个领域属性的取值集合,并为每个领域属性赋予权重以指示该领域属性能标识该指定领域的重要程度;
步骤2b,判断该表单是否与该指定领域相关;
步骤2c,对于与指定领域相关的表单,根据该表单的输入项构造维度为1的查询模板,所述维度表示查询模板中包含的输入项的个数;
步骤2d,基于领域属性的取值集合对查询模板中包含的输入项赋值,以确定对于该查询模板的查询集合;
步骤2e,根据查询返回的结果选择有效的查询模板;
步骤2f,基于当前的有效查询模板和表单的输入项,构造下一维度的查询模板;
重复执行步骤2d、2e、2f,直到满足终止条件为止。
上述方法中,所述步骤2b可包括:
根据表单与指定领域的相关度来判断表单是否与指定领域相关;其中,表单与指定领域的相关度通过计算表单每个输入项与该指定领域的领域属性的文本相似度和领域属性的重要程度的乘积的和获得,采用如下公式:
R ( F , D ) = Σ i = 1 k s i w i
其中,R(F,D)为表单F与指定领域D的相似度,k为表单输入项的个数,si为第i个表单输入项和与其匹配的领域属性的文本相似度,用表单输入项与领域属性的编辑距离的倒数计算:
Figure BDA00002829913100043
其中,fi为第i个表单输入项,ai为与表单输入项fi匹配的领域属性,ed(fi,ai)为编辑距离,wi表示ai的领域属性的权重。
上述方法中,所述步骤2b还可包括如果表单包含下拉、单选、复选类型的输入项,则利用这些输入项的取值扩充领域属性的取值集合。
上述方法中,所述步骤2e可包括:
(a)提交为该查询模板所构造的查询集合中的每个查询;
(b)根据查询的返回结果,计算查询模板的命中率和重叠率,以获取查询模板提交的收益;
(c)根据查询模板提交的收益来选择有效的查询模板;
其中,采用下述公式来计算查询模板的重叠率、命中率和收益:
查询模板的重叠率OR(QTi)是在DB上执行该查询模板生成的查询集合返回的结果中与T(i-1,DB)中重复的结果项数占整个查询结果总数的比例,记为:
OR ( Q T i ) = | ∪ j = 1 n S ( q ij , DB ) ∩ T ( i - 1 , DB ) ) | | ∪ j = 1 n S ( q ij , DB ) |
其中,DB表示一个暗网数据库包含的资源,Qi={qi1,qi2,…,qin}表示查询模板QTi生成的查询集合,T(i-1,DB)表示在DB上执行前i-1个查询模板生成的查询集合抓取的不同结果项的集合;
该查询模板的命中率HR(QTi)是执行该查询模板生成的查询集合返回的结果中与T(i-1,DB)中不重复的结果项数占整个查询结果总数的比例,记为:
HR ( Q T i ) = 1 - | ∪ j = 1 n S ( q ij , DB ) ∩ T ( i - 1 , DB ) ) | | ∪ j = 1 n S ( q ij , DB ) |
该查询模板生成的查询集合产生的收益B(QTi)用查询模板的命中率或重叠率表示,记为:
B(QTi)=HR(QTi)=1-OR(QTi)
上述方法中,所述步骤2e还可包括对有效的查询模板的查询集合返回的结果进行属性抽取,以扩充领域属性的取值集合。
又一方面,根据本发明的一个实施例提供了一种面向领域的暗网资源采集系统,所述系统包括:
表单提取模块,用于从抓取的页面中识别与指定领域相关的页面,获取有效表单集合;
表单查询构造模块,用于对于有效表单集合中的每个表单,判断其表单类型并按照不同的表单类型构造有效查询,所述表单类型为单输入项的表单或多输入项的表单;
输出模块,用于输出有效的查询所返回的结果,作为采集的暗网资源。
与现有技术相比,本发明的优点在于:
能够实现暗网资源查询接口的自动识别和分类,同时实现简单查询接口和复杂查询接口的查询的有效构造,从而实现暗网资源的采集。该方法不仅能够无缝的集成到现有的搜索引擎当中,而且能够同时进行简单查询接口和复杂查询接口所指向的暗网资源的采集。该方法能够很容易的扩展到不同类型的暗网资源的采集,同时保证对暗网资源的覆盖。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1是根据本发明实施例的面向领域的暗网资源采集方法的流程图;
图2是根据本发明实施例的获取有效表单集合的流程示意图;
图3是根据本发明实施例的对于单输入项的表单的查询生成流程示意图;
图4是根据本发明实施例的对于多输入项的表单的查询生成流程示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1是根据本发明一个实施例的面向领域的暗网资源采集方法的流程示意图。该方法集成了现有的网络爬虫,通过下面的步骤来采集与某个领域相关的暗网资源:
(1)从抓取的页面中识别与指定领域相关的页面,获取有效表单集合(如图1中步骤100、200和300);
(2)对于有效表单集合中的每个表单,判断其表单类型并按照不同的表单类型构造有效查询,所述表单类型为单输入项的表单或多输入项的表单;(如图1中步骤400)
(3)输出有效的查询结果,作为采集的暗网资源(如图1中步骤500)。
现参考图1,更具体地,页面的抓取主要是通过步骤100和步骤200来完成的。在步骤100,初始化网络爬虫的URL请求队列。例如,可以选取种子链接集合,将种子链接添加到URL请求队列中。在步骤200,由网络爬虫从URL请求队列中选择URL请求并抓取页面。其中网络爬虫可以利用现有的多种网络爬虫软件。
在步骤300,识别与指定领域相关的页面,获取有效表单集合。
其中,页面中的表单可以表示为如下形式:
Form=<name,action,method,helements_set,elements_set>
表单Form由一个元素或多个元素组成,其中,name为该表单的名称,action用于标识响应表单查询将执行查询处理的服务器;method为向服务器发送HTTP请求的方式,有两种方式:get和post,helements_set为表单包含的hidden(隐藏)类型的元素的集合,elements_set为表单包含的对用户可视的元素的集合。
每一个元素(helement或element)可以用如下形式表示:
Element=<label,type,name,default_value,opt_values>
其中,label(标签)为元素在网页中对用户可视的名称信息,用户可以通过label理解该元素所传递的语义信息,label的取值可以为空;type为元素的类型,取值有:text、textarea、radio、checkbox、select、button(submit、reset)、image、file,还有另一类特殊元素:hidden类型,隐藏类型的元素对用户不可视;对radio、checkbox和select类型的元素通常称为list类型元素;name为元素的名称,构成URL的参数;default_value为元素的默认取值,可为空;opt_values表示元素的可用取值范围,可称之为元素的值域。
在一个实施例中,步骤300包括页面分析和表单过滤。首先判断由网络爬虫抓取的页面是否与指定领域相关(例如,与图书领域相关),提取领域相关的页面中的表单,然后过滤掉页面中不可搜索的表单,得到有效的表单集合。例如,在进行表单过滤时,可以分析表单的输入元素类型和个数、表单提交方法和表单中“搜索”关键词的出现,利用这些特征过滤掉不可搜索的表单,如:登录/注册表单、讨论组接口、购物表单、邮件订阅列表等表单,获取有效的表单集合。以图书领域为例,在识别到与图书领域相关的页面时,该页面中可能包含登录表单、购物车表单或是用户评论表单等不可搜索的表单,表单过滤的目的就是把这些不可搜索的表单过滤掉,留下真正的图书搜索表单。
在又一个实施例中,步骤300包括页面分析、表单链接发现和表单过滤。首先判断由网络爬虫抓取的页面是否与指定领域相关,识别领域相关的页面,并提取页面中的链接和表单。然后,识别可能包含表单的链接,将可能包含表单的链接加入URL请求队列中;同时对表单进行过滤,过滤掉页面中不可搜索的表单,得到有效的表单集合。这样,通过网络爬虫可利用页面分析和表单链接发现指导其搜索过程,利用表单过滤消除无用的查询接口,从而识别领域中真正的暗网资源查询接口。
图2给出了根据本发明一个实施例的识别与指定领域相关的页面,获取有效表单集合的流程示意图。如图2所示,步骤300可以包括下列步骤:
步骤301,计算页面与指定领域的相关度。这里的领域是通过领域概念来表示。例如,仍以图书领域为例,它包含的典型的领域概念为出版社、著作者、书名、类别、ISBN、出版时间、版次(如第一版、第二版)等,由这些领域概念构成图书领域的表示。页面与领域的相关度可以根据页面内容采用文本检索和文本挖掘中的相似度计算方法来进行计算。本领域技术人员应理解,页面和领域可以用基于向量空间模型来表示,页面与领域的相似度计算公式可以采用余弦相似度或者Hellinger距离公式。在本实施例中采用余弦相似度公式计算页面与领域的相关度,例如,页面P和领域D之间的相关度通过两者的余弦相似度来计算,采用如下公式:
R ( P , D ) = p &RightArrow; &CenterDot; d &RightArrow; | | p | | &CenterDot; | | d | |
其中,R(P,D)为页面P与领域D的相关度;分别为页面P和领域D的特征向量表示,其中,m表示抽取的领域概念的数目,每一个领域概念作为一个特征项;页面P用特征项集表示,每一个特征项赋予一定的权重表示其重要程度;ti表示页面P包含第i个特征项的词频,作为第i个特征项的权重,如果第i个特征项在页面中不出现,则ti=0;ci表示第i个领域概念(特征项)的权重;||p||和||d||为向量的模: | | p | | = t 1 2 + t 2 2 + &CenterDot; &CenterDot; &CenterDot; + t m 2 , | | d | | = c 1 2 + c 2 2 + &CenterDot; &CenterDot; &CenterDot; + c m 2 .
步骤302,根据R(P,D)判断页面P是否与指定领域D相关;如果R(P,D)小于预先设定的相关度阈值μ,则认为该页面不属于该领域,不对其作处理,其中,0<μ≤1,本实施例中,该阈值μ可以选取为0.5。μ选择的值为1时,表示页面的向量表示和领域的向量表示的两个向量完全重合,夹角为0度,即余弦值为1。这里选择的值的大小可以根据不同的应用要求,有不同的选择。如果R(P,D)大于或等于相关度阈值μ,则认为该页面属于该领域,与该领域相关,并对与领域相关的页面执行下列操作:提取该页面中包含表单的链接并将其加入URL请求队列,以及提取该页面中包含的表单并获取有效表单集合。
其中,所述提取该页面中包含表单的链接并将其加入URL请求队列的操作可包括:
步骤303,提取页面包含的链接;
步骤305,提取链接锚文本、URL、URL周围的文本并计算从父页面到该链接的层次(即从父页面到该链接需要经过几次链接点击),来判断链接是否包含表单。
可以利用锚文本、URL、URL周围的文本和链接层次数作为特征,来判断链接所指的页面是否会包含表单。因为,锚文本和URL中通常包含与领域相关的可搜索表单相同的词,如汽车领域可搜索表单与锚文本或URL通常包含的“搜索”、“二手”、“汽车”等;页面文本是页面是否是领域相关的最好的指示器,如“搜索”、“二手”、“汽车”是在领域相关的所有层次的页面中出现的频率很高的词汇,因此,URL周围的文本对于判断是否可能包含领域相关的表单非常重要;而且,链接的层次越深,领域相关的词出现的频率越低,包含领域可搜索的表单的可能性越低。因此,可以通过上述特征判断链接所指的页面是否会包含表单。更具体,例如可以利用锚文本、URL、URL周围的文本和链接层次数作为特征,选择训练样本和测试样本来建立和训练分类器以此判断链接所指的页面是否会包含表单,这里的分类器可以使用通用的支持向量机模型。其中,关于链接的层次的样本可以通过具有代表性的站点集合之间的连通图获得,也就是可以获取到达包含可搜索表单页面的路径实例集合。
步骤307,将包含表单的链接加入URL请求队列;通过将可能包含表单的链接加入到URL请求队列中,让网络爬虫进一步抓取这些页面,以进一步提取表单,这样就可以尽早地发现该领域中包含表单的页面,识别出暗网资源的查询入口。
所述提取该页面中包含的表单并获取有效表单集合的操作可包括:
步骤304,提取页面包含的表单;
步骤306,提取表单的输入元素类型和个数、表单提交方法和表单中“搜索”关键词的出现,过滤掉不可搜索的表单;
步骤308,获取有效的表单集合。
在步骤400,从所获取的有效的表单结合中选择表单,判断该表单类型为单输入项的表单还是多输入项的表单,并按照不同表单类型构造有效查询。其中,查询接口实际上一种表单,而构造查询实际上是构造对该查询接口的可能的输入项或关键字。
图3给出了根据本发明一个实施例的对于单输入项的表单的查询生成流程示意,包括:
步骤411,基于领域知识或者对表单所在页面的内容进行分词,构造初始的候选查询集合,对每个查询赋予一个权重,表示选择此查询的概率,对初始的候选查询集合中每个查询设置相等的权重(本实施例中为0)。例如,对于单输入项的表单,表示查询接口中只有一个输入框的表单,与谷歌、百度等搜索引擎类似,只有一个输入项。这种查询接口在很多的网站中都可以看得到。这里的初始的候选查询集合是对该单输入项的表单所在的页面中的内容分词之后得到的词的集合。例如,在天空软件下载页面,其包含一个名为“sForm”的单输入项表单,为其构造的初始查询集合包括{迅雷、电驴、快车、QQ、聊天、工具、五笔、搜狗、输入法、浏览器、IE9、淘宝、百度、工具、杀毒、软件、金山、瑞星…….}
步骤412,利用随机策略从初始候选查询集合中选择一组查询进行提交;
步骤413,验证查询的有效性。在上述步骤中所构造的查询并不一定都会有返回结果,例如,有一些可能会返回“没有找到****相关的结果,或是与****相关的检索结果为0条”。而且还存在由两个不同关键词构造的查询,可能返回的结果有很多是重复的,因此需要进行对查询的有效性验证。在一个实施例中,可以根据查询的返回结果,计算查询的命中率和重叠率,获取查询提交的收益,以验证查询的有效性。其中,可以采用下述方式计算查询的命中率、重叠率和收益:
用DB表示一个暗网数据库包含的资源,用qi表示一个查询,用S(qi,DB)表示在DB上执行查询qi获取的结果项集合,用T(i-1,DB)表示在DB上执行i-1个查询抓取的不同结果项的集合。查询qi的重叠率OR是执行该查询返回的结果中与T(i-1,DB)中重复的结果项数占整个查询结果总数的比例,记为:
OR ( q i ) = | S ( q i , DB ) &cap; T ( i - 1 , DB ) | | S ( q i , DB ) | , i≥1
查询qi的命中率HR是执行该查询返回的结果中与玳i-1,DB)中不重复的结果项数占整个查询结果总数的比例,记为:
HR ( q i ) = 1 - | S ( q i , DB ) &cap; T ( i - 1 , DB ) | | S ( q i , DB ) |
查询qi的收益B通过查询的命中率或查询的重叠率表示,记为:
B(qi)=H(qi)=1-OR(qi)
用Q={q1,q2,…,qn}表示候选查询集合,则收益最大的查询记为:
max q i B ( q i ) = max q i &Element; Q { H ( q i ) } = max q i &Element; Q { 1 - OR ( q i ) }
如果查询执行的收益大于预先设定的阈值β则认为该查询是有效的,否则查询无效。
步骤414,判断表单的查询生成是否满足终止条件:单输入项的表单的查询生成过程执行的次数大于预先设定的阈值M(本实施例中为10,000)或候选查询集合为空,或是查询执行的收益小于预先设定的阈值β(本实施例中为0.05),若达到终止条件,则不作处理,终止查询的生成;否则,执行步骤415。
步骤415,提取查询返回的结果,对查询结果进行分词扩充候选查询集合;这里是对有效的查询返回的结果进行分词,有效的查询是经过上述步骤验证通过的。可以把分词的结果放到候选查询集合中,以扩充该候选查询集合。
步骤416,分析查询返回的结果,基于查询的词频、文档频率及查询词本身的词性、词的长度特征计算候选查询集合中每个查询的权重,更新候选查询集合中每个查询的权重。例如,可以使用线性回归分析模型和提取的上述特征对候选查询集合中的每个关键词进行权重更新。更具体地,例如,首先,以查询的词频、文档频率及查询词本身的词性、词的长度作为特征,建立线性回归分析模型,对线性回归分析模型进行训练。建立和训练线性回复分析模型是很统用的机器学习方法。然后,从查询返回的结果中,提取出查询的词频、文档频率及查询词本身的词性、词的长度特征,并根据训练好的线性回归分析模型进行权重计算。
步骤417,选择一组查询进行提交,其中权重较大的候选查询具有较大的被选择的概率;
迭代执行步骤413、414、415、416、417,从而实现单输入项的表单对应的暗网资源的采集。也就是说,在上述步骤的每次执行过程中的有效的查询所返回的结果都可以作为所采集的暗网资源。
与现有技术相比,该方法不仅根据当前状态选择最优查询采集暗网资源,而且利用查询执行的结果作为反馈,动态更新查询集合。可以看出,该方法在利用查询本身的经验之外,还利用查询关键词的特征作为查询选择的依据,保证所选择查询的查询收益。
图4给出了对于多输入项的表单的查询生成的流程示意图,包括:
步骤420,对于所指定的领域,构造领域属性及属性同义词集合。
可以通过分析同一领域的网页表单所包含的属性信息(例如,可以对该领域的多个网页中的表单进行统计),来构造领域属性及其同义词集合,并为每一个领域属性赋予一个权重w(0<w≤1),,通过该权重来表示此属性能标识该领域的重要程度,w越大说明包含该属性的表单与领域相关的程度越大。以图书领域为例,构造的领域属性及属性同义词集合和每个属性的权重如表1所示:
表1
Figure BDA00002829913100121
步骤421,获取领域属性取值集合。
基于上文所构造的领域属性集合,获取属性取值集合。可以通过第三方数据源,诸如维基(Wiki)、开源目录ODP(Open Directory Project)、Yahoo!Directory(雅虎目录)和领域专业目录,获取每个属性的取值集合或值域。例如,通过“书业中国”专业目录,可获得中国出版社的取值集合:{北京大学出版社,北京航空航天大学出版社、北京理工大学出版社、北京体育大学出版社、北京大学医学出版社、北京邮电大学出版社…}等573家出版单位;
步骤422,计算表单与指定领域的相关度。表单与指定领域的相关度是通过计算表单每个输入项与该指定领域的领域属性的文本相似度和领域属性的重要程度的乘积的和获得,采用如下公式:
R ( F , D ) = &Sigma; i = 1 k s i w i
其中,R(F,D)为表单F与指定领域D的相似度,k为表单输入项的个数,wi表示与表单输入项匹配上的领域属性的权重;si为第i个表单输入项和与其匹配上的领域属性的文本相似度,如果不存在领域属性与表单输入项匹配,则该表单输入项与领域属性文本的相似度si=0;如果存在一个领域属性与表单输入项匹配,则用表单输入项与领域属性的编辑距离的倒数来计算表单输入项与领域属性文本的相似度,(编辑距离是指两个字符串之间,由一个转成另一个所需的最少编辑操作次数,许可的编辑操作包括替换、插入、删除),采用如下式子计算si
Figure BDA00002829913100133
其中,fi为第i个表单输入项,ai为与fi匹配上的领域属性,ed(fi,ai)为编辑距离。
步骤423,根据R(F,D)判断表单F是否与指定领域D相关,如果R(F,D)小于相关度阈值λ,表示表单F与领域D不相关,则不作处理,终止表单的查询生成;如果R(F,D)大于或等于λ,则此表单是暗网资源的查询接口,执行步骤424。
其中,λ的取值可以是大于0的任意值,这个值看具体实施时要求领域相关的严格程度,在本实施例中选择为0.9。
步骤424,分析此表单,若表单包含下拉、单选、复选类型的输入项,则利用这些输入项的取值扩充属性的取值集合。例如,当当图书高级搜索对应的表单中的类别选项下面的所有值就可以作为类别属性的取值集合,这些取值与已有的取值进行合并,去除重复的取值,保留不同的取值。
步骤425,根据表单输入项构造查询模板。初始时,构造维度为1的查询模板,即包含一个输入项的查询模板。例如,假设一个表单包含3个输入项,对这三个输入项分别构造一维的查询模板,验证这3个一维的查询模板,判断哪个查询模板有效,然后在有效的模板的基础上组合剩余的输入项,构造维度加1的模板,也就是在一维的模板的基础上组合一个输入项便构造形成了2维的查询模板,接着验证所构造的2维的查询模板,判断哪个查询模板有效,然后在有效的模板基础上继续组合剩余的输入项,构造模板并验证模板有效性,不断重复这些步骤直到所构造的查询模板维度大于等于表单包含的输入项的个数。
步骤426,根据查询模板构造查询集合。利用所获取的属性取值集合对查询模板中包含的输入项赋值,确定输入项的取值集合;若查询模板中包含下拉、单选、复选类型的元素,则利用这些元素本身的取值作为该输入项的取值;若模板的维度大于1,则利用输入项取值的笛卡尔积构造模板对应的查询,以一个二维查询模板QT2={f1,f2}为例,输入项f1的取值集合为{u1,u2,…,un},输入项f2的取值集合为{v1,v2,…,vm},则查询模板生成的查询集合为{<u1,v1,>,<u1,v2>,…,<u1,vm>,…,<un,v1>,<un,v2>,…,<un,vm>};
步骤427,验证查询模板的有效性。
例如,对于步骤426构造的查询集合中的每个查询,提交该查询并根据查询返回的结果,计算查询模板的收益,以验证该查询模板的有效性。在一个实施例中,可以计算查询模板的命中率和重叠率,获取查询模板的收益,以验证查询模板的有效性。这里查询模板的收益是通过该查询模板生成的查询集合的命中率和重叠率来表示;若该查询模板的收益大于预先设定的阈值τ(本实施例中为0.05),则认为该查询模板有效。
在多输入项的表单的查询生成过程中,采用下述方式计算查询模板的命中率、重叠率和收益:
用Qi={qi1,qi2,…,qin}表示查询模板QTi生成的查询集合,T(i-1,DB)表示在DB上执行前i-1个查询模板生成的查询集合抓取的不同结果项的集合。查询模板的重叠率OR(QTi)是执行该查询模板生成的查询集合返回的结果中与T(i-1,DB)中重复的结果项数占整个查询结果总数的比例,记为:
OR ( Q T i ) = | &cup; j = 1 n S ( q ij , DB ) &cap; T ( i - 1 , DB ) ) | | &cup; j = 1 n S ( q ij , DB ) |
该查询模板的命中率HR(QTi)是执行该查询模板生成的查询集合返回的结果中与T(i-1,DB)中不重复的结果项数占整个查询结果总数的比例,记为:
HR ( Q T i ) = 1 - | &cup; j = 1 n S ( q ij , DB ) &cap; T ( i - 1 , DB ) ) | | &cup; j = 1 n S ( q ij , DB ) |
该查询模板生成的查询集合产生的收益B(QTi)用查询模板的命中率或重叠率表示,记为:
B(QTi)=HR(QTi)=1-OR(QTi)
步骤428,对有效的查询模板的查询集合返回的结果进行属性抽取,利用属性值扩充领域属性的取值集合。例如在当当检索图书,返回的结果列表页中有多条记录,每一条记录都会包含出版社:***;作者:***,价格:***;通过抽取这些属性对应的取值来扩充领域属性的取值集合。同时,这些由有效的查询模板的查询集合返回的结果可以作为所采集的暗网资源。
步骤429,判断表单的查询生成是否满足终止条件:多输入项的表单的查询生成中构造的模板的维度数大于预先设定的阈值d(本实施例中为3)或查询模板构造的查询无法增加暗网资源采集的收益,则终止查询的生成;否则,基于当前有效的模板,构造下一维度的查询模板(即返回到步骤425),也就是在构造维度加1的模板,这个增加的一维是在查询接口中剩余的元素中选择的,然后组合在当前有效的模板上,构成大一维的模板。
重复执行步骤425、426、427、428、429,生成多输入项的表单的查询集合,直至查询模板的维度满足终止条件为止或查询模板构造的查询无法增加暗网资源采集的收益为止。在上述步骤的执行过程中所得到的所有由有效的查询模板的查询集合返回的结果就是所采集的暗网资源。
与现有工作相比,上述对于多输入项的表单的查询构造,充分利用领域信息自动匹配多输入项的表单,不用分析和确定表单输入项所接受的数据类型和取值要求,通过第三方提供的资源和对查询返回的结果进行属性抽取就可以简单实现表单输入项的取值的确定,并且结合查询模板的思想简化多输入项的表单的查询生成。
根据本发明的一个实施例,提供了一种面向领域的暗网资源采集系统,所述系统包括:表单提取模块、表单查询构造模块和输出模块。其中,表单提取模块根据上文所述的方法从抓取的页面中识别与指定领域相关的页面,获取有效表单集合。表单查询构造模块对于有效表单集合中的每个表单,根据上文所述的方法判断其表单类型并按照不同的表单类型构造有效查询,所述表单类型为单输入项的表单或多输入项的表单。输出模块输出所有的有效的查询返回的结果,作为采集的暗网资源。
通过上述本发明具体实施例,能够根据指定的领域,自动进行候选查询集合的构造:对单输入项的表单,在没有领域知识的情况下通过表单所在页面的内容作为初始种子候选查询集合,通过查询返回的结果不断扩展候选查询集合,实现以最小的代价采集暗网资源;对多输入项的表单,构建领域属性集合,通过第三方资源和查询返回的结果自动构建领域知识库,生成高质量的查询。该方法不仅能够无缝的集成到现有的搜索引擎当中,而且能够同时进行简单查询接口和复杂查询接口所指向的暗网资源的采集。除此之外,基于领域的设计,该方法能够很容易的扩展到不同类型的暗网资源的采集,同时保证对暗网资源的覆盖。
虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。

Claims (12)

1.一种面向领域的暗网资源采集方法,所述方法包括: 
步骤1,从抓取的页面中识别与指定领域相关的页面,获取有效表单集合; 
步骤2,对于有效表单集合中的每个表单,判断其表单类型并按照不同的表单类型构造有效查询,所述表单类型为单输入项的表单或多输入项的表单; 
步骤3,输出有效的查询所返回的结果,作为采集的暗网资源。 
2.根据权利要求1所述的方法,所述步骤1包括: 
计算页面与指定领域的相关度,并基于所述相关度判断页面是否与指定领域相关; 
对于与指定领域相关的页面,提取该页面中包含的表单; 
从所提取的表单中过滤掉不可搜索的表单,以获取有效的表单集合。 
3.根据权利要求2所述的方法,所述步骤1还包括: 
提取与指定领域相关的页面中可能包含表单的链接,基于该链接进一步抓取网页。 
4.根据权利要求1所述的方法,对于单输入项的表单,所述步骤2包括下列步骤: 
步骤201,基于领域知识或表单所在页面的内容构造初始的候选查询集合,并为该集合中的每个查询赋予权重; 
步骤202,从候选查询集合中选择一组查询进行提交; 
步骤203,根据查询返回的结果选择有效的查询; 
步骤204,根据有效的查询所返回的结果扩充候选查询集合; 
重复执行步骤202、203、204,直到满足终止条件为止。 
5.根据权利要求4所述的方法,所述步骤203包括: 
(1)根据查询的返回结果,计算查询的命中率和重叠率,以获取查询提交的收益; 
(2)根据查询提交的收益来选择有效的查询; 
其中,采用下述公式来计算查询的重叠率、命中率和收益: 
查询qi的重叠率OR是在DB上执行该查询返回的结果中与T(i-1,DB)中重复的结果项数占整个查询结果总数的比例,记为: 
Figure FDA00002829913000021
i≥1 
其中,DB表示一个暗网数据库包含的资源,qi表示一个查询,S(qi,DB)表示在DB上执行查询qi获取的结果项集合,T(i-1,DB)表示在DB上执行i-1个查询抓取的不同结果项的集合; 
查询qi的命中率HR是执行该查询返回的结果中与T(i-1,DB)中不重复的结果项数占整个查询结果总数的比例,记为: 
Figure FDA00002829913000022
查询qi的收益B通过查询的命中率或查询的重叠率表示,记为: 
B(qi)=H(qi)=1-OR(qi) 。
6.根据权利要求4或5所述的方法,所述步骤203还包括根据查询返回的结果计算候选集合中每个查询的权重,并更新候选查询集合。 
7.根据权利要求1所述的方法,对于多输入项的表单,所述步骤2包括下列步骤: 
步骤2a,构造指定领域的领域属性及属性同义词集合,并获取每个领域属性的取值集合,并为每个领域属性赋予权重以指示该领域属性能标识该指定领域的重要程度; 
步骤2b,判断该表单是否与该指定领域相关; 
步骤2c,对于与指定领域相关的表单,根据该表单的输入项构造维度为1的查询模板,所述维度表示查询模板中包含的输入项的个数; 
步骤2d,基于领域属性的取值集合对查询模板中包含的输入项赋值,以确定对于该查询模板的查询集合; 
步骤2e,根据查询返回的结果选择有效的查询模板; 
步骤2f,基于当前的有效查询模板和表单的输入项,构造下一维度的查询模板; 
重复执行步骤2d、2e、2f,直到满足终止条件为止。 
8.根据权利要求7所述的方法,所述步骤2b包括: 
根据表单与指定领域的相关度来判断表单是否与指定领域相关;其中,表单与指定领域的相关度通过计算表单每个输入项与该指定领域的领域属性的文本相似度和领域属性的重要程度的乘积的和获得,采用如下公式: 
Figure FDA00002829913000031
其中,R(F,D)为表单F与指定领域D的相似度,k为表单输入项的个数,si为第i个表单输入项和与其匹配的领域属性的文本相似度,用表单输入项与领域属性的编辑距离的倒数计算:
Figure FDA00002829913000032
其中,fi为第i个表单输入项,ai为与表单输入项fi匹配的领域属性,ed(fi,ai)为编辑距离,wi表示ai的领域属性的权重。 
9.根据权利要求7或8所述的方法,所述步骤2b还包括如果表单包含下拉、单选、复选类型的输入项,则利用这些输入项的取值扩充领域属性的取值集合。 
10.根据权利要求7所述的方法,所述步骤2e包括: 
(a)提交为该查询模板所构造的查询集合中的每个查询; 
(b)根据查询的返回结果,计算查询模板的命中率和重叠率,以获取查询模板提交的收益; 
(c)根据查询模板提交的收益来选择有效的查询模板; 
其中,采用下述公式来计算查询模板的重叠率、命中率和收益: 
查询模板的重叠率OR(QTi)是在DB上执行该查询模板生成的查询集合返回的结果中与T(i-1,DB)中重复的结果项数占整个查询结果总数的比例,记为: 
Figure FDA00002829913000033
其中,DB表示一个暗网数据库包含的资源,Qi={qi1,qi2,…,qin}表示查询模板QTi生成的查询集合,T(i-1,DB)表示在DB上执行前i-1个查询模板生成的查询集合抓取的不同结果项的集合; 
该查询模板的命中率HR(QTi)是执行该查询模板生成的查询集合返回的结果中与T(i-1,DB)中不重复的结果项数占整个查询结果总数的比例,记为: 
Figure FDA00002829913000041
该查询模板生成的查询集合产生的收益B(QTi)用查询模板的命中率或重叠率表示,记为: 
B(QTi)=HR(QTi)=1-OR(QTi) 。
11.根据权利要求7或10所述的方法,所述步骤2e还包括对有效的查询模板的查询集合返回的结果进行属性抽取,以扩充领域属性的取值集合。 
12.一种面向领域的暗网资源采集系统,所述系统包括: 
表单提取模块,用于从抓取的页面中识别与指定领域相关的页面,获取有效表单集合; 
表单查询构造模块,用于对于有效表单集合中的每个表单,判断其表单类型并按照不同的表单类型构造有效查询,所述表单类型为单输入项的表单或多输入项的表单; 
输出模块,用于输出有效的查询所返回的结果,作为采集的暗网资源。 
CN201310049317.XA 2013-02-07 2013-02-07 面向领域的暗网资源采集方法和系统 Active CN103116635B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310049317.XA CN103116635B (zh) 2013-02-07 2013-02-07 面向领域的暗网资源采集方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310049317.XA CN103116635B (zh) 2013-02-07 2013-02-07 面向领域的暗网资源采集方法和系统

Publications (2)

Publication Number Publication Date
CN103116635A true CN103116635A (zh) 2013-05-22
CN103116635B CN103116635B (zh) 2015-06-24

Family

ID=48415008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310049317.XA Active CN103116635B (zh) 2013-02-07 2013-02-07 面向领域的暗网资源采集方法和系统

Country Status (1)

Country Link
CN (1) CN103116635B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281693A (zh) * 2014-10-13 2015-01-14 安徽华贞信息科技有限公司 一种语义搜索方法及系统
CN105138561A (zh) * 2015-07-23 2015-12-09 中国测绘科学研究院 一种暗网空间数据采集方法及装置
CN108733647A (zh) * 2018-04-13 2018-11-02 中山大学 一种基于高斯分布的词向量生成方法
CN108829792A (zh) * 2018-06-01 2018-11-16 成都康乔电子有限责任公司 基于scrapy的分布式暗网资源挖掘系统及方法
CN108874943A (zh) * 2018-06-04 2018-11-23 上海交通大学 一种基于长短期记忆神经网络的暗网资源探测系统
CN109657131A (zh) * 2018-12-10 2019-04-19 中国测绘科学研究院 基于检索词与空间范围的深网poi数据获取方法及系统
CN109902212A (zh) * 2019-01-25 2019-06-18 中国电子科技集团公司第三十研究所 一种自定义动态扩展的暗网爬虫系统
CN109948019A (zh) * 2019-01-10 2019-06-28 中央财经大学 一种深层网络数据获取方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101419625B (zh) * 2008-12-02 2012-11-28 西安交通大学 一种基于最小可查询模式的Deep Web自适应爬取方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101419625B (zh) * 2008-12-02 2012-11-28 西安交通大学 一种基于最小可查询模式的Deep Web自适应爬取方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
宋博洋: "基于主题爬行和本体发现特定领域深度网入口的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
李道申等: "基于本体的 Deep Web 数据源发现方法", 《计算机工程》 *
钱程等: "Deep Web查询接口研究", 《计算机与现代化》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281693A (zh) * 2014-10-13 2015-01-14 安徽华贞信息科技有限公司 一种语义搜索方法及系统
CN105138561A (zh) * 2015-07-23 2015-12-09 中国测绘科学研究院 一种暗网空间数据采集方法及装置
CN105138561B (zh) * 2015-07-23 2018-11-27 中国测绘科学研究院 一种暗网空间数据采集方法及装置
CN108733647A (zh) * 2018-04-13 2018-11-02 中山大学 一种基于高斯分布的词向量生成方法
CN108733647B (zh) * 2018-04-13 2022-03-25 中山大学 一种基于高斯分布的词向量生成方法
CN108829792A (zh) * 2018-06-01 2018-11-16 成都康乔电子有限责任公司 基于scrapy的分布式暗网资源挖掘系统及方法
CN108874943A (zh) * 2018-06-04 2018-11-23 上海交通大学 一种基于长短期记忆神经网络的暗网资源探测系统
CN108874943B (zh) * 2018-06-04 2021-10-22 上海交通大学 一种基于长短期记忆神经网络的暗网资源探测系统
CN109657131A (zh) * 2018-12-10 2019-04-19 中国测绘科学研究院 基于检索词与空间范围的深网poi数据获取方法及系统
CN109948019A (zh) * 2019-01-10 2019-06-28 中央财经大学 一种深层网络数据获取方法
CN109902212A (zh) * 2019-01-25 2019-06-18 中国电子科技集团公司第三十研究所 一种自定义动态扩展的暗网爬虫系统

Also Published As

Publication number Publication date
CN103116635B (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
CN103116635B (zh) 面向领域的暗网资源采集方法和系统
CN100440224C (zh) 一种搜索引擎性能评价的自动化处理方法
JP4936401B2 (ja) ナビゲーションパス情報に基づく主題関連ウェブページのフィルタリング方法およびシステム
US8200617B2 (en) Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata
CN102831199B (zh) 建立兴趣模型的方法及装置
CN111708740A (zh) 基于云平台的海量搜索查询日志计算分析系统
CN106095979B (zh) Url合并处理方法和装置
CN103544255A (zh) 基于文本语义相关的网络舆情信息分析方法
CN104035972B (zh) 一种基于微博的知识推荐方法与系统
CN101908071A (zh) 一种提高搜索引擎搜索效率的方法及其系统
CN103023714A (zh) 基于网络话题的活跃度与集群结构分析系统及方法
Gupta et al. A review on search engine optimization: Basics
CN105069112A (zh) 一种行业垂直搜索引擎系统
KR100954842B1 (ko) 카테고리 태그 정보를 이용한 웹 페이지 분류 방법, 그 시스템 및 이를 기록한 기록매체
CN101661490B (zh) 搜索引擎、其客户端及搜索网页的方法
CN107491465A (zh) 用于搜索内容的方法和装置以及数据处理系统
KR100671077B1 (ko) 페이지 묶음을 이용한 정보 검색 서비스 제공 서버, 방법및 시스템
KR20050070955A (ko) 과학기술 정보분석 방법 및 그 방법에 대한 컴퓨터프로그램을 저장한 기록매체
CN103942204A (zh) 用于挖掘意图的方法和设备
CN114238735B (zh) 一种互联网数据智能采集方法
CN105159899B (zh) 一种搜索的方法和装置
CN103514237A (zh) 一种获取用户和文档个性化特征的方法和系统
CN101923548A (zh) 一种互联网信息搜索方法及一种搜索引擎
Jalal et al. A web content mining application for detecting relevant pages using Jaccard similarity
Stuart Chapter 8 FOAF Within UK Academic Web Space: A Webometric Analysis of the Semantic Web

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130522

Assignee: Branch DNT data Polytron Technologies Inc

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2018110000033

Denomination of invention: Field-oriented method and system for collecting invisible web resources

Granted publication date: 20150624

License type: Common License

Record date: 20180807