float function ( List < FeatureFunction > arg0 , List < HGNode > arg1 , int arg2 , int arg3 , SourcePath arg4 , Sentence arg5 ) { float loc0 = 0 ; for ( FeatureFunction loc1 : arg0 ) { loc0 += loc1 . computeFinalCost ( arg1 . get ( 0 ) , arg2 , arg3 , arg4 , arg5 ) ; } return loc0 ; }
this is called from cell.java when making the final transition to the goal state . this is done to allow feature functions to correct for partial estimates , since they now have the knowledge that the whole sentence is complete . basically , this is only used by languagemodelff , which does not score partial n-grams , and therefore needs to correct for this when a short sentence ends . kenlmff corrects for this by always scoring partial hypotheses , and subtracting off the partial score when longer context is available . this would be good to do for the languagemodelff feature function , too : it makes search better more accurate at the beginning , for example , and would also do away with the need for the computefinal class of functions and hooks in the feature function interface . concode_field_sep float transitionCost concode_elem_sep float viterbiCost concode_elem_sep float pruningCostEstimate concode_elem_sep List<DPState> dpStates concode_field_sep List<DPState> getDPStates concode_elem_sep float getBaseCost concode_elem_sep float getPruningEstimate concode_elem_sep void printInfo concode_elem_sep float getTransitionCost concode_elem_sep FeatureVector computeTransitionFeatures concode_elem_sep float getViterbiCost