聶 宇,黃 娜,李 超,彭駿捷,宋光華,章義來
(1.景德鎮陶瓷大學 信息工程學院,江西 景德鎮 333403;2.廣東松發陶瓷股份有限公司,廣東 潮州 521031;3.景德鎮藝術職業大學,江西 景德鎮 333000)
信息技術的高速發展,促進了智能問答系統在各領域的運用。智能問答系統分為兩類,一類是專門性問答,另一類是一般性問答。通常情況下,用戶能夠自由提問并且獲得他們理想的解答。專門領域的問答系統,對于用戶的提問只能做淺層分析回復,有時甚至會出現回答的內容與問題不相關的情況。如果用戶在其他方面提出了疑問,系統就無法解答。
當前,人們大多習慣通過搜索引擎獲取知識,但是傳統關鍵字組合匹配技術并不能準確獲得用戶需要的結果。而智能問答系統是基于大量語料數據,經過自然語言處理和數學模型計算后,能夠和人類進行對話的綜合性知識系統,可以在理解用戶語義的情況下,獲取用戶所需的準確數據。
在陶瓷與教育領域,通過大數據技術的不斷深入應用,已經匯聚了大量和陶瓷教育相關的數據。但是這類數據在表達、組織管理及存儲方法等方面并不完全一致,因為缺少統一的數據處理標準,所以很難充分反應每一種數據之間的聯系。
隨著互聯網中智能服務的不斷迭代升級,知識圖譜已經被廣泛地應用在智能問答、智能搜索和個性化推薦等領域中[1,2]。以知識圖譜為基礎的智能問答研究,從分析方法上來看目前主要可以分為兩種類型:一是以語義為基礎的方法,二是以檢索為基礎的方法。以語義為基礎的方法主要是將問題轉化成更有邏輯的形式之后再使用結構化的查詢語句在知識圖譜中獲取到合適的答案。具有邏輯形式注釋的語料庫被Zettlemoyer[3]與Kwiatkowski[4]采用并且進行監督訓練。Liang等[5]提出將正則表達式替換為基于依賴組合語義的結構化查詢。后者通常更側重于有效地提取題目或者答案的特征和正確答案的順序。針對這一問題,張克亮等[6]以本體三元組(BET)為中心設計并實現了一個面向航空領域的問答系統(AMS),在實際的應用中,該系統均有良好的表現,取得了預期的效果。Yao等人在文獻[7]中利用依賴性分析刻畫問題的問句得到了關系圖,并且定位到了一定范圍內的關系和實體。通過比較所得主體圖和問句生成的圖,對所有節點沿著圖進行排序和運算,獲得正確答案。
本文將從陶瓷與教育領域的數據入手,通過構建知識圖譜開展研究,以知識圖譜技術為陶瓷與教育領域的智能問答應用提供有效的數據支撐。
目前我國教育行業數據十分豐富,有較多的成熟數據集可用,因此,可以快速便捷地導入Neo4j圖數據庫形成知識圖譜,實體與實體之間的關系可以借助知識圖譜直觀展現出來。
然而,陶瓷類的數據沒有成熟可用的數據集,因此,本實驗將通過爬蟲技術在互聯網中獲取陶瓷類相關數據,以統一的數據標準格式構建陶瓷類數據集,并最終用于陶瓷領域的知識圖譜的研究和建設。
本研究采用多種搜索引擎(包括“百度”“必應”“搜狗搜索”),經過對多種搜索結果的比較,最后確定國學詩詞為教育類知識圖譜數據源。
陶瓷類數據,則選取“了了亭”網站的數據為陶瓷類語料庫數據源。“了了亭”是景德鎮陶瓷藝術專業網站,在當代陶瓷收藏界享有盛名。本文所建設的陶瓷類語料庫包括“陶瓷工藝”“陶瓷美術”“陶瓷歷史”等內容。
本文主要采用爬蟲技術對“了了亭”網站的“陶瓷工藝”“陶瓷美術”“陶瓷歷史”三個專欄進行定向數據獲取,并將數據存儲成不同的CSV文件以便后續構建不同語料庫時使用。
在對頁面進行解析和數據提取之后,對所獲取的數據進行格式化處理。表1顯示從“了了亭”網站上得到的一些“陶瓷歷史”資料情況,這些資料全面而詳實,為陶瓷語料庫建設提供了有力支撐。
本文爬蟲所獲取到的陶瓷類數據,還包含有一些與問答不相關的語氣詞和形容詞等,這些內容對問答系統數據邏輯和答案生成有不利影響。為了確保項目爬取到的數據信息是比較客觀且高質量的,就需要通過編程進一步進行數據清洗,以剔除掉那些效果不佳甚至是起到消極效果的詞,減少此問答系統中不穩定的部分,主要處理的非法字符示例如表2所示。

