一种基于Web页面的大规模数据生成方法及系统的制作方法
【专利摘要】本发明公开了一种基于Web页面的大规模数据生成方法,通过将原始小规模种子网页按长度分类的方式,依据原始网页的长度和词频信息生成大规模的文本数据,入出度生成和URL赋值,则根据原始种子页面中每类页面的入出度的条件概率计算生成网页的入出度值,利用已有入出度值向网页中插入URL,使得在生成的数据中,入度的总和是等于出度的总和。通过提取小规模的真实数据的特征来生成大规模的相对真实可靠的数据来提供给数据中心的应用,从而使得到的研究结果有更加真实。
【专利说明】一种基于Web页面的大规模数据生成方法及系统
【技术领域】
[0001]本发明涉及页面入出度统计和web页面的数据生成,尤其涉及一种基于Web页面的大规模数据生成方法。
【背景技术】
[0002]随着互联网、物联网技术的快速发展和数字信息的急速膨胀,数据中心存储的数据量越来越大。数据中心的应用的主要目的是从海量数据中获取信息,并将这些信息提供给用户。这就体现出来数据中心计算的核心就是数据。而大量的应用围绕着web页面数据,如Search、Index、bayes等,在这里数据的主要用途是用来测试一些算法的计算性能,和作为benchmark时处理数据得到的结果来分析一个系统的性能。同时如果想获得大规模的真实数据需要大量的人力、物力还有时间,这样就会浪费很多的资源。有些大公司拥有大量的真实web页面,如google、baidu等,而大公司由于商业价值的原因不会公开大规模真实的web页面数据。对于一些新兴的公司想对基于网页应用进行研发而得不到大量的真实数据,这样将使得研发结果受限。
[0003]现有生成web网页的方法有随机生成,如hadoop example里面的sort、wordcount等;概率模型生成,如HiBench采用的Zipf分布;和拷贝复制数据这几种方法。而web网页的基本构成是一些文字和URL的交织体。网页中的URL和文字存在着一些特有的关系:如导航、Index页面,存有大量的URL和少量文字。而如博客这种类型的网页则是相对文字较多,而URL较少。用现有的方法来生成这样的web网页往往会存在很多的问题,如采用完全随机生成的网页数据将会破坏数据内容的真实性,这样就不适用于页面处理的应用,如搜索引擎;随机生成和概率模型生成的数据脱离了真实数据的内在规律性,不能体现正常网页中出入度的关联。而简单的复制拷贝的网页群之间不会有链接,会出现孤岛。图1为复制拷贝出现的孤岛现象图,通过原始的四个网页来生成数据,使用拷贝出来的大规模数据,而拷贝出来的数据之间不存在链接,都是以四个网页原有的连接为模型来生成的一块一块的数据,这就出现了孤岛,而且每一块数据之间的连接都是和原始网页相同的。
[0004]可见,使用随机生成的大规模数据来进行相关的实验研究得到的结果不是很有说服力,现有的方法来生成大规模的真实性数据存在孤岛等问题,生成后用来做研究得到的实验结果就会存在真实性问题。
【发明内容】
[0005]为了解决上述技术问题,本发明的目的在于提出了一种基于小规模真实数据生成大规模数据的方法及系统,解决在对数据中心应用进行研究时,所使用的数据的真实性问题。
[0006]具体地说,本发明公开了一种基于Web页面的大规模数据生成方法,通过将原始小规模种子网页按长度分类的方式,依据原始网页的长度和词频信息生成大规模的文本数据,入出度生成和URL赋值,则根据原始种子页面中每类页面的入出度的条件概率计算生成网页的入出度值,利用已有入出度值向网页中插入URL,使得在生成的数据中,入度的总和是等于出度的总和。
[0007]所述的基于Web页面的大规模数据生成方法,包括如下步骤:
[0008]步骤S1、统计种子页面信息包括文本信息和URL信息;
[0009]步骤S11、统计文本长度给种子页面分类:
[0010]统计种子网页中的文本长度是将文档按长度进行分类,计算每一类出现的概率P(k):P (k)=k类中网页的总数量/种子网页总数量。
[0011]步骤S12、统计种子页面中文本中的词频:
[0012]统计种子页面中出现词的概率是统计每个词在整个种子网页中出现的概率P(w),概率P (W)=词w出现的总数/种子网页中所有词的总个数。
[0013]步骤S13、统计种子页面中URL的入出度条件概率:
[0014]统计在特定文档长度下的入出度条件概率时,首先去除种子网页中的死链,然后在统计每一个类网页中的入度和出度的条件概率P (d I k )。
[0015]步骤S2、根据种子页面信息生成web页面。
[0016]步骤S21、根据分析得到的概率P (k)生成每个类中页面的数量,用每一类的P (k)乘以要生成的网页总数,来获得每个类别中应生成的网页数,按照概率模型可以获得每一类中特定长度的网页数量;
[0017]步骤S22、根据分析得到的概率P (W)生成符合网页长度的内容,通过按每个词在种子页面中出现的概率生成词,然后注入到将生成的网页中;
[0018]步骤S23、根据分析得到的概率P(d|k)向网页中添加URL;在每一类中根据P(d|k)给每个网页赋入出度的值,再根据这个入出度的值产生相应的URL,在添加URL的时候如果没有满足入出度条件则返回继续添加,直到满足条件时即可。
[0019]所述的基于Web页面的大规模数据生成方法,其特征在于,向网页之间添加URL包括如下步骤:
[0020]当添加到某一 ID号的现有入出度信息和应有入出度信息相同时,就把这一 ID号的网页入出度情况从这个数据结构结果中删除,则表示添加的入出度已完成;
[0021]寻找存在表格中没有删除的信息继续添加,直到数据结构中没有存在的信息则表示全部的入出度添加结束。
[0022]本发明还公开了一种基于Web页面的大规模数据生成系统,包括:
[0023]统计模块,用于统计种子页面信息包括文本信息和URL信息;
[0024]页面生成模块,用于根据种子页面信息生成web页面。
[0025]所述的基于Web页面的大规模数据生成系统,统计模块包括:
[0026]分类计算模块,用于统计文本长度给种子页面分类,统计种子网页中的文本长度是将文档按长度进行分类,计算每一类出现的概率P (k):P (k)=k类中网页的总数量/种子网页总数量;
[0027]词频统计模块,用于统计种子页面中出现词的概率是统计每个词在整个种子网页中出现的概率P (W),概率P (W) =词W出现的总数/种子网页中所有词的总个数;
[0028]入出度条件概率统计模块,用于统计在特定文档长度下的入出度条件概率时,首先去除种子网页中的死链,然后在统计每一个类网页中的入度和出度的条件概率P(d|k)。[0029]所述的基于Web页面的大规模数据生成系统,页面生成模块包括:
[0030]网页数量模块,用于根据分析得到的概率P (k)生成每个类中页面的数量,用每一类的P (k)乘以要生成的网页总数,来获得每个类别中应生成的网页数,按照概率模型可以获得每一类中特定长度的网页数量;
[0031]注入模块,用于根据分析得到的概率P (W)生成符合网页长度的内容,通过按每个词在种子页面中出现的概率生成词,然后注入到将生成的网页中;
[0032]添加模块,用于根据分析得到的概率P (d|k)向网页中添加URL;在每一类中根据P (d|k)给每个网页赋入出度的值,再根据这个入出度的值产生相应的URL,在添加URL的时候如果没有满足入出度条件则返回继续添加,直到满足条件。
[0033]综上,用现有的方法来生成的数据对研究基于网页的应用和评价数据中心系统而言,得到的结果会存在问题,本发明使用真实小规模数据来生成大规模的相对真实可靠的数据来提供给数据中心的应用,从而使得到的研究结果有更加真实。通过提取小规模的真实数据的特征,进而基于获得的特征来生成大规模的数据。
【专利附图】
【附图说明】
[0034]图1为现有技术的复制拷贝出现的孤岛现象图;
[0035]图2为本发明大数据网页生产;
[0036]图3为通过种子页面的信息生成大规模数据流程图;
[0037]图4来说明入出度的URL添加过程。
【具体实施方式】
[0038]本发明数据生成方法是通过将原始小规模种子网页按长度分类的方式,依据原始网页的长度和词频信息生成大规模的文本数据,入出度生成和URL赋值法则是根据原始种子页面中每类页面的入出度的条件概率计算生成网页的入出度值,利用已有入出度值向网页中插入URL。
[0039]详细步骤如下:
[0040]步骤S1、统计种子页面信息
[0041]种子页面为能够获得的小规模真实web页面,基本信息为文本信息和URL信息。文本信息需要统计文本中每个词的词频和文本的总长度,URL的信息需要统计入出度信息,其中入度为指向本网页的URL个数X,出度信息为指向其他网页的URL个数y,理想状态下生成的大规模数据,它的总入度数应该和总出度数是相等的。
[0042]对种子页面的统计过程如下:
[0043]步骤S11、统计文本长度给种子页面分类P (k)
[0044]统计种子网页中的文本长度是将文档按长度进行分类,计算每一类出现的概率P(k)。这里对网页的长度分类是因为有的网页如导航网页,它们的文字很少URL却很多,还有就如博客这类网页,它们的URL很少但文字很多,所以通过对文本的长度来进行分类,来模拟这种真实生活中的现象。而这里的概率P (k)计算方法如下:
[0045]P (k)=k类中网页的总数量/种子网页总数量。
[0046]比如:网页的文本长度是在100到100000个词间,根据这些网页后开始统计它们的基本信息。
[0047]按照网页的文本长度来进行分类,把所有的种子网页分为10类:
[0048]100-10000 词为类别 I ;
[0049]10001-20000 词为类别 2 ;
[0050]......[0051]90001-100000 为类别 10。
[0052]再计算每个类别在所有的种子页面中出现的概率P (k)
[0053]步骤S12、统计种子页面中文本中的词频P (W)
[0054]统计种子页面中出现词的概率是统计每个词在整个种子网页中出现的概率P(w),概率P (W)=词w出现的总数/种子网页中所有词的总个数。
[0055]步骤S13、统计种子页面中URL的入出度条件概率P (d|k)
[0056]统计在特定文档长度下的入度和出度条件概率时,首先去除种子网页中的死链也就是链接出去的URL不在指向种子页面。然后在统计每一个类网页中的入度和出度的条件概率P (d I k),这里的概率P (d |k)中d为一个2元组的入出度统计信息,其中入度rd=x、出度cd=y则d= (x,y),k代表的是这一类网页,则概率P (d|k)=k类网页中入出度情况为d的页数/k类网页的总页数,这就表示为入出度为d的网页在k类网页中所出现的概率。
[0057]例如P ((2,I) |k) =0.2这个表示的就是k类中入度为2,出度为I的网页占k类网页总量的20%。
[0058]对种子页面的基本信息已经统计结束,收集统计得到的相应数据,包括每一类文档出现的概率、每个词出现的概率和对应每一类网页中入出度的概率,通过这些基本信息生成大规模网页数据。
[0059]步骤2:根据种子页面生成web页面。
[0060]根据对种子页面分析所得到的相关信息来生成大规模的数据,根据种子页面的数据分析首先生成与词频和文档长度相对应的文本,然后再根据种子页面数据的出入度概率向生成的网页中添加URL。图3为通过种子页面的信息生成大规模数据流程图。
[0061]完成生成的大规模页面包括:
[0062]步骤S21、根据分析得到的概率P (k)生成每个类中页面的数量。用每一类的P(k)乘以要生成的网页总数,来获得每个类别中应生成的网页数。按照概率模型可以获得每一类中特定长度的网页数量。
[0063]将要生成的网页数量乘以种子网页中的概率P(k),计算出每类网页的个数。在每类中按照正态分布计算出每个文档的长度,这里均值采用的是每类中文档长度的均值,方差采用标准正态分布的方差。
[0064]步骤S22、根据分析得到的概率P (W)生成符合网页长度的内容。通过按每个词在种子页面中出现的概率生成词,然后注入到将生成的网页中。
[0065]向生成的网页中出入词语。按照词频P (W)生成特定长度的文档,在每个文档中生成指定个数的词,这些词的频率满足原始页面中每个词出现的概率
[0066]步骤S23、根据分析得到的概率P (d|k)向网页中添加URL。在每一类中根据P(d|k)给每个网页赋入度和出度的值,再根据这个入出度的值产生相应的URL。在添加URL的时候如果没有满足入出度条件则返回继续添加,直到满足条件时即可。[0067]按照P (d|k)向已生成的网页中注入URL。这里给每个类别中的网页添加入出度,入出度满足类中的入出度的概率P (d|k)。然后开始在任意一个网页中添加URL,然后追踪没有满足入出度条件的网页,继续生成即可。
[0068]在向页面中注入ULR时,采用下表数据结构来保存网页的状态:
[0069]
【权利要求】
1.一种基于Web页面的大规模数据生成方法,其特征在于,通过将原始小规模种子网页按长度分类的方式,依据原始网页的长度和词频信息生成大规模的文本数据,入出度生成和URL赋值生成web页面,则根据原始种子页面中每类页面的入出度的条件概率计算生成网页的入出度值,利用已有入出度值向网页中插入URL,使得在生成的数据中,入度的总和是等于出度的总和。
2.如权利要求1所述的基于Web页面的大规模数据生成方法,其特征在于,包括如下步骤: 步骤S1、统计种子页面信息包括文本信息和URL信息; 步骤S2、根据种子页面信息生成web页面。
3.如权利要求2所述的基于Web页面的大规模数据生成方法,其特征在于,步骤SI具体包括: 步骤S11、统计文本长度给种子页面分类: 统计种子网页中的文本长度是将文档按长度进行分类,计算每一类出现的概率P (k):P (k)=k类中网页的总数量/种子网页总数量。 步骤S12、统计种子页面中文本中的词频: 统计种子页面中出现词的概率是统计每个词在整个种子网页中出现的概率P(w),概率P (W)=词w出现的总数/种子网页中所有词的总个数。 步骤S13、统计种子页面中URL的入出度条件概率: 统计在特定文档长度下的入出度条件概率时,首先去除种子网页中的死链,然后在统计每一个类网页中的入度和出度的条件概率P (d|k)。
4.如权利要求3所述的基于Web页面的大规模数据生成方法,其特征在于,步骤S2具体包括: 步骤S21、根据分析得到的概率P (k)生成每个类中页面的数量,用每一类的P (k)乘以要生成的网页总数,来获得每个类别中应生成的网页数,按照概率模型可以获得每一类中特定长度的网页数量; 步骤S22、根据分析得到的概率P (w)生成符合网页长度的内容,通过按每个词在种子页面中出现的概率生成词,然后注入到将生成的网页中; 步骤S23、根据分析得到的概率P (d|k)向网页中添加URL;在每一类中根据P (d|k)给每个网页赋入出度的值,再根据这个入出度的值产生相应的URL,在添加URL的时候如果没有满足入出度条件则返回继续添加,直到满足条件时即可。
5.如权利要求4所述的基于Web页面的大规模数据生成方法,其特征在于,向网页之间添加URL包括如下步骤: 当添加到某一 ID号的现有入出度信息和应有入出度信息相同时,就把这一 ID号的网页入出度情况从这个数据结构结果中删除,则表示添加的入出度已完成; 寻找存在表格中没有删除的信息继续添加,直到数据结构中没有存在的信息则表示全部的入出度添加结束。
6.一种基于Web页面的大规模数据生成系统,其特征在于,包括: 统计模块,用于统计种子页面信息包括文本信息和URL信息; 页面生成模块,用于根据种子页面信息生成web页面,其中根据原始种子页面中每类页面的入出度的条件概率计算生成网页的入出度值,利用已有入出度值向网页中插入URL,使得在生成的数据中,入度的总和是等于出度的总和。
7.如权利要求6所述的基于Web页面的大规模数据生成系统,其特征在于,统计模块包括: 分类计算模块,用于统计文本长度给种子页面分类,统计种子网页中的文本长度是将文档按长度进行分类,计算每一类出现的概率P (k):P (k)=k类中网页的总数量/种子网页总数量; 词频统计模块,用于统计种子页面中出现词的概率是统计每个词在整个种子网页中出现的概率P (W),概率P (W) =词w出现的总数/种子网页中所有词的总个数; 入出度条件概率统计模块,用于统计在特定文档长度下的入出度条件概率时,首先去除种子网页中的死链,然后在统计每一个类网页中的入度和出度的条件概率P (d|k)。
8.如权利要求6所述的基于Web页面的大规模数据生成系统,其特征在于,页面生成模块包括: 网页数量模块,用于根据分析得到的概率P (k)生成每个类中页面的数量,用每一类的P (k)乘以要生成的网页总数,来获得每个类别中应生成的网页数,按照概率模型可以获得每一类中特定长度的网页数量; 注入模块,用于根据分析得到的概率P (w)生成符合网页长度的内容,通过按每个词在种子页面中出现的概率生成词,然后注入到将生成的网页中; 添加模块,用于根据分析得到的概率P (d|k)向网页中添加URL;在每一类中根据P(d|k)给每个网页赋入出度的值,再根据这个入出度的值产生相应的URL,在添加URL的时候如果没有满足入出度条件则返回继续添加,直到满足条件。
【文档编号】G06F17/30GK103678495SQ201310576331
【公开日】2014年3月26日 申请日期:2013年11月18日 优先权日:2013年11月18日
【发明者】贾禛, 吕杰, 王磊, 权静, 詹剑锋, 张立新 申请人:中国科学院计算技术研究所