一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种识别标题的方法、装置、电子设备及存储介质与流程

2022-03-02 02:34:17 来源:中国专利 TAG:


1.本发明涉及计算机软件应用技术领域,特别是涉及一种识别标题的方法、装置、电子设备及存储介质。


背景技术:

2.目前,用户在使用文档编辑软件对文档进行编辑时,可能需要编辑部分排版格式固定的文档。例如,行政公文。在行政公文中,对于标题的内容存在固定的排版格式,例如,标题一般用2号小标宋体字,编排于红色分隔线下空二行位置,分一行或多行居中排布。
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.将所述标题段落集合中,第二段落特征相同且段落序号连续的标题段落收集为一个标题名段落集合。
100.可选地,所述标题名确定模块,包括:
101.段落遍历子模块,用于根据段落序号遍历所述标题段落集合中的标题段落;
102.收集子模块,用于在当前遍历的标题段落的第二段落特征与下一个标题段落相同的情况下,将所述当前遍历的标题段落与所述下一个标题段落收集在同一标题名段落集合中;在所述当前遍历的标题段落的第二段落特征与所述下一个标题段落不同的情况下,将所述当前遍历的标题段落与所述下一个标题段落收集在不同标题名段落集合中。
103.可选地,所述主标题确定模块,包括:
104.遍历子模块,用于遍历所述标题名段落集合,并判断所述标题名段落集合是否符合预设主标题条件;
105.条件子模块,用于在所述标题名段落集合符合所述预设主标题条件的情况下,将所述标题名段落集合确定为主标题。
106.可选地,所述遍历子模块,包括:
107.条件判断子模块,用于在所述标题名段落集合包含的标题段落中,存在所述标题段落集合中段落序号最小的标题段落的情况下,确定所述标题名段落集合符合所述预设主标题条件;在所述标题名段落集合包含的标题段落中,不存在所述标题段落集合中段落序
号最小的标题段落的情况下,确定所述标题名段落集合不符合所述预设主标题条件。
108.可选地,所述装置还包括:
109.副标题确定模块,用于在所述标题名段落集合不符合所述预设主标题条件的情况下,将所述标题名段落集合确定为副标题。
110.可选地,所述主标题确定模块,还包括:
111.预处理子模块,用于针对所述标题名段落集合进行预处理,得到标题字符串;
112.标题类型确定子模块,用于在所述标题字符串包含关键字符集合中任一关键字符的情况下,根据所述标题字符串包含的关键字符确定标题类型;其中,所述标题类型与所述标题名段落集合一一对应,所述关键字符集合中任一关键字符对应于一个标题类型。
113.可选地,所述预处理子模块,用于将所述标题名段落集合中的标题段落包含的字符拼接起来,针对拼接结果删除预设字符,得到标题字符串。
114.可选地,所述预设字符包括:空白字符;和/或预设符号之间的字符。
115.可选地,所述条件子模块,包括:
116.主标题标记子模块,用于根据主标题和所述标题名段落集合对应的标题类型,标记所述标题名段落集合中的标题段落。
117.可选地,所述主标题确定模块,还包括:
118.副标题标记子模块,用于在所述标题名段落集合不符合所述预设主标题条件的情况下,根据副标题和所述标题名段落集合对应的标题类型,标记所述标题名段落集合中的标题段落。
119.可选地,所述第二段落特征包括:字号和/或对齐方式。
120.可选地,所述段落集合确定模块,包括:
121.段落确定子模块,用于根据第一段落特征确定所述待识别文档中的标题段落,所述标题段落为一个或多个;
122.段落收集子模块,用于遍历所述标题段落;在当前遍历的标题段落的段落序号与下一个标题段落的段落序号连续的情况下,将所述当前遍历的标题段落与所述下一个标题段落收集在同一标题段落集合中;在所述当前遍历的标题段落的段落序号与所述下一个标题段落的段落序号不连续的情况下,将所述当前遍历的标题段落与所述下一个标题段落收集在不同标题段落集合中。
123.可选地,所述装置还包括:
124.正文确定单元,用于根据第三段落特征确定所述待识别文档中的正文段落集合;
125.备选结构确定单元,用于根据所述正文段落集合确定备选层级结构;所确定的备选层级结构为一个或多个;
126.正文结构确定单元,用于在所确定的备选层级结构中,确定所述待识别文档的正文层级结构;
127.层级标题确定单元,用于根据所述待识别文档的正文层级结构确定层级标题。
128.可选地,所述正文确定单元,包括:
129.层级关系确定子单元,用于在所述正文段落集合中,确定包含编号的段落;针对所确定的段落,确定段落之间的层级关系;根据所述段落之间的层级关系,确定段落所包含编号的格式之间的层级关系;
130.备选确定子单元,用于根据所确定的编号格式之间的层级关系,确定备选层级结构;所确定的备选层级结构中包含一个或多个层级,所包含的不同层级对应于不同编号格式。
131.可选地,所述正文结构确定单元,包括:
132.备选遍历子单元,用于遍历所述备选层级结构,确定所述备选层级结构对应段落的数量;其中,所述备选层级结构对应段落是:在所述正文段落集合中,所包含编号的格式与所述备选层级结构中任一编号格式相同的段落;
133.正文确定子单元,遍历结束后,根据所述备选层级结构对应段落的数量,确定所述待识别文档的正文层级结构。
134.可选地,所述正文确定子单元,用于:
135.在所确定的备选层级结构不包含任一预设层级结构的情况下,将对应段落数量最多的备选层级结构,确定为所述待识别文档的正文层级结构;
136.在所确定的备选层级结构包含任一预设层级结构的情况下,将对应段落数量最多的预设层级结构,确定为所述待识别文档的正文层级结构。
137.可选地,所述层级标题确定单元,包括:
138.正文对应段落确定子单元,用于确定所述正文层级结构对应段落;其中,所述正文层级结构对应段落是:在所述正文段落集合中,所包含编号的格式与所述正文层级结构中任一编号格式相同的段落;
139.标题确定子单元,用于遍历所确定的对应段落,确定当前遍历的对应段落包含的编号格式在所述正文层级结构中对应的层级,根据所确定的层级,将所述当前遍历的对应段落确定为层级标题。
140.可选地,所述标题确定子单元,用于:
141.将所述当前遍历的对应段落确定为,对应于所确定的层级的标题或标题正文。
142.可选地,所述正文确定单元,用于:
143.根据第三段落特征确定所述待识别文档中的正文段落;所述正文段落为一个或多个;
144.遍历所述正文段落;
145.在当前遍历的正文段落的段落序号与下一个正文段落的段落序号连续的情况下,将所述当前遍历的正文段落与所述下一个正文段落收集在同一正文段落集合中;
146.在所述当前遍历的正文段落的段落序号与所述下一个正文段落的段落序号不连续的情况下,将所述当前遍历的正文段落与所述下一个正文段落收集在不同正文段落集合中。
147.可选地,所述正文确定单元,用于:
148.根据预设附件段落特征,将所述待识别文档划分为附件文档;所述附件文件为一个或多个;
149.针对所述附件文档,将所述附件文档中具有相同第三段落特征的段落收集为一个预备段落集合;所述预备段落集合为一个或多个;
150.针对所述预备段落集合中段落序号最小的段落与段落序号最大的段落,确定所述待识别文档中所述段落序号最小的段落与所述段落序号最大的段落之间的全部段落,将所
确定的段落添加到所述预备段落集合中;
151.针对所述附件文档中的全部预备段落集合进行合并处理,所述合并处理包括合并存在交集的预备段落集合;合并处理后的不同预备段落集合之间不存在交集;
152.遍历合并处理后的预备段落集合,确定当前遍历的预备段落集合为预备标题或预备正文;
153.根据所确定的预备标题和预备正文,确定子文档;所述子文档为一个或多个;针对所述子文档,收集所述子文档中被确定为预备正文的段落,得到正文段落集合。
154.可选地,所述层级关系确定子单元,用于:
155.将所述正文段落集合中,包含相同格式的编号的段落添加到同一正文段落子集中;所得到的正文段落子集为一个或多个;
156.针对所述正文段落子集,根据段落序号,按照从小到大的顺序遍历所述正文段落子集中的段落;
157.在存在下一个段落的情况下,将所述正文段落集合中,段落序号大于或等于当前遍历的段落的段落序号,且小于所述下一个段落的段落序号的段落,添加到所述当前遍历的段落的覆盖段落集合中;
158.在不存在所述下一个段落的情况下,将所述当前遍历的段落,添加到所述当前遍历的段落的覆盖段落集合中;
159.根据所述正文段落集合中包含编号的段落的覆盖段落集合,确定段落之间的层级关系。
160.可选地,所述层级关系确定子单元,用于:
161.根据段落序号,按照从小到大的顺序,遍历所述正文段落集合中包含编号的段落;
162.在当前遍历的段落的覆盖段落集合,与下一个段落的覆盖段落集合之间没有交集的情况下,如果所述当前遍历的段落包含编号的格式与所述下一个段落包含编号的格式相同,则确定所述当前遍历的段落与所述下一个段落之间的层级关系用于表征层级相同;如果所述当前遍历的段落包含编号与所述下一个段落包含编号的格式不同,则根据相似段落确定层级关系;
163.在所述当前遍历的段落的覆盖段落集合,与所述下一个段落的覆盖段落集合之间存在交集的情况下,根据所述相似段落确定层级关系;
164.所述相似段落为包含编号的格式与所述下一个段落包含编号的格式相同的段落。
165.可选地,所述层级关系确定子单元,用于:
166.在已遍历的段落中存在相似段落的情况下,确定所述相似段落与所述下一个段落之间的层级关系用于表征层级相同;
167.在已遍历的段落中不存在所述相似段落的情况下,确定所述当前遍历的段落与所述下一个段落之间的层级关系用于表征,所述当前遍历的段落对应的层级比所述下一个段落对应的层级高一级。
168.可选地,所述层级关系确定子单元,用于:
169.遍历所述段落之间的层级关系;
170.针对当前遍历的层级关系,确定所述当前遍历的层级关系中包含的段落;
171.针对所确定的段落,确定段落中包含编号的格式;
172.将所述当前遍历的层级关系,确定为所确定的编号格式之间的层级关系。
173.可选地,所述备选确定子单元,用于:
174.根据所确定的编号格式之间的层级关系,确定临时层级结构;所确定的临时层级结构为一个或多个,包含一个或多个层级,所包含的不同层级对应于不同编号格式;
175.遍历所确定的临时层级结构,在预设的层级结构集合中存在当前遍历的临时层级结构的情况下,将所述当前遍历的临时层级结构确定为备选层级结构。
176.本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
177.存储器,用于存放计算机程序;
178.处理器,用于执行存储器上所存放的程序时,实现上述任一所述的识别标题的方法步骤。
179.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的识别标题的方法步骤。
180.本发明实施例提供的一种识别标题的方法,可以通过利用标题的特征,确定出标题段落集合,以及其中的主标题,并兼容多种用户可能编辑错误的情况,可以在复杂的文档编辑情况中,识别出多种情况下的标题。不仅可以容错,方便用户编辑和使用,还可以便于利用识别出的标题,将其自动调整为正确的排版格式,方便用户操作,提高用户体验。
181.当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
182.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
183.图1是本发明实施例提供的一种标题编辑示例的示意图;
184.图2是本发明实施例提供的一种标题正确排版示例的示意图;
185.图3是本发明实施例提供的一种标题错误排版示例的示意图;
186.图4是本发明实施例提供的一种识别标题的方法的流程示意图;
187.图5是本发明实施例提供的一种识别标题的方法中文档交互的原理示意图;
188.图6是本发明实施例提供的另一种识别标题的方法流程图;
189.图7是本发明实施例提供的一种待识别文档的示意图;
190.图8是本发明实施例提供的另一种待识别文档的示意图;
191.图9是本发明实施例提供的另一种待识别文档的示意图;
192.图10是本发明实施例提供的一种识别标题的装置的结构示意图;
193.图11是本发明实施例提供的一种层级标题编辑示例的示意图;
194.图12是本发明实施例提供的一种层级标题正确排版示例的示意图;
195.图13是本发明实施例提供的一种层级标题错误排版示例的示意图;
196.图14是本发明实施例提供的一种识别层级标题的方法的流程示意图;
197.图15是本发明实施例提供的一种识别层级标题的方法中文档交互的原理示意图;
198.图16是本发明实施例提供的另一种识别层级标题的方法流程图;
199.图17是本发明实施例提供的一种待识别文档的示意图;
200.图18是本发明实施例提供的另一种待识别文档的示意图;
201.图19是本发明实施例提供的一种识别层级标题的装置的结构示意图;
202.图20是本发明实施例提供的一种电子设备的结构图。
具体实施方式
203.为了使本领域技术人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于公开的范围。
204.目前,用户在使用文档编辑软件对文档进行编辑时,可能需要编辑部分排版格式固定的文档。例如,行政公文。
205.行政公文中,对于标题存在固定的排版格式。例如,一般用2号小标宋体字,编排于红色分隔线下空二行位置,分一行或多行居中排布;回行时,要做到词意完整,排列对称,长短适宜,间距恰当,标题排列应当使用梯形或菱形。
206.或者,在红色反线下空2行,用2号小标宋体字,可分一行或多行居中排布;回行时,要做到词意完整,排列对称,间距恰当。
207.用户在编辑文档时,通常使用正文的格式编辑标题内容。具体可以是在正文格式下编辑标题内容后,设置这一标题内容的对齐方式为居中对齐,并调整标题内容的字号。
208.具体的示例如图1所示。其中,图1是本发明实施例提供的一种标题编辑示例的示意图。
209.用户针对文档中标题的内容,往往需要手动调整排版格式,不仅操作繁琐,还容易出现错误。例如,在标题内容较多,需要换行时,常常需要繁琐的操作使得标题内容排列成梯形或菱形。通常可以由软件识别出标题并自动排版。但目前的文档编辑软件通常不支持对标题的识别。
210.为了便于理解,如图2所示,图2是本发明实施例提供的一种标题正确排版示例的示意图。图2中是用户针对图1中编辑的标题,根据上述标题的排版格式规定而手动修改的。
211.如果用户利用文档编辑软件自带的智能识别功能或者其他智能识别插件,无法识别出标题,通常会根据用户编辑标题内容时使用的正文格式进行调整,将标题识别为正文。具体可以是将标题的对齐方式设置为左对齐,在标题左侧空2个字符的位置。
212.如图3所示,图3是本发明实施例提供的一种标题错误排版示例的示意图。图3中是用户针对图1中编辑的标题,在智能识别插件识别为正文后调整的排版。
213.为了解决上述问题,本发明提供了一种识别标题的方法。该方法具体可以应用在文档编辑软件上,也可以应用在其他软件上。
214.在本发明所提供的识别标题的方法中,可以根据文档中标题的特征进行识别。具体可以是利用文档中段落的特征,例如,字号、对齐方式、段落内容,进一步判断段落为标题
的概率,从而进一步确定文档中的标题。在识别出文档中的标题后,方便进一步自动地调整为正确的排版格式,从而方便用户操作,避免出现错误。
215.当然,还可以在识别出标题之后,进一步识别出标题中的主标题和副标题,方便分别针对主标题和副标题调整正确的排版格式,进一步提高用户体验。
216.在识别出主标题后,也可以根据主标题中的内容,确定可能的标题类型。例如,会议记录、调查报告、访谈等。从而可以进一步根据确定出的标题类型,为用户推荐对应的格式或内容模板,方便用户使用,进一步提高用户体验。
217.例如,在确定出标题类型为调查报告后,可以通过调用出预先存储的调查报告的多种内容模板,供用户选择使用。
218.下面通过具体的实施例,对本发明实施例提供的一种识别标题的方法进行详细描述。
219.在具体介绍方法之前,首先解释本方法流程所涉及的概念。
220.文档:具体可以是用户在文档编辑软件中所编辑的对象,可以由字符组成,其中可以包括至少1个段落。段落之间可以利用回车符号进行区分。
221.需要注意的是,文档中的段落之间存在顺序,并且每个段落存在对应的段落序号。具体可以是从文档开头的第一个段落开始,段落序号从1开始连续递增,直到文档的最后一个段落。
222.此外,文档中可以包括标题和正文。当然,并不限定文档中标题和正文的数量,具体文档可以包括多个标题和多个正文。例如,多个标题分别是文档第一章、第二章、...第十章的标题,而每一个章节都可以存在对应的正文。
223.标题:具体可以是标明文档内容的一个或多个段落,可以作为文档内容的总结。作为标题的段落通常具有特定的排版,例如,对齐方式通常是居中对齐,字号通常大于正文的字号。
224.在单个标题中,可以包含一个或多个标题名称整体。
225.例如,在标题《一种营销方法:以汽车销售为例》中,包含两个标题名称整体,分别是“一种营销方法”和“以汽车销售为例”。为了便于描述,可以将标题名称整体称为标题名。在单个标题中,可以包含一个或多个标题名。
226.单个标题中的不同标题名可以分别是主标题和副标题。副标题可以是主标题的补充或解释。其中,副标题通常具有特定的排版,例如,对齐方式通常是居中对齐或右对齐,字号通常大于正文的字号,但小于主标题的字号。
227.需要注意的是,单个标题中可以包含主标题,或者主标题和副标题。
228.段落特征:具体可以是段落本身具有的一些特征,例如对齐方式、字号、最大字号、最小字号、字体、段落内容、是否包含编号、包含的编号格式、是否加粗等等。通过段落特征,可以帮助确定段落本身属于标题或正文。
229.如图4所示,图4是本发明实施例提供的一种识别标题的方法的流程示意图。其中包括以下步骤。
230.s101:获取待识别文档。
231.可选地,待识别文档可以是任一文档,为了便于描述,将被用于识别标题的文档称为待识别文档。
232.在一种可选的实施例中,用于编辑待识别文档的电子设备可以在本地执行本方法流程,并不与其他设备进行交互。在一种具体的示例中,本方法流程可以通过文档编辑软件客户端包含的本地逻辑实现。
233.在另一种可选的实施例中,与编辑待识别文档的电子设备交互的其他电子设备也可以执行本方法流程。在一种具体的示例中,本方法流程可以通过与文档编辑软件客户端交互的服务端实现。
234.因此,在一种可选的具体实施例中,客户端可以基于用户的操作,将任一文档发送到服务端,也就是服务端接收客户端发送的待识别文档,以便于服务端识别出待识别文档中的标题,并将识别结果返回到客户端。识别结果可以是包含标题标注的文档,也可以是被识别为标题的段落标识,段落标识具体可以是段落序号。
235.s102:根据第一段落特征确定待识别文档中的标题段落集合。
236.可选地,第一段落特征可以是用于帮助确定标题的段落特征。具体可以包括:是否包含编号、字号、加粗、对齐方式等。
237.所确定的标题段落集合可以是一个或多个。
238.在一种可选的实施例中,具体可以是基于第一段落特征,确定待识别文档中每个段落属于正文的概率。具体可以是利用机器学习的方法,针对所输入的段落的第一段落特征,输出段落属于正文的概率。
239.进一步可以确定正文概率大于预设概率的段落,从而确定其中的正文最大字号。将待识别文档中,字号大于正文最大字号的段落都识别为标题段落。
240.可选地,可以遍历所识别的标题段落;在当前遍历的标题段落的段落序号与下一个标题段落的段落序号连续的情况下,将当前遍历的标题段落与下一个标题段落收集在同一标题段落集合中;在当前遍历的标题段落的段落序号与下一个标题段落的段落序号不连续的情况下,将当前遍历的标题段落与下一个标题段落收集在不同标题段落集合中。
241.通过上述实施例可以收集得到一个或多个标题段落集合。标题段落集合中可以包括一个标题段落,或者多个段落序号连续的标题段落。
242.其中,段落序号连续可以表征段落的序号是根据顺序递增的,每次可以增加1。例如,连续的段落序号包括12、13、14。
243.在本实施例中,可以通过确定标题段落集合,确定出待识别文档中的标题,进而方便执行后续的步骤。而利用第一段落特征进行识别,可以提高识别效率,并且提高识别的准确率。
244.s103:将标题段落集合中属于同一个标题名的段落合并得到标题名段落集合。
245.可选地,可以针对s102中所确定的每个标题段落集合执行s103。具体可以遍历所确定的每个标题段落集合,执行s103。
246.单个标题段落集合可以是从待识别文档中识别出的单个标题,而单个标题中可以包含一个或多个标题名。因此,针对单个标题段落集合,通过合并属于同一个标题名的段落,得到的标题名段落集合可以是一个或多个。单个标题名段落集合可以是从标题中识别出的单个标题名。标题名可以被确定为主标题,也可以对应于标题类型。因此,标题名段落集合可以被确定为主标题,也可以对应于标题类型。
247.s104:将符合预设主标题条件的标题名段落集合确定为主标题。
248.可选地,可以针对s102中所确定的每个标题段落集合,执行s103和s104,从s103得到的标题名段落集合中确定出主标题。具体可以遍历所确定的每个标题段落集合,执行s103和s104。
249.单个标题段落集合可以是从待识别文档中识别出的单个标题,而标题名段落集合可以是从单个标题中确定的标题名,因此,可以从所确定的标题名中进一步确定出主标题。
250.针对s103,单个标题段落集合可以是从待识别文档中识别出的单个标题,而单个标题中可以包含一个或多个标题名。其中可以包括主标题和副标题,当然也可以只包括主标题。
251.通常在编辑同一个标题名时,往往会将同一个标题名编辑在同一个段落中。但在实际的文档编辑情况中,也存在将同一个标题名编辑在多个段落中的情况。
252.例如,在标题名内容较长,需要占据文档中多行内容时,用户可能出于习惯进行换行,使得同一个标题名被编辑在连续的多个段落中。
253.一种具体的标题名编辑示例如下所示。
254.关于印发《xx业务通知》
255.到各员工进行学习总结的通知
256.其中,“关于印发《xx业务通知》”和“到各员工进行学习总结的通知”分别是两个段落。这两个段落属于同一个标题名“关于印发《xx业务通知》到各员工进行学习总结的通知”。
257.因此,为了兼容这一编辑情况,需要确定出属于同一个标题名的全部段落,从而可以准确识别出完整的标题名,避免折行的影响,提高标题名的识别准确率,方便后续识别出主标题。
258.由于标题名本身是一个完整的标题名称,即使一个标题名包含多个段落,所包含的多个段落之间的段落特征可以是相同的。例如,字号和对齐方式可以相同。并且,一个标题名所包含的多个段落之间的段落序号是连续的。
259.而不同的标题名之间,所包含的段落的段落特征可以不相同。
260.以主标题和副标题为例,如果标题中存在副标题,则副标题通常与主标题的排版格式不同。例如,主标题的对齐方式通常为居中对齐,而副标题的对齐方式通常为右对齐;主标题的字号通常大于副标题的字号。
261.显然,通常在编辑文档中的主标题和副标题时,会使用不同的排版格式。主标题所包含的段落的排版格式与副标题所包含的段落的排版格式不同。例如,对齐方式不同或者字号不同。
262.因此,可以通过判断段落序号连续的段落之间的段落特征是否相同,确定不同段落是否属于同一个标题名。
263.可选地,s103中将标题段落集合中属于同一个标题名的段落合并得到标题名段落集合,具体可以包括:将标题段落集合中,第二段落特征相同且段落序号连续的标题段落收集为一个标题名段落集合。
264.可选地,可以针对s102中确定的每个标题段落集合,将每个标题段落集合中,第二段落特征相同且段落序号连续的标题段落收集为一个标题名段落集合,从而可以得到一个或多个标题名段落集合。
265.在本实施例中,可以通过第二段落特征,以及段落序号连续的特征,方便快速地确定标题名段落集合,从而可以提高识别效率。
266.可选地,第二段落特征可以是用于区分不同标题名的段落特征,具体可以包括字号和/或对齐方式。
267.在本实施例中,可以限定不同的第二段落特征,以适应待识别文档中标题的不同编辑情况。
268.在一种可选的实施例中,第二段落特征可以包括字号,而不包括对齐方式。
269.在编辑文档的实际过程中,可能出现在同一个标题名中,不同段落之间的字号相同,但对齐方式不同。
270.例如,一个标题名中可能由于长度较长,包含多个段落。其中部分段落占据了文档的完整一行内容。而从用户视角,往往难以直接区分段落的对齐方式,从而可能仅针对其他段落设置居中对齐。
271.一种具体的标题示例如下所示。
272.关于印发《xx新工资制度、绩效新认定方式以及晋升新制度》到xx
273.分公司的通知
274.其中包含2个段落,由于“关于印发《xx新工资制度、绩效新认定方式以及晋升新制度》到xx”这一段落占据了完整的一行内容,用户可能错认为这一段落已经设置为居中对齐,从而只设置第二个段落为居中对齐。
275.因此,同一标题名包含的不同段落之间的对齐方式可能不同。
276.为了适应这一编辑情况,进一步方便用户编辑和使用,可以限定第二段落特征包括字号,而不包括对齐方式。
277.在另一种可选的实施例中,第二段落特征可以包括对齐方式,而不包括字号。
278.在编辑文档的实际过程中,可能出现在同一个标题名中,不同段落之间的对齐方式相同,但字号不同。
279.例如,一个标题名中部分段落由于是通过输入字符编辑的,字号统一,而其他部分段落可能由于复制粘贴其他文档内容,字号并不统一。但由于字号大小相近,例如,四号字号与小四字号之间的差异用户往往难以区分。从用户视角,可能难以发现一个标题名中字号不同。或者由于用户粗心,忽略了同一标题名中字号不同的段落。
280.一种具体的标题示例如下所示。
281.关于印发《xx新工资制度、绩效新认定方式以及晋升新制度》到xx
282.分公司的通知
283.其中包含2个段落,由于“关于印发《xx新工资制度、绩效新认定方式以及晋升新制度》到xx”这一段落是五号字号,而“分公司的通知”这一段落是小四字号。用户通常难以发现标题字号不同,或者由于粗心等原因没有发现标题字号不同。
284.因此,同一标题名包含的不同段落之间的字号可能不同。
285.为了适应这一编辑情况,进一步方便用户编辑和使用,可以限定第二段落特征包括对齐方式,而不包括字号。
286.在另一种可选的实施例中,第二段落特征也可以包含其他段落特征,例如,段落的字体。宋体和楷体也可以用于区分标题名。
287.由于在部分情况下,主标题和副标题都是居中对齐,因此,在一种可选的实施例中,可以将对齐方式限定为居中对齐。
288.可选地,可以将标题段落集合中,第二段落特征相同、且对齐方式为居中对齐、且段落序号连续的标题段落收集为一个标题名段落集合。
289.在一种可选的实施例中,具体将标题段落集合中,第二段落特征相同且段落序号连续的标题段落收集为一个标题名段落集合,可以包括:根据段落序号遍历标题段落集合中的标题段落;在当前遍历的标题段落的第二段落特征与下一个标题段落相同的情况下,将当前遍历的标题段落与下一个标题段落收集在同一标题名段落集合中;在当前遍历的标题段落的第二段落特征与下一个标题段落不同的情况下,将当前遍历的标题段落与下一个标题段落收集在不同标题名段落集合中。
290.由于标题段落集合中包含的是段落序号连续的标题段落,因此,可以直接根据段落序号,遍历标题段落集合中的标题段落,所遍历的前后两个标题段落的段落序号连续。
291.可选地,可以是根据段落序号,按照从小到大的顺序遍历标题段落集合中的标题段落,也可以是根据段落序号,按照从大到小的顺序遍历标题段落集合中的标题段落。
292.进一步地,如果前后两个标题段落的第二段落特征相同,则可以确定这两个标题段落属于同一标题名,可以收集在同一标题名段落集合中。
293.本实施例中,可以借助标题段落集合包含的段落序号连续的标题段落,通过遍历的方式,方便快速地确定出第二段落特征相同且段落序号连续的标题段落,从而确定标题名段落集合,提高识别效率。
294.在其他可选的实施例中,具体将标题段落集合中,第二段落特征相同且段落序号连续的标题段落收集为一个标题名段落集合,可以是先确定标题段落集合中第二段落特征不同的段落,将所确定的段落作为界限分割得到标题名段落集合。
295.针对s104,在一种可选的实施例中,将符合预设主标题条件的标题名段落集合确定为主标题,可以包括:遍历标题名段落集合,并判断当前遍历的标题名段落集合是否符合预设主标题条件;在当前遍历的标题名段落集合符合预设主标题条件的情况下,将当前遍历的标题名段落集合确定为主标题。
296.可选地,遍历标题名段落集合,可以是针对s102中确定的每个标题段落集合,遍历该标题段落集合中得到的每个标题名段落集合。
297.在本实施例中,可以通过遍历标题名段落集合的方式,准确地确定出主标题。
298.在其他可选的实施例中,也可以直接根据预设主标题条件,确定出符合预设主标题条件的标题名段落集合,无需遍历。
299.例如,在遍历段落合并得到标题名段落集合的情况下,预设主标题条件可以是合并得到的第一个标题名段落集合,从而可以直接将第一个合并得到的标题名段落集合确定为主标题。
300.针对预设主标题条件,在一种可选的实施例中,可以根据主标题的特征,确定主标题。
301.通常情况下,主标题位于标题的开头,而副标题通常编辑在主标题之后。因此,可选地,主标题一定包含标题中的第一个段落,即标题所包含段落中,段落序号最小的段落。因此,预设主标题条件可以包括:标题名段落集合包含的标题段落中,存在对应标题段落集
合中段落序号最小的标题段落。
302.可选地,将标题段落集合中属于同一个标题名的段落合并得到标题名段落集合,所得到的标题名段落集合可以对应于该标题段落集合。换言之,标题段落集合可以对应于合并其中段落得到的标题名段落集合。
303.当然,预设主标题条件也可以包括其他条件。在其他可选的实施例中,预设主标题条件可以包括:根据标题名段落集合在待识别文档中的位置,按照从前到后的顺序进行排列后排序第一的标题名段落集合。
304.相对应地,在一种可选的实施例中,判断标题名段落集合是否符合预设主标题条件,可以包括:在标题名段落集合包含的标题段落中,存在标题段落集合中段落序号最小的标题段落的情况下,确定标题名段落集合符合预设主标题条件。
305.可选地,在标题名段落集合包含的标题段落中,不存在标题段落集合中段落序号最小的标题段落的情况下,确定标题名段落集合不符合预设主标题条件。
306.在本实施例中,通过标题段落集合中段落序号最小的标题段落,简单直接地确定标题名段落集合是否符合预设主标题条件,从而提高识别效率。
307.需要注意的是,由于主标题通常在标题中只存在一个,因此,可选地,可以在确定主标题后停止遍历标题名段落集合,从而节约计算资源,提高识别效率。
308.在通过上述方法确定主标题之后,可以进一步确定副标题,存在部分场景具有识别出副标题的需求,因此,可选地,可以在确定主标题之后,将未被确定为主标题的标题名段落集合都确定为副标题。
309.可选地,也可以将不符合预设主标题条件的标题名段落集合确定为副标题。
310.具体可以是:在标题名段落集合不符合预设主标题条件的情况下,将标题名段落集合确定为副标题。
311.在本实施例中,可以额外确定出副标题,从而方便针对识别出的副标题调整排版格式,方便用户操作。
312.除了确定主标题和副标题,本方法流程还提供了一种可选的实施例,可以确定标题对应的标题类型。所确定的标题类型可以帮助向用户推荐编辑文档所需要的排版或内容格式,方便用户使用。
313.在一种可选的实施例中,可以分别针对主标题和副标题都确定标题类型,从而可以根据主标题的标题类型和副标题的标题类型综合确定为用户推荐的内容模板,方便用户使用,提高用户体验。
314.上述实施例中所确定的标题名段落集合可以看作一个标题名,进而针对标题名段落集合确定标题类型。
315.因此,可选地,在遍历标题名段落集合的过程中,判断标题名段落集合是否符合预设主标题条件之前,还可以针对当前遍历的标题名段落集合进行预处理,得到标题字符串;在所得到的标题字符串包含关键字符集合中任一关键字符的情况下,根据标题字符串包含的关键字符确定标题类型。
316.其中,标题类型可以与标题名段落集合一一对应,关键字符集合中任一关键字符对应于一个标题类型。
317.可选地,在所得到的标题字符串包含关键字符集合中单个关键字符的情况下,可
以直接根据所包含的单个关键字符,确定唯一对应的标题类型。
318.可选地,在所得到的标题字符串包含关键字符集合中多个关键字符的情况下,可以根据预设设定的标题类型的优先级,在包含的多个关键字符分别对应的多个标题类型中,确定优先级最高的标题类型,作为唯一对应的标题类型。
319.可选地,在所得到的标题字符串包含关键字符集合中多个关键字符的情况下,可以根据所包含的多个关键字符在标题字符串中的位置确定唯一对应的标题类型。通常根据标题字符串的末尾的关键字符确定的标题类型准确率较高,因此,可以根据关键字符在标题字符串中的位置,将所包含的多个关键字符中,位置最接近标题字符串末尾的关键字符对应的标题类型,确定为唯一对应的标题类型。
320.在其他可选的实施例中,标题名段落集合也可以对应于多个标题类型。在后续的步骤中可以根据对应的每个标题类型向用户推荐内容模板。
321.在正常的文档编辑过程中,同一个标题名应当编辑在一个段落中,即使出现换行,也无需增加段落。但用户在编辑文档时,可能出于习惯或其他原因,将同一个标题名通过回车符分隔成多个段落。
322.为了兼容这种编辑情况,提高用户体验,在一种可选的实施例中,由于标题名可能被划分到多个段落中,例如,标题名内容太多导致需要换行或者增加段落,当然,主标题和副标题也可能被划分为多个段落,因此,在具体针对标题名段落集合进行处理时,需要将标题名段落集合中的多个段落重新拼接起来,成为一个完整的字符串。
323.为了便于理解,下面提供一个具体的例子。一种标题名示意如下所示。
324.关于印发《xx教学课程课件和经验总结》到
325.各教师进行学习总结的通知
326.其中,“各教师进行学习总结的通知”被划分到了另一个段落,因此,为了兼容这一编辑情况,在针对这一标题名确定标题类型时,需要将这2个段落拼接起来,得到“关于印发《xx教学课程课件和经验总结》到各教师进行学习总结的通知”,从而方便进行后续的操作。
327.此外,根据上述标题示例可以看出,标题内容中可能存在其他文件的标题或者引用,可能导致对本标题名的标题类型的错误判断。
328.因此,可以删除拼接结果中的其他文件的标题或者引用,从而提高标题类型的准确率。
329.综上所述,在一种可选的实施例中,针对标题名段落集合进行预处理,得到标题字符串可以包括:将标题名段落集合中的标题段落包含的字符拼接起来,针对拼接结果删除预设字符,得到标题字符串。
330.可选地,预设字符可以包括:空白字符;和/或预设符号之间的字符。
331.其中的预设符号可以包括以下至少一种:括号、书名号和引号。其中,括号可以包括方括号、大括号、中括号、小括号等。可选地,也可以进一步删除预设符号。
332.在本实施例中,可以通过预处理提高对标题类型的识别准确率。而针对预设字符进行删除,可以进一步提高对标题类型的识别准确率。
333.经过预处理后,进一步可以针对标题字符串,确定其中是否包含关键字符集合中的任一关键字符。
334.可选地,可以预先设置并存储关键字符集合,以及关键字符集合中每个关键字符
对应的标题类型。
335.例如,关键字符集合可以包括:{"述职报告","会议记录","调查报告","工作计划","评定标准", "指标体系","评选活动","政策解释","公开指南","工作安排","注意事项","工作动态","招标流程 ","工作流程","重要批示","工作通则","工作信息","课题设计","课题结项","评价准则","资料汇编","技术参数","宣传标语","表彰名录","意向合同","造价研究","宣传标语","办理程序"," 指导内容","实施方案","参考资料","教学目标"}。
336.而标题类型可以包括:{通知,计划,决定,名单,准则,流程,规范,真题}。
337.上述关键字符集合和标题类型仅仅是一种示例性的说明,并不能限定本方法流程的范围。
338.可选地,每个关键字符可以对应于一个标题类型,不同的关键字符可以对应于不同的标题类型,也可以存在多个关键字符对应于相同的标题类型。
339.例如,关键字符“工作通知”、“放假通知”、“通知书”、“降价通知”等都可以对应于相同的标题类型“通知”。
340.为了便于理解,下面提供一个具体的例子。一种标题示意如下所示。
341.关于印发《xx教学课程课件和经验总结》到
342.各教师进行学习总结的通知
343.经过预处理后,可以得到标题字符串“关于印发到各教师进行学习总结的通知”。进而根据其中包含的关键字符“通知”,可以确定出该标题对应的标题类型为“通知”。
344.此外,在另一种可选的实施例中,也可以只针对被确定为主标题的标题段落确定标题类型,这是因为通常情况下,副标题是主标题的解释和补充,一般不具有标题类型。
345.例如,副标题可以是“以xx教师示范经验为例”,其中并不包含关键字符,也就不具有标题类型。
346.因此,为了节约计算资源,提高效率,可选地,可以将被确定为主标题的标题名段落集合进行预处理。其中预处理的解释可以参见上述实施例,从而可以基于预处理得到的标题字符串,进一步确定出主标题对应的标题类型。
347.在一种可选的实施例中,将符合预设主标题条件的标题名段落集合确定为主标题,具体可以包括,将符合预设主标题条件的标题名段落集合中的每个标题段落,确定为主标题。从而可以方便针对被确定为主标题的标题段落进行排版。
348.相对应地,可选地,在标题名段落集合不符合预设主标题条件的情况下,可以将标题名段落集合确定为副标题,具体可以包括,将不符合预设主标题条件的标题名段落集合中的每个标题段落,确定为副标题。
349.在确定主标题对应的标题类型之后,在一种可选的实施例中,由于需要利用标题类型确定推荐的模板,并且需要根据主标题确定排版格式。因此,为了方便执行后续步骤,可以针对被确定为主标题的标题名段落集合进行标记。
350.可选地,将标题名段落集合确定为主标题,可以包括:根据主标题和被确定为主标题的标题名段落集合对应的标题类型,标记被确定为主标题的标题名段落集合中的标题段落。
351.在本实施例中,针对标题段落进行标记,可以方便确定标题段落是否属于主标题,
并且可以进一步方便确定标题段落对应的标题类型,从而可以方便针对标题段落进行排版,提高识别效率。
352.相对应地,在确定每个标题名段落集合对应的标题类型之后,在标题名段落集合不符合预设主标题条件的情况下,标题名段落集合可以被确定为副标题,具体可以根据副标题和标题名段落集合对应的标题类型,标记标题名段落集合中的标题段落。
353.在本实施例中,针对标题段落进行标记,可以方便确定标题段落是否属于副标题,并且可以进一步方便确定标题段落对应的标题类型,从而可以方便针对标题段落进行排版,提高识别效率。
354.在用于编辑待识别文档的电子设备在本地执行本方法流程的情况下,可以直接基于识别结果自动调整排版格式。
355.而在与编辑待识别文档的电子设备交互的其他电子设备执行本方法流程的情况下,一种可选的实施例中,在针对待识别文档确定全部的标题后,可以进一步向编辑待识别文档的电子设备返回识别结果,当然,也可以在调整排版格式后再返回。
356.可选地,可以将所识别出的每个标题对应的段落标识返回,以便针对接收到的段落标识对应的段落调整排版。具体的段落标识可以是段落序号。
357.可选地,可以调整待识别文档中被识别出的每个标题的排版,并将调整后的待识别文档返回。
358.如图5所示,图5是本发明实施例提供的一种识别标题的方法中文档交互的原理示意图。
359.其中,用户针对待识别的文档,可以通过客户端触发用于识别标题的操作,使得客户端将待识别文档发送到服务端。其中,客户端具体可以是一种文档编辑软件的客户端。
360.服务端在识别出待识别文档中的标题后,可以将标题中包含的段落对应的段落标识返回给客户端。
361.在本实施例中,通过将识别结果返回到客户端,可以方便客户端自动进行排版调整,从而避免用户手动调整,方便用户操作,提高用户体验。
362.通过上述方法流程,可以通过利用标题的段落特征,确定出标题段落集合,以及其中的主标题,并兼容多种用户可能编辑错误的情况,可以在复杂的文档编辑情况中,识别出多种情况下的标题。不仅可以容错,方便用户编辑和使用,还可以便于利用识别出的标题,将其自动调整为正确的排版格式,方便用户操作,提高用户体验。
363.此外,还可以帮助识别出标题中的副标题,以便于更准确地根据副标题调整排版格式。并且可以针对标题确定出标题类型,以便于根据标题类型向用户推荐标题类型对应的文档排版或文档内容格式等,提高用户体验。
364.而通过上述方法流程识别出的标题,可以用于后续行政公文格式的校对以及行政公文的转换。
365.具体可以是在使用软件提供的行政公文校对功能时,通过上述方法流程识别出文档中的标题,进一步检查所识别出的标题的排版格式是否符合规定。如果符合规定,则返回通过校对的结果;如果不符合规定,则可以返回未通过校对的结果,或者进一步自动调整所识别出的标题的排版格式,使得调整后的排版格式符合规定。
366.或者,也可以是在使用软件提供的行政公文转换功能时,通过上述方法流程识别
出文档中的标题,进一步自动将所识别出的标题的排版格式调整为符合规定的排版格式。
367.此外,在待识别文档中,可以包含一个或多个标题,不同标题可以对应于不同的正文部分。例如,在一个文档中编辑小说或杂志时,通常可以包含多篇文章,不同文章可以包含有不同的标题和对应的不同正文。
368.为了便于描述,将待识别文档中的一个标题和对应的正文统称为一个子文档。因此,待识别文档中可以包含一个或多个子文档。
369.例如,可以在一个文档中编辑多个章节,每个章节内容包含章节标题和章节正文,可以将每个章节内容视为子文档。也可以在文档中编辑附件内容,附件内容可以被视为子文档。
370.上述方法流程中s102可以识别出待识别文档中的一个或多个标题,即标题段落集合。
371.由于每个子文档中包含标题,因此,在一种可选的实施例中,可以先识别出待识别文档中的子文档,再针对每个子文档的标题进行进一步的识别。
372.可选地,具体可以是针对识别出的每个子文档的标题部分,即标题段落集合,执行s103和s104,确定出每个子文档的主标题。相对应地,也可以确定出副标题。具体可以参见上述方法流程的解释。
373.例如,当识别出待识别文档中只包含一个子文档,可以针对所识别出的单个子文档的标题,利用上述方法流程确定出单个子文档的主标题,也可以进一步确定出副标题或者单个子文档标题的标题类型,以便于针对单个子文档推荐内容模板。
374.当识别出待识别文档中包含多个子文档,可以针对所识别出的每个子文档的标题,利用上述方法流程确定出每个子文档的主标题,也可以进一步确定出副标题或者每个子文档标题的标题类型,以便于针对每个子文档推荐内容模板。
375.为了便于理解,本发明实施例还公开了一种应用实施例。
376.如图6所示,图6是本发明实施例提供的另一种识别标题的方法流程图。
377.s201:识别标题区域。具体可以包括:识别用户文档中的子文档,获取到附件、标题和正文的段落区域的列表。
378.s202:收集标题名的段落区域列表。具体可以包括:遍历标题段落区域中的段落,把字号和对齐方式相同,且段落序号连续的段落合并为一个标题名的段落区域,最终获得多个子文档下的标题名的段落区域列表。
379.s203:划分主标题和副标题。具体可以包括:遍历识别出的子文档,识别子文档中标题名所对应的标题类型。其中,每个子文档的第一个标题名的段落区域中的每个段落标记为“主标题_标题类型”,其他标记为“副标题_标题类型”。
380.为了便于进一步的理解,本发明实施例还提供了2个具体的应用实施例。
381.应用实施例一。
382.如图7所示,图7是本发明实施例提供的一种待识别文档的示意图。其中包含有30个段落,在图中已经标明部分段落和段落序号。其中部分正文段落省略。
383.针对待识别文档,获取到附件、标题、正文的段落区域的列表为[[2,2,标题],[4,4,正文],[7,8,标题],[9,15,正文],[17,18,标题],[20,30,正文]]。
[0384]
其中子文档的标题区域为[[[2,2,标题]],[[7,8,标题]],[[17,18,标题]]],把字
号、对齐方式为居中且段落序号连续的段落合并为一个标题名的段落区域,为[[[2,2,xx公司新版晋升制度和新版绩效计算方式]],[[7,8,关于印发《20yy年份第5版本新版晋升制度》的通知]],[[17,18,20yy年份第10版本新版绩效计算方式新规及细则]]]。
[0385]
遍历子文档,针对子文档中标题名的段落区域进行预处理,进一步得到标题名所对应的标题类型,得到[[[2,2,xx公司新版晋升制度和新版绩效计算方式,无]],[[7,8,关于印发的通知,通知]],[[17,18,20yy 年份第10版本新版绩效计算方式新规及细则,无]]]。
[0386]
每个子文档的第一个标题名的段落区域中的每个段落标记为“主标题_标题类型”,其他“为副标题_ 标题类型”。因此,可以得到[[2,xx公司新版晋升制度和新版绩效计算方式,主标题_无],[7,关于印发《20yy 年份第5版本新版,主标题_通知],[8,晋升制度》的通知,主标题_通知],[17,20yy年份第10版本新版绩效计算方式,主标题_无],[18,新规及细则,主标题_无]]。
[0387]
应用实施例二。
[0388]
如图8所示,图8是本发明实施例提供的另一种待识别文档的示意图。其中包含26个段落,在图中已经标明部分段落和段落序号。其中部分正文段落省略。
[0389]
针对待识别文档,获取到附件、标题、正文的段落区域的列表为[[1,2,标题],[4,5,正文],[8,8,标题],[10,14,正文],[16,16,附件],[17,17,标题],[19,26,正文]]。
[0390]
其中子文档的标题区域为[[[1,2,标题]],[[8,8,标题]],[[17,17,标题]]],把字号、对齐方式为居中且段落序号连续的段落合并为一个标题名的段落区域,为[[[1,2,关于转发《xx中小学“朝读经典”活动实施方案》的通知]],[[8,8,xx中小学“朝读经典”活动实施方案]],[[17,17,xx中小学“朝读经典”活动课外选读推荐目录]]]。
[0391]
遍历子文档,针对子文档中标题名的段落区域进行预处理,进一步得到标题名所对应的标题类型,得到[[[1,2,关于转发的通知,通知]],[[8,8,xx中小学活动实施方案,实施方案]],[[17,17,xx中小学活动课外选读推荐目录,目录]]]。
[0392]
将每个子档的第一个标题名的段落区域中的每个段落标记为“主标题_标题类型”,其他“为副标题_ 标题类型”,得到[[1,关于转发《xx中小学“朝读经典”活动,主标题_通知],[2,实施方案》的通知,主标题_通知],[8,xx中小学“朝读经典”活动实施方案,主标题_实施方案],[17,xx中小学“朝读经典”活动课外选读推荐目录,主标题_目录]。
[0393]
应用实施例三。
[0394]
如图9所示,图9是本发明实施例提供的另一种待识别文档的示意图。其中包含20个段落,在图中已经标明部分段落和段落序号。其中部分正文段落省略。
[0395]
针对待识别文档,获取到附件、标题、正文的段落区域的列表为[[5,6,标题],[8,10,正文],[11,11, 附件分割],[12,13,标题],[15,16,标题],[18,20,正文]]。
[0396]
其中子文档的2个标题区域为[[[5,6,标题]],[[12,13,标题],[15,16,标题]]],把字号、对齐方式为居中且段落序号连续的段落合并为一个标题名的段落区域,为[[[5,6,关于xx地风景名胜古迹人物文章绘画征集活动的通知]],[[12,13,xx地风景名胜古迹人物一览表],[15,16,根据部分史料列举仅供参考]]]。
[0397]
遍历子文档,针对子文档中标题名的段落区域进行预处理,进一步得到标题名所对应的标题类型,得到[[[5,6,关于xx地风景名胜古迹人物文章绘画征集活动的通知,通
知]],[[12,13,xx地风景名胜古迹人物一览表,无],[15,16,根据部分史料列举仅供参考,无]]]。
[0398]
每个子文档的第一个标题名的段落区域中的每个段落标记为“主标题_标题类型”,其他为“副标题_ 标题类型”。
[0399]
得到[[[5,6,关于xx地风景名胜古迹人物文章绘画征集活动的通知,主标题_通知]],[[12,13,xx地风景名胜古迹人物一览表,主标题_无],[15,16,根据部分史料列举仅供参考,副标题_无]]]。
[0400]
与上述识别标题的方法相对应,本发明实施例还提供了一种识别标题的装置实施例。
[0401]
如图10所示,图10是本发明实施例提供的一种识别标题的装置的结构示意图。该装置可以包括以下模块。
[0402]
获取模块301,用于获取待识别文档。
[0403]
段落集合确定模块302,用于根据第一段落特征确定待识别文档中的标题段落集合,标题段落集合为一个或多个。
[0404]
标题名确定模块303,用于将标题段落集合中属于同一个标题名的段落合并得到标题名段落集合;标题名段落集合为一个或多个。
[0405]
主标题确定模块304,用于将符合预设主标题条件的标题名段落集合确定为主标题。
[0406]
可选地,标题名确定模块303,用于:将标题段落集合中,第二段落特征相同且段落序号连续的标题段落收集为一个标题名段落集合。
[0407]
可选地,标题名确定模块303,包括:段落遍历子模块303a,用于根据段落序号遍历标题段落集合中的标题段落。
[0408]
收集子模块303b,用于在当前遍历的标题段落的第二段落特征与下一个标题段落相同的情况下,将当前遍历的标题段落与下一个标题段落收集在同一标题名段落集合中;在当前遍历的标题段落的第二段落特征与下一个标题段落不同的情况下,将当前遍历的标题段落与下一个标题段落收集在不同标题名段落集合中。
[0409]
可选地,主标题确定模块304,包括:遍历子模块304a,用于遍历标题名段落集合,并判断标题名段落集合是否符合预设主标题条件。
[0410]
条件子模块304b,用于在标题名段落集合符合预设主标题条件的情况下,将标题名段落集合确定为主标题。
[0411]
可选地,遍历子模块304a,包括:条件判断子模块304a1,用于在标题名段落集合包含的标题段落中,存在标题段落集合中段落序号最小的标题段落的情况下,确定标题名段落集合符合预设主标题条件;在标题名段落集合包含的标题段落中,不存在标题段落集合中段落序号最小的标题段落的情况下,确定标题名段落集合不符合预设主标题条件。
[0412]
可选地,识别标题的装置还包括:副标题确定模块305,用于在标题名段落集合不符合预设主标题条件的情况下,将标题名段落集合确定为副标题。
[0413]
可选地,主标题确定模块304,还包括:预处理子模块304c,用于针对标题名段落集合进行预处理,得到标题字符串。
[0414]
标题类型确定子模块304d,用于在标题字符串包含关键字符集合中任一关键字符
的情况下,根据标题字符串包含的关键字符确定标题类型;其中,标题类型与标题名段落集合一一对应,关键字符集合中任一关键字符对应于一个标题类型。
[0415]
可选地,预处理子模块304c,用于将标题名段落集合中的标题段落包含的字符拼接起来,针对拼接结果删除预设字符,得到标题字符串。
[0416]
可选地,预设字符包括:空白字符;和/或预设符号之间的字符。
[0417]
可选地,条件子模块304b,包括:主标题标记子模块304b1,用于根据主标题和标题名段落集合对应的标题类型,标记标题名段落集合中的标题段落。
[0418]
可选地,主标题确定模块304,还包括:副标题标记子模块304e,用于在标题名段落集合不符合预设主标题条件的情况下,根据副标题和标题名段落集合对应的标题类型,标记标题名段落集合中的标题段落。
[0419]
可选地,第二段落特征包括:字号和/或对齐方式。
[0420]
可选地,段落集合确定模块302,包括:段落确定子模块302a,用于根据第一段落特征确定待识别文档中的标题段落,标题段落为一个或多个。
[0421]
段落收集子模块302b,用于遍历标题段落;在当前遍历的标题段落的段落序号与下一个标题段落的段落序号连续的情况下,将当前遍历的标题段落与下一个标题段落收集在同一标题段落集合中;在当前遍历的标题段落的段落序号与下一个标题段落的段落序号不连续的情况下,将当前遍历的标题段落与下一个标题段落收集在不同标题段落集合中。
[0422]
上述装置实施例的解释可以参见上述方法实施例。
[0423]
针对待识别文档,除了待识别文档中的标题部分,在待识别文档中的正文部分,也可能存在正文中的标题。具体可以包括正文中的小标题。
[0424]
因此,在上述识别标题的实施例的基础上,本说明书实施例还提供了识别正文中层级标题的实施例。
[0425]
目前,用户在使用文档编辑软件对文档进行编辑时,可能需要编辑部分排版格式固定的文档。例如,行政公文。
[0426]
行政公文中,对于正文中的层级标题存在固定的排版格式。例如,文中结构层次序数依次可以用“一、”“(一)”“1.”“(1)”标注;一般第一层用黑体字、第二层用楷体字、第三层和第四层用仿宋体字标注。
[0427]
用户在编辑文档时,通常使用正文的格式编辑正文中的层级标题内容。具体可以是在正文格式下编辑层级标题内容后,调整这一层级标题内容的字体。
[0428]
具体的示例如图11所示。其中,图11是本发明实施例提供的一种层级标题编辑示例的示意图。
[0429]
用户针对文档中层级标题的内容,往往需要手动调整排版格式,不仅操作繁琐,还容易出现错误。例如,在层级标题较多,可能并不会使用指定的“一、”“(一)”“1.”“(1)”标注;或者错误调整层级标题的字体;或者在同一层级的层级标题中使用不同格式的编号。通常可以由软件识别出层级标题并自动排版。但目前的文档编辑软件通常不支持对层级标题的识别。
[0430]
为了便于理解,如图12所示,图12是本发明实施例提供的一种层级标题正确排版示例的示意图。图 12中是用户针对图11中编辑的层级标题,根据上述猜层级标题的排版格式规定而手动修改的。可以看出,其中的一级标题的字体已经修改为黑体,二级标题的字体
保留为楷体。
[0431]
如果用户利用文档编辑软件自带的智能识别功能或者其他智能识别插件,则无法识别出正文中的层级标题,通常会根据用户编辑层级标题内容时使用的正文格式进行调整,将层级标题也识别为正文,从而并不会针对层级标题内容的排版格式进行修改。
[0432]
如图13所示,图13是本发明实施例提供的一种层级标题错误排版示例的示意图。图13中是用户针对图11中编辑的层级标题,在智能识别插件识别为正文后调整的排版。可以看出,其中的层级标题的字体并未修改,仍然是楷体,并不符合行政公文的排版格式规定。
[0433]
为了解决上述问题,本发明提供了一种识别层级标题的方法。该方法具体可以应用在文档编辑软件上,也可以应用在其他软件上。
[0434]
在本发明所提供的识别层级标题的方法中,可以根据文档中层级标题的特征进行识别。具体可以是确定文档中的正文段落,进一步地,在正文段落中确定出层级结构,进而根据层级结构确定出层级标题,方便自动地将层级标题调整为正确的排版格式,从而方便用户操作,避免出现错误。
[0435]
下面通过具体的实施例,对本发明实施例提供的一种识别层级标题的方法进行详细描述。
[0436]
在具体介绍方法之前,首先解释本方法流程所涉及的概念。
[0437]
文档:具体可以是用户在文档编辑软件中所编辑的对象,可以由字符组成,其中可以包括至少1个段落。段落之间可以利用回车符号进行区分。
[0438]
需要注意的是,文档中的段落之间存在顺序,并且每个段落存在对应的段落序号。具体可以是从文档开头的第一个段落开始,段落序号从1开始连续递增,直到文档的最后一个段落。
[0439]
此外,文档中可以包括标题和正文。当然,并不限定文档中标题和正文的数量,具体文档可以包括多个标题和多个正文。例如,多个标题分别是文档第一章、第二章、...第十章的标题,而每一个章节都可以存在对应的正文。
[0440]
而在文档的正文中,还可以进一步包含层级标题。例如,在编辑正文时,可以利用一、二、三、1、2、 3等编号标注正文中的层级标题,区分出不同的层级。
[0441]
子文档:由于文档中可以包含多个标题和多个正文,为了便于描述,将待识别文档中的一个标题和对应的正文统称为一个子文档。因此,待识别文档中可以包含一个或多个子文档。
[0442]
例如,可以在一个文档中编辑多个章节,每个章节内容包含章节标题和章节正文,可以将每个章节内容视为子文档。也可以在文档中编辑附件内容,附件内容可以被视为子文档。
[0443]
层级标题:具体可以是在正文中通过编号标记的标题。其中可以包括一级标题、二级标题、三级标题等。
[0444]
其中,不同层级的标题之间存在层级关系,一级标题的层级高于二级标题,二级标题的层级高于三级标题,以此类推。在一种可选的实施例中,层级标题可以只包括一级标题、二级标题、三级标题和四级标题。
[0445]
此外,正文中的层级标题,可以对应于正文中的部分内容。而在单个一级标题对应
的正文部分内容中,可以包含一个或多个二级标题对应的正文部分内容。
[0446]
例如,在正文中可以利用一、二、三格式的编号标记段落,作为一级标题,划分正文中的不同部分。而在单个一级标题所对应的正文部分中,可以进一步利用其他格式的编号进行划分,具体可以是利用(一)、 (二)、(三)格式的编号标记段落,作为二级标题,划分该一级标题所对应正文部分中的不同部分。以此类推,可以得到三级标题和四级标题。
[0447]
在利用层级标题划分正文中的不同部分时,可以将所划分的正文部分确定为层级标题对应的正文部分。
[0448]
在一种具体的示例中,正文可以包含第一章、第二章和第三章,具体为一级标题。而第一章对应的正文内容中,可以包含第一节、第二节和第三节。第二章对应的正文内容中,也可以包含第一节、第二节和第三节。其中的第一节、第二节和第三节都可以是二级标题。
[0449]
需要注意的是,由于正文中包含的层级标题并不是严格意义上的文档标题,因此,用户在实际编辑时,可能将层级标题与对应的正文部分内容编辑在同一个段落中。为了便于描述,将包含层级标题和正文部分内容的段落称为标题正文。因此,层级标题具体的内容形式可以是标题,也可以是标题正文。
[0450]
编号格式:具体可以是编号的编辑形式。
[0451]
编号的格式可以包括:编号的语言形式、编号是否携带括号、编号的固定格式(第一章、1.1)等。具体可以包括:编号的语言形式为汉字、数字或者字母等。例如,一、(1)、1、1.1、第一章等等。
[0452]
例如,一、二、三的编号格式相同,都是汉字形式且都不携带括号。(1)、(2)、(3)可以是格式相同的编号;1.2、2.1、3.4可以是格式相同的编号;第一,第二,第三可以是相同格式的编号;一、二、三可以是相同格式的编号;第一章、第二章、第三章可以是相同格式的编号;1、2、3可以是相同格式的编号。
[0453]
正文中,同一层级的层级标题可以包含相同格式的编号,而不同层级的层级标题可以包含不同格式的编号进行区分。
[0454]
层级结构:具体可以是用于表征正文中层级标题之间的层级关系的结构。其中可以包含层级标题所包含编号的格式,以及层级标题之间的层级关系。
[0455]
其中,编号格式可以用于表征正文中对应的层级标题。
[0456]
而为了表征层级标题之间的层级关系,可以在层级结构中按照层级高低关系进行排序,也可以直接将层级标题本身对应的层级(例如,一级标题对应的一级层级,二级标题对应的二级层级),对应于层级结构中的编号格式。
[0457]
下面给出层级结构的几种具体示例,其中可以根据层级关系可以从高到低排列,层级结构可以使用方括号表示,而层级结构中的编号格式之间可以使用逗号隔开,从左到右层级逐渐降低。例如,[一,(一), 1,(1)]、[1,1.1,1.1.1]、[第一章,第一节,第一条]或者[第一章,1.1,1.1.1]。
[0458]
当然,本说明书并不限定层级结构的具体形式。层级结构的具体形式还可以包含层级,具体可以是[一级:一,二级:(一),三级:1,四级:(1)]。
[0459]
段落特征:具体可以是段落本身具有的一些特征,例如对齐方式、字号、最大字号、最小字号、字体、段落内容、是否包含编号、包含的编号格式、是否加粗等等。通过段落特征,
可以帮助确定段落本身属于标题或正文。
[0460]
如图14所示,图14是本发明实施例提供的一种识别层级标题的方法的流程示意图。其中包括以下步骤。
[0461]
s401:获取待识别文档。
[0462]
可选地,待识别文档可以是任一文档,为了便于描述,将被用于识别层级标题的文档称为待识别文档。
[0463]
在一种可选的实施例中,用于编辑待识别文档的电子设备可以在本地执行本方法流程,并不与其他设备进行交互。在一种具体的示例中,本方法流程可以通过文档编辑软件客户端包含的本地逻辑实现。
[0464]
在另一种可选的实施例中,与编辑待识别文档的电子设备交互的其他电子设备也可以执行本方法流程。在一种具体的示例中,本方法流程可以通过与文档编辑软件客户端交互的服务端实现。
[0465]
因此,在一种可选的具体实施例中,客户端可以基于用户的操作,将任一文档发送到服务端,也就是服务端接收客户端发送的待识别文档,以便于服务端识别出待识别文档中的层级标题,并将识别结果返回到客户端。识别结果可以是包含标题标注的文档,也可以是被识别为层级标题的段落标识,段落标识具体可以是段落序号。
[0466]
此外,在一种可选的实施例中,可以是针对一个文档先识别出其中的子文档,再将识别出的任一子文档确定为待识别文档,执行以下步骤,确定出子文档的正文段落集合。
[0467]
由于子文档中可以只包括一个正文,因此,只存在一个正文段落集合。
[0468]
s402:根据第三段落特征确定待识别文档中的正文段落集合。
[0469]
可选地,第三段落特征可以是用于帮助确定正文的段落特征。具体可以包括:是否包含编号、字号、加粗、对齐方式等。
[0470]
所确定的正文段落集合可以是一个或多个。当然,在待识别文档是子文档的情况下,所确定的正文段落集合为一个。
[0471]
在一种可选的实施例中,具体可以是基于第三段落特征,确定待识别文档中每个段落属于正文的概率。具体可以是利用机器学习的方法,针对所输入的段落的第三段落特征,输出段落属于正文的概率。
[0472]
进一步可以确定正文概率大于预设概率的段落,从而确定其中的正文最大字号。将待识别文档中,字号小于正文最大字号的段落都识别为正文段落。
[0473]
可选地,可以根据第三段落特征确定待识别文档中的正文段落;所确定的正文段落为一个或多个。遍历所确定的正文段落;在当前遍历的正文段落的段落序号与下一个正文段落的段落序号连续的情况下,将当前遍历的正文段落与下一个正文段落收集在同一正文段落集合中;在当前遍历的正文段落的段落序号与下一个正文段落的段落序号不连续的情况下,将当前遍历的正文段落与下一个正文段落收集在不同正文段落集合中。
[0474]
通过上述实施例可以收集得到一个或多个正文段落集合。正文段落集合中可以包括一个正文段落,或者多个段落序号连续的正文段落。
[0475]
其中,段落序号连续可以表征段落的序号是根据顺序递增的,每次可以增加1。例如,连续的段落序号包括12、13、14。
[0476]
在本实施例中,可以通过确定正文段落集合,进而方便执行后续的步骤。而利用第
三段落特征进行识别,可以提高识别效率,并且提高识别的准确率。
[0477]
在一种可选的实施例中,所获取的待识别文档可以是识别出的子文档,而子文档在识别的过程中,已经识别出其中包含的正文段落。因此,在待识别文档是子文档的情况下,其中的正文段落已经被识别出来,具体确定正文段落集合,可以直接确定出所识别的正文段落,得到正文段落集合。
[0478]
在一种可选的实施例中,所获取的待识别文档也可以包括一个或多个子文档需要划分。因此,可以先根据段落特征划分出待识别文档中的子文档,所划分的子文档可以是一个或多个,再针对每个子文档确定出其中的正文段落集合。
[0479]
本实施例并不限定划分子文档的方法,可选地,可以根据预设附件段落特征,将待识别文档划分为附件文档;附件文件为一个或多个。
[0480]
针对每个附件文档,可以将每个附件文档中具有相同第三段落特征的段落收集为一个预备段落集合;收集得到的预备段落集合为一个或多个。
[0481]
针对每个预备段落集合中段落序号最小的段落与段落序号最大的段落,确定待识别文档中段落序号最小的段落与段落序号最大的段落之间的全部段落,将所确定的段落添加到该预备段落集合中。
[0482]
针对每个附件文档中的全部预备段落集合进行合并处理,合并处理可以包括合并存在交集的预备段落集合;合并处理后的不同预备段落集合之间不存在交集。
[0483]
遍历合并处理后的预备段落集合,确定当前遍历的预备段落集合为预备标题或预备正文。
[0484]
根据所确定的预备标题和预备正文,确定子文档;所确定的子文档为一个或多个;针对每个子文档,收集每个子文档中被确定为预备正文的段落,得到正文段落集合。
[0485]
其中,可选地,预设附件段落特征可以用于表征附件段落,附件段落具体可以是表示附件的段落,具体可以是包含附件关键字的段落。当然,附件关键字可以包括:附件、附、附图等。
[0486]
可选地,具体根据预设附件段落特征,将待识别文档划分为附件文档,可以是根据预设附件段落特征,确定待识别文档中的附件段落,再根据附件段落将待识别文档划分为附件文档。
[0487]
通过附件段落,可以将待识别文档初步划分为多个文档部分,以便于后续进一步划分得到子文档。
[0488]
当然,如果待识别文档中不包含附件段落,则可以将待识别文档作为一个附件文档。如果待识别文档中包含附件段落,则可以根据附件段落,将所划分的每个文档部分确定为附件文档。
[0489]
可选地,具体在合并处理时,可以针对每个附件文档,遍历所收集的每个预备段落集合,在当前遍历的预备段落集合,与其他任一预备段落集合存在交集的情况下,可以合并当前遍历的预备段落集合和存在交集的其他任一预备段落集合。合并得到的新的预备段落集合,由于包含其他的预备段落集合,因此合并得到的新的预备段落集合需要被遍历,再次确定是否还存在其他预备段落集合与其存在交集,进行合并。
[0490]
为了便于理解,在一种具体的示例中,[20,40]可以表示包含序号20到40的段落的预备段落集合,[30,40] 可以表示包含序号30到40的段落的预备段落集合。由于这两个预
备段落集合存在交集,经过合并处理后,可以得到[20,40]这一新的预备段落集合。
[0491]
当然,本实施例并不限定具体合并处理的方法,只要合并处理后的不同预备段落集合之间不存在交集即可。
[0492]
在确定预备段落集合为预备标题或预备正文时,可以采用上述确定正文最大字号的方法,利用正文最大字号确定预备标题或预备正文。
[0493]
具体可以是将字号大于正文最大字号的预备段落集合确定为预备标题,将字号小于或等于正文最大字号的预备段落集合确定为预备正文。
[0494]
可选地,之后可以根据所确定的预备正文和预备标题确定子文档。
[0495]
首先需要根据所确定的预备正文和预备标题确定正文和标题。具体可以针对每个附件文档,根据段落序号对包含的全部预备段落集合进行排序,合并排序序号连续且都被确定为预备正文的预备段落集合,得到正文部分;还可以合并排序序号连续且都被确定为预备标题的预备段落集合,得到标题部分。
[0496]
由于子文档通常包含一个正文和一个标题,并且标题通常在正文之前,因此,可选地,可以根据每个附件文档的段落序号,按照从前到后的顺序,将连续的一个标题部分和一个正文部分确定为一个子文档。
[0497]
当然,如果没有对应的标题部分,也可以直接将一个正文部分确定为一个子文档。
[0498]
可选地,确定子文档之后,可以直接将其中的正文部分确定为正文段落集合。
[0499]
s403:根据正文段落集合确定备选层级结构。
[0500]
所确定的备选层级结构可以为一个或多个。
[0501]
由于s402中可以确定出待识别文档中一个或多个正文段落集合,因此,可选地,可以针对每个正文段落集合都执行s403-s405,确定出每个正文段落集合对应的正文层级结构。
[0502]
具体在解释时,本方法流程仅仅解释针对单个正文段落集合执行s403-s405的实施例,其他正文段落集合可以通过相同的实施例得到正文层级结构。
[0503]
根据正文段落集合中,正文段落所包含的编号,以及正文段落之间的关系,可以确定出一种或多种层级关系,进而可以确定出一个或多个层级结构。具体的方法解释在后文说明。
[0504]
可选地,可以直接将所确定的层级结构确定为备选层级结构。具体地,可以是根据正文段落集合确定备选层级结构,所确定的备选层级结构可以是一个或多个。
[0505]
可选地,也可以根据预设的层级结构集合,将所确定的层级结构中符合条件的层级结构确定为备选层级结构。所确定的备选层级结构可以是一个或多个。
[0506]
具体可以是,如果预设的层级结构集合包含所确定的任一层级结构,则可以将该层级结构确定为备选层级结构。
[0507]
其中,预设的层级结构集合可以包含预先设置的一个或多个层级结构。
[0508]
由于在文档编辑过程中,可能出现不符合规范的层级结构和编号格式,例如,第a章回、1*1等,因此,可以预先设置符合规范的层级结构,作为预设的层级结构集合,以便于识别确定出符合规范的正文层级结构,提高用户体验。
[0509]
当然,可选地,预设的层级结构集合可以包括编号格式符合规范的层级结构,或者可以包括业务人员预先确定的层级结构。
[0510]
s404:在所确定的备选层级结构中,确定待识别文档的正文层级结构。
[0511]
可选地,备选层级结构可以是通过正文段落的编号和层级关系确定出的,其中可能包含错误识别的层级关系,或者不全面的层级结构,或者存在分歧的层级结构。具体可以是相同的编号格式,在不同的备选层级结构中对应于不同的层级。
[0512]
例如,正文段落集合中可能包含以下编号,分别是第一章、1、2、3、第二章、一、二、三。显然,其中可以包含两种层级结构,分别是[第一章,1]和[第一章,一],对应于二级的编号格式不同。
[0513]
可选地,为了方便确定出正文段落集合中唯一的层级标题,需要从备选层级结构中确定出正确的层级结构,为了便于描述,具体可以称为待识别文档的正文层级结构,也可以是正文段落集合所对应的正文层级结构。
[0514]
s405:根据待识别文档的正文层级结构确定层级标题。
[0515]
可选地,由于正文层级结构中包含编号格式以及对应的层级,因此,可以直接确定出正文层级结构所包含的编号格式,针对所包含编号格式与正文层级结构中任一编号格式相同的段落,可以确定为层级标题。
[0516]
而具体地,层级标题的层级与所包含编号格式在正文层级结构中对应的层级可以相同。
[0517]
例如,第一章编号格式可以在正文层级结构中对应于一级,那么,包含第一章编号格式的段落,可以确定为一级标题或一级标题正文。
[0518]
通过正文层级结构,可以方便地确定出属于层级标题的段落,以及层级标题所对应的层级,提高用户的操作体验,可以方便后续根据层级标题所对应的层级,确定对应的排版格式进行调整,具体可以包括调整字体等操作。
[0519]
在本方法流程中,可以根据文档中层级标题的特征进行识别。具体可以是确定文档中的正文段落,进一步地,在正文段落中确定出层级结构,进而根据层级结构确定出层级标题,方便自动地将层级标题调整为正确的排版格式,从而方便用户操作,避免出现错误。
[0520]
在一种可选的实施例中,可以将上述识别层级标题的方法应用到上述识别标题的方法中,具体可以是在识别标题的方法流程中,还包括上述步骤s402-s405。
[0521]
下面针对s403进行详细的解释。
[0522]
在确定出待识别文档中的正文段落集合后,可以将正文段落集合视为一个正文整体,其中可以包括层级标题。
[0523]
而在确定层级标题之前,可以先根据正文段落集合中包含编号的段落,确定出不同编号格式之间的层级关系,得到一个或多个备选层级结构,从备选层级结构中确定出正文层级结构后,再根据正文层级结构中的层级关系确定出层级标题。
[0524]
例如,将层级结构中层级关系最高的编号格式确定为一级标题需要包含的编号的格式;将层级结构中层级关系第二高的编号格式确定为二级标题需要包含的编号的格式。从而可以利用层级结构确定层级标题。
[0525]
在一种可选的实施例中,层级结构可以包含单个编号格式,或者多个编号格式。不同编号格式可以对应于不同的层级。
[0526]
其中,单个编号格式通常可以被直接确定为层级最高的编号格式。而存在多个编号格式时,就需要确定多个编号格式之间的层级关系或者多个编号格式分别对应的层级。
[0527]
例如,层级结构[一]中可以直接确定层级关系最高的编号格式为“一”,而层级结构[一、1、(1)]中可以确定其中的3个编号格式之间,层级关系从高到低分别是“一”、“1”和“(1)”。
[0528]
当然,在其他可选的实施例中,层级结构也可以包括一个或多个包含编号的正文段落,其中,多个包含编号的正文段落之间具有层级关系。
[0529]
在确定层级结构时,可以从正文段落集合中包含编号的正文段落中,获取到正文段落集合包含的编号格式,再确定出编号格式之间的层级关系,就可以确定层级结构。
[0530]
但确定的编号格式之间的层级关系可能存在多种,例如,编号格式“一”的层级比编号格式“1”的层级高一级,编号格式“一”的层级比编号格式“(一)”的层级也高一级。换言之,编号格式“1”的层级与编号格式“(一)”的层级相同,则难以确定出唯一的层级结构。
[0531]
因此,可以先将所能够确定的层级结构综合起来,作为备选,再从备选中选出最有可能的一种备选作为最终确定的层级结构。
[0532]
在一种可选的实施例中,确定层级结构的预设方法可以包括:基于正文段落集合中包含编号的正文段落,确定备选层级结构;从所确定的备选层级结构中确定层级结构。
[0533]
当然,在其他可选的实施例中,也可以从多个确定的层级结构中直接随机选择一个层级结构,并不需要从备选层级结构中确定。
[0534]
在一种可选的实施例中,具体确定备选层级结构的方法,可以包括:在正文段落集合中,确定包含编号的段落;针对所确定的段落,确定段落之间的层级关系;根据段落之间的层级关系,确定段落所包含编号的格式之间的层级关系;根据所确定的编号格式之间的层级关系,确定备选层级结构;所确定的备选层级结构中包含一个或多个层级,所包含的不同层级对应于不同编号格式。
[0535]
可选地,由于每个层级标题可以对应于部分正文,通常情况下,在一个层级标题对应的正文部分中,可以使用下一层级的层级标题继续划分正文部分。换言之,通常上一层级的层级标题对应的正文部分可以包含下一层级的层级标题对应的正文部分。
[0536]
因此,为了便于明确编号格式之间的层级关系,可以先确定包含编号的段落所对应的正文部分。
[0537]
可选地,为了便于描述,将包含编号的段落所对应的正文部分称为覆盖段落集合。
[0538]
具体确定备选层级结构的步骤,可以包括以下为包含编号的正文段落确定覆盖段落集合的步骤。
[0539]
具体可以包括:将正文段落集合中,包含相同格式的编号的正文段落添加到同一正文段落子集中;所得到的正文段落子集可以是一个或多个;针对每个正文段落子集,根据段落序号从小到大遍历该正文段落子集中的段落,在存在下一个待遍历的段落的情况下,将对应的正文段落集合中,段落序号大于或等于当前遍历的段落的段落序号,且小于下一个待遍历的段落的段落序号的段落,添加到当前遍历的段落的覆盖段落集合中。
[0540]
在不存在下一个待遍历的段落的情况下,将当前遍历的段落,添加到当前遍历的段落的覆盖段落集合中。
[0541]
换言之,针对最后一个遍历的正文段落,该正文段落的覆盖段落集合中可以只包括该正文段落本身。
[0542]
在确定了正文段落集合中包含编号的每个正文段落的覆盖段落集合后,可以根据
对应的正文段落集合中包含编号的段落的覆盖段落集合,在预存层级结构集合中确定备选层级结构。
[0543]
可选地,也可以根据对应的正文段落集合中包含编号的段落的覆盖段落集合,直接确定备选层级结构。
[0544]
可选地,具体利用覆盖段落集合确定备选层级结构,可以是根据覆盖段落集合之间交集的情况,确定包含编号的不同段落之间的层级关系,也就是不同段落所包含编号的格式之间的层级关系。
[0545]
可选地,可以根据段落序号,按照从小到大的顺序,遍历正文段落集合中包含编号的段落。
[0546]
在当前遍历的正文段落的覆盖段落集合,与下一个待遍历的段落的覆盖段落集合之间没有交集的情况下,进一步判断当前遍历的正文段落包含编号与第一段落包含编号的格式是否相同。
[0547]
如果当前遍历的正文段落包含的编号与下一个段落包含的编号的格式相同,则确定当前遍历的正文段落与下一个段落之间的层级关系用于表征层级相同。其中,当前遍历的段落与下一个段落之间的层级关系,可以包括:当前遍历的段落包含的编号格式对应的层级,与下一个段落包含的编号格式对应的层级之间的高低关系。
[0548]
如果当前遍历的正文段落包含编号与下一个段落包含编号的格式不同,则可以根据相似段落确定层级关系。
[0549]
在当前遍历的正文段落的覆盖段落集合,与下一个段落的覆盖段落集合之间存在交集的情况下,可以基于相似段落确定层级关系。
[0550]
其中,可选地,相似段落可以是包含编号格式与下一个段落包含编号格式相同的正文段落。
[0551]
显然,如果存在相似段落,可以确定相似段落与下一个段落对应的层级相同。因此,可以在已遍历的正文段落中判断是否存在相似段落。
[0552]
可选地,根据相似段落确定层级关系,可以包括:在已遍历的正文段落中存在相似段落的情况下,确定相似段落与下一个段落之间的层级关系用于表征层级相同;在已遍历的段落中不存在相似段落的情况下,确定当前遍历的正文段落与下一个段落之间的层级关系用于表征,当前遍历的正文段落对应的层级比下一个段落对应的层级高一级。
[0553]
其中,相似段落与下一个段落之间的层级关系,可以包括:相似段落包含的编号格式对应的层级,与下一个段落包含的编号格式对应的层级之间的高低关系。
[0554]
可选地,在遍历已遍历的正文段落,确定其中是否存在相似段落时,可以根据段落序号,按照从大到小的顺序,针对已遍历的正文段落进行遍历。也可以按照从小到大的顺序,针对已遍历的正文段落进行遍历。
[0555]
可选地,在遍历到对应的正文段落集合中段落序号最大的正文段落后,不存在下一个待遍历的正文段落,也就可以不执行步骤确定层级关系。
[0556]
由于正文段落集合中,段落序号最大的正文段落在作为下一个段落时可以确定层级关系,因此,段落序号最大的正文段落也存在与其他正文段落的层级关系。
[0557]
显然,在遍历结束之后,可以确定出对应的正文段落集合中,不同包含编号的正文段落之间的层级关系,根据所确定的正文段落之间的层级关系,可以进一步确定临时层级
结构。所确定的临时层级结构可以是一个或多个。
[0558]
可选地,临时层级结构可以是直接根据所确定的层级关系确定出的层级结构,可以直接将临时层级结构确定为备选层级结构。
[0559]
可选地,也可以利用预设的层级结构集合,针对临时层级结构进行筛选和判断,从预设的层级结构集合中确定出备选层级结构。
[0560]
具体可以是,在预设的层级结构集合中包含任一临时层级结构的情况下,将该临时层级结构确定为备选层级结构。
[0561]
具体可以是进一步确定正文段落集合包含的编号格式之间的层级关系,再利用编号格式之间的层级关系,确定临时层级结构。由于层级关系可能不止一个,因此,可以对应确定出至少一个临时层级结构。
[0562]
可选地,具体可以是遍历段落之间的层级关系;针对当前遍历的层级关系,确定当前遍历的层级关系中包含的段落;针对所确定的段落,确定段落中包含编号的格式;将当前遍历的层级关系,确定为所确定的编号格式之间的层级关系。
[0563]
相对应地,具体确定备选层级结构,可以是根据所确定的编号格式之间的层级关系,确定临时层级结构;所确定的临时层级结构为一个或多个,包含一个或多个层级,所包含的不同层级对应于不同编号格式;遍历所确定的临时层级结构,在预设的层级结构集合中存在当前遍历的临时层级结构的情况下,将当前遍历的临时层级结构确定为备选层级结构。
[0564]
当然,在其他可选的实施例中,确定临时层级结构,也可以无需确定覆盖段落集合,直接遍历任一正文段落集合中的每个正文段落,获取正文段落所包括的编号,根据获取的顺序,直接确定出编号之间的层级关系,从而确定临时层级结构。
[0565]
在一种可选的实施例中,具体确定备选层级结构的步骤,可以是在每次遍历正文段落集合中包含编号的正文段落时,在确定出当前遍历的正文段落与下一个段落之间的层级关系后,根据当前所确定的层级关系、当前遍历的正文段落包含编号的格式、以及下一个段落包含编号的格式,确定一次临时层级结构。
[0566]
可选地,所确定的临时层级结构中可以至少包括当前确定的层级最高的编号格式、当前遍历的正文段落包含编号的格式、以及下一个段落包含编号的格式。
[0567]
可选地,具体在确定临时层级结构时,可以利用当前遍历的正文段落包含编号的格式所涉及的全部层级关系、下一个段落包含编号的格式所涉及的全部层级关系、以及当前所确定的层级关系,确定出一个包含层级最高的编号格式的层级关系,进而基于所确定的层级关系确定临时层级结构。
[0568]
在本实施例中,可以将确定的临时层级结构添加到临时层级结构集合中,从而可以整合重复的临时层级结构。也可以在确定出重复的临时层级结构的情况下,删除重复的临时层级结构。
[0569]
在一种具体的示例中,针对一个正文段落集合,其中包含有以下正文段落:包含编号“一”和“二”的段落;在编号“一”对应的正文段落中,具有包含编号“1”和“2”的段落;在编号“二”对应的正文段落中,具有包含编号“(一)”和“(二)”的段落。
[0570]
基于上述实施例,可以确定出包含编号“一”的段落与包含编号“1”“2”的段落之间的层级关系为,包含编号“一”的段落层级比包含编号“1”“2”的段落层级高一级;并且可以
确定出包含编号“二”的段落与包含编号“(一)”“(二)”的段落之间的层级关系为,包含编号“二”的段落层级比包含编号“(一)”“(二)”的段落层级高一级。
[0571]
因此,可以得到2个层级关系,基于这2个层级关系,可以确定出2个备选层级结构,分别是[一,1] 和[一,(一)]。
[0572]
当然,也可以在遍历确定层级关系时,每确定出一个层级关系,就确定出一个对应的备选层级结构,则可以确定出3个不重复的备选层级结构,分别是[一]、[一,1]和[一,(一)]。
[0573]
下面针对s404进行详细的解释。
[0574]
在确定出备选层级结构之后,可以进一步确定待识别文档的正文层级结构。
[0575]
在一种可选的实施例中,在确定出一个备选层级结构的情况下,可以直接将所确定的备选层级结构确定为待识别文档的正文层级结构。
[0576]
在另一种可选的实施例中,在确定出多个备选层级结构的情况下,可以将满足预设要求的备选层级结构确定为待识别文档的正文层级结构。
[0577]
可选地,正文层级结构可以唯一对应于一个正文整体,而待识别文档中可以包含多个正文整体。因此,待识别文档中可以包含一个或多个正文层级结构。需要注意的是,待识别文档可以是识别出的子文档,其中只包含一个正文整体,因此可以只包含一个正文层级结构。
[0578]
可选地,预设要求可以包括:对应段落数量最多的备选层级结构。备选层级结构对应段落可以是:在正文段落集合中,所包含编号的格式与备选层级结构中任一编号格式相同的段落。
[0579]
可选地,在所确定的备选层级结构中,确定待识别文档的正文层级结构,可以包括:遍历备选层级结构,确定当前遍历的备选层级结构对应段落的数量。
[0580]
遍历结束后,根据备选层级结构对应段落的数量,确定待识别文档的正文层级结构。
[0581]
具体可以是将对应段落数量最多的备选层级结构,确定为待识别文档的正文层级结构。
[0582]
其中,可选地,层级结构对应的段落可以包括:对应的正文段落集合中,包含编号格式与层级结构中任一编号格式相同的正文段落。
[0583]
此外,由于公文格式中规定了正确的层级标题应当使用的编号格式,分别是“一、”“(一)”“1.”“(1)”,因此,可以尽可能地选择编号格式为正确的编号格式的备选层级结构。
[0584]
为了便于描述,将包含正确的编号格式的层级结构称为预设层级结构。
[0585]
而针对预设层级结构之外的错误层级结构,为了便于用户编辑,适应不同的用户编辑情况,可以进一步利用错误的层级结构确定层级标题,从而提高用户体验。
[0586]
因此,可选地,在所确定的多个备选层级结构中包含任一预设层级结构的情况下,预设要求可以包括:备选层级结构对应的段落数量最多,且备选层级结构为预设层级结构。
[0587]
在所确定的多个备选层级结构中不包含任一预设层级结构的情况下,预设要求可以包括:备选层级结构对应的段落数量最多。
[0588]
因此,在所确定的备选层级结构不包含任一预设层级结构的情况下,将对应段落数量最多的备选层级结构,确定为待识别文档的正文层级结构;在所确定的备选层级结构
包含任一预设层级结构的情况下,将对应段落数量最多的预设层级结构,确定为待识别文档的正文层级结构。
[0589]
其中,可选地,预设层级结构可以包括:[一,(一)]、[一,(一),1]和[一,(一),1,(1)]。
[0590]
下面针对s405进行详细的解释。
[0591]
在确定正文层级结构之后,可以根据正文层级结构确定层级标题。
[0592]
可选地,具体可以是将正文层级结构的对应段落确定为层级标题。
[0593]
可选地,根据正文层级结构确定层级标题,可以包括:确定正文层级结构的对应段落;遍历所确定的对应段落,确定当前遍历的对应段落包含的编号格式在正文层级结构中对应的层级,根据所确定的层级,将当前遍历的对应段落确定为层级标题。
[0594]
其中,正文层级结构对应段落可以是:在正文段落集合中,所包含编号的格式与正文层级结构中任一编号格式相同的段落。
[0595]
其中,根据所确定的层级,将当前遍历的对应段落确定为层级标题,可以包括:将当前遍历的对应段落确定为,对应于所确定的层级的标题或标题正文。
[0596]
具体可以是将当前遍历的对应段落标记为,对应于所确定的层级的标题或标题正文。
[0597]
其中,具体标题或标题正文的识别,可以根据段落中的字符数量或者段落特征进行识别。可选地,如果段落中包含字符数量大于预设数量,则确定为标题正文,否则确定为标题。
[0598]
在一种具体的示例中,所确定的正文层级结构可以是[一,(一),1,(1)],则其中的编号格式可以分别对应于不同的层级,具体可以包括一级:一,二级:(一),三级:1,四级:(1)。
[0599]
因此,可以将包含“一”编号格式的编号的段落,确定为一级标题,将包含“(一)”编号格式的编号的段落,确定为二级标题,以此类推。
[0600]
显然,可以根据所确定的正文层级结构,在确定对应的正文段落集合中,正文段落包含的编号格式,与所确定的正文层级结构中任一编号格式相同的情况下,可以确定该正文段落对应的层级。
[0601]
在用于编辑待识别文档的电子设备在本地执行本方法流程的情况下,可以直接基于识别结果自动调整排版格式。
[0602]
而在与编辑待识别文档的电子设备交互的其他电子设备执行本方法流程的情况下,一种可选的实施例中,在针对待识别文档确定全部的层级标题后,可以进一步向编辑待识别文档的电子设备返回识别结果,当然,也可以在调整排版格式后再返回。
[0603]
可选地,可以将所识别出的每个层级标题对应的段落标识返回,以便针对接收到的段落标识对应的段落调整排版。具体的段落标识可以是段落序号。
[0604]
可选地,可以调整待识别文档中被识别出的每个层级标题的排版,并将调整后的待识别文档返回。
[0605]
如图15所示,图15是本发明实施例提供的一种识别层级标题的方法中文档交互的原理示意图。
[0606]
其中,用户针对待识别的文档,可以通过客户端触发用于识别层级标题的操作,使
得客户端将待识别文档发送到服务端。其中,客户端具体可以是一种文档编辑软件的客户端。
[0607]
服务端在识别出待识别文档中的层级标题后,可以将层级标题对应的段落的段落标识返回给客户端。
[0608]
在本实施例中,通过将识别结果返回到客户端,可以方便客户端自动进行排版调整,从而避免用户手动调整等操作,方便用户操作,提高用户体验。
[0609]
通过上述方法流程,可以通过利用层级标题的段落特征,确定出正文中的层级标题,并兼容多种用户可能编辑错误的情况,可以在复杂的文档编辑情况中,识别出多种情况下的层级标题。不仅可以容错,方便用户编辑和使用,还可以便于利用识别出的层级标题,将其自动调整为正确的排版格式,方便用户操作,提高用户体验。
[0610]
而通过上述方法流程识别出的层级标题,可以用于后续行政公文格式的校对以及行政公文的转换。
[0611]
具体可以是在使用软件提供的行政公文校对功能时,通过上述方法流程识别出文档中的层级标题,进一步检查所识别出的层级标题的排版格式是否符合规定。如果符合规定,则返回通过校对的结果;如果不符合规定,则可以返回未通过校对的结果,或者进一步自动调整所识别出的层级标题的排版格式,使得调整后的排版格式符合规定。
[0612]
或者,也可以是在使用软件提供的行政公文转换功能时,通过上述方法流程识别出文档中的层级标题,进一步自动将所识别出的层级标题的排版格式调整为符合规定的排版格式。
[0613]
此外,在待识别文档中,可以包含一个或多个标题,不同标题可以对应于不同的正文部分。例如,在一个文档中编辑小说或杂志时,通常可以包含多篇文章,不同文章可以包含有不同的标题和对应的不同正文。
[0614]
为了便于描述,将待识别文档中的一个标题和对应的正文统称为一个子文档。因此,待识别文档中可以包含一个或多个子文档。
[0615]
例如,可以在一个文档中编辑多个章节,每个章节内容包含章节标题和章节正文,可以将每个章节内容视为子文档。也可以在文档中编辑附件内容,附件内容可以被视为子文档。
[0616]
上述方法流程中的待识别文档,可以是所识别出的任一子文档。
[0617]
因此,在一种可选的实施例中,可以先识别出子文档,再针对每个子文档作为待识别文档进行进一步的识别,识别出其中的层级标题。
[0618]
为了便于理解,本发明实施例还公开了一种应用实施例。
[0619]
如图16所示,图16是本发明实施例提供的另一种识别层级标题的方法流程图。其中,为了便于描述正文段落集合,将其称为正文区域。
[0620]
s501:识别正文区域。具体可以包括:识别用户文档中的子文档,获取到附件、标题和正文的段落区域的列表。
[0621]
s502:获取正文区域列表,遍历正文区域,构建当前遍历的正文区域的文档层级结构。
[0622]
s503:根据正文区域的文档层级结构,获取最有可能是公文的层级结构。
[0623]
具体可以是根据层级结构,根据层级结构的优先级和层级结构中所包含段落最多
得到最有可能为当前正文区域的层级结构。
[0624]
s504:获取该层级结构所对应的段落列表,标记段落列表中的段落为【一、二、三、四】级标题或【一、二、三、四】级标题正文。
[0625]
根据正文区域对应的文档层级结构,找到对应段落,把对应段落识别结果标记为【一、二、三、四】级标题或【一、二、三、四】级标题正文。
[0626]
为了便于进一步的理解,本发明实施例还提供了2个具体的应用实施例。
[0627]
应用实施例三。
[0628]
如图17所示,图17是本发明实施例提供的一种待识别文档的示意图。其中包含有30个段落,在图中已经标明部分段落和段落序号。其中部分正文段落省略。
[0629]
待识别文档中包含17个段落,识别出用户文档中的子文档,获取到附件、标题、正文的段落区域的列表为[[1,2,标题],[4,17,正文]]。
[0630]
其中子文档的区域为[[[1,2,标题],[4,17,正文]]],遍历正文段落区域,识别出该正文区域的中包含编号段落的文档层级结构为[[一],[一,(一)]]。
[0631]
根据层级结构的优先级,确定其中包含预设层级结构[一,(一)],因此,可以确定预设层级结构[一, (一)]包含段落数为10,并将预设层级结构[一,(一)]确定为该正文区域对应的文档层级结构。
[0632]
找到层级结构对应的段落,分别为“一”对应[6,8,10,14]段,“(一)”对应[11,12,13,15,16,17]段。
[0633]
因此,6、8、10和14段为一级标题,11、12、13、15、16和17段为二级标题。
[0634]
应用实施例四。
[0635]
如图18所示,图18是本发明实施例提供的另一种待识别文档的示意图。其中包含20个段落,在图中已经标明部分段落和段落序号。其中部分正文段落省略。
[0636]
待识别文档中包含15个段落,识别出用户文档中的子文档,获取到附件、标题、正文的段落区域的列表为[[2,2,标题],[5,15,正文]]。
[0637]
其中子文档的区域为[[[2,2,标题],[5,15,正文]]],遍历正文段落区域,识别出该正文区域的中包含编号段落的文档层级结构为[[一],[一,1]],确定其中不包含预设层级结构,因此,可以确定这2 个层级结构包含的段落数量,分别是[[一],3]和[[一,1],10]。
[0638]
根据所包含的段落数量的多少,确定该正文区域对应的文档层级结构为[一,1]。
[0639]
找到层级结构对应的段落,分别为“一”对应[6,9,12]段,“1”对应[7,8,10,11,13,14,15]段。
[0640]
因此,6、9和12段为一级标题,7、8、10、11、13、14和15段为二级标题。
[0641]
与上述识别层级标题的方法相对应,本发明实施例还提供了一种识别层级标题的装置实施例。
[0642]
如图19所示,图19是本发明实施例提供的一种识别层级标题的装置的结构示意图。该装置可以包括以下单元。
[0643]
获取单元601,用于获取待识别文档。
[0644]
正文确定单元602,用于根据第三段落特征确定待识别文档中的正文段落集合。
[0645]
备选结构确定单元603,用于根据正文段落集合确定备选层级结构;所确定的备选层级结构为一个或多个。
[0646]
正文结构确定单元604,用于在所确定的备选层级结构中,确定待识别文档的正文层级结构。
[0647]
层级标题确定单元605,用于根据待识别文档的正文层级结构确定层级标题。
[0648]
可选地,正文确定单元602,包括:
[0649]
层级关系确定子单元602a,用于在正文段落集合中,确定包含编号的段落;针对所确定的段落,确定段落之间的层级关系;根据段落之间的层级关系,确定段落所包含编号的格式之间的层级关系。
[0650]
备选确定子单元602b,用于根据所确定的编号格式之间的层级关系,确定备选层级结构;所确定的备选层级结构中包含一个或多个层级,所包含的不同层级对应于不同编号格式。
[0651]
可选地,正文结构确定单元604,包括:
[0652]
备选遍历子单元604a,用于遍历备选层级结构,确定备选层级结构对应段落的数量;其中,备选层级结构对应段落是:在正文段落集合中,所包含编号的格式与备选层级结构中任一编号格式相同的段落。
[0653]
正文确定子单元604b,遍历结束后,根据备选层级结构对应段落的数量,确定待识别文档的正文层级结构。
[0654]
可选地,正文确定子单元604b,用于:
[0655]
在所确定的备选层级结构不包含任一预设层级结构的情况下,将对应段落数量最多的备选层级结构,确定为待识别文档的正文层级结构;
[0656]
在所确定的备选层级结构包含任一预设层级结构的情况下,将对应段落数量最多的预设层级结构,确定为待识别文档的正文层级结构。
[0657]
可选地,层级标题确定单元605,包括:
[0658]
正文对应段落确定子单元605a,用于确定正文层级结构对应段落;其中,正文层级结构对应段落是:在正文段落集合中,所包含编号的格式与正文层级结构中任一编号格式相同的段落。
[0659]
标题确定子单元605b,用于遍历所确定的对应段落,确定当前遍历的对应段落包含的编号格式在正文层级结构中对应的层级,根据所确定的层级,将当前遍历的对应段落确定为层级标题。
[0660]
可选地,标题确定子单元605b,用于:
[0661]
将当前遍历的对应段落确定为,对应于所确定的层级的标题或标题正文。
[0662]
可选地,正文确定单元602,用于:
[0663]
根据第三段落特征确定待识别文档中的正文段落;正文段落为一个或多个;遍历正文段落;在当前遍历的正文段落的段落序号与下一个正文段落的段落序号连续的情况下,将当前遍历的正文段落与下一个正文段落收集在同一正文段落集合中;在当前遍历的正文段落的段落序号与下一个正文段落的段落序号不连续的情况下,将当前遍历的正文段落与下一个正文段落收集在不同正文段落集合中。
[0664]
可选地,正文确定单元602,用于:根据预设附件段落特征,将待识别文档划分为附件文档;附件文件为一个或多个;针对附件文档,将附件文档中具有相同第三段落特征的段落收集为一个预备段落集合;预备段落集合为一个或多个;针对预备段落集合中段落序号
最小的段落与段落序号最大的段落,确定待识别文档中段落序号最小的段落与段落序号最大的段落之间的全部段落,将所确定的段落添加到预备段落集合中;针对附件文档中的全部预备段落集合进行合并处理,合并处理包括合并存在交集的预备段落集合;合并处理后的不同预备段落集合之间不存在交集;遍历合并处理后的预备段落集合,确定当前遍历的预备段落集合为预备标题或预备正文;根据所确定的预备标题和预备正文,确定子文档;子文档为一个或多个;针对子文档,收集子文档中被确定为预备正文的段落,得到正文段落集合。
[0665]
可选地,层级关系确定子单元602a,用于:将正文段落集合中,包含相同格式的编号的段落添加到同一正文段落子集中;所得到的正文段落子集为一个或多个;针对正文段落子集,根据段落序号,按照从小到大的顺序遍历正文段落子集中的段落;在存在下一个段落的情况下,将正文段落集合中,段落序号大于或等于当前遍历的段落的段落序号,且小于下一个段落的段落序号的段落,添加到当前遍历的段落的覆盖段落集合中;在不存在下一个段落的情况下,将当前遍历的段落,添加到当前遍历的段落的覆盖段落集合中;根据正文段落集合中包含编号的段落的覆盖段落集合,确定段落之间的层级关系。
[0666]
可选地,层级关系确定子单元602a,用于:
[0667]
根据段落序号,按照从小到大的顺序,遍历正文段落集合中包含编号的段落;
[0668]
在当前遍历的段落的覆盖段落集合,与下一个段落的覆盖段落集合之间没有交集的情况下,如果当前遍历的段落包含编号的格式与下一个段落包含编号的格式相同,则确定当前遍历的段落与下一个段落之间的层级关系用于表征层级相同;如果当前遍历的段落包含编号与下一个段落包含编号的格式不同,则根据相似段落确定层级关系;
[0669]
在当前遍历的段落的覆盖段落集合,与下一个段落的覆盖段落集合之间存在交集的情况下,根据相似段落确定层级关系;
[0670]
相似段落为包含编号的格式与下一个段落包含编号的格式相同的段落。
[0671]
可选地,层级关系确定子单元602a,用于:
[0672]
在已遍历的段落中存在相似段落的情况下,确定相似段落与下一个段落之间的层级关系用于表征层级相同;
[0673]
在已遍历的段落中不存在相似段落的情况下,确定当前遍历的段落与下一个段落之间的层级关系用于表征,当前遍历的段落对应的层级比下一个段落对应的层级高一级。
[0674]
可选地,层级关系确定子单元602a,用于:
[0675]
遍历段落之间的层级关系;
[0676]
针对当前遍历的层级关系,确定当前遍历的层级关系中包含的段落;
[0677]
针对所确定的段落,确定段落中包含编号的格式;
[0678]
将当前遍历的层级关系,确定为所确定的编号格式之间的层级关系。
[0679]
可选地,备选确定子单元602b,用于:
[0680]
根据所确定的编号格式之间的层级关系,确定临时层级结构;所确定的临时层级结构为一个或多个,包含一个或多个层级,所包含的不同层级对应于不同编号格式;
[0681]
遍历所确定的临时层级结构,在预设的层级结构集合中存在当前遍历的临时层级结构的情况下,将当前遍历的临时层级结构确定为备选层级结构。
[0682]
装置实施例的具体解释可以参见上述方法实施例的解释。
[0683]
本发明实施例还提供了一种电子设备,如图20所示,包括处理器1001、通信接口1002、存储器1003 和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
[0684]
存储器1003,用于存放计算机程序;
[0685]
处理器1001,用于执行存储器1003上所存放的程序时,实现上述实施例中任一所述的识别标题的方法。
[0686]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral componentinterconnect,pci)总线或扩展工业标准结构(extended industry standardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0687]
通信接口用于上述电子设备与其他设备之间的通信。
[0688]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器 (non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0689]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digital signalprocessing,dsp)、专用集成电路(applicationspecific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0690]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的识别标题的方法,或者上述识别层级标题的方法。
[0691]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的识别标题的方法,或者上述识别层级标题的方法。
[0692]
在本发明提供的又一实施例中,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,上述实施例中任一所述的识别标题的方法,或者上述识别层级标题的方法。
[0693]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时上述实施例中任一所述的识别标题的方法,或者上述识别层级标题的方法。
[0694]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字
用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0695]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0696]
本发明中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0697]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献