YAD
YAD: A Learning-based Inductive Logic Programming Tool - Published in JOSS (2018)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Repository
A Learning-based Inductive Logic Programming Tool
Basic Info
Statistics
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
YAD-ILP-Tool
YAD: A Learning-based Inductive Logic Programming Tool
The tool YAD, is an implementation of a new bottom-up inductive logic learning algorithm. Its main purpose is to reduce learning time. This is done in such a way that in every step, in order to choose some rules that can create more general rules with their own combinations, instead of quite random choice, choosing is performed from a set of relations (rules) that have a higher chance to generate the relevant rules. Generally, its algorithm has been presented in the article (i.e., paper.md) as Algorithm 1.
This tool has been implemented in C# and the input parameters of YAD are as follows:
The percentage of Train Examples (the remaining percentage will be Test Examples percentage for testing the generated generic logical rules on the data-set).
The number of steps (typically, it is set to the default value 4) which is used to generate a general predicate in every step of induce function (inverse resolution operations) in order to produce generic logical rules. So, for example, with four steps, the tool can produce general logical rules with at most four predicates in their right-hand side.
Try Count (typically, it is set to the default value 5) is the number of endeavors that the tool performs to create and generate a general logical rule.
Negative Threshold (typically, it is set to a low amount, e.g. the default value 5) is the percentage of the whole negative examples that every produced generic logical rule can produce negative examples equal or lower than the selected percentage, otherwise, the produced logical rule is useless and it is not considered as an output generic logical rule.
How to Use
YAD is so simple to use and there is no install instructions or guidelines to setup and install this tool. It can be executed in all C# IDEs, e.g. Microsoft Visual Studio, and its source code is quite available in the repository. Although there is an executable file (.exe file) of compiled source code as an output in the repository and obviously, it can be run itself without any requirements or IDEs, the source code in the repository can be even opened in a C# IDE and then, it can be recompiled and run to use.
Also, the functions and usage of this tool are as follows (respectively in use):
- Open: Opening a file (typically, a text file) consists of Background Knowledge lines (the lines should start with ‘B’ with a white-space after), Positive Examples lines (the lines should start with ‘+’ with a white-space after), and Negative Examples lines (the lines should start with ‘-’ with a white-space after) in first-order logic format as logical rules.
- Due to the above instructions to open a valid and appropriate file in the tool, we have prepared a *sample** file which is* available in the repository, of anatomical data-sets called Human and Mouse anatomies to produce some valid general logical rules in order to align these anatomical organs of these two different anatomies (Human and Mouse anatomies).
Induce: Producing general logical rules by inducing (using inverse resolution) on input background knowledge and then, the generated valid logical rules with execution time (run-time) will be shown.
Prune: Computing the measures such as Precision, Recall, Accuracy, and F-Measure for evaluation and comparison. This step may take several minutes to be done and then computed measures will be shown.
Result Filtering: Colorizing and filtering the results, i.e., Train and Test Examples in order to determine their coverage.
Use Cases
This tool can be used in solving many various problems which need to discover some relationships between different phenomena. We previously have used this ILP tool in a prominent area of new web science called Semantic Web for Ontology Alignment (Ontology Mapping) problem using inductive logic programming [@Karimi2018]. We used anatomical data-sets to evaluate our new proposed approach for ontology alignment as a key problem in semantic web and its infrastructure using ILP by YAD. This ILP tool could generate some efficient generic logical rules to find some valid alignments between anatomical concepts and therefore, we could averagely achieve a high F-Measure with respect to acceptable percentage of Precision and Recall, among similar matching tools in 2017.
Also, the ILP tool can be used in many different problems such as bioinformatics and protein bonds analysis as well as informatics chemistry to discover chemical bonds. In addition, it can be used in social networks analysis and to discover the communications between individuals, rules, and concepts. Generally, the application of this tool is in networks analysis (networks of individuals, molecules, proteins, and etc.).
How to Cite
In case of using this ILP tool or exploiting this research, please kindly cite this paper as follows:
Kamandi et al., (2018). YAD: A Learning-based Inductive Logic Programming Tool. Journal of Open Source Software, 3(30), 892. DOI: 10.21105/joss.00892
Community Guidelines
Contribution and Improvements
If you have new enhancements, ideas, or new features; please clone the repository, make your desired changes, and report it at Github Issues by opening a new issue with improvement label. It is highly likely that we can work on it together.
Report Issues and Bugs
If you have an issue or find a bug, please report it at Github Issues by opening a new issue with bugreport label.
How to Support
If you have any questions or want to ask for support, please open a new issue with support label at Github Issues, or contact the authors directly via email.
Owner
- Name: HamedK
- Login: hamedmx
- Kind: user
- Location: Toronto, ON, Canada
- Company: Toronto Metropolitan University (formerly, Ryerson University)
- Website: https://scholar.google.com/citations?user=QOIx27EAAAAJ&hl=en
- Repositories: 1
- Profile: https://github.com/hamedmx
Research Assistant, Ph.D. Candidate in Computer Engineering
JOSS Publication
YAD: A Learning-based Inductive Logic Programming Tool
Authors
School of Engineering Science, College of Engineering, University of Tehran, Tehran, Iran
Tags
Learning Inductive Logic Programming General Logical Rule CSharpGitHub Events
Total
Last Year
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| hamedmx | h****i@u****r | 89 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
