具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下以具体的例子详细说明本申请实施例的具体实现。
本申请实施例提供一种识别批量注册行为的方法,如图1所示,该方法包括:
步骤S101:选取预设数量的待识别注册信息,该注册信息包含注册用户的姓、名及注册电子邮箱的地址。
在实际中,在某个网站进行注册时一般会需要填写注册用户的姓、名以及电子邮箱地址。姓与名可以为中文汉字的姓与名,也可以为英文的姓与名。
步骤S102:获取注册信息中电子邮箱地址的用户名字符串,并按照预定规则获取注册信息中对应姓的第一扩展信息和对应名的第二扩展信息。
预定规则包括根据注册用户的姓与名获取中文汉字对应的拼音全拼,以及拼音首字母。当姓或名字段包括不止一个汉字时,预定规则包括顺序排列的每个中文汉字的拼音全拼,以及顺序排列的每个中文汉字拼音首字母。
预定规则包括根据注册用户的姓与名英文单词对应的全拼,以及首字母。当姓或名字段包括不止一个英文单词时,预定规则包括顺序排列的每个英文单词的全拼,以及顺序排列的每个英文单词首字母。
也即,第一扩展信息包括姓的全拼和姓的首字母,第二扩展信息包括名的全拼和名的首字母。
比如姓为:欧阳,姓的全拼为ouyang,姓的首字母为oy。第二扩展信息是指名的全拼和名的首字母,当名由两个及两个以上的汉字或英文组成时,为全部名的全拼或全部名的首字母,比如名为:向阳,名的全拼为xiangyang,名的首字母为xy。
步骤S103:查找注册用户的第一扩展信息和第二扩展信息在上述电子邮箱地址的用户名字符串中第一次出现的位置,得到第一扩展信息位置和第二扩展信息位置。
在实际中,查找第一扩展信息时,先查找姓的全拼,当无法查找到姓的全拼时,再查找姓的首字母;查找第二扩展信息时,先查找名的全拼,当无法查找到名的全拼时,再查找名的首字母。
在实际中,查找注册用户第一扩展信息和第二扩展信息在所述电子邮箱地址的用户名字符串中第一次出现的位置包括:判断所述注册信息的注册用户第一扩展信息和第二扩展信息是否存在包含关系,具体是判断姓的全拼和名的全拼是否存在包含关系。
当姓的全拼和名的全拼不存在包含关系时,第一扩展信息在所述电子邮箱地址的用户名字符串中的位置是电子邮箱地址的用户名字符串从左往右第一次查找到第一扩展信息的位置;第二扩展信息在电子邮箱地址的用户名字符串中的位置是电子邮箱地址的用户名字符串从左往右第一次查找到第二扩展信息的位置。
例如:电子邮箱地址的用户名字符串为“23likimsi#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”。则字符串“23likimsip#”中从左往右依次查找时,第一次查找到的字符串“li”认定为第一扩展信息,也即字符“3”和字符“k”之间的字符串“li”为第一扩展信息,该字符串“li”所在位置为第一扩展信息在电子邮箱地址的用户名字符串中的位置;字符串“23likimsi#p”中从左往右依次查找时,第一次查找到的字符串“si”为第二扩展信息,也即字符“m”和字符“#”之间的字符串“si”为第二扩展信息,该字符串“si”所在位置为第二扩展信息在电子邮箱地址的用户名字符串中的位置。
当姓的全拼和名的全拼存在包含关系,且姓的全拼与名的全拼一致时,确定优先查找信息,优先查找信息为第一扩展信息或第二扩展信息,当第一扩展信息为优先查找信息时,第二扩展信息为第二查找信息;当第二扩展信息为优先查找信息时,第一扩展信息为第二查找信息;电子邮箱地址的用户名字符串从左往右第一次查找优先查找信息的位置;从第一次查找到优先查找信息的位置往后第一次查找到第二查找信息的位置。
例如:电子邮箱地址的用户名字符串为“23likimli#p”,用户的姓为李,名为力,此时姓和第二扩展信息一致,均包括“li”或“l”。
如果第一扩展信息为优先查找信息,第二扩展信息为第二查找信息,则字符串“23likimli#p”中从左往右依次查找时,第一次查找到的字符串“li”认定为第一扩展信息,也即字符“3”和字符“k”之间的字符串“li”为第一扩展信息,该字符“3”和字符“k”之间的字符串“li”所在位置为第一扩展信息在电子邮箱地址的用户名字符串中的位置,从第一扩展信息字符串“li”开始往后依次查找,第一次查找到的字符串“li”认定为第二扩展信息,也即字符“m”和字符“#”之间的字符串“li”为第二扩展信息,该字符“m”和字符“#”之间的字符串“li”所在位置为第二扩展信息在电子邮箱地址的用户名字符串中的位置。
如果名为优先查找信息,字符串“23likimli#p”中从左往右依次查找时,第一次查找到的字符串“li”认定为第二扩展信息,也即字符“3”和字符“k”之间的字符串“li”为第二扩展信息,该字符“3”和字符“k”之间的字符串“li”所在位置为第二扩展信息在电子邮箱地址的用户名字符串中的位置,从第二扩展信息字符串“li”开始往后依次查找第一次查找到的字符串“li”认定为第一扩展信息,也即字符“m”和字符“#”之间的字符串“li”为第一扩展信息,该字符“m”和字符“#”之间的字符串“li”所在位置为第一扩展信息在电子邮箱地址的用户名字符串中的位置。
当姓的全拼和名的全拼存在包含关系,且姓的全拼的字符串长度大于名的全拼的字符串长度;第一扩展信息在电子邮箱地址的用户名字符串中的位置是电子邮箱地址的用户名字符串从左往右第一次查找到第一扩展信息的位置;第二扩展信息在电子邮箱地址的用户名字符串中的位置是去除第一扩展信息后,电子邮箱地址的用户名字符串从左往右第一次查找到第二扩展信息的位置。
例如:电子邮箱地址的用户名字符串为“23likimlin#p”,用户的姓为林,名为丽,此时第一扩展信息包括“lin”或“l”,第二扩展信息包括“li”或“l”,也即姓的全拼和名的全拼之间存在包含关系,且姓的全拼的字符串长度大于名的全拼的字符串长度。则先查找第一扩展信息所在位置,再查找第二扩展信息所在位置,字符串“23likimlin#p”中从左往右依次查找时第一次查找到字符串“lin”认定为第一扩展信息,也即字符“m”和字符“#”之间的字符串“lin”为第一扩展信息,该字符“m”和字符“#”之间的字符串“lin”所在位置为第一扩展信息在电子邮箱地址的用户名字符串中的位置,再从字符串“23likimlin#p”中去除字符串“lin”后第一次查找到字符串“li”认定为第二扩展信息,也即字符“3”和字符“k”之间的字符串“li”为第二扩展信息,该字符“3”和字符“k”之间的字符串“li”所在位置为第二扩展信息在电子邮箱地址的用户名字符串中的位置。
当姓的全拼和名的全拼存在包含关系,且姓的全拼的字符串长度小于名的全拼的字符串长度;当电子邮箱地址的用户名字符串中包含第一扩展信息和第二扩展信息时,第二扩展信息在电子邮箱地址的用户名字符串中的位置是电子邮箱地址的用户名字符串从左往右第一次查找到第二扩展信息的位置;第一扩展信息在所述电子邮箱的地址中用户名字符串中的位置是去除所述第二扩展信息后,电子邮箱地址的用户名字符串从左往右第一次查找到第一扩展信息的位置。
例如:如果电子邮箱地址的用户名字符串为“23likimlin#p”,用户的姓为李,名为琳,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“lin”或“l”,也即姓的全拼和名的全拼之间存在包含关系,且姓的全拼的字符串长度小于名的全拼的字符串长度。则查找时先查找第二扩展信息所在位置,再查找第一扩展信息所在位置,字符串“23likimlin#p”中从左往右依次查找时第一次查找到字符串“lin”认定为第二扩展信息,也即字符“m”和字符“#”之间的字符串“lin”为第二扩展信息,该字符“m”和字符“#”之间的字符串“lin”所在位置为第二扩展信息在电子邮箱地址的用户名字符串中的位置,字符串“23likimlin#p”中去除字符串“lin”后第一次查找到字符串“li”认定为第一扩展信息,也即字符“3”和字符“k”之间的字符串“li”为第一扩展信息,该字符“3”和字符“k”之间的字符串“li”所在位置为第一扩展信息在电子邮箱地址的用户名字符串中的位置。
步骤S104:根据第一扩展信息在电子邮箱地址的用户名字符串中的位置和第二扩展信息在电子邮箱地址的用户名字符串中的位置将电子邮箱地址的用户名字符串进行划分,采用11位向量描述划分后的各个部分的特征,并以11位向量对电子邮箱地址的用户名字符串进行分类。
在实际中,采用11位向量记录第一扩展信息的特征、第二扩展信息的特征和第一扩展信息位置和第二扩展信息位置划分得到的字符串的特征;
11位向量分为第一向量部分、第二向量部分、第三向量部分、第一扩展信息向量部分和第二扩展信息向量部分,第一向量部分、第二向量部分和第三向量部分都包括3位标识,第一扩展信息向量部分和第二扩展信息向量部分都包括1位标识,第一向量部分是11位向量的1至3位,第二向量部分是11位向量的5至7位,第三向量部分是11位向量的9至11位,第一扩展信息向量部分是11位向量的第4位,第二扩展信息向量部分是11位向量的第8位,11位向量的可以用表1进行描述:
表1
此外,本领域技术人员应该清楚对于11位向量各个位标识顺序方式不仅仅限于上述一种方式,在实际中还可以是其他形式,本申请实施例并不以此为限。
本申请中的字母包括“a-z”和“A-Z”,数字包括“0-9”,特殊字符是指Email地址的用户名字符串中允许的字符中除了数字和字母外的其他字符,例如在现今通常的Email服务器中,Email地址的用户名字符串中除了允许出现字母和数字外,还允许出现“_”字符,这里的“_”字符就是一种特殊字符,当然本领域技术人员应该清楚,随着Email服务器对用户名字符串中允许字符的要求发生变化,相应的特殊字符的种类也会发生相应变化,例如在其他实施例中,上述特殊字符还可包含“#,*,!,?”等字符。本申请实施例并不以此为限。
当电子邮箱地址的用户名字符串中包含第一扩展信息和第二扩展信息时;
第一向量部分记录第一扩展信息位置的第一扩展信息与电子邮箱地址的用户名字符串的一端之间的字符串特征,该端到该第一扩展信息位置之间不包括第一扩展信息位置的第一扩展信息和第二扩展信息位置的第二扩展信息。相当于当第一扩展信息在第二扩展信息前面时,第一向量部分记录的是电子邮箱地址的用户名字符串开始到第一扩展信息位置的第一扩展信息开始之间的字符串特征;当第一扩展信息在第二扩展信息的后面时,第一向量部分记录的是电子邮箱地址的用户名字符串结尾到第一扩展信息位置的第一扩展信息结尾之间的字符串特征。
例如:电子邮箱地址的用户名字符串为“23likimsi#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串中第一扩展信息在第二扩展信息前面时,第一向量部分记录字符串“23likimsi#p”开始到第一扩展信息“li”开始之间的字符串“23”的特征;当电子邮箱地址的用户名字符串为“23sikimli#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串中第一扩展信息在第二扩展信息后面时,第一向量部分记录是第一扩展信息字符串“li”结尾到字符串“23sikimli#p”结尾之间的字符串“#p”的特征。
第二向量部分记录第一扩展信息位置的第一扩展信息与第二扩展信息位置的第二扩展信息之间的字符串特征,不包括第一扩展信息位置的第一扩展信息和第二扩展信息位置的第二扩展信息的字符串特征。相当于当第一扩展信息在第二扩展信息前面时,第二向量部分记录的是第一扩展信息位置的第一扩展信息结尾到第二扩展信息位置的第二扩展信息开始之间的字符串特征;当第一扩展信息在第二扩展信息的后面时,第二向量部分记录的是第二扩展信息位置的第二扩展信息结尾到第一扩展信息位置的第一扩展信息开始之间的字符串特征。
例如:电子邮箱地址的用户名字符串为“23likimsi#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串中第一扩展信息在第二扩展信息前面时,第二向量部分记录第一扩展信息字符串li结尾到第二扩展信息字符串“si”开始之间的字符串“kim”的特征;当电子邮箱地址的用户名字符串为“23sikimli#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串第一扩展信息在第二扩展信息后面时,第二向量部分记录第二扩展信息字符串“si”结尾到第一扩展信息字符串“li”开始之间的字符串“kim”的特征。
第三向量部分记录第二扩展信息位置的第二扩展信息到电子邮箱地址的用户名字符串另一端的字符串特征,该另一端到该第二扩展信息位置之间不包括第一扩展信息位置的第一扩展信息和第二扩展信息位置的第二扩展信息。相当于当第一扩展信息在第二扩展信息前面时,第三向量部分记录的是第二扩展信息位置的第二扩展信息结尾到电子邮箱地址的用户名字符串结尾之间的字符串特征;当第一扩展信息在第二扩展信息的后面时,第三向量部分记录的是电子邮箱地址的用户名字符串开始到第二扩展信息位置的第二扩展信息开始之间的字符串特征。
例如:电子邮箱地址的用户名字符串为“23likimsi#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串中第一扩展信息在第二扩展信息前面时,第三向量部分记录第二扩展信息“si”结尾到字符串“23sikimli#p”结尾之间的字符串“#p”的特征;当电子邮箱地址的用户名字符串为“23sikimli#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串第一扩展信息在第二扩展信息后面时,第三向量部分记录字符串“23sikimli#p”开始到第二扩展信息字符串“si”开始之间的字符串“23”的特征。
第一扩展信息向量部分记录第一扩展信息字符串特征。
第二扩展信息向量部分记录第二扩展信息字符串特征。
检查第一向量部分、第二向量部分、第三向量部分、第一扩展信息向量部分和第二扩展信息向量部分记录的字符串特征,具体包括:
检查第一向量部分记录的字符串是否包含字母,如果包含字母将该11位向量的第1位标记为1,如果不包含字母将该11位向量的第1位标记为0;检查第一向量记录的字符串是否包含数字,如果包含数字将该11位向量的第2位标记为1,如果不包含数字将该11位向量的第2位标记为0;检查第一向量记录的字符串是否包含特殊字符,如果包含特殊字符将该11位向量的第3位标记为1,如果不包含特殊字符将该11位向量的第3位标记为0;
检查第二向量部分记录的字符串是否包含字母,如果包含字母将该11位向量的第5位标记为1,如果不包含字母将该11位向量的第5位标记为0;检查第二向量记录的字符串是否包含数字,如果包含数字将该11位向量的第6位标记为1,如果不包含数字将该11位向量的第6位标记为0;检查第二向量记录的字符串是否包含特殊字符,如果包含特殊字符将该11位向量的第7位标记为1,如果不包含特殊字符将该11位向量的第7位标记为0。
检查第三向量记录的字符串是否包含字母,如果包含字母将该11位向量的第9位标记为1,如果不包含字母将该11位向量的第9位标记为0;检查第三向量记录的字符串是否包含数字,如果包含数字将该11位向量的第10位标记为1,如果不包含数字将该11位向量的第10位标记为0;检查第三向量记录的字符串是否包含特殊字符,如果包含特殊字符将该11位向量的第11位标记为1,如果不包含特殊字符将该11位向量的第11位标记为0。
检查第一扩展信息向量部分记录第一扩展信息字符串是否包含姓的全拼,如果包含姓的全拼将该11位向量的第4位标记为2,检查第一扩展信息向量部分记录第一扩展信息字符串是否包含姓的首字母,如果包含姓的首字母将该11位向量的第4位标记为1。
检查第二扩展信息向量部分记录第二扩展信息字符串是否包含名的全拼,如果包含名的全拼将该11位向量的第8位标记为2,检查第一扩展信息向量部分记录第二扩展信息字符串是否包含名的首字母,如果包含名的首字母将该11位向量的第8位标记为1。
本领域技术人员应该清楚对于实现11位向量含义的标记方式不仅仅限于上述通过数字标记一种方式,在实际中还可以是其他形式,本申请实施例并不以此为限。
以下以几个具体的例子详细说明上述11位向量的设置方法:
当姓的全拼和名的全拼不存在包含关系时,比如电子邮箱地址的用户名字符串为“23likimsi#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串中第一扩展信息在第二扩展信息前面时,则第一向量部分记录字符串“23”的特征,也即第一向量部分为“010”;第一扩展信息向量部分记录字符串“li”的特征,也即第一扩展信息向量部分为“2”;第二向量部分记录字符串“kim”的特征,也即第二向量部分为“100”;第二扩展信息向量部分记录字符串“si”的特征,也即第二扩展信息向量部分为“2”;第三向量部分记录字符串“#p”的特征,也即第三向量部分为“101”;也即11为向量表示为(01021002101),该11位向量的具体含义如表2所示。
表2
向量值 |
含义 |
0 |
第一向量部分记录字符串不包含字母 |
1 |
第一向量部分记录字符串包含数字 |
0 |
第一向量部分记录字符串不包含特殊字符 |
2 |
第一扩展信息向量部分记录字符串为姓的全拼 |
1 |
第二向量部分记录字符串包含字母 |
0 |
第二向量部分记录字符串不包含数字 |
0 |
第二向量部分记录字符串不包含特殊字符 |
2 |
第二扩展信息向量部分记录字符串为名的全拼 |
1 |
第三向量部分记录字符串包含字母 |
0 |
第三向量部分记录字符串不包含数字 |
1 |
第三向量部分记录字符串包含特殊字符 |
当电子邮箱地址的用户名字符串为“23sikimli#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串中第一扩展信息在第二扩展信息后面时,则第一向量部分记录字符串“#p”的特征,也即第一向量部分为“101”;第一扩展信息向量部分记录字符串“li”的特征,也即第一扩展信息向量部分为“2”;第二向量部分记录字符串“kim”的特征,也即第二向量部分为“100”;第二扩展信息向量部分记录字符串“si”的特征,也即第二扩展信息向量部分为“2”;第三向量部分记录字符串23的特征,也即第三向量部分为“010”;则11位向量表示为(10121002010),该11位向量的具体含义如表3所示。
表3
向量值 |
含义 |
1 |
第一向量部分记录字符串包含字母 |
0 |
第一向量部分记录字符串不包含数字 |
1 |
第一向量部分记录字符串包含特殊字符 |
2 |
第一扩展信息向量部分记录字符串为姓的全拼 |
1 |
第二向量部分记录字符串包含字母 |
0 |
第二向量部分记录字符串不包含数字 |
0 |
第二向量部分记录字符串不包含特殊字符 |
2 |
第二扩展信息向量部分记录字符串为名的全拼 |
0 |
第三向量部分记录字符串不包含字母 |
1 |
第三向量部分记录字符串包含数字 |
0 |
第三向量部分记录字符串不包含特殊字符 |
当姓的全拼和名的全拼存在包含关系,且姓的全拼与名的全拼一致时,比如电子邮箱地址的用户名字符串为“23likimli#p”,用户的姓为李,名为力,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“li”或“l”,如果第一扩展信息为优先查找信息,第二扩展信息为第二查找信息,则第一向量部分记录字符串“23”的特征,也即第一向量部分为“010”;第一扩展信息向量部分记录字符“3”和字符“k”之间的字符串“li”的特征,也即第一扩展信息向量部分为“2”;第二向量部分记录字符串“kim”的特征,也即第二向量部分为“100”;第二扩展信息向量部分记录字符“m”和字符“#”之间的字符串“li”的特征,也即第二扩展信息向量部分为“2”;第三向量部分记录字符串“#p”的特征,也即第三向量部分为“101”;则11为向量表示为(01021002101),该11位向量的具体含义如表4所示。
表4
向量值 |
含义 |
0 |
第一向量部分记录字符串不包含字母 |
1 |
第一向量部分记录字符串包含数字 |
0 |
第一向量部分记录字符串不包含特殊字符 |
2 |
第一扩展信息向量部分记录字符串为姓的全拼 |
1 |
第二向量部分记录字符串包含字母 |
0 |
第二向量部分记录字符串不包含数字 |
0 |
第二向量部分记录字符串不包含特殊字符 |
2 |
第二扩展信息向量部分记录字符串为名的全拼 |
1 |
第三向量部分记录字符串包含字母 |
0 |
第三向量部分记录字符串不包含数字 |
1 |
第三向量部分记录字符串包含特殊字符 |
表5
向量值 |
含义 |
1 |
第一向量部分记录字符串包含字母 |
0 |
第一向量部分记录字符串不包含数字 |
1 |
第一向量部分记录字符串包含特殊字符 |
2 |
第一扩展信息向量部分记录字符串为姓的全拼 |
1 |
第二向量部分记录字符串包含字母 |
0 |
第二向量部分记录字符串不包含数字 |
0 |
第二向量部分记录字符串不包含特殊字符 |
2 |
第二扩展信息向量部分记录字符串为名的全拼 |
0 |
第三向量部分记录字符串不包含字母 |
1 |
第三向量部分记录字符串包含数字 |
0 |
第三向量部分记录字符串不包含特殊字符 |
如果第二扩展信息为优先查找信息,第一扩展信息为第二查找信息,则第一向量部分记录字符串“#p”的特征,也即第一向量部分为“101”;第一扩展信息向量部分记录字符“m”和字符“#”之间的字符串“li”的特征,也即第一扩展信息向量部分为“2”;第二向量部分记录字符串“kim”的特征,也即第二向量部分为“100”;第二扩展信息向量部分记录字符“3”和字符“k”之间的字符串“li”的特征,也即第二扩展信息向量部分为“2”;第三向量部分记录字符串“23”的特征,也即第三向量部分为“010”;则11为向量表示为(10121002010),该11位向量的具体含义如表5所示。
当姓的全拼和名的全拼存在包含关系,且姓的全拼的字符串长度大于名的全拼的字符串长度,比如电子邮箱地址的用户名字符串为“23likimlin#p”,用户的姓为林,名为丽,此时第一扩展信息包括“lin”或“l”,第二扩展信息包括“li”或“l”,则第一向量部分记录字符串“#p”的特征,也即第一向量部分为“101”;第一扩展信息向量部分记录字符“m”和字符“#”之间的字符串“lin”的特征,也即第一扩展信息向量部分为“2”;第二向量部分记录字符串“kim”的特征,也即第二向量部分为“100”;第二扩展信息向量部分记录字符“3”和字符“k”之间的字符串“li”的特征,也即第二扩展信息向量部分为“2”;第三向量部分记录字符串“23”的特征,也即第三向量部分为“010”;则11位向量表示为(10121002010),该11位向量的具体含义如表6所示。
表6
向量值 |
含义 |
1 |
第一向量部分记录字符串包含字母 |
0 |
第一向量部分记录字符串不包含数字 |
1 |
第一向量部分记录字符串包含特殊字符 |
2 |
第一扩展信息向量部分记录字符串为姓的全拼 |
1 |
第二向量部分记录字符串包含字母 |
0 |
第二向量部分记录字符串不包含数字 |
0 |
第二向量部分记录字符串不包含特殊字符 |
2 |
第二扩展信息向量部分记录字符串为名的全拼 |
0 |
第三向量部分记录字符串不包含字母 |
1 |
第三向量部分记录字符串包含数字 |
0 |
第三向量部分记录字符串不包含特殊字符 |
当姓的全拼和名的全拼存在包含关系,且姓的全拼的字符串长度小于名的全拼的字符串长度,比如电子邮箱地址的用户名字符串为“23likimlin#p”,用户的姓为李,名为琳,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“lin”或“l”,则第一向量部分记录字符串“23”的特征,也即第一向量部分为“010”;第一扩展信息向量部分记录字符“3”和字符“k”之间的字符串“li”的特征,也即第一扩展信息向量部分为“2”;第二向量部分记录字符串“kim”的特征,也即第二向量部分为“100”;第二扩展信息向量部分记录字符m和字符#之间的字符串“lin”的特征,也即第二扩展信息向量部分为“2”;第三向量部分记录字符串“#p”的特征,也即第三向量部分为“101”);则11为向量表示为(01021002101),该11位向量的具体含义如表7所示。
表7
向量值 |
含义 |
0 |
第一向量部分记录字符串不包含字母 |
1 |
第一向量部分记录字符串包含数字 |
0 |
第一向量部分记录字符串不包含特殊字符 |
2 |
第一扩展信息向量部分记录字符串为姓的全拼 |
1 |
第二向量部分记录字符串包含字母 |
0 |
第二向量部分记录字符串不包含数字 |
0 |
第二向量部分记录字符串不包含特殊字符 |
2 |
第二扩展信息向量部分记录字符串为名的全拼 |
1 |
第三向量部分记录字符串包含字母 |
0 |
第三向量部分记录字符串不包含数字 |
1 |
第三向量部分记录字符串包含特殊字符 |
当电子邮箱地址的用户名字符串中只包含第一扩展信息时,电子邮箱地址的用户名字符串被第一扩展信息分为两个字符串;
第一向量部分记录电子邮箱地址的用户名字符串开始到第一扩展信息位置的第一扩展信息开始之间的字符串特征;第二向量部分记录第一扩展信息位置的第一扩展信息结尾到电子邮箱地址的用户名字符串结尾之间的字符串特征;第三向量部分记录的空字符串特征;第一扩展信息向量部分记录第一扩展信息字符串特征;第二扩展信息向量部分记录空字符串特征。
检查第一向量部分、第二向量部分、第三向量部分、第一扩展信息向量部分和第二扩展信息向量部分记录的字符串特征:
检查第一向量部分记录的字符串是否包含字母,如果包含字母将该11位向量的第1位标记为1,如果不包含字母将该11位向量的第1位标记为0;检查第一向量记录的字符串是否包含数字,如果包含数字将该11位向量的第2位标记为1,如果不包含数字将该11位向量的第2位标记为0;检查第一向量记录的字符串是否包含特殊字符,如果包含特殊字符将该11位向量的第3位标记为1,如果不包含特殊字符将该11位向量的第3位标记为0。
检查所述第二向量部分记录的所述字符串是否包含字母,如果包含字母将该11位向量的第5位标记为1,如果不包含字母将该11位向量的第5位标记为0;检查第二向量记录的字符串是否包含数字,如果包含数字将该11位向量的第6位标记为1,如果不包含数字将该11位向量的第6位标记为0;检查第二向量记录的字符串是否包含特殊字符,如果包含特殊字符将该11位向量的第7位标记为1,如果不包含特殊字符将该11位向量的第7位标记为0。
检查第一扩展信息向量部分记录第一扩展信息字符串是否包含姓的全拼,如果包含姓的全拼将该11位向量的第4位标记为2,检查第一扩展信息向量部分记录第一扩展信息字符串是否包含姓的首字母,如果包含姓的首字母将该11位向量的第4位标记为1。
检查到第三向量部分是空字符串,也即第三向量部分不包含字母、数字和特殊字符中的任意一个;检查到第二扩展信息向量部分是空字符串,也即第二扩展信息向量部分不包含名的全拼或名的首字母;相应的将11位向量的第8至11位标记为0。
表8
向量值 |
含义 |
0 |
第一向量部分记录字符串不包含字母 |
1 |
第一向量部分记录字符串包含数字 |
0 |
第一向量部分记录字符串不包含特殊字符 |
2 |
第一扩展信息向量部分记录字符串为姓的全拼 |
1 |
第二向量部分记录字符串包含字母 |
0 |
第二向量部分记录字符串不包含数字 |
1 |
第二向量部分记录字符串不包含特殊字符 |
0 |
第二扩展信息向量部分记录字符串不包含名的全拼或名的首字母 |
0 |
第三向量部分记录字符串不包含字母 |
0 |
第三向量部分记录字符串不包含数字 |
0 |
第三向量部分记录字符串不包含特殊字符 |
例如:电子邮箱地址的用户名字符串为“23likim#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即则电子邮箱地址的用户名字符串中只包含第一扩展信息,由此第一向量部分记录字符串“23”的特征,也即第一向量部分为“010”,第一扩展信息向量部分记录字符串li的特征,也即第一扩展信息向量部分为“2”;第二向量部分记录字符串“kim#p”的特征,也即第二向量部分为“101”;第二扩展信息向量部分记录空字符串的特征,也即第二扩展信息向量部分为“0”;第三向量部分记录空字符串的特征,也即第三向量部分为“000”;则11位向量表示为(01021010000),该11位向量的具体含义如表8所示。
当电子邮箱地址的用户名字符串中只包含第二扩展信息时,电子邮箱地址的用户名字符串被第二扩展信息分为两个字符串;
第一向量部分记录的是空字符串特征;第二向量部分记录电子邮箱地址的用户名字符串开始到第二扩展信息位置的第一扩展信息开始之间的字符串特征;第三向量部分记录第二扩展信息位置的第二扩展信息结尾到电子邮箱地址的用户名字符串结尾之间的字符串特征;第一扩展信息向量部分记录空字符串特征;第二扩展信息向量部分记录第二扩展信息字符串特征。
检查第一向量部分、第二向量部分、第三向量部分、第一扩展信息向量部分和第二扩展信息向量部分记录的字符串特征:
检查所述第二向量部分记录的所述字符串是否包含字母,如果包含字母将该11位向量的第5位标记为1,如果不包含字母将该11位向量的第5位标记为0;检查第二向量记录的字符串是否包含数字,如果包含数字将该11位向量的第6位标记为1,如果不包含数字将该11位向量的第6位标记为0;检查第二向量记录的字符串是否包含特殊字符,如果包含特殊字符将该11位向量的第7位标记为1,如果不包含特殊字符将该11位向量的第7位标记为0。
检查第三向量记录的字符串是否包含字母,如果包含字母将该11位向量的第9位标记为1,如果不包含字母将该11位向量的第9位标记为0;检查第三向量记录的字符串是否包含数字,如果包含数字将该11位向量的第10位标记为1,如果不包含数字将该11位向量的第10位标记为0;检查第三向量记录的字符串是否包含特殊字符,如果包含特殊字符将该11位向量的第11位标记为1,如果不包含特殊字符将该11位向量的第11位标记为0。
检查第二扩展信息向量部分记录第二扩展信息字符串是否包含名的全拼,如果包含名的全拼将该11位向量的第8位标记为2,检查第一扩展信息向量部分记录第二扩展信息字符串是否包含名的首字母,如果包含名的首字母将该11位向量的第8位标记为1。
检查到第一向量部分是空字符串,也即第一向量部分不包含字母、数字和特殊字符中的任意一个;检查到第一扩展信息向量部分是空字符串,也即第一扩展信息向量部分不包含姓的全拼或姓的首字母;相应的将11位向量的第1至4位标记为0。
例如:电子邮箱地址的用户名字符串为“23kimsi#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串中只包含第一扩展信息,由此第一向量部分记录空字符串的特征,也即第一向量部分为“000”,第一扩展信息向量部分记录空字符串的特征,也即第一扩展信息向量部分为“0”;第二向量部分记录字符串“23kim”的特征,也即第二向量部分为“110”;第二扩展信息向量部分记录字符串“si”的特征,也即第二扩展信息向量部分为“2”;第三向量部分记录字符串“#p”的特征,也即第三向量部分为“101”;则11为向量表示为(00001102101),该11位向量的具体含义如表9所示。
表9
向量值 |
含义 |
0 |
第一向量部分记录字符串不包含字母 |
0 |
第一向量部分记录字符串不包含数字 |
0 |
第一向量部分记录字符串不包含特殊字符 |
0 |
第一扩展信息向量部分记录字符串不包含姓的全拼或姓的首字母 |
1 |
第二向量部分记录字符串包含字母 |
1 |
第二向量部分记录字符串包含数字 |
0 |
第二向量部分记录字符串不包含特殊字符 |
2 |
第二扩展信息向量部分记录字符串为名的全拼 |
1 |
第三向量部分记录字符串包含字母 |
0 |
第三向量部分记录字符串不包含数字 |
1 |
第三向量部分记录字符串包含特殊字符 |
当电子邮箱地址的用户名字符串中不包含第一扩展信息和第二扩展信息时;
第一向量部分、第二向量部分和第三向量部分都记录整个电子邮箱地址的用户名字符串特征;第一扩展信息向量部分记录空字符串特征;第二扩展信息向量部分记录空字符串特征。
检查第一向量部分、第二向量部分、第三向量部分、第一扩展信息向量部分和第二扩展信息向量部分记录的字符串特征:
检查电子邮箱地址的用户名字符串是否包含字母,如果包含字母将该11位向量的第1位、第5位和第9位标记为1,如果不包含字母将该11位向量的第1位、第5位和第9位标记为0;检查所述电子邮箱地址的用户名字符串是否包含数字,如果包含数字将该11位向量的第2位、第6位和第10位标记为1,如果不包含数字将该11位向量的第2位、第6位和第10位标记为0;检查所述电子邮箱地址的用户名字符串是否包含特殊字符,如果包含特殊字符将该11位向量的第3位、第7位和第11位标记为1,如果不包含特殊字符将该11位向量的第3位、第7位和第11位标记为0。
检查到第一扩展信息向量部分是空字符串,也即第一扩展信息向量部分不包含姓的全拼或姓的首字母;
检查到第二扩展信息向量部分是空字符串,也即第二扩展信息向量部分不包含名的全拼或名的首字母;相应的将11位向量的第4位和第8位向量标记为0。
例如:电子邮箱地址的用户名字符串为“23kim#p”,用户的姓为李,名为四,此时第一扩展信息包括“li”或“l”,第二扩展信息包括“si”或“s”,也即电子邮箱地址的用户名字符串中不包含第一扩展信息和第二扩展信息,由此第一向量部分、第二向量部分和第三向量部分记录字符串“23kim#p”的特征,也即第一向量部分、第二向量部分和第三向量部分为“111”,第一扩展信息向量部分和第二扩展信息向量部分记录空字符串的特征,也即第一扩展信息向量部分和第二扩展信息向量部分都为“0”;则11为向量表示为(11101110111),该11位向量的具体含义如表10所示。
表10
向量值 |
含义 |
1 |
第一向量部分记录字符串包含字母 |
1 |
第一向量部分记录字符串包含数字 |
1 |
第一向量部分记录字符串包含特殊字符 |
0 |
第一扩展信息向量部分记录字符串不包含姓的全拼或姓的首字母 |
1 |
第二向量部分记录字符串包含字母 |
1 |
第二向量部分记录字符串包含数字 |
1 |
第二向量部分记录字符串包含特殊字符 |
0 |
第二扩展信息向量部分记录字符串不包含名的全拼或名的首字母 |
1 |
第三向量部分记录字符串包含字母 |
1 |
第三向量部分记录字符串包含数字 |
1 |
第三向量部分记录字符串包含特殊字符 |
步骤S105:统计每个向量占所有向量的比例,当某个向量占所有向量的比例大于等于第一阈值时,该向量中所有电子邮箱地址的用户名字符串对应的电子邮箱的样本是包含批量注册的电子邮箱的样本。
在实际中,第一阈值可以通过选取不包含批量注册的注册信息,通过对该注册信息的注册用户的姓和名对电子邮箱地址的用户名字符串进行划分,并采用向量对所述电子邮箱地址的用户名字符串进行分类,每个电子邮箱地址的用户名字符串得到一个11位向量,统计每个向量中电子邮箱地址的用户名字符串的数量,计算每个向量中电子邮箱地址的用户名字符串数量占所有向量电子邮箱地址的用户名字符串数量的比例,选取其中最大的一个比例值作为第一阈值。
再对任意选取的注册信息,采用11位向量进行分类,每个电子邮箱地址的用户名字符串得到一个11位向量,统计每个向量中电子邮箱地址的用户名字符串的数量,计算每个向量中电子邮箱地址的用户名字符串数量占所有向量电子邮箱地址的用户名字符串数量的比例,当某个向量中电子邮箱地址的用户名字符串数量占所有向量电子邮箱地址的用户名字符串数量的比例值大于等于第一阈值时,就可以判断该向量中所有注册信息中包含批量注册的注册信息。
由此可见,本申请实施例中,通过注册用户的姓和名对电子邮箱地址的用户名字符串进行划分,并采用向量描述划分后的各个部分的特征,并以向量对电子邮箱地址的用户名字符串进行分类统计每个向量占所有向量的比例,当某个向量占所有向量的比例大于等于第一阈值时,就可以判断该向量中所有注册信息中包含批量注册的注册信息,为进一步精确识别批量注册提供了依据。
本申请实施例还相应提供一种识别批量注册行为的装置200,如图2所示,该装置200包括:预设单元201、获取信息单元202、查找单元203、分类单元204和统计单元205。
其中,预设单元201用于根据包含注册用户的姓、名及注册电子邮箱的地址的注册信息,获取所述注册信息中电子邮箱地址的用户名字符串以及注册用户第一扩展信息和第二扩展信息;
获取信息单元202用于获取所述注册信息中电子邮箱地址的用户名字符串,并按照预定规则获取所述注册信息中对应姓的第一扩展信息和对应名的第二扩展信息;
查找单元203用于查找注册用户第一扩展信息在所述电子邮箱地址的用户名字符串中的位置和第二扩展信息在电子邮箱地址的用户名字符串中第一次出现的位置,得到第一扩展信息位置和第二扩展信息位置;
分类单元204用于根据第一扩展信息和第二扩展信息在电子邮箱地址的用户名字符串中的位置将电子邮箱地址的用户名字符串进行划分,采用向量描述划分后的各个部分的特征,并以向量对电子邮箱地址的用户名字符串进行分类;
统计单元205用于统计每个向量占所有向量的比例,当某个向量占所有向量的比例大于等于第一阈值时,就可以判断该向量中所有注册信息中包含批量注册的注册信息。
由此可见,本申请实施例提供的一种识别批量注册行为的装置,通过注册用户的姓和名对电子邮箱地址的用户名字符串进行划分,采用向量描述划分后的各个部分的特征,并以向量对电子邮箱地址的用户名字符串进行分类,统计每个向量占所有向量的比例,当某个向量占所有向量的比例大于等于第一阈值时,就可以判断该向量中所有注册信息中包含批量注册的注册信息,为进一步精确识别批量注册提供了依据。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。