国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種融合醫(yī)療知識(shí)圖譜的端到端對(duì)話系統(tǒng)

2022-01-13 05:35穆天楊李寶安游新冬呂學(xué)強(qiáng)
關(guān)鍵詞:圖譜實(shí)體模型

穆天楊,李寶安,游新冬,呂學(xué)強(qiáng)

(1.北京信息科技大學(xué) 網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點(diǎn)實(shí)驗(yàn)室,北京 100101;2.北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院,北京 100101)

0 引言

隨著社會(huì)的發(fā)展,人機(jī)交互技術(shù)在各個(gè)領(lǐng)域得到了不同程度的應(yīng)用,人機(jī)對(duì)話因?yàn)槠渥陨淼木薮鬂摿σ约吧虡I(yè)價(jià)值而備受關(guān)注,相關(guān)技術(shù)發(fā)展迅速。一方面我們可以很容易地獲取到網(wǎng)絡(luò)中的結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù),另一方面隨著深度學(xué)習(xí)的迅猛發(fā)展,可以運(yùn)用獲取到的數(shù)據(jù)進(jìn)行深度學(xué)習(xí)模型的訓(xùn)練從而構(gòu)建人機(jī)對(duì)話系統(tǒng)。其中專(zhuān)業(yè)領(lǐng)域的對(duì)話系統(tǒng)尤為重要,是一個(gè)很有應(yīng)用前景的研究方向,值得相關(guān)研究人員進(jìn)行深入的挖掘和探索。

知識(shí)圖譜作為一種新型的結(jié)構(gòu)化數(shù)據(jù),其基礎(chǔ)的數(shù)據(jù)形式是(實(shí)體,關(guān)系,實(shí)體)的三元組,常用的圖數(shù)據(jù)庫(kù)有Neo4j、FlockDB等。圖數(shù)據(jù)庫(kù)在大規(guī)模數(shù)據(jù)的處理上擁有著更快的查詢(xún)速度。除此之外,圖數(shù)據(jù)庫(kù)只關(guān)注節(jié)點(diǎn)和邊以及二者的屬性信息,而結(jié)構(gòu)化數(shù)據(jù)庫(kù)還需要定義不同表之間的關(guān)聯(lián)。知識(shí)圖譜作為一個(gè)新型的常識(shí)庫(kù),在對(duì)話系統(tǒng)的構(gòu)建和應(yīng)用中有著很好的指導(dǎo)作用。

對(duì)話系統(tǒng)按照應(yīng)用方向不同可以分為兩個(gè)大類(lèi),一類(lèi)是通用型的對(duì)話系統(tǒng),一類(lèi)是專(zhuān)業(yè)領(lǐng)域的對(duì)話系統(tǒng)。通用型對(duì)話系統(tǒng)更傾向于與用戶(hù)進(jìn)行閑聊,而專(zhuān)業(yè)領(lǐng)域的對(duì)話系統(tǒng)能夠回復(fù)該領(lǐng)域的一些有針對(duì)性的問(wèn)題。相對(duì)來(lái)說(shuō)專(zhuān)業(yè)領(lǐng)域的對(duì)話系統(tǒng)更有研究?jī)r(jià)值。對(duì)話系統(tǒng)的構(gòu)建方式可以分為Pipeline(管道方法)和end-to-end對(duì)話系統(tǒng)兩種。Yan 等[1]使用高斯混合模型進(jìn)行建模,提出了語(yǔ)義增強(qiáng)的大邊際高斯混合損失算法來(lái)訓(xùn)練模型的編碼器,然后使用局部離群因子(local outlier factor,LOF)算法來(lái)進(jìn)行域外檢測(cè),進(jìn)而構(gòu)建對(duì)話系統(tǒng)。這也是普遍的Pipeline對(duì)話系統(tǒng)設(shè)計(jì)思路。然而Pipeline方法構(gòu)建的對(duì)話系統(tǒng)雖然在許多特定的領(lǐng)域有很好的效果,但是他們的規(guī)則都僅僅適用于這一特定領(lǐng)域,很難遷移到其他的領(lǐng)域。隨著端到端神經(jīng)生成模型的發(fā)展,任務(wù)型的對(duì)話系統(tǒng)得到了長(zhǎng)足的發(fā)展。Wen等[2]對(duì)端到端對(duì)話模型進(jìn)行研究,將對(duì)話建模成了一個(gè)Seq2Seq的映射問(wèn)題,即建立了問(wèn)題到答案的映射關(guān)系模型,并且該方法以當(dāng)前對(duì)話中的歷史數(shù)據(jù)以及大規(guī)模的對(duì)話語(yǔ)料庫(kù)作為支撐。Li 等[3]也是以文檔為支撐,基于Transformer構(gòu)造對(duì)話系統(tǒng)。Eric 等[4]提出了將copy機(jī)制納入到神經(jīng)網(wǎng)絡(luò)架構(gòu)中的方法,從而提升了Seq2Seq任務(wù)的性能。康海燕等[5]用貝葉斯方法與疑問(wèn)詞相結(jié)合,將問(wèn)題轉(zhuǎn)換成查詢(xún)語(yǔ)句,并加入了新詞識(shí)別功能。Huang 等[6]提出了一種將知識(shí)圖譜融合進(jìn)模型的增強(qiáng)摘要生成框架,并將強(qiáng)化學(xué)習(xí)應(yīng)用到模型中。

