文本消重系统、方法、服务器及计算机存储介质与流程

文档序号:11475828阅读:250来源:国知局
文本消重系统、方法、服务器及计算机存储介质与流程

本发明涉及互联网技术领域,具体涉及一种文本消重系统、方法、服务器及计算机存储介质。



背景技术:

文本消重的主要功能是鉴定内容相同或相似的网页数据,并在此基础上滤掉内容相同或相似的网页数据。文本消重的目的在于使用户在使用互联网查询时不会搜到大量内容重复的网页,提高搜索引擎的效率。

但是,在实现本发明实施例的过程中,发明人发现现有技术中至少存在如下问题:现有技术在进行文本消重时,都是将待消重的全部文本数据集中在一起,并通过将全部文本数据逐个比对的方式进行消重处理。然而,随着文本数据量不断增大,当面临海量待消重文本数据时,目前的消重处理方式便很难实时、快速地处理海量待消重文本数据;另一方面,目前在执行消重处理的过程中,为了防止因读写操作而引发的数据不一致现象,需要对全部文本数据进行加锁处理,因此,导致消重过程中的所有文本均无法正常使用,为用户造成了极大不便。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的文本消重系统、方法、服务器及计算机存储介质。

根据本发明的一个方面,提供了一种文本消重系统,包括:预处理模块,用于对待消重的各个文本进行预处理,根据预处理结果确定各个文本对应的关键词;存储模块,用于存储预处理模块预处理后的各个文本,并设置用于查询各个文本的倒排索引表;其中,倒排索引表用于存储各个关键词及其对应的文本之间的映射关系;消重模块,用于从存储模块中获取至少一个待消重文本,确定待消重文本对应的关键词,通过倒排索引表确定包含待消重文本对应的关键词的至少一个待比对文本,针对待消重文本以及待比对文本进行消重处理;分布式锁模块,用于在消重模块进行消重处理前,通过分布式锁对存储模块中存储的待消重文本以及待比对文本进行加锁操作;并在消重模块进行消重处理后释放分布式锁。

根据本发明的另一方面,提供了一种文本消重方法,包括:对待消重的各个文本进行预处理,根据预处理结果确定各个文本对应的关键词;对预处理后的各个文本进行存储,并设置用于查询各个文本的倒排索引表;其中,倒排索引表用于存储各个关键词及其对应的文本之间的映射关系;获取至少一个待消重文本,确定待消重文本对应的关键词,通过倒排索引表确定包含待消重文本对应的关键词的至少一个待比对文本,针对待消重文本以及待比对文本进行消重处理;其中,文本消重方法进一步包括:在消重处理前,通过分布式锁对存储的待消重文本以及待比对文本进行加锁操作;并在消重处理后释放分布式锁。

根据本发明的又一方面,提供了一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述文本消重方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述文本消重方法对应的操作。

在本发明提供的文本消重系统、方法、服务器及计算机存储介质中,首先通过预处理模块对待消重的各个文本进行预处理,并根据预处理结果确定各个文本对应的关键词;然后通过存储模块存储上述经过预处理的各个文本,并设置用于查询各个文本的倒排索引表,其中,上述倒排索引表中存储各个关键词及其对应的文本之间的映射关系;最后通过消重模块从存储模块中获取至少一个待消重文本,确定该待消重文本对应的关键词,通过上述倒排索引表确定包含待消重文本对应的关键词的至少一个待比对文本并据此进行消重处理。其中,在对待消重文本进行消重处理之前,还进一步通过分布式锁模块对存储模块中存储的待消重文本以及待比对文本进行加锁操作;并在消重模块进行消重处理后释放分布式锁。由此可见,通过预先提取关键词并建立倒排索引表的方式,能够根据关键词快速确定与待消重文本相关性较大的待比对文本,进而仅针对确定出的待比对文本进行消重,而无需考虑其他相关性较小的无关文本,因此,通过准确限定消重范围的方式能够有效提高文本消重的准确性及处理效率,优化文本消重的处理过程,避免了针对全部文本逐个比对的繁琐操作。并且,由于分布式锁仅针对特定键值的数据进行加锁,而对于其他键值的数据则不予加锁,即:仅针对包含相同关键词的待消重文本以及待比对文本进行加锁,因此,一方面,针对特定文本的消重过程不会影响其他无关文本的正常访问;另一方面,还能够同时针对多组文本进行并行化消重处理,进而通过并发方式进一步提高了处理效率。

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

附图说明

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

图1为本发明实施例一提供的一种文本消重系统的结构框图;

图2为本发明实施例二提供的一种文本消重系统的结构框图;

图3为本发明实施例三提供的一种文本消重方法的流程图;

图4示出了根据本发明实施例五的一种服务器的结构示意图。

具体实施方式

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

本发明提供了一种文本消重系统、方法、服务器及计算机存储介质,能够有效解决现有技术中在进行文本消重时,消重准确性低以及消重处理效率低的问题,提高了文本消重的准确性及处理效率,优化了文本消重的处理过程。

实施例一

图1为本发明实施例一提供的一种文本消重系统的结构框图。如图1所示,该文本消重系统包括:预处理模块11、存储模块12、消重模块13以及分布式锁模块14。

首先介绍预处理模块11。预处理模块11用于对待消重的各个文本进行预处理,根据预处理结果确定各个文本对应的关键词。

