• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于本體的領(lǐng)域自動問答系統(tǒng)研究

      2019-08-14 10:02:24朱淑媛
      計算機應(yīng)用與軟件 2019年8期
      關(guān)鍵詞:知識庫實例語句

      朱淑媛 羅 軍

      (重慶大學(xué)計算機學(xué)院 重慶 400044)

      0 引 言

      隨著信息時代技術(shù)的發(fā)展,人們越來越習(xí)慣在互聯(lián)網(wǎng)上獲取各種各樣的信息。傳統(tǒng)的搜索引擎,用戶只能基于關(guān)鍵詞進行檢索,這并不能充分表達用戶的搜索意圖;對不熟悉專業(yè)領(lǐng)域的業(yè)余人員在詢問他們感興趣的領(lǐng)域問題時,往往也很難精準(zhǔn)描述領(lǐng)域?qū)I(yè)術(shù)語導(dǎo)致關(guān)鍵詞匹配失敗?;陉P(guān)鍵詞匹配檢索返回的候選結(jié)果也難做到問題和答案的相關(guān)度吻合。用戶要從大量的候選結(jié)果中定位目標(biāo)結(jié)果,這種方式的準(zhǔn)確率和召回率往往很低,用戶體驗較差。因此,自動問答系統(tǒng)應(yīng)運而生。自動問答系統(tǒng)(Automatic Question and Answering System),簡稱問答系統(tǒng)(QA),是指接受用戶以自然語言形式描述的提問,并從大量的異構(gòu)數(shù)據(jù)中查找出能回答該提問的準(zhǔn)確、簡潔答案,并非相關(guān)文檔的信息檢索系統(tǒng)[1]。

      目前,研究問答系統(tǒng)的文獻有很多。已被廣泛使用的問答系統(tǒng)大部分基于FAQ(常見問題及答案庫),采用基于字符串匹配的方法[2-4],這種方法一般不考慮語義因素。針對語義的問答系統(tǒng)(SQA)[5-7],運用自然語言處理技術(shù)(NLP),借助信息檢索(IR)從網(wǎng)絡(luò)中檢索答案成為了研究熱點?;谡Z義的問答彌補了關(guān)鍵詞匹配不到的不足,通過運用關(guān)鍵詞的語義相識度模型(如wordnet等)進行語義相識度查詢擴展,大大提高了問答回答的召回率,使得用戶可以從掌握他們想要查詢領(lǐng)域的特定詞匯的需求中解放出來。

      不幸的是,隨著開發(fā)數(shù)據(jù)鏈接(linked open data)的發(fā)展,互聯(lián)網(wǎng)散落了大量異構(gòu)的知識元數(shù)據(jù)沒有得到高效的組織管理,鏈接的數(shù)據(jù)云已經(jīng)從Web上構(gòu)建了數(shù)十億個事實。如此龐大的數(shù)據(jù)量使要訪問給定的所需信息變得復(fù)雜,導(dǎo)致SQA問答的研究受知識庫表達的限制。本體是一種能在語義和知識層次上描述知識信息的概念模型,通過概念和關(guān)系的抽取,把互聯(lián)網(wǎng)文本內(nèi)容組織成為結(jié)構(gòu)化的以實體為基本語義單元的圖結(jié)構(gòu),圖上的邊表示實體之間語義關(guān)系[8]。近年來,本體在概念的抽取、表示、融合、推理、問答等關(guān)鍵問題上得到了一定的解決和突破。通過構(gòu)建領(lǐng)域本體知識庫來管理互聯(lián)網(wǎng)上的語義元元素,不僅保證了查詢的語義關(guān)聯(lián),同時利用本體的一致性原則對領(lǐng)域知識做明確規(guī)范,可以避免Web知識庫中大量冗余的原始數(shù)據(jù),優(yōu)化查詢的時間消耗。因此我們可以通過研究自然語言問題到本體知識庫的映射,實現(xiàn)面向結(jié)構(gòu)化網(wǎng)絡(luò)的問答系統(tǒng)。但由于自然語言問題文法結(jié)構(gòu)的復(fù)雜性,要完成問題在知識本體上的查詢、匹配、推理等操作還面臨很多挑戰(zhàn)。需要解決的有兩個核心問題。第一個是如何理解問題語義,并用計算機可以接受的形式進行表示。問題詞匯和概念之間存在“詞匯鴻溝”,一個概念可有多個描述詞,例如,hypertension和高血壓有著相同的語義,同一語義的問題也存在多種提問句式。這些都給問題的理解帶來困難。第二個是如何在理解問題的基礎(chǔ)上把問題轉(zhuǎn)化為結(jié)構(gòu)化的查詢語句SWRL、SPARQL等。目前主流的基于深度學(xué)習(xí)的QA系統(tǒng)可以把傳統(tǒng)的問句語義解析、文本檢索、答案抽取與生成的復(fù)雜步驟轉(zhuǎn)變?yōu)橐粋€可學(xué)習(xí)的過程[9-10]。這種學(xué)習(xí)生成的方式雖然取得了一定的效果,但由于方法依賴大量的訓(xùn)練語料,且多是針對語義層次單一的問題設(shè)計的,對于復(fù)雜問題的回答能力尚且不足。目前,針對語義層次復(fù)雜的問題,另外一種主流方法是通過語義分析,運用范疇語法(Category CompositionalGrammar,CCG)以及依存組合語法(Dependency-based Compositional Semantics,DCS)等將用戶的自然語言問句轉(zhuǎn)化成結(jié)構(gòu)化的語義表示[11-12]。針對中文的漢語框架網(wǎng)(Chinese FrameNet,CFN)[13]就是山西大學(xué)運用根據(jù)漢語語法規(guī)則在Fillmore的框架語義學(xué)理論基礎(chǔ)上參照加州大學(xué)伯克利的FrameNet構(gòu)建的漢語詞匯語義框架知識庫。該框架由框架元素、詞元和句子三部分組成??蚣茉赜脕順?biāo)識語義角色;詞元記錄框架涉及的相關(guān)詞語;句子記錄用框架標(biāo)注好語義信息的句子。受李茹等[14]用CFN來解析旅游領(lǐng)域問題語義結(jié)構(gòu)的啟發(fā),本文在此基礎(chǔ)上進行改進,結(jié)合CFN漢語框架網(wǎng),給出從領(lǐng)域知識本體直接生成能理解問題語義的QFN問題框架本體的映射算法用來解析問題語義。

      由于近幾年人工智能及精準(zhǔn)醫(yī)療、智慧醫(yī)療的提出,醫(yī)學(xué)知識本體應(yīng)用正受到國內(nèi)外企業(yè)、學(xué)界的廣泛關(guān)注,目前的醫(yī)學(xué)知識本體庫有:醫(yī)學(xué)概念知識庫LinkBase、TAMBIS本體庫(TaO)等。人工構(gòu)建的醫(yī)學(xué)知識庫本體如包括臨床醫(yī)學(xué)知識庫、SNOMED-CT、ICD-10以及用CHV和SNOMED-CT兩個醫(yī)學(xué)詞典自動構(gòu)建醫(yī)學(xué)知識庫的典型例子一體化醫(yī)學(xué)語言系統(tǒng)UMLS也得到了不錯的實驗結(jié)果[15]。利用這些醫(yī)學(xué)知識本體進行自動問答,有望帶來更廉價、高效、精準(zhǔn)的醫(yī)療建議和診斷。因此,本研究將以醫(yī)療領(lǐng)域作為實例,通過重構(gòu)已有的醫(yī)學(xué)知識本體,分析基于醫(yī)療領(lǐng)域的本體自動問答系統(tǒng)來論證方法的有效性。

      1 問題-本體映射

      問題到本體映射的最終目的是通過重構(gòu)原始問題來理解問題的語義。由于本體知識庫的知識組織是由基本元素(包括類、實例、對象屬性、數(shù)據(jù)屬性)組成,而自然語言描述體系的語法結(jié)構(gòu)是由詞進行表達的。因此,問題到本體的映射需要各種各樣的自然語言處理技術(shù)。本文采用的映射過程大致可分為命名實體標(biāo)注和QFN語義解析兩部分。圖1是問題映射到本體的命名實體標(biāo)注過程。對輸入的自然語言問題首先通過分詞,詞性識別,關(guān)鍵詞抽取等NLP技術(shù)獲得一系列的詞(Word)。然后對詞的語義屬性添加實體(Entity)標(biāo)注信息,如開放域?qū)傩匀嗣?、地名、?shù)字、日期,領(lǐng)域?qū)傩约膊∶?、藥品名、治療方式等,以及利用本體的語義結(jié)構(gòu)擴展的同義詞,等價詞,父子概念等標(biāo)注信息。接下來再對重構(gòu)問題進行問題在語義層次的理解。

      圖1 問句命名實體標(biāo)注過程

      1.1 命名實體的標(biāo)注

      用命名實體的識別通常運用詞林的規(guī)則匹配,如英文詞林WordNet,中文的哈工大同義詞詞林等。但詞林詞典的結(jié)構(gòu)往往龐大且缺乏針對特定領(lǐng)域的專業(yè)術(shù)語詞匯[16],在限定領(lǐng)域內(nèi)進行實體識別顯然是不合適的。本文在進行命名實體識別的過程中在傳統(tǒng)基于詞林的實體識別上引入本體自身天然的對領(lǐng)域內(nèi)相關(guān)概念和概念之間關(guān)系具有描述特性,在醫(yī)學(xué)本體中,加入如圖2所示的實體匹配詞典。

      圖2 醫(yī)學(xué)本體內(nèi)實體匹配詞典

      實體匹配詞典從領(lǐng)域本體中挖掘所有的概念(實體)作為最小語義單位,生成概念庫。每個概念對應(yīng)一個描述該概念的術(shù)語集合。例如,高血壓是領(lǐng)域本體里一個概念,它可以用術(shù)語集合高血壓、high blood pressure和hypertension表示。

      考慮術(shù)語集合中的元素通常由一個詞或多個詞組成,單個詞就是自然的索引詞,而術(shù)語中的一些知識成分,如大部分屬性的術(shù)語集合通常是一個比較完整的自然語言片段。本文通過在問題的自然語言描述詞、領(lǐng)域本體的術(shù)語集合、術(shù)語對應(yīng)的概念之間建立索引,構(gòu)建如圖3所示的問題到實體映射的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),用于標(biāo)注問題中領(lǐng)域命名實體。

      圖3 實體映射的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)

      算法1具體描述了從自然語言問句中標(biāo)注領(lǐng)域命名實體的方法。

      算法1問句標(biāo)注領(lǐng)域命名實體的方法

      輸入:醫(yī)學(xué)本體,自然語言問題。

      輸出:已標(biāo)注領(lǐng)域命名實體的問題。

      1) 借助Jena解析醫(yī)學(xué)本體。

      (1) 提取類概念,屬性概念,實例概念加入到領(lǐng)域本體圖2中的“概念”類。

      (2) 將“概念”類中的每個概念的實例的同義詞,等價詞生成領(lǐng)域本體圖2中的“術(shù)語”類。

      (3) 添加屬性關(guān)系<有對應(yīng)術(shù)語>連接概念類和術(shù)語類中的實例。

      2) 對術(shù)語類下的每個實例:根據(jù)命名規(guī)則,采用中科院的分詞工具(ICTCLAS)分詞生成索引圖(3)所示的索引詞Indexword。

      3) 同2)中規(guī)則,將自然語言問句分詞生成一系列詞序列Q(Q-word1,Q-word2,…,Q-wordn)。通過索引詞在Question→Index word→Term table→Concept table流動。將問句的關(guān)鍵詞標(biāo)注為本體知識庫中醫(yī)學(xué)領(lǐng)域命名實體。

      1.2 CFN語義解析

      CFN語義網(wǎng)絡(luò)解析問題框架結(jié)構(gòu)[14]的思路是對一個問題,獲取RDF三元組,即提取問題的語義謂詞以及對應(yīng)的主體和客體。例如文獻[14]提到的用“[到達/Arriving框架]”來解析例句“駕車從太原到五臺山怎樣走最近?”,給出如圖4所示的到達框架結(jié)構(gòu)。根據(jù)CFN標(biāo)注結(jié)果為:“怎樣走最近?:[到達/Arriving框架]”。其中“[到達/Arriving框架]”的框架元素——出發(fā)點、目的地、傳送模式,可以分別用太原、五臺山、駕車填充。最后根據(jù)文中提出的問題模版,生成查詢語句,回答問題,證明了其解決QA問題的有效性。但是這種方式的不足體現(xiàn)在:一方面,從領(lǐng)域本體映射到對應(yīng)的框架元素的知識結(jié)構(gòu),需要做語義相似性的匹配,查詢問題還要進一步設(shè)定問題的匹配模版;另一方面,現(xiàn)有的CFN框架在限定領(lǐng)域內(nèi)往往不具備準(zhǔn)確性和完備性,針對限定領(lǐng)域需要人工制定相應(yīng)的框架,且現(xiàn)存的CFN框架是不能根據(jù)領(lǐng)域本體知識內(nèi)容的改變進行動態(tài)更新的,直接用CFN解析問題,可能會因為其中框架元素在領(lǐng)域本體中匹配不到對應(yīng)的實體,造成問句問點的轉(zhuǎn)移甚至錯誤解讀。

      架名到達定義指轉(zhuǎn)移體朝目的地方向的移動。目的地可直接表達出來,或從上下文中得到理解,動詞本身隱含目標(biāo)之義核心框架元素:目的地[Goal]目的地表現(xiàn)的是轉(zhuǎn)移體運動終止之地,或行將終止之地轉(zhuǎn)移體[Thm]轉(zhuǎn)移體指移動的物體非核心框架元素:并行轉(zhuǎn)移體[Thm_c]并行轉(zhuǎn)移體指除轉(zhuǎn)移體以外的其他移動的物體形容[Dep]形容指用來描寫轉(zhuǎn)移體到達的狀態(tài)目的地狀態(tài)[G_c]轉(zhuǎn)移體到達目的地時目的地所呈現(xiàn)出的狀態(tài)修飾[Manr]表現(xiàn)修飾的話語用于對動作特性的描述,用來描述運動的速度、姿態(tài)以及其他情況方法[Mns]用于表現(xiàn)轉(zhuǎn)移體到達的方式傳送模式[MoT]傳送模式指作用于主體的運動模式,通過傳送主體的主體身體或交通工具而實現(xiàn)軌道[Path]軌道指運動的軌道,既非源點,也非目的地源點[Src]源點即明確表達運動的出發(fā)點,該框架中出現(xiàn)表達源點的用語是可能的,但出現(xiàn)的頻率卻相對不高時間[Time]該框架元素表現(xiàn)到達這一動作出現(xiàn)的時間詞元到達v,來到v,進入v,抵達v,返回v,走到v,走進v,趕到v,回來v,歸來v,到v,回到v

      圖4 CFN中“到達”框架結(jié)構(gòu)

      1.3 問題框架網(wǎng)(QFN)語義解析

      本文提出的QFN是在傳統(tǒng)的CFN上,把領(lǐng)域本體的語義結(jié)構(gòu)提取出來,構(gòu)建的一個帶有語義關(guān)聯(lián)的問題框架網(wǎng),這個框架網(wǎng)絡(luò)又是利用本體來管理和維護的。圖5是根據(jù)CFN框架網(wǎng)絡(luò)和本體元素的語義關(guān)聯(lián)構(gòu)建的一個QFN本體模型。

      圖5 問題框架本體結(jié)構(gòu)

      框架名類定義的查詢問題的框架,詞元類是和該框架相關(guān)的字、詞表達,用來作為特征識別問題對應(yīng)的框架。Slot類是CFN中‘框架元素’的等價類,Value類是CFN中‘詞元’的等價類。Type類存放實例、屬性、類三個實例,關(guān)聯(lián)領(lǐng)域本體知識庫對應(yīng)元素即Value值所屬的類別。句子庫類描述從領(lǐng)域本體知識庫中抽取的與框架相關(guān)的RDF三元組關(guān)系。QFN本體的映射可以用圖6描述。

      圖6 領(lǐng)域本體到框架元素的映射算法

      圖6左邊是傳統(tǒng)CFN框架網(wǎng)絡(luò)的結(jié)構(gòu),右邊是領(lǐng)域本體的結(jié)構(gòu)。從領(lǐng)域本體到傳統(tǒng)CFN框架的映射算法具體描述如算法2。通過該映射算法,可以根據(jù)領(lǐng)域知識庫自動生成該領(lǐng)域下的QFN框架結(jié)構(gòu)用于問題結(jié)構(gòu)的解析。當(dāng)領(lǐng)域本體信息更新的同時,系統(tǒng)可以自動檢測并更新QFN框架。

      算法2領(lǐng)域本體到框架元素的映射算法

      輸入:領(lǐng)域本體,傳統(tǒng)CFN框架結(jié)構(gòu)。

      輸出:圖6所示的框架名和Slot槽之間的關(guān)聯(lián)關(guān)系。

      算法步驟:

      Begin

      1:For each Individual框架名屬于Class框架名do

      2:根據(jù)框架名的實例在領(lǐng)域本體中映射到對應(yīng)的知識類元素。完成Individual框架名到本體類元素的映射,得到映射類C1~Ck

      3:For類Ci在領(lǐng)域本體中已存在的屬性P1~Pk do

      4:識別屬性pj關(guān)聯(lián)的主體Sij和客體Oij。作為實例加入到Slot類。

      5:在框架名和Slot槽之間添加對應(yīng)的has slot關(guān)聯(lián):

      has slot

      has slot

      6:將領(lǐng)域本體Sij類和Oij類的下的所有Individual添加到Value類。

      7:For Ik in Sij添加對應(yīng)的has Value關(guān)聯(lián)

      has value

      8:end for

      9:For Ik in Sij添加對應(yīng)的has Value關(guān)聯(lián)

      has value

      10:end For

      11:end For

      12:在句子庫中加入模式()

      13:end For

      End

      表1以“診斷”框架為例,描述了從領(lǐng)域知識本體中自動生成的QFN框架的框架內(nèi)容的過程。

      表1 診斷的QFN框架本體的框架結(jié)構(gòu)

      如問句“繼發(fā)性高血壓/去/醫(yī)院/要做/哪些/檢查/?”經(jīng)過命名實體識別可以得到(繼發(fā)性高血壓,疾病類,實例)/(醫(yī)院類,類)/(實驗室檢查,物理檢查,病癥檢查,類)。根據(jù)QFN進行標(biāo)注,計算框架語義相似得到如下結(jié)果:

      dis_top1:診斷框架

      涉及相關(guān)RDF句子庫topk:<[solt=疾病value=繼發(fā)性高血壓 type=實例],[患病實驗室檢查 type=屬性],[slot=實驗室檢查 value=null type=實例]>

      <[solt=疾病 value=繼發(fā)性高血壓 type=實例],[患病病癥檢查 type=屬性],[slot=病癥檢查 value=null type=實例]>

      <[solt=疾病 value=繼發(fā)性高血壓 type=實例],[患病物理檢查 type=屬性],[slot=物理檢查 value=null type=實例]>

      ……

      2 生成SPARQL查詢語句

      SPARQL是為RDF數(shù)據(jù)模型定義的查詢語言和數(shù)據(jù)獲取協(xié)議[17]。對產(chǎn)生單一關(guān)系的問句,基于QFN框架,在解析出的RDF三元組上,只要分析出這個問句中所有已知和未知的成分信息,構(gòu)建簡單SPARQL查詢語句,并且這些信息能夠在領(lǐng)域本體知識庫中做出相應(yīng)的解釋,那么就可以認(rèn)為這個領(lǐng)域問句被理解了。

      對包含多個關(guān)系的復(fù)雜問句,本文分解RDF查詢語義圖,分別構(gòu)建SPARQL查詢語句。這里分為兩種情況:(1) 并列關(guān)系:提取關(guān)系之間是并列的關(guān)系,即屬性節(jié)點位于查詢語義圖同一層次。此時,分別輸出各關(guān)系的查詢語句。(2) 嵌套關(guān)系:關(guān)系與關(guān)系分別處于查詢語義圖的不同層次。此時,從低層次到高層次根據(jù)屬性的層次關(guān)系,依次組裝SPARQL查詢語句。

      對于一個復(fù)雜的SPARQL查詢Q(G,S,F(xiàn)):本文給出如下定義:

      Q(G,S,F(xiàn))表示一組簡單SPARQL查詢的集合。其中G={G1,G2,…,Gn}是基礎(chǔ)RDF三元組生成的語義查詢圖。S={S1,S2,…,Sn}是一組SELECT或者ASK頭集合。F={f1,f2,…,fn}是一組過濾表達式。輸入一個復(fù)雜查詢Q,此時,從圖G的葉子結(jié)點開始遍歷,遇到非NULL的節(jié)點,用filter表達式把節(jié)點的值作SPARQL查詢的限制條件;遇到NULL節(jié)點,加入SELECT頭作為SPARQL查詢的查詢返回信息。通過在語義查詢圖上對路徑上所有節(jié)點的遍歷,我們可以構(gòu)造一個等價的SPARQL查詢語句。

      算法3給出由查詢語義圖生成SPARQL語句的程序流程。

      算法3查詢語義圖生成SPARQL語句

      輸入:<[solt=* value=* type=*],[relation type=*],[slot=* value=* type=*]>

      輸出:對應(yīng)RDF結(jié)構(gòu)的SPARQL查詢語句。

      拼裝SPARQL語句

      1) 組合Select語句

      queryStry="Select";

      for(遍歷所有未知信息實例節(jié)點){

      queryStr.append(?variable)

      }

      2) 組合查詢條件語句

      queryStr.append("Where{"};

      for(遍歷QFN解析出的該問題的RDF屬性節(jié)點Relation){

      queryStr.append(?Domain)

      queryStr.append(Relation)

      queryStr.append(?Ranage)

      }

      3) Filter過濾語句

      queryStr.append("filter(");

      for(遍歷所有實例變量){

      queryStr.append(?Domain=′value′)

      queryStr.append(?Ranage=′value′)

      }

      queryStr.append(")}")

      表2分別列舉了陳述型和布爾型問題自動生成SPATQL語句的流程。

      表2 醫(yī)療問題分析-例子

      3 實驗結(jié)果與分析

      為驗證本文提出系統(tǒng)的可行性,根據(jù)上述設(shè)計方案,采用Eclipse+Protégé+Jena實現(xiàn)了一個基于醫(yī)療領(lǐng)域本體的自動問答實驗系統(tǒng)。系統(tǒng)主要模塊包括問題預(yù)處理、命名實體識別、QFN解析、SPARQL語句生成以及答案抽取。系統(tǒng)架構(gòu)如圖7所示。

      圖7 基于本體的自動問答系統(tǒng)架構(gòu)

      實驗領(lǐng)域本體抽取SNOMED-CT[18]醫(yī)學(xué)本體的部分信息,運用斯坦福大學(xué)提出的本體構(gòu)建七步法[19],從領(lǐng)域本體的概念出發(fā),在MeSH醫(yī)學(xué)主題詞表首先抽取醫(yī)學(xué)領(lǐng)域中以疾病、個體、藥品、醫(yī)院四個概念的層次概念和實例,并確定領(lǐng)域本體中概念間的等級關(guān)系。再根據(jù)醫(yī)學(xué)中的關(guān)鍵要素從個體屬性、疾病屬性、藥品屬性、醫(yī)院屬性四個核心屬性抽取關(guān)于疾病、醫(yī)院、藥品、個體之間的醫(yī)學(xué)聯(lián)系,添加概念與概念的關(guān)系。在已經(jīng)重構(gòu)好的本體結(jié)構(gòu)上,再從A醫(yī)藥網(wǎng)用Scrapy框架與正則表達式結(jié)合爬取相關(guān)概念的實例豐富本體知識庫。重構(gòu)的醫(yī)學(xué)本體核心結(jié)構(gòu)如圖8所示。

      圖8 醫(yī)學(xué)領(lǐng)域本體部分結(jié)構(gòu)

      測試問題數(shù)據(jù)來自A+醫(yī)藥網(wǎng)中篩選的400個涵蓋不同類別的問題。對比圖9從本系統(tǒng)得到的問題回答效果和圖10從百度知道問答中檢索出的答案可以看出:本系統(tǒng)是從理解問題語義的角度給出的針對問題問點的相對準(zhǔn)確的答案。

      圖9 本系統(tǒng)給出的問題答案

      圖10 百度知道檢索結(jié)果

      為了定量分析系統(tǒng)的效果,實驗用召回率、準(zhǔn)確率和F值三個指標(biāo)進行系統(tǒng)性能的分析。性能指標(biāo)定義如下:

      P=(Pnum×100% )/Rnum

      (1)

      R=(Pnum×100% )/Anum

      (2)

      F=2×P×R/(P+R)

      (3)

      式中:P表示準(zhǔn)確率,R表示召回率,Pnum是給出回答的問題中準(zhǔn)確回答的問題數(shù),Rnum是測試問題中給出答案的問題數(shù),Anum是用來測試的問題數(shù)。

      實驗一問題語義解析的情況分析。表3是用QFN對醫(yī)學(xué)領(lǐng)域4個主要類別的問題解析情況的結(jié)果。

      實驗二問題回答結(jié)果的準(zhǔn)確率分析。和實驗一采用相同的數(shù)據(jù),為了避免QFN解析問題結(jié)構(gòu)失敗導(dǎo)致實驗結(jié)果的偏差,實驗二在實驗一的基礎(chǔ)上,用已經(jīng)解析出QFN框架結(jié)構(gòu)的問題,分析問題回答的準(zhǔn)確性。實驗結(jié)果如表4所示。

      表4 問題集測試結(jié)果

      從實驗數(shù)據(jù)分析,對問題集中的所有問題,sparql語句的生成率達到了90.07%,說明該方法能夠準(zhǔn)確識別問題中的命名實體,并生成相關(guān)SPARQL語句。但平均F值和開放領(lǐng)域TREC[20]的結(jié)果相比沒有很大的提升。進一步分析實驗中找不到答案和錯誤回答的問題,影響實驗一QFN識別的原因主要是實驗系統(tǒng)構(gòu)建的領(lǐng)域本體知識的缺失,在進一步的實驗中已驗證通過豐富本體知識可以提高系統(tǒng)的可用性。實驗二中對QFN正確解析的問題生成sparql查詢語句的平均準(zhǔn)確率達到90%以上,說明通過QFN解析問題產(chǎn)生的RDF三元組是可以高效地把問題轉(zhuǎn)化成SPARQL語句的。但答案回答的R值較低,原因是系統(tǒng)尚未加入推理機制,導(dǎo)致召回率低。利用本體自身的語義推理特性,系統(tǒng)引入兩層推理機制。第一層在框架識別層根據(jù)識別的框架語義推理多個符合問題的結(jié)構(gòu),生成多條SPARQL查詢,提高系統(tǒng)的召回率。第二層推理在SPARQL查詢執(zhí)行失敗時,利用領(lǐng)域知識本體查找規(guī)則庫中的規(guī)則,執(zhí)行推理查詢。如:問題問點是詢問高血壓病情時,通過以下規(guī)則可以推測高血壓的病情。

      [rule:(?x medical:患有medical:高血壓)(?x medical:收縮壓血壓值?y), lessThan(?y,159), greaterThan(?y,140)->(?x medical:所患疾病等級 medical:1級高血壓)]

      這條規(guī)則表達了x是患有高血壓病的病人。y是收縮壓血壓值,且y的值被判斷在140~159之間,可以推斷出x是屬于1級高血壓的病人。

      實驗進一步用100個醫(yī)療領(lǐng)域問題,啟動推理機制,分8個批次,每次擴充100個與實驗問題相關(guān)的實例到領(lǐng)域知識本體后,系統(tǒng)F值的變化趨勢如圖6所示。

      圖11橫坐標(biāo)表示加入新的領(lǐng)域本體知識的數(shù)量,縱坐標(biāo)是回答的F值??梢钥闯?,開啟推理機制后,系統(tǒng)初始F值從75.27%提升到80.6%。同時沒隨著新加入本體知識數(shù)量的增加,F(xiàn)值呈現(xiàn)上升趨勢??梢?,系統(tǒng)能夠隨著領(lǐng)域本體知識庫知識的豐富不斷提升回答的效果。

      圖11 引入推理機制的系統(tǒng)F值隨本體知識擴充后變化趨勢

      4 結(jié) 語

      大多數(shù)傳統(tǒng)的基于Web的QA系統(tǒng)是通過在Web知識庫下檢索識別到的命名實體和相似度的度量來呈現(xiàn)候選答案。本文利用本體在知識管理上帶有語義的特性,將問題的命名實體和本體語義結(jié)構(gòu)聯(lián)系起來,通過QFN問題框架網(wǎng)解析問題語義結(jié)構(gòu),抽取RDF三元組自動生成SPAQRQL語句從領(lǐng)域本體中之間查詢、推理出問題的一系列更具有語義針對性的答案?;诒倔w的自動問答系統(tǒng)在加入本體和推理之后,能夠發(fā)掘檢索詞與其相關(guān)領(lǐng)域的顯示和隱式聯(lián)系,使檢索具有語義性,答案抽取更加全面且準(zhǔn)確,輕松解決了傳統(tǒng)搜索引擎無法解決的問題。此外,通過QFN問題框架本體自動更新機制,實現(xiàn)了問題框架的增量式更新。確保了系統(tǒng)的性能在使用中可以不斷提高,優(yōu)化用戶體驗。實驗表明,本文的所有研究對實際應(yīng)用具有一定的意義,但是仍然有很多需要改進和完善的地方:

      1) 基于領(lǐng)域本體庫進行概念擴展階段,擴展的深度在一定程度上會導(dǎo)致問題的意圖的偏移。如何控制擴展的深度是今后研究的方向。

      2) 自然語言問題的復(fù)雜結(jié)構(gòu),如問題“吃阿莫西林一直肚子疼是怎么回事?”(藥品的副作用)這類很難抽取RDF三元組的問題,系統(tǒng)還需引入語料學(xué)習(xí)的機制,提升回答的準(zhǔn)確性。

      猜你喜歡
      知識庫實例語句
      重點:語句銜接
      基于TRIZ與知識庫的創(chuàng)新模型構(gòu)建及在注塑機設(shè)計中的應(yīng)用
      精彩語句
      高速公路信息系統(tǒng)維護知識庫的建立和應(yīng)用
      基于Drupal發(fā)布學(xué)者知識庫關(guān)聯(lián)數(shù)據(jù)的研究
      圖書館研究(2015年5期)2015-12-07 04:05:48
      完形填空Ⅱ
      完形填空Ⅰ
      如何搞定語句銜接題
      語文知識(2014年4期)2014-02-28 21:59:52
      位置與方向測試題
      作文語句實錄
      乌拉特中旗| 尉犁县| 宁武县| 新龙县| 辽阳县| 仁布县| 漳浦县| 修水县| 贵阳市| 抚宁县| 汨罗市| 太白县| 延吉市| 台山市| 习水县| 鲁山县| 伊宁县| 双城市| 石林| 宿松县| 宜良县| 梨树县| 易门县| 青神县| 来安县| 大关县| 大宁县| 玉林市| 阿鲁科尔沁旗| 徐水县| 马鞍山市| 华池县| 新野县| 申扎县| 南昌县| 眉山市| 阜南县| 资兴市| 宜川县| 砚山县| 吉安市|