一种针对乱码的训练样本特征提取方法、装置及设备与流程

文档序号:18704417发布日期:2019-09-17 23:26阅读:278来源:国知局
一种针对乱码的训练样本特征提取方法、装置及设备与流程

本说明书实施例涉及信息技术领域,尤其涉及一种针对乱码的训练样本特征提取方法、装置及设备。



背景技术:

在电商场景下,盗用分子用盗来的卡和账户下单时,为了能短时间作案多笔,通常会在填写订单信息时候快速敲击乱码,如物流地址填写为:jkdsjaldasjdlkadsjakl,姓名填写为uiwo等等。

传统的文本量化方法如word2vec,是基于语境进行训练的,即根据一段话的上下文语境搭配,将文本转变成向量。由于乱码的语境非常的弱,这种方式对于对这种乱码尚没有很好的办法进行检测。

基于此,需要一种针对乱码的训练样本特征提取方案,以便进行针对乱码的模型训练和乱码识别。



技术实现要素:

本申请实施例的目的是提供一种针对乱码文本的训练样本特征提取方法。

为解决上述技术问题,本申请实施例是这样实现的:

一种针对乱码文本的训练样本特征提取方法,包括:

获取字符串,确定所述字符串的长度n;

从所述字符串的第一个字符开始,确定由前后相邻的两个字符组成的n-1个字符组,按照顺序生成包含n-1个字符组的字符输入序列;

基于预先设定的特征值提取规则,确定所述字符输入序列中每个字符组所对应的字符组特征向量,其中,所述特征值提取规则与乱码在实际键盘空间的输入方式相关,所述字符组特征向量包含至少一个特征值;

根据所述n-1个字符组特征向量,生成对应于所述字符串的字符串特征向量;

将所述字符串特征向量确定为所述字符串所对应的训练样本的特征值,以便进行乱码识别模型训练。

对应的,本说明书实施例还提供一种业务风险防控装置,包括:

一种针对乱码文本的训练样本特征提取装置,包括:

获取模块,获取字符串,确定所述字符串的长度n;

字符组确定模块,从所述字符串的第一个字符开始,确定由前后相邻的两个字符组成的n-1个字符组,按照顺序生成包含n-1个字符组的字符输入序列;

字符组特征向量确定模块,基于预先设定的特征值提取规则,确定所述字符输入序列中每个字符组所对应的字符组特征向量,其中,所述特征值提取规则与乱码在实际键盘空间的输入方式相关,所述字符组特征向量包含至少一个特征值;

字符串特征向量确定模块,根据所述n-1个字符组特征向量,生成对应于所述字符串的字符串特征向量;

特征值确定模块,将所述字符串特征向量确定为所述字符串所对应的训练样本的特征值,以便进行乱码识别模型训练。

在另一方面,本说明书实施例还提供一种基于上述乱码识别模型的乱码识别方法,包括:

获取交易中的字符串;

确定所述字符串的长度n;

基于预先设定的特征值提取规则,确定所述字符输入序列中每个字符组所对应的字符组特征向量,其中,所述字符组特征向量包含至少一个特征值,所述特征值提取规则与乱码在实际键盘空间的输入方式相关;

根据所述n-1个字符组特征向量,生成对应于所述字符串的字符串特征向量;

将所述字符串特征向量确定为所述字符串所对应的特征值;

基于所述字符串所对应的特征值,采用所述乱码识别模型确定所述字符串是否为乱码和/或确定所述字符串的乱码类型。

与另一方面对应的,本说明书实施例还提供一种基于前述的乱码识别模型的乱码识别装置,包括:

获取模块,获取交易中的字符串;

字符组确定模块,确定所述字符串的长度n;

字符组特征向量确定模块,基于预先设定的特征值提取规则,确定所述字符输入序列中每个字符组所对应的字符组特征向量,其中,所述字符组特征向量包含至少一个特征值,所述特征值提取规则与乱码在实际键盘空间的输入方式相关;

字符串特征向量确定模块,根据所述n-1个字符组特征向量,生成对应于所述字符串的字符串特征向量;

特征值确定模块,将所述字符串特征向量确定为所述字符串所对应的特征值;

识别模块,基于所述字符串所对应的特征值,采用所述乱码识别模型确定所述字符串是否为乱码和/或确定所述字符串的乱码类型。

本说明书实施例所提供的方案,从乱码的输入方式与键盘的空间关系出发,提取出乱码的在输入时的相应特征,进而生成关于乱码的训练样本的特征值。从而,可以根据该特征值进行模型的训练和乱码识别,能够更好的反应乱码的特点。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。

