文字属性差异标记方法,装置,存储介质及电子设备与流程

文档序号:17587921发布日期:2019-05-03 21:29阅读:193来源:国知局
文字属性差异标记方法,装置,存储介质及电子设备与流程

本公开涉及文字比较领域,具体地,涉及一种文字属性差异标记方法,装置,存储介质及电子设备。



背景技术:

在文字处理的领域下,文字比较功能会经常使用到,例如比较两篇文档之间的差异性。

相关技术在进行文字比较时,通常是对文字内容的逻辑进行比较,但是相同的文字内容在不同文档中的显示属性可能不同,例如,颜色,字体,大小等属性可能存在差异。而相关技术无法呈现出相同文字内容在显示属性上的差异,目前,针对文字内容在逻辑上完全相同的文本,仍需要人眼去辨别显示细节的不同。



技术实现要素:

本公开的主要目的是提供一种文字属性差异标记方法,装置,存储介质及电子设备,用以解决现有文字对比技术无法呈现文字显示属性差异的问题。

为了实现上述目的,本公开实施例第一方面提供一种文字属性差异标记方法,包括:

获取第一文本和第二文本中具有共通关系的两个文字块的显示属性信息,其中,具有共通关系的两个文字块包括文字匹配率大于预设阈值的两个文字块;

判断所述两个文字块的显示属性信息是否一致;

若所述两个文字块的显示属性不一致,则生成差异描述信息,所述差异描述信息用于在前端显示所述两个文字块的属性差异。

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

确定在所述第一文本中的,与所述第二文本中显示属性信息不一致的目标文字块;

在所述第一文本中显式标记所述目标文字块。

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

在检测到第一预设触发事件时,显示所述目标文字块对应的差异描述信息,以展示所述目标文字块与处于所述第二文本中的具有共通关系的文字块的属性差异。

可选地,在所述获取第一文本和第二文本中具有共通关系的两个文字块的显示属性信息之前,所述方法还包括:

对所述第一文本和所述第二文本进行预分块;

针对由所述第一文本中任一文字块与所述第二文本中任一文字块组成的文字块对,判断所述文字块对之间是否存在文字匹配率大于预设阈值的子文字块对;

若所述文字块对之间存在文字匹配率大于所述预设阈值的子文字块对,则将所述子文字块对建立共通关系,得到所述第一文本和所述第二文本中对应的共通块对;

分别将所述第一文本和所述第二文本中的相邻两个共通块之间的文字划分为新文字块;

针对所述第一文本和所述第二文本中的所述新文字块,重新执行上述确定共通块对,以及基于共通块对划分新文字块的步骤,直到满足预设的停止分块条件为止,所述第一文本和所述第二文本中具有共通关系的两个文字块包括所述第一文本和所述第二文本中对应的共通块对。

可选地,在所述判断所述文字块对之间是否存在文字匹配率大于预设阈值的子文字块对之前,所述方法还包括:

针对所述文字块对中的第一文字块和第二文字块,从所述第一文字块中划分第一子文字块,从所述第二文字块中划分第二子文字块;

根据最大公共子序列算法确定所述第一子文字块和所述第二子文字块对中的最大公共子序列;

将所述最大公共子序列的长度与所述第一子文字块的长度或者所述第二子文字块的长度的比值作为所述文字块对的文字匹配率。

本公开实施例第二方面提供一种文字属性差异标记装置,包括:

获取模块,用于获取第一文本和第二文本中具有共通关系的两个文字块的显示属性信息,其中,具有共通关系的两个文字块包括文字匹配率大于预设阈值的两个文字块;

第一判断模块,用于判断所述两个文字块的显示属性信息是否一致;

生成模块,用于在所述两个文字块的显示属性不一致时,生成差异描述信息,所述差异描述信息用于在前端显示所述两个文字块的属性差异。

可选地,所述装置还包括:

确定模块,确定在所述第一文本中的,与所述第二文本中显示属性信息不一致的目标文字块;

标记模块,用于在所述第一文本中显式标记所述目标文字块。

可选地,所述装置还包括:

显示模块,用于在检测到第一预设触发事件时,显示所述目标文字块对应的差异描述信息,以展示所述目标文字块与处于所述第二文本中的具有共通关系的文字块的属性差异。

可选地,还包括:

预分块模块,对所述第一文本和所述第二文本进行预分块;

第二判断模块,用于针对由所述第一文本中任一文字块与所述第二文本中任一文字块组成的文字块对,判断所述文字块对之间是否存在文字匹配率大于预设阈值的子文字块对;

建立模块,用于在所述文字块对之间存在文字匹配率大于所述预设阈值的子文字块对时,将所述子文字块对建立共通关系,得到所述第一文本和所述第二文本中对应的共通块对;

重分块模块,用于分别将所述第一文本和所述第二文本中的相邻两个共通块之间的文字划分为新文字块;

循环控制模块,用于调用所述第二判断模块,所述建立模块和所述重分块模块,针对所述第一文本和所述第二文本中的所述新文字块,重新执行上述确定共通块对,以及基于共通块对划分新文字块的步骤,直到满足预设的停止分块条件为止,所述第一文本和所述第二文本中具有共通关系的两个文字块包括所述第一文本和所述第二文本中对应的共通块对。

可选地,还包括:

划分模块,用于针对所述文字块对中的第一文字块和第二文字块,从所述第一文字块中划分第一子文字块,从所述第二文字块中划分第二子文字块;

匹配率计算模块,用于根据最大公共子序列算法确定所述第一子文字块和所述第二子文字块对中的最大公共子序列,并将所述最大公共子序列的长度与所述第一子文字块的长度或者所述第二子文字块的长度的比值作为所述文字块对的文字匹配率。

本公开实施例第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。

本公开实施例第四方面提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的步骤。

采用本公开提供的技术方案,至少能够达到如下技术效果:

针对第一文本和第二文本之间具有共通关系的两个文字块,从存储的单词属性数组中可获取到文字的显示属性信息,比较两个文字块的显示属性信息是否一致,并在不一致的情况下,生成差异描述信息。这样,基于该差异描述信息,可以在前端直观显示两个文字块的属性差异,无需人眼分辨。本公开实施例提供的技术方案相比现有相关技术增加了文字比较的维度,使得呈现给用户的文字比较结果更能满足用户需求。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是本公开实施例提供的一种文字属性差异标记方法的流程示意图;

图2是本公开实施例提供的一种标记两个文本中显示属性不一致的文字块的示意图;

图3是本公开实施例提供的一种在文本中显示差异描述信息的示意图;

图4是本公开实施例提供的一种对文本分块以获得共通块对的方法的流程示意图;

图5是本公开实施例提供的一种文字属性差异标记装置的结构示意图;

图6是本公开实施例提供的另一种文字属性差异标记装置的结构示意图;

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

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

本公开实施例提供一种文字属性差异标记方法,如图1所示,包括:

s11、获取第一文本和第二文本中具有共通关系的两个文字块的显示属性信息。

其中,具有共通关系的两个文字块包括文字匹配率大于预设阈值的两个文字块,并且,该两个文字块是指分别属于第一文本和第二文本的两个文字块。

值得说明的是,本文所述的文字匹配率是指文字内容在语言逻辑的匹配率,跟文字在文档中进行显示的属性无关。并且,在具体实施时,可以通过预先设置文字匹配率阈值的大小,控制两个具有共通关系的文字块的文字内容完全一致还是部分一致。

s12、判断所述两个文字块的显示属性信息是否一致。

示例地,本公开实施例可以将待比较的两个文本以单词为最小单位获取每一单词的显示属性信息,将同一文本的单词的显示属性信息依次进行存储,得到两个文本的单词属性数组。

进一步地,在得到两个文本之间的具有共通关系的两个文字块后,可以分别在第一文本的单词属性数组中和第二文本的单词属性数组中存储引用该两个文字块的索引,根据该索引可以读取到两个文本中的具有共通关系的两个文字块的显示属性信息,