表2 非法字符處理示例
在完成數據獲取和語料庫建立后,進一步開始構建知識圖譜。
本文獲取到的國學詩詞教育類數據量比較大,通過對教育類數據的分析后發現,得到的數據大致分為詩歌、作者、簡介、內容以及其他實體類型。在完成實體分析后,進一步完成實體間的關系的填充,形成可用于圖譜構建的三元組數據。該系統所構造的三元組數據量大,共包含43007種實體和52802種關系,為知識圖譜的構建提供了豐富的數據。
本文采用Neo4j圖形數據庫來管理三元組數據,當數據保存到Neo4j數據庫中時可通過自身端口對數據執行增、刪、改、查等操作。如表3所示,統計了部分知識圖譜的數據量。

表3 知識圖譜數據量
(1)BiLSTM模塊
LSTM(Long-Short Term Memory),也就是長短時記憶網絡,它是RNN中的一種變體,能夠處理RNN中出現的梯度爆炸現象,非常適合時序數據建模。在LSTM中加入三種結構,分別為:記憶門、遺忘門和輸出門;其中記憶門確定信息是否被儲存,遺忘門確定信息是否忘記,而輸出門則用來判斷當前的狀態。
因為LSTM模型具有單向結構,它對句子建模過程中不能編碼從右側到左側或從后面到前面的信息,所以對上下文語境及語義信息處理并不理想。所以我們采用了BiLSTM(Bi-directional Long Short Term Memory) 雙向長短期記憶網絡,它能夠較好地捕捉雙向依賴關系,并通過處理每一個詞序列采用前向LSTM和后向LSTM,使每一個時刻特征具有前向依賴關系和后向依賴關系。
(2)CRF模塊
CRF(Conditional Random Field)是條件隨機場的英文縮寫,它可以通過相鄰標簽之間的關系得到最佳預測序列[8],就BiLSTM-CRF算法模型來說,CRF的功能就是通過BiLSTM預測輸出序列使得目標函數達到最優化。
在本論文所做BIO標注時,BiLSTM輸出序列對每一個字都預測最大概率標簽并獲得非歸一化概率分布,然而允許存在單字詞概率最優和全句概率偏差等問題,利用CRF對其約束之后就可以獲得全句最優標簽預測,特征轉移概率是CRF所學習的。
對輸入序列為X=(X1,X2...Xn),預測輸出序列為Y=(Y1,Y2...Yn)的分數可表示為公式1,即轉移概率與狀態概率相加:
此處用A來代表轉移矩陣,P來代表BiLSTM的輸出得分矩陣。標簽序列Y的概率值通過softmax得到:
CRF網絡各節點分別表示預測值,根據BiLSTM所輸出預測序列,搜索網絡中概率最大路徑,對輸出命名實體進行標簽標記識別,完成命名實體識別。因此訓練以最大化概率為目的P(y|X),可以用如下所示的對數似然來達到。
通過維比特算法進行預測解碼獲得解的最優路徑:
y*=argmaxscore(x,y′)
(4)
在命名實體識別工作結束后,關系識別是對各實體之間關聯的關系屬性和知識圖譜上相應關系屬性的匹配識別操作。比如,問一句:“李白有什么詩歌?”確定實體標簽“李白”后,從知識圖譜上查找實體的關系屬性為“介紹”“詩”等。本論文中把TextCNN模型用到關系識別中,不同于RNN和其他序列模型,TextCNN具有簡單的網絡結構,但是引入已訓練的詞向量仍然可以取得非常理想的結果,并且具有非常快的訓練速度。首先提取語句上下文特征,然后送入TextCNN網絡中做卷積運算,得到問句序列與候選關系屬性兩者的語義向量[9],再做相似度計算可得關系并識別結果。TextCNN的構造比較簡單,訓練量較快。如下所示為TextCNN的網絡結構如圖1所示。

