小学数学应用题自动解题_杂记

机器学习导论大作业

赛题

赛题名

小学数学应用题自动解题

背景

阅读理解是近年来NLU的一个常见任务,通常要求在大段文本中理解关键信息。由于很多关键信息直接来源于文本的关键句子,所以很难衡量模型本身的”理解能力“,而机器对内容的理解是衡量AI在教育领域发展的一个重要依据。应用题包含简单的文字表述,相对密集的推理和计算,是评估机器阅读理解能力的一个重要场景。同时,应用题也是K12教研的重要组成部分,如果机器能完美的理解题意,将会给AI在教育中的发展产生巨大的想象空间。

任务

该任务是为了衡量现有机器学习模型在应用题理解方面的能力,模型读入一个应用题,输出该题的结果。为了降低任务的难度,赛题选择小学数学1-6年级校内题目。

例如:

  1. 商店有4框苹果,每框55千克,已经卖出135千克,还剩多少千克苹果?=85
  2. 玩具厂生产了960个电子玩具,每3个装一盒,每5盒装一箱,一共装了多少箱?=64

数据集

ape210k

数据样例:

{
    "id": "254761",
    "segmented_text": "小 王 要 将 150 千 克 含 药 量 20% 的 农 药 稀 释 成 含 药 量 5% 的 药 水 . 需 要 加 水 多 少 千 克 ?",
    "original_text": "小王要将150千克含药量20%的农药稀释成含药量5%的药水.需要加水多少千克?",
    "ans": "450",
    "equation": "x=150*20%/5%-150"
}

模型

以original_text为输入、equation为输出,以“BERT+UniLM”为基础架构,训练一个Seq2Seq模型。1

BERT

bert4keras

https://github.com/bojone/bert4keras

工具

解题思路

相关链接

2020 CCF BDCI小学数学应用题自动解题解题思路 - 知乎