陳新元,陳慶強,謝晟祎,陳但淡
基于知識圖的智能問答系統(tǒng)及教學實踐應用
陳新元1,陳慶強2,謝晟祎3,陳但淡4
(1. 福州工商學院 工學院,福建 福州 350715;2. 福建工程學院 信息科學與工程學院,福建 福州 350118;3. 福建農(nóng)業(yè)職業(yè)技術(shù)學院 教學科研處,福建 福州 350181;4. 福州墨爾本理工職業(yè)學院 教務處,福建 福州 350121)
為提高問答系統(tǒng)準確率,引入知識圖譜構(gòu)建框架,借助元圖結(jié)構(gòu)描述知識,利用知識推理技術(shù)實現(xiàn)持續(xù)更新。問答系統(tǒng)集成傳統(tǒng)Q&A問答模塊和知識圖推理模塊,并行處理問題并傳遞給答案生成模塊。進一步提取、優(yōu)化主題、關(guān)鍵字和摘要以提高問答鍵值對匹配的準確率,并將情境信息以屬性/標簽的方式與問答鍵值對集成以縮小候選集。在教學實踐中評估、驗證系統(tǒng)功能/性能。
Q&A;知識圖譜;元圖;情境信息;教學實踐
信息時代數(shù)據(jù)規(guī)模快速增長,問答系統(tǒng)可幫助用戶及時、準確地獲取信息,早期產(chǎn)品如密歇根大學AnswerBus多語言問答系統(tǒng)[1]等。問答系統(tǒng)在教育領(lǐng)域也有廣泛應用[2,3]。早期系統(tǒng)只接受特定語法結(jié)構(gòu)的問題[4],通常由問題分析、信息檢索和答案抽取3個模塊構(gòu)成[5]。
近年研究表明,知識圖譜領(lǐng)域的知識表達與推理技術(shù)相比傳統(tǒng)問答系統(tǒng)中的規(guī)則分類器具有一定優(yōu)勢[6]。知識圖譜的本質(zhì)是圖結(jié)構(gòu)的語義知識庫,其構(gòu)建一般分為3個階段:信息抽取、知識融合和知識更新。劉嶠等[7]總結(jié)了知識圖譜構(gòu)建的數(shù)據(jù)來源、預處理方法、知識融合技術(shù)和知識補全與更新機制。知識更新是知識圖譜建設的重要任務,經(jīng)典研究包括TransE及其后續(xù)模型[8-9];近年也有研究使用卷積神經(jīng)網(wǎng)絡(CNN)[10]提取實體/關(guān)系的交互特征,或引入路徑語義輔助判定三元組有效性[11]。
問答系統(tǒng)有助于改進教學中的知識共享模式[12],本文在此前研究基礎(chǔ)上構(gòu)建知識圖譜框架,設計并實現(xiàn)了基于知識圖的智能問答系統(tǒng)(Intelli- gent Q&A System based on Knowledge Graph and Context Awareness,簡寫為SKGCA),集成傳統(tǒng)問答模塊與知識圖推理技術(shù),并利用主題聚類、關(guān)鍵詞/摘要優(yōu)化分析和情境集成感知技術(shù)優(yōu)化問答表現(xiàn),在教學實踐中驗證系統(tǒng)功能/性能。
整體方案框架如圖1所示,數(shù)據(jù)收集、清洗和預處理后,知識圖譜構(gòu)建更新與Q&A系統(tǒng)開發(fā)同步進行,在此基礎(chǔ)上優(yōu)化框架,利用知識圖發(fā)掘主題,提取關(guān)鍵詞和摘要,集成情境信息并實現(xiàn)情境感知功能,輔助問答檢索。

圖1 SKGCA框架

RDF框架對復雜關(guān)系類型的表示能力欠佳,使用元圖構(gòu)建層次化描述,簡化關(guān)系類型和富文本描述。知識更新階段是指使用CNN編碼實體路徑集合[13],提取局部特征,利用雙向LSTM的隱藏狀態(tài)合并向量序列,通過注意力機制分配路徑權(quán)重并集成。
使用圖數(shù)據(jù)庫Cayley與文檔數(shù)據(jù)庫MongoDB持久化存儲三元組數(shù)據(jù)。Mongo作為后臺數(shù)據(jù)庫,由Cayley向其發(fā)起三元組的CRUD操作。
問答框架使用Django進行模塊化開發(fā),Redis管理緩存管理,定時備份問答數(shù)據(jù),通過pymongo調(diào)用Mongo實現(xiàn)持久化??蚣馨▊鹘y(tǒng)的問答模塊(以下簡稱Q&A模塊)、基于知識圖譜技術(shù)的處理模塊(簡稱圖處理模塊)、答案生成模塊、可視化模塊和訪問API等。
2.2.1 Q&A模塊

