论文笔记 | MathDQN: Solving Arithmetric Word Problems via Deep Reinforcement Learning

本文主要是介绍论文笔记 | MathDQN: Solving Arithmetric Word Problems via Deep Reinforcement Learning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

Lei Wang 和 Dongxiang Zhang团队在AAAI18上发表的文章,使用了DQN来解决MWP(Math Word Problem)问题。

Motivation

在将问题表达成一个表达式树的时候,有一种方法是枚举所有的操作数,组成树的叶子节点。这种方法所需的搜索空间很大,虽然有一些剪枝的算法可以运用,但仍不能满足需求。

在实践中,可以发现Deep Q-netwrok能够处理搜索空间很大的问题。比如:游戏场景。

所以本文想要用deep Q-network来解决math word problem。

MathDQN框架

在这里插入图片描述

步骤为:
  • 首先提取问题文本中的相关操作数
  • 对操作数根据表达式树的构造顺序进行排列
  • 每一个迭代,选择两个操作数,将它们的上下文相关的向量表示作为当前state
  • 将state向量输入两层的前馈神经网络,得出当前的两个操作数的最近公共祖先的操作符
  • 对于groundtruth的操作符,如果一致则给出正向反馈,否则给出负反馈。
对应强化学习的要素:
  • state:当前状态用两个操作数的上下文向量来表示
  • action:指两个操作数的最近公共祖先的操作符
  • reward:操作符正确,则给出奖励;否则惩罚。

优缺点分析

strong points:
  • 第一次使用强化学习来解决MWP问题,设计了合理地状态空间、动作空间和奖励函数。
  • motivation很好,利用了DQN解决搜索空间大的问题。
weak points:
  • 文中使用的数据集规模较小,三个数据集中都包含少于1000个题目。17年发表的文章DNS中提供的较大规模数据集Math23K已经被广泛使用,但这里没有用到。【是否能适用于大规模数据,需要根据代码进一步确定。】

这篇关于论文笔记 | MathDQN: Solving Arithmetric Word Problems via Deep Reinforcement Learning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/890787

相关文章

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Java利用poi实现word表格转excel

《Java利用poi实现word表格转excel》这篇文章主要为大家详细介绍了Java如何利用poi实现word表格转excel,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、每行对象类需要针对不同的表格进行对应的创建。package org.example.wordToEx

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超