基于神經網絡技術的智能問答系統的設計與實現
摘要
在人工智能時代,以關鍵詞搜索的方式獲取信息存在著很多的局限性,已經不能 滿足互聯網用戶獲取信息的需求。例如,用戶搜索不到真正需要的信息,返回的無關 信息太多,或者用戶需要的信息未排列在前幾位結果中。能夠接受用戶以自然語言的 形式提問,并能從大量的數據中查找或推斷出用戶問題答案的問答系統就成為了當前 學者們的研究熱點。
問答系統按照問題的領域可以分為開放領域和限定領域的問答系統,根據答案的 生成方式可以分為檢索式和生成式的問答系統。本團隊與西安交通大學口腔醫院修復 科合作設計一套基于神經網絡技術的智能問答系統,最終本文設計的問答系統屬于基 于檢索式的兼顧開放領域和限定領域的問答系統,系統中涉及的限定領域就是口腔修 復領域。也就是說本文設計的問答系統既能夠回答開放領域的問題,類似于聊天機器 人,又能夠回答限定領域(口腔修復)的問題,同時還能回答一些患者常問問題(就 醫流程,就醫環境等)。本文的主要的研究內容包括語義相似度計算方法,問題分類 方法,口腔修復領域問題語義分析等,主要的貢獻如下:
1.對于語義相似度計算,本文設計了兩種方法,第一種是使用Siamese網絡架構 去做語義相似度計算。對于Siamese網絡架構中的網絡A和網絡B,我們使用的是 Bi-LSTM與Attention機制相結合的網絡結構,然后使用曼哈頓距離計算兩個文本向 量之間的距離。第二種是基于當下比較流行的預訓練方法去做語義相似度計算。本文 選擇刷新11項自然語言處理任務記錄的預訓練模型BERT來完成這個任務。針對本 文的數據集,本文對這兩種方法做了詳細的實驗對比,選擇了一個性能較優的方法。
2.對于問題分類,本文設計了三種方法。第一種是釆用帶有高斯核函數的非線性 支持向量機對問題進行分類,以數據的TF-IDF值作為特征。第二種是釆用Bi-LSTM 與Attention機制相結合的神經網絡分類模型對問題進行分類。第三種是基于預訓練 方法去完成問題分類任務,本文選擇的預訓練模型依然是BERT0針對本文的數據集, 本文對三種方法做了詳細的實驗對比,最終選擇了一個各項指標都較優的方法。
3.對于口腔修復領域問題語義分析,本文對問題進行分詞、詞性標注、依存句法 分析等步驟。然后本文經過對大量的用戶問題進行實驗,本文制定了一套依存關系過 濾規則,在系統的實際運行中取得了非常好的效果。
本文在最后對所設計的問答系統的各個模塊以及整個系統做了詳細的測試,測試 結果顯示本文所設計的問答系統完全達到了上線運行的標準。本文所設計的問答系統 巳經在西安交通大學口腔醫院修復科公眾號中投入使用,并且得到了用戶的一致好評。
關鍵詞:人工智能,問答系統,語義相似度計算,問題分類,語義分析
插圖索引
圖2.1神經網絡語言模型 10
圖 2.2 CBOW 模型和 Skip-gram 模型 11
圖2.3 Siamese網絡架構 12
圖2.4 RNN的網絡結構 12
圖2.5LSTM網絡結構 13
圖2.6支持向量與間隔 16
圖2,7非線性分類問題 19
圖2.8 Bi-LSTM分類模型 20
圖3.1基于神經網絡技術的智能問答系統架構 27
圖4.1 Attention 的計算過程 31
圖4.2 Siamese網絡其中一個網絡的網絡結構 32
圖 4.3 Transformer 模型架構 34
圖4.4 BERT的預訓練階段和微調階段 36
圖4.5語義相似度計算所使用的數據集 38
圖4.6 口腔修復類和普通閑聊類的數據格式 41
圖5.1 XML數據包格式 46
圖5.2被動回復文本消息 47
圖5.3接收和回復公眾號用戶消息的程序流程圖 47
圖5.4語義相似度檢測模塊的測試結果 48
圖5.5問題分類模塊測試結果 49
圖5.6 口腔修復領域問答對的數據格式 53
圖5.7 口腔修復答模塊的測試結果 54
圖5.8 API V2.0請求數據包的格式 56
圖5.9閑聊模塊的測試結果 57
圖5.10對于不同長度的用戶問題系統的響應時間測試 59
圖5.11公眾號關注時和關注之后的界面 60
圖5.12普通閑聊和患者常問問題展示 61
圖5.13 口腔修復類中“什么是烤瓷牙?"問題展示 62
圖5.14 口腔修復類中“口腔修復的流程是什么? ”和“做覆蓋義齒的好處? ”問題展示
圖5.15公眾號中公眾服務和微服務的界面 63
圖5.16公眾號中公眾服務的和微服務中的修復科普 64
圖5.17隨訪go小程序中的界面 64
表格索引
表4.1語義相似度檢測算法的實驗環境 38
表4.2基于Siamese Attention Bi-LSTM網絡的語義相似度計算的實驗數據 39
表4.3基于預訓練模型BERT的語義相似度計算的實驗數據 39
表4.4問題分類算法的實驗環境 41
表4.5 口腔修復和普通閑聊類的數據分布情況 41
表4.6 預測情況統計表 42
表4.7三種問題分類方法的實驗結果 43
表5.1 XML數據包中各個參數的含義 46
表 5.2 amod 的過濾規則 51
表 5.3 advmod 的過濾規則 51
表5.4義分析模塊對用戶問題的處理流程 52
表5.5 API V2.0請求數據包中的參數說明 56
表5.6 Perception參數中的參數說明 56
表5.7問答系統的準確性測試結果 58
目錄
摘要 I
ABSTRACT Ill
插圖索引 V
表格索引 VII
符號對照表 IX
縮略語對照表 XI
第一章緒論 1
1.1研究背景與研究意義 1
1.2國內外研究現狀 2
1.3研究目標與研究內容 3
1.4論文組織結構 4
第二章問答系統的相關理論和技術 7
2.1.1基于TF-IDF的語義相似度計算 7
2.1.2基于潛在語義索引主題模型的語義相似度計算 8
2.1.3基于詞向量的語義相似度計算 8
2.1.4基于Siamese循環網絡的語義相似度計算 11
2.2問題分類方法 14
2.2.1基于樸素貝葉斯的分類方法 14
2.2.2支持向量機分類 15
2.23基于Bi-LSTM模型的分類方法 20
2.3本章小節 21
第三章問答系統的總體設計 23
3.1問答系統的開發目標 23
3.2問答系統的設計思路 24
3.3需求分析 24
3.3.1功能性需求 25
3.3.2非功能性需求 25
3.4系統的工作流程與模塊設計 26
3.4.1語義相似度檢測模塊 27
3.4.2問題分類模塊 28
343 口腔修復問答模塊 28
3.4.4閑聊模塊 28
3.5 本章小結 29
第四章 問答系統的核心算法設計 31
4.1語義相似度計算算法設計 31
4.1.1基于Siamese Attention Bi-LSTM的語義相似度計算 31
4.1.2基于預訓練模型BERT的語義相似度計算 32
4.13實驗測試 37
4.2問題分類算法設計 40
4,2.1基于釆用高斯核函數的非線性SVM的問題分類方法 40
4.2.2基于Attention Bi-LSTM網絡的問題分類方法 40
4.23基于預訓練模型BERT的問題分類算法 40
4.2.4實驗測試 40
4.3 本章小結 43
第五章問答系統的實現與測試 45
5.1系統實現 45
5.1.1問答系統的展示平臺 45
5.1.2語義相似度檢測模塊 48
5.1.3問題分類模塊 49
5.1.4 口腔修復問答模塊 50
5.1.5閑聊模塊 55
5.2系統核心性能測試 57
5.2.1問答系統的準確率測試 57
5.2.2系統響應時間測試 59
5.3系統功能展示 60
5.3.1公眾號界面 60
5.3.2智能問答系統功能 61
5.3.3公眾號中的其他功能 63
5.4本章小結 65
第六章 總結與展望 67
6.1總結 67
6.2展望 68
參考文獻 69
致謝 71
第一章緒論
1.1研究背景與研究意義
在互聯網時代,用戶可以通過搜索引擎獲得自己需要的信息,但是隨著互聯網數 據的不斷增加,用戶快速準確地獲取信息的需求日益增長,搜索引擎技術的缺點逐漸 顯現出來。首先,對于傳統搜索引擎來說,用戶只能通過關鍵字去搜索,這也就是說, 用戶需要將自己所要搜索的內容凝練為若干個關鍵詞后再去搜索。但是對于普通的互 聯網用戶來說,他們一般很難用少量的關鍵詞去表達自己要搜索的內容。其次,傳統 搜索引擎很難準確的返回用戶問題的答案,而是返回一系列的網頁。而用戶則需要去 逐個閱讀這些網頁,然后再從中尋找答案。根據MORI的民意調查,只有18%的互聯 網用戶能夠在網絡上搜索到自己想要的內容,而68%的互聯網用戶對現有搜索引擎 搜索到的內容都不滿意⑴。
為了改善互聯網用戶獲取信息的用戶體驗,學者們開始研究以自然語言作為輸入 與輸出的問答系統。對于問答系統而言,用戶能夠使用自然語言去表達自己要查詢的 內容,并且可以用文本、語義、圖像方式輸入進系統。而且問答系統也不像傳統的搜 索引擎只是做簡單的關鍵詞搜索,而是先去解析用戶的意圖,然后根據用戶的意圖去 提供答案。在提供答案的過程中,問答系統會將提供給用戶的答案凝練成最簡單的自 然語言,這極大地提高了用戶獲取信息的效率。因此,未來問答系統將是互聯用戶獲 取信息的重要通道。
近幾年來,隨著計算機性能的不斷提升,互聯網中數據量的不斷增加,機器學習 和深度學習方面都有了很多突破性的研究。機器學習和深度學習的發展促進了人工智 能領域的飛速發展,對于人工智能中的三個重要方向,圖像識別,自然語言處理和語 音識別都有了很多顛覆性的進展。問答系統作為自然語言處理的一個重要應用,用戶 體驗和性能自然而然也有了一些前所未有的提升。尤其是神經網絡技術在問答系統中 的應用,對于分析用戶的自然語言的語義有著得天獨厚的優勢。而本文介紹的基于神 經網絡技術的智能問答系統在每個模塊中都運用到了神經網絡技術,并且與傳統的問 答系統中使用的方法相比,取得了非常不錯的效果。
隨著“互聯網+”行動計劃的提出,互聯網已經深入到各行各業,傳統醫療也站 到了風口上,借助互聯網和人工智能的特性,互聯網醫療軟件層出不窮,并且因為其 的便捷性、智能性,受到人們的熱烈歡迎⑵。中國是世界人口第一大國,龐大的人口 基數以及快速增長的老齡人口帶來了持續增長的醫療服務需求。醫生和護士每天要面 對成百上千個患者,每天需要回答不同患者相同的問題好幾次。為了提高患者的就醫 體驗,減少醫生的工作量,本團隊與西安交通大學口腔醫院修復科合作開發了一個基 于神經網絡技術的智能問答系統,為用戶解答一些就醫流程,就醫環境以及口腔修復 方面的問題。
1.2國內外研究現狀
20世紀50年代英國數學家圖靈發表了論文《Computing Machinery and Intelligence》,并在文中提出“機器智能”的概念以及判定機器是否智能的“圖靈測試” [3]o圖靈測試的內容是:在互相不知道的情況下,一臺擁有智能的機器和一個人進行 隨機的提問交流,如果超過30%的測試者沒有發現對方是機器的話,那我們就認為這 臺設備是擁有“人類智能”的智能設備"I。也就是說在那個時候,人們己經有了智能 問答的構想,到了 1961年,格林(Green)研發了第一個問答系統“BASEBALL”。
"BASEBALL”能夠回答美國一個季度棒球比賽的時間、地點、成績等自然語言問題 ⑸。“BASEBALL”問答系統的原理就是數據庫查詢,它把用戶的問題轉換成SQL查 詢語句,然后用SQL查詢語句在它后臺數據庫中查找答案。1966年,由約瑟夫維森 鮑姆(JosephWeizenbaum)研發的名為"Eliza"的問答系統冋,它類似于一個心理醫 生,讓病人跟它進行交流,醫生從對話中得到一些信息,然后輔助醫生進行治療。后 來,還出現了 LUNAR、SHRDLU、Bobrow等問答系統,但是由于當時相關知識的局 限性,問答系統一直處于一個緩慢發展的階段。
到了 20世紀90年代,問答系統的研究和開發熱點轉向了基于大規模文檔集的問 答系統。自然語言處理領域的一些著名會議開展了問答系統評測專項和開放域問答系 統專題。后來問答系統的研究領域也從早期的一些專業領域拓展到了開放領域,語料 也逐漸從固定語料庫擴占到了互聯網。1993年麻省理工學院人工智能學院開發了世 界上第一個基于Web的問答系統“Start”】,不同于信息檢索系統,它不是提供相關 的文章或者網頁,而是直接提供給用戶“準確的信息”。近年來,由于自然語言處理、 大數據和信息檢索等技術的發展,2011年IBM公司和美國德克薩斯大學聯合研發的 問答系統沃森(Watson)㈤參加以問答為主的綜藝節目《危險邊緣》。Watson中存儲 了海量的數據,而且擁有一套邏輯推理程序,可以推理出它認為最正確的答案。微軟 2014年推出了聊天機器人小娜和小冰,并將小娜內置到了 Windows系統中。小冰隨 后升級,新增了語音識別、圖像識別的功能。微軟作為互聯網行業的開拓者,在機器 學習、大數據方面有著非常強的技術儲備,并且有著大量的數據積累,所以小冰有著 幾乎超越人類交流能力〔9】。
與國外問答系統的發展相比,國內還是起步比較晚。1980年,中國科學院研發了 第一個中文問答系統,從此揭開國內問答系統的序章。1998年,陸汝鈴院士通過研究
常識知識本體論與人的智能的關系,提出“Agent和本體是常識知識庫的兩大支柱” 的觀點卩°],并且建立一個大型的常識知識庫"Pan-gu”,并在其基礎上研發了 Autotalk System0中國科學院計算技術研究所曹存根〔山研究員率領課題組,建立了國家知識基 礎設施(NationalKnowledgeInfi"astructure, NKI)知識庫。國內問答系統的發展很難 趕上國外主要有兩個方面的原因:第一是國外的問答系統大部分都是基于英文的,對 于中文的系統來說有很多的技術難以借鑒,并且中文本身就存在一些特殊性。第二是 國內缺少很多有關問答系統的評測系統,并且缺少很多有關問答系統的專業語料庫[⑵。
近年來,許多互聯網公司和高校參與到問答系統的研究中來,其中中國科學院、 復旦大學,哈爾濱工業大學、百度等在TREC問答技術測評中都取得了不錯的成績。 百度憑借自己在搜索引擎方面的優勢,在2014年推出了能夠與人進行有關情感、信 息的交互的小度機器人,并且在其中集成了視覺、自然語言理解與語音等人工智能技 術[13]。在2015年阿里巴巴集團推出“阿里小蜜”機器人,它集合了阿里巴巴旗下的 支付寶、淘寶網、天貓商城、等業務的使用條例、交易規范等信息,通過理解用戶的 語義與意圖,實現了超越人機交互的自然交互。2019年10月,第九屆“吳文俊人工 智能科學技術獎”公布獲獎名單,阿里巴巴的“阿里小蜜”與清華大學智能技術與系 統國家重點實驗室聯合獲得人工智能科技進步獎“一等獎”。
1.3研究目標與研究內容
本文旨在設計一套基于神經網絡技術的智能問答系統,此系統不僅能夠回答口腔 修復方面的問題,還要能夠回答一些有關就醫流程,就醫環境的用戶常問問題,并且 還要能夠與患者以閑聊的方式進行聊天,安撫患者的就醫情緒。本系統主要包括四個 模塊:語義相似度檢測模塊,問題分類模塊,口腔修復問答模塊,閑聊模塊。語義相 似度檢測模塊主要是判斷用戶提出的問題是否與有關就醫流程、就醫環境等常問問題 的問題庫中的哪個問題相似,如果找到相似的問題,就將此問題對應的答案返回給用 戶,如果沒有找到相似的問題就將用戶的問題傳給問題分類模塊。本系統將用戶提岀 的問題,除去常見的就醫流程、就醫環境的常問問題之外的問題分為兩類:口腔修復 和閑聊。如果用戶的問題分類分到了閑聊類,那么問題分類模塊就將用戶的問題傳給 閑聊模塊。如果用戶的問題分類分到了口腔修復類中,那么問題分類模塊就將用戶的 問題傳給口腔修復問答模塊??谇恍迯蛦柎鹉K負責給用戶提出的口腔修復類問題提 供答案。閑聊模塊負責給用戶提出的閑聊問題提供答案。最終此智能問答系統會接入 到“西安交通大學口腔醫院修復科”的公眾號中,關注了此公眾號的用戶可以直接在 公眾號的消息框中進行提問。
本文的研究內容主要包括以下幾個方面:
1.對于語義相似度計算算法,本文提出了兩種方法,第一種是使用Siamese網絡 架構,然后對于其中的網絡A和網絡B,使用Bi-LSTM與Attention機制相結合的方 式來表征文本,使用曼哈頓距離計算兩個文本之間的相似度。第二種是使用當下比較 流行的預訓練方法,本文將刷新11項自然語言處理任務的記錄的預訓練模型BERT 應用在語義相似度計算任務中。本文對于兩種語義相似度計算方法,在同一個數據集 上,做了詳細的實驗,最終綜合各項指標,選擇了一個性能更優的方法。
2.對于本系統的問題分類模塊,針對本系統數據的情況,本文提出三種方法,第 一種是使用帶有高斯核函數的非線性支持向量機對問題進行分類,以數據的TF-IDF 值作為數據的特征。第二種是訓練了一個Bi-LSTM與Attention機制相結合神經網絡 模型對問題進行分類。第三種是基于預訓練模型的方法,本文將預訓練模型BERT應 用在問題分類任務中。本文對這三種問題分類算法,做了詳細的實驗,最終比較實驗 結果中的各項指標,選擇了一個效果最好的方法。
3.本系統中的口腔修復問答模塊是專門回答用戶提出的口腔修復方面的問題???腔修復問答模塊分為兩個子模塊,語義分析和檢索子模塊。語義分析分析子模塊,本 系統對用戶的問題進行分詞、詞性標注、依存句法分析,最重要的是本文根據對用戶 大量實際問題進行測試,最后對依存句法分析的結果制定了一套過濾規則。檢索子模 塊,主要使用來實現用語義分析子模塊中的結果在口腔修復問題庫中搜索相似的問題。 在搜索的過程中本文加入了同義詞替換,重點醫療詞語提高權重等方法,最終口腔修 復問答模塊有一個非常不錯的效果。
4.本系統是一個能夠回答開放領域(閑聊)、限定領域(口腔修復)、常問問題(有 關就醫流程、就醫環境)等問題的智能問答系統。本文需要集成多個模塊,以一個合 理的方式運行,并且最后將此問答系統接入微信公眾號中,以至于用戶可以在公眾號 的消息框中直接提問。
1.4論文組織結構
根據研究目標與研究內容,本文通過五個章節,詳細地闡述了基于神經網絡技術 的智能問答系統的設計與實現,具體安排如下:
第一章,緒論。闡述了問答系統的研究背景以及研究意義,敘述了問答系統的國 內外研究現狀,說明了本文的研究目標與研究內容,最后給出了論文的組織結構。
第二章,問答系統的相關理論和技術。詳細地分析和闡述了問答系統的相關理論 技術和關鍵技術,其中包括語義相似度計算和文本分類等所涉及的一些理論知識和算 法原理。
第三章,問答系統的設計。首先詳細地闡述了西安交通大學口腔醫院修復科對智 能問答系統的需求。其次本文對于西安交通大學口腔醫院修復科的需求,做了功能性 需求分析和性能需求分析,最終給出問答系統的總體設計思路以及系統的各個模塊設 計。
第四章,問答系統的算法設計。首先本文提出兩種語義相似度計算算法,對兩種 算法的算法原理做了詳細的闡述,并且分別對兩種算法做了詳細的實驗,經過比較各 項指標最終選擇了一個性能更優的算法。然后本文提出三種問題分類算法,對三種算 法的算法原理做了詳細的闡述,并且分別對三種算法做了詳細的實驗,經過比較各項 指標最終選擇了一個效果最好的算法。
第五章,問答系統的實現。首先詳細地闡述了問答系統中各個模塊的實現以及最 終的呈現方式。然后本文測試了問答系統的準確性以及問答系統對用戶不同長度的問 題的系統響應時間,最終做了問答系統的展示。
第六章,總結與展望??偨Y了本文的研究成果以及創新點,并討論了問答系統的 不足以及未來的改進方向。