|
@@ -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, '') == '':
|