楊 柳,吳彥蓉
(1.廣西大學 計算機與電子信息學院,廣西 南寧 530004;2.中國鐵路南寧局集團有限公司 信息技術(shù)所,廣西 南寧 530029)
信息時代,讀者對信息的實時性要求也隨之提高,具有實時回復功能的圖書館智能客服系統(tǒng)自然深受讀者的歡迎.我們致力于開發(fā)實現(xiàn)一個圖書館智能客服系統(tǒng),在以往實現(xiàn)的咨詢服務(wù)形式的基礎(chǔ)上,基于微信小程序構(gòu)建智能咨詢系統(tǒng),滿足用戶對咨詢服務(wù)高效、快捷的需求,以拓展圖書館服務(wù)形式,提高圖書館的服務(wù)質(zhì)量.
微信作為一款移動社交軟件,發(fā)展迅猛,微信小程序則是一種微信平臺上的虛擬APP,它以移動智能終端設(shè)備的微信軟件為基礎(chǔ)來開展相關(guān)服務(wù),具有服務(wù)內(nèi)容眾多、方便快捷、組件及API豐富等特點,自2017年1月上線伊始便受到青睞,是提供咨詢服務(wù)的優(yōu)質(zhì)平臺.
圖書館作為提供知識的重要載體之一,按讀者需求提供信息服務(wù).圖書館的咨詢服務(wù)主流形式一般有三種[1],即短信服務(wù)(SMS)、無線應(yīng)用協(xié)議(WAP)和手機軟件(APP),隨著微信小程序使用日益廣泛,圖書館的傳統(tǒng)服務(wù)形式也隨之改革.微信小程序的優(yōu)點毋庸置疑,用戶只需掃碼或搜索即可打開使用小程序,無需下載安裝,而且小程序的功能、效果與APP相差不大.此外,相對其他移動智能終端軟件,微信小程序的開發(fā)價格更低,開發(fā)周期更短[2].雖然微信小程序具有諸多優(yōu)點,但目前基于微信小程序作為載體的圖書館咨詢服務(wù)仍不多見[3].因此,我們選擇微信小程序作為載體開發(fā)圖書館智能客服系統(tǒng),這也是拓展圖書館服務(wù)形式的一種新嘗試.
本系統(tǒng)以廣西壯族自治區(qū)圖書館的常見問答記錄為基礎(chǔ),形成問題庫.采用全文檢索技術(shù)、中文分詞技術(shù)、向量空間模型等應(yīng)用,實現(xiàn)了智能客服系統(tǒng)的自動問答功能.圖書館智能客服系統(tǒng)以微信小程序為服務(wù)窗口,用戶只需要通過手機登錄到圖書館智能客服系統(tǒng)中就能完成咨詢,不受時間、空間的制約[4].本系統(tǒng)使用微信Web開發(fā)者工具開發(fā),編碼語言是WXML,WXSS和JavaScript,這是專為微信小程序開發(fā)框架設(shè)計的,其預覽模式和HTML5開發(fā)工具雖然有所區(qū)別,但它可以用專屬工具實現(xiàn)同步本地文件的開發(fā)和調(diào)試等流程[5].
圖書館智能客服系統(tǒng)應(yīng)能夠滿足用戶自助咨詢服務(wù)的要求,在此基礎(chǔ)上,本系統(tǒng)還開發(fā)了圖書館概況展示、藏書分類、圖書查詢、管理員管理功能.用戶在進入微信小程序后,可以選擇瀏覽熱門圖書推薦、圖書館概況、圖書查詢、書籍分類頁面,通過搜索尋找圖書,或自助咨詢.管理員登錄管理后臺,對用戶留言進行處理,增添書籍數(shù)據(jù).系統(tǒng)總體功能圖如圖1所示.
圖1 系統(tǒng)總體功能圖
由于圖書館智能客服系統(tǒng)中的數(shù)據(jù)一般是非結(jié)構(gòu)數(shù)據(jù),這些數(shù)據(jù)是不定長度或者是沒有固定格式的,我們用全文檢索法[6]來搜索數(shù)據(jù).全文檢索架構(gòu)主要有兩部分,分別是建立索引過程和搜索索引過程[7].
我們設(shè)計的圖書館智能客服系統(tǒng)參照全文檢索工具包Lucene的原理來實現(xiàn)全文檢索的框架.由于Luence僅僅是一個框架,我們在Lucene框架基礎(chǔ)上做了進一步的開發(fā).
分詞就是將連續(xù)的字按一定規(guī)則組織成詞的操作,切分后的詞組將以集合的形式參與后續(xù)工作的處理.常見的中文分詞技術(shù)有三大類:基于字符串匹配的分詞技術(shù)、基于統(tǒng)計的分詞技術(shù)和基于人工智能的分詞技術(shù)[8].常用的中文分詞工具有Ansj分詞器,IK Analyzer,NLPIR,BosonNLP,百度NLP等.
我們選擇的分詞工具是基于Python的Jieba分詞庫,它的原理基于統(tǒng)計詞典的中文分詞方法.Jieba分詞的關(guān)鍵技術(shù)有前綴詞典、有向無環(huán)圖、動態(tài)規(guī)劃算法、HMM模型、Viterbi算法、Textrank模型和TF-IDF算法[9].Jieba中文分詞支持精確模式、全模式、搜索引擎模式三種分詞模式[10],我們選擇精確模式來對文本進行切分.
向量空間模型(Vector Space Model,VSM)是一種文本表示模型[11],主要思想是將文本用空間向量的形式進行向量表示,文本的每個特征詞與文本向量的每一維對應(yīng),向量空間模型把文檔轉(zhuǎn)化成向量的形式,向量的每一項表示每一個特征詞,通過計算在同一維度空間中向量的距離判定相似度[12-13].
特征詞權(quán)重根據(jù)不同環(huán)境分為局部權(quán)重和全局權(quán)重[14].局部權(quán)重針對對當前某一文檔中出現(xiàn)頻率高的詞賦予高權(quán)重,全局權(quán)重則針對文檔集合中多篇不同文檔,將出現(xiàn)頻率高的特征詞賦予低權(quán)重.我們采用逆文本頻率IDF(Inverse Document Frequency)加權(quán)法[15]計算全局權(quán)重,計算公式如式(1).
(1)
其中,N為文檔集合里的文檔總數(shù),ni為系統(tǒng)中含有特征項ki的文檔數(shù).
對于特征詞的權(quán)重值,我們采用公式(2)進行歸一化處理:
(2)
式中,freqiq為表示特征詞在查詢語句中所出現(xiàn)的次數(shù),而maxtfq則表示查詢語句中所有特征詞出現(xiàn)次數(shù)的最大值.
在文檔與提問表示成向量形式之后,用t維空間中的相對距離表示它們之間的相似度.在此我們采用內(nèi)積法和向量之間的余弦距離來表示文檔與提問之間的相似度.其中內(nèi)積法計算公式見式(3):
(3)
向量之間的余弦距離見式(4):
(4)
其中,QTi是提問中第i個檢索詞的權(quán)重值,DTi是文檔中第i個特征詞的權(quán)重值,N為總的詞數(shù).
TF-IDF加權(quán)技術(shù)[16-17]用來評估字詞對于文件的重要程度.詞頻(Term Frequency)指的是特征詞在當前文檔中出現(xiàn)的頻率,TF是對詞數(shù)的歸一化,防止特征詞偏向于長文檔,目的是為提高查全率.特征詞在某一文檔內(nèi)的高詞語頻率和在文檔集中的低文件頻率,可以得出高權(quán)重的TF-IDF.因此,TF-IDF常用于過濾常見詞語,保留重要的特征詞.我們的客服系統(tǒng)智能回復采用TF-IDF加權(quán)技術(shù)常與內(nèi)積相似性一同使用在向量空間模型,用來判斷文本相似度.
圖2 圖書館客服智能回復
我們采用微信Web開發(fā)者工具和PyCharm開發(fā)工具實現(xiàn)上述技術(shù),開發(fā)了一個圖書館智能客服系統(tǒng),其中包含了智能回復功能.編程語言是JavaScript,WXML,WXSS,Python,利用flask框架編寫全文檢索和中文分詞API,建立向量空間模型,利用TF-IDF加權(quán)技術(shù)實現(xiàn)了系統(tǒng)的智能回復功能.當用戶使用本系統(tǒng)時,首先進入的是圖書館智能客服系統(tǒng)小程序的首頁,在首頁可以看見熱門書籍推薦和圖書館概況.用戶點擊小程序首頁底部的導航欄第四個模塊“客服小助手”,即可進入智能客服回復頁面.用戶可以在該頁面自助咨詢,智能客服將會返回最佳答案.智能客服系統(tǒng)支持簡短詞匯咨詢,用戶無需輸入完整語句,只需要提供關(guān)鍵詞,即可得到準確答案.除此之外,本系統(tǒng)在處理無法識別的問題時,首先建議用戶重新輸入,其次儲存當前無法識別的問題,定期進行去重和提取關(guān)鍵詞,把分析結(jié)果匯報給人工處理,方便管理員對新問題進行錄入.圖2為運行界面之一.
隨著精神生活質(zhì)量的提升,讀者對圖書館服務(wù)提出了更高的要求.咨詢服務(wù)作為傳統(tǒng)核心服務(wù)之一,應(yīng)能及時調(diào)整來滿足讀者的新需求.借助APP、公眾號和微信小程序等移動應(yīng)用平臺實現(xiàn)智能咨詢服務(wù),是現(xiàn)代圖書館信息化服務(wù)的趨勢之一.本系統(tǒng)在這方面做了有益的嘗試.下一步的研究是開發(fā)多輪問答模式,以及研究多種匹配算法,以彌補各個匹配算法中的不足之處,以便更智能準確滿足讀者的咨詢需求.