Просмотр исходного кода

增强差异严重程度判断逻辑,支持直接使用差异中的严重程度和相似度进行评估

zhch158_admin 1 месяц назад
Родитель
Сommit
310aa357b2
1 измененных файлов с 16 добавлено и 0 удалено
  1. 16 0
      streamlit_ocr_validator.py

+ 16 - 0
streamlit_ocr_validator.py

@@ -649,6 +649,12 @@ class StreamlitOCRValidator:
 
     def _get_severity_level(self, diff: dict) -> str:
         """根据差异类型和内容判断严重程度"""
+        # 如果差异中已经包含严重程度,直接使用
+        if 'severity' in diff:
+            severity_map = {'high': '高', 'medium': '中', 'low': '低'}
+            return severity_map.get(diff['severity'], '中')
+        
+        # 原有的逻辑作为后备
         diff_type = diff['type'].lower()
         
         # 金额相关差异为高严重程度
@@ -659,6 +665,16 @@ class StreamlitOCRValidator:
         if 'table' in diff_type or 'structure' in diff_type:
             return '中'
         
+        # 检查相似度
+        if 'similarity' in diff:
+            similarity = diff['similarity']
+            if similarity < 50:
+                return '高'
+            elif similarity < 85:
+                return '中'
+            else:
+                return '低'
+        
         # 检查内容长度差异
         len_diff = abs(len(diff['file1_value']) - len(diff['file2_value']))
         if len_diff > 50: