Package org.apache.ctakes.core.fsm.state

Examples of org.apache.ctakes.core.fsm.state.NonTerminalEndState


    private Machine getAdjNegIndicatorMachine()
    {
        State startState = new NamedState("START");
        State endState = new NamedState("END");
        State ntEndState = new NonTerminalEndState("NON TERMINAL END");
        endState.setEndStateFlag(true);
        ntEndState.setEndStateFlag(true);

        Machine m = new Machine(startState);
        State regPrepState = new NamedState("REG_PREP");
        State negAdjState = new NamedState("NEG_ADJ");

        Condition regPrepC = new TextSetCondition(iv_regPrepositionsSet, false);
        Condition negAdjC = new TextSetCondition(iv_negAdjectivesSet, false);

        startState.addTransition(negAdjC, negAdjState); // start with a modal
        startState.addTransition(new AnyCondition(), startState);

        negAdjState.addTransition(regPrepC, regPrepState);
        regPrepState.addTransition(new AnyCondition(), ntEndState);
        negAdjState.addTransition(new AnyCondition(), startState);

        ntEndState.addTransition(new AnyCondition(), startState);

        return m;
    }
View Full Code Here


    private Machine getInitialNegIndicatorMachine()
    {
        State startState = new NamedState("START");
        State endState = new NamedState("END");

        State ntEndState = new NonTerminalEndState("NON TERMINAL END");
        endState.setEndStateFlag(true);
        ntEndState.setEndStateFlag(true);

        Machine m = new Machine(startState);
      
        State negDetState = new NamedState("NEG_DET");
        Condition negInitDetC = new TextSetCondition(iv_negInitialDeterminersSet, true);
View Full Code Here

    {
        State startState = new NamedState("START");
        State endState = new NamedState("END");
        State anyState = new NamedState("ANY");

        State ntEndState = new NonTerminalEndState("NON TERMINAL END");
        endState.setEndStateFlag(true);
        ntEndState.setEndStateFlag(true);
        // for case h/o
        State hAbbrState = new NamedState("HISTORY_ABBR");
        State oAbbrState = new NamedState("OF_ABBR");
       
        Machine m = new Machine(startState);
        State fslashState = new NamedState("FORWARD_SLASH");
        State probCollocState = new NamedState("PROB_COLLOC");
        State probFamilyPartState = new NamedState("PROB_FAMC");
        State probColPartState = new NamedState("PROB_COLPART");
       // Condition probableFHC = new TextValueCondition("family", false);
        Condition probCollecC = new TextSetCondition(iv_probableCollocSet, false);
        Condition probColPartC = new TextSetCondition(iv_probableColPartSet, false);
        
 
        startState.addTransition(probCollecC, probCollocState); //questionable
        startState.addTransition(new AnyCondition(), startState);

        probCollocState.addTransition(probColPartC, probColPartState); //history
        probCollocState.addTransition(new TextValueCondition("h", false), hAbbrState); //h  
       // probCollocState.addTransition(probableFHC, probFamilyPartState);
        probCollocState.addTransition(new AnyCondition(), anyState);
       
        hAbbrState.addTransition(
                new TextValueCondition("/", false),
                fslashState);
      hAbbrState.addTransition(new AnyCondition(), startState);
               

     
      probFamilyPartState.addTransition(new AnyCondition(), ntEndState);
     
     // anyState.addTransition(probableFHC, probFamilyPartState); 
     // anyState.addTransition(probColPartC, probColPartState);
        anyState.addTransition(new TextValueCondition("h", false), hAbbrState);
       // anyState.addTransition(new TextValueCondition("/", false), fslashState);
        anyState.addTransition(new AnyCondition(), anyState);
       
        fslashState.addTransition(new TextValueCondition("o", false), oAbbrState);
      fslashState.addTransition(new AnyCondition(), startState);
     
        oAbbrState.addTransition(new AnyCondition(), ntEndState);
        oAbbrState.addTransition(new AnyCondition(), startState);
       
      probColPartState.addTransition(new AnyCondition(), ntEndState);
      //probColPartState.addTransition(new AnyCondition(), startState);
      ntEndState.addTransition(new AnyCondition(), startState);
        return m;
    }
View Full Code Here

    State aState = new NamedState("A");
    State numState = new NamedState("NUMVALUE");
    State formState = new NamedState("FORM");
    State leftParenState = new NamedState("LEFTPAREN");
    State ntFalseTermState = new IndentStartState("NON TERMINAL START");
    State ntEndState = new NonTerminalEndState("NON TERMINAL END");
    ntFalseTermState.setEndStateFlag(true);
    endState.setEndStateFlag(true);
    ntEndState.setEndStateFlag(true);

    Machine m = new Machine(startState);
    State hyphState = new NamedState("HYPHTERM");
    State dosageState = new NamedState("DOSAGE");

    Condition decimalCondition = new DecimalCondition();
    Condition numberCondition = new NumberCondition();
    Condition strengthFormCondition = new DisjoinCondition(
        new RouteCondition(), new FormCondition());
    Condition numberTextCondition = new WordSetCondition(iv_textNumberSet,
        false);
    Condition rangeCondition = new RangeStrengthCondition();
    Condition fractionRangeCondition = new FractionStrengthCondition();
    Condition decimalStart = new DisjoinCondition(
        new IntegerValueCondition(0), new NumberCondition());

    startState.addTransition(new WordSetCondition(iv_soloTextSet, true),
        endState);
    startState.addTransition(numberCondition, dosageState);
    startState.addTransition(decimalCondition, dosageState);
    startState.addTransition(rangeCondition, dosageState);
    startState.addTransition(fractionRangeCondition, dosageState);
    startState.addTransition(numberTextCondition, dosageState);
    startState.addTransition(decimalStart, dosageState);
    /*startState.addTransition(new DisjoinCondition(new StrengthCondition(),
        new FormCondition()), formState);*/

    startState.addTransition(new AnyCondition(), startState);

    formState.addTransition(new WordSetCondition(iv_textNumberSet, true),
        ntFalseTermState);
    formState.addTransition(new AnyCondition(), startState);

    dosageState.addTransition(strengthFormCondition, ntEndState);
    dosageState
        .addTransition(new PunctuationValueCondition('-'), hyphState);

    dosageState.addTransition(new PunctuationValueCondition('('),
        leftParenState);
    dosageState.addTransition(new TextValueCondition("of", false), ofState);
    dosageState.addTransition(new AnyCondition(), startState);

    ofState.addTransition(new TextValueCondition("a", false), aState);
    ofState.addTransition(new AnyCondition(), startState);

    aState.addTransition(new DisjoinCondition(new RouteCondition(),
        new FormCondition()), ntEndState);
    aState.addTransition(new AnyCondition(), startState);

    hyphState.addTransition(new WordSetCondition(iv_soloTextSet, true),
        endState);
    hyphState.addTransition(new NumberCondition(), numState);
    hyphState.addTransition(new AnyCondition(), startState);

    numState.addTransition(new DisjoinCondition(new RouteCondition(),
        new FormCondition()), ntEndState);
    numState.addTransition(new AnyCondition(), startState);

    leftParenState.addTransition(new DisjoinCondition(
        new RouteCondition(), new FormCondition()), ntEndState);
    leftParenState.addTransition(new AnyCondition(), startState);

    ntEndState.addTransition(new AnyCondition(), startState);
    ntFalseTermState.addTransition(new AnyCondition(), startState);
    endState.addTransition(new AnyCondition(), startState);

    return m;
  }
