掌桥专利:专业的专利平台
掌桥专利
首页

一种文本对比方法及相关设备

文献发布时间:2024-04-18 19:58:26


一种文本对比方法及相关设备

技术领域

本公开涉及文本处理技术,尤其涉及一种文本对比方法及相关设备。

背景技术

当前,涉及合同、技术标准以及法律法规的文本常常需要进行多次修改,为了确定文本修改的准确,用户需要核对旧文本与新文本之间的差异。

当前主要通过对旧文本与新文本逐行进行文字对比,找出旧文本与新文本之间的差异。在涉及大篇幅的文本对比下,该逐行文字对比的方法对比速度慢、效率低,且由于忽略了文本自身的文本结构特征,导致文本对比结果误差大,无法做到精细化的文本对比。

发明内容

鉴于上述问题,本公开提供一种克服上述问题或者至少部分地解决上述问题的一种文本对比方法及相关设备,技术方案如下:

一种文本对比方法,包括:

获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列,其中,所述第一序列和所述第二序列均包括:多个文本特征,每个所述文本特征分别与一个文本部分对应;

确定所述第一序列和所述第二序列的最长公共子序列;

基于所述最长公共子序列中的文本特征分别在所述第一序列和所述第二序列中的位置,将所述第一序列中的至少一个非公共文本特征和所述第二序列中的至少一个非公共文本特征进行对比,获得对比结果,所述非公共文本特征为未包括在所述最长公共子序列中的文本特征。

可选的,所述基于所述最长公共子序列中的文本特征分别在所述第一序列和所述第二序列中的位置,将所述第一序列中的至少一个非公共文本特征和所述第二序列中的至少一个非公共文本特征进行对比,获得对比结果,包括:

将分别位于所述第一序列和第二序列中,且与所述最长公共子序列中的目标文本特征的位置关系相同的至少两个非公共文本特征进行对比,获得对比结果。

可选的,所述将分别位于所述第一序列和第二序列中,且与所述最长公共子序列中的目标文本特征的位置关系相同的至少两个非公共文本特征进行对比,获得对比结果,包括:

若所述第一序列中存在与所述目标文本特征具有第一位置关系的非公共文本特征,且所述第二序列中不存在与所述目标文本特征具有所述第一位置关系的非公共文本特征,则获得第一对比结果,所述第一对比结果包括:所述第一序列中的、与所述目标文本特征具有所述第一位置关系的非公共文本特征为所述第二序列的删除文本特征;

和/或,

若所述第一序列中不存在与所述目标文本特征具有第一位置关系的非公共文本特征,且所述第二序列中存在与所述目标文本特征具有所述第一位置关系的非公共文本特征,则获得第二对比结果,所述第二对比结果包括:所述第二序列中的、与所述目标文本特征具有所述第一位置关系的非公共文本特征为所述第二序列的新增文本特征;

和/或,

若所述第一序列中的与所述目标文本特征具有第一位置关系的非公共文本特征,与所述第二序列中的与所述目标文本特征具有所述第一位置关系的非公共文本特征不同,则获得第三对比结果,所述第三对比结果包括:所述第二序列中的、与所述目标文本特征具有所述第一位置关系的非公共文本特征为所述第二序列的变更文本特征;

和/或,

若所述第一序列中的与所述目标文本特征具有第一位置关系的非公共文本特征,与所述第二序列中的与所述目标文本特征具有所述第一位置关系的非公共文本特征相同,则获得第四对比结果,所述第四对比结果包括:所述第二序列中的、与所述目标文本特征具有所述第一位置关系的非公共文本特征为所述第二序列的相同文本特征。

可选的,在获得所述第一对比结果和所述第二对比结果的情况下,所述将分别位于所述第一序列和第二序列中,且与所述最长公共子序列中的目标文本特征的位置关系相同的至少两个非公共文本特征进行对比,获得对比结果,还包括:

若所述删除文本特征和所述新增文本特征中存在相同的非公共文本特征,则获得第五对比结果,所述第五对比结果包括:将所述相同的非公共文本特征确定为所述第二序列的移动文本特征;

修改所述第一对比结果,以使所述相同的非公共文本特征不为所述第二序列的删除文本特征;

修改所述第二对比结果,以使所述相同的非公共文本特征不为所述第二序列的新增文本特征。

