项目 内容
这个作业属于哪个课程 人工智能实战2019
这个作业的要求在哪 [作业要求]https://edu.cnblogs.com/campus/buaa/BUAA-AI-2019/homework/3296)
我在这个课程的目标是 了解人工智能相关知识,提高编程能力
这个作业在哪个具体方面帮助我实现目标 提高算法思考能力
作业正文 https://www.cnblogs.com/-myq123/p/10965787.html)

思考题1:如何识别不合法(既非数字也非符号)的输入?
不合法的输入与合法的输入差别应该是没有一个数字或符号与其特别匹配,所以可以设定一个阈值,当一个输入的所有特征值都低于阈值时则可以判定为不合法输入,这个阈值可能不好确定,也需要先进行训练一下,进一步精细一点可以设定一个特征值,例如标准差,当输入的特征值超过阈值在一定范围时,可以通过检验特征值的标准差来确定是否为合法输入。

思考题2:如何设计该计算器应用以识别下列元素:

A:更多的符号,比如sin函数

B:复杂的表达式结构(上下结构),比如指数$e^x$,分数\frac{$pi$}{2}

C:更复杂的表达式结构(包围结构),比如平方根\sqrt[2]{$a2$+$b2$}

A:可以建立一个函数字典,识别时优先匹配函数,不符合在当做普通符号对待

B:首先考虑数字,符号之间的分割,这个通过判断断点可以把单个数字,符号分开,然后计算每个字符的中心点以及字符高度,对于指数,通过中心点相对距离容易判断,分数有三层,应该也比较好判断,当表达式比较复杂时,必须把这些基本结构当成一个整体,指数优先,分数次之,然后重新计算中心点,或者指数(单独的)可以以底数的中心点为整体的中心点,分数可以以中间的横线作为整体的中心点,然后继续这个过程。

C:对于包围结构,首先要识别出根号,然后识别出开几次方,一般来说上下标都在符号的右边,而根式却在左边,(平方根可以不写幂次),根号可以单独训练识别出来,左边的上标应该难度也不大,然后考虑的是如何确定根式下面有哪些符号,这个需要确定根号边界点,以及符号的水平位置,这个依然考虑符号的中心点,再加上符号的宽度,在根式外没有上下结构时,当中心点在在根号的左右边界之间时,可以认定为其在根式内,当中心点稍超出时,可以考虑超出部分占字符宽度的比例,设定一个阈值,判定其是否应该认定为根式内,当根式外有上下结构时,还需确定根号的上下边界,在一句中心点等判断。

posted on 2019-06-03 09:25  myq123  阅读(349)  评论(0编辑  收藏  举报