[OntoThesaHIMS,Web,Service,API及其應(yīng)用研究] MS應(yīng)用
發(fā)布時間:2020-03-07 來源: 人生感悟 點擊:
[摘要]描述中文敘詞表本體共建共享系統(tǒng)(OTCSS)所提供的Web ServiceAPI(OntoThesaurus-API)。OntoThesaums-API現(xiàn)有7類16個通用的API,用來滿足M2M形式的術(shù)語學服務(wù),并可根據(jù)新的需求進行擴展。以O(shè)ntoThesaums-API在OPAC中的應(yīng)用為例,詳細介紹其使用方法。最后對OntoThesaurus-API在其他領(lǐng)域的應(yīng)用做進一步的展望。
[關(guān)鍵詞]敘詞表 本體 中文敘詞表本體 OntoThesaurus-API Web Service
[分類號]G254 TP393.09
1 前 言
國家社會科學基金課題(編號"O5CTQ001")課題組構(gòu)建了中文敘詞表本體(OntoThesaurus),即利用本體技術(shù)對中文敘詞表進行形式化描述和擴展,使中文敘詞表成為機器真正可理解的本體知識庫,增強了中文敘詞表的共享性,并運用Jena、SPARQL等技術(shù),實現(xiàn)了中文敘詞表本體共建共享系統(tǒng)OTCSS。該系統(tǒng)解決了中文敘詞表本體的網(wǎng)絡(luò)共建共享和動態(tài)完善問題,為OntoThesaurus提供了檢索/獲取、一致性檢測、修訂意見發(fā)送、知識提取、詞表管理/發(fā)布等功能。為了進一步提供面向應(yīng)用系統(tǒng)的術(shù)語學服務(wù),我們基于Apache的Axis2開發(fā)了一系列Web Service API(On-toThesaums-API)。
2 OntoThesaurus-API
Web Service是一種可以通過網(wǎng)絡(luò)進行發(fā)布、發(fā)現(xiàn)、調(diào)用的新應(yīng)用。它使用WSDL語言來描述應(yīng)用操作的接口,通過XML消息傳遞的機制,讓其他應(yīng)用程序通過網(wǎng)絡(luò)來訪問這些操作。其目的是為了不同的程序之間可以進行交互,實現(xiàn)應(yīng)用程序間的通信。因此通過Web Service,可以有效地解決M2M(Machineto Machine)的互操作問題。如圖書館信息管理系統(tǒng)、數(shù)據(jù)庫檢索系統(tǒng)、搜索引擎、標簽系統(tǒng)等,不管這些系統(tǒng)基于什么平臺開發(fā)、采用何種開發(fā)語言,都可以使用OntoThesaurus-API提供的服務(wù),來實現(xiàn)基于中文敘詞表本體的智能檢索、知識鏈接和知識服務(wù)。
隨著Web Service的提出與發(fā)展,各大程序語言平臺(Java,Net等)都對Web Service提供了支持,并涌現(xiàn)了一批開源的Web Service開發(fā)框架,如XFire、Axis2。Axis2是Apache下的第三代Web服務(wù)引擎,它比前一個版本Axis更高效、更模塊化、更面向XMLt。Axis2既可以作為獨立的Web服務(wù)平臺,也可以內(nèi)嵌到具體的Web應(yīng)用程序中。因此,我們選用了Axis2作為OTCSS系統(tǒng)的Web Service開發(fā)平臺。
在研究了參考文獻[8]第4.3.2節(jié)中的術(shù)語學服務(wù)描述以及SKOS API 的服務(wù)內(nèi)容之后,針對中文敘詞表本體的術(shù)語學服務(wù)具體需求,我們開發(fā)了以下7類共16個通用的Web Service API(另有若干個API用于特定的敘詞表,并可以根據(jù)新的需求進行擴展)。
?獲取敘詞。
、賞ublic Concept[]getConcepts(String key word.int matching_mode,int search field)
該接口的作用是通過各種檢索關(guān)鍵字檢索并獲取敘詞。其中,參數(shù)key_word為檢索關(guān)鍵字(檢索值);參數(shù)matching_mode為匹配方式(0:精確匹配1:前方一致2:任意一致其中任意一致檢索只能用于敘詞(入口詞)項以及英譯名項);參數(shù)search_field表示檢索項(0:敘詞(入口詞)1:自定義分類號2:《中國圖書館分類法》分類號(中圖法分類號)3:英譯名)。如果查找結(jié)果為空則返回null,否則返回Concept(系統(tǒng)中定義的類,其屬性有敘詞名、敘詞類型)數(shù)組。
?獲取敘詞的數(shù)據(jù)類型屬性(DatatypeProperty)。
、趐ublic String getConceptAndCLCCodef String con-cept,String separator)
通過指定的敘詞獲取相應(yīng)的敘詞及其《中圖法》分類號。其中,參數(shù)concept為指定的敘詞;參數(shù)sepa.rator為指定的分隔符號。該接口返回的結(jié)果是以sep.arator作為分隔的敘詞及其分類號字符串。
③public String getConceptAndEngCounterpart(String concept,String separator)
通過指定的敘詞獲取相應(yīng)敘詞及其英譯名。其中,參數(shù)concept、separator的說明同②。該接口返回的結(jié)果是以separator作為分隔的敘詞及其英譯名字符串。
、躳ublic String getEngCounterpartForConcept(Stringconcept,String separator)
通過指定的敘詞獲取相應(yīng)敘詞的英譯名。其中,參數(shù)concept、separator的說明同②。該接口返回的結(jié)果是指定敘詞的以separator作為分隔的所有英譯名字符串。
?獲取敘詞的等同關(guān)系詞(入口詞)。
、輕ublic String getConceptAndNTerm(String con-cept,String separator)
通過指定的敘詞獲取相應(yīng)敘詞及其人口詞(同義詞)。其中,參數(shù)concept、separator的說明同②。該接口返回的結(jié)果是以separator作為分隔的敘詞及其入口詞字符串。
、辮ublic String getNTermForConcept(String concept,String separator)
通過指定的敘詞獲取相應(yīng)敘詞的入口詞。其中.參數(shù)concept、separator的說明同②。該接口返回的結(jié)果是指定敘詞的以separator作為分隔的所有入口詞字符串。
?獲取敘詞的等級關(guān)系詞(以及等級關(guān)系的子關(guān)系詞)。
、遬ublic String getConceptAndBroader f String con-cept,String separator)
通過指定的敘詞獲取相應(yīng)敘詞及其直接上位詞。其中,參數(shù)concept、separator的說明同②。該接口返回的結(jié)果是以separator作為分隔的敘詞及其直接上位詞字符串。
、鄍ubic String getBroaderByLevel(String concept。String separator,intlevel)
通過指定的敘詞和指定的級數(shù)獲取相應(yīng)敘詞的指定級數(shù)以內(nèi)的所有上位詞。其中,參數(shù)concept為指定的敘詞;參數(shù)separator為分隔符號;參數(shù)level為所獲取上位詞的級數(shù),從1開始(直接上位詞級數(shù)為1)。 該接口返回的結(jié)果是指定敘詞的指定級數(shù)以內(nèi)的所有上位詞,并以separator作為分隔的字符串。
⑨public String getBroaderByPath(String concept.String separator,String subproperty,in level)
通過指定的敘詞和指定的上位詞子關(guān)系、級數(shù)獲取相應(yīng)敘詞的指定級數(shù)以內(nèi)的指定子關(guān)系上位詞。其中,參數(shù)concept為指定的敘詞;參數(shù)separator為分隔符號;參數(shù)subproperty為指定需要獲取的上位詞子關(guān)系屬性(類屬/實例/整體-部分);level為獲取子關(guān)系上位詞的級數(shù),從1開始(直接子關(guān)系上位詞級數(shù)為1)。該接口返回的結(jié)果是指定敘詞、指定級數(shù)以內(nèi)的所有指定子關(guān)系上位詞,并以separator作為分隔的字符串。
、鈖ublic String getConceptAndNarrower(String con-cept,String separator)
通過指定的敘詞獲取相應(yīng)敘詞及其直接下位詞。其中,參數(shù)concept、separator的說明同②。該接口返回的結(jié)果是以separator作為分隔的敘詞及其直接下位詞字符串。
、蟨ublic String getNarrowerByLevel(String concept。String separator,int level)
通過指定的敘詞和指定的級數(shù)獲取相應(yīng)敘詞的指定級數(shù)以內(nèi)的所有下位詞。其中,參數(shù)concept為指定的敘詞;參數(shù)separator為分隔符號;參數(shù)level為所獲取下位詞的級數(shù),從1開始(直接下位詞級數(shù)為1)。該接口返回的結(jié)果是指定敘詞的指定級數(shù)以內(nèi)的所有下位詞,并以separator作為分隔的字符串。
、衟ublic String getNarrowerByPath(String concept,String separator,String subproperty,int levet)
通過指定的敘詞和指定的下位詞子關(guān)系、級數(shù)獲取相應(yīng)敘詞的指定級數(shù)以內(nèi)的指定子關(guān)系下位詞。其中,參數(shù)concept為指定的敘詞;參數(shù)separator為分隔符號;參數(shù)subproperty為指定需要獲取的下位詞子關(guān)系屬性(類屬/實例/整體一部分);level為獲取子關(guān)系下位詞的級數(shù),從1開始(直接子關(guān)系下位詞級數(shù)為1)。該接口返回的結(jié)果是指定敘詞、指定級數(shù)以內(nèi)的所有指定子關(guān)系下位詞,并以separator作為分隔的字符串。
?獲取敘詞的相關(guān)關(guān)系詞(以及相關(guān)關(guān)系的子關(guān)系詞)。
⒀public String getRelmed(String concept,String separator)
通過指定的敘詞獲取相應(yīng)敘詞的相關(guān)詞。其中,參數(shù)concept、separator的說明同②。該接口返回的結(jié)果是指定敘詞的以separator作為分隔的所有相關(guān)詞字符串。
⒁public String getRelatedByPath(String concept,String separator,string subproperty)
通過指定的敘詞和指定的相關(guān)關(guān)系子關(guān)系獲取相應(yīng)敘詞的指定子關(guān)系相關(guān)詞。其中,參數(shù)concept為指定的敘詞;參數(shù)separator為分隔符號;參數(shù)subproperty為指定需要獲取的相關(guān)關(guān)系的子關(guān)系。該接口返回的結(jié)果是指定敘詞的所有指定子關(guān)系相關(guān)詞,并以sepa-rator作為分隔的字符串。
?獲取敘詞的完整款目信息。
、觩ublic ConceptProperty[]getConceptProperties(String concept)
獲取指定敘詞的所有屬性-屬性值(即敘詞款目信息)。其中,參數(shù)concept為指定的敘詞。該接口返回的結(jié)果是:如果敘詞不存在或該敘詞不存在任何屬性一屬性值,返回null,否則返回ConceptProperty(系統(tǒng)中定義的類,其屬性有Concept數(shù)組、Property、String數(shù)組,其中Property表示敘詞款目具體屬性,如分類號、上位詞;而該屬性所對應(yīng)的多個屬性值則根據(jù)屬性值類型為敘詞(人口詞)或字符串值分別寫入Concept數(shù)組或String數(shù)組中)數(shù)組。
?獲取OntoThesaurus中支持的所有屬性的信息。
、詐ublic Prope~y[]getProperties()
獲取OntoThesaurus中支持的所有屬性名稱及其comment、label等信息。Property為系統(tǒng)中定義的類,其屬性有name、label、comment,分別用于表示屬性名、屬性標簽、屬性注釋。
3 ontoThesaurus-API的使用方法
3.1 OntoThesaurus-API的應(yīng)用示例
Web Service的使用比較簡單。目前一般采用以下三種調(diào)用方法(程序員無需了解具體的SOAP協(xié)議):①使用程序語言平臺本身提供的對Web Service調(diào)用的支持;②通過其他公司或機構(gòu)提供的組件進行訪問,如微軟的htc組件、Axis2開發(fā)包等;③直接通過URL地址訪問。
下面我們以圖書館信息管理系統(tǒng)中的公共聯(lián)機書目查詢系統(tǒng)OPAC為例,詳細介紹OntoThesaums―API的使用方法。其他應(yīng)用系統(tǒng)可參照此過程開發(fā)自己的具體應(yīng)用。
在OPAC中,可以利用OTCSS提供的API,進行擴展性的智能檢索應(yīng)用。比如規(guī)范化檢索:對于用戶輸入的檢索詞,系統(tǒng)運用OntoThesaurus-API進行檢測,如果檢索詞為某一個主題詞的入口詞,系統(tǒng)將會使用該主題詞代替此檢索詞進行檢索,否則就使用原檢索詞進行檢索。下面以此為例來說明如何調(diào)用OntoThesau-rus-API來增強OPAC的服務(wù)。在本例中,采用直接訪問URL的方式調(diào)用CCT_0TCSS(根據(jù)《中國分類主題詞表》一版局部建立)的Web Service,具體的流程如圖1所示:
圖1中的步驟2的URL地址為:http://210.39.15.167:8080/ThesaumsProjectForCCT/service/Thesau-rusService/getConcepts?key_word={0}&matching-mode=o&search_field=0
其中{o}處填寫檢索詞。
步驟4中所使用的正則表達式為:
(.*?)
在本例中,如果能找到檢索詞的正式主題詞,或者該檢索詞就是一個正式主題詞,還可以運用OntoThe-saurus-API的⒂號API:public ConceptProperty[]getConceptProperties(string concept),把這個主題詞的 所有款目信息輸出到檢索結(jié)果頁面,供用戶瀏覽,用戶還可以利用這個主題詞的上下位詞等款目信息繼續(xù)進行檢索。調(diào)用的步驟與上述步驟幾乎一致,不同之處在于調(diào)用的URL地址以及對返回結(jié)果的解析過程。
例如,檢索“公斷”這個詞,系統(tǒng)利用OntoThesau.ms-API找出“公斷”的正式主題詞為“仲裁”,并使用“仲裁”進行主題詞檢索,顯示檢索結(jié)果如圖2所示:
讀者可點擊“完整敘詞款目”查看“仲裁”的敘詞款目信息,如圖3所示:
3.2 OntoThesaurus-API在其他方面的應(yīng)用
利用OntoThesaurus-API,可以在OPAC中實現(xiàn)規(guī)范化檢索,分類號、英譯名擴展檢索,上位詞、下位詞、相關(guān)詞(或它們的子關(guān)系詞)的擴展檢索等,為讀者提供更準確、更強大的檢索服務(wù)。
在圖書館信息管理系統(tǒng)的編目子系統(tǒng)中,Onto-Thesaurus-API可以為標引員提供內(nèi)嵌式的輔助標引功能,幫助標引員使用更為準確的主題詞進行更快捷的標引。
此外,OntoThesaurus-API還可以應(yīng)用在其他領(lǐng)域。如在CNKI等數(shù)據(jù)庫檢索系統(tǒng)中,在主題詞、關(guān)鍵詞的檢索功能上,可以使用它來輔助完成規(guī)范化檢索、上下位擴展檢索等功能;在搜索引擎中,可以利用此服務(wù)獲取更多的檢索詞形態(tài);在眾多支持Tag的應(yīng)用程序中,可以使用OntoThesaurus-API為用戶輸入的標簽進行規(guī)范化的提示,使用戶輸人的標簽更為規(guī)范化;在面向主題詞的數(shù)據(jù)挖掘中,可運用OntoThesaurus-API基于主題詞及其款目信息對數(shù)據(jù)進行挖掘、統(tǒng)計;在機器學習中,通過OntoThesaurus-API,可以提供同義詞辨析機制和主題詞分析機制,進行與主題詞相關(guān)的信息抽取等。
上述所有的應(yīng)用都可以通過Web Service調(diào)用的標準方法,在不同的應(yīng)用平臺上進行實現(xiàn)。
4 結(jié) 語
基于Web Service技術(shù)開發(fā)的OntoThesaurus.API可以非常廣泛地應(yīng)用到其他應(yīng)用系統(tǒng)中,促進新信息環(huán)境下知識服務(wù)的發(fā)展。本文通過OPAC應(yīng)用實例詳細闡述了這些OntoThesaurus Web Service API的使用方法。相關(guān)領(lǐng)域應(yīng)用系統(tǒng)的開發(fā)者可以參考這些方法,根據(jù)具體的OTCSS系統(tǒng)提供的Web Service API開發(fā)自己的具體應(yīng)用。OntoThesaums-API今后還可以針對新的需求,擴展提供其他服務(wù),如支持返回JSON數(shù)據(jù)格式,支持敘詞修訂信息采集Web Service等。
相關(guān)熱詞搜索:及其應(yīng)用 研究 Web OntoThesaHIMS Web Service API及其應(yīng)用研究 web service api文檔 webservice apibeta
熱點文章閱讀