2.2.2 圖處理模塊
使用與知識圖構(gòu)建相同的預處理技術(shù)。模塊應答規(guī)則如下:
(1)將用戶問題中識別出的概念存儲于會話數(shù)據(jù),篩選表中數(shù)據(jù)并預估匹配記錄數(shù);
(2)若只匹配到1條記錄,返回該記錄目標列信息;
(3)若匹配記錄數(shù)>1,系統(tǒng)向用戶發(fā)起對話,提出補充性問題,利用用戶回答中的輔助信息縮小取值范圍,迭代查找具有最高相關(guān)概念數(shù)的記錄(列),直至匹配到1條記錄為止;
(4)若用戶在檢索中給出的概念相互不兼容,提示查詢失敗,清空會話數(shù)據(jù)。
由于使用了元圖結(jié)構(gòu),該模塊支持將元頂點作為數(shù)據(jù)元素。
2.2.3 答案生成模塊
傳統(tǒng)Q&A模塊用于處理普遍性問題,而圖處理模塊從特定知識圖中提取答案。答案生成模塊將Q&A模塊中分類器返回結(jié)果的置信度水平與閾值(初始設置為85%)比較,將問題判斷為普遍性問題或針對特定圖數(shù)據(jù),相應輸出Q&A模塊或圖處理模塊的返回結(jié)果。相比系統(tǒng)檢索結(jié)果,教師解答優(yōu)先級更高。
2.2.4 可視化模塊
收到答案生成模塊的輸出后,根據(jù)其所處的教學情境格式化輸出,教學過程中在第二投影儀或?qū)W生終端APP的問題墻/聊天頻道內(nèi)展示,學生也可通過瀏覽器、APP或API隨時查看相關(guān)問答的詳細內(nèi)容,包括系統(tǒng)檢索結(jié)果、教師應答、學生應答和教師點評、補充,以及關(guān)于該問題的完整討論等,實現(xiàn)知識的全程追溯。該模塊也響應用戶的自定義檢索/篩選操作。
2.2.5 訪問API
使用Cryptocat實現(xiàn)信息傳輸,允許學生自建聊天頻道及選擇參與者,學生可發(fā)言或通過問題墻創(chuàng)建問題,也可回答其他同學提出的問題,對系統(tǒng)/教師給出的答案進行反饋或評分。教師可通過API調(diào)整系統(tǒng)檢索結(jié)果的順序或內(nèi)容,也可直接回答檢索失敗的問題,為學生給出的答案打分、點評或補充修改,或訪問統(tǒng)計分析數(shù)據(jù)等。
除在問答系統(tǒng)中集成知識圖推理模塊外,設計了主題聚類(用于發(fā)現(xiàn)、評估內(nèi)容主題)、關(guān)鍵詞抽取優(yōu)化(優(yōu)化基于關(guān)鍵詞的問答匹配)、基于貪心策略的文本摘要分析(優(yōu)化基于自然語言的Q&A檢索)和情境集成功能(縮小問答候選集),利用持續(xù)更新的知識圖改進問答表現(xiàn)。
2.3.1 主題聚類

即根據(jù)泊松分布的文本長度和狄利克雷分布生成主題分布參數(shù)。整體概率分布表示為
2.3.2 關(guān)鍵詞抽取
關(guān)鍵詞是描述問答核心的詞匯,涉及知識/技能的目的、原理、意義和方法過程,本文設計了結(jié)合詞頻與主題——詞項分布的關(guān)鍵詞提取方案。首先使用TF-IDF計算詞匯權(quán)重,降序排列;接下來手動篩選主題——詞項分布下排名較前的詞匯,加入關(guān)鍵詞集合中,借助同近義詞典縮小候選集,提高問答匹配的準確率。
2.3.3 摘要分析

