賀金龍,付立軍,姚 鄭,呂鵬飛,黃徐勝
1(中國科學院大學,北京 100049)
2(中國科學院 網絡信息中心,北京 100049)
3(中國科學院沈陽計算技術研究所,沈陽 110168)
4(中國地質圖書館,北京 100083)
近年來,隨著人工智能的蓬勃發展,不同行業服務質量逐步提升,其中最為耀眼的問答機器人得到了行業領域的充分應用,例如微軟小娜、阿里小蜜、京東JIMI 等.本文研究的主要內容是在地質領域問答服務中的用戶意圖識別,用戶意圖是指用戶為滿足地質知識探索關聯發現的需要,通過文本表達出對相關知識的探索意愿.在問答服務過程中,用戶會產生大量數據,如何利用這些數據本身的特性去判別用戶傾向、增強用戶體驗、使得問答機器人更加智能是當下研究的重要難點之一[1].
對于知識檢索探求、結構化推薦、表示學習推理以及專家建議與決策,準確識別響應用戶意圖尤為重要[2].在互聯網技術的蓬勃發展過程中,關于用戶詢問理解識別的研究如下:基于Luence、Elasticsearch 的樹狀分類方法來識別用戶搜索內容的歸屬類別[3]、基于人工構建類別的正則匹配規則與圖的方法來抽取和泛化用戶意圖[4]及考慮到用戶意圖語料匱乏的跨領域遷移學習方法[5]等.這些基于人工構建匹配規則查詢和引入路徑優化探索的方法在應用中都存在一定的局限性,前者是通過挖掘用戶詢問語句是否與預先設定的方式模板相匹配,得到匹配度滿足閾值的知識,后者是通過文本的二元、三元、及多元特征作為分類特征,使用集成學習的方式在多個特征分類器中訓練得到最佳的意圖判斷.上述方法都存在限定的泛化能力,沒有很好地理解文本的深層語義信息的問題,從而導致識別用戶的真實意圖方面較弱.
針對以上問題,本文采用地質領域文獻數據知識關聯特征與文本語義信息相結合的方式將用戶意圖識別看作文本分類問題,使用了基于網格記憶網絡(LSTM+CRF+Lattice)與基于卷積神經網絡(CNN)融合的模型,不僅很好的捕捉文本深層語義信息,而且在文本問答過程中能快速識別用戶意圖.該混合模型首先使用網格記憶網絡進行用戶文本信息的命名實體識別及關系抽取,然后使用卷積神經網絡將用戶輸入的除實體外其他文本信息進行屬性分類,再將分類結果轉化為滿足知識圖譜查詢的結構化方式,最終將知識圖譜的節點關聯性通過結構化語言Cypher 實現屬性映射的用戶意圖識別.
實驗結果表明,在地質領域問答的用戶意圖識別任務中,本文采用的網格LSTM 與CNN 的混合模型較傳統的人工規則匹配與機器學習方法,可以有效地識別用戶問答過程中的意圖.
本文主要研究在地質領域中的用戶檢索意圖識別.針對地質文獻中構建的關聯知識,用戶以簡潔的自然句進行詢問,具體的用戶詢問形式如表1所示.

表1 用戶檢索問題描述
這里針對用戶提出的知識詢問,我們的意圖識別處理如圖1所示,首先根據用戶的自然語句進行語義解析,其中包括兩部分:一部分對于語句中的命名實體識別,一部分是對于語句信息的屬性分類,然后將分類結果映射到相應的用戶意圖類型中,通過轉化的結構化查詢得到用戶意圖結果.

