首页 / 专利库 / 软件 / 逻辑文件 / 帐票处理方法、帐票处理装置以及计算机产品

帐票处理方法、帐票处理装置以及计算机产品

阅读:143发布:2024-02-25

专利汇可以提供帐票处理方法、帐票处理装置以及计算机产品专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种帐票处理方法、帐票处理装置以及计算机产品。该帐票处理装置从帐票文件提取版面信息和字符信息。候选提取单元从字符信息提取候选单词。 频率 数字化单元根据各个元素计算候选单词的出现概率。关系数字化单元计算建立候选单词之间关系的迁移概率。评价单元计算表示各逻辑元素中的候选单词的出现概率的评价值。确定单元根据该评价值,将该元素及其候选单词确定为帐票文件中的元素及其字符串。,下面是帐票处理方法、帐票处理装置以及计算机产品专利的具体信息内容。

1.一种帐票处理方法,该帐票处理方法使用存储有与逻辑地构成帐票文件的逻辑元素的层级逻辑结构相关的数据、要成为逻辑元素的字符串的出现频率、以及与帐票文件上的逻辑元素之间的相对位置有关的频率的数据库,来识别该帐票文件中的逻辑结构,所述帐票处理方法包括:
根据与存储在所述数据库中的要成为逻辑元素的字符串的一致性,从所述帐票文件中的字符串当中提取字符串作为候选单词;
根据所述出现频率计算所述候选单词作为逻辑元素出现的出现概率;
根据与相对位置相关的频率来计算迁移概率,该迁移概率是一个逻辑元素的候选单词和另一逻辑元素的候选单词以组合的形式出现的概率;
根据所述出现概率和所述迁移概率,计算所述逻辑元素的候选单词是与所述逻辑元素相对应的字符串的可信度;以及
根据所述可信度将一逻辑元素及其候选单词确定为所述帐票文件中的逻辑元素及其字符串。
2.根据权利要求1所述的帐票处理方法,其中,所述出现概率的计算包括:根据表示一致性程度的概率来计算所述出现概率。
3.根据权利要求2所述的帐票处理方法,其中,所述出现概率的计算包括:当确定作为候选单词之一的要成为逻辑元素的字符串不存在时,计算出现概率。
4.根据权利要求1所述的帐票处理方法,其中
计算迁移概率包括:根据与所述帐票文件的版面中的相对位置有关的频率来计算迁移概率。
5.根据权利要求1所述的帐票处理方法,其中,计算可信度包括:进一步根据在候选单词的组合当中,下层逻辑元素的字符串是该下层逻辑元素的候选单词时,上层逻辑元素的字符串是该上层逻辑元素的候选单词的概率,来计算可信度。
6.根据权利要求1所述的帐票处理方法,其中,计算可信度包括:进一步根据在候选单词的组合当中,上层逻辑元素的字符串是该上层逻辑元素的候选单词时,下层逻辑元素的字符串是该下层逻辑元素的候选单词的概率,来计算可信度。
7.根据权利要求1所述的帐票处理方法,其中,所述确定包括:当单个候选单词是多个逻辑元素的候选单词时,将根据各个逻辑元素的可信度选择的一个逻辑元素及其候选单词确定为所述逻辑元素及其候选单词。
8.根据权利要求1所述的帐票处理方法,其中,所述确定包括:当对于单个逻辑元素存在多个候选单词时,将该逻辑元素和根据各个候选单词的可信度选择的一个候选单词确定为所述逻辑元素及其字符串。
9.根据权利要求1所述的帐票处理方法,其中
所述帐票处理方法还包括:将根据所述可信度未选择的候选单词的出现概率修改为取比当前值低的值,并且
所述确定包括:将所述逻辑元素及其候选单词确定为所述帐票文件中的逻辑元素及其字符串。
10.一种用于识别帐票文件中的逻辑结构的帐票处理装置,该帐票处理装置使用存储有与逻辑地构成该帐票文件的逻辑元素的层级逻辑结构有关的数据、要成为逻辑元素的字符串的出现频率、以及与该帐票文件上的逻辑元素之间的相对位置相关的频率的数据库,所示帐票处理装置包括:
提取单元,用于根据与存储在所述数据库中的要成为逻辑元素的字符串的一致性,从所述帐票文件中的字符串当中提取字符串作为候选单词;
出现概率计算单元,用于根据所述出现频率计算所述候选单词作为逻辑元素出现的出现概率;
迁移概率计算单元,用于根据与相对位置相关的频率来计算迁移概率,该迁移概率是一个逻辑元素的候选单词和另一逻辑元素的候选单词以组合的形式出现的概率;
可信度计算单元,用于根据所述出现概率和所述迁移概率,计算所述逻辑元素的候选单词是与所述逻辑元素相对应的字符串的可信度;以及
确定单元,用于根据所述可信度将一逻辑元素及其候选单词确定为所述帐票文件中的逻辑元素及其字符串。

说明书全文

技术领域

发明涉及一种用于处理电子非结构化文件格式的帐票(form)文件的技术。

背景技术

常规地,已开发了包含在纸件文件帐票中的数据的自动输入。对于固定帐票文件,预先准备版面定义格式,并在纸件文件的读取位置进行字符识别来输入数据。
然而,如果要处理的帐票的版面未知,则由于准备版面定义格式需要的巨额费用,所以通常对与标题相对应的数据进行人工搜索和输入。这样,需要很高的人工费用。特别是对于从公司外部送来的帐票文件(例如交付和报价的清单),由于很难指定版面,所以计算机化的成本增加。
在使用Microsoft Word或Microsoft Excel创建的非结构化文件的帐票文件会出现相同的问题。必须由人来进行复制和粘贴处理,以输入数据。
如上所述,很难从其中没有提供版面信息的纸件帐票文件或电子非结构化文件格式的帐票文件中识别并提取所需的数据。因此,需要对这种文件进行自动识别和提取(例如,IEEE Trans.on Pattern analysis andMachine Intelligence,vol.17,no.5,pp.432-445,1995中作者为T.Watanabe等人的标题为“Layout Recognition of Multi-Kinds of Table FormDocuments”的文献)。存在用于非固定帐票文件的逻辑结构识别的技术。例如,在日本专利申请特开公报No.2005-275830中披露的技术中,根据表的单元信息搜索与标题相对应的数据,而不使用标题词典。
然而,单元结构是多样化的,当在单元内存在标题和数据时,不能应用以上技术。而且,当单元信息错误时,根据这种错误形成标题与数据之间的错误关系。
鉴于这些问题,近年来广泛使用提取与预先给出的标题相对应的数据的方法。在该方法中,首先提取与标题词典相对应的字符串,然后,提取与该字符串相对应的数据。在日本专利申请特开公报No.2005-275830披露的方法中,即使当在标题下存在子标题并且在这些子标题下还存在数据时,也可以识别数据,而与子标题的顺序无关。在Proc.ICDAR,pp.458-462,2005,作者为Diar Tuganbaev等人的标题为“Universal Data Capture Technology from Semi-structured Forms”的文献中披露的方法中,提取标题并提取与标题相对应的数据。
然而,在日本专利申请特开公报No.2005-275830中披露的方法中,尽管版面的灵活性变得很高,但是在省略子标题时不能应用该系统,并且该系统只可应用于具有标题的帐票文件。结果,尽管版面的灵活性很高,但是对字符串的限制很大。因此,限制了可应用的帐票文件,因此具有很低的通用性。
此外,在Proc.ICDAR,pp.458-462,2005中披露的方法中,从标题提取子标题,并最终识别对应的数据。然而,在帐票文件内存在许多相似的标题,并且一旦错误识别了子标题,则在错误识别子标题之后进行的所有识别都导致错误。
如上所述,用于识别来自非固定帐票文件的逻辑结构的常规系统的通用性低,因为在对表格内的信息的处理中没有使用晕线(faint line)信息和单元信息,或者不能处理单元中的右对齐。为此,这些系统不适合作为搜索与标题对应的数据或与标题对应的子标题的方法。而且,如果使用单元信息,则需要与单元的各种组合相对应的处理,并且将单元的组合限制为标题的位置设置。
此外,根据存在所有层级(hierarchy)的假设,对字符串信息进行识别。
由于根据与标题相对应的高级层级进行识别,所以在具有高级层级的帐票文件中,当处理到达诸如子标题和数据的低级层级时,精度降低。一旦对低精度的标题进行了错误识别,则在该错误识别之后进行的所有识别处理都导致错误。
由于依赖于数据,所以即使标题相同,这些系统也不能对逻辑结构的不同元素的情况进行响应。作为在考虑很多逻辑元素时出现的并且是讨论主题的问题,特别是在要识别的标题的数量增加时,或当标题的层级增加时,在标题的字符串中相同的字符串增加。因此,重要的是,从相同字符串的一个以上的标题中分辨与所需标题相对应的字符串,并对识别结果进行一致性处理。
在以上常规技术中,帐票文件的总体一致性处理不足。

发明内容

本发明的目的是至少解决以上常规技术中的问题。
根据本发明一个方面的记录介质中存储有帐票处理程序,该帐票处理程序使计算机使用存储有与逻辑地构成帐票文件的逻辑元素的层级逻辑结构有关的数据、要成为逻辑元素的字符串的出现频率、以及与帐票文件上的逻辑元素之间的相对位置相关的频率的数据库,来识别帐票文件中的逻辑结构。所述帐票处理程序使所述计算机执行以下操作:根据与存储在数据库中的要成为逻辑元素的字符串的一致性,从帐票文件中的字符串当中提取字符串作为候选单词;根据出现频率计算候选单词作为逻辑元素出现的出现概率(emission probability);根据与相对位置相关的频率计算迁移概率,该迁移概率(transition probability)是一个逻辑元素的候选单词和另一个逻辑元素的候选单词以组合的形式出现的概率;以及根据出现概率和迁移概率,计算该逻辑元素的候选单词是与该逻辑元素相对应的字符串的可信度。
根据本发明另一方面的帐票处理装置使用存储有与逻辑地构成帐票文件的逻辑元素的层级逻辑结构有关的数据、要成为逻辑元素的字符串的出现频率、以及与帐票文件上的逻辑元素之间的相对位置有关的频率的数据库,来识别帐票文件中的逻辑结构。所述帐票处理装置包括:提取单元,用于根据与存储在数据库中的要成为逻辑元素的字符串的一致性,从帐票文件中的字符串当中提取字符串作为候选单词;出现概率计算单元,用于根据出现频率计算候选单词作为逻辑元素出现的出现概率;迁移概率计算单元,用于根据与相对位置有关的频率计算迁移概率,该迁移概率是一个逻辑元素的候选单词和另一个逻辑元素的候选单词以组合的形式出现的概率;可信度计算单元,用于根据出现概率和迁移概率,计算逻辑元素的候选单词是与逻辑元素相对应的字符串的可信度;以及确定单元,用于根据所述可信度将一逻辑元素及其候选单词确定为所述帐票文件中的逻辑元素及其字符串。
根据本发明另一方面的一种帐票处理方法使用存储有与逻辑地构成帐票文件的逻辑元素的层级逻辑结构有关的数据、要成为逻辑元素的字符串的出现频率、以及与帐票文件上的逻辑元素之间的相对位置有关的频率的数据库,来识别帐票文件中的逻辑结构。该帐票处理方法包括:根据与存储在数据库中的要成为逻辑元素的字符串的一致性,从帐票文件中的字符串当中提取字符串作为候选单词;根据出现频率计算候选单词作为逻辑元素出现的出现概率;根据与相对位置有关的频率计算迁移概率,该迁移概率是一个逻辑元素的候选单词和另一个逻辑元素的候选单词以组合的形式出现的概率;根据出现概率和迁移概率,计算逻辑元素的候选单词是与该逻辑元素相对应的字符串的可信度;以及根据所述可信度将一逻辑元素及其候选单词确定为所述帐票文件中的逻辑元素及其字符串。
在本发明的以下详细说明中阐述了本发明的其它目的、特征和优点,当结合附图读取本发明的以下详细说明时,本发明的其它目的、特征和优点将变得显而易见。

