劉春江,胡正銀,方 曙,錢 力
(1.中國科學(xué)院成都文獻(xiàn)情報(bào)中心;2.中國科學(xué)院大學(xué);3.中國科學(xué)院文獻(xiàn)情報(bào)中心)
在大數(shù)據(jù)環(huán)境與數(shù)據(jù)密集型科學(xué)研究新范式下,科技文獻(xiàn)知識組織方式向基于概念單元或知識單元的知識組織方向發(fā)展。[1,2]為了滿足多層次、細(xì)粒度知識組織和知識關(guān)聯(lián)的需求,需要采用自動或半自動方式對科技文獻(xiàn)進(jìn)行主題標(biāo)引。從方法上看,文獻(xiàn)的自動標(biāo)引一般都會綜合運(yùn)用統(tǒng)計(jì)學(xué)、語言學(xué)或機(jī)器學(xué)習(xí)等多種抽取方法,但會以某種具體方法為主,如,F(xiàn)rank[3]等主要采用了基于機(jī)器學(xué)習(xí)的抽取方法,使用了懷卡托大學(xué)開發(fā)的關(guān)鍵詞抽取工具(Keyword Extraction Algorithm,KEA),[4]利用訓(xùn)練文檔集建立抽取模型;Hulth[5]主要采用了基于語言學(xué)的抽取方法,使用了愛丁堡大學(xué)開發(fā)的開源工具LT-TTT2,[6]利用文本中的語言學(xué)特征抽取術(shù)語;Plas[7]等主要采用了基于詞典的抽取方法,利用了WordNet[8]詞典中詞匯的基本語義關(guān)系(如IS-A和PART-OF等)及其一詞多義解釋等特點(diǎn)。雖然這些文獻(xiàn)自動標(biāo)引的方法能夠?qū)崿F(xiàn)一定精度的術(shù)語與概念的自動抽取,但是無法更進(jìn)一步實(shí)現(xiàn)術(shù)語的規(guī)范化與概念的關(guān)聯(lián)化,也就不能達(dá)到對文獻(xiàn)進(jìn)行知識組織的最終目的。
科技知識組織體系(Scientific&TechnologicalKnowl edgeOrganization Systems,STKOS)是“十二五”國家科技支撐計(jì)劃“面向外文科技文獻(xiàn)信息的知識組織體系建設(shè)與應(yīng)用示范”項(xiàng)目的核心成果,是一套基于常用自然科學(xué)領(lǐng)域詞表的超級詞表。STKOS術(shù)語發(fā)布與共享服務(wù)平臺[9]提供了一系列標(biāo)準(zhǔn)化、集成化的開放查詢和推理接口,使第三方應(yīng)用可以靈活地將STKOS檢索、查詢和推理功能嵌入到自己的服務(wù)中。[10,11]本文提出了基于STKOS的標(biāo)引框架,實(shí)現(xiàn)了STKOS與標(biāo)引流程的深度嵌入,可以高效地對科技文獻(xiàn)蘊(yùn)含的知識單元進(jìn)行自動化抽取、主題標(biāo)引與語義關(guān)聯(lián)。
基于STKOS的標(biāo)引框架由接口層、數(shù)據(jù)層和業(yè)務(wù)層組成,主要思路如下:① 從文本中自動抽取出一定數(shù)量且能夠表征文獻(xiàn)主題的關(guān)鍵詞,形成術(shù)語集;② 在STKOS超級詞表中檢索與這些術(shù)語相匹配的優(yōu)選詞,實(shí)現(xiàn)術(shù)語到概念的映射,形成概念集;③ 根據(jù)STKOS,建立概念的語義關(guān)聯(lián)(見圖1)。
圖1 基于STKOS的標(biāo)引框架
接口層主要實(shí)現(xiàn)了對STKOS的Webservice開放查詢和推理接口的調(diào)用。數(shù)據(jù)層包含各種非結(jié)構(gòu)化文檔,如論文、專利、專著、標(biāo)準(zhǔn)等,主要是通過對文檔載體(如PDF和WORD)進(jìn)行文本的自動提取。
業(yè)務(wù)層主要展示了STKOS的應(yīng)用環(huán)節(jié)。由于機(jī)器學(xué)習(xí)算法比較成熟,流程清晰,有大量的開源框架可供系統(tǒng)集成,本文使用了基于機(jī)器學(xué)習(xí)的術(shù)語抽取方法。具體的流程是:首先確定文本所屬領(lǐng)域,從STKOS中導(dǎo)出領(lǐng)域詞表,結(jié)合訓(xùn)練集,構(gòu)建領(lǐng)域標(biāo)引模型,然后使用模型對文本進(jìn)行自動標(biāo)引,之后調(diào)用STKOS進(jìn)行術(shù)語規(guī)范,通過人工的審核校驗(yàn),最后基于STKOS對文獻(xiàn)的概念集建立語義關(guān)聯(lián),完成標(biāo)引流程。
本研究選擇KEA來抽取術(shù)語,KEA基于JAVA語言實(shí)現(xiàn),提供基于簡單知識組織系統(tǒng)(SimpleKnowledge OrganizaticnSystem,SKOS)詞表的自動關(guān)鍵詞抽取。
從標(biāo)引框架可以看出,構(gòu)建面向領(lǐng)域的標(biāo)引模型非常重要。具體來說,建立模型分三步完成。
(1)從STKOS中導(dǎo)出相關(guān)范疇的領(lǐng)域詞表。筆者實(shí)現(xiàn)了STKOS查詢與推理引擎的瀏覽服務(wù)接口(Browser Service)和關(guān)聯(lián)推理服務(wù)接口 (RelatedSearch Service)。針對瀏覽服務(wù)接口,主要實(shí)現(xiàn)了在STKOS超級詞表中下位范疇類的獲取和范疇下概念的獲?。会槍﹃P(guān)聯(lián)推理服務(wù)接口,主要實(shí)現(xiàn)了在STKOS超級詞表中上下位和相關(guān)概念的獲取(見表1)。
表1 STKOS接口中被使用的方法和功能
領(lǐng)域詞表的載體采用了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有相關(guān)概念,Then加入skos:related中;
end for
end while
(2)構(gòu)建訓(xùn)練集。任意選擇一定數(shù)量的文獻(xiàn),針對每篇文獻(xiàn),將文本內(nèi)容放到“txt”為后綴的文件中,由領(lǐng)域?qū)<覐念I(lǐng)域詞表中選擇數(shù)量不等的概念作為標(biāo)引詞,將標(biāo)引詞放到“key”為后綴的文件中,兩個文件的文件名必須一致。
(3)建立模型?;陬I(lǐng)域詞表和訓(xùn)練集構(gòu)建標(biāo)引模型,模型建立的步驟如下:① 在任意文件夾下新建模型根目錄,如“AI”;② 在“AI”下面針對抽取文本的語種建立目錄,如,“en”表示抽取文本的語種是英語,同時建立詞表目錄“vocabulary”;③ 在“en”下面建立訓(xùn)練集目錄,如“train”;④ 把訓(xùn)練集(包含多個txt和key文件組)放到訓(xùn)練集目錄下面;把前面生成的領(lǐng)域詞表放到詞表目錄下面;⑤ 在程序中設(shè)置相關(guān)參數(shù),包括詞表位置、格式和編碼等,然后執(zhí)行程序,會在“en”目錄下生成模型文件“model”。
標(biāo)引模型和領(lǐng)域詞表建立完成后,就可以基于該模型文件和SKOS詞表,利用KEA對輸入文檔集進(jìn)行術(shù)語的自動抽取,針對每篇文檔形成術(shù)語集。
在術(shù)語集里面,術(shù)語有可能不在領(lǐng)域詞表的概念之中,因此需要利用STKOS進(jìn)行概念規(guī)范,概念規(guī)范由術(shù)語規(guī)范和審核校驗(yàn)兩個環(huán)節(jié)組成。在術(shù)語規(guī)范過程中,筆者實(shí)現(xiàn)了STKOS查詢與推理引擎的關(guān)聯(lián)推理服務(wù)接口(RelatedSearch Service),利用了獲得規(guī)范詞方法 getStandardWord(List
圖2 術(shù)語規(guī)范流程圖
由于可能存在概念明顯錯誤或者數(shù)量過少等問題,需要審核人員對文獻(xiàn)的自動分析結(jié)果進(jìn)行人工校驗(yàn)。審核人員首先判斷文獻(xiàn)的概念集是否需要新增或者刪除,如果需要新增,那么就在輸入接口中填入術(shù)語,利用獲得規(guī)范詞方法getStandardWord(List
語義關(guān)聯(lián)主要基于STKOS建立概念與范疇之間的關(guān)系以及概念本身的上位、下位和相關(guān)關(guān)系。本研究主要實(shí)現(xiàn)了在STKOS超級詞表中上位范疇類和概念所屬范疇的獲取以及在STKOS超級詞表中上下位和相關(guān)概念的獲取(見表2)。
文獻(xiàn)概念的語義關(guān)聯(lián)載體也采用通用的SKOS詞表格式,以“人工智能”領(lǐng)域下的文獻(xiàn)為例,定義SKOS詞表屬性的算法如下所示,最終生成的SKOS詞表見圖4。
圖3 審核校驗(yàn)流程圖
表2 STKOS接口中被使用的方法和功能
圖4 文獻(xiàn)概念的語義關(guān)聯(lián)簡單知識組織體系詞表圖
foreach概念列表concepts中的概念conceptdo
if RDF中沒有該概念concept,Then定義新的skos:Concept屬性,加入skos:preflabel中;
ifconcept有上位概念,then加入skos:broader中;
if concept有下位概念,then加入skos:narrower中;ifconcept有相關(guān)概念,then加入skos:related中;foreach該概念的范疇列表categories中的概念category do
if category在“人工智能”領(lǐng)域詞表里面,then加入skos:category中;
end for end for
筆者已在中科院成都文獻(xiàn)情報(bào)中心重要會議開放資源采集與服務(wù)系統(tǒng)(以下簡稱采集服務(wù)系統(tǒng))[11]上進(jìn)行集成和整合,通過應(yīng)用本標(biāo)引框架,使得標(biāo)引人員可以獲得效果較好的推薦信息,快速完成對文獻(xiàn)和會議的準(zhǔn)確標(biāo)引。具體來說,在文獻(xiàn)主題詞規(guī)范環(huán)節(jié),標(biāo)引人員可在主題詞列表中對術(shù)語規(guī)范后的主題詞進(jìn)行校驗(yàn)(修改或者刪除),還可調(diào)用接口查詢STKOS獲取到新的規(guī)范主題詞,并增加到主題詞列表中;校驗(yàn)完成后,標(biāo)引人員保存主題詞列表即可完成對單篇文獻(xiàn)標(biāo)引結(jié)果的審核。在學(xué)科分類界面圖中,系統(tǒng)除了可以根據(jù)文獻(xiàn)主題詞調(diào)用接口列出推薦的學(xué)科分類列表,還可以調(diào)用接口列出STKOS的學(xué)科樹,標(biāo)引人員選擇正確的會議所屬學(xué)科分類進(jìn)行保存即可完成對單個會議標(biāo)引結(jié)果的審核。
STKOS作為面向計(jì)算機(jī)應(yīng)用開發(fā)的具有一定規(guī)模的超級科技詞表,涉及的科技領(lǐng)域范圍廣、科技術(shù)語和科技概念數(shù)量多。因此,如何利用STKOS有效地服務(wù)于外文科技文獻(xiàn)的信息揭示、知識組織和知識發(fā)現(xiàn)成為當(dāng)務(wù)之急。本研究針對標(biāo)引環(huán)節(jié)可能會遇到的四個應(yīng)用點(diǎn),包括領(lǐng)域詞表導(dǎo)出、術(shù)語規(guī)范、審核校驗(yàn)和語義關(guān)聯(lián)等,在STKOS查詢與推理引擎中找出了需要使用的接口方法,形成了一套標(biāo)引框架,為國內(nèi)基于STKOS的應(yīng)用工作提供示范。