From a1544588e8a3cfa0479d5d31d82463c5434674a1 Mon Sep 17 00:00:00 2001 From: deiflaender Date: Wed, 26 Jan 2022 16:18:20 +0100 Subject: [PATCH] RED-3133: Ignore min length for values from ai --- .../service/redaction/v1/server/redaction/model/Section.java | 4 ++-- .../v1/server/redaction/service/EntityRedactionService.java | 4 ++-- .../service/ManualRedactionSurroundingTextService.java | 2 +- .../v1/server/redaction/utils/EntitySearchUtils.java | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/model/Section.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/model/Section.java index ae0d48f2..f96608c2 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/model/Section.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/model/Section.java @@ -78,7 +78,7 @@ public class Section { .filter(nerEntity -> nerEntity.getType().equals(type)) .collect(Collectors.toSet()); Set values = entitiesOfType.stream().map(Entity::getWord).collect(Collectors.toSet()); - Set found = EntitySearchUtils.find(searchText, values, asType, headline, sectionNumber, false, false, Engine.NER); + Set found = EntitySearchUtils.find(searchText, values, asType, headline, sectionNumber, false, false, Engine.NER, true); EntitySearchUtils.clearAndFindPositions(found, searchableText, dictionary); Set finalResult = new HashSet<>(); @@ -737,7 +737,7 @@ public class Section { String text = caseInsensitive ? searchText.toLowerCase() : searchText; String searchValue = caseInsensitive ? value.toLowerCase() : value; - Set found = EntitySearchUtils.find(text, Set.of(searchValue), asType, headline, sectionNumber, false, false, engine); + Set found = EntitySearchUtils.find(text, Set.of(searchValue), asType, headline, sectionNumber, false, false, engine, false); found.forEach(entity -> { if (redacted) { diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionService.java index f5eaba79..68522fe8 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionService.java @@ -237,10 +237,10 @@ public class EntityRedactionService { for (DictionaryModel model : dictionary.getDictionaryModels()) { if (model.isCaseInsensitive()) { EntitySearchUtils.addOrAddEngine(found, EntitySearchUtils.find(lowercaseInputString, model.getValues(local), model - .getType(), headline, sectionNumber, !local, model.isDossierDictionary(), local ? Engine.RULE : Engine.DICTIONARY)); + .getType(), headline, sectionNumber, !local, model.isDossierDictionary(), local ? Engine.RULE : Engine.DICTIONARY, false)); } else { EntitySearchUtils.addOrAddEngine(found, EntitySearchUtils.find(searchableString, model.getValues(local), model - .getType(), headline, sectionNumber, !local, model.isDossierDictionary(), local ? Engine.RULE : Engine.DICTIONARY)); + .getType(), headline, sectionNumber, !local, model.isDossierDictionary(), local ? Engine.RULE : Engine.DICTIONARY, false)); } } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ManualRedactionSurroundingTextService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ManualRedactionSurroundingTextService.java index 8488bd64..89fc057d 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ManualRedactionSurroundingTextService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ManualRedactionSurroundingTextService.java @@ -85,7 +85,7 @@ public class ManualRedactionSurroundingTextService { List toFindPositions) { Set entities = EntitySearchUtils.find(sectionText.getText(), Set.of(value), "dummy", sectionText.getHeadline(), sectionText - .getSectionNumber(), false, false, Engine.DICTIONARY); + .getSectionNumber(), false, false, Engine.DICTIONARY, false); Set entitiesWithPositions = EntitySearchUtils.clearAndFindPositions(entities, sectionText.getSearchableText(), null); Entity correctEntity = getEntityOnCorrectPosition(entitiesWithPositions, toFindPositions); diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/utils/EntitySearchUtils.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/utils/EntitySearchUtils.java index c67b5644..cbec49f9 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/utils/EntitySearchUtils.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/utils/EntitySearchUtils.java @@ -55,7 +55,7 @@ public class EntitySearchUtils { public Set find(String inputString, Set values, String type, String headline, int sectionNumber, - boolean isDictionaryEntry, boolean isDossierDictionary, Engine engine) { + boolean isDictionaryEntry, boolean isDossierDictionary, Engine engine, boolean ignoreMinLength) { Set found = new HashSet<>(); @@ -63,7 +63,7 @@ public class EntitySearchUtils { String cleanValue = value.trim(); - if (cleanValue.length() <= 2) { + if (!ignoreMinLength && cleanValue.length() <= 2) { continue; }