Examples of PatternMatch


Examples of org.apache.ctakes.sideeffect.util.PatternMatch

   * @param pse potential side effect
   * @param input modified SE sentence used for regular expression match
   * @return true if finds a given pattern, else false
   */
  private boolean hasPatternOfDrugDiscontBecausePse(JCas jcas, PotentialSideEffect pse, String input) {
    PatternMatch pm = new PatternMatch("(<@DRUG>).*(KW).*(because|after).*(<@PSE>)", input, discontVerb);
    if(!pm.mat.find()) return false;
   
    if(pm.isPseBetween(pm.mat.end(2), pm.mat.start(3))) return false;
    if(pm.isDrugBetween(pm.mat.end(2), pm.mat.start(3))) return false;
    if(pm.isDrugBetween(pm.mat.end(3), pm.mat.start(4))) return false;
    int[] drugSpan={-1, -1};
    if(pm.isDrugBetween(pm.mat.end(1), pm.mat.start(2), drugSpan)) {
      if(pm.isDistantBetween(pm.mat.end(1), drugSpan[0]))
        return false;
    }
   
    return true;
  }
View Full Code Here

Examples of org.apache.ctakes.sideeffect.util.PatternMatch

   * @param pse potential side effect
   * @param input modified SE sentence used for regular expression match
   * @return true if finds a given pattern, else false
   */
  private boolean hasPatternOfNotePseWithDrug(JCas jcas, PotentialSideEffect pse, String input) {
    PatternMatch pm = new PatternMatch("(KW).*(<@PSE>).*(with).*(<@DRUG>)", input, noteVerb);
    if(!pm.mat.find()) return false;
   
    if(pm.isDrugBetween(pm.mat.end(1), pm.mat.start(2))) return false;
    if(pm.isDrugBetween(pm.mat.end(2), pm.mat.start(3))) return false;
    if(pm.isPseBetween(pm.mat.end(3), pm.mat.start(4))) return false;
    int[] drugSpan={-1, -1};
    if(pm.isDrugBetween(pm.mat.end(3), pm.mat.start(4), drugSpan)) {
      if(pm.isDistantBetween(drugSpan[1], pm.mat.start(4)))
        return false;
    }
   
    return true;
  }
View Full Code Here

Examples of org.apache.ctakes.sideeffect.util.PatternMatch

   * @param pse potential side effect
   * @param input modified SE sentence used for regular expression match
   * @return true if finds a given pattern, else false
   */
  private boolean hasPatternOfDrugCausePse(JCas jcas, PotentialSideEffect pse, String input) {
    PatternMatch pm = new PatternMatch("(<@DRUG>).*(KW).*(<@PSE>)", input, causeVerb);
    if(!pm.mat.find()) return false;
   
    if(pm.isDrugBetween(pm.mat.end(2), pm.mat.start(3))) return false;
    int[] drugSpan={-1, -1};
    if(pm.isDrugBetween(pm.mat.end(1), pm.mat.start(2), drugSpan)) {
      if(pm.isDistantBetween(pm.mat.end(1), drugSpan[0]))
        return false;
    }
   
    return true;
  }
View Full Code Here

Examples of org.apache.ctakes.sideeffect.util.PatternMatch

   * @param pse potential side effect
   * @param input modified SE sentence used for regular expression match
   * @return true if finds a given pattern, else false
   */
  private boolean hasPatternOfDrugMadePse(JCas jcas, PotentialSideEffect pse, String input) {
    PatternMatch pm = new PatternMatch("(<@DRUG>).*(KW)\\s(him|her)\\s(<@PSE>)", input, madeVerb);
    if(!pm.mat.find()) return false;
   
    int[] drugSpan={-1, -1};
    if(pm.isDrugBetween(pm.mat.end(1), pm.mat.start(2), drugSpan)) {
      if(pm.isDistantBetween(pm.mat.end(1), drugSpan[0]))
        return false;
    }
   
    return true
  }
View Full Code Here

Examples of org.apache.ctakes.sideeffect.util.PatternMatch

    String pseStr = pse.ne.getCoveredText().replace('-',' ').toLowerCase().trim();
    if(sideEffectWord.contains(pseStr)) return false;
               
    //if there is no sideEffectWord in the sentence, return false
    String pseSen = pse.sentence.replace('-', ' ').toLowerCase().trim();
    PatternMatch pm = new PatternMatch("(KW)", pseSen, sideEffectWord);
    if(!pm.mat.find()) return false;
   
    //if sideEffectWord is negated return false
    Iterator neIter = FSUtil.getAnnotationsInSpanIterator(
        jcas, IdentifiedAnnotation.type, pse.senBegin, pse.senEnd+1);
View Full Code Here

Examples of org.apache.ctakes.sideeffect.util.PatternMatch

   */ 
  private boolean hasPatternOfPseAfterDrug(JCas jcas, PotentialSideEffect pse, String input) {
    //if the pse sentence contains certain word, return false
    if(input.matches(".*(check).*")) return false;
   
    PatternMatch pm = new PatternMatch("(<@PSE>).*(KW).*(<@DRUG>)", input, afterWord);
    if(!pm.mat.find()) return false;
   
    if(pm.isDrugBetween(pm.mat.end(1), pm.mat.start(2))) return false;
    if(pm.isPseBetween(pm.mat.end(2), pm.mat.start(3))) return false;
    int[] drugSpan={-1, -1};
    if(pm.isDrugBetween(pm.mat.end(2), pm.mat.start(3), drugSpan)) {
      if(pm.isDistantBetween(drugSpan[1], pm.mat.start(3)))
        return false;
    }
   
    return true;
  }
View Full Code Here

Examples of org.apache.ctakes.sideeffect.util.PatternMatch

   * @param input modified SE sentence used for regular expression match
   * @return true if satisfies given conditions, else false
   */
  private boolean isInParenthesis(JCas jcas, PotentialSideEffect pse, String input) {
    //if pse is not in the parenthesis return false   
    PatternMatch pm = new PatternMatch("(<@DRUG>)\\s(\\(.*<@PSE>.*\\))", input);
    if(!pm.mat.find()) return false;
   
    //if "for" or "treated with" is also in the parenthesis, return false
    if(pm.mat.group(2).matches("\\(.*((for)|(treated with)).*\\)")) return false;

View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.