首页> 中国专利> 用于书写数学表达式分析的方法、装置和计算机程序产品

用于书写数学表达式分析的方法、装置和计算机程序产品

摘要

提供了用于书写数学表达式分析的各种方法。一种方法可以包括接收书写输入,其中该书写输入表示数学表达式。该方法还可以包括分析该书写输入以标识至少一个运算符和至少一个操作数,并且至少部分地基于预定符号关系、该至少一个运算符和该至少一个操作数来构建表达式树。还提供了类似的装置和计算机程序产品。

著录项

  • 公开/公告号CN102460476A

    专利类型发明专利

  • 公开/公告日2012-05-16

    原文格式PDF

  • 申请/专利权人 诺基亚公司;

    申请/专利号CN201080025897.3

  • 发明设计人 谢晓辉;刘英斐;汪孔桥;邹燕明;

    申请日2010-04-29

  • 分类号G06K9/22;G06F17/21;G06F3/048;

  • 代理机构北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 芬兰埃斯波

  • 入库时间 2023-12-18 05:21:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-18

    未缴年费专利权终止 IPC(主分类):G06K9/46 授权公告日:20160217 终止日期:20170429 申请日:20100429

    专利权的终止

  • 2016-02-17

    授权

    授权

  • 2016-02-10

    专利申请权的转移 IPC(主分类):G06K9/46 登记生效日:20160119 变更前: 变更后: 申请日:20100429

    专利申请权、专利权的转移

  • 2012-06-27

    实质审查的生效 IPC(主分类):G06K9/22 申请日:20100429

    实质审查的生效

  • 2012-05-16

    公开

    公开

说明书

技术领域

本发明的实施方式总体上涉及数据录入,并且更具体地,涉及 一种用于分析触摸屏显示器上书写的数学表达式的方法、装置和计 算机程序产品。

背景技术

显示器技术方面的发展已经使得将触摸屏显示器实现为用于各 种类型的电子设备(包括移动通信设备)的用户接口机制。具体地, 触摸屏显示器已经用于蜂窝电话应用以及平板个人计算机应用。作 为电子设备用户接口的一部分,触摸屏显示器不仅通过显示图像和/ 或文本向用户提供输出机制,而且还接收与用户对屏幕的触摸相关 联的输入。

触摸屏显示器通过在常规小键盘上添加更多的便利来允许用户 与设备之间更自然的接口。经由触摸屏显示器,用户经常可以享受 更直观的数据输入和输出接口。由于触摸屏显示器的直观特性,电 子设备的开发者正趋向于将触摸屏技术并入其中利用了电子设备的 许多应用中,具体地并入移动设备应用中。

针对触摸屏技术的一种演进应用涉及数学表达式录入领域。许 多非触摸屏小键盘计算器的使用带来了如何在一张纸上书写数学表 达式与如何将数学表达式录入计算器之间的脱节。同样,由于小键 盘计算器上有限的按键数目,表达式的录入对于用户而言可能是繁 琐和难处理的。

发明内容

本发明描述了实现书写数学表达式分析的方法、装置和计算机 程序产品。对此,本发明的各种示例实施方式经由触摸屏显示器接 收书写输入。该书写输入可以表示由用户经由触摸屏显示器录入的 数学表达式。书写输入可以分解或分割成归于操作数(例如,值) 或运算符(例如,加号、减号、乘号、平方根号等)的多个部分。 运算符和操作数可以用于构建表达式树。根据某些示例实施方式, 表达式树可以构建成自包含的完全二叉树。表达式树可以基于运算 符与操作数之间的预定符号关系来构建。基于预定符号关系,本发 明的示例实施方式可以将占位符插入表达式树用于丢失的元素。可 以基于一个或多个预定规则和/或预定符号关系来就误差对表达式进 行分析。如果存在误差,则本发明的示例实施方式可以以显示反馈 消息的形式向用户提供反馈。

本文描述了本发明的各种示例实施方式。一个示例实施方式是 一种用于书写数学表达式分析的方法。该示例方法包括接收书写输 入。对此,该书写输入可以表示数学表达式。该示例方法还可以包 括分析书写输入来标识至少一个运算符和至少一个操作数并且至少 部分地基于预定符号关系、该至少一个运算符和该至少一个操作数 来构建表达式树。

另一示例实施方式是一种用于书写数学表达式分析的示例装 置。该示例装置包括处理器和存储有指令的存储器,响应于处理器 执行而该指令,使得该示例装置执行各种功能。可以使得该示例装 置接收书写输入。对此,该书写输入可以表示数学表达式。还可以 使得该示例装置分析书写输入来标识至少一个运算符和至少一个操 作数并且至少部分地基于预定符号关系、该至少一个运算符和该至 少一个操作数来构建表达式树。

