<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">SHERLOCK -An Inteface for Neuro-Symbolic Networks *</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Ekaterina</forename><surname>Komendantskaya</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Schoool of Computing</orgName>
								<orgName type="institution">University of Dundee</orgName>
								<address>
									<settlement>Dundee</settlement>
									<country key="GB">Scotland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Qiming</forename><surname>Zhang</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Schoool of Computing</orgName>
								<orgName type="institution">University of Dundee</orgName>
								<address>
									<settlement>Dundee</settlement>
									<country key="GB">Scotland</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">SHERLOCK -An Inteface for Neuro-Symbolic Networks *</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">43590D721368F9BB7FDE3C9DAD57C1EB</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T22:16+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><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 <ref type="bibr" target="#b0">[Cloete and Zurada, 2000]</ref>.</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 4. An interpreter;</p><p>5. An output reader.</p><p>The Figure <ref type="figure" target="#fig_0">1</ref> 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".</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Knowledge Refining using SHERLOCK</head><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:</p><p>1. Coarse knowledge is obtained from the trained neural network using one of the standard extraction techniques.</p><p>2. Then it is expressed in the first order language in SHER-LOCK.</p><p>3. A CILP neural network is obtained.</p><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:</p><p>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. Sherlock software and its user manual can be downloaded from http://www.computing.dundee.ac.uk/staff/katya/sherlock/</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: SHERLOCK's interface.</figDesc><graphic coords="2,54.00,54.00,170.08,172.05" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">*   The work was supported by EPSRC, UK; Postdoctoral Fellow research grant EP/F044046/2. 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.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.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,<ref type="bibr" target="#b1">[Hammer and Hitzler, 2007;</ref>  d'Avila Garcez et al., 2008].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 thatCILP (cf. [d'Avila Garcez et al., 2002]) offers.SHERLOCK software relates to the work of<ref type="bibr" target="#b1">[Gruau et al., 1995]</ref> 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 Design of SHERLOCKSHERLOCK 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.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Knowledge-Based Neurocomputing</title>
		<author>
			<persName><forename type="first">Zurada</forename><surname>Cloete</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Cloete</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">M</forename><surname>Zurada</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Avila</forename><surname>Garcez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Neural-Symbolic Learning Systems: Foundations and Applications</title>
				<editor>
			<persName><forename type="first">L</forename><forename type="middle">C</forename><surname>Avila Garcez</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><forename type="middle">M</forename><surname>Lamb</surname></persName>
		</editor>
		<editor>
			<persName><surname>Gabbay</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2000">2000. 2000. 2002. 2002. 2008. 2008</date>
		</imprint>
	</monogr>
	<note>Neural-Symbolic Cognitive Reasoning</note>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A neural compiler</title>
		<author>
			<persName><surname>Gruau</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Perspectives of Neural-Symbolic Integration</title>
				<editor>
			<persName><forename type="first">H</forename><surname>Siegelmann</surname></persName>
		</editor>
		<imprint>
			<publisher>Siegelmann</publisher>
			<date type="published" when="1994">1995. 1995. 2007. 2007. 1994. 1994</date>
			<biblScope unit="volume">141</biblScope>
			<biblScope unit="page" from="1" to="52" />
		</imprint>
	</monogr>
	<note>Neural programming language. Conf. of AAAI</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