其中,待消重的各个文本可以为网页中的电子文本,例如,网页新闻、网页电子书、博客等。预处理模块11的数量可以为一个,也可以为多个,其具体数量可以由本领域技术人员根据实际情况进行设置,本发明对此不作限制。

其中,预处理模块11对待消重的各个文本进行的预处理可以包括:针对待消重的各个文本的标题进行简化去噪,以及提取各个文本的内容中的关键词等能够代表该文本的文本内容的关键信息等。其中,预处理模块11的预处理方式可以有多种,例如,提取文本中出现词频较高的实词作为关键词;或者根据预设的分析模型对各个文本进行分析并确定各个文本对应的关键词(例如根据预设的神经网络模型对待消重的各个文本的内容进行语义分析并获取该待消重的文本的关键词),等等。在这里,只要能够获取待消重的各个文本中的关键词等关键信息即可,本发明对预处理模块11的预处理方式不作限制。

预处理模块11在根据预处理结果确定各个文本对应的关键词时,可以对上述预处理结果进行重复信息过滤、高频词提取等处理,以此来确定各个文本对应的关键词。具体实施中,根据预处理结果确定各个文本对应的关键词的确定方式可以由本领域技术人员根据实际情况进行设置,本发明对此不作限制。

设置预处理模块11的目的在于:在后续模块(对应存储模块12和消重模块13)针对待消重的各个文本进行存储或者读取等相关处理时,可以通过预处理模块11中确定的关键词来存储和读取对应的待消重文本的数据,有效减小了后续处理过程中处理的数据量的大小,提高文本消重的处理效率。

接下来介绍存储模块12。存储模块12用于存储预处理模块11预处理后的各个文本,并设置用于查询各个文本的倒排索引表;其中,倒排索引表用于存储各个关键词及其对应的文本之间的映射关系。

其中,预处理模块预处理后的各个文本可以是经过预处理后实现了简化去噪效果的文本,另外,预处理后的各个文本中还进一步包含从相应文本中提取出的关键词。相应地,存储模块12在设置用于查询各个文本的倒排索引表时,根据各个关键词以及与该关键词对应的文本来建立。即:在各个文本对应的关键词与各个文本之间建立一个映射关系。例如,文本1对应的关键词为关键词1、关键词2;文本2对应的关键词为关键词2、关键词3;文本3对应的关键词为关键词2;则倒排索引表中存储有如下数据:关键词1:文本1;关键词2:文本1、文本2、文本3;关键词3:文本2。由此可见,通过倒排索引表能够根据关键词快速查询包含该关键词的文本,从而快速锁定待消重的文本范围。

消重模块13用于从存储模块12中获取至少一个待消重文本,确定待消重文本对应的关键词,通过倒排索引表确定包含待消重文本对应的关键词的至少一个待比对文本,针对待消重文本以及待比对文本进行消重处理。

具体地,消重模块13用于对待消重文本进行消重处理,其处理过程包括:首先,消重模块13从存储模块12中获取至少一个待消重文本,通过预处理模块11确定该待消重文本对应的关键词。然后,消重模块13通过上述确定的关键词以及设置在存储模块12中的倒排索引表中的映射关系来确定包含待消重文本对应的关键词的至少一个待比对文本。其中,待消重文本的数量可以是一个也可以是多个,当待消重文本的数量为一个时,获取到的待比对文本的数量应为多个(包含待消重文本本身以及与该待消重文本包含相同关键词的相关文本);当待消重文本的数量为多个时,获取到的待比对文本的数量大于或等于待消重文本的数量(即:获取到的待比对文本至少包含各个待消重文本)。最后,消重模块13针对待消重文本以及待比对文本进行消重处理,具体地,可以将包含待消重文本在内的所有待比对文本都放入一个消重集合中进行消重处理。上述通过关键词查找与待消重文本对应的待比对文本的过程不仅减少了处理数据时的数据量,提高了消重处理效率;而且还能够进一步增加了针对待比对文本查找的准确性,从而有效提高了文本消重的准确性,降低文本消重结果中的误召回率。

分布式锁模块14用于在消重模块13进行消重处理前,通过分布式锁对存储模块中存储的待消重文本以及待比对文本进行加锁操作;并在消重模块进行消重处理后释放分布式锁。

具体地,在本发明中,在消重模块13进行消重处理前,分布式锁模块14通过分布式锁对存储模块12中存储的待消重文本以及待比对文本进行加锁操作,使消重模块13针对待消重文本以及待比对文本的消重处理过程能够独立进行,保证消重处理的高效运行。在消重模块13完成对待消重文件的消重处理之后,分布式锁模块14释放上述加锁在待消重文本以及待比对文本上的分布式锁,恢复文本的正常运行,即:使解锁后的文本数据能够被正常访问或者被进行其它处理等。

设置分布式锁模块14的目的在于:保证消重处理过程的独立进行,使消重处理过程中的文本数据不会受到其它处理请求或者访问请求的干扰,提高了消重处理过程的效率。另外,若消重过程中,待消重的文本被修改,则会导致存储数据不一致,因此,通过分布式锁能够确保文本的准确性。