View Full Code Here

    State unitState = new NamedState("UNIT");
    State decimalState = new NamedState("DOT");
    State complexState = new NamedState("COMPLEX");
    State hyphenState = new NamedState("HYPHEN");
    State dateState = new NamedState("DATE");
    State ntEndState = new NonTerminalEndState("NON TERMINAL END");
    State ntEndHyphState = new NonTerminalEndState("NON TERMINAL HYPH END");
    endState.setEndStateFlag(true);
    ntEndState.setEndStateFlag(true);
    ntEndHyphState.setEndStateFlag(true);

    startState.addTransition(new RangeStrengthCondition(), endState);
    startState.addTransition(new FractionStrengthCondition(), dateState);
    startState.addTransition(new NumberCondition(), connectState);
    startState.addTransition(new IntegerCondition(), connectState);
    startState.addTransition(new DecimalCondition(), connectState);
    startState.addTransition(new WordSetCondition(iv_numberTextSet, false), connectState);
    //Mayo SPM 2/20/2012 Changed due to separation of strength tokens
//    startState.addTransition(new StrengthUnitCondition(), ntEndState);
    startState.addTransition(new StrengthUnitCombinedCondition(), endState);
    startState.addTransition(new AnyCondition(), startState);
   
    dateState.addTransition(new NegateCondition( new PunctuationValueCondition('/')), connectState);
    dateState.addTransition(new AnyCondition(), startState);
   
    //Mayo SPM 2/20/2012 Changed due to separation of strength tokens
    connectState.addTransition(new StrengthUnitCondition(), ntEndState);
    connectState.addTransition(new StrengthUnitCombinedCondition(), endState);
    connectState.addTransition(new PunctuationValueCondition('-'), unitState);
    connectState.addTransition(new PunctuationValueCondition('.'), decimalState);
    connectState.addTransition(new AnyCondition(), startState);
   
    //Mayo SPM 2/20/2012 Changed due to separation of strength tokens
    decimalState.addTransition(new StrengthUnitCondition(), ntEndState);
    decimalState.addTransition(new StrengthUnitCombinedCondition(), endState);
    decimalState.addTransition(new PunctuationValueCondition('-'), unitState);
    decimalState.addTransition(new NumberCondition(), complexState);
    decimalState.addTransition(new AnyCondition(), startState);
   
    //Mayo SPM 2/20/2012 Changed due to separation of strength tokens
    unitState.addTransition(new StrengthUnitCondition(), ntEndHyphState);
    unitState.addTransition(new StrengthUnitCombinedCondition(), endState);
    unitState.addTransition(new AnyCondition(), startState);
   
    complexState.addTransition(new PunctuationValueCondition('-'), hyphenState);
    complexState.addTransition(new AnyCondition(), startState);
   
    //Mayo SPM 2/20/2012 Changed due to separation of strength tokens
    hyphenState.addTransition(new StrengthUnitCondition(), ntEndHyphState);
    hyphenState.addTransition(new AnyCondition() , startState);
   
    ntEndHyphState.addTransition(new AnyCondition(), startState);
    ntEndState.addTransition(new AnyCondition(), startState);
    endState.addTransition(new AnyCondition(), startState);
    Machine m = new Machine(startState);
    return m;
  }