附图说明

图1是根据本发明实施例的帐票处理装置的示意图;
图2是由该帐票处理装置进行处理的帐票文件200的示意图;
图3是表示图2中所示的帐票文件200中的方框的示意图;
图4是分配给图2中所示的帐票文件200中的各个字符的字符号的说明图;
图5是图2中所示的帐票文件200的版面信息的说明图;
图6是图2中所示的帐票文件200的字符信息的说明图;
图7是一般逻辑结构表的示意图;
图8是字符串信息表的示意图;
图9是连接信息表900的示意图;
图10是用于说明连接信息表900的扩展的示意图;
图11是用于说明单元数量的计算的示意图;
图12是用于表示树结构中一般逻辑结构的元素之间关系的示意图;
图13是根据本发明实施例的帐票处理装置的方框图
图14是由该帐票处理装置进行的帐票处理过程的流程图
图15是候选单词表的示意图;
图16是图14中所示的由候选提取单元1301进行的候选单词提取处理的流程图;
图17是频率数字化单元1302进行的候选单词表输出的示意图;
图18是表示各个元素Ei的候选单词Wk的归一化出现概率p3’(i,j,k);
图19是图14中所示的由频率数字化单元1302进行的频率数字化处理的流程图;
图20是表示父元素Ei1=E0与子元素Ei2=E1之间的连接关系的连接候选表的示意图;
图21是表示父元素E0的候选单词和要成为子元素E1的候选单词的迁移概率的示意图;
图22是父元素Ei1=E1与子元素Ei2=E2之间的连接关系的连接候选表的示意图;
图23是表示父元素E1的候选单词和要成为子元素E2的候选单词的迁移概率的示意图;
图24是表示迁移频率的加权的示意图;
图25是图14中所示的由关系数字化单元1303进行的关系数字化处理的流程图;
图26是由评价单元1304获得的第三候选单词表的示意图;
图27是用于说明前向处理的计算的示意图;
图28是用于说明后向处理的计算的示意图;
图29是用于说明后验概率计算处理的计算的示意图;
图30是图14中所示的由评价单元1304进行的单词评价处理的流程图;
图31是前向处理的具体过程的流程图;
图32是图31中所示的前向计算处理中的具体过程的流程图;
图33是后向处理的具体过程的流程图;
图34是图33中所示的后向计算处理中的具体过程的流程图;
图35是后验概率计算处理中的具体过程的流程图;
图36是后验概率归一化处理的流程图;
图37是在出现概率p3’的强制转换之后的第四候选单词表的示意图;
图38是图14中所示的由确定单元1305进行的单词确定处理的流程图;
图39是图38中所示的比较处理(步骤S3801)中的具体过程的流程图;
图40是图39中所示的比较计算处理(步骤S3914)的流程图;以及
图41是图38中所示的概率重写处理中的具体过程的流程图。

具体实施方式