目前對(duì)于如何將知識(shí)圖譜信息應(yīng)用到對(duì)話系統(tǒng)中的研究依舊處于一個(gè)起步的階段。各種添加圖譜信息的方法還不夠成熟,如何利用好外部知識(shí)庫(kù)的信息仍然是一個(gè)研究熱點(diǎn),有著較大的發(fā)展空間。本文將知識(shí)圖譜中的結(jié)構(gòu)化信息應(yīng)用到對(duì)話系統(tǒng)中,提出了融合醫(yī)療知識(shí)圖譜的端到端對(duì)話系統(tǒng)。

1 模型與方法

本文所提方法的整體流程如圖1所示。使用基于變換器的雙向編碼表示(bidirectional encoder representations from transformers,BERT)+ 雙向門(mén)控循環(huán)單元(bidirectional gated recurrent unit,BiGRU)+條件隨機(jī)場(chǎng)(conditional random fields, CRF)的方法進(jìn)行關(guān)鍵詞的識(shí)別,并將識(shí)別到的關(guān)鍵詞與實(shí)體庫(kù)進(jìn)行匹配找到對(duì)應(yīng)的信息后作為GPT2模型輸入向量的常識(shí)信息,從而影響端到端生成模型的輸出,最終得到相應(yīng)的回復(fù)。

圖1 本文方法整體流程

1.1 關(guān)鍵詞提取模塊

此模塊的作用是提取當(dāng)前話輪信息中的關(guān)鍵詞,從知識(shí)圖譜的常識(shí)庫(kù)中搜索到相關(guān)的知識(shí)信息。模塊使用BERT+BiGRU+CRF模型結(jié)構(gòu)對(duì)整個(gè)話輪信息進(jìn)行序列標(biāo)注,從而識(shí)別出當(dāng)前問(wèn)句中的關(guān)鍵詞,然后根據(jù)預(yù)先建立好的同義詞詞表,優(yōu)先使用完全匹配的方法,若完全匹配無(wú)法找到對(duì)應(yīng)的實(shí)體,則利用bm25經(jīng)典檢索算法查找出知識(shí)圖譜常識(shí)庫(kù)中的對(duì)應(yīng)實(shí)體、實(shí)體的相關(guān)屬性以及實(shí)體與其他實(shí)體的關(guān)系。三元組BERT模型的輸入分別是字向量、句向量和位置向量3類(lèi),在輸入的開(kāi)頭和結(jié)尾分別使用[CLS]與[SEP]標(biāo)簽進(jìn)行標(biāo)記。在本文方法中,將關(guān)鍵詞提取任務(wù)轉(zhuǎn)換成字的二分類(lèi),即給輸入模型的信息打上0、1標(biāo)簽,標(biāo)識(shí)為1的即為關(guān)鍵詞。相比于雙向長(zhǎng)短時(shí)記憶(bidirectional long short term memory,BiLSTM)網(wǎng)絡(luò)結(jié)構(gòu),BiGRU更容易收斂,因此在設(shè)計(jì)模型時(shí)選擇了BiGRU的模型結(jié)構(gòu)。與此同時(shí),因?yàn)樵谶M(jìn)行關(guān)鍵詞提取的過(guò)程中并沒(méi)有進(jìn)行分詞操作,所以也就避免了因?yàn)榉衷~不當(dāng)對(duì)關(guān)鍵詞提取任務(wù)造成的干擾,從而提高關(guān)鍵詞提取的準(zhǔn)確率。

為了更好地識(shí)別出當(dāng)前問(wèn)句中的關(guān)鍵詞信息,首先根據(jù)人工建立的檢驗(yàn)指標(biāo)、癥狀和疾病同義詞表進(jìn)行匹配,如果沒(méi)有匹配到相應(yīng)的內(nèi)容則使用bm25檢索算法在構(gòu)建好的檢索模型中找到最相近的知識(shí)圖譜實(shí)體數(shù)據(jù)。bm25算法源于二值獨(dú)立模型,但是二值獨(dú)立模型僅僅考慮到了文本中的詞項(xiàng)出現(xiàn)與否,沒(méi)有考慮單詞的權(quán)重。bm25算法對(duì)其進(jìn)行了改進(jìn),使用詞頻、逆文檔頻率以及字段長(zhǎng)度歸一化信息進(jìn)行相似度的匹配。其計(jì)算方式如式(1)所示。

(1)

其中

(2)

式中:ri為包含單詞i的相關(guān)文檔數(shù)量;R為總的相關(guān)文檔數(shù)量;N為文檔的總數(shù);tftq為單詞在文檔中出現(xiàn)的頻率;k1、k2和b均為經(jīng)驗(yàn)參數(shù)。在實(shí)驗(yàn)中將b的數(shù)值設(shè)定為0.75。在本文的應(yīng)用中,將每一組實(shí)體名及其對(duì)應(yīng)的同義詞均視為一個(gè)文檔來(lái)進(jìn)行bm25搜索模型的構(gòu)建。

本模塊中知識(shí)圖譜的存儲(chǔ)使用Neo4j數(shù)據(jù)庫(kù),實(shí)體作為圖數(shù)據(jù)庫(kù)的節(jié)點(diǎn),實(shí)體之間的關(guān)系作為圖數(shù)據(jù)庫(kù)的邊,實(shí)體的基本信息作為節(jié)點(diǎn)的屬性進(jìn)行存儲(chǔ)。在調(diào)用時(shí)使用py2neo進(jìn)行數(shù)據(jù)庫(kù)的增、刪、改、查操作。在得到完全匹配的結(jié)果或者是bm25的搜索模型輸出后,根據(jù)搜索結(jié)果在數(shù)據(jù)庫(kù)中查找到實(shí)體對(duì)應(yīng)的信息,拼接到輸入向量之前作為end-to-end 模型的輸入。為了應(yīng)對(duì)輸入數(shù)據(jù)過(guò)長(zhǎng)的問(wèn)題,當(dāng)信息傳遞到end-to-end模型中后,首先將搜索到的知識(shí)圖譜相關(guān)信息中字符數(shù)超過(guò)30的屬性信息進(jìn)行截取,只將前30個(gè)字符的知識(shí)信息應(yīng)用到end-to-end模型的輸入中去。然后將拼接后過(guò)長(zhǎng)的輸入進(jìn)行截取,取前500個(gè)字符。這樣就可以滿足BERT模型對(duì)輸入的要求。

1.2 end-to-end 模型

本模塊使用GPT2作為對(duì)話生成的預(yù)訓(xùn)練模型,并對(duì)其進(jìn)行微調(diào)。GPT模型的結(jié)構(gòu)如圖2所示。GPT使用了Transformer的編碼層,但是在模型中精簡(jiǎn)了模型結(jié)構(gòu),去掉了編碼層的第二個(gè)自注意結(jié)構(gòu)。而GPT2是GPT模型的發(fā)展和延伸,在設(shè)計(jì)上主要有幾個(gè)方面的創(chuàng)新:一是將Layer norm(層歸一化)放到了每個(gè)子塊前;二是殘差層的參數(shù)初始化可以根據(jù)定義的網(wǎng)絡(luò)深度進(jìn)行自我調(diào)節(jié);三是擴(kuò)大了字典和輸入序列的大小長(zhǎng)度,以及訓(xùn)練測(cè)試的batchsize(批大小)。

圖2 GPT2模型結(jié)構(gòu)

在本文提出方法的應(yīng)用中,end-to-end 模型的整體結(jié)構(gòu)以GPT2為主,微調(diào)工作的輸入與關(guān)鍵詞提取模塊類(lèi)似,但是在前面加上了從知識(shí)庫(kù)中搜索到的相關(guān)信息,模塊輸入分別是字向量、位置向量和句向量。為了將知識(shí)圖譜的信息添加進(jìn)端到端的對(duì)話模型,我們將獲取到的知識(shí)圖譜信息經(jīng)過(guò)篩選后添加到GPT2模型的輸入中,作為備選的知識(shí)信息,以便生成更完善的回復(fù)信息。

2 實(shí)驗(yàn)

2.1 實(shí)驗(yàn)數(shù)據(jù)以及評(píng)測(cè)指標(biāo)

本文選用的數(shù)據(jù)是MIE[7]醫(yī)療對(duì)話數(shù)據(jù)集,對(duì)其數(shù)據(jù)進(jìn)行了部分?jǐn)U充,在表1中展示了部分對(duì)話數(shù)據(jù)樣例。其中話輪信息中一欄是對(duì)話的話輪信息,標(biāo)簽一欄中“-”前后對(duì)應(yīng)的分別是實(shí)體和關(guān)系,若一句話中有多組實(shí)體和關(guān)系,則以逗號(hào)為分隔符。本文應(yīng)用的知識(shí)庫(kù)信息來(lái)自于39健康網(wǎng)(http://ask.39.net/question)、快速問(wèn)醫(yī)生(http://so.120ask.com)等醫(yī)療網(wǎng)站。表2中的數(shù)據(jù)是已有知識(shí)庫(kù)中的檢驗(yàn)指標(biāo)、疾病、癥狀以及三者間關(guān)系的數(shù)量統(tǒng)計(jì)。圖3是對(duì)知識(shí)圖譜三元組的可視化展示。

表1 對(duì)話數(shù)據(jù)樣例

表2 圖譜信息統(tǒng)計(jì)

圖3 圖譜展示

為了驗(yàn)證本文提出方法的準(zhǔn)確性,使用貪婪匹配(greedy matching,以下簡(jiǎn)稱(chēng)為G)和BLEU(以下簡(jiǎn)稱(chēng)為B)兩個(gè)評(píng)價(jià)指標(biāo)作為驗(yàn)證標(biāo)準(zhǔn)。

(3)

(4)

2.2 實(shí)驗(yàn)環(huán)境

由于實(shí)驗(yàn)環(huán)境以及參數(shù)設(shè)置對(duì)深度學(xué)習(xí)模型的效果具有很大的影響,本文列出了部分實(shí)驗(yàn)環(huán)境以及模型參數(shù)設(shè)置情況。

模型采用的是深度學(xué)習(xí)中的pytorch框架。訓(xùn)練環(huán)境參數(shù)如表3所示。

表3 訓(xùn)練環(huán)境參數(shù)

在訓(xùn)練模型的過(guò)程中通過(guò)調(diào)整預(yù)訓(xùn)練模型的參數(shù)對(duì)整體的模型進(jìn)行微調(diào),最終效果最好的模型參數(shù)如表4所示。

表4 模型參數(shù)

2.3 實(shí)驗(yàn)設(shè)計(jì)

表5中列出了本文提出方法生成的部分回復(fù)信息。為了更嚴(yán)格地驗(yàn)證模型效果,設(shè)計(jì)了一組對(duì)照實(shí)驗(yàn),并使用B1、B2以及G三個(gè)評(píng)價(jià)指標(biāo)來(lái)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)定。實(shí)驗(yàn)5的方案為本文的模型結(jié)構(gòu)。

表5 對(duì)話生成數(shù)據(jù)樣例

實(shí)驗(yàn)1:直接使用GPT2模型進(jìn)行訓(xùn)練和測(cè)試。

實(shí)驗(yàn)2:使用詞表匹配的方式提取關(guān)鍵詞后搜索知識(shí)圖譜信息,作為GPT2模型的額外輸入。

實(shí)驗(yàn)3:使用BERT+BiGRU+CRF的模型結(jié)構(gòu)提取關(guān)鍵詞,并用bm25算法與圖譜中實(shí)體匹配后搜索知識(shí)圖譜信息,作為GPT2模型的輸入。

實(shí)驗(yàn)4:首先使用詞表匹配的方式,如果沒(méi)有匹配到相關(guān)的信息,再使用BERT + BiGRU + CRF的模型結(jié)構(gòu)提取關(guān)鍵詞用bm25算法與圖譜中實(shí)體進(jìn)行匹配后搜索知識(shí)圖譜信息,作為GPT2模型的額外輸入。

實(shí)驗(yàn)5:具體模型結(jié)構(gòu)與實(shí)驗(yàn)4相同,但是在訓(xùn)練時(shí)打亂了訓(xùn)練數(shù)據(jù)。

按照設(shè)計(jì)好的實(shí)驗(yàn)方案進(jìn)行測(cè)試,具體的實(shí)驗(yàn)結(jié)果如表6所示。

表6 實(shí)驗(yàn)結(jié)果

2.4 實(shí)驗(yàn)分析

由實(shí)驗(yàn)1可以看出,GPT2生成模型對(duì)應(yīng)的B1、B2和G值極低,因此不加額外知識(shí)庫(kù)信息的對(duì)話生成模型不足以滿足醫(yī)療領(lǐng)域?qū)I(yè)型對(duì)話系統(tǒng)的要求。實(shí)驗(yàn)2和實(shí)驗(yàn)3的實(shí)驗(yàn)結(jié)果相差不大,但是相比于實(shí)驗(yàn)1的方法B1、B2值和G均有了較大的提升,說(shuō)明在添加了知識(shí)圖譜的常識(shí)信息后,詞表匹配以及深度學(xué)習(xí)模型進(jìn)行特征提取均能將有效的常識(shí)信息添加到模型的輸入中。對(duì)比實(shí)驗(yàn)2、3與實(shí)驗(yàn)4,在混合了兩種常識(shí)搜索方式后,B1的值分別提升了0.118和0.163,B2的值分別提升了0.091和0.067,G也有了0.02以上的提高,證明了混合搜索方式的有效性。只用詞表搜索不能在全部的測(cè)試語(yǔ)料中匹配到相應(yīng)的實(shí)體信息,這時(shí)就需要在沒(méi)有匹配到對(duì)應(yīng)實(shí)體時(shí)調(diào)用深度學(xué)習(xí)模型來(lái)進(jìn)行關(guān)鍵詞的匹配以及有效常識(shí)信息的搜索。實(shí)驗(yàn)5將訓(xùn)練集中的數(shù)據(jù)進(jìn)行打亂,對(duì)比于實(shí)驗(yàn)4,B1、B2的值和G分別有了0.015、0.012和0.017的提升,這說(shuō)明訓(xùn)練數(shù)據(jù)的不均衡分布對(duì)實(shí)驗(yàn)效果有著影響,在打亂了數(shù)據(jù)后能有效提高端到端生成對(duì)話模型的效果。

表5中列出的對(duì)話數(shù)據(jù)樣例,說(shuō)明本文提出的對(duì)話生成方法能回復(fù)醫(yī)療專(zhuān)業(yè)領(lǐng)域的患者問(wèn)題,證明了本文提出的融合知識(shí)圖譜的端到端對(duì)話構(gòu)建方法的有效性。

綜上所述,本文提出的方法將醫(yī)療知識(shí)圖譜中的常識(shí)信息融合進(jìn)端到端對(duì)話系統(tǒng)中去,能夠有效提高對(duì)話系統(tǒng)的效果。

3 結(jié)束語(yǔ)

本文提出了一種融合知識(shí)圖譜的端到端對(duì)話系統(tǒng),使用GPT2模型結(jié)構(gòu)的同時(shí),添加了知識(shí)圖譜的常識(shí)性信息,從而完成多輪對(duì)話。實(shí)驗(yàn)結(jié)果表明本文提出的方法具有較好的效果,可以滿足醫(yī)療領(lǐng)域?qū)I(yè)型對(duì)話系統(tǒng)的要求。但模型生成的部分回復(fù)存在語(yǔ)句不連貫的問(wèn)題,接下來(lái)的研究方向就是怎樣使回復(fù)語(yǔ)句更連貫,以及更符合用戶(hù)的口語(yǔ)習(xí)慣。

猜你喜歡
圖譜實(shí)體模型
基于圖對(duì)比注意力網(wǎng)絡(luò)的知識(shí)圖譜補(bǔ)全
適用于BDS-3 PPP的隨機(jī)模型
自制空間站模型
實(shí)體書(shū)店步入復(fù)興期?
圖表
2017實(shí)體經(jīng)濟(jì)領(lǐng)軍者
模型小覽(二)
兩會(huì)進(jìn)行時(shí):緊扣實(shí)體經(jīng)濟(jì)“釘釘子”
振興實(shí)體經(jīng)濟(jì)地方如何“釘釘子”
主動(dòng)對(duì)接你思維的知識(shí)圖譜
镇赉县| 泽州县| 社旗县| 黔西县| 隆昌县| 萍乡市| 罗城| 香河县| 鲁甸县| 松溪县| 天台县| 常宁市| 昌都县| 镶黄旗| 连平县| 中宁县| 漾濞| 湖口县| 长治县| 宿迁市| 许昌市| 柳州市| 云南省| 象州县| 江门市| 开封市| 克山县| 汽车| 陇南市| 合川市| 永泰县| 安泽县| 康定县| 呼伦贝尔市| 海伦市| 精河县| 常德市| 酒泉市| 萨嘎县| 应用必备| 奉节县|