当前位置: 首页 > 科技观察

超过Google,微信AI在NLP领域又获一项世界第一

时间:2023-03-22 12:59:17 科技观察

超越谷歌,微信AI在NLP领域又拿下世界第一微信AI又拿下NLP世界第一,这次是机器阅读理解。在专项测试计算机数学推理能力的DROP数据集上,最新的微信AI方案超越GoogleResearch,位列第一,成为SOTA。今年3月,在第七届对话系统技术挑战赛(DSTC7)上,微信智言团队首次亮相并获得冠军。而这一次,微信AI团队表示,这不仅是他们在机器阅读理解方面的进步,也是他们在数学推理方面的首次工作。该方案并没有以目前主流的BERT为核心,而是基于数字感知图神经网络(NumGNN)的方案。据微信AI团队介绍,以NumGNNd为核心,结合NAQANet的基础模块和改进后的预处理方式,在不使用BERT、RoBERTa等预训练模型的情况下,可以获得高达67.97%的F1值.在实际上榜的NumNet+上,他们进一步整合了RoBERTa的能力,增加了对多跨度问题的支持,使得单模型F1值高达82.99%。于是,他们也得出了一个结论:即使不使用BERT等预训练模型,模型的效果也已经优于使用BERT。微信AI团队表示,该方案可以帮助人工智能提升阅读理解能力和逻辑推理能力,未来该技术也将应用于腾讯小微智能对话助手。但与谷歌、百度等智能语音助手的ToC产品形态不同,腾讯的小微智能对话助手主要以云服务的形式输出。微信积分是什么意思?AI数学测试从数据集DROP开始。DROP数据集,由AI2(AllenInstituteforArtificialIntelligence)实验室提出,主要考察模型进行类似数学运算的能力。(巧合的是,微信之父张小龙的英文名也是Allen,只不过allen.ai的域名属于AI2)不像SQuAD数据集中的大部分问题,都是“WhoisLauAndy'swife?”,题目会涉及到数学运算条件。比如我们5个人每人买2个蛋挞,一共应该买多少个蛋挞?这个问题对人来说很容易,但对机器来说很难。微信AI团队解释了这背后的原因:机器不仅要能够比较数字的相对大小,还要能够知道与哪些数字进行比较和推理。这需要将数字的相对大小等知识注入模型。然而,在以往的大部分机器阅读理解模型中,数字和非数字词基本被一视同仁,无法得知数字之间的关系,无法完成计数、加减等数学运算。为此,微信AI团队提出了数值感知图神经网络(numerically-awaregraphneuralnetwork,NumGNN),并在此基础上提出了NumNet。一方面,利用图的拓扑结构对数字之间的大小关系进行编码,文章和问题中的数字作为图节点,数字之间建立有向边,具有“>”和“<=”关系,这样数字的大小关系就作为先验知识注入到模型中。具体来说,给定一个问题和一段文本,首先提取问题中的数字和文本中的数字。每个数字都是图上的一个节点。同时,对于任意两个数,如果A数和B数,如果A大于B,则在A和B之间加一条有向边,表示A大于B的关系。如果A小于或等于B,将添加另一条有向边来连接它们。通过这个操作,利用图的拓扑结构将数字相对大小的知识注入到模型中。另一方面是结合文本信息做更复杂的数学推理。具体实现方式是利用图卷积神经网络对上述图结构进行推理,从而支持更复杂的数学推理功能。超越谷歌方案获得全球第一在DROP数据集的Leaderboard上,微信AI团队的方案是NumNet+。微信AI团队表示,这个方案的基础和NumNet是一样的,就是NumGNN。在新方案中,NumNet中的非预训练Transformer被替换为预训练模型作为编码器,进一步融合了RoBERTa的能力和对多跨度问题的支持。从而取得了82.99%的单模型F1值,一举超越GoogleResearch的BERT-CalculatorEnsemble方案,成为榜单第一。虽然取得的成绩还算不错,但从微信AI团队的角度来看,还是存在不少瑕疵。例如,目前支持的数学表达式类型仍然有限。尤其是DROP数据集的局限性,对文本理解有更高的要求,但所需的数学推理难度相对于解决数学问题要简单一些。微信AI团队表示,如何将两者更好的结合起来,进一步提升整个模型的能力,是他们接下来要考虑的问题。而且,他们还表示不会专注于使用GNN来解决数字推理的问题,以后会专注于其他的方式来考虑。更具体地说,它能够在算术词问题(AWPs)相关工作中吸收和整合复杂数学表达式相关的方法,进一步提高模型的推理能力。更多详情,可前往DROP数据集LEADERBOARD:https://leaderboard.allenai.org/drop/submissions/public微信AI的研究成果已被EMNLP2019收录,论文也已发表:NumNet:机器阅读理解与数值推理https://arxiv.org/abs/1910.06701项目地址:https://github.com/llamazing/numnet_plus