句子的效率保持度表示為
2.3.4 情境感知集成
教學情境信息可定義為教師傳授特定知識開展特定教學活動的時間和場景,該學時/教學模塊的教學目標、學情和重難點,相關(guān)知識/活動的具體信息如依賴的前置知識/技能,教學流程、評價指標、板書、作業(yè)等內(nèi)容,往屆學生的教學反饋,等等。本研究將情境信息與知識進行匹配映射,以標簽/屬性的形式添加到知識圖譜或Q&A數(shù)據(jù)庫中,學生提問時,根據(jù)當前的教學情境進行篩選以縮小問答候選集。
系統(tǒng)運行在Lenovo Thinksystem SR590服務器上,具體配置略。構(gòu)建垂直領(lǐng)域知識圖譜的源數(shù)據(jù)來自國外合作高校的專業(yè)課程,收集教材、參考書、教學計劃、課件、實驗指導書、習題、試題及解答、生產(chǎn)環(huán)境任務資料,以及已有的問答記錄等內(nèi)容,同時借助Scrapy爬蟲框架抓取網(wǎng)絡文本資源。
信息抽取階段的3種模板中,詞匯特征F1最高,達到91.8%,準確率93.3%;句法特征受抽象程度影響,F(xiàn)1 76.2%,準確率92.5%;共現(xiàn)特征F1 87.5%,準確率93.0%。知識更新階段,方案在Nell995、FB15k-237和WN18RR等數(shù)據(jù)集上與主流基準模型進行比較,MAP、MRR和Hits@1、3、10等指標表現(xiàn)證明方案可行,結(jié)果略。
問答系統(tǒng)中,Q&A模塊的TF-IDF和Doc2Vec的權(quán)重分配分別為0.8和0.2。自主構(gòu)建模型訓練所用的課程語料庫,包括118 079條目,訓練集/測試集分別占70%和30%,迭代訓練。
以鏡像相關(guān)內(nèi)容為例,智能問答示例如下。
用戶:我想查詢創(chuàng)建鏡像的指令和具體參數(shù)配置。
系統(tǒng)分析流程:情境感知模塊判斷當前教學項目為鏡像、容器基礎(chǔ)操作,優(yōu)先在該主題下進行檢索。IKAnalyzer和NLTK獨立對用戶問題進行預處理,如“鏡像”“創(chuàng)建”和“參數(shù)”都存在于解析樹子樹中,概念識別成功并存儲于用戶會話數(shù)據(jù)。圖處理模塊中發(fā)現(xiàn)與概念匹配度較高的多條記錄,向用戶發(fā)起會話,提出輔助性問題,期望獲取更多概念以對準確記錄進行定位。
系統(tǒng)反饋:鏡像創(chuàng)建可以使用多種數(shù)據(jù)來源,您使用的是本地鏡像、網(wǎng)絡鏡像、空白鏡像,還是容器?
答疑教師無操作。
用戶:本地鏡像和容器有什么區(qū)別?
系統(tǒng)分析流程:情境感知模塊結(jié)果同上。識別概念“本地鏡像”和“容器”,存儲于會話數(shù)據(jù)中;Q&A處理模塊返回結(jié)果的置信度水平較高,將其結(jié)果用于應答。
系統(tǒng)反饋:本地鏡像和容器的區(qū)別在于前者是靜態(tài)鏡像,而后者是在前者基礎(chǔ)上添加了運行層數(shù)據(jù)和配置,相關(guān)指令為docker run。
答疑教師無操作。
用戶:I hope to create an image with an existing container.
系統(tǒng)分析流程:情境感知模塊結(jié)果同上?!癱ontainer”映射到概念“容器”,其在會話數(shù)據(jù)中的權(quán)重加大,Q&A模塊置信度較低,因此使用圖處理模塊的返回結(jié)果,根據(jù)“容器”在相應列中進一步篩選,匹配記錄僅1條,答案生成模塊將其返回用戶。
系統(tǒng)反饋:docker commit [容器名] [參數(shù)集合]。
答疑教師:補充答案“使用該指令轉(zhuǎn)化容器時狀態(tài)配置可能丟失”;設置為高優(yōu)先級問題。
系統(tǒng)反饋:提取問題摘要“使用容器生成鏡像”,展示在第二投影儀上;同時將補充的答案內(nèi)容識別為指令標簽,添加至Cayley數(shù)據(jù)庫,后續(xù)批量更新至Mongo存儲。更新提問學生的關(guān)注模型,等。
學生反饋略。
從以上示例可以看出,情境感知能正確判斷教學模塊并設置優(yōu)先級,系統(tǒng)根據(jù)置信度自動選擇Q&A模塊和圖處理模塊的候選答案,并能提出擴展性問題輔助答案匹配。教師可隨時通過API接入,修改或補充答案,調(diào)整問答呈現(xiàn)方式或內(nèi)容優(yōu)先級。
就Docker容器操作項目中,系統(tǒng)有自動識別出容器啟動和運行、容器停止、容器刪除、容器網(wǎng)絡、容器保存、容器信息查看、容器備份和導入導出、進入容器操作共8個主題。聚類算法將容器啟動和運行正確識別為相同主題,進一步層次聚類后將容器啟動和運行、容器停止和容器刪除正確識別為容器狀態(tài)管理這一上層主題,也成功識別出容器備份和導入導出為相同主題,且該主題與容器保存有一定的內(nèi)容交叉。經(jīng)教師人工驗證后,將容器網(wǎng)絡遷移到專門的網(wǎng)絡項目中,將容器保存定義為單純的數(shù)據(jù)存儲(狀態(tài)存儲移動到容器備份與導入導出中)。
提取關(guān)鍵詞和摘要的問答文本示例如下。
問:如何進入Docker容器的網(wǎng)絡命名空間?
系統(tǒng)反饋:Docker在創(chuàng)建容器后,刪除了宿主機上/var/run/netns目錄中的相關(guān)的網(wǎng)絡命名空間文件。宿主機上默認無法查看容器的網(wǎng)絡命名空間。
用戶可以通過查看進程—鏈接的方式進行相關(guān)操作。
首先使用docker inspect命令查看容器進程信息,如下方的1234。
$ docker inspect --format='{{ State.Pid}} ' $container_ id 1234
使用ln命令把/proc目錄下對應進程的命名空間文件鏈接到/var/run/netns目錄,指令如下:
$ sudo ln -s /proc/1234/ns/net /var/run /netns/
然后,在宿主機上就可以使用show命令看到容器的網(wǎng)絡命名空間信息,指令如下:
$ sudo ip netns show 1234
通過exec命令查看或操作容器的命名空間。如修改容器的IP地址信息為172. 17.0.100/16。
$ sudo ip netns exec 1234 ifconfig eth0 172.17.0.100/16
提取的關(guān)鍵詞為:進入/交互/打開/查看(詞典)、網(wǎng)絡、命名空間、鏈接、inspect(以上為詞頻)、ln(分布)和exec/proc(分布)。
系統(tǒng)從上述問答示例中提取的摘要如下(括號內(nèi)為選取順序):宿主機上默認無法查看容器的網(wǎng)絡命名空間(1);首先使用docker inspect命令查看容器進程信息(3);使用ln命令把/proc目錄下對應進程的網(wǎng)絡命名空間文件鏈接到/var/run/ netns目錄(2);通過exec命令查看或操作容器的命名空間(4)。

