林麗星
(閩西職業(yè)技術(shù)學(xué)院,福建 龍巖364021)
近幾年來,有關(guān)深度學(xué)習(xí)知識(shí)展示研究的不斷深入以及人工智能技術(shù)發(fā)展,教育行業(yè)也迎來了新的歷史發(fā)展紀(jì)元[1]。國(guó)內(nèi)外有關(guān)知識(shí)圖譜的研究也取得一定的進(jìn)展,多數(shù)體現(xiàn)在構(gòu)建通用數(shù)據(jù)庫(kù)、分析抽取知識(shí)等方面,特別是在農(nóng)業(yè)、醫(yī)藥衛(wèi)等領(lǐng)域取得突破性的成就[2]。同時(shí)常用的知識(shí)圖譜問答系統(tǒng)技術(shù)為語(yǔ)義分析方法和搜索排序方法,常用的對(duì)話模型設(shè)計(jì)方法有任務(wù)導(dǎo)向模型和通用對(duì)話模型[3]。但是目前教育知識(shí)問答系統(tǒng)設(shè)計(jì)過程中有關(guān)問句分析方面仍然存在突出問題。綜上分析,此次研究在前人的研究成果上,提出構(gòu)建教育知識(shí)問答系統(tǒng)的關(guān)鍵技術(shù),通過卷積神經(jīng)網(wǎng)絡(luò)和雙向長(zhǎng)短時(shí)記憶模型獲取全局特征和局部特征,并把實(shí)體識(shí)別轉(zhuǎn)變?yōu)樽顑?yōu)序列標(biāo)注,以此構(gòu)建實(shí)體識(shí)別模型進(jìn)行問句分析。
此次研究在知識(shí)圖譜的基礎(chǔ)上,構(gòu)建基于智能算法的教育知識(shí)問答系統(tǒng)。該系統(tǒng)的主要目標(biāo)是利用簡(jiǎn)便、準(zhǔn)確的語(yǔ)句回答用戶的問題,其主要實(shí)現(xiàn)步驟是問句分析和答案提取。前者是指通過詞性標(biāo)注、實(shí)體識(shí)別、語(yǔ)義消除等技術(shù)獲取用戶自然語(yǔ)言中包含的語(yǔ)義信息,后者是指利用知識(shí)圖譜查詢相關(guān)知識(shí)并提供正確答案的過程。區(qū)別于通過上下文信息進(jìn)行的無監(jiān)督學(xué)習(xí)方法,也就是常用的word1vec算法,研究使用Keras Embedding作為文本表示,它是利用大量神經(jīng)元訓(xùn)練模型的一種監(jiān)督學(xué)習(xí)方法,可以作為卷積神經(jīng)網(wǎng)絡(luò)和雙向長(zhǎng)短期網(wǎng)絡(luò)記憶模型的輸入[4]。實(shí)體識(shí)別是通過自然語(yǔ)言處理的方法獲取用戶問題中的實(shí)體名稱。屬性連接是找出實(shí)體的相關(guān)屬性。候選三元組是找到問句中的實(shí)體、屬性、屬性值。查詢構(gòu)建是指依據(jù)用戶問題、查詢模板、識(shí)別實(shí)體信息和屬性,獲取候選三元組,進(jìn)而得到候選屬性值。知識(shí)圖譜在邏輯上包括模式層和數(shù)據(jù)層,本文的知識(shí)圖譜采用自頂而下的構(gòu)建方法,其常用的基于機(jī)器學(xué)習(xí)的知識(shí)抽取方法包括特征和神經(jīng)網(wǎng)絡(luò)兩個(gè)方面[5]。常用的神經(jīng)網(wǎng)絡(luò)包括CNN-CRF(Convolutional Neural Networks-Conditional Random Field)和LSTM-CRF(Long Short-Term Memory)。
研究選用的實(shí)體識(shí)別方法包括Bi LSTM,CNN,CRF三大模塊,將詞向量分別輸入CNN和BiLSTM兩大模塊,得到局部和全局特征并拼接對(duì)應(yīng)的字符向量和詞向量,然后通過全連接層和條件隨機(jī)場(chǎng)模塊完成解碼,從而獲得一個(gè)最優(yōu)標(biāo)記序列,采用的算法框架如圖1所示。研究引入門概念判斷是否需要保留歷史信息和是否需要輸入信息[6]。遺忘門f t功能是判定遺棄哪些歷史信息,h t-1和x t分別指輸出上一元素的和輸入當(dāng)前元素,δ是指Sigmoid函數(shù),w f是遺忘門的權(quán)重矩陣,b是指偏置向量。函數(shù)輸出值范圍為[0,1],遺忘門輸出數(shù)值為1時(shí),即保留該歷史數(shù)據(jù),反之刪除數(shù)據(jù)。計(jì)算公式為式(1)。
圖1 基于BiLSTM+CNN-CRF算法
輸出門決定信息是否被輸出,也包括兩個(gè)部分,其一是Sigmoid函數(shù)所確定的信息輸出內(nèi)容,其二是通過tabh函數(shù)相乘o t得到最終輸出信息h t,w o是遺忘門的權(quán)重矩陣,計(jì)算公式為式(2)。
BiLSTM的輸入為字符特征向量,可以實(shí)時(shí)進(jìn)行正向輸出和反向輸出的拼接,從而得到雙向特征序列,可以表示為。然后通過tabh函數(shù)處理,隱藏層輸出序列為(h1,h2,h3,…,h t)∈R n*m。假注體系的標(biāo)簽數(shù)量為,m維向量經(jīng)dropout函數(shù)轉(zhuǎn)化得到k維,所獲得的句子級(jí)別的文本特征是p,用表示p=(p1,p2,…,p n)∈R n*k。矩陣中每個(gè)向量均是在第i個(gè)分類中第j個(gè)標(biāo)簽的得分情況。經(jīng)過softmax規(guī)范化處理BiLSTM層的輸出表達(dá)式為式(3)。
w和b均指模型的訓(xùn)練參數(shù),h(w,b)(x(i))是指第i個(gè)樣本的預(yù)測(cè)值y,每個(gè)向量的取值范圍為[0,1],維度總和為1,標(biāo)注體系中的標(biāo)記和維度相互對(duì)應(yīng),維度值越高,先用那個(gè)的標(biāo)記概率越高。
研究使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行字符形態(tài)特征提取,同時(shí)結(jié)合向長(zhǎng)期記憶網(wǎng)絡(luò)特征,避免提取過程中的信息過度損失,局部特征提取模型如圖2所示。以Tensor Flow為例,通過CNN提取字符特征,首先利用Padding函數(shù)填充字符向量輸入后的占位符,然后經(jīng)卷積層完成字符特征提取操作,最終經(jīng)池化層完成降維操作,并輸出字符級(jí)特征。卷積網(wǎng)絡(luò)由于權(quán)值共享非常易于作為文本類核圖像處理,每組連接共享一個(gè)權(quán)重,減少參數(shù)成本[7-8]。此次研究進(jìn)行多次實(shí)驗(yàn)選取最優(yōu)參數(shù)進(jìn)行特征提取,輸出局部特征的計(jì)算公式如式(4)所示。
圖2 基于CNN的文本特征提模型2.3.模型結(jié)果檢測(cè)
b是指特征偏置,c是指輸入的字符向量矩陣,ReLU激活函數(shù)用f表示。池化層的功能是整合特征的語(yǔ)義相似度,然后經(jīng)過的下采樣步驟完成降維操作,減少計(jì)算空間的成本,且通過dropout函數(shù)避免過擬合現(xiàn)象。最常用的池化方法有最大池化法、平均池化法。池化的計(jì)算表達(dá)式為式(5)。
研究選取的CNN模型是一層卷積和一層池化的結(jié)構(gòu)。完成CNN的輸出,并進(jìn)行和字符集向量矩陣的拼接操作,最終得到特征融合矩陣進(jìn)行全連接層的輸入,特征融合矩陣可以表示為p'(n,k+m)。研究全連接層使用的激活函數(shù)和損失函數(shù)分別是ReLU函數(shù)和BP算法。研究的實(shí)體識(shí)別算法流程圖如下,通過數(shù)據(jù)爬取和數(shù)據(jù)預(yù)處理進(jìn)行數(shù)據(jù)準(zhǔn)備。第一步創(chuàng)立實(shí)體標(biāo)注集,標(biāo)注爬取到6個(gè)人工智能領(lǐng)域的職位信息。第二步,創(chuàng)立技術(shù)領(lǐng)域詞典,用于對(duì)比驗(yàn)證加入實(shí)體詞典的效果。第三步,構(gòu)件基于Keras Embedding詞嵌入模型。第四步,訓(xùn)練和預(yù)測(cè)的實(shí)體識(shí)別模型。第五步,輸出候選實(shí)體。研究利用二類混淆矩陣進(jìn)行算法性能評(píng)價(jià),具體評(píng)價(jià)指標(biāo)包括Preicision,Accuracy,F1-Score。
所構(gòu)建的實(shí)體識(shí)別模型中學(xué)習(xí)率和dropout對(duì)模型效果有著直接的影響,實(shí)驗(yàn)通過設(shè)置不同的學(xué)習(xí)率和dropout對(duì)比分析模型的F1值,從而找到最佳的模型參數(shù)。結(jié)果分別如圖3(a)和(b)。不同學(xué)習(xí)率條件下,隨著迭代輪數(shù)的增加,F1值不斷提高,并在迭代輪數(shù)為2時(shí)F1值逐漸趨于穩(wěn)定。同時(shí)學(xué)習(xí)率為0.01時(shí),F1值更高,模型效果更佳。兩種不同的dropout條件下,F1值的表現(xiàn)出來的差異不大。dropout為0.1時(shí),模型的F1值的變化的趨勢(shì)更為平穩(wěn),因此dropout為0.1時(shí),模型效果更佳。經(jīng)過多次實(shí)驗(yàn),最終確定迭代輪數(shù)為50時(shí),模型的損失值最小。
圖3 不同學(xué)習(xí)率和dropout下的模型效果對(duì)比
實(shí)驗(yàn)然后確定濾波器的最佳數(shù)量,使CNN模型達(dá)到最佳特征提取。選擇數(shù)量過多,容易出現(xiàn)過擬合的情況,選擇過少,極易出現(xiàn)欠擬合的情況。濾波器數(shù)量在10~30范圍內(nèi)模型F1值結(jié)果如圖4(a)所示。濾波器數(shù)量分別取10、20、30時(shí),隨著迭代輪數(shù)的增加,F1值迅速升高,且在迭代輪數(shù)為4時(shí)均出現(xiàn)F1值變化無規(guī)律的情況。相對(duì)來說,濾波器數(shù)量為10時(shí),F1值在不穩(wěn)定區(qū)間變化較小。濾波器數(shù)量在2~9范圍內(nèi)的模型F1值結(jié)果如圖4(b)所示。平均值和最大值均表示在數(shù)量為6時(shí),模型的F1值最高,效果最優(yōu)。與此同時(shí),卷積窗口大小設(shè)置為5,模型的效果最優(yōu)。
圖4 濾波器數(shù)量對(duì)模型的影響
實(shí)驗(yàn)接下來進(jìn)行不同輸入向量的對(duì)比,結(jié)果如圖5所示。Keras Embedding相對(duì)于傳統(tǒng)的word2vec詞嵌入模型利于下一層卷積神經(jīng)網(wǎng)絡(luò)的輸入,具備更好的模型識(shí)別效果。Keras Embedding模型的F1值穩(wěn)定在85%以上,而傳統(tǒng)的word2vec詞嵌入模型的F1值穩(wěn)在85%以下。值得注意的是,迭代輪數(shù)在1.5以下時(shí),Keras Embedding模型的F1值低于傳統(tǒng)的word2vec詞嵌入模型的F1值,且F1值均在75%以內(nèi)。
圖5 兩種詞嵌入方式對(duì)模型的影響
實(shí)驗(yàn)最后驗(yàn)證所提出的實(shí)體識(shí)別模型的性能,四種模型分別為L(zhǎng)STM-CRF,Bi LSTM-CRF,BiLSTM+CNN-CRF、字典+BiLSTM+CNNCRF,結(jié)果如圖6所示。整體來看,四種模型均具有一定的效果,但BiLSTM+CNN-CRF實(shí)體識(shí)別模型的優(yōu)勢(shì)更為明顯。LSTM-CRF和BiLSTM-CRF兩種模型結(jié)果顯示雙向神經(jīng)網(wǎng)絡(luò)比單向神經(jīng)網(wǎng)絡(luò)語(yǔ)義分析提取效果更好,兩種模型的準(zhǔn)確率分別為86.99%和87.03%,召回率分別為82.32%和86.98%,F1值分別為84.59%和87.01%。
圖6 不同模型的對(duì)比結(jié)果
此次研究針對(duì)現(xiàn)階段利用智能算法進(jìn)行教育知識(shí)問答系統(tǒng)設(shè)計(jì)中存在問題,提出利用Bi LSTM+CNN-CRF算法進(jìn)行知識(shí)問答系統(tǒng)中實(shí)體識(shí)別。超參數(shù)分析結(jié)果表明,當(dāng)學(xué)習(xí)率為0.01,dropout為0.1,卷積窗口大小為5,濾波器數(shù)量為6,實(shí)體識(shí)別模型得到最佳效果。詞嵌入模型對(duì)比表明,Keras Embedding詞嵌入模型的F1值高于傳統(tǒng)word2vec模型5%左右。BiLSTM+CNNCRF實(shí)體識(shí)別模型的性能均明顯優(yōu)于LSTMCRF和BiLSTM-CRF模型,該模型的準(zhǔn)確率、召回率、F1值三者分別為87.43%,87.88%,87.66%,且模型比LSTM-CRF和BiLSTM-CRF模型的F1值高3.04%和0.62%。由于本人的時(shí)間和精力有限,研究未考慮實(shí)體識(shí)別缺陷這一問題,這在下一步研究工作中需要進(jìn)一步完善。
佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年5期