|
@@ -1,5 +1,8 @@
|
|
package org.diagbot.common.push.work;
|
|
package org.diagbot.common.push.work;
|
|
|
|
|
|
|
|
+import org.algorithm.core.cnn.AlgorithmCNNExecutor;
|
|
|
|
+import org.algorithm.core.cnn.AlgorithmCNNExecutorPacs;
|
|
|
|
+import org.algorithm.factory.RelationExtractionFactory;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.diagbot.common.push.bean.SearchData;
|
|
import org.diagbot.common.push.bean.SearchData;
|
|
import org.diagbot.common.push.util.PushConstants;
|
|
import org.diagbot.common.push.util.PushConstants;
|
|
@@ -10,9 +13,7 @@ import org.diagbot.nlp.util.NegativeEnum;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
-import java.util.regex.Pattern;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* @ClassName org.diagbot.bigdata.work.ParamsDataProxy
|
|
* @ClassName org.diagbot.bigdata.work.ParamsDataProxy
|
|
@@ -26,7 +27,7 @@ public class ParamsDataProxy {
|
|
//标准词只处理的词性
|
|
//标准词只处理的词性
|
|
public static NegativeEnum[] negativeEnums = new NegativeEnum[] { NegativeEnum.VITAL_INDEX, NegativeEnum.SYMPTOM
|
|
public static NegativeEnum[] negativeEnums = new NegativeEnum[] { NegativeEnum.VITAL_INDEX, NegativeEnum.SYMPTOM
|
|
, NegativeEnum.DIGITS, NegativeEnum.EVENT_TIME, NegativeEnum.UNIT, NegativeEnum.DIAG_STAND
|
|
, NegativeEnum.DIGITS, NegativeEnum.EVENT_TIME, NegativeEnum.UNIT, NegativeEnum.DIAG_STAND
|
|
- , NegativeEnum.OTHER};
|
|
|
|
|
|
+ , NegativeEnum.OTHER };
|
|
//标准词处理的三元组
|
|
//标准词处理的三元组
|
|
public static NegativeEnum[][] negativeEnumTriple = {
|
|
public static NegativeEnum[][] negativeEnumTriple = {
|
|
{ NegativeEnum.VITAL_INDEX, NegativeEnum.DIGITS, NegativeEnum.UNIT },
|
|
{ NegativeEnum.VITAL_INDEX, NegativeEnum.DIGITS, NegativeEnum.UNIT },
|
|
@@ -138,6 +139,16 @@ public class ParamsDataProxy {
|
|
featuresList = fa.start(searchData.getDiag(), FeatureType.DIAG);
|
|
featuresList = fa.start(searchData.getDiag(), FeatureType.DIAG);
|
|
paramFeatureInit(searchData, featuresList);
|
|
paramFeatureInit(searchData, featuresList);
|
|
}
|
|
}
|
|
|
|
+ if (!StringUtils.isEmpty(searchData.getPacs())) {
|
|
|
|
+ //关系抽取模型
|
|
|
|
+ AlgorithmCNNExecutorPacs algorithmCNNExecutor = RelationExtractionFactory.getInstance();
|
|
|
|
+ RelationExtractionCreateSearchData re = new RelationExtractionCreateSearchData();
|
|
|
|
+ //Pacs原始分词结果
|
|
|
|
+ List<List<String>> execute = algorithmCNNExecutor.execute(searchData.getPacs(), re.createSearchData(searchData));
|
|
|
|
+ if (execute != null && execute.size() > 0) {
|
|
|
|
+ re.start(execute, searchData);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|