由此可见,在本发明提供的文本消重系统中,通过预先提取关键词并建立倒排索引表的方式,能够根据关键词快速确定与待消重文本相关性较大的待比对文本,进而仅针对确定出的待比对文本进行消重,而无需考虑其他相关性较小的无关文本,因此,通过准确限定消重范围的方式能够有效提高文本消重的准确性及处理效率,优化文本消重的处理过程,避免了针对全部文本逐个比对的繁琐操作。并且,由于分布式锁仅针对特定键值的数据进行加锁,而对于其他键值的数据则不予加锁,即:仅针对包含相同关键词的待消重文本以及待比对文本进行加锁,因此,一方面,针对特定文本的消重过程不会影响其他无关文本的正常访问;另一方面,还能够同时针对多组文本进行并行化消重处理,进而通过并发方式进一步提高了处理效率。

实施例二

图2为本发明实施例二提供的一种文本消重系统的结构框图。如图2所示,该文本消重系统包括:预处理模块21、存储模块22、消重模块23以及分布式锁模块24。其中,存储模块22进一步包括多个分布式存储模块221,消重模块23进一步包括多个计算子模块231。

预处理模块21用于对待消重的各个文本进行预处理,根据预处理结果确定各个文本对应的关键词。其中,待消重的各个文本可以为网页中的电子文本,例如,网页新闻、网页电子书、博客等。在本实施例中,待消重的各个文本具体为新闻文本。

具体地,在进行消重处理时,首先将待消重的各个文本发送至预处理模块21进行预处理,并根据预处理结果确定各个文本对应的关键词。其中,上述预处理可以包括:针对待消重的各个文本的标题进行简化去噪,以及提取各个文本的内容中的关键词等能够代表该文本的文本内容的关键信息等。在确定各个文本对应的关键词时,可以对上述预处理结果进行重复信息过滤、高频词提取等处理,以此来确定各个文本对应的关键词。

其中,预处理模块21的数量可以为一个,也可以为多个,其具体数量可以由本领域技术人员根据实际情况进行设置,本发明对此不作限制。其中,当预处理模块21的数量为多个时,各个预处理模块21可以相互并行处理,以此来提高预处理过程的处理效率。

其中,预处理模块21的预处理方式可以有多种,在本实施例中,优选通过预设的神经网络模型确定各个文本对应的关键词。其中,预设的神经网络模型能够针对文档内容中的对应关键词进行抽取和概括,从而准确提取能够代表待消重的各个文本的内容信息的关键词。但是,可以理解的是,本发明中针对待消重的各个文本的预处理方式包括但不限于通过上述预设的神经网络模型,本发明还可以采用其他的预处理方式(例如提取出现词频较高的实词等方式)对待消重的各个文本进行预处理。在这里,只要能够提取待消重的各个文本中的关键信息即可(即:能够代表各个文本的内容的关键词等信息),本发明对预处理模块21的预处理方式不作限制。

设置预处理模块21的目的在于:在后续模块(对应存储模块22和消重模块23)针对待消重文本进行存储或者读取等相关处理时,可以通过预处理模块21中确定的关键词来存储和读取对应的待消重文本的数据,减小了后续处理过程中需要处理的数据量的大小,提高了文本消重的处理效率。

存储模块22用于存储预处理模块预处理后的各个文本,并设置用于查询各个文本的倒排索引表;其中,倒排索引表用于存储各个关键词及其对应的文本之间的映射关系。

其中,预处理模块预处理后的各个文本可以是经过预处理后实现了简化去噪效果的文本,另外,预处理后的各个文本中还进一步包含从相应文本中提取出的关键词。相应地,存储模块12在设置用于查询各个文本的倒排索引表时,根据各个关键词以及与该关键词对应的文本来建立。即:在各个文本对应的关键词与各个文本之间建立一个映射关系。例如,文本1对应的关键词为关键词1、关键词2;文本2对应的关键词为关键词2、关键词3;文本3对应的关键词为关键词2;则倒排索引表中存储有如下数据:关键词1:文本1;关键词2:文本1、文本2、文本3;关键词3:文本2。由此可见,通过倒排索引表能够根据关键词快速查询包含该关键词的文本,从而快速锁定待消重的文本范围。具体地,待消重文本中的关键词既可以是一个,也可以是多个,当待消重文本中的关键词为多个时,分别针对每个关键词获取包含该关键词的文本,将获取到的包含各个关键词的文本共同作为待比对文本。

在本实施例中,存储模块22具体包括多个分布式存储模块221,上述多个分布式存储模块221用于通过一致性哈希算法对预处理后的各个文本进行分布式存储。并且,每个分布式存储模块221都与其它的分布式存储模块221相连。具体地,在存储各个文本时,首先通过一致性哈希算法,确定各个文本分别存储在哪个分布式存储模块中。另外,还可以通过一致性哈希算法将待消重的文本数据进行均匀分片,然后将分片后的各个文本数据分别存储在多个分布式存储模块221中。在这里,选择分布式存储的目的在于,当面对海量数据处理时,分布式存储能够根据服务器的数量将海量数据进行均匀的分片处理,通过将海量数据进行分片微化,并针对分片后的每个分片数据进行并行处理的方式来实现实时、快速地处理海量数据的目的。采用一致性哈希算法的目的在于保证数据分片的均匀性,进而保证数据存储与读取过程中的一致性。并且,采用一致性哈希算法能够灵活地增删分布式存储模块的数量,而不必迁移全部数据,系统灵活性和可扩展性更好。

