覆盖式优化设置关键字的方法与流程

文档序号:14156947阅读:157来源:国知局

本发明涉及手机应用程序的名称选择的方法,尤其是涉及一种覆盖式优化设置关键字的方法。



背景技术:

手机软件:主要指安装在智能手机上的软件,完善原始系统的不足与个性化;同时也是手机完善其功能,为用户提供更丰富的使用体验的主要手段;同时appstore为手机软件商城,手机用户能于商城寻找、选择、下载所需的手机软件,而如何能将自己开发的软件容易被使用者搜索到是手机开发商的重要课题之一。

现有的开发商在对其开发出来的手机软件,如何令用户优化搜索引擎关键词设置,让其有更大机会被搜索到。现有的优化方法大多只能针对特定语言进行关键字分析,同时无法达到关键词的覆盖,即搜索不完整,进而具有分析不全面等不足。



技术实现要素:

本发明解决的问题是现有的优化方法大多只能针对特定语言进行关键字分析,同时无法达到关键词的覆盖,即搜索不完整,进而具有分析不全面等不足。

为解决上述问题,本发明提供一种覆盖式优化设置关键字的方法的技术方案,包括如下步骤:

覆盖式优化设置关键字的方法,提供《切词词典》并读入,再进行如下步骤:

步骤1:构建《关键词词典》,其载入手机应用商城中任一手机软件的名称及于手机应用商城中搜索应用软件的热度词,《关键词词典》中载入的任一关键词包括前缀及关键词本身;

步骤2:切词处理,通过《切词词典》对输入的文本字符串进行切词处理,记录字符串被切词后产生的多个分词:

步骤3:各分词对比,运用递归对切好的每个分词于《关键词词典》进行对比,得到每个分词的权重及搜索结果数;

步骤4:组词对比,多个分词中一个分词与任意另外一分词进行组合,形成组合词,在将组合词于《关键词词典》中进行递归的对比,得到组合词的权重及搜索结果数;组合词再与任意另外一分词进行拼接组合,进而再对组合后的词语于《关键词词典》中进行递归的对比,直至拼接至切好分词中最后一个,则完成组对比,从而获得出拼接而得词语的权重及搜索结果数,以进行筛选优化处理。

进一步优选的:所述步骤1中的《关键词词典》的具体创建步骤如下:

步骤1.1:打开储备文件,其中文件中存储有各个国家与地区的手机应用商城中关键词、关键词热度及关键词搜索结果:

步骤1.2:对于任意一个关键词,创建一个structword_info存储其权重和搜索结果数,并将成员变量tag设置成true以代表这是一个关键词;

步骤1.3:将步骤1.2中关键词的所有前缀也存入《关键词词典》以便在之后的递归中找到该关键词,同时创建前缀的word_info,并将权重及搜索结果数均设置为0,tag设置成false以代表这是关键词的前缀。

进一步优选的:所述步骤3中利用《切词词典》切好的分词以pair<string,int>的形式保存在map1里的,具体步骤如下:

步骤3.1:map1中存储了输入的词及其重复数,进而每拿出一个分词,就将其重复数减一,若重复数为0,则将这个分词从map1中删去。

进一步优选的:所述步骤4包括对组合词的对比的具体步骤4.1如下:

步骤4.11:利用for循环,分别从map1中拿出下一个分词和步骤3.1.1的分词作组合,形成组合词,如果拼接好的词存在《关键词词典》中,则进入下一层,否则继续循环;

步骤4.1.2:若步骤4.1.1组合词在《关键词词典》中,则将这个组合词传入下一层与其他分词拼接,进而每一层都通过for循环将所有剩下分词分别拼接到当前拼接词末尾,直到当前所拼接的词不在《关键词词典》中或者map1中剩下词为0,则返回;

步骤4.1.3:如果当前所拼接的组合词在《关键词词典》中并且tag为true,记录这个词的权重和搜索结果数,以pair<string,word_info>的形式存储于map2中,并更新组成拼接词的所有词的可覆盖列表;

步骤4.1.4:当循环结束,输出map2中的总覆盖关键词及其热度和搜索结果数,同时按照热度倒排。

进一步优选的:所述步骤4还包括一步骤4.2:更新输入词的可覆盖列表,且具体步骤如下:

步骤4.2.1:每个存储在map1里的词都有一个set存储这个输入词可以覆盖的关键词列表,即可以通过这个输入词组成的词;

步骤4.2.2:当在深度优先的遍历中找到一个拼接后词存在于《关键词词典》中并且tag为true,将此分词存储到组成这个拼接后词的所有输入词的set中;

步骤4.2.3:输出所有输入词的可覆盖信息。

进一步优选的:所述步骤4.2.3中具体步骤如下:

步骤4.2.3.1:计算每个输入词的覆盖列表中所有词的个数count,简称覆盖词,下同;

步骤4.2.3.2:计算覆盖词的平均权重ave_hot;

步骤4.2.3.3:计算覆盖词的平均搜索结果数ave_result;

步骤4.2.3.4:以json形式输出覆盖词,ave_hot,ave_result及count;

步骤4.2.3.5:排序时按照公式ave_hot*count/(总关键词覆盖列表的个数)倒排。

进一步优选的:所述步骤4还包括优化及删去重复的词的步骤如下:

步骤4.3:通过最初的map1(输入词及重复数)输出重复数大于1的输入词,以便开发商优化及删去重复的词。

与现有技术相比,本发明具有以下优点:

本发明可以对任意字符串在任意搜索引擎环境下面做关键词覆盖分析;同时还可以支持多种语言下面的关键词分析;且分析出来的关键词覆盖全面,真实地还原出实际的搜索情况。

附图说明

图1是本发明实施例流程框图;

图2是本发明实施例中pc端界面示意图;

图3是本发明实施例于pc端进行具体操作示意图及搜索结果图一;

图4是本发明实施例于pc端进行具体操作示意图及搜索结果图二;

图5是本发明实施例于pc端进行具体操作示意图及搜索结果图三;

图6是本发明实施例于pc端进行具体操作示意图及搜索结果图四。

具体实施方式

现有的开发商在对其开发出来的手机软件,如何令用户优化搜索引擎关键词设置,让其有更大机会被搜索到。现有的优化方法大多只能针对特定语言进行关键字分析,同时无法达到关键词的覆盖,即搜索不完整,进而具有分析不全面等不足。

发明人针对上述技术问题,经过对原因的分析,不断研究发现一种覆盖式优化设置关键字的方法:提供《切词词典》并读入,再进行如下步骤:

步骤1:构建《关键词词典》,其载入手机应用商城中任一手机软件的名称及于手机应用商城中搜索应用软件的热度词,《关键词词典》中载入的任一关键词包括前缀及关键词本身;

步骤2:切词处理,通过《切词词典》对输入的文本字符串进行切词处理,记录字符串被切词后产生的多个分词:

步骤3:各分词对比,运用递归对切好的每个分词于《关键词词典》进行对比,得到每个分词的权重及搜索结果数;

步骤4:组词对比,多个分词中一个分词与任意另外一分词进行组合,形成组合词,在将组合词于《关键词词典》中进行递归的对比,得到组合词的权重及搜索结果数;组合词再与任意另外一分词进行拼接组合,进而再对组合后的词语于《关键词词典》中进行递归的对比,直至拼接至切好分词中最后一个,则完成组对比,从而获得出拼接而得词语的权重及搜索结果数,以进行筛选优化处理。

本发明通过构建《关键词字典》,在通过将输入的字符串进行切词,进而运用运用递归切好的词进行排列组合生成可覆盖关键词列表,同时分析重复的输入词及每个输入词的可覆盖关键词的平均信息,从而获取对字符串关键词、前缀的分析,达到覆盖全面、不遗漏的目的,从而实现真实地还原出实际的搜索情况,进而满足软件开发商的需求。

下面结合附图对本发明的具体实施方式做详细的说明。

实施例:

结合图1所示,本发明的目的在于通过给定的任意文本字符串及特定搜索引擎关键词列表,自动分析出该文本在给定的搜索引擎中可能覆盖的关键词列表(即能被哪些关键词搜索到),从而能帮助客户优化搜索引擎关键词设置,让其有更大机会被搜索到。

本发明通过如下步骤实现关键词覆盖搜索:

前提:读入《切词词典》用于将输入的文本进行切词处理,其中所述的《切词词典》按照现有的切词规则将字符串进行切词处理的切词数据库。

步骤1:按下述方法构建《关键词词典》:

步骤1.1:其载入手机应用商城中任一手机软件的名称及于手机应用商城中搜索应用软件的热度词,《关键词词典》中载入的任一关键词包括前缀及关键词本身,具体的说:所述应用商店至少包括:预安装的、手机生产厂商的、搜索引擎公司的、电商的以及移动运营商的应用商店在内的各类专门的应用商店,所述条件是指:只要在注册用户数量,日均用户访问量、月累计下载量或日累计下载量、商店可供下载的应用数量这四个条件中有任何一条满足预设的下限阈值就认为符合条件;并建立一个文件夹作为保存安装文件的共享目录,把每个装有应用商店客户端文件推送到所述共享目录下的相应文件夹中,并把安装的所有应用程序app的基本信息以及所述文件在共享目录中的文件路径、版本信息都保存到便于检索的文件或软件中,进而《关键词词典》存储各个国家与地区关键词的数据库,,数据库中存储有关键词,关键词热度及关键词搜索结果数;

步骤1.2:对于任意一个关键词,创建一个structword_info存储其权重和搜索结果数,并将成员变量tag设置成true以代表这是一个关键词。

步骤1.3:将步骤1.2中关键词的所有前缀也存入《关键词词典》以便在之后的递归中找到该词,同时创建前缀的word_info,并将权重及搜索结果数均设置为0,tag设置成false以代表这是前缀。例如对于关键词“角色游戏”,创建的所有前缀word_info有“角”,“角色”,“角色游”,所述“角色游戏”的一个关键词word_info的tag为true。关键词与其word_info将以pair的形式存在map2中方便查找。

步骤2:通过《切词词典》对输入的文本字符串进行切词处理,记录每个词出现的次数并以pair<string,int>的形式保存在map1里。

步骤3:各分词对比,运用递归对切好的每个分词于《关键词词典》进行对比,得到每个分词的权重及搜索结果数;

步骤3.1:map1中存储了输入的词及其重复数,进而每拿出一个分词,就将其重复数减一,若重复数为0,则将这个分词从map1中删去。

步骤4:组词对比,多个分词中一个分词与任意另外一分词进行组合,形成组合词,在将组合词于《关键词词典》中进行递归的对比,得到组合词的权重及搜索结果数;组合词再与任意另外一分词进行拼接组合,进而再对组合后的词语于《关键词词典》中进行递归的对比,直至拼接至切好分词中最后一个,则完成组对比,从而获得出拼接而得词语的权重及搜索结果数,以进行筛选优化处理;也就是说,运用递归深度优先遍历dfs对map1中切好的分词进行排列组合生成可覆盖关键词列表,同时分析重复的输入词及每个输入词的可覆盖关键词的平均信息。

具体步骤如下:

步骤4.1.1:利用for循环,分别从map1中拿出一个分词和下一个分词拼接,如果拼接好的词存在《关键词词典》中关键词本身或前缀,则进入下一层,否则继续循环对比;

步骤4.1.2:若步骤4.1.1拿出的词在《关键词词典》中,则将这个词传入下一层与其他词拼接,其中每一层都通过for循环将所有剩下词分别拼接到当前拼接词末尾,直到当前所拼接的词不在《关键词词典》中或者map1中剩下词为0,则返回。

步骤4.1.3:如果当前所拼接的词在《关键词词典》中并且tag为true,记录这个词的权重和搜索结果数,以pair<string,word_info>的形式存储于map2中,并更新组成拼接词的所有词的可覆盖列表。

步骤4.1.4:当循环结束,输出map2中的总覆盖关键词及其热度和搜索结果数,按照热度倒排。

步骤4.2:更新输入词的可覆盖列表:

步骤4.2.1:每个存储在map1里的词都有一个set存储这个输入词可以覆盖的关键词列表,即可以通过这个输入词组成的词;

步骤4.2.2:当在深度优先的遍历中找到一个拼接后词存在于《关键词词典》中并且tag为true,将此拼接后词存储到组成这个拼接后词的所有输入词(前缀)的set中。例如输入词为“小”,“医”,“当家”,同时“小医当家”为《关键词词典》中的词,若在递归中遇到拼接词“小医当家”,则将“小医当家”存储到“小”,“医”,“当家”的set中。

