1.本发明涉及计算机软件应用技术领域,特别是涉及一种识别版记的方法、装置、电子设备及存储介质。
背景技术:2.目前,用户在使用文档编辑软件对文档进行编辑时,可能需要编辑部分排版格式固定的文档。例如,行政公文。在行政公文中,对于版记的内容存在固定的排版格式,例如,版记中的主题词需要用3号黑体字,居左顶格标识,后标全角冒号,词目用3号小标宋体字。
3.用户针对文档中的具有固定排版格式的内容,例如版记,往往需要手动调整排版格式,不仅操作繁琐,还容易出现错误。
技术实现要素:4.本发明实施例的目的在于提供一种识别版记的方法、装置、电子设备及存储介质,以解决用户手动操作的繁琐,实现自动识别文档中版记的功能,方便自动调整版记的排版格式。具体技术方案如下所示。
5.本发明实施例提供了一种识别版记的方法,包括:
6.获取待识别文档;
7.遍历所述待识别文档的段落,将包含关键字符集合中任一关键字符的段落确定为版记内容,并确定所述版记内容对应的版记类型;
8.收集所述待识别文档中确定的版记内容得到版记内容集合,基于所述版记内容集合确定候选版记,其中,所述候选版记中包含所述版记内容和所述版记内容所对应的版记类型,所述候选版记为至少一个,所述版记内容为一个或者多个;
9.遍历所述候选版记,并判断所述候选版记中版记内容所对应的版记类型,是否为预设版记类型;
10.如果是所述预设版记类型,则将所述候选版记确定为所述待识别文档的版记。
11.可选地,所述确定所述版记内容对应的版记类型,包括:
12.根据所述版记内容包含的关键字符确定段落初始版记类型,其中,所述段落初始版记类型是与所述版记内容一一对应的版记类型,所述关键字符集合中任一关键字符对应于一个版记类型。
13.可选地,在确定所述版记内容对应的版记类型之后,收集所述待识别文档中确定的版记内容得到版记内容集合之前,所述方法还包括:
14.再次遍历所述待识别文档的段落,根据预设段落规则确定当前遍历的段落对应的段落备选版记类型。
15.可选地,所述根据预设段落规则确定当前遍历的段落对应的段落备选版记类型,包括:
16.基于所述当前遍历的段落与上一段落的段落初始版记类型确定情况,根据所述预
设段落规则确定所述当前遍历的段落对应的段落备选版记类型。
17.可选地,所述根据所述预设段落规则确定所述当前遍历的段落对应的段落备选版记类型,包括:
18.在所述当前遍历的段落对应的段落初始版记类型为第一目标版记类型的情况下,将所述当前遍历的段落对应的段落初始版记类型,确定为所述当前遍历的段落对应的段落备选版记类型;
19.在所述当前遍历的段落没有被确定为版记内容,且所述上一段落对应的段落初始版记类型为第二目标版记类型的情况下,将所述上一段落对应的段落初始版记类型,确定为所述当前遍历的段落对应的段落备选版记类型;
20.在所述当前遍历的段落对应的段落初始版记类型为第三目标版记类型,且所述上一段落对应的段落初始版记类型为所述第二目标版记类型的情况下,将第四目标版记类型,确定为所述当前遍历的段落对应的段落备选版记类型。
21.可选地,在获取待识别文档之后,收集所述待识别文档中确定的版记内容得到版记内容集合之前,所述方法还包括:
22.遍历所述待识别文档的表格中的表格行内容,将包含所述关键字符集合中任一关键字符的表格行内容确定为版记内容,并针对被确定为版记内容的表格行内容确定对应的版记类型。
23.可选地,所述针对被确定为版记内容的表格行内容确定对应的版记类型,包括:
24.根据所述被确定为版记内容的表格行内容包含的关键字符,确定表格初始版记类型,其中,所述表格初始版记类型是与所述被确定为版记内容的表格行内容一一对应的版记类型;所述关键字符集合中任一关键字符对应于一个版记类型。
25.可选地,在针对被确定为版记内容的表格行内容确定对应的版记类型之后,收集所述待识别文档中确定的版记内容得到版记内容集合之前,所述方法还包括:
26.再次遍历所述待识别文档的表格,根据预设表格规则确定当前遍历的表格中表格行内容对应的表格备选版记类型。
27.可选地,所述根据预设表格规则确定当前遍历的表格中表格行内容对应的表格备选版记类型,包括:
28.针对所述当前遍历的表格,遍历所述表格中的表格行内容,判断当前遍历的表格行内容是否符合预设表格行要求;
29.在所述当前遍历的表格行内容符合所述预设表格行要求的情况下,将所述当前遍历的表格行内容对应的表格初始版记类型,标记为所述当前遍历的表格行内容对应的表格备选版记类型。
30.可选地,所述方法还包括:
31.在所述当前遍历的表格行内容不符合所述预设表格行要求的情况下,将所述当前遍历的表格中的全部表格行内容的标记清除,并直接遍历下一表格。
32.可选地,所述判断当前遍历的表格行内容是否符合预设表格行要求,包括:
33.在所述当前遍历的表格行内容包含版记内容,且上一表格行内容和下一表格行内容都包含版记内容的情况下,确定所述当前遍历的表格行内容符合预设表格行要求;或者
34.在所述当前遍历的表格行内容包含版记内容,所述上一表格行内容包含版记内
容,并且不存在所述下一表格行内容的情况下,确定所述当前遍历的表格行内容符合所述预设表格行要求。
35.可选地,所述根据预设表格规则确定当前遍历的表格中表格行内容对应的表格备选版记类型,包括:
36.基于所述当前遍历的表格中表格行内容的版记内容确定情况,根据预设表格规则确定所述当前遍历的表格是否包含版记内容;
37.在所述当前遍历的表格包含版记内容的情况下,将所述当前遍历的表格中表格行内容对应的表格初始版记类型,确定为所述表格行内容对应的表格备选版记类型;在所述当前遍历的表格不包含版记内容的情况下,确定所述当前遍历的表格中任一表格行内容不为版记内容。
38.可选地,所述根据预设表格规则确定所述当前遍历的表格是否包含版记内容,包括:
39.在所述当前遍历的表格中的表格行内容都被确定为版记内容的情况下,确定所述当前遍历的表格包含版记内容;
40.在所述当前遍历的表格中任一表格行内容未被确定为版记内容的情况下,确定所述当前遍历的表格不包含版记内容。
41.可选地,所述基于所述版记内容集合确定候选版记,包括:
42.根据版记内容在所述待识别文档的位置,按照从前到后的顺序,遍历所述版记内容集合中的版记内容;
43.在当前遍历的版记内容,与上一个版记内容满足预设合并条件的情况下,确定所述当前遍历的版记内容与所述上一个版记内容包含在同一候选版记中;在所述当前遍历的版记内容,与所述上一个版记内容不满足所述预设合并条件的情况下,确定所述当前遍历的版记内容与所述上一个版记内容分别包含在不同的候选版记中。
44.可选地,所述预设合并条件包括:
45.两个版记内容之间不存在其他内容;或者
46.两个版记内容之间包括空白段落和/或用于表征横线符号的内容。
47.可选地,所述方法还包括:
48.如果所述候选版记中版记内容所对应的版记类型不是预设版记类型,从所述版记内容集合中删除所述候选版记包含的版记内容。
49.本发明实施例还提供了一种识别版记的装置,包括:
50.获取模块,用于获取待识别文档;
51.段落遍历模块,用于遍历所述待识别文档的段落,将包含关键字符集合中任一关键字符的段落确定为版记内容,并确定所述版记内容对应的版记类型;
52.收集模块,用于收集所述待识别文档中确定的版记内容得到版记内容集合,基于所述版记内容集合确定候选版记,其中,所述候选版记中包含所述版记内容和所述版记内容所对应的版记类型,所述候选版记为至少一个,所述版记内容为一个或者多个;
53.确定模块,用于遍历所述候选版记,并判断所述候选版记中版记内容所对应的版记类型,是否为预设版记类型;如果是预设版记类型,则将所述候选版记确定为所述待识别文档的版记。
54.可选地,所述段落遍历模块,包括:
55.段落初始子模块,用于根据所述版记内容包含的关键字符确定段落初始版记类型,其中,所述段落初始版记类型是与所述版记内容一一对应的版记类型,所述关键字符集合中任一关键字符对应于一个版记类型。
56.可选地,所述装置还包括:
57.段落备选模块,用于再次遍历所述待识别文档的段落,根据预设段落规则确定当前遍历的段落对应的段落备选版记类型。
58.可选地,所述段落备选模块,包括:
59.段落规则子模块,用于基于所述当前遍历的段落与上一段落的段落初始版记类型确定情况,根据所述预设段落规则确定所述当前遍历的段落对应的段落备选版记类型。
60.可选地,所述段落规则子模块,用于:
61.在所述当前遍历的段落对应的段落初始版记类型为第一目标版记类型的情况下,将所述当前遍历的段落对应的段落初始版记类型,确定为所述当前遍历的段落对应的段落备选版记类型;
62.在所述当前遍历的段落没有被确定为版记内容,且所述上一段落对应的段落初始版记类型为第二目标版记类型的情况下,将所述上一段落对应的段落初始版记类型,确定为所述当前遍历的段落对应的段落备选版记类型;
63.在所述当前遍历的段落对应的段落初始版记类型为第三目标版记类型,且所述上一段落对应的段落初始版记类型为所述第二目标版记类型的情况下,将第四目标版记类型,确定为所述当前遍历的段落对应的段落备选版记类型。
64.可选地,所述装置还包括:
65.表格遍历模块,用于遍历所述待识别文档的表格中的表格行内容,将包含所述关键字符集合中任一关键字符的表格行内容确定为版记内容,并针对被确定为版记内容的表格行内容确定对应的版记类型。
66.可选地,所述表格遍历模块,包括:
67.表格初始子模块,用于根据所述被确定为版记内容的表格行内容包含的关键字符,确定表格初始版记类型,其中,所述表格初始版记类型是与所述被确定为版记内容的表格行内容一一对应的版记类型;所述关键字符集合中任一关键字符对应于一个版记类型。
68.可选地,所述装置还包括:
69.表格备选子模块,用于再次遍历所述待识别文档的表格,根据预设表格规则确定当前遍历的表格中表格行内容对应的表格备选版记类型。
70.可选地,所述表格备选子模块,包括:
71.表格判断子模块,用于针对所述当前遍历的表格,遍历所述表格中的表格行内容,判断当前遍历的表格行内容是否符合预设表格行要求;
72.表格标记子模块,用于在所述当前遍历的表格行内容符合所述预设表格行要求的情况下,将所述当前遍历的表格行内容对应的表格初始版记类型,标记为所述当前遍历的表格行内容对应的表格备选版记类型。
73.可选地,所述表格备选子模块还包括:
74.表格清除子模块,用于在所述当前遍历的表格行内容不符合所述预设表格行要求
的情况下,将所述当前遍历的表格中的全部表格行内容的标记清除,并直接遍历下一表格。
75.可选地,所述表格判断子模块,用于:
76.在所述当前遍历的表格行内容包含版记内容,且上一表格行内容和下一表格行内容都包含版记内容的情况下,确定所述当前遍历的表格行内容符合所述预设表格行要求;或者
77.在所述当前遍历的表格行内容包含版记内容,所述上一表格行内容包含版记内容,并且不存在所述下一表格行内容的情况下,确定所述当前遍历的表格行内容符合所述预设表格行要求。
78.可选地,所述表格备选子模块,包括:
79.内容确定子模块,用于基于所述当前遍历的表格中表格行内容的版记内容确定情况,根据预设表格规则确定所述当前遍历的表格是否包含版记内容;
80.类型确定子模块,用于在所述当前遍历的表格包含版记内容的情况下,将所述当前遍历的表格中表格行内容对应的表格初始版记类型,确定为所述表格行内容对应的表格备选版记类型;在所述当前遍历的表格不包含版记内容的情况下,确定所述当前遍历的表格中任一表格行内容不为版记内容。
81.可选地,所述内容确定子模块,用于:
82.在所述当前遍历的表格中的表格行内容都被确定为版记内容的情况下,确定所述当前遍历的表格包含版记内容;
83.在所述当前遍历的表格中任一表格行内容未被确定为版记内容的情况下,确定所述当前遍历的表格不包含版记内容。
84.可选地,所述收集模块,包括:
85.位置遍历子模块,用于根据版记内容在所述待识别文档的位置,按照从前到后的顺序,遍历所述版记内容集合中的版记内容;
86.合并子模块,用于在当前遍历的版记内容,与上一个版记内容满足预设合并条件的情况下,确定所述当前遍历的版记内容与所述上一个版记内容包含在同一候选版记中;在所述当前遍历的版记内容,与所述上一个版记内容不满足所述预设合并条件的情况下,确定所述当前遍历的版记内容与所述上一个版记内容分别包含在不同的候选版记中。
87.可选地,所述预设合并条件包括:
88.两个版记内容之间不存在其他内容;或者
89.两个版记内容之间包括空白段落和/或用于表征横线符号的内容。
90.可选地,所述装置还包括:
91.删除模块,用于如果所述候选版记中版记内容所对应的版记类型不是预设版记类型,从所述版记内容集合中删除所述候选版记包含的版记内容。
92.本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
93.存储器,用于存放计算机程序;
94.处理器,用于执行存储器上所存放的程序时,实现上述任一所述的识别版记的方法步骤。
95.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存
储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的识别版记的方法步骤。
96.本发明实施例提供的一种识别版记的方法,可以通过利用版记的内容特征,确定出版记内容并进一步确定出版记,兼容多种用户可能编辑错误的情况,可以在复杂的文档编辑情况中,识别出多种情况下的版记。不仅可以容错,方便用户编辑和使用,还可以便于利用识别出的版记,将其自动调整为正确的排版格式,方便用户操作,提高用户体验。
97.当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
98.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
99.图1是本发明实施例提供的一种版记编辑示例的示意图;
100.图2是本发明实施例提供的一种版记正确排版示例的示意图;
101.图3是本发明实施例提供的一种版记错误排版示例的示意图;
102.图4是本发明实施例提供的一种识别版记的方法的流程示意图;
103.图5是本发明实施例提供的一种识别版记的方法中文档交互的原理示意图;
104.图6是本发明实施例提供的另一种识别版记的方法流程图;
105.图7是本发明实施例提供的一种待识别版记的示意图;
106.图8是本发明实施例提供的另一种待识别版记的示意图;
107.图9是本发明实施例提供的一种识别版记的装置的结构示意图;
108.图10是本发明实施例提供的一种电子设备的结构图。
具体实施方式
109.为了使本领域技术人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于公开的范围。
110.目前,用户在使用文档编辑软件对文档进行编辑时,可能需要编辑部分排版格式固定的文档。例如,行政公文。
111.行政公文中,对于版记的内容存在固定的排版格式,本说明书并不限定具体的格式规定。下面两种国家规范规定用于示例性说明。
112.规定一。
113.版记中的主题词用3号黑体字,居左顶格标识,后标全角冒号,词目用3号小标宋体字;词目之间空1字。
114.针对版记中的抄送,公文如有抄送,在主题词下一行;左空1字用3号仿宋体字标识“抄送”,后标全角冒号;回行时与冒号后的抄送机关对齐;在最后一个抄送机关后标句号。
115.如主送机关名称过多而使公文首页不能显示正文时,应将主送机关名称移至版记中的主题词之下、抄送之上,标识方法同抄送。
116.针对版记中的印发机关和印发时间,位于抄送机关之下(无抄送机关在主题词之下)占1行位置;用3号仿宋体字。印发机关左空1字,印发时间右空1字。印发时间以公文复印的日期为准,用阿拉伯数码标识。
117.此外,版记中各要素之下均加一条反线,宽度同版心。版记应置于公文最后一页,版记的最后一个要素置于最后一行。
118.规定二。
119.针对版记中的分隔线,版记中的分隔线与版心等宽,首条分隔线和末条分隔线用粗线(推荐高度为0.35mm),中间的分隔线用细线(推荐高度为0.25mm)。首条分隔线位于版记中第一个要素之上,末条分隔线与公文最后一面的版心下边缘重合。
120.针对版记中的抄送机关,如有抄送机关,一般用4号仿宋体字,在印发机关和印发日期之上一行、左右各空一字编排。“抄送”二字后加全角冒号和抄送机关名称,回行时与冒号后的首字对齐,最后一个抄送机关名称后标句号。
121.如需把主送机关移至版记,除将“抄送”二字改为“主送”外,编排方法同抄送机关。既有主送机关又有抄送机关时,应当将主送机关置于抄送机关之上一行,之间不加分隔线。
122.针对版记中的印发机关和印发日期,印发机关和印发日期一般用4号仿宋体字,编排在末条分隔线之上,印发机关左空一字,印发日期右空一字,用阿拉伯数字将年、月、日标全,年份应标全称,月、日不编虚位(即1不编为01),后加“印发”二字。
123.版记中如有其他要素,应当将其与印发机关和印发日期用一条细分隔线隔开。
124.针对版记中的页码,一般用4号半角宋体阿拉伯数字,编排在公文版心下边缘之下,数字左右各放一条一字线;一字线上距版心下边缘7mm。单页码居右空一字,双页码居左空一字。公文的版记页前有空白页的,空白页和版记页均不编排页码。公文的附件与正文一起装订时,页码应当连续编排。
125.用户在编辑文档时,通常使用正文的格式编辑版记。具体的示例如图1所示。其中,图1是本发明实施例提供的一种版记编辑示例的示意图。
126.用户针对文档中版记的内容,为了符合关于版记的规定,往往需要手动调整排版格式,不仅操作繁琐,还容易出现错误。通常需要由软件识别出版记并自动排版。但目前的文档编辑软件都不支持对版记的识别。
127.为了便于理解,如图2所示,图2是本发明实施例提供的一种版记正确排版示例的示意图。图2中是用户针对图1中编辑的版记,根据上述版记的排版格式规定而手动修改的。
128.其中,针对抄送内容,依照上述规定二,将字体调整为4号仿宋体,并在左侧空出一个字符的位置,将冒号调整为全角冒号,并增加了分隔线,使得调整后的抄送内容满足上述版记中的要求。
129.如果用户利用文档编辑软件自带的智能识别功能或者其他智能识别插件,无法识别出版记,通常会根据用户编辑版记时使用的正文格式识别出正文,并将版记调整为正文格式。
130.如图3所示,图3是本发明实施例提供的一种版记错误排版示例的示意图。图3中是用户针对图1中编辑的版记,在智能识别插件识别为正文后调整的排版。
131.其中,抄送左侧空出了2个字符,并且没有调整字体,也没有增加反线,回行的内容也没有与冒号后的抄送机关对齐,显然不符合正确的版记排版格式。
132.为了解决上述问题,本发明提供了一种识别版记的方法。该方法具体可以应用在文档编辑软件上,也可以应用在其他软件上。
133.在本发明所提供的识别版记的方法中,可以根据文档中版记的内容特征进行识别。在识别出文档中的版记后,方便进一步自动地调整为正确的排版格式,从而方便用户操作,避免出现错误。
134.下面通过具体的实施例,对本发明实施例提供的一种识别版记的方法进行详细描述。
135.在具体介绍方法之前,首先解释本方法流程所涉及的概念。
136.文档:具体可以是用户在文档编辑软件中所编辑的对象,可以由字符组成,其中可以包括至少1个段落。段落之间可以利用回车符号进行区分。
137.版记:具体可以是行政公文的组成部分之一,其中可以包括多种信息,例如,主送机关、抄送、印发日期、印发机关、印发数量、主题词、公开方式、发文日期等信息。为了便于描述,将版记中包含的不同种信息称为版记内容。
138.版记内容:由于将版记中包含的不同种信息称为版记内容,因此,版记内容可以具有多种类型。为了便于描述,将版记内容的信息类型称为版记类型。
139.例如,主题词类型的版记内容、公开方式类型的版记内容、主送机关类型的版记内容、抄送机关类型的版记内容、印发机关类型的版记内容、印发日期类型的版记内容、印发份数类型的版记内容、或者其他版记信息类型的版记内容。
140.其中,其他版记信息具体可以是在合规的版记格式之外增加的版记相关信息,例如,校对人员信息、核稿人员信息、责任编辑信息等。
141.可选地,其他版记信息类型的版记内容,可以包括拟稿类型的版记内容、核稿类型的版记内容、校对类型的版记内容、联系类型的版记内容、初校类型的版记内容、终校类型的版记内容、打印类型的版记内容、录入类型的版记内容、责任编辑类型的版记内容、本期编辑类型的版记内容、或者承办类型的版记内容等。
142.在后续的方法流程中识别出其他版记信息类型的版记内容后,也可以进一步识别出其他版记信息类型的版记内容具体的版记类型。例如,具体的校对类型、联系类型、录入类型、核稿类型等。
143.需要注意的是,如果仅仅根据内容特征进行识别,部分版记内容容易与其他内容混淆。例如,发文日期的内容特征通常包括日期格式,而正文内容中也可能出现日期格式,如果仅根据内容特征进行识别,容易将其他非版记内容识别为版记内容。
144.因此,在具体识别版记时,可以确定出只有版记中才存在的特定版记类型的版记内容,具体可以描述为预设版记类型,从而方便基于预设版记类型的版记内容将容易混淆的版记内容区分出来。其中,预设版记类型可以为:主送机关类型、抄送机关类型和印发日期类型,这三种预设版记类型是版记符合国家公文规定的基本要求,也是版记的核心要素。
145.例如,在正常的文档编辑过程中,版记中通常需要编辑主送机关或者抄送机关或者印发日期,因此,如果在识别过程中识别出的版记中不包含预设版记类型的版记内容,则该识别出的版记很可能不是版记。
146.候选版记:在识别版记的过程中,可能将部分其他内容错误地识别为版记内容,从而导致识别出错误的版记。因此,可以暂时将识别过程中识别出的版记保存下来,其中可能包含错误的版记和正确的版记。
147.其中,错误的版记可以包括被错误识别为版记内容的其他内容,例如正文内容。而正确的版记可以包括真实的版记内容,也就是本说明书提供的一种识别版记的方法希望识别出的版记。
148.暂时保存的待识别的版记可以被描述为候选版记。
149.此外,上述版记内容和候选版记的概念仅仅是本方法流程中为了便于描述而设置的,名称本身并不能限定本方法流程的范围。
150.如图4所示,图4是本发明实施例提供的一种识别版记的方法的流程示意图。其中包括以下步骤。
151.s101:获取待识别文档。
152.可选地,待识别文档可以是任一文档,为了便于描述,将被用于识别版记的文档称为待识别文档。
153.在一种可选的实施例中,用于编辑待识别文档的电子设备可以在本地执行本方法流程,并不与其他设备进行交互。在一种具体的示例中,本方法流程可以通过文档编辑软件客户端包含的本地逻辑实现。
154.在另一种可选的实施例中,与编辑待识别文档的电子设备交互的其他电子设备也可以执行本方法流程。在一种具体的示例中,本方法流程可以通过与文档编辑软件客户端交互的服务端实现。
155.因此,在一种可选的具体实施例中,客户端可以基于用户的操作,将任一文档发送到服务端,也就是服务端接收客户端发送的待识别文档,以便于服务端识别出待识别文档中的版记,并将识别结果返回到客户端。识别结果可以是包含版记标注的文档,也可以是被识别为版记的段落标识。
156.s102:遍历待识别文档的段落,将包含关键字符集合中任一关键字符的段落确定为版记内容,并确定版记内容对应的版记类型。
157.遍历待识别文档的段落,具体可以是遍历待识别文档的每个段落。
158.在行政公文的正确格式中,不同的版记内容分别具有固定的内容格式。例如,主送机关类型的版记内容中,通常包含关键字符“主送”;抄送类型的版记内容中,通常包含关键字符“抄送”;主题词类型的版记内容中,前2个字符通常为关键字符“主题”;印发日期类型的版记内容中,通常包含符合日期格式的字符和关键字符“印发”。
159.因此,在一种可选的实施例中,关键字符集合可以包括上述“主送”、“抄送”、“主题”等关键字符,而包含关键字符集合中任一关键字符的段落可以被确定为版记内容。
160.而用户在编辑文档时,通常会出现若干种不规范或者错误的编辑情况。例如,将“主送”错误地编辑为“主要发送”;将“印发”错误地编辑成“引发”;或者将“主题”错误地编辑为“主体”等。
161.为了便于容错,兼容多种用户编辑文档时出现的不规范或错误的情况,方便用户操作,提高用户体验,在一种可选的实施例中,可以将容易编辑错误的情况对应的关键字符也添加到关键字符集合中。
162.例如,关键字符集合可以包括上述“主要发送”、“引发”、“主体”等关键字符。
163.可选地,关键字符集合可以包括表征各个版记内容的内容特征,以及可能用于表征各个版记内容的内容特征。利用关键字符集合可以简单快速地确定出待识别文档中的版记内容。
164.为了便于理解,下面给出一种关键字符集合的具体示例。
165.关键字符集合可以包括:{“主送”,“主要发送”,“抄送”,“印发”,“年”,“月”,“日”,“公开”,“公开方式”,“公开方法”,“主题”,“主题词”,“主体”,“印”,“印制”,“共印”,“拟稿”,“核稿”,“校对”,“联系”,“初校”,“终校”,“打印”,“录入”,“责任”,“本期”,“编辑”}。
166.当然,除了关键字符集合,可选地,还可以针对各个类型的版记内容进行更细致地识别,提高版记内容识别的准确率。例如,使用正则表达式进行识别。具体可以利用正则表达式识别日期格式等。
167.需要说明的是,所确定的版记内容中可能存在错误的版记内容。例如,错误地将正文中包含日期信息的一个段落确定为发文日期类型的版记内容;或者错误地将正文中包含“主体”关键字符的一个段落确定为主题词类型的版记内容。而这些错误的版记内容可以在之后针对候选版记进行筛选的过程中剔除。
168.在确定出版记内容之后,可以进一步确定版记内容对应的版记类型。
169.在一种可选的实施例中,具体确定版记内容对应的版记类型,可以根据版记内容包含的关键字符确定段落初始版记类型。其中,段落初始版记类型可以是与版记内容一一对应的版记类型,关键字符集合中任一关键字符对应于一个版记类型。
170.可选地,具体可以是针对版记内容,将版记内容包含的关键字符对应的版记类型,确定为该版记内容的段落初始版记类型。
171.其中,段落初始版记类型可以是在识别版记的过程中,第一次临时针对段落确定的版记类型,并不是最终确定的版记类型。
172.可选地,关键字符集合中任一关键字符可以对应于一个版记类型。
173.例如,关键字符“主送”可以对应于主送机关类型,关键字符“抄送”可以对应于抄送机关类型,关键字符“印发”可以对应于印发日期类型。
174.当然,关键字符集合中可以存在对应于相同版记类型的多个关键字符。
175.例如,关键字符“主要发送”和“主送”都可以对应于主送机关类型,关键字符“校对”,“联系”,“初校”和“终校”都可以对应于其他版记信息类型。
176.显然,根据版记内容所包含的关键字符,可以确定出版记内容的段落初始版记类型。
177.当然,在其他可选的实施例中,还可以使用其他方法确定段落初始版记类型。例如,针对每种版记类型确定对应的正则表达式,在某一版记内容符合任一正则表达式的情况下,正则表达式中设置有每种版记类型所对应的关键字符,可以将所符合的正则表达式对应的版记类型确定为版记内容的段落初始版记类型。
178.在本实施例中,确定出版记内容的段落初始版记类型可以方便后续针对候选版记的筛选,同时由于版记中不同版记类型的版记内容通常存在不同的排版格式,因此,确定版记内容的段落初始版记类型也可以方便后续针对不同版记类型的版记内容的排版,提高用户体验。
179.此外,需要注意的是,由于版记内容可能被识别错误,因此,在上述实施例确定段落初始版记类型后,可以基于所确定的段落初始版记类型,再次划分确定新的版记类型进行标记,为了便于区分,将再次划分确定的版记类型称为段落备选版记类型。
180.其中,段落备选版记类型具体可以是在识别版记的过程中,临时基于段落初始版记类型所确定的版记类型。段落备选版记类型可以是第二次针对段落确定的版记类型,可以不是最终确定的版记类型。
181.通过两次划分得到段落备选版记类型,可以提高版记内容对应的版记类型的识别准确率,也可以提高后续版记的识别准确率。
182.在一种可选的实施例中,具体确定版记内容对应的段落备选版记类型,可以是在确定版记内容对应的版记类型之后,执行s103之前,再次遍历待识别文档的段落,根据预设段落规则确定当前遍历的段落对应的段落备选版记类型。
183.结合上述确定段落初始版记类型的步骤,具体可以是根据版记内容包含的关键字符确定段落初始版记类型;之后,再次遍历待识别文档的段落,根据预设段落规则重新确定当前遍历的段落的段落的新的版记类型。此处再次遍历确定的新的版记类型就是段落备选版记类型。
184.其中,预设段落规则可以用于基于段落初始版记类型,根据常规的版记布局情况,重新针对版记内容确定段落备选版记类型。
185.其中,常规的版记布局情况例如,版记通常布局在文档的末尾,并且通常以抄送机关类型的版记内容开头,因此,通常情况下,在抄送机关类型的版记内容之后的段落通常都是版记内容;通常情况下,在抄送机关类型或者主送机关类型的版记内容之后是印发日期类型的版记内容,但印发日期类型的版记内容在编辑时,可能出现编辑错误,缺少“印发”关键字符,从而被识别为发文日期类型的版记内容。
186.因此,可选地,根据预设段落规则确定当前遍历的段落的段落备选版记类型,可以包括:基于当前遍历的段落与上一段落的段落初始版记类型确定情况,根据预设段落规则确定当前遍历的段落对应的段落备选版记类型。
187.当然,其中确定段落备选版记类型时,具体的操作可以是为版记内容增加用于表征段落备选版记类型的标记,或者记录段落标识与段落备选版记类型之间的对应关系。
188.可选地,根据预设段落规则确定当前遍历的段落的段落备选版记类型,可以包括:根据预设段落规则标记当前遍历的段落的段落备选版记类型。具体的标记可以是“版记_版记类型”。
189.相对应地,后续步骤中需要收集待识别文档中确定的版记内容得到版记内容集合,具体可以是:收集待识别文档中被标记段落备选版记类型的段落得到版记内容集合。
190.在本实施例中,通过标记段落备选版记类型,可以直观简单地确定版记内容的段落备选版记类型,并且在部分情况下,可以通过增加、修改、删除标记的方式,更新版记内容和版记内容的段落备选版记类型。
191.而针对预设段落规则,本方法流程并不限定具体的预设段落规则,下面提供三种实施例用于示例性说明。
192.实施例一:根据预设段落规则确定当前遍历的段落对应的段落备选版记类型,可以包括:在当前遍历的段落对应的段落初始版记类型为第一目标版记类型的情况下,将当
前遍历的段落对应的段落初始版记类型,确定为当前遍历的段落对应的段落备选版记类型。
193.其中,在常规的版记布局情况中,存在部分版记类型不受其他版记类型的影响或限制,这些版记类型可以被称为第一目标版记类型。因此,可以直接将段落初始版记类型确定为段落备选版记类型。
194.可选地,其中的第一目标版记类型可以包括:印发日期类型、公开方式类型、主题词类型、主送机关类型、抄送机关类型、印发份数类型等。
195.实施例二:根据预设段落规则确定当前遍历的段落对应的段落备选版记类型,可以包括:在当前遍历的段落没有被确定为版记内容,且上一段落对应的段落初始版记类型为第二目标版记类型的情况下,将上一段落对应的段落初始版记类型,确定为当前遍历的段落对应的段落备选版记类型。
196.其中,在常规的版记布局情况中,针对部分版记类型的版记内容,通常在该版记内容之后的段落也为版记内容,但可能因为内容较长被换行到下一段落,而下一段落通常会由于缺少关键字符无法被确定为版记内容。该部分的版记类型可以被称为第二目标版记类型。
197.具体的错误情况示例如下所示。
198.主送:xx国xx省xx厅、xx国xx省xx厅1部、xx国xx省xx厅2部、xx国xx省xx厅3部。
199.其中,“国xx省xx厅3部”属于下一个段落,也并不包含关键字符,无法被识别为版记内容。
200.为了便于容错,进一步方便用户编辑和使用,提高用户体验,可以将上一段落的段落初始版记类型,确定为当前遍历的段落的段落备选版记类型。具体可以将当前遍历的段落“国xx省xx厅3部”也确定为主送机关类型。
201.可选地,第二目标版记类型可以包括:主送机关类型和抄送机关类型。
202.实施例三:根据预设段落规则确定当前遍历的段落对应的段落备选版记类型,可以包括:在当前遍历的段落对应的段落初始版记类型为第三目标版记类型,且上一段落对应的段落初始版记类型为第二目标版记类型的情况下,将第四目标版记类型,确定为当前遍历的段落对应的段落备选版记类型。
203.其中,在常规的版记布局情况中,部分版记类型的版记内容之间可能是紧邻的,即部分版记类型之后通常固定存在部分版记类型。但可能由于编辑错误等情况,被识别为非版记内容或者其他错误的版记类型。因此,可以进一步针对错误的版记类型调整为段落备选版记类型。其中,第三目标版记类型可以是被识别错误的版记类型,第四目标版记类型可以是调整后的段落备选版记类型。
204.具体的错误情况示例如下所示。
205.主送:xx国xx省xx厅、xx国xx省xx厅1部、xx国xx省xx厅2部、xx国xx省xx厅3部。
206.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
202x年x月x日
207.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
202x年x月x日发文
208.其中,既包含印发日期,也包含发文日期。但由于用户编辑错误,在印发日期类型的版记内容中缺少“印发”关键字符,导致无法识别出印发日期。
209.为了便于容错,进一步方便用户编辑和使用,提高用户体验,可以将第四目标版记
类型,确定为当前遍历的段落的段落备选版记类型。具体可以将当前遍历的段落“202x年x月x日”确定为主送机关类型之后的印发日期类型,而不是发文日期类型。
210.可选地,第二目标版记类型可以包括:主送机关类型和抄送机关类型。第三目标版记类型可以包括:发文日期类型。第四目标版记类型可以包括:印发日期类型。
211.当然,预设段落规则也可以包括其他规则,并不局限于上述三种实施例。
212.除了上述针对段落的版记内容识别,由于版记中通常需要反线,因此,用户在编辑版记时,也可能在表格中编辑版记。
213.在一种可选的实施例中,除了针对段落进行版记内容识别,还可以并行地针对待识别文档中的表格进行版记内容识别,当然,也可以进一步识别出版记内容的版记类型。
214.可选地,在获取待识别文档之后,收集待识别文档中确定的版记内容得到版记内容集合之前,本方法流程还可以包括:遍历待识别文档的表格中的表格行内容,将包含关键字符集合中任一关键字符的表格行内容确定为版记内容,并针对被确定为版记内容的表格行内容确定对应的版记类型。
215.具体可以是在s101和s103之间,执行识别表格的步骤。当然,本方法流程并不限定s102与识别表格的步骤之间的次序,可以存在先后执行次序,也可以并行执行互不干扰。
216.与上述识别段落的实施例相似,可选地,针对被确定为版记内容的表格行内容确定对应的版记类型,可以包括:根据被确定为版记内容的表格行内容包含的关键字符,确定表格初始版记类型。其中,表格初始版记类型可以是与被确定为版记内容的表格行内容一一对应的版记类型;关键字符集合中任一关键字符对应于一个版记类型。
217.具体可以是针对被确定为版记内容的表格行内容,将该表格行内容包含的关键字符对应的版记类型,确定为该表格行内容的表格初始版记类型。
218.其中,表格初始版记类型可以是在识别版记的过程中,第一次临时针对表格确定的版记类型,并不是最终确定的版记类型。
219.其中,具体确定表格行内容的表格初始版记类型的方式可以参见上述识别段落的段落初始版记类型的实施例中的具体解释,此处不再赘述。
220.当然,文档中的表格也可能被识别错误,因此,在上述实施例确定表格行内容的表格初始版记类型后,可以基于所确定的表格初始版记类型,再次确定表格的新的版记类型,从而提高版记内容的版记类型的识别准确率,也提高后续版记的识别准确率。
221.在一种可选的实施例中,具体针对被确定为版记内容的表格行内容确定版记类型,可以是在针对被确定为版记内容的表格行内容确定对应的版记类型之后,执行s103之前,再次遍历待识别文档的表格,根据预设表格规则确定当前遍历的表格中表格行内容对应的表格备选版记类型。
222.结合上述确定表格初始版记类型的实施例,具体可以是根据被确定为版记内容的表格行内容包含的关键字符,确定表格初始版记类型;之后,再次遍历待识别文档的表格,根据预设表格规则重新确定当前遍历的表格中表格行内容对应的新版记类型。
223.为了便于区分,将再次遍历表格确定的表格行内容对应的新版记类型称为表格备选版记类型。
224.其中,表格备选版记类型具体可以是在识别版记的过程中,临时基于表格初始版记类型所确定的版记类型。表格备选版记类型可以是第二次针对表格确定的版记类型,可
以不是最终确定的版记类型。
225.其中,预设表格规则可以用于基于第一次确定表格行内容的表格初始版记类型,根据常规的版记布局情况,重新针对表格行内容确定表格备选版记类型。
226.可选地,常规的版记布局情况中,由于表格本身是一个整体,用户在表格中编辑版记时,通常将表格整体作为一个版记进行编辑,而不会在表格中增加非版记内容的表格行内容。即,如果表格中包含非版记内容,则表格整体并不是版记。
227.因此,再次遍历待识别文档中的表格时,可以针对当前遍历的表格,进一步遍历其中的表格行内容,确定当前遍历的表格行内容是否为版记内容。
228.可选地,可以针对当前遍历的表格,遍历当前遍历的表格中的表格行内容,判断当前遍历的表格行内容是否符合预设表格行要求。
229.其中,预设表格行要求具体可以用于判断当前遍历的表格行内容是否为版记内容。显然,如果任一表格行内容不是版记内容,则不符合常规的表格版记布局情况,从而可以将表格整体确定为非版记,即表格中的表格行内容都确定为非版记内容。
230.可选地,在当前遍历的表格行内容符合预设表格行要求的情况下,可以将当前遍历的表格行内容对应的表格初始版记类型,标记为当前遍历的表格行内容对应的表格备选版记类型。
231.其中,可以直接将第一次遍历时确定的表格初始版记类型作为表格行内容对应的表格备选版记类型。具体在确定版记类型时,可以使用标记版记类型的方式,以便于后续如果存在任一表格行内容不符合预设表格行要求,可以通过清除标记的方式,将表格识别为非版记,将表格行内容确定为非版记内容,不具备版记类型。
232.可选地,在当前遍历的表格行内容不符合预设表格行要求的情况下,可以将当前遍历的表格中的全部表格行内容的标记清除,并直接遍历下一表格。
233.显然,一旦在当前遍历的表格中发现不符合预设表格行要求的表格行内容,则可以将表格整体确定为非版记,从而直接将之前已确定版记类型的版记内容进一步确定为非版记内容,具体可以是清除之前的标记。
234.可选地,具体的预设表格行要求可以包括:判断当前遍历的表格行内容是否符合预设表格行要求,包括:在当前遍历的表格行内容包含版记内容,且上一表格行内容和下一表格行内容都包含版记内容的情况下,确定当前遍历的表格行内容符合预设表格行要求;或者在当前遍历的表格行内容包含版记内容,上一表格行内容包含版记内容,并且不存在下一表格行内容的情况下,确定当前遍历的表格行内容符合预设表格行要求。
235.进一步地,为了提高效率,还可以针对当前遍历的表格行内容进一步确定上下表格行内容是否被确定为版记内容,从而减少遍历次数。
236.可选地,预设表格行要求可以包括:当前遍历的表格行内容包含版记内容,且上一表格行内容和下一表格行内容都包含版记内容;以及当前遍历的表格行内容包含版记内容,上一表格行内容包含版记内容,并且不存在下一表格行内容。
237.相对应地,判断当前遍历的表格行内容是否符合预设表格行要求,可以包括:在当前遍历的表格行内容包含版记内容,且上一表格行内容和下一表格行内容都包含版记内容的情况下,确定当前遍历的表格行内容符合预设表格行要求;在当前遍历的表格行内容包含版记内容,上一表格行内容包含版记内容,并且不存在下一表格行内容的情况下,确定当
前遍历的表格行内容符合预设表格行要求。
238.上述实施例中,再次遍历表格时,进一步遍历表格行内容确定表格备选版记类型进行标记,并在不符合预设表格行要求时清除标记。
239.为了进一步节约计算资源,也可以在确定表格整体为版记的情况下再确定表格备选版记类型。
240.因此,在一种可选的实施例中,根据预设表格规则确定当前遍历的表格中表格行内容对应的表格备选版记类型,可以包括:基于当前遍历的表格中表格行内容的版记内容确定情况,根据预设表格规则确定当前遍历的表格是否包含版记内容。
241.在当前遍历的表格包含版记内容的情况下,将当前遍历的表格中每个表格行内容对应的表格初始版记类型,确定为该表格行内容对应的表格备选版记类型;在当前遍历的表格不包含版记内容的情况下,确定当前遍历的表格中任一表格行内容不为版记内容。
242.具体确定表格备选版记类型时,可选地,可以为表格行内容标记表格备选版记类型。
243.而确定当前遍历的表格中任一表格行内容不为版记内容,则可以确定不标记当前遍历的表格中任一表格行内容。
244.显然,本实施例中是在确定了表格整体为版记之后,才进一步确定表格备选版记类型,具体可以是通过标记的方式进行的。而如果确定表格中不包含版记内容的表格行内容,则可以确定表格中一定不存在版记内容,可以确定其中的表格行内容都不是版记内容,具体可以直接不标记其中的任一表格行内容,无需再清除标记,提高效率,节约计算资源。
245.可选地,根据预设表格规则确定当前遍历的表格是否包含版记内容,可以包括:在当前遍历的表格中的表格行内容都被确定为版记内容的情况下,确定当前遍历的表格包含版记内容。
246.在当前遍历的表格中任一表格行内容未被确定为版记内容的情况下,确定当前遍历的表格不包含版记内容。
247.此外,需要注意的是,由于表格中包含的表格行内容可以理解为表格中的段落,因此,针对段落的预设段落规则也可以适用于表格。
248.在一种可选的实施例中,预设表格规则也可以包括预设段落规则。例如,在当前遍历的表格行内容对应的表格初始版记类型为第一目标版记类型的情况下,将当前遍历的表格行内容对应的表格初始版记类型,确定为当前遍历的表格行内容对应的表格备选版记类型。
249.在当前遍历的表格行内容没有被确定为版记内容,且上一表格行内容对应的表格初始版记类型为第二目标版记类型的情况下,将上一表格行内容对应的表格初始版记类型,确定为当前遍历的表格行内容对应的表格备选版记类型。
250.在当前遍历的表格行内容对应的表格初始版记类型为第三目标版记类型,且上一表格行内容对应的表格初始版记类型为第二目标版记类型的情况下,可以将第四目标版记类型,确定为当前遍历的表格行内容对应的表格备选版记类型。
251.具体的解释可以参见上述预设段落规则的解释,此处不再赘述。
252.此外,在一种可选的实施例中,可以在遍历待识别文档完成后,进一步执行后续步骤。通常可以在待识别文档中确定出一个或多个版记内容。当然,如果没有在待识别文档中
确定出版记内容,则表明在待识别文档中没有识别出版记,也就可以无需执行后续步骤。
253.由于在确定版记内容和版记类型时,可以分别针对待识别文档中的段落和表格进行确定,因此,可以并不限定段落和表格的确定次序。
254.在一种可选的实施例中,针对段落确定版记内容和版记类型的步骤,可以与针对表格确定版记内容和版记类型的步骤并行执行,只要在s101之后,s103之前执行即可。
255.当然,可选地,也可以设置执行的次序,先执行针对段落确定版记内容和版记类型的步骤,在执行针对表格确定版记内容和版记类型的步骤;或者先执行针对表格确定版记内容和版记类型的步骤,再执行针对段落确定版记内容和版记类型的步骤。
256.此外,由于针对段落确定版记内容和版记类型的步骤和针对表格确定版记内容和版记类型的步骤中都存在两次遍历,第一次遍历确定版记内容、段落初始版记类型和表格初始版记类型,第二次遍历进一步确定段落备选版记类型和表格备选版记类型。
257.因此,在一种可选的实施例中,可以在第一次遍历待识别文档时,同时遍历待识别文档中的段落和表格,如果遍历到段落,则针对段落确定版记内容和段落初始版记类型,如果遍历到表格,则针对表格确定版记内容和表格初始版记类型,从而减少需要执行的步骤,避免重复执行,提高执行效率。
258.可选地,也可以在第二次遍历待识别文档时,同时遍历待识别文档中的段落和表格,进一步确定段落备选版记类型和表格备选版记类型。
259.当然,在另一种可选的实施例中,针对段落和表格的第一次遍历也可以并行执行或者按次序执行,针对段落和表格的第二次遍历也可以并行执行或者按次序执行。
260.s103:收集待识别文档中确定的版记内容得到版记内容集合,基于版记内容集合确定候选版记。
261.其中,候选版记中可以包含版记内容和版记内容所对应的版记类型。确定出的候选版记可以是至少一个,任一候选版记中包含的版记内容可以是一个或者多个。即,任一候选版记中可以包含一个或多个版记内容。
262.可选地,收集待识别文档中确定的版记内容得到版记内容集合,可以包括:收集待识别文档中确定的版记内容,以及版记内容的版记类型和位置信息,添加到版记内容集合中。
263.在本实施例中,可以利用位置信息和版记类型确定候选版记,并方便进一步从候选版记中筛选出正确的版记。
264.具体在确定候选版记时,由于版记中的版记内容通常在待识别文档中的位置相邻,因此,可选地,可以遍历版记内容集合中的版记内容,将彼此位置相邻的版记内容合并为一个候选版记。
265.具体可以是将段落序号连续的版记内容合并为一个候选版记。
266.此外,用户在编辑版记时,也可能出现错误。例如,利用回车将版记分割,或者编辑版记中的分隔线或反线,或者使用表格编辑版记,使得版记之中包含空白无内容的段落、或者包含表征横线的段落、或者包含表格的边界。当然,其中空白的段落可以包括无内容的段落、或者仅包含空白字符的段落、或者仅包含空格字符的段落、或者仅包含空白字符和空格字符的段落;只要空白段落具体表征无内容即可。而表征横线的段落也可能是表格的边界。
267.可选地,为了便于容错,进一步方便用户编辑和使用,基于版记内容集合确定候选
版记,可以包括:根据版记内容在待识别文档的位置,按照从前到后的顺序,遍历版记内容集合中的版记内容;在当前遍历的版记内容,与上一个版记内容满足预设合并条件的情况下,确定当前遍历的版记内容与上一个版记内容包含在同一候选版记中,从而划分出一个候选版记;否则,确定当前遍历的版记内容与上一个版记内容分别包含在不同的候选版记中。
268.其中,预设合并条件可以包括:两个版记内容之间不存在其他内容;或者两个版记内容之间包括空白段落和/或用于表征横线符号的内容,例如例如
269.在确定了候选版记之后,可以进一步确定出其中正确的版记。
270.s104:遍历候选版记,并判断当前遍历的候选版记中版记内容所对应的版记类型,是否为预设版记类型;如果是预设版记类型,则将当前遍历的候选版记确定为待识别文档的版记。
271.遍历候选版记,具体可以是遍历在待识别文档中所确定的每个候选版记。
272.在一种可选的实施例中,具体可以是判断当前遍历的候选版记中版记内容所对应的版记类型,是否包含任一预设版记类型;如果包含任一预设版记类型,则可以将当前遍历的候选版记确定为待识别文档的版记。
273.其中,预设版记类型可以是版记独有的版记类型或者版记必须包含的版记类型,因此,只要包含预设版记类型的版记内容,则对应的候选版记即为正确的版记。而其他并不包含预设版记类型的版记内容的候选版记,则很可能不是正确的版记。
274.可选地,预设版记类型的版记内容可以包括:抄送机关类型的版记内容、主送机关类型的版记内容和印发日期类型的版记内容等。因此,预设版记类型可以包括抄送机关类型、主送机关类型和印发日期类型。
275.在一种可选的实施例中,如果当前遍历的候选版记中版记内容所对应的版记类型不是预设版记类型,即在候选版记中版记内容所对应的版记类型中不包含任一预设版记类型的版记内容的情况下,可以从版记内容集合中删除当前遍历的候选版记包含的版记内容。
276.可选地,在为版记内容标记段落备选版记类型或者表格备选版记类型的情况下,还可以清除当前遍历的候选版记包含的版记内容的标记。
277.换言之,被删除的版记内容即为错误识别的版记内容,可以进一步确定这些被删除的版记内容对应的段落不是版记内容,提高版记识别的准确率。
278.可选地,删除后得到的版记内容集合可以作为识别版记的结果,方便后续利用其中的版记内容以及版记类型(包括表格备选版记类型和段落备选版记类型)进行排版。
279.在用于编辑待识别文档的电子设备在本地执行本方法流程的情况下,可以直接基于识别结果自动调整识别出的版记的排版格式。
280.而在与编辑待识别文档的电子设备交互的其他电子设备执行本方法流程的情况下,一种可选的实施例中,在针对待识别文档确定全部的版记后,可以进一步向编辑待识别文档的电子设备返回识别结果,当然,也可以在调整排版格式后再返回。
281.可选地,可以将所识别出的每个版记对应的段落标识返回,以便针对接收到的段落标识对应的段落调整排版。
282.可选地,可以调整待识别文档中被识别出的每个版记的排版,并将调整后的待识
别文档返回。
283.如图5所示,图5是本发明实施例提供的一种识别版记的方法中文档交互的原理示意图。
284.其中,用户针对待识别的文档,可以通过客户端触发用于识别版记的操作,使得客户端将待识别文档发送到服务端。其中,客户端具体可以是一种文档编辑软件。
285.服务端在识别出待识别文档中的版记后,可以将版记中包含的段落标识返回给客户端。
286.在本实施例中,通过将识别结果返回到客户端,可以方便客户端自动进行排版调整,从而避免用户手动调整等操作操作,方便用户操作,提高用户体验。
287.由此可见,应用本发明实施例提供的上述方法流程时,通过利用版记的内容特征,确定出版记,并兼容多种用户可能编辑错误的情况,可以在复杂的文档编辑情况中,识别出较多情况下的版记。不仅可以容错,方便用户编辑和使用,还可以基于识别出的版记,将其自动调整为正确的排版格式,方便用户操作,提高用户体验。
288.而通过上述方法流程识别出的版记,可以用于后续行政公文格式的校对以及行政公文的转换。
289.具体可以是在使用软件提供的行政公文校对功能时,通过上述方法流程识别出文档中的版记,进一步检查所识别出的版记的排版格式是否符合规定。如果符合规定,则返回通过校对的结果;如果不符合规定,则可以返回未通过校对的结果,或者进一步自动调整所识别出的版记的排版格式,使得调整后的排版格式符合规定。
290.或者,也可以是在使用软件提供的行政公文转换功能时,通过上述方法流程识别出文档中的版记,进一步自动将所识别出的版记的排版格式调整为符合规定的排版格式。
291.为了便于理解,本发明实施例还公开了一种应用实施例。
292.如图6所示,图6是本发明实施例提供的另一种识别版记的方法流程图。
293.s201:遍历文档中的每个表格外的段落,根据内容识别出版记类型和其他。
294.s202:根据段落顺序遍历,把识别类型为印发日期、公开方式、主题词、主送机关、抄送机关、印发份数、其他版记信息的段落,分别标记为“版记_识别类型”;如果当前段落识别为其他且之前识别段落或行的类型为抄送机关或主送机关,则标记为“版记_之前识别类型”,如果当前类型为发文日期且之前识别段落或行的类型为抄送机关或主送机关,则标记为“版记_印发日期”。
295.s203:遍历文档中每个表格的每行,根据行内容识别为版记类型或其他。
296.s204:遍历文档中的每个表格,遍历该表格的每行,如果当前行内容包含版记类型且不全是版记类型,当前行的上一行和下一行都包含版记类型,则标记为“版记_识别类型”;否则清除表格全部行的标记。
297.其中,如果当前行不存在上一行,则只要下一行包含版记类型就可以标记。同理,如果当前行不存在下一行,则只要上一行包含版记类型就可以标记。
298.s205:收集段落和表格行标记为版记类型的全部信息包括内容、类型、位置信息,整理为版记内容的列表。遍历版记内容的列表,如果版记内容和上一个版记内容紧邻、或者之间包含空白段落、或者之间的内容用于表征横线,则收集在同一个版记中,否则为不同的版记。遍历完成后将所收集的版记获取到版记列表。
299.s206:遍历版记列表中的版记,删除不包含版记_主送机关、或版记_抄送机关、或版记_印发日期的版记,得到删除后的版记列表为识别结果。
300.为了便于进一步的理解,本发明实施例还提供了2个具体的应用实施例。
301.应用实施例一。
302.如图7所示,图7是本发明实施例提供的一种待识别版记的示意图。其中包含有3个段落,在图中也已经标明。
303.遍历图中的3个段落进行识别,先根据正则表达式识别版记类型,得到[1,主送机关],[2,抄送机关],[3,印发日期],把识别类型为印发日期、公开方式、主题词、主送机关、抄送机关、印发份数,标记为“版记_识别类型”,得到[1,版记_主送机关],[2,版记_抄送机关],[3,版记_印发日期]。
[0304]
遍历段落,发现所得到的3个段落之间无空白段落,则得到一个版记为{[1,版记_主送机关],[2,版记_抄送机关],[3,版记_印发日期]}添加到版记列表中。
[0305]
遍历版记列表,由于其中的版记中包含版记_主送机关和版记_抄送机关和版记_印发日期,所以保留版记,最终得到版记列表为{[1,版记_主送机关],[2,版记_抄送机关],[3,版记_印发日期]}。
[0306]
换言之,1-3段即为识别出的一个版记。
[0307]
应用实施例二。
[0308]
如图8所示,图8是本发明实施例提供的另一种待识别版记的示意图。其中包含6个段落,在图中已经标明。
[0309]
遍历图中的6个段落进行识别,其中先根据正则表达式识别,[1,主题词],[2,公开方式],[3,其他],[4,印发日期],[5,其他],[6,印发份数],把识别类型为印发日期、公开方式、主题词、主送机关、抄送机关、印发份数,标记为“版记_识别类型”,得到[1,版记_主题词],[2,版记_公开方式],[3,其他],[4,版记_印发日期],[5,其他],[6,版记_印发份数]。
[0310]
遍历段落,发现第3、5段为空白段落(仅包含空白字符)且空白段落的上下均为被标记为“版记_识别类型”的段落,所以1、2、3、4、5、6属于同一版记,又因为3、5段为空白段落没有信息,所以,可以将1、2、4、6段看作是一个版记。具体可以是{[1,版记_主题词],[2,版记_公开方式],[4,版记_印发日期],[6,版记_印发份数]},并将该版记添加到版记列表中。
[0311]
遍历版记列表,由于其中的版记中包含版记_主送机关或版记_抄送机关或版记_印发日期,所以保留版记,最终得到版记列表为{[1,版记_主题词],[2,版记_公开方式],[4,版记_印发日期],[6,版记_印发份数]}。
[0312]
换言之,1、2、4、6段即为识别出的一个版记。
[0313]
与上述识别版记的方法相对应,本发明实施例还提供了一种识别版记的装置。
[0314]
如图9所示,图9是本发明实施例提供的一种识别版记的装置的结构示意图。该装置可以包括以下模块。
[0315]
获取模块301,用于获取待识别文档。
[0316]
段落遍历模块302,用于遍历待识别文档的段落,将包含关键字符集合中任一关键字符的段落确定为版记内容,并确定版记内容对应的版记类型。
[0317]
收集模块303,用于收集待识别文档中确定的版记内容得到版记内容集合,基于版记内容集合确定候选版记,其中,候选版记中可以包含版记内容和版记内容所对应的版记
类型,候选版记可以为至少一个,版记内容可以为一个或者多个。
[0318]
确定模块304,用于遍历候选版记,并判断当前遍历的候选版记中版记内容所对应的版记类型,是否为预设版记类型;如果是预设版记类型,则将当前遍历的候选版记确定为待识别文档的版记。
[0319]
可选地,段落遍历模块302,包括:段落初始子模块302a,用于根据版记内容包含的关键字符确定段落初始版记类型,其中,段落初始版记类型是与版记内容一一对应的版记类型,关键字符集合中任一关键字符对应于一个版记类型。
[0320]
可选地,识别版记的装置还包括:段落备选模块305,用于再次遍历待识别文档的段落,根据预设段落规则确定当前遍历的段落对应的段落备选版记类型。
[0321]
可选地,段落备选模块305,包括:段落规则子模块305a,用于基于当前遍历的段落与上一段落的段落初始版记类型确定情况,根据预设段落规则确定当前遍历的段落对应的段落备选版记类型。
[0322]
可选地,段落规则子模块305a,用于:在当前遍历的段落对应的段落初始版记类型为第一目标版记类型的情况下,将当前遍历的段落对应的段落初始版记类型,确定为当前遍历的段落对应的段落备选版记类型。
[0323]
在当前遍历的段落没有被确定为版记内容,且上一段落对应的段落初始版记类型为第二目标版记类型的情况下,将上一段落对应的段落初始版记类型,确定为当前遍历的段落对应的段落备选版记类型。
[0324]
在当前遍历的段落对应的段落初始版记类型为第三目标版记类型,且上一段落对应的段落初始版记类型为第二目标版记类型的情况下,将第四目标版记类型,确定为当前遍历的段落对应的段落备选版记类型。
[0325]
可选地,识别版记的装置还包括:表格遍历模块306,用于遍历待识别文档的表格中的表格行内容,将包含关键字符集合中任一关键字符的表格行内容确定为版记内容,并针对被确定为版记内容的表格行内容确定对应的版记类型。
[0326]
可选地,表格遍历模块306,包括:表格初始子模块306a,用于根据被确定为版记内容的表格行内容包含的关键字符,确定表格初始版记类型,其中,表格初始版记类型是与被确定为版记内容的表格行内容一一对应的版记类型;关键字符集合中任一关键字符对应于一个版记类型。
[0327]
可选地,识别版记的装置还包括:表格备选子模块306b,用于再次遍历待识别文档的表格,根据预设表格规则确定当前遍历的表格中表格行内容对应的表格备选版记类型。
[0328]
可选地,表格备选子模块306b,包括:表格判断子模块306b1,用于针对当前遍历的表格,遍历当前遍历的表格中的表格行内容,判断当前遍历的表格行内容是否符合预设表格行要求。
[0329]
表格标记子模块306b2,用于在当前遍历的表格行内容符合预设表格行要求的情况下,将当前遍历的表格行内容对应的表格初始版记类型,标记为当前遍历的表格行内容对应的表格备选版记类型。
[0330]
可选地,表格备选子模块306b还包括:表格清除子模块306b3,用于在当前遍历的表格行内容不符合预设表格行要求的情况下,将当前遍历的表格中的全部表格行内容的标记清除,并直接遍历下一表格。
[0331]
可选地,表格判断子模块306b1,用于:在当前遍历的表格行内容包含版记内容,且上一表格行内容和下一表格行内容都包含版记内容的情况下,确定当前遍历的表格行内容符合预设表格行要求;或者在当前遍历的表格行内容包含版记内容,上一表格行内容包含版记内容,并且不存在下一表格行内容的情况下,确定当前遍历的表格行内容符合预设表格行要求。
[0332]
可选地,表格备选子模块306b,包括:内容确定子模块306b4,用于基于当前遍历的表格中表格行内容的版记内容确定情况,根据预设表格规则确定当前遍历的表格是否包含版记内容。
[0333]
类型确定子模块306b5,用于在当前遍历的表格包含版记内容的情况下,将当前遍历的表格中表格行内容对应的表格初始版记类型,确定为该表格行内容对应的表格备选版记类型;在当前遍历的表格不包含版记内容的情况下,确定当前遍历的表格中任一表格行内容不为版记内容。
[0334]
可选地,内容确定子模块306b4,用于:在当前遍历的表格中的表格行内容都被确定为版记内容的情况下,确定当前遍历的表格包含版记内容。
[0335]
在当前遍历的表格中任一表格行内容未被确定为版记内容的情况下,确定当前遍历的表格不包含版记内容。
[0336]
可选地,收集模块303,包括:位置遍历子模块303a,用于根据版记内容在待识别文档的位置,按照从前到后的顺序,遍历版记内容集合中的版记内容。
[0337]
合并子模块303b,用于在当前遍历的版记内容,与上一个版记内容满足预设合并条件的情况下,确定当前遍历的版记内容与上一个版记内容包含在同一候选版记中;在当前遍历的版记内容,与上一个版记内容不满足预设合并条件的情况下,确定当前遍历的版记内容与上一个版记内容分别包含在不同的候选版记中。
[0338]
可选地,预设合并条件包括:两个版记内容之间不存在其他内容;或者两个版记内容之间包括空白段落和/或用于表征横线符号的内容。
[0339]
可选地,识别版记的装置还包括:删除模块307,用于候选版记中版记内容所对应的版记类型不是预设版记类型,从版记内容集合中删除候选版记包含的版记内容。
[0340]
上述装置实施例的具体解释可以参见上述方法流程,此处不再赘述。
[0341]
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
[0342]
存储器1003,用于存放计算机程序;
[0343]
处理器1001,用于执行存储器1003上所存放的程序时,实现上述实施例中任一所述的识别版记的方法。
[0344]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral componentinterconnect,pci)总线或扩展工业标准结构(extended industry standardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0345]
通信接口用于上述电子设备与其他设备之间的通信。
[0346]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易
失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0347]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signalprocessing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0348]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的识别版记的方法。
[0349]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的识别版记的方法。
[0350]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0351]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0352]
本发明中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0353]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。