此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本说明书实施例提供的一种针对乱码文本的训练样本特征提取方法的流程示意图;

图2为本说明书实施例所提供的一种基于键盘空间的左手区域以及右手区域的划分示意图;

图3为本说明书实施例所提供的一种字符在多个区域的坐标系的坐标赋值示意图;

图4为本说明书实施例所提供的一种从字符串到字符串特征向量的逻辑示意图;

图5为本说明书实施例所提供的一种针对乱码的聚类模型的示意图;

图6为本说明书所提供的一种乱码识别方法的流程示意图;

图7是本说明书实施例提供的一种针对乱码文本的训练样本特征提取装置的结构示意图;

图8是本说明书实施例提供的一种乱码识别装置的结构示意图;

图9是用于配置本说明书实施例方法的一种设备的结构示意图。

具体实施方式

为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。

当前的模型识别已经应用非常广泛,使用模型进行识别的基础则是有足够多的可用样本训练得到一个可用模型。

本说明书实施例中所涉及的乱码是一串无语义的字符串,包括各种语言形式,例如“sfgsdfg”,或者,“阿打发斯”等等,对于非英语的其他形式语言的词组可以通过相应的转换得到对应的字符串。

在针对乱码进行识别时,由于传统的文本乱码识别方法,例如,word2vec方法,所用的文本向量是基于语境(前后词组的语义)进行训练的,而乱码本身是无语义的字母组合,因此得到文本向量不能很好的反应乱码。换言之,基于传统方法很难获得针对乱码的可用训练样本(即样本的特征没有被准确的提取出来,特征值不能很好的反应乱码的特征),在没有可靠的训练样本的基础上建立的乱码识别模型效果也不理想。

基于此,本说明书实施例提供一种针对乱码文本的训练样本特征提取方案,以实现更好的获乱码的训练样本的特征值。

以下结合附图,详细说明本说明书各实施例提供的技术方案。如图1所示,图1是本说明书实施例提供的一种针对乱码文本的训练样本特征提取方法的流程示意图,该流程具体包括如下步骤:

s101,获取字符串,确定所述字符串的长度n。

需要说明的是,本说明书实施例中是针对已知的字符串,进行训练样本的特征提取。换言之,在获取字符串时,已经可以明确的知道该字符串是乱码还不是乱码。例如,字符串可以是形如“jkduii”的乱码,也可以是形如“chen”这样的非乱码。非乱码的字符串可以作为训练样本中的负样本。

字符串的长度n为不低于2的自然数。

s103,从所述字符串的第一个字符开始,确定由前后相邻的两个字符组成的n-1个字符组,按照顺序生成包含n-1个字符组的字符输入序列。

