预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN106294786A(43)申请公布日2017.01.04(21)申请号201610665959.6(22)申请日2016.08.12(71)申请人北京创新乐知信息技术有限公司地址100102北京市朝阳区广顺北大街33号院6号楼8层(72)发明人陈栋(74)专利代理机构北京市铸成律师事务所11313代理人郝文博郗名悦(51)Int.Cl.G06F17/30(2006.01)权利要求书4页说明书8页附图6页(54)发明名称一种代码搜索方法和系统(57)摘要本发明提供一种代码搜索方法和系统。该方法包括:基于用户输入的搜索词对代码进行一次搜索;对通过一次搜索得到的结果集根据相关性、代码质量、查询意图、用户反馈中的一个或多个进行二次排序;将经过二次排序的所述结果集作为搜索结果返回给所述用户。根据本发明的实施例,可以有效的提高代码搜索的效果,为开发者提供最符合需要、最优质的代码搜索结果。CN106294786ACN106294786A权利要求书1/4页1.一种代码搜索方法,包括:基于用户输入的搜索词对代码进行一次搜索;对通过一次搜索得到的结果集根据相关性、代码质量、查询意图、用户反馈中的一个或多个进行二次排序;将经过二次排序的所述结果集作为搜索结果返回给所述用户。2.根据权利要求1所述的代码搜索方法,其中根据分数对所述结果集进行二次排序进一步包括:根据所述相关性分数、所述代码质量分数、所述查询意图符合度分数和所述用户反馈分数中的一个或多个得到所述结果集中每个结果的二次排序分数;根据每个结果的二次排序分数对所述结果集中的结果进行二次排序。3.根据权利要求2所述的代码搜索方法,其中根据所述相关性分数、所述代码质量分数、所述查询意图符合度分数和所述用户反馈分数中的一个或多个得到所述结果集中每个结果的二次排序分数进一步包括:对所述相关性分数、所述代码质量分数、所述查询意图符合度分数和所述用户反馈分数中的所述一个或多个分别进行归一化;以及根据归一化后的所述一个或多个分数得到所述结果集中每个结果的二次排序分数。4.根据权利要求1所述的代码搜索方法,其中所述相关性分数计算包括对所述结果集进行相关性分析,通过以下方式实现:Nscore_corr=score_orig/logM,其中,score_orig是通过一次搜索得到的所述结果集中每个结果的原始相关性分数;N是所述结果在通过一次搜索得到的所述结果集中的排位数;M为可配置的底数;score_corr是所述结果的计算出的所述相关性分数。5.根据权利要求1所述的代码搜索方法,其中所述代码质量分数计算包括对所述结果集进行代码质量分析,通过以下方式实现:score_qual=score_row*A+score_norm*B+score_func*C,其中,score_row是通过一次搜索得到的所述结果集中每个结果的行数项分数;score_norm是所述结果的书写规范分数;score_func是所述结果的功能复杂度分数;A、B和C是预先配置的权重系数;score_qual是所述结果的计算出的所述代码质量分数。6.根据权利要求1所述的代码搜索方法,其中所述查询意图符合度分数计算包括对结果集进行查询意图分析,通过以下方式实现:其中,a是搜索词映射后的结果;b是搜索集映射后的结果;将a和b进行余弦相似度计算;cosθ是该结果的计算出的查询意图符合度分数,值越大代表相似度越高,结果为1代表完全符合。7.根据权利要求1所述的代码搜索方法,其中所述用户反馈分数计算包括对所述结果集进行用户反馈分析,通过以下方式实现:score_feeb=title_cli*E+unfol_cli*F+fulsce_cli*G,2CN106294786A权利要求书2/4页其中,title_cli是通过一次搜索得到的所述结果集中每个结果的标题点击曝光率;unfol_cli是所述结果的展开点击曝光率;fulsce_cli是所述结果的全屏点击曝光率;E、F和G是预先配置的权重系数;score_feeb是所述结果的计算出的所述用户反馈分数。8.根据权利要求3所述的代码搜索方法,其中所述代码质量分数的归一化通过以下方式实现:score_norm_qual=(score_qual-min)/(max-min)其中,score_qual是每个结果的代码质量分数,min是所述结果集中所有结果的代码质量分数中的最小值,max是所述结果集中所有结果的代码质量分数中的最大值,score_norm_qual是所述结果的归一化的代码质量分数。9.根据权利要求3所述的代码搜索方法,其中所述二次排序分数的计算通过以下方式实现:score_sort=score_norm_corr*M+score_