View Full Code Here

   * @return
   */
  private Machine getNumericDateMachine() {
    State startState = new NamedState("START");
    State endState = new NamedState("END");
    State ntEndState = new NonTerminalEndState("NON TERMINAL END");
    endState.setEndStateFlag(true);
    ntEndState.setEndStateFlag(true);

    Machine machine = new Machine(startState);
    State monthNumState = new NamedState("MONTH_NUM");
    State monthDaySeparatorState = new NamedState("MONTH_DAY_SEP");
    State dayNumState = new NamedState("DAY_NUM");
    State dayYearSeparatorState = new NamedState("DAY_YEAR_SEP");

    Condition monthNumCondition = new IntegerRangeCondition(MIN_MONTH,
        MAX_MONTH);
    Condition mdFslashCondition = new PunctuationValueCondition('/');
    Condition mdDashCondition = new PunctuationValueCondition('-');
    Condition dyFslashCondition = new PunctuationValueCondition('/');
    Condition dyDashCondition = new PunctuationValueCondition('-');
    Condition dayNumCondition = new IntegerRangeCondition(MIN_DAY, MAX_DAY);
    Condition yearNumCondition = new IntegerRangeCondition(MIN_YEAR,
        MAX_YEAR);

    // condition that is not a fslash or dash
    Condition notFslashNotDashCondition = new CombineCondition(
        new NegateCondition(mdFslashCondition), new NegateCondition(
            mdDashCondition));

    startState.addTransition(monthNumCondition, monthNumState);
    startState.addTransition(new AnyCondition(), startState);

    monthNumState.addTransition(mdFslashCondition, monthDaySeparatorState);
    monthNumState.addTransition(mdDashCondition, monthDaySeparatorState);
    monthNumState.addTransition(new AnyCondition(), startState);

    monthDaySeparatorState.addTransition(dayNumCondition, dayNumState);
    monthDaySeparatorState.addTransition(new AnyCondition(), startState);

    dayNumState.addTransition(dyFslashCondition, dayYearSeparatorState);
    dayNumState.addTransition(dyDashCondition, dayYearSeparatorState);
    dayNumState.addTransition(notFslashNotDashCondition, ntEndState);
    dayNumState.addTransition(new AnyCondition(), startState);

    dayYearSeparatorState.addTransition(yearNumCondition, endState);
    dayYearSeparatorState.addTransition(new AnyCondition(), startState);

    endState.addTransition(new AnyCondition(), startState);
    ntEndState.addTransition(new AnyCondition(), startState);

    return machine;
  }
