CN105653686A - 一种域名网址活跃度统计方法及系统 - Google Patents
一种域名网址活跃度统计方法及系统 Download PDFInfo
- Publication number
- CN105653686A CN105653686A CN201511021311.7A CN201511021311A CN105653686A CN 105653686 A CN105653686 A CN 105653686A CN 201511021311 A CN201511021311 A CN 201511021311A CN 105653686 A CN105653686 A CN 105653686A
- Authority
- CN
- China
- Prior art keywords
- subdomain name
- population
- individuality
- subdomain
- fit
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种域名网址活跃度统计方法及系统,所述方法包括:步骤1:从域名网址中破解得到各个子域名;步骤2:从每个所述子域名中抽取特征码;步骤3:用特征码将所有所述子域名逐个索引起来构成一个检索系统;步骤4:将每个所述子域名的特征码逐个投入检索系统,将当前所述子域名检索到的全部子域名聚成一类;步骤5:根据当前所述子域名检索到的聚为一类的全部子域名的大小确定当前子域名的活跃度。本发明通过对子域名去重算法的分析,可以看出,基于特征码的相同内容子域名的去除与合并算法,是一种线性计算复杂度的算法,而且具有很高的判别正确率和召回率。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种域名网址活跃度统计方法及系统。
背景技术
现如今,销售预测在提高企业经济效益及决策支持水平的方面占有重要的地位。随着企业信息化技术水平的提高,企业销售数据日益丰富,管理者对其中隐藏的销售预测信息的渴求愈来愈强烈。用传统的方法来分析这些海量数据中的销售信息相当困难,已不适应时代需求。如何寻找更好的方法去挖掘销售数据中隐藏的销售预测信息日趋重要。
目前习惯了这样一种称谓:前端行为数据和后端商业数据。前端数据指访问量、浏览量、点击流及站内搜索等反应用户行为的数据,而后端数据更侧重商业数据,比如交易量、ROI(转化率)、LTV(LifetimeValue终身价值)。目前有些人关心行为数据,也有些人关心商业数据,但较少人把行为数据和商业数据联系起来看。大家往往只单纯看某一端数据。国内小有名气的网站CEO,每天也只看一个结果数据:网站今天的成交量是多少,卖了多少件产品。但是看数据走火入魔的人会明白,每个数据,就像散布在黑夜里的星星,它们彼此之间布满了关系网,只要轻轻按一下其中一个数据,就会驱动另外一些数据的变化。
目前的活跃度统计方法一般为,通过相关特征的属性来定义项目或对象,基于用户评价对象的特征学习用户的兴趣,依据用户资料与待预测项目的匹配程度进行推荐,努力向客户推荐与其以前喜欢的产品相似的产品。
以使用者为基础,相似统计的方法得到具有相似爱好或者兴趣的相邻使用者。方法步骤:1.收集可以代表使用者兴趣的资讯。一般的网站系统使用评分的方式或是给予评价,这种方式被称为“主动评分”。另外一种是“被动评分”,是根据使用者的行为模式由系统代替使用者完成评价,不需要使用者直接打分或输入评价资料。2.最近邻搜索(Nearestneighborsearch,NNS)以使用者为基础(User-based)的协同过滤的出发点是与使用者兴趣爱好相同的另一组使用者,就是计算两个使用者的相似度。3.产生推荐结果,有了最近邻集合,就可以对目标使用者的兴趣进行预测,产生推荐结果。依据推荐目的的不同进行不同形式的推荐,较常见的推荐结果有Top-N推荐和关联推荐。Top-N推荐是针对个体使用者产生,对每个人产生不一样的结果,例如:透过对A使用者的最近邻使用者进行统计,选择出现频率高且在A使用者的评分项目中不存在的,作为推荐结果。关联推荐是对最近邻使用者的记录进行关联规则(associationrules)挖掘。
自学习系统就是系统具有能够按照自己运行过程中的经验来改进控制算法的能力,它是自适应系统的一个延伸和发展。自学习系统理论也是用于工程控制的理论,它有“定式”和“非定式”两个方面。前者是根据已有的答案对系统工作状态做出判断来改进系统的控制,使之不断趋近于理想的算法。后者是通过各种试探、统计决策和模式识别等工作来对系统进行控制,使之趋近于理想的算法。又称逆推学习算法,简称BP算法,是1986年鲁梅哈特(D.E.Rumelhart)和麦克莱朗德(J.L.McClelland)提出来的。用样本数据训练人工神经网络(一种模仿人脑的信息处理系统),它自动地将实际输出值和期望值进行比较,得到误差信号,再根据误差信号从后(输出层)向前(输入层)逐层反传,调节各神经层神经元之间的连接权重,直至误差减至满足要求为止。反向传播算法的主要特征是中间层能对输出层反传过来的误差进行学习。这种算法不能保证训练期间实现全局误差最小,但可以实现局部误差最小。BP算法在图像处理、语音处理、优化等领域得到广泛应用。遗传算法是通过模拟生物在自然界中的进化过程而形成的一种全局优化算法。理论上已经证明:遗传算法能从概率的意义上以随机的方式寻找到问题的最优解。但是在实际应用中,由于问题的复杂性和海量的数据,因此出现了一些不尽人意的情况,主要表现在计算后期解的多样性差,即容易造成早熟、收敛速度慢等缺点。为了克服上述缺点,提高算法性能,人们提出了相应的改进方法,如小种群遗传算法、正交遗传算法、多智能体遗传算法、快速进化规划、饲养遗传算法、自适应演化算法、组织进化算法、模式迁移策略的并行遗传算法等。
发明内容
本发明基于最近邻集合提出了一种子域名破解的方法来获取邻搜索。本发明采用传统的字典破解方法和改进字典的更新机制。并且本发明采取一种自学习的方式来自动更新以便补充和加强字典。
根据本发明一方面,提供了一种域名网址活跃度统计方法,其包括:
步骤1:从域名网址中破解得到各个子域名;
步骤2:从每个所述子域名中抽取特征码;
步骤3:用特征码将所有所述子域名逐个索引起来构成一个检索系统;
步骤4:将每个所述子域名的特征码逐个投入检索系统,将当前所述子域名检索到的全部子域名聚成一类;
步骤5:根据当前所述子域名检索到的聚为一类的全部子域名的大小确定当前子域名的活跃度。
根据本发明另一方面,提供了一种域名网址活跃度统计系统,其包括:
破解模块,用于从域名网址中破解得到子域名;
特征码提取模块,用于从每个子域名中抽取特征码;
索引模块,利用特征码将子域名逐个索引起来构成一个检索系统;
聚类模块,用于将每个所述子域名的特征码逐个投入检索系统,将当前所述子域名检索到的全部子域名聚成一类;
统计模块,根据当前所述子域名检索到的聚为一类的全部子域名的大小确定当前子域名的活跃度。
本发明在统计破解结果时采取快速聚合去重,去除重复子域名的问题可以看成是一个特殊的聚类问题。因此可以采用一般的聚类方法来处理,我们可以用6763个汉字做成一个向量,将各个汉字在子域名正文中出现的个数填入向量中,以该向量为这个子域名的一个特征,通过计算子域名向量与聚类中心向量的夹角余弦值,两向量的模的大小关系,来判断这个子域名是否应该归为该类。由于只有两个子域名完全相同才归属于一类,因此子域名向量与聚类中心向量的夹角应该非常小,而且向量的模应该基本相同。
但由于一般的聚类问题是把在某些特征上相似的元素聚为一类,而且聚类后总的类别数不会很多,且一般都有一定的限制。而这个问题的特殊性在于不是要把相似的元素聚成一类,而是把完全相同的元素才聚成一类。另外,由于不同的子域名占有很大的比例,它们都各自成为一类,聚类后总的类别数会特别大,且没有具体的限制。因为一般的聚类方法会比较每个元素到各个聚类中心的距离,当类别较少时,这种计算是可行的,但当类别数很大的时候,比较的次数就会大大增加,当要处理的数据很大时,这种算法的所消耗的时间将会很长,从而导致在计算效率上是比较低的。可以计算这种方法的计算复杂度是O(n2)的,当数据量较大时(比如几十万子域名),这种方法是不可行的。另外,在计算子域名相似度时很难取得合适的阈值使得能够保证子域名内容的完全相同。
去除重复子域名的问题与检索问题也有相似的地方。本发明中假定将所有要处理的子域名信息建立好索引,作为一个检索系统,再把每一个子域名变成一个查询请求,到这个检索系统中去查询,找出所有与该子域名完全相同的子域名。
与一般的检索系统不同的是,在一般的检索系统中需要检索出所有与该子域名相关的子域名,而不是完全相同的子域名。而本发明所要解决的问题是检索出与该子域名完全相同的子域名,相关的子域名不需要被检索出来。为了实现这一点本发明对一般的检索方法进行了改进。在一般的检索系统中,需要对关键词进行索引以便查询,而关键词可能在多篇相关的子域名中出现,因此检索时会把所有相关的子域名检索出来。为了只检索出完全相同的子域名,本发明对子域名的特征建立索引,这个特征可以保证对于不同的子域名是完全不同的,本发明中称这个特征为子域名的特征码。把所有的特征码索引起来建立的检索系统,就能够使检索的结果是完全相同的子域名。可见子域名特征码的确定是解决问题的关键。子域名特征码必须能把完全相同的子域名和不同或相似的子域名区分开,一般的关键词技术是不能做到这点的。因此本发明在子域名中取一个固定长为L的词串作为子域名的特征码。但由于正文相同的子域名中导航信息、版权信息可能不同,由于这些信息的干扰很难从子域名的开始或中间的某个固定的位置来抽取特征码。通过对子域名的分析发现在导航信息中较少的出现标点符号,尤其是句号几乎不会出现,另外导航信息多出现在HTML语言中的超链接标记中。
利用这两个特点,本发明在提取特征码时尽量把导航信息等干扰信息去除掉,再把句号作为一个提取的位置,分别在句号两边提取L/2长的词串构成子域名的一个特征码。之所以要在句号的两边分别取L/2长的词串,是因为在L/2和L/2-1处的字很难构成一个词,因此更能保证特征码的唯一性。
本文提出一种方向自学习遗传算法来求解数值优化问题,给出方向自学习算子和消亡算子,这2种算子通过种群中个体的竞争、合作,同时利用自身的知识进行自学习来获得最优解,并能够很好地保持种群的多样性,避免了早熟收敛,提高了收敛速度,并且给出了理论分析证明了该算法具有全局收敛性。分别用低维测试函数和高维测试函数将本文算法的性能与CGA算法、GA-MGA算法、FEP算法和OGA/Q算法进行了比较。结果表明方向自学习遗传算法能够在进行全局搜索的同时进行局部搜索,有效地维持了种群多样性,较好地避免了早熟收敛,并且无论在解的质量上还是在计算复杂度上均有所改进。
通过对子域名去重算法的分析,可以看出,基于特征码的相同内容子域名的去除与合并算法,是一种线性计算复杂度的算法,而且具有很高的判别正确率和召回率。它克服了一般聚类算法所具有的算法复杂度高(平方级的算法复杂度),而且合并准确率低的缺点,是一种非常实用的去除、合并相同内容子域名的算法。
附图说明
图1是本发明中域名网址活跃度统计方法流程图。
图2是本发明中方向自学习遗传算法中估计搜索方向的几何表示图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
如图1所示,本发明提出了一种域名网址活跃度统计方法,其包括:
步骤1:从域名网址中破解得到各个子域名;
步骤2:从每个所述子域名中抽取特征码;
步骤3:用特征码将所有所述子域名逐个索引起来构成一个检索系统;
步骤4:将每个所述子域名的特征码逐个投入检索系统,将当前所述子域名检索到的全部子域名聚成一类;
步骤5:根据当前所述子域名检索到的聚为一类的全部子域名的大小确定当前子域名的活跃度。
本发明在统计破解结果时采取快速聚合去重,去除重复子域名的问题可以看成是一个特殊的聚类问题。因此可以采用一般的聚类方法来处理,我们可以用6763个汉字做成一个向量,将各个汉字在子域名正文中出现的个数填入向量中,以该向量为这个子域名的一个特征,通过计算子域名向量与聚类中心向量的夹角余弦值,两向量的模的大小关系,来判断这个子域名是否应该归为该类。由于只有两个子域名完全相同才归属于一类,因此子域名向量与聚类中心向量的夹角应该非常小,而且向量的模应该基本相同。
但由于一般的聚类问题是把在某些特征上相似的元素聚为一类,而且聚类后总的类别数不会很多,且一般都有一定的限制。而这个问题的特殊性在于不是要把相似的元素聚成一类,而是把完全相同的元素才聚成一类。另外,由于不同的子域名占有很大的比例,它们都各自成为一类,聚类后总的类别数会特别大,且没有具体的限制。因为一般的聚类方法会比较每个元素到各个聚类中心的距离,当类别较少时,这种计算是可行的,但当类别数很大的时候,比较的次数就会大大增加,当要处理的数据很大时,这种算法的所消耗的时间将会很长,从而导致在计算效率上是比较低的。可以计算这种方法的计算复杂度是O(n2)的,当数据量较大时(比如几十万子域名),这种方法是不可行的。另外,在计算子域名相似度时很难取得合适的阈值使得能够保证子域名内容的完全相同。
去除重复子域名的问题与检索问题也有相似的地方。本发明中假定将所有要处理的子域名信息建立好索引,作为一个检索系统,再把每一篇文章变成一个查询请求,到这个检索系统中去查询,找出所有与该子域名完全相同的子域名。
与一般的检索系统不同的是,在一般的检索系统中需要检索出所有与该子域名相关的子域名,而不是完全相同的子域名。而本发明所要解决的问题是检索出与该子域名完全相同的子域名,相关的子域名不需要被检索出来。为了实现这一点本发明对一般的检索方法进行了改进。在一般的检索系统中,需要对关键词进行索引以便查询,而关键词可能在多篇相关的子域名中出现,因此检索时会把所有相关的子域名检索出来。为了只检索出完全相同的子域名,本发明对子域名的特征建立索引,这个特征可以保证对于不同的子域名是完全不同的,本发明中称这个特征为子域名的特征码。把所有的特征码索引起来建立的检索系统,就能够使检索的结果是完全相同的子域名。可见子域名特征码的确定是解决问题的关键。子域名特征码必须能把完全相同的子域名和不同或相似的子域名区分开,一般的关键词技术是不能做到这点的。因此本发明在子域名中取一个固定长为L的词串作为子域名的特征码。但由于正文相同的子域名中导航信息、版权信息可能不同,由于这些信息的干扰很难从子域名的开始或中间的某个固定的位置来抽取特征码。通过对子域名的分析发现在导航信息中较少的出现标点符号,尤其是句号几乎不会出现,另外导航信息多出现在HTML语言中的超链接标记中。本发明中通过特征码的方式可以区分形式上不同的子域名,再通过检索所有子域名的特征码构成的检索系统所得到的所有子域名为与被检索子域名实质上相同的子域名。例如,http://www.XXX.com与www.XXX.com通过特征码可以区分为不同的子域名,但是实质上两者是相同的子域名,可以通过本发明的上述方法检索聚为一类。
利用这两个特点,本发明在提取特征码时尽量把导航信息等干扰信息去除掉,再把句号作为一个提取的位置,分别在句号两边提取L/2长的词串构成子域名的一个特征码。之所以要在句号的两边分别取L/2长的词串,是因为在L/2和L/2-1处的字很难构成一个词,因此更能保证特征码的唯一性。
本文提出一种方向自学习遗传算法来求解数值优化问题,给出方向自学习算子和消亡算子,这2种算子通过种群中个体的竞争、合作,同时利用自身的知识进行自学习来获得最优解,并能够很好地保持种群的多样性,避免了早熟收敛,提高了收敛速度,并且给出了理论分析证明了该算法具有全局收敛性。分别用低维测试函数和高维测试函数将本文算法的性能与CGA算法、GA-MGA算法、FEP算法和OGA/Q算法进行了比较。结果表明方向自学习遗传算法能够在进行全局搜索的同时进行局部搜索,有效地维持了种群多样性,较好地避免了早熟收敛,并且无论在解的质量上还是在计算复杂度上均有所改进。
通过对子域名去重算法的分析,可以看出,基于特征码的相同内容子域名的去除与合并算法,是一种线性计算复杂度的算法,而且具有很高的判别正确率和召回率。它克服了一般聚类算法所具有的算法复杂度高(平方级的算法复杂度),而且合并准确率低的缺点,是一种非常实用的去除、合并相同内容子域名的算法。
本发明设计在暴力破解的同时自动学习新的字典的方法自学习方法。
标准遗传算法具有收敛速度慢、容易陷入局部极值、早熟收敛等缺点。为了有效地克服标准遗传算法的这些个缺陷,人们提出了许多混合遗传算法。这些混合遗传算法可以分为2类:(1)算子作用在种群的所有个体上;(2)算子只作用在每一代中的最优个体上。其中,将爬山法与遗传算法相结合进行局部搜索已经在连续变量求解问题中得到了广泛的应用。在连续变量优化问题中,显型变异(PM)算子已经被认为是一个有效地用来解决这一类问题的工具。对于每一个矢量个体,PM算子以相当小的随机步长不断地沿着正负方向进行搜索,然后对所得到的基因型进行评价。当获得较优解的时候算法结束。同时,PM算子也具有自身的缺点。当搜索函数比较复杂的时候,PM算子不能沿着适当的路径来寻找函数的最优解。当搜索空间内包含任意方向的非常窄的路径(称为脊)时,PM算子的这个缺点就更加明显。
为了较好地克服PM算子的缺点,本发明提出了采用爬山算子的小种群遗传算法(MGA)。爬山算子采用较小的种群规模通过较少的遗传代数进行种群迭代,最终可以找到当前解附近的更好解。MGA算子在搜索过程中不用考虑方向性、步长甚至函数的不连续性,能够有效地找到得到最优解的进化路径。MGA算子也具有其自身的缺点,即在搜索的过程中采用随机搜索,没有考虑最优解的方向信息,使得小种群搜索处于一个盲目的过程,需要的计算量大。针对这些缺点,本发明在小种群中引入伪剃度方向信息,即用函数适应值来提取搜索方向,提出了一种方向自学习算子。
算子即为自学习算法中的字典,即算法中的x变量,基于x变量构建数学模型如下:
在传统GA的交叉、变异策略中,常忽略具有指导性的搜索方向,不能使子代群体向高质量的区域快速移动。交叉策略中随机数的使用又会引起候选解在搜索空间中处于随机的位置,这就降低了种群的搜索速度。这里将搜索方向进行线性逼近,利用父代之间的适应度的差值来规范化搜索方向d。针对具有连续参数的无约束最大化问题,有分流部分基本设计概念和处理流程见下式1:
其中,xk是参数向量;x k和分别是xk的下界和上界。采用线性逼近方法主要有2个原因:(1)估计潜在的搜索方向;(2)充分利用自学习算子提供的遗传信息。在没有先验知识的情况下,这样的潜在搜索方向通常是不清楚的。但是,利用适应值f(x)的值来估计这种方向是可能的。一般地,自学习得到的个体的适应度f(x)是不相同的,2个个体之间的适应度差异不仅在繁殖过程中有贡献,而且可能为生成更好质量的子代个体指示潜在的搜索方向。因此,利用适应值的差异生成新的子代个体的过程增加了遗传信息的利用,这种信息在传统的遗传算法中一般是被忽视的。
如果搜索方向可以线性逼近,利用父代个体之间的适应度差,规范化搜索方向d可以表示为
d=(fit(Maxi)-fit(xi))/fit(Maxi)(2)
其中,fit(Max)和fit(x)分别表示种群个体中的最大适应值和个体适应值。由于遗传算法的工作原理是基于适应度的随机搜索,因此式(2)是一个合理的估计。如果一个个体沿着方向d从区域fit(x)向另一个区域fit(Max)前进,则式(2)指出了个体可以改善其适应度的一个方向。估计搜索方向的几何表示如图2所示。
对于个体xi,首先产生对个体xi的自学习种群L,其大小为Lsize,其中,所有个体为Li=(Li,1,Li,2,...,Li,n),n为函数的维数,i=1,2,……,Lsize,则Li由式(3)产生:
其中,Newi=(ei,1,ei,2,...,ei,n)根据式(4)产生:
ei,k=xi,k·U(1-radius,1+radius)k=1,2,…,n(4)
其中,radius∈[0,1]表示搜索半径;U(1-radius,1+radius)表示[1-radius,1+radius]区间均匀分布的随机数。
令Maxi=(m1,m2,m3,...,mn)是L中适应值最大的个体,即Maxi∈L,且对小种群中任意个体都有fit(Li)≤fit(Maxi),如果Li满足式(5),则为胜者,否则为败者。
fit(Li)≥fit(Maxi)(5)
如果Li为胜者,那么可以继续存活在小种群中;否则必须死亡,空出的个体将被Maxi占据。Maxi有2种占据死亡个体的策略,它每次以概率p0选择一种。如果U(0,1)<p0,那么选择策略1,否则选择策略2,其中,U(0,1)表示0~1区间均匀分布的随机数。在这2种占据策略中,通过产生一个新的个体来占据空出来的死亡个体。
在占据策略1中,用上面提出的线性逼近方向d来指导产生新的个体,使得种群中的个体能够在更短的搜索时间内找到最优解,提高了收敛速度,则按照式(6)产生:
在占据策略2中,根据式(7)将Max映射到区间[0,1]上:
然后,根据式(8)来确定New′i=(e′i,1,e′i,2,……,e′i,n):
其中,1<i1<n;1<i2<n;i1<i2。
最后,根据式(9)将New′i映射到区间以得到
当Li为败者,它可能仍有一些信息值得利用。因此,占据策略1,一种启发式交叉有利于保留败者的一些信息。占据策略2与自适应演化算法中的逆转算子类似,它一方面具有随机搜索的作用,另一方面又优于随机搜索,因为它利用了胜者的信息。随着对遗传算法研究的深入,人们普遍认为遗传算法中应有“勘探”和“开采”2类操作。根据上述分析可见,占据策略1着重利用已有信息,即开采;而占据策略2着重于开发新的空间,即勘探。这2种策略相互协调,起到了不同的作用。
根据式(10)对进行变异操作,产生新的个体
其中,G(0,1/t)为高斯分布的随机数,t是进化代数。计算小种群中每个个体的适应度,用最大适应值的个体取代被学习个体。
为了增加种群多样性,避免种群早熟收敛,在进化的过程中提出了一种消亡算子。令x=(x1,x2,...,xi),i=1,2,...,l为种群空间,l为种群规模,其中,xi=(xi,1,xi,2,...,xi,n),i=1,2,..,l为种群中的个体,计算种群中个体的适应值,按照大小进行排序,记为A={x′1,x′2,……,x′i},其中,f(x′i)≤f(x′i+1),i=1,2,...,l-1。根据消亡概率T%计算种群中个体消亡的个数:
deadnum=fix(l×T%)(11)
其中,fix(.)为向下取整,表示不大于x的最大整数。消亡策略可以利用新产生的个体代替种群中较差的个体,也可以利用适应值大的T%个个体的某种变换来进行取代。T%的取值可以是自适应的,也可以是固定不变的。
本发明在统计破解结果的时候采取一种快速的基于特征码去重算法。在特征码的定义与提取中参数L非常重要,特征码太长会给存储、计算带来较大的开销,特征码太短又会降低它的区分能力。一般的,可以取L等于10,也就是说分别在句号的两边各取五个汉字,对于不足五个汉字的情况,可以以特定的字符补位。按照信息论中多元文法(N-Gram)的定义这个特征码相当于一个10阶的文法(10-Gram),如果按照6763个汉字计算,这个特征码的重复概率大约为因此也就保证了这个特征码在不同子域名中几乎是不可能重复的。从另一方面来说,如果把长为L的特征码看成一个二进制数,也就是把一个子域名映射到一些二进制数字构成的空间里,而这个空间的大小为(6763)10≈1038,在这样大的一个空间里,不同子域名出现相同特征码的可能性是极小的。
通过这种映射就把一个复杂的计算子域名相似度来判断子域名是否相同的问题变为,利用二进制数的比较来判别子域名内容是否相同的问题。从而克服了因为相似度的阈值不合适而混入一些相似子域名,或使本应该合并在一起的子域名不能正确的合并。
由于在子域名编辑过程中出现的错误,可能会使个别子域名出现多几个字或少几个字的情况,使得提取的特征码在某个位置会相差一两个字,例如:“人害命的事今天是谁又”和“杀人害命的事今天是谁”这两个特征码应该是一样的,但由于编辑的原因造成存在一定的差别,如果按照特征码完全相同的算法来比较,就会出现错误,针对这种情况,我们提出采用最长公共子序列的比较方法。
一个给定序列的子序列是在该序列中删去若干元素后得到的序列。最长公共子序列就是在给定的两个序列X=(x1,x2,……,xm)和Y=(y1,y2,……,ym)共有的子序列中最长的一个。如果把特征码看作一个序列,特征码中的每一个字看成序列中的一个元素,我们可以计算特征码Key1与特征码Key2的公共子序列的长度。当Key1与Key2的最长公共子序列大于某个阈值时则认为特征码Key1与Key2是相同的,通常阈值可以取L-1或L-2,这样就克服了由于特征码中间某个字丢失而引起的特征码错位,产生的特征码比较的错误。
本文提出一种方向自学习遗传算法来求解数值优化问题,给出方向自学习算子和消亡算子,这2种算子通过种群中个体的竞争、合作,同时利用自身的知识进行自学习来获得最优解,并能够很好地保持种群的多样性,避免了早熟收敛,提高了收敛速度,并且给出了理论分析证明了该算法具有全局收敛性。分别用低维测试函数和高维测试函数将本文算法的性能与CGA算法、GA-MGA算法、FEP算法和OGA/Q算法进行了比较。结果表明方向自学习遗传算法能够在进行全局搜索的同时进行局部搜索,有效地维持了种群多样性,较好地避免了早熟收敛,并且无论在解的质量上还是在计算复杂度上均有所改进。
通过对子域名去重算法的分析,可以看出,基于特征码的相同内容子域名的去除与合并算法,是一种线性计算复杂度的算法,而且具有很高的判别正确率和召回率。它克服了一般聚类算法所具有的算法复杂度高(平方级的算法复杂度),而且合并准确率低的缺点,是一种非常实用的去除、合并相同内容子域名的算法。
方向自学习遗传算法是通过小种群局部搜索,并且引入搜索方向信息来寻找最优解。在算法中为了增加种群的多样性,避免早熟收敛,将消亡算子作用在种群中,以一定概率死亡掉种群中具有较差解的个体。自学习算子是对种群局部搜索的过程。为了减少计算量,这里只将该算子作用在当代种群中最优的个体上。
令x(t)表示第t代种群中的个体,cbest(t)是x(t)中的最优个体,best是x(1),x(2),……,x(t)中的最优个体,则算法流程如下:
Step1初始化x(t),更新best,令t←1;
Step2对x(t)进行选择、交叉和变异操作,将种群个体按照适应度由小到大排序;
Step3对种群中T%个适应度较差的个体进行消亡操作,并计算cbest(t);
Step4将自学习算子作用在cbest(t)上,更新cbest(t);
Step5如果fit(cbest(t))>fit(best),则令best←cbest(t),否则令cbest(t)←best;
Step6如果满足终止条件,输出best并停止,否则令t←t+1并转Step2。
概括地说,去重算法分三步实现:
第一步:从每个子域名中抽取特征码
第二步:用特征码将子域名逐个索引起来构成一个检索系统
第三步:将每个子域名的特征码逐个投入检索系统,将检索到的全部子域名聚成一类
由于每一步都是线性时间复杂度,因此,算法整体的时间复杂度也是线性的。这样,我们就把一个O(n2)时间复杂度的问题,转变成了O(n)时间复杂度的问题。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种域名网址活跃度统计方法,其包括:
步骤1:从域名网址中破解得到各个子域名;
步骤2:从每个所述子域名中抽取特征码;
步骤3:用特征码将所有所述子域名逐个索引起来构成一个检索系统;
步骤4:将每个所述子域名的特征码逐个投入检索系统,将当前所述子域名检索到的全部子域名聚成一类;
步骤5:根据当前所述子域名检索到的聚为一类的全部子域名的大小确定当前子域名的活跃度。
2.如权利要求1所述的方法,其中,步骤2包括:
将所述每个子域名中的导航信息和干扰信息去除,并将句号作为一个提取的位置,分别在句号两边提取L/2长的词串构成子域名的一个特征码,其中L为预定的长度。
3.如权利要求1所述的方法,其中,步骤4中采用方向自学习遗传算法在检索系统中进行搜索,其通过小种群局部搜索,引入搜索方向信息寻找最优解,同事将消亡算子作用在种群中,以一定概率死亡掉种群中具有较差解的个体。
4.如权利要求4所述的方法,其中,所述方向自学习遗传算法如下:
令x(t)表示第t代种群中的个体,cbest(t)是x(t)中的最优个体,best是x(1),x(2),……,x(t)中的最优个体,t表示进化代数;则算法流程如下:
A、初始化x(t),更新best,令t=1;
B、对x(t)进行选择、交叉和变异操作,将种群个体按照适应度由小到大排序;
C、对种群中T%个适应度较差的个体进行消亡操作,并计算cbest(t);T为预定取值;
D、将自学习算子作用在cbest(t)上,更新cbest(t);
E、如果fit(cbest(t))>fit(best),则令best=cbest(t),否则令cbest(t)=best;fit(cbest(t))为个体cbest(t)的个体适应度,fit(best)为best的个体适应度;
F、如果满足终止条件,输出best并停止,否则令t=t+1并转B。
5.如权利要求4所述的方法,其中,对种群中T%个适应度较差的个体进行消亡操作包括:利用新产生的个体代替种群中适应度较差的个体,或者利用适应度大的T%个个体的某种变换取代适应度较差的个体。
6.如权利要求4所述的方法,其中,步骤D包括:
对于种群中的个体xi,首先产生对个体xi的自学习种群L,其大小为Lsize,其中,所有个体为Li=(Li,1,Li,2,...,Li,n),n为函数的维数,i=1,2,……,Lsize,则Li由式(3)产生:
其中,Newi=(ei,1,ei,2,...,ei,n)根据式(4)产生:
ei,k=xi,k·U(1-radius,1+radius)k=1,2,…,n(4)
其中,radius∈[0,1]表示搜索半径;U(1-radius,1+radius)表示[1-radius,1+radius]区间均匀分布的随机数;
令Maxi=(m1,m2,m3,...,mn)是L中适应度最大的个体,即Maxi∈L,且对小种群中任意个体都有fit(Li)≤fit(Maxi),如果Li满足式(5),则为胜者,否则为败者;
fit(Li)≥fit(Maxi)(5)
如果Li为胜者,那么可以继续存活在小种群中;否则必须死亡,空出的个体将被Maxi占据;Maxi有2种占据死亡个体的策略,它每次以概率p0选择一种;如果U(0,1)<p0,那么选择第1种策略,否则选择第2种策略,其中,U(0,1)表示0~1区间均匀分布的随机数;在这2种占据策略中,通过产生一个新的个体来占据空出来的死亡个体。
7.如权利要求6所述的方法,其中,所述2种占据死亡个体的策略分别如下:
在第1种占据死亡个体的策略中,用线性逼近方向d来指导产生新的个体则按照式(6)产生:
其中线性逼近方向d如下表示:
d=(fit(Maxi)-fit(xi))/fit(Maxi)
其中,fit(Max)和fit(x)分别表示种群个体中的最大适应值和个体适应值;
在占据策略2中,根据式(7)将Max映射到区间[0,1]上:
然后,根据式(8)来确定新的个体New′i=(e′i,1e′i,2,……,e′i,n):
其中,1<i1<n;1<i2<n;i1<i2;
最后,根据式(9)将New′i映射到区间以得到
8.如权利要求7所述的方法,其中,对于所述2种占据死亡个体策略产生的新个体进行变异得到新的个体:
根据式(10)对进行变异操作,产生新的个体
其中,G(0,1/t)为高斯分布的随机数,t是进化代数。
9.一种域名网址活跃度统计系统,其包括:
破解模块,用于从域名网址中破解得到子域名;
特征码提取模块,用于从每个子域名中抽取特征码;
索引模块,利用特征码将子域名逐个索引起来构成一个检索系统;
聚类模块,用于将每个所述子域名的特征码逐个投入检索系统,将当前所述子域名检索到的全部子域名聚成一类;
统计模块,根据当前所述子域名检索到的聚为一类的全部子域名的大小确定当前子域名的活跃度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511021311.7A CN105653686A (zh) | 2015-12-30 | 2015-12-30 | 一种域名网址活跃度统计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511021311.7A CN105653686A (zh) | 2015-12-30 | 2015-12-30 | 一种域名网址活跃度统计方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105653686A true CN105653686A (zh) | 2016-06-08 |
Family
ID=56490017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511021311.7A Pending CN105653686A (zh) | 2015-12-30 | 2015-12-30 | 一种域名网址活跃度统计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653686A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107730054A (zh) * | 2017-11-15 | 2018-02-23 | 西南石油大学 | 一种基于支持向量回归的燃气负荷组合预测方法 |
CN108985854A (zh) * | 2018-07-31 | 2018-12-11 | 天津大学 | 一种用户参与的个性化产品概念设计方法 |
CN110333996A (zh) * | 2019-07-10 | 2019-10-15 | 中国联合网络通信集团有限公司 | 一种app活跃度统计管理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833258A (zh) * | 2012-08-31 | 2012-12-19 | 北京奇虎科技有限公司 | 网址访问方法及系统 |
CN103607496A (zh) * | 2013-11-15 | 2014-02-26 | 中国科学院深圳先进技术研究院 | 一种推断手机用户兴趣爱好的方法、装置及手机终端 |
-
2015
- 2015-12-30 CN CN201511021311.7A patent/CN105653686A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833258A (zh) * | 2012-08-31 | 2012-12-19 | 北京奇虎科技有限公司 | 网址访问方法及系统 |
CN103607496A (zh) * | 2013-11-15 | 2014-02-26 | 中国科学院深圳先进技术研究院 | 一种推断手机用户兴趣爱好的方法、装置及手机终端 |
Non-Patent Citations (1)
Title |
---|
马玉新: "方法自学习遗传算法", 《计算机工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107730054A (zh) * | 2017-11-15 | 2018-02-23 | 西南石油大学 | 一种基于支持向量回归的燃气负荷组合预测方法 |
CN107730054B (zh) * | 2017-11-15 | 2021-05-28 | 西南石油大学 | 一种基于支持向量回归的燃气负荷组合预测方法 |
CN108985854A (zh) * | 2018-07-31 | 2018-12-11 | 天津大学 | 一种用户参与的个性化产品概念设计方法 |
CN110333996A (zh) * | 2019-07-10 | 2019-10-15 | 中国联合网络通信集团有限公司 | 一种app活跃度统计管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299396B (zh) | 融合注意力模型的卷积神经网络协同过滤推荐方法及系统 | |
CN105740401B (zh) | 一种基于个体行为和群体兴趣的兴趣地点推荐方法及装置 | |
CN108132927B (zh) | 一种融合图结构与节点关联的关键词提取方法 | |
CN112199608B (zh) | 基于网络信息传播图建模的社交媒体谣言检测方法 | |
CN104598611B (zh) | 对搜索条目进行排序的方法及系统 | |
CN106909643A (zh) | 基于知识图谱的社交媒体大数据主题发现方法 | |
CN109960737B (zh) | 半监督深度对抗自编码哈希学习的遥感影像内容检索方法 | |
CN109960738B (zh) | 基于深度对抗哈希学习的大规模遥感影像内容检索方法 | |
CN105893609A (zh) | 一种基于加权混合的移动app推荐方法 | |
CN103778227A (zh) | 从检索图像中筛选有用图像的方法 | |
CN108647800B (zh) | 一种基于节点嵌入的在线社交网络用户缺失属性预测方法 | |
CN109726747B (zh) | 基于社交网络推荐平台的数据融合排序方法 | |
CN110502640A (zh) | 一种基于建构的概念词义发展脉络的提取方法 | |
CN107291895B (zh) | 一种快速的层次化文档查询方法 | |
CN102799671A (zh) | 基于PageRank算法的网络个性化推荐方法 | |
CN109597747A (zh) | 一种基于多目标优化算法nsga-ⅱ推荐跨项目关联缺陷报告的方法 | |
CN110990718A (zh) | 一种公司形象提升系统的社会网络模型构建模块 | |
CN103778206A (zh) | 一种网络服务资源的提供方法 | |
CN114693397A (zh) | 一种基于注意力神经网络的多视角多模态商品推荐方法 | |
CN111666496A (zh) | 一种基于评论文本的组推荐方法 | |
CN109992784A (zh) | 一种融合多模态信息的异构网络构建和距离度量方法 | |
CN104915388B (zh) | 一种基于谱聚类和众包技术的图书标签推荐方法 | |
CN105653686A (zh) | 一种域名网址活跃度统计方法及系统 | |
CN108628959A (zh) | 一种基于交通大数据的本体构建方法 | |
Lee et al. | Sentiment analysis on online social network using probability Model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160608 |