首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 156 毫秒
1.
李阵  钮俊  王奎  辛园园 《计算机应用》2018,38(3):812-817
对开源代码进行准确搜索是实现代码复用的前提。在基于关键字搜索的研究中,目前只关注匹配方法签名。结合源代码注释对方法功能的语义描述,提出结合代码注释的关键字搜索方法。通过生成源代码抽象语法树,从中识别方法签名与各类型注释等组合代码特征;将代码特征与查询语句分别用向量表示,并计算向量间的余弦相似度,然后制定针对搜索结果多特征权重分配的评分机制。根据评分对搜索结果进行排序,得到与查询语句相关的结果序列。实验结果表明,多个代码特征在不同权重影响下可以提升源代码搜索准确度。  相似文献   

2.
现有的空间关键字查询处理模式大都仅支持位置相近和文本相似匹配,但不能将语义相近但形式上不匹配的对象提供给用户;并且,当前的空间-文本索引结构也不能对空间对象中的数值属性进行处理。针对上述问题,本文提出了一种支持语义近似查询的空间关键字查询方法。首先,利用词嵌入技术对用户原始查询进行扩展,生成一系列与原始查询关键字语义相关的查询关键字;然后,提出了一种能够同时支持文本和语义匹配,并利用Skyline方法对数值属性进行处理的混合索引结构AIR-Tree;最后,利用AIR-Tree进行查询匹配,返回top-k个与查询条件最为相关的有序空间对象。实验分析和结果表明,与现有同类方法相比,本文方法具有较高的执行效率和较好的用户满意度;基于AIR-Tree索引的查询效率较IRS-Tree索引提高了3.6%,在查询结果准确率上较IR-Tree和IRS-Tree索引分别提高了10.14%和16.15%。  相似文献   

3.
提出一种通过类自然语言输入在海量源码库中进行代码搜索的方法,旨在提高开源代码在方法层面的重用性。相比于传统的关键字匹配的海量源码搜索方案与基于自然语言的上下文相关的项目内定位方法,本文的程序分析结合语义网络的算法既可解决前者由于源码中缩写与近义词问题带来的目标无法匹配的问题,同时也可解决基于自然语言的源码定位受限于指定项目无法在应用于海量源码搜索的限制。最后通过实验验证引擎的可靠性与可用性。  相似文献   

4.
传统的查询扩展方法由于忽略了词之间的语义关系,在不规范的短小关键字上补充扩展的词已经无法达到预期目标。Linked Data技术利用资源描述框架(RDF)图模型形成Linked Open Data Cloud,能提供更多语义信息。针对查询扩展忽略语义的问题,提出了一种基于语义属性特征图的查询扩展方法。该方法将语义网与图的思想融合,利用以DBpedia资源为顶点的属性图加以扩展。首先,通过有监督的学习训练出15种语义属性特征的权重,用于表达扩展资源的有用性;然后,在整个DBpedia图上通过标签属性实现查询关键字到DBpedia匹配资源的映射;再根据属性特征广度搜索出邻接点,并将其作为扩展候选词,最后筛选出词相关行分值最高的作为最终扩展词。实验表明,与LOD Keyword Expansion方法相比,基于语义属性特征图的扩展方法召回率达到0.89,平均逆排序(MRR)提高4个百分点,与用户查询更匹配。  相似文献   

5.
周光有  谢琦  余啸 《软件学报》2024,35(6):2863-2879
代码搜索是当下自然语言处理和软件工程交叉领域的一个重要分支. 开发高效的代码搜索算法能够显著提高代码重用的能力, 从而有效提高软件开发人员的工作效率. 代码搜索任务是以描述代码片段功能的自然语言作为输入, 在海量代码库中搜索得到相关代码片段的过程. 基于序列模型的代码搜索方法DeepCS虽然取得了很好的效果, 但这种方法不能捕捉代码的深层语义. 基于图嵌入的代码搜索方法GraphSearchNet能缓解这个问题, 但没有对代码与文本进行细粒度匹配, 也忽视了代码图和文本图的全局关系. 为了解决以上局限性, 提出基于关系图卷积网络的代码搜索方法, 对构建的文本图和代码图编码, 从节点层面对文本查询和代码片段进行细粒度匹配, 并应用神经张量网络捕捉它们的全局关系. 在两个公开数据集上的实验结果表明, 所提方法比先进的基线模型DeepCS和GraphSearchNet搜索精度更高.  相似文献   

6.
为使知识库的信息搜索突破传统基于关键字查询的局限,提出一种基于本体的知识库语义扩展搜索方法。将本体和语义扩展引入知识库,对用户查询条件进行扩展搜索,通过相关度分析对搜索结果进行排序,使搜索效果得到优化。实验结果表明,该方法能提高搜索查全率和查准率。  相似文献   