s13、若所述两个文字块的显示属性不一致,则生成差异描述信息,所述差异描述信息用于在前端显示所述两个文字块的属性差异。

例如,两个文字块中某一文字的字体,颜色或者大小不同,则可以生成可用于在前端显示的差异描述信息(例如用于在显示框中显示的文本信息),向用户展示两个文字块中文字显示属性的差异。

采用上述方法步骤,针对第一文本和第二文本之间具有共通关系的两个文字块,从存储的单词属性数组中可获取到文字的显示属性信息,比较两个文字块的显示属性信息是否一致,并在不一致的情况下,生成差异描述信息。这样,基于该差异描述信息,可以在前端直观显示两个文字块的属性差异,无需人眼分辨。本公开实施例提供的技术方案相比现有相关技术增加了文字比较的维度,使得呈现给用户的文字比较结果更能满足用户需求。

在一种可能的实现方式中,本公开实施例还可以确定在所述第一文本中的,与所述第二文本中显示属性信息不一致的目标文字块,并在所述第一文本中显式标记所述目标文字块。

具体地,显示标记的方式例如可以是对文字加边框,或者对文字加上批注等,本公开不做限定。图2是以对文字加边框的标记方式为例进行的示意,如图中的左右两个文本所示,框住的文字“源文件”以及“应该遵守misra规范,misra比较复杂”是两个文本中显示属性不同的文字。

在具体实施时,可以是在检测到预设触发事件时,执行上述对目标文字块进行显示标记的操作,该预设触发事件可以是用户操作。

在一种可能的实现方式中,所述方法还包括:在检测到第一预设触发事件时,显示所述目标文字块对应的差异描述信息,以展示所述目标文字块与处于所述第二文本中的具有共通关系的文字块的属性差异。

示例地,该第一预设触发事件可以是检测到鼠标图标移动到了目标文字块预设显示范围内。图3示出了文本上显示差异描述信息的示意图,如图所示,右边文本中黑底显示的文字“font:宋体,color:#ff00ff,size:13.000000”即为用于体现右边文本的文字块“源文字”与左边文本的文字块“源子块”的显示属性差异。

采用上述实施方式,通过将显示属性不一致的文字块框出来,并显示具体的差异描述信息,从而实现直观的向用户展示文字显示差异,无需人眼分辨,提升了用户体验。

下面对如何确定两个文本中的共通块的方法进行说明。如图4所示,包括:

s41、对第一文本和第二文本进行预分块。

其中,预分块是指根据预先设定的粗放分块策略进行的分块,例如,将文本的每一行文字划分为一个文字块,或者,将文本的一个自然段划分为一个文字块,或者,将每n(n为大于1的正整数)行文字划分为一个文字块,本公开对此不做限定。

具体地,在预分块后,可以以块为单位,将两个文本的文字块信息分别存入两个数组,得到第一文本的文字块组和第二文本的文字块组。

s42、针对由所述第一文本中任一文字块与所述第二文本中任一文字块组成的文字块对,判断所述文字块对之间是否存在文字匹配率大于预设阈值的子文字块对。

在具体实施时,可以将分别属于第一文本和第二文本的文字块任意组成文字块对,判断每一文字块对中是否存在文字匹配率大于预设阈值的子文字块对。

值得说明的是,文字块的匹配率跟两个文字块(分别属于第一文本和第二文本)中相同单词所占的比重正相关。两个文字块中存在匹配率大于预设阈值的子文字块对是指,其中一个文字块中的任一子文字块,与另一文字块中的任一子文字块之间的文字匹配率大于预设阈值。其中,子文字块应理解为包括所属文字块的部分或者全部文字。

示例地,本公开实施例可以针对所述文字块对中的第一文字块和第二文字块,从所述第一文字块中划分第一子文字块,从所述第二文字块中划分第二子文字块,并根据最大公共子序列算法确定所述第一子文字块和所述第二子文字块对中的最大公共子序列,将所述最大公共子序列的长度与所述第一子文字块的长度或者所述第二子文字块的长度的比值作为所述文字块对的文字匹配率。

