将事件名称转义成中文及优化关键字检索

This commit is contained in:
wanyaokun
2024-09-05 09:24:35 +08:00
parent ae19725d72
commit aba6475c5a
2 changed files with 42 additions and 4 deletions
@@ -43,6 +43,16 @@ class HybridRetriever(BaseRetriever):
for node in bmNodes:
bmDic[node.node_id] = node
vecScores = [node_with_score.score for node_with_score in vecNodes]
bmSores = [node_with_score.score for node_with_score in bmNodes]
vec_min_score = min(vecScores)
vec_max_score = max(vecScores)
bm_min_score = min(bmSores)
bm_max_score = max(bmSores)
result_tups = []
for i in range(len(vecNodes)):
node = vecNodes[i]
@@ -52,7 +62,11 @@ class HybridRetriever(BaseRetriever):
bmDic.pop(node.node_id)
else:
bmScore = 0.0
full_similarity = (self._alpha * node.score) + (
bmScore = self.normal_score(bmScore,bm_min_score,bm_max_score)
vecScore = self.normal_score(node.score,vec_min_score,vec_max_score)
full_similarity = (self._alpha * vecScore) + (
(1 - self._alpha) * bmScore
)
result_tups.append((full_similarity, node))
@@ -64,4 +78,10 @@ class HybridRetriever(BaseRetriever):
result_tups = sorted(result_tups, key=lambda x: x[0], reverse=True)
for full_score, node in result_tups:
node.score = full_score
return [n for _, n in result_tups][:self._out_top_k]
return [n for _, n in result_tups][:self._out_top_k]
def normal_score(self,score,min,max):
if min == max:
return 1.0 if score > 0 else 0.0
else:
return (score - min) / (max - min)