7.
复用已有高质量源代码可提高软件开发效率及软件质量.当前,基于用户提供的输入/输出对的匹配判断是代码语义搜索的主要方法之一,但该方法难以刻画完整代码行为,且仅能处理单输入类型.提出一种针对多种形式类型匹配的代码语义搜索方法.首先将代码集内各个代码片段中数据对象个数及类型的加工过程转换为Petri网模型;其次根据用户查询中...  相似文献   

8.
为了支持各类基于位置的服务,人们提出了各种查询和搜索空间文本数据的方法和技术.传统的空间关键字查询和近期提出的空间模式匹配不支持用户定义查询关键字对象以及对象之间细致的空间结构关系,使得查询结果集庞大但无效结果偏多,不能满足用户高效且精确的查询需求.本文因此提出了一种新的查询模式——空间结构匹配查询(Spatial Structure Matching,SSM),允许用户定义一组查询关键字对象并指定任意两个对象之间的距离和方向约束.为了解决SSM查询问题,本文首先提出了一种基于多路连接的基准方法,将SSM查询问题分解为单个对象的关键字匹配,两个对象的边匹配和多个对象的聚合匹配.为了提高SSM查询效率,本文提出了基于扫描线算法的边匹配计算,利用对象的地理位置信息来降低边匹配计算开销.本文利用同时满足查询关键字,距离和方向约束的空间对象构造对象连接图,从而将SSM查询问题转换为在对象连接图上搜索与SSM查询结构同构的子图匹配问题,并且利用经典的子图同构匹配算法求解获得最终的查询结果.在四个大规模空间文本数据集上的实验结果表明,本文所提算法的查询效率远高于对比算法,返回的查询结果集精简有效且...  相似文献   

9.
现有的XML关键字查询算法,通常只考虑节点间的结构信息,以包含关键字匹配节点的子树作为查询的结果,而节点间的语义相关性一直没有被充分利用。这也是导致现有查询算法的结果中普遍含有大量语义无关的冗余信息的主要原因。在该文中,我们首先对查询关键字的环境语义及节点间的语义相关性进行了定义,在此基础上,提出了一种新的关键字查询算法,寻找语义相关单元作为关键字查询的结果。这样获得的查询结果,一方面不含语义无关的冗余信息,另一方面也与用户的查询意图更加匹配。实验表明,该文提出的算法在查询效率和精确性上都有较大改进。  相似文献   

10.
搜索并重用相关代码可以有效提高软件开发效率。基于深度学习的代码搜索模型通常将代码片段和查询语句嵌入同一向量空间,通过计算余弦相似度匹配并输出相应代码片段;然而大多数模型忽略了代码片段与查询语句间的协同信息。为了更全面地表征语义信息,提出一种基于协同融合的代码搜索模型BofeCS。首先,采用BERT(Bidirectional Encoder Representations from Transformers)模型提取输入序列的语义信息并将它表征为向量;其次,构建协同融合网络提取代码片段和查询语句间分词级的协同信息;最后,构建残差网络缓解表征过程中的语义信息丢失。为验证BofeCS的有效性,在多语言数据集CodeSearchNet上进行实验。实验结果表明,相较于基线模型UNIF(embedding UNIFication)、TabCS(Two-stage attention-based model for Code Search)和MRCS(Multimodal Representation for neural Code Search),BofeCS的平均倒数排名(MRR)、归一化折损...  相似文献   

11.
Thesaurus‐based, code‐related, and software‐specific query expansion techniques are the main contributions in free‐form query search. However, these techniques still could not put the most relevant query result in the first position because they lack the ability to infer the expansion words that represent the user needs based on a given query. In this paper, we discover that code changes can imply what users want and propose a novel query expansion technique with code changes (QECC). It exploits (changes, contexts) pairs from changed methods. On the basis of statistical learning from pairs, it can infer code changes for a given query. In this way, it expands a query with code changes and recommends the query results that meet actual needs perfectly. In addition, we implement InstaRec to perform QECC and evaluate it with 195 039 change commits from GitHub and our code tracker. The results show that QECC can improve the precision of 3 code search algorithms (ie, IR, Portfolio, and VF) by up to 52% to 62% and outperform the state‐of‐the‐art query expansion techniques (ie, query expansion based on crowd knowledge and CodeHow) by 13% to 16% when the top 1 result is inspected.  相似文献   

12.
传统的云计算下的可搜索加密算法没有对查询关键词进行语义扩展,导致了用户查询意图与返回结果存在语义偏差,并且对检索结果的相关度排序不够合理,无法满足用户对智能搜索的需求。对此,提出了一种支持语义的可搜索加密方法。该方法利用本体知识库实现了用户查询的语义拓展,并通过语义相似度来控制扩展词的个数,防止因拓展词过多影响检索的精确度。同时,该方法利用文档向量、查询向量分块技术构造出对应的标记向量,以过滤无关文档,并在查询-文档的相似度得分中引入了语义相似度、关键词位置加权评分及关键词-文档相关度等影响因子,实现了检索结果的有效排序。实验结果表明,该方法在提高检索效率的基础上显著改善了检索结果的排序效果,提高了用户满意度。  相似文献   

