劉春江,胡正銀,方 曙,錢 力
(1.中國科學院成都文獻情報中心;2.中國科學院大學;3.中國科學院文獻情報中心)
在大數據環境與數據密集型科學研究新范式下,科技文獻知識組織方式向基于概念單元或知識單元的知識組織方向發展。[1,2]為了滿足多層次、細粒度知識組織和知識關聯的需求,需要采用自動或半自動方式對科技文獻進行主題標引。從方法上看,文獻的自動標引一般都會綜合運用統計學、語言學或機器學習等多種抽取方法,但會以某種具體方法為主,如,Frank[3]等主要采用了基于機器學習的抽取方法,使用了懷卡托大學開發的關鍵詞抽取工具(Keyword Extraction Algorithm,KEA),[4]利用訓練文檔集建立抽取模型;Hulth[5]主要采用了基于語言學的抽取方法,使用了愛丁堡大學開發的開源工具LT-TTT2,[6]利用文本中的語言學特征抽取術語;Plas[7]等主要采用了基于詞典的抽取方法,利用了WordNet[8]詞典中詞匯的基本語義關系(如IS-A和PART-OF等)及其一詞多義解釋等特點。雖然這些文獻自動標引的方法能夠實現一定精度的術語與概念的自動抽取,但是無法更進一步實現術語的規范化與概念的關聯化,也就不能達到對文獻進行知識組織的最終目的。
科技知識組織體系(Scientific&TechnologicalKnowl edgeOrganization Systems,STKOS)是“十二五”國家科技支撐計劃“面向外文科技文獻信息的知識組織體系建設與應用示范”項目的核心成果,是一套基于常用自然科學領域詞表的超級詞表。STKOS術語發布與共享服務平臺[9]提供了一系列標準化、集成化的開放查詢和推理接口,使第三方應用可以靈活地將STKOS檢索、查詢和推理功能嵌入到自己的服務中。[10,11]本文提出了基于STKOS的標引框架,實現了STKOS與標引流程的深度嵌入,可以高效地對科技文獻蘊含的知識單元進行自動化抽取、主題標引與語義關聯。
基于STKOS的標引框架由接口層、數據層和業務層組成,主要思路如下:① 從文本中自動抽取出一定數量且能夠表征文獻主題的關鍵詞,形成術語集;② 在STKOS超級詞表中檢索與這些術語相匹配的優選詞,實現術語到概念的映射,形成概念集;③ 根據STKOS,建立概念的語義關聯(見圖1)。

圖1 基于STKOS的標引框架
接口層主要實現了對STKOS的Webservice開放查詢和推理接口的調用。數據層包含各種非結構化文檔,如論文、專利、專著、標準等,主要是通過對文檔載體(如PDF和WORD)進行文本的自動提取。
業務層主要展示了STKOS的應用環節。由于機器學習算法比較成熟,流程清晰,有大量的開源框架可供系統集成,本文使用了基于機器學習的術語抽取方法。具體的流程是:首先確定文本所屬領域,從STKOS中導出領域詞表,結合訓練集,構建領域標引模型,然后使用模型對文本進行自動標引,之后調用STKOS進行術語規范,通過人工的審核校驗,最后基于STKOS對文獻的概念集建立語義關聯,完成標引流程。
本研究選擇KEA來抽取術語,KEA基于JAVA語言實現,提供基于簡單知識組織系統(SimpleKnowledge OrganizaticnSystem,SKOS)詞表的自動關鍵詞抽取。
從標引框架可以看出,構建面向領域的標引模型非常重要。具體來說,建立模型分三步完成。
(1)從STKOS中導出相關范疇的領域詞表。筆者實現了STKOS查詢與推理引擎的瀏覽服務接口(Browser Service)和關聯推理服務接口 (RelatedSearch Service)。針對瀏覽服務接口,主要實現了在STKOS超級詞表中下位范疇類的獲取和范疇下概念的獲??;針對關聯推理服務接口,主要實現了在STKOS超級詞表中上下位和相關概念的獲?。ㄒ姳?)。

