一种识别恶意信息的方法及装置
技术领域
本发明涉及互联网通信领域,特别涉及一种识别恶意信息的方法及装置。
背景技术
目前,用户经常通过即时通讯应用或社交网络与好友进行聊天以增进与好友之间的感情,但是越来越多的恶意份子通过即时通讯应用或社交网络发送恶意信息给用户,如此会给用户带来打扰。为了屏蔽这些恶意信息以避免给用户带来打扰,服务器需要识别这些恶意信息,以便屏蔽这些恶意信息。
当前,现有技术提供了一种识别恶意信息的方法,包括:技术人员根据经验搜集恶意信息中常用的特征词,将搜集到的特征词组成特征词集合,将特征词集合发布到服务器上。当服务器接收到用户发送的通讯信息时,查看特征词集合,如果该通讯信息中包括特征词集合中包括的特征词,则将该通讯信息确定为恶意信息。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
当恶意份子利用新的特征词组合成恶意信息时,由于特征词集合中不包括这些新的特征词,所以导致服务器无法识别出该恶意信息。
发明内容
为了识别出不包括特征词集合中的特征词的恶意信息,本发明提供了一种识别恶意信息的方法及装置。所述技术方案如下:
一种识别恶意信息的方法,所述方法包括:
接收用户发送的第一通讯信息;
获取所述用户的历史信息记录,所述历史信息记录中包括在离当前时间最近的预设时间段内所述用户发送的每个第二通讯信息;
根据所述历史信息记录,识别所述第一通讯信息是否为恶意信息。
一种识别恶意信息的装置,所述装置包括:
接收模块,用于接收用户发送的第一通讯信息;
第一获取模块,用于获取所述用户的历史信息记录,所述历史信息记录中包括在离当前时间最近的预设时间段内所述用户发送的每个第二通讯信息;
识别模块,用于根据所述历史信息记录,识别所述第一通讯信息是否为恶意信息。
在本发明实施例中,接收用户发送的第一通讯信息;获取该用户的历史信息记录,该历史信息记录中包括在离当前时间最近的预设时间段内该用户发送的每个第二通讯信息;根据该历史信息记录,识别第一通讯信息是否为恶意信息。由于获取了用户的历史信息记录,如此当第一通讯信息中不包括特征词集合中的特征词时,可以根据用户的历史信息记录来识别第一通讯信息是否为恶意信息,如此能够识别出不包括特征词集合中的特征词的恶意信息。
附图说明
图1是本发明实施例1提供的一种识别恶意信息的方法流程图;
图2是本发明实施例2提供的一种识别恶意信息的方法流程图;
图3是本发明实施例3提供的一种识别恶意信息的方法流程图;
图4是本发明实施例4提供的一种识别恶意信息的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本发明实施例提供了一种识别恶意信息的方法,包括:
步骤101:接收用户发送的第一通讯信息;
步骤102:获取该用户的历史信息记录,该历史信息记录中包括在离当前时间最近的预设时间段内该用户发送的每个第二通讯信息;
步骤103:根据该历史信息记录,识别第一通讯信息是否为恶意信息。
优选地,根据该历史信息记录,识别第一通讯信息是否为恶意信息,包括:
根据第一通讯信息和历史信息记录,计算第一通讯信息分别与历史信息记录中包括的每个第二通讯信息之间的相似度;
获取与第一通讯信息之间的相似度超过预设相似度阈值的第二通讯信息的数目;
当获取的第二通讯信息的数目超过预设数目阈值时,确定第一通讯信息为恶意信息。
优选地,根据第一通讯信息和历史信息记录,计算第一通讯信息分别与历史信息记录中包括的每个第二通讯信息之间的相似度,包括:
将第一通讯信息转换为第一信息矩阵,以及将第二通讯信息转换为第二信息矩阵;
计算第一信息矩阵与第二信息矩阵之间的距离方差;
根据第一信息矩阵与第二信息矩阵之间的距离方差,计算第一通讯信息与第二通讯信息之间的相似度。
优选地,将第一通讯信息转换为第一信息矩阵,包括:
从第一通讯信息包括的单词中获取关系表中存在的单词作为第一单词,以及获取关系表中不存在的单词作为第二单词,该关系表中包括单词与索引值的对应关系;
从关系表中获取第一单词对应的索引值;
为第二单词分配对应的索引值;
将第一单词对应的索引值和第二单词对应的索引值组成第一通讯信息对应的第一信息矩阵。
优选地,根据第一信息矩阵与第二信息矩阵之间的距离方差,计算第一通讯信息与第二通讯信息之间的相似度,包括:
计算第一信息矩阵与第二信息矩阵之间的距离方差的倒数;
将该倒数确定为第一通讯信息与第二通讯信息之间的相似度。
进一步地,获取用户的历史信息记录之前,还包括:
确定第一通讯信息中是否包括特征词集合中的特征词,如果包括,则识别出第一通讯信息为恶意信息,如果不包括,则执行获取用户的历史信息记录的操作。
进一步地,该方法还包括:
如果第一通讯信息不包括特征词集合中的特征词且识别出第一通讯信息为恶意信息,则从第一通讯信息中获取特征词;
将获取的特征词添加到特征词集合中。
优选地,根据历史信息记录,识别第一通讯信息是否为恶意信息,包括:
获取第一通讯信息和每个第二通讯信息中包括的每个单词,组成单词集合;
根据第一通讯信息和历史信息记录,生成单词集合中包括的每个单词分别对应的单词矩阵;
根据单词集合中包括的每个单词对应的单词矩阵,确定第一通讯信息中包括的特征词;
当第一通讯信息中包括的特征词的数目超过第二预设数目阈值时,识别第一通讯信息为恶意信息。
优选地,根据单词集合中包括的每个单词对应的单词矩阵,确定第一通讯信息中包括的特征词,包括:
计算第三单词对应的单词矩阵分别与单词集合中包括的除第三单词以外的每个单词对应的单词矩阵之间的距离方差,第三单词为第一通讯信息中包括的任一单词;
获取与第三单词对应的单词矩阵之间的距离方差小于预设方差阈值的每个单词矩阵;
当获取的单词矩阵的数目超过第三预设数目阈值时,将第三单词确定为特征词。
在本发明实施例中,接收用户发送的第一通讯信息;获取该用户的历史信息记录,该历史信息记录中包括在离当前时间最近的预设时间段内该用户发送的每个第二通讯信息;根据该历史信息记录,识别第一通讯信息是否为恶意信息。由于获取了用户的历史信息记录,如此当第一通讯信息中不包括特征词集合中的特征词时,可以根据用户的历史信息记录来识别第一通讯信息是否为恶意信息,如此能够识别出不包括特征词集合中的特征词的恶意信息。
实施例2
本发明实施例提供了一种识别恶意信息的方法。
目前,用户经常通过即时通讯应用或社交网络发送通讯信息给好友,但是越来越多的恶意份子通过即时通讯应用或社交网络发送恶意信息给用户,恶意信息可以为广告信息或欺诈信息等,这些恶意信息会给用户带来打扰。为了屏蔽这些恶意信息以避免给用户带来打扰,服务器可以通过本发明实施例提供的方法来识别这些恶意信息,以便屏蔽这些恶意信息。
参见图2,该方法具体包括:
步骤201:接收用户发送的第一通讯信息和该用户的用户账号;
其中,用户在通过即时通讯应用或社交网络与好友进行聊天时,用户编辑第一通讯信息,第一通讯信息包括至少一个单词。用户对应的终端当检测到用户触发的发送指令时,获取该用户编辑的第一通讯信息以及该用户的用户账号,将第一通讯信息和该用户的用户账号发送给服务器。服务器接收用户对应的终端发送的第一通讯信息和用户账号。
例如:接收用户A发送的第一通讯信息S1为“家居饰品超低价尽在13655551110”和用户账号IMA。
步骤202:确定第一通讯信息中是否包括特征词集合中的特征词,如果是,则执行步骤203,如果否,则执行步骤204;
其中,特征词集合中包括至少一个特征词。这些特征词均为从已识别的恶意信息中提取的特征词。由于恶意信息中通常包括邮箱地址、网页地址、电话号码以及即时通讯或社交网络账号等。所以特征词一般为包含数字、http、www、com、cn或@等字符的单词。例如,广告信息中通常会有产品的价格、产品信息的网页地址以及商家的电话号码等,所以广告信息中包含价格、网页地址和电话号码的单词都是特征词。
本步骤具体为,对第一通讯信息进行分词处理,确定第一通讯信息中包括的每个单词,查看特征词集合中包括的特征词,如果第一通讯信息中存在特征词集合中包括的特征词,则执行步骤203,如果第一通讯信息中不存在特征词集合中包括的特征词,则执行步骤204。
例如,假设特征词集合中包括特征词“http”、“www”、“com”和“135666611110”。对第一通讯信息S1“家居饰品超低价尽在13655551110”进行分词处理,确定第一通讯信息S1中包括的单词为“家居”、“饰品”、“超低价”、“尽在”和“13655551110”,查看特征词集合中包括的特征词,且查看出第一通讯信息S1中不存在特征词集合中包括的特征词,则执行步骤204。
步骤203:识别第一通讯信息为恶意信息,结束操作。
例如,假设特征词集合中包括特征词“13655551110”,则查看出第一通讯信息S1中存在特征词集合中包括的特征词“13655551110”,则识别第一通讯信息S1“家居饰品超低价13655551110”为恶意信息。
进一步地,识别第一通讯信息为恶意信息之后,还屏蔽第一通讯信息,不再将第一通讯信息发送给其他用户,以避免给其他用户带来打扰。另外,还根据发送第一通讯信息的用户的用户账号,查看该用户的恶意行为记录,该恶意行为记录中记录了该用户发送恶意信息的次数。如果该用户发送恶意信息的次数达到了预设次数,则以后拒绝该用户的用户账号登录到服务器。如果该用户发送恶意信息的次数没有达到预设次数,则发送警告消息给该用户对应的终端,以警告该用户不要再发送恶意信息,然后将该用户的恶意行为记录中发送恶意信息的次数增加一次。
其中,对于其他每个用户发送的通讯信息,都同该用户发送的第一通讯信息,按照上述方法识别其他每个用户发送的通讯信息是否为恶意信息。
步骤204:根据该用户的用户账号,获取该用户的历史信息记录,该历史信息记录中包括在离当前时间最近的预设时间段内该用户发送的每个第二通讯信息;
其中,预设时间段可以为一天、10小时或1小时等。每当服务器接收到用户发送的通讯信息和用户账号时,服务器根据该用户的用户账号获取该用户的历史信息记录,然后将该通讯信息和接收时间存储在该用户的历史信息记录中。
本步骤具体为,根据该用户的用户账号,从用户账号与历史信息记录的对应关系中获取该用户的历史信息记录。
例如,根据用户A的用户账号IMA,从如表1所示的用户账号与历史信息记录的对应关系中获取用户A的历史信息记录H1。
表1
其中,通过上述步骤201-204的操作获取第一通讯信息和历史信息记录中包括的每个第二通讯信息之后,通过如下步骤205-208的操作,分别计算第一通讯信息与每个第二通讯信息之间的相似度。
步骤205:将第一通讯信息转换为第一信息矩阵;
具体地,从第一通讯信息包括的单词中获取关系表中存在的每个单词作为第一单词,以及获取关系表中不存在的每个单词作为第二单词,该关系表中包括至少一个单词以及至少一个单词中的每个单词对应的索引值。从关系表中获取每个第一单词对应的索引值,为每个第二单词分配对应的索引值。将每个第一单词对应的索引值和每个第二单词对应的索引值组成第一通讯信息对应的第一信息矩阵。
例如,假设关系表中包括如表2所示的单词以及单词对应的索引值。从第一通讯信息S1包括的单词“家居”、“饰品”、“超低价”、“尽在”和“13655551110”中获取如表2所示的关系表中存在的单词“家居”、“饰品”、“超低价”和“尽在”作为第一单词,以及获取如表2所示的关系表中不存在的单词“13655551110”作为第二单词。从如表2所示的关系表中获取第一单词“家居”、“饰品”、“超低价”和“尽在”分别对应的索引值为1、2、3和4,为第二单词“13655551110”分配对应的索引值,假设分配的索引值为5。将第一单词“家居”、“饰品”、“超低价”和“尽在”分别对应的索引值为1、2、3和4以及第二单词“13655551110”对应的索引值5组成第一通讯信息S1对应的第一信息矩阵A=[1,2,3,4,5]。
表2
单词 |
索引值 |
家居 |
1 |
饰品 |
2 |
超低价 |
3 |
尽在 |
4 |
…… |
…… |
步骤206:将第二通讯信息转换为第二信息矩阵;
其中,第二通讯信息为历史信息记录中包括的任一第二通讯信息。对于历史信息记录中包括的每个第二通讯信息,都同第一通讯信息,按照步骤205的方法分别将每个第二通讯信息转换为第二信息矩阵。
例如,假设历史消息记录H1中包括第二通讯信息S2、S3、S4和S5,将第二通讯信息S2、S3、S4和S5分别转换为第二信息矩阵B、C、D和E,假设第二信息矩阵B=[1.1,2,3.1,4,5.1],C=[1,2.1,3,4.1,5],D=[6,7,8,9,10],E=[1,2,3,4,5.1]。
其中,通过上述步骤205和206的操作得到第一信息矩阵和第二通讯信息的第二信息矩阵之后,通过如下步骤207和208的操作计算第一通讯信息与第二通讯信息之间的相似度。
步骤207:计算第一信息矩阵与第二信息矩阵之间的距离方差;
其中,根据第一信息矩阵和第二信息矩阵,通过如下公式(1)计算第一信息矩阵与第二信息矩阵之间的距离方差。
D=(A-B)2……(1)
其中,在公式(1)中,A表示第一信息矩阵,B表示第二信息矩阵,D表示第一信息矩阵与第二信息矩阵之间的距离方差。
其中,对于历史信息记录包括的其他每个第二通讯信息,同第二通讯信息,按照上述方法计算第一信息矩阵分别与其他每个第二通讯信息的第二信息矩阵之间的距离方差。
例如,根据第一信息矩阵A=[1,2,3,4,5],第二信息矩阵B=[1.1,2,3.1,4,5.1],通过如下公式(2)计算第一信息矩阵A与第二信息矩阵B之间的距离方差为0.03。
D=(A-B)2
=(1-1.1)2+(2-2)2+(3-3.1)2+(4-4)2+(5-5.1)2
=0.03……(2)
同样,按照上述方式,计算出第一信息矩阵A=[1,2,3,4,5]与第二信息矩阵C=[1,2.1,3,4.1,5]之间的距离方差为0.02,第一信息矩阵A=[1,2,3,4,5]与第二信息矩阵D=[6,7,8,9,10]之间的距离方差为125,以及第一信息矩阵A=[1,2,3,4,5]与第二信息矩阵E=[1,2,3,4,5.1]之间的距离方差为0.01。
其中,第一信息矩阵与第二信息矩阵之间的距离方差可以表示第一通讯信息与第二通讯信息之间的差异,距离方差越小表示第一通讯信息与第二通讯信息之间的差异越小,即第一通讯信息与第二通讯信息越相似。
其中,通过上述步骤207的操作计算出第一信息矩阵与第二信息矩阵之间的距离方差之后,通过如下步骤208的操作计算第一通讯信息与第二通讯信息之间的相似度。
步骤208:根据第一信息矩阵与第二信息矩阵之间的距离方差,计算第一通讯信息与第二通讯信息之间的相似度;
具体地,计算第一信息矩阵与第二信息矩阵之间的距离方差的倒数,将计算的倒数确定为第一通讯信息与第二通讯信息之间的相似度。
其中,对于其他每个第二通讯信息,同第二通讯信息,按照上述方法分别计算其他每个第二通讯信息与第一通讯信息之间的相似度。
例如,计算第一信息矩阵A与第二信息矩阵B之间的距离方差0.03的倒数为33.33,将计算的倒数33.33确定为第一通讯信息S1与第二通讯信息S2之间的相似度。
同样,按照上述方法计算第一通讯信息S1与第二通讯信息S3之间的相似度为50,第一通讯信息S1与第二通讯信息S4之间的相似度为0.008,第一通讯信息S1与第二通讯信息S5之间的相似度为100。
其中,通过上述步骤205-208的操作计算出第一通讯信息与每个第二通讯信息之间的相似度之后,通过如下步骤209和210的操作识别第一通讯信息是否为恶意信息。
步骤209:获取与第一通讯信息之间的相似度超过预设相似度阈值的第二通讯信息的数目;
具体地,从历史信息记录包括的每个第二通讯信息中,获取与第一通讯信息之间的相似度超过预设相似度阈值的第二通讯信息,统计获取的第二通讯信息的数目。
例如,假设预设相似度阈值为10。从历史信息记录H1包括的第二通讯信息S2、S3、S4和S5中,获取与第一通讯信息S1之间的相似度超过预设相似度阈值10的第二通讯信息S2、S3和S5,统计获取的第二通讯信息的数目为3。
步骤210:当获取的第二通讯信息的数目超过预设数目阈值时,确定第一通讯信息为恶意信息;
具体地,将获取的第二通讯信息的数目与预设数目阈值进行比较,当获取的第二通讯信息的数目大于预设数目阈值时,确定第一通讯信息为恶意信息。
例如,假设预设数目阈值为2。将获取的第二通讯信息的数目3与预设数目阈值2进行比较,且比较出获取的第二通讯信息的数目3大于预设数目阈值2,则确定第一通讯信息S1为恶意信息。
进一步地,识别第一通讯信息为恶意信息之后,还屏蔽第一通讯信息,不再将第一通讯信息发送给其他用户。另外,还根据发送第一通讯信息的用户的用户账号,查看该用户的恶意行为记录,该恶意行为记录中记录了该用户发送恶意信息的次数。如果该用户发送恶意信息的次数达到了预设次数,则以后拒绝该用户的用户账号登录到服务器。如果该用户发送恶意信息的次数没有达到预设次数,则发送警告消息给该用户对应的终端,以警告该用户不要再发送恶意信息,然后将该用户的恶意行为记录中发送恶意信息的次数增加一次。
其中,对于其他每个用户发送的通讯信息,都同该用户发送的第一通讯信息,按照上述方法识别其他每个用户发送的通讯信息是否为恶意信息。
其中,通过上述步骤201-210的操作确定出第一通讯信息不包括特征词集合中的特征词且识别出第一通讯信息为恶意信息时,还需要通过如下步骤211的操作将第一通讯信息中包括的特征词添加到特征词集合中。
步骤211:从第一通讯信息中获取特征词,将获取的特征词添加到特征词集合中。
其中,可以事先设置特征词的提取规则。由于恶意信息中通常包括邮箱地址、网页地址、电话号码以及即时通讯或社交网络账号等。所以特征词的提取规则可以为提取恶意信息中包含数字以及邮箱地址或网页地址中的特定字符的单词。
本步骤具体为,根据事先设置的特征词提取规则,从第一通讯信息中获取符合提取规则的单词作为特征词,将获取的特征词添加到特征词集合中。
例如,假设特征词的提取规则为提取包含数字、http、www、com、cn或@字符的单词。从第一通讯信息S1“家居饰品超低价尽在13655551110”中获取符合该提取规则的单词“13655551110”,将获取的单词“13655551110”添加到特征词集合中。
其中,将获取的特征词添加到特征词集合中之后,当用户再次发送包含该特征词的通讯信息时,可以根据特征词集合识别出用户发送的通讯信息为恶意信息。
在本发明实施例中,接收用户发送的第一通讯信息;获取该用户的历史信息记录,该历史信息记录中包括在离当前时间最近的预设时间段内该用户发送的每个第二通讯信息;根据该历史信息记录,识别第一通讯信息是否为恶意信息。由于获取了用户的历史信息记录,如此当第一通讯信息中不包括特征词集合中的特征词时,可以根据用户的历史信息记录来识别第一通讯信息是否为恶意信息,如此能够识别出不包括特征词集合中的特征词的恶意信息。
实施例3
本发明实施例提供了一种识别恶意信息的方法。
目前,用户经常通过即时通讯应用或社交网络发送通讯信息给好友,但是越来越多的恶意份子通过即时通讯应用或社交网络发送恶意信息给用户,恶意信息可以为广告信息或欺诈信息等,这些恶意信息会给用户带来打扰。为了屏蔽这些恶意信息以避免给用户带来打扰,服务器可以通过本发明实施例提供的方法来识别这些恶意信息,以便屏蔽这些恶意信息。
参见图3,该方法具体包括:
步骤301-304:与步骤201-204的操作相同,在此不再赘述;
步骤305:获取第一通讯信息和每个第二通讯信息中包括的每个单词,组成单词集合;
具体地,对第一通讯信息进行分词处理,获得第一通讯信息中包括的每个单词。分别对历史信息记录中包括的每个第二通讯信息进行分词处理,得到每个第二通讯信息中包括的每个单词。如果获取的所有单词中存在重复的单词,则对重复的单词只保留其中一个单词,以保证剩余的单词中不存在重复的单词,将剩余的单词组成单词集合。
例如,假设,第一通讯信息S1为“家居饰品超低价尽在13655551110”,历史信息记录H1中包括第二通讯信息“家居饰品超低价13655551110”、“家居饰品超低价13655551110”和“我们真的超低价”。对第一通讯信息S1进行分词处理,获得第一通讯信息S1中包括的单词“家居”、“饰品”、“超低价”、“尽在”和“13655551110”。分别对历史信息记录H1中包括的每个第二通讯信息进行分词处理,得到每个第二通讯信息中包括的单词“我们”、“真的”、“家居”、“饰品”、“超低价”和“13655551110”。将获取的单词中重复的单词只保留一个,则得到的单词为“我们”、“真的”、“家居”、“饰品”、“超低价”、“尽在”和“13655551110”,将这些单词组成单词集合U1。
步骤306:根据第一通讯信息和历史信息记录,生成单词集合中包括的每个单词分别对应的单词矩阵;
具体地,对于单词集合中包括的每个单词,根据第一通讯信息和历史信息记录中包括的每个第二通讯信息,生成该单词对应的单词矩阵。其中,第一通讯信息对应于该单词对应的单词矩阵中的一个元素,如果第一通讯信息中包括该单词,则第一通讯信息对应的元素的值为1,否则第一通讯信息对应的元素的值为0。同样,每个第二通讯信息也分别对应于该单词对应的单词矩阵中的一个元素,如果第二通讯信息中包括该单词,则该第二通讯信息对应的元素的值为1,否则该第二通讯信息对应的元素的值为0。对于单词集合中包括的其它每个单词,都同该单词按照上述方式分别生成其它每个单词对应的单词矩阵。
例如,对于单词集合U1中的单词“家居”,根据第一通讯信息S1和历史信息记录H1中包括的每个第二通讯信息,生成单词“家居”对应的单词矩阵A=[1,1,1,0]。同样按照上述方法生成单词“饰品”对应的单词矩阵B=[1,1,1,0],单词“超低价”对应的单词矩阵C=[1,1,1,0],单词“尽在”对应的单词矩阵D=[1,0,0,0],单词“13655551110”对应的单词矩阵E=[1,1,1,0],单词“我们”对应的单词矩阵F=[0,0,0,1],单词“真的”对应的单词矩阵G=[0,0,0,1]。
其中,通过上述步骤306的操作得到单词集合中的每个单词对应的单词矩阵之后,通过如下步骤307和308的操作识别第一通讯信息是否为恶意信息。
步骤307:根据单词集合中包括的每个单词对应的单词矩阵,确定第一通讯信息中包括的特征词;
其中,特征词为恶意信息中常用的单词。由于恶意信息中通常包括邮箱地址、网页地址、电话号码以及即时通讯或社交网络账号等。所以特征词一般为包含数字、http、www、com、cn或@等字符的单词。例如,广告信息中通常会有产品的价格、产品信息的网页地址以及商家的电话号码等,所以广告信息中包含价格、网页地址和电话号码的单词都是特征词。
本步骤具体为,从第一通讯信息中获取一个单词作为第三单词。计算第三单词对应的单词矩阵分别与单词集合中包括的除第三单词以外的每个单词对应的单词矩阵之间的距离方差。从单词集合中包括的除第三单词以外的每个单词对应的单词矩阵中,获取与第三单词对应的单词矩阵之间的距离方差小于预设方差阈值的每个单词矩阵。当获取的单词矩阵的数目超过第三预设数目阈值时,将第三单词确定为特征词。对于第一通讯信息中包括的其他每个单词,都同第三单词按照上述方法分别确定其他每个单词是否为特征词。
其中,第三单词对应的单词矩阵与单词集合中包括的其他每个单词对应的单词矩阵之间的距离方差,可以表示第三单词与单词集合中包括的其他每个单词在通讯信息中出现的次数之间的差异,第三单词与某个单词之间的距离方差越小,表示第三单词与该单词在通讯信息中出现的次数越相近。
例如,假设预设方差阈值为1,第三数目阈值为2。从第一通讯信息S1中获取一个单词作为第三单词,假设第三单词为“家居”。计算第三单词“家居”对应的单词矩阵A与单词集合U1中包括的除第三单词“家居”以外的单词“饰品”、“超低价”、“尽在”、“13655551110”、“我们”和“真的”对应的单词矩阵B、C、D、E、F和G之间的距离方差分别为0、0、1、0、1和1。从单词集合U1中包括的单词“饰品”、“超低价”、“尽在”、“13655551110”、“我们”和“真的”对应的单词矩阵B、C、D、E、F和G中,获取与第三单词“家居”对应的单词矩阵A之间的距离方差小于预设方差阈值1的单词矩阵B、C和E。由于获取的单词矩阵的数目为3超过了第三预设数目阈值2时,所以将第三单词“家居”确定为特征词。同样,按照上述方法将单词“饰品”、“超低价”和“13655551110”均确定为特征词。
步骤308:当第一通讯信息中包括的特征词的数目超过第二预设数目阈值时,识别第一通讯信息为恶意信息;
其中,由于特征词为恶意信息中常用的单词,当第一通讯信息中包括的特征词的数目超过第二预设数目阈值时,表明第一通讯信息中包括太多的特征词,此时可以将第一通讯信息确定为恶意信息。
例如,假设第二预设数目阈值为3。由于第一通讯信息中包括特征词“家居”、“饰品”、“超低价”和“13655551110”,特征词的数目为4超过了第二预设数目阈值3,则识别第一通讯信息S1“家居饰品超低价尽在13655551110”为恶意信息。
其中,通过上述步骤308识别第一通讯信息为恶意信息之后,还需要通过如下步骤309的操作将第一通讯信息中包括的特征词添加到特征词集合中。
步骤309:将第一通讯信息中包括的特征词添加到特征词集合中。
例如,将第一通讯信息中包括的特征词“家居”、“饰品”、“超低价”和“13655551110”添加到特征词集合中。
其中,将这些特征词添加到特征词集合中之后,当用户再次发送包含这些特征词的通讯信息时,可以根据特征词集合识别出用户发送的通讯信息为恶意信息。
在本发明实施例中,接收用户发送的第一通讯信息;获取该用户的历史信息记录,该历史信息记录中包括在离当前时间最近的预设时间段内该用户发送的每个第二通讯信息;根据该历史信息记录,识别第一通讯信息是否为恶意信息。由于获取了用户的历史信息记录,如此当第一通讯信息中不包括特征词集合中的特征词时,可以根据用户的历史信息记录来识别第一通讯信息是否为恶意信息,如此能够识别出不包括特征词集合中的特征词的恶意信息。
实施例4
参见图4,本发明实施例提供了一种识别恶意信息的装置,包括:
接收模块401,用于接收用户发送的第一通讯信息;
第一获取模块402,用于获取用户的历史信息记录,该历史信息记录中包括在离当前时间最近的预设时间段内用户发送的每个第二通讯信息;
识别模块403,用于根据历史信息记录,识别第一通讯信息是否为恶意信息。
其中,识别模块403包括:
计算单元,用于根据第一通讯信息和历史信息记录,计算第一通讯信息分别与历史信息记录中包括的每个第二通讯信息之间的相似度;
第一获取单元,用于获取与第一通讯信息之间的相似度超过预设相似度阈值的第二通讯信息的数目;
第一确定单元,用于当获取的第二通讯信息的数目超过第一预设数目阈值时,确定第一通讯信息为恶意信息。
其中,计算单元包括:
转换子单元,用于将第一通讯信息转换为第一信息矩阵,以及将第二通讯信息转换为第二信息矩阵;
第一计算子单元,用于计算第一信息矩阵与第二信息矩阵之间的距离方差;
第二计算子单元,用于根据第一信息矩阵与第二信息矩阵之间的距离方差,计算第一通讯信息与第二通讯信息之间的相似度。
其中,转换子单元,用于从第一通讯信息包括的单词中获取关系表中存在的单词作为第一单词,以及获取关系表中不存在的单词作为第二单词,该关系表中包括单词与索引值的对应关系;从关系表中获取第一单词对应的索引值;为第二单词分配对应的索引值;将第一单词对应的索引值和第二单词对应的索引值组成第一通讯信息对应的第一信息矩阵。
其中,第二计算子单元,用于计算第一信息矩阵与第二信息矩阵之间的距离方差的倒数;将倒数确定为第一通讯信息与第二通讯信息之间的相似度。
进一步地,该装置还包括:
确定模块,用于确定第一通讯信息中是否包括特征词集合中的特征词,如果包括,则识别出第一通讯信息为恶意信息,如果不包括,则执行获取用户的历史信息记录的操作。
进一步地,该装置还包括:
第二获取模块,用于如果第一通讯信息不包括特征词集合中的特征词且识别出第一通讯信息为恶意信息,则从第一通讯信息中获取特征词;
添加模块,用于将获取的特征词添加到特征词集合中。
其中,识别模块403包括:
第二获取单元,用于获取第一通讯信息和每个第二通讯信息中包括的每个单词,组成单词集合;
生成单元,用于根据第一通讯信息和历史信息记录,生成单词集合中包括的每个单词分别对应的单词矩阵;
第二确定单元,用于根据单词集合中包括的每个单词对应的单词矩阵,确定第一通讯信息中包括的特征词;
识别单元,用于当第一通讯信息中包括的特征词的数目超过第二预设数目阈值时,识别第一通讯信息为恶意信息。
其中,第二确定单元包括:
第三计算子单元,用于计算第三单词对应的单词矩阵分别与单词集合中包括的除第三单词以外的每个单词对应的单词矩阵之间的距离方差,第三单词为第一通讯信息中包括的任一单词;
获取子单元,用于获取与第三单词对应的单词矩阵之间的距离方差小于预设方差阈值的每个单词矩阵;
确定子单元,用于当获取的单词矩阵的数目超过第三预设数目阈值时,将第三单词确定为特征词。
在本发明实施例中,接收用户发送的第一通讯信息;获取该用户的历史信息记录,该历史信息记录中包括在离当前时间最近的预设时间段内该用户发送的每个第二通讯信息;根据该历史信息记录,识别第一通讯信息是否为恶意信息。由于获取了用户的历史信息记录,如此当第一通讯信息中不包括特征词集合中的特征词时,可以根据用户的历史信息记录来识别第一通讯信息是否为恶意信息,如此能够识别出不包括特征词集合中的特征词的恶意信息。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。