步骤4.2.3:输出所有输入词的可覆盖信息:

步骤4.2.3.1:计算每个输入词的覆盖列表中所有词的个数count,简称覆盖词,下同。

步骤4.2.3.2:计算覆盖词的平均权重ave_hot;

步骤4.2.3.3:计算覆盖词的平均搜索结果数ave_result;

步骤4.2.3.4:以json形式输出覆盖词,ave_hot,ave_result及count;

步骤4.2.3.5:排序时按照公式ave_hot*count/总关键词覆盖列表的个数倒排。

步骤4.3:通过最初的map1输入词及重复数输出重复数大于1的输入词,以便开发商优化及删去重复的词。

结合图2所示,按照上述的优化方法,于pc网页端及手机端设计优化界面,该界面中具有国家选择框、应用名称输入框、关键字输入框及“立即分析”的操作键,使用者仅需于关键字输入框或/和应用名称输入框内输入预定的手机软件,再单击“立即分析”的操作键,即可得到相关关键词热度,从而能给予应用这一个关于手机软件名称及其关键字优选选择的方法。

利用上述方法输出的列表中清楚的给出相关分词、组合词及组合词再拼接后的词语的热度,搜索结果数、权重及搜索次数等信息,使用者或用户可以于热度排于前列的词语进行应用名称的设定或给予输入字符串进行有效的调整,从而实现极易被搜索到的目的,从而达到对软件名称及关键词的优化。

以下进行举例说明:

例1:请参阅图3所显示的pc端界面截图及其搜索结果:

步骤1,构建《关键词词典》,且每,于虚拟存储空间或硬盘储存空间内新建一文件夹,该文件夹存放有上述构建的《关键词词典》,从而实现需要跟切好的分词进行有效的调用。例如:关键词“美丽地球”structword_info,而该关键词的前缀为“美”、“美丽”、“美丽地”,且所述关键词structword_info的前缀word_info将以pair的形式存在map2中方便查找。

步骤2:输入字符串为“角色游戏”,将该字符串利用《切词词典》进行切词,形成“角色”、“游戏”两个分词,并将分词以pair<string,int>的形式保存在map1里。

步骤3:将切好的分词“角色”、“游戏”存map1中,调用存放于文件夹中的《关键词词典》,并将各分词与map2中《关键词词典》进行递归对比,将各分词的重复数减一,若重复数为0,则将这个词从map1中删去,若于map2中《关键词词典》没有查到各分词,则进入步骤4.2中进行对《关键词词典》的更新。

步骤4:

步骤4.1.1:将分词“角色”、“游戏”进行拼接组合,形成组合词“角色游戏”,将组合词“角色游戏”与map2的《关键词词典》进行对比,若在map2中对比对相同词语则进行下一层对比,但切好的词语已经结束循环;

步骤4.1.2:以pair<string,word_info>的形式存储于map2中,并更新组成拼接词的所有词的可覆盖列表;

步骤4.1.3:上述循环结束,输出map2中的总覆盖关键词及其热度和搜索结果数,按照热度倒排;

步骤4.2,更新输入词的可覆盖列表:

步骤4.2.1:每个存储在map1里的词都有一个set存储这个输入词可以覆盖的关键词列表,即可以通过这个输入词组成的词;

步骤4.2.2:当在深度优先的遍历中找到一个拼接后词存在于《关键词词典》中并且tag为true,将此拼接后词存储到组成这个拼接后词的所有输入词(前缀)的set中;例如:输入词为“角”,“色”,“游戏”,同时“角色游戏”为《关键词词典》中的词,若在递归中遇到拼接词“角色游戏”,则将“角色游戏”存储到“角”,“色”,“游戏”的set中;

步骤4.2.3:输出所有输入词的可覆盖信息:

步骤4.2.3.1:计算每个输入词的覆盖列表中所有词的个数count,简称覆盖词,下同;

步骤4.2.3.2:计算覆盖词的平均权重ave_hot;

步骤4.2.3.3:计算覆盖词的平均搜索结果数ave_result;