以下参照附图详细说明根据本发明的示例性实施例。
图1是根据本发明实施例的帐票处理装置的示意图。该帐票处理装置包括中央处理单元(CPU)101、只读存储器(ROM)102、随机存取存储器(RAM)103、硬盘驱动器(HDD)104、硬盘(HD)105、软盘驱动器(FDD)106、作为可移动记录介质的示例的软盘(FD)107、显示器108、接口(I/F)109、键盘110、鼠标111、扫描仪112以及打印机113。这些组件单元通过总线100连接。
CPU 101控制整个帐票处理装置。ROM 102存储诸如引导程序的程序。将RAM 103用作CPU 101的工作区。HDD 104在CPU 101的控制下,对从HD 105读取数据或将数据写入HD 105进行控制。HD 105存储在HDD 104的控制下写入的数据。
FDD 106在CPU 101的控制下,对从FD 107读取数据或将数据写入FD 107进行控制。FD 107存储在FDD 106的控制下写入的数据,并使得存储在FD 107上的数据可以由帐票处理装置读取。
除了FD 107以外,可移动记录介质还可以是光盘只读存储器(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、磁光(MO)盘、数字通用盘(DVD)、或存储卡。显示器108显示诸如光标、图标、工具箱、文件、图像以及功能信息的数据。例如,可以使用阴极射线管(CRT)、薄膜晶体管(TFT)液晶显示器或等离子显示板作为显示器108。
I/F 109通过电信线路连接到诸如互联网的网络114,并通过网络114连接到其它装置。I/F 109用作网络114与该装置内部之间的接口,并控制来自外部装置的数据的输入和到外部装置的数据的输出。例如,可以使用调制解调器或局域网(LAN)适配器作为I/F 109。
键盘110包括用于输入字符、数字以及各种指令的键,并用于输入数据。键盘110可以是触摸板输入键盘或数字键盘。鼠标111进行光标移动、范围选择、窗口的移动或尺寸改变。鼠标111可以是具有与定点设备相似功能的跟踪球或操纵杆。
扫描仪112光学地读取图像,并将图像数据采集到帐票处理装置中。扫描仪112可以具有光学字符识别(OCR)功能。打印机113打印图像数据和文件数据。可以使用激光打印机和喷墨打印机作为打印机113。
图2是由帐票处理装置进行处理的帐票文件的示意图。帐票文件200由多个单元(在图2的例子中是三个单元)C1到C3组成。帐票文件200包含与人名有关的数据。
在以下说明中,由斜体字母表示包含在帐票文件中的日语字符中的所有数据。此外,对于该数据,由小写字母表示名字的发音。如图2所示,在单元C1中出现字符信息“FULL NAME(全名)”,在单元C2中出现表示发音的“FURIGANA”、“fuji”和“tarou”,而在单元C3中出现“(FAMILY NAME)(姓)”、“(FIRST NAME)(名)”、“FUJI”和“TAROU”。为了说明的目的,在图中的每个日语字符旁边的括号中都示出了该日语字符的发音。
当该帐票文件200是从纸件帐票文件读取的图像数据时,可以在作为图像数据输入帐票文件200时,识别单元C1到C3中的字符信息和单元C1到C3中的版面信息。当帐票文件200是以文字处理软件或电子表格软件创建的非结构化电子文件(电子帐票文件)时,可以从该电子帐票文件中提取单元C1到C3中的字符信息和单元C1到C3的版面信息。已知多种方法可以实现该提取技术,并且可以使用任意技术。
图3是表示帐票文件200中的方框的示意图。将C1到C3中的每个单元分为多个方框。将参考字符“a”到“f”分配给垂直方向上的方框,沿平方向分配参考字符“1”到“4”。通过参考字符和参考数字的组合(方框号)来识别方框。例如,在方框a2中,示出了字符信息“FURIGANA”。将字符号唯一地分配给包含在帐票文件200中的字符串中所包括的每个字符。
图4是分配给帐票文件200中的各个字符的字符号的说明图。将字符号0到20中的每一个分配给帐票文件200中的各个字符。
图5是帐票文件200的版面信息的说明图。版面信息500是用于识别由线和多边形表示的帐票文件200的版面的信息,并且通过使用图3中所示的方框来进行该识别。例如,版面信息500包括组成各个单元的方框号、该单元的顶点数、顶点坐标。例如,单元C1由方框a1、b1、c1、d1、e1和f1组成。单元C1的顶点数是4。
图6是帐票文件200的字符信息的说明图。字符信息600是用于识别帐票文件200中的字符的信息,并且通过使用图4中所示的字符号来进行该识别。例如,字符信息600包括用于识别字符的字符代码、其中包括该字符的单元的单元号、字符本身的坐标、字体和大小。例如,在单元C1中字符号0的字符代码是“FULL”,字体是Gothic,大小是11。
一般逻辑结构数据库(DB)存储要对其进行逻辑结构处理的帐票文件200中共有的一般逻辑结构。具体地说,逻辑元素(在下文中,称为“元素”,在以层级结构形成帐票文件时,也被称为标签)及其含义、其中在帐票文件上具体表示这些元素的字符串、以及元素之间的关系。该一般逻辑结构DB包括一般逻辑结构表、字符串信息表,以及连接信息表。
图7是一般逻辑结构表的示意图。一般逻辑结构表700包括对于各个元素的与元素号有关的信息、代表性字符串、属性、对应字符串以及父元素号。元素号是用于识别代表性字符串的唯一编号。元素号i(i是数字)的元素是指元素Ei。代表性字符串是在帐票文件200中常用的字符串。
属性表示代表性字符串的性质或特征。属性包括标题元素和数据元素。标题元素是用于识别单元的条目(例如,图2中所示的“FULLNAME”)的固定字符串。数据元素是输入到该单元中的字符串(例如,图2中所示的“FUJI”)。
对应字符串是可以作为元素的字符串进行处理的字符串。具体地说,与代表性字符串的相同的字符串(例如,“FIRST NAME”)和具有与代表性字符串类似含义的字符串(例如,“LAST NAME”)是对应字符串。保留具有类似含义但根据帐票文件而进行了不同表达的字符串作为与代表性字符串类似的字符串。
换句话说,从对应字符串当中代表性选择的字符串是代表性字符串。当不能象在元素“family name data(姓数据)”的情况下那样限制字符串时,可以通过通配符“*”限制字符的类型来提供字符串。父元素号表示在当前元素上级的元素的元素号。最高元素0本身没有上级元素,并且其父元素号为“空”。
图8是字符串信息表的示意图。字符串信息表800对于各个元素存储与对应字符串的出现频率p1(i,j)有关的信息。字符串号j是为元素Ei中的对应字符串提供的编号,并且是以0开始的序列号。顺便提及,将元素Ei中的字符串号j的对应字符串表达为“对应字符串Mij”。
出现频率p1(i,j)表示作为元素Ei出现的对应字符串Mij的出现比。例如,对于元素E0的代表字符串“FULL NAME”,存在两个对应字符串,字符串号0的“NAME”和字符串号1的“FULL NAME”。如果通过学习,出现频率p1(i,j)对于“NAME”是p1(0,0)=30%,对“FULLNAME”是p1(0,1)=70%,则将这些比率分别描述为“0.3”和“0.7”。这表示真正元素本身的出现频率,并表示字符串的出现趋势。顺便提及,如果希望所有字符串以相同的概率出现,则存储相同的值。
如果存在其中省略字符串的情况,则必须将对应字符串Mij指定为“空”,并且必须指定其出现频率。对于元素E0的代表性字符串“FULLNAME”,分配了字符串号2的“空”的出现频率p1(0,2)是p1(0,2)=0%。由此省略的这种对应字符串Mij是指“空字符串”。
图9是连接信息表的示意图。连接信息表900表示一对元素之间的相对位置关系。元素号对表示指示彼此相邻的单元的两个元素的元素号的组合。
相对位置信息由元素之间的水平距离和垂直距离表示。根据包含由元素号对中的一个元素识别的字符串的单元,水平距离是在水平方向上从该单元到包含由该元素号对中的另一元素识别的字符串的单元的单元数。例如,当采用元素号对中的左侧元素作为用作出发点的一个元素时,从左到右的方向表示正距离,而从右到左的方向表示负距离。
同样地,根据包含由元素号对中的一个元素识别的字符串的单元,垂直距离是在垂直方向上从该单元到包含由该元素号对中的另一元素识别的字符串的单元的单元数。例如,当采用元素号对中的左侧元素作为用作出发点的一个元素时,向上方向表示负距离,而向下方向表示正距离。
对于各个元素号对,频率表示水平距离和垂直距离组合出现的比率。由于元素E1具有0.4(40%)的空字符串,因此图9中所示的(a)到(f)的总频率是0.6(60%)。如所看到的,连接信息表900表示与从父元素观察时子元素的存在位置有关的分布。
图10是用于说明连接信息表900的扩展的示意图。假定父元素是E0,子元素是E1。如果父元素E0包含在由频率(b)表示的单元中,则在它们的各自频率处,子元素E1包含在由频率(a)到(f)表示的单元中。因此,通过元素对指定两个元素的相对位置。通过该相对位置,可以限制子元素的位置。在上述水平距离和垂直距离中的单元数量的计算中,所计数的单元数量可以根据路径而不同。
图11是用于说明单元数量的计算的示意图。矩形代表单元。箭头虚线表示从包含元素Ex的单元Cx到包含元素Ey的单元Cy的路径。要计数的单元的数量应该是跨越单元边界的次数的最小值。在图11中,由于粗箭头虚线所表示的路径具有最低次数(两次)的边界跨越,因此在连接信息表900上输入“(水平距离,垂直距离)=(1,1)”的描述。
图12是用于表示在树结构中具有一般逻辑结构的元素之间的关系的示意图。根据图7中所示的一般逻辑结构表700中的元素号与父元素号的相关性,来构造树结构1200。在树结构1200中,在上层设置大标题,在下层设置子标题。在最低层存在数据。图12中所示的箭头表示图9中所示的元素号对。
图13是帐票处理装置的方框图。帐票处理装置1300包括一般逻辑结构DB 1310、候选提取单元1301、频率数字化单元1302、关系数字化单元1303、评价单元1304、以及确定单元1305。一般逻辑结构DB 1310包括一般逻辑结构表700(参见图7)、字符串信息表800(参见图8)、以及连接信息表900(参见图9)。
帐票处理装置1300预先从帐票文件200提取版面信息500和字符信息600。候选提取单元1301具有从字符信息600提取候选单词的功能。频率数字化单元1302具有根据候选单词的各个元素计算出现频率(出现概率)的功能。关系数字化单元1303具有给出候选单词之间的意义关系的比率(迁移概率)的功能。
评价单元1304具有根据候选单词的各个逻辑元素计算候选单词的出现比率(评价值;具体地说,后验概率)的功能。确定单元1305具有根据评价值,确定元素及其候选单词为帐票文件200中的元素及其字符串的功能。
一般逻辑结构DB 1310例如通过诸如图1中所示的ROM 102、RAM103、以及HD 105的记录介质来实现其功能。候选提取单元1301、频率数字化单元1302、关系数字化单元1303、评价单元1304、以及确定单元1305例如通过使CPU 101执行记录在诸如图1中所示的ROM 102、RAM103以及HD105的记录介质上的程序或者通过I/F 109来实现其功能。
图14是由帐票处理装置进行的帐票处理过程的流程图。首先获得帐票文件200(步骤S1401)。例如,可以通过纸件帐票文件的图像读取或通过输入使用电子表格软件准备的非结构化电子文件来实现该操作。然后,从帐票文件200获取版面信息和字符信息(步骤S1402)。
此后,依次执行单词提取单元1301的候选单词提取(步骤S1403)、频率数字化单元1302的单词出现数字化处理(步骤S1404)、关系数字化单元1303的关系数字化处理(步骤S1405)、评价单元1304的单词评价处理(步骤S1406)、以及确定单元1305的单词确定处理(步骤S1407)。
然后,判断是否重复处理结束标记=1(步骤S1408),如果不满足重复处理结束标记=1(步骤S1408;否),则该过程返回到步骤S1406。另一方面,如果满足重复处理结束标记=1(步骤S1408:是),则结束一系列处理。
候选提取单元1301根据字符串信息表800提取所有看起来与各个元素E1相对应的字符串作为候选单词,并输出候选单词表。
具体地说,通过参照字符信息600中的各个字符的坐标来提取字符串。例如,帐票文件200的字符串“FURIGANA”是字符“FU”、“RI”、“GA”和“NA”的组合,当这些字符的垂直坐标值大约相同并且这些字符的水平坐标值以几乎相同的间隔设置时,提取这些字符作为一个单词“FURIGANA”。从字符信息600提取的这种字符串被称为“提取字符串”。
图15是候选单词表的示意图。候选单词表1500表示元素与提取字符串之间的关系。具体地说,候选单词表1500包括元素号i、字符串号j、候选单词号k、提取字符串、字符数以及字符号。候选单词号k是提供给作为与元素号i和字符串号j的对应字符串的比较结果被确定为候选单词的提取字符串的编号。候选单词号k是从0开始的序列号。字符数是包括在提取字符串中的字符的数量。
候选提取单元1301使用元素号i和字符串号j,从字符串信息表800(参见图8)读出对应字符串Mij。例如,由于候选单词表1500的第一行具有元素号0和字符串号1,所以读出元素E0的对应字符串M01(“FULL NAME”)。所提取的字符串“FULL NAME”完全与所读出的对应字符串M01(“FULL NAME”)一致,因此,将所提取的字符串“FULLNAME”确定为元素E0的候选单词。赋予k=0作为候选单词号k。
与对应字符串“NAME”部分对应的提取字符串也成为元素E0的候选单词。例如,在候选单词表1500的第二行,对于字符“NAME”,提取字符串“(FIRST NAME)”与元素M0的对应字符串M01(“FULLNAME”)一致。因此,将提取字符串“(FIRST NAME)”确定为元素E0的候选单词。赋予k=1作为候选单词号k。
结果,在候选单词表1500中,提取所提取的字符串“FULL NAME”和“(FIRST NAME)”作为元素E0的对应字符串M01(“FULL NAME”)的候选单词,提取所提取的字符串“(FAMILY NAME)”作为元素E1的对应字符串M10(“FAMILY NAME”)的候选单词,提取所提取的字符串“FULL NAME”和“(FIRST NAME)”作为元素E2的对应字符串M20的候选单词,并提取所提取的字符串“FULL NAME”、“fuji”、“tarou”、“FUJI”、“TAROU”作为元素E3的对应字符串M30的候选单词。作为元素Ei中的候选单词提取的候选单词号k的提取字符串在下文中被称为“候选单词Wk”。
图16是图14中所示的由候选提取单元1301进行的候选单词提取处理的流程图。通过使用字符信息600的坐标值来提取包括在帐票文件200中的所有字符串(步骤S1601)。将所提取的字符串表示为提取字符串St。提取字符串St是第t个字符串。“t”是指文本号。文本号t的范围是1到tmax。Tmax是提取字符串St的最大数量。
接下来,在设定元素号i=0、字符串号j=0(步骤S1602)之后,读出对应字符串Mij(步骤S1603)。将文本号设定为t=1(步骤S1604)。然后,判断在提取字符串St中是否存在与对应字符串Mij内的字符一致的字符(步骤S1605)。
如果不存在这样的字符(步骤S1605:否),则处理前进到步骤S1607。另一方面,如果存在这样的字符(步骤S1605:是),则确定提取字符串St为候选单词Wk(步骤S1606),并且处理前进到步骤S1607。
在步骤S1607,使提取字符串号递增。判断是否满足t>tmax(步骤S1608)。如果不满足t>tmax(步骤S1608:否),则处理返回步骤S1605。另一方面,如果满足t>tmax(步骤S1608:是),则使字符串号j递增(步骤S1609)。
然后,判断是否满足j>Ji(步骤S1610)。Ji是元素Ei的对应字符串的数量。如果不满足j>Ji(步骤S1610:否),则处理返回步骤S1603。另一方面,如果满足j>Ji(步骤S1610:是),则使元素号i递增(步骤S1611)。
然后,判断是否满足i>I(步骤S1612)。“I”是元素Ei中的元素的数量。如果不满足i>I(步骤S1612:否),则处理返回步骤S1603。另一方面,如果满足i>I(步骤S1612:是),则处理前进到单词出现数字化处理(步骤S1604)。由此,完成了候选单词处理序列。如上所述,可以通过候选提取单元1301自动地提取帐票文件200中的字符串作为候选单词。
在频率数字化单元1302中,对于所有的元素Ei、字符串号j和候选单词Wk,计算每个候选单词Wk的出现概率p3(i,j,k)。首先,从候选单词表1500中读出元素号i和字符串号j的组合,并由元素号i和字符串号j的该组合引导,从字符串信息表800中提取对应字符串的出现概率p1(i,j)。
然后,根据由元素号i和字符串号j识别的对应字符串与候选单词Wk之间的匹配程度(一致程度),计算候选单词Wk的相似性。即,如果将对应字符串的字符数量表示为m0,将其中对应字符串与提取字符串相匹配的字符数量表示为m1,则表示匹配程度的观察概率p2(i,j,k)由以下公式1来表示。
p2(i,j,k)=m1/m0    (1)
例如,在候选单词表1500的第一行,对于对应字符串“FULL NAME”(参见图8)和由元素号0和字符串号1识别的元素E0的提取字符串“FULL NAME”,由于对应字符串M01的所有字符(“FULL”和“NAME”)与提取字符串的所有字符一致,因此两个字符串中的两个字符串一致,因此p2(0,1,0)=100%。在候选单词表1500的第二行,由于对于字符串“NAME”,提取字符串“(FIRST NAME)”与元素E0的对应字符串“FULL NAME”一致,两个字符串中的一个字符串相匹配,因此p2(0,1,1)=50%。
然后,使用出现频率p1(i,j)和观察概率p2(i,j,k),通过以下公式2来计算各个候选单词Wk的出现概率p3(i,j,k)。
p3(i,j,k)=p1(i,j)×p2(i,j,k)    (2)
频率数字化单元1302还对于所有的元素Ei向候选单词表1500添加空字符串的出现概率p3(i,j,k)。在这种情况下,由于各个元素Ei的出现概率P3(i,j,k)的总和没有达到1(100%),因此对出现概率进行归一化,以使出现概率的总和变为1。将归一化出现概率P3(i,j,k)表示为归一化出现概率p3’(i,j,k)。如以上看到的,频率数字化单元1302输出其中添加了新信息(出现概率P3(i,j,k)、归一化出现概率p3’(i,j,k)等)的候选单词表。
图17是由频率数字化单元1302输出的候选单词表的示意图。图15中所示的从候选提取单元1301获得的候选单词表在下文中表示为“第一候选单词表1500”。图17中表示的从频率数字化单元1302获得的候选单词表在下文中表示为“第二候选单词表1700”。
图18是用于表示各个元素Ei的候选单词Wk的归一化出现概率p3’(i,j,k)的示意图。围绕作为候选单词Wk的各个提取字符串的矩形框的粗度表示归一化出现概率p3’(i,j,k)的高度。
作为计算方法,将元素号i和字符串号j的对应字符串Mij的出现概率p1(i,j)存储在一般逻辑结构DB 1310中,并且通过以下公式3来表示出现概率p1(i,j)。
p1(i,j)=p(Ti=eTij|C=eCi)    (3)
在以上公式3中,C是将逻辑元素的数量作为其维数的向量。T是将对应字符串Mij的数量作为其维数的向量。e表示归一化正交基,ei是表示其中第i元素是1而其它元素是0的元素的归一化正交基,并被考虑用来表示元素i。
当Mij是表示各个候选单词的正确字符串的隐变量时,其中当使用该字符串时各候选单词是如帐票文件上表示的候选单词的概率由以下公式4定义。
P(Mij=eMijk|Ti=eRij)    (4)
对于所有的候选单词Wk认为该概率是1。这里作为符号,P(X|Y)代表“以Y为条件时X的概率”。
根据以下通过乘以公式4而获得的公式5计算上面的观察概率p2(i,j,k)。
p2(i,j,k)=p(Oijk|Mij=eMijk)p(Mij=eMijk|Ti=eTij)  (5)
通过将公式3乘以公式5来计算出现概率p3(i,j,k)。出现概率p3(i,j,k)由以下公式6表示。
p3(i,j,k)
=p(Oijk,Mij=eMijk,Ti=eTij|C=eCi)
=p(Oijk|Mij=eMijk)p(Mij=eMijk|Ti=eTij)p(Ti=eTij|C=eCi)
(6)
在公式6中,O表示通过观察变量向量提取的候选单词本身。从字符串信息表800中读取空字符串的出现概率为p3null(i),并将其直接视为归一化出现概率p3’(i,j,k)。如上所述,也可以对空字符串以外的候选单词Wk进行归一化。
图19是由频率数字化单元1302进行的频率数字化处理的流程图。首先,设定元素号i=0(步骤S1901),并设定字符串号j=0(步骤S1902)。随后,从字符串信息表800读取元素号i和字符串号j的出现频率p1(i,j)(步骤1903)。
然后,设定候选单词号k=0(步骤S1904),使用公式1计算元素号i和字符串号j处的候选单词Wk的观察概率p2(i,j,k)(步骤S1905)。
此后,通过将出现频率p1(i,j)乘以观察概率p2(i,j,k),来计算元素号i和字符串号j处的候选单词Wk的出现概率p3(i,j,k)(步骤S1906)。然后,使候选单词号k递增(步骤S1907)。判断候选单词号k是否满足k>Kij(步骤S1908)。Kij是元素号i和字符串号j的候选单词的数量。
如果不满足k>Kij(步骤S1908:否),则处理返回步骤S1905。另一方面,如果满足k>Kij(步骤S1908:是),则使字符串号j递增(步骤1909)。
然后,判断是否满足j>Ji(步骤S1910)。Ji是元素Ei中对应字符串的数量。如果不满足j>Ji(步骤S1910:否),则处理返回步骤S1903。另一方面,如果满足j>Ji(步骤S1910:是),则从字符串信息表800读取元素Ei变为空的出现频率p3null(i)(步骤S1911)。
然后,使元素号I递增(步骤S1912),判断是否满足i>I(步骤S1913)。I是元素Ei的元素的数量。如果不满足i>I(步骤S1913:否),则处理返回步骤S1902。另一方面,如果满足i>I(步骤S1913:是),则处理前进到关系数字化处理(步骤S1405)。由此,完成了单词出现数字化处理序列。如上看到的,频率数字化单元1302可以对候选单词Wk在相关元素Ei中出现的频率进行数字化。
关系数字化单元使用图9中所示的连接信息表900,计算各个元素Ei中任意选择的候选单词的组合的出现概率,或当确定父元素的候选单词时子元素的候选单词的出现概率(条件概率)。
具体地说,对于具有连接的两个元素,将较高的元素称为父元素Ei1(i1是数字),而将较低的元素称为子元素Ei2(i2是数字,i2≠i1)。根据具有父子关系的两个连接元素Ei1和Ei2,当父元素Ei1的候选单词Wk(在下文中,“候选单词Wki1”)存在时,关系数字化单元1303计算子元素Ei2的候选单词Wk(在下文中,“候选单词Wki2”)的出现概率。可以根据图11中所示计数的单元的数量,来计算该出现概率。
具体地说,将表示两个候选单词Wki1和Wki2分别所属的单元的相对位置关系的迁移概率表示为p4{x,y}(或简单地表示为p4)。x是当使用父元素Ei1所属单元的位置作为出发点时,子元素Ei2所属的单元在垂直方向上的相对位置(向下为正,向上为负),而y是当使用父元素Ei1所属单元的位置作为出发点时,子元素Ei2所属的单元在水平方向上的相对位置(向右为正,向左为负)。
例如,如果两个候选单词Wki1和Wki2位于相同高度的单元中,并且子元素Ei2的候选单词Wki2属于作为位于父元素Ei1的候选单词Wki1所属的单元右边的一个单元的单元,则将迁移概率表示为p4{0,1}。将这两个候选单词位于同一单元内时的迁移概率表示为p4{0,0}。可以根据连接信息表900中所述的频率来计算该迁移概率p4{x,y}。现将说明概括关系数字化单元1303的处理结果的连接候选表。
图20是表示父元素Ei1=E0与子元素Ei2=E1之间的连接关系的连接候选表的说明图。在该连接候选表2000中,通过父元素号i1、字符串号j1以及候选单词号k1来识别被选择为候选单词Wk1的提取字符串。还通过子元素号i2、字符串号j2以及候选单词号k2来识别被选择为候选单词Wk2的提取字符串。
接下来,在连接信息表900(该连接信息表900与在连接候选表2000中识别的父元素Ei1的候选单词Wk1与子元素Ei2的候选单词Wk2的相对位置信息一致)中识别该相对位置信息,并从连接信息表900中读出该相对位置信息的连接频率。
在连接候选表2000的第一行,例如,在{Ei1,j1,k1}={E0,1,0}的情况下,被选择为候选单词Wk1的提取字符串是“FULL NAME”(参见图15或图17)。在{Ei2,j2,k2}={E0,0,0}的情况下,被选择为候选单词Wk2的提取字符串是“(FAMILY NAME)”(参见图15或图17)。
在父元素E0和子元素E1的组合中,图9中所示的连接信息表900包含相对位置信息的六种不同情况。在图2中所示的帐票文件200中,候选单词Wk1的提取字符串“FULL NAME”属于单元C1,并且提取字符串“(FAMILY NAME)”属于单元C3。
因此,由于单元C3位于单元C1右边的一个单元,所以水平距离是h=1,由于单元C3和单元C1在垂直方向上位于相同位置,所以垂直距离是v=0,读取与{h,v}={1,0}相对应的连接频率,即,0.30。该连接频率是迁移概率p4(i1,j1,k1,i2,j2,k2),也将其简称为迁移概率p4。
迁移概率可由以下公式7给出,其中i’表示i的父元素。
p4(i1,j1,k1,i2,j2,k2)
=p(C=eCi|C=eCi’;x=x(Oij)-x(Oi’,j’),y=y(Oij)-y(Oi’,j’))
(7)
图21是表示父元素E0的候选单词和可能成为子元素E1的候选单词的迁移概率的示意图。被选择为父元素E0的候选单词的提取字符串是“FULL NAME”,“(FIRST NAME)”和“NULL”。被选择为子元素E1的候选单词的提取字符串是“(FAMILY NAME)”和“NULL”。箭头表示父子关系,箭头开始的元素是父元素E0的候选单词,箭头终止的元素是子元素E1的候选单词。箭头的粗度表示连接频率(迁移概率p4)的高度。
同样地,图22是父元素Ei1=E1与子元素Ei2=E2之间的连接关系的连接候选表的说明图。图23是表示父元素E1的候选单词和可能成为子元素E2的候选单词的迁移概率的示意图。
当单元中存在多个候选单词时,添加权值并进行归一化。例如,对于从父元素Ei1看来能够成为目标区域中的子元素Ei2的候选单词Wk2,根据在该候选单词Wk2的外切矩形与父元素E1的候选单词Wk1的外切矩形之间测量的距离进行加权。
图24是表示迁移频率的加权的示意图。不对空白区域进行加权。将灰色区域设定为加权的目标区域。使用指数函数作为加权函数。当“FUJI”和“TAROU”作为姓数据存在时,从该单元C3的一个父元素Ei1的候选单词的迁移频率被给出为迁移概率p4=0.3,并且从“(FAMILY NAME)”到“FUJI”和“TAROU”到的距离被分别给出为d1和d2。
单元C3的一个父元素Ei1的候选单词和姓数据“FUJI”的已进行了加权的迁移概率p4’由以下公式8表示。
p4’=p4×w1/(w1+w2)=0.3×w1/(w1+w2)    (8)
同样地,单元C3的一个父元素Ei1的候选单词和姓数据“TAROU”的已进行了加权的迁移概率p4’由以下公式9表示:
p4’=p4×w2/(w1+w2)=0.3×w2/(w1+w2)    (9)
该迁移概率p4’被称为归一化迁移概率p4’。在公式8和公式9中,w1是与距离d1相关的权值,w2是与距离d2相关的权值。w1和w2由以下公式10和11表示:
w1=exp(-d12)exp(-d12)+exp(-d22)---(10)
w2=exp(-d22)exp(-d12)+exp(-d22)---(11)
当空字符串是父元素Ei1时,使用该元素的父元素的迁移概率p4。例如,在图20中所示的示例中,在父元素E0到子元素E1的情况下,对于所有子元素Ei2的候选单词Wk2,从父元素E0的空字符串的迁移概率p4是p4=0。
另一方面,在图22中所示的父元素E1到子元素E3的示例中,存在父元素E1的空字符串的迁移概率p4。在这种情况下,使用连接信息表900来获得从作为父元素E1的父元素的元素E0到子元素E3的迁移概率。被选择为子元素E3的候选单词Wk2的提取字符串(“FULL NAME”、“fuji”、“tarou”、“FUJI”和“TAROU”)位于迁移概率p4={0.1,0.3,0.3,0.3,0.3}的位置。
然而,在这些提取字符串中,可以从图24的目标区域中排除“FULLNAME”,因此,将与“FULL NAME”有关的迁移概率p4=0.1改为p4=0。由于其余的字符串(“fuji”、“tarou”、“FUJI”和“TAROU”)虽然在不同单元中,但是位于作为“FULL NAME”所属单元C1右边一个单元的单元中,因此对迁移概率p4=0.3进行归一化。
假定在图24中所示的加权操作之后,这些字符串的迁移概率p4变为p4={0.0,0.1,0.05,0.1,0.05}。当对作为元素E0的候选单词的提取字符串“FIRST NAME”进行相同操作时,迁移概率是p4={0.0,0.0,0.1,0.15,0.15},在归一化之后,变为p4’={0.0,0.0,0.1,0.05,0.1 }。如果以从父元素E0的各个元素到元素E1的空字符串的迁移概率的比率来计算这两个值的总和,则获得p4’={0,0.08,0.06,0.09,0.06}。
图25是图14中表示的由关系数字化单元1303进行的关系数字化处理的流程图。首先,将父元素号i1设定为i1=0(步骤S2501),将字符串号j1设定为j1=0(步骤S2502),将候选单词号k1设定为k1=0(步骤S2503)。接下来,读取父元素Ei1的子元素Ei2的子元素号i2(步骤S2504)。然后,将该子元素Ei2的字符串号j2设定为j2=0(步骤S2505),将子元素Ei2的候选单词号k2设定为k2=0(步骤S2506)。
对从父元素Ei1到子元素Ei2的垂直距离cx进行计数(步骤S2507)。同样地,对从父元素Ei1到子元素Ei2的水平距离cy进行计数(步骤S2508)。从连接信息表900读出存在于距离(cx,cy)处的父元素Ei1和子元素Ei2的迁移概率p4(步骤S2509)。
然后,对迁移概率p4进行归一化(步骤S2510)以获得归一化迁移概率p4’。此后,使子元素Ei2的候选单词号k2递增(步骤S2511),判断候选单词号是否满足k2>K2(步骤S2511)。K2是子元素Ei2的字符串号j2的候选单词的数量。
如果不满足k2>K2(步骤S2512:否),则处理返回步骤S2507。另一方面,如果满足k2>K2(步骤S2512:是),则使子元素Ei2的字符串号j2递增(步骤S2513),判断子元素Ei2的字符串数j2是否大于J2(步骤S2514)。J2是子元素Ei2的对应字符串的数量。
如果不满足j2>J2(步骤S2514:否),则处理返回步骤S2506。另一方面,如果满足j2>J2(步骤S2514:是),则使子元素号i2递增(步骤S2515),判断是否满足i2>I2(步骤S2516)。I2是子元素Ei2的元素的数量。
如果不满足i2>I2(步骤S2516:否),则处理返回步骤S2505。另一方面,如果满足i2>I2(步骤S2516:是),则使父元素Ei1的候选单词号k1递增(步骤S2517),判断是否满足候选单词号k1>K1(步骤S2518)。K1是父元素Ei1的字符串j1的候选单词的数量。
如果不满足k1>K1(步骤S2518:否),则处理返回步骤S2504。另一方面,如果满足k1>K1(步骤S2518:是),则使父元素Ei1的字符串号j1递增(步骤S2519),判断是否满足字符串号j1>J1(步骤S2520)。J1是父元素Ei1的对应字符串的数量。
如果不满足j1>J1(步骤S2520:否),则处理返回步骤S2503。另一方面,如果满足j1>J1(步骤S2520:是),则使父元素Ei1的元素号i1递增(步骤S2521),判断是否满足父元素号i1>I1(步骤S2522)。I1是父元素Ei1的元素的数量。
如果不满足i1>I1(步骤S2522:否),则处理返回步骤S2502。另一方面,如果满足i1>I1(步骤S2522:是),则处理前进到单词评价处理(步骤S1406)。由此,完成了关系数字化处理序列。如以上看到的,关系数字化单元1303可以对父元素Ei1的候选单词与子元素Ei2的候选单词之间的位置相关性的频率进行数字化。
评价单元1304考虑与单词关系相关的候选之间的关系以及单词的出现概率,来计算各个元素Ei中的候选单词的概率。具体地说,例如,可以应用可信度传递(Belief propagation)。
对于候选单词,根据由关系数字化单元1303获得的归一化迁移概率p4,向构成适于层级结构的组合的那些位置的候选单词赋予高概率,否则赋予低概率。
类似的方法有隐Markov模型。对于计算方法,存在许多示例,并且可以使用任意方法来进行计算。
评价单元1304根据由频率数字化单元1302获得的归一化出现概率p3’和由关系数字化单元1303获得的归一化迁移概率p4’,来计算作为表示帐票文件200上的元素Ei的字符串的各个元素Ei的各个候选单词Wk的后验概率pp1。
图26是由评价单元1304获得的第三候选单词表的示意图。第三候选单词表2600是通过向第二候选单词表1700进一步添加各个元素Ei的后验概率pp1而获得的候选单词表。
作为计算后验概率pp1的方法,将树结构1200的一般逻辑结构作为概率网络来进行计算。这里提出有向图情况下的计算方法作为示例。也已经建立了无向图情况下的计算方法,因为单边Markov和双边Markov等价,这些方法只在所给出的概率表达式方面不同。因此,忽略这些不同。具体地说,后验概率pp1可以由根据上述元素之间的归一化迁移概率p4’而改变的势函数给出。
即,评价单元1304考虑字符串之间的关系对根据元素与一般逻辑结构的连接之间的关系形成的图进行数字化。这可以通过对以上给出的图应用概率传播来实现。
计算树结构1200的有向图需要三个处理:前向处理,其中从作为上层的父元素Ei1开始进行计算;后向处理,其中从父元素Ei1的下层开始进行计算;以及计算后验概率的处理。
在下层(子)元素Ei2的候选单词Wi2的情况下,前向处理计算表示所有上层(父)元素Ei1的候选单词对该下层元素Ei2的可信度的概率pf(i,j,k)。概率pf(i,j,k)(偶尔简称为概率pf)由以下公式12表示。
pf(i,j,k)
=sum_i′sum_j′sum_k′p3(i,j)×p4(i′,i,j′,j,k′,k)×pf(i′,j′,k′);
p({Oi}-,Mij=eMijkTi=eTijC=eCi)
=ZiZjZkp(OijkMij=eMijTi=eTij|C=eCi)
p(C=eCi|C=eCi′;x(Oijk)-x(Oi′j′k′),y(Oijk)-y(Oi′j′k′))
p({Oi′}-,Mi′j′=eMi′j′k′,Ti′=eTi′j′,C=eCi′)
(12)
在公式12中,i’表示元素Ei的父元素,j’表示父元素i’的字符串号,k’表示通过字符串号j’提取的候选单词号。{O}-表示字符串i的上层的所有候选单词。
在上层(父)元素Ei1的候选单词Wi1的情况下,后向处理计算表示所有下层(子)元素Ei2对该上层元素Ei1的候选单词的可信度的概率pb(i,j,k)。概率pb(i,j,k)(偶尔简称为概率pb)由以下公式13表示。
pb(i,j,k)=sum_isum_jsum_kpb(i,j,k)×p4(i,i,j,j,k,k)×p3(i,j,k)
p({Oi}-,Ti|C=eCi)
=ΣiΣjΣkp(Oij,Ti|C=eCi)p(C=eCi|C=eCi;x(Oij)-x(Oij),y(Oij)-y(Oij))p({Oij}+|C=eCi)---(13)
在公式(13)中,i’表示元素Ei的子元素,j’表示子元素i’的字符串号,k’表示通过字符串号j’提取的候选单词号。
后验概率计算处理计算元素Ei的对应字符串Mij对于候选单词Wk的后验概率pp1(i,j,k)。在下文中,后验概率pp1(i,j,k)偶尔被简称为pp1,后验概率pp1(i,j,k)由以下公式14到17表示。
pp1(i,j,k)=pp11(i,j,k)/ppi2(i)
(14)
pp11(i,j,k)=sum_i′sum_j′sum_k′pf(i′,j′,k′)×p4(i′,i,j′,j,k′,k)×pb(i,j,k)
(15)
pp12(i)=sum_j sum_k sum_i′sum_j′sum_k′pf(i′,j′,k′)×p4(i′,i,j′,j,k′,k)×pb(i,j,k)
(16)
p(Mij=eMijk,Ti=eT,j|C=eCi,{Oi})
=p(Mij=eMijk,Ti=eT,j,C=eCi,{Oi})P(C=eCi,{Oi})
=ΣiΣjΣkp({Oi}+,Mij=eMijk,Ti=eT,j|C=eCi)p(C=eCi|C=eCi;x(Oijk)-x(Oijk),y(Oijk)-y(Oijk))p({Oi}-,Mij=eMijk,Ti=eT,j|C=eCi)ΣjΣkΣiΣjΣkp({Oi}+,Mij=eMijk,Ti=eT,j|C=eCi)p(C=eCi|C=eCi;x(Oijk)-x(Oijk),y(Oijk)-y(Oijk))p({Oi}-,Mij=eMijk,Ti=eT,j|C=eCi)---(17)
在公式14到17中,i’表示元素Ei的父元素,j’表示父元素i’的字符串号,k’表示通过字符串号j’提取的候选单词号。假设{Oi}是对所有逻辑元素的观测结果。所有这些处理都是针对所有元素Ei的对应字符串Mji的候选单词执行的。
当存在父元素Ei1并且其子元素Ei2中存在多个候选单词Wk2时,通过后验概率计算处理进行的后验概率pp1的计算意味着寻找这些候选单词中的合适候选单词Wk2的工作。
在以上三个处理中,前向处理使用在上层获得的概率pf,从上层开始执行该计算并计算当前层的概率pf。可以由递归处理来实现该处理。相反地,后向处理使用在下层获得的概率pb来计算当前层的概率pb。也可以由递归处理来实现该处理。以下给出具体示例。
图27是用于说明前向处理的计算的示意图。在以下公式18中示出了当父元素E0的候选单词出现时子元素E1的候选单词的出现概率pfx。
pfx=(父元素E0的p3’)×(父元素E0到子元素E1的p4’)×(子元素E1的p3’)
(18)
例如,参照图27,当父元素E0的候选单词是“FULL NAME”并且子元素E1的候选单词是“(FAMILY NAME)”时,将相关数字代入公式18,并如下进行计算。
pf1=0.67×0.3×0.6=0.12
当父元素E0的候选单词是“(FIRST NAME)”并且子元素E1的候选单词是“(FAMILY NAME)”时,将相关数字代入公式18,并如下进行计算。
pf2=0.33×0.0×0.6=0
当父元素E0的候选单词是空并且子元素E1的候选单词是“(FAMILY NAME)”时,将相关数字代入公式18,并如下进行计算。
pf3=0.0×0.8×0.6=0
从父元素E0的这些候选单词“FULL NAME”、“(FIRST NAME)”和空到子元素E1的候选单词“(FAMILY NAME)”的传播概率pf1到pf3的总和为概率pf(0.12+0+0=0.12)。
接下来,作为与父元素E0相关的子元素的元素E1变为与元素E3相关的父元素。在以下公式19中示出了从元素E1的候选单词到子元素E3的候选单词的传播概率pfy。
pfy=(父元素E1的pf)×(子元素E3的p3’)×(子元素E3到父元素E1的p4’)
(19)
例如,参照图27,当父元素E1的候选单词是“(FAMILY NAME)”并且子元素E3的候选单词是“FUJI”时,将相关数字代入公式19并如下进行计算。
pf1=0.12×0.2×0.18=0.00432
当父元素E1的候选单词是空并且子元素E3的候选单词是“FUJI”时,将相关数字代入公式19并如下进行计算。
pf2=0.1204×0.09×0.18=0.00195
从父元素E1的这些候选单词“(FAMILY NAME)”和空到子元素E3的候选单词“FUJI”的传播概率pf1和pf2的总和为概率pf(=0.00432+0.00195=0.00627)。
图28是表示后向处理的计算的示意图。在以下公式20中示出了从子元素E3的候选单词到父元素E1的候选单词的传播概率pbx。
pbx=(子元素E3到父元素E1的p4’)×(子元素E3的p3’)×(父元素E1的p3’)
(20)
例如,参照图28,当子元素E3的候选单词是“FULL NAME”并且父元素E1的候选单词是“(FAMILY NAME)”时,将相关数字代入公式20,并如下进行计算。
pb1=0.18×0.0×0.6=0
当子元素E3的候选单词是“fuji”并且父元素E1的候选单词是“(FAMILY NAME)”时,将相关数字代入公式20,并如下进行计算。
pb2=0.18×0.0×0.6=0
当子元素E3的候选单词是“tarou”并且父元素E1的候选单词是“FAMILY NAME”时,将相关数字代入公式20,并如下进行计算。
pb3=0.18×0.0×0.6=0
当子元素E3的候选单词是“FUJI”并且父元素E1的候选单词是“(FAMILY NAME)”时,将相关数字代入公式20,并如下进行计算。
pb4=0.18×0.2×0.6=0.0216
当子元素E3的候选单词是“TAROU”并且父元素E1的候选单词是“(FAMILY NAME)”时,将相关数字代入公式20,并如下进行计算。
pb5=0.18×0.1×0.6=0.0108
当子元素E3的候选单词是空并且父元素E1的候选单词是“(FAMILY NAME)”时,将相关数字代入公式20,并如下进行计算。
pb6=0.1×0.1×0.6=0.006
从子元素E3的这些候选单词“FULL NAME”到空至父元素E1的候选单词“(FAMILY NAME)”的传播概率pb1到pb6的总和为概率pb(=0+0+0+0.0216+0.0108+0.006=0.0384)。
接下来,作为与子元素E3相关的父元素的元素E1变为与元素E0相关的子元素。在以下公式21中示出了从元素E1的候选单词到父元素E0的候选单词的概率pby。
pby=(子元素E1的pb)×(父元素E0到子元素E1的p4’)×(父元素E0的p3’)
(21)
例如,参照图28,当子元素E1的候选单词是“(FAMILY NAME)”并且父元素E0的候选单词是“FULL NAME”时,将相关数字代入公式21,并如下进行计算。
pb1=0.0384×0.3×0.67=0.00771
当子元素E1的候选单词是空并且父元素E0的候选单词是“FULLNAME”时,将相关数字代入公式(21),并如下进行计算。
pb2=0.0249×0.4×0.67=0.00667
从子元素E1的这些候选单词“(FAMILY NAME)”和空到父元素E0的候选单词“FULL NAME”的传播概率pb1和pb2的总和为概率pb(=0.00771+0.00667=0.0144)。
图29是用于说明后验概率计算处理的计算的示意图。上面的行中的字符串“FULL NAME”、“(FIRST NAME)”和空是元素E0的候选单词,中间的行中的字符串“(FAMILY NAME)”和空是元素E1的候选单词,下面的行中的字符串“FULL NAME”到空是元素E3的候选单词。
元素E0的后验概率是通过对图28中所示的后向处理获得的概率pb进行归一化而获得的概率。元素E0的候选单词“FULL NAME”、“(FIRSTNAME)”和空的概率pb分别是0.0144、0.000822和0.0,其总和为0.015222。因此,通过对元素E0的候选单词“FULL NAME”、“(FIRSTNAME)”和空的概率pb进行归一化,来如下计算候选单词“FULLNAME”的后验概率pp1。
pp1=0.0144/0.015222=94.6%
同样地,通过对元素E0的候选单词“FULL NAME”、“(FIRSTNAME)”和空的概率pb进行归一化,来如下计算元素E0的候选单词“(FIRST NAME)”的后验概率pp1。
pp1=0.000822/(0.0144+0.000822+0.0)=5.4%
同样地,通过对元素E0的候选单词“FULL NAME”、“(FIRSTNAME)”和空的概率pb进行归一化,来如下计算元素E0的字符串空的后验概率pp1。
pp1=0.0/(0.0144+0.000822+0.0)=0%
元素E1的后验概率还可以是通过对图28中所示的后向处理获得的概率pb进行归一化而获得的概率。当子元素E1的候选单词是“(FAMILYNAME)”并且父元素E0的候选单词是“FULL NAME”时,将相关数字代入公式21,并如下进行计算。
pb1=0.0384×0.3×0.67=0.00771
当子元素E1的候选单词是空并且父元素E0的候选单词是“FULLNAME”时,将相关数字代入公式21,并如下进行计算。
pb2=0.0249×0.4×0.67=0.00667
当子元素E1的候选单词是“(FAMILY NAME)”并且父元素E0的候选单词是“(FIRST NAME)”时,将相关数字代入公式21,并如下进行计算。
pb3=0.0384×0.0×0.33=0
当子元素E1的候选单词是空并且父元素E0的候选单词是“(FIRSTNAME)”时,将相关数字代入公式21,并如下进行计算。
pb4=0.0249×0.1×0.33=0.00082
当子元素E1的候选单词是“(FAMILY NAME)”并且父元素E0的候选单词是空时,将相关数字代入公式21,并如下进行计算。
pb5=0.0384×0.8×0.0=0
当子元素E1的候选单词是空并且父元素E0的候选单词是空时,将相关数字代入公式21,并如下进行计算。
pb6=0.0249×0.2×0.0=0
通过如下使用概率pb1到pb6对候选单词“(FAMILY NAME)”的后验概率pb1进行归一化,来计算元素E1的候选单词“(FAMILYNAME)”的后验概率pp1。
pp1
=(pb1+pb3+pb5)/(pb1+pb2+pb3+pb4+pb5+pb6)
=0.00771/(0.00771+0.00667+0+0.00082+0+0)
=0.00771/0.0152
=51%
同样地,通过如下使用概率pb1到pb6对字符串空的后验概率pb1进行归一化,来计算元素E1的字符串空对元素E0的候选单词“FULLNAME”的后验概率pp1。
pp1
=(pb2+pb4+pb6)/(pb1+pb2+pb3+pb4+pb5+pb6)
=(0.00667+0.00082)/(0.00771+0.00667+0+0.00082+0+0)
=0.00749/0.0152
=49%
元素E3的后验概率是通过对图27中所示的后向处理获得的概率进行归一化而获得的概率。元素E3的候选单词“FULL NAME”到空的概率pf分别是0.0、0.00173、0.00130、0.00627、0.00346和0.00240,其总和是0.01516。因此,通过对元素E3的候选单词“FULL NAME”到空的概率pf进行归一化,来如下计算元素E3的候选单词“FULL NAME”的后验概率pp1。
pp1=0.0/0.01516=0%
同样地,通过对元素E3的候选单词“FULL NAME”到空的概率pf进行归一化,来如下计算元素E3的候选单词“fuji”的后验概率pp1。
pp1=0.00173/0.01516=12%
同样地,通过对元素E3的候选单词“FULL NAME”到空的概率pf进行归一化,来如下计算元素E3的候选单词“tarou”的后验概率pp1。
pp1=0.00130/0.01516=9.1%
同样地,通过对元素E3的候选单词“FULL NAME”到空的概率pf进行归一化,来如下计算元素E3的候选单词“FUJI”的后验概率pp1。
pp1=0.00627/0.01516=41.2%
同样地,通过对元素E3的候选单词“FULL NAME”到空的概率pf进行归一化,来如下计算元素E3的候选单词“TAROU”的后验概率pp1。
pp1=0.00346/0.01516=22.4%
同样地,通过对元素E3的候选单词“FULL NAME”到空的概率pf进行归一化,来如下计算元素E3的字符串空的后验概率pp1。
pp1=0.00240/0.01516=15.3%
结果,在元素E0中,候选单词“FULL NAME”以后验概率pp1=94.6%出现,候选单词“(FIRST NAME)”以后验概率pp1=5.4%出现。在元素E1中,候选单词“(FAMILY NAME)”以后验概率pp1=51%出现,字符串空以后验概率pp1=49%出现。这表示候选单词“(FAMILY NAME)”的出现概率高于该候选单词的不出现概率。在元素E3中,姓数据按照概率的降序是“FUJI”、“TAROU”、字符串空、“fuji”和“tarou”。
图30是图14中所示的由评价单元1304进行的单词评价处理的流程图。首先,将确定表号设定为q=0(步骤S3001)。接下来,执行前向处理(步骤S3002)、后向处理(步骤S3003)和后验概率计算处理(步骤S3004),并且处理前进到单词确定处理(步骤S1407)。由此,完成单词评价处理。
图31是前向处理中的具体处理过程的流程图。将概率pf(i,j,k)设定为pf=0(步骤S3101),将父元素的元素号i1设定为i1=0(步骤S3102)。
接下来,判断是否存在对于该父元素Ei1的子元素(步骤S3103)。如果子元素不存在(步骤S3103:否),则处理转到后向处理(步骤S3103)。另一方面,如果子元素存在(步骤S3103:是),则将该子元素的元素号i2设定为i2=0(步骤S1304),并执行前向计算处理(步骤S3105)。在前向处理之后,处理转到后向处理(步骤S3003)。
图32是图31中表示的前向计算处理中的具体过程的流程图。将子元素Ei2的字符串号j2设定为j2=0(步骤S320 1),将字符串号j2的候选单词号k2设定为k2=0(步骤S3202)。并且,将父元素Ei1的字符串号j1设定为j1=0(步骤S3203),将字符串号j1的候选单词号k1设定为k1=0(步骤S3204)。
接下来,计算子元素Ei2的父元素Ei1的单词是候选单词Wk的概率pf(i2,j2,k2)(步骤S3205)。通过以下公式22来计算概率pf(i2,j2,k2)。
pf(i2,j2,k2)
=p4’(i1,i2,j1,j2,k1,k2)×pf(i1,j1,k1)×
p3’(i2,j2,k2)    (22)
当子元素Ei2的父元素Ei1不存在(例如,子元素Ei2=元素E0)时,用该子元素Ei2的归一化出现概率p3(i1,j2,k2)代替pf(i1,j1,k1)。
此后,使父元素Ei1的候选单词号k1递增(步骤S3206),判断是否满足候选单词号k1>K1(步骤S3207)。K1是父元素Ei1的字符串号j1的候选单词的数量。
如果不满足k1>K1(步骤S3207:否),则处理返回步骤S3205以计算概率pf(i2,j2,k2)。另一方面,如果满足k1>K1(步骤S3207:是),则使父元素Ei1的字符串号j1递增(步骤S3208),判断是否满足j1>J1(步骤S3209)。J1是父元素Ei1的对应字符串的数量。
如果不满足j1>J1(步骤S3209:否),则处理返回步骤S3204。另一方面,如果满足j1>J1(步骤S3209:是),则使子元素Ei2的候选单词号k2递增(步骤S3210),判断是否满足候选单词号k2>K2(步骤S3211)。K2是子元素Ei2的字符串号j2的候选单词的数量。
如果不满足k2>K2(步骤S3211:否),则处理返回步骤S3203。另一方面,如果满足k2>K2(步骤S3211:是),则使子元素Ei2的字符串号j2递增(步骤S3212),判断是否满足字符串号j2>J2(步骤S3213)。J2是子元素Ei2的对应字符串的数量。
如果不满足j2>J2(步骤S3213:否),则处理返回步骤S3202。另一方面,如果满足j2>J2(步骤S3213:是),则判断是否存在任何其它子元素(步骤S3214)。如果不存在进一步的子元素(步骤S3214:否),则结束前向计算处理,并且处理转到步骤S3003。
另一方面,如果存在对于子元素Ei2任何进一步的子元素(步骤S3214:是),则将父元素Ei1设定为i1=i2(步骤S3215)。即,将子元素Ei2改变为父元素Ei2。然后,将子元素号i2设定为i2=0(步骤S3216),并且处理返回步骤S3201。通过这种方式,执行前向计算处理,直到不存在进一步的子元素为止。
图33是后向处理中的具体过程的流程图。将概率pb(i,j,k)设定为0(步骤S3301)。然后,将父元素的元素号i1设定为i1=0(步骤S3302)。
接下来,判断是否存在对于该父元素Ei1的子元素(步骤S3303)。如果不存在子元素(步骤S3303:否),则处理转到后验概率计算处理(步骤S3004)。另一方面,如果存在子元素(步骤S3303:是),则将子元素的元素号i2设定为i2=0(步骤S3304),并执行后向计算处理(步骤S3305)。在后向计算处理之后,处理转到后验概率计算处理(步骤S3004)。
图34是图33中所示的后向计算处理中的具体过程的流程图。首先,判断是否存在对于子元素Ei2的任何进一步的子元素(步骤S3401)。如果子元素存在(步骤S3401:是),则将父元素号i1设定为i1=i2(步骤S3402)。即,将子元素Ei2改变为父元素Ei2。然后,将子元素号i2设定为i2=0(步骤S3403),并且处理返回步骤S3401。这样,可以检测到在最低级别的子元素。
另一方面,如果不存在进一步的子元素(步骤S3401:否),则将子元素Ei2的字符串号j2设定为j2=0(步骤S3404),将字符串号j2的候选单词号k2设定为k2=0(步骤S3405)。然后,将父元素Ei1的字符串号j1设定为j1=0(步骤S3406),将字符串号j1的候选单词号k1设定为k1=0(步骤S3407)。
接下来,计算概率pb(i1,j1,k1)(步骤S3408)。概率pb(i1,j1,k1)由以下公式23计算。
pb(i1,j1,k1)
=p4’(i1,i2,j1,j2,k1,k2)×pb(i2,j2,k2)×
p3’(i1,j1,k1)    (23)
当子元素Ei2是在最低级别的子元素时,由该子元素Ei2的归一化迁移概率p4’(i2,j2,k2)来代替pb(i2,j2,k2)。
此后,使父元素Ei1的候选单词号k1递增(步骤S3409),判断是否满足候选单词号k1>K1(步骤S3410)。K1是父元素Ei1的字符串号j1的候选单词的数量。
如果不满足k1>K1(步骤S3410:否),则处理返回步骤S3408以计算概率pb(i1,j1,k1)。另一方面,如果满足k1>K1(步骤S3410:是),则使父元素Ei1的字符串号j1递增(步骤S3411),判断是否满足字符串号j1>J1(步骤S3412)。这里,J1是父元素Ei1的对应字符串的数量。
如果不满足j1>J1(步骤S3412:否),则处理返回步骤S3407。另一方面,如果满足j1>J1(步骤S3412:是),则使子元素Ei2的候选单词号k2递增(步骤S3413),判断是否满足候选单词号k2>K2(步骤S3414)。K2是子元素Ei2的字符串号j2的候选单词的数量。
如果不满足k2>K2(步骤S3414:否),则处理返回步骤S3406。另一方面,如果满足k2>K2(步骤S3414:是),则使子元素Ei2的字符串号j2递增(步骤S3415),判断是否满足字符串号j2>J2(步骤S3416)。J2是子元素Ei2的对应字符串的数量。
如果不满足j2>J2(步骤S3416:否),则处理返回步骤S3405。另一方面,如果满足j2>J2(步骤S3416:是),则结束后向计算处理,并且处理转到步骤S3004。通过这种方式,执行向后计算处理,直到到达最高级别的父元素为止。
图35是后验概率计算处理中的具体过程的流程图。首先,将父元素号i1设定为i1=0(步骤S3501),将其字符串号j1设定为j1=0(步骤S3502),将候选单词号k1设定为k1=0(步骤S3503)。然后,读取父元素Ei1的子元素Ei2的子元素号i2(步骤S3504)。接下来,将该子元素Ei2的字符串号j2设定为j2=0(步骤S3505),将子元素Ei2的候选单词号k2设定为k2=0(步骤S3506)。
使用公式14到17,来计算与父元素号i1、字符串号j1和候选单词号k1相关的后验概率pp1(i1,j1,k1)(步骤3507)。
此后,使子元素Ei2的候选单词号k2递增(步骤S3508),判断是否满足候选单词号k2>K2(步骤S3509)。K2是子元素Ei2的字符串号j2的候选单词的数量。
如果不满足k2>K2(步骤S3509:否),则处理返回步骤S3507。另一方面,如果满足k2>K2(步骤S3509:是),则使子元素Ei2的字符串号j2递增(步骤S3510)。然后,判断是否满足字符串号j2>J2(步骤S3511)。J2是子元素Ei2的对应字符串的数量。
如果不满足j2>J2(步骤S3511:否),则处理返回步骤S3506。另一方面,如果满足j2>J2(步骤S3511:是),则使子元素号i2递增(步骤S3512),判断是否满足i2>I2(步骤S3513)。I2是子元素Ei2的元素的数量。
如果不满足i2>I2(步骤S3513:否),则处理返回步骤S3505。另一方面,如果满足i2>I2(步骤S3513:是),则使父元素Ei1的候选单词号k1递增(步骤S3514),判断是否满足候选单词号k1>K1(步骤S3515)。K1是父元素Ei1的字符串号j1的候选单词的数量。
如果不满足k1>K1(步骤S3515:否),则处理返回步骤S3504。另一方面,如果满足k1>K1(步骤S3515:是),则使父元素Ei1的字符串号j1递增(步骤S3516),判断是否满足字符串号j1>J1(步骤S3517)。J1是父元素Ei1的对应字符串的数量。
如果不满足j1>J1(步骤S3517:否),则处理返回步骤S3503。另一方面,如果满足j1>J1(步骤S3517:是),则执行后验概率归一化处理(步骤S3518)。后面将说明该处理。
然后,使父元素Ei1的元素号i1递增(步骤S3519),判断是否满足父元素号i1>I1(步骤S3520)。I1是父元素Ei1的元素的数量。
如果不满足i1>I1(步骤S3520:否),则处理返回步骤S3502。另一方面,如果满足i1>I1(步骤S3520:是),则结束后验概率计算处理,并且处理转到单词确定处理(步骤S1407)。
图36是后验概率归一化处理的过程的流程图。首先,将父元素Ei1的字符串号j1设定为j1=0(步骤S3601),将其候选单词号k1设定为k1=0(步骤S3602)。
然后,读出并归一化在步骤S3507计算的后验概率pp1(i1,j1,k1)(步骤S3603)。通过将所读取的后验概率pp1(i1,j1,k1)除以元素Ei1内的所有后验概率pp1的总和来进行归一化。归一化后验概率pp1在下文中被称为后验概率ppn1。
接下来,使父元素Ei1的候选单词号k1递增(步骤S3604),判断是否满足候选单词号k1>K1(步骤S3605)。K1是父元素Ei1的字符串号j1的候选单词的数量。
如果不满足k1>K1(步骤S3605:否),则处理返回步骤S3603。另一方面,如果满足k1>K1(步骤S3605:是),则使父元素Ei1的字符串号j1递增(步骤S3606),判断是否满足字符串号j1>J1(步骤S3607)。这里,J1是父元素Ei1的对应字符串的数量。
如果不满足j1>J1(步骤S3607:否),则处理返回步骤S3602。另一方面,如果满足j1>J1(步骤S3607:是),则结束后验概率归一化处理,并且处理转到步骤S3519。
确定单元1305根据在评价单元1404获得的概率来确定单词。确定单元1305将给出最高概率的候选单词输出到所有元素当中的具有给出最高概率的候选单词的元素,作为所确定的单词。作为另一种选择,可以确定具有高于特定阈值的概率的候选单词作为所确定的单词。
此外,可以同时在同一元素中存储一个以上的候选单词。在这种情况下,由于具有所确定元素的其它候选单词不作为相同元素存在,因此其出现概率应当是0或很小的值。此外,当一元素具有其字符串与这些候选单词的字符串重叠的候选单词时,该元素的该候选单词的出现概率应当是0或很小的值。
为了简化,假定系统具有与支付日期和数据的标题相关的一般逻辑结构,候选提取单元1301提取“支付日期”作为标题元素的候选单词,并且其出现概率是a。还假定同样提取“2006.8.1”和“2006.10.1”作为数据的候选单词,并且其出现概率是b。
从候选单词“交付日期”到候选单词“2006.8.1”的迁移概率被给定为0.4,到候选单词“2006.10.1”的迁移概率被给定0.2。然后,计算后验概率pp1作为对该数据元素的各个字符串的可信度。候选单词“2006.8.1”的后验概率是66%,候选单词“2006.10.1”的后验概率是33%。因此,要选择的候选单词是“2006.8.1”。
作为要在确定候选单词时使用的量,一个是后验概率pp1,另一个是后验概率pp2,表示作为候选单词给出的字符串属于哪些元素。参照这两个量中的至少任意一个来确定候选单词。
在后验概率pp2的计算中,仅提取各个元素中给出最大后验概率的候选单词,并确认其重叠关系。对于重叠字符串,根据包围各个候选单词的最小矩形,向矩形重叠的候选单词赋予序号作为重叠单词。当该重叠单词号被表示为s时,计算各个字符串的后验概率pp2。后验概率pp2由公式24到26表示。
pp2(i(s),j(s),k(s))=pp21(i(s),j(s),k(s))/pp22(s)    …(24)
pp21(i(s),j(s),k(s))=sum_j′sum_k′pf(i′,j′,k′)×p4(i′,i,j′,j,k′,k)×pb(i,j,k)
…(25)
pp22(i)=sum_s sum_j′sum_k′pf(i′(s),j′(s),k′(s))×p4(i′,i,j′,j,k′,k)×pb(i,j,k)
…(26)
由于重叠元素当中的给出最大后验概率pp2的元素是字符串的候选单词的最适合元素,因此当给出最大后验概率pp1的候选单词与给出最大后验概率pp2的单词匹配时,确定该字符串。
在计算后验概率pp2之前,对于各个候选单词检测给出最大后验概率的元素。例如,如图29所示,候选单词“FULL NAME”是元素E0的候选单词,同时,是元素E3的候选单词。虽然在元素E0中后验概率pp1是pp1=0.946,但是在元素E3中后验概率pp1是pp1=0.0。
这样,候选单词“FULL NAME”在元素E0和元素E3中重叠,从而计算后验概率pp2以了解哪个元素更合适。参照图29,元素E0中的候选单词“FULL NAME”的概率pb是pb=0.0144,元素E3中的相同候选单词的概率pf=0.0。
在这种情况下,如下计算对于元素E0的后验概率pp2。
pp2=pb/(pf+pb)=0.0144/(0.0144+0.0)=100%
另一方面,如下计算对于元素E3的后验概率pp2。
pp2=pf/(pf+pb)=0.0/(0.0144+0.0)=0%
在两个后验概率pp2的比较中,由于元素E0的后验概率pp2较大,所以确定候选单词“FULL NAME”为元素E0的字符串。
在该比较处理中,对于所有元素号i、字符串号j和候选单词号k进行相同的操作,并且通过最高后验概率pp1和pp2来确定候选单词,将重复处理结束设定为1。作为另一种选择,确定所有候选单词,并将重复处理结束设定为1。如果重复处理结束是0,则结束该处理,并且将存在于确定标记中的候选单词用作所确定的字符串。在其它情况下,进行以下概率重写处理。
在概率重写处理中,对于具有最大后验概率pp2的元素以外的其余元素,将后验概率pp1强制重写为pp1=0。在以上示例中,候选单词“FULLNAME”不适合作为元素E0以外的任何元素的候选单词,因此,当候选单词“FULL NAME”是另一元素的候选单词时,将出现概率p3’重写为p3’=0。重写值不必为0,但可以是足够小而不妨碍单词确定的值。
此外,对于一元素中的除了表示最大后验概率pp2的同一元素中的候选单词以外的候选单词,将出现概率p3’强制重写为p3’=0。在以上示例中,由于元素E0中的除了表示最大后验概率pp2的元素E的候选单词“FULL NAME”以外的候选单词“(FIRST NAME)”不再适合作为元素E0的候选单词,因此将其出现概率p3’=0.33强制重写为p3’=0.0。
重写值不必为0,而可以是足够小而不妨碍单词确定的值。在图37中示出了出现概率p3’的强制转换之后的候选单词表。图37是出现概率p3’的强制转换之后的第四候选单词表的示意图。
这样,通过将所确定的候选单词以外的候选单词的出现概率p3’强制重写为0,而与元素Ei的层无关,可以实现候选单词的有效缩减。通过由确定单元1305重复执行该处理,当对候选单词产生字符识别错误并且出现概率对于该候选单词变低时,可以进行逐步确定。通过该处理,可以通过后续的重复来确定错误和二义性的字符串。因此,可以有效并高准确性地从较少候选单词中确定候选单词。
图38是图14中所示的由确定单元1305进行的单词确定处理的流程图。首先,执行比较处理(步骤S3802)。接下来,判断是否重复处理结束标记=1(步骤S3802)。如果不满足重复处理结束标记=1(步骤S3802:否),则执行概率重写处理(步骤S3803)。另一方面,如果重复处理结束标记=1(步骤S3802:是),则结束单词确定处理。
图39是图38中所示的比较处理中的具体过程的流程图(步骤S3801)。首先,将重复处理结束标记设定为标记=1(步骤S3901),将父元素号i1设定为i1=0(步骤S3902)。当父元素Ei1内的最大后验概率pp1被表示为pmax(i1)时,将最大后验概率pmax(i1)设定为pmax(i1)=0(步骤S3903)。
将父元素Ei的字符串号j1设定为j1=0(步骤S3904),将其候选单词号k1设定为k1=0(步骤S3905)。然后,判断是否满足归一化后验概率ppn1(i1,j1,k1)≥pmax(i1)(步骤S3906)。
如果满足ppn1(i1,j1,k1)≥pmax(i1)(步骤S3906:是),则最大字符串号jmax由当前字符串号j1替代(jmax=j1)(步骤S3907),最大候选单词号kmax由当前候选单词号k1替代(kmax=k1)(步骤S3908),并且最大文本号tmax由赋予当前候选单词号k1的文本号t替代(步骤S3909),并且处理转到步骤S3910。
另一方面,如果不满足ppn1(i1,j1,k1)≥pmax(i1)(步骤S3906:否),则处理转到步骤S3910。然后,使候选单词号k1递增(步骤S3910),判断是否满足候选单词号k1>K1(步骤S3911)。K1是父元素Ei1的字符串号j1的候选单词的数量。
如果不满足k1>K1(步骤S3911:否),则处理返回步骤S3906。另一方面,如果满足k1>K1(步骤S3911:是),则使父元素Ei1的字符串号j1递增(步骤S3912),判断是否满足字符串号j1>J1(步骤S3913)。J1是父元素Ei1的对应字符串的数量。
如果不满足j1>J1(步骤S3913:否),则处理返回步骤S3905。另一方面,如果满足j1>J1(步骤S3913:是),则执行比较计算处理(步骤S3914)。
然后,使父元素Ei1的元素号i1递增(步骤S3915),判断是否满足父元素号i1>I1(步骤S3916)。I1是父元素Ei1的父元素的数量。如果不满足i1>I1(步骤S3916:否),则处理返回步骤S3903。另一方面,如果满足i1>I1(步骤S3916:是),则处理转到步骤S3802。
图40是图39所示的比较计算处理(步骤S3914)的流程图。该流程图表示在图39的步骤S3909中具有作为最大文本号tmax的文本号t的父元素Ei1的候选单词Wk与其重叠候选单词的比较计算的过程。
首先,将重叠子元素的重叠候选号设定为s=0(步骤S4001)。接下来,将赋予了重叠候选号s的子元素Ei2的元素号表示为i2(s)(步骤S4002)。将重叠子元素Ei1表示为重叠元素Ei2(s)。
将重叠元素Ei2(s)的重叠字符串号表示为j2(s)(步骤S4003),并将其重叠候选单词号表示为k2(s)(步骤S4004)。然后,读出此时的归一化后验概率ppn1(i2(s),j2(s),k2(s))(步骤S4005)。
此后,使重叠候选号s递增(步骤S4006),判断是否满足重叠候选号s>S(步骤S4007)。这里,S是重叠元素的数量。如果不满足s>S(步骤S4007:否),则处理返回步骤S4002。另一方面,如果满足s>S(步骤S4007:是),则将重叠号s设定为s=0(步骤S4008)。
通过执行步骤S4001到S4007的一系列处理,可以读取重叠元素Ei2(s)的所有后验概率ppn1(i2(s),j2(s),k2(s))。
在步骤S4008之后,计算后验概率ppn1(i2(s),j2(s),k2(s))的后验概率pp2(s)(步骤S4009)。此后,使重叠候选号s递增(步骤S4010),判断是否满足重叠候选号s>S(步骤S4011)。如果不满足s>S(步骤S4011:否),则处理返回步骤S4009。
另一方面,如果满足s>S(步骤S4011:是),则处理返回步骤S4012。通过执行步骤S4008到步骤S4011的处理,可以计算重叠元素Ei2(s)的所有后验概率ppn1(i2(s),j2(s),k2(s))的后验概率pp2(s)的计算。
然后,判断后验概率pp2(s)的最大值是否是在图39的步骤S3909中具有作为最大文本号tmax的文本号t的父元素Ei1的候选单词Wk1的后验概率pp2(i1,j1,k1)。
如果其不是候选单词Wk1的后验概率pp2(i1,j1,k1)(步骤S4012:否),则结束比较计算处理。另一方面,如果其是候选单词Wk1的后验概率pp2(i1,j1,k1)(步骤S4012:是),则将重复处理结束设定为flag=0(步骤S4013),将信息(i1,j1,k1,t)存储在确定表q中(步骤S4014)。
然后,使确定表号q递增(步骤S4015),结束比较计算处理,并且处理转到步骤S3915。这样,可以将识别当候选单词重叠时被赋予优先级的候选单词的信息(i1,j1,k1,t)存储在确定表q中。
图41是在图38的步骤S3803所示的概率重写处理中的具体过程的流程图。首先,将确定表号q设定为q=0(步骤S4101)。读取确定表q的元素号i1、字符串号j1以及候选单词号k1(步骤S4102到S4104)。
然后,将子元素Ei2的元素号i2设定为i2=i1(步骤S4105),将其字符串号j2设定为j2=0(步骤S4106),将候选单词号k2设定为k2=0(步骤S4107)。然后,判断父元素号Ei1的字符串号j1是否为j1=j2,以及候选单词号k1是否为k1=k2(步骤S4108)。
如果满足j1=j2并且k1=k2(步骤S4108:是),则将子元素Ei2的字符串号j2的候选单词Wk2的出现概率p3(i2,j2,k2)强制重写为p3(i2,j2,k2)=0(步骤S4109),并且处理转到步骤S4110。另一方面,如果不满足j1=j2并且k1=k2(步骤S4108:否),则处理转到步骤S4110,而不重写出现概率p3(i2,j2,k2)。
在步骤S4110,使候选单词号k2递增,并判断是否满足k2>K2(步骤S4111)。K2是子元素Ei2的字符串号j2的候选单词的数量。
如果不满足k2>K2(步骤S4111:否),则处理返回步骤S4107。另一方面,如果满足k2>K2(步骤S4111:是),则使子元素Ei2的字符串号k2递增(步骤S4112),判断是否满足字符串号j2>J2(步骤S4113)。J2是子元素Wi2的对应字符串的数量。如果不满足j2>J2(步骤S4113:否),则处理返回步骤S4106。
通过执行步骤S4102到步骤S4113的处理,可以将相同元素p3中的出现概率低的其它候选单词的出现概率p3强制重写为p3=0。
另一方面,如果满足j2>J2(步骤S4113:是),则读取候选单词Wk1的当前文本号t(步骤S4114)。接下来,将重叠子元素Ei2的重叠候选号s设定为s=0(步骤S4115)。然后,将赋予了重叠号s的子元素Ei2的元素号表示为i2(s)(步骤S4116)。将重叠子元素Ei2表示为重叠元素Ei2(s)。
将重叠元素Ei2(s)的重叠字符串号表示为j2(s)(步骤S4117),并将其重叠候选单词号表示为k2(s)(步骤S4118)。然后,将该后选单词Wk2(s)的出现概率p3(i2(s),j2(s),k2(s))强制重写为p3(i2(s),j2(s),k2(s))=0(步骤S4119)。
此后,使重叠候选号s递增(步骤S4120),判断是否满足重叠候选号s>S(步骤S4121)。S是重叠元素的数量。如果不满足s>S(步骤S4121:否),则处理返回步骤S4116。
另一方面,如果满足s>S(步骤S4121:是),则使确定表号q递增(步骤S4122),判断是否满足q>Q(步骤S4123)。Q是确定表的数量。如果不满足q>Q(步骤S4123:否),则处理返回步骤S4102。另一方面,如果满足q>Q(步骤S4123:是),则结束概率重写处理。
如上所述,根据以上实施例,使用分层的一般逻辑结构,可以自动地识别从包含多个相同或相似字符串的非结构化文件或帐票文件图像获得的字符串信息中的标题和数据,并将字符串与逻辑结构的相关元素相关联。
通过基于单元对表内部的测量值进行数字化,可以对稳定的表内的单词之间的关系进行数字化。而且,空字符串的引入使得能够响应于丢失的逻辑元素而进行逻辑结构识别。
此外,可以通过使用与所确定的标题中的子标题和数据的可信度有关的信息,以及与所确定的子标题中的标题和数据的可信度有关的信息,来实现稳定的识别。此外,可以根据评价值来进行字符串与逻辑元素的相关,而与逻辑元素的高级别或低级别无关。因此,即使在上层元素中存在二义性字符串,也可以通过提供适合概率将该字符串识别为属于下层元素。
即使将相同字符串用于多个标题,也可以通过参照作为与该逻辑元素相对应的子元素存在的数据(字符串)对该逻辑元素的适应性程度,来确定标题与哪个逻辑元素相对应。
当多个逻辑元素获得一个字符串作为候选单词时,通过确定该字符串属于这些逻辑元素中的一个,来从这些逻辑元素中的另一个的候选中排除该字符串。通过这种方式,可以逐渐地减少候选单词。
如上所述,以根据本发明实施例的帐票处理程序、记录介质、帐票处理装置和帐票处理方法,可以高准确度地实现对于在逻辑元素之间具有一致性的帐票文件的结构的自动识别。
可以通过执行在诸如个人计算机和工作站的计算机上提前准备的程序,来实现本发明实施例中说明的帐票处理方法。该程序被记录在诸如HD、FD、CD-ROM、MO和DVD的计算机可读记录介质中,并通过计算机从该记录介质读出该程序来执行。该程序可以是可以通过诸如互联网的网络来发布的传输介质的形式。
根据如上所述的实施例,可以高准确度地实现对于在逻辑元素之间具有一致性的帐票文件的结构的自动识别。
尽管为了完整和清楚的公开,已针对具体实施例对本发明进行了说明,但是所附权利要求并非由此受到限制,而是要被理解为实现涵盖本领域的技术人员可以想到的落入在此阐述的基本教导内的所有修改和另选构造。
本申请基于2006年7月31日提交的在先日本专利申请No.2006-209065,并要求其优先权,在此通过引用并入其全部内容。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