View Full Code Here

   * @return
   */
  private Machine getTextualDateMachine() {
    State startState = new NamedState("START");
    State endState = new NamedState("END");
    State ntEndState = new NonTerminalEndState("NON TERMINAL END");
    endState.setEndStateFlag(true);
    ntEndState.setEndStateFlag(true);

    Machine m = new Machine(startState);

    State monthFullTextState = new NamedState("MONTH_FULL_TEXT");
    State monthShortTextState = new NamedState("MONTH_SHORT_TEXT");
    State dayNumState = new NamedState("DAY_NUM");
    State commaState = new NamedState("COMMA");
    State periodState = new NamedState("PERIOD");

    Condition monthFullTextCondition = new WordSetCondition(
        iv_monthFullNameSet, false);
    Condition monthShortTextCondition = new WordSetCondition(
        iv_monthShortNameSet, false);
    Condition dayNumCondition = new IntegerRangeCondition(MIN_DAY, MAX_DAY);
    Condition periodCondition = new PunctuationValueCondition('.');
    Condition yearNumCondition = new IntegerRangeCondition(MIN_YEAR,
        MAX_YEAR);
    Condition commaCondition = new PunctuationValueCondition(',');

    // condition for not being a comma or year number
    Condition notCommaNotYearNumCondition = new CombineCondition(
        new NegateCondition(commaCondition), new NegateCondition(
            yearNumCondition));

    // condition for being a year num and not a day num
    Condition yearNotDayNumCondition = new CombineCondition(
        yearNumCondition, new NegateCondition(dayNumCondition));

    startState.addTransition(monthFullTextCondition, monthFullTextState);
    startState.addTransition(monthShortTextCondition, monthShortTextState);
    startState.addTransition(new AnyCondition(), startState);

    monthFullTextState.addTransition(dayNumCondition, dayNumState);
    monthFullTextState.addTransition(yearNotDayNumCondition, ntEndState);
    monthFullTextState.addTransition(new AnyCondition(), startState);

    monthShortTextState.addTransition(dayNumCondition, dayNumState);
    monthShortTextState.addTransition(periodCondition, periodState);
    monthShortTextState.addTransition(yearNotDayNumCondition, ntEndState);
    monthShortTextState.addTransition(new AnyCondition(), startState);

    periodState.addTransition(dayNumCondition, dayNumState);
    periodState.addTransition(yearNotDayNumCondition, ntEndState);
    periodState.addTransition(new AnyCondition(), startState);

    dayNumState.addTransition(yearNumCondition, endState);
    dayNumState.addTransition(commaCondition, commaState);
    dayNumState.addTransition(notCommaNotYearNumCondition, ntEndState);
    dayNumState.addTransition(new AnyCondition(), startState);

    commaState.addTransition(yearNumCondition, endState);
    commaState.addTransition(new AnyCondition(), startState);

    endState.addTransition(new AnyCondition(), startState);
    ntEndState.addTransition(new AnyCondition(), startState);

    return m;
  }
