CN112149402A - 文档对比方法、装置、电子设备和计算机可读存储介质 - Google Patents

文档对比方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN112149402A
CN112149402A CN202011014810.4A CN202011014810A CN112149402A CN 112149402 A CN112149402 A CN 112149402A CN 202011014810 A CN202011014810 A CN 202011014810A CN 112149402 A CN112149402 A CN 112149402A
Authority
CN
China
Prior art keywords
character string
document
strings
different
different character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011014810.4A
Other languages
English (en)
Other versions
CN112149402B (zh
Inventor
张发恩
王一川
王建华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Innovation Qizhi Qingdao Technology Co ltd
Original Assignee
Innovation Qizhi Qingdao Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Innovation Qizhi Qingdao Technology Co ltd filed Critical Innovation Qizhi Qingdao Technology Co ltd
Priority to CN202011014810.4A priority Critical patent/CN112149402B/zh
Publication of CN112149402A publication Critical patent/CN112149402A/zh
Application granted granted Critical
Publication of CN112149402B publication Critical patent/CN112149402B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种文档对比方法、装置、电子设备和计算机可读存储介质,其中,该方法包括:将第一文档与第二文档进行对比,以筛选出第一文档与第二文档的最长公共字符串集合;基于最长公共字符串集合在第一文档中确定出第一组不同字符串集合;基于最长公共字符串集合在第二文档中确定出第二组不同字符串集合;将第一组不同字符串集合与第二组不同字符串集合进行对比,以确定出第二组不同字符串集合在第二文档中对应的更新操作类型。根据本申请实施例中的方法,能够有效地识别出文档中的更改操作。

Description

文档对比方法、装置、电子设备和计算机可读存储介质
技术领域
本申请涉及文档处理技术领域,具体而言,涉及一种文档对比方法、装置、电子设备和计算机可读存储介质。
背景技术
电子文档是计算机记录信息的一种模式,关于一份文档在两个阶段的两个版本可能存在一些更改操作,如果更改操作没有被区别标记,则需要在较大量的文字中核查被更改的内容,这是一项相对复杂的工作。目前针对文档的更新识别一般通过计算文档的特征值,通过特征值的对比,以确定文档是否被更新。
发明内容
本申请的目的在于提供一种文档对比方法、装置、电子设备和计算机可读存储介质,能够有效地识别出文档中的更新操作。
第一方面,本申请实施例提供一种文档对比方法,包括:
将第一文档与第二文档进行对比,以筛选出所述第一文档与所述第二文档的最长公共字符串集合;
基于所述最长公共字符串集合在所述第一文档中确定出第一组不同字符串集合;
基于所述最长公共字符串集合在所述第二文档中确定出第二组不同字符串集合;
将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
在可选的实施方式中,所述将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型,包括:
针对所述第一组不同字符串集合中的第一不同字符串,将所述第一不同字符串与所述第二组不同字符串集合中对应的位置的字符串进行对比,以确定出所述对应的位置的字符串在所述第二文档中对应的更新操作类型;所述第一不同字符串为所述第一组不同字符串集合中的任一不同字符串。
在本申请实施例中的方法中,通过将对应位置的不同字符串进行对比,从而可以能够更准确地识别出各个位置的更新,从而使更新的识别能够更加地准确。
在可选的实施方式中,所述基于所述最长公共字符串集合在所述第一文档中确定出第一组不同字符串集合,包括:将所述第一文档中任意相邻两串最长公共字符串之间的内容作为不同字符串,其中,若任意相邻两串最长公共字符串之间的内容为空,则对应的不同字符串为空字符串;
所述基于所述最长公共字符串集合在所述第二文档中确定出第二组不同字符串集合,包括:将所述第二文档中任意相邻两串最长公共字符串之间的内容作为不同字符串,其中,若任意相邻两串最长公共字符串之间的内容为空,则对应的不同字符串为空字符串,所述第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一一对应。
在可选的实施方式中,所述将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型,包括:
将所述第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一对一比对,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
在本申请实施例中的方法中,通过构建出第一组不同字符串集合和第二组不同字符串集合,且其中的字符串是一一对应的,从而可以一对一的匹配,更准确地识别出各个位置的字符串的更新操作。
在可选的实施方式中,所述将所述第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一对一比对,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型,包括:
将所述第一组不同字符串集合中的第二不同字符串与所述第二组不同字符串集合中与所述第二不同字符串的位置相同第三不同字符串进行对比,其中,第二不同字符串为第一组不同字符串集合中的任意一串不同字符串,第三不同字符串为第二组不同字符串集合中的任意一串对应位置的不同字符串;
当所述第二不同字符串为空字符串,且所述第三不同字符串不为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为增加操作;
当所述第二不同字符串不为空字符串,且所述第三不同字符串为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为删除操作;
当所述第二不同字符串不为空字符串,且所述第三不同字符串不为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为更改操作。
在本申请实施例中的方法中,基于空字符串来判断第二文档中对应的更新操作类型,判断方式较为简单,从而可以较快速地确定出第二文档中的各字符串的更新操作类型。
在可选的实施方式中,所述将第一文档与第二文档进行对比,以筛选出所述第一文档与所述第二文档的最长公共字符串集合,包括:
在所述第一文档中的第一当前待查文本中匹配与所述第二文档对应的第二当前待查文本中重复字符串最长的字符串作为第I串公共字符串,直到不能匹配出最长公共字符串为止;
其中,当首次匹配公共字符串时,第一当前待查文本为所述第一文档,第二当前待查文本为所述第二文档;
当第I+1次匹配公共字符串时,第一当前待查文本为所述第一文档的第I串公共字符串的第一侧未被匹配的部分文本,或所述第一文档中未被匹配的其它部分文本;第二当前待查文本为所述第二文档的第I串公共字符串的第一侧未被匹配的部分文本,或所述第二文档中未被匹配的其它部分文本;
其中,I为正整数。
在本申请实施例中的方法中,通过上述的方式确定出最长公共字符串集合,从而可以减少最长公共字符串的遗漏。
在可选的实施方式中,所述方法还包括:
根据所述更新操作类型在所述第二文档中进行标记。
在本申请实施例中的方法中,通过在第二文档中进行标记,从而可以方便用户获知更新的内容。
第二方面,本申请实施例提供一种文档对比装置,包括:
筛选模块,用于将第一文档与第二文档进行对比,以筛选出所述第一文档与所述第二文档的最长公共字符串集合;
第一确定模块,用于基于所述最长公共字符串集合在所述第一文档中确定出第一组不同字符串集合;
第二确定模块,用于基于所述最长公共字符串集合在所述第二文档中确定出第二组不同字符串集合;
对比模块,用于将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如前述实施方式任一所述的方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如前述实施方式任一所述的方法的步骤。
本申请实施例的有益效果是:先通过文档对比的方式筛选出最长公共字符串集合,再基于最长公共字符串集合能够确定出第一文档与第二文档中的不同的字符串,由于已经先确定出不同字符串,从而可以更方便、准确、快速地定位出第二文档相对于第二文档的更新操作。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备的方框示意图。
图2为本申请实施例提供的文档对比方法的流程图。
图3为本申请实施例提供的文档对比装置的功能模块示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一
为便于对本实施例进行理解,首先对执行本申请实施例所公开的文档对比方法的电子设备进行详细介绍。
如图1所示,是电子设备的方框示意图。电子设备100可以包括存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
上述的存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述的外设接口114将各种输入/输出装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
上述的输入输出单元115用于提供给用户输入数据。所述输入输出单元115可以是,但不限于,鼠标和键盘等。
上述的显示单元116在电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
示例性地,显示单元116可以将文档对比方法中对比的各个文档的初始版本进行显示。可选地,还可以将对比之后标记出的更新内容进行显示。
本实施例中的电子设备100可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述文档对比方法的实现过程。
实施例二
请参阅图2,是本申请实施例提供的文档对比方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤201,将第一文档与第二文档进行对比,以筛选出所述第一文档与所述第二文档的最长公共字符串集合。
可选地,如果第一文档或第二文档是不能编辑的文档,例如,图片、PDF文档等。则可以先对第一文档或第二文档中的字符进行识别,以得到第一文档和第二文档中的字符串。示例性地,可以使用pdfminer、OCR(Optical Character Recognition,光学字符识别)等方式对第一文档或第二文档中的字符进行识别。
在一种实施方式中,在所述第一文档中的第一当前待查文本中匹配与所述第二文档对应的第二当前待查文本中重复字符串最长的字符串作为第I串公共字符串,直到不能匹配出最长公共字符串为止。
其中,I为正整数。
可选地,可以设定最长公共字符串的长度的最小值,例如,最小值可以是二。例如,如果当前已经不能在第一文档和第二文档中匹配出不小于两个字符串长度的公共字符串的话,则表示不能匹配出公共字符串。当然,最长公共字符串的长度的最小值也可以是其它值,具体可以按照匹配需求设置。
其中,当首次匹配公共字符串时,第一当前待查文本为所述第一文档,第二当前待查文本为所述第二文档。
可选地,当第I+1次匹配公共字符串时,第一当前待查文本可以是所述第一文档的第I串公共字符串的第一侧未被匹配的部分文本。其中,第I串公共字符串的第一侧可以是第I串公共字符串的前侧,第I串公共字符串的第一侧可以是第I串公共字符串的后侧。例如,将第一文档与第二文档进行第一次匹配后,得到第一串最长公共字符串,则可以将第一文档的第一串最长公共字符串之前的字符串与第二文档的第一串最长公共字符串之前的字符串进行匹配,以找出第二串公共字符串;或者,也可以将第一文档的第一串最长公共字符串之后的字符串与第二文档的第一串最长公共字符串之后前的字符串进行匹配,以找出第二串公共字符串。
示例性地,第一文档对应的字符串可以是“12345677890”,第二文档对应的字符串可以是“1245677990”。第一次匹配可以确定出第一串公共字符串为“45677”,则第二次匹配时,第一当前待查文本可以是“45677”之前的字符串“123”,也可以是“45677”之后的字符串“890”。
可选地,当第I+1次匹配公共字符串时,第一当前待查文本也可以是第一文档中未被匹配的其它部分文本。例如,第四次匹配最长公共字符串时,当前未被匹配的部分文本可能是前三次匹配出的公共字符串中的任意相邻两串字符串之间的部分文本,也可以是前三次匹配出的公共字符串中位于第一文档最前面的一串字符串之前的部分文本,也可以是前三次匹配出的公共字符串中位于第一文档最后面的一串字符串之后前的部分文本。
示例性地,第一文档对应的字符串可以是“4561122223456717890”,第二文档对应的字符串可以是“45612222456717990”。第一次匹配可以确定出第一串公共字符串为“456717”,则第二次匹配时,第一当前待查文本可以是“456717”之前的字符串“4561122223”,也可以是“456717”之后的字符串“890”。以第二次匹配时,第一当前待查文本可以是“456717”之前的字符串“4561122223”为例,第二当前待查文本可以是“456717”之前的字符串“45612222”为例,则第二串公共字符串为“12222”。则第二次匹配完之后,则在第一文档中未被匹配的其它部分文本可以包括“4561”、“3”、“890”。则第三次匹配时,第一当前待查文本可以是“4561”、“3”、“890”中的任意一部分。
当第I+1次匹配公共字符串时,第二当前待查文本可以是为第二文档的第I串公共字符串的第一侧未被匹配的部分文本。
可选地,当第I+1次匹配公共字符串时,第二当前待查文本可以是第二文档中未被匹配的其它部分文本。
本实施例中,第二当前待查文本是与第一当前待查文本对应位置的字符串,例如,第一当前待查文本可以是所述第一文档的第I串公共字符串的第一侧未被匹配的部分文本,则第二当前待查文本可以是第二文档的第I串公共字符串的第一侧未被匹配的部分文本。
以第一文档对应的字符串可以是“4561122223456717890”,第二文档对应的字符串可以是“45612222456717990”为例。通过对比得到的最长公共字符串集合可以包括:“456”、“12222”、“456717”、“90”。
步骤202,基于所述最长公共字符串集合在所述第一文档中确定出第一组不同字符串集合。
在一种实施方式中,步骤202可以包括:将所述第一文档中任意相邻两串最长公共字符串之间的内容作为不同字符串,其中,若任意相邻两串最长公共字符串之间的内容为空,则对应的不同字符串为空字符串。
以第一文档对应的字符串可以是“4561122223456717890”,第二文档对应的字符串可以是“045612222456717990”为例。基于最长公共字符串集合可以包括:“456”、“12222”、“456717”、“90”,从第一文档对应的字符“4561122223456717890”可以确定出第一组不同字符串集合包括:“空”、“1”、“3”、“8”。
步骤203,基于所述最长公共字符串集合在所述第二文档中确定出第二组不同字符串集合。
步骤203可以包括:将所述第二文档中任意相邻两串最长公共字符串之间的内容作为不同字符串。
其中,若任意相邻两串最长公共字符串之间的内容为空,则对应的不同字符串为空字符串。
本实施例中,第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一一对应。
基于最长公共字符串集合可以包括:“456”、“12222”、“456717”、“90”,从第二文档对应的字符串“045612222456717990”可以确定出第二组不同字符串集合包括:“0”、“空”、“空”、“9”。
本实施例中,第一组不同字符串集合{“空”、“1”、“3”、“8”}与第二组不同字符串集合{“0”、“空”、“空”、“9”}均为四个字符串,分别一一对应。
步骤204,将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
在一种实施方式中,针对所述第一组不同字符串集合中的第一不同字符串,将所述第一不同字符串与所述第二组不同字符串集合中对应的位置的字符串进行对比,以确定出所述对应的位置的字符串在所述第二文档中对应的更新操作类型。其中,第一不同字符串为所述第一组不同字符串集合中的任一不同字符串。
例如,第一不同字符串若位于第一文档的第一串最长公共字符串之前,则第二组不同字符串集合中对应的位置的字符串则为第二文档中的第一串最长公共字符串之前的不同字符串。此时,则需要将该第一不同字符串与第二文档中的第一串最长公共字符串之前的不同字符串进行比对。
再例如,第一不同字符串若位于第一文档的第五串最长公共字符串与第六串最长公共字符串之间,则第二组不同字符串集合中对应的位置的字符串则为第二文档中的第五串最长公共字符串与第六串最长公共字符串之间的不同字符串。此时,则需要将该第一不同字符串与第二文档中的第五串最长公共字符串与第六串最长公共字符串之间的不同字符串进行比对。
在一种实施方式中,将所述第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一对一比对,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
示例性地,可以将所述第一组不同字符串集合中的第二不同字符串与所述第二组不同字符串集合中与所述第二不同字符串的位置相同第三不同字符串进行对比。
其中,第二不同字符串为第一组不同字符串集合中的任意一串不同字符串,第三不同字符串为第二组不同字符串集合中的任意一串不同字符串。
以第一组不同字符串集合{“空”、“1”、“3”、“8”}与第二组不同字符串集合{“0”、“空”、“空”、“9”}为例。
当所述第二不同字符串为空字符串,且所述第三不同字符串不为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为增加操作。
例如,若第二不同字符串为“空”,第三不同字符串为“0”,则在第二文档中针对“0”的操作为增加操作。
当所述第二不同字符串不为空字符串,且所述第三不同字符串为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为删除操作。
例如,若第二不同字符串为“1”,第三不同字符串为“空”,则在第二文档为删除了第一文档中原有的字符串“1”。
例如,若第二不同字符串为“3”,第三不同字符串为“空”,则在第二文档为删除了第一文档中原有的字符串“3”。
当所述第二不同字符串不为空字符串,且所述第三不同字符串不为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为更改操作。
例如,若第二不同字符串为“空”,第三不同字符串为“8”,则在第二文档中针对“9”的操作为更改操作。
本实施例中仅仅用数字字符串举例进行了说明,可以知道的是第一文档和第二文档中的内容可以不仅仅包含数字,也可以包含文字、符号、表格、公式等。
前述内容描述了关于文档中的更新操作的识别,为了方便用户获知对应的更新操作类型,以及定位更新操作的位置,还可以对更新操作的相关内容进行标记。
可选地,本实施例中的方法还可以包括:步骤205,根据所述更新操作类型在所述第二文档中进行标记。
示例性地,上述的标记可以是以批注的形式显示在第二文档中。
可选地,不同的更新操作类型也可以显示不同的标记。
例如,增加操作可以表示为将不同字符串使用区别于最长公共字符串的字体或颜色的字符插入第二文档中。
再例如,删除操作可以表示为将被删除得字符串使用划线的方式将该被删除得字符串显示在第二文档中。
再例如,更改操作可以表示为将不同字符串使用区别于最长公共字符串的字体或颜色的字符插入第二文档中。
在本申请实施例的文档对比方法,先通过文档对比的方式筛选出最长公共字符串集合,再基于最长公共字符串集合能够确定出第一文档与第二文档中的不同的字符串。在本实施例中由于已经先确定出不同字符串,从而可以更方便、准确、快速地定位出第二文档相对于第二文档的更新操作。
进一步地,还可以将第一文档和第二文档中的不同字符串一对一的对比,从而可以快速准确地定位更新的位置,以及更新的内容。
进一步地,通过标记的形式显示更新内容,从而可以方便用户获知更新内容。
实施例三
基于同一申请构思,本申请实施例中还提供了与文档对比方法对应的文档对比装置,由于本申请实施例中的装置解决问题的原理与前述的文档对比方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
请参阅图3,是本申请实施例提供的文档对比装置的功能模块示意图。本实施例中的文档对比装置中的各个模块用于执行上述方法实施例中的各个步骤。文档对比装置包括:筛选模块301、第一确定模块302、第二确定模块303以及对比模块304;其中,
筛选模块301,用于将第一文档与第二文档进行对比,以筛选出所述第一文档与所述第二文档的最长公共字符串集合;
第一确定模块302,用于基于所述最长公共字符串集合在所述第一文档中确定出第一组不同字符串集合;
第二确定模块303,用于基于所述最长公共字符串集合在所述第二文档中确定出第二组不同字符串集合;
对比模块304,用于将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
一种可能的实施方式中,对比模块304,用于:
针对所述第一组不同字符串集合中的第一不同字符串,将所述第一不同字符串与所述第二组不同字符串集合中对应的位置的字符串进行对比,以确定出所述对应的位置的字符串在所述第二文档中对应的更新操作类型;所述第一不同字符串为所述第一组不同字符串集合中的任一不同字符串。
一种可能的实施方式中,第一确定模块302,用于将所述第一文档中任意相邻两串最长公共字符串之间的内容作为不同字符串,其中,若任意相邻两串最长公共字符串之间的内容为空,则对应的不同字符串为空字符串;
第二确定模块303,用于将所述第二文档中任意相邻两串最长公共字符串之间的内容作为不同字符串,其中,若任意相邻两串最长公共字符串之间的内容为空,则对应的不同字符串为空字符串,所述第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一一对应。
一种可能的实施方式中,对比模块304,用于:
将所述第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一对一比对,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
一种可能的实施方式中,对比模块304,用于:
将所述第一组不同字符串集合中的第二不同字符串与所述第二组不同字符串集合中与所述第二不同字符串的位置相同第三不同字符串进行对比,其中,第二不同字符串为第一组不同字符串集合中的任意一串不同字符串,第三不同字符串为第二组不同字符串集合中的任意一串不同字符串;
当所述第二不同字符串为空字符串,且所述第三不同字符串不为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为增加操作;
当所述第二不同字符串不为空字符串,且所述第三不同字符串为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为删除操作;
当所述第二不同字符串不为空字符串,且所述第三不同字符串不为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为更改操作。
一种可能的实施方式中,筛选模块301,用于:
在所述第一文档中的第一当前待查文本中匹配与所述第二文档对应的第二当前待查文本中重复字符串最长的字符串作为第I串公共字符串,直到不能匹配出最长公共字符串为止;
其中,当首次匹配公共字符串时,第一当前待查文本为所述第一文档,第二当前待查文本为所述第二文档;
当第I+1次匹配公共字符串时,第一当前待查文本为所述第一文档的第I串公共字符串的第一侧未被匹配的部分文本,或所述第一文档中未被匹配的其它部分文本;第二当前待查文本为所述第二文档的第I串公共字符串的第一侧未被匹配的部分文本,或所述第二文档中未被匹配的其它部分文本;
其中,I为正整数。
一种可能的实施方式中,本实施例中的文档对比装置还包括:
标记模块,用于根据所述更新操作类型在所述第二文档中进行标记。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的文档对比方法的步骤。
本申请实施例所提供的文档对比方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的文档对比方法的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种文档对比方法,其特征在于,包括:
将第一文档与第二文档进行对比,以筛选出所述第一文档与所述第二文档的最长公共字符串集合;
基于所述最长公共字符串集合在所述第一文档中确定出第一组不同字符串集合;
基于所述最长公共字符串集合在所述第二文档中确定出第二组不同字符串集合;
将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型,包括:
针对所述第一组不同字符串集合中的第一不同字符串,将所述第一不同字符串与所述第二组不同字符串集合中对应的位置的字符串进行对比,以确定出所述对应的位置的字符串在所述第二文档中对应的更新操作类型;所述第一不同字符串为所述第一组不同字符串集合中的任一不同字符串。
3.根据权利要求1所述的方法,其特征在于,所述基于所述最长公共字符串集合在所述第一文档中确定出第一组不同字符串集合,包括:将所述第一文档中任意相邻两串最长公共字符串之间的内容作为不同字符串,其中,若任意相邻两串最长公共字符串之间的内容为空,则对应的不同字符串为空字符串;
所述基于所述最长公共字符串集合在所述第二文档中确定出第二组不同字符串集合,包括:将所述第二文档中任意相邻两串最长公共字符串之间的内容作为不同字符串,其中,若任意相邻两串最长公共字符串之间的内容为空,则对应的不同字符串为空字符串,所述第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一一对应。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型,包括:
将所述第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一对一比对,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
5.根据权利要求4所述的方法,其特征在于,所述将所述第一组不同字符串集合中的不同字符串与所述第二组不同字符串集合中的不同字符串一对一比对,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型,包括:
将所述第一组不同字符串集合中的第二不同字符串与所述第二组不同字符串集合中与所述第二不同字符串的位置相同第三不同字符串进行对比,其中,第二不同字符串为第一组不同字符串集合中的任意一串不同字符串,第三不同字符串为第二组不同字符串集合中的任意一串不同字符串;
当所述第二不同字符串为空字符串,且所述第三不同字符串不为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为增加操作;
当所述第二不同字符串不为空字符串,且所述第三不同字符串为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为删除操作;
当所述第二不同字符串不为空字符串,且所述第三不同字符串不为空字符串时,则表示所述第二文档中的所述第三不同字符串对应的操作为更改操作。
6.根据权利要求1所述的方法,其特征在于,所述将第一文档与第二文档进行对比,以筛选出所述第一文档与所述第二文档的最长公共字符串集合,包括:
在所述第一文档中的第一当前待查文本中匹配与所述第二文档对应的第二当前待查文本中重复字符串最长的字符串作为第I串公共字符串,直到不能匹配出最长公共字符串为止;
其中,当首次匹配公共字符串时,第一当前待查文本为所述第一文档,第二当前待查文本为所述第二文档;
当第I+1次匹配公共字符串时,第一当前待查文本为所述第一文档的第I串公共字符串的第一侧未被匹配的部分文本,或所述第一文档中未被匹配的其它部分文本;第二当前待查文本为所述第二文档的第I串公共字符串的第一侧未被匹配的部分文本,或所述第二文档中未被匹配的其它部分文本;
其中,I为正整数。
7.根据权利要求1-6任意一项所述的方法,其特征在于,所述方法还包括:
根据所述更新操作类型在所述第二文档中进行标记。
8.一种文档对比装置,其特征在于,包括:
筛选模块,用于将第一文档与第二文档进行对比,以筛选出所述第一文档与所述第二文档的最长公共字符串集合;
第一确定模块,用于基于所述最长公共字符串集合在所述第一文档中确定出第一组不同字符串集合;
第二确定模块,用于基于所述最长公共字符串集合在所述第二文档中确定出第二组不同字符串集合;
对比模块,用于将所述第一组不同字符串集合与所述第二组不同字符串集合进行对比,以确定出所述第二组不同字符串集合在所述第二文档中对应的更新操作类型。
9.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法的步骤。
CN202011014810.4A 2020-09-23 2020-09-23 文档对比方法、装置、电子设备和计算机可读存储介质 Active CN112149402B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011014810.4A CN112149402B (zh) 2020-09-23 2020-09-23 文档对比方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011014810.4A CN112149402B (zh) 2020-09-23 2020-09-23 文档对比方法、装置、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112149402A true CN112149402A (zh) 2020-12-29
CN112149402B CN112149402B (zh) 2023-05-23

Family

ID=73896629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011014810.4A Active CN112149402B (zh) 2020-09-23 2020-09-23 文档对比方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112149402B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407665A (zh) * 2021-05-25 2021-09-17 北京有竹居网络技术有限公司 文本比对方法、装置、介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589838A (zh) * 2015-12-24 2016-05-18 中国电子科技集团公司第三十三研究所 一种基于文件比较的电子公文痕迹保留方法
CN108268884A (zh) * 2016-12-31 2018-07-10 方正国际软件(北京)有限公司 一种文档对比方法及装置
CN108734110A (zh) * 2018-04-24 2018-11-02 达而观信息科技(上海)有限公司 基于最长公共子序列的文本段落识别对比方法及系统
CN109815452A (zh) * 2018-12-25 2019-05-28 东软集团股份有限公司 文本比较方法、装置、存储介质及电子设备
CN111090982A (zh) * 2018-10-24 2020-05-01 迈普通信技术股份有限公司 文本比较方法、装置、电子设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589838A (zh) * 2015-12-24 2016-05-18 中国电子科技集团公司第三十三研究所 一种基于文件比较的电子公文痕迹保留方法
CN108268884A (zh) * 2016-12-31 2018-07-10 方正国际软件(北京)有限公司 一种文档对比方法及装置
CN108734110A (zh) * 2018-04-24 2018-11-02 达而观信息科技(上海)有限公司 基于最长公共子序列的文本段落识别对比方法及系统
CN111090982A (zh) * 2018-10-24 2020-05-01 迈普通信技术股份有限公司 文本比较方法、装置、电子设备及计算机可读存储介质
CN109815452A (zh) * 2018-12-25 2019-05-28 东软集团股份有限公司 文本比较方法、装置、存储介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407665A (zh) * 2021-05-25 2021-09-17 北京有竹居网络技术有限公司 文本比对方法、装置、介质及电子设备

Also Published As

Publication number Publication date
CN112149402B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
US9697193B2 (en) Associating captured image data with a spreadsheet
US9754176B2 (en) Method and system for data extraction from images of semi-structured documents
US9898464B2 (en) Information extraction supporting apparatus and method
EP3779782A1 (en) Image processing device, image processing method, and storage medium for storing program
CN105302626B (zh) Xps结构化数据的解析方法
US11520835B2 (en) Learning system, learning method, and program
CN111052221A (zh) 和弦信息提取装置、和弦信息提取方法及和弦信息提取程序
CN109189372B (zh) 保险产品的开发脚本生成方法及终端设备
CN112149402B (zh) 文档对比方法、装置、电子设备和计算机可读存储介质
JP5229102B2 (ja) 帳票検索装置、帳票検索プログラムおよび帳票検索方法
CN109670183B (zh) 一种文本重要性的计算方法、装置、设备和存储介质
US10216988B2 (en) Information processing device, information processing method, and computer program product
CN111859923A (zh) 信息处理装置、记录媒体及信息处理方法
JP5550959B2 (ja) 文書処理システム、及びプログラム
JP7215975B2 (ja) 補正候補決定装置、補正候補決定方法およびプログラム
KR102477841B1 (ko) 상품 검색 장치, 서버 및 검색 시스템의 제어 방법
JP5752073B2 (ja) データ修正装置
CN113157964A (zh) 一种语音搜索数据集的方法、装置及电子设备
CN111079403B (zh) 一种页面对比方法及装置
JP3958722B2 (ja) イメージデータ文書検索システム
JP6931517B2 (ja) 校正支援装置、校正支援方法および校正支援プログラム
US20110016380A1 (en) Form editing apparatus, form editing method, and storage medium
US20210200953A1 (en) Named-entity extraction apparatus, method, and non-transitory computer readable storage medium
JP7377565B2 (ja) 図面検索装置、図面データベース構築装置、図面検索システム、図面検索方法、及びプログラム
JP7268316B2 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant