用于处理特征库的方法、装置和非暂时性机器可读介质
技术领域
本申请通常涉及大数据分析领域,并且尤其涉及使用文本分析的特征库处理。
背景技术
在大数据分析领域,各个场景上的业务规则、模型不断出现。无论是规则还是模型,都是在特征的基础上构建的。数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。当特征量级达到一定规模时,会存在重复、冗余等问题,并且特征量级太庞大也会影响模型性能,从而需要对特征进行分类。使特征精简、清晰而有效,这在数据驱动的今天显得尤为重要。
目前,存在对代码特征进行相关性分析的一种方法依赖于代码特征日志,其对代码特征日志的结果进行分析,即,通过比较各个代码特征在每个时间上的返回值是否相同来判断代码特征之间的相关性。这种方法计算量级非常大,计算速度慢,并且受存储和计算能力的限制大。
为此,需要提供一种高效率的代码特征相关性分析方法。
发明内容
鉴于上述问题,本申请提供了一种用于特征库分类处理的方法,所述方法包括:使用文本分析方式来对特征库中的至少一个特征进行特征相似性分析,所述特征库中的各个特征采用代码形式表征;以及基于所述特征相似性分析的结果,对所述特征库中的至少一个特征进行分类。
有利地,所述代码是所述特征的脚本,所述脚本代码包括入参、数据视图、velocity和函数,并且使用文本分析方式来对特征库中的至少一个特征进行特征相似性分析包括:对所述至少一个特征中的各个特征进行分词处理,以提取出关键词多元组,所述关键词多元组包括入参、数据视图、velocity和函数中的至少两项;基于所提取出的各个特征的关键词多元组,生成所述各个特征的字符串表示;并且基于所生成的所述至少一个特征中的各个特征的字符串表示,确定所述各个特征之间的两两相似度。
有利地,所述各个特征之间的两两相似度是使用最长公共子序列算法确定的。
有利地,确定所述至少一个特征中的各个特征之间的两两相似度包括:针对所述至少一个特征中的第一特征和第二特征;确定所述第一特征的字符串表示和所述第二特征的字符串表示之间的最长公共子序列长度;确定所述第一特征的字符串表示和所述第二特征的字符串表示之间的汉明距离;并且基于所确定出的最长公共子序列长度和所确定出的汉明距离来计算所述第一特征和所述第二特征之间的相似度,其中,基于所述特征相似性分析的结果,对所述特征库中的至少一个特征进行分类包括:在所计算出的第一特征和第二特征的相似度高于第一阈值时,将所述第一特征和所述第二特征分类为相同类别。
有利地,在基于所述特征相似性分析的结果,对所述特征库中的至少一个特征进行分类之前,所述方法还包括:针对所述至少一个特征中的第一特征和第二特征,在所计算出的第一特征和第二特征的相似度高于第二阈值时,从所述特征库中去除所述第一特征和所述第二特征中的性能影响小的特征。
有利地,所述第一特征和所述第二特征之间的相似度是利用下面公式进行计算的:corr(A,B)=LCS(A,B)/(LD(A,B)+LCS(A,B)),其中,LCS(A,B)表示所述第一特征的字符串表示A和所述第二特征的字符串表示B之间的最长公共子序列长度,LD(A,B)表示所述字符串表示A和所述字符串表示B之间的汉明距离,并且corr(A,B)表示所述字符串表示A和所述字符串表示B之间的相似度。
根据本公开的第二方面,提供一种用于特征库处理的装置,所述装置包括:特征相似性分析单元,被配置为使用文本分析方式来对特征库中的至少一个特征进行特征相似性分析,所述特征库中的各个特征采用代码形式表征;以及特征分类单元,被配置为基于所述相似性分析结果,对所述特征库中的至少一个特征进行分类。
有利地,所述代码是所述特征的脚本代码,所述脚本代码包括入参、数据视图、velocity和函数,其中,所述特征相似性分析分析单元包括:分词处理模块,被配置为从所述至少一个特征中的各个特征进行分词处理,以提取出关键词多元组,所述关键词多元组包括入参、数据视图、velocity和函数中的至少两项;字符串表示生成模块,被配置为基于所提取出的各个特征的关键词多元组,生成所述各个特征的字符串表示;以及相似度确定模块,被配置为基于所生成的所述至少一个特征中的各个特征的字符串表示,确定所述各个特征之间的两两相似度。
有利地,所述各个特征之间的两两相似度是使用最长公共子序列算法确定的,所述相似度确定模块包括:最长公共子序列长度确定子模块,被配置为针对所述至少一个特征中的第一特征和第二特征,确定所述第一特征的字符串表示和所述第二特征的字符串表示之间的最长公共子序列长度;汉明距离确定子模块,被配置为针对所述至少一个特征中的第一特征和第二特征,确定所述第一特征的字符串表示和所述第二特征的字符串表示之间的汉明距离;以及相似度计算子模块,被配置为针对所述至少一个特征中的第一特征和第二特征,基于所确定出的最长公共子序列长度和所确定出的汉明距离来计算所述第一特征和所述第二特征之间的相似度,其中,所述特征分类单元被配置为:针对所述至少一个特征中的第一特征和第二特征,在所计算出的第一特征和第二特征的相似度高于第一阈值时,将所述第一特征和所述第二特征分类为相同类别。
有利地,所述装置还包括特征去除单元,被配置为在基于所述特征相似性分析的结果,对所述特征库中的至少一个特征进行分类之前,针对所述至少一个特征中的第一特征和第二特征,在所计算出的第一特征和第二特征的相似度高于第二阈值时,从所述特征库中去除所述第一特征和所述第二特征中的性能影响小的特征。
有利地,所述第一特征和所述第二特征之间的相似度是利用下面公式进行计算的:corr(A,B)=LCS(A,B)/(LD(A,B)+LCS(A,B)),其中,LCS(A,B)表示所述第一特征的字符串表示A和所述第二特征的字符串表示B之间的最长公共子序列长度,LD(A,B)表示所述字符串表示A和所述字符串表示B之间的汉明距离,并且corr(A,B)表示所述字符串表示A和所述字符串表示B之间的相似度。
根据本公开的再一方面,提供一种计算设备,所述计算设备包括一个或多个处理器和存储器,所述存储器存储指令,所述指令当被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的用于特征库分类处理的方法。
根据本公开的又一方面,提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被计算设备执行时使得所述计算设备执行如上所述的用于特征库分类处理的方法。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1A和1B示出了根据本公开的实施例的以代码形式表征的特征的示例。
图2示出了根据本公开的实施例的用于特征库分类处理的方法的流程图。
图3示出了根据本公开的实施例的在特征代码是特征脚本代码时的相似度分析过程的流程图。
图4示出了根据本公开的实施例的用于计算两个特征之间的相似度的过程的流程图。
图5示出了LCS算法的概念。
图6示出了汉明距离的概念。
图7示出了用于计算相似度的示例。
图8示出了根据本公开的实施例的用于特征库分类处理的装置的方框图。
图9示出了根据本公开的实施例的特征相似性分析单元的一个示例的方框图。
图10示出了根据本公开的实施例的相似度确定模块的一个示例的方框图。
图11示出了根据本公开的实施例的用于特征库管理的计算设备的硬件结构图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
如本领域所公知的,文本分析是在大数据时代对文本数据进行处理的一种常用方式,其中文本相似度计算在信息检索、数据挖掘、机器翻译、文档复制检测等领域有着广泛的应用。在机器学习中,用于机器学习模型训练的特征库通常是由满足一系列条件的数据(即,特征数据)来组成,而特征数据所满足的条件通常以代码的形式实现,从而使得所获取的特征数据是以代码形式表征的特征数据。这里,代码包括但不限于SQL、Python或Java等。图1A和1B示出了以Java脚本形式表征的特征的示例。其中,图1A中的特征包含函数、数据视图、velocity和入参四个关键词,并且图1B中的特征包含函数、数据视图和入参三个关键词。
在自然语言处理(NLP)中,文本分析算法已经得到了广泛的应用,例如,计算词频、反文档频率、余弦相似度等等。在本申请中,在对模型的特征库进行处理以去除冗余特征或者对特征进行分类时,将文本分析方法应用到以代码形式表示的特征中。
图2示出了根据本公开的实施例的用于特征库分类处理的方法的流程图。如图2所示,在步骤201中,使用文本分析方式来对特征库中的至少一个特征进行特征相似性分析,所述特征库中的各个特征采用代码形式表征。然后在步骤203中,基于所述特征相似性分析的结果,对所述特征库中的至少一个特征进行分类。例如,如果所述结果表明所计算出的第一特征和第二特征的相似度高于第一阈值,则将所述第一特征和所述第二特征分类为相同类别。利用该方法,能够对代码形式的特征进行分类处理等等。
在本公开的一个可选实施例中,在步骤203之前,所述方法还可以包括步骤202。在步骤202中,基于所述特征相似性分析的结果,从所述特征库中去除性能影响小的特征。例如,如果所述结果表明所计算出的第一特征和第二特征的相似度高于第二阈值,所述第二阈值高于所述第一阈值,则认为第一特征和第二特征之间的冗余度非常高,即,第一特征所反映的特性与第二特征所反映的特性基本相同。在这种情况下,同时保留第一特征和第二特征的价值不大,由此需要从特征库中去除第一特征和第二特征中的一个,以降低特征库中的冗余度。在本公开中,如果所述结果表明所计算出的第一特征和第二特征的相似度高于第二阈值,则从所述特征库中去除所述第一特征和所述第二特征中的性能影响小的特征。在本公开中,第一阈值和第二阈值可以基于具体应用场景来确定,比如,可以基于具体应用场景来根据经验确定。例如,第一阈值可以是0.9,并且第二阈值可以是0.98。利用该可选方案,能够对代码形式的特征进行冗余去除,从而提高特征分类效率。
脚本是一种需要借助解释器的解释型代码,本申请中以Java特征脚本为例来对具体实现进行描述。图3说明了根据本公开的实施例的用于对特征库中的特征脚本进行文本分析的实现框图。
如图3所示,在对特征进行文本分析之前,对特征库中的每一个Java特征脚本进行分词处理,步骤2011。通常,Java特征脚本包含诸如函数、数据视图、入参、velocity、子特征和无意义脚本的六大类关键词。如果Java特征脚本中包含子特征关键词,则对其中的子特征再次进行分词处理,进一步分为诸如函数、数据视图、入参、velocity、子特征和无意义脚本的六大类关键词。重复上述步骤,直到分词结果中不再包含子特征。即,在分词处理后,每个特征脚本被分为包含函数、数据视图、入参、velocity和无意义脚本等中的全部或部分关键词。这里,函数是指计算公式,类似代码中的函数;数据视图是指特征的数据来源,例如注册、认证基础信息、交易信息等;入参是指特征刻画的主体,例如账户号、手机号等;velocity是指主体的近期行为,可以理解为一种累积值;子特征是指被嵌套调用的另一个特征;并且无意义脚本是指其他文本。
在步骤2012,利用上述这些关键词组成关键词多元组以形成新的字符串。根据本申请的一个方面,可以从上述关键词中选取函数、数据视图、入参和velocity中的两个、三个或者四个来组成关键词多元组。优选地,选择函数数据视图、入参和velocity来组成包含四个关键词的关键词多元组,能够达到最佳的效果。
返回参见图1A和1B,其中图1A中的特征脚本包含函数、数据视图、入参和velocity四个关键词,并且图1B中的特征脚本包含函数、数据视图和入参三个关键词。下面详细解释如何对Java特征脚本进行分词处理以形成新的字符串。首先以图1A的特征为例,函数为isStrBlank,数据视图为uct_event_properties和newVelocityString,入参为eventPropert150,并且velocity为2933、opposingUserId、lbsLocationCity、30d和previous,从而构成新的字符串str1=isstrblankucteventpropertiesnewvelocitystringeventproperty1502933opposinguseridlbslocationcity30dprevious。进而,以图1B的特征为例,函数为isStrBlank和strContains,数据视图为uct_event_properties,并且入参为Name,从而构成新的字符串str2=isstrblankstrcontainsucteventpropertiesname。
再次参见图3,在组成关键词多元组以形成新的字符串之后,对新的字符串执行两两字符串的相关性分析,以便获得各个字符串之间的相似度,即各个特征之间的相关性,步骤2013。根据本公开的一个方面,通过仅保留业务含义较强的字段(例如,入参、数据视图、velocity、函数),避免弱影响字段的干扰,提高了文本相似度结果与特征真实相关性的匹配度。
存在各种文本相似度算法,例如通过计算两个向量的夹角余弦值来评估相似度的余弦相似性算法,通过计算两篇文档共有的词的总字符数除以最长文档字符数以评估相似度的简单共有词算法,通过计算用于将一个字符串变换成另一个字符串所需替换的字符个数的汉明距离算法,通过计算样本集的交集与样本集的合集的比值的Jaccard相似性系数算法,用于计算两个字符串的公共子序列中长度最长的子序列长度的最长公共子序(LCS,longest common subsequence)长度算法,等等。下面采用最长公共子序长度算法和汉明距离算法二者的组合来描述本公开。
在特征以脚本形式进行表征时,由于脚本本身具有一定的规范性,可以直接进行分词处理而不需要使用分词算法对特征进行处理。
在特征以非特征脚本形式的代码表征时,代码可能不像脚本那样总是具有规范性。如果代码中存在一些非规范性表述,则需要采用一些分词算法来获得规范性特征从而进行如上所述的分词处理。常用的分词算法有基于词典的分词算法和基于统计的机器学习算法,还有基于神经网络的分词器,等等。本领域技术人员可以根据实际需要来选择合适的分词算法对非规范性的特征代码进行处理以获得规范性特征来进行上述的分词处理。
图4示出了根据本公开的实施例的用于计算两个特征之间的相关性的方法的详细流程图。
在步骤2013-1中,针对第一特征和第二特征,确定第一特征的字符串表示和第二特征的字符串表示之间的最长公共子序列LCS长度。假设字符串A有n个元素,B有m个元素,如果利用枚举法来计算LCS长度,则需要遍历每种可能,该算法的复杂度为2(m+n)。而利用LCS算法,将两个字符串按矩阵方式排列,计算A的前i个元素与B的前j个元素之间的最长公共子序列长度,这样计算的复杂度将降低为o(m+n),大大减少了计算时间。下面参照图5来描述LCS算法的概念。
在图5中,将字符串A“GCGCAATG”排列为矩阵的列,将字符串B“GCCCTAGCG”排列为矩阵的行,根据LCS算法,可以得出字符串A和字符串B的LCS长度为5,例如,字符串A与字符串B的一个LCS可以是“GCCAG”。
在步骤2013-2,确定第一特征的字符串表示和第二特征的字符串表示之间的汉明距离。在信息理论中,汉明距离表示两个等长字符串在对应位置上不同字符的数目,或者可以理解为通过替换字符的方式将字符串A变成字符串B所需要的最小的替换次数。下面参照图6来描述汉明距离的概念。
在图6中,字符串“0110”与字符串“1110”之间的汉明距离为1,即,需要将字符串“0110”中的第一个字符“0”替换为“1”,以便变为字符串“1110”。同样,字符串“0100”与字符串“1001”之间的汉明距离为3,即,需要将字符串“0100”中的第一个字符“0”替换为“1”,将字符串“0100”中的第二个字符“1”替换为“0”,并且将字符串“0100”中的第四个字符“0”替换为“1”,以便变为字符串“1001”。
在步骤2013-3,根据下面的公式并且基于所确定出的最长公共子序列长度和所确定出的汉明距离来计算所述第一特征和所述第二特征之间的相似度:
corr(A,B)=LCS(AB)/(LD(A,B)+LCS(A,B))
其中,LCS(A,B)表示字符串A和字符串B之间的最长公共子序列长度,LCS(A,B)表示字符串A和字符串B之间的汉明距离,并且corr(A,B)表示字符串A和字符串B之间的相似度。
下面参照图7来说明利用上述公式对字符串进行相似度计算的一个示例。
如在图7中示出的,在字符串A和字符串B都是“abc”的情况下,这两个字符串之间的LCS长度为3,这两个字符串之间的汉明距离为0,从而根据上面的公式计算出的字符串A和字符串B之间的相似度为1;在字符串A是“abc”且字符串B是“abcdef”的情况下,这两个字符串之间的LCS长度为3,这两个字符串之间的汉明距离为3,从而根据上面的公式计算出的字符串A和字符串B之间的相似度为0.5;并且在字符串A是“abc”且字符串B是“abcdefghi”的情况下,这两个字符串之间的LCS长度为3,这两个字符串之间的汉明距离为6,从而根据上面的公式计算出的字符串A和字符串B之间的相似度为0.3333。
在步骤2013-4中,将计算出的相似度与第一阈值进行比较。这里,假设第一阈值为0.9。如果计算出的相似度大于0.9,则在步骤2013-5中,将所述第一特征和所述第二特征分类为相同类别。如果计算出的相似度小于0.9,则在步骤2013-6中,需要综合考虑其他因素进行处理。例如,如果计算出的相似度小于0.9但是接近于0.9,则可以结合要判断的特征是否属于同一主体以及对黑白样本的区分度是否相似等等来做出进一步确定,并且通常仍然认为二者属于相同的类别。如果计算出的相似度远远小于0.9,则可以明确地确定这两个特征不属于相同的类别。这里,第一阈值的选取是示例性的,并且根据本公开的应用场景,可以选择不同的第一阈值。
经过对特征库中的所有特征进行相关性确定之后,可以得到处理后的特征库,在该处理后的特征库中,特征变得精简、清晰而有效。并且,利用根据本公开的使用文本分析对代码特征进行处理的方法,能够减少计算量和计算时间、节约大量的存储和计算资源。
下面描述根据本公开的实施例的用于特征库分类处理的装置。图8示出了根据本公开的实施例的用于特征库分类处理的装置的方框图。如图8所示,装置800包括特征相似性分析单元801、特征分类单元803以及可选的特征去除单元802。
特征相似性分析单元801针对特征库中以代码形式表征的特征,该特征相似性分析单元801使用文本分析方式来对特征库中的至少一个特征进行特征相似性分析,所述特征库中的各个特征采用代码形式表示。特征分类单元803基于所述特征相似性分析的结果,对所述特征库中的至少一个特征进行分类。例如,如果所述结果表明所计算出的第一特征和第二特征的相似度高于第一阈值,则将所述第一特征和所述第二特征分类为相同类别。
作为可选的单元,特征去除单元802基于所述特征相似性分析的结果,从所述特征库中去除性能影响小的特征。例如,如果所述结果表明所计算出的第一特征和第二特征的相似度高于第二阈值,则从所述特征库中去除所述第一特征和所述第二特征中的性能影响小的特征。所述第二阈值高于所述第一阈值。
图9示出了根据本公开的实施例的特征相似性分析单元的一个示例的方框图。如图9所示,特征相似性分析单元包括分词处理模块8011、字符串表示生成模块8012和相似度确定模块8013。
分词处理模块8011对各个特征进行分词处理,以提取出关键词多元组,所述关键词多元组包括入参、数据视图、velocity和函数中的至少两项。通常,Java特征脚本包含诸如函数、数据视图、入参、velocity、子特征和无意义脚本的六大类关键词。如果Java特征脚本中包含子特征关键词,则对其中的子特征再次进行分词处理,进一步分为诸如函数、数据视图、入参、velocity、子特征和无意义脚本的六大类关键词。重复上述步骤,直到分词结果中不再包含子特征。即,在分词处理后,每个特征脚本被分为包含函数、数据视图、入参、velocity和无意义脚本等中的全部或部分关键词。
字符串表示生成模块8012基于所提取出的各个特征的关键词多元组,生成各个特征的字符串表示。根据本申请的一个方面,字符串表示生成模块8012可以从上述关键词中选取函数、数据视图、入参和velocity中的两个、三个或者四个来组成关键词多元组。优选地,由函数数据视图、入参和velocity组成的包含四个关键词的关键词多元组,能够达到最佳的效果。上面参照图1A和1B描述了具体的字符串形成过程,这里不再赘述。
在组成关键词多元组以形成新的字符串之后,相似度确定模块8013基于所生成的所述至少一个特征中的各个特征的字符串表示,确定所述各个特征之间的两两相似度。
存在各种文本相似度确定方法。本文采用最长公共子序长度算法和汉明距离算法二者的组合来确定文本相似度。
下面参照图10来描述相似度确定模块。图10示出了根据本公开的实施例的相似度确定模块的一个示例的方框图。如图10所示,相似度确定模块包括最长公共子序列长度确定子模块8013-1、汉明距离确定子模块8013-2和相似度计算子模块8013-3。
最长公共子序列长度确定子模块8013-1针对第一特征和第二特征,确定所述第一特征的字符串表示和所述第二特征的字符串表示之间的最长公共子序列长度。最长公共子序列长度的具体计算在上面参照图4的描述中已经提及,这里不再赘述。
汉明距离确定子模块8013-2针对第一特征和第二特征,确定所述第一特征的字符串表示和所述第二特征的字符串表示之间的汉明距离。汉明距离的计算在上面参照图5的描述中已经提及,这里不再赘述。
相似度计算子模块8013-3针对第一特征和第二特征,基于所确定出的最长公共子序列长度和所确定出的汉明距离来计算所述第一特征和所述第二特征之间的相似度。例如,在一个示例中,相似度计算子模块8013-3可以根据下面的公式来计算两个特征的字符串之间的相似度:corr(A,B)=LCS(A,B)/(LD(A,B)+LCS(A,B)),其中,LCS(A,B)表示字符串A和字符串B之间的最长公共子序列长度,LD(A,B)表示字符串A和字符串B之间的汉明距离,并且corr(A,B)表示字符串A和字符串B之间的相似度。
针对所述第一特征和所述第二特征,在所计算出的第一特征和第二特征的相似度高于第一阈值时,将所述第一特征和所述第二特征分类为相同类别。这里,可以取第一阈值为0.9。如果计算出的相似度大于0.9,则确定字符串所对应的特征属于相同的类别。如果计算出的相似度小于0.9,则需要综合考虑其他因素进行处理。例如,如果计算出的相似度小于0.9但是接近于0.9,则可以结合判断的特征是否属于同一主体以及对黑白样本的区分度是否相似等等来做出进一步确定,并且通常仍然认为二者属于相同的类别。如果计算出的相似度远远小于第二阈值,则可以明确地确定这两个特征不属于相同的类别。这里,第一阈值的选取是示例性的,并且根据本公开的应用场景,可以选择不同的第一阈值。
如上参照图1A到图10,对根据本公开的特征库分类管理方法和特征库分类管理装置的实施例进行了描述。上面的特征库分类管理装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图11示出了根据本公开的实施例的用于特征库分类管理的计算设备1100的硬件结构图。如图11所示,计算设备1100可以包括至少一个处理器1110、非易失性存储器1120、内存1130和通信接口1140,并且至少一个处理器1110、非易失性存储器1120、内存1130和通信接口1140经由总线1160连接在一起。至少一个处理器1110执行在存储器1120中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在非易失性存储器1120中存储计算机可执行指令,其当执行时使得至少一个处理器1110:使用文本分析方式来对特征库中的至少一个特征进行特征相似性分析,所述特征库中的各个特征采用代码形式表征;以及基于所述特征相似性分析的结果,对所述特征库中的至少一个特征进行分类。
应该理解,在非易失性存储器1120中存储的计算机可执行指令当被执行时使得至少一个处理器1110执行本公开的各个实施例中以及结合图1A-10描述的各种操作和功能。
为了表明本公开的技术方案与现有技术的优势,申请人做了如下试验:抽样选2个具有代码形式的特征的特征库作为分析对象,通过运行根据本公开的方法步骤来获取此部分特征的相关系数。同时清洗以上2个特征库的真实日志(即,特征在每个事件上的返回值),使用日志进行相关性分析,获取各特征的真实相关系数。申请人将文本分析得出的相关系数与真实相关系数进行比对后发现,本公开的方法在验证集上的准确率已经达到业务需要标准。而相比于日均数据量亿级的特征日志,总量在万级别的特征脚本分析起来更加快速灵活,节约计算资源,更可以长期运营。
另外,如在上文中描述的,本公开的方案已经应用于大安全特征迁移的项目中。在该项目中,将特征库1从一个平台更换到另一个平台,即,升级成特征库2。特征库1和特征库2中的特征均以特征脚本的形式进行表征。在特征库的升级过程中,利用根据本公开的方法来对特征库1直接的变量进行分类和相关性判断。此外,对于升级前后的特征库1和特征库2也进行比对校验,在该比对校验的过程中,也可以使用根据本公开的方法进行。而且,根据本公开的方法可以在SQL文档管理和日常代码管理等应用场景下使用,并且可以用于分析特征的命名,等等。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。