一种多格式文档录入并比对的方法

文档序号:6524284阅读:159来源:国知局
一种多格式文档录入并比对的方法
【专利摘要】本发明涉及一种多格式文档录入并比对的方法,首先判断待录入文档是否为纸质文档,如果是纸质文档则通过前端设备将纸制文件自动扫描录入原始格式文档库中,如果是电子文档则直接录入原始格式文档库中,再将原始格式文档库中的所有文档转换为统一格式的文档,然后对文档进行关键属性标注和基础管理,最后通过Nakastu算法和分词系统进行基于内容的文档比对,并将根据比对相似程度进行文档关联且录入数据库中。本发明能将各类型和格式的文档自动录入、统一分类、智能管理和与已有文件的比对,提高文档利用效率,节省文档比对时间,提升文档管理效率。
【专利说明】一种多格式文档录入并比对的方法
【技术领域】
[0001]本发明涉及文档处理管理领域,更具体的涉及一种将电子文档或纸质文档录入并进行比对的方法。
【背景技术】
[0002]目前典型的文档比对技术应用有:(1)信息智能检索:搜索引擎对用户输入关键字的反应是列出所有与该关键字相匹配的信息。(2)自动问答系统:在这种系统中,问题是多种多样,且非常巨大的,有些问题是非常相似的,如果用人工来回答,将耗费大量的时间和人力,如果在这种系统中应用文本相似度技术,将相似度很高的问题归为一类,使系统对这类问题自动做出答复,将节省大量的时间。(3)文本查重:在某些领域,考虑到隐私性和独创性,要求文本不能重复出现,那么应用文本相似度技术,对这类文本进行相似度的计算,就可以看出哪些文本多次出现。由上述,文档比对技术越来越多地应用在各个领域。
[0003]目前,对文档的比对分析管理研究主要集中在文本相似度计算,对于文本相似度计算侧重在字符串相似度,已经形成比较成熟的聚类算法,但是这些算法在比较的过程中没有考虑文本或者字符的语义,计算出来的相似度参考度不高,在实际应用过程中给用户提供参考价值不高。虽然通过分词来计算文本相似度,即通过中文分词算法按照语义角度进行分词,然后根据分词和比对算法结合计算文本之间的相似度,其重点是从词语级来比对文档之间相似度。但这些文档比对支持的文档都是单一的TXT文本或者Word文件,对于多格式文档的比对无法直接进行,需要事先由人工进行格式转换后才能比较,大大影响工作效率。

【发明内容】

[0004]本发明要解决的技术问题是提供一种可以对多种格式的文档录入并进行比对的方法。
[0005]实现本发明目的的技术方案是提供一种多格式文档录入并比对的方法,包括如下步骤:
①判断需要录入的文档是否为纸制文档,如果为纸制文档则将需要录入的纸制文档按照先后次序叠放整齐后放置到扫描设备上,通过扫描设备将文档扫描成PDF格式的电子文档并存储到与扫描设备电连接的计算机的存储设备的原始格式文档库中;
如果是包括roF、Word或TXT在内的多种格式的电子文档,则直接存储到计算机的存储设备的原始格式文档库中;
②通过计算机对原始格式文档库中的各个电子文档转换成统一格式的文档并存储到计算机的存储设备的统一格式文档库中,可以根据需要自行设定转换后的文件格式,优选的文件格式为Word格式或TXT文本形式,如果原始的电子文档的文件格式与设定转换后的文件格式一致则直接从原始格式文档库拷贝至统一格式文档库;
③对转换后统一格式成Word格式或TXT文本形式的各个电子文档的内容,通过分词系统将各个文档的内容提取为句子集合,并以与各个文档相对应的条目的形式存储到句子数据表中;
④对转换后统一格式成Word格式或TXT文本形式的各个电子文档进行包括类别、标题、来源、关键词、创建时间在内的关键属性的标注,并以与各个文档相对应的条目的形式存储到句子数据表中;
⑤选择最新录入统一格式文档库的一个文档或者统一格式文档库内某个文档作为待比对文档与统一格式文档库的其他所有文档进行比对,首先通过句子数据表根据文档的包括类别、标题、来源、关键词、创建时间在内的关键属性进行比对和匹配,从而从统一格式文档库中筛选出包括类别、标题、来源、关键词、创建时间在内的关键属性中的任一个属性与待比对文档的类别、标题、来源、关键词、创建时间5个关键属性的任一个属性匹配的所有文档;
⑥对由步骤⑤筛选出来的文档作为参考文档逐个与待比对文档通过句子数据表中由步骤③得到的与各个文档相对应的条目信息进行比对,2个文档比对时以句子为单位,根据Nakatsu算法逐项比对句子从而计算句子之间的相似度,再根据各个句子的相似度利用算术平均法计算2个文档整体的相似度;
⑦将由步骤⑥得到的待比对文档与任一个参考文档的整体的相似度记录至相应的数据库中。
[0006]步骤③中,通过分词系统将各个文档的内容提取为句子集合的具体过程是,将每个文档进行分解形成文档分解树,每个文档所对应的文档分解树包括η (η ^ I)个句子,句子以矩阵形式存放,每个句子由行号、列号、长度、内容、相似度信息构成,则第η个句子的矩阵由行号η、列号η、长度η、内容η、相似度η构成。
[0007]步骤⑥中,根据Nakatsu算法逐项比对句子从而计算句子之间的相似度的具体方法是:设待比对的两个句子是句子`A和句子B,首先计算句子A和句子B的最长公共子序列,记作为名MaxLen (Α,B),具体为设M=Len (A),N=Len (B),即M为字符串A的长度,N为字符串B的长度,为了不失一般性,假设MSN;
设A=ala2......aM,表示A是由ala2......aM这M个字符组成;
B=blb2......bN,表示B是由blb2......bN这N个字符组成;
则 MaxLen (i, j) = MaxLen (ala2......ai, blb2......bj),其中 I < i < M,I < j < N ;
用L(k,i)表不所有与字符串ala2......ai有长度为k的LCS (Longest Common
Subsequence,最长公共子序列)字符串blb2......bj中j的最小值,用公式表示就是:
L(k, i)=Min {j} Where LCS(i, j)=k ;
第一步,初始化数组LLO和PO ;
LL(O)=0
LL(i)=VI ^ i ^ M
P ⑴=VI ^ i ^ M
此时,LL(O)表示 L(0,O) ;LL(1)表示 L(l,O) ;LL(2)表示 L(2,I);……
第二步,依次计算第一条对角线上的元素,用临时变量T计算L(l,I) ;T=F(L(0, 0),L(1,0))=F(LL(0),LL(I))。注:F表示取最小值运算,将T的值赋给LL(I)。此时LL(I)表示LL(1,1),LL(2)表示L(2,I);重复上面的计算,直到计算完本条对角线,如果是第k行的第一个不为V的值,将该值赋给P (k);
第一条对角线计算完之后,此时,LL(O)表示L(0,I) ;LL(1)表示L(l,l) ;LL(2)表示L(2, 2);……;
如果,这条对角线不是解,重复第二步,计算下一条对角线,直到遇到解为止。不过要注意的是:第i条对角线只有m-1+1个元素,所以只计算到LL (m-1+1)。
[0008]如果某条对角线的某个元素是V的话,则这条对角线之后的元素都是V,就不需要计算了。
[0009]然后计算句子A和句子B之间编辑距离,用LD (A,B)表示,很显然,若LD (A,B) =0则表不句子A和句子B完全相同。
[0010]K=SilSi2......aN,表不 A 是由 S1 a2......aN 这 N 个子付组成,Len (A) =N ;
B=Id1Id2......bM,表示 B 是由 Id1Id2......bM 这 M 个字符组成,Len (B) =M ;
定义LD (i, j) =LD (aia2……Bi, ……bj),其中O≤i≤N,0≤j≤Μ;
初始化 LD 矩阵,根据 LD (N, Μ) =LD (Α, B),LD (O, O) =0,LD (O, j) =j,LD (i, O) =i 分别计算LD矩阵初始值;
计算LD矩阵其它行,根据公式若ai=b」,则LD (i, j) =LD (1-1, j-1),若古b」,则LD (i,j) =Min (LD (1-1, j-1),LD (1-1, j),LD (i, j-1)) +1,最后计算得到 LD (A, B)值;
计算句子 A 和句子 B 的相似度 SIM (A, B) = LCS (A, B) / (LD (A, B) +LCS (A, B))。
[0011]步骤②中,PDF格式的电子文档的转换方法是首先提取HF文档中各页的内容流,然后将提取到的内容流进行解密,再用Filter解码算法对解密后的内容流进行解码,最后从解码后的内容流中提取文本内容及其相关信息并存储为设定的统一格式的文档。
[0012]步骤①中,扫描设备优选扫描仪。
[0013]本发明具有积极的效果:(I)本发明的一种多格式文档录入并比对的方法能够将纸质文档或者各类型的电子文档录入文档库并统一格式从而方便管理和进行比对,提高了文档利用效率,节省文档比对时间,提升文档管理效率。
[0014](2)本发明的一种多格式文档录入并比对的方法采用Nakatsu算法逐项比对句子从而计算句子之间的相似度,再根据各个句子的相似度利用算术平均法计算2个文档的整体的相似度,对于2个文档的相似度的计算较为精准,比对效果较好。
[0015](3)本发明的一种多格式文档录入并比对的方法通过分词系统将各个文档的内容提取为句子集合,将每个文档进行分解形成文档分解树,每个文档所对应的文档分解树包括n(n ^ I)个句子,句子以矩阵形式存放,每个句子由行号、列号、长度、内容、相似度信息构成,则第η个句子的矩阵由行号η、列号η、长度η、内容η、相似度η构成,通过分词系统分解形成的各个文档的文档树较为细致详细,从而提高了后续的比对过程的精度,提升文档管理效率。
【专利附图】

【附图说明】
[0016]图1为本发明的一种多格式文档录入并比对的方法的流程框图;
图2为本发明的步骤③中的分词系统的具体过程示意图。
【具体实施方式】[0017](实施例1)
见图1,本实施例的一种多格式文档录入并比对的方法,包括如下步骤:
①判断需要录入的文档是否为纸制文档,如果为纸制文档则将需要录入的纸制文档按照先后次序叠放整齐后放置到扫描设备上,通过扫描设备将文档扫描成PDF格式的电子文档并存储到与扫描设备电连接的计算机的存储设备的原始格式文档库中,扫描设备优选扫描仪;
如果是包括roF、Word或TXT在内的多种格式的电子文档,则直接存储到计算机的存储设备的原始格式文档库中;
②通过计算机对原始格式文档库中的各个电子文档转换成统一格式的文档并存储到计算机的存储设备的统一格式文档库中,可以根据需要自行设定转换后的文件格式,优选的文件格式为Word格式或TXT文本形式,如果原始的电子文档的文件格式与设定转换后的文件格式一致则直接从原始格式文档库拷贝至统一格式文档库,另外PDF格式的电子文档的转换方法是首先提取TOF文档中各页的内容流,然后将提取到的内容流进行解密,再用Fi I ter解码算法对解密后的内容流进行解码,最后从解码后的内容流中提取文本内容及其相关信息并存储为设定的统一格式的文档。
[0018]③对转换后统一格式成Word格式或TXT文本形式的各个电子文档的内容,通过分词系统将各个文档的内容提取为句子集合,并以与各个文档相对应的条目的形式存储到句子数据表中;分词系统是将一个汉字序列切分成一个一个单独的词,将连续的字序列按照一定的规范重新组合成词序列的过程,例如将“加大监管力度”通过分词系统分解为“加大”、“监管”和“力度”三个词;
见图2,通过分词系统将各个文档的内容提取为句子集合的具体过程是,将每个文档进行分解形成文档分解树,每个文档`所对应的文档分解树包括η (η ^ I)个句子,句子以矩阵形式存放,每个句子由行号、列号、长度、内容、相似度信息构成,则第η个句子的矩阵由行号η、列号η、长度η、内容η、相似度η构成。
[0019]④对转换后统一格式成Word格式或TXT文本形式的各个电子文档由人工手动对每个文档进行包括类别、标题、来源、关键词、创建时间在内的关键属性的标注,并以与各个文档相对应的条目的形式存储到句子数据表中。
[0020]⑤选择最新录入统一格式文档库的一个文档或者统一格式文档库内某个文档作为待比对文档与统一格式文档库的其他所有文档进行比对,首先通过句子数据表根据文档的包括类别、标题、来源、关键词、创建时间在内的关键属性进行比对和匹配,从而从统一格式文档库中筛选出包括类别、标题、来源、关键词、创建时间在内的关键属性中的任一个属性与待比对文档的类别、标题、来源、关键词、创建时间5个关键属性的任一个属性匹配的所有文档。
[0021]⑥对由步骤⑤筛选出来的文档作为参考文档逐个与待比对文档通过句子数据表中由步骤③得到的与各个文档相对应的条目信息进行比对,2个文档比对时以句子为单位,根据Nakatsu算法逐项比对句子从而计算句子之间的相似度,再根据各个句子的相似度利用算术平均法计算2个文档(任一个参考文档与待比对文档)整体的相似度。
[0022]根据Nakatsu算法逐项比对句子从而计算句子之间的相似度的具体方法是:设待比对的两个句子是句子A和句子B,首先计算句子A和句子B的最长公共子序列,记作为名MaxLen (A, B),具体为设M=Len (A),N=Len (B),即M为字符串A的长度,N为字符串B的长度,为了不失一般性,假设MSN;
设A=ala2......aM,表示A是由ala2......aM这M个字符组成;
B=blb2......bN,表示B是由blb2......bN这N个字符组成;
则 MaxLen (i, j) = MaxLen (ala2......ai, blb2......bj),其中 I < i < M,I < j < N ;
用L(k,i)表不所有与字符串ala2......ai有长度为k的LCS (Longest Common
Subsequence,最长公共子序列)字符串blb2......bj中j的最小值,用公式表示就是:
L(k, i)=Min {j} Where LCS(i, j)=k ;
第一步,初始化数组LLO和PO ;
LL(O)=0
LL(i)=VI ≤ i ≤ M
P ⑴=VI ≤ i ≤ M
此时,LL(O)表示 L(0,O) ;LL(1)表示 L(l,O) ;LL(2)表示 L(2,I);……
第二步,依次计算第一条对角线上的元素,用临时变量T计算L(l,I) ;T=F(L(0, 0),L(1,0))=F(LL(0),LL(1))。注:F表示取最小值运算,将T的值赋给LL (I)。此时LL(I)表示LL(1,1),LL(2)表示L(2,I);重复上面的计算,直到计算完本条对角线,如果是第k行的第一个不为V的值,将该值赋给P (k);
第一条对角线计算完之后,此时,LL(O)表示L(0,I) ;LL(1)表示L(l,l) ;LL(2)表示L(2, 2);……;
如果,这条对角线不是解,重复第二步,计算下一条对角线,直到遇到解为止。不过要注意的是:第i条对角线只有m-1+1个元素,所以只计算到LL(m-1+1)。
[0023]如果某条对角线的某个元素是V的话,则这条对角线之后的元素都是V,就不需要计算了。
[0024]然后计算句子A和句子B之间编辑距离,用LD (A,B)表示,很显然,若LD (A,B) =0则表不句子A和句子B完全相同。
[0025]A=B1B2......aN,表示 A 是由 a≤2......aN 这 N 个字符组成,Len (A) =N ;
B=Id1Id2......bM,表示 B 是由 Id1Id2......bM 这 M 个字符组成,Len (B) =M ;
定义LD (i, j) =LD (aia2……Bi, ……bj),其中O≤i≤N,0≤j≤Μ;
初始化 LD 矩阵,根据 LD (N, Μ) =LD (Α, B),LD (O, O) =0,LD (O, j) =j,LD (i, O) =i 分别计算LD矩阵初始值;
计算LD矩阵其它行,根据公式若ai=b」,则LD (i, j) =LD (1-1, j-1),若古b」,则LD (i,j) =Min (LD (1-1, j-1),LD (1-1, j),LD (i, j-1)) +1,最后计算得到 LD (A, B)值;
计算句子 A 和句子 B 的相似度 SIM (A, B) = LCS (A, B) / (LD (A, B) +LCS (A, B))。
[0026]⑦将由步骤⑥得到的待比对文档与任一个参考文档的整体的相似度记录至相应的数据库中。
【权利要求】
1.一种多格式文档录入并比对的方法,包括如下步骤: ①判断需要录入的文档是否为纸制文档,如果为纸制文档则将需要录入的纸制文档按照先后次序叠放整齐后放置到扫描设备上,通过扫描设备将文档扫描成PDF格式的电子文档并存储到与扫描设备电连接的计算机的存储设备的原始格式文档库中; 如果是包括roF、Word或TXT在内的多种格式的电子文档,则直接存储到计算机的存储设备的原始格式文档库中; ②通过计算机对原始格式文档库中的各个电子文档转换成统一格式的文档并存储到计算机的存储设备的统一格式文档库中,可以根据需要自行设定转换后的文件格式,优选的文件格式为Word格式或TXT文本形式,如果原始的电子文档的文件格式与设定转换后的文件格式一致则直接从原始格式文档库拷贝至统一格式文档库; ③对转换后统一格式成Word格式或TXT文本形式的各个电子文档的内容,通过分词系统将各个文档的内容提取为句子集合,并以与各个文档相对应的条目的形式存储到句子数据表中; ④对转换后统一格式成Word格式或TXT文本形式的各个电子文档进行包括类别、标题、来源、关键词、创建时间在内的关键属性的标注,并以与各个文档相对应的条目的形式存储到句子数据表中; ⑤选择最新录入统一格式文档库的一个文档或者统一格式文档库内某个文档作为待比对文档与统一格式文档库的其他所有文档进行比对,首先通过句子数据表根据文档的包括类别、标题、来源、关键词、创建时间在内的关键属性进行比对和匹配,从而从统一格式文档库中筛选出包括类别、标题、来源、关键词、创建时间在内的关键属性中的任一个属性与待比对文档的类别、标题、来源、关键词、创建时间5个关键属性的任一个属性匹配的所有文档; ⑥对由步骤⑤筛选出来的文档作为参考文档逐个与待比对文档通过句子数据表中由步骤③得到的与各个文档相 对应的条目信息进行比对,2个文档比对时以句子为单位,根据Nakatsu算法逐项比对句子从而计算句子之间的相似度,再根据各个句子的相似度利用算术平均法计算2个文档整体的相似度; ⑦将由步骤⑥得到的待比对文档与任一个参考文档的整体的相似度记录至相应的数据库中。
2.根据权利要求1所述的一种多格式文档录入并比对的方法,其特征在于:步骤③中,通过分词系统将各个文档的内容提取为句子集合的具体过程是,将每个文档进行分解形成文档分解树,每个文档所对应的文档分解树包括η (η > I)个句子,句子以矩阵形式存放,每个句子由行号、列号、长度、内容、相似度信息构成,则第η个句子的矩阵由行号η、列号η、长度η、内容η、相似度η构成。
3.根据权利要求2所述的一种多格式文档录入并比对的方法,其特征在于:步骤⑥中,根据Nakatsu算法逐项比对句子从而计算句子之间的相似度的具体方法是:设待比对的两个句子是句子A和句子B,首先计算句子A和句子B的最长公共子序列,记作为名MaxLen (Α, B),具体为设M=Len (A),N=Len (B),即M为字符串A的长度,N为字符串B的长度,为了不失一般性,假设MSN; 设A=ala2......aM,表示A是由ala2......aM这M个字符组成;B=blb2......bN,表示B是由blb2......bN这N个字符组成; 则 MaxLen (i, j) = MaxLen (ala2......ai, blb2......bj),其中 1 ≤ i ≤ M,I ≤ j ≤ N ; 用L(k,i)表不所有与字符串ala2......ai有长度为k的LCS (Longest CommonSubsequence,最长公共子序列)字符串blb2......bj中j的最小值,用公式表示就是:L(k, i)=Min {j} Where LCS(i, j)=k ; 第一步,初始化数组LLO和PO ;
LL(O)=0 LL(i)=V1 ≤ i ≤ M P ⑴=V1≤ i ≤ M 此时,LL(O)表示 L(0,O) ;LL(1)表示 L(l,O) ;LL(2)表示 L(2,I);…… 第二步,依次计算第一条对角线上的元素,用临时变量T计算L(l,I) ;T=F(L(0,0),L(1,0)) =F(LL(O), LL(D); F表示取最小值运算,将T的值赋给LL(I); 此时LL(I)表示LL(1,1),LL (2)表示L (2,I);重复上面的计算,直到计算完本条对角线,如果是第k行的第一个不为V的值,将该值赋给P (k); 第一条对角线计算完之后,此时,LL(O)表示L(0,I) ;LL(1)表示L(l,l) ;LL(2)表示L(2, 2);……; 如果,这条对角线不是解,重复第二步,计算下一条对角线,直到遇到解为止; 不过要注意的是--第i条对角线只有m-1+1个元素,所以只计算到LL(m-1+l); 如果某条对角线的某个元素是V的话,则这条对角线之后的元素都是V,就不需要计算了 ; 然后计算句子A和句子B之间编辑距离,用LD (A, B)表示,很显然,若LD (A, B) =0则表示句子A和句子B完全相同; A=ala2......aN,表不A是由ala2......aN这N个字符组成,Len (A) =N ; B=blb2......bM,表示B是由blb2......bM这M个字符组成,Len(B)=M ;定义 LD(i, j)=LD(ala2......ai,blb2......bj),其中 O ≤ i ≤ N,0≤ j ≤ M ;
初始化 LD 矩阵,根据 LD (N, M) =LD (A, B),LD (O, O) =0,LD (O, j) =j,LD (i, O) =i 分别计算LD矩阵初始值; 计算LD矩阵其它行,根据公式若ai=bj,则LD (i, j) =LD (i_l,j-1),若ai古bj,则LD (i,j) =Min (LD (1-1, j-1),LD (i_l,j),LD (i, j-1)) +1,最后计算得到 LD (A, B)值;
计算句子 A 和句子 B 的相似度 SIM (A, B) = LCS (A, B) / (LD (A, B) +LCS (A, B))。
4.根据权利要求1所述的一种多格式文档录入并比对的方法,其特征在于:步骤②中,PDF格式的电子文档的转换方法是首先提取HF文档中各页的内容流,然后将提取到的内容流进行解密,再用Filter解码算法对解密后的内容流进行解码,最后从解码后的内容流中提取文本内容及其相关信息并存储为设定的统一格式的文档。
5.根据权利要求1所述的一种多格式文档录入并比对的方法,其特征在于:步骤①中,扫描设备优选扫描仪。
【文档编号】G06F17/30GK103823838SQ201310696955
【公开日】2014年5月28日 申请日期:2013年12月18日 优先权日:2013年12月18日
【发明者】鞠非, 华凯, 吴国奇, 刘建军 申请人:江苏省电力公司常州供电公司, 江苏省电力公司, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1