| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- from patch_intent_cls import recognizer_bge, quick_answer_q_a_v2
- if __name__ == '__main__':
- # mode = 'query' #
- # while True:
- # print('1.查询模式;2.测试模式;')
- # query = input("请输入模式:\n")
- # print('切换到模式:', query)
- # if query == 'q' or query == 'Q':
- # print("退出!")
- # break
- # if query == '1': # 查询模式
- # mode = 'query'
- # while True:
- # query = input("\n查询模式,请输入查询语句:\n")
- # if query == "q":
- # print("退出!")
- # break
- # recognizer_bge.pick_out(query, 10)
- # if query == '2':
- # mode = 'test'
- # while True:
- # query = input("\n测试模式,请输入测试语句:\n")
- # if query == "q":
- # print("退出!")
- # break
- # recognizer.pick_out(query, len(recognizer.template_meta_list))
- question = input("请输入查询语句:")
- results = {} # 存放意图识别结果
- user_intent_conf, user_intent = recognizer_bge.pick_out(question, top_k=4)
- target_intent = user_intent[0] # 目标意图
- target_intent_conf = user_intent_conf[0] # 目标意图置信度
- candidate_intent = user_intent[1:] # 候选意图
- candidate_intent_conf = user_intent_conf[1:] # 候选意图置信度
- # 单独处理有奖问答分支
- if target_intent.get('parent') == 5 and target_intent.get('child') == 99:
- results['intent'] = "5" # 大类
- results['metric_type'] = "99" # 小类
- results['confidence'] = str(target_intent_conf) # 置信度
- results['status'] = "无"
- results['metric'] = quick_answer_q_a_v2(question) # 主要更新metric
- else:
- results['intent'] = str(target_intent.get('parent')) # 大类
- results['metric_type'] = str(target_intent.get('child')) # 小类
- results['confidence'] = str(target_intent_conf) # 置信度
- results['metric'] = target_intent.get('alias')
- results['status'] = "无"
- # 判断意图可信程度,低于阈值就直接归到其他类
- if target_intent_conf < 0.1:
- results['intent'] = "6" # 其他问题大类为6
- results['metric_type'] = "9999" # 其他问题小类为9999
- results['confidence'] = str(1 - target_intent_conf) # 置信度
- results['metric'] = "其他问题"
- results['status'] = "无"
|