[OntoThesaHIMS,Web,Service,API及其应用研究] MS应用
发布时间:2020-03-07 来源: 人生感悟 点击:
[摘要]描述中文叙词表本体共建共享系统(OTCSS)所提供的Web ServiceAPI(OntoThesaurus-API)。OntoThesaums-API现有7类16个通用的API,用来满足M2M形式的术语学服务,并可根据新的需求进行扩展。以OntoThesaums-API在OPAC中的应用为例,详细介绍其使用方法。最后对OntoThesaurus-API在其他领域的应用做进一步的展望。
[关键词]叙词表 本体 中文叙词表本体 OntoThesaurus-API Web Service
[分类号]G254 TP393.09
1 前 言
国家社会科学基金课题(编号"O5CTQ001")课题组构建了中文叙词表本体(OntoThesaurus),即利用本体技术对中文叙词表进行形式化描述和扩展,使中文叙词表成为机器真正可理解的本体知识库,增强了中文叙词表的共享性,并运用Jena、SPARQL等技术,实现了中文叙词表本体共建共享系统OTCSS。该系统解决了中文叙词表本体的网络共建共享和动态完善问题,为OntoThesaurus提供了检索/获取、一致性检测、修订意见发送、知识提取、词表管理/发布等功能。为了进一步提供面向应用系统的术语学服务,我们基于Apache的Axis2开发了一系列Web Service API(On-toThesaums-API)。
2 OntoThesaurus-API
Web Service是一种可以通过网络进行发布、发现、调用的新应用。它使用WSDL语言来描述应用操作的接口,通过XML消息传递的机制,让其他应用程序通过网络来访问这些操作。其目的是为了不同的程序之间可以进行交互,实现应用程序间的通信。因此通过Web Service,可以有效地解决M2M(Machineto Machine)的互操作问题。如图书馆信息管理系统、数据库检索系统、搜索引擎、标签系统等,不管这些系统基于什么平台开发、采用何种开发语言,都可以使用OntoThesaurus-API提供的服务,来实现基于中文叙词表本体的智能检索、知识链接和知识服务。
随着Web Service的提出与发展,各大程序语言平台(Java,Net等)都对Web Service提供了支持,并涌现了一批开源的Web Service开发框架,如XFire、Axis2。Axis2是Apache下的第三代Web服务引擎,它比前一个版本Axis更高效、更模块化、更面向XMLt。Axis2既可以作为独立的Web服务平台,也可以内嵌到具体的Web应用程序中。因此,我们选用了Axis2作为OTCSS系统的Web Service开发平台。
在研究了参考文献[8]第4.3.2节中的术语学服务描述以及SKOS API 的服务内容之后,针对中文叙词表本体的术语学服务具体需求,我们开发了以下7类共16个通用的Web Service API(另有若干个API用于特定的叙词表,并可以根据新的需求进行扩展)。
?获取叙词。
①public Concept[]getConcepts(String key word.int matching_mode,int search field)
该接口的作用是通过各种检索关键字检索并获取叙词。其中,参数key_word为检索关键字(检索值);参数matching_mode为匹配方式(0:精确匹配1:前方一致2:任意一致其中任意一致检索只能用于叙词(入口词)项以及英译名项);参数search_field表示检索项(0:叙词(入口词)1:自定义分类号2:《中国图书馆分类法》分类号(中图法分类号)3:英译名)。如果查找结果为空则返回null,否则返回Concept(系统中定义的类,其属性有叙词名、叙词类型)数组。
?获取叙词的数据类型属性(DatatypeProperty)。
②public String getConceptAndCLCCodef String con-cept,String separator)
通过指定的叙词获取相应的叙词及其《中图法》分类号。其中,参数concept为指定的叙词;参数sepa.rator为指定的分隔符号。该接口返回的结果是以sep.arator作为分隔的叙词及其分类号字符串。
③public String getConceptAndEngCounterpart(String concept,String separator)
通过指定的叙词获取相应叙词及其英译名。其中,参数concept、separator的说明同②。该接口返回的结果是以separator作为分隔的叙词及其英译名字符串。
④public String getEngCounterpartForConcept(Stringconcept,String separator)
通过指定的叙词获取相应叙词的英译名。其中,参数concept、separator的说明同②。该接口返回的结果是指定叙词的以separator作为分隔的所有英译名字符串。
?获取叙词的等同关系词(入口词)。
⑤public String getConceptAndNTerm(String con-cept,String separator)
通过指定的叙词获取相应叙词及其人口词(同义词)。其中,参数concept、separator的说明同②。该接口返回的结果是以separator作为分隔的叙词及其入口词字符串。
⑥public String getNTermForConcept(String concept,String separator)
通过指定的叙词获取相应叙词的入口词。其中.参数concept、separator的说明同②。该接口返回的结果是指定叙词的以separator作为分隔的所有入口词字符串。
?获取叙词的等级关系词(以及等级关系的子关系词)。
⑦public String getConceptAndBroader f String con-cept,String separator)
通过指定的叙词获取相应叙词及其直接上位词。其中,参数concept、separator的说明同②。该接口返回的结果是以separator作为分隔的叙词及其直接上位词字符串。
⑧pubic String getBroaderByLevel(String concept。String separator,intlevel)
通过指定的叙词和指定的级数获取相应叙词的指定级数以内的所有上位词。其中,参数concept为指定的叙词;参数separator为分隔符号;参数level为所获取上位词的级数,从1开始(直接上位词级数为1)。 该接口返回的结果是指定叙词的指定级数以内的所有上位词,并以separator作为分隔的字符串。
⑨public String getBroaderByPath(String concept.String separator,String subproperty,in level)
通过指定的叙词和指定的上位词子关系、级数获取相应叙词的指定级数以内的指定子关系上位词。其中,参数concept为指定的叙词;参数separator为分隔符号;参数subproperty为指定需要获取的上位词子关系属性(类属/实例/整体-部分);level为获取子关系上位词的级数,从1开始(直接子关系上位词级数为1)。该接口返回的结果是指定叙词、指定级数以内的所有指定子关系上位词,并以separator作为分隔的字符串。
⑩public String getConceptAndNarrower(String con-cept,String separator)
通过指定的叙词获取相应叙词及其直接下位词。其中,参数concept、separator的说明同②。该接口返回的结果是以separator作为分隔的叙词及其直接下位词字符串。
⑾public String getNarrowerByLevel(String concept。String separator,int level)
通过指定的叙词和指定的级数获取相应叙词的指定级数以内的所有下位词。其中,参数concept为指定的叙词;参数separator为分隔符号;参数level为所获取下位词的级数,从1开始(直接下位词级数为1)。该接口返回的结果是指定叙词的指定级数以内的所有下位词,并以separator作为分隔的字符串。
⑿public String getNarrowerByPath(String concept,String separator,String subproperty,int levet)
通过指定的叙词和指定的下位词子关系、级数获取相应叙词的指定级数以内的指定子关系下位词。其中,参数concept为指定的叙词;参数separator为分隔符号;参数subproperty为指定需要获取的下位词子关系属性(类属/实例/整体一部分);level为获取子关系下位词的级数,从1开始(直接子关系下位词级数为1)。该接口返回的结果是指定叙词、指定级数以内的所有指定子关系下位词,并以separator作为分隔的字符串。
?获取叙词的相关关系词(以及相关关系的子关系词)。
⒀public String getRelmed(String concept,String separator)
通过指定的叙词获取相应叙词的相关词。其中,参数concept、separator的说明同②。该接口返回的结果是指定叙词的以separator作为分隔的所有相关词字符串。
⒁public String getRelatedByPath(String concept,String separator,string subproperty)
通过指定的叙词和指定的相关关系子关系获取相应叙词的指定子关系相关词。其中,参数concept为指定的叙词;参数separator为分隔符号;参数subproperty为指定需要获取的相关关系的子关系。该接口返回的结果是指定叙词的所有指定子关系相关词,并以sepa-rator作为分隔的字符串。
?获取叙词的完整款目信息。
⒂public ConceptProperty[]getConceptProperties(String concept)
获取指定叙词的所有属性-属性值(即叙词款目信息)。其中,参数concept为指定的叙词。该接口返回的结果是:如果叙词不存在或该叙词不存在任何属性一属性值,返回null,否则返回ConceptProperty(系统中定义的类,其属性有Concept数组、Property、String数组,其中Property表示叙词款目具体属性,如分类号、上位词;而该属性所对应的多个属性值则根据属性值类型为叙词(人口词)或字符串值分别写入Concept数组或String数组中)数组。
?获取OntoThesaurus中支持的所有属性的信息。
⒃public Prope~y[]getProperties()
获取OntoThesaurus中支持的所有属性名称及其comment、label等信息。Property为系统中定义的类,其属性有name、label、comment,分别用于表示属性名、属性标签、属性注释。
3 ontoThesaurus-API的使用方法
3.1 OntoThesaurus-API的应用示例
Web Service的使用比较简单。目前一般采用以下三种调用方法(程序员无需了解具体的SOAP协议):①使用程序语言平台本身提供的对Web Service调用的支持;②通过其他公司或机构提供的组件进行访问,如微软的htc组件、Axis2开发包等;③直接通过URL地址访问。
下面我们以图书馆信息管理系统中的公共联机书目查询系统OPAC为例,详细介绍OntoThesaums―API的使用方法。其他应用系统可参照此过程开发自己的具体应用。
在OPAC中,可以利用OTCSS提供的API,进行扩展性的智能检索应用。比如规范化检索:对于用户输入的检索词,系统运用OntoThesaurus-API进行检测,如果检索词为某一个主题词的入口词,系统将会使用该主题词代替此检索词进行检索,否则就使用原检索词进行检索。下面以此为例来说明如何调用OntoThesau-rus-API来增强OPAC的服务。在本例中,采用直接访问URL的方式调用CCT_0TCSS(根据《中国分类主题词表》一版局部建立)的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),把这个主题词的 所有款目信息输出到检索结果页面,供用户浏览,用户还可以利用这个主题词的上下位词等款目信息继续进行检索。调用的步骤与上述步骤几乎一致,不同之处在于调用的URL地址以及对返回结果的解析过程。
例如,检索“公断”这个词,系统利用OntoThesau.ms-API找出“公断”的正式主题词为“仲裁”,并使用“仲裁”进行主题词检索,显示检索结果如图2所示:
读者可点击“完整叙词款目”查看“仲裁”的叙词款目信息,如图3所示:
3.2 OntoThesaurus-API在其他方面的应用
利用OntoThesaurus-API,可以在OPAC中实现规范化检索,分类号、英译名扩展检索,上位词、下位词、相关词(或它们的子关系词)的扩展检索等,为读者提供更准确、更强大的检索服务。
在图书馆信息管理系统的编目子系统中,Onto-Thesaurus-API可以为标引员提供内嵌式的辅助标引功能,帮助标引员使用更为准确的主题词进行更快捷的标引。
此外,OntoThesaurus-API还可以应用在其他领域。如在CNKI等数据库检索系统中,在主题词、关键词的检索功能上,可以使用它来辅助完成规范化检索、上下位扩展检索等功能;在搜索引擎中,可以利用此服务获取更多的检索词形态;在众多支持Tag的应用程序中,可以使用OntoThesaurus-API为用户输入的标签进行规范化的提示,使用户输人的标签更为规范化;在面向主题词的数据挖掘中,可运用OntoThesaurus-API基于主题词及其款目信息对数据进行挖掘、统计;在机器学习中,通过OntoThesaurus-API,可以提供同义词辨析机制和主题词分析机制,进行与主题词相关的信息抽取等。
上述所有的应用都可以通过Web Service调用的标准方法,在不同的应用平台上进行实现。
4 结 语
基于Web Service技术开发的OntoThesaurus.API可以非常广泛地应用到其他应用系统中,促进新信息环境下知识服务的发展。本文通过OPAC应用实例详细阐述了这些OntoThesaurus Web Service API的使用方法。相关领域应用系统的开发者可以参考这些方法,根据具体的OTCSS系统提供的Web Service API开发自己的具体应用。OntoThesaums-API今后还可以针对新的需求,扩展提供其他服务,如支持返回JSON数据格式,支持叙词修订信息采集Web Service等。
相关热词搜索:及其应用 研究 Web OntoThesaHIMS Web Service API及其应用研究 web service api文档 webservice apibeta
热点文章阅读