以前述的乱码“jkduii”作为示例,该乱码的长度为7(包括一个空格),则对于该乱码可以提取得到6个字符组,进而得到字符输入序列如下:[j-k,k-d,d-#,#-u,u-i,i-i],其中的“#”对应于空格字符。

s105,基于预先设定的特征值提取规则,确定所述字符输入序列中每个字符组所对应的字符组特征向量。

设定的特征值提取规则与乱码在实际键盘空间的输入方式相关,从而可以根据用户在输入字符串时的行为特征反映出乱码的部分属性。

本说明书实施例示例性的提供以下特征值提取规则:

(1),以字符组中的两个字符是否在预先定义的区域中进行了切换确定第二特征值。

具体而言,所述预先定义的区域可以分为左手区域或者右手区域,以及,常用区域或者不常用区域等等。需要说明的是,这种区域的划分与实际键盘是存在对应关系,划分的方式可以根据实际经验预先确定。

图2为本说明书实施例所提供的一种基于键盘空间的左手区域以及右手区域的划分示意图。在实际应用中,由于实际键盘空间中按键的位置有所不同,进而左手区域或者右手区域中所包含的字符也可能相应变动。

基于前述方式,一个字符总是可以被划分至某个区域中,从而可以知道一个字符组中的两个字符是否进行了区域切换。例如,基于图2中的区域划分方式,字符组“j-k”没有进行区域切换,而字符组“k-d”则进行了区域切换。

进而在赋值时,则可以相应的将字符组“j-k”的第二特征值确定为“1”,则字符组“k-d”的第二特征值确定为“0”。当然,具体的第二特征值大小是可以根据实际需要进行设定。

容易理解,在正常进行字符串输入时,总是经常会需要进行区域切换,而在输入乱码时,区域切换的频率则大大降低,因此,第二特征值可以部分的反映出乱码在字符在输入时的区域切换频率方面的特征。

(2),以字符组中的两个字符在预先定义的坐标系中的距离确定第一特征值,其中,所述坐标系中的字符坐标对应于实际键盘中的字符位置。

所述的坐标系一般即为一个平面坐标系,在所述坐标系中,基于每个字符在实际键盘中的位置,给定相应的二维坐标。

需要说明的是,在给定坐标系时,可以基于全部键盘给定一个坐标系,也可以基于前述的区域划分,对于每个区域分别给定坐标系。如图3所示,图3为本说明书实施例所提供的一种字符在多个区域的坐标系的坐标赋值示意图。

在给定一个全局坐标系时,则第一特征值可以基于字符组中字符在全局坐标系的距离计算得到。距离的计算方式即为平面坐标中的点与点之间的距离计算方式。

在基于多个区域给定了多个坐标系时,则如果字符组中的字符发生了区域切换,可以基于各自的坐标计算第一特征值,也可以直接给定第一特征值;而如果两个字符在同一区域中,则可以基于字符组中的距离计算。

例如,基于图3中的所示坐标系,对于字符组“j-k”,则两个字符的坐标分别为(3,1)以及(4,1),则此时字符组“j-k”的第一特征值为又例如,对于字符组“k-d”,两个字符的坐标分别为(4,1)以及(3,1),由于两个字符发生了区域切换,则二者的距离为此时,可以根据距离确定字符组“k-d”的第一特征为或者,也可以直接设定进行了区域切换的字符组的第一特征为“1”。

在正常进行字符串输入时,距离常常会比较大,而在输入乱码时,字符之间的距离则常常会比较小,因此,第一特征值可以部分的反映出乱码在字符在输入时的空间距离方面的特征。

(3),以字符组中的两个字符是否大小写切换确定第三特征值。

当字符组中的两个字符的大小写格式不同时,赋值为“1”,相同时赋值为“0”。例如,字符组“j-k”的第三特征值即为0。正常输入时一般存在大小写切换,而乱码输入则一般基本不存在大小写切换。

(4),以与前一字符组中的字符顺序是否相反确定第四特征值。

该特征反应了字符串中是否存在回敲行为。例如,对于字符串“aksk”,可以得到字符组序列[a-k,k-s,s-k],则对于第三个字符组而言,其字符顺序与第二个字符组相反,则可以给定字符组“s-k”的第四特征值为“1”。在乱码输入时,回敲的频率远远高于正常输入。

在实际应用中,针对乱码的特征值的提取规则并不限于上述几种,只需提取规则与乱码在实际键盘空间的输入方式相关即符合本申请的精神。

s107,根据所述n-1个字符组特征向量,生成对应于所述字符串的字符串特征向量。

在一种实施例中,可以将得到的n-1个字符组特征向量合并得到一个对应的矩阵,进而对矩阵进行列相加,或者,对矩阵进行列求平均,得到一个字符串特征向量,生成的字符串特征向量与字符组特征向量维度相同。

以及,还可以对于不同的字符组赋予不同的权值,例如,对于,对于一些可能经常出现在乱码中的字符组赋予较高的权值,对各字符组特征向量进行加权平均得到字符串特征向量。如图4所示,图4为本说明书实施例所提供的一种从字符串到字符串特征向量的逻辑示意图。

s109,将所述字符串特征向量确定为所述字符串所对应的训练样本的特征值,以便进行乱码识别模型训练。

本说明书实施例所提供的方案,从乱码的输入方式与键盘的空间关系出发,提取出乱码的在输入时的相应特征,进而生成关于乱码的训练样本的特征值。从而,可以根据该特征值进行模型的训练和乱码识别,能够更好的反应乱码的特点。

进一步地,本说明书实施例还可以基于前述的字符串所对应的训练样本的特征值进行相应的模型训练。具体而言,训练模型的方式可以包括有监督训练或者无监督聚类训练。

如前所述,本说明实施例在事先可以明确每个字符串是否为乱码,还可以基于正常的字符串进行特征值提取以作为训练时的负样本。因此,实际上每个训练样本可以被给定相应的标签(是乱码,或者不是乱码),从而,可以根据训练样本的特征值训练得到第一乱码识别模型,用于识别一个字符串是否为乱码。

同时,无需每个字符串的标签,本说明书实施例还可以基于字符串的特征值进行相应的无监督聚类模型训练,通过聚类训练,可以将具有相似特征的字符串进行相应的分类,从而得到用于分类的第二乱码识别模型。如图5所示,图5为本说明书实施例所提供的一种聚类模型的示意图。基于该模型,可以将同一种模式的敲击行为所产生的乱码聚集起来,例如,图5中所示出的两种不同输入风格类型的乱码,由于团伙性乱码经常为同一人或者同一类模型所制造的,经常会具有相同的输入风格,因此,该识别方式对识别团伙性风险行为有显著作用。

在另一方面,本说明书实施例还提供一种基于前述的乱码识别模型的乱码识别方法,如图6所示,图6为本说明书所提供的乱码识别方法的流程示意图,包括:

s601,获取交易中的字符串。此处的字符串可以是交易中的姓名、地址、联系方式等等。

s603,确定所述字符串的长度n,n为不低于2的自然数。

s605,基于预先设定的特征值提取规则,确定所述字符输入序列中每个字符组所对应的字符组特征向量,其中,所述字符组特征向量包含至少一个特征值,所述特征值提取规则与乱码在实际键盘空间的输入方式相关。

预先设定的特征值提取规则已经在前文进行了说明,此处不再赘述。

s607,根据所述n-1个字符组特征向量,生成对应于所述字符串的字符串特征向量;

s609,将所述字符串特征向量确定为所述字符串所对应的特征值;

s611,基于所述字符串所对应的特征值,采用所述乱码识别模型确定所述字符串是否为乱码和/或确定所述字符串的乱码类型。所述的乱码识别模型可以是前述的第一乱码识别模型和/或第二乱码识别模型。

对应的,本说明书实施例还提供一种针对乱码文本的训练样本特征提取装置,如图7所示,图7是本说明书实施例提供的一种针对乱码文本的训练样本特征提取装置的结构示意图,包括:

获取模块701,获取字符串,确定所述字符串的长度n;

字符组确定模块703,从所述字符串的第一个字符开始,确定由前后相邻的两个字符组成的n-1个字符组,按照顺序生成包含n-1个字符组的字符输入序列;

字符组特征向量确定模块705,基于预先设定的特征值提取规则,确定所述字符输入序列中每个字符组所对应的字符组特征向量,其中,所述特征值提取规则与乱码在实际键盘空间的输入方式相关,所述字符组特征向量包含至少一个特征值;

字符串特征向量确定模块707,根据所述n-1个字符组特征向量,生成对应于所述字符串的字符串特征向量;

特征值确定模块709,将所述字符串特征向量确定为所述字符串所对应的训练样本的特征值,以便进行乱码识别模型训练。

进一步地,在所述装置中,所述特征值提取规则包括以下规则中的至少一种:以字符组中的两个字符在预先定义的坐标系中的距离确定第一特征值,其中,所述坐标系中的字符坐标对应于实际键盘中的字符位置;或者,以字符组中的两个字符是否在预先定义的区域中进行了切换确定第二特征值;或者,以字符组中的两个字符是否大小写切换确定第三特征值;或者,以与前一字符组中的字符顺序是否相反确定第四特征值。

进一步地,所述字符串特征向量确定模块707,计算所述n-1个字符组特征向量的平均值,生成所述字符串的字符串特征向量。

进一步地,所述装置还包括模型训练模块711,根据所述字符串所对应的训练样本的特征值,进行有监督或者无监督模型训练,生成乱码识别模型。

与另一方面对应的,本说明书实施例还提供一种乱码识别装置,如图8所示,图8是本说明书实施例提供的一种乱码识别装置的结构示意图,包括:

获取模块801,获取交易中的字符串;

字符组确定模块803,确定所述字符串的长度n;

字符组特征向量确定模块805,基于预先设定的特征值提取规则,确定所述字符输入序列中每个字符组所对应的字符组特征向量,其中,所述字符组特征向量包含至少一个特征值,所述特征值提取规则与乱码在实际键盘空间的输入方式相关;

字符串特征向量确定模块809,根据所述n-1个字符组特征向量,生成对应于所述字符串的字符串特征向量;

特征值确定模块811,将所述字符串特征向量确定为所述字符串所对应的特征值;

识别模块813,基于所述字符串所对应的特征值,采用所述乱码识别模型确定所述字符串是否为乱码和/或确定所述字符串的乱码类型。

本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图1所示的针对乱码文本的训练样本特征提取方法。

本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图6所示的乱码识别方法。

图9示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1020可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1或者图6所示的方法。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

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