劉淑婷
(西安翻譯學院 工程技術學院,西安 710105)
醫保卡自動回復系統的建設補充了現有的咨詢渠道,實現了信息及時、高效地傳遞,方便參保用戶通過短信平臺及時咨詢醫保繳費、報銷、辦理流程等問題,用戶能隨時了解參保情況,并享受醫療保險待遇,提高了西安市人社局的辦公效率和對參保用戶的服務質量,在參保用戶與西安市人社局之間建立了一種快捷、高效、方便地的溝通渠道。
自動回復系統目的是將精確答案發送到用戶手機上,并將已發送信息保存到數據庫中備查[1]。按照處理順序分為問題理解、信息檢索、答案抽取[2]。問題理解是對問句進行分析,包括詞法分析、語義分析、問題分類,其準確度直接影響后續階段的處理[3]。信息檢索是在文檔集合中利用問題理解抽取出來的關鍵字查找出相關的文檔[4]。答案抽取是從信息檢索得出的文檔中提取與問題相關的段落生成答案[5]。自動回復系統的主要流程如圖1所示。
問題理解需要對問題語句做出分類,并對問題的類型、語義和答案類型等進行定性和定量。問題分析的質量限定了備選答案的范圍,并減少了答案的搜索空間,決定后續步驟采取的處理策略。

圖1 自動回復系統的主要流程
傳統的問題分析在對問題分析完成后留下的是關鍵詞和一些對關鍵詞的擴展,將句子分割成詞,降低了語言表達能力,并且丟失了詞語之間的關系,而問題焦點表示的問題分析在輸出關鍵詞集合的同時,還完整的保留了問句的句式結構和語義。
漢語問句,一般分為疑問句、反問句、設問句,醫保卡自動回復系統只處理用于詢問信息的疑問句。疑問句主要分為是非問句、選擇問句、特指問句[6]。據統計,在醫保業務咨詢方面是非問句不到10%,選擇問句不到1%,約90%都是特指問句。所以本文重點對特指問句分析。
問題焦點定義:問題焦點(Question Focus,QF)是由疑問類型與疑問內容組成:
QF={疑問類型:疑問詞,疑問對象:疑問內容}
例如,問題Q(A)={醫保卡怎么補辦?},疑問類型為特指疑問,疑問詞為“怎么”,疑問對象為“補辦”事件,所以問題焦點為QF(A)={特指疑問:怎么;事件:補辦}。
2.2.1 疑問類型
疑問類型是問題焦點的疑問形式。特殊疑問的疑問類型常含有“什么”、“哪里”、“為什么”、“多少”等特指疑問詞,其本身已顯現詢問者想知道的內容及回答方式,這些疑問詞就是疑問句的問題焦點,能很準確的提取疑問句的意思。
2.2.2 疑問對象
疑問對象是詢問者想知道的問題答案。事就是事件,包括事件自身(如:補辦、辦理、報銷等)、事件論元(如:方式、地點、時間等)、事件之間的關系(如:區別、流程等);物就是實體,包括實體自身(如:醫保卡、醫療保險、醫保等)、實體的屬性(如:卡號、基數、繳費比例等)、實體之間的相互關系(如:不同、包含等)等。疑問對象分為兩大類六小類。如表1所示。

表1 問題語義內容分類體系實例
問題分類是把問題讓機器區分,將尋找答案的范圍盡量縮小,以提高答案的精度。問題分類結果的好壞直接影響問題回答的系統性能。問題焦點分類流程,如圖2所示。

圖2 問題焦點分類流程
2.3.1 問題焦點的獲取
從問句中識別、標注問題焦點,建立問題焦點數據結構,篩選問題中的相關信息,添加到焦點數據結構中,即焦點的獲取。
本文調用語言云(語言技術平臺云 LTP-Cloud)對漢語中的文本句子進行分詞處理。 LTP中采用863詞性標注集,部分詞性含義,如表2所示。

表2 部分詞性含義
依存句法分析標注關系(共14種)及含義,如表3所示。

表3 依存句法分析標注關系(共14種)及含義
核心的語義角色為 A0-5 六種,A0 通常表示動作的施事,A1通常表示動作的影響等,A2-5 根據謂語動詞不同會有不同的語義含義。其余的15個語義角色為附加語義角色。附加語義角色列表,如表4所示。

表4 附加語義角色及含義
例如,對問題A“怎樣補辦醫保卡?”的預處理結果,如圖3所示。

圖3 對問題A“怎樣補辦醫保卡?”的預處理結果
結果匯總,如表5所示。

表5 問題A預處理結果
通過哈工大語言云的分析得出,問題A中的詞性分別為:怎樣(r代詞), 補辦(v動詞),醫保卡(n名詞),?(wp標點符號)。
根據依存句法的分析結果,句子的核心謂詞為“補辦”,補辦的賓語是“醫保卡”,它們構成VOB動賓關系,“怎樣”是“補辦”的狀語,它們構成ADV狀中關系。
在語義角色標注中,補辦是謂詞,怎樣是它的方式(用ADV表示),醫保卡是它的受事(用A1表示)。
規則1:疑問詞指代實體
例如,問題Q1={醫保卡是什么?},“醫保卡”是“是”的A0論元,以SBV依存于“是”;“什么”是“是”的A1論元,以VOB依存于“是”,得出的問題焦點QF(Q1)={特指疑問:什么;實體:醫保卡},如圖4所示。