进一步地,在多个分布式存储模块221存储分片数据的同时,多个分布式存储模块221还可以对存储的数据进行备份,以防止当数据因为运行故障等原因丢失时,其丢失数据无法再挽回。因此针对存储的各个文本进行备份,以此来降低数据损失的风险。

消重模块23用于从存储模块中获取至少一个待消重文本,确定待消重文本对应的关键词,通过倒排索引表确定包含待消重文本对应的关键词的至少一个待比对文本,针对待消重文本以及待比对文本进行消重处理。

具体地,消重模块23用于对待消重文本进行消重处理。其处理过程包括:首先,消重模块23从存储模块22中获取至少一个待消重文本,并从存储模块22中获取该待消重文本对应的关键词;然后,消重模块23通过上述确定的关键词以及设置在存储模块22中的倒排索引表中的映射关系来确定包含待消重文本对应的关键词的至少一个待比对文本,其中,待消重文本的数量可以是一个也可以是多个,当待消重文本的数量为一个时,获取到的待比对文本的数量应为多个(包含待消重文本本身以及与该待消重文本包含相同关键词的相关文本);当待消重文本的数量为多个时,获取到的待比对文本的数量大于或等于待消重文本的数量(即:获取到的待比对文本至少包含各个待消重文本)。最后,消重模块23针对待消重文本以及待比对文本进行消重处理,具体地,可以将包含待消重文本在内的所有待比对文本都放入一个消重集合中进行消重处理。

为了提高处理效率,消重模块23进一步包括多个计算子模块231,各个计算子模块之间既可以相互独立地并行工作;也可以相互配合,共同完成针对待消重文本的消重操作。

其中,当各个计算子模块之间相互独立地并行工作时,可适用于各个计算子模块按照一定的顺序逐个对存储模块中存储的每一文本进行消重处理的场景中。在该场景中,各个计算子模块每隔预设时间间隔自发地针对存储模块中存储的每一文本进行消重处理,具体时间间隔可以根据新闻文件的产生周期设置,目的在于尽可能及时地对新增的新闻文件进行消重。相应地,每个计算子模块还可以针对已进行消重处理的文本设置已处理标签,以防止其他计算子模块对其重复处理,从而造成资源的浪费。由于各个计算子模块相互并行工作,因此,每个计算子模块相互独立地根据待消重文本获取对应的待比对文本,并将全部待比对文本存储到本地以进行消重处理。

当各个计算子模块相互配合,共同完成针对待消重文本的消重操作时,可适用于消重模块针对接收到的客户端指令进行消重处理。比如,用户在客户端侧针对文本1发送第一消重请求,则在接收到上述第一消重请求之后,将文本1作为待消重文本,仅针对文本1及其对应的待比对文本进行消重。相应地,由于实际情况中的文本量级很大,文本1对应的待比对文本的数量可能动辄成百上千,因此,为了提高第一消重请求的处理效率,缩短用户的等待时间,每个计算子模块231具体用于:每当获取到待消重文本以及待比对文本后,首先将待消重文本以及待比对文本分发给其他计算子模块,然后接收其他计算子模块针对分发到的文本进行局部消重处理后返回的局部消重处理结果,根据局部消重处理结果确定最终消重处理结果。例如,第一计算子模块负责处理第一消重请求,则当第一计算子模块获取到待消重文本(即文本1)以及待比对文本(即包括文本1在内的、包含文本1中的关键词的全部文本)后,根据待比对文本的总量将待比对文本分发给其他的计算子模块处理。具体地,计算子模块231将待消重文本以及待比对文本分发给其他计算子模块的处理过程可以为:每个计算子模块231在获取到待消重文本以及待比对文本之后,将待消重文本以及待比对文本的总量与计算子模块的总量做商取整,并将做商取整的结果作为分发给其他计算子模块的待消重文本以及待比对文本数量,然后对应数量的待消重文本以及待比对文本分发给其他计算子模块231;或者,也可以设置一个预设阈值,每个计算子模块231在获取到待消重文本以及待比对文本之后,首先将待消重文本以及待比对文本的数量与上述预设阈值进行比较,若待消重文本以及待比对文本的数量大于上述预设阈值,则计算子模块231进一步将超出预设阈值数量的待消重文本以及待比对文本分发给其他的计算子模块,等等。具体实施中,上述分发数量的确定方式可以由本领域技术人员根据实际情况进行设置,本发明对此不作限制。设置多个计算子模块231的目的在于:提高针对待消重文本以及待比对文本的消重处理效率,使针对待消重文本以及待比对文本的消重过程可以为相互并行处理,并进一步实现减少网络开销,提高数据处理的实时性,减小处理过程的时延等有益效果。

可选地,计算子模块231在进行消重处理时,还可以进一步对确定为重复的文本进行标记,并根据上述标记的结果对待消重文本进行处理。其中,在确定消重结果时,若计算子模块231并未向其他计算子模块分发待消重文本以及待比对文本,则该计算子模块231将自身的消重结果确定为最终的消重处理结果;若计算子模块231向其他计算子模块分发待消重文本以及待比对文本,则该计算子模块231接收其他计算子模块针对分发到的文本进行局部消重处理后返回的局部消重处理结果,并将该局部消重处理结果与该计算子模块231中的局部消重处理结果进行加和,将加和结果确定为最终的消重处理结果。

