, ,,, ,
術語系統在國家信息化建設中的基礎性支撐作用以及在自然語言處理、知識圖譜、人工智能等前沿領域的廣泛應用,受到了廣泛關注。國內外非常重視領域術語系統的建設,但由于版權、語種、語言習慣、編制目的的單一性和應用領域的局限性等問題,單部標準無法滿足多類型用戶的多樣化應用需求。目前在領域術語系統的構建中,面向具體應用、現有成果的復用和集成、共建共享等方面的發展趨勢日益明顯。
然而,目前常用的詞表和本體構建工具,如Protégé、OntoEdit、VocBench3、Term Tree2000、漢語主題詞表網絡編制平臺、軍用主題詞表應用管理系統[1-6]等,多基于某種特定描述語言或面向特定詞表,雖然都實現了單一詞表或本體構建的基礎功能,但詞表與本體間的快速轉換與復用、多表異構集成、數據模型可擴展的難度依舊很大,對不同用戶類型的工作流也缺乏靈活的控制。因此,本文在國內外現有術語構建工具建設經驗的基礎上,開展了多語言領域術語系統構建工具(Multilingual Domain Terminology System Workbench,TBench)的需求分析、功能設計和實現,用以支持對多來源、多類型術語系統的管理與快速復用,利用集成詞表和本體的構建模式,建立一個能夠快速融合、靈活復用與重構的領域術語構建工具,為團體和個體用戶提供分布式的協同工作工具。
目前面向具體領域和應用場景的術語系統日益增多,真正應用到實際需求的術語系統更需持續更新與發展。由于用戶類型、構建目的、學科領域的不同,用戶構建的方式、描述框架、數據要求都不盡相同。因此如何滿足多類型的用戶構建需求,實現術語系統建設中數據模型、工作流、窗口組件等的個性化定義與可擴展,是TBench要解決的關鍵問題。
詞表作為傳統的術語系統模式,語言規范、結構嚴謹單一、顆粒度細、規模通常較大,已有一些成熟的成果可以復用。本體作為新型的知識組織系統,可定義豐富的數據屬性和注釋屬性,支持智能推理,多為面向應用的小型領域本體,易復用。另外,國家發布的方針政策、技術標準、行業規范等成果,也是可甄選、提取和再利用的成果之一。由于“零基礎”的人工構建模式工程巨大、費時費力,因此為避免重復工作,如何實現這些多來源多格式的數據模型、概念、術語、語義關系成果在同一工具中的語義映射、靈活復用和重構,是TBench要解決的關鍵問題。
傳統術語系統中多個語種并存時,將其中一種語言作為源語言,使用源語言中的術語表達概念,其他語種的術語只能作為入口詞或屬性值展示,這不利于多文化環境中的概念表達和利用。在多語種敘詞表中,所有語種地位是平等的。一般來講,特定科學領域的概念具有一定的穩定性、是不分國界的,所以詞表中每個概念在每種語言中都應有對應的術語表達形式,這樣才能在使用任何一種語言表達該概念時都能夠達到相同的應用效果。因此,如何制定多語言環境下的概念、術語、關系創建機制也是TBench要解決的關鍵問題。
TBench整合了多來源、多類型的大規模資源,在新術語系統構建的過程中,可能涉及多領域、多機構、多類型的人員。因此如何針對不同類型的用戶,既要從功能、資源上進行合理的權限控制,又要避免控制過于嚴格造成協同管理過于復雜、用戶體驗差等問題,是TBench要解決的關鍵問題。
為了解決上述關鍵問題,TBench主要借鑒“ISO 25964”構建兼容SKOS、OWL、RDF等的數據模型,開發支持數據模型自定義擴展,進行多語言的概念、術語、關系靈活構建和復用的輔助建設工具,為主題詞表、應用本體等領域術語系統的內容建設提供分布式協同加工工具,提高效率。
TBench的整體架構如圖1所示。其核心業務功能模塊包括術語、概念、關系的數據模型定義與內容加工,以及數據轉化、批量創建與復用、多語言機制等關鍵技術,輔助工作流、用戶權限、訪問沖突方面的協同管理與控制。
2.2.1 數據模型自定義擴展
數據模型指術語系統內容相關的描述與編碼數據,用于詞表、術語、概念、關系等的定義、存儲與跟蹤,是支持整個術語系統應用的基礎。根據國際敘詞表標準,數據模型經歷了“ISO 2788:1986”基于術語的數據模型、“BS8723-2:2005”基于概念的數據模型,“ISO 25964”進一步擴展成敘詞表、敘詞表列、概念組、概念、術語、注釋六大數據對象,完善了各對象的屬性特征及對象間關系,更加完備[7-8]。為滿足多類型用戶的個性化構建需求,在借鑒“ISO 25964”數據模型的基礎上,TBench為所有數據對象設計了一套基礎的數據模型,支持按頂層概念、術語類型、語義類型分別進行個性化定義,包括概念屬性、術語屬性、屬性描述、等級關系類型、語義關系描述與細化等方面。
如藥物類概念,術語類型可擴展成商品名、通用名、化學名等,等級關系可擴展成父子(is-a)、整部(part-of)、實例(instance-of)等,可根據概念子樹設置等級關系的類型,如“解剖學”概念樹多是part-of關系,“地理位置”多是instance-of關系。各類數據屬性可進行自定義擴展,如概念注釋可擴展為范圍注釋、歷史注釋、定義等。為了改進protégé數據屬性多個定義域和多個值域不能一對一的情況,采用術語系統的前幾級框架支持一對一、一對多或多對一定義語義關系的值域和定義域,以控制某類概念特有的語義關系類型。針對新建的術語系統,可以直接采納已有的基礎數據模型,也可在此基礎上自主創建、配置與擴展。針對已有的術語系統已存在較為完備的結構,可通過導入表結構描述或術語數據的規范文件自動解析生成數據模型,也可進一步擴展與優化。

圖1 多語言領域術語系統構建工具架構
2.2.2 概念靈活復用與批量構建
2.2.2.1 規范文本批量創建
概念是思想的單元,是構成領域術語系統的核心要素。概念內容加工是領域術語系統建設的核心過程,是建立科學、全面的術語系統的關鍵步驟。為避免大規模術語系統零基礎、人工構建的弊端,TBench除支持零基礎新建概念外,在工作流中集中融入了概念靈活復用的思想,建立了由規范文本轉換為概念等級結構、子概念、非優選詞、語義關系的批量創建機制(圖2)。如圖2所示,規范文本中,換行表示多條記錄,通過TAB鍵控制概念間的等級關系;同一行中以豎線“|”分開的多個術語表示一個概念,首個術語作為優選詞,其他術語作為非優選詞。轉換后自動生成概念等級關系,如概念“丙戊酸鎂”含有一個非優選術語“癲心寧”。

圖2 規范文本批量創建示例
2.2.2.2 表內概念樹復制或位置調整
概念樹結構主要指概念間等級關系與同位關系呈現的樹結構位置信息。為提高內容建設效率,TBench提供多種方式實現了概念樹復制與位置調整,進行計算機的輔助構建。一是子樹復制與刪除。術語系統面向計算機使用,為從多個維度充分揭示概念內涵的不同方面,需與多個上位概念建立多重屬分關系(Polyhierarchical relationships)。為了降低重復構建概念或子樹的難度,工具提供某一類概念或概念子樹的復制與粘貼的快捷操作,在概念屬性窗口定義多個上位概念等多種方式,實現多個位置下子樹的批量創建。如“病毒性疾病”的子概念“病毒性肝炎”,從其發病部位角度又可歸至“肝疾病”,即可通過復制概念“病毒性肝炎”子樹至“肝疾病”下,也可在“病毒性肝炎”屬性窗口新增“肝疾病”上位概念,實現“肝疾病”下“病毒性肝炎”子樹的創建。二是位置調整。在術語系統建設中,等級樹結構中的位置調整是較常用的一個核心操作。為增加工具操作的靈活性、簡化復雜的調整操作,TBench支持概念相對位置信息的自由拖動。與子樹復制不同的是,位置調整涉及到is-a關系、樹結構號的刪除與重建。
2.2.2.3 異構成果表間復用構建
零基礎構建一部大規模的術語系統,工程巨大、耗時耗力,復用國內外已有的豐富術語成果,是共建共享的發展要求。TBench遵循在建術語系統的規范,可靈活復用異構成果快速構建,即在創建概念或等級樹結構時,將已有成果的單個概念、多個概念或其子樹,通過數據復用、表間子樹復制等方式融合到正在構建的術語系統中(圖3)。但這些已有的權威標準、科學名詞、行業規范,分別有word、pdf、txt、xml、owl等多種格式,結構上也和常規的術語系統不同。TBench可經過外部數據導入、結構自動解析、數據模型映射、質量邏輯校驗等重構操作后,實現異構數據的規范化,即可在工具中實現表間內容的復用。通過表間復用批量創建概念時,將繼承來源表的非優選詞、定義、注釋及關系等信息,并自動生成在建詞表與已有詞表概念間的等同映射關系。