圖1 用戶意圖識別流程圖
命名實體識別(Named Entity Recognition,NER)是Web 2.0 向3.0 轉化的一種深度學習技術工具,是文本挖掘過程中基于句法分析理解的重要手段,在大數據量的人工智能發展中,基于數據的處理能力尤為最要[6].
英文文本詞與詞之間以空格分隔,方便計算機識別,但是中文以字為單位,句子所有字連起來才能表達一個完整的意思.如英文“China geological library builds big data intelligent platform”,詞與詞之間有空格進行隔開,而對應的中文“中國地質圖書館建設大數據智能化平臺”,句子中的詞由多個獨立的漢字組成并且字與字之間沒有任何分割標記符,同時還可能存在交集歧義、組合歧義、未登錄詞等特征,所以中文的命名實體識別比英文的實體識別復雜的多.目前,隨著技術的不斷革新,中文命名實體識別也經歷了3 個階段的研究.第1 階段基于人工詞典的規則匹配方法[7],主要采用專家手工構建檢索規則、模板,以字符串相匹配為主要手段,這也導致一定的局限性.第2 階段基于二元、多元統計的方法,利用人工標注數據作為訓練基礎學習文本特征,對于機器學習不需要人工設定規則且線上識別可擴展性強.這也是目前應用方式最多的技術,如在滿足已知約束的條件集合的概率學習時,選擇熵最大的模型[8]、在判斷線性可分與否的感知器模型[9]、對于時序隨機序列的狀態轉移概率計算的隱馬爾可夫模型[10]、以及用于預測與輸入標注序列相對應的模型等.條件隨機場(Conditional Random Fields,CRF)解決了句子特征參數選擇優化與標記偏置問題,是統計模型中應用最為廣泛的一種模型[11].文獻[12]提出基于CRF 與地理詞典規則結合的識別方法.隨著深度學習的興起,研究者不斷注重對于時序數據上下文信息的捕捉,提出循環神經網絡(Recurrent Neural Network,RNN),利用當前數據的輸出作為到下一個神經元的輸入捕捉隱藏層特征信息[13].但當進行長距離特征信息捕捉時會出現梯度消失或者爆炸的問題,基于此問題,提出了通過“門”結構的網絡細胞單元進行控制信息流轉的輸入、更新與刪除的長短時記憶網絡(Long-Short Term Memory,LSTM).另外,文獻[14]提出使用4 種類型特征的LSTM-CRF 模型,分別是拼寫特征,內容特征,詞語向量和詞典特征,其實驗表明這些額外的特征可以提高標簽的準確率.考慮LSTM 與CRF 在實體識別中存在模型互補的優勢,將二者相結合的訓練模型不斷出現[15,16].
在以上研究的基礎上,本文嘗試使用序列標注中BIOES 標簽與改進的基于網格的雙向LSTM 相結合的方式進行地質領域中命名實體識別,包括以下14 種類型,也是我們的創新點應用,如圖表2所示.
自20世紀80年代初起,文本分類在經歷基于詞匹配研究、基于知識工程研究后,由于大量數字電子化數據驅使,使得分類向機器自動學習靠攏,使得分類技術成為數據處理的重要分支[17].它是按照預先定義的規則和體系,將文本實現自動歸類的過程[18],其結構化形式定義如下:


表2 特定領域數據標簽類型
在梳理時首先對文本進行去停用詞、無效符號,接著使用分詞工具對其進行文本切分,然后使用TextRank等技術進行關鍵特征提取,最后使用分類器等集成學習方式歸類.
在數據挖掘中,可以分為兩種:二分類器和多分類器.本文根據地質領域數據特征及問答環節涉及的用戶知識將數據劃分為9 種類型進行驗證,采用了基于字符的深度學習的知識表示進行多分類.如表3所示.

表3 領域數據問答知識分類
算法模型主要依據LSTM 模型長期記憶特性與基于字符向量的融合構建.在模型構建方面,本文主要在實體識別和屬性分類上引入了自定義地質知識的改進,同時將二者聯合進行研究實現.
1)數據標注策略
為了數據標注任務的便利性和統一標準,本文采用中文字符作為token,采用最常用的BIOES 標注規范[19]結合類別進行字符序列標注.
2)網格模型
在實體檢測中先使用n-gram 問題詞搜索與問題具有公共子字符串的實體[20],后使用神經網絡與句法指標進行捕捉問題和實體名稱之間的相似匹配.例如,文獻[21]使用字符級別的LSTM 來編碼問題和實體名稱;文獻[22]使用字符級別CNN 來編碼問題和實體;文獻[23]同時使用單詞級別和字符級別來編碼問題.
使用的LSTM 基本模型結構如圖2所示,其中包含遺忘門、輸入更新門、輸出門3 個門結構.

圖2 長短時記憶網絡結構圖
xt為t時刻輸入,ht?1為t?1 時刻的輸出,Ct?1為t?1 時刻的細胞輸出,Ct為t時刻的細胞輸出,ft為輸入到Ct?1的值,it為輸入門向量、為新的候選值向量,ot為輸出向量.
遺忘門負責決定剔除多少信息.主要考慮t時刻的輸入、t?1 刻的輸出,其中輸出值為1 表示“完全保留該部分信息”,輸出值為0 表示“刪除這部分信息”,計算公式如下:

其中,ft是輸出到Ct?1的值,Wf,bf分別為遺忘門的權值與偏置.
輸入與更新門決定哪些信息被存儲到細胞狀態中.主要考慮兩部分,首先是針對t?1 刻的輸出與t時刻的輸入信息中的哪些信息被更新,然后再對其轉換作為更新輸入,再加入到cell 中,如下:


其中,Wi,bt,WC,bC分別為輸入門與更新門的權值與偏置.
經過遺忘門、輸入與更新門之后,需要將t?1 刻的細胞狀態更新到t時刻的Ct上,主要將Ct?1細胞狀態剔除遺忘信息,再加上輸入門與更新門的更新信息,其計算公式如下:

