999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軍用軟件測試領域的命名實體識別技術研究

2020-05-13 04:51:20韓鑫鑫賁可榮
計算機與生活 2020年5期
關鍵詞:特征提取方法

韓鑫鑫,賁可榮,張 獻

海軍工程大學 電子工程學院,武漢 430033

1 引言

軍事上,隨著軟件在武器裝備中所占比例的增加,其質量的高低嚴重影響了軍用裝備的可靠性,軟件測試作為保證軟件質量的重要環節,逐漸受到軍事領域專家的重視。但軟件測試較為復雜,如何整合軟件測試相關知識,并智能化地為部隊提供軟件測試輔助決策,成為了亟待解決的問題。知識圖譜作為一種新興技術,它能夠將復雜、海量的數據整合到一起,通過挖掘到的關系將數據相互聯系起來,有著強大的數據描述能力和豐富的語義關系。國內,Li等人[1]就通過構建API 警告知識圖譜解決API(application program interface)警告問題,Xie 等人[2-3]構建了軟件知識圖譜輔助軟件知識應用。由此可見,構建軟件測試知識圖譜,也是解決上述軍用軟件質量問題的一種有效手段。圖1 和圖2 展示了配置項測試知識圖譜的部分本體概念和相關實體,將它們結合成一套高質量的知識體系,例如查詢A 級軟件配置項測試依據哪些質量特性、需要輸入輸出哪些文檔等類似問題,相比較人工查詢文檔和互聯網,知識圖譜瞬間就能得出精準答案,大大提高了效率。實體質量的好壞直接決定了知識圖譜的質量好壞,基于對實體提取的需求,本文重點研究命名實體識別技術,提取軟件測試領域相關實體。

Fig.1 Configuration item testing concept map圖1 配置項測試概念圖

Fig.2 Quality characteristic entity map圖2 質量特性實體圖

命名實體識別(named entity recognition,NER)[4]是識別文本中命名實體以及將它們分類為預定義類別(例如人、位置、組織等)的任務,用作各種自然語言應用的基礎,例如問答、文本摘要、機器翻譯等,它作為構建知識圖譜的重要階段,關系到最終整個知識圖譜的質量好壞。自然語言學習會議(Conference on Natural Language Learning,CoNLL)提出命名實體識別的主要任務是識別人名、地名、機構名和其他命名實體[5],而軟件測試命名實體識別作為特定領域的命名實體識別,不同于通用領域,實體識別對象及方法都會有很大區別,在研究時遇到了以下問題:

(1)前人沒有做過類似工作,軟件測試的本體、實體、屬性等概念沒有統一標準,缺少數據集;

(2)識別過程中,傳統深度學習的字符級特征提取方法還有待提高,沒有完全利用字與詞之間的關系,且實際上每個字對于詞的特征貢獻都不一樣,但普通方法都未進行處理,導致整個識別方法在本領域的準確率不是很高。

本文主要針對構建知識圖譜的命名實體識別階段展開深入研究,并做出如下主要貢獻:

(1)考慮到目前尚無針對軍用軟件測試領域命名實體識別以及知識圖譜的研究,本文對該方向進行了學習和探討,自行收集和整理了軟件測試相關知識的數據集,確立實體類型分類,并進行了標注。

(2)本文在前人研究的基礎上,提出了一個CWA-BiLSTM-CRF(character and word attention-bidirectional long short term memory-conditional random field)識別框架,該框架通過字詞融合訓練來提取字符級特征,并加入注意力機制衡量字符貢獻語義的權重,能夠充分利用語義信息,提取出更好的字符級特征。經實驗表明,識別效果優于原始方法。

2 相關工作

