麻省理工学院|当AI学会高数:解题、出题、评分样样都行( 三 )

添加问题背景是非常有必要的,对学生和程序来说,解题域是选择合适的解题方法的必要信息。例如,如果没有问题背景,一个关于网络的问题,可能是关于神经网络的问题也可能是关于通信网络的问题。
  • 面板A中对微积分方程问题的主题背景进行了补充,将其重新表述为一个编程任务的问题。补充背景包括澄清含糊不清的定义和运算符,或有一个以上标准用法的符号,说明学生通过学习课程就会知道的隐含假设,包括课程的主题或课题,指出学生从与问题相关的讲座或教科书章节中学到的适当方法。
  • 面板B中使用了Python库、sympy库和streamplot库的背景,用于解题和绘制可视化图。如果程序的语法与Python版本不兼容,或者数据类型有错误,又或者没有使用库,合成程序在执行中可能无法得到正确的答案。
  • 面板C中显示了概率和统计学中的一个例子,原始问题被转化为生成模拟的概率编程任务。在做题时学生可以从课程的主题和涵盖的材料中得到一些信息,在这个过程中,要通过了解问题背景,确定所需要的是什么类型的答案,对处理形式有一个合理预期。例如,概率或组合学中的许多问题可能需要用阶乘、组合函数或指数来回答。因此在实验中也必须要提供背景,以便用正确的方法来处理问题。
  • 面板D考虑到NLP模型在处理长而复杂的文本方面有困难,因此将较长的问题分解成了具体的编程任务,并删除了多余的信息。通过互动产生了多个图,交互式使用Codex可以使可视化图很好地被绘制出来,并且可以发现缺失的功能或需要的库。
  • 面板E来自《计算机科学数学》,对问题进行了简化处理,简化包括删除多余的信息,将长的句子结构分解成较小的组成部分,并将提示转换为编程格式。概括提炼出简洁的提示和一系列较短的问题,可以提高Codex性能。
除此之外,他们还考虑了原始课程问题转化为Codex 提示的三种情况:
  • 原样提示。原始问题和Codex 提示是相同的;
  • 自动提示转换。原始问题和Codex提示不同,Codex提示是由其本身自动生成的;
  • 手动提示转换。原始问题和Codex提示不同,Codex提示是由人生成的。
当把问题转化为Codex提示时,又出现了一个关键性的问题:原始问题与之后产生正确答案的提示在语义上的接近程度如何?
麻省理工学院|当AI学会高数:解题、出题、评分样样都行
文章插图
图3:按课程和类别划分的所有问题的余弦相似度分布。
如图3所示,为了测量原始问题和转化后之间的差距,他们使用Sentence-BERT嵌入之间的余弦相似度。Sentence-BERT使用siamese和triplet网络结构对预训练的BERT模型进行了微调。Sentence-BERT能够在句子层面上产生语义嵌入,从而可以在长篇文本中进行语义相似度比较。
应用他们的方法,对于难度较低的课程,修改少量原始问题(高余弦相似度分数),就可以达到Codex提示,输出一个提供正确答案的程序。而每个框图左边的线代表每门课程的基准相似度分数,通过平均每门课程中所有这样的问题组之间的相似度计算得出。
他们还做了原始问题和产生正确答案的转换版本之间的相似性分数的直方图,用来评估。
麻省理工学院|当AI学会高数:解题、出题、评分样样都行
文章插图
图4:最右边的一列代表了按原样或做了非常小的改动就能正确回答问题所占的百分比。