另一示例实施方式是一种用于书写数学表达式分析的示例计算 机程序产品。该示例计算机程序产品包括至少一个具有可执行的计 算机可读程序代码指令存储其中的计算机可读存储介质。该示例计 算机程序产品的计算机可读程序代码指令配置用于接收书写输入。 对此,该书写输入可以表示数学表达式。该计算机可读程序代码指 令可以进一步配置用于分析书写输入来标识至少一个运算符和至少 一个操作数并且至少部分地基于预定符号关系、该至少一个运算符 和该至少一个操作数来构建表达式树。

又一示例实施方式是一种用于书写数学表达式分析的示例设 备。该示例设备包括用于接收书写输入的装置。对此,该书写输入 可以表示数学表达式。该示例设备还可以包括用于分析书写输入来 标识至少一个运算符和至少一个操作数的装置以及用于至少部分地 基于预定符号关系、该至少一个运算符和该至少一个操作数来构建 表达式树的装置。

附图说明

已经概括地描述了本发明,现在将参考附图,该附图并不一定 按比例绘制,并且其中:

图1a图示了根据本发明的各种示例实施方式的示例触摸屏显示 器设备;

图1b图示了根据本发明的各种示例实施方式的示例表达式树;

图2图示了根据本发明的各种示例实施方式的、包括符号关系 的示例矩阵;

图3图示了根据本发明的各种示例实施方式的示例表达式树;

图4图示了根据本发明的各种示例实施方式的示例表达式树;

图5a图示了根据本发明的各种示例实施方式的示例表达式树;

图5b图示了根据本发明的各种示例实施方式用于确定图5a的示 例表达式树的一系列增量操作;

图6图示了根据本发明的各种示例实施方式的示例表达式树分 析规则;

图7图示了根据本发明的各种示例实施方式的示例反馈消息;

图8a和图8b图示了根据本发明的各种示例实施方式的反馈规则 的实现;

图9a和图9b图示了根据本发明的各种示例实施方式的示例格式 化表达式;

图10图示了根据本发明的各种示例实施方式用于实现书写数学 表达式分析的装置的框图;以及

图11绘制了根据本发明的各种示例实施方式用于实现书写数学 表达式分析的方法的流程图。

具体实施方式

现在将参考附图在下文更完整地描述本发明的实施方式,在附 图中示出了本发明的一些而不是全部实施方式。实际上,可以按照 许多不同的形式体现本发明,并且本发明不应被理解为限于在此所 阐明的实施方式;相反,提供这些实施方式以使得本公开将满足适 用的法律要求。贯穿全文相似的参考标号指代相似的元素。如这里 所使用的,术语“数据”、“内容”、“信息”以及类似的术语可 以被可交换地使用以指代能够根据本发明的实施方式传递、接收、 操作和/或存储的数据。此外,如这里所使用的,术语“示例性”并 非被提供以传达任何定性评估,而是仅仅传达对示例的例示。

如本文所使用的,短语“书写输入”指的是诸如经由触笔、手 指、笔、其他书写实现等的手写数据录入。对此,根据某些示例实 施方式,书写输入可以是由触摸屏显示器以表示数学表达式的手写 标记的形式接收的数据。

本发明的示例实施方式以数学表达式的形式接收数据作为书写 输入。该书写输入可以由用户格式化为数学表达式并且由电子设备 经由触摸屏显示器接收。图1a绘制了已经以数学表达式的形式接收 了书写输入102的电子设备101的示例触摸屏显示器100。该书写输 入102可以由本发明的示例实施方式进行分析以分割或分解待解释 为数学表达式的书写输入102。

对此,图1b绘制了对应于书写输入102的数学表达式104。基 于将数学表达式102变成运算符和操作数的分解,可以由本发明的 各种实施方式生成表达式树106。该表达式树106可以作为数据结构 存储在电子设备101的存储器设备中。当用户正在录入书写输入102 时,或在完成之后,电子设备可以就误差来分析表达式树106。如果 和/或当数学表达式录入中的误差被标识时,电子设备可以配置用于 向用户提供关于如何改正该误差的提示或者反馈消息。如果表达式 没有误差,或者如果误差已经被改正,则电子设备101可以评估该 表达式并且提供和/或显示结果。

基于表达式树计算数学表达式的结果可以基于评估算法如何遍 历表达式树以多种等效但不同构建的方式执行。例如,可以利用中 缀(infix)机制,其中运算符出现在其两个操作数之间。备选地, 可以利用前缀(prefix)机制,其中运算符出现在其两个操作数之前, 或者可以利用后缀(postfix)机制,其中运算符出现在其两个操作数 之后。给定表达式树,本发明的实施方式可以根据中缀、前缀或后 缀机制生成结果。

