基于自然语言的软件信息检索工具的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:xiaojiaoechou
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着开源软件项目逐渐成为可复用软件构件的主要来源,如何快速的学习一个软件项目成为基于复用的软件开发活动中的一个重要环节。然而,目前软件项目的源代码和文档集往往数量比较庞大,开发人员在学习过程中查找和阅读这些软件信息需要花费大量的时间和精力。为此,需要提供一种软件信息检索工具,帮助开发人员快速的检索并理解其需要的软件信息。同时,为使用户能够在检索过程中准确描述自己的需要,该工具还需提供支持自然语言查询的检索接口。  针对上述目标,本文对如何获取并组织软件信息、如何分析自然语言问题并构造查询、如何检索软件信息这三个问题进行分析研究,设计并实现了一个支持自然语言查询的软件信息检索工具NaLSiSe(Natural Language based Softwareinformation Search engine)。NaLSiSe的解决方案包括:  (1)提出了一种基于代码解析和文档分析的软件信息获取和组织方法:利用代码静态分析技术得到代码的基本结构信息,并借助语义网的推理机制得到基本结构信息之外的其他增量信息;利用文本处理方法和自然语言处理技术分析文档,并提取文档中的描述信息三元组;利用TF-IDF与Java正则表达式相结合的方法建立代码与文档之间的关联,并以RDF图存储这些关联信息。  (2)提出了一种基于自然语言问题分析和相关词推荐的查询构造方法:本文从问题的句法分析着手,首先尝试提取问题的三元组信息,并以此构造SPARQL查询和三元组查询;同时对问题中的停用词进行过滤,并对实词进行单复数扩充和相关词推荐,以构造关键词查询实现文本检索。  (3)提出了一种SPARQL语义检索和文本检索相结合的软件信息检索方法:经过问题分析之后,本文首先尝试用SPARQL查询检索代码的结构信息RDF图,并用三元组查询匹配文档的描述信息三元组;同时以关键词查询对文本进行检索,结果排序时以SPARQL检索结果优先、三元组匹配结果次之,关键词检索结果最后。  根据上述方案,本文在Eclipse环境下实现了NaLSiSe工具,并对工具设计与实现中的关键技术、核心算法、功能模块进行了详细的介绍和分析。最后,本文以Lucene为例,展示了NaLSiSe如何自动的获取和组织软件信息,并支持用户以自然语言提问的方式检索这些信息。  
其他文献
人体行为分析是计算机视觉领域的关键问题,其具备良好的研究价值和广阔的应用前景。人体行为分析常常可以分为人体行为的模式提取、针对行为模式进行分类或者检测两个环节。其
随着航天技术的发展,我国空间探测任务不断增多,航天器、有效载荷等设备的种类和数量越来越多,对地面系统的要求越来越高,尤其在支持多星、多任务运行方面对系统间数据传输效率及
随着遥感图像分辨率不断提高和数据量不断增大,高分辨率遥感图像的云检测对于有效提取和利用数据具有十分重要的意义。传统的云检测方法往往依赖于阈值法和灰度共生矩阵为代表
情感分析的主要任务为对文本中的观点进行分析,并判断其情感倾向。网络文本的情感分析任务近年来得到了学者、企业甚至政府的极大关注。本文从词汇和篇章两个角度切入,研究了网
该文研究了分布式环境下如何构建一种远程多用户协同虚拟现实的实时教学系统及其相关技术.密切结合当前实际,在计算机局域网上和Internet上,深入研究了构建协同环境下虚拟实
学位
学习资源推荐模型收集学习者评分和浏览等数据,分析这些行为要素之间的关系,从而对其兴趣进行建模,以完成向学习者推荐其感兴趣的学习资源的任务。现有学习资源推荐的相关模型是
在人类向太空进军的历程中,导航技术的地位至关重要。但是现有导航技术均存在一定局限性,有鉴于此,本文对X射线脉冲星导航这一全新且具有显著优势的导航技术进行了系统研究。研
在星地激光通信中,由于通信距离远、光束窄,同时存在系统误差和外界干扰(如大气散射、平台振动等),必须采用捕获、瞄准、跟踪(Acquisition、Pointing、 Tracking,APT)系统来维持通
伴随着多媒体技术的快速发展,视频相关的应用也得到了越来越广泛的普及。其中,视频质量评价和编码在视频处理过程中扮演着非常重要的角色,相关研究在近年也逐渐成为广受关注的热