CN108491407B - 一种面向代码检索的查询扩展方法 - Google Patents

一种面向代码检索的查询扩展方法 Download PDF

Info

Publication number
CN108491407B
CN108491407B CN201810067067.5A CN201810067067A CN108491407B CN 108491407 B CN108491407 B CN 108491407B CN 201810067067 A CN201810067067 A CN 201810067067A CN 108491407 B CN108491407 B CN 108491407B
Authority
CN
China
Prior art keywords
query
code
word
corpus
code 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.)
Active
Application number
CN201810067067.5A
Other languages
English (en)
Other versions
CN108491407A (zh
Inventor
林鸿飞
徐博
林原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201810067067.5A priority Critical patent/CN108491407B/zh
Publication of CN108491407A publication Critical patent/CN108491407A/zh
Application granted granted Critical
Publication of CN108491407B publication Critical patent/CN108491407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

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、计算每个反馈代码片段在反馈代码片段语料库中的相对权重,计算方法如下:
Figure BDA0001557005670000031
其中,d表示反馈代码片段语料库D中任意一个反馈代码片段,η(d)表示反馈代码片段d在反馈代码片段语料库中的相对权重;i表示同时出现在反馈代码片段d所在的代码文件file(d)和反馈代码片段语料库D中的反馈代码片段,rank(i)和rank(d)分别表示反馈代码片段i和反馈代码片段d在反馈代码片段语料库D中的排列位置;
C2、计算候选扩展词与查询词在反馈代码片段所在的代码文件内的共现频率γ(q,t,d),其计算方式如下:
Figure BDA0001557005670000032
其中,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、计算候选扩展词的权重,方法如下:
Figure BDA0001557005670000033
其中,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值,所述对应词为各元素中所包含的词语;其计算方式为:
Figure BDA0001557005670000041
其中,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、计算每个反馈代码片段在反馈代码片段语料库中的相对权重,计算方法如下:
Figure BDA0001557005670000071
其中,d表示反馈代码片段语料库D中任意一个反馈代码片段,η(d)表示反馈代码片段d在反馈代码片段语料库中的相对权重;i表示同时出现在反馈代码片段d所在的代码文件file(d)和反馈代码片段语料库D中的反馈代码片段,rank(i)和rank(d)分别表示反馈代码片段i和反馈代码片段d在反馈代码片段语料库D中的排列位置;
C2、计算候选扩展词与查询词在反馈代码片段所在的代码文件内的共现频率γ(q,t,d),其计算方式如下:
Figure BDA0001557005670000072
其中,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、计算候选扩展词的权重,方法如下:
Figure BDA0001557005670000081
其中,t表示候选扩展词,Q表示查询词语料集,q是查询词语料集中的任意查询词,idf(t)表示候选扩展词t的逆文档频率,即包含候选扩展词t的代码片段个数的倒数,tf(t,d)和tf(q,d)表示在反馈代码片段d中候选扩展词t和查询词词q出现的次数,N是反馈代码片段d中包含的单词的总数;
C4、提取查询扩展词集:
将候选扩展词按照权重由高至低排序,选择排序中前M个候选扩展词加入到查询词语料集中作为查询扩展词集。
得到的查询扩展词集用来对用户查询语料进行补充和完善。
其中,步骤C的整体设计思路如下:
首先,计算候选扩展词与查询词的共现分值,其计算方式为:
Figure BDA0001557005670000082
其中,t表示任意候选扩展词,Q表示查询词语料集,q是查询词语料集中的任意查询词,idf(t)表示候选扩展词t的逆文档频率,即包含候选扩展词t的代码片段个数的倒数,tf(t,d)和tf(q,d)表示在反馈代码片段d中候选扩展词t和查询词词q出现的次数,N是反馈代码片段d中包含的单词的总数。该公式用于计算候选扩展词与查询词的共现分值。在此基础上,为进一步考虑代码片段信息,根据出现在不同代码文件中的片段在反馈代码片段集合中的分布情况,对反馈代码片段进行加权。在加权过程中考虑两方面因素,一方面是同一个代码文件中包含的反馈代码片段的个数;另一方面是包含在指定文件中代码片段在整个反馈代码片段集合中的排列位置。反馈代码片段在整个反馈文档集合中的相对权重计算方式如下:
Figure BDA0001557005670000091
其中,d表示反馈代码片段语料库D中任意一个反馈代码片段,η(d)表示反馈代码片段d在反馈代码片段语料库中的相对权重;i表示同时出现在反馈代码片段d所在的代码文件file(d)和反馈代码片段语料库D中的反馈代码片段,rank(i)和rank(d)分别表示反馈代码片段i和反馈代码片段d在反馈代码片段语料库D中的排列位置。在此基础上,本发明进一步考虑代码片段所在文件内扩展词与查询词的共现信息,其计算方式如下:
Figure BDA0001557005670000092
其中,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)中的较小值。最后,将上述反馈代码片段权重和基于代码文件的词共现信息融入扩展词共现公式,作为最终的候选扩展词权重计算方法,如下所示:
Figure BDA0001557005670000093
D、基于扩展查询的二次检索:以代码片段语料库为检索向量空间建立向量空间模型,将查询扩展词集输入向量空间模型中以在代码片段语料库中检索得到与查询扩展词集相关的代码片段作为的检索代码片段结果列表。
针对查询词语料集“record audio sound”,经过本发明可得到如下查询扩展词集“record audio sound buffer media recording size get context recorder”,该查询扩展词集在很大程度上丰富用户查询语料的语义内涵,实现更为精准的查询理解,改善代码检索性能。
需要说明的是:本发明在B、初次检索获取候选扩展词和D、基于扩展查询的二次检索中均用到了常规的向量空间模型,即将组成查询词语料集、查询扩展词集与代码片段语料库的各元素(即:经过词干化和去停用词处理的查询词、查询扩展词及代码片段)均以词典维度的向量形式表示为查询向量、扩展查询向量及代码片段向量,其中,查询向量、扩展查询向量及代码片段向量中各维度的权重值为对应词项的TFIDF值,上述向量维度均为词典维度,因此,对应词就是词典中全部的词(即对应词为各元素中所包含的词语),根据下面的计算公式,经过词干化和去停用词处理的查询词、查询扩展词及代码片段中出现的词可以得到对应的TFIDF值,而查询、扩展查询及代码片段中没有出现的词由于计算结果是tf等于0,TFIDF值也就等于0,所以下面的公式可以计算全部词的TFIDF值其计算方式为:
Figure BDA0001557005670000101
其中,Num表示代码片段语料库中代码片段的总数,doc(t)表示包含查询词t的代码片段数量,d表示代码片段语料库中任意一个代码片段,tf(t,d)表示在代码片段d中查询词t出现的次数,length(d)表示代码片段d中总词数。通过该公式可以将所有代码片段语料库中的代码片段表示为词典维度的向量,进而通过计算查询向量和各个代码片段向量的余弦相似度,可以得到用户查询语料与各个代码片段的相似度得分,根据得分由高至低对代码片段排序。
以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (4)

1.一种面向代码检索的查询扩展方法,其特征在于,包括以下步骤:
A、语料采集和预处理:
a1、代码文件语料采集:采集现有代码库中的代码文件,将代码文件以函数定义为单位切分为代码片段,并将采集到的代码片段保存至代码片段语料库中;所述函数定义以具有返回值类型、函数名、参数名的一行为开始,并以该函数定义的大括号结尾为结束;
a2、语料预处理:包括代码片段语料预处理和用户查询语料预处理;代码片段语料预处理包括:对代码片段语料库中的代码片段进行词语切分处理;词语切分处理的方法为:将代码片段中连接在一起的单词用空格加以切分,将切分得到的单词进行词干化和去停用词处理,并将处理后的单词以词序列的形式保存为代码片段语料集;用户查询语料处理包括:将用户查询语料进行分词处理得到查询词,对查询词进行词干化和去停用词处理,将处理后的查询词以词序列的形式保存为查询词语料集;
B、初次检索获取候选扩展词:以代码片段语料库为检索向量空间建立向量空间模型,将查询词语料集输入向量空间模型中以在代码片段语料库中检索得到与查询词语料集相关的代码片段作为反馈代码片段,并将得到的反馈代码片段根据相似度由高至低保存为检索结果列表的形式;将检索结果列表中排序最为靠前的K个反馈代码片段作为反馈代码片段语料库;根据步骤a2的词语切分处理方法对每个反馈代码片段进行词语切分处理得到候选扩展词;
C、查询扩展词集提取:计算每个候选扩展词的权重:包括以下步骤:
C1、计算每个反馈代码片段在反馈代码片段语料库中的相对权重,计算方法如下:
Figure FDA0002615105090000021
其中,d表示反馈代码片段语料库D中任意一个反馈代码片段,η(d)表示反馈代码片段d在反馈代码片段语料库中的相对权重;i表示同时出现在反馈代码片段d所在的代码文件file(d)和反馈代码片段语料库D中的反馈代码片段,rank(i)和rank(d)分别表示反馈代码片段i和反馈代码片段d在反馈代码片段语料库D中的排列位置;
C2、计算候选扩展词与查询词在反馈代码片段所在的代码文件内的共现频率γ(q,t,d),其计算方式如下:
Figure FDA0002615105090000022
其中,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、计算候选扩展词的权重,方法如下:
Figure FDA0002615105090000023
其中,t表示候选扩展词,Q表示查询词语料集,q是查询词语料集中的任意查询词,idf(t)表示候选扩展词t的逆文档频率,即包含候选扩展词t的代码片段个数的倒数,idf(q)表示查询词q的逆文档频率,即包含查询词q的代码片段个数的倒数;tf(t,d)和tf(q,d)表示在反馈代码片段d中候选扩展词t和查询词q出现的次数,N是反馈代码片段d中包含的单词的总数;
C4、提取查询扩展词集:
将候选扩展词按照其权重由高至低排序,选择排序中前M个候选扩展词加入到查询词语料集中作为查询扩展词集,所述查询扩展词集中的词作为查询扩展词;
D、基于扩展查询的二次检索:以代码片段语料库为检索向量空间建立向量空间模型,将所述查询扩展词输入向量空间模型中以在代码片段语料库中检索得到与查询扩展词相关的代码片段作为的检索代码片段结果列表。
2.根据权利要求1所述的一种面向代码检索的查询扩展方法,其特征在于,步骤B中,K为20。
3.根据权利要求1所述的一种面向代码检索的查询扩展方法,其特征在于,所述用户查询语料为以自然语言描述的与代码相关的语句。
4.根据权利要求1所述的一种面向代码检索的查询扩展方法,其特征在于,所述向量空间模型中,将组成查询词语料集、查询扩展词集与代码片段语料库的各元素均以词典维度的向量形式表示为查询向量、扩展查询向量及代码片段向量,所述各元素为:经过词干化和去停用词处理的查询词、查询扩展词及代码片段;其中,查询向量、扩展查询向量及代码片段向量中各向量维度的权重值为对应词的TFIDF值,所述对应词为各元素中所包含的词语;其计算方式为:
Figure FDA0002615105090000031
其中,Num表示代码片段语料库中代码片段的总数,doc(t)表示包含对应词t的代码片段数量,d表示代码片段语料库中任意一个代码片段,tf(t,d)表示在代码片段d中对应词t出现的次数,length(d)表示代码片段d中总词数;
通过TFIDF(t)将所有代码片段语料库中的代码片段表示为词典维度的向量,计算查询向量、扩展查询向量与各个代码片段向量的余弦相似度,以得到用户查询语料与各个代码片段的相似度得分,并根据相似度得分由高至低对代码片段进行排序。
CN201810067067.5A 2018-01-24 2018-01-24 一种面向代码检索的查询扩展方法 Active CN108491407B (zh)

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 CN108491407A (zh) 2018-09-04
CN108491407B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110716749B (zh) * 2019-09-03 2023-08-04 东南大学 一种基于功能相似度匹配的代码搜索方法
CN111159223B (zh) * 2019-12-31 2021-09-03 武汉大学 一种基于结构化嵌入的交互式代码搜索方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254039A (zh) * 2011-08-11 2011-11-23 武汉安问科技发展有限责任公司 一种基于搜索引擎的网络搜索方法
CN102663010A (zh) * 2012-03-20 2012-09-12 复旦大学 基于标注语义的个性化图像浏览与推荐方法及系统
CN105912634A (zh) * 2016-04-05 2016-08-31 扬州大学 一种面向软件代码检索的查询语句重新生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620900B2 (en) * 2009-02-09 2013-12-31 The Hong Kong Polytechnic University Method for using dual indices to support query expansion, relevance/non-relevance models, blind/relevance feedback and an intelligent search interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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)