可选地,消重模块23进一步用于:为确定为重复的文本设置重复标签。并且,上述重复标签中还可以进一步包含根据文本的文本特征信息为确定为重复的文本计算的对应分值。其中,文本特征信息可以是该文本的发布时间、发布源头、篇幅长短、重要性等相关信息。具体计算时,各个文本特征对应的分值可以由本领域技术人员根据实际情况进行设置,本发明对此不作限制。另外,针对新闻进行消重的最终目的在于:防止前端用户在同一屏内浏览到相同的新闻,因此,在对新闻进行展示之前,若同一屏内展现的新闻中包含多个带有重复标签的新闻,则可以根据标签中包含的分值确定最终展现的新闻,例如,仅展现分值最高的新闻,而屏蔽其他分值较低的重复性新闻,从而提升用户体验。

分布式锁模块24用于在消重模块进行消重处理前,通过分布式锁对存储模块22中存储的待消重文本以及待比对文本进行加锁操作;并在消重模块23进行消重处理后释放分布式锁。

具体地,分布式锁模块24中包含有多个分布式锁,能够针对待处理的文本进行加锁操作。在本发明中,在消重模块23进行消重处理前,分布式锁模块24通过分布式锁对存储模块22中存储的待消重文本以及待比对文本进行加锁操作,使针对待消重文本以及待比对文本的消重处理能够独立进行,即保证当前的消重处理过程不会受到其它访问请求或者处理请求的干扰,保证消重处理的高效运行。有效解决了多个分片数据在被同时处理时可能产生的同步性问题以及冲突性等问题。在消重模块23完成对待消重文件的消重处理之后,分布式锁模块24释放上述设置在待消重文本以及待比对文本上的分布式锁,恢复经过消重处理后的文本的正常运行。分布式锁模块24的设置能够使消重处理的过程独立进行,提高了消重处理过程的效率。并且,分布式锁还能够进一步保证分片数据之间的数据处理的同步性,保证分片数据处理的一致性。另外,若消重过程中,待消重的文本被修改,则会导致存储数据不一致,因此,通过分布式锁能够确保文本的准确性。

另外,要说明的是,在实现本实施例中各个模块的对应功能时,可以将本实施例中的各个模块独立分开,即各个模块实现各自的对应功能;或者,也可以根据实际情况将任意的多个模块进行组合,例如,可以将预处理模块集成在存储模块上,或者将存储模块的功能与消重模块中多个计算子模块的功能集成在一起,等等。具体实施中,本领域技术人员可以根据实际情况选择是否将对应的模块及其对应的功能进行组合,本发明对此不作限制。

由此可见,在本发明提供的文本消重系统中,通过准确限定消重范围的方式能够有效提高文本消重的准确性及处理效率,优化文本消重的处理过程,避免了针对全部文本逐个比对的繁琐操作。并且,由于分布式锁仅针对特定键值的数据进行加锁,而对于其他键值的数据则不予加锁,即:仅针对包含相同关键词的待消重文本以及待比对文本进行加锁,因此,一方面,针对特定文本的消重过程不会影响其他无关文本的正常访问;另一方面,还能够同时针对多组文本进行并行化消重处理,进而通过并发方式进一步提高了处理效率。同时,本实施中的方案还进一步为确定为重复的文本设置重复标签,并在重复标签中加入根据文本特征计算的对应分值,从而能够有效防止前端用户在同一屏内浏览到相同的重复文本,提升了用户体验。

实施例三

图3为本发明实施例三提供的一种文本消重方法的流程图。如图3所示,该方法包括以下步骤:

步骤s310:对待消重的各个文本进行预处理,根据预处理结果确定各个文本对应的关键词。

其中,待消重的各个文本可以为网页中的电子文本,例如,网页新闻、网页电子书、博客等。具体地,针对待消重的各个文本进行的预处理可以包括:针对待消重的各个文本的标题进行简化去噪,以及提取各个文本的内容中的关键词等能够代表该文本的文本内容的关键信息等。其中,预处理方式可以有多种,例如,提取文本中出现词频较高的实词作为关键词;或者根据预设的分析模型(例如神经网络模型)对各个文本进行分析并确定各个文本对应的关键词,等等。具体实施中,优选通过预设的神经网络模型确定各个文本对应的关键词。其中,预设的神经网络模型能够针对文档内容中的对应关键词进行抽取和概括,从而准确提取能够代表待消重的各个文本的内容信息的关键词。在这里,只要能够获取待消重的各个文本中的关键词等关键信息即可,本发明对上述预处理方式不作限制。

在根据预处理结果确定各个文本对应的关键词时,可以对上述预处理结果进行重复信息过滤、高频词提取等处理,以此来确定各个文本对应的关键词。具体实施中,根据预处理结果确定各个文本对应的关键词的确定方式可以由本领域技术人员根据实际情况进行设置,本发明对此不作限制。

设置本步骤的目的在于:在后续步骤(对应步骤s320和步骤s330)针对待消重的各个文本进行存储或者读取等相关处理时,可以通过预处理模块11中确定的关键词来存储和读取对应的待消重文本的数据,有效减小了后续处理过程中处理的数据量的大小,提高文本消重的处理效率。

步骤s320:对预处理后的各个文本进行存储,并设置用于查询各个文本的倒排索引表;其中,上述倒排索引表用于存储各个关键词及其对应的文本之间的映射关系。