值得说明的是,最大公共子序列算法是指针对给定的两个字符串,求解这两个字符串的最长公共子序列(longestcommonsequence)。比如字符串1:bdcaba;字符串2:abcbdab,则这两个字符串的最长公共子序列长度为4,最长公共子序列是:bcba。其中,字符串的子序列的定义是从序列中按原顺序保留任意若干项得到的序列,例如一个序列a=a1,a2,……an,从中任意删除若干项,剩余的序列即为a的一个子序列。而公共子序列是指,如果序列c既是序列a的子序列,同时也是序列b的子序列,则称它为序列a和序列b的公共子序列。最大公共子序列即是指,a和b的公共子序列中长度最长的(包含元素最多的)的公共子序列。

利用该最大公共子序列算法,示例地,第一子文字块为:“bdcfrg”,长度为6,第二子文字块为:“adcfrhec”,长度为8,则第一子文字块和第二子文字块之间的最大公共子序列为“dcfr”,长度为4。进一步地,可计算得到第一子文字块和第二子文字块之间的文字匹配率为4/6(即最大公共子序列长度与第一子文字块的长度的比值),或者4/8(即最大公共子序列长度与第二子文字块的长度的比值)。在具体实施时,若采用长度较长的子文字块作为计算匹配率的分母,则匹配率的阈值可以设定的较小。

这样,通过对两个文字块随机划分子文字块,计算子文字块的最大公共子序列并求取文字匹配率的方式,可以得到两个文字块中任意两个子文字块的匹配率,从而进一步可以判断是否存在具有文字匹配率大于预设阈值的子文字块对。

s43、若所述文字块对之间存在文字匹配率大于所述预设阈值的子文字块对,则将所述子文字块对建立共通关系,得到所述第一文本和所述第二文本中对应的共通块对。

本领域技术人员应该知悉,共通块对不代表两个文字块的文字完全一致,而是文字一致部分占比大于预设阈值,本公开实施例对文本进行分块的目的即是得到两个文本之间更多的共通块对。

s44、分别将所述第一文本和所述第二文本中的相邻两个共通块之间的文字划分为新文字块。

同一文本的两个共通块之间的文字组成新的文字块,以便从两个文本新的文字块中查找出新的共通块对,逐步精确对整个文本的分块结果。

s45、针对所述第一文本和所述第二文本中的所述新文字块,重新执行上述确定共通块对,以及基于共通块对划分新文字块的步骤,直到满足预设的停止分块条件为止。

其中,该停止分块条件可以根据实际需求设定,例如将分块次数作为判断是否停止分块的条件,分块次数大于预设阈值时,停止继续分块。或者,还可以根据最近一次分块后共通块对的情况设定停止分块条件,例如,最近一次分块后,确定第一文本或第二文本无法再划分得到新的文字块,则可以停止继续分块。

也就是说,在步骤s11之前执行图4所述的步骤,得到两个文本中的共通块对,其中,所述第一文本和所述第二文本中具有共通关系的两个文字块包括所述第一文本和所述第二文本中对应的共通块对。也就是说,共通块对作为两个文本中待比较显示属性信息是否一致的文字块,执行图1所示的方法步骤可生成针对任一共通块对的差异描述信息(显示属性信息不一致的情况下),这样,通过在前端显示所述差异描述信息可直观展示给用户,提升用户体验,并且相比现有的文字比较技术增加了文字比较的维度,使得呈现给用户的文字比较结果更能满足用户需求。

本公开实施例还提供一种文字属性差异标记装置,用于实施上述方法实施例提供的一种文字属性差异标记方法,如图5所示,该文字属性差异标记装置50包括:

获取模块51,用于获取第一文本和第二文本中具有共通关系的两个文字块的显示属性信息,其中,具有共通关系的两个文字块包括文字匹配率大于预设阈值的两个文字块;

第一判断模块52,用于判断所述两个文字块的显示属性信息是否一致;

生成模块53,用于在所述两个文字块的显示属性不一致时,生成差异描述信息,所述差异描述信息用于在前端显示所述两个文字块的属性差异。