为了基于书写输入可靠评估数学表达式的目标,本发明的示例 实施方式标识数学表达式和潜在书写输入中的误差,并且向用户提 供反馈以改正该误差。对此,误差可以被分类成多种类型,包括用 户书写误差、识别误差和表达式解析器误差。

用户书写误差可能由于较差或费解的手写和/或杂散的标记而产 生。删除并重写书写输入的某些部分或所有部分可以是用于修补用 户书写误差的一种机制。

识别误差可能由于手写识别引擎没有正确地标识某些或所有书 写输入而产生。识别误差可以被分成三个子类型,即符号识别误差、 符号分组误差和符号定位误差。符号识别误差的一个示例可以是书 写“7”被识别为“1”。符号分组误差的一个示例可以是书写“5” 被识别为“3”之后跟随着减号“-”。此外,符号定位误差的一个示 例可以发生在平方根号没有完全延伸超过操作数时(参见图8b), 而没有被平方根号覆盖的部分被认为是单独操作数,而不是平方根 号下的单个操作数。根据某些示例实施方式以及下文的进一步描述, 可以向用户提供反馈消息以辅助修补和/或预防识别误差。

当数学表达式的评估无意义或不正确时,可以标识表达式解析 器误差。例如,表达式解析器误差可能在数学表达式的评估包括被 零除时发生。数学表达式中出现运算符或操作数丢失时也可能产生 表达式解析器误差。类似于识别误差,根据如下文进一步描述的某 些示例实施方式,可以向用户提供反馈消息以辅助修补和/或预防表 达式解析器误差。

如上文所提到的,响应于书写输入和/或基于该书写输入的数学 表达式中标识的误差,可以提供反馈消息。还可以以主动方式提供 反馈消息以避免误差。对此,可以提供反馈消息以建议或推荐用于 使表达式完整或向表达式添加的方法。例如,提供了开圆括号,本 发明的示例实施方式可以建议应当向表达式添加闭圆括号。对此, 反馈消息可以由不完整的表达式或者经由候选符号或表达式的标识 来触发。

为了促进表达式误差的识别和/或做出建议,本发明的各种示例 实施方式生成表达式树,诸如表达式树106。表达式树可以生成为自 包含的完全二叉表达式树。根据各种示例实施方式,完全二叉树是 其中每层(可能除了最后一层)都被完全填满并且所有节点尽可能 地在最左边的二叉树。另外,根据某些示例实施方式,在自包含树 中,信息由树本身提供,其中信息可以是误差校正位置、误差类型、 修正方法等。在表达式树中,父节点可以是运算符,而子节点可以 是操作数。

为了生成表达式树,本发明的示例实施方式可以基于逐个符号 来解析或分解书写输入。继而可以针对预定的符号关系来对符号进 行分析。预定的符号关系可以指示由于丢失的运算符、丢失的操作 数或丢失的圆括号而是否应当插入表达式树的节点。

符号关系可以以符号关系矩阵进行组织。图2绘制了用于在构 建表达式树中使用的示例符号关系矩阵。为了使用图2的符号关系 矩阵,可以标识和考虑右子节点的内容(沿着首行)以及左子节点 的内容(沿着最左列)。矩阵中内容类型相遇的位置可以确定可以 在父节点中提供的信息。因此,可以生成支持运算符与操作数之间 以及它们之中交互的符号关系。限定的关系可以是用于标识错误的 表达式或表达式的错误部分的基础。符号关系还可以提供用于做出 用以正确地完成表达式或表达式的一部分的建议的基础。

例如,如果右子节点包括值(指的是首行中的“值”)并且左 子节点包括值(指的是最左列中的“值”),则内容类型可以相遇 在指示“op”的单元。该关系指示当两个子节点均具有值时,父节 点应当具有运算符。如果在表达式树构建期间基于书写输入确定运 算符没有包括在父节点中,则丢失的运算符节点可以被插入表达式 树。如果运算符包括在父节点中,则不需要向该树添加丢失的运算 符节点并且还没有标识误差。

因此,符号关系可以针对各种运算符和操作数进行定义,包括 空节点、值(例如,e、π、数字、小数点等)、未知运算符(nop)、 等号(“=”)、加号(“+”)、减号(“-”)、乘号(“*”或 “×”)、除号(“/”或“÷”)、分号、单个左圆括号(“(”)、 单个右圆括号(“)”)、圆括号对(“()”)、乘方号(“^”)、 平方根号(“√”)、函数(例如,\answer{答案值},\sin{参数}、 \cos{参数}等)等。同样,可以扩展预定符号关系以包括附加运算符 类型,诸如∏(n数组乘积)、∑(n元素总和)和∫(积分)。

