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

?

基于注意力和字嵌入的中文醫(yī)療問答匹配方法

2019-08-27 02:26陳志豪余翔劉子辰邱大偉顧本剛
計(jì)算機(jī)應(yīng)用 2019年6期
關(guān)鍵詞:注意力機(jī)制自然語言處理卷積神經(jīng)網(wǎng)絡(luò)

陳志豪 余翔 劉子辰 邱大偉 顧本剛

摘 要:針對當(dāng)前的分詞工具在中文醫(yī)療領(lǐng)域無法有效切分出所有醫(yī)學(xué)術(shù)語,且特征工程需消耗大量人力成本的問題,提出了一種基于注意力機(jī)制和字嵌入的多尺度卷積神經(jīng)網(wǎng)絡(luò)建模方法。該方法使用字嵌入結(jié)合多尺度卷積神經(jīng)網(wǎng)絡(luò)用以提取問題句子和答案句子不同尺度的上下文信息,并引入注意力機(jī)制來強(qiáng)調(diào)問題和答案句子之間的相互影響,該方法能有效學(xué)習(xí)問題句子和正確答案句子之間的語義關(guān)系。由于中文醫(yī)療領(lǐng)域問答匹配任務(wù)沒有標(biāo)準(zhǔn)的評測數(shù)據(jù)集,因此使用公開可用的中文醫(yī)療問答數(shù)據(jù)集(cMedQA)進(jìn)行評測,實(shí)驗(yàn)結(jié)果表明該方法優(yōu)于詞匹配、字匹配和雙向長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(BiLSTM)建模方法,并且Top-1準(zhǔn)確率為65.43%。

關(guān)鍵詞:自然語言處理;問答對匹配;卷積神經(jīng)網(wǎng)絡(luò);字嵌入;注意力機(jī)制

中圖分類號: TP183人工神經(jīng)網(wǎng)絡(luò)與計(jì)算

文獻(xiàn)標(biāo)志碼:A

Abstract: Aiming at the problems that the current word segmentation tool can not effectively distinguish all medical terms in Chinese medical field, and feature engineering has high labor cost, a multi-scale Convolutional Neural Network (CNN) modeling method based on attention mechanism and character embedding was proposed. In the proposed method, character embedding was combined with multi-scale CNN to extract context information at different scales of question and answer sentences, and attention mechanism was introduced to emphasize the interaction between question sentences and answer sentences, meanwhile the semantic relationship between the question sentence and the correct answer sentence was able to be effectively learned. Since the question and answer matching task in Chinese medical field does not have a standard evaluation dataset, the proposed method was evaluated using the publicly available Chinese Medical Question and Answer dataset (cMedQA). The experimental results show that the proposed method is superior to word matching, character matching and Bi-directional Long Short-Term Memory network (BiLSTM) modeling method, and the Top-1 accuracy is 65.43 %.

Key words: natural language processing; question answer matching; Convolutional Neural Network (CNN); character embedding; attention mechanism

0 引言

隨著互聯(lián)網(wǎng)的快速發(fā)展,愈來愈多的人傾向于在健康醫(yī)療網(wǎng)站上提問來尋求健康幫助,例如中國的尋醫(yī)問藥網(wǎng)、39健康網(wǎng)和丁香園等。此類網(wǎng)站為患者和醫(yī)生提供了一個(gè)在線交流的平臺,便于用戶隨時(shí)隨地獲取高質(zhì)量的醫(yī)療健康推薦?;颊咧恍杳枋銎渥陨淼陌Y狀并發(fā)布問題,就能得到指定的醫(yī)生或任意醫(yī)生的回復(fù)和建議。然而,大多數(shù)情況下,許多用戶提出的問題都相似,這一方面給醫(yī)生專家?guī)砹司薮蟮幕貜?fù)負(fù)擔(dān),另一方面延長了患者等待回復(fù)的時(shí)間。因此,為了提高用戶體驗(yàn),有必要設(shè)計(jì)一種方法來有效地處理醫(yī)療問答匹配的問題,即從已有的醫(yī)療答復(fù)記錄中自動(dòng)選擇與用戶問題匹配最佳的答復(fù)推薦給用戶。

本文重點(diǎn)關(guān)注的是中文醫(yī)療問答匹配和答案選擇的問題,其中所考慮的問答語言均限于中文。相比于Feng等[1]和Tan等[2]在英語語言環(huán)境下的開放領(lǐng)域問答匹配的研究,本文所討論的問題更具挑戰(zhàn)性,原因有兩點(diǎn):1)領(lǐng)域受限性質(zhì);2)中文語言具有一些特殊的特征。

進(jìn)一步的討論如下:

首先,由于漢語是以字為基本的書寫單位,詞語之間沒有明顯的區(qū)分標(biāo)記,因此分詞是大多數(shù)中文自然語言處理(Natural Language Processing, NLP)任務(wù)中不可或缺的數(shù)據(jù)預(yù)處理步驟,如詞性標(biāo)注(Part-of-Speech tagging, POS)和語義分析。由此可見,分詞的準(zhǔn)確與否大大影響了下游任務(wù)的準(zhǔn)確性。盡管已有的分詞工具(如:ICTCLAS、jieba和HanLP)的性能已經(jīng)達(dá)到了滿足大多數(shù)實(shí)際應(yīng)用的水平,但它們一旦發(fā)生偏差,將通過管道不可避免的影響整個(gè)系統(tǒng)框架,導(dǎo)致整體性能下降[3]。此外,當(dāng)直接應(yīng)用于醫(yī)學(xué)文本時(shí),包含的各種醫(yī)學(xué)術(shù)語會導(dǎo)致這些通用分詞工具的性能進(jìn)一步下降。例如,藥物名稱“活血止痛片”和“維生素C黃連上清片”被jieba分詞工具錯(cuò)誤的劃分為了“活血 止痛 片”和“維生素 C 黃連 上 清 片”。盡管引入特定領(lǐng)域的詞典可以減輕專業(yè)術(shù)語對分詞的負(fù)面影響,但構(gòu)建此類詞典似乎總是令人望而卻步,因?yàn)樗婕按罅康氖止趧?dòng)并需要大量特定領(lǐng)域的專業(yè)知識。更糟糕的是,在處理在線社區(qū)發(fā)布的未經(jīng)編輯的問題和答案時(shí),預(yù)定義的詞典往往不合適。因?yàn)樗鼈兺ǔJ且苑钦降谋磉_(dá)形式編寫的,往往包含許多簡寫詞和非標(biāo)準(zhǔn)的縮略詞,甚至是錯(cuò)誤的拼寫和不合適的語法結(jié)構(gòu)的句子。例如,問句“嘴騎魔拖車摔腫了怎么消下去現(xiàn)在還疼不能吃飯感覺越來越大也不能喝水”將“摩托車”誤寫成了“魔拖車”,另外全句沒有任何標(biāo)點(diǎn)符號,邏輯表達(dá)混亂。雖然,通用分詞工具都能夠加載定制的領(lǐng)域詞典,但是定制詞典需要耗費(fèi)大量的人工時(shí)間,且定制的詞典也不可能覆蓋所有的領(lǐng)域詞。

為了避免上述問題,提出采用字嵌入的端到端的神經(jīng)網(wǎng)絡(luò)框架。該框架采用的是字級的表示,即用字嵌入方式替代傳統(tǒng)的詞嵌入方式。此種方式既可以避免數(shù)據(jù)預(yù)處理時(shí)的分詞步驟,也可以避免由分詞錯(cuò)誤引起的其他組件的性能下降。問題和答案的表示向量分別使用中文字進(jìn)行預(yù)訓(xùn)練得到,并且類似于詞嵌入,將每個(gè)字描述為固定長度的向量。

由于在中文語言中字所含的語義信息比詞語的語義信息少,若采用統(tǒng)計(jì)方法則可能需要使用語言模型或詞性標(biāo)注等方式來抽取相關(guān)的語義信息。然而,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)強(qiáng)調(diào)N-Gram內(nèi)的本地交互,能夠自動(dòng)捕獲字和詞語的局部語義信息,無需其他方法輔助,因此本文引入CNN來構(gòu)建模型。又因?yàn)橹形脑~語或短語通常由2至5個(gè)字構(gòu)成,所以采用多尺度卷積神經(jīng)網(wǎng)絡(luò)(Multi-scale CNNs, MultiCNNs)來提取不同尺度的上下文信息,由此可以更好地編碼問題和答案。因此,本文提到的MultiCNNs模型由一組不同尺度的卷積核組成。

大多數(shù)之前的工作都是將問題和答案兩個(gè)句子分別表示,很少考慮一個(gè)句子對另一個(gè)句子的影響。這忽略了兩個(gè)句子在同一任務(wù)背景下的相互影響,也與人類在比較兩個(gè)句子時(shí)的行為相矛盾。人們通常從另一個(gè)句子中提取與身份、同義詞、反義詞和其他關(guān)系相關(guān)的部分來找到一句話中的關(guān)鍵部分。受Yin等[4]提出的基于注意力(Attention)機(jī)制對句子對聯(lián)合建模的方法的啟發(fā),本文引入Attention機(jī)制將問題和答案兩個(gè)句子一起建模,用一個(gè)句子的內(nèi)容來指導(dǎo)另一個(gè)句子的表示。因此,本文提出了基于注意力和字嵌入的卷積神經(jīng)網(wǎng)絡(luò)(CNNs based on Attention Mechanism and character embedding, AMCNNs)框架。

答案推薦是問答系統(tǒng)的目標(biāo)。對于每個(gè)問題描述,答案候選池都包含100個(gè)候選答案,其中有一個(gè)或多個(gè)相關(guān)答案和多個(gè)不相關(guān)答案。問答匹配任務(wù)的目標(biāo)就是從候選答案中找出精確度分?jǐn)?shù)最高(Top-1)的一個(gè)答案,并將其推薦給用戶。

1 國內(nèi)外研究現(xiàn)狀

本節(jié)簡要介紹了與本文工作相關(guān)的兩大類相關(guān)研究。首先,本文回顧以前關(guān)于傳統(tǒng)問答的研究。接下來將概述深度學(xué)習(xí)應(yīng)用于問答對匹配任務(wù)的情況。

1.1 傳統(tǒng)問答方法

Jain等[5]提出了基于規(guī)則的醫(yī)學(xué)領(lǐng)域問答系統(tǒng)架構(gòu),并詳細(xì)討論了基于規(guī)則的問題處理和答案檢索的復(fù)雜性。然而,由于用戶問題總是以大量不同的方式呈現(xiàn),因此基于規(guī)則的方法可能無法涵蓋所有表達(dá)方式。

Wang等[6]提出了另一種方法,首先將句子劃分成單詞以訓(xùn)練每個(gè)句子的詞向量,然后通過計(jì)算每個(gè)單詞之間的相似性來評估每個(gè)問答對的相似性。而Abacha等 [7]則是將問題翻譯成機(jī)器可讀的表示形式。 因此,該方法能夠?qū)⒏鞣N自然語言表達(dá)問題轉(zhuǎn)換為標(biāo)準(zhǔn)的表示形式。 后來,Abacha等 [8]通過在表示和查詢層應(yīng)用語義技術(shù)來擴(kuò)展他們以前的工作,以便創(chuàng)建結(jié)構(gòu)化查詢以匹配知識庫中的條目。這些方法取決于手工設(shè)計(jì)的模式和特征,需要巨大的人力和專業(yè)知識。