采用上述装置,针对第一文本和第二文本之间具有共通关系的两个文字块,从存储的单词属性数组中可获取到文字的显示属性信息,比较两个文字块的显示属性信息是否一致,并在不一致的情况下,生成差异描述信息。这样,基于该差异描述信息,可以在前端直观显示两个文字块的属性差异,无需人眼分辨。本公开实施例提供的技术方案相比现有相关技术增加了文字比较的维度,使得呈现给用户的文字比较结果更能满足用户需求。

可选地,如图6所示,所述装置还包括:

确定模块54,确定在所述第一文本中的,与所述第二文本中显示属性信息不一致的目标文字块;

标记模块55,用于在所述第一文本中显式标记所述目标文字块。

可选地,如图6所示,所述装置还包括:

显示模块56,用于在检测到第一预设触发事件时,显示所述目标文字块对应的差异描述信息,以展示所述目标文字块与处于所述第二文本中的具有共通关系的文字块的属性差异。

可选地,如图6所示,所述装置还包括:

预分块模块57,对所述第一文本和所述第二文本进行预分块;

第二判断模块58,用于针对由所述第一文本中任一文字块与所述第二文本中任一文字块组成的文字块对,判断所述文字块对之间是否存在文字匹配率大于预设阈值的子文字块对;

建立模块59,用于在所述文字块对之间存在文字匹配率大于所述预设阈值的子文字块对时,将所述子文字块对建立共通关系,得到所述第一文本和所述第二文本中对应的共通块对;

重分块模块510,用于分别将所述第一文本和所述第二文本中的相邻两个共通块之间的文字划分为新文字块;

循环控制模块511,用于调用所述第二判断模块58,所述建立模块59和所述重分块模块510,针对所述第一文本和所述第二文本中的所述新文字块,重新执行上述确定共通块对,以及基于共通块对划分新文字块的步骤,直到满足预设的停止分块条件为止,所述第一文本和所述第二文本中具有共通关系的两个文字块包括所述第一文本和所述第二文本中对应的共通块对。

可选地,如图6所示,所述装置还包括:

划分模块512,用于针对所述文字块对中的第一文字块和第二文字块,从所述第一文字块中划分第一子文字块,从所述第二文字块中划分第二子文字块;

匹配率计算模块513,用于根据最大公共子序列算法确定所述第一子文字块和所述第二子文字块对中的最大公共子序列,并将所述最大公共子序列的长度与所述第一子文字块的长度或者所述第二子文字块的长度的比值作为所述文字块对的文字匹配率。

本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法实施例提供的一种文字属性差异标记方法的步骤。

本公开实施例还提供一种电子设备,该电子设备可以被提供作为一种服务器,该电子设备包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现上述方法实施例提供的一种文字属性差异标记方法的步骤。

图7是该电子设备的一种结构示意图,参照图7,电子设备70包括处理器722,其数量可以为一个或多个,以及存储器732,用于存储可由处理器722执行的计算机程序,以及文本内容,以及文本内容的显示属性信息。存储器732中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器722可以被配置为执行该计算机程序,以执行上述文字属性差异标记方法,比如,处理器722可以执行以下操作:获取第一文本和第二文本中具有共通关系的两个文字块的显示属性信息;判断所述两个文字块的显示属性信息是否一致;若所述两个文字块的显示属性不一致,则生成差异描述信息,所述差异描述信息用于在前端显示所述两个文字块的属性差异。

另外,电子设备70还可以包括电源组件726和通信组件750,该电源组件726可以被配置为执行电子设备70的电源管理,该通信组件750可以被配置为实现电子设备70的通信,例如,有线或无线通信。此外,该电子设备70还可以包括输入/输出(i/o)接口758。电子设备70可以操作基于存储在存储器732的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm等等。

值得说明的是,本公开实施例提供的计算机可读存储介质可以为上述包括程序指令的存储器732,上述程序指令可由电子设备70的处理器722执行以完成上述文字属性差异标记方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1