首页 / 专利库 / 物理 / 淘析器 / 由计算机实施的消息过滤方法、消息过滤装置及系统

由计算机实施的消息过滤方法、消息过滤装置及系统

阅读:171发布:2020-11-09

专利汇可以提供由计算机实施的消息过滤方法、消息过滤装置及系统专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种由计算机实施的消息过滤方法、消息过滤装置及系统,方法包括:步骤101、接收消息;步骤102、提取出消息中的文本;步骤103、判断过滤容器中的样本中是否包括与所述提取出的消息中的文本相似的文本;如果包括,则执行步骤104;如果不包括,则执行步骤105;步骤104、为所述提取出的消息中文本建立新的样本,将新的样本添加到过滤容器中的归属样本库,并且不发送所述消息;步骤105、为所述提取出的消息中的文本建立新的样本,将新的样本添加到过滤容器中新的样本库中,并发送所述消息。本申请提供的方法、装置及系统,降低了消息漏过滤的可能性,提高了消息过滤的成功率,提高了 数据处理 效率。,下面是由计算机实施的消息过滤方法、消息过滤装置及系统专利的具体信息内容。

1.一种由计算机实施的消息过滤方法,包括:
步骤101、接收消息;
步骤102、提取出所述消息中的文本;
步骤103、判断过滤容器中的样本中是否包括与提取出的消息中的文本相似的文本;
如果过滤容器中的样本中包括与所述提取出的消息中的文本相似的文本,则执行步骤104;
如果过滤容器中的样本中不包括与所述提取出的消息中的文本相似的文本,则执行步骤
105;
步骤104、为所述提取出的消息中的文本建立新的样本,将所述新的样本添加到所述过滤容器中的归属样本库,并且不发送所述消息;
步骤105、为所述提取出的消息中的文本建立新的样本,将所述新的样本添加到在所述过滤容器中新的样本库中,并发送所述消息。
2.根据权利要求1所述的方法,所述归属样本库是指样本中包括的文本与所述提取出的消息中的文本相似的样本所在的样本库。
3.根据权利要求1所述的方法,所述步骤103包括根据向量方式和最长公共子串方式其中之一或组合来判断样本中是否包括与所述提取出的消息中的文本相似的文本。
4.根据权利要求3所述的方法,
所述根据向量方式来判断样本中是否包括与所述提取出的消息中的文本相似的文本包括:
获取提取出的消息中的文本的向量以及过滤容器的样本库的样本中文本的向量;
判断是否存在样本中的文本的向量与提取出的消息中的文本的向量之间的相似度大于或等于相似度阈值的样本;
所述根据最长公共子串方式来判断样本中是否包括与所述提取出的消息中的文本相似的文本包括:
判断过滤容器的样本库中是否存在样本中的文本与提取出的消息中的文本之间的最长公共子串的长度大于或等于子串长度阈值的样本。
5.根据权利要求3所述的方法,所述根据向量方式和最长公共子串方式的组合方式来判断样本中是否包括与所述提取出的消息中的文本相似的文本包括:
获取提取出的消息中的文本的向量以及过滤容器的样本库的样本中文本的向量;
判断是否存在样本中的文本的向量与所述提取出的消息中的文本的向量之间的相似度大于或等于相似度阈值的第一候选相似样本;
如果存在所述第一候选相似样本,则判断所述第一候选相似样本中是否存在文本与所述提取出消息中的文本之间的最长公共子串的长度大于或等于子串长度阈值的第二候选相似样本;
如果存在所述第二候选相似样本,则确定样本中包括与所述提取出的消息中的文本相似的文本;
如果不存在所述第二候选相似样本,则确定样本中不包括与所述提取出的消息中的文本相似的文本。
6.根据权利要求1所述的方法,所述步骤104中将所述新的样本添加到所述过滤容器中的归属样本库,包括:
步骤1041、判断所述归属样本库中是否存在需要被删除的样本;如果所述归属样本库中不存在需要被删除的样本,则执行步骤1042;如果所述归属样本库中存在需要被删除的样本,则执行步骤1043;
步骤1042、将所述新的样本添加到所述归属样本库;
步骤1043、将所述归属样本库中需要被删除的样本删除,然后将所述新的样本添加到所述归属样本库。
7.根据权利要求6所述的方法,所述步骤1041包括:
判断将所述新的样本添加到所述归属样本库后是否会使得所述归属样本库中的样本总数超出预设样本总数;
如果将所述新的样本添加到所述归属样本库后会使得所述归属样本库中的样本总数超出预设样本总数,则确定所述归属样本库中存在需要被删除的样本;
如果将所述新的样本添加到所述归属样本库后不会使得所述归属样本库中的样本总数超出预设样本总数,则确定所述归属样本库中不存在需要被删除的样本;
所述步骤1043中将所述归属样本库中需要被淘汰的样本删除,包括:
获取所述归属样本库中各样本的使用次数;
根据所述各样本的使用次数将所述归属样本库中需要被删除的样本删除。
8.根据权利要求1所述的方法,所述步骤105包括在所述过滤容器中建立所述新的样本库;
在所述过滤容器中建立所述新的样本库的步骤包括:
步骤1051、判断所述过滤容器中是否存在需要被删除的样本库;如果不存在需要被删除的样本库,则执行步骤1052;如果存在需要被删除的样本库,则执行步骤1053;
步骤1052、在所述过滤容器中建立新的样本库;
步骤1053、将所述过滤容器中需要被删除的样本库删除,然后建立新的样本库。
9.根据权利要求8所述的方法,所述步骤1051包括:
判断建立新的样本库后是否会使得所述过滤容器中样本库的总数超出预设样本库总数;
如果建立新的样本库后会使得所述过滤容器中样本库的总数超出预设样本库总数,则确定所述过滤容器中存在需要被删除的样本库;
如果建立新的样本库后不会使得所述过滤容器中样本库的总数超出预设样本库总数,则确定所述过滤容器中不存在需要被删除的样本库;
所述步骤1053中将所述过滤容器中需要被删除的样本库删除,包括:
获取各样本库的总使用次数;
根据所述各样本库的总使用次数将所述过滤容器中需要被删除的样本库删除。
10.根据权利要求1-9中任一权利要求所述的方法,所述步骤101包括接收未经路由处理之前的所有消息;
所述步骤103中的过滤容器为针对所有未经路由处理之前的消息设置的过滤容器。
11.根据权利要求1-9中任一权利要求所述的方法,所述步骤101包括接收经过路由处理之后的消息;
所述步骤103中的过滤容器为针对所述消息的单个目标接收用户名设置的过滤容器。
12.一种消息过滤装置,包括:
接收模,用于接收消息;
提取模块,用于提取所述消息中的文本;
判断模块,用于判断过滤容器中的样本中是否包括与提取出的消息中的文本相似的文本;
第一处理模块,用于在所述判断模块确定所述过滤容器中的样本中包括与所述提取出的消息中的文本相似的文本的情况下,为所述提取出的消息中的文本建立新的样本,将所述新的样本添加到所述过滤容器中的归属样本库,并且不发送所述消息;
第二处理模块,用于在所述判断模块确定所述过滤容器中的样本中不包括与所述提取出的消息中的文本相似的文本的情况下,为所述提取出的文本建立新的样本,将所述新的样本添加到在所述过滤容器中新的样本库中,并发送所述消息。
13.根据权利要求12所述的装置,其中,所述判断模块用于获取提取出的文本的向量以及过滤容器的样本库的样本中文本的向量,判断是否存在样本中的文本的向量与所述提取出的消息中的文本的向量之间的相似度大于或等于相似度阈值的样本。
14.根据权利要求12所述的装置,其中,所述判断模块用于判断过滤容器的样本库中是否存在样本中的文本与提取出的消息中的文本之间的最长公共子串的长度大于或等于子串长度阈值的样本。
15.一种消息过滤系统,包括:至少一个接收方消息响应模块、至少一个发送方消息响应模块,还包括至少一个如权利要求12-14中任一权利要求所述的消息过滤装置;
所述发送方消息响应模块用于接收发送方发送的消息,并将接收到的消息发送给所述消息过滤装置,由所述消息过滤装置对所述消息进行过滤;
所述接收方消息响应模块用于将从所述消息过滤装置接收到的消息发送给接收方。
16.根据权利要求15所述的系统,还包括消息处理模块,所述消息处理模块通过所述至少一个消息过滤装置与所述至少一个发送方消息响应模块连接,所述消息处理模块通过另外的至少一个如权利要求12-14中任一权利要求所述的消息过滤装置与所述至少一个接收方消息响应模块连接;
所述消息处理模块用于从所述发送方消息响应模块接收消息,将接收到的消息解析,将接收到的消息进行路由处理,并将接收到的消息路由到相应的接收方消息响应模块。
17.根据权利要求16所述的系统,所有的发送方消息响应模块与同一个消息过滤装置连接;每个接收方消息响应模块分别与一个消息过滤装置连接。

