浏览代码

修改关系提取中词性过滤BUG

louhr 6 年之前
父节点
当前提交
b503818981

+ 1 - 2
algorithm/src/main/java/org/algorithm/core/cnn/model/impl/RelationExtractionModelFromHttp.java

@@ -27,7 +27,6 @@ public class RelationExtractionModelFromHttp extends AlgorithmCNNExecutor {
         String positions = makePositionsParam(triads);
         String indexPairAndRelations = HttpGetAndPost.sendPost(url,
                 "sentence="+content+"&positions="+positions);
-
         // 模型服务异常统一标识:ModelServiceError
         if ("ModelServiceError".equals(indexPairAndRelations)){
             System.err.println("Error happen in Model service.");
@@ -45,7 +44,7 @@ public class RelationExtractionModelFromHttp extends AlgorithmCNNExecutor {
     private String makePositionsParam(List<Triad> triads){
         String results = "";
         for(Triad triad: triads)
-            results += triad.getL_1().getPosition() +  "^" + triad.getL_1().getPosition() + "|";  // 形式:1,2|33,45|
+            results += triad.getL_1().getPosition() +  "^" + triad.getL_2().getPosition() + "|";  // 形式:1,2|33,45|
         if (!StringUtils.isEmpty(results)) {
             results = results.substring(0, results.length() - 1);  // 形式:1,2|33,45
         }

+ 1 - 1
nlp/src/main/java/org/diagbot/nlp/relation/util/LemmaUtil.java

@@ -133,7 +133,7 @@ public class LemmaUtil {
     public List<Triad> findPairTraids(List<Lemma> lemmaParticiple) {
         List<Triad> triads = new ArrayList<>();
         for (int i = 0; i < lemmaParticiple.size(); i++) {
-            for (int j = 0; j < lemmaParticiple.size(); j++) {
+            for (int j = i + 1; j < lemmaParticiple.size(); j++) {
                 Triad triad = new Triad();
                 triad.setL_1(lemmaParticiple.get(i));
                 triad.setL_2(lemmaParticiple.get(j));