常兵兵 羅才喜 張喆
摘 要:為構(gòu)建一個(gè)面向幕墻企業(yè)和用戶的產(chǎn)品營銷和運(yùn)維服務(wù)平臺(tái),本文設(shè)計(jì)并實(shí)現(xiàn)了面向幕墻的知識問答功能模塊,此模塊的主要內(nèi)容包括基于爬蟲的數(shù)據(jù)收集模塊、用于知識庫的構(gòu)建與維護(hù)、敏感詞過濾和基于Jieba分詞等自然語言處理技術(shù)實(shí)現(xiàn)的數(shù)據(jù)預(yù)處理模塊、基于Doc2Bow構(gòu)建稀疏向量、文本相似度計(jì)算模塊、知識問答功能實(shí)現(xiàn)模塊。從而可以給用戶提供問題的答案,比較迅速的滿足用戶的查詢需求,節(jié)省用戶在網(wǎng)頁中尋找準(zhǔn)確答案的時(shí)間,提高尋求答案的效率。
關(guān)鍵詞:運(yùn)維服務(wù);知識問答;稀疏向量;文本相似度
中圖分類號:TP182 文獻(xiàn)標(biāo)識碼:A DOI:10.3969/j.issn.1003-6970.2021.02.019
本文著錄格式:常兵兵,羅才喜,張喆.基于知識庫的幕墻智能問答設(shè)計(jì)與實(shí)現(xiàn)[J].軟件,2021,42(02):064-066
Design and Realization of the IQAS Based on Knowledge Base of Curtain Wall
CHANG Bingbing1, LUO Caixi2, ZHNAG Zhe2
(1.Tianjin Feiyu Curtain Wall Decoration Engineering Co., Ltd., Tianjin? 300300; 2.Binhai College, Nankai University, Tianjin? 300270)
【Abstract】:In this article an IQAS (intelligent question answering system) module oriented to curtain wall is designed and realized for the purpose of building a platform for marketing, operating and maintaining which is helpful for curtain wall enterprises and their users. This module is made up of 4 sections, which are data collection based on crawler, data pre-processing, sparse vector based on Doc2Bow, calculation of text similarity and function realization of IQAS. It can provide the answers with the users and quickly meet their query requirements. It helps to save their time to search for the correct answers online and improve efficiency.
【Key words】:operation and maintenance;IQAS;sparse vector;text similarity
0引言
幕墻行業(yè)是一個(gè)復(fù)雜的工程,在幕墻工程建設(shè)中會(huì)涉及到許多的專業(yè)知識。而用戶在幕墻的生產(chǎn)、安裝、維護(hù)過程中會(huì)產(chǎn)生較多的問題。用戶以往在尋求問題的解答時(shí)往往會(huì)依賴百度、谷歌等搜索引擎。但是這種方式存在一定的弊端:搜索引擎會(huì)反饋給用戶大量的網(wǎng)頁,用戶需要自己在大量的信息中選取答案。但是這種方式存在回答信息重復(fù)、反饋的答案不精確的現(xiàn)象?;蛘哂脩敉ㄟ^幕墻領(lǐng)域的傳統(tǒng)客服方式來尋求解答,這種方式存在人力成本較高、回答不及時(shí)等問題,因此用戶需要有一個(gè)專門的平臺(tái)對用戶的問題進(jìn)行解答。
本文提出一種基于知識庫的智能問答平臺(tái)設(shè)計(jì)方案,即用戶在服務(wù)平臺(tái)提出問題后,平臺(tái)對用戶輸入的問題文本進(jìn)行處理[1],然后構(gòu)建稀疏向量;后臺(tái)根據(jù)知識庫中的問題文本進(jìn)行語料庫的創(chuàng)建;最后進(jìn)行利用TF-IDF算法進(jìn)行文本相似度計(jì)算,匹配出語料庫中相似度最高的問題,最后根據(jù)匹配出的問題給出對應(yīng)的答案反饋。
1基于爬蟲的幕墻領(lǐng)域知識庫的構(gòu)建
知識庫是智能問答功能的一個(gè)十分重要的組成部分,主要是存儲(chǔ)幕墻領(lǐng)域相關(guān)專家對幕墻相關(guān)問題解答的知識,十分具有參考性。其中包含了幕墻的故障排除、施工安裝、五金配件、玻璃、型材等專業(yè)知識。用戶對此類問題的咨詢就是依靠知識庫進(jìn)行的,最后將用戶提出的問題給出最終的答案反饋[2]。
本文提出的知識問答平臺(tái)主要依賴于數(shù)據(jù),數(shù)據(jù)的來源通過選擇多個(gè)幕墻行業(yè)的網(wǎng)站進(jìn)行數(shù)據(jù)爬取,選取的數(shù)據(jù)都是基于幕墻行業(yè)認(rèn)證的專家給出的解答,案凝聚了幕墻行業(yè)內(nèi)專家的知識、智慧和經(jīng)驗(yàn),因此問答數(shù)據(jù)可信賴性較高。本文選取的是中國幕墻網(wǎng)以及門窗幕墻網(wǎng)的問答語料,這兩個(gè)網(wǎng)站具有門窗幕墻、型材、五金配件等知識并且網(wǎng)頁組成結(jié)構(gòu)簡單,不存在反爬蟲機(jī)制,比較容易爬取,爬蟲部分主要選取requests+xpath技術(shù)對網(wǎng)頁數(shù)據(jù)進(jìn)行爬取,通過爬蟲共爬取到3267條問題-答案對數(shù)據(jù),爬取到的問題-答案集數(shù)據(jù)如圖1所示。
2語料預(yù)處理模塊
語料預(yù)處理是將已經(jīng)采集到的數(shù)據(jù)進(jìn)行統(tǒng)一處理,包括:中文分詞、去停用詞及敏感詞過濾等。這些數(shù)據(jù)經(jīng)過處理后會(huì)大大提高數(shù)據(jù)質(zhì)量,提高機(jī)器的可讀性,有利于進(jìn)行統(tǒng)一的分析與計(jì)算。文本預(yù)處理完成后,將生成各種數(shù)據(jù)類別進(jìn)行集中存儲(chǔ)和訪問,如圖1所示。
2.1中文分詞
中文句子是由一個(gè)個(gè)字符連接起來。字與字之間聯(lián)系在一起可以組成詞,詞與詞組成句子。再對中文語句處理時(shí),需要對中文語句進(jìn)行分詞操作。中文分詞的難度相對較大,因?yàn)橛⑽姆衷~往往可以按照空格來對語句進(jìn)行劃分,但是中文分詞則相對較為復(fù)雜,原因在于中文有比較多的歧義詞,組合詞和新生詞[3]。因此中文分詞需要檢查篩選這些詞,這樣獲取到的結(jié)果才會(huì)比較準(zhǔn)確。
本節(jié)針對上節(jié)設(shè)計(jì)的爬蟲程序獲取到的問答數(shù)據(jù),對獲取到的問題數(shù)據(jù)進(jìn)行中文分詞。本文中采用基于詞表的分詞方式使用jieba分詞。jieba分詞支持三種分詞模式:精確模式、全模式和搜索引擎模式,本文采用默認(rèn)的精確模式。
2.2去停用詞
停用詞是在信息檢索的時(shí)候?yàn)榱颂嵘龣z索的效率,在處理檢索的信息數(shù)據(jù)的時(shí)候會(huì)去掉一些字或詞,這些字或詞就是停用詞[4]。本文主要借助于哈工大停用詞表來進(jìn)行去停用詞處理。比如用戶輸入問句“門窗選擇有南北差別這種說法嗎?”
2.3敏感詞過濾
本平臺(tái)在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí),設(shè)計(jì)了敏感詞庫,用于存儲(chǔ)敏感詞。敏感詞檢測主要過程為:用戶在平臺(tái)上輸入問句,本文參考敏感詞庫中存儲(chǔ)的敏感詞并使用DFA敏感詞過濾算法[5]進(jìn)行敏感詞過濾。進(jìn)行敏感詞檢測在問答模塊中具有相對較高的優(yōu)先級,如果用戶輸入的問句檢測出存在敏感詞,將會(huì)提示用戶進(jìn)行正確提問。
3文本相似度計(jì)算
敏感詞檢測通過后,將用戶輸入的語句進(jìn)行下一步處理[6]。本小節(jié)利用gensim庫、TF-ID算法[7]以及余弦相似度算法來進(jìn)行文本相似度計(jì)算,從而給出用戶最佳的答案反饋[8]。主要工作內(nèi)容是:
(1)借助gensim中的corpora自然語言處理文本庫來處理中文字符。
(2)導(dǎo)入文本庫的語料。將事先爬蟲獲取到的語料加載到一個(gè)列表中。
(3)計(jì)算語料中詞語的頻率frequency,以便下一步建立詞典。
(4)根據(jù)上一步得到的詞頻對頻率較低的詞語進(jìn)行過濾。
(5)利用corpora.Dictionary(texts)通過語料庫將文檔中的詞語建立詞典并保存。
(6)利用jieba.lcut()函數(shù)將用戶問題文本進(jìn)行中文分詞。
(7)將用戶前臺(tái)頁面輸入的問題語句內(nèi)容content通過Ajax傳回后臺(tái),并經(jīng)過分詞處理后通過dictionary.doc2bow(target_data1.split())轉(zhuǎn)換為稀疏向量的形式new_xs。
(8)創(chuàng)建語料庫。利用corpus=[dictionary.doc2 dow(text)for text in texts]語句將原語料庫以(索引,次數(shù))元組的形式轉(zhuǎn)換為稀疏向量集并通過token2id得到特征數(shù)以便于下文建立tf-idf模型。
(9)創(chuàng)建TF-IDF模型,將創(chuàng)建好的語料庫導(dǎo)入模型進(jìn)行處理,得到tf-idf值。由于在向量空間模型中每個(gè)特征詞的文本分類能力、重要程度有所不同,所以引用用于評估詞在文中重要程度的方法,主要是利用詞頻和逆文檔頻率對字詞的重要程度進(jìn)行評估[9]。
(10)根據(jù)稀疏矩陣相似度建立索引。并且結(jié)果以(索引,相似度)元組的形式返回。然后用sim=index [tfidf[new_xs]]獲取最終相似結(jié)果。然后選取相似度最大的返回。
4平臺(tái)使用流程
本文采用服務(wù)與頁面結(jié)合的方式進(jìn)行設(shè)計(jì),后臺(tái)服務(wù)由python程序設(shè)計(jì)實(shí)現(xiàn),程序運(yùn)行后會(huì)啟動(dòng)相應(yīng)的后臺(tái)服務(wù),如圖2所示。
用戶通過幕墻的互聯(lián)網(wǎng)平臺(tái),通過智能診斷菜單進(jìn)入故障智能診斷界面,如圖3所示。
用戶在平臺(tái)上輸入問題語句后,如:“結(jié)構(gòu)面不平整”,并提交信息。問題文本傳入智能診斷服務(wù)后臺(tái)進(jìn)行處理。根據(jù)文本庫創(chuàng)建稀疏向量矩陣并轉(zhuǎn)化為tf-idf表示方法,然后根據(jù)獲取到的語句創(chuàng)建稀疏向量并轉(zhuǎn)化為tf-idf表示形式,最后計(jì)算相似度并找出相似度最大的問題。答案反饋后的頁面如圖4所示。
5總結(jié)與展望
本文在基于實(shí)際需求的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了面向幕墻安裝維護(hù)的知識問答功能。本文首先利用爬蟲技術(shù)獲取問答社區(qū)內(nèi)的知識語料并存儲(chǔ)、創(chuàng)建知識庫、然后設(shè)置了敏感詞過濾算法,用以過濾輸入的問句中的敏感詞匯;然后闡述了本文對語料進(jìn)行的中文分詞和去停用詞工作;最后對語料和用戶輸入的語料利用TF-IDF算法進(jìn)行了文本相似度計(jì)算用以匹配相似度最高的問題然后給出對應(yīng)的答案反饋。
本文在完成上述工作內(nèi)容的同時(shí),仍然存在一些需要改進(jìn)的工作內(nèi)容需要進(jìn)一步的研究與處理,如本文的知識庫內(nèi)容不夠豐富,下一步可以加入更多關(guān)于幕墻行業(yè)的知識信息;知識問答模塊對于答案的篩選與推送模塊還不夠完善等。在未來工作中可以對語料進(jìn)行處理,設(shè)計(jì)更加完善的算法來提高答案反饋的精準(zhǔn)度。
參考文獻(xiàn)
[1] 李俊.限定領(lǐng)域自動(dòng)問答技術(shù)研究[D].北京:北方工業(yè)大學(xué),2010.
[2] 郭慶.公共就業(yè)服務(wù)知識庫系統(tǒng)構(gòu)建探析[J].科技管理研究,2019,39(24):162-169.
[3] 齊翌辰,王森淼,趙亞慧.基于倒排索引的問答系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].教育教學(xué)論壇,2018(35):68-69.
[4] 逄揚(yáng).超高層單元式玻璃幕墻工業(yè)化建構(gòu)方法研究[D].大連:大連理工大學(xué),2013.
[5] 鄧一貴,伍玉英.基于文本內(nèi)容的敏感詞決策樹信息過濾算法[J].計(jì)算機(jī)工程,2014, 40(9):300-304.
[6] 馬偉娜.學(xué)術(shù)資源中英文分詞和分布式存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2016.
[7] 路永和,李焰鋒.改進(jìn)TF-IDF算法的文本特征項(xiàng)權(quán)值計(jì)算方法[J].圖書情報(bào)工作,2013(3):90-95.
[8] 王飛鴻.基于自動(dòng)生成知識庫的智能問答系統(tǒng)設(shè)計(jì)[J].中國科技信息,2018(12):50-52.
[9] 湯銘.基于領(lǐng)域知識庫的校園智能問答系統(tǒng)關(guān)鍵技術(shù)研究[D].南京:東南大學(xué),2018.