oke-challenge (https://github.com/anuzzolese/oke-challenge) Task 2: Class Induction and entity typing for Vocabulary and Knowledge Base enrichment.
- (i) identify the type(s) of the given entity as they are expressed in the given definition,
- (ii) create a owl:Class statement for defining each of them as a new class in the target knowledge base,
- (iii) create a rdf:type statement between the given entity and the new created classes, and
- (iv) align the identified types, if a correct alignment is available, to a set of given types.
J. Gao and S. Mazumdar. Exploiting linked open data to uncover entity type. In Proceedings of the OKE Challenge 2015 co-located with the 12th Extended Semantic Web Conference (ESWC 2015), 2015.
Prerequisite to run:
-
install python 3+
-
install libraries:
$ sudo pip3 install flask $ sudo pip3 install -U nltk $ sudo pip3 install -U numpy scipy scikit-learn $ sudo pip3 install -U distance
===Download NLTK data===== Run the Python interpreter and type the commands: import nltk nltk.download()
-
need the access to DBpedia
- run test example
-
/oke-extractor/oke/oak/$ /usr/bin/python3.4 okeConceptRecogniser.py
Directly run okeConceptRecogniser.py will process test file in "../test/task2_test.ttl" and output result in "../test/task2_test_output.ttl"
-
run with webservice
start webservice-
/oke-extractor/oke/oak/$/usr/bin/python3.4 conceptRecognitionWS.py
This will start a web service via localhost:5000 with a RESTful API "http://localhost:5000/extract". API accepts N3 formatted NIF data input and output enriched N3 formatted NIF data. oke.oak.TestOKEConceptRecogniserWS.py gives an example how to test the API.Example test via cURL:
curl -i -X POST http://localhost:5000/extract -H "Content-Type: text/xml" --data-binary "@path-to-file\task2_test.ttl"
-
Official results is published in https://github.com/anuzzolese/oke-challenge. Annotator related to this work is OAK@Sheffield