SHERLOCK - An Inteface for Neuro-Symbolic Networks∗ Ekaterina Komendantskaya and Qiming Zhang Schoool of Computing, University of Dundee, Dundee, Scotland Abstract neural network applications are often problem-specific. Such applications could be made more general and user-friendly if We propose SHERLOCK - a novel problem- the users were given a nice easy interface to manipulate neu- solving application based on neuro-symbolic net- ral networks at a level of natural language. works. The application takes a knowledge base and For example, consider a police officer who has just come rules in the form of a logic program, and compiles to a crime scene and wishes to record all evidence available. it into a connectionist neural network that performs To be efficient, the police officer uses a small portable com- computations. The network’s output signal is then puter that has a problem-solving assistant. What should this translated back into logical form. SHERLOCK al- assistant be like? Neural network software would come in lows to compile logic programs either to classical handy, because it can be trained as new evidence is obtained; neuro-symbolic networks (the “core method”), or also – it can be fast due to parallelism. On top of this neural to inductive neural networks (CILP) — the latter software, though, it is best to have an easy interface allowing can be trained using back-propagation methods. the officer to enter data in the form of a natural language. We propose SHERLOCK — an application that allows 1 Introduction the user to type in the knowledge base in the language close to the natural language, and then rely on the com- We take the ideas of neuro-symbolic integration to the level piler that transforms the problem into a suitable neural net- of software engineering and design. That is, we do not con- work. The network will attempt to solve the problem; and sider theoretical aspects of neuro-symbolic integration here, once the solution is found — it outputs the answer in a but take its synthetic principle to be our main software engi- logical form. Thus, SHERLOCK successfully implements neering principle. So, which methods could software engi- the full neuro-symbolic cycle, [Hammer and Hitzler, 2007; neering borrow from the area of neuro-symbolic integration? d’Avila Garcez et al., 2008]. Here, we offer one possible answer, but see also [Cloete and Additionally, as we show in the poster and Section 3, Zurada, 2000]. SHERLOCK can be embedded into a bigger knowledge- Declarative programming languages, and especially logic refining cycle. In this case, we rely upon the backpropagation programming, have one important underlying idea — they learning that CILP (cf. [d’Avila Garcez et al., 2002]) offers. are designed to be syntactically similar to the way people rea- SHERLOCK software relates to the work of [Gruau et al., son. Logic programming, for example, is one of the easiest 1995] proposing a neural compiler for PASCAL; and the pro- languages to teach students with non-technical background or gramming languages AEL, NETDEF [Siegelmann, 1994] de- general public alike. Also, it is feasible to parse natural lan- signed to be compiled by neural networks. SHERLOCK dif- guage into logic programming syntax. Therefore, the strength fers from the previous similar work in two respects. It is of logic programming from the software engineering point of the first fully automated neural compiler for declarative lan- view is that it makes for a general and easily accessible inter- guages we know of. Also, in the cited works the main em- face for users with diverse backgrounds. phasis was on building a fully functional complier for a pro- Neural networks, on the other hand, offer both massive par- gramming language; here our emphasis is not on creating a allelism and ability to adapt. However, it would seem almost neural compiler for PROLOG per se; but building a compiler impossible to imagine that a person with non-technical back- sufficient to handle knowledge bases and reason over them. ground easily masters neural networks as part of his working routine, alongside with a web-browser or a text editor. It is 2 Design of SHERLOCK common that industrial applications of neural networks are designed and maintained by specialists, while non-specialist SHERLOCK provides an editor which allows to write and users do not have ways to edit the applications. This is why edit information in logical form; it then transforms the infor- mation into connectionist neural network; finally, it translates ∗ the outcome of the neural-symbolic system back to the logic The work was supported by EPSRC, UK; Postdoctoral Fellow research grant EP/F044046/2. programming syntax. 39 has a performance of 96.7%. The performance of the final Figure 1: SHERLOCK’s interface. neural network cannot be improved by setting a better training goal while a general neural network can. This implies the knowledge embedded in the CILP neural network is sensitive SHERLOCK consist of the following components: to certain kinds of data. 1. A code editor, in which the users can write a general We summarise the properties of this model as follows: logic program in a prolog-like declarative language; 1. It provides a methodology to obtain knowledge in any 2. A translator, which can analyse syntax and semantics of domain by using both induction and deduction. the logic program to set up neural-symbolic systems ac- 2. If the knowledge obtained in Step 1 is reasonable, the cording to the logic program; final neural network will remain a clear structure, which 3. A model of the “core method” neural networks [Ham- could be interpreted to symbolic knowledge. Otherwise, mer and Hitzler, 2007], and a model of CILP-neural net- the neural network is just an ordinary supervised trained works [d’Avila Garcez et al., 2002]; neural network. 4. An interpreter; 3. The final neural network has a very good performance in terms of learning. Besides, it seems that the neural 5. An output reader. network owns an ability to detect some faulty data due The Figure 1 shows SHERLOCK’s interface together with to the knowledge embedded in it. a data base written in syntax similar to logic programming. Sherlock software and its user The answer would be all the names that satsify the rule for manual can be downloaded from “Criminal”. http://www.computing.dundee.ac.uk/staff/katya/sherlock/ 3 Knowledge Refining using SHERLOCK References Knowledge refining is one of the important features in hu- [Cloete and Zurada, 2000] I. Cloete and J. M. Zurada. man reasoning. We wish to insert background (or “coarse”) Knowledge-Based Neurocomputing. MIT Press, 2000. knowledge into a neural network and obtain refined knowl- [d’Avila Garcez et al., 2002] Arthur d’Avila Garcez, K. B. edge by learning with example data. CILP is suitable to do Broda, and D. M. Gabbay. Neural-Symbolic Learning knowledge refining: it has the capability to present back- Systems: Foundations and Applications. Springer-Verlag, ground knowledge into neural networks, and it can use back- 2002. propagation to get networks trained with examples. [d’Avila Garcez et al., 2008] Arthur d’Avila Garcez, L. C. We propose a novel approach to build knowledge refining Lamb, and D. M. Gabbay. Neural-Symbolic Cogni- systems based on SHERLOCK: tive Reasoning. Cognitive Technologies. Springer-Verlag, 1. Coarse knowledge is obtained from the trained neural 2008. network using one of the standard extraction techniques. [Gruau et al., 1995] Frédéric Gruau, Jean-Yves Ratajszczak, 2. Then it is expressed in the first order language in SHER- and Gilles Wiber. A neural compiler. Theor. Comput. Sci., LOCK. 141(1&2):1–52, 1995. 3. A CILP neural network is obtained. [Hammer and Hitzler, 2007] B. Hammer and P. Hitzler. Per- 4. CILP is trained with the data, and the embedded knowl- spectives of Neural-Symbolic Integration. Studies in Com- edge is refined. putational Intelligence. Springer Verlag, 2007. [Siegelmann, 1994] H. Siegelmann. Neural programming We test this model on the famous cancer data set from the language. Conf. of AAAI, 1994. UCI Machine Learning Repository. The final neural network 40