CN106815199A - 基于机器学习的协议类型分析方法和装置 - Google Patents
基于机器学习的协议类型分析方法和装置 Download PDFInfo
- Publication number
- CN106815199A CN106815199A CN201510860562.8A CN201510860562A CN106815199A CN 106815199 A CN106815199 A CN 106815199A CN 201510860562 A CN201510860562 A CN 201510860562A CN 106815199 A CN106815199 A CN 106815199A
- Authority
- CN
- China
- Prior art keywords
- message
- node
- recognized
- keyword
- unidentified
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于机器学习的协议类型分析方法和装置,属于通信协议分析技术领域。所述方法包括:获取已识别报文和关键词;采用TF-IDF算法对已识别报文和关键词进行预处理,以建立VSM向量空间模型;采用TF-IDF算法计算每个特征词在未识别报文中的权值,以生成未识别向量节点;形成新的VSM向量空间模型;采用K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行分类;以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的协议类型。本发明通过上述方法能够快速分析出协议类型,既免除了人工重复低效的分析报文类型劳动,节省了人力资源,又节省了工作时间,加快了工作效率。
Description
技术领域
本发明涉及通信协议分析技术领域,特别涉及一种基于机器学习的协议类型分析方法和装置。
背景技术
随着互联网技术的快速发展,以互联网为基础的各种应用程序越来越丰富,这些应用程序在传输数据时,有的使用具有公开标准的协议,有的则采用了自己定义的私有协议。出于对网络安全的考虑,在进行网络监测、管控时,需要逆向分析出这些应用程序所采用的传输协议类型。
现有的协议分析过程中,一般是先采集网络传输的报文,然后通过人工分析这些报文,并提取出相应的协议特征(例如:关键词、特殊的字符串等),最后人工根据这些协议特征来判断该报文所采用的协议类型。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于网络传输的报文会发生变化,致使提取出来的相应的协议特征也会随之发生变化。在对变化的报文进行协议分析时,需要人工重新提取协议特征,这样需要人工重复进行低效的协议分析工作,浪费劳动资源。
发明内容
本发明针对现有的人工分析协议类型需要重复进行,浪费劳动资源的问题,提出了一种基于机器学习的协议类型分析方法和装置。
本发明就上述技术问题而提出的技术方案如下:
一方面,提供了一种基于机器学习的协议类型分析方法,所述方法包括:
获取多个已识别报文和多个关键词,所述已识别报文为已被人工识别协议类型的报文,所述关键词为人工挑选的具有代表所述已识别报文特征的词汇;
采用TF-IDF算法对所述已识别报文和所述关键词进行预处理,得到特征词和所述特征词在每个所述已识别报文中的权值,所述特征词为用于区分不同所述已识别报文的所述关键词;
根据所述已识别报文、所述特征词、以及得到的所述权值建立VSM向量空间模型,所述VSM向量空间模型包括多个向量节点,每个所述向量节点对应于一个所述已识别报文,所述向量节点由所有的所述特征词和每个特征词在同一个所述已识别报文中的权值组成;
获取未识别报文;
采用TF-IDF算法计算每个所述特征词在所述未识别报文中的权值,并生成未识别向量节点,所述未识别向量节点由所有所述特征词和每个所述特征词在所述未识别报文中的权值组成;
在所述VSM向量空间模块中添加所述未识别向量节点形成新的VSM向量空间模型;
采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,所述中心向量节点为到同一分类中的各个所述向量节点的距离之和最小的向量节点;
获取与所述未识别向量节点距离最近的中心向量节点,并以获取的所述中心向量节点对应的所述已识别报文的协议类型为所述未识别报文的协议类型。
本发明上述的基于机器学习的协议类型分析方法中,所述采用TF-IDF算法对所述已识别报文和所述关键词进行预处理,得到特征词和所述特征词在每个所述已识别报文中的权值,包括:
根据TF-IDF算法计算每个所述关键词在所有所述已识别报文中的逆向文件频率;
根据TF-IDF算法计算每个所述关键词在每个所述已识别报文中的词频;
根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键词在每个所述已识别报文中的权值;
选取计算出的所述权值大于预设阀值的所述关键词为所述特征词。
本发明上述的基于机器学习的协议类型分析方法中,所述采用TF-IDF算法计算每个所述特征词在所述未识别报文中的权值,包括:
根据TF-IDF算法计算每个所述特征词在所述未识别报文中的词频;
根据TF-IDF算法计算每个所述关键词在总报文中的逆向文件频率,所述总报文包括所有所述已识别报文和所述未识别报文;
根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键词在每个所述未识别报文中的权值。
本发明上述的基于机器学习的协议类型分析方法中,所述采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,包括:
选择所有的所述已识别报文对应的协议类型总数为分类个数;
选择与所述分类个数相同个数的所述新的VSM向量模型中的向量节点作为质心;
计算剩余的所述新的VSM向量模型的向量节点到所述质心的距离;
将剩余的所述向量节点与距离最近的所述质心归为同一个分类;
计算每个所述分类的中心向量节点。
本发明上述的基于机器学习的协议类型分析方法中,所述采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,还包括:
选取计算出来的所述中心向量节点为新的质心;
计算剩余的所述向量节点到所述新的质心的距离;
将剩余的所述向量节点与距离最近的所述新的质心归为同一个新的分类;
计算每个所述新的分类中的新的中心向量节点。
另一方面,提供了一种基于机器学习的协议类型分析装置,所述装置包括:
获取模块,用于获取多个已识别报文和多个关键词,所述已识别报文为已被人工识别协议类型的报文,所述关键词为人工挑选的具有代表所述已识别报文特征的词汇;
处理模块,用于采用TF-IDF算法对所述已识别报文和所述关键词进行预处理,得到特征词和所述特征词在每个所述已识别报文中的权值,所述特征词为用于区分不同所述已识别报文的所述关键词;
所述处理模块,还用于根据所述已识别报文、所述特征词、以及得到的所述权值建立VSM向量空间模型,所述VSM向量空间模型包括多个向量节点,每个所述向量节点对应于一个所述已识别报文,所述向量节点由所有的所述特征词和每个特征词在同一个所述已识别报文中的权值组成;
所述获取模块,还用于获取未识别报文;
计算模块,用于采用TF-IDF算法计算每个所述特征词在所述未识别报文中的权值,并生成未识别向量节点,所述未识别向量节点由所有所述特征词和每个所述特征词在所述未识别报文中的权值组成;
所述处理模块,还用于在所述VSM向量空间模块中添加所述未识别向量节点形成新的VSM向量空间模型;
所述处理模块,还用于采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,所述中心向量节点为到同一分类中的各个所述向量节点的距离之和最小的向量节点;
所述处理模块,还用于获取与所述未识别向量节点距离最近的中心向量节点,并以获取的所述中心向量节点对应的所述已识别报文的协议类型为所述未识别报文的协议类型。
本发明上述的基于机器学习的协议类型分析装置中,所述处理模块,包括:
第一计算单元,用于根据TF-IDF算法计算每个所述关键词在所有所述已识别报文中的逆向文件频率;
所述第一计算单元,还用于根据TF-IDF算法计算每个所述关键词在每个所述已识别报文中的词频;
所述第一计算单元,还用于根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键词在每个所述已识别报文中的权值;
处理单元,用于选取计算出的所述权值大于预设阀值的所述关键词为所述特征词。
本发明上述的基于机器学习的协议类型分析装置中,所述计算模块,包括:
第二计算单元,用于采用TF-IDF算法计算每个所述特征词在所述未识别报文中的词频;
所述第二计算单元,还用于根据TF-IDF算法计算每个所述关键词在总报文中的逆向文件频率,所述总报文包括所有所述已识别报文和所述未识别报文;
所述第二计算单元,还用于根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键词在每个所述未识别报文中的权值。
本发明上述的基于机器学习的协议类型分析装置中,所述处理模块,还包括:
所述处理单元,用于选择所有的所述已识别报文对应的协议类型总数为分类个数;
所述处理单元,用于选择与所述分类个数相同个数的所述新的VSM向量模型中的向量节点作为质心;
所述第一计算单元,还用于计算剩余的所述新的VSM向量模型的向量节点到所述质心的距离;
所述处理单元,用于将剩余的所述向量节点与距离最近的所述质心归为同一个分类;
所述第一计算单元,还用于计算每个所述分类的中心向量节点。
本发明上述的基于机器学习的协议类型分析装置中,所述处理模块,还包括:
所述处理单元,用于选取计算出来的所述中心向量节点为新的质心;
所述第一计算单元,还用于计算剩余的所述向量节点到所述新的质心的距离;
所述处理单元,用于将剩余的所述向量节点与距离最近的所述新的质心归为同一个新的分类;
所述第一计算单元,还用于计算每个所述新的分类中的新的中心向量节点。
本发明实施例提供的技术方案带来的有益效果是:
通过获取多个已识别报文和多个关键词,并采用TF-IDF算法对已识别报文和关键词进行预处理,以建立VSM向量空间模型;然后,采用TF-IDF算法计算每个特征词在未识别报文中的权值,以生成未识别向量节点,并在VSM向量空间模块中添加未识别向量节点形成新的VSM向量空间模型;最后,采用K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行分类,并以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的协议类型。这样,在已被人工识别协议类型的报文基础上,能够快速分析出未识别报文的协议类型,既免除了人工重复低效的分析报文类型劳动,节省了人力资源,又节省了工作时间,加快了工作效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种基于机器学习的协议类型分析方法流程图;
图2是本发明实施例一提供的一种采用TF-IDF算法对已识别报文和关键词进行预处理的方法流程图;
图3是本发明实施例一提供的一种采用TF-IDF算法计算每个特征词在未识别报文的权值的方法流程图;
图4是本发明实施例一提供的一种采用K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行分类的方法流程图;
图5是本发明实施例二提供的一种基于机器学习的协议类型分析装置结构示意图
图6是本发明实施例二提供的又一种基于机器学习的协议类型分析装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种基于机器学习的协议类型分析方法,参见图1,该方法包括:
步骤S11,获取多个已识别报文和多个关键词,该已识别报文为已被人工识别协议类型的报文,该关键词为人工挑选的具有代表已识别报文特征的词汇。
在本实施例中,已识别报文的协议类型已被人工识别,每个已识别报文中都有能代表该报文特征的关键词,这些关键词可以在人工识别报文的协议类型时被挑选出来。
步骤S12,采用词频-逆向文件频率(Term Frequency–Inverse DocumentFrequency,简称“TF-IDF”)算法对已识别报文和关键词进行预处理,得到特征词和该特征词在每个已识别报文中的权值,该特征词为用于区分不同已识别报文的关键词。
在实际应用中,具有代表作用的关键词可能会出现重复的情况,即不同报文中的关键词可能相同,这样的关键词不能够将不同的报文区分开,这时,采用TF-IDF算法将不具备区分能力的关键词去除掉,选择具有区分不同报文能力的特征词。
具体的,参见图2,上述步骤S12可以采用如下方式来实现:
步骤S121,根据TF-IDF算法计算每个关键词在所有已识别报文中的逆向文件频率。
在本实施例中,逆向文件频率可以由总已识别报文数目除以包含该关键词的已识别报文的数目,再将得到的商取对数得到。逆向文件频率可以用于判断该关键词在不同的已识别报文中出现的频率,该关键词在不同的已识别报文中出现的频率越大,说明该关键词用于区分不同已识别报文的能力越小。
具体地,可以采用如下公式来表示逆向文件频率的计算:
其中,idfi表示为关键词i在所有已识别报文d中的逆向文件频率,D表示是所有已识别报文的总数,{j:ti∈dj}表示为包含关键词i的已识别报文d的数量j。
步骤S122,根据TF-IDF算法计算每个关键词在每个已识别报文中的词频。
在本实施例中,词频是指特征词在已识别报文中出现的次数,并且该次数将被归一化处理,以防止词频偏向于内容多的报文。
具体地,可以采用如下公式来表示词频的计算:
其中,tfi,j为关键词i在已识别报文j中的词频,ni.,j表示的为关键词i在已识别报文j中出现的次数,上述公式中的分母表示的为所有的关键词在已识别报文j中出现的次数之和。
需要说明的是,上述步骤S121和步骤S122没有先后之分,先执行步骤S121或者先执行步骤S122均可以,这里不作限制。
步骤S123,根据计算得到的关键词的逆向文件频率和词频,计算出每个关键词在每个已识别报文中的权值。
在本实施例中,上述权值可以为相应关键词的逆向文件频率和词频的乘积。
步骤S124,选取计算出的权值大于预设阀值的关键词为特征词。
在本实施例中,预设阀值的大小可以根据实际情况而定,这里不作限定。权值大于预设阀值的关键词,其具有区分不同已识别报文的能力,可以用来选作特征词使用,如果其权值小于预设阀值的话,则说明该关键词不能很好的区分已识别报文,故舍弃不用。
步骤S13,根据已识别报文、特征词、以及得到的权值建立向量空间(VectorSpace Model,简称“VSM”)模型,该VSM向量空间模型包括多个向量节点,每个向量节点对应于一个已识别报文,该向量节点由所有的特征词和每个特征词在同一个已识别报文中的权值组成。
在本实施例中,每个向量节点对应于一个已识别报文,VSM向量空间模型包括所有的已识别报文对应的向量节点。每个向量节点由所有的特征词和每个特征词在同一个已识别报文中的权值组成,每个向量节点的维度都为所有特征词的总数。例如:一个向量节点可以表示为{A1、A2、A3、A4、A5…An},其中,n表示所有特征词的总数,A1-An表示一个特征词在同一个已识别报文中的权值。
步骤S14,获取未识别报文。
在本实施例中,可以通过非人工手段来获取未识别报文。
步骤S15,采用TF-IDF算法计算每个特征词在该未识别报文的权值,并生成未识别向量节点,该未识别向量节点由所有特征词和每个特征词在未识别报文中的权值组成。
在本实施例中,新生成的未识别向量节点的维度与VSM向量空间模型中的向量节点的维度相同,均是所有特征词的总数。且均是采用了通过关键词获取出来的特征词,故未识别向量节点可以添加到VSM向量空间模块中。
具体地,参见图3,上述步骤S15可以通过如下步骤实现:
步骤S151,采用TF-IDF算法计算每个特征词在未识别报文中的词频。
具体的计算公式可以参考步骤S12,这里不再赘述。
步骤S152,根据TF-IDF算法计算每个关键词在总报文中的逆向文件频率,总报文包括所有已识别报文和未识别报文。
具体的计算公式可以参考步骤S12,这里不再赘述。有所不同的是,这里的总报文包括所有已识别报文和未识别报文,而不是步骤S12中仅包括所有已识别报文。
步骤S153,根据计算得到的所关键词的逆向文件频率和词频,计算出每个关键词在每个未识别报文中的权值。
在本实施例中,上述权值可以为相应关键词的逆向文件频率和词频的乘积。
步骤S16,在VSM向量空间模块中添加未识别向量节点形成新的VSM向量空间模型。
步骤S17,采用K-means(即K均值)聚类算法对新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,中心向量节点为到同一分类中的各个向量节点的距离之和最小的向量节点。
具体地,参见图4,上述步骤S17可以通过如下方式实现:
步骤S171,选择所有的已识别报文对应的协议类型总数为分类个数。
在本实施例中,采用所有已识别报文对应的协议类型的总数,来作为分类个数,这样分出来的类中每个类别可以代表不同的协议类型。
步骤S172,选择与分类个数相同个数的新的VSM向量模型中的向量节点作为质心。
在本实施例中,质心可以看作中心点的意思,初次分类时,质心的选择可以是随机的,也可以是人为设定的。
步骤S173,计算剩余的新的VSM向量模型的向量节点到质心的距离。
在本实施例中,该距离的计算为向量之间的距离计算,这里不作详细赘述。
步骤S174,将剩余的向量节点与距离最近的质心归为同一个分类。
步骤S175,计算每个分类的中心向量节点。
在实际应用中,可以通过上述步骤得到的中心向量节点,但是由上述步骤得到的中心向量节点可能不太准确。进一步地,上述步骤S17的实现方法还可以包括:
步骤S176,选取计算出来的中心向量节点为新的质心。
步骤S177,计算剩余的向量节点到新的质心的距离。
步骤S178,将剩余的向量节点与距离最近的新的质心归为同一个新的分类。
步骤S179,计算每个新的分类中的新的中心向量节点。
在本实施例中,还可以重复上述步骤S176至步骤S179,重复多次后可以得到更为准确的中心向量节点。具体重复次数可以根据实际情况而定,这里不作限制。
步骤S18,获取与未识别向量节点距离最近的中心向量节点,并以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的协议类型。
在本实施例中,通过计算未识别向量节点与各个中心向量节点的距离,来判断该未识别向量节点属于哪个分类,而该分类的各个向量节点对应的已识别报文具有相同的协议类型,其中,中心向量节点对应的协议类型可以代表其所在分类的协议类型,故可以采用与未识别向量节点距离最近的中心向量节点对应的已识别报文的协议类型,来作为未识别向量节点对应的未识别报文的协议类型。
在本实施例中,上述基于机器学习的协议类型分析方法主要用于,未超出已识别的协议类型范围的报文协议类型分析。
本发明实施例通过获取多个已识别报文和多个关键词,并采用TF-IDF算法对已识别报文和关键词进行预处理,以建立VSM向量空间模型;然后,采用TF-IDF算法计算每个特征词在未识别报文中的权值,以生成未识别向量节点,并在VSM向量空间模块中添加未识别向量节点形成新的VSM向量空间模型;最后,采用K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行分类,并以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的协议类型。这样,在已被人工识别协议类型的报文基础上,能够快速分析出未识别报文的协议类型,既免除了人工重复低效的分析报文类型劳动,节省了人力资源,又节省了工作时间,加快了工作效率。
实施例二
本发明实施例提供了一种基于机器学习的协议类型分析的装置,参见图5,该装置包括:
获取模块201,用于获取多个已识别报文和多个关键词,该已识别报文为已被人工识别协议类型的报文,该关键词为人工挑选的具有代表已识别报文特征的词汇。
在本实施例中,已识别报文的协议类型已被人工识别,每个已识别报文中都有能代表该报文特征的关键词,这些关键词可以在人工识别报文的协议类型时被挑选出来。
处理模块202,用于采用TF-IDF算法对已识别报文和关键词进行预处理,得到特征词和特征词在每个已识别报文中的权值,特征词为用于区分不同已识别报文的关键词。
在实际应用中,具有代表作用的关键词可能会出现重复的情况,即不同报文中的关键词可能相同,这样的关键词不能够将不同的报文区分开,这时,采用TF-IDF算法将不具备区分能力的关键词去除掉,选择具有区分不同报文能力的特征词。
处理模块202,还用于根据已识别报文、特征词、以及得到的权值建立VSM向量空间模型,VSM向量空间模型包括多个向量节点,每个向量节点对应于一个已识别报文,向量节点由所有的特征词和每个特征词在同一个已识别报文中的权值组成。
在本实施例中,每个向量节点对应于一个已识别报文,VSM向量空间模型包括所有的已识别报文对应的向量节点。每个向量节点由所有的特征词和每个特征词在同一个已识别报文中的权值组成,每个向量节点的维度都为所有特征词的总数。例如:一个向量节点可以表示为{A1、A2、A3、A4、A5…An},其中,n表示所有特征词的总数,A1-An表示一个特征词在同一个已识别报文中的权值。
获取模块201,还用于获取未识别报文。
计算模块203,用于采用TF-IDF算法计算每个特征词在未识别报文中的权值,并生成未识别向量节点,未识别向量节点由所有特征词和每个特征词在未识别报文中的权值组成。
在本实施例中,新生成的未识别向量节点的维度与VSM向量空间模型中的向量节点的维度相同,均是所有特征词的总数。且均是采用了通过关键词获取出来的特征词,故未识别向量节点可以添加到VSM向量空间模块中。
处理模块202,还用于在VSM向量空间模块中添加未识别向量节点形成新的VSM向量空间模型。
处理模块202,还用于采用K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,中心向量节点为到同一分类中的各个向量节点的距离之和最小的向量节点。
处理模块202,还用于获取与未识别向量节点距离最近的中心向量节点,并以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的协议类型。
在本实施例中,通过处理模块202来计算未识别向量节点与各个中心向量节点的距离,来判断该未识别向量节点属于哪个分类,而该分类的各个向量节点对应的已识别报文具有相同的协议类型,其中,中心向量节点对应的协议类型可以代表其所在分类的协议类型,故可以采用与未识别向量节点距离最近的中心向量节点对应的已识别报文的协议类型,来作为未识别向量节点对应的未识别报文的协议类型。
在本实施例中,上述基于机器学习的协议类型分析装置主要用于,未超出已识别的协议类型范围的报文协议类型分析。
具体地,参见图6,处理模块202可以包括:
第一计算单元212,用于根据TF-IDF算法计算每个关键词在所有已识别报文中的逆向文件频率。
在本实施例中,逆向文件频率可以由总已识别报文数目除以包含该关键词的已识别报文的数目,再将得到的商取对数得到。逆向文件频率可以用于判断该关键词在不同的已识别报文中出现的频率,该关键词在不同的已识别报文中出现的频率越大,说明该关键词用于区分不同已识别报文的能力越小。
具体地,可以采用如下公式来表示逆向文件频率的计算:
其中,idfi表示为关键词i在所有已识别报文d中的逆向文件频率,D表示是所有已识别报文的总数,{j:ti∈dj}表示为包含关键词i的已识别报文d的数量j。
第一计算单元212,还用于根据TF-IDF算法计算每个关键词在每个已识别报文中的词频。
在本实施例中,词频是指特征词在已识别报文中出现的次数,并且该次数将被归一化处理,以防止词频偏向于内容多的报文。
具体地,可以采用如下公式来表示词频的计算:
其中,tfi,j为关键词i在已识别报文j中的词频,ni.,j表示的为关键词i在已识别报文j中出现的次数,上述公式中的分母表示的为所有的关键词在已识别报文j中出现的次数之和。
第一计算单元212,还用于根据计算得到的关键词的逆向文件频率和词频,计算出每个关键词在每个已识别报文中的权值。
在本实施例中,上述权值可以为相应关键词的逆向文件频率和词频的乘积。
处理单元222,用于选取计算出的权值大于预设阀值的关键词为特征词。
在本实施例中,预设阀值的大小可以根据实际情况而定,这里不作限定。权值大于预设阀值的关键词,其具有区分不同已识别报文的能力,可以用来选作特征词使用,如果其权值小于预设阀值的话,则说明该关键词不能很好的区分已识别报文,故舍弃不用。
具体地,参见图6,计算模块203可以包括:
第二计算单元213,用于采用TF-IDF算法计算每个特征词在未识别报文中的词频;
第二计算单元213,还用于根据TF-IDF算法计算每个关键词在总报文中的逆向文件频率,总报文包括所有已识别报文和未识别报文
第二计算单元213,还用于根据计算得到的所关键词的逆向文件频率和词频,计算出每个关键词在每个未识别报文中的权值。
具体地,参见图6,处理模块202还可以包括:
处理单元222,用于选择所有的已识别报文对应的协议类型总数为分类个数。
在本实施例中,采用所有已识别报文对应的协议类型的总数,来作为分类个数,这样分出来的类中每个类别可以代表不同的协议类型。
处理单元222,用于选择与分类个数相同个数的新的VSM向量模型中的向量节点作为质心。
在本实施例中,质心可以看作中心点的意思,初次分类时,质心的选择可以是随机的,也可以是人为设定的。
第一计算单元212,还用于计算剩余的新的VSM向量模型的向量节点到质心的距离。
处理单元222,用于将剩余的向量节点与距离最近的质心归为同一个分类。
第一计算单元212,还用于计算每个分类的中心向量节点。
进一步地,参见图6,处理模块202还可以包括:
处理单元222,用于选取计算出来的中心向量节点为新的质心。
第一计算单元212,还用于计算剩余的向量节点到新的质心的距离。
处理单元222,用于将剩余的向量节点与距离最近的新的质心归为同一个新的分类。
第一计算单元212,还用于计算每个新的分类中的新的中心向量节点。
本发明实施例通过获取多个已识别报文和多个关键词,并采用TF-IDF算法对已识别报文和关键词进行预处理,以建立VSM向量空间模型;然后,采用TF-IDF算法计算每个特征词在未识别报文中的权值,以生成未识别向量节点,并在VSM向量空间模块中添加未识别向量节点形成新的VSM向量空间模型;最后,采用K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行分类,并以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的协议类型。这样,在已被人工识别协议类型的报文基础上,能够快速分析出未识别报文的协议类型,既免除了人工重复低效的分析报文类型劳动,节省了人力资源,又节省了工作时间,加快了工作效率。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是:上述实施例提供的基于机器学习的协议类型分析装置在实现基于机器学习的协议类型分析方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于机器学习的协议类型分析装置与基于机器学习的协议类型分析方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于机器学习的协议类型分析方法,其特征在于,所述方法包括:
获取多个已识别报文和多个关键词,所述已识别报文为已被人工识别协议类型的报文,所述关键词为人工挑选的具有代表所述已识别报文特征的词汇;
采用TF-IDF算法对所述已识别报文和所述关键词进行预处理,得到特征词和所述特征词在每个所述已识别报文中的权值,所述特征词为用于区分不同所述已识别报文的所述关键词;
根据所述已识别报文、所述特征词、以及得到的所述权值建立VSM向量空间模型,所述VSM向量空间模型包括多个向量节点,每个所述向量节点对应于一个所述已识别报文,所述向量节点由所有的所述特征词和每个特征词在同一个所述已识别报文中的权值组成;
获取未识别报文;
采用TF-IDF算法计算每个所述特征词在所述未识别报文中的权值,并生成未识别向量节点,所述未识别向量节点由所有所述特征词和每个所述特征词在所述未识别报文中的权值组成;
在所述VSM向量空间模块中添加所述未识别向量节点形成新的VSM向量空间模型;
采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,所述中心向量节点为到同一分类中的各个所述向量节点的距离之和最小的向量节点;
获取与所述未识别向量节点距离最近的中心向量节点,并以获取的所述中心向量节点对应的所述已识别报文的协议类型为所述未识别报文的协议类型。
2.根据权利要求1所述的方法,其特征在于,所述采用TF-IDF算法对所述已识别报文和所述关键词进行预处理,得到特征词和所述特征词在每个所述已识别报文中的权值,包括:
根据TF-IDF算法计算每个所述关键词在所有所述已识别报文中的逆向文件频率;
根据TF-IDF算法计算每个所述关键词在每个所述已识别报文中的词频;
根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键词在每个所述已识别报文中的权值;
选取计算出的所述权值大于预设阀值的所述关键词为所述特征词。
3.根据权利要求1所述的方法,其特征在于,所述采用TF-IDF算法计算每个所述特征词在所述未识别报文中的权值,包括:
根据TF-IDF算法计算每个所述特征词在所述未识别报文中的词频;
根据TF-IDF算法计算每个所述关键词在总报文中的逆向文件频率,所述总报文包括所有所述已识别报文和所述未识别报文;
根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键词在每个所述未识别报文中的权值。
4.根据权利要求1所述的方法,其特征在于,所述采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,包括:
选择所有的所述已识别报文对应的协议类型总数为分类个数;
选择与所述分类个数相同个数的所述新的VSM向量模型中的向量节点作为质心;
计算剩余的所述新的VSM向量模型的向量节点到所述质心的距离;
将剩余的所述向量节点与距离最近的所述质心归为同一个分类;
计算每个所述分类的中心向量节点。
5.根据权利要求4所述的方法,其特征在于,所述采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,还包括:
选取计算出来的所述中心向量节点为新的质心;
计算剩余的所述向量节点到所述新的质心的距离;
将剩余的所述向量节点与距离最近的所述新的质心归为同一个新的分类;
计算每个所述新的分类中的新的中心向量节点。
6.一种基于机器学习的协议类型分析装置,其特征在于,所述装置包括:
获取模块,用于获取多个已识别报文和多个关键词,所述已识别报文为已被人工识别协议类型的报文,所述关键词为人工挑选的具有代表所述已识别报文特征的词汇;
处理模块,用于采用TF-IDF算法对所述已识别报文和所述关键词进行预处理,得到特征词和所述特征词在每个所述已识别报文中的权值,所述特征词为用于区分不同所述已识别报文的所述关键词;
所述处理模块,还用于根据所述已识别报文、所述特征词、以及得到的所述权值建立VSM向量空间模型,所述VSM向量空间模型包括多个向量节点,每个所述向量节点对应于一个所述已识别报文,所述向量节点由所有的所述特征词和每个特征词在同一个所述已识别报文中的权值组成;
所述获取模块,还用于获取未识别报文;
计算模块,用于采用TF-IDF算法计算每个所述特征词在所述未识别报文中的权值,并生成未识别向量节点,所述未识别向量节点由所有所述特征词和每个所述特征词在所述未识别报文中的权值组成;
所述处理模块,还用于在所述VSM向量空间模块中添加所述未识别向量节点形成新的VSM向量空间模型;
所述处理模块,还用于采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,所述中心向量节点为到同一分类中的各个所述向量节点的距离之和最小的向量节点;
所述处理模块,还用于获取与所述未识别向量节点距离最近的中心向量节点,并以获取的所述中心向量节点对应的所述已识别报文的协议类型为所述未识别报文的协议类型。
7.根据权利要求6所述的装置,其特征在于,所述处理模块,包括:
第一计算单元,用于根据TF-IDF算法计算每个所述关键词在所有所述已识别报文中的逆向文件频率;
所述第一计算单元,还用于根据TF-IDF算法计算每个所述关键词在每个所述已识别报文中的词频;
所述第一计算单元,还用于根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键词在每个所述已识别报文中的权值;
处理单元,用于选取计算出的所述权值大于预设阀值的所述关键词为所述特征词。
8.根据权利要求6所述的装置,其特征在于,所述计算模块,包括:
第二计算单元,用于采用TF-IDF算法计算每个所述特征词在所述未识别报文中的词频;
所述第二计算单元,还用于根据TF-IDF算法计算每个所述关键词在总报文中的逆向文件频率,所述总报文包括所有所述已识别报文和所述未识别报文;
所述第二计算单元,还用于根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键词在每个所述未识别报文中的权值。
9.根据权利要求6所述的装置,其特征在于,所述处理模块,还包括:
所述处理单元,用于选择所有的所述已识别报文对应的协议类型总数为分类个数;
所述处理单元,用于选择与所述分类个数相同个数的所述新的VSM向量模型中的向量节点作为质心;
所述第一计算单元,还用于计算剩余的所述新的VSM向量模型的向量节点到所述质心的距离;
所述处理单元,用于将剩余的所述向量节点与距离最近的所述质心归为同一个分类;
所述第一计算单元,还用于计算每个所述分类的中心向量节点。
10.根据权利要求9所述的装置,其特征在于,所述处理模块,还包括:
所述处理单元,用于选取计算出来的所述中心向量节点为新的质心;
所述第一计算单元,还用于计算剩余的所述向量节点到所述新的质心的距离;
所述处理单元,用于将剩余的所述向量节点与距离最近的所述新的质心归为同一个新的分类;
所述第一计算单元,还用于计算每个所述新的分类中的新的中心向量节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510860562.8A CN106815199A (zh) | 2015-11-30 | 2015-11-30 | 基于机器学习的协议类型分析方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510860562.8A CN106815199A (zh) | 2015-11-30 | 2015-11-30 | 基于机器学习的协议类型分析方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106815199A true CN106815199A (zh) | 2017-06-09 |
Family
ID=59155975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510860562.8A Pending CN106815199A (zh) | 2015-11-30 | 2015-11-30 | 基于机器学习的协议类型分析方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106815199A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119271A (zh) * | 2018-12-19 | 2019-08-13 | 厦门渊亭信息科技有限公司 | 一种跨机器学习平台的模型定义协议及适配系统 |
CN112367325A (zh) * | 2020-11-13 | 2021-02-12 | 中国人民解放军陆军工程大学 | 基于闭合频繁项挖掘的未知协议报文聚类方法和系统 |
CN114268559A (zh) * | 2021-12-27 | 2022-04-01 | 天翼物联科技有限公司 | 基于tf-idf算法的定向网络检测方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142918A (zh) * | 2014-07-31 | 2014-11-12 | 天津大学 | 基于tf-idf特征的短文本聚类以及热点主题提取方法 |
CN104239436A (zh) * | 2014-08-27 | 2014-12-24 | 南京邮电大学 | 一种基于文本分类和聚类分析的网络热点事件发现方法 |
CN104408083A (zh) * | 2014-10-27 | 2015-03-11 | 六盘水职业技术学院 | 一种社会化媒体分析系统 |
CN104484343A (zh) * | 2014-11-26 | 2015-04-01 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种对微博进行主题发现与追踪的方法 |
-
2015
- 2015-11-30 CN CN201510860562.8A patent/CN106815199A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142918A (zh) * | 2014-07-31 | 2014-11-12 | 天津大学 | 基于tf-idf特征的短文本聚类以及热点主题提取方法 |
CN104239436A (zh) * | 2014-08-27 | 2014-12-24 | 南京邮电大学 | 一种基于文本分类和聚类分析的网络热点事件发现方法 |
CN104408083A (zh) * | 2014-10-27 | 2015-03-11 | 六盘水职业技术学院 | 一种社会化媒体分析系统 |
CN104484343A (zh) * | 2014-11-26 | 2015-04-01 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种对微博进行主题发现与追踪的方法 |
Non-Patent Citations (3)
Title |
---|
宦秉炼: "《实用地质、矿业英汉双向查询、翻译与写作宝典》", 31 May 2013, 冶金工业出版社 * |
张俊茹等: "《高职高专毕业设计与论文写作案例式教程(第3版)》", 31 July 2012, 北京航空航天大学出版社 * |
龚静: "《中文文本聚类研究》", 31 March 2012, 中国传媒大学出版社 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119271A (zh) * | 2018-12-19 | 2019-08-13 | 厦门渊亭信息科技有限公司 | 一种跨机器学习平台的模型定义协议及适配系统 |
CN112367325A (zh) * | 2020-11-13 | 2021-02-12 | 中国人民解放军陆军工程大学 | 基于闭合频繁项挖掘的未知协议报文聚类方法和系统 |
CN112367325B (zh) * | 2020-11-13 | 2023-11-07 | 中国人民解放军陆军工程大学 | 基于闭合频繁项挖掘的未知协议报文聚类方法和系统 |
CN114268559A (zh) * | 2021-12-27 | 2022-04-01 | 天翼物联科技有限公司 | 基于tf-idf算法的定向网络检测方法、装置、设备及介质 |
WO2023125435A1 (zh) * | 2021-12-27 | 2023-07-06 | 天翼物联科技有限公司 | 基于tf-idf算法的定向网络检测方法、装置、设备及介质 |
CN114268559B (zh) * | 2021-12-27 | 2024-02-20 | 天翼物联科技有限公司 | 基于tf-idf算法的定向网络检测方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fayazi et al. | Uncovering crowdsourced manipulation of online reviews | |
CN104615608B (zh) | 一种数据挖掘处理系统及方法 | |
CN102902821B (zh) | 基于网络热点话题的图像高级语义标注、检索方法及装置 | |
CN108319888B (zh) | 视频类型的识别方法及装置、计算机终端 | |
CN105022754A (zh) | 基于社交网络的对象分类方法及装置 | |
CN110276406A (zh) | 表情分类方法、装置、计算机设备及存储介质 | |
CN108509793A (zh) | 一种基于用户行为日志数据的用户异常行为检测方法及装置 | |
CN111159404B (zh) | 文本的分类方法及装置 | |
CN109948160B (zh) | 短文本分类方法及装置 | |
CN105893484A (zh) | 一种基于文本特征和行为特征的微博Spammer识别方法 | |
CN110414581B (zh) | 图片检测方法和装置、存储介质及电子装置 | |
CN104850537B (zh) | 对文本内容进行筛选的方法及装置 | |
CN105354327A (zh) | 一种基于大数据分析的接口api推荐方法及系统 | |
CN113590764B (zh) | 训练样本构建方法、装置、电子设备和存储介质 | |
CN109948639A (zh) | 一种基于深度学习的图片垃圾识别方法 | |
CN106815199A (zh) | 基于机器学习的协议类型分析方法和装置 | |
CN110019563B (zh) | 一种基于多维数据的肖像建模方法和装置 | |
CN106844743B (zh) | 维吾尔语文本的情感分类方法及装置 | |
CN105282720B (zh) | 一种垃圾短信过滤方法及装置 | |
CN109033078B (zh) | 语句类别识别方法及装置、存储介质、处理器 | |
CN110750712A (zh) | 基于数据驱动的软件安全需求推荐方法 | |
CN103389987A (zh) | 文本相似性比较方法及系统 | |
CN114048294B (zh) | 相似人群扩展模型训练方法、相似人群扩展方法和装置 | |
Desai et al. | A hybrid classification algorithm to classify engineering students' problems and perks | |
CN110313150B (zh) | 网络分析工具测试 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170609 |