文本相似度检测方法、装置和电子设备与流程

文档序号:17477954发布日期:2019-04-20 06:15阅读:204来源:国知局
文本相似度检测方法、装置和电子设备与流程

本申请涉及计算机技术领域,尤其涉及一种文本相似度检测方法、装置和电子设备。



背景技术:

具体地,白皮书是项目方发布的一份权威的报告或指南,它介绍了项目存在的价值,项目解决的问题,解决问题的途径,项目的团队构成和项目的进展情况等等。项目方希望通过白皮书,帮助用户了解项目,理解问题,解决问题和做出决定。

因此,需要一种文本相似度检测方法能够快速准确判断白皮书是否存在剽窃的现象。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请提出一种文本相似度检测方法,通过语句相似度来计算原始文本和目标文本之间的相似度,在提高文本相似度效率的同时提高文本相似度检测的准确性。

本申请提出一种文本相似度检测装置。

本申请提出一种电子设备。

本申请提出一种计算机可读存储介质。

本申请第一方面实施例提出了一种文本相似度检测方法,包括:

获取待检测的原始文本中的多个原始语句;

在预设的文本信息库中获取与每个所述原始语句对应的相关语句;

计算所述每个所述原始语句与各所述相关语句之间的相似度,筛选所述相似度满足预设条件的候选语句;

根据各所述候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句;

根据各所述目标语句与对应的所述原始语句之间的相似度,计算所述原始文本与所述目标文本之间的相似度。

可选地,作为本申请第一方面的第一种可能的实现方式,所述获取与每个所述原始语句对应的相关语句,包括:

对所述原始语句进行切词,获取所述原始语句中的多个原始分词;

根据所述多个原始分词查询所述预设的文本信息库获取包括至少一个或者多个所述原始分词的匹配语句;

通过原始分词对所述匹配语句进行投票,并根据投票结果将所述匹配语句进行排序,将排序结果中排序在前的预设数量的所述潜在语确定为与所述原始语句对应的相关语句;

可选地,作为本申请第一方面的第二种可能的实现方式,所述通过原始分词对所述匹配语句进行投票,包括:获取所述原始分词在所述匹配语句中的出现次数;根据所述出现次数对所述匹配语句进行投票。

可选地,作为本申请第一方面的第三种可能的实现方式,在所述根据投票结果将所述匹配语句进行排序之前,还包括:

获取所述原始语句与各所述匹配语句的语句长度比;

根据所述语句长度比调整所述投票结果。

可选地,作为本申请第一方面的第四种可能的实现方式,获取所述原始语句与所述匹配语句的语句长度比,包括:

获取第一常数和第二常数;获取所述原始语句的原始语句长度和所述匹配语句的匹配语句长度;将所述原始语句长度和所述第一常数进行数值相加得到第一语句长度和,将所述匹配语句长度和所述第二常数进行数值相加得到第二语句长度和;将所述第一语句长度和与所述第二语句长度和的比值作为所述语句长度比。

可选地,作为本申请第一方面的第五种可能的实现方式,所述计算所述每个所述原始语句与各所述相关语句之间的相似度,包括:

对所述原始语句进行单词字符转换得到原始字符序列,并对所述相关语句进行单词字符转换得到相关字符序列;

统计所述原始字符序列和所述相关字符序列之间的公共字符个数,通过第一预设算法获取所述原始字符序列和所述相关字符序列之间的编辑距离,通过第二预设算法获取所述原始字符序列和所述相关字符序列之间的最长公共子串的长度;

根据所述公共字符个数、所述编辑距离和所述最长公共子串的长度计算所述原始语句和与各所述相关语句的相似度。

可选地,作为本申请第一方面的第六种可能的实现方式,所述根据各所述目标语句与对应的所述原始语句之间的相似度,计算所述原始文本与所述目标文本之间的相似度,包括:

获取各所述目标语句与对应的所述原始语句之间的相似度的平均值;

将所述平均值作为所述原始文本与所述目标文本之间的相似度。

本申请第二方面实施例提出了一种文本相似度检测装置,该装置包括:

第一获取模块,用于获取待检测的原始文本中的多个原始语句;

第二获取模块,用于在预设的文本信息库中获取与每个所述原始语句对应的相关语句;

第一计算模块,用于计算所述每个所述原始语句与各所述相关语句之间的相似度;

第一筛选模块,用于筛选所述相似度满足预设条件的候选语句;

第二筛选模块,用于根据各所述候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句;

第二计算模块,用于根据各所述目标语句与对应的所述原始语句之间的相似度,计算所述原始文本与所述目标文本之间的相似度。

可选地,作为本申请第二方面的第一种可能的实现方式,所述第二获取模块,包括:

第一获取单元,用于对所述原始语句进行切词,获取所述原始语句中的多个原始分词;

第二获取单元,用于根据所述多个原始分词查询所述预设的文本信息库获取包括至少一个或者多个所述原始分词的匹配语句;

比较筛选单元,用于通过原始分词对所述匹配语句进行投票,并根据投票结果将所述匹配语句进行排序,将排序结果中排序在前的预设数量的所述潜在语确定为与所述原始语句对应的相关语句。

可选地,作为本申请第二方面的第二种可能的实现方式,所述比较筛选单元,具体用于:

获取所述原始分词在所述匹配语句中的出现次数;

根据所述出现次数对所述匹配语句进行投票。

可选地,作为本申请第二方面的第三种可能的实现方式,所述第二获取模块,还包括:

比较删除单元,用于获取所述原始语句与各所述匹配语句的语句长度比,根据所述语句长度比调整所述投票结果。

可选地,作为本申请第二方面的第四种可能的实现方式,获取所述原始语句与所述匹配语句的语句长度比,包括:

获取第一常数和第二常数;

获取所述原始语句的原始语句长度和所述匹配语句的匹配语句长度;

将所述原始语句长度和所述第一常数进行数值相加得到第一语句长度和,将所述匹配语句长度和所述第二常数进行数值相加得到第二语句长度和;

将所述第一语句长度和与所述第二语句长度和的比值作为所述语句长度比。

可选地,作为本申请第二方面的第五种可能的实现方式,所述第一计算模块,具体用于:

对所述原始语句进行单词字符转换得到原始字符序列,并对所述相关语句进行单词字符转换得到相关字符序列;

统计所述原始字符序列和所述相关字符序列之间的公共字符个数,通过第一预设算法获取所述原始字符序列和所述相关字符序列之间的编辑距离,通过第二预设算法获取所述原始字符序列和所述相关字符序列之间的最长公共子串的长度;

根据所述公共字符个数、所述编辑距离和所述最长公共子串的长度计算所述原始语句和与各所述相关语句的相似度。

可选地,作为本申请第二方面的第六种可能的实现方式,所述第二计算模块,具体用于:

获取各所述目标语句与对应的所述原始语句之间的相似度的平均值;

将所述平均值作为所述原始文本与所述目标文本之间的相似度。

本申请第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现第一方面所述的文本相似度检测方法。

本申请第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现第一方面所述的文本相似度检测方法。

本申请实施例所提供的技术方案,可以包含如下的有益效果:

获取待检测的原始文本中的多个原始语句,并在预设的文本信息库中获取与每个原始语句对应的相关语句,接着计算每个原始语句与各相关语句之间的相似度,从而筛选相似度满足预设条件的候选语句,以及根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句,最后根据各目标语句与对应的原始语句之间的相似度,计算原始文本与目标文本之间的相似度。由此,通过语句相似度来计算原始文本和目标文本之间的相似度,在提高文本相似度效率的同时提高文本相似度检测的准确性。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例所提供的一种文本相似度检测方法的流程示意图;

图2为本申请实施例所提供的另一种文本相似度检测方法的流程示意图;

图3为本申请实施例所提供的倒排索引系统的示意图;

图4为本申请实施例所提供的投票筛选的示意图;

图5为本申请实施例所提供的文本相似度检测的示例图;

图6为本申请实施例提供的一种文本相似度检测装置的结构示意图;

图7为本申请实施例所提供的另一种文本相似度检测装置的结构示意图;

图8为本申请实施例所提供的又一种文本相似度检测装置的结构示意图;

以及

图9为本申请电子设备一个实施例的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

下面参考附图描述本申请实施例的文本相似度检测方法、装置和电子设备。

图1为本申请实施例所提供的一种文本相似度检测方法的流程示意图。

如图1所示,该方法包括以下步骤:

步骤101,获取待检测的原始文本中的多个原始语句。

在实际应用中,可以根据需要选择任一文本作为待检测的原始文本。为了提高检测效率可以对原始文本进行文本处理,形成具有一定格式的原始文本。

其中,文本处理可以是数据清理、文本分句、去停用词、语句清理、转换小写和词形还原中的一种或者多种。

进一步地,获取进行文本处理后的原始文本中的多个原始语句。

步骤102,在预设的文本信息库中获取与每个原始语句对应的相关语句。

具体地,可以在文本信息库中去查找与每个原始语句对应的相关语句。举例说明如下:

作为一种可能实现的方式,识别出原始语句中的每一个单词,只要在预设的文本信息中存在包含原始语句中的单词的匹配语句就确定该匹配语句为与原始语句对应的相关语句。

需要说明的是,为了加快相似度检测的效率,作为另一种可能实现的方式,对原始语句进行切词,获取原始语句中的多个原始分词,根据多个原始分词查询预设的文本信息库获取包括至少一个或者多个原始分词的匹配语句,将各匹配语句所包括的原始分词的数量与预设阈值进行比较,筛选出原始分词的数量大于等于预设阈值的匹配语句作为原始语句对应的相关语句。

其中,预设的文本信息库可以根据需要选择多个文本进行存储;预设阈值也可以根据实际应用需要进行设置。

步骤103,计算每个原始语句与各相关语句之间的相似度,筛选相似度满足预设条件的候选语句。

可选的,与每个原始语句对应的相关语句可能存在很多,因此需要进一步进行筛选,即通过计算每个原始语句与各相关语句之间的相似度,筛选相似度满足预设条件的候选语句。

作为一种可能实现的方式,对原始语句进行单词字符转换得到原始字符序列,并对候选语句进行单词字符转换得到相关字符序列,统计原始字符序列和相关字符序列之间的公共字符个数,通过第一预设算法获取原始字符序列和相关字符序列之间的编辑距离,通过第二预设算法获取原始字符序列和相关字符序列之间的最长公共子串的长度,根据公共字符个数、编辑距离和最长公共子串的长度计算原始语句和与各相关语句的相似度。

需要说明的是,第一预设算法和第二中预设算法可以相同也可以不同,比如第一预设算法和第二中预设算法都为动态规划算法时,通过动态规划算法计算出原始字符序列转换成相关字符序列或者相关字符序列转换成原始字符序列所需要的最小步骤(包括删除字符,添加字符和替换字符等操作)从而获取原始字符序列和相关字符序列之间的编辑距离;再比如通过动态规划算法计算出原始字符序列和相关字符序列之间的最长公共子串的长度。

进一步地,根据实际应用设置,比如相似度大于0.5的相关语句作为该原始语句对应的候选语句。

步骤104,根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句。

步骤105,根据各目标语句与对应的原始语句之间的相似度,计算原始文本与目标文本之间的相似度。

可以理解的是,每一个原始语句可以存在一个或者多个候选语句,当存在多个候选语句时,多个候选语句可能属于不同的目标文本,因此为了确定原始文本与目标文本之间的相似度,需要根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的一个或者多个候选语句作为所有目标语句。

进一步地,根据各目标语句与对应的原始语句之间的相似度,计算原始文本与目标文本之间的相似度。作为一种可能实现的方式,获取各目标语句与对应的原始语句之间的相似度的平均值,将平均值作为原始文本与目标文本之间的相似度。

本实施例的文本相似度检测方法中,获取待检测的原始文本中的多个原始语句,并在预设的文本信息库中获取与每个原始语句对应的相关语句,接着计算每个原始语句与各相关语句之间的相似度,从而筛选相似度满足预设条件的候选语句,以及根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句,最后根据各目标语句与对应的原始语句之间的相似度,计算原始文本与目标文本之间的相似度。由此,通过语句相似度来计算原始文本和目标文本之间的相似度,在提高文本相似度效率的同时提高文本相似度检测的准确性。

为了清楚说明上一实施例,本实施例提供了另一种文本相似度检测方法,图2为本申请实施例所提供的另一种文本相似度检测方法的流程示意图。

如图2所示,该方法可以包括以下步骤:

步骤201,获取待检测的原始文本中的多个原始语句。

需要说明的是,步骤201与上述实施例的步骤101相同,具体描述请参见步骤101,此处不再详述。

步骤202,对原始语句进行切词,获取原始语句中的多个原始分词,根据多个原始分词查询预设的文本信息库获取包括至少一个或者多个原始分词的匹配语句。

步骤203,通过原始分词对匹配语句进行投票,并根据投票结果将匹配语句进行排序,将排序结果中排序在前的预设数量的匹配语句确定为与原始语句对应的相关语句。

可选的,对原始语句进行切词,比如原始语句为“文本相似度检测”进行切词处理后得到“文本”、“相似度”和“检测”三个原始分词。

接着在查询预设的文本信息库中获取每一个原始分词出现的语句作为匹配语句,比如:原始分词“检测”出现在语句“一种信息安全检测方式”中,将该语句“一种信息安全检测方式”作为匹配语句。

可以看出,获取的匹配语句中可能有很多语义与原始语句并不相关,为了进一步提高检测效率和准确性,可以将各匹配语句所包括的原始分词的数量与预设阈值进行比较,即通过匹配语句所包括的原始分词的数量的多少来进一步从匹配语句中筛选出与原始语句对应的相关语句。

在本申请实施例中,可以将原始语句输入到倒排索引系统中,如图3所示,首先识别出该原始语句中的每个原始分词,然后根据倒排索引系统获取每个原始分词在其他某篇文章中的频数,以及该文章中出现此原始分词的语句和此原始分词在该语句中的位置。最后将检测出的这些语句作为与原始语句对应的相关语句。

需要说明的是,原始分词在该语句中的位置可以在后续生成文本相似度检测结果的时候将原始分词在该语句中的位置进行显示,以提高用户体验。

可选的,匹配语句个数可能仍然很多,需要继续进行筛选。比如图4所示,如果原始语句中的原始分词在某个匹配语句中出现过,那么这个原始分词就向该匹配语句投一票,如果某个匹配语句中具有多个原始语句中的原始分词,则此匹配语句将会有多票。因此,在投票结束之后,每个匹配语句都会具有一定的票数,然后将所有匹配语句按照票数从大到小进行排列,那么排在前边的那些句子肯定适合原始语句具有重复单词较多的语句,可以将这些更可能相似的匹配语句提取出来,作为相关语句。

然而有时原始语句和匹配语句具有较多的重复单词数,但是两者语句长度却相差很大,这种情况下,两者在语义方面往往是不相关的。基于这种情况,获取原始语句与各匹配语句的语句长度比,根据语句长度比调整投票结果。

可选地,获取原始分词在匹配语句中的出现次数,根据出现次数对匹配语句进行投票。也就是说,通过根据原始分词在匹配语句中出现的次数对匹配语句进行投票。

在实际应用中,发现根据投票结果不够准确,举例而言:原始语句的长度5,匹配语句的长度25,则语句长度比为5/25=1/5,即如果两个语句有共同的单词w1,则w1向匹配语句投票0.2,可见如果两者长度相差越小,投票的价值越大,反之越小。然后根据投票结果倒序排序,截取前边得票数比较大的比如500个匹配语句(或者说删除500后面的那些弱相似语句),进行重点相似度检测。

可选地,为了进一步提高检测的准确性,获取第一常数和第二常数,获取原始语句的原始语句长度和匹配语句的匹配语句长度,将原始语句长度和第一常数进行数值相加得到第一语句长度和,将匹配语句长度和第二常数进行数值相加得到第二语句长度和;将第一语句长度和与第二语句长度和的比值作为语句长度比。

比如,第一常数a和第二常数b是一种伪计数,其取值可以是根据经验取值。

举例而言,将公式(1)的结果作为原始语句与匹配语句的语句长度比,根据语句长度比调整投票结果。

其中,lc代表原始语句的长度,lm代表匹配语句的长度,伪计数a和b。

由此,比如原来可以投10票的基础上,现在只能投v*10票,也就是说,在引入了伪计数a和b之后,v的数值相对之前增大,调整投票结果的力度没有之前那么强,从而更加接近真实投票结果,使得投票结果更加准确,可以获得具有多个重复原始分词,语句长度相仿并且规模较小的相关语句,进一步提高检测的效率和准确性。

步骤204,对原始语句进行单词字符转换得到原始字符序列,并对候选语句进行单词字符转换得到相关字符序列。

步骤205,统计原始字符序列和相关字符序列之间的公共字符个数,通过第一预设算法获取原始字符序列和相关字符序列之间的编辑距离,通过第二预设算法获取原始字符序列和相关字符序列之间的最长公共子串的长度。

步骤206,根据公共字符个数、编辑距离和最长公共子串的长度计算原始语句和与各相关语句的相似度。

首先将被原始句和相关语句通过单词字符转换成了字符序列,即每遇到一个新的单词,将启用一个新的字符对其进行代替。例如原始语句为:tryalittlehardertobealittlebetter;相关语句为:makealittlebetterandbetterforyourtomorrow;则原始字符序列为:abcdefbcg;相关字符序列为:hbcgigjkl。

然后,统计原始字符序列和相关字符序列之间的公共字符个数为统计出两个输入语句序列的公共字符个数(不重复计数),例如上面例子中公共字符个数为b,c和g,个数为3;编辑距离是利用动态规划算法计算出原始字符序列转换成相关字符序列或者相关字符序列转换成原始字符序列所需要的最小步骤(包括删除字符,添加字符和替换字符三种操作),例如上面例子中,最少需要7步将原始字符序列换为相关字符序列,即依次将原始字符序列中第1、4、5、6、7、8和9个字符替换为相关字符序列中相应位置的字符;最长公共子串的长度同样也可以是利用动态规划算法,计算出原始字符序列和相关字符序列的最长公共子串长度,例如上面例子中,两者最长的公共子串为:bcg,长度为3。

接下来,将这三项输出值映射为[0,1]值域中,然后计算两个语句间的相似度,具体的计算方式如公式(2)所示。

其中,δ代表最长公共子串的长度,θ代表编辑距离,γ代表公共字符个数,φ代表匹配语句的长度与原始语句的长度(φ≤1)。最后根据需要依据相似度大小正序或者倒序输出。

步骤207,根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句。

步骤208,获取各目标语句与对应的原始语句之间的相似度的平均值,将平均值作为原始文本与目标文本之间的相似度。

可以理解的是,每一个原始语句可以存在一个或者多个候选语句,当存在多个候选语句时,多个候选语句可能属于不同的目标文本,因此为了确定原始文本与目标文本之间的相似度,需要根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的一个或者多个候选语句作为所有目标语句。

进一步地,获取各目标语句与对应的原始语句之间的相似度的平均值,将平均值作为原始文本与目标文本之间的相似度,举例说明如下:

原始文本:sentence1,sentence2,sentence3;原始语句sentence1相似语句:(1)sen1:0.8,(2)sen1:0.8;原始语句sentence2相似语句:(1)sen2:0.8,(1)sen3:0.5,(3)sen1:0.7;原始语句sentence3相似语句:(2)sen2:0.3,(1)sen1:0.7。其中,(1)_sen1:0.8,与第一篇目标文本的第一个语句相似度为0.8,(2)sen1:0.8,与第二篇目标文本的第一个语句相似度为0.8。

原始文本与目标文本(1)之间的相似度:

[(1)_sen1+(1)_sen2:0.8+(1)_sen1:0.7]/3=(0.8+0.8+0.7)/3=0.77;

原始文本与目标文本(2)之间的相似度:

(0.8+0+0.2)/3=0.33;

原始文本与目标文本(3)之间的相似度:

(0+0.7+0)/3=0.23。

在实际应用中,比如需要判断白皮书是否存在剽窃的现象,可以经过本申请实施例的文本相似度检测方法,检测到与原始文本相似的目标文本如图5所示,因此能够准确直观确定原始文本与目标文本的相似语句。

本申请实施例的文本相似度检测方法中,获取待检测的原始文本中的多个原始语句,对原始语句进行切词,获取原始语句中的多个原始分词,根据多个原始分词查询预设的文本信息库获取包括至少一个或者多个原始分词的匹配语句,将各匹配语句所包括的原始分词的数量与预设阈值进行比较,筛选出原始分词的数量大于等于预设阈值的与原始语句对应的相关语,对原始语句进行单词字符转换得到原始字符序列,并对候选语句进行单词字符转换得到相关字符序列,统计原始字符序列和相关字符序列之间的公共字符个数,通过第一预设算法获取原始字符序列和相关字符序列之间的编辑距离,通过第二预设算法获取原始字符序列和相关字符序列之间的最长公共子串的长度,根据公共字符个数、编辑距离和最长公共子串的长度计算原始语句和与各相关语句的相似度,根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句,获取各目标语句与对应的原始语句之间的相似度的平均值,将平均值作为原始文本与目标文本之间的相似度。由此,通过语句相似度来计算原始文本和目标文本之间的相似度,在提高文本相似度效率的同时提高文本相似度检测的准确性。

为了实现上述实施例,本申请还提出一种文本相似度检测装置。

图6为本申请实施例提供的一种文本相似度检测装置的结构示意图。

如图6所示,该装置包括:第一获取模块61、第二获取模块62、第一计算模块63、第一筛选模块64、第二筛选模块65和第二计算模块66。

第一获取模块61,用于获取待检测的原始文本中的多个原始语句。

第二获取模块62,用于在预设的文本信息库中获取与每个原始语句对应的相关语句。

第一计算模块63,用于计算每个原始语句与各相关语句之间的相似度。

第一筛选模块64,用于筛选相似度满足预设条件的候选语句。

第二筛选模块65,用于根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句。

第二计算模块66,用于根据各目标语句与对应的原始语句之间的相似度,计算原始文本与目标文本之间的相似度。

需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。

本实施例的文本相似度检测装置中,获取待检测的原始文本中的多个原始语句,并在预设的文本信息库中获取与每个原始语句对应的相关语句,接着计算每个原始语句与各相关语句之间的相似度,从而筛选相似度满足预设条件的候选语句,以及根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句,最后根据各目标语句与对应的原始语句之间的相似度,计算原始文本与目标文本之间的相似度。由此,通过语句相似度来计算原始文本和目标文本之间的相似度,在提高文本相似度效率的同时提高文本相似度检测的准确性。

基于上述实施例,本申请实施例还提供了一种文本相似度检测装置的可能的实现方式,图7为本申请实施例所提供的另一种文本相似度检测装置的结构示意图,在图6的基础上,第二获取模块62包括:第一获取单元621、第二获取单元622和比较筛选单元623。

第一获取单元621,用于对原始语句进行切词,获取所述原始语句中的多个原始分词;

第二获取单元622,用于根据多个原始分词查询预设的文本信息库获取包括至少一个或者多个原始分词的匹配语句;