圖3 異構成果結構映射與復用示例
2.2.3 關系批量創建與融合
關系實例建立在概念與概念間的語義關系對上,包括等級及其他語義關系類型,是描述現實世界的計算機表示方式,關系實例的規模是對語義關系豐富程度的具體體現。逐個創建關系實例較為繁瑣,TBench建立了批量創建與融合的工作機制,降低了操作難度。一是批量創建具有共同特征的語義關系。其中同一個概念可能與多個其他概念存在相同的語義關系,選擇多個概念作為值域批量可以創建同一類關系的實例。如藥物“氯沙坦鉀”可能治療多種疾病,所以“氯沙坦鉀”存在多條值域不同的“治療”關系,可為其“治療”關系選擇“2型糖尿病”“高血壓”“腎病”“卒中”4個值域,一次性創建“氯沙坦鉀 治療 2型糖尿病”“氯沙坦鉀 治療 高血壓”“氯沙坦鉀 治療 腎病”“氯沙坦鉀 治療 卒中”4條關系記錄。二是融合已有成果的關系實例。基于表間復用創建概念時,可通過數據模型的映射結果繼承與融合已有成果的關系實例,輔助進行等級關系鏈、關系值域與定義域是否完整等邏輯性檢測。如由于關系的定義域和值域均在樹結構中嚴格控制了概念范圍,所以在定義了“藥物 <治療> 疾病”后,只有藥物及其下位概念可以定義“治療”關系,其他如檢查類概念就不能創建該關系。
2.2.4 多語言機制
為解決多語種并存的問題,TBench不像傳統構建工具對概念的優選詞或非優選詞進行一對一的翻譯,而是按語種創建概念、關系及其屬性,基礎數據模型對概念、術語、關系及其他屬性均賦予了“語種”特征,以此聲明其合理存在的語言范圍。不同語種里都可設置一個優選詞,通過建立多個優選詞間的映射關系,揭示不同語言內的概念內涵差異。同一概念不同語種的優選詞,在語義和文化方面具有完全相同的內涵,能夠建立跨語言的精確等同映射關系。
多數情況下,由于文化、內涵或價值的差異,不同語種間的術語表達的內涵都會存在細微的差異,可能存在“近義等同”“部分等同”“包含”等情況。如“aircraft ”在不同語境中有“飛機”“航空器”之義,涵蓋了直升飛機、飛艇、滑翔機等,不能簡單地與中文術語“飛機”直接對應。因此,多語言環境下以概念為中心的屬性設置、優選詞并存與關系處理,都有助于揭示多語言環境下的文化內涵及差異。
2.2.5 協同控制
為了實現多用戶的分布式加工,打造極簡、隨需應變的業務工作流,TBench從訪問沖突、邏輯性、質量等方面進行了實時監測與控制,也從用戶、角色和權限等角度實現了協同管理。工具整合了多來源多類型的大規模資源,在新術語系統構建的過程中可能涉及多種工作流需求的人員。
為實現不同類型人員的靈活管理,工具賦予用戶角色,從可訪問的功能模塊、功能點、標簽文字及可利用的術語系統資源(如某部詞表、某個子樹或范疇)等方面進行權限的控制與管理,如用戶可以使用自然語言重新定義界面呈現的標簽。通過多方面的靈活配置與分類控制,便于各層次用戶的術語系統共享、協同構建與管理。
TBench的開發平臺為Eclipse neon,JDK版本為1.8.0,應用服務器為Tomcat 8.5。TBench自下向上分為數據層、功能層、界面層。在數據層,使用關系數據庫Oracle保存臨床醫學術語數據以及系統數據,使用全文數據庫Elasticsearch保存臨床醫學術語的索引數據,然后通過JDBC、Mybatis以及Elasticsearch提供的應用程序接口與功能層進行數據交互;在功能層,采用Spring MVC作為框架,運用Java編程語言實現各個業務模塊,與用戶層通過Restful風格的應用程序接口進行數據交換;在用戶層,采用HTML5、CSS、ReactJS、Ant Design等前端技術構建與用戶交互的Web用戶界面,并通過AJAX技術調用功能層的Restful應用程序接口,完成各種工作流。
目前TBench已基本完成了核心功能的開發,實現了已有術語系統的信息注冊、數據入庫、格式轉換、結構解析與映射,新術語系統的創建、數據模型自定義、內容的批量創建與表間復用、多種格式存儲等。主要功能及界面如圖4所示。TBench借鑒“ISO 25964數據模型”進行自定義擴展,與SKOS、RDF、OWL等語義描述模型能很好地兼容[9-10]。支持語義描述模型間、不同格式間(如TXT,JSON,XML,RDB)的數據轉換工具正在開發中。
目前TBench已用于中文臨床醫學術語系統(Chinese Clinical Terminology System,CSCT)的構建。CSCT基于TBench 完成了數據模型定義,自定義擴展語義關系65個,在14個頂層維度下初步組織了約75 300個概念、15萬余條醫學術語。TBench根據不同用戶類型制定了清晰的工作流,整個構建過程中貫穿復用和整合的理念,解決了多用戶個性化需求、異構術語復用、多語言環境、協同管理等問題,提高了術語系統建設的靈活性和效率。

圖4 多語言領域術語系統構建工具核心界面
在智能技術和資源趨向共建共享的快速發展趨勢下,多語言領域術語系統構建工具TBench是新技術環境下對領域術語系統靈活、快速構建的一種新探索。TBench基于“ISO 25964”的數據模型自定義擴展解決了多用戶的個性化構建需求,通過概念與關系的復用、繼承與批量創建等方法提高了工作流的靈活性和效率,并支持建立以概念為中心的多語種術語系統。但TBench仍存在改進空間,如復用多部成果時的語義關系融合與沖突控制、面向電子病歷等的新詞發現與補充。下一步我們將繼續探索與優化,使工具更加高效和人性化。