表1 STKOS接口中被使用的方法和功能
領域詞表的載體采用了SKOS詞表,以“人工智能”范疇為例,由于SKOS詞表是建立在RDF之上,因此在表頭先要定義文件的RDF屬性,然后建立該RDF文件的概念表屬性,這里可以定義為:
獲取“人工智能”范疇category1;
while(category1有下位范疇)
獲取下位范疇category2;
獲取category2下的概念列表concepts;
for each概念列表concepts中的概念concept do
if RDF中沒有該概念concept,Then定義新的skos:Concept屬性,加入skos:preflabel中;
if concept有上位概念,Then加入skos:broader中;
if concept有下位概念,Then加入skos:narrower中;
if concept有相關概念,Then加入skos:related中;
end for
end while
(2)構建訓練集。任意選擇一定數量的文獻,針對每篇文獻,將文本內容放到“txt”為后綴的文件中,由領域專家從領域詞表中選擇數量不等的概念作為標引詞,將標引詞放到“key”為后綴的文件中,兩個文件的文件名必須一致。
(3)建立模型?;陬I域詞表和訓練集構建標引模型,模型建立的步驟如下:① 在任意文件夾下新建模型根目錄,如“AI”;② 在“AI”下面針對抽取文本的語種建立目錄,如,“en”表示抽取文本的語種是英語,同時建立詞表目錄“vocabulary”;③ 在“en”下面建立訓練集目錄,如“train”;④ 把訓練集(包含多個txt和key文件組)放到訓練集目錄下面;把前面生成的領域詞表放到詞表目錄下面;⑤ 在程序中設置相關參數,包括詞表位置、格式和編碼等,然后執行程序,會在“en”目錄下生成模型文件“model”。
標引模型和領域詞表建立完成后,就可以基于該模型文件和SKOS詞表,利用KEA對輸入文檔集進行術語的自動抽取,針對每篇文檔形成術語集。
在術語集里面,術語有可能不在領域詞表的概念之中,因此需要利用STKOS進行概念規范,概念規范由術語規范和審核校驗兩個環節組成。在術語規范過程中,筆者實現了STKOS查詢與推理引擎的關聯推理服務接口(RelatedSearch Service),利用了獲得規范詞方法 getStandardWord(List

圖2 術語規范流程圖
由于可能存在概念明顯錯誤或者數量過少等問題,需要審核人員對文獻的自動分析結果進行人工校驗。審核人員首先判斷文獻的概念集是否需要新增或者刪除,如果需要新增,那么就在輸入接口中填入術語,利用獲得規范詞方法getStandardWord(List
語義關聯主要基于STKOS建立概念與范疇之間的關系以及概念本身的上位、下位和相關關系。本研究主要實現了在STKOS超級詞表中上位范疇類和概念所屬范疇的獲取以及在STKOS超級詞表中上下位和相關概念的獲取(見表2)。
文獻概念的語義關聯載體也采用通用的SKOS詞表格式,以“人工智能”領域下的文獻為例,定義SKOS詞表屬性的算法如下所示,最終生成的SKOS詞表見圖4。

圖3 審核校驗流程圖

表2 STKOS接口中被使用的方法和功能

圖4 文獻概念的語義關聯簡單知識組織體系詞表圖
foreach概念列表concepts中的概念conceptdo
if RDF中沒有該概念concept,Then定義新的skos:Concept屬性,加入skos:preflabel中;
ifconcept有上位概念,then加入skos:broader中;
if concept有下位概念,then加入skos:narrower中;ifconcept有相關概念,then加入skos:related中;foreach該概念的范疇列表categories中的概念category do
if category在“人工智能”領域詞表里面,then加入skos:category中;
end for end for
筆者已在中科院成都文獻情報中心重要會議開放資源采集與服務系統(以下簡稱采集服務系統)[11]上進行集成和整合,通過應用本標引框架,使得標引人員可以獲得效果較好的推薦信息,快速完成對文獻和會議的準確標引。具體來說,在文獻主題詞規范環節,標引人員可在主題詞列表中對術語規范后的主題詞進行校驗(修改或者刪除),還可調用接口查詢STKOS獲取到新的規范主題詞,并增加到主題詞列表中;校驗完成后,標引人員保存主題詞列表即可完成對單篇文獻標引結果的審核。在學科分類界面圖中,系統除了可以根據文獻主題詞調用接口列出推薦的學科分類列表,還可以調用接口列出STKOS的學科樹,標引人員選擇正確的會議所屬學科分類進行保存即可完成對單個會議標引結果的審核。
STKOS作為面向計算機應用開發的具有一定規模的超級科技詞表,涉及的科技領域范圍廣、科技術語和科技概念數量多。因此,如何利用STKOS有效地服務于外文科技文獻的信息揭示、知識組織和知識發現成為當務之急。本研究針對標引環節可能會遇到的四個應用點,包括領域詞表導出、術語規范、審核校驗和語義關聯等,在STKOS查詢與推理引擎中找出了需要使用的接口方法,形成了一套標引框架,為國內基于STKOS的應用工作提供示范。