From d0eba636dfce98f089e6e517cf05352c58d9c0c2 Mon Sep 17 00:00:00 2001 From: liu Date: Thu, 6 Jun 2024 15:52:17 +0800 Subject: [PATCH] bugfix --- .../src/main/java/com/supervision/util/SimilarityUtil.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/virtual-patient-common/src/main/java/com/supervision/util/SimilarityUtil.java b/virtual-patient-common/src/main/java/com/supervision/util/SimilarityUtil.java index c1b1d1f9..17366233 100644 --- a/virtual-patient-common/src/main/java/com/supervision/util/SimilarityUtil.java +++ b/virtual-patient-common/src/main/java/com/supervision/util/SimilarityUtil.java @@ -46,7 +46,9 @@ public class SimilarityUtil { qaSimilarityQuestionAnswer.setDictId(String.valueOf(document.getMetadata().get("dictId"))); qaSimilarityQuestionAnswer.setMatchQuestionCode(String.valueOf(document.getMetadata().get("standardQuestionId"))); // 1- 可以使数据进行排序,相似度越高,数值越大 - qaSimilarityQuestionAnswer.setMatchScore(1 - Double.parseDouble(String.valueOf(document.getMetadata().get("vector_score")))); + // -0.35目的是使数据趋近于中间,相似度不要太大(太大也不好调整),以使我们数据和张总之前提供的方法相似度差异稍小一点,但是不能小于0,如果小于0,取一个较大的值 + double score = Math.max(0, 1 - Double.parseDouble(String.valueOf(document.getMetadata().get("vector_score"))) - 0.35); + qaSimilarityQuestionAnswer.setMatchScore(score); return qaSimilarityQuestionAnswer; // 排序,降序,取最高的 }).sorted(Comparator.comparing(QaSimilarityQuestionAnswer::getMatchScore).reversed()).toList();