RED-5139: Bugfix if false positives are added, for rule added entries
This commit is contained in:
parent
ec60d0eab4
commit
8c342cc5f1
@ -1003,6 +1003,9 @@ public class Section {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private Set<Entity> findEntities(String value, String asType, boolean caseInsensitive, boolean redacted,
|
private Set<Entity> findEntities(String value, String asType, boolean caseInsensitive, boolean redacted,
|
||||||
int ruleNumber, String reason, String legalBasis, Engine engine,
|
int ruleNumber, String reason, String legalBasis, Engine engine,
|
||||||
boolean asRecommendation) {
|
boolean asRecommendation) {
|
||||||
@ -1076,6 +1079,8 @@ public class Section {
|
|||||||
|
|
||||||
EntitySearchUtils.clearAndFindPositions(singleEntitySet, searchableText, dictionary, manualRedactions);
|
EntitySearchUtils.clearAndFindPositions(singleEntitySet, searchableText, dictionary, manualRedactions);
|
||||||
|
|
||||||
|
EntitySearchUtils.removeFalsePositives(singleEntitySet, value.toString(), dictionary.getType(type), new FindEntityDetails(type, headline, sectionNumber, false, false, Engine.RULE, EntityType.ENTITY));
|
||||||
|
|
||||||
EntitySearchUtils.addEntitiesWithHigherRank(entities, entity, dictionary);
|
EntitySearchUtils.addEntitiesWithHigherRank(entities, entity, dictionary);
|
||||||
|
|
||||||
EntitySearchUtils.removeEntitiesContainedInLarger(entities);
|
EntitySearchUtils.removeEntitiesContainedInLarger(entities);
|
||||||
|
|||||||
@ -20,6 +20,13 @@ public class EntitySearchUtils {
|
|||||||
return searchImplementation.atLeastOneMatches(sectionText);
|
return searchImplementation.atLeastOneMatches(sectionText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void removeFalsePositives(Set<Entity> found, String inputString, DictionaryModel type, FindEntityDetails details){
|
||||||
|
Set<Entity> falsePositives = find(inputString, type.getFalsePositiveSearch(), details.withEntityType(EntityType.FALSE_POSITIVE));
|
||||||
|
markFalsePositives(found, falsePositives);
|
||||||
|
found.stream().filter(f -> !f.isFalsePositive()).collect(Collectors.toSet());
|
||||||
|
}
|
||||||
|
|
||||||
public Set<Entity> findEntities(String inputString, SearchImplementation searchImplementation, DictionaryModel type, FindEntityDetails details) {
|
public Set<Entity> findEntities(String inputString, SearchImplementation searchImplementation, DictionaryModel type, FindEntityDetails details) {
|
||||||
|
|
||||||
Set<Entity> found = find(inputString, searchImplementation, details);
|
Set<Entity> found = find(inputString, searchImplementation, details);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user