@Override public String getPredictedFeature() { return recommender.getFeature().getName(); }
@Override public String getPredictedFeature() { return recommender.getFeature().getName(); }
private List<Pair<String, String>> listTools() { if (recommenderModel != null && recommenderModel.getObject().getLayer() != null && recommenderModel.getObject().getFeature() != null) { AnnotationLayer layer = recommenderModel.getObject().getLayer(); AnnotationFeature feature = recommenderModel.getObject().getFeature(); return recommenderRegistry.getFactories(layer, feature) .stream() .filter(f -> !f.isDeprecated()) .map(f -> Pair.of(f.getId(), f.getName())) .collect(Collectors.toList()); } else { return Collections.emptyList(); } }
public DL4JSequenceRecommender(Recommender aRecommender, DL4JSequenceRecommenderTraits aTraits, File aDatasetCache) { layerName = aRecommender.getLayer().getName(); featureName = aRecommender.getFeature().getName(); traits = aTraits; datasetCache = aDatasetCache; }
public DL4JSequenceRecommender(Recommender aRecommender, DL4JSequenceRecommenderTraits aTraits, File aDatasetCache) { layerName = aRecommender.getLayer().getName(); featureName = aRecommender.getFeature().getName(); traits = aTraits; datasetCache = aDatasetCache; }
public DataMajorityNerRecommender(Recommender aRecommender) { layerName = aRecommender.getLayer().getName(); featureName = aRecommender.getFeature().getName(); } // end::classDefinition[]
private Collection<ImmutablePair<String, Collection<AnnotationFS>>> extractNamedEntities( List<CAS> aCasList) { Type tokenType = org.apache.uima.fit.util.CasUtil .getType(aCasList.get(0), recommender.getLayer().getName()); Feature feature = tokenType.getFeatureByBaseName(recommender.getFeature().getName()); Collection<ImmutablePair<String, Collection<AnnotationFS>>> nameSamples = new HashSet<>(); for (CAS cas : aCasList) { Collection<AnnotationFS> namesPerDocument = new ArrayList<>(); Type sentenceType = getType(cas, Sentence.class); Map<AnnotationFS, Collection<AnnotationFS>> sentences = indexCovered(cas, sentenceType, tokenType); for (Map.Entry<AnnotationFS, Collection<AnnotationFS>> e : sentences.entrySet()) { Collection<AnnotationFS> tokens = e.getValue().stream() // If the identifier has not been set .filter(a -> a.getStringValue(feature) == null) .collect(Collectors.toSet()); namesPerDocument.addAll(tokens); } // TODO #176 use the document Id once it is available in the CAS nameSamples.add( new ImmutablePair<>(DocumentMetaData.get(cas).getDocumentUri(), namesPerDocument)); } return nameSamples; }
private Collection<ImmutablePair<String, Collection<AnnotationFS>>> extractNamedEntities( List<CAS> aCasList) { Type tokenType = org.apache.uima.fit.util.CasUtil .getType(aCasList.get(0), recommender.getLayer().getName()); Feature feature = tokenType.getFeatureByBaseName(recommender.getFeature().getName()); Collection<ImmutablePair<String, Collection<AnnotationFS>>> nameSamples = new HashSet<>(); for (CAS cas : aCasList) { Collection<AnnotationFS> namesPerDocument = new ArrayList<>(); Type sentenceType = getType(cas, Sentence.class); Map<AnnotationFS, Collection<AnnotationFS>> sentences = indexCovered(cas, sentenceType, tokenType); for (Map.Entry<AnnotationFS, Collection<AnnotationFS>> e : sentences.entrySet()) { Collection<AnnotationFS> tokens = e.getValue().stream() // If the identifier has not been set .filter(a -> a.getStringValue(feature) == null) .collect(Collectors.toSet()); namesPerDocument.addAll(tokens); } // TODO #176 use the document Id once it is available in the CAS nameSamples.add( new ImmutablePair<>(DocumentMetaData.get(cas).getDocumentUri(), namesPerDocument)); } return nameSamples; }
public OpenNlpDoccatRecommender(Recommender aRecommender, OpenNlpDoccatRecommenderTraits aTraits) { layerName = aRecommender.getLayer().getName(); featureName = aRecommender.getFeature().getName(); maxRecommendations = aRecommender.getMaxRecommendations(); traits = aTraits; }
public StringMatchingRecommender(Recommender aRecommender, StringMatchingRecommenderTraits aTraits) { layerName = aRecommender.getLayer().getName(); featureName = aRecommender.getFeature().getName(); maxRecommendations = aRecommender.getMaxRecommendations(); traits = aTraits; }
private String generateName(Recommender aRecommender) { if (aRecommender.getFeature() == null || aRecommender.getLayer() == null || aRecommender.getTool() == null) { return null; } else { RecommendationEngineFactory factory = recommenderRegistry .getFactory(aRecommender.getTool()); return String.format(Locale.US, "[%s@%s] %s", aRecommender.getLayer().getUiName(), aRecommender.getFeature().getUiName(), factory.getName()); } }
public OpenNlpPosRecommender(Recommender aRecommender, OpenNlpPosRecommenderTraits aTraits) { layerName = aRecommender.getLayer().getName(); featureName = aRecommender.getFeature().getName(); maxRecommendations = aRecommender.getMaxRecommendations(); traits = aTraits; }
@Override public RecommendationEngine build(Recommender aRecommender) { NamedEntityLinkerTraits traits = readTraits(aRecommender); AnnotationFeature feature = aRecommender.getFeature(); FeatureSupport<ConceptFeatureTraits> fs = fsRegistry.getFeatureSupport(feature); ConceptFeatureTraits featureTraits = fs.readTraits(feature); return new NamedEntityLinker(aRecommender, traits, kbService, clService, fsRegistry, featureTraits); }
public StringMatchingRecommender(Recommender aRecommender, StringMatchingRecommenderTraits aTraits) { layerName = aRecommender.getLayer().getName(); featureName = aRecommender.getFeature().getName(); maxRecommendations = aRecommender.getMaxRecommendations(); traits = aTraits; }
@Override public RecommendationEngine build(Recommender aRecommender) { NamedEntityLinkerTraits traits = readTraits(aRecommender); AnnotationFeature feature = aRecommender.getFeature(); FeatureSupport<ConceptFeatureTraits> fs = fsRegistry.getFeatureSupport(feature); ConceptFeatureTraits featureTraits = fs.readTraits(feature); return new NamedEntityLinker(aRecommender, traits, kbService, clService, fsRegistry, featureTraits); }
public OpenNlpNerRecommender(Recommender aRecommender, OpenNlpNerRecommenderTraits aTraits) { layerName = aRecommender.getLayer().getName(); featureName = aRecommender.getFeature().getName(); maxRecommendations = aRecommender.getMaxRecommendations(); traits = aTraits; }
private Metadata buildMetadata(CAS aCas) throws RecommendationException { CASMetadata casMetadata = getCasMetadata(aCas); AnnotationLayer layer = recommender.getLayer(); return new Metadata( layer.getName(), recommender.getFeature().getName(), casMetadata.getProjectId(), layer.getAnchoringMode().getId(), layer.isCrossSentence() ); }
private Metadata buildMetadata(CAS aCas) throws RecommendationException { CASMetadata casMetadata = getCasMetadata(aCas); AnnotationLayer layer = recommender.getLayer(); return new Metadata( layer.getName(), recommender.getFeature().getName(), casMetadata.getProjectId(), layer.getAnchoringMode().getId(), layer.isCrossSentence() ); }
@Override public String getDetails(RecommenderEvaluationResultEvent aEvent) { try { Details details = new Details(); details.recommenderId = aEvent.getRecommender().getId(); details.score = aEvent.getScore(); details.active = aEvent.isActive(); details.duration = aEvent.getDuration(); details.threshold = aEvent.getRecommender().getThreshold(); details.layer = aEvent.getRecommender().getLayer().getName(); details.feature = aEvent.getRecommender().getFeature().getName(); details.tool = aEvent.getRecommender().getTool(); return JSONUtil.toJsonString(details); } catch (IOException e) { log.error("Unable to log event [{}]", aEvent, e); return "<ERROR>"; } }
@Override public void exportData(ProjectExportRequest aRequest, ExportedProject aExProject, File aFile) { Project project = aRequest.getProject(); List<ExportedRecommender> exportedRecommenders = new ArrayList<>(); for (Recommender recommender : recommendationService.listRecommenders(project)) { ExportedRecommender exportedRecommender = new ExportedRecommender(); exportedRecommender.setAlwaysSelected(recommender.isAlwaysSelected()); exportedRecommender.setFeature(recommender.getFeature().getName()); exportedRecommender.setEnabled(recommender.isEnabled()); exportedRecommender.setLayerName(recommender.getLayer().getName()); exportedRecommender.setName(recommender.getName()); exportedRecommender.setThreshold(recommender.getThreshold()); exportedRecommender.setTool(recommender.getTool()); exportedRecommender.setSkipEvaluation(recommender.isSkipEvaluation()); exportedRecommender.setMaxRecommendations(recommender.getMaxRecommendations()); exportedRecommender.setStatesIgnoredForTraining( recommender.getStatesIgnoredForTraining()); exportedRecommender.setTraits(recommender.getTraits()); exportedRecommenders.add(exportedRecommender); } aExProject.setProperty(KEY, exportedRecommenders); int n = exportedRecommenders.size(); LOG.info("Exported [{}] recommenders for project [{}]", n, project.getName()); }