可选的,所述方法还包括:

为所述第二文本中的文本部分添加与所述对比结果匹配的文本修改标识。

可选的,所述方法还包括:

将所述第一文本中的、所述相同文本特征对应的文本部分作为所述第一文本,将所述第二文本中的、所述相同文本特征对应的文本部分作为所述第二文本,返回执行所述步骤:获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列。

可选的,所述方法还包括:

将所述第一文本中的、与所述最长公共子序列中的至少部分文本特征对应的文本部分作为所述第一文本,将所述第二文本中的、与所述最长公共子序列中的至少部分文本特征对应的文本部分作为所述第二文本,返回执行所述步骤:获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列。

一种文本对比装置,包括:第一获得单元、第一确定单元以及第二获得单元,

所述第一获得单元,用于获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列,其中,所述第一序列和所述第二序列均包括:多个文本特征,每个所述文本特征分别与一个文本部分对应;

所述第一确定单元,用于确定所述第一序列和所述第二序列的最长公共子序列;

所述第二获得单元,用于基于所述最长公共子序列中的文本特征分别在所述第一序列和所述第二序列中的位置,将所述第一序列中的至少一个非公共文本特征和所述第二序列中的至少一个非公共文本特征进行对比,获得对比结果,所述非公共文本特征为未包括在所述最长公共子序列中的文本特征。

一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的文本对比方法。

一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的文本对比方法。

借由上述技术方案,本公开提供的一种文本对比方法及相关设备,获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列,其中,第一序列和第二序列均包括:多个文本特征,每个文本特征分别与一个文本部分对应;确定第一序列和第二序列的最长公共子序列;基于最长公共子序列中的文本特征分别在第一序列和第二序列中的位置,将第一序列中的至少一个非公共文本特征和第二序列中的至少一个非公共文本特征进行对比,获得对比结果,非公共文本特征为未包括在最长公共子序列中的文本特征。本公开基于文本中文本部分的文本特征,利用最长公共子序列进行文本特征对比,实现了精细化的文本对比,减小了文本对比结果的误差。

上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本公开实施例提供的文本对比方法的一种实施方式的流程示意图;

图2示出了本公开实施例提供的第一序列和第二序列的一种说明示意图;

图3示出了本公开实施例提供的文本对比方法的另一种实施方式的流程示意图;

图4示出了本公开实施例提供的文本对比装置的一种结构示意图;

图5示出了本公开实施例提供的电子设备的一种结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,本公开实施例提供的文本对比方法的一种实施方式的流程示意图,该文本对比方法可以包括:

S100、获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列,其中,第一序列和第二序列均包括:多个文本特征,每个文本特征分别与一个文本部分对应。

其中,本公开实施例中的文本可以是按照规范性格式记载文字信息的文档。例如:合同、技术标准以及法律法规的文本文档。可选的,本公开实施例中的文本可以是主要以中文为书面语言表现形式的文本。

可以理解的是,一个文本可以是一个句子、一个段落或一个篇章。在文本是篇章时,文本部分可以是段落。在文本是段落时,文本部分可以是句子。在文本是句子时,文本部分可以是词语。

可选的,本公开实施例在文本是篇章的情况下,可以预先利用simhash算法获得第一文本的第一simhash值和第二文本的第二simhash值,将第一simhash值与第二simhash值进行比对,确定第一文本与第二文本的相似度,若该相似度不小于第一预设相似度阈值,则执行步骤S100。在实际使用场景下,若该相似度小于第一预设相似度阈值,则确定第一文本与第二文本无显著关联,无需进行文本对比。可以理解的是,第一预设相似度阈值可以根据实际需求进行设置。例如:第一预设相似度阈值可以为1%。

其中,simhash算法属于局部敏感哈希(Locality Sensitive Hash)中的一种算法。本公开实施例通过第一simhash值与第二simhash值的海明距离(Hamming distance),确定第一文本与第二文本的相似度。例如:假设simhash值长度为N,海明距离为m,相似度为s,则s=(N-m)/N,其中,s是一个为0至1的小数,可用百分比表示。

可选的,在文本是篇章的情况下,本公开实施例在对文本进行文本预处理后,再执行步骤S100。其中,文本预处理可以包括删除文本中的空行。