具体地,预处理后的各个文本可以是经过预处理后实现了简化去噪效果的文本,另外,预处理后的各个文本中还进一步包含从相应文本中提取出的关键词。相应地,在在设置用于查询各个文本的倒排索引时,根据各个关键词以及与该关键词对应的文本来建立。即:在各个文本对应的关键词与各个文本之间建立一个映射关系。例如,文本1对应的关键词为关键词1、关键词2;文本2对应的关键词为关键词2、关键词3;文本3对应的关键词为关键词2;则倒排索引表中存储有如下数据:关键词1:文本1;关键词2:文本1、文本2、文本3;关键词3:文本2。由此可见,通过倒排索引表能够根据关键词快速查询包含该关键词的文本,从而快速锁定待消重的文本范围。具体地,待消重文本中的关键词既可以是一个,也可以是多个,当待消重文本中的关键词为多个时,分别针对每个关键词获取包含该关键词的文本,将获取到的包含各个关键词的文本共同作为待比对文本。

在本步骤中,在对预处理后的各个文本进行存储时,优选通过一致性哈希算法对预处理后的各个文本进行分布式存储。具体地,在存储各个文本时,首先通过一致性哈希算法,确定各个文本存储位置(对应实施例二中的分布式存储模块,即确定各个文本分别存储在哪个分布式存储模块中),另外,还可以通过一致性哈希算法将待消重的文本数据进行均匀分片,然后将分片后的各个文本进行分布式存储,即将分片后的各个文本存储在不同的服务器中。在这里,选择分布式存储的目的在于,当面对海量数据处理时,分布式存储能够根据服务器的数量将海量数据进行均匀的分片处理,通过将海量数据进行分片微化,并针对分片后的每个分片数据进行处理的方式来实现实时、快速地处理海量数据的目的。采用一致性哈希算法的目的在于保证数据分片的均匀性,进而保证数据存储与读取过程中的一致性。并且,采用一致性哈希算法能够灵活地增删分布式存储模块的数量,而不必迁移全部数据,系统灵活性和可扩展性更好。

进一步地,在对预处理后的各个文本进行存储时,还可以进一步对存储的数据进行备份,以防止当的数据因为运行故障等原因丢失时,其丢失数据无法再挽回。上述针对存储的各个文本的备份能够有效降低了数据损失的风险。

步骤s330:通过分布式锁对存储的待消重文本以及待比对文本进行加锁操作;并在消重处理后释放分布式锁。

具体地,分布式锁能够针对待处理的文本进行加锁操作。在后续步骤(对应步骤s340)进行消重处理前,本步骤通过分布式锁对步骤s320中存储的待消重文本以及待比对文本进行加锁操作,使后续步骤(对应步骤s340)中针对待消重文本以及待比对文本的消重处理过程能够独立进行,即保证针对待消重文本以及待比对文本的消重处理过程不会受到针对该待消重文本以及该待比对文本的其它访问请求或者其它处理请求的干扰,保证消重处理的高效运行。在完成对待消重文件的消重处理之后,对应释放上述加锁在待消重文本以及待比对文本上的分布式锁,恢复经过消重处理后的文本的正常运行。使释放加锁后的文本数据能够被正常访问或者被进行其它处理。分布式锁的设置能够使消重处理的过程独立进行,提高了消重处理过程的效率。并且,分布式锁还能够进一步保证分片数据之间的数据处理的同步性,保证分片数据处理的一致性。另外,若消重过程中,待消重的文本被修改,则会导致存储数据不一致,因此,通过分布式锁能够确保文本的准确性。

步骤s340:获取至少一个待消重文本,确定待消重文本对应的关键词,通过倒排索引表确定包含待消重文本对应的关键词的至少一个待比对文本,针对待消重文本以及待比对文本进行消重处理。

具体地,在本步骤中,首先获取至少一个待消重文本,并从步骤s320中的存储的预处理后的对应文本中确定该待消重文本对应的关键词;然后通过上述确定的关键词以及步骤s320中设置的倒排索引表中的映射关系来确定包含待消重文本对应的关键词的至少一个待比对文本。其中,待消重文本的数量可以是一个也可以是多个,当待消重文本的数量为一个时,获取到的待比对文本的数量应为多个(包含待消重文本本身以及与该待消重文本包含相同关键词的相关文本);当待消重文本的数量为多个时,获取到的待比对文本的数量大于或等于待消重文本的数量(即:获取到的待比对文本至少包含各个待消重文本)。最后,针对待消重文本以及待比对文本进行消重处理,具体地,可以将包含待消重文本在内的所有待比对文本都放入一个消重集合中进行消重处理。或者,为了提高处理效率,进一步设置多个计算子模块,各个计算子模块之间既可以相互独立地并行工作;也可以相互配合,共同完成针对待消重文本的消重操作。

其中,当各个计算子模块之间相互独立地并行工作时,可适用于各个计算子模块按照一定的顺序逐个对存储模块中存储的每一文本进行消重处理的场景中。在该场景中,各个计算子模块每隔预设时间间隔自发地针对存储模块中存储的每一文本进行消重处理,具体时间间隔可以根据新闻文件的产生周期设置,目的在于尽可能及时地对新增的新闻文件进行消重。相应地,每个计算子模块还可以针对已进行消重处理的文本设置已处理标签,以防止其他计算子模块对其重复处理,从而造成资源的浪费。由于各个计算子模块相互并行工作,因此,每个计算子模块相互独立地根据待消重文本获取对应的待比对文本,并将全部待比对文本存储到本地以进行消重处理。

