【摘 要】
:
现有的软件开发环境主要是集成开发环境(IDE),如Eclipse,Intellj和Visual Studio。软件开发环境的优劣很大程度上取决于它对程序员给出的提示的准确率,现有的方法主要是使用概率模型或者上下文无关文法来实现的,本文主要集中在使用上下文无关文法与深度学习相结合的方法来提高软件开发环境在代码提示和语法错误提示两个任务上的准确率。本文的主要贡献有两方面:1.代码提示是软件开发环境的重
论文部分内容阅读
现有的软件开发环境主要是集成开发环境(IDE),如Eclipse,Intellj和Visual Studio。软件开发环境的优劣很大程度上取决于它对程序员给出的提示的准确率,现有的方法主要是使用概率模型或者上下文无关文法来实现的,本文主要集中在使用上下文无关文法与深度学习相结合的方法来提高软件开发环境在代码提示和语法错误提示两个任务上的准确率。本文的主要贡献有两方面:1.代码提示是软件开发环境的重要功能,它会对程序的下一个token给出提示。为了实现代码提示的功能,主要使用语言模型来预测下一个token的概率。这些语言模型原本是为了在自然语言处理任务中基于前文预测后一个token而设计的,然而却并不完全适用于程序设计语言。在程序设计语言中所有自定义的标识符的含义都是由它的上下文定义的,标识符的名字只是用来区分不同的标识符,这与自然语言中token的含义主要是由token的名字决定的情况有比较大的不同,所以这些语言模型只使用token的名字来输入就有些不适用了;另一方面程序设计语言的语法有着明确而清晰的定义,这与自然语言中语法无法完整定义的情况也是不同的,所以现有的语言模型可能会预测出不符合语法的token的情况是可以避免的。因此本文提出了基于语法的语言模型,在从Codeforces中爬取的C99数据集上获得了74.23%的Top-1准确率,比之前的主要语言模型准确率都高。2.语法错误的提示是软件开发环境的重要功能,它的提示是基于编译器的出错信息生成的,然而编译器的出错信息是通过上下文无关文法或者概率上下文无关文法实现的,这些方法的提示是基于终结字符的,所以它们无法提示出具体的token。同时现有的机器学习方法在语法错误提示任务上的准确率很低,本文提出了利用上下文无关文法的端到端模型的语法错误提示模型,在DeepFix的数据集上获得了56.97%的准确率,远高于DeepFix的33.36%,证明了将上下文无关文法和深度学习相结合的方法可以显著的提高准确率。
其他文献
目的:目前甲状腺癌(Thyroid carcinomas TC)是上升最快的实体肿瘤,本研究通过免疫组化方法(Immunohistochemistry IHC)检测甲状腺癌中增殖指数(Ki67)和BRAF(鼠类肉瘤滤过性毒菌致癌
农民工全家进城落户后,宅基地使用权如何处理,法律并未作出明确规定。随着大规模的农民工市民化进程加快,农民工全家进城落户后土地权益如何处理,成为一个迫切需要探索解决的
有效教学最显著的特征指的是学生在老师开展一段教学活动之后能够从中获得对应的知识进步或者能力上的提高。相较于高效教学两者的出发点是相同的,那就是教学过程产生的效益
目的初步探讨植物甾醇对人神经母细胞瘤SH-SY5Y细胞增殖和凋亡的影响。方法采用体外细胞培养的方法,用不同浓度的植物甾醇与细胞共同培养,倒置显微镜观察细胞形态,MTT法测定
<正>1.中药制剂中新辅料及新工艺的应用1.1 新辅料的开发应用近十多年来,国外发达国家的制药工业发展迅速,先后开发出微囊、毫微囊、微球、脂质体、透皮给药系统等新剂型、新
为研究木麻黄Casuarinateae.种子苗困难地造林,以木麻黄为试验材料,用不同渗透势浓度的聚乙二醇(PEG-6000)模拟干旱胁迫,探讨干旱胁迫对木麻黄种子发芽率、发芽势、胚轴和胚根长度
肝癌是当今全世界发病率及致死率最高的癌症之一。发展新型高效、快速的肿瘤标志物筛选方法,以及开发对肿瘤病理组织具有高特异性、高灵敏度并且化学性质稳定的分子识别探针
夏布于2008年被国家文化部确认为'国家级非物质文化遗产',作为一项具有千年历史的手工织造技艺,不仅具有历史价值,更具有文化价值。同时为了更好的传承与发展,夏布的
<正>学习英语课程,学生应该把学习和实际中的运用相结合,逐步掌握英语知识和基本技能,从而提高语言实际运用的能力。这个学习过程是锻炼他们的意志,陶冶他们的情操,拓展他们
随着计算机技术的发展,在互联网上同时包含图像和文本的数据在不断增加,例如新闻和对应的插图,视频画面和字幕,还有用户上传的图文短讯等。如何更好地理解现有的海量互联网数