Sfoglia il codice sorgente

分类校正逻辑优化

mxs 1 anno fa
parent
commit
bba74eba1d
3 ha cambiato i file con 14 aggiunte e 11 eliminazioni
  1. 7 1
      mainT.go
  2. 5 8
      prompt/prompt_class.go
  3. 2 2
      ul/attr.go

+ 7 - 1
mainT.go

@@ -21,7 +21,13 @@ func mainT() {
 		title := qu.ObjToString(l["title"])
 		s_toptype, s_subtype := prompt.AcquireClassInfo(detail, title)
 		qu.Debug("ai:", s_toptype, s_subtype)
-		s_toptype, s_subtype = prompt.CheckClassByOtherFileds(s_toptype, s_subtype, l)
+		s_toptype, s_subtype = prompt.CheckClassByOtherFileds(s_toptype, s_subtype, l) //根据抽取字段校正
 		qu.Debug("check:", l["_id"], s_toptype, s_subtype)
+		ul.SourceMgo.UpdateById(coll, mongodb.BsonIdToSId(l["_id"]), map[string]interface{}{
+			"$set": map[string]interface{}{
+				"top": s_toptype,
+				"sub": s_subtype,
+			},
+		})
 	}
 }

+ 5 - 8
prompt/prompt_class.go

@@ -70,7 +70,7 @@ func CheckClassByOtherFileds(toptype_ai, subtype_ai string, data map[string]inte
 	s_winner := qu.ObjToString(data["s_winner"])
 	winnerorder, _ := data["winnerorder"].([]interface{})
 	if toptype_ai == "结果" && toptype_rule == "结果" {
-		if (subtype_ai == "中标" && subtype_rule == "成交") || (subtype_ai == "成交" && subtype_rule == "中标") {
+		if ((subtype_ai == "中标" || subtype_ai == "其它") && subtype_rule == "成交") || ((subtype_ai == "成交" || subtype_ai == "其它") && subtype_rule == "中标") {
 			if len(winnerorder) > 0 { //有中标候选人->中标
 				return toptype_ai, "中标"
 			}
@@ -82,15 +82,12 @@ func CheckClassByOtherFileds(toptype_ai, subtype_ai string, data map[string]inte
 	//2、招标、结果错误校正
 	if toptype_ai != "结果" && toptype_rule == "结果" {
 		//return toptype_rule,subtype_rule//默认规则为准
-		if len(winnerorder) > 0 { //有中标候选人->中标
-			//return toptype_rule, "中标"//这里subtype是否返回"中标"?
-			return toptype_rule, subtype_rule //默认规则是正确的
-		} else if s_winner != "" || data["bidamount"] != nil {
+		if len(winnerorder) > 0 || s_winner != "" || data["bidamount"] != nil {
 			return toptype_rule, subtype_rule
 		} else {
 			return toptype_ai, subtype_ai
 		}
-	} else if toptype_ai == "结果" && toptype_rule != "结果" {
+	} else if toptype_ai == "结果" && toptype_rule != "结果" && (subtype_ai == "中标" || subtype_ai == "成交") { //结果-变更
 		//return toptype_rule,subtype_rule//默认规则为准
 		if len(winnerorder) > 0 { //有中标候选人->中标
 			return toptype_ai, "中标" //这里subtype返回"中标",避免ai识别错误
@@ -117,8 +114,8 @@ func PromptToptypeFieldText(detail, title string) string {
 	2、验收公告:宣布招标人对项目或服务完成情况进行评估和确认。请结合列举的“关键词”进行推导,关键词:[验收公告,验收报告,验收公示,电子验收单公示,验收结果];
 	3、违规公告:宣布参与招投标的任何一方违反相关法律法规或原则。请结合列举的“关键词”进行推导,关键词:[不良记录,行政处罚,不良行为,虚假合同,虚假材料];
 	4、结果公告:发布的是招投标公告评选过程或评标结果的信息,还涉及开标记录、结果变更的情况。通常会列出候选人、供应商、中标人、中标金额等信息,包括"候选公告","结果变更公告","成交公告","流标公告","废标公告"这几种类型。请结合列举的"关键词"进行推导,关键词:[评标,得分,工期,项目负责人,开标记录,中标候选,候选人,成交候选,候选入围,成交,成交金额,成交公告,供应商名称,采购结果,中选公告,中选结果,中选金额,流标,取消公告,取消采购,二次流标,比选失败,招标结束,采购程序终止,废标,作废,终止,废止公告,项目终止,招标公告作废,未成交公告,未成交公示,取消成交候选供应商,取消中标候选供应商,结果变更,中标结果变更,废标结果变更,变更中标人,重新公示,重新确认中标结果,重新确定中标人,重新确认中标公告,结果顺延];
-	5、预告公告:在招标公告正式开始前,发布资格预审信息、预审评审结果、招投标文件过程中问题的分析和评估意见、招投标项目的具体需求、技术要求等信息。请结合列举的"关键词"进行推导,关键词:[预告,预公告,预公示,资审,参加资格预审,预审邀请,调研公告,采购计划,审前公示,预审公告,资格预审,预审公告,招标预审,预审,预审结果,资格预审公示,资审结果,审查结果,论证意见,方案征集公告,审核前公示,专家组论证意见,需求论证公示,征求意见,采购需求,项目需求公示,论证公示,需求评审公告,需求公示,论证意见公示,征求意见,征集意见];
-	6、招标公告:招标单位或招标人公布项目的基本信息、标准、招标条件、价格和要求等,邀请符合资格的投标人参与项目投标。根据不同的招标方式和流程,可包括"单一来源公告"、"询价公告"、"竞价公告","邀标公告","竞争谈判公告","招标变更公告"。请结合列举的"关键词"进行推导,关键词:[招标公告,二次招标,招标报名,招标采购,单一来源,单一采购,询价,询价公告,调研公告,议价采购,询价邀请,竞价,网上竞价,竞价公告,竞价开始(结束),邀请,邀请招标,投标邀请,邀标公告,邀请书,公开邀请,报价邀请,磋商,竞争性谈判,竞争性磋商,磋商公告,招标变更];
+	5、预告公告:在招标公告正式开始前,发布资格预审信息、预审评审结果、招投标文件过程中问题的分析和评估意见、招投标项目的具体需求、技术要求等信息。请结合列举的"关键词"进行推导,关键词:[预告,预公告,预公示,资审,资审及业绩公示,参加资格预审,预审邀请,需求调研,调研公告,采购计划,审前公示,预审公告,资格预审,预审公告,招标预审,预审,预审结果,资格预审公示,资审结果,审查结果,论证意见,方案征集公告,审核前公示,专家组论证意见,需求论证公示,征求意见,采购需求,项目需求公示,论证公示,需求评审公告,需求公示,论证意见公示,征求意见,征集意见];
+	6、招标公告:招标单位或招标人公布项目的基本信息、标准、招标条件、价格和要求等,邀请符合资格的投标人参与项目投标。根据不同的招标方式和流程,可包括"单一来源公告"、"询价公告"、"竞价公告","邀标公告","竞争谈判公告","招标变更公告"。请结合列举的"关键词"进行推导,关键词:[招标公告,二次招标,招标报名,招标采购,单一来源,单一采购,询价,询价公告,议价采购,询价邀请,竞价,网上竞价,竞价公告,竞价开始(结束),邀请,邀请招标,投标邀请,邀标公告,邀请书,公开邀请,报价邀请,磋商,竞争性谈判,竞争性磋商,磋商公告,招标变更];
 	7、采购意向公告:请结合列举的"关键词"进行推导,关键词:[采购意向,意向公告,招标计划,采办计划,预计采购];
 我希望你根据正文内容,仅从"信息分类选项"中选取一个合适的分类。在识别过程中出现多个结果时,按照"信息分类权重"优先选举一个权重大的,并将分类识别结果严格按照下述JSON格式输出。
 JSON格式:

+ 2 - 2
ul/attr.go

@@ -105,11 +105,11 @@ JSON格式:
 一、信息分类选项:[预告公告;预审公告;预审结果公告;论证意见公告;需求公示公告]
 二、信息分类权重(权重由高到低排序):[预告公告;预审公告;预审结果公告;论证意见公告;需求公示公告]
 三、信息分类参考资料:
-	1、预告公告:通常在招标正式开始前发布,目的是通知潜在投标人即将开始的招标项目的基本信息。请结合列举的“关键词”进行推导,关键词:[预公示,预告,预公告,邀请招标项目公告,调研公告,采购计划,审前公示];
+	1、预告公告:通常在招标正式开始前发布,目的是通知潜在投标人即将开始的招标项目的基本信息。请结合列举的“关键词”进行推导,关键词:[预公示,预告,预公告,邀请招标项目公告,采购计划,审前公示];
 	2、预审公告:发布在资格预审阶段,包括资格预审文件的出售、接受申请以及资格预审的流程。请结合列举的“关键词”进行推导,关键词:[预审公告,资格预审,预审公告,招标预审,预审];
 	3、预审结果公告:发布预审评审结果,告知哪些供应商通过了预审。请结合列举的“关键词”进行推导,关键词:[预审结果,资格预审公示,资审结果,审查结果];
 	4、论证意见公告:发布对招标文件、投标文件或评标过程中出现的问题进行专业分析和评估意见。请结合列举的“关键词”进行推导,关键词:[论证意见,方案征集公告,进口产品审核前公示,专家组论证意见,需求论证公示,进口产品公示];
-	5、需求公示公告:公布招标项目的具体需求、技术要求、商务条件等,通常在招标前进行。请结合列举的“关键词”进行推导,关键词:[征求意见公示,采购需求,项目需求公示,论证公示,需求评审公告,需求公示,论证意见公示,征求意见,征集意见];
+	5、需求公示公告:公布招标项目的具体需求、技术要求、商务条件等,通常在招标前进行。请结合列举的“关键词”进行推导,关键词:[征求意见公示,采购需求,项目需求公示,论证公示,需求评审公告,需求公示,论证意见公示,征求意见,征集意见,需求调研,调研公告];
 我希望你根据正文内容,仅从"信息分类选项"中选取一个合适的分类。在识别过程中出现多个结果时,按照"信息分类权重"优先选举一个权重大的,并将分类识别结果严格按照下述JSON格式输出。
 JSON格式:
 {