999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于語義解析的領域問答系統的設計與實現

2021-11-15 11:48:14劉園園李勁華趙俊莉
計算機應用與軟件 2021年11期
關鍵詞:學校

劉園園 李勁華 趙俊莉

(青島大學數據科學與軟件工程學院 山東 青島 266071)

0 引 言

問答系統由于具有簡單、準確的回答而越來越成為自然語言處理、信息檢索等領域研究的重點,與傳統的搜索引擎相比,問答系統不僅能接受用戶直接的自然語言方式提問,而且能夠更深層次地理解用戶的查詢意圖,返回精準的答案。

中國每年參加高考的學生越來越多,高考結束后所有考生都將面臨艱難的志愿選擇問題,學生需要在有限的時間內充分地了解學校信息、選擇合適的學校,一旦報名時選擇有誤,就可能會與理想的學校失之交臂,因此,能夠快速、準確地了解學校信息非常重要。目前對學校基本信息的查詢主要是基于搜索引擎,但是這種方式返回的是成百上千的網頁,學生從中定位到所需要的信息需要耗費大量精力,而且每查詢一個學校的信息都需要進行一次網頁檢索,做出很多無用功,另外單個學校的搜索也無法實現對學校信息整合、比較。因此研究并開發一款面向考生的、綜合各學校信息的高考咨詢領域的智能問答系統,具有現實意義且十分必要。

問答系統按其問題答案的來源可以分為基于Web的問答系統[1]、基于社區的問答系統[2]、基于知識圖譜的問答系統[3]等。知識圖譜能夠通過建立數據之間的關聯鏈接,將碎片化的數據有機地組織起來,更易于信息的搜索、挖掘和分析[4],因此成為問答系統常用的數據存儲形式。

基于知識圖譜的問答方法(KBQA)主要分為基于語義解析[5]的方法和基于信息檢索[6]的方法?;谡Z義解析的方法通過對自然語言進行語義解析,將其轉換成邏輯形式,然后生成相應的結構化查詢語句,在知識庫中檢索得出答案?;谛畔z索的方法可以看作是答案的排序算法,從知識庫中檢索候選答案的集合,根據問題特征和候選答案特征對候選答案進行評分和排序,選擇得分最高的作為最終答案。

現有的KBQA方法大多集中在簡單的問題上,即僅涉及一個實體和一個關系,常見的解決方法是將問題映射到知識圖譜中的三元組查詢,即能得到答案;而涉及多個實體和關系的復雜問句,一般的KBQA方法則不能很好的工作[7]。高考咨詢領域的問句大多是含有多實體或關系的復雜問句,如問句“山東省排名第一的大學是哪個?”中就包含多個約束:1) 問句意圖是學校;2) 學校位于山東省;3) 學校排名第一。因此,為了能回答多約束問題, 本文設計一個基于語義解析的問答模型,首先通過主題實體和查詢意圖生成核心推理鏈,然后通過添加約束生成最終的查詢圖,從而將語義解析轉化為查詢圖生成,最后將查詢圖轉換為知識庫查詢語句。

1 構建高校信息知識圖譜

1.1 知識圖譜

知識圖譜是一種新的知識表示方法,最先由谷歌提出以提供更加智能的搜索服務。知識圖譜本質是具有一個有向圖結構的知識庫,以結構化的方式描述了現實世界中存在的實體、概念,以及它們之間的語義關系,以更好地組織、管理和理解互聯網時代產生的海量信息[8]。目前知識圖譜已經在醫學[9]、電商[10]等多個領域得到廣泛研究。

知識圖譜的構建方式有兩種,一種是自頂向下的構建方式,一種是自底向上的構建方式。前者指的是預先為知識庫定義好本體或數據模式,然后再將實體加入到知識庫中;后者指的是先利用相關技術把文本中的有用實體提取出來,從中選擇置信度較高的添加到知識庫中,從而構建出頂層本體模式[11]。本文高校信息知識圖譜的構建大體分為三個步驟:1) 設計知識圖譜本體;2) 采集數據;3) 數據導入與可視化。構建流程如圖1所示。

