Browse Source

1- 要求必须至少有两个实体,且句子长度<512。

bijl 6 years ago
parent
commit
ffb21a3f0f

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

@@ -16,11 +16,14 @@ import java.util.List;
  * @Decription: 关系抽取模型接口,从网络中获取
  */
 public class RelationExtractionModelFromHttp extends AlgorithmCNNExecutor {
+    private final int MAX_LEN = 512;
     @Override
     public List<Triad> execute(String content, List<Lemma> lemmas) {
         String url = getUrl();
         String positions = makePositionsParam(lemmas);
-        if (StringUtils.isEmpty(positions)) {
+
+        // 句子长度不超过MAX_LEN,实体数超过两个
+        if (content.length() > this.MAX_LEN || lemmas.size() < 2) {
             return new ArrayList<>();
         }
         String sentence = content;
@@ -38,9 +41,6 @@ public class RelationExtractionModelFromHttp extends AlgorithmCNNExecutor {
         String results = "";
         for(Lemma lm: lemmas)
             results += lm.getPosition() + "|";  // 形式:1,2|33,45|
-        if (!StringUtils.isEmpty(results)) {
-            results = results.substring(0, results.length() - 1);  // 形式:1,2|33,45
-        }
         return results;
     }