本發(fā)明涉及通信協(xié)議分析技術(shù)領(lǐng)域,特別涉及一種基于機器學(xué)習(xí)的協(xié)議類型分析方法和裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,以互聯(lián)網(wǎng)為基礎(chǔ)的各種應(yīng)用程序越來越豐富,這些應(yīng)用程序在傳輸數(shù)據(jù)時,有的使用具有公開標準的協(xié)議,有的則采用了自己定義的私有協(xié)議。出于對網(wǎng)絡(luò)安全的考慮,在進行網(wǎng)絡(luò)監(jiān)測、管控時,需要逆向分析出這些應(yīng)用程序所采用的傳輸協(xié)議類型。
現(xiàn)有的協(xié)議分析過程中,一般是先采集網(wǎng)絡(luò)傳輸?shù)膱笪模缓笸ㄟ^人工分析這些報文,并提取出相應(yīng)的協(xié)議特征(例如:關(guān)鍵詞、特殊的字符串等),最后人工根據(jù)這些協(xié)議特征來判斷該報文所采用的協(xié)議類型。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
由于網(wǎng)絡(luò)傳輸?shù)膱笪臅l(fā)生變化,致使提取出來的相應(yīng)的協(xié)議特征也會隨之發(fā)生變化。在對變化的報文進行協(xié)議分析時,需要人工重新提取協(xié)議特征,這樣需要人工重復(fù)進行低效的協(xié)議分析工作,浪費勞動資源。
技術(shù)實現(xiàn)要素:
本發(fā)明針對現(xiàn)有的人工分析協(xié)議類型需要重復(fù)進行,浪費勞動資源的問題,提出了一種基于機器學(xué)習(xí)的協(xié)議類型分析方法和裝置。
本發(fā)明就上述技術(shù)問題而提出的技術(shù)方案如下:
一方面,提供了一種基于機器學(xué)習(xí)的協(xié)議類型分析方法,所述方法包括:
獲取多個已識別報文和多個關(guān)鍵詞,所述已識別報文為已被人工識別協(xié)議類型的報文,所述關(guān)鍵詞為人工挑選的具有代表所述已識別報文特征的詞匯;
采用TF-IDF算法對所述已識別報文和所述關(guān)鍵詞進行預(yù)處理,得到特征詞和所述特征詞在每個所述已識別報文中的權(quán)值,所述特征詞為用于區(qū)分不同所 述已識別報文的所述關(guān)鍵詞;
根據(jù)所述已識別報文、所述特征詞、以及得到的所述權(quán)值建立VSM向量空間模型,所述VSM向量空間模型包括多個向量節(jié)點,每個所述向量節(jié)點對應(yīng)于一個所述已識別報文,所述向量節(jié)點由所有的所述特征詞和每個特征詞在同一個所述已識別報文中的權(quán)值組成;
獲取未識別報文;
采用TF-IDF算法計算每個所述特征詞在所述未識別報文中的權(quán)值,并生成未識別向量節(jié)點,所述未識別向量節(jié)點由所有所述特征詞和每個所述特征詞在所述未識別報文中的權(quán)值組成;
在所述VSM向量空間模塊中添加所述未識別向量節(jié)點形成新的VSM向量空間模型;
采用K-means聚類算法對所述新的VSM向量空間模型中所有的向量節(jié)點進行分類,并計算出每類向量節(jié)點中的中心向量節(jié)點,所述中心向量節(jié)點為到同一分類中的各個所述向量節(jié)點的距離之和最小的向量節(jié)點;
獲取與所述未識別向量節(jié)點距離最近的中心向量節(jié)點,并以獲取的所述中心向量節(jié)點對應(yīng)的所述已識別報文的協(xié)議類型為所述未識別報文的協(xié)議類型。
本發(fā)明上述的基于機器學(xué)習(xí)的協(xié)議類型分析方法中,所述采用TF-IDF算法對所述已識別報文和所述關(guān)鍵詞進行預(yù)處理,得到特征詞和所述特征詞在每個所述已識別報文中的權(quán)值,包括:
根據(jù)TF-IDF算法計算每個所述關(guān)鍵詞在所有所述已識別報文中的逆向文件頻率;
根據(jù)TF-IDF算法計算每個所述關(guān)鍵詞在每個所述已識別報文中的詞頻;
根據(jù)計算得到的所述關(guān)鍵詞的逆向文件頻率和詞頻,計算出每個所述關(guān)鍵詞在每個所述已識別報文中的權(quán)值;
選取計算出的所述權(quán)值大于預(yù)設(shè)閥值的所述關(guān)鍵詞為所述特征詞。
本發(fā)明上述的基于機器學(xué)習(xí)的協(xié)議類型分析方法中,所述采用TF-IDF算法計算每個所述特征詞在所述未識別報文中的權(quán)值,包括:
根據(jù)TF-IDF算法計算每個所述特征詞在所述未識別報文中的詞頻;
根據(jù)TF-IDF算法計算每個所述關(guān)鍵詞在總報文中的逆向文件頻率,所述總報文包括所有所述已識別報文和所述未識別報文;
根據(jù)計算得到的所述關(guān)鍵詞的逆向文件頻率和詞頻,計算出每個所述關(guān)鍵詞在每個所述未識別報文中的權(quán)值。
本發(fā)明上述的基于機器學(xué)習(xí)的協(xié)議類型分析方法中,所述采用K-means聚類算法對所述新的VSM向量空間模型中所有的向量節(jié)點進行分類,并計算出每類向量節(jié)點中的中心向量節(jié)點,包括:
選擇所有的所述已識別報文對應(yīng)的協(xié)議類型總數(shù)為分類個數(shù);
選擇與所述分類個數(shù)相同個數(shù)的所述新的VSM向量模型中的向量節(jié)點作為質(zhì)心;
計算剩余的所述新的VSM向量模型的向量節(jié)點到所述質(zhì)心的距離;
將剩余的所述向量節(jié)點與距離最近的所述質(zhì)心歸為同一個分類;
計算每個所述分類的中心向量節(jié)點。
本發(fā)明上述的基于機器學(xué)習(xí)的協(xié)議類型分析方法中,所述采用K-means聚類算法對所述新的VSM向量空間模型中所有的向量節(jié)點進行分類,并計算出每類向量節(jié)點中的中心向量節(jié)點,還包括:
選取計算出來的所述中心向量節(jié)點為新的質(zhì)心;
計算剩余的所述向量節(jié)點到所述新的質(zhì)心的距離;
將剩余的所述向量節(jié)點與距離最近的所述新的質(zhì)心歸為同一個新的分類;
計算每個所述新的分類中的新的中心向量節(jié)點。
另一方面,提供了一種基于機器學(xué)習(xí)的協(xié)議類型分析裝置,所述裝置包括:
獲取模塊,用于獲取多個已識別報文和多個關(guān)鍵詞,所述已識別報文為已被人工識別協(xié)議類型的報文,所述關(guān)鍵詞為人工挑選的具有代表所述已識別報文特征的詞匯;
處理模塊,用于采用TF-IDF算法對所述已識別報文和所述關(guān)鍵詞進行預(yù)處理,得到特征詞和所述特征詞在每個所述已識別報文中的權(quán)值,所述特征詞為用于區(qū)分不同所述已識別報文的所述關(guān)鍵詞;
所述處理模塊,還用于根據(jù)所述已識別報文、所述特征詞、以及得到的所述權(quán)值建立VSM向量空間模型,所述VSM向量空間模型包括多個向量節(jié)點,每個所述向量節(jié)點對應(yīng)于一個所述已識別報文,所述向量節(jié)點由所有的所述特征詞和每個特征詞在同一個所述已識別報文中的權(quán)值組成;
所述獲取模塊,還用于獲取未識別報文;
計算模塊,用于采用TF-IDF算法計算每個所述特征詞在所述未識別報文中的權(quán)值,并生成未識別向量節(jié)點,所述未識別向量節(jié)點由所有所述特征詞和每個所述特征詞在所述未識別報文中的權(quán)值組成;
所述處理模塊,還用于在所述VSM向量空間模塊中添加所述未識別向量節(jié)點形成新的VSM向量空間模型;
所述處理模塊,還用于采用K-means聚類算法對所述新的VSM向量空間模型中所有的向量節(jié)點進行分類,并計算出每類向量節(jié)點中的中心向量節(jié)點,所述中心向量節(jié)點為到同一分類中的各個所述向量節(jié)點的距離之和最小的向量節(jié)點;
所述處理模塊,還用于獲取與所述未識別向量節(jié)點距離最近的中心向量節(jié)點,并以獲取的所述中心向量節(jié)點對應(yīng)的所述已識別報文的協(xié)議類型為所述未識別報文的協(xié)議類型。
本發(fā)明上述的基于機器學(xué)習(xí)的協(xié)議類型分析裝置中,所述處理模塊,包括:
第一計算單元,用于根據(jù)TF-IDF算法計算每個所述關(guān)鍵詞在所有所述已識別報文中的逆向文件頻率;
所述第一計算單元,還用于根據(jù)TF-IDF算法計算每個所述關(guān)鍵詞在每個所述已識別報文中的詞頻;
所述第一計算單元,還用于根據(jù)計算得到的所述關(guān)鍵詞的逆向文件頻率和詞頻,計算出每個所述關(guān)鍵詞在每個所述已識別報文中的權(quán)值;
處理單元,用于選取計算出的所述權(quán)值大于預(yù)設(shè)閥值的所述關(guān)鍵詞為所述特征詞。
本發(fā)明上述的基于機器學(xué)習(xí)的協(xié)議類型分析裝置中,所述計算模塊,包括:
第二計算單元,用于采用TF-IDF算法計算每個所述特征詞在所述未識別報文中的詞頻;
所述第二計算單元,還用于根據(jù)TF-IDF算法計算每個所述關(guān)鍵詞在總報文中的逆向文件頻率,所述總報文包括所有所述已識別報文和所述未識別報文;
所述第二計算單元,還用于根據(jù)計算得到的所述關(guān)鍵詞的逆向文件頻率和詞頻,計算出每個所述關(guān)鍵詞在每個所述未識別報文中的權(quán)值。
本發(fā)明上述的基于機器學(xué)習(xí)的協(xié)議類型分析裝置中,所述處理模塊,還包 括:
所述處理單元,用于選擇所有的所述已識別報文對應(yīng)的協(xié)議類型總數(shù)為分類個數(shù);
所述處理單元,用于選擇與所述分類個數(shù)相同個數(shù)的所述新的VSM向量模型中的向量節(jié)點作為質(zhì)心;
所述第一計算單元,還用于計算剩余的所述新的VSM向量模型的向量節(jié)點到所述質(zhì)心的距離;
所述處理單元,用于將剩余的所述向量節(jié)點與距離最近的所述質(zhì)心歸為同一個分類;
所述第一計算單元,還用于計算每個所述分類的中心向量節(jié)點。
本發(fā)明上述的基于機器學(xué)習(xí)的協(xié)議類型分析裝置中,所述處理模塊,還包括:
所述處理單元,用于選取計算出來的所述中心向量節(jié)點為新的質(zhì)心;
所述第一計算單元,還用于計算剩余的所述向量節(jié)點到所述新的質(zhì)心的距離;
所述處理單元,用于將剩余的所述向量節(jié)點與距離最近的所述新的質(zhì)心歸為同一個新的分類;
所述第一計算單元,還用于計算每個所述新的分類中的新的中心向量節(jié)點。
本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
通過獲取多個已識別報文和多個關(guān)鍵詞,并采用TF-IDF算法對已識別報文和關(guān)鍵詞進行預(yù)處理,以建立VSM向量空間模型;然后,采用TF-IDF算法計算每個特征詞在未識別報文中的權(quán)值,以生成未識別向量節(jié)點,并在VSM向量空間模塊中添加未識別向量節(jié)點形成新的VSM向量空間模型;最后,采用K-means聚類算法對新的VSM向量空間模型中所有的向量節(jié)點進行分類,并以獲取的中心向量節(jié)點對應(yīng)的已識別報文的協(xié)議類型為未識別報文的協(xié)議類型。這樣,在已被人工識別協(xié)議類型的報文基礎(chǔ)上,能夠快速分析出未識別報文的協(xié)議類型,既免除了人工重復(fù)低效的分析報文類型勞動,節(jié)省了人力資源,又節(jié)省了工作時間,加快了工作效率。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例一提供的一種基于機器學(xué)習(xí)的協(xié)議類型分析方法流程圖;
圖2是本發(fā)明實施例一提供的一種采用TF-IDF算法對已識別報文和關(guān)鍵詞進行預(yù)處理的方法流程圖;
圖3是本發(fā)明實施例一提供的一種采用TF-IDF算法計算每個特征詞在未識別報文的權(quán)值的方法流程圖;
圖4是本發(fā)明實施例一提供的一種采用K-means聚類算法對新的VSM向量空間模型中所有的向量節(jié)點進行分類的方法流程圖;
圖5是本發(fā)明實施例二提供的一種基于機器學(xué)習(xí)的協(xié)議類型分析裝置結(jié)構(gòu)示意圖
圖6是本發(fā)明實施例二提供的又一種基于機器學(xué)習(xí)的協(xié)議類型分析裝置結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
實施例一
本發(fā)明實施例提供了一種基于機器學(xué)習(xí)的協(xié)議類型分析方法,參見圖1,該方法包括:
步驟S11,獲取多個已識別報文和多個關(guān)鍵詞,該已識別報文為已被人工識別協(xié)議類型的報文,該關(guān)鍵詞為人工挑選的具有代表已識別報文特征的詞匯。
在本實施例中,已識別報文的協(xié)議類型已被人工識別,每個已識別報文中都有能代表該報文特征的關(guān)鍵詞,這些關(guān)鍵詞可以在人工識別報文的協(xié)議類型時被挑選出來。
步驟S12,采用詞頻-逆向文件頻率(Term Frequency–Inverse Document Frequency,簡稱“TF-IDF”)算法對已識別報文和關(guān)鍵詞進行預(yù)處理,得到特征 詞和該特征詞在每個已識別報文中的權(quán)值,該特征詞為用于區(qū)分不同已識別報文的關(guān)鍵詞。
在實際應(yīng)用中,具有代表作用的關(guān)鍵詞可能會出現(xiàn)重復(fù)的情況,即不同報文中的關(guān)鍵詞可能相同,這樣的關(guān)鍵詞不能夠?qū)⒉煌膱笪膮^(qū)分開,這時,采用TF-IDF算法將不具備區(qū)分能力的關(guān)鍵詞去除掉,選擇具有區(qū)分不同報文能力的特征詞。
具體的,參見圖2,上述步驟S12可以采用如下方式來實現(xiàn):
步驟S121,根據(jù)TF-IDF算法計算每個關(guān)鍵詞在所有已識別報文中的逆向文件頻率。
在本實施例中,逆向文件頻率可以由總已識別報文數(shù)目除以包含該關(guān)鍵詞的已識別報文的數(shù)目,再將得到的商取對數(shù)得到。逆向文件頻率可以用于判斷該關(guān)鍵詞在不同的已識別報文中出現(xiàn)的頻率,該關(guān)鍵詞在不同的已識別報文中出現(xiàn)的頻率越大,說明該關(guān)鍵詞用于區(qū)分不同已識別報文的能力越小。
具體地,可以采用如下公式來表示逆向文件頻率的計算:
其中,idfi表示為關(guān)鍵詞i在所有已識別報文d中的逆向文件頻率,D表示是所有已識別報文的總數(shù),{j:ti∈dj}表示為包含關(guān)鍵詞i的已識別報文d的數(shù)量j。
步驟S122,根據(jù)TF-IDF算法計算每個關(guān)鍵詞在每個已識別報文中的詞頻。
在本實施例中,詞頻是指特征詞在已識別報文中出現(xiàn)的次數(shù),并且該次數(shù)將被歸一化處理,以防止詞頻偏向于內(nèi)容多的報文。
具體地,可以采用如下公式來表示詞頻的計算:
其中,tfi,j為關(guān)鍵詞i在已識別報文j中的詞頻,ni.,j表示的為關(guān)鍵詞i在已識別報文j中出現(xiàn)的次數(shù),上述公式中的分母表示的為所有的關(guān)鍵詞在已識別報文j中出現(xiàn)的次數(shù)之和。
需要說明的是,上述步驟S121和步驟S122沒有先后之分,先執(zhí)行步驟S121或者先執(zhí)行步驟S122均可以,這里不作限制。
步驟S123,根據(jù)計算得到的關(guān)鍵詞的逆向文件頻率和詞頻,計算出每個關(guān) 鍵詞在每個已識別報文中的權(quán)值。
在本實施例中,上述權(quán)值可以為相應(yīng)關(guān)鍵詞的逆向文件頻率和詞頻的乘積。
步驟S124,選取計算出的權(quán)值大于預(yù)設(shè)閥值的關(guān)鍵詞為特征詞。
在本實施例中,預(yù)設(shè)閥值的大小可以根據(jù)實際情況而定,這里不作限定。權(quán)值大于預(yù)設(shè)閥值的關(guān)鍵詞,其具有區(qū)分不同已識別報文的能力,可以用來選作特征詞使用,如果其權(quán)值小于預(yù)設(shè)閥值的話,則說明該關(guān)鍵詞不能很好的區(qū)分已識別報文,故舍棄不用。
步驟S13,根據(jù)已識別報文、特征詞、以及得到的權(quán)值建立向量空間(Vector Space Model,簡稱“VSM”)模型,該VSM向量空間模型包括多個向量節(jié)點,每個向量節(jié)點對應(yīng)于一個已識別報文,該向量節(jié)點由所有的特征詞和每個特征詞在同一個已識別報文中的權(quán)值組成。
在本實施例中,每個向量節(jié)點對應(yīng)于一個已識別報文,VSM向量空間模型包括所有的已識別報文對應(yīng)的向量節(jié)點。每個向量節(jié)點由所有的特征詞和每個特征詞在同一個已識別報文中的權(quán)值組成,每個向量節(jié)點的維度都為所有特征詞的總數(shù)。例如:一個向量節(jié)點可以表示為{A1、A2、A3、A4、A5…An},其中,n表示所有特征詞的總數(shù),A1-An表示一個特征詞在同一個已識別報文中的權(quán)值。
步驟S14,獲取未識別報文。
在本實施例中,可以通過非人工手段來獲取未識別報文。
步驟S15,采用TF-IDF算法計算每個特征詞在該未識別報文的權(quán)值,并生成未識別向量節(jié)點,該未識別向量節(jié)點由所有特征詞和每個特征詞在未識別報文中的權(quán)值組成。
在本實施例中,新生成的未識別向量節(jié)點的維度與VSM向量空間模型中的向量節(jié)點的維度相同,均是所有特征詞的總數(shù)。且均是采用了通過關(guān)鍵詞獲取出來的特征詞,故未識別向量節(jié)點可以添加到VSM向量空間模塊中。
具體地,參見圖3,上述步驟S15可以通過如下步驟實現(xiàn):
步驟S151,采用TF-IDF算法計算每個特征詞在未識別報文中的詞頻。
具體的計算公式可以參考步驟S12,這里不再贅述。
步驟S152,根據(jù)TF-IDF算法計算每個關(guān)鍵詞在總報文中的逆向文件頻率,總報文包括所有已識別報文和未識別報文。
具體的計算公式可以參考步驟S12,這里不再贅述。有所不同的是,這里的 總報文包括所有已識別報文和未識別報文,而不是步驟S12中僅包括所有已識別報文。
步驟S153,根據(jù)計算得到的所關(guān)鍵詞的逆向文件頻率和詞頻,計算出每個關(guān)鍵詞在每個未識別報文中的權(quán)值。
在本實施例中,上述權(quán)值可以為相應(yīng)關(guān)鍵詞的逆向文件頻率和詞頻的乘積。
步驟S16,在VSM向量空間模塊中添加未識別向量節(jié)點形成新的VSM向量空間模型。
步驟S17,采用K-means(即K均值)聚類算法對新的VSM向量空間模型中所有的向量節(jié)點進行分類,并計算出每類向量節(jié)點中的中心向量節(jié)點,中心向量節(jié)點為到同一分類中的各個向量節(jié)點的距離之和最小的向量節(jié)點。
具體地,參見圖4,上述步驟S17可以通過如下方式實現(xiàn):
步驟S171,選擇所有的已識別報文對應(yīng)的協(xié)議類型總數(shù)為分類個數(shù)。
在本實施例中,采用所有已識別報文對應(yīng)的協(xié)議類型的總數(shù),來作為分類個數(shù),這樣分出來的類中每個類別可以代表不同的協(xié)議類型。
步驟S172,選擇與分類個數(shù)相同個數(shù)的新的VSM向量模型中的向量節(jié)點作為質(zhì)心。
在本實施例中,質(zhì)心可以看作中心點的意思,初次分類時,質(zhì)心的選擇可以是隨機的,也可以是人為設(shè)定的。
步驟S173,計算剩余的新的VSM向量模型的向量節(jié)點到質(zhì)心的距離。
在本實施例中,該距離的計算為向量之間的距離計算,這里不作詳細贅述。
步驟S174,將剩余的向量節(jié)點與距離最近的質(zhì)心歸為同一個分類。
步驟S175,計算每個分類的中心向量節(jié)點。
在實際應(yīng)用中,可以通過上述步驟得到的中心向量節(jié)點,但是由上述步驟得到的中心向量節(jié)點可能不太準確。進一步地,上述步驟S17的實現(xiàn)方法還可以包括:
步驟S176,選取計算出來的中心向量節(jié)點為新的質(zhì)心。
步驟S177,計算剩余的向量節(jié)點到新的質(zhì)心的距離。
步驟S178,將剩余的向量節(jié)點與距離最近的新的質(zhì)心歸為同一個新的分類。
步驟S179,計算每個新的分類中的新的中心向量節(jié)點。
在本實施例中,還可以重復(fù)上述步驟S176至步驟S179,重復(fù)多次后可以得 到更為準確的中心向量節(jié)點。具體重復(fù)次數(shù)可以根據(jù)實際情況而定,這里不作限制。
步驟S18,獲取與未識別向量節(jié)點距離最近的中心向量節(jié)點,并以獲取的中心向量節(jié)點對應(yīng)的已識別報文的協(xié)議類型為未識別報文的協(xié)議類型。
在本實施例中,通過計算未識別向量節(jié)點與各個中心向量節(jié)點的距離,來判斷該未識別向量節(jié)點屬于哪個分類,而該分類的各個向量節(jié)點對應(yīng)的已識別報文具有相同的協(xié)議類型,其中,中心向量節(jié)點對應(yīng)的協(xié)議類型可以代表其所在分類的協(xié)議類型,故可以采用與未識別向量節(jié)點距離最近的中心向量節(jié)點對應(yīng)的已識別報文的協(xié)議類型,來作為未識別向量節(jié)點對應(yīng)的未識別報文的協(xié)議類型。
在本實施例中,上述基于機器學(xué)習(xí)的協(xié)議類型分析方法主要用于,未超出已識別的協(xié)議類型范圍的報文協(xié)議類型分析。
本發(fā)明實施例通過獲取多個已識別報文和多個關(guān)鍵詞,并采用TF-IDF算法對已識別報文和關(guān)鍵詞進行預(yù)處理,以建立VSM向量空間模型;然后,采用TF-IDF算法計算每個特征詞在未識別報文中的權(quán)值,以生成未識別向量節(jié)點,并在VSM向量空間模塊中添加未識別向量節(jié)點形成新的VSM向量空間模型;最后,采用K-means聚類算法對新的VSM向量空間模型中所有的向量節(jié)點進行分類,并以獲取的中心向量節(jié)點對應(yīng)的已識別報文的協(xié)議類型為未識別報文的協(xié)議類型。這樣,在已被人工識別協(xié)議類型的報文基礎(chǔ)上,能夠快速分析出未識別報文的協(xié)議類型,既免除了人工重復(fù)低效的分析報文類型勞動,節(jié)省了人力資源,又節(jié)省了工作時間,加快了工作效率。
實施例二
本發(fā)明實施例提供了一種基于機器學(xué)習(xí)的協(xié)議類型分析的裝置,參見圖5,該裝置包括:
獲取模塊201,用于獲取多個已識別報文和多個關(guān)鍵詞,該已識別報文為已被人工識別協(xié)議類型的報文,該關(guān)鍵詞為人工挑選的具有代表已識別報文特征的詞匯。
在本實施例中,已識別報文的協(xié)議類型已被人工識別,每個已識別報文中都有能代表該報文特征的關(guān)鍵詞,這些關(guān)鍵詞可以在人工識別報文的協(xié)議類型 時被挑選出來。
處理模塊202,用于采用TF-IDF算法對已識別報文和關(guān)鍵詞進行預(yù)處理,得到特征詞和特征詞在每個已識別報文中的權(quán)值,特征詞為用于區(qū)分不同已識別報文的關(guān)鍵詞。
在實際應(yīng)用中,具有代表作用的關(guān)鍵詞可能會出現(xiàn)重復(fù)的情況,即不同報文中的關(guān)鍵詞可能相同,這樣的關(guān)鍵詞不能夠?qū)⒉煌膱笪膮^(qū)分開,這時,采用TF-IDF算法將不具備區(qū)分能力的關(guān)鍵詞去除掉,選擇具有區(qū)分不同報文能力的特征詞。
處理模塊202,還用于根據(jù)已識別報文、特征詞、以及得到的權(quán)值建立VSM向量空間模型,VSM向量空間模型包括多個向量節(jié)點,每個向量節(jié)點對應(yīng)于一個已識別報文,向量節(jié)點由所有的特征詞和每個特征詞在同一個已識別報文中的權(quán)值組成。
在本實施例中,每個向量節(jié)點對應(yīng)于一個已識別報文,VSM向量空間模型包括所有的已識別報文對應(yīng)的向量節(jié)點。每個向量節(jié)點由所有的特征詞和每個特征詞在同一個已識別報文中的權(quán)值組成,每個向量節(jié)點的維度都為所有特征詞的總數(shù)。例如:一個向量節(jié)點可以表示為{A1、A2、A3、A4、A5…An},其中,n表示所有特征詞的總數(shù),A1-An表示一個特征詞在同一個已識別報文中的權(quán)值。
獲取模塊201,還用于獲取未識別報文。
計算模塊203,用于采用TF-IDF算法計算每個特征詞在未識別報文中的權(quán)值,并生成未識別向量節(jié)點,未識別向量節(jié)點由所有特征詞和每個特征詞在未識別報文中的權(quán)值組成。
在本實施例中,新生成的未識別向量節(jié)點的維度與VSM向量空間模型中的向量節(jié)點的維度相同,均是所有特征詞的總數(shù)。且均是采用了通過關(guān)鍵詞獲取出來的特征詞,故未識別向量節(jié)點可以添加到VSM向量空間模塊中。
處理模塊202,還用于在VSM向量空間模塊中添加未識別向量節(jié)點形成新的VSM向量空間模型。
處理模塊202,還用于采用K-means聚類算法對新的VSM向量空間模型中所有的向量節(jié)點進行分類,并計算出每類向量節(jié)點中的中心向量節(jié)點,中心向量節(jié)點為到同一分類中的各個向量節(jié)點的距離之和最小的向量節(jié)點。
處理模塊202,還用于獲取與未識別向量節(jié)點距離最近的中心向量節(jié)點,并 以獲取的中心向量節(jié)點對應(yīng)的已識別報文的協(xié)議類型為未識別報文的協(xié)議類型。
在本實施例中,通過處理模塊202來計算未識別向量節(jié)點與各個中心向量節(jié)點的距離,來判斷該未識別向量節(jié)點屬于哪個分類,而該分類的各個向量節(jié)點對應(yīng)的已識別報文具有相同的協(xié)議類型,其中,中心向量節(jié)點對應(yīng)的協(xié)議類型可以代表其所在分類的協(xié)議類型,故可以采用與未識別向量節(jié)點距離最近的中心向量節(jié)點對應(yīng)的已識別報文的協(xié)議類型,來作為未識別向量節(jié)點對應(yīng)的未識別報文的協(xié)議類型。
在本實施例中,上述基于機器學(xué)習(xí)的協(xié)議類型分析裝置主要用于,未超出已識別的協(xié)議類型范圍的報文協(xié)議類型分析。
具體地,參見圖6,處理模塊202可以包括:
第一計算單元212,用于根據(jù)TF-IDF算法計算每個關(guān)鍵詞在所有已識別報文中的逆向文件頻率。
在本實施例中,逆向文件頻率可以由總已識別報文數(shù)目除以包含該關(guān)鍵詞的已識別報文的數(shù)目,再將得到的商取對數(shù)得到。逆向文件頻率可以用于判斷該關(guān)鍵詞在不同的已識別報文中出現(xiàn)的頻率,該關(guān)鍵詞在不同的已識別報文中出現(xiàn)的頻率越大,說明該關(guān)鍵詞用于區(qū)分不同已識別報文的能力越小。
具體地,可以采用如下公式來表示逆向文件頻率的計算:
其中,idfi表示為關(guān)鍵詞i在所有已識別報文d中的逆向文件頻率,D表示是所有已識別報文的總數(shù),{j:ti∈dj}表示為包含關(guān)鍵詞i的已識別報文d的數(shù)量j。
第一計算單元212,還用于根據(jù)TF-IDF算法計算每個關(guān)鍵詞在每個已識別報文中的詞頻。
在本實施例中,詞頻是指特征詞在已識別報文中出現(xiàn)的次數(shù),并且該次數(shù)將被歸一化處理,以防止詞頻偏向于內(nèi)容多的報文。
具體地,可以采用如下公式來表示詞頻的計算:
其中,tfi,j為關(guān)鍵詞i在已識別報文j中的詞頻,ni.,j表示的為關(guān)鍵詞i在已 識別報文j中出現(xiàn)的次數(shù),上述公式中的分母表示的為所有的關(guān)鍵詞在已識別報文j中出現(xiàn)的次數(shù)之和。
第一計算單元212,還用于根據(jù)計算得到的關(guān)鍵詞的逆向文件頻率和詞頻,計算出每個關(guān)鍵詞在每個已識別報文中的權(quán)值。
在本實施例中,上述權(quán)值可以為相應(yīng)關(guān)鍵詞的逆向文件頻率和詞頻的乘積。
處理單元222,用于選取計算出的權(quán)值大于預(yù)設(shè)閥值的關(guān)鍵詞為特征詞。
在本實施例中,預(yù)設(shè)閥值的大小可以根據(jù)實際情況而定,這里不作限定。權(quán)值大于預(yù)設(shè)閥值的關(guān)鍵詞,其具有區(qū)分不同已識別報文的能力,可以用來選作特征詞使用,如果其權(quán)值小于預(yù)設(shè)閥值的話,則說明該關(guān)鍵詞不能很好的區(qū)分已識別報文,故舍棄不用。
具體地,參見圖6,計算模塊203可以包括:
第二計算單元213,用于采用TF-IDF算法計算每個特征詞在未識別報文中的詞頻;
第二計算單元213,還用于根據(jù)TF-IDF算法計算每個關(guān)鍵詞在總報文中的逆向文件頻率,總報文包括所有已識別報文和未識別報文
第二計算單元213,還用于根據(jù)計算得到的所關(guān)鍵詞的逆向文件頻率和詞頻,計算出每個關(guān)鍵詞在每個未識別報文中的權(quán)值。
具體地,參見圖6,處理模塊202還可以包括:
處理單元222,用于選擇所有的已識別報文對應(yīng)的協(xié)議類型總數(shù)為分類個數(shù)。
在本實施例中,采用所有已識別報文對應(yīng)的協(xié)議類型的總數(shù),來作為分類個數(shù),這樣分出來的類中每個類別可以代表不同的協(xié)議類型。
處理單元222,用于選擇與分類個數(shù)相同個數(shù)的新的VSM向量模型中的向量節(jié)點作為質(zhì)心。
在本實施例中,質(zhì)心可以看作中心點的意思,初次分類時,質(zhì)心的選擇可以是隨機的,也可以是人為設(shè)定的。
第一計算單元212,還用于計算剩余的新的VSM向量模型的向量節(jié)點到質(zhì)心的距離。
處理單元222,用于將剩余的向量節(jié)點與距離最近的質(zhì)心歸為同一個分類。
第一計算單元212,還用于計算每個分類的中心向量節(jié)點。
進一步地,參見圖6,處理模塊202還可以包括:
處理單元222,用于選取計算出來的中心向量節(jié)點為新的質(zhì)心。
第一計算單元212,還用于計算剩余的向量節(jié)點到新的質(zhì)心的距離。
處理單元222,用于將剩余的向量節(jié)點與距離最近的新的質(zhì)心歸為同一個新的分類。
第一計算單元212,還用于計算每個新的分類中的新的中心向量節(jié)點。
本發(fā)明實施例通過獲取多個已識別報文和多個關(guān)鍵詞,并采用TF-IDF算法對已識別報文和關(guān)鍵詞進行預(yù)處理,以建立VSM向量空間模型;然后,采用TF-IDF算法計算每個特征詞在未識別報文中的權(quán)值,以生成未識別向量節(jié)點,并在VSM向量空間模塊中添加未識別向量節(jié)點形成新的VSM向量空間模型;最后,采用K-means聚類算法對新的VSM向量空間模型中所有的向量節(jié)點進行分類,并以獲取的中心向量節(jié)點對應(yīng)的已識別報文的協(xié)議類型為未識別報文的協(xié)議類型。這樣,在已被人工識別協(xié)議類型的報文基礎(chǔ)上,能夠快速分析出未識別報文的協(xié)議類型,既免除了人工重復(fù)低效的分析報文類型勞動,節(jié)省了人力資源,又節(jié)省了工作時間,加快了工作效率。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
需要說明的是:上述實施例提供的基于機器學(xué)習(xí)的協(xié)議類型分析裝置在實現(xiàn)基于機器學(xué)習(xí)的協(xié)議類型分析方法時,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的基于機器學(xué)習(xí)的協(xié)議類型分析裝置與基于機器學(xué)習(xí)的協(xié)議類型分析方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。