圖1 知識圖譜構建流程

1.2 本體設計

構建知識圖譜之前要了解構建的領域,然后設計知識圖譜的結構。為了能了解到學生在高考報名時最常咨詢的信息,本文在一些大學的貼吧、高考咨詢類網站等收集相關的問句,對其進行整理分類,可以了解到,學生想要知道的信息大體分為三種情況:1) 學校基本信息。如地址、排名、是否是985、獎學金政策、宿舍環境等。2) 學院信息。如招生計劃、學院特色、招生專業等。3) 專業信息。包括未來就業方向、所學課程、錄取分數等。

知識圖譜包括實體、屬性和關系,一些信息點既可以作為實體存儲,也可以作為實體的屬性存儲,為了有效地劃分實體和屬性,本文首先列舉出所有的信息點,然后把其中與其他實體有聯系的、易成為比較點的、易反向詢問的、帶有屬性的信息點歸為實體類,其他的歸為屬性類。如“專業的錄取分數”這個信息點由于具有錄取時間、錄取省份和錄取類別等多個屬性,因此不能作為“專業”這個信息點的屬性,而是作為一個單獨的節點,與“專業”節點建立聯系;而如“學校地址”這個信息點由于是學校單獨有的,而且各個學校的地址都不相同,不太可能與其他實體相連,因此,將其劃分為屬性。

為了能更清晰地了解各個實體之間的聯系,本文選用protege構建高校知識圖譜的本體模型。如圖2所示,共構建了12個實體,14種關系,每個實體有不同的屬性。

圖2 高校信息知識圖譜本體

1.3 數據獲取

構建完本體之后,下一步就是數據的獲取,本文主要通過Python爬蟲的方式獲取數據,主要數據來源如下: 學校的基本信息從百度百科等半結構化數據進行爬??;院系設置、專業錄取分數線和招生計劃等從各學校官網和中國教育在線-高考數據庫網站獲取;學校排名、院校特性和宿舍條件等從陽光高考網站進行獲取。陽光高考網站是教育部高校招生陽光工程指定平臺,集合了一些院校信息、就業率、錄取分數線等信息,爬取的部分信息如圖3所示。另外還有一部分數據來自于中文開放知識圖譜CN-DBpedia。

圖3 基于陽光高考網站爬取的數據示例

1.4 知識存儲

知識圖譜的存儲可以分為基于表結構的存儲和基于圖結構的存儲,基于圖結構的存儲用節點表示實體,用邊表示實體之間的關系,能夠直接準確反映知識圖譜的內部結構,有利于對知識的查詢。本文采用屬性圖數據庫Neo4j進行知識存儲,為實現高考咨詢領域的問答系統提供底層的數據支持。

Neo4j是目前最廣泛流行的屬性圖數據庫,具有成熟數據庫的所有特性,能夠對數據進行高效的處理。另外,Neo4j還支持以圖的方式對數據進行可視化展示。Neo4j自帶一個大數據量的導入工具neo4j-import,支持并行、可擴展地大規模導入CSV數據,導入的CSV文件一般至少包含一個實體文件和一個關系文件。實體文件的格式一般包括“:ID”“name”“:LABEL”等欄,關系文件的格式包括“:START_ID”“:END_ID”“name”“:TYPE”等欄,其中“:LABEL”和“:TYPE”分別代表實體的類型和關系的類型,“:START_ID”和“:END_ID”分別是關系中開始節點和結束節點的ID,二者缺一不可,因為關系不能指向空也不能從空發起。本文將爬取的信息數據轉換成以上的CSV文件,然后進行數據導入。導入后的可視化效果如圖4所示,單擊節點可以看到該節點的屬性,有向邊代表兩個實體的關系,為了方便查詢,本文將一些時間、省份等屬性添加到關系中,如圖5所示。

圖4 知識圖譜的可視化展示

圖5 知識圖譜中關系的屬性展示

2 基于語義解析的問答系統

本文主要采用基于語義解析的方法實現問答系統,通過添加約束到核心推理鏈[12]以生成查詢圖,然后將查詢圖映射成Cypher語句。采用的方法如下:1) 識別問句意圖以生成答案節點。2) 將問句進行實體識別并提取出主題實體。3) 根據問句類別和主題實體生成核心推理鏈,并通過相似度計算模型對其進行質量評估。4) 對每條核心推理鏈添加約束,生成查詢圖,對生成的查詢圖再次進行相似度計算,并得到最終的得分。5) 將得分最高的查詢圖轉換為Cypher查詢語句,到知識庫中檢索答案返回給用戶。其架構如圖6所示。

圖6 問答系統流程

2.1 意圖分類

意圖分類的目的是知道用戶的查詢意圖,即最終要返回給用戶的節點類型。例如,當意圖分類的結果是“專業”,那么也就知道最終返回給用戶的實體必須屬于“專業”類型;當意圖分類的結果是“學校-屬性”,那么就知道答案節點是“學?!鳖愋停以儐柕氖瞧淠硞€屬性,因此,將答案節點限制為學校類型,并且通過“RETURN 學校.屬性”的方式返回給用戶所想要的答案。

本文定義分類的類別包括所構建的本體中的所有實體類型(12種)、實體-屬性類型(5種)、關系類共18個類別。實體-屬性類型是指詢問的不是某個實體本身,而是實體的某個屬性,如問句“青島大學文學院在哪”的類別就屬于“學院-屬性”類,實體-屬性類只有5種是因為一些實體類型如“省份”沒有給其設置屬性。關系類是指詢問兩個實體之間的關系,如“青島大學是985高校嗎”就屬于關系類。

意圖分類是本文問答系統的關鍵環節,其準確率較大地影響到問答系統的準確率,經過多種分類器的實驗比較,本文選擇BERT[13]微調模型用于本文的問句分類。微調模型如圖7所示,將句子的每個字分割成一個token,即圖7中的Toki,BERT的輸入是Toki對應的表征Ei,然后通過堆疊的Transform編碼器生成字向量Ti,由于句子頭部的[CLS]對應的向量C包含了整個句子的語義信息,因此被送到輸出層用于分類。

圖7 BERT分類微調模型

2.2 主題實體識別

主題實體是問句查詢的核心實體。大多數問題的答案都與核心實體有著直接或間接的聯系,因此只需要找到一個核心實體,然后通過邊的連接搜索其子圖即可找到問題的答案[14]。

主題實體的識別分為兩步。首先,通過命名實體模塊識別所有實體;然后,根據設定的規則對其進行打分排序,設置排序第一的實體為主題實體。

2.2.1實體識別

實體識別的目的是識別句子中的實體信息,本文設計的問答系統面向的是高考咨詢領域,因此涉及到的實體主要有省份、城市、學校、專業、學院、校區、年份、人名、錄取分數、院校特性、排名等。對于類別有限、固定且易統計的實體,如省份、城市、年份、人名、學校名、錄取批次等,本文通過調用HanLP的Python接口pyhanlp,利用其CRF實現并加上添加專業字典的方式來進行實體的識別,pyhanlp詞性標注功能可以準確地實現大部分實體的識別。對于其他容易造成混淆的實體以及不能用詞性標注解決的實體,如“青島大學是211嗎?”中“211”在詞性標注里的結果是數詞“m”,但在這里指的是學校特性。因此,對于這些實體,本文選擇了BiLSTM-CRF的NER模型,這個模型在實體識別方面具有較好的效果,其數據集的標注格式如圖8所示。

圖8 實體識別數據集標注示例圖

實體識別之后通過同義詞典或正則對其進行改寫,改寫成在知識庫中存儲的標準形式,如“山東省”和“山東”都統一為“山東”。

2.2.2實體排序

在實體識別模塊之后,獲得了一系列實體,本文根據高考領域的本體模型以及常見問題,設置了如下的打分規則:

