当前位置:主页 > 科技论文 > 搜索引擎论文 >

一种基于侧面信息的代码片段识别技术研究

发布时间:2017-05-06 05:09

  本文关键词:一种基于侧面信息的代码片段识别技术研究,,由笔耕文化传播整理发布。


【摘要】:随着社区问答网站、博客等的广泛普及,使得程序员可以通过此类途径自由交流编程技术,越来越多的解决各类问题的代码片段存在于互联网上。然而,不同于普通文本,代码片段具有的结构化信息可以帮助提高搜索引擎对于特定编程语言源代码的搜索能力。但是,在不明确代码片段编程语言的情况下,无法进一步分析代码片段的结构化信息。通过统计发现,网络上半数以上代码片段没有标记编程语言类别,这使得代码片段编程语言识别成为迫切需要解决的问题。代码片段往往不够完整,难以提供足够的信息进行其编程语言识别,而结合代码片段附着的标签、描述文本等侧面信息可提高编程语言识别的准确率。为此,本文提出一个基于侧面信息的代码片段的编程语言识别框架,并实现了相关原型系统。本文的主要贡献如下:1.提出了一个基于侧面信息的代码片段的编程语言识别框架,该框架首先通过代码片段周围文字解释信息对标签信息进行推断补全,然后利用补全之后的标签信息训练识别模型,根据模型预测得到识别出的语言类别。通过对侧面信息的合理利用,较好地预测识别代码片段的编程语言,解决了识别准确率低下的难题。2.提出了一种基于文本关键词增强的多标记学习的标签推荐方法。该方法通过分析数据发现了大多数的标签在其标注的内容中出现的事实,将多标记学习和关键词抽取两种技术结合起来以提高标签推荐的准确率,并进一步提出了快速版本,采用了局部敏感哈希策略来降低了算法的时间复杂度。3.提出了一种基于标签信息的代码片段的编程语言识别方法。该方法将代码片段编程语言识别问题定义为文本分类问题,结合了文本提炼标签技术和贝叶斯分类技术来进行代码片段编程语言的识别,提高了识别的准确率。4.基于上述方法设计并实现了一个原型系统,初步验证了上述方法和技术的有效性和可行性。
【关键词】:编程语言识别 代码片段 侧面信息 标签推荐
【学位授予单位】:南京大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP391.3
【目录】:
  • 摘要4-5
  • Abstract5-12
  • 第一章 引言12-16
  • 1.1 研究背景12-14
  • 1.2 研究内容14-15
  • 1.3 本文组织15-16
  • 第二章 相关工作16-24
  • 2.1 代码编程语言识别16-18
  • 2.1.1 面向完整代码的识别16-17
  • 2.1.2 面向代码片段的识别17-18
  • 2.2 标签推荐技术18-20
  • 2.2.1 基于协同过滤的推荐18-19
  • 2.2.2 基于内容的推荐19-20
  • 2.3 其他相关工作20-22
  • 2.3.1 多标记学习方法20
  • 2.3.2 关键词抽取方法20-21
  • 2.3.3 贝叶斯分类方法21-22
  • 2.3.4 多类别问题解决策略22
  • 2.4 本章小结22-24
  • 第三章 基于侧面信息的代码片段的编程语言识别框架24-30
  • 3.1 识别场景介绍24-26
  • 3.2 本文的识别框架26-28
  • 3.2.1 标签推荐模块27
  • 3.2.2 编程语言识别模块27-28
  • 3.3 本章小结28-30
  • 第四章 基于关键词增强的多标记学习的标签推荐方法30-44
  • 4.1 背景30-31
  • 4.2 相关知识介绍31-32
  • 4.3 我们的方法32-37
  • 4.3.1 问题描述32-33
  • 4.3.2 MATAR算法33-36
  • 4.3.3 MATAR-fast算法36-37
  • 4.4 实验及数据分析37-42
  • 4.4.1 实验相关配置37-38
  • 4.4.2 实验结果38-42
  • 4.5 本章小结42-44
  • 第五章 基于标签信息的代码片段的编程语言识别方法44-60
  • 5.1 背景44-46
  • 5.2 我们的方法46-52
  • 5.2.1 问题描述46-47
  • 5.2.2 若干朴素的利用侧面信息的识别方法47-50
  • 5.2.3 基于标签推荐的识别方法SIPLDM-MATAR50-52
  • 5.3 实验及数据分析52-59
  • 5.3.1 实验相关配置53-55
  • 5.3.2 实验结果55-59
  • 5.4 本章小结59-60
  • 第六章 系统实现60-70
  • 6.1 系统架构60-61
  • 6.2 系统实现61-66
  • 6.2.1 数据收集模块61-62
  • 6.2.2 离线处理模块62-64
  • 6.2.3 在线搜索模块64-66
  • 6.3 系统效果66-68
  • 6.3.1 首页66-67
  • 6.3.2 搜索结果页67
  • 6.3.3 结果详情页67-68
  • 6.4 本章小结68-70
  • 第七章 总结与展望70-72
  • 7.1 本文总结70-71
  • 7.2 未来工作71-72
  • 参考文献72-78
  • 简历与科研成果78-80
  • 致谢80-81

