摘要
提出新的辅助矫正模型:CAC,
其收集与HMS(手写数学符号)关联的学习上下文数据,并将其转化为上下文信息。通过人工智能识别上下文信息,以调整HMS的识别输出。
简介
HMS上下文数据主要包含两种:
1.表达式内的上下文数据
2.表达式外的上下文数据
分别对应识别错误的举例:
引用表达式内部的数据,将v纠正为a
引用表达式外部的数据,将u修改成a
LC——Learning context(学习环境)::从学习内容中提取数学表达式的符号以及他们的输入位置的数据用作LC数据。
Related work
1.手写数学表达式识别
手写数学表达式的识别分类:
离线手写数学表达式:仅包含像素数据,一般是照片图像
在线手写数据表达式:包括通过手写笔或者手指触摸获得的壁画数据(点的坐标和时间序列数据)
手写数学表达式的识别过程:1.符号分割 2.符号识别 3.结构分析。三个过程依次进行,缺点是前一个过程的错误的输出会影响后续过程。
2.已有的手写数学表达式识别模型
介绍相关的竞赛——CROHME
三种任务:1. 在线手写数学表达式识别 2.离线手写数学表达式识别 3. 文档页面中的表达式检测
本文具体介绍了2019年CROHME竞赛的具体结果(针对识别任务1)
主要考虑两个方面的准确性:1.同时识别结构和符号标签 2.只识别结构
符号识别的准确率几乎没有超过80%,即每输入5个符号,符号就会被错误识别一次
对结果分析:多数情况下,结构识别输出的信息没有被利用或不足以识别模棱两可的符号。
LC Data
1.数据内容的构成
电子学习系统中存储的学习内容由以下的部分组成:学习主题、问题、解决过程以及正确答案四个部分组成。后文中分别用p1(x),p2(x),p3(x),p4(x)表示。
2.提取符号和输入位置
每个学习部分当中的学习内容都包含符号,从中提取出相应的符号作为LC的数据用于矫正HMS识别算法当中表达不明确的符号的输出。
提取符号的例子:
在学习过程中输入表达式的地方有两种:Solving Process 和 Correct answer。输入表达式的位置用i(x)表示。
在每个位置主要使用的符号是不同的。此外,即使每个位置使用相同的符号,其含义也可能有不同的解释。
表达式的输入位置:
CAC模块组成
CAC模型主要有三个部分组成:LC数据采集模块、LC信息生成模块、HMS输出校正模块
工作过程
1. LC数据采集模块从e-learning系统采集与HMS相关的LC数据(学习内容中包含的符号、表达的输入位置等)(生成提取符号矩阵E以及符号频率矩阵R0)
2. LC信息生成模块将收集到的LC数据转换为LC信息,供神经网络使用。(使用1当中两个矩阵生成期望符号矩阵R)
3. HMS输出校正模块通过基于LSTM的人工神经网络识别LC信息以及识别结果,不正确的HMS输出进行校正,提高识别准确率
实验
使用2019 CROHME在线识别任务数据集中50个符号的89477个数据。其中训练集数据81265份,测试集数据8212份。
实验使用的符号
数据集的组成
由于所选择的数据集不包含LC的数据,所以采用了一定的方案进行调整。
针对输入位置的信息,抽取部分的训练集和测试集的数据按统计比例分配,将输入位置分别设定为Solving process过程中以及Answer过程中
针对符号提取方面,指定一定的提取方法。
主要是和前文当中提到的CROHME 2019识别率最好的TAP模型进行比较
针对模型的调整:在神经网络当中添加了dropout、全连接层以及softmax层,每层输出的维度设置为50(使用的符号总数)。dropout ratio设置为0.5
训练和测试
第二组CAC的训练集是第一组TAP训练集的输出数据用来构成LC数据,其中70%用于训练,30%用于验证
实验结果
最后的识别结果而言,TAP准确率93.22%,而经过CAC模型调整之后的准确率为97.15%,提高了3.93%.
不足和展望
1.无法测试在系统中实际的LC数据
2.无法获得与HMS配对的足够多的LC数据
3.需要进一步细化LC数据
4.若使用与前面规定的不一致的符号,LC的数据可能会降低CAC模型的识别性能