[Biojava-dev] reasoning

Schreiber, Mark mark.schreiber at agresearch.co.nz
Sun Oct 12 01:44:11 EDT 2003


Matthew -
 
Would this kind of thing be useful for text (natural language) processing? If so would it be possible for you to make a toy example to serve as a starting point for lesser mortals?
 
- Mark

	-----Original Message----- 
	From: Matthew Pocock [mailto:matthew_pocock at yahoo.co.uk] 
	Sent: Fri 10/10/2003 7:44 a.m. 
	To: BioJava Dev List 
	Cc: 
	Subject: [Biojava-dev] reasoning
	
	

	Hi,
	
	I have checked in new ontology code. It doesn't crash, but doesn't
	entirly work yet. Please add sablecc 3.* to your ant/lib directory to
	enable the new ontology parser code to be generated.
	
	Good points:
	
	* much more sane core ontology with a workable type-system - strictly
	typed higher-order predicate logic!
	
	* a fairly nice text format for writing things down - I have yet to find
	anything that can't be represented
	
	* the reasoner can execute proofs that require variable substitution e.g.
	
	  axiom: instance_of(_x, ANY)
	  proposition: instance_of(dog, ANY)
	  proof: instance_of(_x, ANY)[_x = dog]
	
	  proposition: sub_type_of(_x, mammal)
	  proof: sub_type_of(_x, mammal)[_x = dog] ; axiom(dog, mammal)
	
	Bad points:
	
	* I haven't been able to get it to find proofs for things that require
	an inference step without manually pruning the search space e.g.
	
	  axiom: sub_type_of(dog, mammal)
	  axiom: sub_type_of(mammal, animal)
	  axiom: implies( and(sub_type_of(_x, _y), sub_type_of(_y, _z)),
	                             sub_type_of(_x, _z))
	
	  proposition: sub_type_of(dog, animal)
	
	Well, it can do this, but it gets stuck in an infinite recursion before
	it gets arround to using the right variable substitutions.
	
	* It runs slowly - there is loads of scope for naive performance tuning,
	and once inference works propperly, it should be generating it's own
	interpreter in bytecode, but not today.
	
	The code is in CVS, so if you are interested in any of this then please
	get involved. I am wondering which bits will survive - certainly, some
	of the code needs gutting for functional and aesthetic reasons. However,
	I'm not even sure if this is the correct approach.
	
	Matthew
	
	
	_______________________________________________
	biojava-dev mailing list
	biojava-dev at biojava.org
	http://biojava.org/mailman/listinfo/biojava-dev
	


=======================================================================
Attention: The information contained in this message and/or attachments
from AgResearch Limited is intended only for the persons or entities
to which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipients is prohibited by AgResearch
Limited. If you have received this message in error, please notify the
sender immediately.
=======================================================================



More information about the biojava-dev mailing list