早期的實體識別方法一般采用基于詞典和規則的方法,最具代表性的就是Collins 等人[6]提出的DLCoTrain 方法,對三種基本類別的分類準確率超過了91%;國內軍事上,馮蘊天等人[7]則是用詞典和規則對識別結果進行校正,但這些方法都需要太多人工干預進行規則構造,且移植性較差。后來許多學者開始關注基于機器學習的實體識別方法,常用的機器學習方法有條件隨機場(conditional random fields,CRF)[8]、隱馬爾科夫模型(hidden Markov model,HMM)[9]、支持向量機(support vector machine,SVM)[10]、決策樹(decision tree,DT)[11]、最大熵(maximum entropy,ME)[12]等,其中條件隨機場是主流的選擇,它將文本標注變為序列標注問題,但是傳統機器學習方法比較依賴特征工程,此時深度學習強大的學習和自我調整能力就逐漸受到人們的歡迎。

國外對于深度學習的命名實體識別研究已經較為成熟,Kuru 等人[13]將句子分割成字,通過雙向長短期記憶網絡(bi-directional long short term memory,BiLSTM)+CRF 的組合解碼出每個字的標簽概率,實現命名實體識別,但該方法沒有考慮詞級信息。字詞聯合識別方法是近幾年研究較熱的方向,Aguilar[14]、Ma 等人[15]用卷積神經網絡(convolutional neural network,CNN)提取字符級特征,Liu等人[16]用BiLSTM 提取字符級特征,然后都對詞向量進行預訓練,將兩者連接后通過BiLSTM+CRF 的組合模型識別出實體;Peters 等人[17]則是先將詞向量經過語言模型進行預訓練,然后用深度學習模型進行識別,實驗證明有較好效果;Minh[18]在識別模型中加入詞語形狀特征、布朗集群特征等,也取得了一定的效果;Lample等人[19]除了使用BiLSTM+CRF 的組合,還提出了基于轉換方法的模型,對四種語言進行檢驗,效果良好。國內醫學領域,Dong 等人[20]用CNN 作為分類器進行電子病歷命名實體的識別,取得不錯的結果。軍事領域方面,王學鋒等人[21]立足于BiLSTM+CRF 的組合模型,對句子中的單個字進行標簽解碼,識別軍事實體;朱佳暉等人[22]則是結合詞性和字符級特征,通過深度神經網絡對軍事命名實體進行識別,效果較傳統方法都有較大提升。

綜合幾種方法進行比較,字詞結合的深度學習命名實體識別方法較為流行,效果普遍較好,但是該方法還存在著字符級特征提取不完全的情況,為此需對前人的方法進行改進。接下來,本文將分別介紹改進的CWA-BiLSTM-CRF 識別框架、具體的識別步驟以及對于實驗結果的分析。

3 CWA-BiLSTM-CRF 識別框架

本文提出了一個CWA-BiLSTM-CRF 識別框架用于解決命名實體識別問題,體現出了良好的識別效果。該框架主要由兩部分組成:一是改進的字符級特征提取方法;二是BiLSTM+CRF 實體識別模型。下面分別對兩部分的模型進行介紹。

3.1 改進的字符級特征提取方法

本文對提取字符級特征的傳統方法進行改進,提取過程如圖3 所示。過程共分為四步,下面詳細介紹這四個步驟。

Fig.3 Improved character level feature extraction method圖3 改進的字符級特征提取方法

輸入層:對于輸入的所有文本,首先通過word2id詞典(字詞融合詞典的構造方法下一章將予以說明)獲取其字和詞的id,再將文本轉換為id 的矩陣作為輸入。

字詞向量構造層:接收到id 的矩陣輸入,通過查詢id2vector 詞典(字詞融合詞典的構造方法下一章將予以說明)獲取每個字詞的向量表示。此步驟中,字和詞的向量都已經過預訓練,詞的向量表示為word=(word1,word2,…,wordm),字的向量表示為char=(char1,char2,…,charn)。相比較傳統方法,經過預訓練的字向量預測效果更好。一般字符級特征提取只針對詞內的字符進行特征提取,但這會損失詞內字和詞語本身最原始的聯系。本方法則是將詞向量添加在字向量序列之前,字向量序列后空白的位置用零向量Padding補齊,直至序列長度填滿為固定值,得到字詞融合向量feature=(wordi,chari1,chari2,…,charin,Padding),其中charin表示第i個詞的第n個字向量。字詞的融合訓練,可以提取到最原始的字符級特征,不會損失字和詞之間的初始聯系。

BiLSTM 層:BiLSTM 包含了一個前向和后向的長短期記憶網絡(long short term memory,LSTM),能夠獲取豐富的語義特征,解決長距離的語義信息丟失問題,并且很好地彌補了LSTM 只能單向獲取語義特征的缺陷。LSTM 通過輸入門、遺忘門和輸出門來控制信息的取舍。

Ιt表示輸入門,Ft表示遺忘門,Ot表示輸出門,每個句子的分布式表示為x=[x1,x2,…,xn],xt表示t時刻的輸入,ht表示t時刻的輸出,Ct表示t時刻細胞單元的狀態,w和b分別表示隱藏層權值和偏置,σ表示sigmoid函數,最后輸出h可由式(1)計算得到。

BiLSTM 則是將兩個反向的LSTM 組合在一起,將每個時刻的前后LSTM 輸出值進行拼接,作為此時刻的狀態輸出值。有正向LSTM 的輸出),反向LSTM 的輸出),將兩者進行拼接,輸出結果hi=。

注意力機制層:每個字對于詞的語義貢獻是不一樣的,但以往字符級特征提取方法都忽略了這一點。本文方法通過注意力機制[23-24],計算BiLSTM 最終隱藏狀態與輸出結果的余弦值,衡量不同字對特征的重要性,能夠使提取的字符級特征更加準確。有最終隱藏狀態ht,輸出結果,αi表示第i個字的輸出權重,則改進的字符級特征h,可由式(2)計算得到。最終得到的字符級特征,將會作為第二部分BiLSTM+CRF 實體識別模型的部分特征輸入。

3.2 BiLSTM+CRF 實體識別模型

針對軟件測試領域命名實體的特點,本文構建了基于BiLSTM 和CRF 的命名實體識別模型,識別過程如圖4所示。模型共分為四層,下面進行詳細介紹。

輸入層:對于輸入的所有文本,首先通過word2id詞典獲取其字和詞的id,并根據固定的截斷值將句子長度進行截斷,再將文本轉換為id 的矩陣作為輸入。

特征矩陣構造層:接收到id 的矩陣輸入,通過查詢id2vector 詞典,獲取每個詞的向量表示x=[x1,x2,…,xn],再連接詞性向量m=[m1,m2,…,mn],與之前提取的字符級特征h=[h1,h2,…,hn]前后拼接,組成詞嵌入向量w=(x,m,h),以矩陣的形式輸入給下一層深度神經網絡。

BiLSTM 層:不同于字符級特征提取方法里的BiLSTM 層,本層在拼接完兩個反向LSTM 層的結果之后,根據隱藏層單元數目及標簽數目,設置輸出權值wh和偏置bh,最終結果可由式(3)計算得到。

其中,hi為兩個反向LSTM 層的拼接結果。最后將g的最后一維變換為標簽數目,得到每個標簽的概率分布。但是此概率分布直接用作最后的識別結果是不合理的,會導致標簽輸出的組合序列不正確,因此需要添加一個CRF 層來解決這個問題。

CRF輸出層:CRF層可以作為BiLSTM 的 解 碼層,來解決上層結果中不合理的序列問題。與BiLSTM 連接的CRF 層,主要學習的是標簽之間的狀態轉移矩陣,通過BiLSTM 層的輸出矩陣(EmissionScore)和狀態轉移矩陣(TransitionScore)進行運算,解碼出每個標簽的最終概率,在條件x的前提下,概率P(y|x)可由式(4)計算得到。

Fig.4 BiLSTM+CRF entity recognition model圖4 BiLSTM+CRF 實體識別模型

4 識別方法步驟

4.1 確立和獲取軍用軟件測試命名實體

根據軟件測試的需要以及與軟件測試領域專家的商討,初步確立了十種常用實體類型,不同實體類型下又分有不同屬性和內容,類型名稱、代號和樣例如表1 所示。這十類實體通過國軍標、海軍裝備細則以及互聯網三種來源進行獲取,每個實體都有一個來源屬性,根據該屬性區分實體是從哪里獲取,在運用知識圖譜進行知識問答時,可以按照來源屬性調整實體推薦的優先級,例如面向海軍軟件,則可以優先推薦來源于海軍裝備細則的實體。本文所有實體均是先從國軍標和海軍裝備細則相關文檔內獲取,保證規范性和權威性。

Table 1 Entity type表1 實體類型

現代互聯網上資源豐富,部隊裝備軟件越來越趨向于使用開源代碼,開源軟件出現的頻率越來越高,其測試標準不可避免地會與民用軟件測試標準接軌。在這樣的環境下,軟件測試知識圖譜不能只關注于軍用測試標準,而應將民用測試標準的部分也作為知識圖譜的補充內容,做到更加全面。因此,除了國軍標和海軍裝備細則相關文檔,還需從互聯網關于軟件測試的知識中提取出對應實體進行補充。

由于軟件測試領域現在還沒有相關的開源數據集,所有訓練文本語料均是自行獲得和整理,因此命名實體需要進行人工標注。本文采用簡單高效的BIO 標注方式對實體進行標注,B-前綴為開頭的標注表示實體的第一個單詞,I-前綴為開頭的標注表示實體的中間及結尾部分,O 表示非實體。以測試類型為例,B-TS 表示測試類型實體的開始,I-TS 表示測試類型實體的中間及結尾。在標注完成之后,對數據集中的命名實體進行分析,統計得到標注的實體總數達到5 132 個,其中以測試類型、測試文檔、測試工具、測試方法四類實體的標注數量居多。

4.2 構建字詞融合詞典

本文首先對字和詞進行預訓練,構建字詞融合詞典,經實驗證明使用效果優于單一的詞典。本文識別框架使用的字詞融合詞典共有三個,分別是id2word 詞典、word2id 詞典和id2vector 詞典,每個詞典在深度學習模型里均會用到。

獲取到原始文本語料之后,通過結巴(jieba)分詞工具,將語料進行分詞、分字以及詞性標注。本文使用word2vec[25]對分詞和分字后的語料進行預訓練,生成初始字向量和詞向量,向量維數一般在100~200 之間。預訓練后,對每個詞和字進行編號,生成唯一的id,若存在字和詞是一致的情況,則選擇語義更為豐富的詞向量進行id 編號。將對應的字詞和id 存入id2word 和word2id 詞典,id2word 詞典 可以通過id 查詢到字詞,word2id 詞典可以通過字詞查詢到id。最后將每個字詞的id 和對應的字詞向量存入id2vector詞典,該詞典可以通過id 查詢出對應的字詞向量。

4.3 命名實體識別

在上述準備步驟完成之后,將已分好詞的文本及已標注的文本作為命名實體識別模型的輸入,開始命名實體識別過程。

第一步,將分詞文本輸入給第一層改進的字符級特征提取模型,模型會自動識別詞語內的單字,并通過融合詞典將文本轉換為可識別的字詞向量,交由BiLSTM 網絡訓練出改進的字符級特征。

第二步,將詞向量、詞性向量和改進的字符級特征首尾拼接成詞嵌入向量,作為第二層BiLSTM+CRF 模型的輸入,模型最終會分配給每個實體類別一個分數,通過分數高低判斷該詞語屬于哪種實體類別。

整個過程采用批處理的方式,批處理方式能夠提高訓練效率,縮短訓練時間,但批處理的規模不能過大,否則會導致模型學習效果不佳。另外,為防止過擬合現象的發生,本文在模型訓練過程中加入了Dropout[26]機制,該機制已證明能夠有效解決過擬合問題,提高了模型識別的效果。

5 實驗與結果分析

5.1 實驗數據

本文提取實體的數據源由三部分組成:一是與軟件測試相關的國軍標系列標準;二是海軍裝備細則;三是互聯網權威測試網站中的相關文章。經過內容篩選之后,具體如表2 所示。文本總計95 000 字內容,共標注52 982 個詞或字,其中實體標注5 132個,非實體標注37 143 個。文本以txt 的格式進行存儲,去除無意義的符號,其余正常符號予以保留。

Table 2 Entity data source表2 實體數據來源

5.2 實驗環境和評價指標

本文的硬件實驗環境包括:Intel?CoreTMi7-7700HQ CPU 2.80 GHz,RAM 8.00 GB,Windows 10操作系統,NVIDIA GTX1060 6G GDDR5 獨立顯卡。軟件實驗環境包括:Python 3.6.4,beautifulsoup4 4.6.3,tensorflow 1.5.0,jieba 0.39,gensim 3.6.0,Anaconda3(64-bit)。其中beautifulsoup4 工具用于網絡文本爬取,jieba工具用于文本分詞。

準確率、召回率和F1 值通常用來評價命名實體識別效果,F1 值能夠體現整體測試效果,因此本文主要以F1 值為主要評價指標,可由式(5)計算得到。實驗中,對命名實體的邊界和類型全部判斷正確,才算成功識別出一個實體。

其中,TP(true positive)表示被正確地劃分為正例的個數,FP(false positive)表示被錯誤地劃分為正例的個數,FN(false negative)表示被錯誤地劃分為負例的個數。

5.3 結果分析

本文主要做了兩部分的實驗:實驗1 是探究迭代次數和批處理次數對于本文提出方法的影響,并依此確立這兩個參數;實驗2 是將本文提出方法與其他常用的字詞聯合識別方法進行比較,驗證識別效果。兩個實驗均采用五折交叉驗證法進行驗證。

實驗1 的結果如圖5 所示。由圖可知,當批處理次數為10 時,其整體效果為最優。而當批處理次數不變時,F1 值隨著迭代次數的增加而升高,到達一定次數時,F1 值會到達一個最大值,而后緩慢變小趨于穩定。由于在迭代次數為50 的時候,本文改進方法有最優F1 值為88.93%,因此根據結果,本文將批處理次數設置為10,迭代次數設置為50,此時的識別效果是最好的。

Fig.5 Effect of iteration and batch number on improved method圖5 迭代和批處理次數對本文改進方法的影響

實驗2 所有識別模型的命名實體識別階段均是采用BiLSTM+CRF 的組合,區別在于字符級特征提取階段所采用的方法,目前常用的字符級特征提取網絡為循環神經網絡(recurrent neural network,RNN)、CNN 和BiLSTM 網絡,因此選取這三種網絡作為對比方法。方法1 是用普通RNN 網絡提取字符級特征;方法2 是用CNN 網絡提取字符級特征;方法3 是用BiLSTM 網絡提取字符級特征;方法4 是采用本文改進的字符級特征提取方法。四種方法的參數保持一致:迭代次數設為50,批處理次數設為10,字、詞向量設為150 維,學習速率設為0.001,隱藏層單元數目設為250,dropout參數設為0.5,結果對比如表3 所示。

從實驗結果中可以看出,普通RNN 提取字符級特征的效果最差,F1 值只有80.73%。BiLSTM 的召回率高于CNN,但準確率低于CNN,兩者的總體效果相差不多。而在使用本文方法后,與CNN 相比,準確率和召回率都有提升,尤其是召回率提高了3.5 個百分點;與BiLSTM 相比,準確率和召回率也都有提升,尤其是準確率提高了3.88 個百分點。以上結果說明本文提出的CWA-BiLSTM-CRF 框架能夠更好地提取字符級特征,獲取字詞語義關系,準確率和召回率較其他主流方法有提升,并具有最優F1值為88.93%,適用于軟件測試領域的命名實體識別,符合軍用軟件準確性的嚴格要求,有較好的識別能力。

Table 3 Evaluation results of four methods表3 四種方法的評估結果 %

6 總結與展望

本文主要研究了面向軍用軟件測試領域的命名實體識別任務,考慮到目前尚無針對該領域命名實體識別以及知識圖譜的研究,本文首次嘗試對該方向進行了學習和探討,構建了用于命名實體識別的軟件測試知識數據集,并在前人研究的基礎之上提出了一種改進的識別框架(CWA-BiLSTM-CRF)。該框架充分融合了字詞以及上下文之間的語義聯系,能挖掘出更具代表性的詞嵌入特征。實驗分別對RNN、CNN、BiLSTM 以及本文改進的字符級特征提取方法進行了對比,改進后的方法得出的準確率、召回率和F1 值有較大提升,能夠用于軟件測試領域的命名實體識別任務。

命名實體識別是構建知識圖譜的重要步驟,本文最終目的是完成軍用軟件測試知識圖譜,構建智能問答系統,輔助解決軟件質量問題。下一階段主要研究內容包括拓寬實體類型,挖掘實體關系,并對語義推理展開深入研究,完成知識圖譜的構建。

猜你喜歡
特征提取方法
特征提取和最小二乘支持向量機的水下目標識別
基于Gazebo仿真環境的ORB特征提取與比對的研究
電子制作(2019年15期)2019-08-27 01:12:00
學習方法
基于Daubechies(dbN)的飛行器音頻特征提取
電子制作(2018年19期)2018-11-14 02:37:08
Bagging RCSP腦電特征提取算法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
基于MED和循環域解調的多故障特征提取
主站蜘蛛池模板: 国产1区2区在线观看| 日韩精品无码不卡无码| 九色在线观看视频| 99精品免费欧美成人小视频| 干中文字幕| 国产黑丝视频在线观看| 蝴蝶伊人久久中文娱乐网| 国产成人无码AV在线播放动漫| 国产91熟女高潮一区二区| 亚洲久悠悠色悠在线播放| 国产亚洲欧美日本一二三本道| 国产精品视频公开费视频| 国产jizz| 五月婷婷综合色| …亚洲 欧洲 另类 春色| 亚洲成a人片在线观看88| 久久黄色一级视频| 亚洲人成网线在线播放va| 尤物成AV人片在线观看| 色成人综合| 欧美精品xx| 亚洲男人在线| 日韩欧美视频第一区在线观看| 日韩av无码精品专区| 久久伊人操| 久久人搡人人玩人妻精品| 日本五区在线不卡精品| 伊人蕉久影院| 麻豆国产精品一二三在线观看| 久久综合色天堂av| 亚洲不卡影院| 亚洲伦理一区二区| 四虎精品国产永久在线观看| 91香蕉视频下载网站| 91在线激情在线观看| 日韩精品一区二区三区视频免费看| 91久久精品国产| 免费无码AV片在线观看中文| 国产自在线拍| 91精品国产无线乱码在线| 亚洲一级色| 国产一级毛片在线| 日韩精品一区二区三区中文无码 | 国产成人a在线观看视频| 女人av社区男人的天堂| 久夜色精品国产噜噜| 日本久久网站| 中文字幕人成人乱码亚洲电影| 风韵丰满熟妇啪啪区老熟熟女| 久久精品娱乐亚洲领先| 久久国产黑丝袜视频| 日本久久久久久免费网络| 在线看片中文字幕| 色综合综合网| 久久青草精品一区二区三区| 亚洲欧洲国产成人综合不卡| 最新国语自产精品视频在| 亚洲性一区| 免费一看一级毛片| 久久99国产综合精品女同| 在线看AV天堂| 国产理论精品| 国产成人精品亚洲77美色| 日本精品视频一区二区| 欧美狠狠干| 免费国产福利| 欧美区一区| 精品综合久久久久久97超人该| 嫩草在线视频| 亚洲天堂成人| 免费Aⅴ片在线观看蜜芽Tⅴ| 国产尤物视频网址导航| 国产精品浪潮Av| 亚洲天堂网站在线| aaa国产一级毛片| 玩两个丰满老熟女久久网| 无码日韩人妻精品久久蜜桃| 一本色道久久88综合日韩精品| 亚洲高清中文字幕| 黄色网站在线观看无码| 国产中文在线亚洲精品官网| 久久视精品|