Przeglądaj źródła

资格要求补充,调整是否联合体规则

lsm 6 miesięcy temu
rodzic
commit
bee4582f60

+ 2 - 2
BiddingKG/dl/interface/extract.py

@@ -451,11 +451,11 @@ def predict(doc_id,text,title="",page_time="",web_source_no='',web_source_name="
     cost_time["pb_extract"] = round(time.time() - start_time, 2)
 
     '''打标签'''
-    label_dic = get_all_label(title, list_articles[0].content)
+    label_dic = get_all_label(title, list_articles[0].content, prem[0]['prem'])
 
     # data_res = Preprocessing.union_result(Preprocessing.union_result(codeName, prem),list_punish_dic)[0]
     # data_res = Preprocessing.union_result(Preprocessing.union_result(Preprocessing.union_result(codeName, prem),list_punish_dic), list_channel_dic)[0]
-    version_date = {'version_date': '2024-11-21'}
+    version_date = {'version_date': '2024-11-25'}
     data_res = dict(codeName[0], **prem[0], **channel_dic, **product_attrs[0], **product_attrs[1], **payment_way_dic, **fail_reason, **industry, **district, **candidate_dic, **version_date, **all_moneys, **pb_json)
 
     if original_docchannel == 302:

+ 6 - 4
BiddingKG/dl/interface/get_label_dic.py

@@ -50,7 +50,7 @@ def chinese_to_arabic(s):
 
     return result
 
-def get_all_label(title, content):
+def get_all_label(title, content, prem={}):
     def is_direct_procurement():
         # 企业直采
         if re.search('询比价|询比|竞价|议价|报价', title) or re.search('我要报价|竞价起止时间|报价起止时间', content) or \
@@ -227,7 +227,7 @@ def get_all_label(title, content):
             return '是'
         return 0
 
-    def consortium_permit():
+    def consortium_permit(prem):
         # 允许联合体:是;不允许:否;无关键词:0
         if re.search('(接受|允许|欢迎|同意)联合体(投标)?:否|联合体投标:(不(接受|允许|欢迎|同意)|否)', content):
             return '否'
@@ -235,7 +235,9 @@ def get_all_label(title, content):
             if re.search('不(接受|允许|欢迎|同意))?联合体(参与)?投标|禁止联合体(参与)?投标|投标人不得为联合体|仅接受独立法人投标|投标人必须为独立法人|不得组成联合体|只有独立法人单位可以参与', content):
                 return '否'
             return '是'
-        elif re.search('联合(体|方|投标人):|联合体(成员|单位)[12345一二三四五]?:|(联合体)?成员单位[12345一二三四五]?:|特殊普通合伙:|(联合(体|投标人))|(联合体(成员|单位)方?[12345一二三四五]?)|((联合体)?成员单位[12345一二三四五]?)|(特殊普通合伙|成员?)|[,;]成:|(成[),]|与[^,。]{6,100}联合体', content):
+        # elif re.search('联合(体|方|投标人):|联合体(成员|单位)[12345一二三四五]?:|(联合体)?成员单位[12345一二三四五]?:|特殊普通合伙:|(联合(体|投标人))|(联合体(成员|单位)方?[12345一二三四五]?)|((联合体)?成员单位[12345一二三四五]?)|(特殊普通合伙|成员?)|[,;]成:|(成[),]|与[^,。]{6,100}联合体', content):
+        #     return '是'
+        elif 'win_tenderer_joint' in str(prem): # 有联合中标人的
             return '是'
         return 0
 
@@ -250,7 +252,7 @@ def get_all_label(title, content):
     registered_years = registered_years() # 注册年限
     # suitable_small = suitable_small() # 适合小微企业
     government_policy = need_government_policy() # 落实政府采购政策需满足的资格要求
-    consortium_permit = consortium_permit()
+    consortium_permit = consortium_permit(prem) # 是否允许联合体投标
 
     label_dic['is_direct_procurement'] = is_direct_procurement
     label_dic['is_target_small'] = is_target_small

+ 1 - 1
BiddingKG/dl/interface/outline_extractor.py

@@ -57,7 +57,7 @@ def extract_sentence_list(sentence_list):
 requirement_pattern = "(采购需求|需求分析|项目说明|(采购|合同|招标|询比?价|项目|服务|工程|标的|需求|建设)(的?(主要|简要|基本|具体|名称及))?" \
                           "(内容|概况|概述|范围|信息|规模|简介|介绍|说明|摘要|情况)([及与和]((其它|\w{,2})[要需]求|发包范围|数量))?" \
                       "|招标项目技术要求|服务要求|服务需求|项目目标|需求内容如下|建设规模)为?([::,]|$)"
-aptitude_pattern = "((资格|资质)[的及]?要求|竞买资格及要求|供应商报价须知)([::,]|$)|(竞买|竞买人|竞投人)?资格(条件)?:"
+aptitude_pattern = "((资格|资质)[的及]?(要求|条件)|竞买资格及要求|供应商报价须知)([::,]|$)|(竞买|竞买人|竞投人)?资格(条件)?:|按以下要求参与竞买"
 addr_bidopen_pattern = "([开评]标|开启|评选|比选|磋商|遴选|寻源|采购|招标|竞价|议价|委托|询比?价|比价|谈判|邀标|邀请|洽谈|约谈|选取|抽取|抽选|递交\w{,4}文件)[))]?(时间[与及和、])?(地址|地点)([与及和、]时间)?([::,]|$)|开启([::,]|$)"
 addr_bidsend_pattern = "((\w{,4}文件)?(提交|递交)(\w{,4}文件)?|投标)(截止时间[与及和、])?地[点址]([与及和、]截止时间)?([::,]|$)"
 pinmu_name_pattern = "采购品目名称([::,]|$)"