圖1 TextCNN網絡結構圖
上圖輸入為使用預訓練詞向量(Word2Vector或glove)法獲得的Embeddinglayer。每個詞向量采用無監督方式進行訓練。
以往提及CNN,一般都被視作CV領域并應用于計算機視覺方向上的作品,但Yoon Kim對CNN輸入層進行了部分變形進而提出文本分類模型TextCNN。
智能問答的系統架構如圖2所示,系統整體自頂向下依次為應用層、邏輯層以及數據層。

圖2 系統架構設計
(1)數據層
數據層為整個智能問答系統提供了數據支撐[10],其主要由以下幾個步驟構建:首先利用爬蟲獲取數據,隨后通過命名體識別和知識抽取完成教育領域知識圖譜的構建并保存在Neo4j圖數據庫中,其中陶瓷領域語料庫采用TXT文件保存為實體詞典,并通過命名實體識別進行問句中的實體關系標識任務。
(2)邏輯層
邏輯層以知識圖譜為主線,結合問答流程相關算法向應用層提供對外服務的API接口。當系統獲得前端發送過來的問題之后,需要先解析問題的語義,當理解了用戶的意圖與目標之后,再從知識圖譜上檢索出相應的回答,然后將其回傳至用戶。這一層的主要API接口簡介:
(A)自然語言自動問答
功能說明:在獲取到用戶的提問數據后,進行問句分析,之后查詢Neo4j數據庫內容,最后返回答案。假如未獲得回答,返回預設的回復模板。
(B)問句分析
功能說明:在獲取到用戶的提問數據后,先識別實體,再獲取所指向的屬性或者關系,最后基于實體以及關系/屬性構建對應的Cypher詢問語句并得到回答。
(3)應用層
主要是前端Web頁面,這是智能問答系統的入口,其中功能模塊為問答服務、語音播報、默認提問。
本文搭建了一個簡易的智能問答系統頁面,后端使用Python 3.7 +Flask開發,前端采用VueJS 3開發,基于MySQL 8數據庫,在Ubuntu 22.04環境下部署構建。通過對話界面中的輸入框,可以完成提問操作。系統在找到用戶提問的答案后,會直接回傳答案并顯示在頁面上,而且因為與語音合成模塊連接,所以該系統會以文字與語音兩種形式來呈現答案。圖3所示是一個問答的例子,例如輸入一個問句“康熙彩的意思是什么?”網頁返回的回答是“古彩,硬彩”,從而讓用戶獲得了一個理想的回答。

圖3 問答系統示例
智能問答系統提供了高效、準確的知識獲取解決方案。相比于傳統的搜索引擎作為知識獲取載體,顯然更貼近人類的溝通方式,這給大家獲取信息提供了新的便利。
(1)本文根據筆者的創新性想法,對基于知識圖譜的智能問答系統有關技術與理論展開研究。
(2)本文對基于深度學習的實體識別進行研究,并結合BiLSTM-CRF模型設計實體識別算法。本研究采用BiLSTM-CRF充分挖掘上下文信息并對問句中選實體進行定位。
(3)本文對基于TextCNN關系識別技術進行研究,結合余弦相似度進行計算,選擇出合適的候選屬性。
(4)結合本文的有關算法模型在知識圖譜智能問答系統的基礎上進行設計與實現,實際使用情況表明,以知識圖譜為載體的智能問答系統能夠滿足用戶對信息獲取的要求,本研究獲得了理想的結果。
智能問答技術涉及信息檢索、自然語言處理等多門學科,屬于綜合研究范疇。但以知識圖譜為基礎的智能問答系統尚處初步研究階段,許多方面有待完善。今后還將繼續拓展知識圖譜的內容,不斷優化智能對話系統,并通過歷史數據分析,提升問答系統綜合性能。