可选的,本公开实施例可以在文本部分是段落或句子的情况下,将文本部分对应的simhash值作为该文本部分的文本特征。本公开实施例可以利用simhash算法获得第一文本的各文本部分的第三simhash值和第二文本的各文本部分的第四simhash值,基于各第三simhash值构成第一序列,基于各第四simhash值构成第二序列。

可选的,本公开实施例可以在文本部分是词语的情况下,将词语本身作为该文本部分的文本特征。本公开实施例可以利用NLP(Neuro-Linguistic Programming,神经语言程序学)方法对第一文本和第二文本进行分词,获得第一文本的第一分词结果和第二文本的第二分词结果,基于第一分词结果构成第一序列,基于第二分词结果构成第二序列。

可选的,本公开实施例可以按照文本部分在第一文本中的前后位置关系,对第一文本中的各文本部分的文本特征进行排序,构成第一序列。同理,本公开实施例可以按照文本部分在第二文本中的前后位置关系,对第二文本中的各文本部分的文本特征进行排序,构成第二序列。

S200、确定第一序列和第二序列的最长公共子序列。

其中,最长公共子序列(The longest common subsequence,LCS)是在两个序列中查找所有序列中的最长子序列。在通常情况下,最长公共子序列需要保持相对顺序一致,可以不要求连续。例如:图2所示为第一序列和第二序列的一种说明示意图,假设第一文本的文本部分的文本特征构成的第一序列为ACED(P1)BFHGJK,第二文本的文本部分的文本特征构成的第二序列为AECFD(P2)BGMJL,则最长公共子序列为ACDBGJ。需要说明的是,P1和P2分别对应的两个文本部分可以是不完全相同的文本部分,例如:在实际中,P2对应的文本部分可能是在P1对应的文本部分的基础上经过一定程度的修改得到,以至于无法认定为最长公共子序列中的一部分。

S300、基于最长公共子序列中的文本特征分别在第一序列和第二序列中的位置,将第一序列中的至少一个非公共文本特征和第二序列中的至少一个非公共文本特征进行对比,获得对比结果,非公共文本特征为未包括在最长公共子序列中的文本特征。

为了便于理解,此处结合图2进行说明:第一序列和第二序列的最长公共子序列为ACDBGJ,则文本特征A、C、D、B、G以及J为公共文本特征,第一序列中的非公共文本特征为E、P1、F、H以及K,第二序列中的非公共文本特征为E、F、P2、M以及L。

可选的,基于图1所示的方法,如图3所示,本公开实施例提供的文本对比方法的另一种实施方式的流程示意图,步骤S300可以包括:

S310、将分别位于第一序列和第二序列中,且与最长公共子序列中的目标文本特征的位置关系相同的至少两个非公共文本特征进行对比,获得对比结果。

可选的,本公开实施例在文本部分是段落或句子的情况下,非公共文本特征为simhash值,通过simhash值比对,获得第一序列中的非公共文本特征与第二序列中的非公共文本特征的相似度,若该相似度大于第二预设相似度阈值,则确定第一序列中的该非公共文本特征与第二序列中的该非公共文本特征相同。若该相似度不大于第二预设相似度阈值,则确定第一序列中的该非公共文本特征与第二序列中的该非公共文本特征不同。可选的,第二预设相似度阈值可以为90%。本公开实施例通过simhash值比对,确定第一序列中的非公共文本特征与第二序列中的非公共文本特征是否相同,可以在文本部分是段落或句子的情况下,精准进行文本对比,减小文本对比误差。

可选的,本公开实施例在文本部分是词语的情况下,非公共文本特征为词语,通过词语比对,若词语相同,则确定该第一序列中的非公共文本特征与该第二序列中的非公共文本特征相同。若词语不同,则确定第一序列中的该非公共文本特征与第二序列中的该非公共文本特征不同。本公开实施例通过词语比对,确定第一序列中的非公共文本特征与第二序列中的非公共文本特征是否相同,可以在文本部分是词语的情况下,高精度进行文本对比,减小文本对比误差。

可选的,若第一序列中存在与目标文本特征具有第一位置关系的非公共文本特征,且第二序列中不存在与目标文本特征具有第一位置关系的非公共文本特征,则获得第一对比结果,第一对比结果包括:第一序列中的、与目标文本特征具有第一位置关系的非公共文本特征为第二序列的删除文本特征。

