具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本申请一实施例提出的检测网站上注册的姓名合理性的方法的流程示意图,该方法包括:
S11:接收待检测的姓名;
例如,接收用户通过键盘或者触摸屏输入的待检测的姓名。
待检测的姓名可以包括一个或多个字符串。
待检测的姓名例如为“asdfjkldk”。
S12:根据预先建立的姓名库中字符的概率信息,获取所述待检测的姓名对应的参数值。
其中,可以预先建立姓名库,姓名库可以是包括多种语种的姓名库,例如,包括中文,英文等语种的混合姓名库。或者,也可以对应每个待检测的姓名,获取与待检测的姓名具有相同语种的姓名库,例如,待检测的姓名是英文的,则可以获取英文的姓名库。具体的,可以根据待检测的姓名中字符是英文或者中文等确定相应的语种。
可选的,所述参数值是归一化后的值,所述根据预先建立的姓名库中字符的概率信息,获取所述待检测的姓名对应的参数值,包括:
根据所述概率信息,计算所述待检测的姓名被所述姓名库生成所需的次数值;
根据所述概率信息,计算所述待检测的姓名被所述姓名库生成对应的总的数学期望和总的标准差;
根据所述次数值,所述总的数学期望和所述总的标准差,计算所述参数值。
其中,所述概率信息包括:所述姓名库中每个首字符对应的首字符生成概率,以及,所述姓名库中姓名的相邻的两个字符间的转移概率。
例如,姓名库中的所有首字符生成概率可以组成一个行向量,以英文字符为例,行向量包括a对应的首字符生成概率,b对应的首字符生成概率,c对应的首字符生成概率等。
姓名库中的所有转移概率可以组成一个26x26的矩阵,其中,每行和每列分别对应一个字符,第i行第j列的元素表示从第i行的字符转移到第j的字符的转移概率,例如,第1行第1列的元素表示从a转移到a的转移概率,第1行第2列的元素表示从a转移到b的转移概率,第1行第3列的元素表示从a转移到c的转移概率,第2行第1列的元素表示从b转移到a的转移概率等。
在得到首字符生成概率组成的行向量,以及,转移概率组成的转移概率矩阵后,可以按照从大到小的顺序对每个概率进行排序。例如,按照从大到小的顺序对首字符生成概率进行排序,以及,对应转移概率矩阵的每一行,对该每行中的转移概率按照从大到小的顺序排序。
在排序后,可以确定待检测的姓名中的首字符生成概率的排序位数,以及,待检测的姓名中两两相邻字符的转移概率的排序位数,对每个排序位数进行相加可以得到次数值。
另外,对应首字符生成概率组成的行向量,以及转移概率矩阵的每一行的行向量可以得到数学期望和标准差,对每个数学期望和标准差分别相加,得到总的数学期望和标准差。
在得到次数值,总的数学期望和总的标准差后,进行归一化后,得到参数值。
具体的计算流程可以参见后续实施例。
S13:根据所述参数值,确定所述待检测的姓名的合理性。
例如,当该参数值小于预设值时,确定待检测的姓名是合理的,否则不合理。
本实施例中,通过根据姓名库中字符的概率信息,获取待检测的姓名的参数值,根据参数值确定待检测的姓名的合理性,可以确定出网络上注册的姓名合理性,从而降低恶意注册。
图2是本申请另一实施例提出的检测网站上注册的姓名合理性的方法的流程示意图,本实施例以英文姓名库为例,该方法包括:
S21:生成姓名库中每个首字符对应的首字符生成概率,以及,所述姓名库中姓名的相邻的两个字符间的转移概率。
其中,可以将已有的姓名作为学习样本,生成首字符生成概率以及转移概率。
首字符生成概率是26个字符分别作为姓名库字符串首字符的概率,转移概率就是这些姓名字符串中从前一个字符(26个字符中的一个)转移到下一个字符(26个字符中的一个)的概率。
例如,英文姓名库中有Johnson,White,Black……,则字符“j”作为首字符出现了1次,“w”作为首字符出现了1次,“b”作为首字符出现了1次,依此类推,可以得到每个字符作为首字符的出现次数,再用该次数除以姓名的总数,得到该字符的首字符生成概率,例如,“j”在姓名库中作为首字符出现了m词,姓名库中的姓名的总数是n,则“j”对应的首字符生成概率是m/n。
又例如,字符“j”到“o”转移了1次,“o”到“h”转移了1次,“h”到“n”转移了1次,依此类推,可以得到每个字符转移到下一个的次数,再用该次数除以姓名的总数,得到该两个字符之间的转移概率,例如,字符“j”到“o”转移了x次,姓名库中的姓名的总数是n,则字符“j”到”o”的转移概率是x/n。
首字符生成概率可以组成一个1x26的行向量,分别表示“a”~“z”中的每一个字符对应的首字符生成概率。
转移概率矩阵是26x26的矩阵,每一行代表“a”~“z”中的一个字符,每一列代表“a”~“z”中的一个字符,每一列代表前一个字符是此行对应的字符,下一个字符是此列对应的字符的概率。
S22:从所述概率信息中,获取第一首字符生成概率,以及第一转移概率,确定所述第一首字符生成概率在所述姓名库中所有的首字符生成概率中的排序位数,以及,所述第一转移概率在所述转移概率矩阵中对应行的所有的转移概率中的排序位数,并根据所述排序位数计算所述次数值,所述第一首字符生成概率是所述待检测的姓名中首字符对应的首字符生成概率,所述第一转移概率包括所述待检测的姓名中相邻的两个字符间的转移概率。
例如,待检测的姓名是“asdfjkldk”,次数值可以采用如下规则生成:
对上一步得到的所有的首字符生成概率按照从大到小的顺序进行排序,并找到“asdfjkldk”中首字符“a”的首字符生成概率在排序后的位数,例如“a”的首字符生成概率从大到小排序排在第5位,则第一个数值取5。
对上一步中获得的转移概率矩阵的每一行的元素按照从大到小排序,找到首字符“a”到下一个字符“s”的转移概率在排序后的位置,例如是第23位,则第二个数值为23。重复此计算,得出“s”到“d”,“d”到“f”……分别对应的排序位数,例如分别是22,21,25,19,20,24,22。
再将这些值求和,得到181。
S23:对所述姓名库中所有的首字符生成概率进行排序,根据每个首字符生成概率以及对应的排序位数,计算得到第一数学期望和第一标准差。
第一数学期望和第一标准差可以采用如下规则生成:
对首字符生成概率按照从大到小的顺序排序,第一数学期望是每一个首字符生成概率与此概率在排序后的位数的乘积的和,例如首字符生成概率按照从大到小的顺序排序为:
“s”:0.07
“t”:0.06
“c”:0.04
……
“x”:0.002
则第一数学期望是0.07*1+0.06*2+0.04*3+…+0.002*26=11.37;
第一标准差是:
S24:对所述第一转移概率在所述转移概率矩阵的对应行的所有的转移概率进行排序,根据所述第一转移概率的对应行的每个转移概率以及对应的排序位数,计算得到第二数学期望和第二标准差。
可选的,可以计算转移概率矩阵中每一行向量对应的数学期望和标准差,再从中获取待检测的姓名的字符间转移对应的数学期望和标准差,作为第二数学期望和第二标准差,或者,只计算待检测的姓名的字符间转移对应的数学期望和标准差。
例如,在转移概率矩阵中,对应第一行,可以得到字符“a”转移出去的数学期望和标准差,对应第二行,可以得到字符“b”转移出去的数学期望和标准差,对应第三行,可以得到字符“c”转移出去的数学期望和标准差,依次类推,可以得到26个字符转移出去的数学期望和标准差,其中,每一行向量计算数学期望和标准差的方式可以如计算第一数学期望和第一标准差的方式。
再从中找到“a”转移出去的数学期望和标准差,“s”转移出去的数学期望和标准差,依次类推,还可以找到“d”,“f”,“j”,“k”,“l”,“d”转移出去的数学期望和标准差,从而得到8个第二数学期望和第二标准差。
S25:将所述第一数学期望和所述第二数学期望之后确定为总的数学期望,将所述第一标准差和所述第二标准差之和确定为总的标准差。
其中,可以将1+8=9个数学期望的和作为总的数学期望,将9个标准差的和作为总的标准差。
S26:计算所述次数值与所述总的数学期望的差值,将所述差值与所述总的标准差的比值,确定为所述参数值。
例如,参数值的计算公式为:
其中,181是上述步骤计算得到的次数值,E是总的数学期望,σ是总的标准差。
S27:当所述参数值小于预设值时,确定所述待检测的姓名是合理的,否则不合理。
其中,预设值可以根据实际情况设置。
例如,预设值是3,则当小于3时,根据切比雪夫不等式(大数定律),待检测的姓名被该姓名库生成的概率大于或等于1/9,则该待检测的姓名是合理的,反之,如果该参数值大于或等于3,表明待检测的姓名被该姓名库生成的概率小于1/9,则该待检测的姓名是不合理的。
当识别出不合理后,可以禁止用户注册该姓名等。
本实施例中,通过根据姓名库中字符的概率信息,获取待检测的姓名的参数值,根据参数值确定待检测的姓名的合理性,可以确定出网络上注册的姓名合理性,从而降低恶意注册。本实施例通过上述计算流程可以确定待检测的姓名被姓名库生成的概率。
图3是本申请另一实施例提出的检测网站上注册的姓名合理性的装置的结构示意图,该装置30包括接收模块31,获取模块32和确定模块33。
接收模块31,用于接收待检测的姓名;
例如,接收用户通过键盘或者触摸屏输入的待检测的姓名。
待检测的姓名可以包括一个或多个字符串。
待检测的姓名例如为“asdfjkldk”。
获取模块32,用于根据预先建立的姓名库中字符的概率信息,获取所述待检测的姓名对应的参数值;
可选的,所述姓名库是与所述待检测的姓名具有相同语种的姓名库,或者,所述姓名库是多种语种的姓名库,所述多种语种包括所述待检测的姓名的具有的语种。
例如,包括中文,英文等语种的混合姓名库。或者,也可以对应每个待检测的姓名,获取与待检测的姓名具有相同语种的姓名库,例如,待检测的姓名是英文的,则可以获取英文的姓名库。具体的,可以根据待检测的姓名中字符是英文或者中文等确定相应的语种。
可选的,参见图4,所述参数值是归一化后的值,所述获取模块32包括:
第一单元321,用于根据所述概率信息,计算所述待检测的姓名被所述姓名库生成所需的次数值;
可选的,所述概率信息包括:所述姓名库中每个首字符对应的首字符生成概率,以及,所述姓名库中姓名的相邻的两个字符间的转移概率,所述转移概率组成转移概率矩阵,所述第一单元321具体用于:
从所述概率信息中,获取第一首字符生成概率,以及第一转移概率,所述第一首字符生成概率是所述待检测的姓名中首字符对应的首字符生成概率,所述第一转移概率包括所述待检测的姓名中相邻的两个字符间的转移概率;
确定所述第一首字符生成概率在所述姓名库中所有的首字符生成概率中的排序位数,以及,所述第一转移概率在所述转移概率矩阵中对应行的所有的转移概率中的排序位数,并根据所述排序位数计算所述次数值。
例如,姓名库中的所有首字符生成概率可以组成一个行向量,以英文字符为例,行向量包括a对应的首字符生成概率,b对应的首字符生成概率,c对应的首字符生成概率等。
姓名库中的所有转移概率可以组成一个26x26的矩阵,其中,每行和每列分别对应一个字符,第i行第j列的元素表示从第i行的字符转移到第j的字符的转移概率,例如,第1行第1列的元素表示从a转移到a的转移概率,第1行第2列的元素表示从a转移到b的转移概率,第1行第3列的元素表示从a转移到c的转移概率,第2行第1列的元素表示从b转移到a的转移概率等。
在得到首字符生成概率组成的行向量,以及,转移概率组成的转移概率矩阵后,可以按照从大到小的顺序对每个概率进行排序。例如,按照从大到小的顺序对首字符生成概率进行排序,以及,对应转移概率矩阵的每一行,对该每行中的转移概率按照从大到小的顺序排序。
在排序后,可以确定待检测的姓名中的首字符生成概率的排序位数,以及,待检测的姓名中两两相邻字符的转移概率的排序位数,对每个排序位数进行相加可以得到次数值。
例如,英文姓名库中有Johnson,White,Black……,则字符“j”作为首字符出现了1次,“w”作为首字符出现了1次,“b”作为首字符出现了1次,依此类推,可以得到每个字符作为首字符的出现次数,再用该次数除以姓名的总数,得到该字符的首字符生成概率,例如,“j”在姓名库中作为首字符出现了m词,姓名库中的姓名的总数是n,则“j”对应的首字符生成概率是m/n。
又例如,字符“j”到“o”转移了1次,“o”到“h”转移了1次,“h”到“n”转移了1次,依此类推,可以得到每个字符转移到下一个的次数,再用该次数除以姓名的总数,得到该两个字符之间的转移概率,例如,字符“j”到“o”转移了x次,姓名库中的姓名的总数是n,则字符“j”到”o”的转移概率是x/n。
首字符生成概率可以组成一个1x26的行向量,分别表示“a”~“z”中的每一个字符对应的首字符生成概率。
转移概率矩阵是26x26的矩阵,每一行代表“a”~“z”中的一个字符,每一列代表“a”~“z”中的一个字符,每一列代表前一个字符是此行对应的字符,下一个字符是此列对应的字符的概率。
例如,待检测的姓名是“asdfjkldk”,次数值可以采用如下规则生成:
对上一步得到的所有的首字符生成概率按照从大到小的顺序进行排序,并找到“asdfjkldk”中首字符“a”的首字符生成概率在排序后的位数,例如“a”的首字符生成概率从大到小排序排在第5位,则第一个数值取5。
对上一步中获得的转移概率矩阵的每一行的元素按照从大到小排序,找到首字符“a”到下一个字符“s”的转移概率在排序后的位置,例如是第23位,则第二个数值为23。重复此计算,得出“s”到“d”,“d”到“f”……分别对应的排序位数,例如分别是22,21,25,19,20,24,22。
再将这些值求和,得到181。
第二单元322,用于根据所述概率信息,计算所述待检测的姓名被所述姓名库生成对应的总的数学期望和总的标准差;
可选的,所述第二单元322具体用于:
对所述姓名库中所有的首字符生成概率进行排序,根据每个首字符生成概率以及对应的排序位数,计算得到第一数学期望和第一标准差;
对所述第一转移概率在所述转移概率矩阵的对应行的所有的转移概率进行排序,根据所述第一转移概率的对应行的每个转移概率以及对应的排序位数,计算得到第二数学期望和第二标准差;
将所述第一数学期望和所述第二数学期望之和确定为总的数学期望,将所述第一标准差和所述第二标准差之和确定为总的标准差。
所述排序是按照从大到小的顺序进行排序,所述次数值为:所述第一首字符生成概率在所述姓名库中所有的首字符生成概率中的排序位数以及所述第一转移概率在所述姓名库中相应行的所有的转移概率中的排序位数之和。
第一数学期望和第一标准差可以采用如下规则生成:
对首字符生成概率按照从大到小的顺序排序,第一数学期望是每一个首字符生成概率与此概率在排序后的位数的乘积的和,例如首字符生成概率按照从大到小的顺序排序为:
“s”:0.07
“t”:0.06
“c”:0.04
……
“x”:0.002
则第一数学期望是0.07*1+0.06*2+0.04*3+…+0.002*26=11.37;
第一标准差是:
可选的,可以计算转移概率矩阵中每一行向量对应的数学期望和标准差,再从中获取待检测的姓名的字符间转移对应的数学期望和标准差,作为第二数学期望和第二标准差,或者,只计算待检测的姓名的字符间转移对应的数学期望和标准差。
例如,在转移概率矩阵中,对应第一行,可以得到字符“a”转移出去的数学期望和标准差,对应第二行,可以得到字符“b”转移出去的数学期望和标准差,对应第三行,可以得到字符“c”转移出去的数学期望和标准差,依次类推,可以得到26个字符转移出去的数学期望和标准差,其中,每一行向量计算数学期望和标准差的方式可以如计算第一数学期望和第一标准差的方式。
再从中找到“a”转移出去的数学期望和标准差,“s”转移出去的数学期望和标准差,依次类推,还可以找到“d”,“f”,“j”,“k”,“l”,“d”转移出去的数学期望和标准差,从而得到8个第二数学期望和第二标准差。
其中,可以将1+8=9个数学期望的和作为总的数学期望,将9个标准差的和作为总的标准差。
第三单元323,用于根据所述次数值,所述总的数学期望和所述总的标准差,计算所述参数值。
可选的,所述第三单元323具体用于:
计算所述次数值与所述总的数学期望的差值;
将所述差值与所述总的标准差的比值,确定为所述参数值。
例如,参数值的计算公式为:
其中,181是上述步骤计算得到的次数值,E是总的数学期望,σ是总的标准差。
确定模块33,用于根据所述参数值,确定所述待检测的姓名的合理性。
可选的,所述确定模块33具体用于:
当所述参数值小于预设值时,确定所述待检测的姓名是合理的,否则不合理。
其中,预设值可以根据实际情况设置。
例如,预设值是3,则当小于3时,根据切比雪夫不等式(大数定律),待检测的姓名被该姓名库生成的概率大于或等于1/9,则该待检测的姓名是合理的,反之,如果该参数值大于或等于3,表明待检测的姓名被该姓名库生成的概率小于1/9,则该待检测的姓名是不合理的。
当识别出不合理后,可以禁止用户注册该姓名等。
本实施例中,通过根据姓名库中字符的概率信息,获取待检测的姓名的参数值,根据参数值确定待检测的姓名的合理性,可以确定出网络上注册的姓名合理性,从而降低恶意注册。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。