比较筛选单元623,用于通过原始分词对所述匹配语句进行投票,并根据投票结果将所述匹配语句进行排序,将排序结果中排序在前的预设数量的所述潜在语确定为与所述原始语句对应的相关语句。

作为本申请实施例的一种可能的实现方式,比较筛选单元623,具体用于:获取原始分词在匹配语句中的出现次数;根据出现次数对匹配语句进行投票。

进而,作为本申请实施例的一种可能的实现方式,图8所示,在图7的基础上,第二获取模块62,还包括:比较删除单元624。

比较删除单元624,用于获取原始语句与各匹配语句的语句长度比,根据语句长度比调整投票结果。

作为本申请实施例的一种可能的实现方式,获取原始语句与匹配语句的语句长度比,包括:获取第一常数和第二常数;获取原始语句的原始语句长度和匹配语句的匹配语句长度;将原始语句长度和第一常数进行数值相加得到第一语句长度和,将匹配语句长度和第二常数进行数值相加得到第二语句长度和;将第一语句长度和与第二语句长度和的比值作为语句长度比。

进而,作为本申请实施例的一种可能的实现方式,第一计算模块63,具体用于:

对原始语句进行单词字符转换得到原始字符序列,并对相关语句进行单词字符转换得到相关字符序列;

统计原始字符序列和相关字符序列之间的公共字符个数,通过第一预设算法获取原始字符序列和所述相关字符序列之间的编辑距离,通过第二预设算法获取原始字符序列和相关字符序列之间的最长公共子串的长度;

根据公共字符个数、编辑距离和最长公共子串的长度计算原始语句和与各所述相关语句的相似度。

作为又一种可能的实现方式,第二计算模块66,具体用于:

获取各目标语句与对应的原始语句之间的相似度的平均值;将平均值作为原始文本与标文本之间的相似度。

需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。

本申请实施例的文本相似度检测装置中,获取待检测的原始文本中的多个原始语句,对原始语句进行切词,获取原始语句中的多个原始分词,根据多个原始分词查询预设的文本信息库获取包括至少一个或者多个原始分词的匹配语句,将各匹配语句所包括的原始分词的数量与预设阈值进行比较,筛选出原始分词的数量大于等于预设阈值的与原始语句对应的相关语,对原始语句进行单词字符转换得到原始字符序列,并对候选语句进行单词字符转换得到相关字符序列,统计原始字符序列和相关字符序列之间的公共字符个数,通过第一预设算法获取原始字符序列和相关字符序列之间的编辑距离,通过第二预设算法获取原始字符序列和相关字符序列之间的最长公共子串的长度,根据公共字符个数、编辑距离和最长公共子串的长度计算原始语句和与各相关语句的相似度,根据各候选语句所对应的文本标识,从所有的候选语句中筛选归属同一目标文本的所有目标语句,获取各目标语句与对应的原始语句之间的相似度的平均值,将平均值作为原始文本与目标文本之间的相似度。由此,通过语句相似度来计算原始文本和目标文本之间的相似度,在提高文本相似度效率的同时提高文本相似度检测的准确性。

为了实现上述实施例,本申请还提出一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时,实现如前述方法实施例所述的文本相似度检测方法。

本申请实施例还提供一种电子设备,电子设备包含前述任一实施例所述的装置。

图9为本申请电子设备一个实施例的结构示意图,可以实现本申请图1-2所示方法实施例的流程,如图9所示,上述电子设备可以包括:壳体91、处理器92、存储器93、电路板94和电源电路95,其中,电路板94安置在壳体91围成的空间内部,处理器92和存储器93设置在电路板94上;电源电路95,用于为上述电子设备的各个电路或器件供电;存储器93用于存储可执行程序代码;处理器92通过读取存储器93中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的视频生成方法。

处理器92对上述步骤的具体执行过程以及处理器92通过运行可执行程序代码来进一步执行的步骤,可以参见本申请图1-2所示方法实施例的描述,在此不再赘述。

该电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

为了实现上述实施例,本申请还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如前述方法实施例所述的文本相似度检测方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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