RED-7508: Fixed removal of wrong false positive entries

This commit is contained in:
deiflaender 2023-08-29 13:43:26 +02:00
parent f1fb0e6237
commit 230179fe46

View File

@ -300,9 +300,11 @@ public class EntityRedactionService {
!local,
model.isDossierDictionary(),
local ? Engine.RULE : Engine.DICTIONARY,
local ? EntityType.RECOMMENDATION : EntityType.ENTITY)).stream().filter(e -> !e.isFalsePositive()).collect(Collectors.toSet());
local ? EntityType.RECOMMENDATION : EntityType.ENTITY));
EntitySearchUtils.addOrAddEngine(found, entities);
var withPositions = EntitySearchUtils.clearAndFindPositions(entities, searchableText, dictionary, manualRedactions);
EntitySearchUtils.addOrAddEngine(found, withPositions.stream().filter(e -> !e.isFalsePositive()).collect(Collectors.toSet()));
}
Set<Entity> nerFound = new HashSet<>();
@ -310,8 +312,8 @@ public class EntityRedactionService {
nerFound.addAll(getNerValues(sectionNumber, nerEntities, cellStarts, headline));
}
var cleared = EntitySearchUtils.clearAndFindPositions(found, searchableText, dictionary, manualRedactions);
return new Entities(cleared.stream().filter(e -> !e.isFalsePositive()).collect(Collectors.toSet()), nerFound);
EntitySearchUtils.removeEntitiesContainedInLarger(found);
return new Entities(found, nerFound);
}