賴佳揚,張曉濱,馬瑛超
(西安工程大學 計算機科學學院,陜西 西安 710048)
隨著社會的不斷發展,消費者的購物方式發生了巨大的改變。服裝作為生活中的必需品,已經成為網上購物的第一大商品。由于服裝需求的差異性,消費者購物選擇時需要頻繁地與商家進行溝通。這不但對商家的知識提出了挑戰,更重要的是人工服務需要大量的人力資源[1]。知識圖譜作為一種結構化的知識庫,通過實體關系相互連接,已經成為人工智能應用于知識問答中的重要基礎。目前一些大型知識圖譜(如CN-DBPedia)[2-3]已得到了較好的應用。服裝作為傳統行業,其領域內的智能化技術仍在發展。知識問答作為知識圖譜下游應用的重要組成部分,問答方法旨在對用戶的輸入信息進行分析和挖掘,而后利用知識圖譜進行答案的搜索,最后反饋給用戶。基于知識問答構建智能客服系統能夠很好地提高服裝智能化水平并減少人力資源需求。
基于知識圖譜的問答方法大致可分為三類:基于語義解析的方法、基于信息檢索的方法以及基于知識嵌入的方法。
基于語義解析的方法是利用直接映射或者神經網絡方法將自然語言映射成為結構化的表達,而后通過對知識圖譜的子圖進行匹配完成答案的檢索。早期Steedman等人[4]提出組合范疇語法,利用詞匯表完成問句到結構化表達的轉換。孟明明等人[5]提出了一種語義查詢拓展方法解決從知識庫中無法搜索到理想答案的問題,實現了對知識圖譜內容的多語義拓展。上述直接映射的方法依賴于人工制定規則,因此該類方法的適應性很差。Dong等人[6]基于神經網絡進行語義解析,他們通過將映射問題轉換為翻譯問題,通過一個基于注意力的編碼器-解碼器結構完成問句的映射。Zhu等人[7]提出了一種Tree2seq模型,該模型將句子映射到知識庫的特征空間中以加強其映射的準確性?;谡Z義解析的方法在問答中是較為規范的流程,這類方法能夠有效地減少問答的檢索時間,但此類方法的誤差對任務的后續影響較大,并影響到最終的結果。
基于知識嵌入的方法則起源于知識圖譜推理的發展,包括TransE[8]、TransR以及ITMEA[9]等知識圖譜嵌入模型的提出都為知識圖譜問答提出了新的思路。Huang等人[10]提出一種基于嵌入的問答方法,該方法將問題作為輸入,并對其進行知識圖譜嵌入的映射,在知識圖譜的表示中找到其相似度最高的表示,而后將實體作為答案進行輸出。Niu等人[11]將路徑和多關系問題間的語義關系引入問答任務,并基于此提出了PKEEQA方法,通過實驗對比,該方法提高了多關系問答的性能。然而基于嵌入的方法由于需要將圖譜和問句進行映射,從而降低了方法的可解釋性,這在問答環境下是十分致命的。
基于信息檢索的方法則是利用問句中的實體對知識庫進行搜索,利用其相關子圖進行搜索,進而構成答案集合。Yao等人[12]利用句法依存樹對問句進行解析,分析其問題焦點,而后對知識圖譜進行檢索,最終通過對比問題焦點、問題核心動詞等方法完成答案的確定。Dong等人[13]利用Freebase進行問答系統的構建,該模型利用多列卷積神經網絡從答案的路徑、背景等對問題進行理解,而后對檢索出的答案也使用卷積神經網絡進行編碼最終比較二者的相似性。Xu等人[14]在圖譜的基礎上為實體引入描述信息,進而對描述信息進行編碼最終完成答案和問題的匹配。雖然以上方法都取得了較好的結果,但并未考慮到問題涉及實體的多跳關系相互之間的語義聯系對答案的影響。
基于此,該文在信息檢索的基礎上提出一種基于語義匹配的多跳檢索問答生成方法。該方法通過在知識庫中檢索目標實體的多跳信息作為答案集合,而后將生成問題轉換為匹配問題,并在模型中設計了以LSTM為結構的跳轉路徑學習層,將學習到的特征與問句進行匹配,然后利用深度學習網絡進行匹配評分的計算,最終應用該方法完成了基于知識圖譜的服裝問答系統。
模式層又稱為本體,其作為知識圖譜的骨架,具體規定著知識圖譜的實體定義和關系定語。該文采用自頂向下的方法構建服裝領域知識圖譜,數據以“中國服裝網”、“服裝網”等專業網站所提供的國家標準GB/T31007(紡織服裝編碼)、GB/T 15557-2008(服裝術語)為源構建核心概念。實體概念與關系定義如表1所示,實體包含概念、設計細節、制造物、生產相關以及教育相關。關系包括上下位概念、組成構成、同義關系以及部分與整體的關系。
如表1所示,將服裝實體概念進行了五類劃分,并為每個分類進行了細分,在實體識別時,模型將按照表中所示的概念進行分類。

