Browse Source

修改化验数据规则方式提取BUG

louhr 5 years ago
parent
commit
a571fe3ea9

+ 3 - 1
nlp/src/main/java/org/diagbot/nlp/rule/pretreat/PretreatmentLis.java

@@ -24,6 +24,7 @@ public class PretreatmentLis extends Pretreatment {
             if (NlpUtil.isFeature(l.getProperty(), lis_name)) {
                 cursor = i;
                 PreResult result = new PreResult();
+                result.setDetailName(NlpUtil.concept(l, NegativeEnum.LIS_NAME));
                 result = createPreResult(lexemes, result, i);
                 if (result != null) {
                     preResults.add(result);
@@ -50,7 +51,7 @@ public class PretreatmentLis extends Pretreatment {
             position--;
         }
         //往后查找化验结果
-        int max_find_step = 3;
+        int max_find_step = 10;
         if (index ==  lexemes.size() - 1) return null;
         position = index++;
         Lexeme rightLexeme;
@@ -74,6 +75,7 @@ public class PretreatmentLis extends Pretreatment {
                 result.setValue(rightLexeme.getText());
                 break;
             }
+            position++;
         }
         return result;
     }

+ 5 - 4
push-web/src/main/java/org/diagbot/push/controller/AlgorithmController.java

@@ -127,12 +127,13 @@ public class AlgorithmController extends BaseController {
         ResponseData responseData = new ResponseData();
         logger.info("开始推送服务......");
         LisApplication lisApplication = new LisApplication();
-        if (searchData.getLisArr() != null && searchData.getLisArr().size() > 0) {
-            lisApplication.lisConvert(searchData.getLisArr());
-        } else if (searchData.getLis() != null) {
+        if ((searchData.getLisArr() == null || searchData.getLisArr().size() == 0)
+                && StringUtils.isNotEmpty(searchData.getLis())) {
             Pretreatment pretreatment = new PretreatmentLis();
-            lisApplication.lisConvert(pretreatment.analyze(searchData.getLis()));
+            searchData.setLisArr(pretreatment.analyze(searchData.getLis()));
         }
+        lisApplication.lisConvert(searchData.getLisArr());
+
         Response<ResponseData> response = new Response();
         //一些基本信息预处理 如年龄 性别
         ParamsDataProxy paramsDataProxy = new ParamsDataProxy();