瀏覽代碼

乃君TendereeRuleRecall角色实体召回规则调整

lsm 2 年之前
父節點
當前提交
ec78ea5b5b
共有 2 個文件被更改,包括 6 次插入5 次删除
  1. 2 2
      BiddingKG/dl/interface/extract.py
  2. 4 3
      BiddingKG/dl/interface/predictor.py

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

@@ -233,8 +233,8 @@ def predict(doc_id,text,title="",page_time="",web_source_no='',original_docchann
     data_res["cost_time"] = cost_time
     data_res["success"] = True
 
-    for _article in list_articles:
-            log(_article.content)
+    # for _article in list_articles:
+    #         log(_article.content)
     #
     # for list_entity in list_entitys:
     #     for _entity in list_entity:

+ 4 - 3
BiddingKG/dl/interface/predictor.py

@@ -1517,8 +1517,9 @@ class TendereeRuleRecall():
                                 "(人|公司|单位|组织|用户|业主|主体|方|部门)|文章来源|委托机构|产权所有人|需求?方|买方|业主|(业主|采购人|招标人)联系方式[,:]公司名称:|权属人|甲方当事人|询价书企业|比选发起人|项目单位[,:]单位名称|结算单位)"\
                                 "[))]?(信息[,:])?((公司|单位)?名称)?([((](全称|盖章)[))])?(是|为|:|:)+)(?P<unrecognized>[^,。::;]+)[,。;::]")
         # 未识别实体尾部判断
-        self.unrecognized_end1 = re.compile(".{2,}?(?:公司|医院|学校|学院|大学|中学|小学|幼儿园|政府|指挥部|办公室|项目部|业主大会|监狱|教育局|委员会|研究所|招标办|采购部|办事处|水利局|公墓|中心)")
-        self.unrecognized_end2 = re.compile(".{4,}(?:署|局|厅|处|室|科|部|站|所|股|行)")
+        self.unrecognized_end1 = re.compile(
+            "^[\u4e00-\u9fa5]{2,}?(?:公司|医院|学校|学院|大学|中学|小学|幼儿园|政府|指挥部|办公室|项目部|业主大会|监狱|教育局|委员会|研究所|招标办|采购部|办事处|水利局|公墓|中心)")
+        self.unrecognized_end2 = re.compile("^[\u4e00-\u9fa5]{4,}(?:署|局|厅|处|室|科|部|站|所|股|行)")
 
     def predict(self, list_articles,list_sentences, list_entitys, list_codenames):
         # tenderee_notfound = True
@@ -1639,7 +1640,7 @@ class TendereeRuleRecall():
                     else:
                         continue
                     # print(_unrecognized)
-                    if re.search("某",_unrecognized):
+                    if re.search("某",_unrecognized) or len(_unrecognized)>15:
                         continue
                     begin_index_temp = _match.start()+len(_groupdict['tenderee_left'])
                     for j in range(len(list_tokenbegin)):