CN107807987A - 一种字符串分类方法、系统及一种字符串分类设备 - Google Patents

一种字符串分类方法、系统及一种字符串分类设备 Download PDF

Info

Publication number
CN107807987A
CN107807987A CN201711046466.5A CN201711046466A CN107807987A CN 107807987 A CN107807987 A CN 107807987A CN 201711046466 A CN201711046466 A CN 201711046466A CN 107807987 A CN107807987 A CN 107807987A
Authority
CN
China
Prior art keywords
character string
string
sorted
character
subsegment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711046466.5A
Other languages
English (en)
Other versions
CN107807987B (zh
Inventor
刘文印
杨振国
袁华平
陈旭
黎宇坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201711046466.5A priority Critical patent/CN107807987B/zh
Priority to PCT/CN2018/072999 priority patent/WO2019085275A1/zh
Priority to US16/482,256 priority patent/US11463476B2/en
Publication of CN107807987A publication Critical patent/CN107807987A/zh
Application granted granted Critical
Publication of CN107807987B publication Critical patent/CN107807987B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Abstract

本发明公开了一种字符串分类方法包括:获取待分类字符串;将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量;将所述特征向量输入分类器中,得到所述待分类字符串的分类结果。由此可见,本发明公开的字符串分类方法,在字符串分类的过程中,仅仅使用字符串本身的特征,即直接将待分类字符串输入特征提取器中得到特征向量,分类器根据特征向量对待分类字符串进行分类,避免使用与待分类字符串相关联的其他信息。本发明还公开了一种字符串分类系统及一种字符串分类设备和计算机可读存储介质,同样能实现上述技术效果。

Description

一种字符串分类方法、系统及一种字符串分类设备
技术领域
本发明涉及文本处理技术领域,更具体地说,涉及一种字符串分类方法、系统一种字符串分类设备和计算机可读存储介质。
背景技术
文本处理技术有很多应用,可以应用于网络钓鱼检测技术领域、恶意网络请求检测技术领域、及文档分类领域。随着互联网应用在我国的飞速发展,网络安全受到极大威胁,各种恶意网络请求越来越多,网络钓鱼的对象也主要分布在金融网站和电子商务网站方面。由于其钓鱼手段的层出不穷,蔓延速度快,造成损失巨大,已使其成为最严重的诈骗问题之一,也严重阻碍了在线金融、电子商务的健康发展。目前网络钓鱼已经成为互联网历史上传播速度最快、最为普及的网络诈骗方式。
现有技术大部分的字符串分类方法中,通常是要利用与字符串相关联的其他信息,例如钓鱼网站检测中除了需要URL网址字符串,还需要其网页的信息,来提取特征,有的方法甚至需要利用多层页面的信息,这就导致在实际使用中需要访问网页来获得页面信息,遇到网络状态不好时系统就无法做到实时检测。同时,现有的利用机器学习方法来实现字符串分类的方法中,通常需要结合人工经验来设计特征提取的方法,这需要领域专家知识,而且针对不同的问题,其特征设计的方法也不同,所以这是非常繁琐的步骤,另外,人工设计的特征往往依赖于特定的数据集,会带有主观因素,限制了模型的表现能力。
因此,如何在字符串分类的过程中设计自动提取特征的方法以及仅仅使用字符串本身的特征,避免使用与其相关联的其他信息是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种字符串分类方法、系统及一种字符串分类设备和计算机可读存储介质,在字符串分类的过程中仅仅使用字符串本身的特征,避免使用与其相关联的其他信息。
为实现上述目的,本发明实施例提供了一种字符串分类方法,包括:
获取待分类字符串;
将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量;
将所述特征向量输入分类器中,得到所述待分类字符串的分类结果。
其中,将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量,包括:
将所述待分类字符串输入所述特征提取器中;
所述特征提取器将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择M个字符串子段;其中,N为正整数,M为不大于N的正整数;
所述特征提取器将所述M个字符串子段输入训练完成的C2V模型中,生成所述M个字符串子段中每一个字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一个字符串子段中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数;
所述特征提取器利用统计学方法计算所述特征矩阵每一列的统计特征值,得到所述每一个字符串子段对应的统计特征向量,并根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量。
其中,所述统计学方法至少包括取平均值、取标准差、取中位数中的任一项。
其中,所述根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量,包括:
将所有的所述统计特征向量串联为所述待分类字符串对应的特征向量。
其中,将所述M个字符串子段输入训练完成的C2V模型中之前,还包括:
将训练集中的所有字符串切割为字符,并将所有切割完成的字符加入字符语料库中;
利用Word2vec和所述字符语料库中的所有字符训练Character Embedding模型得到训练完成的C2V模型。
其中,若待分类字符串为待检测是否为钓鱼网站的URL地址,且N为5,则将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,包括:
将所述URL地址分为网络协议、子域名字段、域名字段、域名后缀和URL路径五个字符串子段。
其中,若待分类字符串为待检测是否为恶意请求或网站后门行为的网络请求,且M为2,则将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择M个字符串子段,包括:
将所述网络请求按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择请求路径和请求参数两个字符串子段,其中,N不小于2的整数。
其中,若待分类字符串为待检测是否为恶意请求或网站后门行为的网络请求,则将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量,包括:
将所述网络请求输入训练完成的C2V模型中,生成所述网络请求对应的特征矩阵。
其中,若待分类字符串为待分类文档,则将所述待分类字符串输入特征提取器中,包括:
将所述待分类文档的所有字符输入所述特征提取器中。
其中,将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,包括:
将所有字符以空格和/或标点符号划分为N个字符串子段。
其中,所述分类器为通过机器学习算法训练得到的分类器。
其中,所述机器学习算法至少包括XGBoost算法、GBDT算法或神经网络算法中的任一项。
为实现上述目的,本发明实施例提供了一种字符串分类系统,包括:
获取模块,用于获取待分类字符串;
提取模块,用于将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量;
分类模块,用于将所述特征向量输入分类器中,得到所述待分类字符串的分类结果。
其中,所述提取模块具体包括:
输入单元,用于将所述待分类字符串输入所述特征提取器中;
划分单元,用于将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择M个字符串子段;其中,N为正整数,M为不大于N的正整数;
特征单元,用于将所述M个字符串子段输入训练完成的C2V模型中,生成所述M个字符串子段中每一个字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一个字符串子段中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数;
生成单元,用于利用统计学方法计算所述特征矩阵每一列的统计特征值,得到所述每一个字符串子段对应的统计特征向量,并根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量。
其中,所述提取模块还包括:
切割单元,用于将训练集中的所有字符串切割为字符,并将所有切割完成的字符加入字符语料库中;
训练单元,用于利用Word2vec和所述字符语料库中的所有字符训练CharacterEmbedding模型得到训练完成的C2V模型。
为实现上述目的,本发明实施例提供了一种字符串分类设备,包括:
存储器,用于存储字符串分类程序;
处理器,用于执行所述字符串分类程序时实现如上述字符串分类方法的步骤。
为实现上述目的,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有字符串分类程序,所述字符串分类程序被处理器执行时实现如上述字符串分类方法。
通过以上方案可知,本发明实施例提供的一种字符串分类方法包括:获取待分类字符串;将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量;将所述特征向量输入分类器中,得到所述待分类字符串的分类结果。由此可见,本发明实施例提供的字符串分类方法,在字符串分类的过程中,仅仅使用字符串本身的特征,即直接将待分类字符串输入特征提取器中得到特征向量,分类器根据特征向量对待分类字符串进行分类,避免使用与待分类字符串相关联的其他信息。本发明还公开了一种字符串分类系统及一种字符串分类设备和计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种字符串分类方法的流程图;
图2为本发明实施例公开的另一种字符串分类方法的流程图;
图3为本发明实施例公开的一种具体的字符串分类方法的流程图;
图4为本发明实施例公开的一种具体的字符串分类方法URL地址划分的结构图;
图5为本发明实施例公开的另一种具体的字符串分类方法的流程图;
图6为本发明实施例公开的又一种具体的字符串分类方法的流程图;
图7为本发明实施例公开的一种字符串分类系统的结构图;
图8为本发明实施例公开的一种字符串分类设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种字符串分类方法,在字符串分类的过程中仅仅使用字符串本身的特征,避免使用与其相关联的其他信息。
参见图1,本发明实施例公开的一种字符串分类方法的流程图,如图1所示,包括:
S101:获取待分类字符串;
在具体实施中,获取待分类字符串的方式既可以是由用户在终端输入的,也可以是保存在文档中以文档形式提交的,也可以是通过其他方式获得,例如扫描二维码获取其中的URL网址或其他类型的字符串等,当然也可以是自动拦截各种通讯获得,例如网络防火墙捕获的网络请求字符串等,在此不作具体限定。
S102:将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量;
此步骤旨在通过待分类字符串提取得到该待分类字符串对应的特征向量,以便后续步骤中的分类器根据所述特征向量对该待分类字符串进行分类。
S103:将所述特征向量输入分类器中,得到所述待分类字符串的分类结果。
在具体实施中,分类器为通过机器学习算法训练得到的分类器,此处不限定机器学习算法的种类,可以包括XGBoost、GBDT和神经网络算法等。
本发明实施例提供的字符串分类方法,在字符串分类的过程中,仅仅使用字符串本身的特征,即直接将待分类字符串输入特征提取器中得到特征向量,分类器根据特征向量对待分类字符串进行分类,避免使用与待分类字符串相关联的其他信息。
本发明实施例公开了一种字符串分类方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图2,本发明实施例提供的另一种字符串分类方法的流程图,如图2所示,包括:
S201:获取待分类字符串;
S221:将所述待分类字符串输入所述特征提取器中;
S222:所述特征提取器将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择M个字符串子段;其中,N为正整数,M为不大于N的正整数;
为了更准确地分类字符串,将待分类字符串按照预先设定的划分方式划分为N个部分,每个部分叫做字符串子段,并从所述N个字符串子段中选择M个字符串子段,可以选择全部的字符串字段构造特征向量,即N=M,也可以选取若干个字符串子段构造特征向量,在此不对划分和选取方式进行限定。
S223:所述特征提取器将所述M个字符串子段输入训练完成的C2V模型中,生成所述M个字符串子段中每一个字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一个字符串子段中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数;
在具体实施中,使用训练完成的C2V模型来生成每一部分所述字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一部分中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数。
S224:所述特征提取器利用统计学方法计算所述特征矩阵每一列的统计特征值,得到所述每一个字符串子段对应的统计特征向量,并根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量。
本实施例不对生成特征向量的方式具体限定,可以将所有的所述统计特征向量串联成所述特征向量,也可以将所有的所述统计特征向量再取平均值生成所述特征向量,当然本领域的技术人员也可以通过实际经验采取其他的方式。
S203:将所述特征向量输入分类器中,得到所述待分类字符串的分类结果。
在上述实施例的基础上,作为优选实施方式,所述统计学方法至少包括取平均值、取标准差、取中位数中的任一项。
本发明不限定统计学方法的具体方法,可以是取平均值、取标准差、取中位数中的任一项,当然,本领域技术人员也可以根据实际经验采用其他的统计学方法。
在上述实施例的基础上,作为优选实施方式,所述根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量,包括:
将所有的所述统计特征向量串联为所述待分类字符串对应的特征向量。
在具体实施中,串联方法为:对上述得到的特征矩阵的每一列取统计特征值,得到所述字符串子段的每一部分对应的V=(1,n)的向量,再将N个向量串联成一个向量,vector=V1∪V2∪...∪VN,其中vector为(1,Nn)的一维向量,即特征向量。
在上述实施例的基础上,作为优选实施方式,将所述M个字符串子段输入训练完成的C2V模型中之前,还包括:
将训练集中的所有字符串切割为字符,并将所有切割完成的字符加入字符语料库中;
利用Word2vec和所述字符语料库中的所有字符训练Character Embedding模型得到训练完成的C2V模型。
Word2vec是Google在2013年开源的一款将词表征为实数值向量的高效工具,其利用深度学习的思想,可以通过训练,把对文本内容的处理简化为K维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。Word2vec输出的词向量可以被用来做很多自然语言理解相关的工作,比如聚类、找同义词、词性分析等等。
需要说明的是,此处使用Doc2vec训练方法也能得到与使用Word2vec训练方法同样的效果。具体地,实验了Word2vec中的CBOW训练算法和skip-gram训练算法,发现skip-gram训练算法得到的效果更好。
在具体实施中,通过观察得知大部分的字符串都具有许多区别特征。例如,钓鱼网址在构建自己的URL时使用的大多数字符都是杂乱无章的,只有少部分为了和真实网站域名上类似才在URL上做较少的改动,而大多数的合法网址,在使用URL上基本都会使用一些有特殊意义的字符,如反映网页所提供的功能特性。恶意网络请求也有其不同于正常请求的区别特征,都可以使用Word2vec训练方法来获得较好的特征提取模型。
为了得到字符串中每一个字符使用的特征向量,首先收集大量的字符串,作为训练集,即C2V模型的训练集。训练集中的字符串包括所有类别的字符串,例如:对于钓鱼网站的检测,所有类别包括钓鱼网址和合法网址,对于恶意网络请求的检测,所有类别包括恶意网络请求和正常网络请求,对于文档分类就要包括自定义的所有类别,对于文档的分类可以采用多种分类方式,例如按照行业、情绪、文章的风格等方式分类。训练集中的每一个字符串相当于Word2vec中语料库的一篇文章,而字符串中的每一个字符相当于一篇文章中的单词。借鉴Word2vec里得到自然语言词向量的表示方法,可以得到字符串中每一个字符的向量表示,从而得到整个字符串的特征向量。
使用Word2vec对训练集中大量的字符串进行训练Character Embedding模型,得到训练完成的C2V模型。
本发明实施例提供的一种字符串分类方法可以应用于钓鱼网站的检测,具体的:
参见图3,本发明实施例提供的一种具体的字符串分类方法的流程图,如图3所示,包括:
S301:获取待检测是否为钓鱼网站的URL地址;
S321:将所述URL地址输入所述特征提取器中;
S322:所述特征提取器将所述URL地址分为网络协议、子域名字段、域名字段、域名后缀和URL路径五个字符串子段;
正常网站为了提高用户的好感及增加品牌的传播度,URL地址通常用品牌名作为域名,而且形式简单明了不会添加一些不必要的后缀。大多数的钓鱼网址在域名的使用中为了降低钓鱼网站的制作成本一般会购买一些便宜的域名,而这些域名包含比较多的二级域名,同时钓鱼攻击者也会特意在主机字段中加入仿冒对象的品牌名然后使用点‘.’或者‘-’来分割这样使得构造的钓鱼网站的URL和正常网站更加相似,另外大量的钓鱼网站的URL地址级数会设置的比较多,而正常网站的URL地址级数则相对较少。
为了让分类器更好的区分正常和钓鱼网站的URL地址,将用户提供的URL地址按照预先设定的划分方式划分为具有N部分的URL地址段,其中,N为正整数,在此不对划分方式进行限定。例如,N=M=1时表示不划分;N=M=3时,可以把URL地址划分成网络协议、整个域名部分和URL路径三个部分。N=M=5时,如图4所示,可以将URL地址分为网络协议、子域名字段、域名字段、域名后缀和URL路径五部分。所述域名后缀即TLD(英文全称:Top LevelDomain,中文全称:顶级域名),例如,.com、.net、.cn、.com.cn、.net.cn等。如果一个URL地址不包含上述的某一部分,则使用其他字符来代替,如‘0’或‘null’等。
按照URL地址的结构将URL分为5个部分,综合了这5个层面的信息,使得系统的分类精度得到很大的提升,实验证明,本发明实施例提供的钓鱼网站检测方法达到了准确率99.79%,而误报率可以低至0.4%。
在钓鱼网站检测的实验中,我们使用以下数据集:
表1钓鱼网站检测实验中的数据集
以下是在N=1、3、5的情况下,钓鱼网站检测实验的结果。
表2对字符串的不同切分对钓鱼网站检测结果的影响比较
N=M 分类正确率/% 误报率/% 钓鱼网站检出率/%
1 96.56 3.89 97.12
3 98.32 2.23 98.99
5 99.69 0.40 99.79
S323:所述特征提取器将所述五个字符串子段输入训练完成的C2V模型中,生成所述五个字符串子段中每一个字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一个字符串子段中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数;
S324:所述特征提取器利用统计学方法计算所述特征矩阵每一列的统计特征值,得到所述每一个字符串子段对应的统计特征向量,并根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量;
S303:将所述特征向量输入分类器中,得到所述URL地址的检测结果。
本发明实施例提供的字符串分类方法,在检测钓鱼网站的过程中不访问网站的页面信息,排除了网络因素对处理时间的干扰,减少了系统的处理时间,在实际使用中,即使使用配置较低的PC都可以做到平均每0.21毫秒检测一个URL,比传统的需要访问页面的方法快了一个数量级。
本发明实施例提供的一种字符串分类方法可以应用于恶意网络请求的检测,具体的:
参见图5,本发明实施例提供的另一种具体的字符串分类方法的流程图,如图5所示,包括:
S501:获取待检测是否为恶意请求或网站后门行为的网络请求;
S521:将所述网络请求输入所述特征提取器中;
S522:所述特征提取器将所网络请求按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择M个字符串子段;其中,N为正整数,M为不大于N的正整数;
在具体实施中,网络请求也存在多个字段,各有不同的含义,其中的某些字段比其他字段更有意义,本领域技术人员可以根据实际经验选择其中更有意义的字符串子段构造特征向量。
本实施例不对网络请求的划分和选取方式作具体的限定。例如,可以将所述网络请求按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择请求路径和请求参数两个字符串子段,其中,N不小于2的整数,也可以将所述网络请求按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择Cookie、路径和域名三个字符串子段,其中,N不小于3的整数,当然,也可以不划分所述网络请求,即整个网络请求只划分为一段,N=M=1。
在恶意网络请求检测实验中,使用了2017中国网络安全技术对抗赛中的HTTP请求样本数据,其中合法请求197,恶意请求300,训练XGBST的数据分别用118和183条,测试数据分别用了79和117条。在N=M=5的情况下分类正确率为84.18%,恶意请求检测正确率为88.9%,误报率为22.78%。随着训练集的增大,并且选择合适的N的值,效果应该更好。
在另一项从网络请求中检测网站后门行为的实验中,在N=M=1的情况下分类正确率为97.68%,后门行为检出率为96.92%,误报率为1.59%。随着训练集的增大,并且选择合适的N的值,效果应该更好。
S523:所述特征提取器将所述M个字符串子段输入训练完成的C2V模型中,生成所述M个字符串子段中每一个字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一个字符串子段中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数;
S524:所述特征提取器利用统计学方法计算所述特征矩阵每一列的统计特征值,得到所述每一个字符串子段对应的统计特征向量,并根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量。
S503:将所述特征向量输入分类器中,得到所述网络请求的检测结果。
可以理解的是,此步骤的检测结果为该网络请求是否为恶意请求。
本发明实施例提供的一种字符串分类方法可以应用于文档的分类,具体的:
参见图6,本发明实施例提供的又一种具体的字符串分类方法的流程图,如图6所示,包括:
S601:获取待分类文档;
S621:将所述待分类文档的所有字符输入所述特征提取器中;
S622:所述特征提取器将所有字符以空格和/或标点符号划分为N个字符串子段;其中,N为正整数;
在具体实施中,整篇文档更是可以用空格或标点符号来分成不同的词,当然,其中的停用词可以根据实际需求进行去除,将余下的所有字符划分为N个字符串子段,进入S613。
S623:所述特征提取器将所述N个字符串子段输入训练完成的C2V模型中,生成所述N个字符串子段中每一个字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一个字符串子段中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数;
S624:所述特征提取器利用统计学方法计算所述特征矩阵每一列的统计特征值,得到所述每一个字符串子段对应的统计特征向量,并根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量。
S603:将所述特征向量输入分类器中,得到所述待分类文档的分类结果。
可以理解是,此步骤的分类结果为所述待分类文档的类别。
下面对本发明实施例提供的一种字符串分类系统进行介绍,下文描述的一种字符串分类系统与上文描述的一种字符串分类方法可以相互参照。
参见图7,本发明实施例提供的一种字符串分类系统的结构图,如图7所示,包括:
获取模块701,用于获取待分类字符串;
提取模块702,用于将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量;
分类模块703,用于将所述特征向量输入分类器中,得到所述待分类字符串的分类结果。
本发明实施例提供的字符串分类系统,在字符串分类的过程中,仅仅使用字符串本身的特征,即直接将待分类字符串输入特征提取器中得到特征向量,分类器根据特征向量对待分类字符串进行分类,避免使用与待分类字符串相关联的其他信息。
在上述实施例的基础上,作为优选实施方式,所述提取模块具体包括:
输入单元,用于将所述待分类字符串输入所述特征提取器中;
划分单元,用于将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择M个字符串子段;其中,N为正整数,M为不大于N的正整数;
特征单元,用于将所述M个字符串子段输入训练完成的C2V模型中,生成所述M个字符串子段中每一个字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一个字符串子段中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数;
生成单元,用于利用统计学方法计算所述特征矩阵每一列的统计特征值,得到所述每一个字符串子段对应的统计特征向量,并根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量。
在上述实施例的基础上,作为优选实施方式,所述提取模块还包括:
切割单元,用于将训练集中的所有字符串切割为字符,并将所有切割完成的字符加入字符语料库中;
训练单元,用于利用Word2vec和所述字符语料库中的所有字符训练CharacterEmbedding模型得到训练完成的C2V模型。
本申请还提供了一种字符串分类设备,参见图8,本发明实施例提供的一种字符串分类设备的结构图,如图8所示,包括:
存储器801,用于存储字符串分类程序;
处理器802,用于执行所述字符串分类程序时可以实现上述实施例所提供的步骤。当然所述字符串分类设备还可以包括各种网络接口,电源等组件。
本发明实施例提供的字符串分类设备,在字符串分类的过程中,仅仅使用字符串本身的特征,即直接将待分类字符串输入特征提取器中得到特征向量,分类器根据特征向量对待分类字符串进行分类,避免使用与待分类字符串相关联的其他信息。
本申请还提供了一种计算机可读存储介质,其上存储有字符串分类程序,所述字符串分类程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (17)

1.一种字符串分类方法,其特征在于,包括:
获取待分类字符串;
将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量;
将所述特征向量输入分类器中,得到所述待分类字符串的分类结果。
2.根据权利要求1所述字符串分类方法,其特征在于,将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量,包括:
将所述待分类字符串输入所述特征提取器中;
所述特征提取器将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择M个字符串子段;其中,N为正整数,M为不大于N的正整数;
所述特征提取器将所述M个字符串子段输入训练完成的C2V模型中,生成所述M个字符串子段中每一个字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一个字符串子段中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数;
所述特征提取器利用统计学方法计算所述特征矩阵每一列的统计特征值,得到所述每一个字符串子段对应的统计特征向量,并根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量。
3.根据权利要求2所述字符串分类方法,其特征在于,所述统计学方法至少包括取平均值、取标准差、取中位数中的任一项。
4.根据权利要求2所述字符串分类方法,其特征在于,所述根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量,包括:
将所有的所述统计特征向量串联为所述待分类字符串对应的特征向量。
5.根据权利要求2所述字符串分类方法,其特征在于,将所述M个字符串子段输入训练完成的C2V模型中之前,还包括:
将训练集中的所有字符串切割为字符,并将所有切割完成的字符加入字符语料库中;
利用Word2vec和所述字符语料库中的所有字符训练Character Embedding模型得到训练完成的C2V模型。
6.根据权利要求2所述字符串分类方法,其特征在于,若待分类字符串为待检测是否为钓鱼网站的URL地址,且N为5,则将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,包括:
将所述URL地址分为网络协议、子域名字段、域名字段、域名后缀和URL路径五个字符串子段。
7.根据权利要求2所述字符串分类方法,其特征在于,若待分类字符串为待检测是否为恶意请求或网站后门行为的网络请求,且M为2,则将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择M个字符串子段,包括:
将所述网络请求按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择请求路径和请求参数两个字符串子段,其中,N为不小于2的整数。
8.根据权利要求1所述字符串分类方法,其特征在于,若待分类字符串为待检测是否为恶意请求或网站后门行为的网络请求,则将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量,包括:
将所述网络请求输入训练完成的C2V模型中,生成所述网络请求对应的特征矩阵。
9.根据权利要求2所述字符串分类方法,其特征在于,若待分类字符串为待分类文档,则将所述待分类字符串输入特征提取器中,包括:
将所述待分类文档的所有字符输入所述特征提取器中。
10.根据权利要求9所述字符串分类方法,其特征在于,将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,包括:
将所述所有字符以空格和/或标点符号划分为N个字符串子段。
11.根据权利要求1-10任一项所述字符串分类方法,其特征在于,所述分类器为通过机器学习算法训练得到的分类器。
12.根据权利要求11所述字符串分类方法,其特征在于,所述机器学习算法至少包括XGBoost算法、GBDT算法或神经网络算法中的任一项。
13.一种字符串分类系统,其特征在于,包括:
获取模块,用于获取待分类字符串;
提取模块,用于将所述待分类字符串输入特征提取器中,得到所述待分类字符串对应的特征向量;
分类模块,用于将所述特征向量输入分类器中,得到所述待分类字符串的分类结果。
14.根据权利要求13所述字符串分类系统,其特征在于,所述提取模块具体包括:
输入单元,用于将所述待分类字符串输入所述特征提取器中;
划分单元,用于将所述待分类字符串按照预先设定的划分方式划分为N个字符串子段,并从所述N个字符串子段中选择M个字符串子段;其中,N为正整数,M为不大于N的正整数;
特征单元,用于将所述M个字符串子段输入训练完成的C2V模型中,生成所述M个字符串子段中每一个字符串子段对应的特征矩阵,所述特征矩阵的每一行对应所述每一个字符串子段中的一个字符的n维特征向量,每一列对应所述n维特征向量的每一个维度,其中,n为正整数;
生成单元,用于利用统计学方法计算所述特征矩阵每一列的统计特征值,得到所述每一个字符串子段对应的统计特征向量,并根据所有的所述统计特征向量生成所述待分类字符串对应的特征向量。
15.根据权利要求13所述字符串分类系统,其特征在于,所述提取模块还包括:
切割单元,用于将训练集中的所有字符串切割为字符,并将所有切割完成的字符加入字符语料库中;
训练单元,用于利用Word2vec和所述字符语料库中的所有字符训练CharacterEmbedding模型得到训练完成的C2V模型。
16.一种字符串分类设备,其特征在于,包括:
存储器,用于存储字符串分类程序;
处理器,用于执行所述字符串分类程序时实现如权利要求1至12任一项所述字符串分类方法的步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有字符串分类程序,所述字符串分类程序被处理器执行时实现如权利要求1至12任一项所述字符串分类方法。
CN201711046466.5A 2017-10-31 2017-10-31 一种字符串分类方法、系统及一种字符串分类设备 Active CN107807987B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201711046466.5A CN107807987B (zh) 2017-10-31 2017-10-31 一种字符串分类方法、系统及一种字符串分类设备
PCT/CN2018/072999 WO2019085275A1 (zh) 2017-10-31 2018-01-17 一种字符串分类方法、系统及一种字符串分类设备
US16/482,256 US11463476B2 (en) 2017-10-31 2018-01-17 Character string classification method and system, and character string classification device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711046466.5A CN107807987B (zh) 2017-10-31 2017-10-31 一种字符串分类方法、系统及一种字符串分类设备

Publications (2)

Publication Number Publication Date
CN107807987A true CN107807987A (zh) 2018-03-16
CN107807987B CN107807987B (zh) 2021-07-02

Family

ID=61591053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711046466.5A Active CN107807987B (zh) 2017-10-31 2017-10-31 一种字符串分类方法、系统及一种字符串分类设备

Country Status (3)

Country Link
US (1) US11463476B2 (zh)
CN (1) CN107807987B (zh)
WO (1) WO2019085275A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108717637A (zh) * 2018-03-22 2018-10-30 浙江大学 一种电商安全相关实体的自动挖掘方法及系统
CN108805583A (zh) * 2018-05-18 2018-11-13 连连银通电子支付有限公司 基于地址映射的电商欺诈检测方法、装置、设备及介质
CN108933781A (zh) * 2018-06-19 2018-12-04 上海点融信息科技有限责任公司 用于处理字符串的方法、装置及计算机可读存储介质
CN109446325A (zh) * 2018-10-22 2019-03-08 北京云雀智享科技有限公司 一种高正确率的自然语言分类器系统
WO2019223587A1 (zh) * 2018-05-21 2019-11-28 新华三信息安全技术有限公司 域名识别
CN110855635A (zh) * 2019-10-25 2020-02-28 新华三信息安全技术有限公司 Url识别方法、装置及数据处理设备
CN112019497A (zh) * 2020-07-10 2020-12-01 上海大学 一种基于词嵌入的多阶段网络攻击检测方法
CN113343982A (zh) * 2021-06-16 2021-09-03 北京百度网讯科技有限公司 多模态特征融合的实体关系提取方法、装置和设备

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11295234B2 (en) 2017-12-26 2022-04-05 Rovi Guides, Inc. Methods and systems for training a machine learning system using a reduced data set
US11481554B2 (en) 2019-11-08 2022-10-25 Oracle International Corporation Systems and methods for training and evaluating machine learning models using generalized vocabulary tokens for document processing
US11507747B2 (en) 2019-11-27 2022-11-22 Oracle International Corporation Hybrid in-domain and out-of-domain document processing for non-vocabulary tokens of electronic documents
US11494559B2 (en) 2019-11-27 2022-11-08 Oracle International Corporation Hybrid in-domain and out-of-domain document processing for non-vocabulary tokens of electronic documents
CN110912917A (zh) * 2019-11-29 2020-03-24 深圳市任子行科技开发有限公司 恶意url检测方法及系统
US11762990B2 (en) 2020-04-07 2023-09-19 Microsoft Technology Licensing, Llc Unstructured text classification
US10817665B1 (en) * 2020-05-08 2020-10-27 Coupang Corp. Systems and methods for word segmentation based on a competing neural character language model
CN111835730B (zh) * 2020-06-18 2023-04-28 北京嘀嘀无限科技发展有限公司 服务账号处理方法、装置、电子设备及可读存储介质
US20220210187A1 (en) * 2020-12-29 2022-06-30 Citrix Systems, Inc. Systems and methods for protection against theft of user credentials
CN112651025A (zh) * 2021-01-20 2021-04-13 广东工业大学 一种基于字符级嵌入编码的webshell检测方法
US20220279014A1 (en) * 2021-03-01 2022-09-01 Microsoft Technology Licensing, Llc Phishing url detection using transformers
CN113098874B (zh) * 2021-04-02 2022-04-26 安徽大学 一种基于url字符串随机率特征提取的钓鱼网站检测方法
CN113222062A (zh) * 2021-05-31 2021-08-06 中国烟草总公司郑州烟草研究院 烟叶分类的方法、装置和计算机可读取介质
CN114610885B (zh) * 2022-03-09 2022-11-08 江南大学 一种文本分类后门攻击方法、系统及设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872347A (zh) * 2009-04-22 2010-10-27 富士通株式会社 判断网页类型的方法和装置
CN102739679A (zh) * 2012-06-29 2012-10-17 东南大学 一种基于url分类的钓鱼网站检测方法
CN102790762A (zh) * 2012-06-18 2012-11-21 东南大学 基于url分类的钓鱼网站检测方法
CN104573033A (zh) * 2015-01-15 2015-04-29 国家计算机网络与信息安全管理中心 一种动态url过滤方法及装置
CN104735074A (zh) * 2015-03-31 2015-06-24 江苏通付盾信息科技有限公司 一种恶意url检测方法及其实现系统
CN105956472A (zh) * 2016-05-12 2016-09-21 宝利九章(北京)数据技术有限公司 识别网页中是否包含恶意内容的方法和系统
CN106156120A (zh) * 2015-04-07 2016-11-23 阿里巴巴集团控股有限公司 对字符串进行分类的方法和装置
CN106709345A (zh) * 2015-11-17 2017-05-24 武汉安天信息技术有限责任公司 基于深度学习方法推断恶意代码规则的方法、系统及设备
WO2017118427A1 (zh) * 2016-01-07 2017-07-13 腾讯科技(深圳)有限公司 网页训练的方法和装置、搜索意图识别的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711673B1 (en) * 2005-09-28 2010-05-04 Trend Micro Incorporated Automatic charset detection using SIM algorithm with charset grouping
CN102708186A (zh) 2012-05-11 2012-10-03 上海交通大学 一种钓鱼网站的识别方法
CN103685174B (zh) * 2012-09-07 2016-12-21 中国科学院计算机网络信息中心 一种不依赖样本的钓鱼网站检测方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872347A (zh) * 2009-04-22 2010-10-27 富士通株式会社 判断网页类型的方法和装置
CN102790762A (zh) * 2012-06-18 2012-11-21 东南大学 基于url分类的钓鱼网站检测方法
CN102739679A (zh) * 2012-06-29 2012-10-17 东南大学 一种基于url分类的钓鱼网站检测方法
CN104573033A (zh) * 2015-01-15 2015-04-29 国家计算机网络与信息安全管理中心 一种动态url过滤方法及装置
CN104735074A (zh) * 2015-03-31 2015-06-24 江苏通付盾信息科技有限公司 一种恶意url检测方法及其实现系统
CN106156120A (zh) * 2015-04-07 2016-11-23 阿里巴巴集团控股有限公司 对字符串进行分类的方法和装置
CN106709345A (zh) * 2015-11-17 2017-05-24 武汉安天信息技术有限责任公司 基于深度学习方法推断恶意代码规则的方法、系统及设备
WO2017118427A1 (zh) * 2016-01-07 2017-07-13 腾讯科技(深圳)有限公司 网页训练的方法和装置、搜索意图识别的方法和装置
CN105956472A (zh) * 2016-05-12 2016-09-21 宝利九章(北京)数据技术有限公司 识别网页中是否包含恶意内容的方法和系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108717637A (zh) * 2018-03-22 2018-10-30 浙江大学 一种电商安全相关实体的自动挖掘方法及系统
CN108805583A (zh) * 2018-05-18 2018-11-13 连连银通电子支付有限公司 基于地址映射的电商欺诈检测方法、装置、设备及介质
WO2019223587A1 (zh) * 2018-05-21 2019-11-28 新华三信息安全技术有限公司 域名识别
EP3799398A4 (en) * 2018-05-21 2021-06-30 New H3C Security Technologies Co., Ltd. DOMAIN NAME IDENTIFICATION
CN108933781A (zh) * 2018-06-19 2018-12-04 上海点融信息科技有限责任公司 用于处理字符串的方法、装置及计算机可读存储介质
CN108933781B (zh) * 2018-06-19 2021-07-02 上海点融信息科技有限责任公司 用于处理字符串的方法、装置及计算机可读存储介质
CN109446325B (zh) * 2018-10-22 2021-09-14 北京云雀智享科技有限公司 一种高正确率的自然语言分类器系统
CN109446325A (zh) * 2018-10-22 2019-03-08 北京云雀智享科技有限公司 一种高正确率的自然语言分类器系统
CN110855635A (zh) * 2019-10-25 2020-02-28 新华三信息安全技术有限公司 Url识别方法、装置及数据处理设备
CN110855635B (zh) * 2019-10-25 2022-02-11 新华三信息安全技术有限公司 Url识别方法、装置及数据处理设备
CN112019497A (zh) * 2020-07-10 2020-12-01 上海大学 一种基于词嵌入的多阶段网络攻击检测方法
CN112019497B (zh) * 2020-07-10 2021-12-03 上海大学 一种基于词嵌入的多阶段网络攻击检测方法
CN113343982A (zh) * 2021-06-16 2021-09-03 北京百度网讯科技有限公司 多模态特征融合的实体关系提取方法、装置和设备

Also Published As

Publication number Publication date
US20190349399A1 (en) 2019-11-14
US11463476B2 (en) 2022-10-04
CN107807987B (zh) 2021-07-02
WO2019085275A1 (zh) 2019-05-09

Similar Documents

Publication Publication Date Title
CN107807987A (zh) 一种字符串分类方法、系统及一种字符串分类设备
Peddinti et al. Domain adaptation in sentiment analysis of twitter
CN107193801A (zh) 一种基于深度信念网络的短文本特征优化及情感分析方法
CN103207913B (zh) 商品细粒度语义关系的获取方法和系统
CN108874768A (zh) 一种基于主题情感联合概率的电子商务虚假评论识别方法
TW201737118A (zh) 網頁文本分類的方法和裝置,網頁文本識別的方法和裝置
CN105512285B (zh) 基于机器学习的自适应网络爬虫方法
CN101425071A (zh) 位置描述检测装置、程序以及存储介质
US20170286867A1 (en) Methods to determine likelihood of social media account deletion
Lou et al. Multilabel subject-based classification of poetry
CN110309446A (zh) 文本内容快速去重方法、装置、计算机设备及存储介质
CN102622338A (zh) 一种短文本间语义距离的计算机辅助计算方法
CN102081601B (zh) 一种领域词识别方法和装置
CN104361037B (zh) 微博分类方法及装置
CN111708888A (zh) 基于人工智能的分类方法、装置、终端和存储介质
CN109325125B (zh) 一种基于cnn优化的社交网络谣言检测方法
CN110472203B (zh) 一种文章的查重检测方法、装置、设备及存储介质
CN108776709A (zh) 计算机可读存储介质及词典更新方法
CN106844330B (zh) 文章情感的分析方法和装置
CN112437053B (zh) 入侵检测方法及装置
CN110347931A (zh) 文章新章节的检测方法及装置
CN115329085A (zh) 一种社交机器人分类方法及系统
CN108733652A (zh) 基于机器学习的影评情感倾向性分析的测试方法
CN113111645B (zh) 一种媒体文本相似性检测方法
Chader et al. Sentiment Analysis for Arabizi: Application to Algerian Dialect.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant