首页> 中国专利> 一种基于Web页面的大规模数据生成方法及系统

一种基于Web页面的大规模数据生成方法及系统

摘要

本发明公开了一种基于Web页面的大规模数据生成方法,通过将原始小规模种子网页按长度分类的方式,依据原始网页的长度和词频信息生成大规模的文本数据,入出度生成和URL赋值,则根据原始种子页面中每类页面的入出度的条件概率计算生成网页的入出度值,利用已有入出度值向网页中插入URL,使得在生成的数据中,入度的总和是等于出度的总和。通过提取小规模的真实数据的特征来生成大规模的相对真实可靠的数据来提供给数据中心的应用,从而使得到的研究结果有更加真实。

著录项

  • 公开/公告号CN103678495A

    专利类型发明专利

  • 公开/公告日2014-03-26

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN201310576331.5

  • 申请日2013-11-18

  • 分类号G06F17/30(20060101);

  • 代理机构11006 北京律诚同业知识产权代理有限公司;

  • 代理人祁建国;梁挥

  • 地址 100190 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-12-17 00:55:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-12

    授权

    授权

  • 2014-04-23

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20131118

    实质审查的生效

  • 2014-03-26

    公开

    公开

说明书

技术领域

本发明涉及页面入出度统计和web页面的数据生成,尤其涉及一种基于Web页面的大规模数据生成方法。 

背景技术

随着互联网、物联网技术的快速发展和数字信息的急速膨胀,数据中心存储的数据量越来越大。数据中心的应用的主要目的是从海量数据中获取信息,并将这些信息提供给用户。这就体现出来数据中心计算的核心就是数据。而大量的应用围绕着web页面数据,如Search、Index、bayes等,在这里数据的主要用途是用来测试一些算法的计算性能,和作为benchmark时处理数据得到的结果来分析一个系统的性能。同时如果想获得大规模的真实数据需要大量的人力、物力还有时间,这样就会浪费很多的资源。有些大公司拥有大量的真实web页面,如google、baidu等,而大公司由于商业价值的原因不会公开大规模真实的web页面数据。对于一些新兴的公司想对基于网页应用进行研发而得不到大量的真实数据,这样将使得研发结果受限。 

现有生成web网页的方法有随机生成,如hadoop example里面的sort、wordcount等;概率模型生成,如HiBench采用的Zipf分布;和拷贝复制数据这几种方法。而web网页的基本构成是一些文字和URL的交织体。网页中的URL和文字存在着一些特有的关系:如导航、Index页面,存有大量的URL和少量文字。而如博客这种类型的网页则是相对文字较多,而URL较少。用现有的方法来生成这样的web网页往往会存在很多的问题,如采用完全随机生成的网页数据将会破坏数据内容的真实性,这样就不适用于页面处理的应用,如搜索引擎;随机生成和概率模型生成的数据脱离了真实数据的内在规律性,不能体现正常网页中出入度的关联。而简单的复制拷贝的网页群之间不会有链接,会出现孤岛。图1为复制拷贝出现的孤岛现象图,通过原始的四个网页来生成数据,使用拷贝出来的大规模数据,而拷贝出来的数据之间不存在链接,都是 以四个网页原有的连接为模型来生成的一块一块的数据,这就出现了孤岛,而且每一块数据之间的连接都是和原始网页相同的。 

可见,使用随机生成的大规模数据来进行相关的实验研究得到的结果不是很有说服力,现有的方法来生成大规模的真实性数据存在孤岛等问题,生成后用来做研究得到的实验结果就会存在真实性问题。 

发明内容

为了解决上述技术问题,本发明的目的在于提出了一种基于小规模真实数据生成大规模数据的方法及系统,解决在对数据中心应用进行研究时,所使用的数据的真实性问题。 

具体地说,本发明公开了一种基于Web页面的大规模数据生成方法,通过将原始小规模种子网页按长度分类的方式,依据原始网页的长度和词频信息生成大规模的文本数据,入出度生成和URL赋值,则根据原始种子页面中每类页面的入出度的条件概率计算生成网页的入出度值,利用已有入出度值向网页中插入URL,使得在生成的数据中,入度的总和是等于出度的总和。 

