葉輝 曹東
摘 要:本文主要研究是基于醫(yī)院導(dǎo)醫(yī)業(yè)務(wù)限定領(lǐng)域知識的問答系統(tǒng),首先通過中文分詞技術(shù)、中文信息抽取技術(shù)對用戶提出的問題進行分詞和詞性分析,并對其問題文本進行句法依存分析,定出其疑問詞和關(guān)鍵字,最后定出句子焦點詞。本文采取了關(guān)鍵字和焦點詞匹配的方法檢索出答案,并按照醫(yī)院業(yè)務(wù)流程和特點,設(shè)計了一個醫(yī)院導(dǎo)醫(yī)知識規(guī)則庫,通過疑問詞和關(guān)鍵字定位出相關(guān)問題類別,再通過關(guān)鍵字模糊匹配的方法選擇觸發(fā)相關(guān)的HIS數(shù)據(jù)檢索,再返回用戶該問題的檢索結(jié)果。
關(guān)鍵詞:醫(yī)院導(dǎo)醫(yī)信息;問答系統(tǒng);句法分析;問題分類
基金項目:2014廣東省中醫(yī)藥局建設(shè)中醫(yī)藥強省科研課題(20141073),廣東財政專項“重大疾病中醫(yī)藥防治臨床科研信息一體化平臺建設(shè)”
1 引言
隨著醫(yī)療和信息技術(shù)的發(fā)展,醫(yī)院面臨著導(dǎo)醫(yī)醫(yī)療信息服務(wù)人手不夠,用戶對醫(yī)院服務(wù)不滿意等問題。而在網(wǎng)絡(luò)上的醫(yī)療信息呈現(xiàn)幾何式增長,病人難于通過搜索引擎從紛繁復(fù)雜的信息當中高效準確的獲取需要的醫(yī)療信息。因此本文研究一種能針對醫(yī)院導(dǎo)醫(yī)信息的智能問答系統(tǒng),運用自然語言處理技術(shù)對用戶的問題進行處理,并結(jié)合醫(yī)療規(guī)則庫的方式回復(fù)用戶的問題。,因此研究一種針對醫(yī)院診療信息的自動問答系統(tǒng)具有很強的實際意義。近年來,自然語言處理的研究取得了長足的進步,為問答系統(tǒng)的實現(xiàn)提供了理論基礎(chǔ)。自然語言的研究在詞性標注、語義分析、句法分析、信息抽取等方面都取得了不錯的成績,各種信息檢索的方法也層出不窮,從而促進了自動問答系統(tǒng)的研究。
本文研究的是限定醫(yī)院醫(yī)療診療信息領(lǐng)域的自動問答系統(tǒng)。原理采用自然語言技術(shù)對用戶提問文本進行中文分詞、詞性分析、中文信息抽取、關(guān)鍵字排序、句法依存分析提取等處理,然后按照提取的關(guān)鍵字匹配已有醫(yī)療信息知識庫的關(guān)鍵字,然后配合問題句法設(shè)計一個問題分類表,按照提取的關(guān)鍵字進行問題分類匹配問題類型,從而從知識庫中確定出一條最合適用戶提問的答案。
2 系統(tǒng)總體設(shè)計
系統(tǒng)主要采用用戶層、業(yè)務(wù)層、數(shù)據(jù)層三層架構(gòu),見圖1,這樣做的優(yōu)勢在于如果將來自然語言處理的發(fā)展更完善,能設(shè)計出更高效的算法,也不必改動用戶層和數(shù)據(jù)層,只需要改動業(yè)務(wù)層即可。在數(shù)據(jù)層方面,近年來,各大醫(yī)院都有自己一套成熟的醫(yī)院信息管理系統(tǒng),為了能最高效率地使用原有的HIS數(shù)據(jù),問答系統(tǒng)的數(shù)據(jù)知識庫以原有的HIS數(shù)據(jù)庫為基礎(chǔ)實現(xiàn)數(shù)據(jù)共享,通過HL7標準或XML進行接口數(shù)據(jù)的處理,免去將HIS數(shù)據(jù)導(dǎo)入到問答系統(tǒng)時帶來數(shù)據(jù)同步的問題。
3 用戶問題的理解
用戶問題理解是本系統(tǒng)一個核心的處理某塊,基本思路如下:
首先系統(tǒng)針對用戶提問,有兩個要求,一是一句話提問一個信息,二是提問文字個數(shù)不超過30個字,在輸入端對用戶提問先有一個預(yù)設(shè)框架,以免由于用戶的隨意性增加文本分析難度。
對句子進行中文分詞處理。在英語當中,有類似空格之類的符號作為詞語的分界線,而漢語是表意文字,詞是最小的能夠獨立活動的有意義的語言成分,詞語之間是沒有明顯的分界標記的,所以分詞是中文問答系統(tǒng)中問題分析的基礎(chǔ)。系統(tǒng)采用中科院ICTCLAS分詞系統(tǒng)結(jié)合我們的醫(yī)療信息詞匯詞典進行加強分詞,增加ICTCLAS對醫(yī)院內(nèi)部未登陸詞匯的分詞準確性。
其次對文本進行詞性分析,然后進行過濾停用詞的處理,所謂停用詞是指那些對那些文本主題不具備表達能力的,或者表達能力可以忽略的詞[1],如助詞、標點符號、連詞、語氣詞、擬聲詞等,這些我們都進行去除處理。如”請問內(nèi)科在幾樓呢?”這句話進行分詞和詞性分析后的結(jié)果是 “請問/v內(nèi)科/n在/p幾/m樓/n呢/y?/ww”,此時去掉無用詞”呢”和”?”
3.1 句法分析抽取關(guān)鍵字
關(guān)鍵字代表了語句的主題含義,抽取關(guān)鍵字對理解語句的語義是至關(guān)重要的,它將會影響到后面答案的檢索。關(guān)鍵字主要由名詞、動詞、形容詞等組成,實際的應(yīng)用中我們主要把過濾無關(guān)詞后剩下的大部分詞作為關(guān)鍵字。本文主要采用交叉信息熵計算每個候選詞的上下文條件熵來獲取關(guān)鍵字及其權(quán)重,但由于診療信息的特殊性,我們把代詞和介詞的權(quán)重提高一些。按照上述的關(guān)鍵字計算規(guī)則,如提問為“請問婦科在哪里?”這句話提取的關(guān)鍵字按權(quán)重Top2大小輸出分別為:“婦科”/“請問”
問句的依存句法分析能更直觀清楚地獲取語言單位內(nèi)成分之間的依存關(guān)系并揭示其句法結(jié)構(gòu),像針對醫(yī)院導(dǎo)醫(yī)系統(tǒng)的問題來說,主要關(guān)注是SBV和POB主謂關(guān)系和介賓關(guān)系,本文通過哈工大LTP的依存句法分析器分析出問題文本的依存句法,結(jié)合之前的提取的關(guān)鍵字“婦科”,聯(lián)系SBV和POB提取出“在”和“哪里”這些謂詞和賓語,,而“哪里”根據(jù)詞性標注結(jié)果被提取成為句子疑問詞關(guān)鍵字,然后抽取出謂語,通常距離疑問詞最近的原則來抽取謂語[2]。
本系統(tǒng)采用的分類方法是基于句法分析結(jié)合規(guī)則的問題分類方法,它是一種基于疑問句和問題焦點相結(jié)合的方法。在提取用戶問題的關(guān)鍵字后,按照關(guān)鍵字的權(quán)重大小依次對用戶問題的關(guān)鍵字和問題類型表中的疑問詞關(guān)鍵字進行相似性匹配,只要含有其中一個關(guān)鍵字或意思相近,即可使用該問題類型。下一步就要決定出用戶問題的焦點所在。問題焦點就是問題中說明問題只要內(nèi)容的一個名詞或名詞性短語。一般情況下,一個名詞或名詞短語是問題焦點的可能性比較大。首先,提取問句中的所有名詞,然后根據(jù)名詞在疑問句中的位置進行判斷,經(jīng)過研究統(tǒng)計可以得到以下判斷規(guī)則:
(1)疑問詞后緊跟著名詞或短語,那么該名詞或名詞短語可能是問題的焦點。
(2)疑問詞處于句子的末尾,那么距離疑問詞最近的名詞或名詞短語可能是問題的焦點。
(3)疑問句后面跟著動詞,那么句子最后出現(xiàn)的名詞或名詞短語可能是問題的焦點。
根據(jù)這個規(guī)則結(jié)合詞法分析的語法依存分析,我們開發(fā)出算法對用戶問題分詞后的焦點詞進行提取,例如:“請問婦科在哪?”,關(guān)鍵字的焦點主要是“婦科”,因此我們再把焦點詞進行一次檢索比較。
4 問答的實現(xiàn)
4.1 問題分類
本文采取問題分類的方法來定位相關(guān)的答案輸出。問題分類是問答系統(tǒng)中重要的組成部分,問題分類結(jié)果的好壞直接影響問答系統(tǒng)的質(zhì)量[3]。問題分類是根據(jù)中文信息抽取技術(shù)中的命名實體識別判斷出問題屬于哪一個類型。問題分類可以有效的減少候選答案的數(shù)量,提高答案的準確率。準確的問題分類有助于在問題抽取時根據(jù)不同類別的問題采用不同的答案抽取方法。結(jié)合醫(yī)院導(dǎo)醫(yī)領(lǐng)域的實際情況和中文問題的特征,我們以疑問詞作為分類關(guān)鍵字,這些詞匯對詢問的內(nèi)容的范圍有很大幫助,這些詞帶有明顯的分類特征[4]。以下定義了幾種基本的問題類型,如表3-1所示。而疑問詞和關(guān)鍵字的獲取則依靠上一節(jié)描述的句法分析方法來提取。
4.2 醫(yī)導(dǎo)答案規(guī)則數(shù)據(jù)庫的搭建
本系統(tǒng)要構(gòu)建的醫(yī)導(dǎo)答案知識庫屬于限定領(lǐng)域知識庫的范疇,構(gòu)建知識庫是為了使無序的內(nèi)容變得有序,一個完備的知識庫能夠大大提高系統(tǒng)搜索答案的效率和準確率,但本系統(tǒng)為了快速顯示答案,將不使用完整的自然語言輸出,只考慮直接輸出查詢結(jié)果或答案,并不做過多的語法修飾。如果要完整的自然語言重構(gòu)輸出,可采用問題-答案模板的形式來出來,或者使用問題-答案相似度計算來進行模擬答案以自然語言的方式輸出處理。數(shù)據(jù)字段設(shè)計如下:
如用戶輸入”請問婦科在哪里?”,系統(tǒng)分詞處理后“婦科”是第一關(guān)鍵詞,然后通過句法依存分析提取出關(guān)鍵字所在句法結(jié)構(gòu)中和她聯(lián)系密切的句法,然后提取出相關(guān)的疑問詞和謂語詞分別是“在/哪里”,在系統(tǒng)數(shù)據(jù)庫中找到匹配的相關(guān)疑問詞或關(guān)鍵字,找出對應(yīng)的問句類型,然后根據(jù)問題焦點詞 “婦科”進行二次匹配,如果找出相應(yīng)的匹配詞匯或近似匹配,就代表匹配成功,找出數(shù)據(jù)表對應(yīng)的類型字段type是“地點”,然后按照Type=”地點”找出answer對應(yīng)的字段里的預(yù)設(shè)好觸發(fā)SQL處理過程腳本代碼,如anwser對應(yīng)的是SQL查詢記錄返回address,則此時系統(tǒng)會去HIS后臺,通過address 字段讀取相關(guān)婦科的地址在哪里,然后將答案返回給用戶。如果所有關(guān)鍵字按照順序,在問題分類和焦點詞里面都無法找到,就返回一個找不到答案的警告給用戶。
5 總結(jié)
本文先通過中文分詞將用戶提問進行分解,并提取出關(guān)鍵字和權(quán)重,然后利用句法依存分析器分析相關(guān)語句和主謂結(jié)構(gòu)的謂語短語與關(guān)鍵字,找出疑問詞。然后通過和數(shù)據(jù)庫的疑問詞匹配分析,定位答案回答的類型,然后通過關(guān)鍵字分析和焦點分析的結(jié)果,找到焦點為相關(guān)詞匯的數(shù)據(jù)記錄,最后答案由SQL語句進行遠程HIS醫(yī)院系統(tǒng)的查詢操作,返回給用戶界面。
參考文獻
[1]謝晉. 基于詞跨度的中文文本關(guān)鍵詞提取及在文本分類中的應(yīng)用[D]. 浙江工業(yè)大學, 2011.
[2]孫昂;江銘虎;賀一帆;陳林;袁保宗;;基于句法分析和答案分類的中文問答系統(tǒng)[J]《電子學報》 2008年05期
[3]文勖, 張宇, 劉挺,等. 基于句法結(jié)構(gòu)分析的中文問題分類[J]. 中文信息學報, 2006, 20(2):33-39.
[4]張亮;王樹梅;黃河燕;;面向中文問答系統(tǒng)的問句句法分析;山東大學學報;第41卷第3期;2006年6月.
作者簡介
葉輝,男,廣州中醫(yī)藥大學醫(yī)學信息工程學院,講師,主要研究方向:醫(yī)學信息學。
曹東,通訊作者,男,廣州中醫(yī)藥大學醫(yī)學信息工程學院,副教授,主要研究方向:醫(yī)學信息學。