/** * Create a new entity from an existing entity. * @param entity An existing entity. */ public Entity(Entity entity) { setConfidence(entity.getConfidence()); setMetadata(entity.getMetadata()); setType(entity.getType()); setLanguageCode(entity.getLanguageCode()); setSpan(entity.getSpan()); setText(entity.getText()); setUri(entity.getUri()); }
@Override public int compare(Entity entity1, Entity entity2) { switch (sortingBy) { case CONFIDENCE: return Double.compare(entity1.getConfidence(), entity2.getConfidence()); case TEXT: return entity1.getText().compareTo(entity2.getText()); case OCCURRENCE: return Integer.compare(entity1.getSpan().getTokenStart(), entity2.getSpan().getTokenStart()); } throw new IllegalArgumentException("Invalid sort type."); }
/** * Sanitize the entities by removing punctuation and other attributes. * * @param entities A collection of {@link Entity} objects. * @return A collection of sanitized {@link Entity} objects. This collection * will be equal in size to the input collection. */ @Override public Set<Entity> sanitizeEntities(Set<Entity> entities) { for(Entity entity : entities) { if(entity.getText().endsWith(",") || entity.getText().endsWith(".")) { entity.setText(entity.getText().substring(0, entity.getText().length() - 1)); } // Replace all punctuation. entity.setText(entity.getText().replaceAll("\\p{P}", "")); } return entities; }
Entity entity = new Entity(entityText, roundedConfidence, modelManifest.getType(), modelManifest.getLanguageCode().getAlpha3().toString()); entity.setSpan(new ai.idylnlp.model.entity.Span(name.getStart(), name.getEnd())); entity.setContext(entityExtractionRequest.getContext()); entity.setExtractionDate(System.currentTimeMillis()); entity.getMetadata().put(METADATA_MODEL_FILENAME_KEY, modelManifest.getModelFileName());
@Override public int compare(Entity entity1, Entity entity2) { switch (sortingBy) { case CONFIDENCE: return Double.compare(entity1.getConfidence(), entity2.getConfidence()); case TEXT: return entity1.getText().compareTo(entity2.getText()); } throw new IllegalArgumentException("Invalid sort type."); }
/** * Converts a list of {@link EntityMetadata} to a map. * @param metadata A list of {@link EntityMetadata}. * @return A map that contains the entity metadata. */ public static Map<String, String> toMap(List<EntityMetadata> metadata) { Map<String, String> map = new LinkedHashMap<String, String>(); if(CollectionUtils.isNotEmpty(metadata)) { for(EntityMetadata m : metadata) { map.put(m.getName(), m.getValue()); } } return map; }
/** * {@inheritDoc} */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Text: " + text + "; "); sb.append("Confidence: " + confidence + "; "); sb.append("Type: " + type + "; "); sb.append("Language Code: " + languageCode + "; "); if(span != null) { sb.append("Span: " + span.toString() + "; "); } return sb.toString(); }
if(entity.getText().equalsIgnoreCase(entity2.getText())) { if(entity3.getConfidence() > highestConfidence) { highestConfidence = entity3.getConfidence(); entityWithHighestConfidence = entity3;