此外,可以定义符号关系以支持具有等同含义的备选表达式。 例如,可以针对以下情况定义符号关系,其中由于圆括号的存在而 没有包括乘号(例如,7(2+3)与7*(2+3)之间的差异可以被认 为是等同表达式)。为了向矩阵引入这种关系,可以对具有左子节 点为“值”而右子节点为“()”的单元执行修改。

当示例实施方式生成表达式树时可能出现以下情况,其中基于 预定符号关系可以向表达式树添加或插入节点。例如,丢失或损失 的运算符节点(这里由“OL”表示)、空节点(这里由“Ψ”表示) 或丢失或损失的值节点(这里由“VL”表示)可以被添加或插入到 表达式树。此外,丢失的圆括号还可以使得插入或添加节点,诸如 丢失或损失的右圆括号或左圆括号(这里分别表示为“RPL”或 “LPL”)。同样由于圆括号在表达式树生成上的作用,当嵌套的圆 括号包括在表达式中时,可以添加节点。对此,树的分支可以在生 成表达式树时发生(这里由“Br”表示)。

误差可能在以下情况中发生,其中数学表达式的组成不符合预 定符号关系。对此,生成的表达式树的节点可以与节点状态值相关 联。基于预定的符号关系,可以将节点状态设置到正常状态或非正 常状态。例如,丢失的运算符节点或丢失的值节点可以被指派为非 正常状态。根据各种示例实施方式,反馈消息可以至少部分地基于 与节点相关联的状态的值。

图3至图5a绘制了根据本发明的各种示例实施方式生成的示例 表达式树。图3绘制了表达式树108,其中书写输入已经被确定为 “7sqrt8”。除了与对应书写输入中标识的符号相关联的节点,表达 式树108还包括插入节点110和112。节点110是丢失的运算符节点, 这是由于符号关系指示运算符可以被要求作为为值的子节点与为平 方根号的另一子节点的父节点。同样,节点112是作为平方根号节 点子节点的空节点。符号关系可以指示节点112位置中的空节点可 以是可接受的,这是由于当没有提供根值时可以假设平方根运算。 因此,基于表达式树108,可以提供指示需要丢失的运算符的反馈消 息。

图4绘制了基于数学表达式“6/×8”生成的表达式树的另一示 例。图4的表达式树114包括丢失的值节点116。丢失的值节点116 可能已经响应于指示“/”符号与“×”符号之间需要值的符号关系 而被插入。