(1) 類型優先級。由于大部分問題是圍繞學校的,因此學校類型的實體具有最高的優先級,分數為0;其余的實體類型按照到學校類型的最短距離來計算,距離越近優先級越高。

(2) 指向關系。指向關系是指優先選擇指向其他實體的節點,而不是被指向的節點。對每個實體,計算指向此實體的邊數,每條邊計一分。

(3) 距離疑問詞的距離。計算每個實體到問句疑問詞的距離,將距離值作為分數添加給每個實體。

最后,將每個實體按其得分由低到高進行排序,分數最低的那個實體為主題實體?!芭判颉睂嶓w不算在主題實體中,如果問句中沒有實體可以作為主題實體,用問句的答案節點作為主題實體。

2.3 核心推理鏈生成

核心推理鏈是指主題實體到答案節點的路徑,比如問句“青島大學有哪些專業在中心校區?”中主題實體節點“<青島大學>”到答案節點“:專業”之間的路徑就有四種情況,如圖9所示,其中:“:”后的詞表示實體的類型;“<>”中的詞表示實體的值。本文將有實體值的節點稱為實體節點,僅有實體類型而無具體值的節點稱為變量節點,代表答案的節點稱為答案節點,答案節點也屬于變量節點。圖9顯示了四條路徑:“青島大學-屬于-屬于”“青島大學-招生專業”“青島大學-院系設置-招生專業”“青島大學-包含校區-所屬校區-招生專業”。

圖9 核心推理鏈示例圖

雖然這四條路徑均能與答案節點相連,但是無疑第四條路徑的質量最高,為了評估每條路徑的質量,本文通過計算每條路徑與問句的相似度,對每條路徑進行評分排序。

通過觀察本體圖,我們發現任意兩個實體的距離不超過3,而且問句中的答案大多數都在三跳以內,因此,我們只考慮三跳以內的核心推理鏈,具體步驟如下:

首先,通過查詢知識庫,計算主題實體節點與答案節點的最短距離,如果等于1,那么從知識庫中查詢主題實體節點到答案節點的所有一跳、兩跳、三跳的路徑;如果等于2,那么查詢所有兩跳、三跳的路徑;如果等于3,那么僅查詢一條路徑即可。

在獲得所有核心推理鏈之后,計算與問題之間的相似性。本文使用BERT初始化詞向量,將兩個句子分別輸入到Siamese循環神經網絡[15]來生成句子的語義表示,然后利用曼哈頓距離計算語義相似度,搭建的模型(BERT-Siamese模型)結構如圖10所示,其中hleft和hright分別是兩個BiLSTM的輸出向量,將其進行曼哈頓距離計算后輸出相似度結果y。

圖10 本文相似度計算模型

2.4 添加約束

在得到核心推理鏈之后,還需要解析問句中的約束,問句中的約束是指對答案的限定,將答案聚焦在想要的范圍。約束一般分為實體約束、非實體約束、排序約束,以及計數約束等[16]。

約束一般加在實體節點或者中間的變量節點處。核心推理鏈的實體節點就是主題實體,變量節點就是推理鏈中沒有具體值的節點,如圖11所示。對于問句“青島大學哪些專業2019年的錄取分數小于560?”,其核心推理鏈之一為“青島大學-招生專業”,對于剩余實體“560”和“2019”即是對答案節點“:專業”約束,把剩余實體與答案節點建立連接,即生成最終的查詢圖。

圖11 添加約束示例

添加約束的算法如算法1所示,由于已經將時間約束歸為實體約束里,因此本文就依次考慮對實體約束、排序約束和計數約束的添加。

算法1添加約束算法

輸入:核心推理鏈t,待添加的實體集合E。

輸出:G。

1 G = ?

2 insertttoT

3 foreache∈Edo

4Temp(t) = ?

5 foreacht∈Tdo

6g=AddConstraint(t,e)

7 insertgtoTemp(t)

8 end

9T=Temp(t)

10 end

11 insertTtoG

