Merge branch 'RED-6929' into 'master'
RED-6929: fix acceptance tests/results Closes RED-6929 See merge request redactmanager/redaction-service!42
This commit is contained in:
commit
dfa66e99db
@ -30,6 +30,7 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.no
|
|||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.textblock.TextBlock;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.textblock.TextBlock;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.RedactionSearchUtility;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.RedactionSearchUtility;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
||||||
|
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntitiesAdapter;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.SearchImplementation;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.SearchImplementation;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.utils.IdBuilder;
|
import com.iqser.red.service.redaction.v1.server.redaction.utils.IdBuilder;
|
||||||
|
|
||||||
@ -364,9 +365,7 @@ public class EntityCreationService {
|
|||||||
}
|
}
|
||||||
addEntityToGraph(entity, node);
|
addEntityToGraph(entity, node);
|
||||||
entity.addEngine(Engine.RULE);
|
entity.addEngine(Engine.RULE);
|
||||||
if (kieSession != null) {
|
insertToKieSession(entity);
|
||||||
kieSession.insert(entity);
|
|
||||||
}
|
|
||||||
return Optional.of(entity);
|
return Optional.of(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -402,15 +401,24 @@ public class EntityCreationService {
|
|||||||
mergedEntity.setRemoved(entitiesToMerge.stream().allMatch(RedactionEntity::isRemoved));
|
mergedEntity.setRemoved(entitiesToMerge.stream().allMatch(RedactionEntity::isRemoved));
|
||||||
|
|
||||||
addEntityToGraph(mergedEntity, node);
|
addEntityToGraph(mergedEntity, node);
|
||||||
kieSession.insert(mergedEntity);
|
insertToKieSession(mergedEntity);
|
||||||
return mergedEntity;
|
return mergedEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void insertToKieSession(RedactionEntity mergedEntity) {
|
||||||
|
|
||||||
|
if (kieSession != null) {
|
||||||
|
kieSession.insert(mergedEntity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public RedactionEntity byNerEntity(NerEntities.NerEntity nerEntity, EntityType entityType, SemanticNode semanticNode) {
|
public RedactionEntity byNerEntity(NerEntities.NerEntity nerEntity, EntityType entityType, SemanticNode semanticNode) {
|
||||||
|
|
||||||
var entity = forceByBoundary(nerEntity.boundary(), nerEntity.type(), entityType, semanticNode);
|
var entity = forceByBoundary(nerEntity.boundary(), nerEntity.type(), entityType, semanticNode);
|
||||||
entity.addEngine(Engine.NER);
|
entity.addEngine(Engine.NER);
|
||||||
|
insertToKieSession(entity);
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -419,10 +427,20 @@ public class EntityCreationService {
|
|||||||
|
|
||||||
var entity = forceByBoundary(nerEntity.boundary(), type, entityType, semanticNode);
|
var entity = forceByBoundary(nerEntity.boundary(), type, entityType, semanticNode);
|
||||||
entity.addEngine(Engine.NER);
|
entity.addEngine(Engine.NER);
|
||||||
|
insertToKieSession(entity);
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Stream<RedactionEntity> combineNerEntitiesToCbiAddressDefaults(NerEntities nerEntities, String type, EntityType entityType, SemanticNode semanticNode) {
|
||||||
|
|
||||||
|
return NerEntitiesAdapter.combineNerEntitiesToCbiAddressDefaults(nerEntities)
|
||||||
|
.map(boundary -> forceByBoundary(boundary, type, entityType, semanticNode))
|
||||||
|
.peek(entity -> entity.addEngine(Engine.NER))
|
||||||
|
.peek(this::insertToKieSession);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public RedactionEntity byTableCellAsHighlight(TableCell tableCell, String type, EntityType entityType) {
|
public RedactionEntity byTableCellAsHighlight(TableCell tableCell, String type, EntityType entityType) {
|
||||||
|
|
||||||
RedactionEntity highlightEntity = RedactionEntity.initialEntityNode(new Boundary(tableCell.getBoundary().start(), tableCell.getBoundary().start()), type, entityType);
|
RedactionEntity highlightEntity = RedactionEntity.initialEntityNode(new Boundary(tableCell.getBoundary().start(), tableCell.getBoundary().start()), type, entityType);
|
||||||
|
|||||||
@ -7,8 +7,6 @@ import java.util.List;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import com.iqser.red.service.redaction.v1.server.client.model.EntityRecognitionEntity;
|
import com.iqser.red.service.redaction.v1.server.client.model.EntityRecognitionEntity;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.model.NerEntitiesModel;
|
import com.iqser.red.service.redaction.v1.server.client.model.NerEntitiesModel;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
||||||
@ -18,10 +16,11 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.te
|
|||||||
|
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.experimental.FieldDefaults;
|
import lombok.experimental.FieldDefaults;
|
||||||
|
import lombok.experimental.UtilityClass;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@UtilityClass
|
||||||
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
|
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
|
||||||
public class NerEntitiesAdapter {
|
public class NerEntitiesAdapter {
|
||||||
|
|
||||||
|
|||||||
@ -64,7 +64,6 @@ public class AnalyzeService {
|
|||||||
private static final String REDACTMANAGER_ANALYZE_PAGEWISE_METRIC_NAME = "redactmanager_analyze.pagewise";
|
private static final String REDACTMANAGER_ANALYZE_PAGEWISE_METRIC_NAME = "redactmanager_analyze.pagewise";
|
||||||
|
|
||||||
DictionaryService dictionaryService;
|
DictionaryService dictionaryService;
|
||||||
NerEntitiesAdapter nerEntitiesAdapter;
|
|
||||||
DroolsExecutionService droolsExecutionService;
|
DroolsExecutionService droolsExecutionService;
|
||||||
EntityRedactionService entityRedactionService;
|
EntityRedactionService entityRedactionService;
|
||||||
RedactionLogCreatorService redactionLogCreatorService;
|
RedactionLogCreatorService redactionLogCreatorService;
|
||||||
@ -310,7 +309,7 @@ public class AnalyzeService {
|
|||||||
if (redactionServiceSettings.isNerServiceEnabled()) {
|
if (redactionServiceSettings.isNerServiceEnabled()) {
|
||||||
NerEntitiesModel nerEntitiesModel = redactionStorageService.getNerEntities(analyzeRequest.getDossierId(), analyzeRequest.getFileId());
|
NerEntitiesModel nerEntitiesModel = redactionStorageService.getNerEntities(analyzeRequest.getDossierId(), analyzeRequest.getFileId());
|
||||||
nerEntitiesModel = filterNerEntitiesModelBySectionIds(sectionsToReanalyseIds, nerEntitiesModel);
|
nerEntitiesModel = filterNerEntitiesModelBySectionIds(sectionsToReanalyseIds, nerEntitiesModel);
|
||||||
nerEntities = nerEntitiesAdapter.toNerEntities(nerEntitiesModel, document);
|
nerEntities = NerEntitiesAdapter.toNerEntities(nerEntitiesModel, document);
|
||||||
} else {
|
} else {
|
||||||
nerEntities = new NerEntities(Collections.emptyList());
|
nerEntities = new NerEntities(Collections.emptyList());
|
||||||
}
|
}
|
||||||
@ -330,7 +329,7 @@ public class AnalyzeService {
|
|||||||
|
|
||||||
NerEntities nerEntities;
|
NerEntities nerEntities;
|
||||||
if (redactionServiceSettings.isNerServiceEnabled()) {
|
if (redactionServiceSettings.isNerServiceEnabled()) {
|
||||||
nerEntities = nerEntitiesAdapter.toNerEntities(redactionStorageService.getNerEntities(analyzeRequest.getDossierId(), analyzeRequest.getFileId()), document);
|
nerEntities = NerEntitiesAdapter.toNerEntities(redactionStorageService.getNerEntities(analyzeRequest.getDossierId(), analyzeRequest.getFileId()), document);
|
||||||
} else {
|
} else {
|
||||||
nerEntities = new NerEntities(Collections.emptyList());
|
nerEntities = new NerEntities(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,6 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.services
|
|||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.services.EntityEnrichmentService;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.services.EntityEnrichmentService;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.services.ManualRedactionApplicationService;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.services.ManualRedactionApplicationService;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntitiesAdapter;
|
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.Dictionary;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.Dictionary;
|
||||||
|
|
||||||
import io.micrometer.core.annotation.Timed;
|
import io.micrometer.core.annotation.Timed;
|
||||||
@ -48,7 +47,6 @@ public class DroolsExecutionService {
|
|||||||
Map<String, KieContainer> kieContainers = new HashMap<>();
|
Map<String, KieContainer> kieContainers = new HashMap<>();
|
||||||
Map<String, Long> rulesVersionPerDossierTemplateId = new HashMap<>();
|
Map<String, Long> rulesVersionPerDossierTemplateId = new HashMap<>();
|
||||||
EntityEnrichmentService entityEnrichmentService;
|
EntityEnrichmentService entityEnrichmentService;
|
||||||
NerEntitiesAdapter nerEntitiesAdapter;
|
|
||||||
|
|
||||||
|
|
||||||
public KieContainer getKieContainer(String dossierTemplateId) {
|
public KieContainer getKieContainer(String dossierTemplateId) {
|
||||||
@ -91,7 +89,6 @@ public class DroolsExecutionService {
|
|||||||
kieSession.setGlobal("entityCreationService", entityCreationService);
|
kieSession.setGlobal("entityCreationService", entityCreationService);
|
||||||
kieSession.setGlobal("manualRedactionApplicationService", manualRedactionApplicationService);
|
kieSession.setGlobal("manualRedactionApplicationService", manualRedactionApplicationService);
|
||||||
kieSession.setGlobal("dictionary", dictionary);
|
kieSession.setGlobal("dictionary", dictionary);
|
||||||
kieSession.setGlobal("nerEntitiesAdapter", nerEntitiesAdapter);
|
|
||||||
|
|
||||||
kieSession.insert(document);
|
kieSession.insert(document);
|
||||||
document.getEntities().forEach(kieSession::insert);
|
document.getEntities().forEach(kieSession::insert);
|
||||||
|
|||||||
@ -36,8 +36,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
class NerEntitiesAdapterTest extends BuildDocumentIntegrationTest {
|
class NerEntitiesAdapterTest extends BuildDocumentIntegrationTest {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private NerEntitiesAdapter nerEntitiesAdapter;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private EntityEnrichmentService entityEnrichmentService;
|
private EntityEnrichmentService entityEnrichmentService;
|
||||||
private EntityCreationService entityCreationService;
|
private EntityCreationService entityCreationService;
|
||||||
@ -71,7 +69,7 @@ class NerEntitiesAdapterTest extends BuildDocumentIntegrationTest {
|
|||||||
|
|
||||||
ClassPathResource resource = new ClassPathResource(filePath);
|
ClassPathResource resource = new ClassPathResource(filePath);
|
||||||
PDDocument pdDocument = PDDocument.load(resource.getInputStream());
|
PDDocument pdDocument = PDDocument.load(resource.getInputStream());
|
||||||
Stream<NerEntities.NerEntity> unchangedAddressParts = nerEntitiesAdapter.toNerEntities(parseNerEntities(nerEntitiesFilePath), document)
|
Stream<NerEntities.NerEntity> unchangedAddressParts = NerEntitiesAdapter.toNerEntities(parseNerEntities(nerEntitiesFilePath), document)
|
||||||
.getNerEntityList()
|
.getNerEntityList()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(e -> !e.type().equals("CBI_author"));
|
.filter(e -> !e.type().equals("CBI_author"));
|
||||||
@ -105,9 +103,9 @@ class NerEntitiesAdapterTest extends BuildDocumentIntegrationTest {
|
|||||||
log.info("Graph built");
|
log.info("Graph built");
|
||||||
NerEntitiesModel nerEntitiesModel = parseNerEntities(nerEntitiesFilePath);
|
NerEntitiesModel nerEntitiesModel = parseNerEntities(nerEntitiesFilePath);
|
||||||
log.info("Parsed NerEntitiesModel");
|
log.info("Parsed NerEntitiesModel");
|
||||||
NerEntities nerEntities = nerEntitiesAdapter.toNerEntities(nerEntitiesModel, document);
|
NerEntities nerEntities = NerEntitiesAdapter.toNerEntities(nerEntitiesModel, document);
|
||||||
log.info("Validated and mapped");
|
log.info("Validated and mapped");
|
||||||
List<Boundary> nerEntityBoundaries = nerEntitiesAdapter.combineNerEntitiesToCbiAddressDefaults(nerEntities).toList();
|
List<Boundary> nerEntityBoundaries = NerEntitiesAdapter.combineNerEntitiesToCbiAddressDefaults(nerEntities).toList();
|
||||||
log.info("Combined to CBI_address");
|
log.info("Combined to CBI_address");
|
||||||
List<RedactionEntity> cbiAddressEntities = nerEntityBoundaries.stream()
|
List<RedactionEntity> cbiAddressEntities = nerEntityBoundaries.stream()
|
||||||
.map(b -> entityCreationService.byBoundary(b, "CBI_address", EntityType.RECOMMENDATION, document))
|
.map(b -> entityCreationService.byBoundary(b, "CBI_address", EntityType.RECOMMENDATION, document))
|
||||||
@ -119,7 +117,7 @@ class NerEntitiesAdapterTest extends BuildDocumentIntegrationTest {
|
|||||||
|
|
||||||
ClassPathResource resource = new ClassPathResource(filePath);
|
ClassPathResource resource = new ClassPathResource(filePath);
|
||||||
PDDocument pdDocument = PDDocument.load(resource.getInputStream());
|
PDDocument pdDocument = PDDocument.load(resource.getInputStream());
|
||||||
List<RedactionEntity> validatedEntities = nerEntitiesAdapter.toNerEntities(parseNerEntities(nerEntitiesFilePath), document)
|
List<RedactionEntity> validatedEntities = NerEntitiesAdapter.toNerEntities(parseNerEntities(nerEntitiesFilePath), document)
|
||||||
.getNerEntityList()
|
.getNerEntityList()
|
||||||
.stream()
|
.stream()
|
||||||
.map(e -> entityCreationService.byBoundary(e.boundary(), e.type(), EntityType.ENTITY, document))
|
.map(e -> entityCreationService.byBoundary(e.boundary(), e.type(), EntityType.ENTITY, document))
|
||||||
@ -143,10 +141,10 @@ class NerEntitiesAdapterTest extends BuildDocumentIntegrationTest {
|
|||||||
|
|
||||||
private List<NerEntities.NerEntity> validateAndCombine(NerEntitiesModel nerEntitiesModel, Document document) {
|
private List<NerEntities.NerEntity> validateAndCombine(NerEntitiesModel nerEntitiesModel, Document document) {
|
||||||
|
|
||||||
NerEntities nerEntities = nerEntitiesAdapter.toNerEntities(nerEntitiesModel, document);
|
NerEntities nerEntities = NerEntitiesAdapter.toNerEntities(nerEntitiesModel, document);
|
||||||
|
|
||||||
List<NerEntities.NerEntity> cbiAuthors = nerEntities.streamEntitiesOfType("CBI_author").toList();
|
List<NerEntities.NerEntity> cbiAuthors = nerEntities.streamEntitiesOfType("CBI_author").toList();
|
||||||
Stream<NerEntities.NerEntity> cbiAddress = nerEntitiesAdapter.combineNerEntitiesToCbiAddressDefaults(nerEntities)
|
Stream<NerEntities.NerEntity> cbiAddress = NerEntitiesAdapter.combineNerEntitiesToCbiAddressDefaults(nerEntities)
|
||||||
.map(boundary -> new NerEntities.NerEntity(document.getTextBlock().subSequence(boundary).toString(), boundary, "CBI_address"));
|
.map(boundary -> new NerEntities.NerEntity(document.getTextBlock().subSequence(boundary).toString(), boundary, "CBI_address"));
|
||||||
|
|
||||||
return Stream.concat(cbiAuthors.stream(), cbiAddress).toList();
|
return Stream.concat(cbiAuthors.stream(), cbiAddress).toList();
|
||||||
|
|||||||
@ -39,14 +39,12 @@ import com.iqser.red.service.redaction.v1.server.client.model.EntityRecognitionE
|
|||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.entity.RedactionEntity;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.entity.RedactionEntity;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntitiesAdapter;
|
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.RedactionSearchUtility;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.RedactionSearchUtility;
|
||||||
|
|
||||||
global Document document
|
global Document document
|
||||||
global EntityCreationService entityCreationService
|
global EntityCreationService entityCreationService
|
||||||
global ManualRedactionApplicationService manualRedactionApplicationService
|
global ManualRedactionApplicationService manualRedactionApplicationService
|
||||||
global NerEntitiesAdapter nerEntitiesAdapter
|
|
||||||
global Dictionary dictionary
|
global Dictionary dictionary
|
||||||
|
|
||||||
//------------------------------------ queries ------------------------------------
|
//------------------------------------ queries ------------------------------------
|
||||||
@ -477,9 +475,7 @@ rule "AI.1.0: combine and add NER Entities as CBI_address"
|
|||||||
when
|
when
|
||||||
nerEntities: NerEntities(hasEntitiesOfType("ORG") || hasEntitiesOfType("STREET") || hasEntitiesOfType("CITY"))
|
nerEntities: NerEntities(hasEntitiesOfType("ORG") || hasEntitiesOfType("STREET") || hasEntitiesOfType("CITY"))
|
||||||
then
|
then
|
||||||
nerEntitiesAdapter.combineNerEntitiesToCbiAddressDefaults(nerEntities)
|
entityCreationService.combineNerEntitiesToCbiAddressDefaults(nerEntities, "CBI_address", EntityType.RECOMMENDATION, document).toList();
|
||||||
.map(boundary -> entityCreationService.forceByBoundary(boundary, "CBI_address", EntityType.RECOMMENDATION, document))
|
|
||||||
.forEach(entity -> entity.addEngine(Engine.NER));
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -39,14 +39,12 @@ import com.iqser.red.service.redaction.v1.server.client.model.EntityRecognitionE
|
|||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.entity.RedactionEntity;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.entity.RedactionEntity;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntitiesAdapter;
|
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.RedactionSearchUtility;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.RedactionSearchUtility;
|
||||||
|
|
||||||
global Document document
|
global Document document
|
||||||
global EntityCreationService entityCreationService
|
global EntityCreationService entityCreationService
|
||||||
global ManualRedactionApplicationService manualRedactionApplicationService
|
global ManualRedactionApplicationService manualRedactionApplicationService
|
||||||
global NerEntitiesAdapter nerEntitiesAdapter
|
|
||||||
global Dictionary dictionary
|
global Dictionary dictionary
|
||||||
|
|
||||||
//------------------------------------ queries ------------------------------------
|
//------------------------------------ queries ------------------------------------
|
||||||
@ -1136,9 +1134,7 @@ rule "AI.1.0: combine and add NER Entities as CBI_address"
|
|||||||
when
|
when
|
||||||
nerEntities: NerEntities(hasEntitiesOfType("ORG") || hasEntitiesOfType("STREET") || hasEntitiesOfType("CITY"))
|
nerEntities: NerEntities(hasEntitiesOfType("ORG") || hasEntitiesOfType("STREET") || hasEntitiesOfType("CITY"))
|
||||||
then
|
then
|
||||||
nerEntitiesAdapter.combineNerEntitiesToCbiAddressDefaults(nerEntities)
|
entityCreationService.combineNerEntitiesToCbiAddressDefaults(nerEntities, "CBI_address", EntityType.RECOMMENDATION, document).toList();
|
||||||
.map(boundary -> entityCreationService.forceByBoundary(boundary, "CBI_address", EntityType.RECOMMENDATION, document))
|
|
||||||
.forEach(entity -> entity.addEngine(Engine.NER));
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -45,7 +45,6 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.Re
|
|||||||
global Document document
|
global Document document
|
||||||
global EntityCreationService entityCreationService
|
global EntityCreationService entityCreationService
|
||||||
global ManualRedactionApplicationService manualRedactionApplicationService
|
global ManualRedactionApplicationService manualRedactionApplicationService
|
||||||
global NerEntitiesAdapter nerEntitiesAdapter
|
|
||||||
global Dictionary dictionary
|
global Dictionary dictionary
|
||||||
|
|
||||||
//------------------------------------ queries ------------------------------------
|
//------------------------------------ queries ------------------------------------
|
||||||
|
|||||||
@ -39,7 +39,6 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.Re
|
|||||||
global Document document
|
global Document document
|
||||||
global EntityCreationService entityCreationService
|
global EntityCreationService entityCreationService
|
||||||
global ManualRedactionApplicationService manualRedactionApplicationService
|
global ManualRedactionApplicationService manualRedactionApplicationService
|
||||||
global NerEntitiesAdapter nerEntitiesAdapter
|
|
||||||
global Dictionary dictionary
|
global Dictionary dictionary
|
||||||
|
|
||||||
//------------------------------------ queries ------------------------------------
|
//------------------------------------ queries ------------------------------------
|
||||||
|
|||||||
@ -39,14 +39,12 @@ import com.iqser.red.service.redaction.v1.server.client.model.EntityRecognitionE
|
|||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.entity.RedactionEntity;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.entity.RedactionEntity;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.Boundary;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntitiesAdapter;
|
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
||||||
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.RedactionSearchUtility;
|
import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.RedactionSearchUtility;
|
||||||
|
|
||||||
global Document document
|
global Document document
|
||||||
global EntityCreationService entityCreationService
|
global EntityCreationService entityCreationService
|
||||||
global ManualRedactionApplicationService manualRedactionApplicationService
|
global ManualRedactionApplicationService manualRedactionApplicationService
|
||||||
global NerEntitiesAdapter nerEntitiesAdapter
|
|
||||||
global Dictionary dictionary
|
global Dictionary dictionary
|
||||||
|
|
||||||
//------------------------------------ queries ------------------------------------
|
//------------------------------------ queries ------------------------------------
|
||||||
@ -861,9 +859,7 @@ rule "AI.1.0: combine and add NER Entities as CBI_address"
|
|||||||
when
|
when
|
||||||
nerEntities: NerEntities(hasEntitiesOfType("ORG") || hasEntitiesOfType("STREET") || hasEntitiesOfType("CITY"))
|
nerEntities: NerEntities(hasEntitiesOfType("ORG") || hasEntitiesOfType("STREET") || hasEntitiesOfType("CITY"))
|
||||||
then
|
then
|
||||||
nerEntitiesAdapter.combineNerEntitiesToCbiAddressDefaults(nerEntities)
|
entityCreationService.combineNerEntitiesToCbiAddressDefaults(nerEntities, "CBI_address", EntityType.RECOMMENDATION, document).toList();
|
||||||
.map(boundary -> entityCreationService.forceByBoundary(boundary, "CBI_address", EntityType.RECOMMENDATION, document))
|
|
||||||
.forEach(entity -> entity.addEngine(Engine.NER));
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -40,7 +40,6 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.Re
|
|||||||
global Document document
|
global Document document
|
||||||
global EntityCreationService entityCreationService
|
global EntityCreationService entityCreationService
|
||||||
global ManualRedactionApplicationService manualRedactionApplicationService
|
global ManualRedactionApplicationService manualRedactionApplicationService
|
||||||
global NerEntitiesAdapter nerEntitiesAdapter
|
|
||||||
global Dictionary dictionary
|
global Dictionary dictionary
|
||||||
|
|
||||||
// --------------------------------------- queries -------------------------------------------------------------------
|
// --------------------------------------- queries -------------------------------------------------------------------
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user