所述的基于Web页面的大规模数据生成方法,包括如下步骤: 

步骤S1、统计种子页面信息包括文本信息和URL信息; 

步骤S11、统计文本长度给种子页面分类: 

统计种子网页中的文本长度是将文档按长度进行分类,计算每一类出现的概率P(k):P(k)=k类中网页的总数量/种子网页总数量。 

步骤S12、统计种子页面中文本中的词频: 

统计种子页面中出现词的概率是统计每个词在整个种子网页中出现的概率P(w),概率P(w)=词w出现的总数/种子网页中所有词的总个数。 

步骤S13、统计种子页面中URL的入出度条件概率: 

统计在特定文档长度下的入出度条件概率时,首先去除种子网页中的死链,然后在统计每一个类网页中的入度和出度的条件概率P(d|k)。 

步骤S2、根据种子页面信息生成web页面。 

步骤S21、根据分析得到的概率P(k)生成每个类中页面的数量,用每一类的P(k)乘以要生成的网页总数,来获得每个类别中应生成的网页数,按照概率模型可以获得每一类中特定长度的网页数量; 

步骤S22、根据分析得到的概率P(w)生成符合网页长度的内容,通过按每个词在种子页面中出现的概率生成词,然后注入到将生成的网页中; 

步骤S23、根据分析得到的概率P(d|k)向网页中添加URL;在每一类中根据P(d|k)给每个网页赋入出度的值,再根据这个入出度的值产生相应的URL,在添加URL的时候如果没有满足入出度条件则返回继续添加,直到满足条件时即可。 

所述的基于Web页面的大规模数据生成方法,其特征在于,向网页之间添加URL包括如下步骤: 

当添加到某一ID号的现有入出度信息和应有入出度信息相同时,就把这一ID号的网页入出度情况从这个数据结构结果中删除,则表示添加的入出度已完成; 

寻找存在表格中没有删除的信息继续添加,直到数据结构中没有存在的信息则表示全部的入出度添加结束。 

本发明还公开了一种基于Web页面的大规模数据生成系统,包括: 

统计模块,用于统计种子页面信息包括文本信息和URL信息; 

页面生成模块,用于根据种子页面信息生成web页面。 

所述的基于Web页面的大规模数据生成系统,统计模块包括: 

分类计算模块,用于统计文本长度给种子页面分类,统计种子网页中的文本长度是将文档按长度进行分类,计算每一类出现的概率P(k):P(k)=k类中网页的总数量/种子网页总数量; 

词频统计模块,用于统计种子页面中出现词的概率是统计每个词在整个种子网页中出现的概率P(w),概率P(w)=词w出现的总数/种子网页中所有词的总个数; 

入出度条件概率统计模块,用于统计在特定文档长度下的入出度条件概率时,首先去除种子网页中的死链,然后在统计每一个类网页中的入度和出度的条件概率P(d|k)。 

所述的基于Web页面的大规模数据生成系统,页面生成模块包括: 

网页数量模块,用于根据分析得到的概率P(k)生成每个类中页面的数量,用每一类的P(k)乘以要生成的网页总数,来获得每个类别中应生成的网页数,按照概率模型可以获得每一类中特定长度的网页数量; 

注入模块,用于根据分析得到的概率P(w)生成符合网页长度的内容,通过按每个词在种子页面中出现的概率生成词,然后注入到将生成的网页中; 

添加模块,用于根据分析得到的概率P(d|k)向网页中添加URL;在每一类中根据P(d|k)给每个网页赋入出度的值,再根据这个入出度的值产生相应的URL,在添加URL的时候如果没有满足入出度条件则返回继续添加,直到满足条件。 

综上,用现有的方法来生成的数据对研究基于网页的应用和评价数据中心系统而言,得到的结果会存在问题,本发明使用真实小规模数据来生成大规模的相对真实可靠的数据来提供给数据中心的应用,从而使得到的研究结果有更加真实。通过提取小规模的真实数据的特征,进而基于获得的特征来生成大规模的数据。 

附图说明

图1为现有技术的复制拷贝出现的孤岛现象图; 

图2为本发明大数据网页生产; 

图3为通过种子页面的信息生成大规模数据流程图; 

