鄭錫聰,凌毓?jié)?,李夏雨,萬 浪
(華中師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院,湖北 武漢 430079)
在1955年“學(xué)習(xí)機(jī)器討論會”上,學(xué)者們提出了下棋與計算機(jī)模式識別的研究,“人工智能”的雛形初步形成,在次年的達(dá)特茅斯會議上,正式提出了“人工智能”一詞,并討論確定了人工智能最初的發(fā)展路線與發(fā)展目標(biāo)[1]?,F(xiàn)如今,人工智能滲透到各個領(lǐng)域,例如圖像處理、語音識別、目標(biāo)檢測、自然語言處理等。文本匹配問題一直是自然語言處理[2]中的熱點話題,涉獵領(lǐng)域包括機(jī)器翻譯[3]、信息檢索[4]、復(fù)述問題[5]等。傳統(tǒng)意義上的文本匹配問題處理手段一般是基于人工提取特征,其焦點問題是如何設(shè)置合適的文本匹配算法來學(xué)習(xí)到最優(yōu)的匹配模型[6]。Qu等[7]提出了一種基于詞頻的機(jī)械匹配自動分詞算法,在忽略5個字以上詞語的前提下,以長度為首優(yōu)先,結(jié)合詞頻進(jìn)行分詞,未匹配字串進(jìn)一步應(yīng)用改進(jìn)的正向和逆向最大匹配法,結(jié)合熵率分詞分別標(biāo)注所有可能為詞的元素。Jin等[8]提出了一種包含上下文索引、上下文挖掘、上下文匹配的快速文本匹配框架,從索引中直接獲取內(nèi)容的上下文信息從而提高信息提取性能。雖然傳統(tǒng)意義上的方法在文本匹配問題上取得了一定的成績,但是也存在一定的弊端。人工設(shè)定的特征提取起來代價很大,需要占用大量的計算機(jī)CPU內(nèi)存,而且過分的依賴于人工設(shè)計,魯棒性不是很好。
近些年來,利用人工智能領(lǐng)域的方法來進(jìn)行文本匹配也取得了一定的成果。Zhen等[9]提出了一種基于詞嵌入與依存關(guān)系的文本匹配模型,構(gòu)建了融合詞語語義和詞間依存關(guān)系的語義表示,通過余弦均值卷積和K-Max池化操作獲得相關(guān)矩陣,采用LSTM網(wǎng)絡(luò)來學(xué)習(xí)匹配程度矩陣和真實匹配程度之間的映射關(guān)系。Fu等[10]提出了一種基于自學(xué)習(xí)文本近鄰圖框架的深度學(xué)習(xí)模型來處理短文本問題,使用詞嵌入將文本轉(zhuǎn)化為向量并構(gòu)建文本相似度矩陣以表示文本近鄰關(guān)系。Wu等[11]提出了多粒度語義交叉模型,通過LSTM模型獲得短文本的不同粒度語義表示,然后提取語義匹配信息從而計算語義匹配度。
進(jìn)入21世紀(jì)可以說是進(jìn)入了“電商時代”[12],淘寶、京東、拼多多等電商平臺占據(jù)了重要的市場份額[13-14]。一個強(qiáng)大的電商系統(tǒng)為了節(jié)約人力開銷自然離不開自然語言處理任務(wù),本文針對電商系統(tǒng)中常見客服問答設(shè)計了一款電商對話系統(tǒng),以解決基本的電商問答中的文本匹配問題。
本設(shè)計的核心思想是將輸入的文本數(shù)據(jù)分析綜合后作為DSSM網(wǎng)絡(luò)系統(tǒng)的輸入進(jìn)行訓(xùn)練,檢驗測試環(huán)節(jié)是否表現(xiàn)良好。因此系統(tǒng)主要分為3個模塊:① 數(shù)據(jù)處理模塊;② DSSM模型搭建模塊;③ 測試模塊。每個模塊主要的操作流程如圖1所示。
圖1 網(wǎng)絡(luò)的主要結(jié)構(gòu)
圖2 文本映射流程圖
圖3 匹配學(xué)習(xí)模型結(jié)構(gòu)
1.1 數(shù)據(jù)處理及文本映射
常見的文本處理問題[15],會存在一個去除停用詞環(huán)節(jié)。標(biāo)點符號、特殊符號以及不具有感情色彩的文字或者詞語一般會被過濾掉,從而減少冗余信息及其可能帶來的干擾。在去除掉停用詞并且加上自定義詞典之后,本文使用python語言的第三方庫jieba分詞來對文本進(jìn)行分詞切割處理;處理完之后的示例為:
如何設(shè)置花唄還款日期?→[如何,設(shè)置,花唄,還款,日期]
分詞之后構(gòu)建語料庫的m*n的Embedding矩陣,m代表語料庫中的詞語個數(shù),n代表映射維度,實現(xiàn)方法采用word2vec進(jìn)行轉(zhuǎn)換。最后進(jìn)行詞語ID映射,使得每個詞語具有唯一的ID,從而就將文本映射為一個詞向量,表示方法為{a1,a2,a3,...an},n同為映射維度。考慮到實際電商常見對話中文本詞數(shù)以及冗余信息可能影響匹配結(jié)果,采取將文本映射到固定長度操作,最大值設(shè)置為15,即將詞向量中第16個分量及后續(xù)部分全部去除,不足15的用1補(bǔ)齊。綜上,文本映射流程大致如圖2所示,保存處理的數(shù)據(jù)之后作為網(wǎng)絡(luò)的輸入部分進(jìn)行訓(xùn)練網(wǎng)絡(luò)。
1.2DSSM模型搭建
本文的設(shè)計思想為基于表示的匹配學(xué)習(xí),兩段文本通過映射為向量輸入到CNN或者RNN等網(wǎng)絡(luò)訓(xùn)練得到一個輸出,通過距離長短或者交叉熵?fù)p失等指標(biāo)計算兩者的匹配程度。設(shè)計思想流程圖如圖3所示。
本文采用文本匹配中的常用模型DSSM,模型結(jié)構(gòu)如圖4所示,兩段文本經(jīng)Embedding矩陣處理之后輸入到孿生LSTM網(wǎng)絡(luò)[16],計算LSTM網(wǎng)絡(luò)輸出之間的曼哈頓距離,計算公式為:
(1)
式中si和ti分別表示sentence embedding中對應(yīng)的元素,n表示向量維數(shù)。再通過全連接層將兩短文本最后的輸出進(jìn)行堆疊(包含dropout層),最后采用softmax分類器進(jìn)行匹配分類。
圖4 DSSM模型結(jié)構(gòu)圖
仿真的硬件環(huán)境配置是:內(nèi)存為8 GB,CPU為i5-6600,操作系統(tǒng)為64位Windows7。利用谷歌開源框架TensorFlow搭建網(wǎng)絡(luò),使用python語言編程,數(shù)據(jù)集來源于百度開源文本數(shù)據(jù)集。
DSSM模型的有關(guān)參數(shù)如表1所示。網(wǎng)絡(luò)采用AdamOptimizer進(jìn)行優(yōu)化網(wǎng)絡(luò),該優(yōu)化器可以動態(tài)調(diào)節(jié)學(xué)習(xí)率learning_rate;文本的Embedding矩陣參數(shù)為Embedding _dim;dropout層參數(shù)為α;使用L2正則化懲罰,懲罰因子為λ,將數(shù)據(jù)集迭代300次,每次迭代輸入128條數(shù)據(jù)。
表1 網(wǎng)絡(luò)有關(guān)參數(shù)設(shè)置
評價模型好壞的混淆矩陣如表2所示,TP、FN、FP、TN為相應(yīng)的參數(shù)。所選取的主要評價指標(biāo)為精確率(Precision)、召回率(Reall)和F1值,各個指標(biāo)的計算公式分別為:
(2)
(3)
(4)
將表1中參數(shù)輸入網(wǎng)絡(luò),網(wǎng)絡(luò)的loss和accuracy變化情況如圖5和圖6所示,在第50輪左右的時候loss和accuracy開始收斂,最終趨于穩(wěn)定,準(zhǔn)確率達(dá)到76.6%左右。觀察訓(xùn)練時的混淆矩陣,Precision、Recall、F1值分別達(dá)到0.74、0.94、0.78,測試環(huán)節(jié)準(zhǔn)確率為75%。由此可見,并未出現(xiàn)過擬合現(xiàn)象。將本文設(shè)計的網(wǎng)絡(luò)系統(tǒng)同傳統(tǒng)的文本匹配模型如BM25模型[17]作比較,本文設(shè)計的模型結(jié)構(gòu)高于BM25模型的74.6%的準(zhǔn)確率。
將電商對話數(shù)據(jù)集應(yīng)用到本文模型上面,測試樣例為:
Question1:淘寶上怎么使用花唄?
Matching Sentence1:怎么樣在淘寶用花唄?
Answer1:在淘寶付款時,頁面會展示付款方式,若有花唄,點擊選擇花唄即可。
Question2:借唄怎么使用?
Matching Sentence2:借唄怎么才能用?
Answer2:您好,申請借唄需要通過系統(tǒng)對您的賬戶綜合評估,否則是無法使用的。如果不能開通,您可以考慮使用有錢花借錢。有錢花值得信賴,最快30秒審批,最快3分鐘放款。可提前還款,還款后恢復(fù)額度可循環(huán)借款,希望這個回答對您有幫助。此條答案由有錢花提供,有錢花是度小滿金融(原百度金融)旗下的信貸服務(wù)品牌,靠譜利率低,手機(jī)端點擊下方馬上測額,最高可借額度20萬。
除此之外,還將電商系統(tǒng)中可能出現(xiàn)的常見問題做了測試,均表現(xiàn)出良好效果。由此可見,將本系統(tǒng)應(yīng)用到電商對話系統(tǒng)中能解決常見的基本問題。
圖5 loss值變化曲線 圖6 accuracy值變化曲線
文本匹配問題是自然語言處理中的一個重要話題,電商時代的興起迫切需要強(qiáng)大的自動對話系統(tǒng)從而省時省力地滿足消費者的需求。本文將文本匹配應(yīng)用于電商對話系統(tǒng)中,構(gòu)建了常見的DSSM模型來訓(xùn)練網(wǎng)絡(luò),最終準(zhǔn)確率達(dá)到76%以上,能滿足日常電商對話中的基本問題的需求。用戶想法及語言表達(dá)方式的千奇百怪在一定程度上限制了本系統(tǒng)的使用,如何設(shè)計一款魯棒性更強(qiáng)的系統(tǒng)是后續(xù)研究的方向。