说明书全文

由计算机实施的消息过滤方法、消息过滤装置及系统

技术领域

[0001] 本申请涉及数据处理技术,尤其涉及一种由计算机实施的消息过滤方法、消息过滤装置及系统。

背景技术

[0002] 消息收发功能用于使通过网络连接的不同用户之间进行交互。但是,也有一些用意不良的用户,企图大量发送重复消息或相似消息(这些消息中可能包含一些钓鱼网站的地址、垃圾广告等),以增加点击率。这些情况例如发生在电子商务系统或邮件系统中。这样,会造成系统的负载和流量增大,给系统服务器的存储能及数据处理能力带来很大压力。
[0003] 已知的消息过滤方法如下。
[0004] 一种是基于规则的消息过滤方法。例如,把发送垃圾消息比较多的用户的用户名加入到一个专的黑名单中,如果通过黑名单中的用户名再次发送重复的消息,则阻止该重复消息的发送。又例如,针对消息的某些字段,建立相关的关键字,只要消息的这些字段中包含这些关键字,就过滤该消息。
[0005] 这种基于规则的消息过滤方法存在的问题是:这种方式尽管比较简单、直接而且响应快,然而见效快,失效也快。规则的更新速度慢,而消息的内容却是不断在变化的。基于这些规则,用户名或消息内容变化后的消息容易被确定为非垃圾消息,这样,容易导致大量垃圾消息无法被过滤掉,消息过滤的成功率低。例如,用户可以更换一个新的用户名,只要该用户名不在黑名单中,该用户就又可以大量发送垃圾消息了。而消息过滤的成功率低导致数据处理效率无法得到有效提高。而且,规则的建立和更新需要大量专业人员的参与,需要很多的人力和物力,成本相对较高。
[0006] 另一种是基于机器学习的消息过滤方法,包括:先人工收集一些被确定为垃圾的消息以及一些被确定为正常的消息,建立基础样本库。收集数量需要到一定程度,覆盖面需要比较广。针对这些基础样本库,建立对应的分类模型以及选定相关的参数等。分类模型建立好之后,就可以获得关于垃圾消息和非垃圾消息的参考数据。在获得用于判断垃圾消息和非垃圾消息的参考数据后,就可以使用这些参考数据来进行消息过滤了。具体地,对于当前消息,判定当前消息的分类情况,根据关于垃圾消息和非垃圾消息的参考数据判断当前消息是垃圾消息还是非垃圾消息,然后将垃圾消息过滤掉。
[0007] 这种基于机器学习的消息过滤方法存在的问题是:收集样本、建立分类模型以及获得参考数据都非常复杂,而且需要不断更新分类模型和参考数据。由于样本库规模庞大,动辄几十万,模型成长比较缓慢,机器学习需要几个月的适应期,导致数据处理量庞大,耗费时间比较长。另外,模型的建立需要专门的建模人员的参与,程序实现则又需要非常专业的程序员参与,整体耗费较多,需要很多的人力和物力,成本相对较高。
[0008] 此外,上述这两种方法均难以支持多语言。基于规则的消息过滤方法需要运营团队能够很好地处理各种语言,而基于机器学习的消息过滤方法则更加困难,因为涉及到某些语言的复杂的分词情况、存储情况、语义分析情况等。而在一些面向国际的网站上,多语言是基础的服务。发明内容
[0009] 本申请针对现有技术中存在的问题,提供一种由计算机实施的消息过滤方法、消息过滤装置及系统,实现无需人工参与的自动化消息过滤,降低成本,并提高消息过滤的成功率,提高数据处理效率。
[0010] 本申请提供了一种由计算机实施的消息过滤方法,包括:
[0011] 步骤101、接收消息;
[0012] 步骤102、提取出所述消息中的文本;
[0013] 步骤103、判断过滤容器中的样本中是否包括与提取出的消息中的文本相似的文本;如果过滤容器中的样本中包括与所述提取出的消息中的文本相似的文本,则执行步骤104;如果过滤容器中的样本中不包括与所述提取出的消息中的文本相似的文本,则执行步骤105;
[0014] 步骤104、为所述提取出的消息中的文本建立新的样本,将所述新的样本添加到所述过滤容器中的归属样本库,并且不发送所述消息;
[0015] 步骤105、为所述提取出的消息中的文本建立新的样本,将所述新的样本添加到在所述过滤容器中新的样本库中,并发送所述消息。
[0016] 本申请还提供了一种消息过滤装置,包括:
[0017] 接收模,用于接收消息;
[0018] 提取模块,用于提取所述消息中的文本;
[0019] 判断模块,用于判断过滤容器中的样本中是否包括与提取出的消息中的文本相似的文本;
[0020] 第一处理模块,用于在所述判断模块确定所述过滤容器中的样本中包括与所述提取出的消息中的文本相似的文本的情况下,为所述提取出的消息中的文本建立新的样本,将所述新的样本添加到所述过滤容器中的归属样本库,并且不发送所述消息;
[0021] 第二处理模块,用于在所述判断模块确定所述过滤容器中的样本中不包括与所述提取出的消息中的文本相似的文本的情况下,为所述提取出的文本建立新的样本,将所述新的样本添加到在所述过滤容器中新的样本库中,并发送所述消息。
[0022] 本申请还提供了一种消息过滤系统,包括:至少一个接收方消息响应模块、至少一个发送方消息响应模块,还包括至少一个如前所述的消息过滤装置;
[0023] 所述发送方消息响应模块用于接收发送方发送的消息,并将接收到的消息发送给所述消息过滤装置,由所述消息过滤装置对所述消息进行过滤;
[0024] 所述接收方消息响应模块用于将从所述消息过滤装置接收到的消息发送给接收方。
[0025] 本申请提供的消息过滤方法、装置及系统中,对于接收到的消息中的文本,根据该文本是否与样本库的样本中的文本相似,来选择性地将消息中的文本作为样本添加到归属样本库中或者是新的样本库中;并根据该文本是否与样本库的样本中的文本相似来确定是否将消息发送,从而实现了消息的过滤。样本库中的样本无需人工预先收集,而是在接收消息的过程中不断地自动累积、更新,实现了自动化消息过滤。由于无需人工参与,从而可以节省人力和物力,降低成本。
[0026] 由于样本库中的样本是随着不断接收消息而不断更新的,因而样本库中的样本能够与消息的最新变化相适应,不会像基于规则的消息过滤方法那样由于规则没有及时更新而导致消息的漏过滤,也不会像基于机器学习的消息过滤方法那样,由于建立的模型或参考数据没有及时更新而导致消息的漏过滤,降低了消息漏过滤的可能性,提高了消息过滤的成功率。
[0027] 而且,由于降低了消息漏过滤的可能性,能够使得不必要被处理的重复消息尽可能地被过滤,减少了消息处理量,提高了数据处理效率。
[0028] 而且,本申请提供的消息过滤方法、装置及系统中,不涉及到规则的建立,也不涉及到机器学习模型的建立,整个过程是针对文本中的字符的分析,而不是针对文本的语义,因而可以支持多语言,适用于任何语言的文本。
[0029] 通过以下参照附图对优选实施例的说明,本申请的上述以及其它目的、特征和优点将更加明显。

