diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/document/data/mapper/PropertiesMapper.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/document/data/mapper/PropertiesMapper.java index c6a13cc4..fcc2a55d 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/document/data/mapper/PropertiesMapper.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/document/data/mapper/PropertiesMapper.java @@ -92,11 +92,11 @@ public class PropertiesMapper { public static ImageType parseImageType(String imageType) { - return switch (imageType) { - case "LOGO" -> ImageType.LOGO; - case "FORMULA" -> ImageType.FORMULA; - case "SIGNATURE" -> ImageType.SIGNATURE; - case "OCR" -> ImageType.OCR; + return switch (imageType.toLowerCase()) { + case "logo" -> ImageType.LOGO; + case "formula" -> ImageType.FORMULA; + case "signature" -> ImageType.SIGNATURE; + case "ocr" -> ImageType.OCR; default -> ImageType.OTHER; }; } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/adapter/NerEntitiesAdapter.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/adapter/NerEntitiesAdapter.java index ffa47a56..e2d8625c 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/adapter/NerEntitiesAdapter.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/adapter/NerEntitiesAdapter.java @@ -17,6 +17,7 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Bo import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.DocumentGraph; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.SectionNode; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.textblock.TextBlock; +import com.iqser.red.service.redaction.v1.server.redaction.utils.SeparatorUtils; import lombok.AccessLevel; import lombok.experimental.FieldDefaults; @@ -90,11 +91,21 @@ public class NerEntitiesAdapter { List boundaries = entityClusters.stream().filter(cluster -> cluster.size() >= MIN_PART_MATCHES).map(this::toContainingBoundary).distinct().toList(); return boundaries.stream() + .map(boundary -> removeTrailingSeparator(boundary, textBlock)) .map(boundary -> new EntityRecognitionEntity(textBlock.subSequence(boundary).toString(), boundary.start(), boundary.end(), "CBI_address")) .toList(); } + private Boundary removeTrailingSeparator(Boundary boundary, TextBlock textBlock) { + + if (SeparatorUtils.isSeparator(textBlock.charAt(boundary.end() - 1))) { + return new Boundary(boundary.start(), boundary.end()); + } + return boundary; + } + + private static boolean isDuplicate(List currentCluster, EntityRecognitionEntity entity) { return ALLOW_DUPLICATES || currentCluster.stream().anyMatch(e -> e.getType().equals(entity.getType()));