隨機抽選不同情境下的關(guān)鍵詞組合,根據(jù)關(guān)鍵詞、整句問答或語義搜索等不同場景編寫測試用例,相似度算法能正確識別socket、容器、虛擬機等多義詞情境。獨立測試傳統(tǒng)問答模塊,基于知識圖但不帶情境感知的問答模塊,以及完整問答系統(tǒng)的準確率,分別為67%、72%和81%,說明集成知識圖推理和情境感知的問答系統(tǒng)具備一定優(yōu)勢。
系統(tǒng)投入使用前邀請教師和學生志愿者參與內(nèi)部測試,統(tǒng)計其情境識別準確率和問答準確率,問答樣本量分別為50、100。教學過程中每10~12天設置1個測試節(jié)點,抽取近期問答進行統(tǒng)計分析,3種情況下的情境識別準確率分別為98%、91%和92.3%,問答準確率分別為94%、85%和87.3%,如圖2所示,可見教學過程中的問答準確率在逐步上升,說明知識庫的持續(xù)更新和優(yōu)化設計有助于提高問答系統(tǒng)表現(xiàn)。

圖2 情境識別準確率和問答準確率
系統(tǒng)性能使用Locust模擬并發(fā)用戶,測試不同并發(fā)下的系統(tǒng)性能表現(xiàn),隨著并發(fā)用戶數(shù)增加,磁盤利用率并無明顯提高,不存在明顯瓶頸,可滿足實際需求,具體指標及結(jié)果略。
本研究在構(gòu)建知識圖框架的基礎(chǔ)上實現(xiàn)知識更新,將傳統(tǒng)Q&A檢索與知識圖推理集成,同時引入主題聚類、關(guān)鍵詞/摘要優(yōu)化分析和情境感知技術(shù)以改善問答性能。將方案應用于專業(yè)課程教學實踐,結(jié)果證明基于知識圖推理的系統(tǒng)能正確識別內(nèi)容主題并提取關(guān)鍵詞和摘要,表現(xiàn)優(yōu)于主流基準算法,能有效提升面向關(guān)鍵詞或自然語言文本檢索的問答性能。隨著教學開展,系統(tǒng)情境識別準確率和問答準確率也逐步提高,驗證了迭代更新知識庫的有效性。
[1] 馮升.聊天機器人問答系統(tǒng)現(xiàn)狀與發(fā)展[J].機器人技術(shù)與應用,2016,8(4):34-36.
[2] 劉玉賓.計算機公共基礎(chǔ)課程多元化教學模式探究[J].唐山師范學院學報,2019,41(6):127-129.
[3] 湯紹雄.基于智能問答的互助式編程學習平臺研究與開發(fā)[D].杭州:浙江工業(yè)大學,2020:54-64.
[4] 張志昌,張宇,劉挺,等.開放域問答技術(shù)研究進展[J].電子學報,2009,37(5):1058-1069.
[5] 李舟軍,李水華.基于Web的問答系統(tǒng)綜述[J].計算機科學, 2017,3(6):1-7.
[6] SUN H, MA H, YIH W, et al. Open domain question answering via semantic enrichment[C]//ACM. Proceedings of the 24th International Conference on World Wide Web. Florence: ACM, 2015:1045-1055.
[7] 劉嶠,李楊,段宏,劉瑤,等.知識圖譜構(gòu)建技術(shù)綜述[J].計算機研究與發(fā)展,2016,53(3):582-600.
[8] Bordes A, Usunier N, Garcia-Duran A, et al. Translating embeddings for modeling multi-relational data[C]// MIT Press. Proceedings of the 26th International Conference on Neural Information Processing Systems. Lake Tahoe, United States: MIT Press, 2013:2787-2795.
[9] Ji G, Liu K, He S, et al. Knowledge graph completion with adaptive sparse transfer matrix[C]//AAAI. Proceedings of the thirtieth AAAI conference on artificial intelligence. Phoenix, Arizona: AAAI, 2016: 985-991.
[10] Dettmers T, Minervini P, Stenetorp P, et al. Convolutional 2D knowledge graph embeddings[C]// AAAI. Proceed- ings of the 32nd AAAI Conference on Artificial Intelligence. New Orleans: AAAI, 2017: 1811-1818.
[11] Das R, Neelakantan A, Belanger D, et al. Chains of Reasoning over Entities, Relations, and Text using Recurrent Neural Networks[C]//ACL. Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers. Valencia, Spain: ACL, 2017: 132-141.
[12] 陰瑞華,李遠航.虛擬學習社區(qū)中面向知識共享的教師知識管理研究[J].唐山師范學院學報,2016,38(6):158- 160.
[13] 陳新元,謝晟祎,陳慶強,等.結(jié)合平移關(guān)系嵌入和CNN的知識圖譜補全[J].中文信息學報,2021,35(1):54-63.
Intelligent Q&A System Based on Knowledge Graph and Its Application in Teaching Practice
CHEN Xin-yuan1, CHEN Qing-qiang2, XIE Sheng-yi3, CHEN Dan-dan4
(1. College of Engineering and Technology, Fuzhou Technology and Business University, Fuzhou 350715, China; 2. Information Science and Engineering College, Fujian University of Technology, Fuzhou 350118, China; 3. Division of Teaching and Academic Affairs, Fujian Vocational College of Agriculture, Fuzhou 350181, China; 4. Faculty of Teaching Affairs, Fuzhou Melbourne Polytechnic,Fuzhou 350121, China)
To improve the question answering accuracy of Q&A systems, a framework for knowledge graph construction is proposed, in which meta-graph structure is employed to describe knowledge, reasoning techniques adopted to deliver continual knowledge updating. A traditional Q&A module and a knowledge graph reasoning module are integrated into the framework to complete the question answering process in parallel, another module called answer generation responsible for making the selection. Topics, keywords and abstracts are further optimized/ extracted for better key-value matching while contextual information is attached to key-value pairs of questions and answers in the form of attributes/ labels to narrow the candidate set. System function/ performance is assessed and verified in teaching practice.
Q&A; knowledge graph; meta-graph; context information; teaching practice
TP391
A
1009-9115(2022)03-0066-06
10.3969/j.issn.1009-9115.2022.03.018
福建省中青年教師教育科研項目(JAT210619)
2021-04-27
2022-01-05
陳新元(1984-),男,福建福州人,碩士,講師,研究方向為機器學習和知識圖譜。
(責任編輯、校對:田敬軍)