王 越,趙艷興,賀 霆,趙逢波,王旭鵬,張治國(guó)
(北京寶蘭德軟件股份有限公司,北京 100089)
在智能運(yùn)維AIOps 領(lǐng)域,問答系統(tǒng)可以幫助企業(yè)運(yùn)維人員完成運(yùn)維工作,如作業(yè)下發(fā)、運(yùn)維知識(shí)查詢等。通過與問答系統(tǒng)一問一答的交互,運(yùn)維人員能夠更加快速、便捷地完成運(yùn)維工作,降低企業(yè)的運(yùn)維成本。
Rasa 是當(dāng)前主流的開源問答系統(tǒng)框架,用于構(gòu)建聊天機(jī)器人和智能助手。Rasa 框架的模塊化和靈活設(shè)計(jì)使開發(fā)人員能夠輕松構(gòu)建新的擴(kuò)展和功能,包含自然語言理解(NLU)模塊與核心(Core)模塊兩部分。NLU 模塊用于解析用戶輸入語句,識(shí)別語句中的實(shí)體、意圖等信息;Core 模塊負(fù)責(zé)對(duì)話管理,用于跟蹤對(duì)話狀態(tài),執(zhí)行對(duì)話策略,并提供可編輯的模板,方便開發(fā)人員設(shè)計(jì)多輪對(duì)話。
常見的問答系統(tǒng)通常功能較為單一,只能完成某些特定功能的問答場(chǎng)景。百度的AnyQ 框架采用自研的SimNet 網(wǎng)絡(luò)結(jié)構(gòu)完成研發(fā)問題對(duì)(FAQ)的問答場(chǎng)景。58 同城采用qa_match 框架,基于深度學(xué)習(xí)的2 層架構(gòu),完成FAQ 場(chǎng)景問答。美團(tuán)大腦基于問答對(duì)數(shù)據(jù)與知識(shí)圖譜構(gòu)建FAQ 和圖譜問答(KBQA)。
本文構(gòu)建了一種高效的多功能問答場(chǎng)景融合架構(gòu),可以將任務(wù)型(Task)、FAQ、KBQA、閑聊型問答(Chat)整合為一體,通過分層的插件化設(shè)計(jì)思路,保證系統(tǒng)可以毫秒級(jí)快速響應(yīng)用戶多功能查詢需求。架構(gòu)中的Task 場(chǎng)景與Chat 場(chǎng)景采用Rasa 框架開發(fā),包括意圖識(shí)別、詞槽提取、對(duì)話狀態(tài)管理、多輪對(duì)話設(shè)計(jì)等。針對(duì)運(yùn)維場(chǎng)景的數(shù)據(jù)特點(diǎn),在Rasa 的NLU 模塊采用了本文提出的基于BERT 的改進(jìn)型意圖識(shí)別神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),明顯提升了意圖識(shí)別模型準(zhǔn)確率。最后,通過問答系統(tǒng)部署現(xiàn)場(chǎng)的真實(shí)數(shù)據(jù),驗(yàn)證了本文提出的多功能問答場(chǎng)景融合架構(gòu)與改進(jìn)型意圖識(shí)別模型性能的有效性。
問答系統(tǒng)要求能夠?yàn)椴煌枨蟮倪\(yùn)維人員提供多種運(yùn)維功能。Task 場(chǎng)景是問答系統(tǒng)的核心功能,支持運(yùn)維人員通過一輪或多輪對(duì)話的方式完成具體的運(yùn)維操作,如“系統(tǒng)健康度分析”、“創(chuàng)建故障群組”、“執(zhí)行OOS 系統(tǒng)作業(yè)”等。知識(shí)型問答場(chǎng)景包括FAQ 與KBQA,其中FAQ 支持運(yùn)維人員查詢系統(tǒng)內(nèi)的運(yùn)維知識(shí),而系統(tǒng)中對(duì)接的AMDB 知識(shí)圖譜數(shù)據(jù)支持運(yùn)維人員對(duì)系統(tǒng)節(jié)點(diǎn)的狀態(tài)、關(guān)系等信息進(jìn)行查詢。Chat 場(chǎng)景內(nèi)置“功能類”與“人格屬性類”等問題,“功能類”問題支持回答用戶諸如“你會(huì)做什么?”、“你有什么功能”等問題,“人格屬性類”問題可以回答“你是誰”、“你幾歲了?”等常見閑聊問題。
多功能問答融合示意圖如圖1 所示,根據(jù)功能可以分為4 個(gè)模塊:Task 插件模塊、知識(shí)型問答模塊、Rasa 服務(wù)模塊、意圖置信度賦值模塊。在開發(fā)過程中,Task 場(chǎng)景和Chat 場(chǎng)景整合在Rasa 框架中實(shí)現(xiàn),將意圖訓(xùn)練樣本同時(shí)配置在Rasa 框架提供的配置文件中,并采用本文實(shí)現(xiàn)的改進(jìn)型意圖識(shí)別模型進(jìn)行預(yù)測(cè)。對(duì)此擬展開研究分述如下。
圖1 多功能問答融合示意圖Fig.1 Schematic diagram of multi-function questions and answers fusion
用戶輸入語句首先經(jīng)過Task 插件模塊處理,該模塊包含“專家規(guī)則檢測(cè)”與“對(duì)話狀態(tài)檢測(cè)”兩種功能。其中,“專家規(guī)則檢測(cè)”旨在識(shí)別實(shí)際應(yīng)用中常見的Task 場(chǎng)景語句,被識(shí)別的語句無需再經(jīng)過知識(shí)型問答模塊查詢和Rasa 意圖識(shí)別模型的預(yù)測(cè),可以大幅度提升問答系統(tǒng)的響應(yīng)速度。系統(tǒng)設(shè)計(jì)了業(yè)務(wù)關(guān)鍵詞字典與模式匹配兩種方式,專家規(guī)則處理示意圖如圖2 所示。
圖2 專家規(guī)則處理示意圖Fig.2 Expert rules processing diagram
以Task 場(chǎng)景中的“創(chuàng)建群組”類別為例,開發(fā)者可將“創(chuàng)建群組,拉建群組”等關(guān)鍵詞配置在字典中,同時(shí)也可配置正則表達(dá)式“(創(chuàng)建|拉建)(.+?)(群組|群聊)”作為模式匹配。匹配中關(guān)鍵詞字典或正則表達(dá)式語句則可認(rèn)為被“專家規(guī)則檢測(cè)”功能所識(shí)別。開發(fā)過程中,可以通過配置文件的方式或前端界面工具的方式進(jìn)行專家規(guī)則的配置,也可以根據(jù)實(shí)際情況靈活地調(diào)整專家規(guī)則,或在新增意圖時(shí)便捷地?cái)U(kuò)展專家規(guī)則。不同類別的專家規(guī)則之間不可有規(guī)則重疊。
對(duì)現(xiàn)場(chǎng)用戶實(shí)際輸入的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),通過“專家規(guī)則檢測(cè)”功能可以識(shí)別約40%的Task 問答語句。分析用戶使用心理發(fā)現(xiàn):Task 場(chǎng)景中用戶在使用時(shí)傾向于簡(jiǎn)短且常用的正式語句。近一半的語句可以被“專家規(guī)則檢測(cè)”功能攔截是合理的,被截留的語句直接進(jìn)行“意圖置信度賦值”模塊的處理。
Task 插件模塊的“對(duì)話狀態(tài)檢測(cè)”功能旨在檢測(cè)當(dāng)前對(duì)話狀態(tài)是否處于多輪對(duì)話狀態(tài)中,防止意圖誤識(shí)別的產(chǎn)生。問答系統(tǒng)功能設(shè)計(jì)中,Task 場(chǎng)景支持多輪對(duì)話,用戶新輸入的語句不再需要其它模塊的檢測(cè),將語句輸入到Rasa 服務(wù)中即可。例如:用戶輸入“創(chuàng)建群組”,系統(tǒng)會(huì)追問“請(qǐng)輸入群名稱”,此時(shí)待輸入的群名稱語義上會(huì)較為靈活;用戶再輸入“智能巡檢方法”,該語句與FAQ 問題重復(fù),“對(duì)話狀態(tài)檢測(cè)”功能則避免了系統(tǒng)錯(cuò)誤返回知識(shí)型場(chǎng)景的答案。Rasa 框架的Core 模塊會(huì)維護(hù)對(duì)話狀態(tài)跟蹤、記錄對(duì)話歷史與當(dāng)前狀態(tài)等。Rasa HTTP 服務(wù)接口可以獲取所需狀態(tài)信息。多輪對(duì)話示意圖如圖3 所示。圖3 中,序號(hào)1~7 代表多輪問答順序。
圖3 多輪對(duì)話示意圖Fig.3 Multi-round dialogues schematic diagram
沒有被Task 插件模塊識(shí)別的語句會(huì)流入知識(shí)型問答模塊,當(dāng)前系統(tǒng)開發(fā)了KBQA 場(chǎng)景與FAQ 場(chǎng)景兩部分,都是通過對(duì)存儲(chǔ)在知識(shí)庫中的知識(shí)進(jìn)行語義相似度的檢索,將滿足閾值要求的答案返回給用戶。
KBQA 模型采用基于答案排序的方式實(shí)現(xiàn)。圖譜數(shù)據(jù)存儲(chǔ)在圖數(shù)據(jù)庫ArangoDB 中,首先對(duì)用戶輸入語句進(jìn)行命名實(shí)體識(shí)別,將提取出的實(shí)體放在知識(shí)圖譜中查找與實(shí)體相連的所有三元組,組成候選答案。其次,計(jì)算問句與候選三元組的語義相似度,選出最相似的三元組判斷是否滿足所設(shè)定的相似度閾值。基于答案排序的KBQA 的工作流程圖示意如圖4 所示。
圖4 KBQA 流程示意圖Fig.4 Schematic diagram of KBQA
FAQ 場(chǎng)景中將問答對(duì)數(shù)據(jù)存儲(chǔ)在Elasticsearch(ES)庫中,采用ES 的倒排索引快速檢索用戶輸入的相似問句。系統(tǒng)在實(shí)現(xiàn)過程中引入了近義詞表來泛化ES 的相似度檢索效果。以問句“如何restart電腦”為例,用戶希望在FAQ 庫中匹配到“怎樣重啟計(jì)算機(jī)”問句,而倒排索引本身是基于共現(xiàn)詞來創(chuàng)建索引,沒有近義詞來泛化則不能準(zhǔn)確找到對(duì)應(yīng)的候選問題。在實(shí)際生產(chǎn)中,可以將近義詞表放入ES中加速查詢過程,在ES 中引入近義詞詞典如圖5 所示。
圖5 在ES 中引入近義詞詞典Fig.5 Introducing a dictionary of synonyms in ES
預(yù)測(cè)時(shí)知識(shí)型模塊同時(shí)調(diào)用KBQA 與FAQ 的2 個(gè)服務(wù)接口,并行預(yù)測(cè)給出檢索結(jié)果。當(dāng)2 個(gè)模型都有結(jié)果輸出時(shí),依據(jù)FAQ 模型得到的準(zhǔn)確率優(yōu)于KBQA 模型,因此優(yōu)先選擇FAQ 的結(jié)果。
用戶輸入語句通過知識(shí)型問答模塊后如果不滿足相似度閾值,則進(jìn)入Rasa 服務(wù)模塊。通過框架中NLU 模塊與Core 模塊可以便捷地搭建起Rasa 問答服務(wù)。Rasa 框架內(nèi)置了多種意圖識(shí)別模型與詞槽提取模型,系統(tǒng)采用了本文提出的基于BERT 的改進(jìn)型意圖識(shí)別神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),針對(duì)運(yùn)維場(chǎng)景優(yōu)化了意圖識(shí)別效果。Core 模塊內(nèi)置多種問答策略,F(xiàn)orm Policy 實(shí)現(xiàn)詞槽追問功能,如創(chuàng)建群組時(shí)追問群名稱;Fallback Policy 實(shí)現(xiàn)默認(rèn)回答功能,當(dāng)輸入問答系統(tǒng)不能理解的語句時(shí),系統(tǒng)返回默認(rèn)語句“不理解您的意思,請(qǐng)換個(gè)說法”。
符合Task 插件模塊的語句會(huì)流入意圖置信度賦值模塊。當(dāng)系統(tǒng)處于對(duì)話狀態(tài)之中時(shí),該模塊將問答語句輸入Rasa 服務(wù)中進(jìn)行下一輪對(duì)話流程;反之,模塊則主動(dòng)對(duì)輸入的語句進(jìn)行類別置信度賦值操作。如用戶輸入“創(chuàng)建hadoop 故障群組”,滿足“創(chuàng)建群組”的專家規(guī)則,模塊會(huì)主動(dòng)將其標(biāo)注為該類別,置信度賦值1.0。賦值后的語句不再需要Rasa 服務(wù)中的意圖識(shí)別模型的判別,模塊負(fù)責(zé)將語句的類別與置信度等所需信息存入Rasa 服務(wù)狀態(tài)中,從而開啟接下來的對(duì)話流程。
在問答系統(tǒng)中,意圖識(shí)別屬于文本分類場(chǎng)景,將不同的輸入語句判別到對(duì)應(yīng)類別、即完成意圖識(shí)別功能。Rasa 框架中內(nèi)置了多種算法功能,如:分詞、詞向量化、分類算法等,這些算法可以拼接成算法流程進(jìn)行意圖識(shí)別。在運(yùn)維場(chǎng)景中,內(nèi)置的算法流程在實(shí)際數(shù)據(jù)上效果欠佳,本文針對(duì)運(yùn)維數(shù)據(jù)特點(diǎn)提出了一種基于BERT 的改進(jìn)型意圖識(shí)別神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
Task 場(chǎng)景與Chat 場(chǎng)景中用戶輸入語句均為短文本,相較于長(zhǎng)文本,短文本對(duì)分類模型要求更高。Task 場(chǎng)景下用戶輸入語句一般由2 部分組成:語義表示與詞槽;而Chat 場(chǎng)景語句也可以理解為沒有詞槽的Task 語句。任務(wù)型場(chǎng)景數(shù)據(jù)見表1。
表1 任務(wù)型場(chǎng)景數(shù)據(jù)表Tab.1 Data table of task scenarios
如“創(chuàng)建群組”類意圖,用戶輸入“建群”,“建個(gè)群聊”等帶有明顯語義表示的詞語,較容易識(shí)別;當(dāng)輸入“創(chuàng)建執(zhí)行hadoop 定時(shí)作業(yè)群組”時(shí),語句中包含的“執(zhí)行hadoop 定時(shí)作業(yè)”的詞槽,容易引起分類錯(cuò)誤,模型置信度一般也較低。本文嘗試了Rasa 框架內(nèi)置的基于scikit-learn 庫的多種傳統(tǒng)機(jī)器學(xué)習(xí)算法與Rasa 自研的DIET 深度學(xué)習(xí)算法均不能很好地解決這個(gè)問題。效果更優(yōu)的DIET 模型面對(duì)此類數(shù)據(jù)往往在意圖分類時(shí)會(huì)呈現(xiàn)出“l(fā)abel:創(chuàng)建群組,confidence:0.54;label:執(zhí)行OOS系統(tǒng)作業(yè),confidence:0.44;label:......”的窘境。排名第一的類別置信度與第二類別置信度相差不大且置信度低,無法超過類別閾值(一般0.8 以上)。
面對(duì)多變的詞槽,要求意圖識(shí)別模型可以學(xué)習(xí)出語句中不同詞語間與不同詞序的權(quán)重,對(duì)語義表示部分的詞語需提高權(quán)重,對(duì)詞槽部分的詞語降低權(quán)重。根據(jù)這樣的思路,本文設(shè)計(jì)了更優(yōu)的意圖識(shí)別模型。
BERT 預(yù)訓(xùn)練語言模型采用雙向Transformer 結(jié)構(gòu),以 Mask Language Model 和 Next Sentence Prediction 的多任務(wù)訓(xùn)練為目標(biāo),在自然語言處理等眾多領(lǐng)域達(dá)到了最優(yōu)效果。Transformer 結(jié)構(gòu)中的自注意力機(jī)制(self-attention)是算法核心,selfattention 的數(shù)學(xué)表達(dá)式可寫為:
其中,d表示向量的維度數(shù),,,分別表示查詢向量、鍵向量、值向量,由此推導(dǎo)得到的數(shù)學(xué)公式為:
其中,x表示輸入語句的詞嵌入2 維矩陣,實(shí)際模型訓(xùn)練過程中使用訓(xùn)練樣本集的3 維句向量矩陣計(jì)算;W表示查詢矩陣。鍵向量和值向量生成方式與此相同。
兩矩陣相乘可解釋self-attention 的self 概念,每個(gè)詞向量會(huì)和包括自身在內(nèi)的句子中所有詞進(jìn)行相乘。相乘后的矩陣除以向量維度的平方根,在計(jì)算過程中可以使梯度更加穩(wěn)定。中的部分屬于點(diǎn)積縮放的注意力機(jī)制,得到的值后再乘以值向量,最終獲得經(jīng)注意力機(jī)制調(diào)整的矩陣。
本文選擇針對(duì)中文優(yōu)化的BERT-wwm 模型構(gòu)建雙通道輸入的改進(jìn)型意圖識(shí)別網(wǎng)絡(luò)結(jié)構(gòu),如圖6所示。
圖6 改進(jìn)型意圖識(shí)別網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Improved intention recognition network structure
左通道通過本文提出的NS-Sampling(Sampling based on negative sample)算法流程進(jìn)行訓(xùn)練樣本設(shè)計(jì)與均衡,算法流程圖如圖7 所示。
圖7 NS-Sampling 算法流程圖Fig.7 NS-Sampling algorithm flow chart
2.2.1 數(shù)據(jù)標(biāo)記
構(gòu)建意圖訓(xùn)練樣本時(shí)首先需要將語句中的詞槽標(biāo)記出來,詞槽對(duì)意圖傾向沒有貢獻(xiàn),反而會(huì)干擾模型訓(xùn)練。如“創(chuàng)建[智能巡檢]的群組”,詞槽“智能巡檢”被標(biāo)識(shí)出,這樣做的目的是為了在負(fù)樣本生成時(shí)程序可以自動(dòng)識(shí)別,快速擴(kuò)展新的Task 場(chǎng)景,在工程應(yīng)用中加快模型迭代速度。
2.2.2 負(fù)樣本設(shè)計(jì)
本文將意圖識(shí)別模型支持的意圖稱為正類,不支持識(shí)別的其它意圖統(tǒng)稱為負(fù)類,負(fù)類的識(shí)別能力對(duì)模型性能有著決定性影響,負(fù)樣本的設(shè)計(jì)也是關(guān)鍵因素。本文將負(fù)樣本分為2 部分:種子負(fù)樣本與程序生成負(fù)樣本。對(duì)此可給出剖析論述如下。
建設(shè)公共數(shù)學(xué)教學(xué)資源共享平臺(tái),打造精品特色.教學(xué)資源共享平臺(tái)內(nèi)容既包括高等數(shù)學(xué)、線性代數(shù)和概率統(tǒng)計(jì)課程的選擇,又有分類、分級(jí)的選擇.具體內(nèi)容包括課程描述、分類分級(jí)課程標(biāo)準(zhǔn)、分類分級(jí)考試大綱及樣題、教學(xué)進(jìn)度表、電子教案、多媒體課件、學(xué)習(xí)輔導(dǎo)、網(wǎng)絡(luò)課程、課程教學(xué)隊(duì)伍及主講教師簡(jiǎn)介、在線交流、授課錄像、通知公告、校校協(xié)同的教學(xué)資源、教學(xué)研究與改革等.此共享平臺(tái)教學(xué)資源豐富,具有網(wǎng)絡(luò)課程和精品資源共享課的特點(diǎn).
種子負(fù)樣本是在編寫樣本時(shí)通過人工整理特別設(shè)計(jì)的樣本,這類樣本容易與某些正類意圖混淆,如“創(chuàng)建”只出現(xiàn)在“創(chuàng)建群組”的類別中,當(dāng)用戶只輸入“創(chuàng)建”時(shí),因BERT 會(huì)將該類詞語的權(quán)重學(xué)習(xí)得很高,意圖識(shí)別模型會(huì)誤將詞語“創(chuàng)建”識(shí)別為“創(chuàng)建群組”類別。因此將其配置在負(fù)樣本中,就可以主動(dòng)降低這些易混淆詞語的權(quán)重。
程序生成負(fù)樣本來自數(shù)據(jù)標(biāo)注步驟中標(biāo)識(shí)出來的詞槽,這些詞槽不可以與正類意圖重疊,在模型訓(xùn)練時(shí)會(huì)由程序自動(dòng)補(bǔ)充到負(fù)樣本中。
2.2.3 數(shù)據(jù)增強(qiáng)
數(shù)據(jù)增強(qiáng)采用近義詞替換的方式來擴(kuò)展樣本較少的類別。以所有類別中樣本數(shù)量最多的類別為增強(qiáng)數(shù)量的上限,通過分詞后的樣本進(jìn)行近義詞替換。這里不對(duì)標(biāo)記的詞槽進(jìn)行替換。
2.2.4 過采樣
經(jīng)過近義詞數(shù)據(jù)增強(qiáng)后的樣本多數(shù)情況下可以達(dá)到數(shù)據(jù)均衡,個(gè)別類別可能會(huì)由于詞語的近義詞數(shù)量不夠而增加后的樣本依然較少,采用過采樣的方法來提升這些類別的樣本數(shù)量。
意圖識(shí)別模型的右通道提供特征工程入口,通過分析訓(xùn)練樣本,本文設(shè)計(jì)了若干可以輔助提升意圖識(shí)別的特征,部分特征見表2。
表2 特征表Tab.2 Feature table
一條語句形成的特征稀疏矩陣如圖8 所示,橫坐標(biāo)表示特征個(gè)數(shù),序號(hào)0~4、共5 個(gè)特征;縱坐標(biāo)表示經(jīng)過輸入語句分詞后的詞,這里有0~14 個(gè)、共15 個(gè)詞。矩陣中滿足該特征條件的值為1,否則為0。
圖8 特征工程矩陣Fig.8 Feature engineering matrix
稀疏矩陣輸出到全連接網(wǎng)絡(luò)中,從而獲得與左通道中BERT-wwm 的向量相同的768 維度向量。將左、右兩端的向量進(jìn)行相加后求平均(Mean)值,可以理解為右側(cè)的768 維度向量賦予句向量輔助特征信息,求均值后的向量再連接全連接層與層。
本節(jié)設(shè)計(jì)2 組實(shí)驗(yàn)用來檢驗(yàn)多功能問答場(chǎng)景融合架構(gòu)與改進(jìn)型意圖識(shí)別模型的性能。實(shí)驗(yàn)測(cè)試了問答系統(tǒng)實(shí)際響應(yīng)速度與Task 場(chǎng)景意圖識(shí)別預(yù)測(cè)準(zhǔn)確率。這里可做解析表述如下。
對(duì)于問答系統(tǒng)響應(yīng)速度的測(cè)試,選用200 條知識(shí)型語句,其中KBQA 語句與FAQ 語句各100 條;選用Task 場(chǎng)景包括負(fù)類在內(nèi)的全部12 種類別、250 條單輪問答語句,平均每種場(chǎng)景20 條測(cè)試語句。3 種場(chǎng)景實(shí)驗(yàn)數(shù)據(jù)量之比∶∶1 ∶1 ∶2.5,與實(shí)際應(yīng)用時(shí)數(shù)據(jù)分布接近。實(shí)驗(yàn)分別測(cè)試了每種場(chǎng)景下單模型的耗時(shí)、融合到框架后每種場(chǎng)景的耗時(shí)以及綜合所有場(chǎng)景的系統(tǒng)平均耗時(shí)。測(cè)試在i7-8700 CPU @ 3.20 GHz 環(huán)境中進(jìn)行。問答系統(tǒng)耗時(shí)結(jié)果見表3。
表3 問答系統(tǒng)耗時(shí)表Tab.3 Time consumption table ms
實(shí)驗(yàn)表明,多功能問答場(chǎng)景的融合架構(gòu)相比于單模型耗時(shí)沒有明顯增加,其中Task 場(chǎng)景得益于Task 插件模塊有了小幅度提升,而綜合所有場(chǎng)景的平均耗時(shí)較少,保證了系統(tǒng)可以ms 級(jí)地快速響應(yīng)。
對(duì)于Task 場(chǎng)景意圖識(shí)別性能的測(cè)試,實(shí)驗(yàn)沿用實(shí)驗(yàn)一中的250 條Task 場(chǎng)景測(cè)試語句,對(duì)比了基于scikit -learn 庫的傳統(tǒng)機(jī)器學(xué)習(xí)算法 Logistic Regression 與SVM(線性核,即LinearSVM)、DIET 算法、微調(diào)的BERT模型、改進(jìn)型意圖識(shí)別模型共5種。其中,傳統(tǒng)機(jī)器學(xué)習(xí)算法的句向量化方式分別嘗試了N-gram(1,3)+TF-IDF 與Jieba 分詞+Word2Vec 的方式,Word2Vec 模型選擇基于百度百科的語料訓(xùn)練,模型中包括了詞向量與單個(gè)字向量。實(shí)驗(yàn)評(píng)價(jià)指標(biāo)選擇準(zhǔn)確率見表4。
表4 模型預(yù)測(cè)準(zhǔn)確率Tab.4 Model prediction accuracy
實(shí)驗(yàn)表明,傳統(tǒng)機(jī)器學(xué)習(xí)算法面對(duì)運(yùn)維場(chǎng)景的短文本分類任務(wù)性能欠佳,明顯低于深度學(xué)習(xí)模型;基于BERT 的意圖識(shí)別模型效果明顯高于其他方法,本文提出的基于BERT 的改進(jìn)型意圖識(shí)別模型在BERT的基礎(chǔ)上進(jìn)一步提升了預(yù)測(cè)準(zhǔn)確率。
在AIOps 場(chǎng)景下,本文設(shè)計(jì)了多功能問答系統(tǒng)架構(gòu),集成了4 種問答功能,能夠輔助運(yùn)維人員完成運(yùn)維工作。針對(duì)Task 場(chǎng)景,通過對(duì)系統(tǒng)部署現(xiàn)場(chǎng)的實(shí)際運(yùn)維數(shù)據(jù)進(jìn)行分析,本文提出了基于BERT 的改進(jìn)型意圖識(shí)別神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。實(shí)驗(yàn)表明,多功能問答系統(tǒng)架構(gòu)具有較高性能,在多場(chǎng)景融合的情況下依然可以保持ms 級(jí)的快速響應(yīng);而采用了基于BERT 的改進(jìn)型意圖識(shí)別神經(jīng)網(wǎng)絡(luò),Task 場(chǎng)景意圖識(shí)別準(zhǔn)確率效果極佳。