<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SHERLOCK - An Inteface for Neuro-Symbolic Networks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ekaterina Komendantskaya</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Qiming Zhang</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Schoool of Computing, University of Dundee</institution>
          ,
          <addr-line>Dundee, Scotland</addr-line>
        </aff>
      </contrib-group>
      <fpage>39</fpage>
      <lpage>40</lpage>
      <abstract>
        <p>We propose SHERLOCK - a novel problemsolving application based on neuro-symbolic networks. The application takes a knowledge base and rules in the form of a logic program, and compiles it into a connectionist neural network that performs computations. The network's output signal is then translated back into logical form. SHERLOCK allows to compile logic programs either to classical neuro-symbolic networks (the “core method”), or to inductive neural networks (CILP) - the latter can be trained using back-propagation methods. The work was supported by EPSRC, UK; Postdoctoral Fellow research grant EP/F044046/2.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>We take the ideas of neuro-symbolic integration to the level
of software engineering and design. That is, we do not
consider theoretical aspects of neuro-symbolic integration here,
but take its synthetic principle to be our main software
engineering principle. So, which methods could software
engineering borrow from the area of neuro-symbolic integration?
Here, we offer one possible answer, but see also [Cloete and
Zurada, 2000].</p>
      <p>Declarative programming languages, and especially logic
programming, have one important underlying idea — they
are designed to be syntactically similar to the way people
reason. Logic programming, for example, is one of the easiest
languages to teach students with non-technical background or
general public alike. Also, it is feasible to parse natural
language into logic programming syntax. Therefore, the strength
of logic programming from the software engineering point of
view is that it makes for a general and easily accessible
interface for users with diverse backgrounds.</p>
      <p>Neural networks, on the other hand, offer both massive
parallelism and ability to adapt. However, it would seem almost
impossible to imagine that a person with non-technical
background easily masters neural networks as part of his working
routine, alongside with a web-browser or a text editor. It is
common that industrial applications of neural networks are
designed and maintained by specialists, while non-specialist
users do not have ways to edit the applications. This is why
neural network applications are often problem-specific. Such
applications could be made more general and user-friendly if
the users were given a nice easy interface to manipulate
neural networks at a level of natural language.</p>
      <p>For example, consider a police officer who has just come
to a crime scene and wishes to record all evidence available.
To be efficient, the police officer uses a small portable
computer that has a problem-solving assistant. What should this
assistant be like? Neural network software would come in
handy, because it can be trained as new evidence is obtained;
also – it can be fast due to parallelism. On top of this neural
software, though, it is best to have an easy interface allowing
the officer to enter data in the form of a natural language.</p>
      <p>We propose SHERLOCK — an application that allows
the user to type in the knowledge base in the language
close to the natural language, and then rely on the
compiler that transforms the problem into a suitable neural
network. The network will attempt to solve the problem; and
once the solution is found — it outputs the answer in a
logical form. Thus, SHERLOCK successfully implements
the full neuro-symbolic cycle, [Hammer and Hitzler, 2007;
d’Avila Garcez et al., 2008].</p>
      <p>
        Additionally, as we show in the poster and Section 3,
SHERLOCK can be embedded into a bigger
knowledgerefining cycle. In this case, we rely upon the backpropagation
learning that CILP
        <xref ref-type="bibr" rid="ref2">(cf. [d’Avila Garcez et al., 2002])</xref>
        offers.
      </p>
      <p>SHERLOCK software relates to the work of [Gruau et al.,
1995] proposing a neural compiler for PASCAL; and the
programming languages AEL, NETDEF [Siegelmann, 1994]
designed to be compiled by neural networks. SHERLOCK
differs from the previous similar work in two respects. It is
the first fully automated neural compiler for declarative
languages we know of. Also, in the cited works the main
emphasis was on building a fully functional complier for a
programming language; here our emphasis is not on creating a
neural compiler for PROLOG per se; but building a compiler
sufficient to handle knowledge bases and reason over them.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Design of SHERLOCK</title>
      <p>SHERLOCK provides an editor which allows to write and
edit information in logical form; it then transforms the
information into connectionist neural network; finally, it translates
the outcome of the neural-symbolic system back to the logic
programming syntax.</p>
      <p>SHERLOCK consist of the following components:
1. A code editor, in which the users can write a general
logic program in a prolog-like declarative language;
2. A translator, which can analyse syntax and semantics of
the logic program to set up neural-symbolic systems
according to the logic program;
3. A model of the “core method” neural networks
[Hammer and Hitzler, 2007], and a model of CILP-neural
networks [d’Avila Garcez et al., 2002];</p>
      <sec id="sec-2-1">
        <title>4. An interpreter;</title>
      </sec>
      <sec id="sec-2-2">
        <title>5. An output reader.</title>
        <p>The Figure 1 shows SHERLOCK’s interface together with
a data base written in syntax similar to logic programming.
The answer would be all the names that satsify the rule for
“Criminal”.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Knowledge Refining using SHERLOCK</title>
      <p>Knowledge refining is one of the important features in
human reasoning. We wish to insert background (or “coarse”)
knowledge into a neural network and obtain refined
knowledge by learning with example data. CILP is suitable to do
knowledge refining: it has the capability to present
background knowledge into neural networks, and it can use
backpropagation to get networks trained with examples.</p>
      <p>We propose a novel approach to build knowledge refining
systems based on SHERLOCK:
1. Coarse knowledge is obtained from the trained neural
network using one of the standard extraction techniques.
2. Then it is expressed in the first order language in
SHER</p>
      <p>LOCK.</p>
      <sec id="sec-3-1">
        <title>3. A CILP neural network is obtained.</title>
        <p>4. CILP is trained with the data, and the embedded
knowledge is refined.</p>
        <p>We test this model on the famous cancer data set from the
UCI Machine Learning Repository. The final neural network
has a performance of 96.7%. The performance of the final
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
to certain kinds of data.</p>
        <p>We summarise the properties of this model as follows:
1. It provides a methodology to obtain knowledge in any
domain by using both induction and deduction.
2. If the knowledge obtained in Step 1 is reasonable, the
final neural network will remain a clear structure, which
could be interpreted to symbolic knowledge. Otherwise,
the neural network is just an ordinary supervised trained
neural network.
3. The final neural network has a very good performance
in terms of learning. Besides, it seems that the neural
network owns an ability to detect some faulty data due
to the knowledge embedded in it.</p>
        <p>Sherlock software and its user
manual can be downloaded from
http://www.computing.dundee.ac.uk/staff/katya/sherlock/</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>[Cloete and Zurada</source>
          , 2000]
          <string-name>
            <given-names>I.</given-names>
            <surname>Cloete</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Zurada</surname>
          </string-name>
          .
          <article-title>Knowledge-Based Neurocomputing</article-title>
          . MIT Press,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>[d'Avila Garcez</surname>
          </string-name>
          et al.,
          <year>2002</year>
          ]
          <article-title>Arthur d'Avila Garcez, K. B</article-title>
          .
          <string-name>
            <surname>Broda</surname>
            , and
            <given-names>D. M.</given-names>
          </string-name>
          <string-name>
            <surname>Gabbay</surname>
          </string-name>
          .
          <source>Neural-Symbolic Learning Systems: Foundations and Applications</source>
          . Springer-Verlag,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>[d'Avila Garcez</surname>
          </string-name>
          et al.,
          <year>2008</year>
          ]
          <string-name>
            <given-names>Arthur</given-names>
            <surname>d'Avila Garcez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. C.</given-names>
            <surname>Lamb</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Gabbay</surname>
          </string-name>
          .
          <source>Neural-Symbolic Cognitive Reasoning. Cognitive Technologies</source>
          . Springer-Verlag,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [Gruau et al.,
          <year>1995</year>
          ] Fre´de´ric Gruau,
          <string-name>
            <surname>Jean-Yves Ratajszczak</surname>
            , and
            <given-names>Gilles</given-names>
          </string-name>
          <string-name>
            <surname>Wiber</surname>
          </string-name>
          .
          <article-title>A neural compiler</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <volume>141</volume>
          (
          <issue>1</issue>
          &amp;2):
          <fpage>1</fpage>
          -
          <lpage>52</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <source>[Hammer and Hitzler</source>
          , 2007]
          <string-name>
            <given-names>B.</given-names>
            <surname>Hammer</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Hitzler</surname>
          </string-name>
          .
          <source>Perspectives of Neural-Symbolic Integration. Studies in Computational Intelligence</source>
          . Springer Verlag,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <source>[Siegelmann</source>
          , 1994]
          <string-name>
            <given-names>H.</given-names>
            <surname>Siegelmann</surname>
          </string-name>
          . language.
          <source>Conf. of AAAI</source>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>