圖4 對問題Q1的預處理結果
問題Q2={什么是醫保卡?},“什么”是“是”的A0論元,以SBV依存于“是”;“醫保卡”是“是”的A1論元,以VOB依存于“是”,得出的問題焦點QF(Q2)={特指疑問:什么;實體:醫保卡},如圖5所示。

圖5 對問題Q2的預處理結果
通過哈工大語言云分析得出,實體的名詞是“醫保卡”,Q1的焦點與Q1的焦點是一致的,即QF(Q1)=QF(Q2)。
規則2:疑問詞修飾實體的屬性
例如,問題Q3={醫保卡的卡號是多少?},“醫保卡的卡號”是“是”的A0論元,“卡號”以SBV依存于“是”;“多少”是“是”的A1論元,以VOB依存于“是”,從而確定問題的焦點,QF(Q3)={特指疑問:多少;實體屬性(醫保卡-卡號):?},用戶的疑問是想知道實體“醫保卡”的屬性“卡號”的取值是什么,如圖6所示。

圖6 對問題Q3的預處理結果
問題Q4={醫保的最低基數是多少?},“醫保的最低基數”是“是”的A0論元,“基數”以SBV依存于“是”;“多少”是“是”的A1論元,以VOB依存于“是”,從而確定問題的焦點,QF(Q4)={特指疑問:多少;實體屬性(醫保-最低基數):? },用戶的疑問是想知道實體“醫保”的屬性“最低基數”的取值是什么,如圖7所示。

圖7 對問題Q4的預處理結果
通過Q3與Q4可以看出,這類問題的疑問內容是實體的屬性值。
規則3:特殊疑問詞為事件的動詞論元
例如,問題Q5={怎么辦理醫保卡?},QF(Q5)={特指疑問:怎么;事件論元(辦理-醫保卡):? },用戶的疑問是想知道事件“辦理”的論元取值是什么,如圖8所示。

圖8 對問題Q5的預處理結果
例如,問題Q6={如何辦理醫保?},QF(Q6)={特指疑問:如何;事件論元(辦理-醫保):?},用戶的疑問是想知道事件“辦理”的論元取值是什么,如圖9所示。

圖9 對問題Q6的預處理結果
通過Q5與Q6可以看出,它們的事件都是“辦理”,“怎么”與“如何”是同義詞,但“辦理”的對象不同,得出的焦點就不同,這類問題是用戶想知道事件的論元取值,所以焦點是事件的論元。
2.3.2 基于焦點分類
焦點分類是對焦點相同的問題進行分類,焦點相同即同類。將疑問對象存入數據庫中,并錄入具體的答案。例如,問題Q3的疑問對象是“卡號”,在數據庫中的實體屬性列錄入“卡號”。對問題Q1~Q6進行分類的結果是:Q1與Q2的類別是實體“醫保卡”;Q4的類別是實體屬性“最低基數”;Q5與Q6的類別是事件論元“辦理”。
信息檢索是使用經過問題分類處理得出的關鍵字,在數據庫中尋找問題的答案。答案抽取決定提供什么答案給用戶。
經過問題分類,明確了問題焦點,醫保卡數據庫查詢的過程是給定查詢的目標(答案),以及查詢的條件(事件、論元、實體、屬性等),可以通過執行SQL命令的方式從表中迅速、方便地檢索出數據。
具體語句為:SELECT問題答案FROM短信回復數據表WHERE特指疑問=具體的特指疑問詞AND事件=具體事件名稱AND實體=具體實體名稱AND屬性=具體屬性名稱。
可以通過上述語句完成答案的查詢。其中,對于規則1的信息檢索,只要查詢(事件=具體事件名稱)或(實體=具體實體名稱)就可以查詢出具體的答案。規則2的信息檢索則需要查詢(實體=具體實體名稱)和(屬性=具體屬性名稱)。只有規則3需要全部查詢。
對于事件關系與實體關系問題,根據語義進行分析,通過自聯接完成。以實體關系為例,具體語句為:SELECT表1.問題答 FROM短信回復數據表AS表1,短信回復數據表AS表2WHERE兩表連接AND特指疑問=具體的特指疑問詞AND表1.實體=具體實體名稱AND表1.實體2=具體實體名稱。
通過問題理解、信息檢索、答案抽取,最終實現了醫保卡短信自動回復系統,如圖10所示。

圖10 短信自動回復
醫保卡自動回復系統結合焦點的問題理解,依存分析和語義角色標注對問題進行了淺層語義分析,然后從預先定義的問題焦點結構與焦點抽取規則中獲取問題焦點,最后根據焦點相同即同類實現問題分類。該系統實現了醫保信息能夠方便、及時、高效的傳遞,一方面提高了人社局內部的辦公效率,另一方面在參保用戶與人社局之間搭建一種方便、高效、快捷的溝通渠道,提高了對參保用戶的服務質量。