步骤4.2.3.4:以json形式输出覆盖词,ave_hot,ave_result及count;

步骤4.2.3.5:排序时按照公式ave_hot*count/总关键词覆盖列表的个数倒排。

例2:请参阅图4所显示的pc端界面截图及其搜索结果:

步骤1,构建《关键词词典》,于虚拟存储空间或硬盘储存空间内新建一文件夹,该文件夹存放有上述构建的《关键词词典》,从而实现需要跟切好的分词进行有效的调用。例如:关键词“美丽地球”structword_info,而该关键词的前缀为“美”、“美丽”、“美丽地”,且所述关键词structword_info的前缀word_info将以pair的形式存在map2中方便查找。。

步骤2:输入字符串为“手机百度浏览器”,利用分词词典将该字符串进行切词,形成分词为“手机”、“百度”、“浏览器”,并将分词以pair<string,int>的形式保存在map1里。

步骤3:将切好的分词“手机”、“百度”、“浏览器”存map1中,并将各分词与map2中《关键词词典》进行递归对比,将各分词的重复数减一,若重复数为0,则将这个词从map1中删去,若于map2中《关键词词典》没有查到各分词,则进入步骤4.2中进行对《关键词词典》的更新。

步骤4:

步骤4.1.1:将三个分词任意两两组合形成一个组合词,如:将分词“手机”与“百度”或“浏览器”组合拼接,形成组合词“手机百度”或“手机浏览器”,存储于map1中,调用存放于文件夹中的《关键词词典》,再与map2中《关键词词典》进行对比,若在map2中对比对相同词语则进行下一层对比,若无组合词“手机百度”继续循环对比;

步骤4.1.2、组合词“手机百度”再与分词“浏览器”拼接组合,或将“手机浏览器”再与分词“百度”,形成“手机百度浏览器”;

步骤4.1.3:以pair<string,word_info>的形式存储于map2中,并更新组成拼接词的所有词的可覆盖列表;

步骤4.1.4:上述循环结束,输出map2中的总覆盖关键词及其热度和搜索结果数,按照热度倒排;

步骤4.2,更新输入词的可覆盖列表:

步骤4.2.1:每个存储在map1里的词都有一个set存储这个输入词可以覆盖的关键词列表,即可以通过这个输入词组成的词;

步骤4.2.2:当在深度优先的遍历中找到一个拼接后词存在于《关键词词典》中并且tag为true,将此拼接后词存储到组成这个拼接后词的所有输入词(前缀)的set中;例如输入词为“手”,“机”,“百度”,“手机百”,同时“手机百度”为《关键词词典》中的词,若在递归中遇到拼接词“手机百度”,则将“手机百度”存储到“手”,“机”,“百度”,“手机百”的set中;

步骤4.2.3:输出所有输入词的可覆盖信息:

步骤4.2.3.1:计算每个输入词的覆盖列表中所有词的个数count,简称覆盖词,下同;

步骤4.2.3.2:计算覆盖词的平均权重ave_hot;

步骤4.2.3.3:计算覆盖词的平均搜索结果数ave_result;

步骤4.2.3.4:以json形式输出覆盖词,ave_hot,ave_result及count;

步骤4.2.3.5:排序时按照公式ave_hot*count/总关键词覆盖列表的个数倒排。

例3:请参阅图5所显示的pc端界面截图及其搜索结果:

步骤1,构建《关键词词典》,于虚拟存储空间或硬盘储存空间内新建一文件夹,该文件夹存放有上述构建的《关键词词典》,从而实现需要跟切好的分词进行有效的调用。例如:关键词“美丽”、”地球”structword_info,而该关键词的前缀为“美”、“地”,且所述关键词structword_info的前缀word_info将以pair的形式存在map2中方便查找。。

步骤2:输入字符串为“魅力菜谱”,将该字符串利用《切词词典》进行切词,形成“魅力”及“菜谱”两个分词,并将分词以pair<string,int>的形式保存在map1里。

步骤3:将切好的分词“魅力”、“菜谱”存map1中,并将各分词与map2中《关键词词典》进行递归对比,将各分词的重复数减一,若重复数为0,则将这个词从map1中删去,若于map2中《关键词词典》没有查到各分词,则进入步骤4.2中进行对《关键词词典》的更新;。