图5a绘制了包括丢失的圆括号的表达式树的更复杂的示例。根 据本发明的某些示例实施方式,可以生成从书写输入导出的数学表 达式的文本版本。参考图5,书写输入可以是表达式“((7++5) 6/×8”的书写版本,而文本版本可以是“(RPL OL(7+VL+5)OL6/VL ×8”。由于表达式中的误差,表达式树118可以包括丢失的运算符 节点和丢失的值节点。图5b绘制了用于生成图5a中表达式树118 的一个示例系列过程。

生成表达式树可以是递归过程。假设书写输入通过正确识别的 语法以数学表达式的形式出现,则存在许多已知的方法用于在针对 值和运算符定义了运算优先级之后生成表达式树。然而,本发明的 示例实施方式还考虑了方括号,并且由于运算符优先级,书写输入 中的方括号可以被引入表达式树。由于运算符优先级,引入的方括 号可以以不同的方式向用户呈现以支持经由书写输入由用户引入的 方括号与由于运算符优先级自动插入的方括号之间的差异。同样, 根据某些示例实施方式,补充符号(诸如,VL、OL、RPL等)可以 在生成表达式树时使用。可以向补充符号指派运算符优先级,诸如 VL的优先级在值之间可以是相同的,OL可以与“+、-”相同,以 及RPL的运算优先级可以低于运算符,与值的优先级相同等。

因此,基于符号关系表达式树,并且在某些示例实施方式中, 可以生成自包含的完全二叉表达式树。表达式树中的信息(诸如丢 失的运算符或丢失的值)可以用于向用户提供反馈消息以修补或避 免误差,或者做出建议。

为了促进生成反馈消息,可以定义用于分析表达式树的评估规 则。例如,可以定义被零除规则、平方根自动延伸规则、分段规则 等。根据各种示例实施方式,鉴于对规则的考虑表达式树的分析可 以提供用于生成反馈消息的基础。

图6绘制了当生成反馈消息时可以考虑的四个示例规则。第一 规则考虑了涉及被零除的情况。对此,本发明的示例实施方式可以 评估子树,可能是节点中包括除号的右子树,以确定是否会发生被 零除。在某些示例实施方式中,可以设置阈值使得当子树的结果落 到阈值以下时,标识被零除。在某些示例实施方式中,还可以适当 调节运算规则的顺序从而可以避免图6规则1提供的示例中的被零 除。

图6的规则2针对的是具有丢失的参数的函数的使用。对此, 符号关系或规则可以用于标识以下情况,其中函数的必要参数未得 到满足。在与图6的规则2相关联的示例中,正弦函数具有空的右 参数并因此与规则违背。对此,一种分析可以确定例如正弦节点的 右子节点为空。可以向用户提供关于该误差的反馈消息。

图6的规则3针对的是以下情况,其中平方根号没有延伸超过 所有预期的字符。表达式树的分析可以针对平方根节点执延伸检测 以确定其是否是丢失的运算符的子节点。如果丢失的运算符还具有 为值的子节点,则示例实施方式可以确定应当延伸平方根号以覆盖 附加的值。在某些示例实施方式中,可以针对阈值差来确定平方根 号的末端与附添值之间的距离以确定该附加值是否应当被认为是平 方根下的值的一部分。基于该确定,本发明的示例实施方式可以提 供反馈消息或者执行自动校正。

图6的规则4针对的是对于书写输入可能发生的分段误差。对 此,与规则4相关联的示例包括基于书写输入如何分段而可以被解 释为“5”或“3-”的标记。在第一实例中,对应的数学表达式是“5-7”, 而在第二实例中,数学表达式是“3--7”。诸如这种情况,常见的分 段误差可以经由表达式树中的模式来标识。例如,当包括减号的父 节点具有包括为3的节点和丢失值的子孙节点的子节点时,可以标 识“5”相对“3-”误差的模式。可以生成相关联的反馈消息并向用 户提供,或者可以基于误差没有通过有效解决方案引入的假设而执 行自动校正。

基于与针对图6描述的那些规则和/或针对图2描述的符号关系 类似的规则,在书写输入的录入期间或其之后,可以向用户提供反 馈消息。图7绘制了针对各种误差和/或建议情况的示例反馈消息列 表。

图8a和图8b绘制了根据本发明的各种示例实施方式的某些示例 反馈消息的实现。对此,图8a示出了如何可以从示例书写输入确定 两个不同的分段结果。对此,再次绘制了针对图6规则4描述的情 况。注意,书写输入的标记可以以不同方式分段,从而产生被解释 为“5”或“3-”的部分。对此,标记可以在第一选项中被分段成一 个部分120或者在第二选项中被分段成两个部分122和124。由于该 不明确性以及针对图6规则4的分析,可以向用户提供反馈消息126 询问标记是否应当被组合成一个分段。

图8b绘制了一种示例情景,其中平方根号没有完全延伸超过所 有值并且存在丢失或损失的值。由于平方根号的不完整延伸,可以 向用户提供反馈消息128指示该平方根号可能是不完整的。此外, 由于在加号之后丢失或损失的值而可以提供反馈消息130。

为了在以数学表达式的形式录入书写输入的同时或在这之后向 用户提供附加反馈,本发明的各种示例实施方式可以将书写输入显 示为格式化表达式。该格式化表达式可以向用户提供关于如何识别 书写输入的附加反馈,从而允许用户修改书写输入以做出校正。

显示格式化表达式的一种示例方法是使用表达式树来格式化并 且显示表达式。表达式树可以基于节点令牌和节点块以递归的方式 进行分析,其中节点令牌与表达式树的节点有关。对此,表达式树 的每个节点可以具有两组计算值、节点令牌和节点块。节点令牌可 以包括令牌x位置、令牌基线位置、令牌宽度、令牌基线上面的高 度和令牌基线下面的高度。节点块可以包括以下节点块,该节点块 包括x位置、基线位置、宽度、基线上面的高度和基线下面的高度。 节点令牌可以是节点符号,而节点块可以是包括节点左右子节点部 分的节点的子树。基线可以用于对齐在相同层的子表达式。

图9a和图9b绘制了基于本发明的各种示例实施方式的格式化表 达式的示例。参考图9a和图9b,示例实施方式可以计算令牌宽度、 令牌高度(基线上面和/或下面)、块宽度和块高度(基线上面和/ 或下面)。计算可以从表达式树的叶子开始并且以递归的方式向根 遍历。

此外,可以计算节点块x位置和块基线位置。针对块的计算可 以从根节点开始。在某些示例实施方式中,根节点的x位置和基线 可以位于坐标系中的坐标(0,0)。块计算还可以递归地执行以基 于先前计算出的对应令牌值和块值来计算子节点的块位置。

该过程可以通过计算令牌的x位置和令牌的基线位置而继续。 第一计算还可以从根节点开始,然后基于先前计算的令牌值和块值 递归地计算其子节点的令牌位置。另外,示例实施方式可以通过执 行树搜索机制来计算位置从而确定所有节点位置。树搜索机制可以 操作多次以确定位置。在生成用于显示的表达式之后,可以根据显 示器的大小配置来调节表达式的大小。

上文和这里提供的描述示出了用于书写数学表达式分析的示例 方法、装置和计算机程序产品。图10图示了以示例装置200的形式 出现的本发明的另一示例实施方式,该示例装置200配置用于执行 这里描述的本发明的各种方法。装置200可以配置用于执行本发明 的示例方法,诸如那些针对图11描述的方法。

在某些示例实施方式中,可以但不是必须将装置200体现为具 有有线或者无线通信能力的通信设备或者包括装置200作为该通信 设备的部件。装置200的某些示例或者可以包括装置200的设备可 以包括计算机、服务器、网络实体、移动终端(诸如移动电话、便 携式数字助理(PDA)、寻呼机、移动电视、游戏设备、移动计算 机、膝上型计算机、相机、视频记录器、音频/视频播放器、无线电 和/或全球定位系统(GPS)设备)或者前述装置的任何组合等。另 外,装置200可以配置用于实现如这里描述的本发明的各种方面(例 如包括本发明的各种示例方法),其中借助硬件配置的处理器或者 通过执行存储在计算机可读介质中的指令配置的处理器等实现所述 方法。

装置200可以包括处理器205、存储器设备210、书写输入接收 器235、表达式树生成器240和/或表达式树分析器245或者与它们 通信。在某些示例实施方式中,装置200可以选择性地包括通信接 口215和/或触摸屏用户接口225。处理器205可以被体现为实现本 发明的示例实施方式的各种功能的各种装置,例如包括:微处理器、 协处理器、控制器、专用集成电路(诸如例如ASIC(专用集成电路)、 FPGA(现场可编程门阵列)或硬件加速器)、处理电路等。在某些 示例实施方式中,处理器205可以但不是必须包括一个或多个伴随 数字信号处理器。在某些示例实施方式中,处理器205可以配置用 于执行在存储器设备210中存储的指令或者处理器205可访问的指 令。如此,无论由硬件配置或经由在计算机可读存储介质上存储的 指令或者通过其组合,处理器205可以表示能够根据本发明的实施 方式执行运算同时对应地进行配置的实体。因此,例如当处理器205 体现为ASIC、FPGA等时,处理器205可以是用于进行这里所述运 算的特定配置的硬件。备选地,当处理器205体现为在计算机可读 存储介质上存储的指令的执行器时,指令可以特定地配置处理器205 以执行这里所述的算法和运算。然而,在某些情况下,处理器205 可以是配置用于通过经由用于执行这里所述的算法和运算的执行指 令对处理器205的进一步配置而采用本发明的示例实施方式的特定 设备(例如,移动终端)的处理器。

存储器设备210可以是一个或多个计算机可读存储介质,该存 储介质可以包括易失性和/或非易失性存储器。例如,存储器设备210 可以包括随机存取存储器(RAM)(包括动态和/或静态RAM)、 片上或者片外高速缓存存储器等。另外,存储器设备210可以包括 非易失性存储器(可以为嵌入的和/或为可拆卸的)并且可以例如包 括只读存储器、闪存、磁存储设备(例如,硬盘、软盘驱动、磁带 等)、光盘驱动和/或介质、非易失性随机存取存储器(NVRAM) 等。存储器设备210可以包括用于暂时存储数据的高速缓存区。就 这一点,可以在处理器205内包括某些或者所有存储器设备210。

另外,存储器设备210可以配置用于存储用于使处理器205和 装置200能够执行根据本发明的示例实施方式的各种功能的信息、 数据、应用、计算机可读程序代码指令等。例如,存储器设备210 可以配置用于缓冲用于由处理器205处理的输入数据。除此之外或 者取而代之,存储器设备210可以配置用于存储用于由处理器205 执行的指令。

通信接口215可以是配置用于从网络接收数据或者向网络发送 数据的、体现为硬件、计算机程序产品或者硬件和计算机程序产品 的组合的任何设备或者装置和/或与装置200通信的任何其它设备或 者模块。处理器205还可以配置用于例如通过控制包括在通信接口 215中的硬件来促进经由通信接口的通信。对此,通信接口215可以 例如包括一个或多个天线、发射器、接收器、收发器和/或支持硬件 (包括用于实现与网络220通信的处理器)。经由通信接口215和 网络220,装置200可以以对等形式或者经由通过基站、接入点、服 务器、网关、路由器等的间接通信来与各种其他网络实体通信。

通信接口215可以配置用于提供根据任何有线或者无线通信标 准的通信。通信接口215可以配置支持多个天线环境中的通信,诸 如多输入多输出(MOMO)环境。此外,通信接口215可以配置用 于支持正交频分多路复用(OFDM)信号传输。在某些示例实施方式 中,通信接口215可以配置用于根据以下各种技术进行通信,诸如 第二代(2G)无线通信协议IS-136(时分多址(TDMA))、GSM (全球移动通信系统)、IS-95(码分多址(CDMA))、第三代(3G) 无线通信协议(诸如通用移动电信系统(UMTS)、CDMA2000、宽 带CDMA(WCDMA)和时分同步CDMA(TD-SCDMA))、第3.9 代(3.9G)无线通信协议(诸如,演进型通用陆地无线电接入网络 (E-UTRAN))、第四代(4G)无线通信协议、国际移动电信高级 (IMT-高级)协议、长期演进(LTE)协议(包括LTE-高级)等。 另外,通信接口215可以配置用于根据以下技术进行通信,例如射 频(RF)、红外(IrDA)传输控制协议/网际协议(TCP/IP)和/或 多个不同无线联网技术(包括WLAN技术诸如IEEE 802.11(例如 802.11a、802.11b、802.11g、802.11n等)、无线局域网(WLAN) 协议、全球微波接入互操作性(WiMAX)技术(诸如IEEE 802.16) 和/或无线个域网(WPAN)技术诸如IEEE 802.15、蓝牙(BT)、 BT的低功率版本、超宽带(UWB)、Wigbee等)中的任何技术。

触摸屏用户接口225可以与处理器205通信以经由触摸屏用户 接口225接收用户输入以及/或者向用户呈现输出,例如,听觉、视 觉、机械或其他输出指示。用户接口225例如可以包括键盘、鼠标、 游戏杆、触摸屏显示器、扬声器或其他输入/输出机制。

装置200的书写输入接收器235、表达式树生成器240和表达式 树分析器245可以是部分或全部体现为硬件、计算机程序产品或硬 件与计算机程序产品的组合的任意装置或设备,诸如实现所存储指 令以配置装置200的处理器205,或者硬件配置的处理器205,其配 置用于执行如这里所述的书写输入接收器235、表达式树生成器240 和/或表达式树分析器245的功能。在示例实施方式中,处理器205 包括或控制书写输入接收器235、表达式树生成器240和/或表达式 树分析器245。书写输入接收器235、表达式树生成器240和/或表达 式树分析器245可以部分或全部体现为类似于处理器205但与之分 离的处理器。对此,书写输入接收器235、表达式树生成器240和/ 或表达式树分析器245可以与处理器205通信。在各种示例实施方 式中,书写输入接收器235、表达式树生成器240和/或表达式树分 析器245可以部分或全部驻留在不同装置上,使得书写输入接收器 235、表达式树生成器240和/或表达式树分析器245的某些或所有功 能可以由第一装置执行,书写输入接收器235、表达式树生成器240 和/或表达式树分析器245的其余功能可以由一个或多个其他装置执 行。

书写输入接收器235可以配置用于接收书写输入。该书写输入 可以表示数学表达式。在某些示例实施方式中,该书写输入可以经 由触摸屏显示器从用户接收,诸如触摸屏用户接口225的触摸屏显 示器。

表达式树生成器240可以配置用于分析书写输入以标识至少一 个运算符和至少一个操作数。表达式树生成器240还可以配置用于 至少部分地基于预定的符号关系、该至少一个运算符和该至少一个 操作数来构建表达式树。对此,表达式树生成器240可以访问存储 器设备210中的预定符号关系。该预定符号关系可以存储为二维矩 阵或者表。在某些示例实施方式中,表达式树生成器240可以配置 用于将表达式树构建成自包含的完全二叉树。附加或备选地,表达 式树生成器240可以配置用于至少部分地基于预定符号关系将占位 符插入表达式树中用于丢失的运算符、丢失的操作数或者丢失的圆 括号。根据某些示例实施方式,表达式树生成器240还可以至少部 分地基于表达式树构建用于显示的数学表达式的表示。对此,可以 基于表达式树中一个或多个节点令牌和对应的节点块的递归分析来 确定数学表达式的表示。

表达式树分析器245可以配置用于分析表达式树以至少部分地 基于一个或多个预定规则来标识误差。根据各种示例实施方式,表 达式树分析器245可以进一步配置用于提供对应于该误差的反馈消 息的显示。该反馈消息可以显示在触摸屏显示器上,诸如触摸屏用 户接口225的触摸屏显示器。此外,表达式树分析器还可以配置用 于提供反馈消息作为针对将来书写输入的建议。

图11图示了根据本发明的示例实施方式的系统、方法和计算机 程序产品的一个或多个流程图。应当理解可以通过各种方式实现流 程图的每个框、步骤或者操作和/或者流程图中的框、步骤或者操作 的组合。用于实现流程图中的框、步骤或者操作,流程图中的框、 步骤或者操作的组合,或者这里所述的本发明示例实施方式的其他 功能的装置可以包括硬件和/或计算机程序产品(包括具有一个或多 个计算机程序代码指令、程序指令或者存储其中的可执行计算机可 读程序代码指令的计算机可读存储介质)。对此,程序代码指令可 以存储在装置(诸如,装置200)的存储器设备(诸如,存储器设备 210)上并且由处理器(诸如,处理器205)执行。应当理解,可以 从计算机可读存储介质向计算机或者其他可编程装置(例如,处理 器205、存储器设备210)上加载任意这样的程序代码指令以产生特 定机器,使得该特定机器变成用于实现在流程图的框、步骤或者操 作中指定的功能的装置。这些程序代码指令还可以存储在计算机可 读存储介质中,该存储介质可以指引计算机、处理器或者其他可编 程装置以特定方式工作从而生成特定机器或特定的制品。存储在计 算机可读存储介质中的指令可以产生制品,其中该制品变成用于实 现在流程图的框、步骤或者操作中指定的功能的装置。程序代码指 令可以从计算机可读存储介质中获取并且向计算机、处理器或者其 他可编程装置上加载以配置该计算机、处理器或者其他可编程装置 执行待在计算机、处理器或者其它可编程装置上执行的可操作步骤 或者由计算机、处理器或者其它可编程装置执行。可以顺序执行程 序代码指令的获取、加载和执行使得一次获取、加载和执行一个指 令。在某些示例实施方式中,获取、加载和执行可以并行执行使得 多个指令一起获取、加载和执行。程序代码指令的执行可以产生计 算机实现的过程,使得由计算机、处理器或者其他可编程装置执行 的指令提供用于实现在流程图的框、步骤或者操作中指定的功能的 步骤。

因此,由处理器执行与流程图的框、步骤或者操作相关联的指 令,或者将与流程图的框、步骤或者操作相关联的指令存储到计算 机可读存储介质中支持用于执行特定功能的步骤的组合。应当理解, 流程图的一个或者多个框、步骤或者操作和流程图中的框、步骤或 者操作的组合可以由执行特定功能或者步骤的基于专用硬件的计算 机系统和/或处理器实现,或者由专用硬件和程序代码指令的组合实 现。

图11绘制了用于书写数学表达式分析的本发明的一个或多个示 例实施方式。一个示例方法可以包括在300接收书写输入。该书写 输入可以表示数学表达式。在某些示例实施方式中,该书写输入可 以经由触摸屏显示器从用户接收。该示例方法还可以包括在305分 析书写输入以标识至少一个运算符和至少一个操作数。

此外,在310,示例方法可以包括至少部分地基于预定的符号关 系、至少一个运算符和至少一个操作数来构建表达式树。在某些示 例实施方式中,构建表达式树可以包括将表达式树构建成自包含的 完全二叉树。附加或备选地,至少部分地基于预定符号关系构建表 达式树可以包括至少部分地基于预定符号关系将占位符插入表达式 树中用于丢失的运算符、丢失的操作数或者丢失的圆括号。构建表 达式树还可以包括构建用于显示的数学表达式的表示。对此,可以 基于表达式树中一个或多个节点令牌和对应的节点块的递归分析来 确定数学表达式的表示。

根据各种示例实施方式,该示例方法可以进一步包括在315分 析表达式树以至少部分地基于一个或多个预定规则来标识误差。在 320,该示例方法可以包括提供对应于该误差的反馈消息的显示。

从前文说明书和关联附图中呈现的教导中受益的这些发明所涉 及的领域中的技术人员将想到这里阐述的本发明的许多修改和其它 实施方式。因此将理解本发明并不限于公开的具体实施方式并且修 改和其它实施方式旨在于被包括在所附权利要求的范围内。另外, 虽然前文说明书和关联附图在元素和/或功能的某些示例组合的背景 中描述示例实施方式,但是应当理解替代实施方式可以提供不同的 元素和/或功能组合而不脱离所附权利要求的范围。就这一点而言, 例如也如可以在一些所附权利要求中阐述的那样设想除了上文明确 描述的元素和/或功能组合之外的不同元素和/或功能组合。虽然这里 运用具体术语,但是仅以广义和描述意义使用它们而不用于限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号