Bladeren bron

1- 调试一个HashMap同事remove和put出现的bug。

bijl 5 jaren geleden
bovenliggende
commit
79923e02c9

+ 8 - 4
algorithm/src/main/java/org/algorithm/core/neural/dataset/NNDataSetImpl.java

@@ -121,10 +121,13 @@ public class NNDataSetImpl extends NNDataSet {
 
         String featureName = "";
         String[] splitWords = null;
-        Integer negative = 1;
         Map<String, String> featureValues = null;
+        Entry<String, Map<String, String>> entry;
+
+        Map<String, Map<String, String>> tempHashMap = new HashMap<>();  // 用于暂存key, value
+
         while (entries.hasNext()) {
-            Entry<String, Map<String, String>> entry = entries.next();
+            entry = entries.next();
             featureName = entry.getKey();
             if (this.FEATURE_DICT.get(featureName) == null  // 特征字典中没有然后再分词
                     && this.RE_SPLIT_WORD_DICT.get(featureName) != null) {
@@ -133,12 +136,13 @@ public class NNDataSetImpl extends NNDataSet {
                 for (String word : splitWords) {  // 添加细分词项
                     featureValues = new HashMap<>();
                     featureValues.put("negative", "有"); // 设置为阳性词
-                    inputs.put(word, featureValues);
+                    tempHashMap.put(word, featureValues);
                 }
 
             }
-
         }
+
+        inputs.putAll(tempHashMap);
     }
 
     @Override

+ 5 - 1
algorithm/src/main/java/org/algorithm/test/TensorflowExcutorTest.java

@@ -76,7 +76,11 @@ public class TensorflowExcutorTest {
         featureValues.put("age", "34");
         featureValues.put("negative", "有");
         featureValues.put("sn", "0");
-        aMap.put("左上腹持续性刀割样疼痛", featureValues);
+
+        aMap.put("上臂远端疼痛", featureValues);
+        aMap.put("上肢远端青紫", featureValues);
+        aMap.put("肘部肿胀", featureValues);
+        aMap.put("外伤", featureValues);
 //        aMap.put("心悸", featureValues);
 //        aMap.put("气急", featureValues);
 //        aMap.put("头痛", featureValues);