大家好。今天我将介绍我们的[研究]工作：《[学习]演绎推理：作为复杂[关系提取]的[数学文字问题]解决方法》。
我是ByteDance [人工智能]实验室的Allan，以下是我与德克萨斯大学奥斯汀分校的Jierui Li和[SUTD]的Wei Lu的合作成果。
首先，我想谈谈我们[对于][推理]的动机。
在这里，我们展示了一个多步骤[推理]有帮助的例子。
这个数字取自[PaLM]的[论文]，他们在这个论文中进行了提示，以解决少样本[学习]情况下的网络[问题]。
在左侧我们可以看到，如果我们给出一些只有[问题]和答案的例子，我们可能无法获得正确的答案。
但是，如果我们给出更多的[推理]描述，那么这里的[模型]将能够预测[推理]描述，同样也会做出正确的[预测]。
所以，最好将[可解释]的多步骤[推理]作为输出。
我们还认为，[数学文字问题]是一个用来评估这种[推理]能力的简明应用。
在我们的[问题]设置中，围绕[疑问]，我们需要解决这个[疑问]，并获得数字答案。
在我们的[数据集]中，还向我们提供了数学表达式，该表达式也导向这个特定的[答案]。
某些假设也适用于[之前]的工作。
我们假设数量的精确度是已知的。
并且我们只考虑基本运算符，如加法、减法、乘法、除法和指数。
[此外]，复杂的运算符实际上可以分解成这些基本运算符。
[之前]解决[数学文字问题]的工作实际上可以分为[序列]到[序列]和[序列]到树[模型]。
传统的[序列]到[序列][模型]将表达式转换为特定[的][序列][以进行][生成]。
这很容易实现，可以[概括]成许多不同的复杂[问题]。
但缺点是，其表现实际上并不比[结构化][模型]好，并且缺乏[用于][预测][的][可解释性]。
但因为[转换器][模型]的原因，实际上这个方向仍然很受欢迎。
因此，在基于树的[模型]中，我们实际上以树的形式进行这些表达式的[结构化]，并在树代中遵循预先排序的遍历。
所以在这里，我们继续[生成]运算符，直到我们到达叶子，也就是数量。
这里的好处是，它实际上给了我们这个[二进制]树[结构]，但实际上它非常违反直觉，因为我们首先生成运算符，然后在最后生成数量。
其次，其中还包含一些重复的计算。
如果我们看一下这个表达式，八乘三加三实际上[生成]两次，但实际上我们应该重复使用结果。
在我们提出的[方法]中，我们希望一步一步地以[可解释]的方式解决这些问题。
[例如]，在第二步中，我们可以得到这些除数，即27。
我们也可以回头参考原始[问题]来查找相关内容。
在这些步骤中，我们得到了除数。
然后在第三步，我们实际上得到了商。
好的。经过这三个步骤，我们实际上可以重复使用第二个步骤的结果，然后得到第四个步骤的结果，最后可以得到被除数。
在这里我们实际上直接生成整个表达式，而不是[生成]单个运算符或数量。
这使得这个过程更加准确。
在我们的演绎[系统]中，我们首先从[问题]中提供的一堆量开始，并且还包括一些常数作为我们的初始状态。
表达式由e i j o p表示。
我们执行从q_i到q_j的运算符，这样的表达式实际上是定向的。
我们在这里也有减法与[单词]代表相反的方向。
这与[关系提取] [非常相似]。
在形式演绎[系统]中，在时间步骤t ，我们在q_i和q_j对之间应用运算符，然后我们得到这个新表达式。
我们把它添加到下一个状态，成为一个新的数量。
这些幻灯片实际上可视化了我们不断向当前状态添加表达式的状态的演变。
在我们的[模型]实现中，我们首先使用[预训练语言][模型]，它可以是[BERTs]或Robertas，然后我们[编码][句子]，然后我们得到这些数量[陈述]。
一旦我们得到数量[陈述]，我们就可以开始做[推理]。
这里我们展示了一个q_1的例子，以获得[针对]q_2除以q_2再乘以q_3[的][表达]。
首先，我们得到配对[表达]，它基本上只是q_1和q_2之间的[联结]，然后我们应用一个由运算符参数化的前馈网络。
最后，我们得到表达式[表达]q_1除以q_2。
但实际上，在实践中，在[推理]阶段，我们也可能会得到错误的表达式。
这里所有可能的表达式等于运算符[数量]的三倍。
这里的好处是我们可以轻松地添加约束条件，来控制这个[搜索]这个[搜索]空间。
[例如]，如果此表达式不被允许，那么我们可以简单地在我们的[搜索]空间中删除此表达式。
所以在第二步中，我们做同样的事情，但唯一的区别是多了一个数量。
所以，这个数量来自[之前]计算的表达式。
我们最终可以得到最后这个表达式q_3乘以q_4。
我们还可以看到，所有可能的表达式的[数字]与[之前]的步骤不同。
这种差异使得应用[波束搜索]变得困难，因为这两个步骤之间的概率分布是不平衡的。
[训练]过程[类似]于[训练] [序列]到[序列] [模型]，我们在每个时间步骤中优化损失。
在这里，我们也使用这个tau来表示我们何时应该终止这个[生成]过程。
这里的空间从[序列]到[序列]是不同的，因为空间在每个时间步不同，而在传统的[序列]到[序列] [模型]中，这是[词汇]的[数字]。
它还允许我们根据先前的[知识]施加某些约束。
我们对常用的[数学文字问题] [数据集]、[MAWPS]、Math23K、[MathQA]和[SVAMP]进行实验。
在这里，我们简要地展示了与[之前]最佳方法相比的结果。
我们表现最好的变体是Roberta-DeductiveReasoner。
事实上，我们不使用[波束搜索]。相反，所有[之前]的方法都使用[波束搜索]。
没错。最好的方法通常是基于树的[模型]。
总的来说，我们的推理能够显著优于这个基于树的[模型]。
但我们可以看到，[MathQA]或[SVAMP]上的绝对数字并不高。
我们进一步研究[SVAMP]的结果。
这个[数据集]具有挑战性，因为作者试图[手动]添加一些东西来混淆[NLP][模型]，例如添加不相关的[信息]和额外的数量。
在我们的[预测]中，我们发现一些中间值实际上是负数。
[例如]，在这些[问题]中，我们问Jake有多少个苹果？
但我们有一些额外的[信息]，例如照片少了17张，Seventeen有8张照片，但这些信息完全无关紧要。
我们的[模型]做出了一些这样的[预测]，产生了负值。
我们观察到这两个表达式实际上有[相似的]分数。
我们实际上可以通过删除负数的结果来限制这个[搜索]空间，这样我们就可以得出正确的[答案]。
我们进一步发现，[针对]某些[模型]，这种[约束]实际上改善了很多。
[例如]，[对于][BERT]，我们提高了7分。然后，[对于]Roberta基础[模型]，我们实际上提高了两分。
因此，更好的[语言模型]具有更好的[语言理解]能力，因此，这里的[数字][对于]Roberta来说更高，[对于][BERT]来说更低。
我们还试图分析所有这些[数据集]背后的困难。
我们假设这里的未使用数量的[数量]可以被视为不相关的[信息]。
在这里我们可以看到，我们有未使用数量的样本的百分比，其中[SVAMP][数据集]占了最大的部分。
在这里，我们还展示了整体表现。
[对于]那些没有未使用数量的样本，其整体表现实际上高于整体表现。
但是，对于具有未使用数量的样本，其表现实际上比整体表现差得多。
[对于][MAWPS]，我们其实没有太多的测试例子，所以我会忽略掉这一部分。
最后，我们想通过一个[问题]扰动的例子来展示[可解释性]。
在这里，我们的[模型]实际上在第一步就做出了错误的[预测]。
我们实际上可以将这个表达式与这里的[句子]相关联。好。
我们认为这个[句子]可能会误导[模型]做出错误的预测。
在这里再植入一个35，会使得[模型]以为它是一个加法运算符。
我们尝试将[句子]修改为类似梨树的[数量]比苹果树少35棵。
我们使其传达更准确的[语义]，以便[模型]能够使[预测]正确。
这项研究展示了[可解释]预测如何帮助我们理解[模型]行为。
对我们的工作做个总结，首先我们的[模型]实际上是非常有效的。
我们能够提供[可解释的]解决程序。
我们可以简单地将一些先前的[知识]作为[约束]，这样就可以帮助提高表现。
最后一点是，底层机制不仅适用于解决[任务]的网络[问题]，也适用于涉及多步骤[推理]的其他[任务]。
我们也有一定的局限性。
如果我们有[大量] [数量]的运算符或常量，内存消耗可能相当高。
第二件事是，如前所述，由于不同时间步骤之间的概率分布不平衡，因此应用[波束搜索]策略也非常具有挑战性。
我的演讲到此结束，欢迎各位提出[问题]。谢谢。
大家好，我叫Antoine，来自马斯特里赫特大学。
我将展示我与Jerry的合作结果，它是[针对]法定条款[检索]的新[数据集]。
法律问题是许多人生活中不可或缺的一部分。
但大多数公民对他们的权利和基本法律程序[知]之甚少。
结果，许多无法承担法律专家昂贵费用的弱势公民得不到保护，或者（更糟糕的是）受到剥削。
所有工作旨在通过开发[针对]法定条款的高效[检索][系统]，来弥合公民与法律之间的鸿沟。
这样一个[系统]可以[为]非技术人员提供免费的专业法律援助服务。
在深入探讨这项工作的主要贡献之前，让我们首先描述法定条款[检索]的[问题]。
给出一个关于法律问题的简单[问题]，例如，如果我违反专业保密规定，我会承担怎么风险？
需要一个[模型]来从[大量]立法中检索所有相关的法定条款。
这种[信息检索] [任务]有其自身的一系列挑战。
首先，它涉及两种类型的[语言]。
[针对][问题]本身的通用[自然语言]，以及[针对]法规使用的复杂法律[语言]。
这种[语言][分布]的差异[使得][系统]更难检索到相关候选信息，因为它间接需要一个固有的解释[系统]，可以将[自然][问题]翻译成与法规[术语]相匹配的法律[问题]。
此外，成文法不是一堆可以自身作为完整[信息][来源]的独立条款，[举例来说]，不像[新闻]或食谱那样。
相反，它是法律条款的[结构化]集合，只有在整体[上下文]中考虑时才具有完整的[意义]，也就是说，连同相邻条款的补充[信息]，它们所属的字段和子字段，以及它们在法律[结构]中的位置。
最后，法定条款不是小段落，而小段落通常是大多数[检索]作品中的典型[检索]单元。
在这里，有一些有可能是长达六千[字]的长[文档]。
[自然语言处理]中的[最新进展]引发了对许多法律[任务]的巨大兴趣，例如法律判断[预测]或自动联系人合同审查。
但由于缺乏[较大的]高[质量][标签化][数据集]，法定条款[检索]基本上没有受到影响。
在这项工作中，我们提出了一个新的以[法国]本土公民为中心的[数据集]，以研究[检索][模型]是否可以接近法律专家[执行]法定条款[检索][任务]的效率和可靠性。
我们的比利时法定条款[检索][数据集][BSARD]由比利时公民提出的1100多个法律[问题]组成。
这些[问题]涵盖了从家庭、住房、金钱到工作和[社会]安全等[一系列]主题。
每个问题都由经验丰富的法学家[标记]，并参考了比利时法典中超过22,600篇法律条款的[语料库]中的相关条款。
现在，让我们来谈谈我们是如何收集这个[数据集]的。
首先，我们从汇编[大量][语料库]的法律条款开始。
我们考虑了32个公开可用的比利时法典，并[提取]了所有条款以及[相应的]章节标题。
然后，我们参考相关法规收集了法律[问题]。
为此，我们与比利时律师事务所合作，该事务所每年收到约4000封来自比利时公民的电子邮件，他们就个人法律问题征[求]意见。
我们很幸运能够访问他们的网站，在这个网站上他们经验丰富的法学家团队解决比利时人最常见的法律问题。
我们收集了数以千计的[问题]，并用类别、子类别和相关法规的法律参考进行了[注释]。
最后，我们浏览了法律参考文献，并过滤掉参考文献不包含在我们所考虑的其中任何一部法律条款的[问题]。
其余的参考文献被匹配，并转换为我们[语料库]中[相应的]条款ID。
我们最终得到了 10108 个[问题]，每个问题都仔细地[标记]了我们[大型][语料库]的22633个法定条款中的相关条款的ID。
此外，每个[问题]都具有主类别和一系列子类别。
每个条款都带有法律[结构]中子序列标题的[联结]。
这些额外的[信息]未在当前工作中使用，但可能[对]今后关于法律[信息检索]或法律[文本分类]的[研究]有所帮助。
让我们来看看我们的[数据集]的一些特征。
这些[问题]的长度在5到44个[单词]之间，中位数为14个[单词]。
条款则要长得多，中位数为77个[单词] ，其中有142条超过1000[单词]。
最长的一条有5790个[单词]。
如前所述，这些[问题]涵盖了[广泛]的主题，其中约85%的主题是关于家庭、住房、金钱或正义。
则其余的15%则涉及[社会]保障、外国人或工作。
这些法律条款也非常多样化，因为它们来自32个不同的比利时法典，涵盖了[大量] [数量]的法律主题。
以下是从这些比利时法典中收集的条款总[数]。
在22633个条款中，只有1612个与[数据集]中的至少一个[问题]相关。
这些被引用的条款中约有80%来自民法典、司法法典、刑事调查法典或刑法典。
与此同时，32个法典中有18个中提到的与至少一个[问题]相关的条款少于5个。
这可以解释为，这些法典较少关注个人及个人关心的问题。
总体而言，这些被引用条款[的]引用次数中位[数]为2次，其中引用次数超过5次的不到25%。
使用所有[数据集]，我们对几种[检索]方法进行了基准测试，包括[词汇]和密集架构。
给定一个[查询]和一个[条款]，[词汇][模型]通过计算该条款中每个术语的[权重]总和来为[查询]条款对分配一个分数。
我们使用标准的 TF-[IDF]和BM25排序函数进行实验。
这些方法的主要[问题]是，它们只能检索包含有[查询]中存在的关键字的条款。
为了克服这个限制，我们尝试了一种基于[神经]的架构，它可以捕获[查询]和条款之间的[语义]关系。
我们使用双[编码器][模型]将[查询]和条款映射到密集的[向量][陈述]中，并通过[查询]条款对[嵌入]的[相似度]计算它们之间的相关性分数。
这些[嵌入]通常来自于对[单词嵌入][模型]输出的池化操作。
首先，我们研究了Siamese双[编码器]在零样本[评估]设置中的有效性，这[意味着][预训练]的[单词嵌入]模型可以直接拿来使用，无需进行任何额外的[微调]。
我们尝试了与[上下文]无关的[文本][编码器]，[即][word2vec]和fastText，以及[上下文]相关的[嵌入][模型]，[即]Roberta，更具体地说是[CamemBERT]，它是个[法语]Roberta模型。
[此外]，我们在[数据集]上训练我们自己的基于[CamemBERT]的 [模型]双[编码器]。
请注意，[针对][训练]，我们尝试使用了双[编码器]架构的两种风格。
第一种是siamese，它使用一个独特的[单词嵌入][模型]，将[查询]和条款一起映射到一个[共享]的密集[向量空间]；另一种是双塔，它使用两个独立的[单词嵌入][模型]，将[查询]和条款分别[编码]到不同的[嵌入]空间。
我们试验了均值、最大值和[CLS]集合，以及计算相似性[的]乘积和[余弦]。
以下是我们在测试集上的基线结果。
上面是[词汇][方法]，中间是在零样本设定中评估的siamese双[编码器]，下面是微调的双[编码器]。
总体而言，微调的双[编码器]明显优于所有其他[基线]。
双塔[模型]在召回率上比其siamese模型高出了100，但在其他[指标]上表现相似。
虽然BM25的表现明显低于训练好的双[编码器]，但它的表现表明，它仍然是特定[领域][检索][的]一个强大基线。
关于siamese双[编码器]的零样本[评估]，我们发现直接使用[预训练]的[CamemBERT][模型]的[嵌入]，而不[对][信息检索][任务]进行优化，结果很差，这与[之前]的发现一致。
[此外]，我们观察到，基于[word2vec]的双[编码器]的表现明显优于基于fastText和[BERT]的[模型]，这表明在直接使用时，也许[预训练]的[词]级[嵌入]比字符级或[子词]级[嵌入][对]这项[任务]更适合。
虽然有希望，但这些结果表明，与一个熟练的法律专家[相比]，还有很多改进的机会，因为他最终可以检索到任何[问题]的所有相关条款，从而获得满分。
最后，让我们讨论一下[数据集]的两个局限性。
首先，条款的[内容]仅限于从比利时32部法典中收集的条款，这并不包括整个比利时的法律，因为法令、指令和条例中的条款都没有。
在构建[数据集]的过程中，所有对这些未收集的条款的引用都被忽略，这导致一些[问题]最终只有最初相关条款[数量]的一小部分。
因此，这一[信息]意味着其余相关条款中包含的答案可能是不完整的，尽管它仍然完全合适。
其次，我们应该注意，并非所有的法律[问题]都可以仅通过法规来回答。
[例如]这个[问题]：如果我的租户制造太多噪音，我可以驱逐他们吗？
在成文法中可能没有详细的[答案]来量化允许驱逐的特定噪音阈值。
相反，房东可能应该更多地依靠判例法，找到与他们目前情况[相似的]先例。
[例如]，租户每周举行两次派对，直到凌晨2点。
[因此]，有些[问题]比其他问题更适合于法定条款[检索][任务]，而不太适合的问题所在的[领域]还有待确定。
我们希望我们的工作能够激发在开发实用可靠的法定条款[检索][模型]方面的兴趣。
这可以帮助改善所有人对司法[的]利用。
您可以在以下链接查看我们的[论文]、[数据集]和法典。谢谢。
大家好，很高兴向你们介绍我们的工作成果——[VALSE]，这是一个独立于[任务]的基准，旨[在]用特定的[语言]现象测试视觉和[语言模型]。
我们为什么要费尽心思设立这个基准呢？
那是因为，在过去的几年里，我们看到了基于[转换器]的视觉和[语言模型]在[大]量的[图像][文本]对上进行[预训练]的爆炸性增长。
这些[模型]中的每一个都在视觉和[语言][任务]上推动了最先进的技术，如[视觉问题回答]、[视觉]常[识][推理]、[图像][检索]，以及[短语][领域]。
因此，我们得到了一个信息，这些[任务]的准确性和特定基准正在稳步提升。
但我们是否知道[模型]实际上学到了什么？
视觉和[语言][转换器]在[为]这个[图像]和这个[句子]分配高分时，所理解的是什么呢？
而这一个[的]低分呢？
视觉和[语言模型]关注的是正确的事情吗？
还是像[之前]的工作所显示的那样，他们专注于[偏差]？
为了进一步阐明这[方面]的问题，我们[提出]了一个与[任务]更加无关的方向，并引入[VALSE]，对于影响[语言]和[视觉][形态]的特定[语言]现象，其测试视觉和[语言模型]的敏感性。
我们的[目标]是存在性、复数、计数、[空间][关系]、动作和[实体][共指]。
但是，我们如何测试视觉和[语言模型]是否捕获了这种现象？
通过干扰Ravi Shekhar和合作者以前只应用[于]视觉和[语言模型]的[名词]短语[的][方法]，以及我们在[之前]工作中对计数的方法。
干扰的意思是，我们获取一个[图像]的标题，通过改变标题，使其不再描述图像中的物体，从而造成干扰。
当我们在做这些[短语]改动时，重点关注了六个具体的方面，如存在性、复数、计数、[空间][关系]、动作和[实体][共指]，其中每个方面都可能包含一种或多种工具，以备我们发现不止一个有趣的方式来创造干扰实例。
[例如]，在动作方面，我们有两种工具，在一种当中是用不同的动作改变动作[动词]，在另一种当中是动作被交换。
计数和[共指]也是具有多种工具的方面。
当我们创造这些干扰时，要确保它们不能描述[图像]，它们符合[语法]，且仍然是有效的[句子]。
这并不容易，因为被干扰的标题可能比原始标题更不可能。
[例如]，虽然这不是不可能的，但从统计学上来说，植物砍人[的]可能性比人砍植物的可能性要小，[较大的]视觉和[语言模型]可以发现这一点。
[所以]，要制造有效的干扰，我们必须想方设法。
首先，我们利用强大的[语言模型]来[提出]干扰。
其次，我们使用[自然语言推断]或简短[NLI]来过滤可能仍在描述[图像]的干扰词，因为在构建干扰词时，我们需要确保它们无法描述[图像]。
为了[自动]检验这一点，我们应用了[自然语言推理]，其基本原理如下。
我们认为[图像]是前提，其标题是其附带的假设。
此外，我们认为标题是前提，而干扰词是其假设。
如果[NLI] [模型]预测干扰词与标题相矛盾或保持中立，我们将其作为有效干扰词的指标。
如果[NLI]预测干扰词是标题中所包含的，那么它就不可能是一个好的干扰词，因为根据反证法，它将给出[图像]的真实描述，我们将这些干扰词过滤掉。
但这个过程并不完美，它只是一个有效干扰词[的]指标。
[所以]，作为[生成]有效干扰词的第三项措施，我们使用[人类] [注释着]来验证[VALSE]中使用的[数据]。
因此，经过过滤和[人工评估]后，我们拥有与本表中所述的测试实例一样多的测试实例。
请注意，[VALSE]不提供任何[训练数据]，而仅提供测试[数据]。
由于它仅是一个零样本测试基准，因此它旨在利用[预训练]后的视觉和[语言模型]的[现存]功能。
[微调]只会使[模型]能够利用[数据]中的工件或[统计] [偏差]。
我们都知道，这些[模型]喜欢作弊和走捷径。
正如我们所说，我们有兴趣[评估]视觉和[语言模型]在[预训练]后具有哪些能力。
我们在[VALSE]上尝试了五种视觉和[语言模型]，[即]使用[CLIP]、[LXMert]、[ViLBERT]、[ViLBERT]十二合一和[VisualBERT]。
我们最重要的两个[评估][指标]是[模型]在将[图像][句子]对分类为[标题]和[干扰词]的准确性。
也许[与]这段视频更相关的是，我们将展示我们更宽容的指标，即[成对的]准确性，它衡量的是正确的[图像][文本]对[的][图像][句子对齐]得分是否大于其受干扰[的]对。
[有关]更多[指标]及其结果，请查看我们的[论文]。
这里显示了[成对的]准确度的结果，它们与我们从其他[指标]中得到的结果一致，即[ViLBERT]十二分之一取得了最佳的零样本表现，其次是[ViLBERT]、[LXMert]、[CLIP]，最后是[VisualBERT]。
值得注意的是，以个别对象（如存在性和[名词]短语）为中心的工具几乎被[ViLBERT]十二分之一解决了，这突出表明[模型]能够[识别]已[命名]的对象和它们在图片中的存在。
但是，在我们的[对抗性]干扰设置中，其余的部分都不能被可靠地解决。
我们从复数和计数工具中看到，视觉和[语言模型]难以区分对单个和多个对象的引用，或在[图像]中计算它们。
[关系]部分表明，它们难以正确地[分类][图像]中对象之间的[命名][空间][关系]。
他们也很难区分动作和[识别]动作的参与者，即使像我们在动作这块看到的那样有合理性[偏差]的支持。
从[核心推理]这一块，我们发现通过使用[代词]来追踪对[图像]中同一对象的多个引用，[对于]视觉和[语言模型]来说也是困难的。
作为理智的检查，同时也因为这是一个有趣的实验，我们还对两个纯[文本][模型]（[GPT] one和[GPT] two）进行了基准测试，以评估[VALSE]是否可由这些单模态[模型]解决，方法是抛开[图像]不管，计算正确标题和受干扰标题的[困惑度]，并预测具有最低[困惑度]的条目。
如果受干扰标题[的]困惑度]更高，我们认为这表明受干扰的标题可能存在合理性偏差或其他[语言][偏差]。
有趣的是，在某些情况下，纯[文本]的[GPT][模型]比视觉和[语言模型]更好地捕捉了世界的合理性。
因此，总的来说，[VALSE]是一个基准，它使用[语言]构造的镜头，通过硬性测试社区的[视觉][接地]能力，来帮助其改善视觉和[语言模型]。
我们的实验表明，视觉和[语言模型]能很好地识别[命名]对象及其在图片中的存在（如“存在性”部分所示），但在被迫尊重[语言]指标时，却很难在[视觉]场景中建立它们的相互依存性和关系。
我们非常希望鼓励社区使用[VALSE][来]衡量用视觉和[语言模型]实现[语言][接地]的进展。
更重要的是，[VALSE]可以作为[数据集]的间接评估，因为可以在[训练]或[微调]前后对[模型]进行评估，以了解[数据集]是否有助于[模型]在[VALSE]测试的任何方面得到改善。
如果您有兴趣，请查看GitHub上的[VALSE][数据]。如果您有任何疑问，请随时与我们联系。
大家好，我是东京大学的Kamezawa。
我将发表一篇[论文]，题目为《[RNSum]：通过提交日志[总结][自动][生成]发行说明[的][大]规模[数据集]》。
我将按照这个顺序解释。
首先，我将介绍我们在这项[研究]中正在进行的[自动]发行说明[生成]。
发行说明是一个技术[文档]，它总结了软件产品的每个版本所分发的更改。
这个[图像]显示的是vuejs库的2.6.4版本[的]发行说明。
发行说明在[开源]开发中起着重要作用，但[手动]准备它们是很耗时的。
[因此]，如果能够[自动]生成高[质量]的发行说明，那将是非常有用的。
我将遵从[之前]的两项关于[自动][生成]发行说明的研究。
第一个是被称为[ARENA]的[系统] ，发布于2014年。
它采取了一种基于规则的[方法]，[例如]使用变化[提取器]从不同版本的差异中提取所有的差异、库的变化和[文件]的变化，最后再将它们结合起来。
这个[系统]最显著的特征是右上角的问题[提取器]。
这必须留给问题跟踪器[系统] JIRA ，并且只能应用于使用JIRA的项目。
换句[话]说，它不能用[于]GitHub上的许多项目。
第二个是Glyph ，最近在2020年宣布。
它可以在[互联网]上下载，并可以通过pip安装。
这个[系统]有一个简单的基于[学习]的[文本分类][模型]，并[为]每个[输入]的提交信息[输出]五个标签之一，如[特征]或错误修复。
此[图像]是一个返回纠正或错误修复标签的示例用法。
Glyph的[训练数据]相当小，约为五千，并将在下面描述的实验中显示。
[文本分类][模型]的表现不佳。
我提出了两个相关的研究，但它们的问题是适用性有限和[数据][资源]稀缺。
我们的[论文]解决了这两个问题，并[自动]生成了高[质量]的发行说明。
面对适用性有限的[问题]，我们[提出]了一种只使用提交信息作为[输入]的高[质量]的分类[总结][方法]。
这个提议的[方法]可以[用于]所有[英语]存储库。
[对于]第二个[数据][资源]稀缺的[问题]，我们通过使用GitHub [API]从公共GitHub存储库收集[数据]，建立了由大约八万两千条[数据]组成的[RNSum][数据集]。
接下来，我将介绍我们的[数据集]。
以下是[数据]的示例。
左侧是提交消息，右侧是发行说明。
发行说明被[标记]为优化或修复等。
我们设置了一个[任务]，将提交信息作为[输入]，并[输出]一个[标签化]的发行说明。
这可以看作是一项[总结] [任务]。
我们预先定义了四个标签：[特征]、优化、错误修复、弃用删除和重大更改。
这些都是基于[之前]的[研究]和其他因素设定的。
右下角的发行说明是从左下角的发行说明中[提取]的。
现在，有必要检测事先设置好的四个标签。
但是，标签并不总是与每个存储库一致。
[例如]，改进标签包括改进、增强、优化等。
我们[为]这些符号变体中的每一个准备了一个大约30个标签的[词汇]列表。
这是为了检测发行说明类，并收集后面的发行[文本]作为该类的发行说明[句子]。
接下来是提交消息。
提交信息并不与每个版本相联系。
如下面的[图像]所示，如果当前的版本是2.5219的版本，那么我们需要识别[之前]的版本2.5218，并得到一个差异。
这有点繁琐，而且仅仅得到一个发布列表并查看前后的情况是不够的。
我们创建了一个[启发式]匹配规则来获取[上一个]和下一个版本。
[数据集][分析]。
最后，收集到了7200个存储库和82000份[数据]。
此外，发行说明[令牌]的平均[数量]为63，这[对于]一个[总结][任务]来说是相当高的。
此外，独特的[令牌][数量]也相当是[大的]，有883万个。
这是由于在资源库中发现了[大][量]独特的类或[方法]名称。
接下来，我将解释所提议的[方法]。
这个先按类别[抽取]然后[抽象总结]的[模型]是由两个[神经]模块组成的。
一个是使用[BERT]或[CodeBERT]的[分类器]，另一个是使用[BART]的生成器。
首先，[CEAS]使用[分类器]将每条提交信息分为五个发行说明类别，其中使用了“改进”、“错误修复”、“弃用”，以及“其他”。
被归类为“其他”的提交消息将被丢弃。
然后[CEAS]将生成器独立地应用于四个[标签化] [文档]，并[为]每个类别生成发行说明。
在这项[任务]中，提交信息和发行说明之间的直接对应关系并不清楚。
[所以]，为了训练[分类器]，这就是为什么我们使用每条提交信息的前十个字符，来对每个[输入]的提交信息重新分配调查。
我们通过两种不同的[方法]对分类[抽象总结][方法]进行建模。
第一种方法是我们称为[CAS]-Single的[模型]，它由一个单一的六对六网络组成，并生成一个单一的发行说明[文本]，给出[输入]提交信息的[串联]。
输出的[文本]可以根据特殊的类特定端点符号分为分类段落。
第二种[方法]，[方法]，我们称之为[CAS]-Multi，由四个不同的[seq2seq]网络组成，每个网络都对应于一个固定的发行说明类别。
好，让我解释一下实验。
我们[比较]了五种[方法]：[CEAS]、[CAS]-Single、[CAS]-Multi、[Clustering]，以及[之前]的研究“Glyph”。
关于[评估]，在某些情况下，发行说明是以多个[句子]形式输出的。
由于很难计算出这些[句子]的[数量]，所以用空格合并，作为一个长[句]处理。
当[系统][输出]一个短[句]时，[BLEU]会受到惩罚。
在接下来描述的实验结果中，这种惩罚导致了较低的[BLEU]值。
最后，我们还计算了特异性，因为如果发行说明是空的，就无法计算[ROUG]和[BLEU]。
更高的特异性意味着，在发行说明假定为空的情况下，[模型]会正确地[输出]一个空[文本]。
结果如下。
由于该[数据集]包含电子邮件地址、哈希值等内容，所以我们还评估了经过清理的[数据集]，其中不包括这些内容。
[CEAS]和[CAS]的[ROUGE]-L得分比[基线]高10分以上。
特别是在干净的测试集上，建议的[方法]和[基线]之间的分数差距跃升到20分以上。
这些结果表明[CEAS]和[CAS]受到严重影响。
[CEAS]比[CAS]得到了更好的[ROUGE]-L分数，这表明将[分类器]和生成器结合在一起对使用[伪]标签[训练][分类器]是有效的。
[CEAS]的高覆盖率之所以能够实现，可能是因为[分类器]可以专注于[为]每个类别选择相关的提交信息。
[CAS] -Multi倾向于比[CAS] -Single产生更高的[ROUGE] -L。
这代表着，为每个发行说明类别独立开发不同[的][抽象总结][模型]也是有效的。
这里有一个错误[分析]。
[CAS][方法]倾向于输出比[人类]参考[句子]更短的[句子]。
在右图中，引用[句子]有3或4个[句子] ，而[CAS]只有1个。
这个[模型]不愿输出[的]原因是，在[训练数据]中，只有33%的[句子]出现在[特征]标签中，40%出现在改进标签中。
[此外]，如果没有额外的[信息]，[CAS][方法]就无法生成准确的发行说明。
右边最上面的例子是一个非常混乱的提交消息的例子，如果不参考[相应的]进度或问题，就无法[生成]完整的[句子]。
下面的例子显示，[输入]中的两个提交信息是相关的，应该合并成一个[句子]，但它没有这么做。
最后，一个结论。
我们已经建立了一个新的[数据集]，[用于][自动][生成]发行说明。
我们还制定了一项输入提交信息并对其进行[总结]的[任务]，以便适用于所有用[英语][写]的项目。
我们的实验表明，与[基线]相比，所提出的[方法]在更高的覆盖率下产生了更少干扰的发行说明。
请查看我们在GitHub上的[数据集]。
谢谢。
大家好。我的名字是Asaf Harari。
我将介绍我们的[论文]《使用微调[转换器][架构]的少样本表格式[数据]充实》。
[数据]科学家对[数据]进行分析，主要侧重于对[数据]的[现有][特征]进行操作。
但有时，这些[特征]是有限的。
使用另一个[数据][来源][生成]特征可能会增加大量的[信息]。
我们的[研究]目标是，利用外部来源的自由[文本][自动]丰富表格[数据]。
假设我们有一个表格[数据集]和一个[知识库]。
我们需要一个[自动]过程，其中包括[实体链接]和[文本][分析]，以从[知识库]的自由[文本]中提取新的[特征]。
我们的框架[FeSTE]正是这个[自动]过程。
我们来看看在一个[数据集]中输入[FeSTE]的例子。
在这个例子中，[数据集]是大学[数据集]。
当它的目标是将大学分为低排名的大学和高排名的大学时。
我们使用[维基百科]作为[知识库]。
[FeSTE]的第一阶段是[实体链接]。
当每个[实体]，在这个例子中是指大学名称，被[链接]到[知识库]中的一个[实体]。
并且[知识库]的[实体][文本]被[提取]出来，并添加到[数据集]中。
在这个例子中，[文本]是[维基百科]页面的摘要。
现在，我们需要从[检索] [文本]中生成或提取[特征]。
因此，我们需要进行特征[提取]阶段，其中包括[文本][分析]。
这是本[论文]的主要新颖之处，我将在接下来的幻灯片中深入探讨。
在特征[提取]阶段之后，还有一个特征[生成]阶段，我们使用[提取的][特征]来生成少[量]的新[特征]。
首先，在原始[数据集]的类别[数量]中生成[特征]。
在这个例子中，原始[数据集]有两个类别。
所以，[FeSTE]生成两个[特征]。
但如果[数据集]有五个类，[FeSTE]就会生成五个新的[特征]。
每个特征表示每个类[的]可能性。
为了分析[文本]，我们使用了目前最先进的[文本][分析]方法，即基于[转换器]的[语言模型]，如[BERT]、[GPT]、[XLNet]等。
但是，我们不可能用[输入][数据集]来训练[语言模型]。
因此，有一个朴素的[方法]是：[目标][任务][微调]。
因此，在特征[提取]阶段，我们可以下载[预训练的语言][模型]，在[目标][数据集]上微调[语言模型]。
在这个例子中，要对[语言模型]进行微调，将[文本]分类，抽象成类，低或高。
接收[语言模型]的输出，也就是每个类别的可能性，并作为新的[特征]使用。
这种[方法]的[问题]是，[数据集]可能只有几个不同的[实体]/[文本]。
在我们的实验中，几乎有一半的[数据集]包含少于400个样本，最小的[数据集]包含35个样本，在一个[训练]集中。
因此，在这个[数据集]上微调[语言模型]将是无效的。
但我们可以使用关于预先分析的[数据集]的先验[知识]。
因为[FeSTE]，我们在多个[数据集]上应用[FeSTE]，我们可以使用n减1的[数据集]来收集n减1的[数据集]的[信息]，并在分析第n个[数据集]时使用这些[信息]。
我们的建议是，添加另一个[微调]阶段。
一个初步的[多任务][微调]阶段。
当你在n减1[数据集]上微调[语言模型]时。
然后，我们执行另一个[微调]阶段，即[目标][任务][微调]，此时我们在第n个[目标][数据集]上微调[语言模型]。
最先进的[多任务][多任务][微调]技术称为[MTDNN]。
在[MTDNN]中，[MTDNN]在[训练]集的[任务][数量]上保持着头部。
因此，在这个例子中，[训练]集里有四个[任务]，所以[MTDNN]维持四个头，正如在[图像]上看到的那样。
它从[训练]集中随机抽取一批。
而如果他们的随机批属于一个，[例如]单[句分类][任务]，它就会通过第一个头执行前向和后向路径。
而如果随机批属于[成对]排名[任务]，它就会通过最后一个头执行前向和后向路径。
在我们的场景中，表格[数据集]在类的[数量]上有所不同。
存在很多的[任务]。
[MTDNN]保持了类、头、输出层的[数量]。
[另外]，[MTDNN]需要[为]一个新的[数据集]和一个新的[任务]初始化新的头。
我们的[方法]，称为“[任务]重构[微调]”，它是在我们的[方法][任务]重构[微调]，而不是维护多个头，我们把每个[数据集]重构为每个[分类][问题]的一个[句子]，也就是两个类的[任务]。
让我们来看一个例子。
这里是我们的[输入][数据集]，由[实体]、[特征]、[文本]和类组成。
而且，我们将[任务]从对[文本]进行低级或高级[分类]，重新表述为对[文本]、抽象和类别进行真或假的分类。
或者换句[话]说，我们训练了[语言模型]，将一个抽象和类划分为抽象和类，无论抽象属不属于类。
因此，标签[向量]在这种情况下始终保持……它总是由两个类组成。
而这就是我们精细的、重新制定的[微调][方法][的][算法]。
让我们来看看完整的框架。
[数据集]送入[FeSTE]。
然后，[FeSTE]执行[实体链接]阶段。
它从[知识库]中提取[文本]，在本例子中，它是[维基百科]页面的摘要。
然后，它将[任务]重新表述为一个[成对的][句子分类][任务]。
将[语言模型]应用于新的[任务]，并对每一类[的]输出可能性进行分析。
现在，[语言模型]已经用初步的[多任务][微调]在n减1的[数据集]上进行了微调。
然后，在类的[数量]上，我们用[语言模型]的输出[向量]作为新[生成的]特征。
为了评估我们的框架，我们使用了17个表格[分类][数据集]，这些数据集在大小、[特征]、平衡、[域]和初始表现上都有所不同。
我们还是使用[维基百科]来作为[知识库]。
我们将实验设计为留出一个[评估]，在16个[数据集]上训练[FeSTe]，并将其应用于第17个[数据集]。
我们还将每个[数据集]分成四折，并应用四折交叉验证。
然后，我们生成新的[特征]，并使用五个[评估][分类器]对其进行评估。
在我们的实验中，我们使用基础[BERT]基础架构。
以下是我们实验[的]结果。
你可以看到，我们将我们的框架与[目标][数据集][微调]……[目标][数据集][微调]和[MTDNN]初步[微调]进行了比较。
而我们重新制定的[微调][实现]了最好的结果，最好的表现。
而[MTDNN]比[目标] [数据集] [微调]提高了2%。
我们的[方法]实现了6%的改进。
当我们在小[数据集]上看时，我们可以看到[MTDNN]的表现下降了，初步的[多任务][微调]阶段的改进下降到1.5%。
但与单独的[目标][任务][微调][相比]，我们的表现提高到了11%。
总而[言之]，在我们的实验中，[FeSTE]可以从35个样品中进行少量的富集。
它使用一个架构[用于]所有[任务]和[数据集]。
而且它保留了[模型]的头部。
但它增加了重新制定阶段。
它增加了训练集，它需要一个具有[语义]的[目标]值，这样我们就可以把它输入到[语言模型]中，并在[句对][分类][问题]中使用它。
谢谢。