附图说明

[0030] 图1示例性示出本申请消息过滤系统的一种结构示意图;
[0031] 图2示例性示出本申请由计算机实施的消息过滤方法实施例一的流程图
[0032] 图3示例性示出根据图2中的方法建立的过滤容器的示意图;
[0033] 图4示例性示出本申请由计算机实施的消息过滤方法实施例二的流程图;
[0034] 图5示例性示出本申请消息过滤装置的结构示意图;
[0035] 图6示例性示出本申请消息过滤系统实施例的另一种结构示意图;
[0036] 图7示例性示出本申请消息过滤系统实施例的又一种结构示意图。

具体实施方式

[0037] 下面将详细描述本申请的实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本申请。
[0038] 图1示例性示出本申请消息过滤系统的一种结构示意图,该系统设置在发送方的用户终端侧与接收方的用户终端侧之间,包括:发送方消息响应模块1、消息过滤装置2和接收方消息响应模块3。该消息过滤系统用于处理从发送方发送到接收方的消息。发送方消息响应模块1针对发送方发出的消息作出响应,具体是接收发送方发送的消息,将接收到的消息发送到消息过滤装置2。接收方消息响应模块3针对待发送给接收方的消息作出响应,具体是将从消息过滤装置12接收到的消息发送到接收方。
[0039] 发送方消息响应模块1、消息过滤装置2和接收方消息响应模块3的数量可以是一个或多个。
[0040] 发送方与接收方之间传输的消息可以包括发送方字段、接收方字段以及主体部分(body),主体部分可以是文本。
[0041] 下面结合图1所示的系统说明本申请消息过滤方法的实现过程。
[0042] 图2示例性示出本申请由计算机实施的消息过滤方法实施例一的流程图,包括:
[0043] 步骤101、接收消息。具体可以是由消息过滤装置2从发送方消息响应模块1接收消息。
[0044] 步骤102、提取出消息中的文本。
[0045] 步骤103、判断过滤容器中的样本中是否包括与提取出的消息中的文本相似的文本;如果过滤容器中的样本中包括与所述提取出的消息中的文本相似的文本,则执行步骤104;如果过滤容器中的样本中不包括与提取出的消息中的文本相似的文本,则执行步骤
105。
[0046] 本申请的实施例中,过滤容器是一个或多个样本库的集合,每个样本库包括一个或多个相似的样本。所述样本可以包括文本本身以及文本的特征信息,例如文本的向量、文本的长度、文本的类别等。当然可以理解的是所述样本也可以只包括文本本身。过滤容器的样本中的文本是之前接收过的消息中的文本。如果过滤容器中的样本中包括与从当前接收到的消息中提取出的文本相似的文本,则说明之前已经接收过相似的消息,在步骤104中可以将步骤101中接收到的消息过滤掉。如果过滤容器中的样本中不包括与从当前接收到的消息中提取出的文本相似的文本,说明之前没有接收过相似的消息,在步骤105中可以将步骤101中接收到的消息发送。
[0047] 在本申请的实施例中,对于过滤容器的样本中的文本与提取出的消息中的文本相似的样本,也可以称作相似样本。
[0048] 步骤104、为所述提取出的消息中的文本建立新的样本,将新的样本添加到过滤容器中的归属样本库,并且将步骤101中接收到的消息过滤掉,即,不发送步骤101中接收到的消息。具体地,可以将步骤101中接收到的消息丢弃,不再进行后续处理。
[0049] 步骤105、为所述提取出的消息中的文本建立新的样本,将新的样本添加到在过滤容器中新的样本库中,并发送步骤101中接收到的消息。在步骤105中可以在过滤容器中建立新的样本库。建立新的样本库的步骤可以在建立新的样本的步骤之后执行,或者可以与建立新的样本的步骤同时执行。当然,在步骤105中也可以在建立新的样本之前预先建立新的样本库。
[0050] 在步骤105中,消息过滤装置2可以将步骤101中接收到的消息发送给接收方消息响应模块3。之后,接收方消息响应模块3可以将消息发送给接收方。
[0051] 根据本申请的实施例,在步骤104中,归属样本库是指样本中包括的文本与步骤102中提取出的消息中的文本相似的样本所在的样本库。
[0052] 图3示例性示出根据图2中的方法建立的过滤容器的示意图。过滤容器包括3个样本库,分别是样本库A、样本库B和样本库C。样本库A中保存有样本a1、样本a2和样本a3。样本库B中保存有相似的样本b1、样本b2和样本b3。样本库C中保存有相似的样本c1、样本c2和样本c3。对于步骤101中接收到的消息Q而言,如果过滤容器中某个样本的文本与从消息Q中提取出的文本q相似,例如样本库B中的样本b1的文本与提取出的文本q相似,则样本b1为相似样本,在步骤104中为文本q建立新的样本,将新的样本添加到样本库B中,样本库B为归属样本库。如果遍历过滤容器中的所有样本库都找不到一个样本的文本与从消息Q中提取出的文本q相似,则为文本q建立新的样本,并在过滤容器中建立一个新的样本库,将新的样本添加到新的样本库中。
[0053] 本申请实施例一提供的方法中,对于接收到的消息中的文本,根据该文本是否与样本库的样本中的文本相似,来选择性地将消息中的文本作为样本添加到归属样本库中或者是新的样本库中;并根据该文本是否与样本库的样本中的文本相似来确定是否将消息发送,从而实现了消息的过滤。样本库中的样本无需人工预先收集,而是在接收消息的过程中不断地自动累积、更新,实现了自动化消息过滤。由于无需人工参与,从而可以节省人力和物力,降低成本。
[0054] 由于样本库中的样本是随着不断接收消息而不断更新的,因而样本库中的样本能够与消息的最新变化相适应,不会像基于规则的消息过滤方法那样由于规则没有及时更新而导致消息的漏过滤,也不会像基于机器学习的消息过滤方法那样,由于建立的模型或参考数据没有及时更新而导致消息的漏过滤,降低了消息漏过滤的可能性,提高了消息过滤的成功率。
[0055] 例如,对于同一个用户,如果他用两个用户名先后发送了相同的消息,那么采用本申请提供的方法,即使用户名不同,也可以从过滤容器的样本库找到之前他发送过的消息对应的样本,从而将重复发送的消息过滤掉,避免了用户利用不同用户名发送大量重复消息的情况。
[0056] 而且,由于降低了消息漏过滤的可能性,能够使得不必要被处理的重复消息尽可能地被过滤,减少了消息处理量,提高了数据处理效率。
[0057] 另外,本申请提供的消息过滤方法中,不涉及到规则的建立,也不涉及到机器学习模型的建立,整个过程是针对文本中的字符的分析,而不是针对文本的语义,因而一方面可以省去人工参与,另一方面可以支持多语言,可以适用于任何语言的文本。
[0058] 在本申请的实施例中,如果在接收消息之前已建立了样本库和样本,则可以判断已建立的样本库中是否存在文本与提取出的消息中的文本相似的样本。如果还没有建立样本库和样本,则可以为步骤101中接收到的消息中的文本建立样本,将建立的样本作为第一份样本添加到一个新的样本库中。后续接收到新的消息后,即可以不断更新该新的样本库中的样本。
[0059] 在步骤103中,可以通过各种方式确定样本中是否包括与所述提取出的消息中的文本相似的文本。例如可以根据向量方式来确定,或者可以根据最长公共子串方式(Longest Common String,简称LCS)来确定,或者可以根据向量方式和LCS方式的组合方式来确定。
[0060] (1)基于向量的方式
[0061] 两个文本之间的相似度可以用向量相似度来表示,向量相似度可以用两个文本的向量之间的夹的余弦来表示。
[0062] 在步骤103中,可以获取提取出的消息中的文本的向量以及过滤容器的样本库的样本中文本的向量;判断是否存在样本中的文本的向量与提取出的消息中的文本的向量之间的相似度大于或等于相似度阈值的样本。相似度阈值可以根据数据处理的需要来预先设置。
[0063] 一个文本通常包括多个词(term),该词可以是一个英文单词或者一个中文字。词频(Term Frequency,简称TF)表示一个词在一个文本中出现的次数。逆向文件频率(Inverse Document Frequency,IDF)表示一个词的普遍重要性。文本中一个词的权重可以用该词的词频和该词的逆向文件频率的乘积表示。一个文本的向量w可以表示为:w=(w1,w2,......wn),其中w1,w2,......wn分别是各个词的权重。
[0064] 在获得两个文本的向量之后,可以计算出这两个文本向量之间的夹角的余弦,该夹角的余弦越大,表示两个文本之间的相似度越大。
[0065] 对于本申请的实施例而言,可以获取提取出的消息中的文本的向量以及样本库中的样本中文本的向量,计算出提取出的消息中的文本的向量以及样本库的样本中文本的向量之间的夹角的余弦,判断该夹角的余弦是否大于或等于相似度阈值。如果找到一个样本中文本的向量与提取出的消息中文本的向量之间的夹角的余弦大于或等于相似度阈值,则确定存在样本中的文本与提取出的消息中的文本之间的相似度大于或等于相似度阈值的样本,即,过滤容器中的样本中包括与提取出的消息中的文本相似的文本。如果遍历所有的样本库都没有找到一个样本中文本的向量与提取出的消息中的文本的向量之间的夹角的余弦大于或等于相似度阈值,则确定不存在样本中的文本与提取出的消息中的文本之间的相似度大于或等于相似度阈值的样本,即,过滤容器中的样本中不包括与提取出的消息中的文本相似的文本。
[0066] 为了更准确地计算出两个文本之间的相似度,减少相似度计算的空间复杂度和时间复杂度,可以采用位置敏感哈希方法(Local Sensitive Hashing,简称LSH)计算提取出的消息中的文本和样本库中的样本中的文本的高维向量,计算提取出的消息中的文本的高维向量与样本库的样本中文本的高维向量之间的相似度。高维向量相似度可以表示文本相似度。此处,高维向量可以表征的文本特征更丰富。在计算高维向量之前,可以先将文本或样本离散化。
[0067] (2)基于LCS的方式
[0068] LCS是两个或多个给定字符串的最长的公共子串,它是一个不一定连续但按顺序取自给定字符串中的字符序列,可以表示两个或多个字符串之间的相似度。以两个字符串为例,如果LCS越长,表示这两个字符串之间的相似度越大。文本可以看作是相对较长的字符串。
[0069] 如果基于LCS的方式,则步骤103可以包括:判断过滤容器的样本库中是否存在样本中的文本与提取出的消息中的文本之间的LCS的长度大于或等于子串长度阈值的样本。子串长度阈值可以是预先设置的值。
[0070] 如果某个样本所包括的文本与提取出的消息中的文本之间的LCS的长度大于或等于子串长度阈值,则确定存在样本中的文本与提取出消息中的文本之间的LCS的长度大于或等于子串长度阈值的样本,即,过滤容器中的样本中包括与所提取出的消息中的文本相似的文本;否则,确定不存在样本中的文本与提取出的消息中的文本之间的LCS的长度大于或等于子串长度阈值的样本,即,过滤容器中的样本中不包括与所提取出的消息中的文本相似的文本。
[0071] (3)基于向量和LCS的组合方式
[0072] 组合方式的一个例子可以包括:首先,获取提取出消息中的文本的向量以及过滤容器的样本库的样本中文本的向量;判断是否存在样本中的文本的向量与提取出的消息中的文本的向量之间的相似度大于或等于相似度阈值的相似样本。通过该步骤获取的相似样本可以看作是第一候选相似样本。然后,再判断第一候选相似样本中是否存在文本与提取出的消息中的文本之间的LCS的长度大于或等于子串长度阈值的第二候选相似样本。如果存在第二候选相似样本,则可以确定第二候选相似样本即为文本与提取出的文本相似的相似样本,也就可以确定过滤容器中的样本中包括与所提取出的消息中的文本相似的文本。
[0073] 当然也可以先基于LCS方式判断是否存在候选相似样本,然后再从候选相似样本中基于向量方式判断候选相似样本中是否存在样本中的文本的向量与提取出的消息中的文本的向量之间的相似度大于或等于相似度阈值的相似样本。如果存在,则可以确定样本中的文本向量与提取出的消息中的文本的向量之间的相似度大于或等于相似度阈值的相似样本即为样本中的文本与提取出的消息中的文本相似的相似样本。
[0074] 这种组合方式实质上是一种双重检验方式,可以更准确地判断提取出的消息中的文本与过滤容器的样本库中样本所包括的文本是否相似,从而可以提供更准确的消息过滤。
[0075] 在本申请的实施例中,为了防止过滤容器的样本库数量和样本数量无限制增长,同时保证样本的实时更新,可以基于最少使用原则(Least Recently Used,简称LRU)动态地淘汰掉部分样本和样本库。
[0076] 在步骤104中,将新的样本添加到相似样本的归属样本库,具体可以包括:
[0077] 步骤1041、判断归属样本库中是否存在需要被删除的样本;如果归属样本库中不存在需要被删除的样本,则执行步骤1042;如果归属样本库中存在需要被删除的样本,则执行步骤1043。
[0078] 步骤1042、将新的样本添加到归属样本库。
[0079] 步骤1043、将归属样本库中需要被删除的样本删除,然后将新的样本添加到归属样本库。
[0080] 在步骤1041中,具体可以判断将新的样本添加到归属样本库后是否会使得归属样本库中的样本总数超出预设样本总数;如果将新的样本添加到归属样本库后会使得归属样本库中的样本总数超出预设样本总数,则确定归属样本库中存在需要被删除的样本;如果将新的样本添加到归属样本库后不会使得归属样本库中的样本总数超出预设样本总数,则确定归属样本库中不存在需要被删除的样本。
[0081] 预设样本总数可以由本领域技术人员根据消息处理的实际运行情况来动态设置,是可以实时变化的。
[0082] 在步骤1043中,将需要被删除的样本删除的方式例如可以包括:获取归属样本库中各样本的使用次数,根据获取的各样本的使用次数将需要被删除的样本删除。例如,可以将使用次数最少的样本删除。使用次数是指样本被作为相似样本使用的次数。当然本领域技术人员也可以采用其他改型方式来淘汰样本,例如保留使用次数大于或等于预设阈值的样本。
[0083] 以图3为例,在为从消息Q中提取出的文本q建立新的样本后,判断将新的样本添加到样本库B(即相似样本的归属样本库)中是否会使得样本库B的样本总数超出预设样本总数。假设当前预设样本总数为3,如果将新的样本添加到样本库B会导致样本库B的样本总数超过3,则确定样本库B中存在需要被删除的样本。然后,可以分别获得样本b1、样本b2和样本b3的使用次数,将使用次数最少的那个样本删除,再将新的样本添加到样本库B中。
[0084] 通过动态地设置预设样本总数,可以动态地淘汰掉样本库中的部分使用次数不多的样本,使得样本库中的样本能够动态地更新,而且样本库的容量不会无限制地增大,这样,消息过滤系统的消息处理量也能够得到动态的调整和有效的控制。
[0085] 在步骤105中,在过滤容器中建立新的样本库,可以包括:
[0086] 步骤1051、判断过滤容器中是否存在需要被删除的样本库;如果不存在需要被删除的样本库,则执行步骤1052;如果存在需要被删除的样本库,则执行步骤1053;
[0087] 步骤1052、建立新的样本库;
[0088] 步骤1053、将需要被删除的样本库删除,然后建立新的样本库。
[0089] 在步骤1051中,具体可以判断建立新的样本库后是否会使得过滤容器中样本库的总数超出预设样本库总数。如果建立新的样本库后会使得过滤容器中样本库的总数超出预设样本库总数,则确定存在需要被删除的样本库;如果建立新的样本库后不会使得过滤容器中样本库的总数超出预设样本库总数,则确定不存在需要被删除的样本库。
[0090] 预设样本库总数也是可以根据消息处理系统的实际运行情况来动态设置,是可以实时变化的。
[0091] 在步骤1053中将需要被删除的样本库删除的方式例如可以包括:获取各样本库的总使用次数,根据各样本库的总使用次数将需要被删除的样本库删除。例如可以将总使用次数最少的样本库淘汰。样本库的总使用次数是样本库中各个样本的使用次数与样本库中样本总数的乘积。当然本领域技术人员也可以采用其他改型来删除样本库,例如保留总使用次数大于或等于预设次数阈值的样本库。
[0092] 以图3为例,如果遍历样本库A、样本库B和样本库C都找不到样本中的文本与从消息Q中提取出的文本q相似的相似样本,则为文本q建立新的样本,判断是否存在需要被淘汰的样本库。假设当前的预设样本库总数为3,建立新的样本库后会使得过滤容器中样本库总数超过3,则确定存在需要被删除的样本库。分别获取样本库A、样本库B和样本库C的总使用次数,将总使用次数最少的样本库删除,然后建立新的样本库,将新的样本添加到新的样本库。如果不存在需要被删除的样本库,则可以直接在过滤容器中建立一个新的样本库,将新的样本添加到新的样本库。
[0093] 通过动态地设置预设样本库总数,可以动态地淘汰掉部分总使用次数不多的样本库,使得样本库够动态地更新,而且样本库的总数不会无限制地增大,这样消息过滤系统的消息处理量也能够得到动态的调整和有效的控制。
[0094] 图4示例性示出本申请由计算机实施的消息过滤方法实施例二的流程图,包括:
[0095] 步骤201、接收消息。
[0096] 步骤202、提取出消息中的文本。
[0097] 步骤203、对提取出的文本进行格式化操作。例如,对于含有富文本格式(Rich Text Format,简称RTF)的文本,可以去掉标签。对于被转义过的文本,可以将文本转义回来。
[0098] 步骤204、将提取出的文本进行离散化处理后,采用LSH方法获取文本的高维向量V1。
[0099] 步骤205、判断过滤容器中的样本中是否包括与所述提取出的消息中的文本相似的文本,即,判断过滤容器中是否存在文本的高维向量与高维向量V1相似的样本。如果存在样本中的文本与提取出的消息中的文本相似的样本,则执行步骤206;如果遍历过滤容器中所有的样本库都找不到样本中的文本与提取出的消息中的文本相似的样本,则执行步骤207。
[0100] 步骤206包括如下子步骤:
[0101] 步骤2061、为提取出的文本建立新的样本。
[0102] 步骤2062、判断归属样本库中是否存在需要被淘汰的样本,即,判断将新的样本添加到归属样本库之后是否会使得归属样本库的样本总数超过预设样本总数。如果归属样本库中存在需要被淘汰的样本,则执行步骤2063;如果归属样本库中不存在需要被淘汰的样本,则执行步骤2064。
[0103] 步骤2063、获取归属样本库中各样本的使用次数,将使用次数最少的样本淘汰,然后将步骤2061中建立的新的样本添加到归属样本库中,然后执行步骤2065。
[0104] 步骤2064、将步骤2061中建立的新的样本添加到归属样本库中,然后执行步骤2065。
[0105] 步骤2065、将步骤201中接收到的消息过滤,即,不发送步骤201中接收到的消息,具体地,可以将该消息丢弃或者可以缓存到其他指定设备进行其他处理。
[0106] 步骤207包括如下子步骤:
[0107] 步骤2071、为提取出的消息中的文本建立新的样本。
[0108] 步骤2072、判断过滤容器中是否存在需要被淘汰的样本库,即,判断建立新的样本库之后是否会使过滤容器中样本库的总数超过预设样本库总数。如果存在需要被淘汰的样本库,则执行步骤2074;如果不存在需要被淘汰的样本库,则执行步骤2073。
[0109] 步骤2073、建立新的样本库,然后执行步骤2075。
[0110] 步骤2074、获取过滤容器中各样本库的总使用次数,将总使用次数最少的样本库淘汰,建立新的样本库,然后执行步骤2075。
[0111] 步骤2075、将新的样本添加到新的样本库。
[0112] 步骤2076、将步骤201中接收到的消息发送。
[0113] 实施例二中,是通过LSH方法获取高维向量的方法来判断是否存在文本与提取出的文本相似的样本,当然也可以采用其他的方法。
[0114] 在步骤205中,确定过滤容器中存在高维向量与提取出的文本的高维向量V1相似的样本之后,可以将高维向量与提取出的文本的高维向量V1相似的样本当作候选相似样本,然后进一步判断是否存在文本与提取出的文本之间的LCS的长度大于或等于子串长度阈值的候选相似样本,从而确定过滤容器中的样本中是否包括与所提取出的消息中的文本相似的文本。
[0115] 前述各个实施例中以发送方消息响应模块1、消息过滤装置2和接收方消息响应模块3的数量是1个的情况为例进行介绍。根据另一个实施例,发送方消息响应模块1可以包括多个,接收方消息响应模块3也包括多个。可以通过一个消息处理模块将发送方消息响应模块1发送的消息进行解析、存储后进行路由处理,将消息路由到相应的接收方消息响应模块3。可以在发送方消息响应模块1和消息处理模块之间设置消息过滤装置2,在消息处理模块和各个接收方消息响应模块3之间分别设置消息过滤装置。
[0116] 参见图7,对于发送方消息响应模块1a、1b和1c和消息处理模块4之间设置的第一消息过滤装置2a,在步骤101中第一消息过滤装置2a可以接收未经路由处理之前的所有消息,即所有发送方消息响应模块1a、1b和1c发送给消息处理模块4的消息都先经过第一消息过滤装置2a的处理。步骤103中的过滤容器是针对所有未经路由处理之前的消息设置的过滤容器,即,对于所有的消息发送方响应模块1a、1b和1c发送过来的消息都采用同一个过滤容器。
[0117] 通过在送方消息响应模块1a、1b和1c和消息处理模块4之间设置第一消息过滤装置2a,可以通过判断过滤容器中的样本中是否包括与提取出的消息中的文本相似的文本的方式来进行过滤,例如,无论是采用不同用户名发送的重复消息还是采用同一用户名发送的重复消息,都可以通过判断过滤容器中的样本中是否包括与提取出的消息中的文本相似的文本的方式来进行过滤,避免了恶意用户通过更换用户名发送重复消息的情况。
[0118] 对于在消息处理模块4和各个接收方消息响应模块3a、3b、3c和3d之间分别设置的第二消息过滤装置2b、第三消息过滤装置2c、第四消息过滤装置2d和第五消息过滤装置2e,步骤101中第二消息过滤装置2b、第三消息过滤装置2c、第四消息过滤装置2d和第五消息过滤装置2e可以接收经过路由处理之后的消息。在步骤103中的过滤容器是针对消息的单个目标接收方用户名设置的过滤容器,即,针对不同的接收方用户名分别设置一个过滤容器。
[0119] 通过在消息处理模块4和各个接收方消息响应模块3a、3b、3c和3d之间分别设置各个消息过滤装置2b、2c、2d和2e,针对每个接收方用户名单独设置过滤容器,这样,可以实现进一步的过滤,例如,可以进一步过滤掉重复消息。
[0120] 图5示例性示出本申请消息过滤装置的结构示意图,该装置包括:接收模块21、提取模块22、判断模块23、第一处理模块24和第二处理模块25。接收模块21用于接收消息。提取模块22与接收模块21连接,用于提取接收模块21接收到的消息中的文本。判断模块
23与提取模块22连接,用于判断过滤容器中的样本中是否包括与所述提取出的消息中的文本相似的文本。第一处理模块24与判断模块23、接收模块21和提取模块22连接,用于在判断模块23确定过滤容器中的样本中包括与提取出的消息中的文本相似的文本的情况下,为提取模块22提取出的文本建立新的样本,将新的样本添加到过滤容器中的归属样本库,并且不发送接收模块21接收到的消息,例如可以将接收模块21接收到的消息丢弃。第二处理模块25与判断模块23、接收模块21和提取模块22连接,用于在判断模块23确定过滤容器中的样本中不包括与提取出的文本相似的文本的情况下,为提取模块22提取出的文本建立新的样本,将新的样本添加到在过滤容器中新的样本库中,并发送接收模块21接收到的消息。
[0121] 判断模块23可以根据向量方式和最长公共子串方式中的任意一种或根据向量方式和最长公共子串方式的组合方式来判断是否存在文本与提取出的文本相似的相似样本。例如,判断模块23可以用于获取提取出的文本的向量以及过滤容器的样本库的样本中的文本的向量,判断是否存在样本中文本的向量与提取出的消息中的文本的向量之间的相似度大于或等于相似度阈值的样本。或者,判断模块23可以用于判断过滤容器的样本库中是否存在样本中的文本与提取出的消息中的文本之间的最长公共子串的长度大于或等于子串长度阈值的样本。
[0122] 图5所示的消息过滤装置中,第一处理模块24可以包括第一样本建立子模块241、第一样本添加子模块242和第一消息处理子模块243。其中,第一样本建立子模块241可以与判断模块23和提取模块22连接,用于在判断模块23确定过滤容器中的样本中包括与提取出的消息中的文本相似的文本的情况下,为提取模块22提取出的文本建立新的样本。第一样本添加子模块242可以与样本建立子模块241连接,用于将第一样本建立子模块241建立的样本添加到过滤容器的归属样本库中。第一消息处理子模块243可以与判断模块23和接收模块21连接,用于在判断模块23确定过滤容器中的样本中包括与提取出的消息中的文本相似的文本的情况下,将接收模块21接收到的消息过滤掉,即,不发送接收模块21接收到的消息。
[0123] 第一样本添加子模块242在添加样本时可以判断归属样本库中是否存在需要淘汰的样本,如果存在,则可以将需要淘汰的样本淘汰掉之后,将新的样本添加到归属样本库中。
[0124] 图5所示的消息过滤装置中,第二处理模块25可以包括:样本库建立子模块251、第二样本建立子模块252、第二样本添加子模块253和第二消息处理子模块254。样本库建立子模块251可以与判断模块23连接,用于在判断模块23确定过滤容器中的样本中不包括与提取出的消息中的文本相似的文本的情况下,在过滤容器中建立新的样本库。第二样本建立子模块252可以与判断模块23和提取模块22连接,用于在判断模块23确定过滤容器中的样本中不包括与提取出的消息中的文本相似的文本的情况下,为提取模块22提取出的文本建立新的样本。第二样本添加在模块253可以与样本库建立子模块251和第二样本建立子模块252连接,用于将第二样本建立子模块252建立的新的样本添加到样本库建立子模块251建立的新的样本库中。第二消息处理子模块254可以与判断模块23和接收模块21连接,用于在所述判断模块确定过滤容器中的样本中不包括与提取出的消息中的文本相似的文本的情况下,将接收模块21接收到的消息发送。
[0125] 样本库建立子模块251在建立新的样本库时,可以判断过滤容器中是否存在需要被淘汰的样本库,如果存在,则将需要被淘汰的样本库淘汰后建立新的样本库。
[0126] 图6示例性示出本申请消息过滤系统实施例的另一种结构示意图,该系统包括:至少一个发送方消息响应模块1、至少一个消息过滤装置2、消息处理模块4和至少一个接收方消息响应模块3。消息处理模块4通过至少一个消息过滤装置2与至少一个发送方消息响应模块1连接,消息处理模块4通过至少一个消息过滤装置2与至少一个接收方消息响应模块3连接。
[0127] 其中,发送方消息响应模块1用于接收发送方发送的消息,并将接收到的消息发送给消息处理模块处理4。针对不同的发送方(例如,可以采用用户名来区分不同的发送方),可以分别设置发送方消息响应模块1。
[0128] 接收方消息响应模块3用于将从消息处理模块4接收到的消息发送给接收方(例如,可以采用用户名来区分不同的接收方)。针对不同的接收方,可以分别设置接收方消息响应模块3。
[0129] 消息处理模块4用于将接收到的消息解析,并将接收到的消息路由到相应的接收方消息响应模块。消息处理模块4可以将接收到的消息进行解析,解析出其中的接收方字段,然后可以根据接收方的信息将消息路由(route)到相应的接收方。如有多个接收方,则消息处理模块4可以将接收到的消息复制成多份,分别发送到相应的接收方。
[0130] 在消息处理模块4和接收方消息响应模块3之间设置消息过滤装置2,可以过滤掉发送到接收方消息响应模块3的重复消息,从而进一步提高消息过滤的成功率。
[0131] 从图6的系统中可以看出,假设,发送方用户有N个,针对每个发送方用户设置一个发送方消息响应模块1,则发送方消息响应模块有N个;接收方用户有K个,针对每个接收方用户设置一个接收方消息响应模块,则接收方消息响应模块有K个。如果在某一时间段里,每个发送方用户集中发送M个文本相似的消息给K个接收方用户,如果不进行消息过滤,则有M*N个消息进入消息处理模块4中,平均每个接收方用户需要接收(M*N)/K个消息。如果采用消息过滤装置进行消息过滤,则理想情况下只有N个消息进入消息处理模块4,大大减少了消息量,减轻了消息处理模块4的存储压力和数据处理压力,提高了数据处理效率。
[0132] 图7示例性示出本申请消息过滤系统的又一种结构示意图,该系统包括第一发送方消息响应模块1a、第二发送方消息响应模块1b和第三发送方消息响应模块1c,这三个发送方消息响应模块分别是针对第一用户名、第二用户名和第三用户名的消息响应模块。还包括第一接收方消息响应模块3a、第二接收方消息响应模块3b、第三接收方消息响应模块3c和第四接收方消息响应模块3d,这四个接收方消息响应模块分别是针对第四用户名、第五用户名、第六用户名和第七用户名的接收方消息响应模块。在各发送方消息响应模块1a、
1b、1c和消息处理模块4之间设置有第一消息过滤装置2a,在各接收方消息响应模块3a、
3b、3c和消息处理模块4之间分别设置有第二消息过滤装置2b、第三消息过滤装置2c、第四消息过滤装置2d和第五消息过滤装置2e。
[0133] 第一消息过滤装置2a、第二消息过滤装置2b、第三消息过滤装置2c、第四消息过滤装置2d和第五消息过滤装置2e可以共享同一个过滤容器。这种方式下,过滤容器中样本库或样本的数量累积速度较快,在较短的时间内样本或样本库的数量也许就能够达到预设的数量,从而部分样本或样本库会被淘汰掉,即,样本或样本库淘汰的速度快。对于不同时间接收到的重复消息,由于两个消息的接收时间差比较大而样本或样本库淘汰速度快,也许之前一个消息的样本已经被淘汰掉了,因而,过滤重复消息的效果稍差。
[0134] 第一消息过滤装置2a、第二消息过滤装置2b、第三消息过滤装置2c、第四消息过滤装置2d和第五消息过滤装置2e也可以分别采用不同的过滤容器,即,针对所有的发送方用户设置了同一个过滤容器,对于每个接收方用户分别设置一个过滤容器。第一消息过滤装置2a可以对所有发送方发送的消息中的重复消息进行过滤,所采用的过滤容器是针对所有发送方用户的过滤容器。第二消息过滤装置2b、第三消息过滤装置2c、第四消息过滤装置2d和第五消息过滤装置2e分别是针对发送给单个接收方用户的消息进行过滤,所采用的过滤容器可以是针对消息的单个目标接收用户设置的过滤容器,即,针对每个接收方用户名单独设置一个过滤容器。这样,各个过滤容器中样本和样本库的数量增加不会很快,因而样本和样本库的淘汰速度不会过快,从而能够更有效地过滤重复消息。
[0135] 例如,第一发送方消息响应模块1a接收到消息Q1,该消息Q1的文本是q1,该消息Q1的接收方用户名是第四用户名。第二发送方消息响应模块1b接收到了消息Q2,该消息Q2的文本也是q1,该消息Q2的接收方用户名是第四用户名和第六用户名。第三发送方消息响应模块1c接收到了消息Q3,该消息Q3的文本是q3,该消息Q3的接收方用户名是第七用户名。
[0136] 理论上来讲,由于消息Q1和Q2的文本相同,则消息Q1和Q2被第一消息过滤装置2a处理后,消息Q1和Q2中只有一个消息可以被发送到消息处理模块4。但是有的情况下,例如,消息Q1和Q2的发送时间不同,第二消息过滤装置2a的过滤容器中可能已经淘汰掉了为先前发送的消息建立的样本,因而无法有效过滤重复消息,使得文本相似的两个消息Q1和Q2都被发送到消息处理模块4。
[0137] 如果在接收方消息响应模块一侧不设置消息过滤装置,则消息处理模块4会将消息Q1发送到第一接收方消息响应模块3a,将消息Q2发送给第一接收方消息响应模块3a和第三接收方消息响应模块3c。这样,第一接收方消息响应模块1a就会接收到具有相同文本q1的两个消息Q1和Q2。
[0138] 而如果在接收方消息响应模块一侧设置消息过滤装置,则第二消息过滤装置2b可以采用自身的过滤容器(该过滤容器因只对应于第一接收方消息响应模块3a,样本和样本库的数量增长不会太快,因而样本和样本库的淘汰速度不会过快)将发送给第一接收方消息响应模块3a的两个消息Q1和Q2进行过滤处理,使得这两个消息中只有一个消息可以发送到第一接收方消息响应模块3a(如图7所示)。
[0139] 可见,通过在接收方消息响应模块一侧设置消息过滤装置,可以过滤掉进入接收方消息响应模块的重复消息,提高消息过滤的成功率,提高了数据处理效率,而且使得用户无需接收到大量重复的消息,提升了用户体验。对于某些恶意用户通过注册不同的用户名发送重复消息的情况可以有效遏制。
[0140] 本申请提供的消息过滤方法及其步骤可以由具有数据处理能力的一个或多个处理设备例如一个或多个计算机运行计算机可执行指令来实现。存储介质中可以存储各种用于执行本申请提供的消息过滤方法的各个步骤的指令。
[0141] 本申请的消息过滤装置可以由运行计算机可执行指令的一个或多个处理设备实现。该消息过滤装置中的模块可以为该处理设备运行计算机可执行指令时具有相应功能的设备组件。例如,接收模块可以是由处理设备中的CPU、接收接口、相关线路以及相应功能的计算机可执行指令来构成。
[0142] 本申请提供的消息过滤系统可以是具有消息收发功能的计算机系统,例如电子商务系统、邮件系统等。该消息过滤系统中的消息过滤装置为上面描述的消息过滤装置。该消息过滤系统中的发送方消息响应模块、接收方消息响应模块和消息处理模块可以由计算机系统中运行计算机可执行指令从而具有发送消息、处理消息和接收消息等相应功能的系统组件实现。
[0143] 本申请提供的消息过滤方法可以以JAVA编程语言开发,部署环境可以为Linux系统,当然,并不限于此,还可以采用其他的开发语言和开发系统。
[0144] 综上所述,本申请提供的消息过滤方法、装置及系统,利用文本相似度的手段,利用重复消息的局部性原理(即,重复消息可以是短时间内集中发送的文本相似同或相似的消息,一条消息被发送过一次后,短时间可能再次被发送),从发送方、接收方两个入口上共同或选择性地控制进入系统的相似消息,能够获得如下优点:
[0145] (1)无缝支持多语言:所有的中间处理过程,都是针对字符本身,而不关心字符是属于哪种语言,会有什么样的语义等。
[0146] (2)自动化程度高:对于全部的处理过程,不需要大量的人力参与,因为是针对字符、文本本身,而不是针对语义。
[0147] (3)实现方便、维护简单:整体的结构简单清晰,对于本申请中的“文本相似去重复”的实现方式,其实针对不同的场景有很多不同的实现方式,本申请的实施例中只是列举了一些示例性的方式;对于样本库以及样本的更新的方法,也可以根据不同场景选择不同的方案。
[0148] (4)定时过期、动态调整:本申请实施例中的过滤容器的容器大小是可以配置的,所以可以实现动态的过期,而不会让容器容量无限制地增长导致对于正常的消息发送的限制;本申请的技术方案更多的是防止恶意用户利用多账号和/或利用机器频繁发送重复的内容,所以本申请的一个实施例中从发送方、接收方一起控制进入用户账户的消息。
[0149] (5)本申请提供的技术方案对于多账号轮流发送以及机器频繁发送产生的大量重复消息可以进行有效控制。
[0150] 虽然已参照典型实施例描述了本申请,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本申请能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