瀏覽代碼

模型性能优化

louhr 6 年之前
父節點
當前提交
381a5b9330

+ 28 - 28
algorithm/src/main/java/org/algorithm/core/cnn/model/RelationExtractionModel.java

@@ -55,35 +55,35 @@ public class RelationExtractionModel extends AlgorithmCNNExecutor {
     }
 
     @Override
-    public List<Triad> execute(String content, List<Lemma> lemmas) {
-        List<Lemma[]> combinations = new ArrayList<>();
-        // 组合
-        for(int i=0; i < lemmas.size() - 1; i++){  // 两两组合成实体对
-            for (int j = i + 1; j< lemmas.size(); j++){
-                Lemma[] pair = new Lemma[2];
-                pair[0] = lemmas.get(i);
-                pair[1] = lemmas.get(j);
-                combinations.add(pair);
-            }
-        }
-
-        List<Triad> triads = new ArrayList<>();
-
-        // 遍历组合
-        for (Lemma[] LemmaPair: combinations) {
-            int[][] example = dataSet.getExample(content, LemmaPair[0], LemmaPair[1]);
-            // 调用模型
-            float[][] relation = this.run(example, 1);
-
-            if (relation[0][0] < relation[0][1] ){  // 返回有关系的样本
-                Triad triad = new Triad();
-                triad.setL_1(LemmaPair[0]);
-                triad.setL_2(LemmaPair[1]);
-                triad.setRelation("有");
-                triads.add(triad);
-            }
+    public List<Triad> execute(String content, List<Triad> triads) {
+//        List<Lemma[]> combinations = new ArrayList<>();
+//        // 组合
+//        for(int i=0; i < lemmas.size() - 1; i++){  // 两两组合成实体对
+//            for (int j = i + 1; j< lemmas.size(); j++){
+//                Lemma[] pair = new Lemma[2];
+//                pair[0] = lemmas.get(i);
+//                pair[1] = lemmas.get(j);
+//                combinations.add(pair);
+//            }
+//        }
+//
+//        List<Triad> triads = new ArrayList<>();
 
-        }
+//        // 遍历组合
+//        for (Lemma[] LemmaPair: combinations) {
+//            int[][] example = dataSet.getExample(content, LemmaPair[0], LemmaPair[1]);
+//            // 调用模型
+//            float[][] relation = this.run(example, 1);
+//
+//            if (relation[0][0] < relation[0][1] ){  // 返回有关系的样本
+//                Triad triad = new Triad();
+//                triad.setL_1(LemmaPair[0]);
+//                triad.setL_2(LemmaPair[1]);
+//                triad.setRelation("有");
+//                triads.add(triad);
+//            }
+//
+//        }
         return triads;
     }
 

+ 7 - 7
algorithm/src/main/java/org/algorithm/test/RelationExtractionModelFromHttpTest.java

@@ -37,13 +37,13 @@ public class RelationExtractionModelFromHttpTest {
         lemmas.add(l2);
         lemmas.add(l3);
         lemmas.add(l4);
-        RelationExtractionModelFromHttp re = new RelationExtractionModelFromHttp();
-        List<Triad> triads = re.execute(content, lemmas);
-        for (Triad triad:triads){
-            System.out.println(triad.getL_1().getText());
-            System.out.println(triad.getL_2().getText());
-            System.out.println(triad.getRelation());
-        }
+//        RelationExtractionModelFromHttp re = new RelationExtractionModelFromHttp();
+//        List<Triad> triads = re.execute(content, lemmas);
+//        for (Triad triad:triads){
+//            System.out.println(triad.getL_1().getText());
+//            System.out.println(triad.getL_2().getText());
+//            System.out.println(triad.getRelation());
+//        }
 //    # "entity_1_position": [12, 13],
 //    # "entity_2_position": [10, 11],
 //        positions_string = '12,13|10,11|15,15|16,18'

+ 4 - 4
algorithm/src/main/java/org/algorithm/test/RelationExtractionModelTest.java

@@ -44,9 +44,9 @@ public class RelationExtractionModelTest {
         lemmas.add(lemma2);
 
 
-        for (Triad triad: model.execute(sentence, lemmas)) {
-            System.out.println(triad.getL_1().getText() + "--->"
-                    + triad.getL_2().getText() + ":" + triad.getRelation());
-        }
+//        for (Triad triad: model.execute(sentence, lemmas)) {
+//            System.out.println(triad.getL_1().getText() + "--->"
+//                    + triad.getL_2().getText() + ":" + triad.getRelation());
+//        }
     }
 }