为了便于理解,此处结合图2进行说明:在第一位置关系为目标文本特征C和D之间时,第一序列在目标文本特征C和D之间存在非公共文本特征E,而第二序列在目标文本特征C和D之间不存在非公共文本特征E,则将第一序列中的非公共文本特征E确定为第二序列的删除文本特征。同理,第一序列中的非公共文本特征F、非公共文本特征H以及非公共文本特征K均确定为第二序列的删除文本特征。

可选的,若第一序列中不存在与目标文本特征具有第一位置关系的非公共文本特征,且第二序列中存在与目标文本特征具有第一位置关系的非公共文本特征,则获得第二对比结果,第二对比结果包括:第二序列中的、与目标文本特征具有第一位置关系的非公共文本特征为第二序列的新增文本特征。

为了便于理解,此处结合图2进行说明:在第一位置关系为目标文本特征A和C之间时,第一序列在目标文本特征A和C之间不存在非公共文本特征,第二序列在目标文本特征A和C之间存在非公共文本特征E,则将第二序列中的非公共文本特征E确定为第二序列的新增文本特征。同理,可将第二序列中的非公共文本特征F、非公共文本特征M和非公共文本特征L均确定为第二序列的新增文本特征。

可选的,若第一序列中的与目标文本特征具有第一位置关系的非公共文本特征,与第二序列中的与目标文本特征具有第一位置关系的非公共文本特征不同,则获得第三对比结果,第三对比结果包括:第二序列中的、与目标文本特征具有第一位置关系的非公共文本特征为第二序列的变更文本特征。

为了便于理解,此处结合图2进行说明:在第一位置关系为目标文本特征C和D之间时,第一序列在目标文本特征C和D之间存在非公共文本特征E,而第二序列在目标文本特征C和D之间存在非公共文本特征F,则将第二序列中的非公共文本特征F确定为第二序列的变更文本特征。同理,第二序列中的非公共文本特征L也为第二序列的变更文本特征。

可选的,若第一序列中的与目标文本特征具有第一位置关系的非公共文本特征,与第二序列中的与目标文本特征具有第一位置关系的非公共文本特征相同,则获得第四对比结果,第四对比结果包括:第二序列中的、与目标文本特征具有第一位置关系的非公共文本特征为第二序列的相同文本特征。

为了便于理解,此处结合图2进行说明:在第一位置关系为目标文本特征D和B之间时,第一序列在目标文本特征D和B之间的非公共文本特征为P1,第二序列在目标文本特征D和B之间的非公共文本特征为P2,若P1与P2确定相同,则将第二序列中的非公共文本特征P2确定为第二序列的相同文本特征。

本公开实施例通过将第一序列和第二序列中与最长公共子序列中的目标文本特征的位置关系相同的非公共文本特征进行对比,可以确定第二文本中相对于第一文本删除、新增、变更以及相同的文本部分,实现了精准的文本对比,使得文本对比结果更加准确。

由于在实际情况中,一个文本特征在第一文本和第二文本中的位置可能不同,即第二文本相对第一文本未实际增加和删除该文本特征,而是第二文本相对于第一文本移动了该文本特征的位置,为了区分出文本特征移动的情况,需要对第二序列的增加文本特征和删除文本特征进一步处理。

可选的,本公开实施例在获得第一对比结果和第二对比结果的情况下,若删除文本特征和新增文本特征中存在相同的非公共文本特征,则获得第五对比结果,第五对比结果包括:将相同的非公共文本特征确定为第二序列的移动文本特征。修改第一对比结果,以使相同的非公共文本特征不为第二序列的删除文本特征。修改第二对比结果,以使相同的非公共文本特征不为第二序列的新增文本特征。

为了便于理解,此处结合图2进行说明:假设当前已知第二序列的删除文本特征包括第一序列中的非公共文本特征E、非公共文本特征F、非公共文本特征H以及非公共文本特征K,当前已知第二序列的增加文本特征包括第二序列中的非公共文本特征E、非公共文本特征F、非公共文本特征M和非公共文本特征L,在第二序列的删除文本特征和增加文本特征中具有相同的非公共文本特征E和非公共文本特征F,则将非公共文本特征E和非公共文本特征F确定为第二序列的移动文本特征,修改后的第二序列的删除文本特征包括非公共文本特征H以及非公共文本特征K,修改后的第二序列的新增文本特征包括非公共文本特征M和非公共文本特征L。

本公开实施例通过对第二序列的增加文本特征和删除文本特征中的非公共文本特征进行对比,可以确定第二文本中相对于第一文本移动的文本部分,实现了更加精准的文本对比,使得文本对比结果更加准确。

可选的,本公开实施例可以为第二文本中的文本部分添加与对比结果匹配的文本修改标识。

其中,文本修改标识可以包括删除文本标识、新增文本标识、变更文本标识、相同文本标识以及移动文本标识。具体的,本公开实施例可以在第二文本中与删除文本特征在第一文本中的相应位置上添加删除文本标识,在第二文本中的新增文本特征的位置添加新增文本标识,在第二文本中的变更文本特征的位置添加变更文本标识,在第二文本中的相同文本特征的位置上添加相同文本标识,在第二文本中移动文本特征的位置上添加移动文本标识。

可选的,文本修改标识的具体形式可以包括附注说明以及高亮显示。

可选的,本公开实施例可以展示由对比结果以及相应文本修改标识的第二文本,以便用户能够直观地确定第二文本与第一文本的差异。

可以理解的是,在文本部分是段落或句子的情况下,由于文本特征相同并不一定代表着相应的两个文本部分完全相同。因此为了更加精细化的进行文本对比,本公开实施例可以进一步地将段落作为文本并将句子作为文本部分进行文本对比,或进一步地将句子作为文本将词语作为文本部分进行文本对比。

可选的,本公开实施例可以将第一文本中的、相同文本特征对应的文本部分作为第一文本,将第二文本中的、相同文本特征对应的文本部分作为第二文本,返回执行步骤:获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列。

可选的,本公开实施例可以将第一文本中的、移动文本特征对应的文本部分作为第一文本,将第二文本中的、移动文本特征对应的文本部分作为第二文本,返回执行步骤:获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列。

可选的,本公开实施例可以将第一文本中的、与最长公共子序列中的至少部分文本特征对应的文本部分作为第一文本,将第二文本中的、与最长公共子序列中的至少部分文本特征对应的文本部分作为第二文本,返回执行步骤:获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列。

本公开实施例通过精度递增的文本对比,能够满足不同精度下的文本对比需求,方便相关人员准确、快速地找到第一文本和第二文本之间的差异,在实际中可以减少相互协作撰写同一文书的工作人员之间的沟通成本,减少相关专业人员对于新旧技术标准以及新旧法律规定之间对比的时间成本,提升了文本对比效率。

本公开提供的一种文本对比方法,获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列,其中,第一序列和第二序列均包括:多个文本特征,每个文本特征分别与一个文本部分对应;确定第一序列和第二序列的最长公共子序列;基于最长公共子序列中的文本特征分别在第一序列和第二序列中的位置,将第一序列中的至少一个非公共文本特征和第二序列中的至少一个非公共文本特征进行对比,获得对比结果,非公共文本特征为未包括在最长公共子序列中的文本特征。本公开基于文本中文本部分的文本特征,利用最长公共子序列进行文本特征对比,实现了精细化的文本对比,减小了文本对比结果的误差。

虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

与上述方法实施例相对应,本公开实施例还提供一种文本对比装置,其结构如图4所示,可以包括:第一获得单元100、第一确定单元200以及第二获得单元300。

第一获得单元100,用于获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列,其中,第一序列和第二序列均包括:多个文本特征,每个文本特征分别与一个文本部分对应。

其中,本公开实施例中的文本可以是按照规范性格式记载文字信息的文档。例如:合同、技术标准以及法律法规的文本文档。可选的,本公开实施例中的文本可以是主要以中文为书面语言表现形式的文本。

可以理解的是,一个文本可以是一个句子、一个段落或一个篇章。在文本是篇章时,文本部分可以是段落。在文本是段落时,文本部分可以是句子。在文本是句子时,文本部分可以是词语。

可选的,本公开实施例可以在文本部分是段落或句子的情况下,将文本部分对应的simhash值作为该文本部分的文本特征。本公开实施例可以利用simhash算法获得第一文本的各文本部分的第三simhash值和第二文本的各文本部分的第四simhash值,基于各第三simhash值构成第一序列,基于各第四simhash值构成第二序列。

可选的,本公开实施例可以在文本部分是词语的情况下,将词语本身作为该文本部分的文本特征。本公开实施例可以利用NLP(Neuro-Linguistic Programming,神经语言程序学)方法对第一文本和第二文本进行分词,获得第一文本的第一分词结果和第二文本的第二分词结果,基于第一分词结果构成第一序列,基于第二分词结果构成第二序列。

可选的,本公开实施例可以按照文本部分在第一文本中的前后位置关系,对第一文本中的各文本部分的文本特征进行排序,构成第一序列。同理,本公开实施例可以按照文本部分在第二文本中的前后位置关系,对第二文本中的各文本部分的文本特征进行排序,构成第二序列。

第一确定单元200,用于确定第一序列和第二序列的最长公共子序列。

其中,最长公共子序列(The longest common subsequence,LCS)是在两个序列中查找所有序列中的最长子序列。在通常情况下,最长公共子序列需要保持相对顺序一致,可以不要求连续。

第二获得单元300,用于基于最长公共子序列中的文本特征分别在第一序列和第二序列中的位置,将第一序列中的至少一个非公共文本特征和第二序列中的至少一个非公共文本特征进行对比,获得对比结果,非公共文本特征为未包括在最长公共子序列中的文本特征。

可选的,第二获得单元300,可以具体用于将分别位于第一序列和第二序列中,且与最长公共子序列中的目标文本特征的位置关系相同的至少两个非公共文本特征进行对比,获得对比结果。

可选的,本公开实施例在文本部分是段落或句子的情况下,非公共文本特征为simhash值,通过simhash值比对,获得第一序列中的非公共文本特征与第二序列中的非公共文本特征的相似度,若该相似度大于第二预设相似度阈值,则确定第一序列中的该非公共文本特征与第二序列中的该非公共文本特征相同。若该相似度不大于第二预设相似度阈值,则确定第一序列中的该非公共文本特征与第二序列中的该非公共文本特征不同。可选的,第二预设相似度阈值可以为90%。本公开实施例通过simhash值比对,确定第一序列中的非公共文本特征与第二序列中的非公共文本特征是否相同,可以在文本部分是段落或句子的情况下,精准进行文本对比,减小文本对比误差。

可选的,本公开实施例在文本部分是词语的情况下,非公共文本特征为词语,通过词语比对,若词语相同,则确定该第一序列中的非公共文本特征与该第二序列中的非公共文本特征相同。若词语不同,则确定第一序列中的该非公共文本特征与第二序列中的该非公共文本特征不同。本公开实施例通过词语比对,确定第一序列中的非公共文本特征与第二序列中的非公共文本特征是否相同,可以在文本部分是词语的情况下,高精度进行文本对比,减小文本对比误差。

可选的,若第一序列中存在与目标文本特征具有第一位置关系的非公共文本特征,且第二序列中不存在与目标文本特征具有第一位置关系的非公共文本特征,则获得第一对比结果,第一对比结果包括:第一序列中的、与目标文本特征具有第一位置关系的非公共文本特征为第二序列的删除文本特征;

可选的,若第一序列中不存在与目标文本特征具有第一位置关系的非公共文本特征,且第二序列中存在与目标文本特征具有第一位置关系的非公共文本特征,则获得第二对比结果,第二对比结果包括:第二序列中的、与目标文本特征具有第一位置关系的非公共文本特征为第二序列的新增文本特征;

可选的,若第一序列中的与目标文本特征具有第一位置关系的非公共文本特征,与第二序列中的与目标文本特征具有第一位置关系的非公共文本特征不同,则获得第三对比结果,第三对比结果包括:第二序列中的、与目标文本特征具有第一位置关系的非公共文本特征为第二序列的变更文本特征;

可选的,若第一序列中的与目标文本特征具有第一位置关系的非公共文本特征,与第二序列中的与目标文本特征具有第一位置关系的非公共文本特征相同,则获得第四对比结果,第四对比结果包括:第二序列中的、与目标文本特征具有第一位置关系的非公共文本特征为第二序列的相同文本特征。

可选的,若删除文本特征和新增文本特征中存在相同的非公共文本特征,则获得第五对比结果,第五对比结果包括:将相同的非公共文本特征确定为第二序列的移动文本特征;修改第一对比结果,以使相同的非公共文本特征不为第二序列的删除文本特征;修改第二对比结果,以使相同的非公共文本特征不为第二序列的新增文本特征。

可选的,该文本对比装置还可以包括:第一添加单元。

第一添加单元,用于为第二文本中的文本部分添加与对比结果匹配的文本修改标识。

其中,文本修改标识可以包括删除文本标识、新增文本标识、变更文本标识、相同文本标识以及移动文本标识。具体的,本公开实施例可以在第二文本中与删除文本特征在第一文本中的相应位置上添加删除文本标识,在第二文本中的新增文本特征的位置添加新增文本标识,在第二文本中的变更文本特征的位置添加变更文本标识,在第二文本中的相同文本特征的位置上添加相同文本标识,在第二文本中移动文本特征的位置上添加移动文本标识。

可选的,文本修改标识的具体形式可以包括附注说明以及高亮显示。

可选的,本公开实施例可以展示由对比结果以及相应文本修改标识的第二文本,以便用户能够直观地确定第二文本与第一文本的差异。

可选的,该文本对比装置还可以包括:第一触发单元。

第一触发单元,用于将第一文本中的、相同文本特征对应的文本部分作为第一文本,将第二文本中的、相同文本特征对应的文本部分作为第二文本,触发第一获得单元100。

可选的,该文本对比装置还可以包括:第二触发单元。

第二触发单元,用于将第一文本中的、与最长公共子序列中的至少部分文本特征对应的文本部分作为第一文本,将第二文本中的、与最长公共子序列中的至少部分文本特征对应的文本部分作为第二文本,触发第一获得单元100。

可选的,该文本对比装置还可以包括:第三触发单元。

第三触发单元,用于将第一文本中的、移动文本特征对应的文本部分作为第一文本,将第二文本中的、移动文本特征对应的文本部分作为第二文本,触发第一获得单元100。

本公开提供的一种文本对比装置,获得第一文本中多个文本部分的文本特征构成的第一序列,获得第二文本中多个文本部分的文本特征构成的第二序列,其中,第一序列和第二序列均包括:多个文本特征,每个文本特征分别与一个文本部分对应;确定第一序列和第二序列的最长公共子序列;基于最长公共子序列中的文本特征分别在第一序列和第二序列中的位置,将第一序列中的至少一个非公共文本特征和第二序列中的至少一个非公共文本特征进行对比,获得对比结果,非公共文本特征为未包括在最长公共子序列中的文本特征。本公开基于文本中文本部分的文本特征,利用最长公共子序列进行文本特征对比,实现了精细化的文本对比,减小了文本对比结果的误差。

关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

所述文本对比装置包括处理器和存储器,上述第一获得单元100、第一确定单元200以及第二获得单元300等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来基于文本中文本部分的文本特征,利用最长公共子序列进行文本特征对比,实现精细化的文本对比,减小文本对比结果的误差。

本公开实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述文本对比方法。

本公开实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述文本对比方法。

如图5所示,本公开实施例提供了一种电子设备1000,电子设备1000包括至少一个处理器1001、以及与处理器1001连接的至少一个存储器1002、总线1003;其中,处理器1001、存储器1002通过总线1003完成相互间的通信;处理器1001用于调用存储器1002中的程序指令,以执行上述的文本对比方法。本文中的电子设备可以是服务器、PC、PAD、手机等。

本公开还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有文本对比方法步骤的程序。

本公开是参照根据本公开实施例的方法、装置、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,电子设备包括一个或多个处理器(CPU)、存储器和总线。电子设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

在本公开的描述中,需要理解的是,如若涉及术语“上”、“下”、“前”、“后”、“左”和“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的位置或元件必须具有特定方位、以特定的方位构成和操作,因此不能理解为本公开的限制。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。

相关技术
  • 一种文本处理方法、装置以及相关设备
  • 一种实现中文文本分类的方法及相关设备
  • 一种实现英文文本分类的方法及相关设备
  • 一种纠错文本的确定方法以及相关设备
  • 基于对比学习的文本推荐方法及相关设备
  • 一种基于对比学习的新闻文本与评论相关性分析方法
技术分类

06120116492266