< Home
Logo

Create
TitleCategory DescriptionCreated atMaintainer

1-20 / 24 show all
Answerer 2014Answer generation Description It is an implementation of the answer generation module on the OKBQA architecture. The module gets a list of SPARQL queries as an input (JSON format) and returns the output (JSON format) with a list of answers with their source SPARQL query. The number of returned answers and the time interval (seconds) of SPARQL querying can be configured by GET parameters; an example is shown below. http://ws.okbqa.org:7744/agm?answer_num=5&query_interval=0.1 If configuration is not provided, the default configuration will be used. The default setting of the configuration is as follows: { "conf": { "answer_num": 5, "query_interval": 0.0 } } Scope and limit This implementation is an initial version of an answer generation module, so there are many functionalities can be added to the implementation. The implementation provides only limited configuration fields in an input JSON, the number of answers to be returned and the interval time of SPARQL querying. There can be many configuration fields that can be useful for the entire pipeline to be efficiently tested. 2016-03-05 08:34:24 UTCjiseong@kaist.ac.kr
Answerer 2016Answer generation Main changes It is slightly changed to coherent to controller 2016. Some optimization has been adapted. Limitations Query processing speed (Now resolved) Not yet, AGM 2016 uses scores to prune SPARQL queries to reduce the search space. Currently, the processing time of the entire pipeline is the one of the main issues. In the next version, it can be considered to use of scores to boost up the processing speed. 2016-08-08 06:00:32 UTCjiseong@kaist.ac.kr
Controller 1.1.5Control This module links the inputs and outputs of all modules (template generation modules, disambiguation modules, query generation modules) and returns final answers of an input question string using an answer generation module embedded in the control module. This module supports the address configuration of each module and SPARQL endpoints. The controller 1.1.5 is enhanced version of the initial controller w.r.t. concurrency control and load control. The capability of load control is achieved by adjusting the number of answers to be returned by the additional configuration field ("answer_num"). By adjusting the number of answers, testers can trade off the output time against the output size.2016-01-13 15:31:24 UTCjiseong@kaist.ac.kr
Controller 1.2.0Control Description It is an implementation of the control module on the OKBQA architecture. The module gets question, language, and configuration as an input (JSON format) and returns the output (JSON format) with a list of answers corresponding to the input question with SPARQL queries for getting the answers. Each modules for being used to answer the question can be configured by giving the "conf" field of the input JSON. The example is shown right below. { "string": "Which rivers flow through Seoul?", "language": "en", "conf": { "tgm": ["tgm_address_1", "tgm_address_2", ..., "tgm_address_a"], "dm": ["dm_address_1", "dm_address_2", ..., "dm_address_b"], "qgm": ["qgm_address_1", "qgm_address_2", ..., "qgm_address_c"], "agm": ["agm_address_1", "agm_address_2", ..., "agm_address_d"], "kb": ["kb_address_1", "kb_address_2", ..., "kb_address_e"], "graph_uri": "graph_uri_1", "timelimit": time_limit } } The value of the "timeout" field limits the responding time of each module. If configuration is not provided, the default configuration will be used. The default setting of the configuration is as follows: { "conf": { "tgm": ["http://121.254.173.77:1555/templategeneration/templator/"], "dm": ["http://121.254.173.77:2357/agdistis/run"], "qgm": ["http://121.254.173.77:38401/queries"], "agm": ["http://121.254.173.77:7744/agm"], "kb": ["http://dbpedia.org/sparql"], "graph_uri": "", "timelimit": 10 } } The implementation returns not only answers, but also log messages can be useful for debugging each module by developers. The implementation fully support concurrency control as well. Scope and limit This implementation is an almost initial version of a control module, so there are many functionalities can be added to the implementation. The implementation provides only limited configuration fields in an input JSON, e.g., only addresses of each module. There can be many configuration fields that can be useful for the entire pipeline to be efficiently tested. Currently, KB addresses and a graph URI can be configured independently, which could be undesirable for users who want to specify graph URIs for each KB. It will be revised in the next version of the implementation. 2016-03-05 08:34:52 UTCjiseong@kaist.ac.kr
Controller 2016Control Main changes Extended configuration The arbitrary number of module can be configured. The sequence of modules executed can be configured. A KB address can be configured with a tuple of KB address and graph IRI. Example: https://sites.google.com/site/okbqa4/development/documentation/controller?pli=1 The form of log messages Every output of each module is co-printed with its input. Each log of each module is printed with sorting. Processing times of each module are noticed. Exception messages are simplified. Example: https://sites.google.com/site/okbqa4/development/documentation/controller?pli=1 Asynchronous logging and processing The controller is changed so that the web interface can receive and print log messages and result of the controller asynchronously via the mysql database located in the okbqa server. If you do not specify the "sync" field on the "conf" field of the input json, the controller will return immediately with "rid" value, which is the record ID of a controller's log messages and result written asynchronously on the mysql database. If you specify the "sync" field as "on" value (see the sample input below), the controller will operate in the previous manner that returns log messages and results for an input json, synchronously. Limitations Query processing speed (Now resolved) There are a lot of SPARQL queries produced, which causes the entire processing time of the pipeline. One of solutions can be to filter out the queries with scores under a threshold. To do so, a controller should be able to deal with module-scores properly. 2016-08-08 06:00:04 UTCjiseong@kaist.ac.kr
AGDISTIS-KODisambiguation # Description Disambiguator uses the AGDISTIS web service to disambiguate URIs for class, property and resources, and then maps them within the result of Templator. So, for the Korean Disambiguator, anyone can use this module. I/O is exactly same with AGDISTIS-en. # Function AGDISTIS-ko works as a sub-module of Disambiguator. It works to disambiguate the URIs for each entities. # Scope and limit Currently (March, 2016), AGDISTIS-ko's algorithm is exactly same with AGDISTIS-en's. It works for Korean, and disambiguates entites within DBpedia URIs # Issues and discusion * Do you want to develop Korean Disambiguator? If you want, there are two remaining development issue. 1. The NER module including this processe: NER and generate the output as well as the input of AGDISTIS-ko (you can see the example) 2. The Wrapper module: Input: Templator output Output: Disambiguator output * How to run the service $ cd /home/b11_2015/AGDISTIS-ko/AGDISTIS $ mvn exec:java Maintainer: Younggyun Hahm {hahmyg@kaist.ac.kr}2015-08-28 06:30:36 UTCzakria.ai@gmail.com
DisambiguatorDisambiguation Description Disambiguator is a module to disambiguate class, properties and resouces within the output of Templator. Each URIs depends on knowledge base what we use. Then SPARQL query would be generated from the output of Disambiguator and Templator using QueryGenerator. Function Disambiguator is a module to disambiguate class, properties and resouces within the output of Templator. For instance, the sentence "Which rivers flow through Seoul?", Disambiguator detects entities using FOX (rivers, flow, Seoul) and disambiguates entities using AGDISTIS. (class:river, dbo:city, res:Seoul) Scope and limit Currently (March, 2016), Disambiguator works for only English. FOX and AGDISTIS-en are used. Also, now Disambiguator identifies entitis within DBpedia URIs only. Issues and discusion Is it work for Korean also? Not yet (January 13, 2016, OKBQA3.5). We have developed AGDISTIS-ko for Korean to disambiguate entities, which has exactly same I/O as well as AGDISTIS. However, there are some remaining works. please refer bellow section. This task would be a one of major tasks at OKBQA4(http://4.okbqa.org) Do you want to develop Korean Disambiguator? If you want, there are two remaining development issue. 1. The NER module including this processe: NER and generate the output as well as the input of AGDISTIS-ko. 2. The Wrapper module: Input: Templator output Output: Disambiguator output Contacts Maintainer: Axel-Cyrille Ngonga Ngomo {ngonga@informatik.uni-leipzig.de} For information about Korean Disambiguator, please contact Younggyun Hahm {hahmyg@kaist.ac.kr}2016-01-12 17:43:11 UTChahmyg@kaist.ac.kr
DM JAVA WRAPPERDisambiguation Description It is a warpper for Java Disambiguation Module(DM). If you want to develop a new DM module, you can use it as a template for OKBQA pipeline. Because it has a function for format validation of input and output, and is also developed using REST API. The sample input and output are written by Korean. But you can also using by English.2016-01-13 10:42:28 UTCnam.sangha@gmail.com
DM Python WrapperDisambiguation This is a disambiguation module wrapper for python programmers. In the codes, it takes a input by RESTful API and checks whether it is the right form of an input of DM. The following of the codes are for programmers to implement their own disambiguation logic. The last of the codes takes an output from the results of programmers' logic and checks whether it is the right form of an DM output, and then returns it to clients by RESTful API.2016-06-24 07:16:17 UTCjiseong@kaist.ac.kr
StarGraph Disambiguation Module Disambiguation Disambiguation module which uses distributional semantics for mapping terms to entities.2016-07-21 02:17:27 UTCandrenfreitas@gmail.com
Korean DMDisambiguation # Description Korean DM is the first version of Korean Disambiguation Module. It uses pre-defined attributes and ELU to disambiguate property & entities # Function Korean DM find corresponding entities and properties from the output of TGM. Based on the given information it tried to find the best matching for verbalized variables. The result is returned as three categories (properties / classes / entities) with its variables. # Scope and limit Korean DM only disambiguates properties and entities. It does not work for finding correct classes at the moment. The program would be updated to handle lexicaly associated properties, and filter properties that could not make result according to the given template # Language Dependency It only supports Korean text. (July 21, 2016, OKBQA4). Maintainer: Jeong-uk Kim {prismriver@kaist.ac.kr}2016-07-21 05:01:15 UTCprismriver@kaist.ac.kr
EvaluatorEvaluation Description Evaluator is a module to evaluate given question answering system, based on the user's choice of modules. Users can make use of configuration options to choose which modules to use for the steps of QA system. Once evalutor runs, it sends a natural language question in answer dataset to Controller one-by-one. It compares true answer of the dataset with the answer list from Controller to calculate accuracy of the system. Function Evaluator evaluates the overall QA system using answer set. For instance, let the answer set contains only two sentences, "Which rivers flow through Seoul?" and "Who is the author of 'Samguk Sagi'?" In addition, suppose that Controller success to give correct answer for the former question, but fails for the latter one. Then, Evaluator would return accuracy 1/2 = 0.5 to the user. Scope and limit The only dataset usable for the Evalator is NLQ-1 dataset, which contains question-answer pair for only Korean and English at the moment (March, 2016) with 40 questions in the set. Since Evaluator works for measuring accuracy of the given QA system, it is not suitable for analyzing each test case. For the purpose, you may use website for Controller or website for Evaluator (which supports dump file for each question). Issues and discussion * Is it possible to make use of another answer set like QALD-4? Not yet (January 13, 2016, OKBQA3.5). However, supporting mult-answer sets would be added at OKBQA4(http://4.okbqa.org) * Can I test my own QA system? Since Evaluator calls Controller to retrieve answers of each questions, only QA system following OKBQA system structure (TGM, DM, AGM) is applicable. This structure is targetted for those who want to add their own modules to the OKBQA system structure, and checks the performance of it. Maintainer: Jeong-uk Kim {prismriver@kaist.ac.kr}2016-01-13 16:26:23 UTCprismriver@kaist.ac.kr
SRDF 1.0Other Description SRDF is a Korean Open Information Extraction system. It is designed to meet the characteristics of Korean and extract multiple relationships between argument(s) and relation(s) within a sentence by using reificaion technique(specifically, singleton property method). It takes a sentence and produces a set of reified triples on lexical format. Scope and limit The current version covers sentences composed from 3 to 10 words. To eliminate restriction of word length, a new version is being developed. References 1. Sangha Nam, et. al., "SRDF: Korean Open Information Extraction using Singleton Property", ISWC (Poster) 2015.2015-11-05 07:44:01 UTCnam.sangha@gmail.com
C2K 2.0Other C2K is a knowledge acquisition system that extracts triples of DBpedia properties from DBpedia category triples. C2K is proposed by Jiseong Kim, et al., "The Association Rule Mining System for Acquiring Knowledge of DBpedia from Wikipedia Categories", NLP & DBpedia @ ISWC, 2015. 2015-11-24 06:05:14 UTCjiseong@kaist.ac.kr
FORMOther # Description Description # Function Description # Scope and limit Description # Issues and discusion * Issue 1 Description * Issue 2 Description Maintainer: NAME {email}2016-03-04 02:57:13 UTChahmyg@kaist.ac.kr
ELU-KoOther # Description ELU-Ko is a module to find entities in Koren text. Based on the labels of the Dbpedia entities, the ELU-Ko module finds entity candidates in the given text. Then, it chooses entities among the candidates based on the scores of them. # Function ELU-Ko finds Korean Dbpedia entities in the given natural langauge text. For instance, suppose sentence "대한민국의 지방법원의 수는 총 18개이다." is given as input. We can find out that '대한민국' correspond to the entity http://ko.dbpedia.org/page/대한민국, that '지방법원' corresponds to http://ko.dbpedia.org/page/지방법원, and so on. The found entitie are returned as list for the output of the module. # Scope and limit ELU-Ko uses entities' disambiguation, redirection, and labels candidate choice. Therefore, those that is not mentioned in the Dbpedia cannot be found using the ELU-Ko. In addition, although ELU-Ko makes use of confidential score of label as well as neighboring entity candidates, there still exists several errors. # Language Dependency It only supports Korean text. (January 13, 2016, OKBQA3.5). However, the algorithm is independent to the language, and the coverage would be extended at OKBQA4(http://4.okbqa.org) You may use AGDIST for English entity detecton. Developer: Youngsik Kim {twilight@kaist.ac.kr} Maintainer: Jeong-uk Kim {prismriver@kaist.ac.kr}2016-03-05 06:58:19 UTCprismriver@kaist.ac.kr
En-Ko Local KB 2015Other # DBpedia local endpoint URI http://143.248.135.20:45103/sparql # Graph IRI # English DBpedia http://en.dbpedia2015-04.kaist.ac.kr http://en.dbpedia2015-10.kaist.ac.kr # Korean DBpedia http://ko.dbpedia2015-10.kaist.ac.kr http://ko.dbpedia2015.kaist.ac.kr 2016-06-23 02:16:22 UTCnam.sangha@gmail.com
SparqlatorQuery generation Description It is a wrapper to call the GraphFinder::sparqlator method, using the OKBQA framework API. It takes a template and a disambiguation structures which are produced by a template generation and a disambiguation modules, respectively, and produces a set of SPARQL queries which are supposed to represent the same query need represented by the template and disambiguation. Optionally, the parameter, max_hop may be set to specify the number of maximum hops for each path to be extended to. As it is to specify an integer value (between 1 and 3, usually), it may be simply encoded in the URL (see Web service URL example below). GraphFinder implements the triple variation operations proposed by [1]. Scope and limit The current version implements only the three operations, inversion, split, and instantiation, among the four proposed in [1]. Implementation of the last one, join is remained as a future work. Language dependency GraphFinder is language-independent, and so does the sparqlator module. References Jin-Dong Kim and Kevin Bretonnel Cohen, “Triple Pattern Variation Operations for Flexible Graph Search”, Proceedings of the 1st international workshop on Natural Language Interfaces for Web of Data (NLIWoD), 2014. 2015-08-28 00:33:26 UTCjindong.kim@gmail.com
Web InterfaceRendering OKBQA Web User Interface2016-06-24 01:07:19 UTCwiany11@kaist.ac.kr
TGM v1Template generation Description Templator is a module for dependency-driven SPARQL template generation from natural language. Templator takes in a question and generates pseudo-queries as well as a list of strings (so-called slots) for which data from the knowledge base is needed. Approach First, the question is linguistically analysed, annotating it with part-of-speech tags, dependency relations, and semantic role labels. Second, the resulting parse tree is transformed into a template, covering one possibility of the how natural language expressions correspond to constructs in the target SPARQL query. This is the template that is most faithful to the linguistic structure of the question. In order to also account for structural differences between the question and the target query, the template is modified by a sequence of steps that collapse or expand triples, yielding additional templates. The scoring of the templates follows a simple heuristics computing the number of nodes in the query body that are neither projection variables nor slots. In addition, each rewriting operation reduces the score by a predetermined factor. Function 1. NLP tools (e.g. the stanford parser) analyze the input question text into dependency parse tree. 2. Then Templator generates the pseudo query for SPARQL query based on the RULEs within dependency parse tree Scope and limit Current version (March, 2016) focused on the hand-crafted RULEs for dependency parse tree. So that the QA performance depends on the RULEs' quality and coverage. Issues and discusion * How to check/add/edit RULEs? ~/src/main/resources/rules/ - RULEs for English: SRL_rules_en.json - RULEs for Korean: SRL_rules_ko.json At this time (January 13, 2016, at OKBQA 3.5) we can not provide yet the web service to add/edit exist RULEs or use your own RULEs for the OKBQA platform. This web service would be provided before/during OKBQA 4 (http://4.okbqa.org) We believe that good RULEs would improve overall performance of (our/your own) QA system. * Does it works for Korean? It currently works for English and Korean. Yes. We've added simple RULEs for some Korean question words such as "무엇", "누구", "어떤", and "얼마나 많". Of course, this rules cover few cases. Now you can test this sentence: "어떤 강이 서울을 흐르는가?" using the following Sample curl command. * How to deploy it: $ git clone https://github.com/okbqa/templator $ cd templator $ mvn compile exec:java Source code Implementations are available on GitHub: github.com/okbqa/templategeneration github.com/okbqa/templator Contacts While general questions about Templator should be addressed to the original developer, Christina Unger {cunger@cit-ec.uni-bielefeld.de}, Younggyun Hahm {hahmyg@kaist.ac.kr} also can act as a contact point especially for the matter on Korean applications. 2015-08-28 01:21:29 UTCcunger@cit-ec.uni-bielefeld.de
Create