【相似文献】

中国期刊全文数据库 前10条

1 ;什么是最美丽的编程语言——“编程语言研讨会”实录[J];程序员;2010年08期

2 李畅;;编程语言的特点与比较[J];华中师范大学研究生学报;2005年03期

3 马龙军;;编程语言教学模式探讨[J];计算机教育;2007年02期

4 王翔;;借力编程语言走职业开发道路[J];程序员;2007年03期

5 王谦;;高职院校非计算机专业编程语言教学初探[J];职大学报;2008年02期

6 ;透视编程语言[J];程序员;2009年02期

7 蔡学镛;;2008编程语言盘点[J];程序员;2009年02期

8 Andrej Bauer;;编程语言的设计[J];程序员;2009年06期

9 约翰·帕夫卢斯;;我们为何需要新编程语言?[J];科技创业;2010年09期

10 张越男;;试析C#编程语言的特点及功能[J];软件;2013年03期

中国重要会议论文全文数据库 前2条

1 王涛;郭长国;邹鹏;王晓斌;;一种基于注释的监控编程语言设计与实现[A];全国第20届计算机技术与应用学术会议(CACIS·2009)暨全国第1届安全关键技术与应用学术会议论文集(下册)[C];2009年

2 兰香;林帆;蒋君丽;;新钢高炉报表及常见故障处理[A];全国冶金自动化信息网2010年年会论文集[C];2010年

中国重要报纸全文数据库 前10条

1 本报记者 靳菁;新锐信:欲霸编程语言江山[N];计算机世界;2002年

2 清水 编译;7种正在流行的编程语言[N];计算机世界;2010年

3 电脑虎;打开数字城堡的钥匙——编程语言[N];中国电脑教育报;2005年

4 本报记者 刘丽丽 高丽华;Java改变了什么[N];计算机世界;2005年

5 杨伟国;C++的巅峰体验[N];中华读书报;2002年

6 科译;亚太IT专业开发人数三年后全球第一[N];中国计算机报;2003年

7 周怀军;IT课程三级跳[N];中国电脑教育报;2002年

8 ;2005年等级考试大变脸[N];电脑报;2005年

9 胖胖;Web开发热会持续多久[N];中华读书报;2006年

10 杨伟宁;月入万元的自由程序员(上)[N];电脑报;2007年

中国硕士学位论文全文数据库 前3条

1 李立成;一种基于侧面信息的代码片段识别技术研究[D];南京大学;2016年

2 杨浩;非标数字装备通用控制器用户编程语言研究[D];天津理工大学;2011年

3 朱峰;汉字编程语言的跨平台编译研究[D];哈尔滨工业大学;2013年


  本文关键词:一种基于侧面信息的代码片段识别技术研究,由笔耕文化传播整理发布。



本文编号:347791

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/347791.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户95053***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com