亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        知識庫問答系統(tǒng)中實體關系抽取方法研究

        2020-06-09 07:22:42張芳容
        計算機工程與應用 2020年11期
        關鍵詞:語義

        張芳容,楊 青

        武漢理工大學 計算機科學與技術(shù)學院,武漢430063

        1 引言

        隨著信息技術(shù)的飛速發(fā)展,出現(xiàn)了以搜索引擎為代表的信息過濾機制。傳統(tǒng)的搜索引擎基于關鍵字檢索,難以理解問句的語義信息。知識庫問答(Knowledge-Based Question Answering,KBQA)系統(tǒng)以自然語言問句為輸入,對問句進行分析理解后檢索知識庫,輸出簡潔、準確的自然語言答案。知識庫(Knowledge Base,KB)是一個存儲事實類信息的結(jié)構(gòu)化系統(tǒng),典型的知識庫用三元組(主體,謂詞,對象)來存儲事實。常見的知識庫問答包括單一關系問答和多關系問答,前者指的是答案只涉及一條三元組,后者則涉及多條三元組。

        現(xiàn)有的知識庫問答方法主要分為三類:(1)基于語義分析的方法。該類方法將問句轉(zhuǎn)換為可在知識庫中進行檢索的邏輯表達式,如謂詞邏輯(λ)表達式[1]、依存組合語義(DCS)表達式[2]、λ-DCS表達式[3]等。該類方法可用于多關系問答,但是邏輯符號與自然語言之間存在語義鴻溝。(2)基于信息檢索的方法。該類方法首先從問句中抽取實體和關系,然后檢索知識庫。如Yao 等人[4]從問句中抽取主題詞,構(gòu)建問句的關系圖,與知識庫匹配;Bast等人[5]提出基于排序模型的自動問答方法;王玥等人[6]提出基于動態(tài)規(guī)劃的問答方案。該類方法可以實現(xiàn)多關系問答,但是不能借助實體的上下文信息對實體消除歧義。(3)基于深度學習的方法。該類方法將問句和知識庫映射到同一向量空間,將問答過程轉(zhuǎn)換為問句向量與知識庫向量進行相似度計算的過程[7]。如Bao等人[8]提出一種基于機器學習的類翻譯模型;Hao等人[9]利用TransE[10]模型訓練實體和關系的向量表示。該類方法只能獲得一條與問句最相似的三元組,僅適用于單一關系問答。

        在英文知識庫問答領域,多關系問答已經(jīng)取得了很好的成就,但在中文領域,大部分研究都是針對單一關系問答[11-13]。因此,本文基于NLPCC-ICCPOL 2016 年提供的知識庫,對中文開放領域知識庫問答做進一步探索。上述三種方法各有優(yōu)劣,本文擬采用深度學習、信息檢索和語義分析相結(jié)合的方法,對多關系問答進行探索。本文提出將知識庫問答分為實體識別、實體關系抽取和答案檢索三個子任務。在實體識別階段,獲取問句中的實體并將其與知識庫中的術(shù)語對應,得到實體集合。在實體關系抽取階段,抽取問句中的關系詞,將關系詞與知識庫中的謂詞對應,得到關系集合,然后將問句對應的實體集合和關系集合轉(zhuǎn)換為具有語義信息的三元組集合。在答案檢索階段,將三元組轉(zhuǎn)換為查詢語句,然后應用查詢語句在知識庫中檢索。本文重點討論實體關系抽取的實現(xiàn)方法。

        2 問題定義與知識庫問答整體流程

        2.1 問題定義

        考慮到自然語言問句理解的復雜性,本文對問句q進行了以下限定:

        (1)限定問句q 中只包含一個疑問句,如問句“姚明的妻子是誰?”。

        (2)限定問句q 中不包含代詞作為主語的成分,如問句“姚明的妻子是誰,她有多高?”。

        2.2 知識庫問答整體流程

        本文的知識庫問答系統(tǒng)包括兩大模塊,一是知識庫的整理與存儲;二是自然語言問句理解與答案檢索。前者為知識庫問答提供數(shù)據(jù)基礎,后者為問答的具體過程。整體流程如圖1所示。

        圖1 KBQA系統(tǒng)整體結(jié)構(gòu)圖

        圖1 中,知識庫的整理與存儲的目的是對知識庫進行降噪處理,然后將三元組形式的知識庫存儲在圖形數(shù)據(jù)庫Neo4j中,為答案檢索提供支持。術(shù)語集為知識庫中獨立存在的主體和對象構(gòu)成的集合;實體映射表中存儲的是術(shù)語別名與術(shù)語之間的對應關系。

        自然語言問句理解與答案檢索的目的是分析理解自然語言問句并檢索知識庫得到候選答案,主要包括以下三個步驟:

        (1)實體識別。引入BI-LSTM-CRF(Bi-direction Long Short-Term Memory Conditional Random Field,雙向長短時記憶網(wǎng)絡-條件隨機場)序列標注模型[14]對問句q進行標注,通過對標注序列進行進一步解析,產(chǎn)生實體集合TE={te1,te2,…,tek} 和非實體集合OTHER={o1,o2,…,on},tei和oi中保存了實體或非實體的字符串和位置索引。針對每個實體tei,在知識庫中找到若干術(shù)語與其鏈接,為了減少冗余,將問句與候選實體進行相似度計算,取得分最高的3個術(shù)語作為最終的候選實體集合Ei={e1,e2,…,em}( )m ≤3 。最后,實體識別步驟的輸出為問句中與知識庫術(shù)語對應的實體集合E={E1,E2,…,Ek},以及非實體集合OTHER={o1,o2,…,on}。

        (2)實體關系抽取。引入確定有窮自動機(DFA)算法,對非實體集合OTHER進行降噪處理,找到OTHER中描述關系的詞語P={p1,p2,…,pd}。針對每個詞語pi,在知識庫中找到與pi相似度最高的謂詞ri作為最終的關系,從而得到關系集合R={r1,r2,…,rc}。然后結(jié)合集合E 和R 生成實體關系三元組集合T 。

        (3)答案檢索。根據(jù)實體關系三元組集合T 中三元組之間的關系或者三元組內(nèi)部元素之間的關系,將三元組轉(zhuǎn)換為結(jié)構(gòu)化查詢語句,應用查詢語句檢索知識庫,得到候選答案。

        3 支持多關系問答的實體關系抽取

        3.1 實體關系抽取整體流程

        在實體識別步驟中,獲取了問句中的實體集合E和非實體集合OTHER。實體關系抽取指的是從集合E 和OTHER 中抽取實體之間的關系,是支持多關系問答的關鍵步驟。本文將實體關系抽取分為關系詞提取、關系映射和生成三元組三個主要步驟,具體流程如圖2所示。

        圖2 實體關系抽取流程

        3.2 關系詞提取

        為了避免與用戶意圖無關的詞語對關系詞提取造成影響,首先采用DFA 算法對OTHER 進行噪音詞過濾;然后對剩余部分進行分詞、詞性標注和去停用詞處理;最后,根據(jù)詞性特征提取關系詞。

        本文采用哈工大語言云平臺LTP[15]進行分詞和詞性標注,LTP使用的是863詞性標注集。一般而言,問句中的關系詞多為名詞和動詞,因此,本文在進行詞性標注后,保留名詞(如詞性為n,nd,nh,ni,nl,ns,nt 等)、動詞(如詞性為v)、其他詞語(如詞性為ws,i,j,a,q,d,m,z,b 等)以及疑問代詞作為候選關系詞。

        在自然語言問句中,既可以用一個詞語表達查詢意圖,也可以通過由多個詞語構(gòu)成的短語表達查詢意圖。即關系詞可能只包含一個詞語,也可能包含多個詞語。因此,本文定義了關系詞合并規(guī)則,如表1所示,將提取出來的關系詞進行合并,在合并過程中同時更新關系詞的索引,如果合并的關系詞包含疑問代詞,則將疑問代詞的索引更新為關系詞后面的索引。最終得到關系詞序列P={p1,p2,…,pd}。

        表1 關系詞合并規(guī)則

        3.3 關系映射

        上述步驟得到了一組關系詞序列P={p1,p2,…,pd}。關系詞與知識庫中的謂詞在字符串上可能不完全匹配。因此,需要將關系詞pi(pi∈P)與知識庫中的謂詞進行映射,得到最終的關系ri,對ri進行篩選,獲取關系集合R={r1,r2,…,rc},稱為“關系映射”。

        問句中的關系詞與知識庫中的謂詞通常在字符串或者語義上高度匹配。因此,關系映射中的相似度得分采用字符串相似度和語義相似度相結(jié)合的度量方式。字符串相似度采用編輯距離相似度[16]實現(xiàn),如公式(1):

        其中,x 和y 分別表示關系詞和候選謂詞字符串,t 表示x 經(jīng)過刪除、替換、增加后轉(zhuǎn)換為y 所需要的步數(shù),len(?)表示字符串的長度,max(?)表示求最大值。

        語義相似度采用歸一化后的余弦距離相似度實現(xiàn)[17],如公式(2):

        其中,x 表示關系詞的向量表示,y 表示候選謂詞的向量表示。

        最后,結(jié)合編輯距離相似度和語義相似度,度量關系詞與謂詞之間的相似度,如公式(3):

        其中,x 和y 分別表示關系詞和候選謂詞。為了防止在提取關系詞的過程中提取了與查詢意圖無關的關系詞,設置閾值δ,當相似度小于δ 時,直接將二者的相似度值設為0。最終的相似度計算公式如式(4):

        由于自然語言問句的復雜性,多個連續(xù)關系詞可能同時表達一個查詢語義。為此定義“舍棄與保留”規(guī)則。即對于關系映射得到的關系r ,如果r 與關系集合R 中的最后一個關系相等,并且在問句中二者連續(xù)出現(xiàn)時,舍棄r;否則,保留r。

        關系映射的具體過程如算法1。

        算法1 關系映射算法

        輸入:實體E={E1,E2,…,Et},關系詞P={p1,p2,…,pd}

        輸出:映射后的關系詞集合R={r1,r2,…,rc}

        1. E 在知識庫中前后|P|步范圍內(nèi)的關系集合S={s1,s2,…,sk}

        2. last=null #(pos,old,new)

        3. for each a ∈P do:#(value,index,tag)

        4. max=(‘’,0) #(value,score)

        5. for each s ∈S do: #S 為知識庫中的謂詞

        6. temp=simPre(s,a.value)#計算關系詞與謂詞的相似度

        7. if temp >max.score then:

        8. max=(s,temp)

        9. end if

        10. end for

        11. if max.score ≠0 then:

        12. if last==null then:

        13. R ←R ?{(max.value,a.pos)}

        14. else if max.value!=last.new or last.pos+len(last.old)!=a.pos

        15. then:

        16.R ←R ?{(max.value,a.pos)}

        17. end if

        18. last=(a.pos,a.value,max.value)

        19. end if

        20. end for

        21. return R

        3.4 三元組生成

        中文開放領域問答中,根據(jù)問句中包含的實體和關系的個數(shù)分為單一關系問句和多關系問句。其中,單一關系問句中包含一個實體和一個關系(SS)。多關系問句分為三種情況:包含一個實體和多個關系(SM)、包含多個實體和一個關系(MS)、包含多個實體和多個關系(MM)。結(jié)合實體集合E 和關系集合R,針對這四種類型定義生成三元組的規(guī)則,三元組中未知元素用'X'、'Y'等符號表示。

        (1)SS生成三元組

        問句中僅出現(xiàn)一個實體和一個關系,即實體集合為E={ E1} ,關系集合為R={r1} ,對于實體e(e ∈E1,根據(jù)e、r1和疑問代詞的相對位置生成三元組。若r1出現(xiàn)在e 之后,則生成三元組(e,r1,'X');否則生成三元組('X',r1,e)。

        (2)SM生成三元組

        問句中包含一個實體和多個關系,即實體集合為E={ E1} ,關系集合為R={r1,r2,…,rc} 。此時實體與候選答案之間可能存在級聯(lián)關系或者并列關系。對于實體e(e ∈E1,針對這兩種情況生成三元組集合{(e,r1,'A'),…,(e,rc,'A'+c-1)}和{(e,r1,'A'),('A',

        r2,'B'),…,('A'+c-2,rc,'A'+c-1)}。

        (3)MS生成三元組

        問句中包含一個實體和多個關系,即實體集合為E={E1,E2,…,Em} ,關系集合為R={r1} 。對E 中元素進行組合,得到集合TS,即對于U ∈TS,U 中的每個元素ei,分別來自于Ei。將U 中的每個實體e(e ∈U分別與r1組合生成三元組,得到一組三元組集合,每個三元組的形式為(e,r1,'A')。

        (4)MM生成三元組

        問句中包含多個實體和多個關系,即實體集合為E={E1,E2,…,Em} ,關系集合為R={r1,r2,…,rc} 。對E中元素進行組合,得到集合TS,對于集合U(U ∈TS),根據(jù)U 和R 的長度關系,可以分為以下三種情況:

        ① ||U =2, ||R =0,表示查詢兩個實體之間的關系,生成三元組(e1,'X',e2)。

        ② ||U =2, ||R =3,表示兩組實體關系確定一個中間實體,候選答案與中間實體的關系已知,生成三元組{(e1,r1,'M'),(e2,r2,'M'),('M',r3,'X')}。

        ③ ||U >1, ||R >1,表示查詢每個實體的|R|個關系,生成三元組集合{(e1,r1,'A'),…,(e1,rc,'X')},…,{(en,r1,'A'),…,(en,rc,'X')}。

        4 實驗結(jié)果及分析

        4.1 數(shù)據(jù)集與實驗環(huán)境

        本文使用的數(shù)據(jù)集為NLPCC-ICCPOL 2016KBQA子任務發(fā)布的知識庫和問答對(NLPCC[18])和多關系問答對(NLPCC_MH[6])。根據(jù)問答對反向查找對應的三元組,構(gòu)造知識庫問答的數(shù)據(jù)集。去掉未找到三元組的問答對,將剩余數(shù)據(jù)集劃分為訓練集、驗證集和測試集,如表2所示。

        表2 數(shù)據(jù)集劃分

        本文的實驗平臺運行在配置3.5 GHz、八核處理器、12 GB 運行內(nèi)存的筆記本上,編譯環(huán)境為PyCharm Community Edition 2018,操作系統(tǒng)為64 位的Windows 10。知識庫采用Neo4j 3.4.0進行存儲。采用Google提供的word2vec工具利用中文維基百科語料庫訓練詞向量,詞向量的維度為300,窗口大小設置為5,最小出現(xiàn)次數(shù)為5。

        4.2 關系映射閾值選擇

        在關系映射階段,公式(3)中的編輯距離相似度和語義相似度的權(quán)重均為0.5,在此基礎上選擇閾值δ 。若δ 設置過小,則引入了與查詢意圖無關的關系;設置過大,則遺漏了用戶的查詢意圖。首先,根據(jù)實際情況為δ 估計一個合理的區(qū)間[a,b],然后在區(qū)間[a,b]內(nèi)進行實驗??紤]到極端情況下,公式(3)中編輯距離相似度為0,但是語義相似度接近1,綜合相似度得分接近0.5。因此,設置區(qū)間上限b 為0.5,區(qū)間下限a 為0。將δ 在區(qū)間[0,0.5]上取值,然后進行實驗,計算訓練集、驗證集和測試集上進行關系映射的準確率。實驗結(jié)果如圖3所示。

        圖3 不同閾值下的關系映射的準確率

        由圖3 可知,當δ ∈[0.25,0.35]時,關系映射的準確率較高。因此,本文將δ 取值為0.3,δ=0.3 時,在NLPCC 測試集和NLPCC_MH 測試集上的準確率分別為91.17%和87.4%。

        4.3 問答結(jié)果及分析

        將以上結(jié)果應用于知識庫問答系統(tǒng)。在答案檢索階段,將實體關系抽取中獲得的三元組集合,根據(jù)三元組之間的關系,或者三元組內(nèi)部元素之間的關系,以及三元組中的已知元素和未知元素,生成Cypher 查詢語句。如問句“我想知道王思聰?shù)陌职钟惺裁闯删停俊苯?jīng)過上述步驟生成的部分三元組集合T={{(王思聰,父親,'A'),('A',主要成就,'B')}}。首先根據(jù)三元組中主體、謂詞和對象的個數(shù),生成的MATCH子句,其中包含3個實體和2 個關系,即“MATCH(a:entity),(b:entity),(answer:entity),(a)-[r1]->(b),(b)-[r2]->(answer)”;根據(jù)三元組中的已知元素,生成的WHERE 子句,其中包含1 個實體和2 個關系,即“WHERE a.name='王思聰'and r1.relation='父親' and r2.relation='主要成就'”;最后,返回查詢的內(nèi)容,即“RETURN answer.name;”。將查詢語句在知識庫中執(zhí)行,得到候選答案。

        問答結(jié)果的評測標準為NLPCC-ICCPOL 2016 指定的平均F1值(Averaged F1),即所有問句的F1值之和的平均值。每個問句的F1值可以通過精確率和召回率計算得到。精確率和召回率的計算公式分別如下:

        其中,A 為給定的答案集合,C 為知識庫問答系統(tǒng)檢索得到的答案集合,|A| 和|C| 分別表示集合的大小,|A ?C|表示兩個集合的交集的大小。F1 值由公式(5)和(6)計算可得,如公式(7):

        最后,平均F1值的計算公式如式(8),其中,Q 表示問句集合,|Q|為問句的總個數(shù)。

        知識庫問答系統(tǒng)在NLPCC 和NLPCC_MH 測試集上的評測結(jié)果如表3所示。

        表3 知識庫問答Averaged F1 %

        表3 中,PKU[11]是NLPCC-ICCPOL 2016 年評測結(jié)果最佳的系統(tǒng)。InsunKBQA[13]是周博通等人在相同數(shù)據(jù)集下進行探索的系統(tǒng)。DPQA[6]是王玥等人在2018年的全國知識圖譜與語義計算大會(CCKS)上使用與前者相同數(shù)據(jù)集對知識庫問答進行探索的系統(tǒng),王玥等人還構(gòu)建了多關系問答對數(shù)據(jù)集,研究了中文領域的多關系知識庫問答。

        本文的知識庫問答方案與PKU 相比,達到了與其相近的效果,但是PKU專注于單一關系問答,在多關系問答中則不具備有效性。同樣,InsunKBQA 系統(tǒng)也專注于單一關系問答,并且無法識別選擇型疑問句的關系,如“TCL 是國企還是私企呀”這一類問句,本文的方案在此有所提升。雖然DPQA可以支持多關系問答,但存在一定的局限性,該系統(tǒng)只適用于實體出現(xiàn)在所有關系之前,且候選答案與已知實體具有級聯(lián)關系的問句。而對具有并列關系的問句并不適應,如“姚明和葉莉的身高分別是多少?”這一類問句。本文提出的方案在多關系問答方面與其相比有所提升。

        5 結(jié)束語

        本文提出將知識庫問答分為實體識別、實體關系抽取和答案檢索三個主要步驟,重點討論了實體關系抽取的實現(xiàn)方法。在實體關系抽取步驟中,引入DFA 算法對非實體部分進行降噪,提出基于規(guī)則的方法從問句中提取關系詞序列,然后利用相似度得分將關系詞與知識庫中的謂詞進行映射,得到關系集合,最后將問句中的實體集合和關系集合轉(zhuǎn)換為具有語義信息的三元組集合。實驗結(jié)果表明,本文提出的方法支持多關系問答,在NLPCC 和NLPCC_MH 測試集上具有較高的平均F1值。

        本文的方法雖然解決了多關系問答,但是在實體關系抽取過程中,關系映射的準確率較低,對問答結(jié)果產(chǎn)生了影響。因此,下一步的研究重點是結(jié)合深度學習的方法構(gòu)建一個端到端的實體關系抽取模型,以提高問答的準確率,從而提升問答結(jié)果。

        猜你喜歡
        語義
        為什么字看久了就不認識了
        語言與語義
        “社會”一詞的語義流動與新陳代謝
        “上”與“下”語義的不對稱性及其認知闡釋
        “吃+NP”的語義生成機制研究
        “V+了+NP1+NP2”中V的語義指向簡談
        認知范疇模糊與語義模糊
        “V+X+算+X”構(gòu)式的語義功能及語義網(wǎng)絡——兼及與“V+X+是+X”構(gòu)式的轉(zhuǎn)換
        語言與翻譯(2014年2期)2014-07-12 15:49:25
        “熊孩子”語義新探
        語文知識(2014年2期)2014-02-28 21:59:18
        “深+N季”組配的認知語義分析
        當代修辭學(2011年6期)2011-01-29 02:49:50
        国产精品区一区二区三在线播放 | 中文无码精品a∨在线观看不卡| 成人天堂资源www在线| 91精品国产闺蜜国产在线| 精品蜜桃av免费观看| 亚洲国产婷婷六月丁香| 国产精品va无码一区二区| 2021国内精品久久久久精免费| 成人av在线免费播放| 亚洲天堂一区av在线| 国产成人一区二区三区影院动漫 | 久久99精品九九九久久婷婷| 99精品久久这里只有精品| 一本一道久久a久久精品综合蜜桃 成年女人18毛片毛片免费 | 美国少妇性xxxx另类| 色视频www在线播放国产人成 | 九九九影院| 国产精品老女人亚洲av无| 亚洲中文字幕日产无码| 国产精品无码久久久久| 久久精品无码一区二区三区不| 少妇裸淫交视频免费看| 精品一区三区视频在线观看| 亚洲av国产精品色午夜洪2| a级福利毛片| 全程国语对白资源在线观看| 无码一区二区三区| 亚洲国产人在线播放首页| 在线a人片免费观看高清| 东京热加勒比久久精品| 国产男女无遮挡猛进猛出| 久久精品无码一区二区三区蜜费| 蜜桃一区二区三区在线视频 | 午夜免费观看一区二区三区| 日产精品久久久一区二区| 国产精品一区二区三区三| 蜜桃噜噜一区二区三区| 国产精品毛片无遮挡| 亚洲精品成人网久久久久久| av网址不卡免费在线观看| 精品日韩一级免费视频|