CN108491407A - 一种面向代码检索的查询扩展方法 - Google Patents
一种面向代码检索的查询扩展方法 Download PDFInfo
- Publication number
- CN108491407A CN108491407A CN201810067067.5A CN201810067067A CN108491407A CN 108491407 A CN108491407 A CN 108491407A CN 201810067067 A CN201810067067 A CN 201810067067A CN 108491407 A CN108491407 A CN 108491407A
- Authority
- CN
- China
- Prior art keywords
- code
- word
- query
- corpus
- segment
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种面向代码检索的查询扩展方法,包括:A、语料采集和预处理;B、初次检索获取候选扩展词;C、查询扩展词集提取;D、基于扩展查询的二次检索。本发明基于查询词与扩展词的共现信息和扩展词在代码文件内的分布信息实现有效的面向代码检索的查询扩展,有助于改善现有代码检索中查询与代码片段的匹配问题,提升代码检索中扩展查询的质量和代码检索的整体性能。当将本发明应用于真实代码检索场景时,代码检索的准确率可以达到35.34%,显著提升现有代码检索方法的性能,有助于实现代码检索中查询意图的精确理解。
Description
技术领域
本发明涉及代码检索和查询扩展,尤其是一种面向代码检索的查询扩展方法。
背景技术
近年来,随着开源软件项目和工具的广泛普及和应用,基于现有开源项目的改进或再开发逐渐成为软件研发的重要支撑,代码检索作为再开发中代码复用的必要环节变得越来越重要。代码检索旨在根据用户提供的关键词或查询,在指定的代码库中搜索实现某一功能的代码片段,为用户提供相关代码片段的排序列表,供用户从中选择最符合其功能需求的代码片段,用于软件开发或者自身学习,通过代码复用大大缩减软件研发的周期,提高软件开发效率。
有效的代码检索能够很大程度上节约研发人员的研发时间,有效提高其工作效率。然而随着开源项目数量的与日俱增,代码片段数量呈指数级增长,为研发人员获取相关代码片段带来巨大难题,如何根据指定查询从海量的代码片段中检索出相关代码片段得到信息检索相关研究人员的广泛关注,而如何将现有最为有效的检索技术应用于代码检索成为一个新的挑战。
代码检索任务与通用领域信息检索任务的区别主要体现在检索对象的不同,代码检索所涉及的对象是代码片段,而代码片段具有语法规则固定、专业程度高和逻辑性强等特点。因此,直接将现有检索技术直接应用于代码检索往往很难获得理想的效果,需要根据代码的特点和规范有针对性地改进现有技术,用以提升代码检索的性能。在代码检索中用户提交的查询通常只包含若干描述代码功能的关键词,这些查询很难清晰地表明用户的信息需求,并高效匹配与之相关的代码片段,因此查询扩展技术是改善代码检索性能最为有效的技术之一。
发明内容
本发明的目的是提供一种用于提升扩展查询的质量和代码检索的性能的面向代码检索的查询扩展方法。
本发明解决现有技术问题所采用的技术方案:一种面向代码检索的查询扩展方法,包括以下步骤:
A、语料采集和预处理:
a1、代码文件语料采集:采集现有代码库中的代码文件,将代码文件以函数定义为单位切分为代码片段,并将采集到的代码片段保存至代码片段语料库中;所述函数定义以具有返回值类型、函数名、参数名的一行为开始,并以该函数定义的大括号结尾为结束;
a2、语料预处理:包括代码片段语料预处理和用户查询语料预处理;代码片段语料预处理包括:对代码片段语料库中的代码片段进行词语切分处理;词语切分处理的方法为:将代码片段中连接在一起的单词用空格加以切分,将切分得到的单词进行词干化和去停用词处理,并将处理后的单词以词序列的形式保存为代码片段语料集;用户查询语料处理包括:将用户查询语料进行分词处理得到查询词,对查询词进行词干化和去停用词处理,将处理后的查询词以词序列的形式保存为查询词语料集;
B、初次检索获取候选扩展词:以代码片段语料库为检索向量空间建立向量空间模型,将查询词语料集输入向量空间模型中以在代码片段语料库中检索得到与查询词语料集相关的代码片段作为反馈代码片段,并将得到的反馈代码片段根据相似度由高至低保存为检索结果列表的形式;将检索结果列表中排序最为靠前的K个反馈代码片段作为反馈代码片段语料库;根据步骤a2的词语切分处理方法对每个反馈代码片段进行词语切分处理得到候选扩展词;
C、查询扩展词集提取:计算每个候选扩展词的权重:包括以下步骤:
C1、计算每个反馈代码片段在反馈代码片段语料库中的相对权重,计算方法如下:
其中,d表示反馈代码片段语料库D中任意一个反馈代码片段,η(d)表示反馈代码片段d在反馈代码片段语料库中的相对权重;i表示同时出现在反馈代码片段d所在的代码文件file(d)和反馈代码片段语料库D中的反馈代码片段,rank(i)和rank(d)分别表示反馈代码片段i和反馈代码片段d在反馈代码片段语料库D中的排列位置;
C2、计算候选扩展词与查询词在反馈代码片段所在的代码文件内的共现频率γ(q,t,d),其计算方式如下:
其中,j表示反馈代码片段d所在的代码文件file(d)中的任意一个代码片段,tf(q,j)和tf(t,j)分别表示在代码片段j中查询词q和候选扩展词t出现的次数,length(j)表示代码片段j中全部词数,min(tf(q,j),tf(t,j))表示tf(q,j)和tf(t,j)中的较小值;
C3、计算候选扩展词的权重,方法如下:
其中,t表示候选扩展词,Q表示查询词语料集,q是查询词语料集中的任意查询词,idf(t)表示候选扩展词t的逆文档频率,即包含候选扩展词t的代码片段个数的倒数,tf(t,d)和tf(q,d)表示在反馈代码片段d中候选扩展词t和查询词q出现的次数,N是反馈代码片段d中包含的单词的总数;
C4、提取查询扩展词集:
将候选扩展词按照其权重由高至低排序,选择排序中前M个候选扩展词加入到查询词语料集中作为查询扩展词集,所述查询扩展词集中的词作为查询扩展词;
D、基于扩展查询的二次检索:以代码片段语料库为检索向量空间建立向量空间模型,将所述查询扩展词输入向量空间模型中以在代码片段语料库中检索得到与查询扩展词相关的代码片段作为的检索代码片段结果列表。
步骤B中,K为20。
所述用户查询语料为以自然语言描述的与代码相关的语句。
所述向量空间模型中,将组成查询词语料集、查询扩展词集与代码片段语料库的各元素均以词典维度的向量形式表示为查询向量、扩展查询向量及代码片段向量,所述各元素为:经过词干化和去停用词处理的查询词、查询扩展词及代码片段;其中,查询向量、扩展查询向量及代码片段向量中各向量维度的权重值为对应词的TFIDF值,所述对应词为各元素中所包含的词语;其计算方式为:
其中,Num表示代码片段语料库中代码片段的总数,doc(t)表示包含对应词t的代码片段数量,d表示代码片段语料库中任意一个代码片段,tf(t,d)表示在代码片段d中对应词t出现的次数,length(d)表示代码片段d中总词数;
通过TFIDF(t)将所有代码片段语料库中的代码片段表示为词典维度的向量,计算查询向量、扩展查询向量与各个代码片段向量的余弦相似度,以得到用户查询语料与各个代码片段的相似度得分,并根据相似度得分由高至低对代码片段进行排序。
本发明的有益效果在于:本发明基于查询词与扩展词的共现信息和扩展词在代码文件内的分布信息实现有效的面向代码检索的查询扩展,有助于改善现有代码检索中查询与代码片段的匹配问题,提升代码检索中扩展查询的质量和代码检索的整体性能。当将本发明应用于真实代码检索场景时,代码检索的准确率可以达到35.34%,显著提升现有代码检索方法的性能,有助于实现代码检索中查询意图的精确理解。
附图说明
图1是本发明的流程图。
具体实施方式
以下结合附图及具体实施方式对本发明进行说明:
如图1所示,一种面向代码检索的查询扩展方法,包括以下步骤:
A、语料采集和预处理:
a1、代码文件语料采集:采集现有的在线开源代码库Github中的Java语言编写的代码文件,将代码文件以函数定义为单位切分为代码片段,并将采集到的代码片段保存至代码片段语料库中;其中,函数定义以具有返回值类型、函数名、参数名的一行为开始,并以该函数定义的大括号结尾为结束;这里的函数具体指如代码程序中的Function或者Method。由于在实际的代码程序中一个函数对应着一个子功能的实现,因此,以此为单位有利于相关代码片段的重复使用,是代码重构环节的基本单位。
a2、语料预处理:包括代码片段语料预处理和用户查询语料预处理;代码片段语料预处理包括:对代码片段语料库中的代码片段进行词语切分处理;词语切分处理的方法为:将代码片段中连接在一起的单词用空格加以切分(例如将RehearsalAudioRecorder切分为Rehearsal Audio Recorder),将切分得到的单词进行词干化和去停用词处理,并将处理后的单词以词序列的形式保存为代码片段语料集,以便于后续检索和匹配;用户查询语料处理包括:将用户查询语料进行分词处理,得到查询词,对查询词进行词干化和去停用词处理,将处理后的查询词以词序列的形式保存为查询词语料集,便于后续检索和匹配;
其中,本发明中的用户查询语料具体为采用自然语言描述的与代码相关的问题语句。为模拟真实检索场景,本发明采集在线社区问答网站StackOverFlow上的问题语句作为用户查询语料,用户查询语料均采用自然语言描述。本发明的检索的目标是检索出最符合查询描述的代码片段。在语料预处理过程中,将用户查询语料进行分词处理,得到查询词,并对查询词进行词干化处理和去停用词。
B、初次检索获取候选扩展词:以代码片段语料库为检索向量空间建立经典的向量空间模型,将查询词语料集输入向量空间模型中以在代码片段语料库中检索得到与查询词语料集相关的代码片段作为反馈代码片段,并将得到的反馈代码片段根据相似度由高至低保存为检索结果列表的形式;然后将检索结果列表中排序最为靠前的20个反馈代码片段作为反馈代码片段语料库;根据步骤a2的词语切分处理方法对每个反馈代码片段进行词语切分处理得到候选扩展词;其中,向量空间模型VSM是信息检索中的经典方法,可以用以计算查询与各个代码片段的文本相似度,并可根据相似度由高至低给出代码片段的排序序列。
由于查询词语料集中通常仅包含少量关键词,检索结果很难覆盖全部相关代码片段,因此本发明的核心在于找出与用户查询语料最相关的一些词,补充和完善查询以提高检索准确率,即查询扩展词集提取。
C、查询扩展词集提取:计算每个候选扩展词的权重时需要考虑两方面因素:一是候选扩展词与查询词共同出现的频率,二是候选扩展词在代码片段中的重要程度。将所获的候选扩展词权重作为选择最终扩展词的依据,将候选扩展词按照权重由高至低排序,选择排序列表中前M个词作为扩展词,加入到查询词语料集中,构成查询扩展词集。
包括以下步骤:
C1、计算每个反馈代码片段在反馈代码片段语料库中的相对权重,计算方法如下:
其中,d表示反馈代码片段语料库D中任意一个反馈代码片段,η(d)表示反馈代码片段d在反馈代码片段语料库中的相对权重;i表示同时出现在反馈代码片段d所在的代码文件file(d)和反馈代码片段语料库D中的反馈代码片段,rank(i)和rank(d)分别表示反馈代码片段i和反馈代码片段d在反馈代码片段语料库D中的排列位置;
C2、计算候选扩展词与查询词在反馈代码片段所在的代码文件内的共现频率γ(q,t,d),其计算方式如下:
其中,j表示反馈代码片段d所在的代码文件file(d)中的任意一个代码片段,tf(q,j)和tf(t,j)分别表示在代码片段j中查询词q和候选扩展词t出现的次数,length(j)表示代码片段j中全部词数,min(tf(q,j),tf(t,j))表示tf(q,j)和tf(t,j)中的较小值;
C3、计算候选扩展词的权重,方法如下:
其中,t表示候选扩展词,Q表示查询词语料集,q是查询词语料集中的任意查询词,idf(t)表示候选扩展词t的逆文档频率,即包含候选扩展词t的代码片段个数的倒数,tf(t,d)和tf(q,d)表示在反馈代码片段d中候选扩展词t和查询词词q出现的次数,N是反馈代码片段d中包含的单词的总数;
C4、提取查询扩展词集:
将候选扩展词按照权重由高至低排序,选择排序中前M个候选扩展词加入到查询词语料集中作为查询扩展词集。
得到的查询扩展词集用来对用户查询语料进行补充和完善。
其中,步骤C的整体设计思路如下:
首先,计算候选扩展词与查询词的共现分值,其计算方式为:
其中,t表示任意候选扩展词,Q表示查询词语料集,q是查询词语料集中的任意查询词,idf(t)表示候选扩展词t的逆文档频率,即包含候选扩展词t的代码片段个数的倒数,tf(t,d)和tf(q,d)表示在反馈代码片段d中候选扩展词t和查询词词q出现的次数,N是反馈代码片段d中包含的单词的总数。该公式用于计算候选扩展词与查询词的共现分值。在此基础上,为进一步考虑代码片段信息,根据出现在不同代码文件中的片段在反馈代码片段集合中的分布情况,对反馈代码片段进行加权。在加权过程中考虑两方面因素,一方面是同一个代码文件中包含的反馈代码片段的个数;另一方面是包含在指定文件中代码片段在整个反馈代码片段集合中的排列位置。反馈代码片段在整个反馈文档集合中的相对权重计算方式如下:
其中,d表示反馈代码片段语料库D中任意一个反馈代码片段,η(d)表示反馈代码片段d在反馈代码片段语料库中的相对权重;i表示同时出现在反馈代码片段d所在的代码文件file(d)和反馈代码片段语料库D中的反馈代码片段,rank(i)和rank(d)分别表示反馈代码片段i和反馈代码片段d在反馈代码片段语料库D中的排列位置。在此基础上,本发明进一步考虑代码片段所在文件内扩展词与查询词的共现信息,其计算方式如下:
其中,j表示反馈代码片段d所在的代码文件file(d)中的任意一个代码片段,tf(q,j)和tf(t,j)分别表示在代码片段j中查询词q和候选扩展词t出现的次数,length(j)表示代码片段j中全部词数,min(tf(q,j),tf(t,j))表示tf(q,j)和tf(t,j)中的较小值。最后,将上述反馈代码片段权重和基于代码文件的词共现信息融入扩展词共现公式,作为最终的候选扩展词权重计算方法,如下所示:
D、基于扩展查询的二次检索:以代码片段语料库为检索向量空间建立向量空间模型,将查询扩展词集输入向量空间模型中以在代码片段语料库中检索得到与查询扩展词集相关的代码片段作为的检索代码片段结果列表。
针对查询词语料集“record audio sound”,经过本发明可得到如下查询扩展词集“record audio sound buffer media recording size get context recorder”,该查询扩展词集在很大程度上丰富用户查询语料的语义内涵,实现更为精准的查询理解,改善代码检索性能。
需要说明的是:本发明在B、初次检索获取候选扩展词和D、基于扩展查询的二次检索中均用到了常规的向量空间模型,即将组成查询词语料集、查询扩展词集与代码片段语料库的各元素(即:经过词干化和去停用词处理的查询词、查询扩展词及代码片段)均以词典维度的向量形式表示为查询向量、扩展查询向量及代码片段向量,其中,查询向量、扩展查询向量及代码片段向量中各维度的权重值为对应词项的TFIDF值,上述向量维度均为词典维度,因此,对应词就是词典中全部的词(即对应词为各元素中所包含的词语),根据下面的计算公式,经过词干化和去停用词处理的查询词、查询扩展词及代码片段中出现的词可以得到对应的TFIDF值,而查询、扩展查询及代码片段中没有出现的词由于计算结果是tf等于0,TFIDF值也就等于0,所以下面的公式可以计算全部词的TFIDF值其计算方式为:
其中,Num表示代码片段语料库中代码片段的总数,doc(t)表示包含查询词t的代码片段数量,d表示代码片段语料库中任意一个代码片段,tf(t,d)表示在代码片段d中查询词t出现的次数,length(d)表示代码片段d中总词数。通过该公式可以将所有代码片段语料库中的代码片段表示为词典维度的向量,进而通过计算查询向量和各个代码片段向量的余弦相似度,可以得到用户查询语料与各个代码片段的相似度得分,根据得分由高至低对代码片段排序。
以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (4)
1.一种面向代码检索的查询扩展方法,其特征在于,包括以下步骤:
A、语料采集和预处理:
a1、代码文件语料采集:采集现有代码库中的代码文件,将代码文件以函数定义为单位切分为代码片段,并将采集到的代码片段保存至代码片段语料库中;所述函数定义以具有返回值类型、函数名、参数名的一行为开始,并以该函数定义的大括号结尾为结束;
a2、语料预处理:包括代码片段语料预处理和用户查询语料预处理;代码片段语料预处理包括:对代码片段语料库中的代码片段进行词语切分处理;词语切分处理的方法为:将代码片段中连接在一起的单词用空格加以切分,将切分得到的单词进行词干化和去停用词处理,并将处理后的单词以词序列的形式保存为代码片段语料集;用户查询语料处理包括:将用户查询语料进行分词处理得到查询词,对查询词进行词干化和去停用词处理,将处理后的查询词以词序列的形式保存为查询词语料集;
B、初次检索获取候选扩展词:以代码片段语料库为检索向量空间建立向量空间模型,将查询词语料集输入向量空间模型中以在代码片段语料库中检索得到与查询词语料集相关的代码片段作为反馈代码片段,并将得到的反馈代码片段根据相似度由高至低保存为检索结果列表的形式;将检索结果列表中排序最为靠前的K个反馈代码片段作为反馈代码片段语料库;根据步骤a2的词语切分处理方法对每个反馈代码片段进行词语切分处理得到候选扩展词;
C、查询扩展词集提取:计算每个候选扩展词的权重:包括以下步骤:
C1、计算每个反馈代码片段在反馈代码片段语料库中的相对权重,计算方法如下:
其中,d表示反馈代码片段语料库D中任意一个反馈代码片段,η(d)表示反馈代码片段d在反馈代码片段语料库中的相对权重;i表示同时出现在反馈代码片段d所在的代码文件file(d)和反馈代码片段语料库D中的反馈代码片段,rank(i)和rank(d)分别表示反馈代码片段i和反馈代码片段d在反馈代码片段语料库D中的排列位置;
C2、计算候选扩展词与查询词在反馈代码片段所在的代码文件内的共现频率γ(q,t,d),其计算方式如下:
其中,j表示反馈代码片段d所在的代码文件file(d)中的任意一个代码片段,tf(q,j)和tf(t,j)分别表示在代码片段j中查询词q和候选扩展词t出现的次数,length(j)表示代码片段j中全部词数,min(tf(q,j),tf(t,j))表示tf(q,j)和tf(t,j)中的较小值;
C3、计算候选扩展词的权重,方法如下:
其中,t表示候选扩展词,Q表示查询词语料集,q是查询词语料集中的任意查询词,idf(t)表示候选扩展词t的逆文档频率,即包含候选扩展词t的代码片段个数的倒数,tf(t,d)和tf(q,d)表示在反馈代码片段d中候选扩展词t和查询词q出现的次数,N是反馈代码片段d中包含的单词的总数;
C4、提取查询扩展词集:
将候选扩展词按照其权重由高至低排序,选择排序中前M个候选扩展词加入到查询词语料集中作为查询扩展词集,所述查询扩展词集中的词作为查询扩展词;
D、基于扩展查询的二次检索:以代码片段语料库为检索向量空间建立向量空间模型,将所述查询扩展词输入向量空间模型中以在代码片段语料库中检索得到与查询扩展词相关的代码片段作为的检索代码片段结果列表。
2.根据权利要求1所述的一种面向代码检索的查询扩展方法,其特征在于,步骤B中,K为20。
3.根据权利要求1所述的一种面向代码检索的查询扩展方法,其特征在于,所述用户查询语料为以自然语言描述的与代码相关的语句。
4.根据权利要求1所述的一种面向代码检索的查询扩展方法,其特征在于,所述向量空间模型中,将组成查询词语料集、查询扩展词集与代码片段语料库的各元素均以词典维度的向量形式表示为查询向量、扩展查询向量及代码片段向量,所述各元素为:经过词干化和去停用词处理的查询词、查询扩展词及代码片段;其中,查询向量、扩展查询向量及代码片段向量中各向量维度的权重值为对应词的TFIDF值,所述对应词为各元素中所包含的词语;其计算方式为:
其中,Num表示代码片段语料库中代码片段的总数,doc(t)表示包含对应词t的代码片段数量,d表示代码片段语料库中任意一个代码片段,tf(t,d)表示在代码片段d中对应词t出现的次数,length(d)表示代码片段d中总词数;
通过TFIDF(t)将所有代码片段语料库中的代码片段表示为词典维度的向量,计算查询向量、扩展查询向量与各个代码片段向量的余弦相似度,以得到用户查询语料与各个代码片段的相似度得分,并根据相似度得分由高至低对代码片段进行排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810067067.5A CN108491407B (zh) | 2018-01-24 | 2018-01-24 | 一种面向代码检索的查询扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810067067.5A CN108491407B (zh) | 2018-01-24 | 2018-01-24 | 一种面向代码检索的查询扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108491407A true CN108491407A (zh) | 2018-09-04 |
CN108491407B CN108491407B (zh) | 2021-01-08 |
Family
ID=63343742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810067067.5A Active CN108491407B (zh) | 2018-01-24 | 2018-01-24 | 一种面向代码检索的查询扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108491407B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110716749A (zh) * | 2019-09-03 | 2020-01-21 | 东南大学 | 一种基于功能相似度匹配的代码搜索方法 |
CN111159223A (zh) * | 2019-12-31 | 2020-05-15 | 武汉大学 | 一种基于结构化嵌入的交互式代码搜索方法及装置 |
CN112328743A (zh) * | 2020-11-03 | 2021-02-05 | 北京嘀嘀无限科技发展有限公司 | 代码搜索方法、装置、可读存储介质和电子设备 |
CN113569128A (zh) * | 2020-04-29 | 2021-10-29 | 北京金山云网络技术有限公司 | 数据检索方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205172A1 (en) * | 2009-02-09 | 2010-08-12 | Robert Wing Pong Luk | Method for using dual indices to support query expansion, relevance/non-relevance models, blind/relevance feedback and an intelligent search interface |
CN102254039A (zh) * | 2011-08-11 | 2011-11-23 | 武汉安问科技发展有限责任公司 | 一种基于搜索引擎的网络搜索方法 |
CN102663010A (zh) * | 2012-03-20 | 2012-09-12 | 复旦大学 | 基于标注语义的个性化图像浏览与推荐方法及*** |
CN105912634A (zh) * | 2016-04-05 | 2016-08-31 | 扬州大学 | 一种面向软件代码检索的查询语句重新生成方法 |
-
2018
- 2018-01-24 CN CN201810067067.5A patent/CN108491407B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205172A1 (en) * | 2009-02-09 | 2010-08-12 | Robert Wing Pong Luk | Method for using dual indices to support query expansion, relevance/non-relevance models, blind/relevance feedback and an intelligent search interface |
CN102254039A (zh) * | 2011-08-11 | 2011-11-23 | 武汉安问科技发展有限责任公司 | 一种基于搜索引擎的网络搜索方法 |
CN102663010A (zh) * | 2012-03-20 | 2012-09-12 | 复旦大学 | 基于标注语义的个性化图像浏览与推荐方法及*** |
CN105912634A (zh) * | 2016-04-05 | 2016-08-31 | 扬州大学 | 一种面向软件代码检索的查询语句重新生成方法 |
Non-Patent Citations (3)
Title |
---|
XU K等: "Learning to rank based query expansion for patent retrieval", 《,JOURNAL OF COMPUTATIONAL INFORMATION SYSTEMS》 * |
王旭阳等: "基于本体和局部共现的查询扩展方法", 《计算机科学》 * |
许侃等: "专利查询扩展的词向量方法研究", 《计算机科学与探索》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110716749A (zh) * | 2019-09-03 | 2020-01-21 | 东南大学 | 一种基于功能相似度匹配的代码搜索方法 |
CN110716749B (zh) * | 2019-09-03 | 2023-08-04 | 东南大学 | 一种基于功能相似度匹配的代码搜索方法 |
CN111159223A (zh) * | 2019-12-31 | 2020-05-15 | 武汉大学 | 一种基于结构化嵌入的交互式代码搜索方法及装置 |
CN111159223B (zh) * | 2019-12-31 | 2021-09-03 | 武汉大学 | 一种基于结构化嵌入的交互式代码搜索方法及装置 |
CN113569128A (zh) * | 2020-04-29 | 2021-10-29 | 北京金山云网络技术有限公司 | 数据检索方法、装置及电子设备 |
CN112328743A (zh) * | 2020-11-03 | 2021-02-05 | 北京嘀嘀无限科技发展有限公司 | 代码搜索方法、装置、可读存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108491407B (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491407A (zh) | 一种面向代码检索的查询扩展方法 | |
CN102411621A (zh) | 一种基于云模型的中文面向查询的多文档自动文摘方法 | |
CN104281565A (zh) | 语义词典构建方法和装置 | |
Ushio et al. | Back to the basics: A quantitative analysis of statistical and graph-based term weighting schemes for keyword extraction | |
Arguello et al. | Using query performance predictors to reduce spoken queries | |
CN111159381A (zh) | 数据搜索方法及装置 | |
CN108595413B (zh) | 一种基于语义依存树的答案抽取方法 | |
CN110889292A (zh) | 一种基于句义结构模型的文本数据生成观点摘要的方法及*** | |
CN101840438B (zh) | 面向源文献元关键词的检索*** | |
Juan | An effective similarity measurement for FAQ question answering system | |
MacAvaney et al. | Overcoming low-utility facets for complex answer retrieval | |
CN110705285B (zh) | 一种政务文本主题词库构建方法、装置、服务器及可读存储介质 | |
Yu et al. | Key-phrase extraction based on a combination of CRF model with document structure | |
CN102508920B (zh) | 一种基于Boosting分类算法的信息检索方法 | |
Shi et al. | A product features mining method based on association rules and the degree of property co-occurrence | |
Duan et al. | Research on Enterprise Track of TREC 2007 at SJTU APEX Lab. | |
CN113642325A (zh) | 一种融合文本结构信息和语义信息的文本关键词抽取方法 | |
CN108959555B (zh) | 查询式的扩展方法、装置、计算机设备及存储介质 | |
Wang et al. | Query construction based on concept importance for effective patent retrieval | |
CN101826075A (zh) | 一种基于语言模型的排序算法 | |
Li | Product feature extraction with a combined approach | |
CN109783690A (zh) | 一种视频查询方法及装置 | |
Zhao et al. | Summarization of Coal Mine Accident Reports: A Natural-Language-Processing-Based Approach | |
Shakhovska et al. | The method of automatic summarization from different sources | |
CN104090966A (zh) | 基于图模型的半结构化数据检索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |