|
|
|
@ -204,18 +204,22 @@ public class KnowledgeGraphServiceImpl implements KnowledgeGraphService {
|
|
|
|
|
}
|
|
|
|
|
log.info("开始意图元数据识别,切分文档id:{}", truncateDTO.getId());
|
|
|
|
|
interval.start("makeOutDomainMetadata");
|
|
|
|
|
List<DomainMetadataDTO> domainMetadataDTOS = tripleConversionPipeline.makeOutDomainMetadata(truncateDTO, intents);
|
|
|
|
|
List<List<String>> intentSplit = CollUtil.split(intents, 10);
|
|
|
|
|
log.info("切分意图列表,切分前数据总数:{},切分出:{}组数据", intents.size(), intentSplit.size());
|
|
|
|
|
for (List<String> intentList : intentSplit) {
|
|
|
|
|
// 每10个意图进行一次元数据识别
|
|
|
|
|
List<DomainMetadataDTO> domainMetadataDTOS = tripleConversionPipeline.makeOutDomainMetadata(truncateDTO, intentList);
|
|
|
|
|
log.info("意图元数据识别完成,切分文档id:{},耗时:{}毫秒", truncateDTO.getId(),interval.intervalMs("makeOutDomainMetadata"));
|
|
|
|
|
// 保存意图数据
|
|
|
|
|
intentSize ++;
|
|
|
|
|
index ++;
|
|
|
|
|
|
|
|
|
|
List<Intention> intentions = intentionService.batchSaveIfAbsent(intents, pdfInfo.getDomainCategoryId(), pdfId.toString());
|
|
|
|
|
for (Intention intention : intentions) {
|
|
|
|
|
List<DomainMetadataDTO> metadataDTOS = domainMetadataDTOS.stream()
|
|
|
|
|
.filter(d -> StrUtil.equals(d.getIntentDigest(), intention.getDigest())).toList();
|
|
|
|
|
domainMetadataService.batchSaveOrUpdateMetadata(metadataDTOS,intention.getId(), pdfInfo.getDomainCategoryId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
intentSize ++;
|
|
|
|
|
index ++;
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
index ++;
|
|
|
|
|
log.error("切分文档id:{},意图识别失败", truncateDTO.getId(), e);
|
|
|
|
|