use of com.joliciel.talismane.posTagger.PosTaggedToken in project talismane by joliciel-informatique.
the class DependencyCountIf method check.
@Override
public FeatureResult<Integer> check(ParseConfigurationWrapper wrapper, RuntimeEnvironment env) throws TalismaneException {
ParseConfiguration configuration = wrapper.getParseConfiguration();
FeatureResult<PosTaggedTokenWrapper> tokenResult = addressFunction.check(wrapper, env);
FeatureResult<Integer> featureResult = null;
if (tokenResult != null) {
PosTaggedToken posTaggedToken = tokenResult.getOutcome().getPosTaggedToken();
int countMatching = 0;
for (PosTaggedToken dependent : configuration.getDependents(posTaggedToken)) {
ParseConfigurationAddress parseConfigurationAddress = new ParseConfigurationAddress(env);
parseConfigurationAddress.setParseConfiguration(configuration);
parseConfigurationAddress.setPosTaggedToken(dependent);
FeatureResult<Boolean> criterionResult = criterion.check(parseConfigurationAddress, env);
if (criterionResult != null && criterionResult.getOutcome())
countMatching++;
}
featureResult = this.generateResult(countMatching);
}
return featureResult;
}
use of com.joliciel.talismane.posTagger.PosTaggedToken in project talismane by joliciel-informatique.
the class DependencyLabelFeature method check.
@Override
public FeatureResult<String> check(ParseConfigurationWrapper wrapper, RuntimeEnvironment env) throws TalismaneException {
PosTaggedTokenWrapper innerWrapper = this.getToken(wrapper, env);
if (innerWrapper == null)
return null;
PosTaggedToken posTaggedToken = innerWrapper.getPosTaggedToken();
if (posTaggedToken == null)
return null;
FeatureResult<String> featureResult = null;
ParseConfiguration configuration = wrapper.getParseConfiguration();
DependencyArc arc = configuration.getGoverningDependency(posTaggedToken);
if (arc != null) {
String label = arc.getLabel();
if (label == null)
label = "null";
featureResult = this.generateResult(label);
}
return featureResult;
}
use of com.joliciel.talismane.posTagger.PosTaggedToken in project talismane by joliciel-informatique.
the class DependencySearchFeature method check.
@Override
public FeatureResult<PosTaggedTokenWrapper> check(ParseConfigurationWrapper wrapper, RuntimeEnvironment env) throws TalismaneException {
ParseConfiguration configuration = wrapper.getParseConfiguration();
PosTaggedToken resultToken = null;
FeatureResult<PosTaggedTokenWrapper> referenceTokenResult = referenceTokenFeature.check(configuration, env);
if (referenceTokenResult != null) {
PosTaggedToken referenceToken = referenceTokenResult.getOutcome().getPosTaggedToken();
ParseConfigurationAddress parseConfigurationAddress = new ParseConfigurationAddress(env);
parseConfigurationAddress.setParseConfiguration(configuration);
for (PosTaggedToken dependent : configuration.getDependents(referenceToken)) {
parseConfigurationAddress.setPosTaggedToken(dependent);
FeatureResult<Boolean> criterionResult = criterionFeature.check(parseConfigurationAddress, env);
if (criterionResult != null) {
boolean criterion = criterionResult.getOutcome();
if (criterion) {
resultToken = dependent;
break;
}
}
}
}
FeatureResult<PosTaggedTokenWrapper> featureResult = null;
if (resultToken != null)
featureResult = this.generateResult(resultToken);
return featureResult;
}
use of com.joliciel.talismane.posTagger.PosTaggedToken in project talismane by joliciel-informatique.
the class DistanceFeature method check.
@Override
public FeatureResult<Integer> check(ParseConfigurationWrapper wrapper, RuntimeEnvironment env) throws TalismaneException {
FeatureResult<PosTaggedTokenWrapper> tokenResult1 = addressFunction1.check(wrapper, env);
FeatureResult<PosTaggedTokenWrapper> tokenResult2 = addressFunction2.check(wrapper, env);
FeatureResult<Integer> featureResult = null;
if (tokenResult1 != null && tokenResult2 != null) {
PosTaggedToken posTaggedToken1 = tokenResult1.getOutcome().getPosTaggedToken();
PosTaggedToken posTaggedToken2 = tokenResult2.getOutcome().getPosTaggedToken();
int distance = posTaggedToken2.getToken().getIndex() - posTaggedToken1.getToken().getIndex();
if (distance < 0)
distance = 0 - distance;
featureResult = this.generateResult(distance);
}
return featureResult;
}
use of com.joliciel.talismane.posTagger.PosTaggedToken in project talismane by joliciel-informatique.
the class ForwardSearchFeature method check.
@Override
public FeatureResult<PosTaggedTokenWrapper> check(ParseConfigurationWrapper wrapper, RuntimeEnvironment env) throws TalismaneException {
ParseConfiguration configuration = wrapper.getParseConfiguration();
PosTaggedToken resultToken = null;
FeatureResult<PosTaggedTokenWrapper> referenceTokenResult = referenceTokenFeature.check(wrapper, env);
if (referenceTokenResult != null) {
PosTaggedToken referenceToken = referenceTokenResult.getOutcome().getPosTaggedToken();
ParseConfigurationAddress parseConfigurationAddress = new ParseConfigurationAddress(env);
parseConfigurationAddress.setParseConfiguration(configuration);
for (int i = referenceToken.getToken().getIndex() + 1; i < configuration.getPosTagSequence().size(); i++) {
PosTaggedToken nextToken = configuration.getPosTagSequence().get(i);
parseConfigurationAddress.setPosTaggedToken(nextToken);
FeatureResult<Boolean> criterionResult = criterionFeature.check(parseConfigurationAddress, env);
if (criterionResult != null) {
boolean criterion = criterionResult.getOutcome();
if (criterion) {
resultToken = nextToken;
break;
}
}
}
}
FeatureResult<PosTaggedTokenWrapper> featureResult = null;
if (resultToken != null)
featureResult = this.generateResult(resultToken);
return featureResult;
}
Aggregations