表1 實體概念與關系定義
實體屬性在本體中所定義的實體通用屬性有中文名稱、英文名稱、描述信息等,并且參照結構化數據和半結構化數據中的信息為不同的實體類別和小類增加了新的屬性信息。如服裝面料增加了主要成分、適用衣物、特點、洗滌方式、編織方式、印染方式。
由于服裝領域內網頁知識的不規范性,該文使用包裝器方式對獲取的知識進行進一步的解析,最終獲得包含實體和實體關系的三元組。與此同時,為進一步利用服裝文本中的知識進行圖譜構建,該文對文本信息利用深度學習模型進行知識抽取,這里主要包含對實體的實體識別和關系抽取。
2.2.1 實體識別
實體識別的目的是為了將文本中出現的實體識別出來并確定其類型,該文利用Bert+BiLSTM+CRF模型進行服裝實體識別。具體的,文本通過Bert預訓練層[15]將文本進行字符級的編碼,而后將編碼傳入BiLSTM網絡層進行文本上下文特征的學習,最終傳入序列標注層CRF得到文本對應字符的識別結果。訓練數據使用人工標注的服裝實體抽取數據集進行,模型的準確率為0.94。
2.2.2 關系抽取
關系抽取利用基于輸入控制長短期記憶網絡模型[16]將實體識別模型識別出的實體進行配對后對其關系進行識別。關系抽取的模型首先通過編碼層對文本進行編碼,并依據句法依存樹生成控制向量,而后利用輸入控制長短期記憶網絡進行上下文特征的學習,輸入控制長短期記憶網絡在傳統LSTM網絡上添加輸入控制單元,單元結構如圖1所示。

圖1 輸入控制單元結構
圖中,門閥控制單元計算如下所示:
ct=σ(Wc?[ht-1,xt]+bc)
其中,ct為輸入控制門的控制信息,xt為更新后的輸入信息,x_ct為控制向量,Wc和bc為記憶門的權重及偏置值。
聚焦式注意力計算進行特征級別的注意力機制的計算,該文選擇聚焦式注意力機制將經過門閥控制單元計算出的輸入與實體信息進行注意力機制的計算,公式如下:
ai=softmax(s(xi,q))
其中,ai為第i個特征的注意力權重,s為注意力打分函數,xi為t時刻第i個輸入特征,q為key的實體特征。
在特征級別的注意力計算中,輸入為t時刻輸入特征的值,q為實體信息的表示,文本在選擇注意力打分函數時使用雙線性模型,公式如下:
s(xi,q)=xiWTq
其中,W為可訓練參數,維度與q相同。

而后從編碼中根據實體位置提取實體特征,進而傳入注意力層,將文本特征與實體特征進行注意力計算,最后通過分類網絡得到關系抽取的結果。
基于輸入控制長短期記憶網絡能夠對復雜的服裝文本進行有效的關系抽取。
以“中國服裝網”、“服裝網”及百度百科等開源數據進行知識抽取,從中抽取了5 201個實體、3 140條實體關系。圖譜囊括了服裝材料、服裝概念、服裝教育相關、設計細節等實體信息。圖譜實體分布見表2。

表2 圖譜實體分布
通常知識圖譜保存的方式有三元組和圖數據庫,該文的服裝知識圖譜使用Neo4j圖數據庫進行保存。圖2展示了部分知識圖譜。

圖2 部分知識圖譜
問答系統處理流程包括:輸入問題;實體識別;知識庫查詢;答案匹配;答案回復。
3.2.1 服裝實體識別
在得到用戶的輸入后,該文通過命名實體識別模型對問句進行實體識別,采用知識抽取中命名識別模型的Bert+BiLSTM+CRF模型,模型結構如圖3所示。

