Conceptmapper Java(1.8版本)库(https://github.com/UCDenver-ccp/ccp-nlp)版本3.3.2,以及语义相似度库(https://github.com/UCDenver-ccp/ccp-nlp)版本0.9.5已使用maven编译。
它们以jar格式在这个包的extdata目录中可用,可以通过。
java库的源代码可在java
包tarball的目录。对编译自己的jar文件感兴趣的用户可以参考以下信息。
的conceptmapper
子目录包含用于用OBO本体中的概念注释文本的java代码。要创建包含所有所需依赖项的jar文件,可以使用maven(使用Apache maven 3.3.9)编译源代码。
的slib
而且相似
子目录包含Java代码,以确定概念之间的语义相似性,并可以根据以下目标分别编译和安装:
#从conceptmapper目录mvn清洁编译程序集:single——Dlog4j.configuration=log4j2。属性#从slib目录mvn清洁安装#从相似目录mvn清洁安装组装:单一
所描述的Java库中实现的方法和类可以通过Onassis中的R函数和方法使用。或者,Java代码可以直接使用rJava
.例如,可以通过以下代码创建一个来自OBO本体文件的字典:
要求(rJava)
##加载所需的包:rJava
#初始化JVM .jinit() #添加jar文件的路径jarfilePath <- file.path(system. path)file('extdata', 'java', 'conceptmapper-0.0.1-SNAPSHOT-jar-with-dependencies.jar', package='OnassisJavaLibs')) . jaddclasspath (jarfilePath) #使用示例obo文件创建onologyutil实例ontoutil <- .jnew("edu.ucdenver.ccp.datasource.fileparsers.obo. jar')onologyutil ", .jnew('java/io/File', File .path(system. path ')文件(“extdata”、“sample.cs。obo', package='OnassisJavaLibs')))) #创建包含conceptmapper字典的输出文件outputFile = .jnew("java/io/ file ", "dict.xml") #从obo本体字典构建字典<- J("edu.ucdenver.ccp.nlp.wrapper.conceptmapper.dictionary. obotodictionary ")$buildDictionary(outputFile, ontoutil, .jnull(), J("edu.ucdenver.ccp. datasourcefileparsers.oboologyutil ")$SynonymType$EXACT)
为了计算同一本体的两个术语之间的语义相似度,相似度库中的类可以这样使用:
添加包含相似度类的相似度库来计算语义相似度file('extdata', 'java', ' Similarity -0.0.1- snapshot -jar-with-dependencies.jar', package='OnassisJavaLibs')) . jaddclasspath (jarfilePath) #创建类的实例相似度相似度<- .jnew("iit/comp/epigen/nlp/ Similarity /Similarity") #以grah结构加载本体file_obo <- file.path(system. path)文件(“extdata”、“sample.cs。obo', package='OnassisJavaLibs')) ontology_graph <- similarity$loadOntology(file_obo) #设置语义相似性度量measure_configuration <- similarity$setPairwiseConfig('resnik', 'seco') #本体的术语需要转换为uri term1 <- 'http://purl.obolibrary.org/obo/CL_0000771' term2 <- 'http://purl.obolibrary.org/obo/CL_0000988' URI1 <- .jcast(similarity$createURI(term1), new.class = "org.openrdf.model。URI", check = FALSE,转换。数组= FALSE) URI2 <- .jcast(相似度$createURI(term2), new.class = "org.openrdf.model. "URI", check = FALSE,转换。数组= FALSE) #语义相似度分数的计算similarity_score <- .jcall(similarity, "D", "pair_similarity", URI1, URI2, .jcast(ontology_graph, new.class = "slib.graph.model.graph.G"), measure_configuration) similarity_score
## [1] 0.04062586
我们要感谢图书馆提供方。
用于conceptmapper管道和定义ccp-nlp类型系统的方法已经由科罗拉多大学的试剂在BSD 3条款许可下开发和发布。
计算语义相似度的方法由Ecole des mines d 'Alès在gpl兼容的CeCILL许可下开发并发布。
这两个许可证都是在包中提供的。