13.
Searching for relevant code in the local code base is a common activity during software maintenance. However, previous research indicates that 88% of manually composed search queries retrieve no relevant results. One reason that many searches fail is existing search tools’ dependence on string matching algorithms, which cannot find semantically related code. To solve this problem by helping developers compose better queries, researchers have proposed numerous query recommendation techniques, relying on a variety of dictionaries and algorithms. However, few of these techniques are empirically evaluated by usage data from real-world developers. To fill this gap, we designed a multi-recommendation system that relies on the cooperation between several query recommendation techniques. We implemented and deployed this recommendation system within the Sando code search tool and conducted a longitudinal field study. Our study shows that over 34% of all queries were adopted from recommendation; and recommended queries retrieved results 11% more often than manual queries.  相似文献   

14.
Traditional database search uses pattern match in the comparison process. For a query with some search words, tuples are selected only if the words of the tuples exactly match the query words. In this paper, we propose a new method for evaluating relational ranking queries (or top-N queries) with text attributes. This method defines semantic distance functions and utilizes semantic match between words in database search. The attempt is that tuples, not only exactly matching, but also close to the query according to semantic distances, can both be fetched. The basic idea of the method is to create an index based on WordNet to expand the tuple words semantically. The candidate results for a query are retrieved by the index and a simple SQL selection statement, and then top-N answers are obtained. Extensive experiments are carried out to measure the performance of this new strategy for the evaluation of ranking queries over relational databases.  相似文献   

15.
Queries to Web search engines are usually short and ambiguous, which provides insufficient information needs of users for effectively retrieving relevant Web pages. To address this problem, query suggestion is implemented by most search engines. However, existing methods do not leverage the contradiction between accuracy and computation complexity appropriately (e.g. Google's ‘Search related to’ and Yahoo's ‘Also Try’). In this paper, the recommended words are extracted from the search results of the query, which guarantees the real time of query suggestion properly. A scheme for ranking words based on semantic similarity presents a list of words as the query suggestion results, which ensures the accuracy of query suggestion. Moreover, the experimental results show that the proposed method significantly improves the quality of query suggestion over some popular Web search engines (e.g. Google and Yahoo). Finally, an offline experiment that compares the accuracy of snippets in capturing the number of words in a document is performed, which increases the confidence of the method proposed by the paper. Copyright © 2010 John Wiley & Sons, Ltd.  相似文献   

16.
查询建议可以有效减少用户输入、消除查询歧义,提高信息检索的便捷性和准确率。随着电子商务的发展,查询建议也越来越多地应用于电子商务网站的商品搜索中。然而,传统的基于Web搜索的查询建议方法在电商领域并不能完全适用。针对电商这一特定领域,对不同的查询建议技术进行比较,提出了一种综合考虑用户的搜索以及购物行为的查询建议方法,运用MapReduce技术对用户日志进行挖掘,以此生成检索词词库;并通过在线计算与离线计算结合的方法,为用户提供实时查询建议。实验结果表明,本文提出的基于日志挖掘的电商查询建议方法能有效提高查询建议的准确率,并且具有良好的处理性能。  相似文献   

17.
传统搜索引擎是基于关键字的检索,然而文档的关键字未必和文档有关,而相关的文档也未必显式地包含此关键字。基于语义Web的搜索引擎利用本体技术,可以很好地对关键字进行语义描述。当收到用户提交的搜索请求时,先在已经建立好的本体库的基础上对该请求进行概念推理,然后将推理结果提交给传统的搜索引擎,最终将搜索结果返回给用户。相对于传统的搜索引擎,基于语义Web的搜索引擎有效地提高了搜索的查全率和查准率。  相似文献   

18.
林泽琦  邹艳珍  赵俊峰  曹英魁  谢冰 《软件学报》2019,30(12):3714-3729
自然语言文本形式的文档是软件项目的重要组成部分.如何帮助开发者在大量文档中进行高效、准确的信息定位,是软件复用领域中的一个重要研究问题.提出了一种基于代码结构知识的软件文档语义搜索方法.该方法从软件项目的源代码中解析出代码结构图,并以此作为领域特定的知识来帮助机器理解自然语言文本的语义.这一语义信息与信息检索技术相结合,从而实现了对软件文档的语义检索.在StackOverflow问答文档数据集上的实验表明,与多种文本检索方法相比,该方法在平均准确率(mean average precision,简称MAP)上可以取得至少13.77%的提升.  相似文献   

19.
通过对大规模查询日志进行挖掘分析进而提高检索的准确率一直是信息检索领域的热点问题。文章提出一种基于PMI-IR(逐点互信息方法)的联想词表构造方法。该方法利用序列模式挖掘算法扫描大规模用户查询日志,获取共现频次超过某一阈值的词组合,进行聚类获取候选同义词集,然后依次计算词wordA与每个候选词的相似度,选择相似度高于某一阈值的词作为词wordA的联想词集,最后形成联想词表。实验表明,借助该方法得到的联想词表进行扩展查询提高了检索的准确率。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号