圖3 命名實體識別模型
模型訓練采用標注的服裝實體識別數據集,訓練使用SGD優化算法進行參數的調優。
3.2.2 基于Neo4j的數據庫查詢
該文使用Cypher語句對Neo4j圖數據庫進行查詢,查詢語句為:Math(a)-[關系]-(b) where b.name=“實體”return a.name。在得到文本中的實體指稱后,對實體和查詢語句進行拼接后再查詢,并且對查詢到的實體進行再次搜索,以實現對知識的多跳搜索。實體搜索的范圍考慮到問答的一般形式,設置兩跳為最大跳轉數。最終通過搜索可以得到指稱實體圍繞兩跳范圍的所有對象。
3.2.3 答案匹配
在得到實體的多跳數據后,對數據和問句文本進行語義匹配,該文通過建立一個基于Bert的語義匹配模型對數據進行匹配,模型結構如圖4所示。

圖4 答案匹配模型結構
模型通過Bert編碼層對路徑和文本進行編碼,編碼時實體和關系表示均占用十個字符,其余以空格補全。模型利用Bert對于拼接文本中用[SEP]拼接后進行編碼。利用LSTM對搜索到的實體路徑進行再次編碼,而后與問句編碼進行拼接后傳入自注意力層,最后使用Bert編碼層中[CLS]位置的編碼與自注意力層拼接后傳入以Sigmoid為激活函數的全連接層為模型的輸出。
模型的優化目標如下:

模型的輸出結果為對于當前搜索和問句的匹配度,最終對匹配度進行排序,選擇評分大于閾值的搜索結果作為答案傳遞給用戶。
為驗證該知識問答方法的有效性,并測試基于該知識圖譜的服裝問答系統的性能,該文對系統答復的準確性和系統的響應時間進行了評測。
模型在對文本進行匹配后,系統將評分大于閾值的答案推送給用戶,而閾值的選取將直接關系到系統的性能。為選擇效果最優的參數,以[0.5,0.9]為值域、以0.01為間隔進行了閾值選取實驗,實驗結果如圖5所示。

圖5 評分閾值選取實驗結果
由圖5可見,在閾值設置過低時,問答系統會將很多錯誤的答句反饋給用戶,進而導致準確率下降,而當閾值設置過高時,則會過濾掉一些正確答案,因此,系統選擇0.7作為評分的閾值。
該文以自建的服裝電商領域服裝知識和服裝搭配推薦問答語料集進行模型訓練和驗證。數據來源為“中國服裝網”中的問答欄目內容和與學校合作電商的問答數據記錄,將6 325條數據作為訓練數據,2 000條作為驗證數據。
模型訓練硬件環境為RTX3060及Intel(R) Core(TM) i7-10750H 。軟件環境為python3.6,tensorflow1.14.0,keras2.2.4,Bert版本為Bert-chinese-base。系統部署于阿里云服務器,后端框架為SSM。
4.3.1 實驗評測指標
實驗評價指標選用精確率P。給定輸入問答集Q,對于Q中每條問句q由N個答案組成。則問答精確率的評價指標定義如下:

4.3.2 實驗結果
為驗證該問答系統的有效性,以自建的服裝電商領域服裝知識和服裝搭配推薦問答語料集進行實驗。將傳統的模板匹配方法(Template Match)、圖譜嵌入方法(TransE、TransR)和語義解析方法(NER+RE、Tree2seq)和文中方法進行對比,實驗結果如表3所示。

表3 問答方法準確性實驗
由表3可見,基于模板匹配的方法相對于文中方法在準確率上有所不足,原因是模板匹配方法依賴于模板的制定,而模板的制定需要付出巨大的代價以適應各個問答語句。而基于知識圖譜推斷的方法相對傳統方法取得了很好的效果,但基于知識圖譜推斷的方法缺乏可解釋性且在稀疏圖譜中效果不佳。而文中方法通過準確率較高的實體識別方法將兩跳以內的實體進行搜索,而后通過語義匹配方法進行答案生成,這相對于使用實體識別和關系抽取先判別意圖和實體而后搜索的方法具有更高的準確性。
為驗證系統的適用性,該文使用無答案、一跳查找以及兩跳查找的問句進行測試,測試結果如表4所示。

表4 系統響應時間實驗結果
文中方法由于存在命名實體識別和匹配兩個階段,且使用了Bert預訓練模型,因此系統的響應速度相對較慢,但響應時間總體符合系統的應用環境。
為了滿足服裝電商領域智能客服問答的需求,設計實現了以服裝知識圖譜為基礎的服裝知識問答系統。該系統基于信息檢索的方式進行答句生成,提出的答句生成方法通過在知識庫中檢索目標實體的多跳信息作為答案集合,而后將生成問題轉換為匹配問題,并設計了以LSTM為結構的學習跳轉路徑。最后的實驗驗證了該問答系統的有效性,可滿足服裝領域智能客服環境中服裝知識和服裝搭配推薦問答的需求。