From: angus <a.r...@dc...> - 2010-09-28 14:54:34
|
Dave It looks like the jape is failing to deal with overlapping people and organisations, e.g. "John Smith Ltd" I've not tested, but something like this should work: List<Annotation> orderedToks = new ArrayList(); if(!p.overlaps(o)){ Long posListLeft = (pStart < oStart) ? pEnd : oEnd; Long posListRight = (pEnd > oEnd) ? pStart : oStart; AnnotationSet toks = inputAS.get("Token", posListLeft, posListRight); orderedToks = gate.Utils.inDocumentOrder(toks); } Angus On 27/09/10 21:46, Harrill, David C wrote: > I have a question as it pertains to Relationship Extraction using GATE. I have been using GATE's example code (via the training courses) to test the relationship extraction between a Person and an Organization. In particular I am using the file referred to as "make-relation-instances-and-features.jape" but in one instance I get the following error: > > java.lang.IllegalArgumentException: fromKey > toKey > at gate.util.RBTreeMap$SubMap.<init>(RBTreeMap.java:788) > at gate.util.RBTreeMap.subMap(RBTreeMap.java:708) > at gate.annotation.AnnotationSetImpl.get(AnnotationSetImpl.java:500) > at instances.pair(file:/C:/GATE_6.0/plugins/Learning/Bullseye_Relationship_Learning/make-relation-instances-and-features.jape:45) > at gate.jape.RightHandSide.transduce(RightHandSide.java:414) > at gate.jape.SinglePhaseTransducer.fireRule(SinglePhaseTransducer.java:648) > at gate.jape.SinglePhaseTransducer.transduce(SinglePhaseTransducer.java:315) > at gate.jape.MultiPhaseTransducer.transduce(MultiPhaseTransducer.java:180) > at gate.jape.Batch.transduce(Batch.java:356) > at gate.creole.Transducer.execute(Transducer.java:132) > at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:299) > at gate.creole.SerialController.runComponent(SerialController.java:221) > at gate.creole.SerialController.executeImpl(SerialController.java:153) > at gate.creole.SerialAnalyserController.executeImpl(SerialAnalyserController.java:115) > at gate.creole.AbstractController.execute(AbstractController.java:62) > at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:299) > at gate.gui.SerialControllerEditor$RunAction$1.run(SerialControllerEditor.java:1522) > at java.lang.Thread.run(Unknown Source) >>From what I can gather it is dealing with the following section of code within the aforementioned .jape file: > > **************************************************************** > > // Get the tokens between the arguments, for other features > Long posListLeft = (pStart < oStart) ? pEnd : oEnd; > Long posListRight = (pEnd > oEnd) ? pStart : oStart; > AnnotationSet toks = inputAS.get("Token", posListLeft, posListRight); > List<Annotation> orderedToks = gate.Utils.inDocumentOrder(toks); > > **************************************************************** > > Could anyone provide some guidance on why I may be receiving this error? > > Thanks, > > Dave > > > > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > > > > _______________________________________________ > GATE-users mailing list > GAT...@li... > https://lists.sourceforge.net/lists/listinfo/gate-users -- Angus |