当各个计算子模块相互配合,共同完成针对待消重文本的消重操作时,可适用于消重模块针对接收到的客户端指令进行消重处理。比如,用户在客户端侧针对文本1发送第一消重请求,则在接收到上述第一消重请求之后,将文本1作为待消重文本,仅针对文本1及其对应的待比对文本进行消重。相应地,由于实际情况中的文本量级很大,文本1对应的待比对文本的数量可能动辄成百上千,因此,为了提高第一消重请求的处理效率,缩短用户的等待时间,每个计算子模块具体用于:每当获取到待消重文本以及待比对文本后,首先将待消重文本以及待比对文本分发给其他计算子模块,然后接收其他计算子模块针对分发到的文本进行局部消重处理后返回的局部消重处理结果,根据局部消重处理结果确定最终消重处理结果。例如,第一计算子模块负责处理第一消重请求,则当第一计算子模块获取到待消重文本(即文本1)以及待比对文本(即包括文本1在内的、包含文本1中的关键词的全部文本)后,根据待比对文本的总量将待比对文本分发给其他的计算子模块处理。具体地,计算子模块将待消重文本以及待比对文本分发给其他计算子模块的处理过程可以为:每个计算子模块在获取到待消重文本以及待比对文本之后,将待消重文本以及待比对文本的总量与计算子模块的总量做商取整,并将做商取整的结果作为分发给其他计算子模块的待消重文本以及待比对文本数量,然后对应数量的待消重文本以及待比对文本分发给其他计算子模块;或者,也可以设置一个预设阈值,每个计算子模块在获取到待消重文本以及待比对文本之后,首先将待消重文本以及待比对文本的数量与上述预设阈值进行比较,若待消重文本以及待比对文本的数量大于上述预设阈值,则计算子模块进一步将超出预设阈值数量的待消重文本以及待比对文本分发给其他的计算子模块,等等。具体实施中,上述分发数量的确定方式可以由本领域技术人员根据实际情况进行设置,本发明对此不作限制。设置多个计算子模块的目的在于:提高针对待消重文本以及待比对文本的消重处理效率,使针对待消重文本以及待比对文本的消重过程可以为相互并行处理,并进一步实现减少网络开销,提高数据处理的实时性,减小处理过程的时延等有益效果。

可选地,计算子模块在进行消重处理时,还可以进一步对确定为重复的文本进行标记,并根据上述标记的结果对待消重文本进行处理。其中,在确定消重结果时,若计算子模块并未向其他计算子模块分发待消重文本以及待比对文本,则该计算子模块将自身的消重结果确定为最终的消重处理结果;若计算子模块向其他计算子模块分发待消重文本以及待比对文本,则该计算子模块接收其他计算子模块针对分发到的文本进行局部消重处理后返回的局部消重处理结果,并将该局部消重处理结果与该计算子模中的局部消重处理结果进行加和,将加和结果确定为最终的消重处理结果。

可选地,在本步骤中,还可以进一步为确定为重复的文本设置重复标签。并且,上述重复标签中还可以进一步包含根据文本的文本特征信息为确定为重复的文本计算的对应分值。其中,文本特征信息可以是该文本的发布时间、发布源头、篇幅长短、重要性等相关信息。具体计算时,各个文本特征对应的分值可以由本领域技术人员根据实际情况进行设置,本发明对此不作限制。另外,针对新闻进行消重的最终目的在于:防止前端用户在同一屏内浏览到相同的新闻,因此,在对新闻进行展示之前,若同一屏内展现的新闻中包含多个带有重复标签的新闻,则可以根据标签中包含的分值确定最终展现的新闻,例如,仅展现分值最高的新闻,而屏蔽其他分值较低的重复性新闻,从而提升用户体验。

由此可见,在本发明提供的文本消重方法中,通过预先提取关键词并建立倒排索引表的方式,能够根据关键词快速确定与待消重文本相关性较大的待比对文本,进而仅针对确定出的待比对文本进行消重,而无需考虑其他相关性较小的无关文本,因此,通过准确限定消重范围的方式能够有效提高文本消重的准确性及处理效率,优化文本消重的处理过程,避免了针对全部文本逐个比对的繁琐操作。并且,由于分布式锁仅针对特定键值的数据进行加锁,而对于其他键值的数据则不予加锁,即:仅针对包含相同关键词的待消重文本以及待比对文本进行加锁,因此,一方面,针对特定文本的消重过程不会影响其他无关文本的正常访问;另一方面,还能够同时针对多组文本进行并行化消重处理,进而通过并发方式进一步提高了处理效率。同时,本实施中的方案还进一步为确定为重复的文本设置重复标签,并在重复标签中加入根据文本特征计算的对应分值,从而能够有效防止前端用户在同一屏内浏览到相同的重复文本,提升了用户体验。

实施例四

本申请实施例四提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的一种文本消重方法。

实施例五

图4示出了根据本发明实施例五的一种服务器的结构示意图,本发明具体实施例并不对服务器的具体实现做限定。