步骤4:

步骤4.1.1:将分词“魅力”、“菜谱”进行拼接组合,形成组合词“魅力菜谱”,调用存放于文件夹中的《关键词词典》,将组合词“魅力菜谱”与map2的《关键词词典》进行对比,在map2中没有对比到相同词语,意味着魅力”、“菜谱”组合为一个词语的情况几乎为零,同时也可以进入步骤4.2中进行对《关键词词典》的更新;。

综上所述,输入的字符串只能得到“魅力”、“菜谱”两个分词的权重及热度的排序;

步骤4.2,更新输入词的可覆盖列表:

步骤4.2.1:每个存储在map1里的词都有一个set存储这个输入词可以覆盖的关键词列表,即可以通过这个输入词组成的词;

步骤4.2.2:当在深度优先的遍历中找到一个拼接后词存在于《关键词词典》中并且tag为true,将此拼接后词存储到组成这个拼接后词的所有输入词(前缀)的set中;例如输入词为“魅”,“力”,“魅力菜”,“菜谱”,同时“魅力菜谱”为《关键词词典》中的词,若在递归中遇到拼接词“魅力菜谱”,则将“手机百度”存储到“魅”,“力”,“魅力菜”,“菜谱”的set中。

步骤4.2.3:输出所有输入词的可覆盖信息:

步骤4.2.3.1:计算每个输入词的覆盖列表中所有词的个数count,简称覆盖词,下同;

步骤4.2.3.2:计算覆盖词的平均权重ave_hot;

步骤4.2.3.3:计算覆盖词的平均搜索结果数ave_result;

步骤4.2.3.4:以json形式输出覆盖词,ave_hot,ave_result及count;

步骤4.2.3.5:排序时按照公式ave_hot*count/总关键词覆盖列表的个数倒排。

例4:请参阅图5所显示的pc端界面截图及其搜索结果:

步骤1,构建《关键词词典》。

步骤2:于应用名称中输入字符串为“手机百度”,再于关键词中输入字符串“浏览器下载搜索一下app掌上应用网页客户端查询”,利用分词词典将该字符串进行切词,形成多个分词,并将分词以pair<string,int>的形式保存在map1里;

步骤3:将切好的分词存map1中,并将各分词与map2中《关键词词典》进行递归对比,将各分词的重复数减一,若重复数为0,则将这个词从map1中删去;,若于map2中《关键词词典》没有查到各分词,则进入步骤4.2中进行对《关键词词典》的更新。步骤4:

步骤4.1.1:将多个分词任意两两组合形成一个组合词,如:将分词“手机”与“百度”组合拼接,形成组合词“手机百度”,存储于map1中,再与map2中《关键词词典》进行对比,若在map2中对比对相同词语则进行下一层对比,若无组合词“手机百度”继续循环对比;

步骤4.1.2、组合词“手机百度”再与分词“app”拼接组合,或将“手机百度app”再与分词“百度”,形成“手机百度浏览器”;

步骤4.1.3:以pair<string,word_info>的形式存储于map2中,并更新组成拼接词的所有词的可覆盖列表;

步骤4.1.4:上述循环结束,输出map2中的总覆盖关键词及其热度和搜索结果数,按照热度倒排;

步骤4.2,更新输入词的可覆盖列表:

步骤4.2.1:每个存储在map1里的词都有一个set存储这个输入词可以覆盖的关键词列表,即可以通过这个输入词组成的词;

步骤4.2.2:当在深度优先的遍历中找到一个拼接后词存在于《关键词词典》中并且tag为true,将此拼接后词存储到组成这个拼接后词的所有输入词(前缀)的set中;

步骤4.2.3:输出所有输入词的可覆盖信息:

步骤4.2.3.1:计算每个输入词的覆盖列表中所有词的个数count,简称覆盖词,下同;

步骤4.2.3.2:计算覆盖词的平均权重ave_hot;

步骤4.2.3.3:计算覆盖词的平均搜索结果数ave_result;

步骤4.2.3.4:以json形式输出覆盖词,ave_hot,ave_result及count;

步骤4.2.3.5:排序时按照公式ave_hot*count/总关键词覆盖列表的个数倒排。

本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1