現(xiàn)有研究提出了一些關(guān)于中文問答的模型。 Li等[9]構(gòu)建了一個(gè)用于音樂領(lǐng)域的語義匹配模型,能夠自動(dòng)將問題翻譯成SPARQL查詢語句來獲得最終答案。Yin等[10]針對在線健康專家問答服務(wù)效率低下的問題,開發(fā)了用于對相似的問題和答案進(jìn)行分組的分層聚類方法和用于檢索相關(guān)答案的擴(kuò)展相似性評估算法,用于從已有的專家答案中進(jìn)一步提取出答案。然而,這些方法都將分詞作為中文文本處理的必要步驟,雖然在一般領(lǐng)域中分詞工具能達(dá)到研究者們的期望,但它們并未考慮誤差所帶來的影響。 Wang等[11] 提出了一種集成基于計(jì)數(shù)和基于嵌入的特征的方法;他們還在研究中指出,基于字的模型優(yōu)于基于詞的模型,從中得到啟示:處理漢字可以避免分詞錯(cuò)誤帶來的不利影響。

1.2 深度學(xué)習(xí)在問答匹配任務(wù)中的應(yīng)用

近年來,由于深度學(xué)習(xí)技術(shù)無需任何語言工具、特征工程或其他資源,因此,愈來愈多的自然語言處理(NLP)任務(wù)都采用了該技術(shù)。

Feng等[1]設(shè)計(jì)了6個(gè)深度學(xué)習(xí)模型,并在保險(xiǎn)領(lǐng)域進(jìn)行了問答匹配的實(shí)驗(yàn),該實(shí)驗(yàn)結(jié)果為其他問答匹配任務(wù)研究者提供了有價(jià)值的指導(dǎo)(例如,卷積層后不需要全連接層)。Hu等[12]提出了兩種不同的卷積模型來學(xué)習(xí)句子的表示,這是使用神經(jīng)網(wǎng)絡(luò)解決一般句子匹配問題的先驅(qū)工作。之后,F(xiàn)eng等[1]和Zhou等[13]采用CNNs來學(xué)習(xí)問答對的表示,進(jìn)一步用于計(jì)算不同問題與候選答案之間的相似性。后來,為了從句子中提取序列信息,Tan等[2,14]利用遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)及其變體長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory network, LSTM)來學(xué)習(xí)句子級表示;值得注意的是,他們還利用注意力機(jī)制來增強(qiáng)問題和答案之間的語義關(guān)聯(lián)。Yin等[4]設(shè)計(jì)了3種基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)(Attention-Based CNN, ABCNN)來建模問答對,并分別在答案選擇(Answer Selection, AS)、釋義識別(Paraphrase Identification, PI)和文本蘊(yùn)含(Textual Entailment, TE)3個(gè)任務(wù)上進(jìn)行了模型驗(yàn)證。Zhang等[15]提出端到端的字嵌入多尺度卷積神經(jīng)網(wǎng)絡(luò)模型,用于醫(yī)療領(lǐng)域的問答匹配任務(wù)。

但是,上述所有研究都與英文文本相關(guān)。當(dāng)直接用于處理中文文檔時(shí),所提出方法的性能會出現(xiàn)相當(dāng)大的下降,是由于中文與英文的結(jié)構(gòu)有很大不同。

2 AMCNNs

本文將詳細(xì)介紹用于中文醫(yī)療問答對匹配的多尺度卷積神經(jīng)網(wǎng)絡(luò)模型,其基于注意力機(jī)制和字嵌入。首先,本文討論編碼中文醫(yī)療文本的正確嵌入方式;其次,詳細(xì)描述字嵌入多尺度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)和本文提出的基于注意力機(jī)制的字嵌入多尺度神經(jīng)網(wǎng)絡(luò)架構(gòu)。

2.1 字符的分布式表示

在許多自然語言處理任務(wù)中,一個(gè)基本的步驟就是將文本序列轉(zhuǎn)換成機(jī)器可讀的特征,該特征通常是固定長度的向量。

近年來,基于嵌入的方式在文本特征提取中得到了廣泛應(yīng)用,證明了它在語義表示上的效用。而用得最多的一種嵌入方式就是詞嵌入(word-embedding)方式,也即分布式詞表示。Bengio等[16]提出了一個(gè)神經(jīng)網(wǎng)絡(luò)語言模型(Neural Network Language Model, NNLM),它將神經(jīng)網(wǎng)絡(luò)與自然語言處理相結(jié)合以訓(xùn)練詞嵌入。之后,Mikolov等[17]受NNLM的啟發(fā)提出了一個(gè)非常高效的語言模型:Word2Vec。而且,近年來Word2Vec受到越來越多的關(guān)注并成功應(yīng)用于許多NLP任務(wù),例如句子匹配[18]、文檔分類[19]和知識圖譜抽取[20]。

2.2 多尺度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)

目前,卷積神經(jīng)網(wǎng)絡(luò)因其能夠捕獲本地上下文信息的能力而在許多NLP任務(wù)中得到了應(yīng)用。該網(wǎng)絡(luò)不依賴于其他如詞性標(biāo)注或解析樹之類的外部信息。通常,一個(gè)卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)由兩部分組成:卷積和池化。卷積步驟利用固定大小的滑動(dòng)窗口提取本地上下文特征,而池化步驟選擇從前一層提取的特征的最大值或平均值以降低輸出維度,但保留了最突出的信息。然而,單尺度卷積神經(jīng)網(wǎng)絡(luò)(Single-scale CNN, SingleCNN)架構(gòu)只有一個(gè)固定卷積窗口的特征映射,也即它能捕獲的信息很少。考慮到漢語短語的表達(dá)結(jié)構(gòu),SingleCNN架構(gòu)可能不足以提取字信息。而多尺度的卷積神經(jīng)網(wǎng)絡(luò)(MultiCNNs)架構(gòu)的工作方式與SingleCNN架構(gòu)的工作方式相似,唯一不同之處在于采用了多個(gè)不同尺度的特征映射來提取信息。該架構(gòu)如圖3所示,問題和答案句子分別由固定長度的字符嵌入序列表示:[c1,c2,…,cl]。字向量的維度由dc表示,且向量中的每個(gè)元素都是實(shí)數(shù),則cl∈Rdc。每個(gè)句子需要?dú)w一化為一個(gè)固定長度的序列,即若句子長度小于某個(gè)閾值就添加0補(bǔ)齊,相反若大于某個(gè)閾值就裁剪掉多余部分。經(jīng)過字嵌入層后,每個(gè)問題和答案分別由矩陣Qe∈Rl×dc和Ae∈Rl×dc表示。

假設(shè)存在一個(gè)卷積核尺寸集合S={s1,s2,…,st},其中第i個(gè)卷積神經(jīng)網(wǎng)絡(luò)卷積核的尺寸表示為si。當(dāng)給定序列Z=[z1,z2,…,zl-si+1],其中zi=[c1,c2,…,ci+si-1]表示句子中連續(xù)si個(gè)字向量拼接的結(jié)果,也即每個(gè)特征映射提取出的信息。因此,可以定義卷積運(yùn)算的計(jì)算式如下:

2.3 基于注意力機(jī)制的多尺度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)

基于注意力機(jī)制的多尺度卷積神經(jīng)網(wǎng)絡(luò)(AMCNNs)架構(gòu)的工作方式與MultiCNNs相似,唯一不同之處在于兩個(gè)句子經(jīng)過嵌入層后會分別與注意力特征矩陣A相乘,得到一個(gè)注意力特征映射矩陣,并與經(jīng)過嵌入層后得到的矩陣一起作為卷積層的輸入。該架構(gòu)如圖5所示。由于考慮到兩個(gè)句子在同一任務(wù)背景下的相互影響,因此用一個(gè)句子的內(nèi)容來指導(dǎo)另一個(gè)句子的表示。

AMCNNs利用一個(gè)注意力特征矩陣A來影響卷積運(yùn)算。注意力特征旨在對卷積中與問題(或答案)單位相關(guān)的答案(或問題)單位賦予更高的權(quán)重。如圖5所示,矩陣A是通過左側(cè)的字嵌入表示單元和右側(cè)的字嵌入表示單元相匹配產(chǎn)生的。A中第i行的注意值表示sq的第i個(gè)單位相對于sa的注意力分布,A中第j列的注意值表示sa的第j個(gè)單位相對于sq的注意力分布。A可以視為sq(或sa)在行(或列)方向的新的嵌入表示,因?yàn)锳的每一行(或列)是sq(或sa)上的一個(gè)字的新的特征向量。因此,將這個(gè)新的特征向量與字嵌入表示組合并將它們用作卷積運(yùn)算的輸入就有理可依了。通過將注意力特征矩陣A轉(zhuǎn)換為圖5中的兩個(gè)與字嵌入表示相同格式的灰色矩陣來實(shí)現(xiàn)這一點(diǎn)。因此,卷積層的新輸入具有每個(gè)句子的兩個(gè)特征映射。

2.4 目標(biāo)函數(shù)

給定一個(gè)問題qi,它的真實(shí)答案是a+i,而a-i是從候選答案池中隨機(jī)選擇的錯(cuò)誤答案。一個(gè)有效的網(wǎng)絡(luò)模型應(yīng)該能夠最大化Sim(qi,a+i),且最小化Sim(qi,a-i)。為了訓(xùn)練以上神經(jīng)網(wǎng)絡(luò),本文采用文獻(xiàn)[1,4,13,16-17]中的方法定義訓(xùn)練損失函數(shù)為:

3 數(shù)據(jù)集和實(shí)驗(yàn)設(shè)置

3.1 cMedQA數(shù)據(jù)集

當(dāng)前在中文醫(yī)療領(lǐng)域問答匹配任務(wù)上沒有標(biāo)準(zhǔn)的評測數(shù)據(jù)集,因此選擇從專業(yè)的醫(yī)療健康網(wǎng)站上收集中文醫(yī)療問答數(shù)據(jù)集(Chinese Medical Question and Answer dataset, cMedQA)[15]。該數(shù)據(jù)集是一個(gè)基于中文醫(yī)療問答的公開可用的數(shù)據(jù)集,其中的問答數(shù)據(jù)收集于尋醫(yī)問藥網(wǎng)。問題通常是由用戶提出,而答案來自于專業(yè)醫(yī)生的可靠回復(fù)。通常一個(gè)問題會得到多個(gè)醫(yī)生的回復(fù),即一個(gè)問題有多個(gè)正確答案。

3.2 評價(jià)方法

3.3 基線模型

目前優(yōu)秀的問答匹配模型都是基于英文語境,且面向開放領(lǐng)域問答,因此本文所描述模型不與它們進(jìn)行比較,而是設(shè)計(jì)了一些基線模型用于實(shí)驗(yàn)效果對比,如下所示:

1)字匹配(Character Matching)。字匹配方式統(tǒng)計(jì)問題與答案中相同字的數(shù)量。

2)詞匹配(Word Matching)。與字匹配相似,統(tǒng)計(jì)問題與答案中相同詞語的數(shù)量。但是需要使用分詞工具進(jìn)行分詞,因此本文選擇了兩種分詞工具(Jieba和ICTCLAS)用以展示不同分詞工具對模型性能的影響。

3)BM25。BM25(最佳匹配)是信息檢索中的一種排序函數(shù),該函數(shù)定義如下:

4)BiLSTM。Tan等[2]使用雙向長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(Bi-directional LSTM, BiLSTM)來學(xué)習(xí)問題和答案的語義表示。BiLSTM是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的變體,能夠捕獲長文本序列的語義信息。

猜你喜歡
注意力機(jī)制自然語言處理卷積神經(jīng)網(wǎng)絡(luò)
基于深度學(xué)習(xí)的問題回答技術(shù)研究
基于LSTM?Attention神經(jīng)網(wǎng)絡(luò)的文本特征提取方法
基于注意力機(jī)制的雙向LSTM模型在中文商品評論情感分類中的研究
InsunKBQA:一個(gè)基于知識庫的問答系統(tǒng)
基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識別算法
基于組合分類算法的源代碼注釋質(zhì)量評估方法
深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實(shí)現(xiàn)
基于卷積神經(jīng)網(wǎng)絡(luò)的樹葉識別的算法的研究
面向機(jī)器人導(dǎo)航的漢語路徑自然語言組塊分析方法研究