12 ifpaixu==True:

13 foreachg∈Gdo

14 if “分數” or “排名”or “招生人數” ∈g:

15 insert paixuConstraint tog

16 else

17g1 =AddConstraint(g, “分數”)

18g2 =AddConstraint(g, “排名”)

19g3 =AddConstraint(g, “招生人數”)

20 insertg1,g2,g3 toG

21 end

22 ifisJishu==True:

23 foreachg∈Gdo

24 insertjishuConstrainttog

25 end

26 returnG

對于實體約束,首先判斷此約束是實體類約束(如“中心校區”)還是屬性類約束(如錄取分數的屬性“2019年”),如果是屬性類約束,則先將其轉換為具有此屬性的實體類型。然后在推理鏈中查詢是否有此實體類型的節點,如果有,則直接將約束添加給那個變量節點;如果沒有,則與其中的變量節點建立關系,建立關系的原則是選擇與距離最近的變量節點建立關系,如果與多個變量節點的最近距離相同,則分別與之建立關系,生成多個不同的查詢圖,如果與任一節點均無法建立關系,則舍棄掉此實體約束。另外對于類型為“分數”的實體進行額外檢測,利用字符串匹配方法判斷問句中是否在其前面出現“大于”或“小于”等詞語,如果存在,則將約束中的“=”改為“>=”或“<=”。

對于排序約束,能進行排序的實體類型包括“排名”“分數”“招生人數”,因此如果有排序實體的存在,那么就查詢此時的查詢圖中是否存在上述變量節點之一,如果有,則將此約束加到這個變量節點當中,如果查詢圖中沒有上述變量節點,則分別添加上述節點和對應的排序約束,生成多個查詢圖。

對于計數約束,本文通過訓練一個二分類的分類器,判斷需要返回的是實體還是實體的數量。

最后采用2.3節的相似度計算模型對生成的每個查詢圖進行評分,此得分加上生成此查詢圖的推理鏈的分數為查詢圖最終的得分,選擇最終得分排名第一的查詢圖作為最終的查詢圖。

2.5 查詢語句生成

得到最終的查詢圖之后要將其轉換為Neo4j數據庫語句,Neo4j數據庫使用的是Cypher查詢語句,圖12描述了程序運行中查詢圖的自動生成過程以及查詢語句的轉換。

圖12 查詢語句生成示例圖

3 實 驗

3.1 數據集

問句數據集:本文通過人工構建問句以及在一些大學的貼吧、百度知道等網站爬取高考咨詢相關問句的方式,得到3 000條事實類問句作為數據集。本文的問句分類(意圖分類和計數約束二分類)和命名實體識別均使用此數據集。

相似度計算數據集:相似度計算模型的輸入為兩個句子及其相似性標簽,第一個句子來自于爬取的3 000條問句,第二個句子來自于知識庫,從生成的核心推理鏈和查詢圖中人工選取其中最正確的數據,標簽設置為1,其余的標簽為0。為了讓數據集的正負樣本均衡,將正樣本重復2次進行過采樣。經過以上處理,得到一個含有29 000個句子對的數據集,將其按7∶3的比例分為訓練集和測試集。

3.2 實驗結果

本文采用微調BERT的方法進行問句分類,在測試集上的準確率分別為97%和100%,另外本文也探索了其他方法進行問句分類效果對比,實驗結果如表1所示。

表1 問句分類實驗結果(%)

BiLSTM-CRF模型的命名實體識別結果為:精確率為93%,召回率為92%,F1值為92%。BERT-Siamese模型的相似度計算結果為:精確率為79%,召回率為85%,F1值為81%。整個問答系統隨機采取100道進行測試,其中84%的問題回答正確,從而驗證了本文所提出的問答模型的合理性,也說明本文系統基本可以滿足用戶對高考咨詢的一般問答需求。

3.3 問答系統實現

為了方便用戶使用,利用Python的Flask框架搭建問答系統,運行界面如圖13所示??忌梢圆榭锤鱾€省份的學校,或者根據分數選專業或者根據專業選大學,還可以查看學校之間的關系等。

圖13 本文的問答系統界面

4 結 語

本文基于高考報名時考生經常咨詢的問題,利用protégé設計高考領域的知識圖譜本體,構建了高校信息知識圖譜。在此基礎上,對多限制問句的問答方法進行了研究,采用基于深度學習和語義解析相結合的方法,將用戶的問句自動轉換成知識庫查詢語句,實現了高考咨詢問答系統。

本文的問答系統也有不足之處,本文系統只可以回答高考咨詢領域的事實類問句,對于非事實類問句或者知識庫中沒有存入的知識無法回答;另外查詢圖的相似度計算的準確率也有待提高,因此今后的工作將在數據源、相似度計算算法等方面進行深入研究。

猜你喜歡
學校
我為什么要上這所學校
再回學校
School 學校
只有我一個人在學校是這樣嗎
意林(2021年11期)2021-09-10 07:22:44
學校熔化了
小讀者(2020年2期)2020-03-12 10:34:12
我的學校
快樂語文(2018年36期)2018-03-12 00:55:56
學校100天慶祝日
學校推介
留學生(2016年6期)2016-07-25 17:55:29
上學校
奇妙學校
主站蜘蛛池模板: 97人人做人人爽香蕉精品| 精品一区国产精品| 国产在线无码av完整版在线观看| 天堂在线www网亚洲| 国产又大又粗又猛又爽的视频| 国内精品久久人妻无码大片高| 久久精品一卡日本电影| 97在线观看视频免费| 亚洲一区色| 一级毛片免费播放视频| 亚洲五月激情网| 亚洲第一成网站| 亚洲国产日韩一区| 国产在线无码一区二区三区| 亚洲无码一区在线观看| 秋霞午夜国产精品成人片| 国产亚洲欧美日韩在线一区二区三区 | 日本不卡免费高清视频| 红杏AV在线无码| 亚洲精品视频免费| 国产又粗又爽视频| 毛片久久久| 精品国产美女福到在线直播| 亚洲视频二| 精品无码一区二区三区电影| 999国产精品| 亚洲欧美自拍一区| 自拍偷拍欧美日韩| 综合久久五月天| 国产成人艳妇AA视频在线| 国产激情无码一区二区免费| 成人91在线| 亚洲AV无码乱码在线观看裸奔 | 色噜噜综合网| 亚洲人成电影在线播放| 亚洲午夜福利精品无码不卡| 亚洲中文字幕手机在线第一页| 综合色在线| 在线播放精品一区二区啪视频| 思思热在线视频精品| 波多野结衣中文字幕一区二区| 亚洲伊人电影| 免费无码AV片在线观看中文| 美女潮喷出白浆在线观看视频| 丁香五月激情图片| 国产成人综合久久精品尤物| 国产成人资源| 免费一级无码在线网站| 91破解版在线亚洲| 亚欧美国产综合| 欧美视频在线播放观看免费福利资源| 欧美亚洲国产一区| 色婷婷在线播放| 亚洲精品无码人妻无码| 无码福利日韩神码福利片| 91无码人妻精品一区二区蜜桃| 国产网站在线看| 久草国产在线观看| 99福利视频导航| 91精品人妻互换| 无码一区中文字幕| 午夜天堂视频| 97超爽成人免费视频在线播放| 亚洲精品成人7777在线观看| 国产自无码视频在线观看| 国内精品小视频在线| 蜜臀AV在线播放| 欧美成人综合在线| 五月婷婷精品| 在线观看国产精品第一区免费| 成年A级毛片| 2021国产精品自产拍在线| 直接黄91麻豆网站| 亚洲av日韩综合一区尤物| 国产打屁股免费区网站| 亚洲三级a| 国产在线自揄拍揄视频网站| 萌白酱国产一区二区| 香蕉视频在线精品| 亚洲成人免费看| jizz亚洲高清在线观看| 中文字幕调教一区二区视频|