View Full Code Here

  private Machine getAspectualNegIndicatorMachine() {
    State startState = new NamedState("START");
    State endState = new NamedState("END");
    State anyState = new NamedState("ANY");

    State ntEndState = new NonTerminalEndState("NON TERMINAL END");
    endState.setEndStateFlag(true);
    ntEndState.setEndStateFlag(true);

    Machine m = new Machine(startState);
    State regModalState = new NamedState("REG_MODAL");
    State negPartState = new NamedState("NEG_PART");
    State negVerbState = new NamedState("NEG_VERB");
    State negCollocState = new NamedState("NEG_COLLOC");
    State negColPartState = new NamedState("NEG_COLPART");

    Condition regModalC = new TextSetCondition(iv_modalVerbsSet, false);
    Condition negPartC = new TextSetCondition(iv_negParticlesSet, false);
    Condition regVerbC = new TextSetCondition(iv_regVerbsSet, false);
    Condition negVerbC = new TextSetCondition(iv_negVerbsSet, false);
    Condition negDetC = new TextSetCondition(iv_negDeterminersSet, false);
    Condition negCollocC = new TextSetCondition(iv_negCollocSet, false);
    Condition negColPartC = new TextSetCondition(iv_negColPartSet, false);

    Condition notCollocC = new NegateCondition(negCollocC);

    startState.addTransition(negVerbC, negVerbState);
    startState.addTransition(negCollocC, negCollocState); // rule

    startState.addTransition(new DisjoinCondition(regModalC, regVerbC),
        regModalState); // start with a modal
    startState.addTransition(new DisjoinCondition(negPartC, negDetC),
        negPartState);

    startState.addTransition(new AnyCondition(), startState);

    regModalState.addTransition(negCollocC, negCollocState);
    negCollocState.addTransition(negColPartC, negColPartState); // out
    negColPartState.addTransition(new AnyCondition(), ntEndState);
    negCollocState.addTransition(new AnyCondition(), startState);

    regModalState.addTransition(new DisjoinCondition(negPartC, negDetC),
        negPartState);
    regModalState.addTransition(new AnyCondition(), anyState);

    anyState.addTransition(new DisjoinCondition(negPartC, negDetC),
        negPartState);
    anyState.addTransition(new AnyCondition(), startState);

    negPartState.addTransition(notCollocC, ntEndState);
    negVerbState.addTransition(notCollocC, ntEndState);
    negPartState.addTransition(new AnyCondition(), startState);
    negVerbState.addTransition(new AnyCondition(), startState);

    negPartState.addTransition(new AnyCondition(), ntEndState);
    negVerbState.addTransition(new AnyCondition(), ntEndState);

    ntEndState.addTransition(new AnyCondition(), endState);

    return m;
  }
View Full Code Here

   */
  private Machine getNominalNegIndicatorMachine() {
    State startState = new NamedState("START");
    State endState = new NamedState("END");
    State anyState = new NamedState("ANY");
    State ntEndState = new NonTerminalEndState("NON TERMINAL END");
    endState.setEndStateFlag(true);
    ntEndState.setEndStateFlag(true);

    Machine m = new Machine(startState);
    State negPrepState = new NamedState("NEG_PREP");
    State negDetState = new NamedState("NEG_DET");
    State regNounState = new NamedState("REG_NOUN");

    Condition negPrepC = new TextSetCondition(iv_negPrepositionsSet, false);
    Condition negDetC = new TextSetCondition(iv_negDeterminersSet, false);
    Condition regNounC = new TextSetCondition(iv_regNounsSet, false);

    startState.addTransition(negDetC, negDetState); // start with a modal
    startState.addTransition(negPrepC, negPrepState);
    startState.addTransition(new AnyCondition(), startState);

    negPrepState.addTransition(new AnyCondition(), ntEndState);
    negDetState.addTransition(regNounC, regNounState);
    negDetState.addTransition(new AnyCondition(), ntEndState);
    negDetState.addTransition(new AnyCondition(), anyState);

    anyState.addTransition(regNounC, regNounState);
    anyState.addTransition(new AnyCondition(), anyState);

    regNounState.addTransition(new AnyCondition(), ntEndState);

    ntEndState.addTransition(new AnyCondition(), endState);

    return m;
  }
View Full Code Here

   */

  private Machine getAdjNegIndicatorMachine() {
    State startState = new NamedState("START");
    State endState = new NamedState("END");
    State ntEndState = new NonTerminalEndState("NON TERMINAL END");
    endState.setEndStateFlag(true);
    ntEndState.setEndStateFlag(true);

    Machine m = new Machine(startState);
    State regPrepState = new NamedState("REG_PREP");
    State negAdjState = new NamedState("NEG_ADJ");

    Condition regPrepC = new TextSetCondition(iv_regPrepositionsSet, false);
    Condition negAdjC = new TextSetCondition(iv_negAdjectivesSet, false);

    startState.addTransition(negAdjC, negAdjState); // start with a modal
    startState.addTransition(new AnyCondition(), startState);

    negAdjState.addTransition(regPrepC, regPrepState);
    regPrepState.addTransition(new AnyCondition(), ntEndState);
    negAdjState.addTransition(new AnyCondition(), startState);

    ntEndState.addTransition(new AnyCondition(), endState);

    return m;
  }
View Full Code Here

TOP

Related Classes of org.apache.ctakes.core.fsm.state.NonTerminalEndState

Copyright © 2018 www.massapicom. 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.