Hi Mehnaz,

Bobi asked me to carry some additional compartibility tests and I found that 
the GATE 5.0 syntax that he uses in his example will not work on you version of 
KIM.
It will be available with the KIM3.0 which we are working on now.

For your version of GATE you should use the following form of the JAPE Rule:

//=====================================
Rule: OnlyNouns
(
  
({Lookup.class=="http://proton.semanticweb.org/2006/05/protont#MedicalAbbreviation"})
)
:lookup -->
{
  // Retrieves annotation-set containing only the matched "Lookup" annotation
  gate.AnnotationSet lookupSet = (gate.AnnotationSet) bindings.get("lookup");

  // Gets the offsets of the matched "Lookup" annotation
  java.lang.Long _start = lookupSet.firstNode().getOffset();
  java.lang.Long _end = lookupSet.lastNode().getOffset();

  /*  Set of Noun categories supported by the POS tagger:
      NN - noun - singular or mass
      NNP - proper noun - singular: All words in names usually are capitalized 
but titles might not be.
      NNPS - proper noun - plural: All words in names usually are capitalized 
but titles might not be.
      NNS - noun - plural
      NP - proper noun - singular
      NPS - proper noun - plural
  */
  java.util.ArrayList nounCat = new java.util.ArrayList();
  // Here add only categories that are of interest
  nounCat.addAll(java.util.Arrays.asList("NN", "NNP", "NNPS", "NNS", "NP", 
"NPS"));

  boolean isNoun = false;
  // Extract the set of Tokens located at the place of the Medical Abbreviation
  gate.AnnotationSet contained = (gate.AnnotationSet) inputAS.get("Token", 
_start, _end);
  java.util.Iterator tokIt = contained.iterator();
  // The loop is to skip some symbols, if such exist in the abbreviation
  while (!isNoun && tokIt.hasNext()) {
    gate.Annotation tok = (gate.Annotation) tokIt.next();
    // Check the category of the token
    isNoun = nounCat.contains(tok.getFeatures().get("category"));
  }
  
  if (!isNoun)
    annotations.removeAll(lookupSet); 
}
//============================



Also check again if the namespace of your class is:
  "http://proton.semanticweb.org/2006/05/protont ..."
or
  "http://proton.semanticweb.org/2005/04/protont ..."

Successful work!
DanKo
  ----- Original Message ----- 
  From: borislav popov 
  To: Mehnaz Adnan 
  Cc: KIM-discussion@ontotext.com 
  Sent: Monday, July 20, 2009 11:03 AM
  Subject: Re: [Kim-discussion] how to do some changes in kim client PR


  Hi Mehnaz, 
  How familiar you are with JAPE development? If you know how to do write JAPE 
rules, i would suggest the following:

  1. create a new jape grammar phase (as the example below) 
  2. edit the main.jape of your KIM deployment and insert the name of the phase 
there (e.g. in the end)


  Note: please have in mind i've considered that you have the annotations of 
your instances initially as Lookups (generated by the gazetteer). If you 
transform them to another annotation type - it is even simpler. 
  Description of the example: get all lookups of abbreviation which contain a 
token of Part of Speech category different from NNP - for all such delete the 
lookup annotation. 
  Example:


  Phase: NounAbreviationsOnly
  Input: Token Lookup 
  Options: control = Appelt


  Rule: OnlyNouns
  (
  {
  
Lookup.class=="http://proton.semanticweb.org/2006/05/protont#MedicalAbbreviation";
 , Lookup contains {Token.category!=NNP}
  } 
  ): lookup
  -->
  { 
  gate.AnnotationSet lookupSet = (gate.AnnotationSet)bindings.get("lookup"); 
  annotations.removeAll(lookupSet); 
  }




  take care
  borislav








  On Jul 20, 2009, at 1:46 AM, Mehnaz Adnan wrote:


    Hi 

    I have extended protont.owl and added two classes with the following 
namspaces.

     <http://proton.semanticweb.org/2006/05/protont#MedicalAbbreviation>
    <http://proton.semanticweb.org/2006/05/protont#CHVTerm>

    I have also populated wkb.nt with their instances. Now it is annotating 
perfectly instances of "MedicalAbbreviation" and "CHVTerm". Now I want to 
annotate instances of  "MedicalAbbreviation" in Nouns only but instances of 
"CHVTerm" from all of the text.Can I  do some thing by changing in default jape 
or extending KIM Client PR ??  I am stuck on this please help. Any clue please 
.....


     I am using KIM-2.3-RC1 on wondows vista and using KIM WebUI as well as 
Gate GUI for viewing annotations.

    Thanks

    -- 
    Mehnaz 
    _______________________________________________
    Kim-discussion mailing list
    Kim-discussion@ontotext.com
    http://ontotext.com/mailman/listinfo/kim-discussion





------------------------------------------------------------------------------


  _______________________________________________
  Kim-discussion mailing list
  Kim-discussion@ontotext.com
  http://ontotext.com/mailman/listinfo/kim-discussion
_______________________________________________
Kim-discussion mailing list
Kim-discussion@ontotext.com
http://ontotext.com/mailman/listinfo/kim-discussion

Reply via email to