如图4所示,该服务器可以包括:处理器(processor)402、通信接口(communicationsinterface)404、存储器(memory)406、以及通信总线408。

其中:

处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。

通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器402,用于执行程序410,具体可以执行上述文本消重方法实施例中的相关步骤。

具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。

处理器402可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器606,用于存放程序410。存储器406可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序410具体可以用于使得处理器402执行以下操作:

对待消重的各个文本进行预处理,根据预处理结果确定各个文本对应的关键词;

对预处理后的各个文本进行存储,并设置用于查询各个文本的倒排索引表;其中,所述倒排索引表用于存储各个关键词及其对应的文本之间的映射关系;

获取至少一个待消重文本,确定所述待消重文本对应的关键词,通过所述倒排索引表确定包含所述待消重文本对应的关键词的至少一个待比对文本,针对所述待消重文本以及所述待比对文本进行消重处理;

其中,在消重处理前,通过分布式锁对存储的所述待消重文本以及所述待比对文本进行加锁操作;并在消重处理后释放所述分布式锁。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的文本消重系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了:a1.一种文本消重系统,包括:

预处理模块,用于对待消重的各个文本进行预处理,根据预处理结果确定各个文本对应的关键词;

存储模块,用于存储所述预处理模块预处理后的各个文本,并设置用于查询各个文本的倒排索引表;其中,所述倒排索引表用于存储各个关键词及其对应的文本之间的映射关系;

消重模块,用于从所述存储模块中获取至少一个待消重文本,确定所述待消重文本对应的关键词,通过所述倒排索引表确定包含所述待消重文本对应的关键词的至少一个待比对文本,针对所述待消重文本以及所述待比对文本进行消重处理;

分布式锁模块,用于在所述消重模块进行消重处理前,通过分布式锁对所述存储模块中存储的所述待消重文本以及所述待比对文本进行加锁操作;并在所述消重模块进行消重处理后释放所述分布式锁。

a2.根据a1所述的系统,其中,所述存储模块具体为多个分布式存储模块,用于通过一致性哈希算法对预处理后的各个文本进行分布式存储。

a3.根据a1或a2所述的系统,其中,所述消重模块进一步包括多个计算子模块,其中,每个计算子模块具体用于:

每当获取到所述待消重文本以及所述待比对文本后,将所述待消重文本以及所述待比对文本分发给其他计算子模块;

接收其他计算子模块针对分发到的文本进行局部消重处理后返回的局部消重处理结果,根据所述局部消重处理结果确定最终消重处理结果。

a4.根据a1-a3任一所述的系统,其中,所述消重模块进一步用于:为确定为重复的文本设置重复标签。

a5.根据a4所述的系统,其中,所述消重模块进一步用于:根据文本的文本特征信息为确定为重复的文本计算分值,则所述重复标签中进一步包含所述分值。

a6.根据a1-a5任一所述的系统,其中,所述预处理模块具体用于:通过预设的神经网络模型确定各个文本对应的关键词。

a7.根据a1-a6任一所述的系统,其中,所述预处理模块的数量为多个,且各个预处理模块相互并行处理。

a8.根据a1所述的系统,其中,所述文本为新闻文本。

本发明还公开了b9.一种文本消重方法,包括:

对待消重的各个文本进行预处理,根据预处理结果确定各个文本对应的关键词;

对预处理后的各个文本进行存储,并设置用于查询各个文本的倒排索引表;其中,所述倒排索引表用于存储各个关键词及其对应的文本之间的映射关系;

获取至少一个待消重文本,确定所述待消重文本对应的关键词,通过所述倒排索引表确定包含所述待消重文本对应的关键词的至少一个待比对文本,针对所述待消重文本以及所述待比对文本进行消重处理;

其中,所述方法进一步包括:在消重处理前,通过分布式锁对存储的所述待消重文本以及所述待比对文本进行加锁操作;并在消重处理后释放所述分布式锁。

b10.根据b9所述的方法,其中,所述对预处理后的各个文本进行存储的步骤具体包括:通过一致性哈希算法对预处理后的各个文本进行分布式存储。

b11.根据b9或b10所述的方法,其中,所述针对所述待消重文本以及所述待比对文本进行消重处理的步骤具体包括:

每当获取到所述待消重文本以及所述待比对文本后,将所述待消重文本以及所述待比对文本分发给其他计算子模块;

接收其他计算子模块针对分发到的文本进行局部消重处理后返回的局部消重处理结果,根据所述局部消重处理结果确定最终消重处理结果。

b12.根据b9-b11任一所述的方法,其中,所述针对所述待消重文本以及所述待比对文本进行消重处理的步骤之后,进一步包括:为确定为重复的文本设置重复标签。

b13.根据b12所述的方法,其中,所述为确定为重复的文本设置重复标签的步骤具体包括:根据文本的文本特征信息为确定为重复的文本计算分值,则所述重复标签中进一步包含所述分值。

b14.根据b9-b13任一所述的方法,其中,所述对待消重的各个文本进行预处理的步骤具体包括:通过预设的神经网络模型确定各个文本对应的关键词。

b15.根据b9-b14任一所述的方法,其中,所述文本为新闻文本。

本发明还公开了:c16.一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如b9-b15中任一项所述的文本消重方法对应的操作。

本发明还公开了:d17.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如b9-b15中任一项所述的文本消重方法对应的操作。

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