FY20 创新人才班 (博客园学院)

  • ASE高级软件工程 第二次结对作业

    重现基线模型 我们选择重现的模型是 "Hamel's model" 。 图片来源及参考博文 https://towardsdatascience.com/semantic code search 3cd6d244a39c https://github.com/hamelsmu/code_search
    浅塘   2019-10-14 17:12   1   243
  • 第二次结对作业

    一、原理 Motivation 以前的方法:把源代码当作文本文件,使用信息检索模型搜索与查询语句相关的代码片段,主要依赖源代码和自然语言之间的文本相似性。这种方法缺少对查询语句和源代码深层语义的理解。比如,当查询语句是“read an object from an xml”时,与其对应的代码片段如下
    _最冷一天   2019-10-14 16:48   2   100
  • ASE: CODEnn Reproduce

    Background 第二次结对编程的任务是挑选一个用自然语言搜索相关代码片段的模型实现,并且可以提出自己的想法改进。这个任务很cool,前期做了不少调研。使用自然语言搜索相关代码片段现在是个很受关注的问题,比如Github如果能够加上这个搜索功能那么绝对是一个saving lives的黑科技。目前
    vo1ad0r   2019-10-14 16:46   0   246
  • ASE —— 第二次结对作业

    [toc] 重现基线模型 基线模型原理 我们选用的的模型为 "DeepCS" ,接下来我将解释一下它的原理。 我们要进行代码搜索,其实就是希望寻找一个代码片段(code snoppets)和它的自然语言描述(description)的一个对应关系,然而,由于编程语言和自然语言间存在的差异,如果仅仅依
    乱山尤远   2019-10-14 16:40   1   161
  • ASE - Code Search

    简介 在这一次的结对编程作业中,我们关注的主题是Code Search,即如何根据用户输入的自然语言,查询得到相关的代码或代码片段。 为了解决这一问题,已经有许多方法被提出,如 CodeHow, CODEnn, CodeNet 等等。这一次作业中,我们选择CODEnn作为我们的baseline,将其
    小、小妖精   2019-10-14 16:11   1   116
  • 第二次结对编程作业

    一、重现基线模型 我们选择的基线模型是CODEnn,其原理如下: 首先,目标是比较代码片段和问题描述之间的匹配程度。代码中,抽取的信息为方法名、API序列和标识符,问题描述就是自然语言。在抽取特征时,序列信息使用LSTM, 非序列信息使用MLP。抽取后,使用Max Pooling做融合,对于代码的三
    Shengnan_An   2019-10-14 12:58   2   68
  • 第二次结对作业

    重现基线模型 我们复现的Baseline是 "Hamel's model" 。 基线模型原理 如何实现semantic search?在已有数据库的基础上,衡量一个句子和每段代码的相关性再进行排序,选出最优代码片段即可实现一个通用的code search接口。为了计算code和nlp的相似度,我们需
    charley-chai   2019-10-14 12:57   1   218
  • 第二次结对编程作业

    baseline 复现 我们选择的 baseline 是 CodeNet。CodeNet 的模型可以用如下的图描述: 模型的输入由两个主要的分支组成。一支接受代码信息(方法名、API 序列、tokens 等),另一只则接受文档描述信息。我们的任务是将两种输入转化成为相似的 vector (即图中的
    hsfzxjy   2019-10-14 08:30   1   87
  • ASE——第一次结对作业

    ASE——第一次结对作业 问题定义 很早就听说了MSRA的黄金点游戏,让大家写Bot来参加比赛看谁的AI比较聪明可以操盘割韭菜。深感ASE课程老师设计的任务太用心了,各种接口都准备好了,大家只用专注于算法部分。方便上手然后也挺好玩(最后玩自闭了) 问题定义 黄金点游戏里所有玩家出两个数,平均值乘0.
    vo1ad0r   2019-09-22 17:59   4   104
  • 高级软件工程之黄金点游戏

    一、问题定义 1.定义 黄金点游戏:N个玩家,每人写一个或两个0~100之间的有理数 (不包括0或100),提交给服务器,服务器在当前回合结束时算出所有数字的平均值,然后乘以0.618,得到G值。 提交的数字最靠近G(取绝对值)的玩家得到N分,离G最远的玩家得到-2分,其他玩家得0分。 只有一个玩家
    惊鸿之笔   2019-09-22 17:58   3   261