* Cited by examiner, † Cited by third party
Title
Learning to rank based query expansion for patent retrieval;Xu K等;《,Journal of Computational Information Systems》;20131231;第5387-5394页 *
专利查询扩展的词向量方法研究;许侃等;《计算机科学与探索》;20171231;第1-10页 *
基于本体和局部共现的查询扩展方法;王旭阳等;《计算机科学》;20170131;第214-218页 *

Also Published As

Publication number Publication date
CN108491407A (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
CN106649818B (zh) 应用搜索意图的识别方法、装置、应用搜索方法和服务器
CN107463607B (zh) 结合词向量和自举学习的领域实体上下位关系获取与组织方法
CN112818093B (zh) 基于语义匹配的证据文档检索方法、系统及存储介质
CN102214189B (zh) 基于数据挖掘获取词用法知识的系统及方法
CN103678576A (zh) 基于动态语义分析的全文检索系统
Landthaler et al. Extending Full Text Search for Legal Document Collections Using Word Embeddings.
Valarakos et al. Enhancing ontological knowledge through ontology population and enrichment
Mahmood et al. Query based information retrieval and knowledge extraction using Hadith datasets
WO2018056423A1 (ja) シナリオパッセージ分類器、シナリオ分類器、及びそのためのコンピュータプログラム
KR100847376B1 (ko) 질의어 자동 추출을 이용한 검색 방법 및 장치
Pandey et al. An unsupervised Hindi stemmer with heuristic improvements
Sharma et al. BioAMA: towards an end to end biomedical question answering system
CN111475608B (zh) 一种基于功能语义关联计算的Mashup服务特征表示方法
Hamdi et al. In-depth analysis of the impact of OCR errors on named entity recognition and linking
CN108491407B (zh) 一种面向代码检索的查询扩展方法
CN111625621A (zh) 一种文档检索方法、装置、电子设备及存储介质
Madnani et al. Multiple alternative sentence compressions for automatic text summarization
Berdyugina et al. Setting up context-sensitive real-time contradiction matrix of a given field using unstructured texts of patent contents and natural language processing
Juan An effective similarity measurement for FAQ question answering system
CN112668838A (zh) 一种基于自然语言解析的评分标准词库建立方法及装置
CN110705285A (zh) 一种政务文本主题词库构建方法、装置、服务器及可读存储介质
Makhija A study of different stemmer for sindhi language based on devanagari script
CN113220864B (zh) 智能问答数据处理系统
CN105426490A (zh) 一种基于树形结构的索引方法
CN115718791A (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