輸出門決定當前t時刻細胞的輸出.首先需要經過Sigmoid 層決定t?1 刻輸出與t時刻輸入的信息哪些被輸出;然后將當前的細胞狀態Ct送入tanh 激活函數,將數值范圍變為?1 到1 之間;最后將以上兩步的輸出相乘得到最終的輸出,計算公式如下:

其中,Wo,bo為輸出門的權值與偏置.
在此基礎上,本文提出的基于字符的網格模型與基于詞的模型相比能夠很好地避免分詞錯誤帶來的影響,受啟發于LSTM+CRF 模型改進[24],主要原因之一是采用基于字向量的模型,其二是將領域詞加入到模型中充分利用顯性的詞和詞序信息(比如“青藏高原”這個詞如果拆成字向量就成了“青”、“藏”、“高”、“原”,這4 個詞的單獨含義明顯與其組合的詞的含義大相徑庭).
首先,定義一個輸入句子s,以字為基本單位:

其中,cj為s的第j個字,s表示為:

其中,wi為s的第i個詞,設t(i,k)為句子的第i個詞的第k個字在句子中的位置,比如“青藏高原,火山機構”這句話中的“山”字,我們就有t(2,2)=7.
如圖3所示,是一個基于字序列c1,c2,···,cm的模型,其中每一個字被表示為:

其中,ec為權重矩陣,輸入x1,x2,···,xm都 會有一個隱含狀態,即和那么隱藏層的總輸出可以表示為:


圖3 基于字符BIOES 的序列標注圖
從基于字符的模型可以看出單個字組成正確的一句話需要考慮所有路徑的組合,而路徑的個數隨字符個數的增長呈指數增長,為解決這個問題,我們引入了構建詞典中的詞語信息,如圖4中黑色圓形陰影部分,這樣就可以控制信息的始終導向,進而提升模型效率.

圖4 基于LSTM 與領域知識融合圖
模型的主干部分采用基于字符的雙向LSTM-CRF,與普通LSTM 不一樣的地方在于,模型中具有一些句子中潛在詞匯的細胞信息,同主干LSTM 的cell 細胞狀態信息連接起來就構成了基于詞的網格模型,例如“青藏”、“高原”、“青藏高原”這三者之間的考慮.如圖5所示.

圖5 基于網格模型序列選擇策略圖
主干部分LSTM 的記憶細胞內部算法如下:


對于詞匯的語義信息算法如下:

其中,ew為embedding 矩陣,中b,e表示為詞匯的首尾字符索引.
有了詞格后,并不是所有的詞匯信息都需要傳入當前詞匯細胞,要利用邏輯門單元cell 來計算當前字符與歷史信息的權重,進而選取最有用的詞匯.

最終結合主干部分,通過當前字符狀態得到中間層的輸出,再通過CRF 做標簽序列的實體識別:

通過以上方法最終找到概率最大的序列,即得到最終的實體識別輸出.
1)數據集構建
通過網格模型正確提出用戶語句中的地質實體之后,還需要理解用戶的意圖,其具體表現為地質實體具備的知識屬性,即需要將用戶詢問意圖與知識圖譜屬性進行映射,為滿足用戶的詢問需求,標注了圍繞地質知識自身特性及關聯的結構化特征具備一般性原則的語句描述方式標簽,標簽一共包括定義型、別名型、海拔型、大小型、種類型、區域范圍型、地質構造型、基本組成型、關系型等9 大類別.
2)分類算法
針對用戶詢問的短文本特征,以及n-gram 語言模型可知,CNN 模型[25]對于自然語言的局部語義特征提取存在優勢,因此常被用于表示句子級別的信息和短文本分類.本文使用基于字符的CNN 模型對用戶詢問的除命名實體識別外的語句進行語義表示并進行屬性分類,映射為知識圖譜中的屬性關系標簽,進而實現用戶詢問意圖.結構圖如圖6.屬性分類具體方法如算法1.

圖6 基于字符的CNN 分類模型結構圖