图4来说明入出度的URL添加过程。 

具体实施方式

本发明数据生成方法是通过将原始小规模种子网页按长度分类的方式,依据原始网页的长度和词频信息生成大规模的文本数据,入出度生成和URL赋值法则是根据原始种子页面中每类页面的入出度的条件概率计算生成网页的入出度值,利用已有入出度值向网页中插入URL。 

详细步骤如下: 

步骤S1、统计种子页面信息 

种子页面为能够获得的小规模真实web页面,基本信息为文本信息和URL信息。文本信息需要统计文本中每个词的词频和文本的总长度,URL的信息需要统计入出度信息,其中入度为指向本网页的URL个数x,出度信息为指向其他网页的URL个数y,理想状态下生成的大规模数据,它的总入度数应该和总出度数是相等的。 

对种子页面的统计过程如下: 

步骤S11、统计文本长度给种子页面分类P(k) 

统计种子网页中的文本长度是将文档按长度进行分类,计算每一类出现的概率P(k)。这里对网页的长度分类是因为有的网页如导航网页,它们的文字很少URL却很多,还有就如博客这类网页,它们的URL很少但文字很多,所以通过对文本的长度来进行分类,来模拟这种真实生活中的现象。而这里的概率P(k)计算方法如下: 

P(k)=k类中网页的总数量/种子网页总数量。 

比如:网页的文本长度是在100到100000个词间,根据这些网页后开始统计它们的基本信息。 

按照网页的文本长度来进行分类,把所有的种子网页分为10类: 

100-10000词为类别1; 

10001-20000词为类别2; 

…… 

90001-100000为类别10。 

再计算每个类别在所有的种子页面中出现的概率P(k) 

步骤S12、统计种子页面中文本中的词频P(w) 

统计种子页面中出现词的概率是统计每个词在整个种子网页中出现的概率P(w),概率P(w)=词w出现的总数/种子网页中所有词的总个数。 

步骤S13、统计种子页面中URL的入出度条件概率P(d|k) 

统计在特定文档长度下的入度和出度条件概率时,首先去除种子网页中的死链也就是链接出去的URL不在指向种子页面。然后在统计每一个类网页中的入度和出度的条件概率P(d|k),这里的概率P(d|k)中d为一个2元组的入出度统计信息,其中入度rd=x、出度cd=y则d=(x,y),k代表的是这一类网页,则概率P(d|k)=k类网页中入出度情况为d的页数/k类网页的总页数,这就表示为入出度为d的网页在k类网页中所出现的概率。 

例如P((2,1)|k)=0.2这个表示的就是k类中入度为2,出度为1的网页占k类网页总量的20%。 

对种子页面的基本信息已经统计结束,收集统计得到的相应数据,包括每一类文档出现的概率、每个词出现的概率和对应每一类网页中入出度的概率, 通过这些基本信息生成大规模网页数据。 

步骤2:根据种子页面生成web页面。 

根据对种子页面分析所得到的相关信息来生成大规模的数据,根据种子页面的数据分析首先生成与词频和文档长度相对应的文本,然后再根据种子页面数据的出入度概率向生成的网页中添加URL。图3为通过种子页面的信息生成大规模数据流程图。 

完成生成的大规模页面包括: 

步骤S21、根据分析得到的概率P(k)生成每个类中页面的数量。用每一类的P(k)乘以要生成的网页总数,来获得每个类别中应生成的网页数。按照概率模型可以获得每一类中特定长度的网页数量。 

将要生成的网页数量乘以种子网页中的概率P(k),计算出每类网页的个数。在每类中按照正态分布计算出每个文档的长度,这里均值采用的是每类中文档长度的均值,方差采用标准正态分布的方差。 

步骤S22、根据分析得到的概率P(w)生成符合网页长度的内容。通过按每个词在种子页面中出现的概率生成词,然后注入到将生成的网页中。 

向生成的网页中出入词语。按照词频P(w)生成特定长度的文档,在每个文档中生成指定个数的词,这些词的频率满足原始页面中每个词出现的概率 

步骤S23、根据分析得到的概率P(d|k)向网页中添加URL。在每一类中根据P(d|k)给每个网页赋入度和出度的值,再根据这个入出度的值产生相应的URL。在添加URL的时候如果没有满足入出度条件则返回继续添加,直到满足条件时即可。 

按照P(d|k)向已生成的网页中注入URL。这里给每个类别中的网页添加入出度,入出度满足类中的入出度的概率P(d|k)。然后开始在任意一个网页中添加URL,然后追踪没有满足入出度条件的网页,继续生成即可。 

在向页面中注入ULR时,采用下表数据结构来保存网页的状态: 

网页的ID 应有入出度 现有入出度      

每个数据结构包含三项(网页ID,应有入出度,现有入出度),根据这个数据结构向网页之间添加URL,当添加到某一ID号的现有入出度信息和应有入出度信息相同时,就把这一ID号的网页入出度情况从这个数据结构结果中 删除,则表示添加的入出度已完成,接下来继续寻找存在表格中没有删除的信息继续添加,直到数据结构中没有存在的信息则表示全部的入出度添加结束。在生成的数据中入度的总和是等于出度的总和,如果不满足那就说明出现了死链(即孤岛)。 

下面通过图4A、4B、4C、4D来说明入出度的添加过程: 

应有入出度是没有添加时通过计算得到的,而通过应有入出度可以明确要添加的入出度。然后,通过现有的入出度情况,来添加需要的入出度,使最后添加的结果和应有的入出度相同,这样添加的过程即完成。 

首先,选取4个网页来添加入出度,分配给每个网页一个ID号(一号、二号、三号、四号),图4A,同时对添加的结果根据对种子页面的信息统计事先计算好。 

假定通过计算得到的四个网页的应有入出度分别为(0,2)(2,1)(1,0)(1,1),添加入出度(相应的URL)以满足应有入出度。 

表一 

网页的ID 应有入出度 现有入出度 (0,2)   (2,1)   (1,0)   (1,1)  

其次,添加相应的URL。 

先对一号网页添加URL指向二号和四号网页,图4B,得到一号网页的入出度为(0,2),与应有入出度信息(0,2)相比,可见,两者相同,则把这一行的信息删除,得到如下表二: 

网页的ID 应有入出度 现有入出度 (2,1) (1,0) (1,0) (0,0) (1,1) (1,0)

此时,二号和四号网页的现有入出度均为(1,0),根据表一,二号应有入出度为(2,1)和四号应有入出度为(1,1),可见,二号和四号网页不满足条件,二号缺少入出度各一条而四号网页缺少出度一条,那么,对二号网页添加URL指向三号,见图4C。 

从得到的结果可看出,三号网页的现有入出度满足条件为(1,0),则把三号网页的信息从表格中删除,得到如下表三: 

网页的ID 应有入出度 现有入出度 (2,1) (1,1) (1,1) (1,0)

可见,二号现有入出度为(1,1)和四号现有入出度为(1,0),网页还是没有满足表一。 

然后,对四号网页添加URL指向二号网页,见图4D,完成后,二号和四号网页的现有入出度信息和应有入出度信息相同,则删除二号和四号网页在表格中的信息,得到表四: 

网页的ID 应有入出度 现有入出度        

这时表格中没有可以找到的信息,就说明添加的入出度已经完成。 

最后,得到的网页入出度分别为:一号(0,2)、二号(2,1)、三号(1,0)、四号(1,1)。这样入出度的添加工作已完成。 

通过上述步骤就可以根据一个小规模的真实数据来生成大规模的web页面数据,相对已有的生成方法,这样生成的数据更具有代表性。 

本发明的方法生成的网页数据,和现有技术通过拷贝生成的数据的区别可以通过图1、图2比较得到。通过原始的四个网页来生成数据,在图1为使用拷贝出来的大规模数据,而拷贝出来的数据之间不存在链接,都是以四个网页原有的连接为模型来生成的一块一块的数据,这就出现了孤岛,而且每一块数据之间的连接都是和原始网页相同的。而图2为通过本发明的方法来生成的大规模数据,生成的数据之间都可以通过链接连接上,几乎不会存在孤岛,而且数据间的链接不像拷贝出来的那样和原始数据相同。使用随机生成的大规模数据来进行相关的实验研究得到的结果不是很有说服力。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号