CN101398812B - 生成带业务逻辑的电子表单的装置和方法 - Google Patents
生成带业务逻辑的电子表单的装置和方法 Download PDFInfo
- Publication number
- CN101398812B CN101398812B CN2007101619979A CN200710161997A CN101398812B CN 101398812 B CN101398812 B CN 101398812B CN 2007101619979 A CN2007101619979 A CN 2007101619979A CN 200710161997 A CN200710161997 A CN 200710161997A CN 101398812 B CN101398812 B CN 101398812B
- Authority
- CN
- China
- Prior art keywords
- service logic
- unit
- item
- electronic spreadsheet
- mutual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Character Input (AREA)
Abstract
本发明涉及用于生成带业务逻辑的电子表单的装置和方法。所述生成装置包括:解析器,用于解析源电子表单,获得包含在源电子表单中的项的属性信息;项识别单元,根据在解析器获得的项的属性信息,识别源电子表单中的交互项;业务逻辑识别单元,根据项的属性信息,识别源电子表单中的业务逻辑;和目标文件生成器,生成包含识别出的交互项和业务逻辑的目标电子表单。利用该装置可以大大减少批量转换中的人工劳动,减少差错,同时识别出的业务逻辑可引导用户填写电子表单,规范用户输入,并有助于实时处理。
Description
技术领域
本发明涉及电子表单的处理,尤其涉及生成带业务逻辑的电子表单的装置和方法。
背景技术
表单在业务、工业和政府等部门中应用广泛。表单可以存储为多种格式,通常可以打印在纸上,但随着电子商务的发展,客户开始使用电子表单。因此,将纸件表单转换为电子表单的需求越来越强。另一方面,在电子表单之间进行转换的需求也越来越普遍。
电子表单中含有的最小单位被称为“项”,例如标记(Label)、线(Line)、字栏(Field)、复选框(Checkbox)、单选按钮(Radiobutton)、表(Table)、日期检出器(Date Picker)、弹出列表(PopLists)等。描述项的属性的信息被存储在电子表单文件中,例如项的类型、几何属性(大小和位置等)、内容和/或逻辑属性等。项具有的两个重要特征是可视性(visibility)和可填写性(fillability),即项是否可以以电子方式显示给用户以及是否可以由用户以电子方式填写。如果项可以由用户以电子方式填写,则称为交互项,否则称为非交互项。
根据交互性,电子表单可以被划分为三种类型:
(1)非交互式电子表单:没有交互项,因而与它们的纸件源表单看起来完全一样,即用户可以通过例如显示屏等看到项,但无法通过机器以电子方式填写这些项;
(2)基本交互式电子表单:具有少量的交互项,例如字栏等少数几种交互项,而其它项仍然是非交互的;
(3)高级交互式电子表单:除了基本交互式电子表单可以支持的交互项外,高级交互式电子表单还应支持其它多种交互项,另外更重要的是,它应支持业务逻辑的识别和应用,这将在后面进一步讨论。
含有电子表单的文件被称为电子表单文件。当前,电子表单文件具有多种格式,例如PDF、RTF(使用微软公司的Word程序或其它文字处理器创建的文件格式)、TEXT、HTML等等,它们可能相互之间不兼容。当将电子表单从源格式转换为目标格式时,开发人员通常采用一些自动工具来转换电子表单文件,然后手动修改转换后的电子表单,以满足客户的要求。
在电子表单转换领域存在多种工具,一种常见的工具是PDF编写器,它可以创建看起来与打印在纸上的表单完全相同的电子表单文件,但这些文件丧失了在源文件中存在的所有交互属性,即这是一种非交互式电子表单转换工具。
另一种工具的例子是Texcel FormBridge,它可以将PDF、PrintFile和JetForms文件转换成IBM Workplace Forms文件。最终产生的IBM Workplace Forms文件看起来就象它们在转换之前一样。这一工具仅仅将源电子表单上的类型转换为目标电子表单上的对应类型,即这是一一映射的关系。在这种情况下,转换是静态的。例如:
例子1:在PDF格式中,有一个标签对<BT,ET>代表可显示的文本,其中BT用于表示“文本开始”,ET用于表示“文本结束”。该标签对映射且仅映射到IBM Workplace Forms下的<label>标签。该映射是预先定义的并且不能被定制。它在转换过程中不发生改变。
例子2:当在一个源电子表单文件例如PDF文件中出现复选框时,它看起来是构成一个闭合方框的四条短线。当被转换成IBMWorkplace Forms文件时,四条短线保持不变,看起来就象它们在源电子表单文件中一样。这样的转换并不创建一个交互式复选框来代替四条短线,虽然在IBM Workplace Forms格式下支持交互式复选框(<check>标签)。
Texcel FormBridge能够在电子表单转换过程中创建可填写的字栏,新字栏的创建是根据已有的线和标记来确定的。也就是说,TexcelFormBridge已能够转换一些交互项,属于基本电子表单转换工具,但该工具不能处理高级的交互式电子表单。
由于现有工具不能识别交互项或者只能识别一些简单的基本交互项,所以在大批量电子表单转换过程中,仍然需要开发人员在自动工具转换后手动完成剩余项的识别和转换。这样的重复性手动工作显然是低效的,而且容易出错。
另外,在电子表单中隐含着大量的业务逻辑,例如项的输入验证;项之间的数学计算、逻辑运算;项之间的互斥、联动、跳转等业务流关系等。使用电子表单中的业务逻辑信息可以对用户输入进行实时处理,规范用户输入,引导用户更快捷、正确地完成表单的填写。实际中,可以通过编程来定义电子表单中的业务逻辑,例如用HTML语言编写电子表单。但还没有一种工具可以在电子表单转换过程中自动识别源电子表单中的业务逻辑。也就是说,经过现有工具转换后的目标电子表单都缺少业务逻辑的支持,这必然会丧失源电子表单中的一些功能。如果在转换后手动添加业务逻辑,又会带来效率低、容易出错等缺点。实际上,是否具备业务逻辑识别能力已成为区分基本转换工具和高级转换工具的重要条件之一。
当然,以上提及的电子表单转换也可能发生在同种格式的电子表单之间,即转换前后的电子表单具有相同的格式,但仍然需要识别源电子表单中的业务逻辑,并生成带业务逻辑的目标电子表单。
基于现有技术中存在的以上问题,需要一种能够在转换电子表单过程中识别电子表单可支持的项类型并且识别电子表单中隐含的业务逻辑,进而生成包含可支持的交互项和业务逻辑的目标电子表单的自动识别和转换工具。
发明内容
本发明的目的是提供一种可识别源电子表单中的交互项和业务逻辑,并生成包含识别出的交互项和业务逻辑的目标电子表单的装置和方法。
根据本发明的第一方面,提供了一种生成带业务逻辑的电子表单的装置,包括:解析器,用于解析源电子表单,获得包含在源电子表单中的项的属性信息;项识别单元,根据在解析器获得的项的属性信息,识别源电子表单中的交互项;业务逻辑识别单元,根据项的属性信息,识别源电子表单中的业务逻辑;和目标文件生成器,生成包含识别出的交互项和业务逻辑的目标电子表单。
根据本发明的第一方面,业务逻辑识别单元可以包括:简单单元识别器,基于简单单元识别规则,根据项的属性信息将项分组为多个简单单元;复合单元识别器,基于复合单元识别规则,根据多个简单单元的类型和相互之间的位置关系形成一个或多个复合单元;和业务逻辑识别器,基于业务逻辑识别规则,根据分别由简单单元识别器和复合单元识别器形成的简单单元和复合单元的类型、位置和内容检测源电子表单中的业务逻辑。
根据本发明的第一方面,项的属性信息至少包括项的类型、几何属性和内容。交互项的识别是基于项识别规则进行的。
根据本发明的第一方面,还可以包括细调单元,用户通过该细调单元修改目标电子表单中的被错误识别的交互项和业务逻辑,或者向目标电子表单中添加被遗漏的交互项和业务逻辑,以形成细调后的目标电子表单。
根据本发明的第一方面,还可以包括训练器,它将目标文件生成器生成的目标电子表单和细调后的目标电子表单作为输入,比较两者在对应位置上的差别,根据比较结果修改相应的识别规则。
根据本发明的第二方面,提供了一种用于生成带业务逻辑的电子表单的方法,包括:解析源电子表单,获得包含在源电子表单中的项的属性信息;根据在解析步骤中获得的项的属性信息,识别源电子表单中的交互项;根据项的属性信息,识别源电子表单中的业务逻辑;以及生成包含识别出的交互项和业务逻辑的目标电子表单。
根据本发明的第三方面,还提供了一种计算机可读介质,上面存储有用于实施以上方法的计算机可执行指令。
利用以上装置和方法,本发明不仅能够识别源电子表单中的所有交互项,还可以识别源电子表单中隐含的业务逻辑,并生成含有识别出的交互项和业务逻辑的目标电子表单。因此,在用户填写目标电子表单时可进行实时处理,规范用户输入。根据本发明,还可以根据已经输入的数据引导用户更快捷正确地完成表单的填写,从而进一步提高后台信息处理***处理表单的能力。利用本发明的电子表单自动转换工具,可以大大减少开发人员的劳动量,尤其在批量处理中可以大大加快表单转换速度。另外可以减少手工操作带来的差错,提高准确率。
本发明不仅可以用于不同格式的电子表单的转换,还适用于同种格式的电子表单的转换,使之含有业务逻辑的控制信息。若无特别说明,本申请中所称的电子表单转换包括对以上描述的不同格式或相同格式的电子表单进行转换,以生成带业务逻辑的电子表单。
附图说明
图1示出了根据本发明一个实施方案的电子表单转换装置的总体框图。
图2示出了图1所示的电子表单转换装置的工作流程图。
图3示出了图1所示的电子表单转换装置的更详细的结构框图。
图4示出了图3中所示的解析器的工作流程图。
图5示出了图3中的一个项识别器的结构框图。
图6示出了图3中的项识别单元的操作的流程图。
图7示出了一个示例性的电子表单的一部分图示。
图8示出了另一个示例性的电子表单的一部分图示。
图9示出了另一个示例性的电子表单的一部分图示。
图10示出了图3中的业务逻辑识别单元的操作的流程图。
图11示出了细调单元和训练器的结构框图。
图12示出了用于实施本发明的电子表单自动转换装置和方法的***的结构框图。
具体实施方式
图1示出了根据本发明一个实施方案的电子表单转换装置100的总体框图。电子表单转换装置100包括串行连接的解析器101、项识别单元102、业务逻辑识别单元103和目标文件生成器104。
图2示出了图1所示的电子表单转换装置100的工作流程图。在步骤S201中,解析器101解析各种格式的源电子表单文件。在步骤S202中,项识别单元102识别源电子表单中可识别的交互项。在步骤S203中,业务逻辑识别单元103识别源电子表单中隐含的业务逻辑。在步骤S204中,目标文件生成器104生成包含识别出的交互项信息和业务逻辑信息的目标电子表单文件。
图3示出了图1所示的电子表单转换装置100的更详细的结构框图,其中相同的附图标记代表相同的部分。如图3所示,电子表单转换装置100包括:解析器101;由多个串联的项识别器1021-102N(N为大于1的自然数)组成的项识别单元102;由简单单元识别器303、复合单元识别器304和业务逻辑识别器305组成的业务逻辑识别单元103;目标文件生成器104和规则库306。
图4示出了图3所示的解析器101的工作流程图。源电子表单文件被输入到解析器101中,它可以是PDF文件、RTF文件、HTML文件或者其它可以包含电子表单的文件格式。在步骤401,解析器101自动判断输入的源电子表单文件的格式。在步骤402,解析器101根据在步骤401中的判断结果选择相应的解析程序,例如,可以根据文件的后缀名由解析器101自动调用相应的解析程序,或者可以由用户指定特定的解析程序。在步骤403,解析器101利用在步骤402中选定的解析程序读取和解析输入的源文件,从中获取所有电子表单项的类型、几何属性和内容等属性信息,其中类型是指例如标记、字栏、复选框等类型信息,几何属性包括项的长、宽、高等信息,还包括项在电子表单中的位置,例如用x、y坐标表示的位置信息,而内容例如包括文字内容。在步骤404中,解析器101利用在步骤403中提取的信息生成统一格式的中间模型。在不同格式的源文件中,电子表单项的类型、几何属性和内容等信息可能是以不同的方式定义和表达的,如何提取这些信息是本领域的技术人员熟知的,这里不再详述。这些信息被存储在输出的中间模型中,以供后续的识别器读取和使用。
下面介绍项识别单元102的组成和项识别过程。项识别单元102包括多个串联的项识别器1021-102N,其中每个识别器识别一种或几种特定的项。图5示出了一个项识别器102i(1≤i≤N)的结构框图。项识别器102i包括过滤器501i和处理器502i。由解析器101输出的初始中间模型被输入到项识别器1021中,项识别器102i(1<i≤N)获取前一个项识别器102i-1输出的中间模型作为输入。
过滤器501i检查中间模型中的每个项的类型、几何属性等,将满足过滤条件fi的项复制到一个临时模型Mi中。注意,中间模型是对当前被处理的电子表单的完整的体现,而临时模型只是一个用于暂时保存那些需要被更新的项的区域或文件。例如,LabelLine2Field识别器的过滤器使类型为Label(标记)和Line(线)的项通过,将这些项保存到临时模型中。Lines2Checkbox识别器的过滤器使类型为Line并且宽度或高度短于某一阈值的项通过,并将它们保存到临时模型中。在规则库306中存储有与每一个项识别器1021-102N相对应的项识别规则,每个项识别规则由一个或多个“条件”以及对应的一个或多个“动作”来定义。在过滤后,处理器502i搜索临时模型Mi以检测与相应的项识别规则中的条件匹配的项。如果发现任何匹配的项,项处理器502i执行相应的动作。下面举两个例子:
例子1:用于LabelLine2Field识别器的规则
条件 | 动作 |
单行的标记后跟着一条水平线;线的宽度大于10个像素;线的厚度小于3个像素;标记末端与线起始端之间的水平距离小于10个像素;标记底端与线顶端之间的垂直距离小于5个像素。 | 创建一个字栏并将其放在线的上方;字栏的宽度等于线的宽度;字栏的高度被设置为默认高度值。 |
当在电子表单中存在任何标记、线满足左列中的所有条件时,就按右列中的“动作”创建一个新的交互式的“字栏”项。
例子2:用于Lines2Checkbox识别器的规则
条件 | 动作 |
2条水平线和2条垂直线;水平线的宽度和垂直线的高度近似相等并且都小于50个像素;水平线的起始x值接近左侧垂直线的x值;水平线的末端x值接近右侧垂直线的x值;垂直线的起始y值接近上方水平线的y值;垂直线的末端y值接近下方水平线的y值。 | 创建一个复选框并将其放在原始线所在的位置;复选框的宽度等于水平线的宽度;复选框的高度等于垂直线的高度。 |
当在电子表单中存在任何4条线满足左列中的所有条件时,就可以按右列中的“动作”创建一个交互式的“复选框”项。
每个项识别器102i的处理器502i还要负责对中间模型的更新。更新的时机有多种,可以在对应的项识别器识别出新的项之后立即更新,也可以是在相应的项识别器完成对电子表单的一页或整个电子表单的识别之后进行。或者,也可以先对可被更新的项做标记或者将它们转移到一个临时存储区中,然后在所有的项识别器都运行完之后再统一进行一次更新。
更新的方式可以通过修改中间模型中的项的代码以添加、删除和/或修改被更新的项的属性来实现。例如,对于源电子表单中的“姓名:___”,LabelLine2Field识别器过滤出Label项“姓名:”和Line项“___”,当确认这两项之间满足其项识别规则的条件时,根据规则的动作创建一个具有预定宽度和高度的字栏(Field)项,并将其放在原来的Line项的上方,但不删除Line项。再举一个例子,当Lines2Checkbox识别器识别出四条短线满足其规则的条件时,创建一个新的复选框项并将其放在原始线所在的位置,但此时可以删除原始的四条短线,也可以保留,这取决于规则的动作的定义。
这样,原始的中间模型经过多个不同的项识别器1021-102N的识别处理,就变为一个更新后的中间模型,其中源电子表单中的所有可识别的项都被识别出来并生成相应的交互项。
图6示出了根据本发明一个实施方案的项识别单元102的工作流程图。在步骤S601,令i=1。在步骤S602中,项识别器102i的过滤器501i将满足过滤条件fi的项从输入的中间模型i-1过滤出来并复制到一个临时模型Mi中。其中当i=1时,输入到项识别器1021中的是由解析器101输出的初始中间模型。在步骤S603中,项识别器102i的处理器502i遵照相应的规则检查过滤出的项,如果发现与过滤条件匹配的项,则执行相应的动作,然后可以更新中间模型或者记录相关的信息留待以后处理。在步骤S604中,判断i是否大于N。如果否,则过程前进到步骤S605,在步骤S605中i递增1,中间模型i被输入到下一个项识别器102i+1。如果在步骤S604中的判断结果为是,则过程前进到步骤S606,在该步骤输出含有识别出的所有交互项的中间模型。然后过程结束。
在完成项识别过程后,就可以开始业务逻辑识别过程。电子表单中的业务逻辑是基于项的类型、几何属性和上下文对项的显示属性和填写属性进行控制的电子表单信息,其中项的上下文是指该项以及相邻项的内容。识别电子表单上的业务逻辑的过程一般分为三个步骤:识别简单单元;识别复合单元;创建业务逻辑。
在本发明的一个优选实施例中,在进行以上三个步骤之前对电子表单进行“段”分割。电子表单中的一页最初可以被定义为一个段。但如果每次分析电子表单时都要扫描整个页,有时不是必要的,还会使整个识别过程变慢。为了优化业务逻辑识别过程,提高效率,在本实施例中基于段分割规则将一页分割成多段。段分割规则例如可以被定义为:
(1)一条长线或者一条彩色区域(垂直的或水平的)将初始段分割成2段;
(2)一个不是表的大框使框内的区域被分割成一个独立的段;
(3)背景色不同的区域被分割成不同的段;
(4)字体大于页面中主要字体的字符串显示一个新段的开始和前一段的结束。
上述段分割操作可以在图3的不同阶段完成,例如在解析器101处完成,或者在业务逻辑识别单元103中在简单单元识别器303之前***一个段分割模块(未示出)来完成。当然可以理解,以上列举的段分割规则只是示例性的,实际操作中可以选择其中一部分或者添加其他规则。
下面介绍简单单元识别器303的操作。简单单元是一页上的几个项的组合,其中至少包含一个交互项。如果一个简单单元包含一个以上的项,那么这些项应当在位置上相互靠近。简单单元可以通过规则来定义。
从项识别单元102输出的中间模型被输入到简单单元识别器303中。简单单元识别器303对电子表单每一页的分析都是基于规则的,即,它使用规则库306中的简单单元识别规则来解析电子表单以检测出符合相应的简单单元识别规则的简单单元。简单单元识别规则基于项的类型和项的几何属性定义了2个或更多的项可被视为一个简单单元的情形,例如要求一个简单单元中的项在位置上相互靠近。下面举例说明:
(1)复选框单元识别规则:一个复选框单元是由一个复选框和紧邻该复选框左/右/上/下的标记组成;在复选框和标记之间不应有其它项;复选框和标记之间的距离应当小于15个像素。
(2)输入栏单元识别规则:一个输入栏单元是由输入栏和位于该输入栏左/右/上/下的标记组成;在该单元中标记是可选的,即可有可无;在字栏和标记之间除了线之外不应有其它项;字栏和标记之间的距离不应超过20个像素。
在图7所示的电子表单的一部分图示中,简单单元S1是由标记“Yes”和位于该标记左侧的复选框组成的,简单单元S2是由标记“No”和位于该标记左侧的复选框组成的,简单单元S3是由标记“If No,please state the reason”和位于其下方的输入栏组成的。
接下来由复合单元识别器304分析所有的简单单元以识别复合单元。
复合单元可以由几个简单单元组成。一个复合单元中的简单单元之间的关系可以是:位置相关、项类型相关、项内容相关以及上述关系的组合。复合单元也可以通过规则来定义,即复合单元识别器304的分析也是基于规则的。复合单元识别规则基于单元之间的类型和位置关系定义了2个或更多个简单或复合单元可被分组在一起产生一个复合单元的情形。一个复合单元可以由以下单元组成:2个或2个以上的简单单元;1个或1个以上的简单单元加上1个或1个以上的复合单元;或者2个或2个以上的复合单元。
在根据本发明的进行段分割的优选实施例中,可以基于简单单元的类型和位置关系初步识别出每个段中的一些复合单元。然后,复合单元识别器304扫描在每个段内的所有简单单元和所有识别出的复合单元,以检测新的复合单元。例如:
(1)复选框组单元识别规则:一个复选框组单元是由2个或2个以上的复选框以及1个或1个以上的描述标记组成的;在复选框组中的复选框单元可能垂直对齐、水平对齐或者以混合方式对齐(例如,2行3列);描述标记可以位于所有复选框单元的左侧;当复选框单元位于表的内部时,每两个复选框单元之间除了线以外不应有其它项;2个或更多的复选框组可以被分组成为一个更大的复选框组。
(2)单选按钮-字栏单元识别规则:单选按钮-字栏单元是由单选按钮和输入栏单元组成的;2个单元应当水平对齐;单选按钮单元应当位于输入栏单元的左侧;在单选按钮单元和输入栏单元之间不应有其它项;单选按钮单元和输入栏单元之间的距离不应超过20个像素。
在图7所示的电子表单的一部分图示中,***的整个框可以构成一个封闭的段。一开始,可以将简单单元S1和S2分组成为一个复选框组复合单元C1。然后,由复合单元识别器304进一步扫描该段内的所有简单单元S1-S3和已识别的复合单元C1,识别出由标记“10.Do you agree?”和复合单元C1组成的提问回答复合单元C2。
在识别复合单元后,由业务逻辑识别器305扫描识别出的复合单元以创建业务逻辑。在根据本发明的优选实施例中,业务逻辑包括以下四种类型:
(1)输入验证:验证用户输入是否符合预定的语法,如果出错则禁止输入或提示用户重新输入。例如如果一个字栏前面的标记是“金额($)”,意味着后面的字栏中输入的是可以有小数点后两位的十进制数。
(2)数学计算:对多个项的数学计算。例如一个表中一个纵列的求和。
(3)逻辑运算:对多个项的逻辑运算。例如设置字栏的最大长度,如果用户输入太多的内容则增大字栏的高度,等等。
(4)业务流:简单地说,业务流是单元之间的关系。例如,
(i)互斥关系:如启用一个或多个项,则导致另一个或多个项被禁用;
(ii)联动关系:如启用一个或多个项,则导致另一个或多个项被启用;
(iii)当在一个单元中的输入超出某一阈值时,启用一个段。
在根据本发明的优选实施例中,创建业务逻辑的步骤是基于存储在规则库306中的业务逻辑识别规则来进行的。在业务逻辑识别规则中定义“业务逻辑模式”以及与之对应的动作。业务逻辑识别器305将单元的类型、位置和上下文(对一个单元而言,它的上下文包括本单元的内容以及相邻单元的内容)作为输入,使用模式来验证情况,如果发现任何模式匹配,则基于业务逻辑识别规则中的映射关系创建相应的业务逻辑。
首先,业务逻辑识别器305检测每个复合单元内部的业务逻辑。例如,一个复选框组复合单元可能具有以下不同的业务逻辑:
(1)互斥模式:如果该组内的每个复选框的标记在文字上是互斥的(例如,在图3的复合单元C1中,S1和S2因为“Yes”和“No”的标记而构成互斥模式),或者该复选框组的标题从文字表达上是互斥的(例如“选择最佳答案”或者“只选择一个答案”);
(2)要求选择正好N个复选框的模式(例如,“选择最优的3个答案”);
(3)可以同时选择所有的复选框的模式(例如,“选择所有认为合适的答案”)。
然后,业务逻辑识别器305检测每个段内的所有单元之间的业务逻辑。由于在段内可能存在着复合单元和未被划分到任何复合单元内的独立的简单单元,所以这里所称的段内单元之间的业务逻辑可以包括:复合单元和复合单元之间的业务逻辑、复合单元和简单单元之间的业务逻辑、或者简单单元和简单单元之间的业务逻辑。以图7为例,在复选框组单元C1和输入栏单元S3之间的业务逻辑模式是:当复选框“No”被选择时,才启用输入栏单元S3,使其对用户可见并且可填写。在本例中的模式就是“如果No,则...”。在没有业务逻辑识别功能的***中,只能识别出S1-S3的简单单元,但是不能根据用户在S1、S2单元的输入实时控制S3单元的可视性和可填写性,即不能在用户填写电子表单时进行规范和引导。例如当用户选择了S1的“Yes”复选框时,如果他继续填写S3中的输入栏是没有意义的,但不含业务逻辑信息的目标电子表单不能纠正用户的这种行为。
图8示出了数学计算类型的业务逻辑的例子。在该例中,有三个输入栏单元,每个单元由一个标记“$”和一个输入栏组成。这三个输入栏单元之间的业务逻辑模式是:当这些单元位于表的同一个“Price”列中并且最后一行是“Total”行时,最后一行中的输入栏是“Price”列中所有其它输入栏单元的总和。电子表单转换装置100识别出该业务逻辑并将其应用于目标电子表单后,当用户填写第2、3行中的输入栏时,电子表单会自动地在“Total”行的输入栏中实时生成一个和值。而在没有业务逻辑识别功能的***中,即使能够识别出所有的交互式输入栏,但也不可能完成求和功能。另外,在该电子表单中还可以识别并加入“输入验证”逻辑,即由于标记“$”的存在,电子表单转换装置100识别出后面的输入栏中应当输入例如可含小数点后两位的十位数,并在目标电子表单中包含这一业务逻辑。这样,在用户填写时就可以实时规范和引导用户的输入。
然后,对于在不同段中的复合单元,检测跨段的业务逻辑。图9示出了一个调查问卷的两个段T1和T2。在段T1中有一个单选按钮组X,在段T2中有另一个单选按钮组Y。其中的业务逻辑模式可以是:当X组的答案“No”被选择时,禁用在Y组之前的所有问题。在一个例子中,可以使第2题到第8题对于用户都不可见并且不可填写,在另一个例子中,可以使它们可见但颜色变灰,同时不可填写。可见,在这个实施例中的模式是“如果在第1题中选择答案No,则跳到第9题”。同样,这里的业务逻辑也可以引导用户填写电子表单。
在业务逻辑识别器305识别出特定模式的业务逻辑后,它可以根据业务逻辑识别规则完成与该特定模式相对应的动作,例如修改中间模型的代码,以将与识别出的业务逻辑有关的信息添加到中间模型中。
在图10中示出了根据本优选实施例的业务逻辑识别单元104的操作的流程图。在步骤S1001中进行段分割;在步骤S1002中,基于规则库306中的简单单元识别规则识别电子表单中的简单单元。在步骤S1003中,基于规则库306中的复合单元识别规则识别电子表单中的复合单元。在步骤S1004中,检测复合单元内的业务逻辑模式。在步骤S1005中,检测段内单元之间的业务逻辑模式。在步骤S1006中,检测跨段单元之间的业务逻辑模式。在步骤S1007中,基于规则库306中的业务逻辑识别规则,根据检测出的业务逻辑模式完成相应的动作。
可替换地,在本发明的另一个实施方案中,可以不进行段分割,直接以电子表单的页为单位,识别简单单元、复合单元和业务逻辑。当然,在这种情况下,不再需要识别跨段的业务逻辑。
下面描述目标电子表单的生成。在电子表单转换装置100的目标文件生成器104中,输入的中间模型被转换为特定格式的目标电子表单文件。由于在前面的处理过程中,通过修改中间模型的代码等操作已经将识别出的交互项信息和业务逻辑信息都包含到中间模型中,所以目标文件生成器104可以获取这些信息并将它们应用到最终的目标电子表单文件中,从而生成带业务逻辑的目标电子表单。
根据本发明的优选实施例,电子表单转换装置100还可以包括一个细调单元1101,如图11所示。用户可以在电子表单转换装置100输出最终的包含交互项和业务逻辑的目标电子表单后,检查是否有尚未识别的或者错误识别的交互项和业务逻辑。如果存在,则用户可以通过该细调单元1101手动改写目标电子表单中的这些未识别的或错误的对象,完成细调工作。细调在批量处理的初期可能会经常发生,因为每份表单或者每一类表单都可能具有独特的项或业务逻辑,可能电子表单转换装置100的规则库306中原先没有存储可识别这些对象的规则或者原先定义的规则与实际情况之间存在一定偏差,因而在电子表单转换装置100转换后的目标电子表单中遗漏或误识别了这些对象。通过操作人员的手动细调,可以弥补电子表单转换装置100的遗漏或差错。
根据本发明的优选实施例,电子表单转换装置100还可以包括训练器1102,如图11所示。目标文件生成器104输出的目标电子表单和经细调单元1101细调后的目标电子表单被输入到训练器1102中。训练器1102比较两份电子表单的区别,学习用户的细调规则,由此修改规则库306,从而在以后的转换过程中自动识别出前面不能识别的对象或者修正前面误识别的对象,这是一个训练过程。训练过程对于电子表单转换装置100是非常重要的,尤其在批量处理中,经过前面少数电子表单的细调和训练过程,电子表单转换装置100在后面的转换过程中就可以按照用户要求识别出所有的交互项和业务逻辑,大大加快工作速度,减少错误。在一个例子中,用户可以通过电子表单转换装置100的用户界面(未示出)标出由目标文件生成器104输出的目标电子表单和经细调单元1101细调后的目标电子表单中的项、单元或业务逻辑之间的对应关系,使训练器1102可以对比转换前后的区别,学习用户的细调规则,完成训练过程。在另一个例子中,用户也可以通过编程等手段手动修改规则库,从而完成训练过程,例如,在前文中提到的像素数都是可以由用户改变的。
在本发明中,规则库306可以通过如下手段来建立和更新:
(1)在电子表单转换装置100出厂时内建于该装置中,例如保存在硬盘、ROM、光盘等当中,然后可以在使用过程中通过网络下载不断更新规则库;
(2)用户预先定义规则,例如在转换前由用户通过***的用户界面或者通过编程来定义规则;
(3)在运行时创建和修改规则,即用户在转换过程中根据实际转换情况创建和/或修改规则库306或者由训练器1102修改规则库306。
图12示出了用于实施本发明的电子表单自动转换装置和方法的***1200的结构图。中央处理单元(CPU)1201、随机访问存储器(RAM)1202和只读存储器(ROM)1203被耦合到***总线1204。硬盘1210、输入设备(例如键盘、鼠标)1211、串行外部设备1212、并行外部设备1213和显示器1214分别通过硬盘控制器1205、输入设备控制器1206、串行接口控制器1207、并行接口控制器1208和显示控制器1209耦接到***总线1204。
本发明可以被实施为计算机可读指令,存储在RAM 1202、ROM1203、硬盘1210或外部设备1212、1213中,CPU 1201通过***总线1204获取并执行这些指令,从而实现本发明。
通过以上描述可以认识到,本发明不仅能够识别和转换电子表单中的交互项,还可以识别电子表单中隐含的业务逻辑并将识别出的业务逻辑信息包含到目标电子表单中,从而在用户填写目标电子表单时进行实时处理,规范用户输入。根据本发明,还可以根据已经输入的数据引导用户更快捷正确地完成表单的填写,从而进一步提高后台信息处理***处理表单的能力。利用本发明的电子表单自动转换工具,可以大大减少开发人员的劳动量,尤其在批量处理中可以大大加快表单转换速度。另外可以减少手动操作带来的差错,提高准确率。
本领域的技术人员可以认识到,在装置100的自动转换过程中,执行规则的动作可以通过修改电子表单中的相应项的代码,例如添加、删除、修改项的一个或几个属性来实现,这些代码中包含了项的交互属性和业务逻辑属性等信息,当电子表单由应用程序读取并执行时,应用程序可以根据这些代码控制项的交互性、可视性和可填写性,引导用户填写电子表单。当然,也可以采取其它手段,只要使目标电子表单中包含识别出的交互信息和业务逻辑信息就可以了。
如前面所述,在本申请中提及的电子表单转换不仅包括不同格式的电子表单文件之间的转换,也包括同种格式的电子表单文件的转换。例如,源电子表单是不含业务逻辑的Lotus Form格式,而期望得到的电子表单是识别出业务逻辑的Lotus Form格式的。这只需要在目标文件生成器104处控制生成文件的格式就可以了。
另外,对于已完成交互项识别的电子表单,可以省略项识别单元102,直接利用业务逻辑识别单元103识别并应用业务逻辑。
本领域的技术人员还可以理解,在本申请中提及“一个”、“几个”、“多个”等词语只是示意性的,并不是要限制其数量。同样,这里的规则描述例如其中的像素数目等也只是举例性的,并不是要限制本发明的范围。电子表单中可以包含的项和业务逻辑的类型和关系是非常丰富的,这里只是举例说明本发明的思想,并非穷举。通过不断更新规则库,可以使***适应更多种类的电子表单的转换。
本领域的技术人员在阅读以上描述后,也可以作出以上实施方案的变体和修改,这些都落入本发明的真实精神和范围内。
Claims (14)
1.一种生成带业务逻辑的电子表单的装置,包括:
解析器,用于解析源电子表单,获得包含在源电子表单中的项的属性信息;
项识别单元,根据在解析器获得的项的属性信息,识别源电子表单中的交互项;
业务逻辑识别单元,根据项的属性信息,识别源电子表单中的业务逻辑;和
目标文件生成器,生成包含识别出的交互项和业务逻辑的目标电子表单;
其中,所述业务逻辑识别单元包括:
简单单元识别器,基于简单单元识别规则,根据项的属性信息将项分组为多个简单单元;
复合单元识别器,基于复合单元识别规则,根据所述多个简单单元的类型和相互之间的位置关系形成一个或多个复合单元;和
业务逻辑识别器,基于业务逻辑识别规则,根据分别由所述简单单元识别器和复合单元识别器形成的简单单元和复合单元的类型、位置和内容检测源电子表单中的业务逻辑。
2.根据权利要求1所述的装置,其中,所述项识别单元包括多个项识别器,每个项识别器基于相应的项识别规则识别一种或多种类型的交互项。
3.如权利要求2所述的装置,还包括细调单元,用户通过该细调单元修改所述目标电子表单中的被错误识别的交互项和业务逻辑,或者向所述目标电子表单中添加被遗漏的交互项和业务逻辑,以形成细调后的目标电子表单。
4.如权利要求3所述的装置,还包括训练器,将所述目标文件生成器生成的目标电子表单和所述细调后的目标电子表单作为输入,比较两者在对应位置上的差别,根据比较结果修改项识别规则、简单单元识别规则、复合单元识别规则和/或业务逻辑识别规则。
5.如权利要求1所述的装置,其中所述解析器还基于预先定义的段分割规则将源电子表单的每一页分割成多个段,所述业务逻辑识别单元识别每段内的业务逻辑和跨段的业务逻辑。
6.如权利要求1所述的装置,其中,所述业务逻辑包括四种类型:输入验证、逻辑运算、数学计算和业务流。
7.根据权利要求1-6中任一项所述的装置,其中,所述项的属性信息至少包括项的类型、几何属性和内容。
8.一种用于生成带业务逻辑的电子表单的方法,包括:
解析源电子表单,获得包含在源电子表单中的项的属性信息;
根据在解析步骤获得的项的属性信息,识别源电子表单中的交互项;
根据项的属性信息,识别源电子表单中的业务逻辑;以及
生成包含识别出的交互项和业务逻辑的目标电子表单;
其中所述识别业务逻辑的步骤包括:
基于简单单元识别规则,根据项的属性信息将项分组为多个简单单元;
基于复合单元识别规则,根据简单单元的类型和相互之间的位置关系形成一个或多个复合单元;以及
基于业务逻辑识别规则,根据简单单元和复合单元的类型、位置和内容检测源电子表单中的业务逻辑。
9.根据权利要求8所述的方法,其中,所述识别交互项的步骤是基于项识别规则进行的。
10.如权利要求9所述的方法,还包括细调步骤,其中用户修改所述目标电子表单中的被错误识别的交互项和业务逻辑,或者向所述目标电子表单中添加被遗漏的交互项和业务逻辑,以形成细调后的目标电子表单。
11.如权利要求10所述的方法,还包括训练步骤,将所述目标电子表单和所述细调后的目标电子表单作为输入,比较两者在对应位置上的差别,根据比较结果修改项识别规则、简单单元识别规则、复合单元识别规则和/或业务逻辑识别规则。
12.如权利要求8所述的方法,其中所述解析步骤还基于预先定义的段分割规则将源电子表单的每一页分割成多个段,然后在识别业务逻辑的步骤中分别识别每段内的业务逻辑和跨段的业务逻辑。
13.如权利要求8所述的方法,其中,所述业务逻辑包括四种类型:输入验证、逻辑运算、数学计算和业务流。
14.根据权利要求8-13中任一项所述的方法,其中,所述项的属性信息至少包括项的类型、几何属性和内容。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101619979A CN101398812B (zh) | 2007-09-27 | 2007-09-27 | 生成带业务逻辑的电子表单的装置和方法 |
US12/239,197 US8266087B2 (en) | 2007-09-27 | 2008-09-26 | Creating forms with business logic |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101619979A CN101398812B (zh) | 2007-09-27 | 2007-09-27 | 生成带业务逻辑的电子表单的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101398812A CN101398812A (zh) | 2009-04-01 |
CN101398812B true CN101398812B (zh) | 2012-05-30 |
Family
ID=40517375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101619979A Expired - Fee Related CN101398812B (zh) | 2007-09-27 | 2007-09-27 | 生成带业务逻辑的电子表单的装置和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8266087B2 (zh) |
CN (1) | CN101398812B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609463B (zh) * | 2009-08-04 | 2011-04-20 | 北京环太中科软件股份有限公司 | 建立文单之间数据转换关系的方法及文单之间数据迁移的方法 |
CN101894133B (zh) * | 2010-06-08 | 2011-12-07 | 用友软件股份有限公司 | 用于批量修改表单数据的方法和装置 |
CN101957865A (zh) * | 2010-10-27 | 2011-01-26 | 杭州新中大软件股份有限公司 | 一种异构***间数据交换与共享技术 |
CN102591953B (zh) * | 2011-12-29 | 2014-05-14 | 杭州新中大软件股份有限公司 | 一种快速实现离线应用的方法 |
CN102663569A (zh) * | 2012-05-07 | 2012-09-12 | 广东优迈信息通信技术有限公司 | 一种可视化工作流引擎*** |
KR101964371B1 (ko) * | 2012-11-02 | 2019-04-01 | 한화디펜스 주식회사 | 리졸버 및 그 제조 방법 |
US9652445B2 (en) * | 2013-05-29 | 2017-05-16 | Xerox Corporation | Methods and systems for creating tasks of digitizing electronic document |
KR102162836B1 (ko) | 2013-08-30 | 2020-10-07 | 삼성전자주식회사 | 필드 속성을 이용한 컨텐트를 제공하는 전자 장치 및 방법 |
CN104408062B (zh) * | 2014-10-29 | 2020-01-21 | 中国建设银行股份有限公司 | 一种证券文件处理方法及装置 |
US10783448B2 (en) * | 2015-08-07 | 2020-09-22 | Flatiron Health, Inc. | Extracting facts from unstructured data |
CN105786788B (zh) * | 2016-03-22 | 2018-09-04 | 江苏国泰新点软件有限公司 | 一种利用word程序生成表单的方法和装置 |
CN106775667A (zh) * | 2016-11-30 | 2017-05-31 | 福建榕基软件股份有限公司 | 一种多表单信息动态展示方法及装置 |
CN111832849A (zh) * | 2019-04-15 | 2020-10-27 | 泰康保险集团股份有限公司 | 业务逻辑生成方法、装置、电子设备及计算机可读介质 |
CN112101885A (zh) * | 2019-06-17 | 2020-12-18 | 北京奎牛科技有限公司 | 内嵌业务逻辑的电子文件的生成和处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4503516A (en) * | 1982-11-18 | 1985-03-05 | International Business Machines Corporation | Methodology for transforming a first editable document form prepared by an interactive text processing system to a second editable document form usable by an interactive or batch text processing system |
CN1938680A (zh) * | 2004-03-26 | 2007-03-28 | 劲升逻辑有限公司 | 表单开发平台 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006242A (en) * | 1996-04-05 | 1999-12-21 | Bankers Systems, Inc. | Apparatus and method for dynamically creating a document |
US6021202A (en) * | 1996-12-20 | 2000-02-01 | Financial Services Technology Consortium | Method and system for processing electronic documents |
US20020083068A1 (en) * | 2000-10-30 | 2002-06-27 | Quass Dallan W. | Method and apparatus for filling out electronic forms |
US20040205525A1 (en) | 2001-04-30 | 2004-10-14 | Murren Brian T. | Automatic identification of form contents |
-
2007
- 2007-09-27 CN CN2007101619979A patent/CN101398812B/zh not_active Expired - Fee Related
-
2008
- 2008-09-26 US US12/239,197 patent/US8266087B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4503516A (en) * | 1982-11-18 | 1985-03-05 | International Business Machines Corporation | Methodology for transforming a first editable document form prepared by an interactive text processing system to a second editable document form usable by an interactive or batch text processing system |
CN1938680A (zh) * | 2004-03-26 | 2007-03-28 | 劲升逻辑有限公司 | 表单开发平台 |
Also Published As
Publication number | Publication date |
---|---|
US8266087B2 (en) | 2012-09-11 |
US20100057648A1 (en) | 2010-03-04 |
CN101398812A (zh) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101398812B (zh) | 生成带业务逻辑的电子表单的装置和方法 | |
US20050289182A1 (en) | Document management system with enhanced intelligent document recognition capabilities | |
US9558295B2 (en) | System for data extraction and processing | |
CN111160045B (zh) | 一种游戏资源文件翻译方法、装置及设备 | |
CN105243108B (zh) | 基于xbrl的智能报告平台*** | |
CN112597353B (zh) | 一种文本信息自动提取方法 | |
CN101452443B (zh) | 逻辑结构模型创建辅助设备和方法 | |
US20190272324A1 (en) | Language model, method and apparatus for interpreting zoning legal text | |
CN115828874A (zh) | 基于图像识别技术的行业表格数字化处理方法 | |
CN114706915A (zh) | 一种eda软件向plm***中构建bom信息的方法 | |
CN107797979B (zh) | 分析装置和分析方法 | |
US20050086647A1 (en) | Apparatus for and method of creating computer program specifications, and computer program product | |
CN116644728A (zh) | 一种基于条款数字化的合同生成方法及*** | |
KR20200091560A (ko) | 세관신고 자동화를 위한 문서 내 텍스트 자동 추출 시스템 및 이를 이용한 방법 | |
JP6022815B2 (ja) | 構文解析を用いたソースコードの差分抽出方法およびシステム | |
CN113962205A (zh) | 电子表格内容的粘贴方法、装置、电子设备及存储介质 | |
CN110554860B (zh) | 一种软件项目自然语言编程接口nli的构造方法及代码生成方法 | |
CN114118098A (zh) | 基于要素抽取的合同评审方法、设备及存储介质 | |
CN112612841A (zh) | 一种知识抽取构建方法、装置、设备及存储介质 | |
CN115579096A (zh) | 一种针对药物警戒e2b r3标准报告的自动生成与解析验证方法、***及存储介质 | |
US20060287977A1 (en) | Method of processing data for a system model | |
CN114861641B (zh) | 一种数据提取方法、装置、电子设备和存储介质 | |
JPS6284337A (ja) | 仕様書情報解析方式 | |
CN118095794B (zh) | 基于正则算法的工单信息提取方法及*** | |
CN108460021B (zh) | 一种提取论文标题中的问题方法对的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180612 Address after: 7 floor, building 10, Zhang Jiang Innovation Park, 399 Keyuan Road, Zhang Jiang high tech park, Pudong New Area, Shanghai. Patentee after: International Business Machines (China) Co., Ltd. Address before: American New York Patentee before: International Business Machines Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20190927 |