算法1.基于字符CNN 的語句屬性分類算法Q=[q1,q2,···,qn] L=[l1,l2,···,ln]1)用戶輸入問句q,問句訓練集,;2)加載配置初始化CNN 網絡;3)將問句訓練集構建詞匯表,使用char 的表示,進而將詞匯表轉化為{詞:id}的表示;4)將分類目錄固定,轉化為類別{類別:id}表示;5)將訓練集、驗證集數據劃分Epoch 批次數據;vq 6)將輸入的語句轉化為句子向量 ;7)采用CNN 網絡的不同大小卷積核對問句進行特征提取;vq 8)計算輸入語句向量 的卷積結果;9)采用梯度下降方法更新CNN 網絡模型參數;10)將所有的卷積特征結果使用最大池化處理后拼接成一個向量;11)經過全連接層,使用Softmax 對最大池化輸出做分類計算,得到用戶語句對應知識類別 ;lx lx 12)輸出用戶輸入語句q 相近的類別標簽.
當問句信息中的實體識別與屬性映射分類完成后將二者相結合,使用集束搜索轉化為滿足知識圖譜查詢的結構化語言Cypher 進行問答機器人檢索.如“青藏高原與火山機構具有怎樣的關系”,通過實體識別模塊將“青藏高原”“火山機構”進行識別出,歸類為地質實體geoEntity,然后通過問句屬性分類,將“具備怎樣的關系”歸屬為relation 類,接著將二者結合轉化為Neo4j圖形數據庫的結構化語句,如:
“Match p=(n1:entity1)-[r:rel]->(n2:entity2)where n1.name=‘{0}’ and n2.name=‘{1}’ return distinct r.rel”.
其中name1、name2 為實體名稱,rel 相當于兩個實體之間的關系.
本文進行了實驗來研究網格LSTM-CC 優化算法在不同領域的有效性.首先使用SimpleQuestion 數據集與地質領域300 篇文獻標注數據進行對基于字符的神經網絡漢語NER 進行實驗識別.同時我們使用兩類數據集進行分類器驗證訓練,一類是使用THUCNews數據,每類6500 條數據;一類是使用實驗室對于地質問答中用戶常問問題及問答類型對應通用語句進行標注的數據,每類平均大約400 條,共計6500 條數據,按照固定比例劃分訓練集、測試集、驗證集.
實驗中使用精確度、召回率和F1 作為驗證評價指標,對于整體多分類結果使用混淆矩陣.

混淆矩陣:

實驗過程中,使用CPU 對實體識別與屬性分類進行了訓練.實體識別部分針對雙向神經網絡使用字符嵌入大小為100,單詞批量大小為60,LSTM 單元為100,剪枝大小為5.0,訓練學習速率為0.001,與防止過擬合的dropout 大小為0.5,訓練內容包括97 萬帶BIOES標簽標注的文本信息,迭代次數循環64 次,直至損失變化幅度穩定結束.屬性分類過程中采用卷積核分別為3、4、5、256 個卷積核,詞向量維度為64,序列長度為600,全連接層為128 個神經元,詞匯表大小為500,迭代總輪次為10 輪,每批訓練大小64,學習率為0.001,及dropout 大小0.5.實驗結果采用精確率、召回率、F1 值求算數平均值,作為最后結果.
在實體識別中,使用地質標注數據集與進行驗證,使用基于模板匹配和基于網格的LSTM+CRF 的神經網絡驗證得到結果如表4.

表4 基于網格LSTM+CRF 命名實體識別結果
在用戶屬性分類中,使用THUCNews 數據集對其10個類別,每類6500 條數據采用基于字符的CNN、RNN模型實驗結果如表5、表6所示,通過訓練可以發現基于CNN 的模型較基于RNN 模型用時較短,如表7所示.

表6 基于THUCNews 數據集的字符CNN分類模型訓練結果

表7 基于THUCNews 數據集的字符CNN 與RNN 模型對比
在THUCNews 的基礎上我們可以知基于字符的CNN 模型不僅運行時間為基于字符的RNN 模型的1/13,且在數據集上得到96.3%的精確率,由此我們使用基于字符的CNN 模型在我們針對用戶一般詢問語句人工標注的地質問答數據得到如表8所示,平均精確率達到96.9%,使得應用效果超過基線模型.

表8 基于地質標注數據集的字符CNN 分類模型結果
本文在地質領域用戶意圖識別中通過構建地質領域的實體字典,來源包括地質百科大辭典、搜狗語料等,在基于字符的網格神經網絡上進行專家及用戶的詢問語句實體識別訓練,采用的是地質文獻數據,在驗證集上驗證,采用Adam 隨機梯度下降時,準確率達到84.57%、召回率達到87.12%,F1 值更是達到86.18%,超過了基于模板匹配與基于RNN 的現有模型,可有效地識別特定領域的實體及關系.同時在短文本信息分類過程中借鑒卷積網絡考慮語義信息的優勢,采用基于字符的分類模型達到96.9%的精確率,對于分類結果使用知識圖譜分類屬性映射得到匹配的知識描述返回用戶,整體實現了在基于地質領域的問答過程中意圖識別.
在此基礎上,將來的工作更多的是將用戶熱點問題及知識意圖推理進行深入探索,通過接下來的實驗,將知識圖譜中知識的構建環節引入知識階層路徑,實現用戶復雜文本信息意圖的識別.