Browse Source

模板整改2

dujunlong 2 months ago
parent
commit
c699b0abef

+ 22 - 18
final/ByRules/similarity_answer_json.py

@@ -10,46 +10,46 @@ def jieba_tokenizer(text):
     return list(jieba.cut(text))
 # 定义问题模板
 template_dict = {
-    "1": ["某年省间交易电量是多少?","某年全年累计省间交易电量是多少?","某年累计省间交易电量是多少?","某年一整年累计省间交易电量是多少?"],
+    "1": ["某年省间交易电量是多少?","某年全年累计省间交易电量是多少?","某年累计省间交易电量是多少?","某年一整年累计省间交易电量是多少?","某年年度累计交易电量是多少?"],
     # "1": ["某年全年累计XXX是多少?"],
     "2": ["某年某月交易电量是多少?","某年某月完成了多少交易电量?"],
     "3": ["某年某月至某月的交易电量合计多少?","某年某月到某月累计交易电量是多少?","某年某月至某月累计交易电量是多少?"],
     "8.1": ["某年省间交易电量按交易周期划分的电量是多少?"],
-    "8.2": ["某年省间交易电量按交易类型划分的电量是多少?"],
+    "8.2": ["某年省间交易电量按交易类型划分的电量是多少?","某年省间交易电量按交易的类型划分的电量是多少"],
     "8.3": ["某年省间交易电量按发电类型划分的电量是多少?"],
-    "8.4": ["某年省间交易电量按交易方式划分的电量是多少?"],
+    "8.4": ["某年省间交易电量按交易方式划分的电量是多少?","某年省间交易电量按交易的方式划分的电量是多少?"],
     "9.1": ["某年省间交易电量年度交易电量是多少?"],
     "9.2": ["某年省间交易电量月度交易电量是多少?"],
-    "9.3": ["某年省间交易电量现货交易电量是多少?"],
+    "9.3": ["某年省间交易电量现货交易电量是多少?","某年现货的交易电量?"],
     "9.4": ["某年省间交易电量应急交易电量是多少?"],
     "9.5": ["某年省间交易电量月内交易电量是多少?"],
-    "9.6": ["某年省间交易电量省间外送交易电量是多少?"],
+    "9.6": ["某年省间交易电量省间外送交易电量是多少?","某年省间外送的交易电量是多少?"],
     "9.7": ["某年省间交易电量电力直接交易电量是多少?"],
     "9.8": ["某年省间交易电量合同交易电量是多少?"],
-    "9.9": ["某年省间交易电量绿电交易电量是多少?"],
+    "9.9": ["某年省间交易电量绿电交易电量是多少?","某年省间交易电量中绿电交易电量是多少?"],
     "9.10": ["某年省间交易电量非市场化交易电量是多少?"],
-    "9.11": ["某年省间交易电量新能源交易电量是多少?"],
-    "9.12": ["某年省间交易电量火电交易电量是多少?"],
-    "9.13": ["某年省间交易电量水电交易电量是多少?"],
-    "9.14": ["某年省间交易电量核电交易电量是多少?"],
+    "9.11": ["某年省间交易电量新能源交易电量是多少?","某年按新能源的类型的交易电量是多少?"],
+    "9.12": ["某年省间交易电量火电交易电量是多少?","某年按火电的类型的交易电量是多少?"],
+    "9.13": ["某年省间交易电量水电交易电量是多少?","某年省间交易电量按水电类型交易电量是多少?","某年按水电的类型的交易电量是多少?"],
+    "9.14": ["某年省间交易电量核电交易电量是多少?","某年省间交易电量按核电类型交易电量是多少?","某年按核电的类型的交易电量是多少?"],
     "9.15": ["某年省间交易电量双边交易电量是多少?"],
     "9.16": ["某年省间交易电量集中交易电量是多少?"],
     "9.17": ["某年省间交易电量挂牌交易电量是多少?"],
-    "16.1": ["当月送出均价最高的是哪个省?","当年送出均价最高的是哪个省?"],
-    "16.2": ["当月送出均价最低的是哪个省?","当年送出均价最低的是哪个省?"],
+    # "16.1": ["当月送出均价最高的是哪个省?","当年送出均价最高的是哪个省?"],
+    # "16.2": ["当月送出均价最低的是哪个省?","当年送出均价最低的是哪个省?"],
     "17.1": ["某年某月哪个省送出电量最高?是多少?"],
     "17.2": ["某年某月哪个省受入电量最高?是多少?"],
     "17.3": ["某年某月哪个省送出电量最低?是多少?"],
     "17.4": ["某年某月哪个省受入电量最低?是多少?"],
-    "18.1": ["某年某月哪个省送出均价最高?是多少?"],
+    "18.1": ["某年某月哪个省送出均价最高?是多少?","某年某月送出均价最高的是哪个省?","某年某月哪个省送出均价最高?"],
     "18.2": ["某年某月哪个省受入均价最高?是多少?"],
     "18.3": ["某年某月哪个省送出均价最低?是多少?"],
     "18.4": ["某年某月哪个省受入均价最低?是多少?"],
     "19": ["省间交易正在组织的交易有多少?"],
-    "20": ["省间交易当月完成的交易有多少?"],
-    "21": ["省间交易当年完成的交易有多少?"],
-    "22": ["省间交易当年达成的电量有多少?"],
-    "23": ["省间交易当年参与交易的家次有多少?"],
+    "20": ["省间交易当月完成的交易有多少?","省间交易本月已经完成的交易有多少?"],
+    "21": ["省间交易当年完成的交易有多少?","省间交易今年已经完成的交易有多少?","省间交易本年完成的交易有多少?"],
+    "22": ["省间交易当年达成的电量有多少?","省间交易本年达成的电量有多少?"],
+    "23": ["省间交易当年参与交易的家次有多少?","省间交易今年参与交易的家次数有多少?"],
     "24": ["某年送出电量前五名是谁?"],
     "25": ["某年受入电量前五名是谁?"],
     "26": ["某年受入电量第五名是谁?"],
@@ -471,9 +471,13 @@ def process_query(query, template_dict, json_folder, tokenizer=jieba_tokenizer):
     # 按得分排序(降序)
     all_matches.sort(key=lambda x: x[2], reverse=True)
     best_match = all_matches[0]
+    best_key = best_match[0]
     best_score = best_match[2]
     second_score = all_matches[1][2] if len(all_matches) > 1 else 0
 
+    second_match = all_matches[1]
+    second_key = second_match[0]
+
     # 判断阈值
     similarity_threshold = 0.25
     diff_threshold = 0.05  # 差距阈值,可调
@@ -489,7 +493,7 @@ def process_query(query, template_dict, json_folder, tokenizer=jieba_tokenizer):
             "name": "疑问"
         }
 
-    if (best_score - second_score) < diff_threshold:
+    if ((best_score - second_score) < diff_threshold) and (best_key != second_key):
         # 差距太小,匹配不准确
         return {
             "content": "您提问的问题不太准确,我无法理解",

+ 1 - 1
final/ByRules/templatesJson/16.1.json

@@ -4,7 +4,7 @@
   "value_key": "送出均价",
   "name_key": "单位",
   "find_max": "True",
-  "content": "送出均价最高的省份是&,送出均价是&",
+  "content": "送出均价最高的省份是&",
   "play": "讲述文本",
   "name": "地图",
   "qcode": "16.1",

+ 1 - 1
final/ByRules/templatesJson/16.2.json

@@ -4,7 +4,7 @@
   "value_key": "送出均价",
   "name_key": "单位",
   "find_max": "False",
-  "content": "送出均价最低的省份是&,送出均价是&",
+  "content": "送出均价最低的省份是&",
   "play": "讲述文本",
   "name": "地图",
   "qcode": "16.2",