瀏覽代碼

审批项目补充单位名称作建设单位

lsm 5 月之前
父節點
當前提交
e7f70916bd
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      BiddingKG/dl/interface/predictor.py

+ 7 - 0
BiddingKG/dl/interface/predictor.py

@@ -7846,6 +7846,7 @@ class ApprovalPredictor():
         found_key = 0
         code_name_set = set() # 项目编号、名称集合
         org_set = set() # 保存可能为审批部门的角色
+        not_sure_role = '' # 不确定角色, 例:单位名称:长沙驰能新能源开发有限公司眉县分公司
         for entity in list_entitys[0]:
             entities[entity.sentence_index].append(entity)
 
@@ -7871,6 +7872,10 @@ class ApprovalPredictor():
                         multi_project[k] = entity.entity_text
                         found_key = 1
                         flag = 0
+                        if not_sure_role == entity.entity_text:
+                            not_sure_role = ''
+                    elif re.search('(,|^)单位名称:', sentences[entity.sentence_index][max(0, b - span):b]):
+                        not_sure_role = entity.entity_text
                     if flag and entity.entity_type == "org" and re.search('(局|委员会|委|厅)$', entity.entity_text):
                         org_set.add(entity.entity_text)
                 elif entity.entity_type in ['person']:
@@ -7980,6 +7985,8 @@ class ApprovalPredictor():
                     multi_project['district'] = district['district']['district']
                 multi_project = {k: v for k, v in multi_project.items() if v != ''}
                 rs_l.append(multi_project)
+        if not_sure_role != '' and rs_dic.get('construct_company', '') == '' and not_sure_role not in org_set: # 补充,单位名称:这种作为建设单位 例:400069851014
+            rs_dic['construct_company'] = not_sure_role
         if len(rs_l)>1 and len(set(rs_l[0].keys()))>2 and set(rs_l[0].keys())==set(rs_l[1].keys()):
             for k in self.role_type.keys(): # 多项目无建设单位等通过整篇提取补充
                 if rs_dic.get(k, '') != '' and k not in rs_l[0].get(k, '') == '':