1.一种基于搜索引擎的关键词推荐方法,其特征在于,所述方法包括:获取用户输入搜索引擎的输入信息;
根据所述用户的输入信息,从引擎数据库中获取与所述输入信息相关的数据信息;所述与所述输入信息相关的数据信息包括N条数据信息;
获取烟花算法的爆炸次数M;
根据所述N条数据信息、所述爆炸次数M获取烟花算法第K次爆炸的爆炸点,其中1≤K≤M;
根据所述N条数据信息、所述爆炸次数M获取烟花算法中第K次爆炸的爆炸半径和火花数量;具体包括:当K=1时,获取预设的爆炸半径和火花数量作为第1次爆炸的爆炸半径和火花数量;当2≤K≤M时;利用公式 确定第K次爆炸的爆炸点Xi的爆炸半径Ri;利用公式 确定第K次爆炸的爆炸点Xi的火花数量Si;其中,f(Xi)为爆炸点Xi的适应度值,ymin=min(f(Xj)),ymax=max(f(Xj)),(j=
1,2,…N),ymin为第K-1火花中所有n个火花的适应度值中的最小值,ymax为第K-1火花中所有n个火花的适应度值中的最大值; 为烟花算法中预设的最大半径, 为所述烟花算法中预设的火花数量最大值;ε为机器最小量;所述第K-1火花为第K-1次爆炸后产生的火花;
采用烟花算法进行爆炸,获得与所述用户的输入信息相关的关键词;最后一次爆炸产生的火花所在位置对应的关键词即为与所述用户的输入信息相关的关键词;
将所述关键词通过所述搜索引擎推荐给用户,供所述用户选择。
2.根据权利要求1所述的方法,其特征在于,所述根据所述N条数据信息、所述爆炸次数M获取烟花算法第K次爆炸的爆炸点,具体包括:当K=1时,将所述N条数据信息确定为烟花算法的初始种群,将所述N条数据信息的N个位置确定为第1次爆炸的N个爆炸点;
当2≤K≤M-1时,获得第K-1火花的适应度值;所述第K-1火花为第K-1次爆炸后产生的火花;将所述第K-1火花中适应度值最小的火花确定为第K次爆炸的一个爆炸点;根据所述第K-1火花中火花之间的距离,利用选中概率确定第K次爆炸的其余N-1个爆炸点;
当K=M时,获得第M-1火花的适应度值;所述第M-1火花为第M-1次爆炸后产生的火花;
将所述第M-1火花中适应度值最小的火花确定为第M次爆炸的一个爆炸点。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第K-1火花中火花之间的距离,利用选中概率确定第K次爆炸的其余N-1个爆炸点,具体包括:利用公式 计算第K-1火花中每个火花的选中概率P(Xi);其中R(Xi)为所述第K-1火花中第Xi火花与其他火花之间的距离之和,R(Xj)为所述第K-1火花中第Xj火花与其他火
花之间的距离之和;
将第K-1火花中所有火花的选中概率排序;
将选中概率最高的前N-1个火花确定为第K次爆炸的其余N-1个爆炸点。
4.根据权利要求1所述的方法,其特征在于,所述确定第K次爆炸的爆炸点Xi的火花数量之后,还包括:利用公式 将第K次爆炸的爆炸点Xi的火花数量修正
为Si′,其中a和b为任意常数,且a<b<1。
5.根据权利要求1所述的方法,其特征在于,所述采用烟花算法进行爆炸,具体包括:采用烟花爆炸产生爆炸火花和高斯变异火花;
对于爆炸点Xi,获取产生爆炸火花的多个爆炸方向;对于第k个爆炸方向,利用公式确定爆炸火花的位置 其中Ri为爆炸点Xi的爆炸半径;
为爆炸前的位置;
对于爆炸点Xi,获取产生高斯变异火花的多个爆炸方向;对于第j个爆炸方向,利用公式确定高斯变异火花的位置 其中e~N(1,1),N(1,1)表示均值为1、方差为
1的高斯分布函数。
6.根据权利要求5所述的方法,其特征在于,所述确定高斯变异火花的位置之后,还包括:判断所述爆炸火花的位置是否超出可行域的边界范围,得到第一判断结果;
当所述第一判断结果表示所述爆炸火花的位置超出可行域的边界范围时,利用公式将第K个爆炸方向的爆炸火花的位置更新为其中XUB,k为所述可行域的上边界,XLB,k为所述可行域的下边界;
判断所述高斯变异火花的位置是否超出可行域的边界范围,得到第二判断结果;
当所述第二判断结果表示所述高斯变异火花的位置超出可行域的边界范围时,利用公式 将第j个爆炸方向的高斯变异火花的位置更新为
7.一种基于搜索引擎的关键词推荐系统,其特征在于,所述系统包括:输入信息获取模块,用于获取用户输入搜索引擎的输入信息;
数据信息获取模块,用于根据所述用户的输入信息,从引擎数据库中获取与所述输入信息相关的数据信息;所述与所述输入信息相关的数据信息包括N条数据信息;
爆炸次数获取模块,用于获取烟花算法的爆炸次数M;
爆炸点获取模块,用于根据所述N条数据信息、所述爆炸次数M获取烟花算法第K次爆炸的爆炸点,其中1≤K≤M;
爆炸半径和火花数量获取模块,用于根据所述N条数据信息、所述爆炸次数M获取烟花算法中第K次爆炸的爆炸半径和火花数量;所述爆炸半径和火花数量获取模块,具体包括:第一获取单元,用于当K=1时,获取预设的爆炸半径和火花数量作为第1次爆炸的爆炸半径和火花数量;第二获取单元,用于当2≤K≤M时;利用公式确定第次爆炸的爆炸点Xi的爆炸半径Ri;利用公式 确定第K次爆炸的爆炸点Xi的火花数量Si;其中,f(Xi)为爆炸点Xi的适应度值,ymin=min(f(Xj)),ymax=max(f(Xj)),(j=1,2,…N),ymin为第K-1火花中所有n个火花的适应度值中的最小值,ymax为第K-1火花中所有n个火花的适应度值中的最大值; 为烟花算法中预设的最大半径,为所述烟花算法中预设的火花数量最大值;ε为机器最小量;所述第K-1火花为第K-1次爆炸后产生的火花;
爆炸模块,用于采用烟花算法进行爆炸,获得与所述用户的输入信息相关的关键词;最后一次爆炸产生的火花所在位置对应的关键词即为与所述用户的输入信息相关的关键词;
关键词推荐模块,用于将所述关键词通过所述搜索引擎推荐给用户,供所述用户选择。
8.根据权利要求7所述的系统,其特征在于,所述爆炸点获取模块,具体包括:第一爆炸点确定单元,用于当K=1时,将所述N条数据信息确定为烟花算法的初始种群,将所述N条数据信息的N个位置确定为第1次爆炸的N个爆炸点;
第二爆炸点确定单元,用于当2≤K≤M-1时,获得第K-1火花的适应度值;所述第K-1火花为第K-1次爆炸后产生的火花;将所述第K-1火花中适应度值最小的火花确定为第K次爆炸的一个爆炸点;根据所述第K-1火花中火花之间的距离,利用选中概率确定第K次爆炸的其余N-1个爆炸点;
第三爆炸点确定单元,用于当K=M时,获得第M-1火花的适应度值;所述第M-1火花为第M-1次爆炸后产生的火花;将所述第M-1火花中适应度值最小的火花确定为第M次爆炸的一个爆炸点。