OPENNLP-1259 - Replace instances of Math.random with Random.nextDouble (#30)
Co-authored-by: bd2019us <>
diff --git a/nlp-utils/src/main/java/org/apache/opennlp/utils/regression/GradientDescentUtils.java b/nlp-utils/src/main/java/org/apache/opennlp/utils/regression/GradientDescentUtils.java
index bd8fa5a..009e72b 100644
--- a/nlp-utils/src/main/java/org/apache/opennlp/utils/regression/GradientDescentUtils.java
+++ b/nlp-utils/src/main/java/org/apache/opennlp/utils/regression/GradientDescentUtils.java
@@ -19,6 +19,7 @@
package org.apache.opennlp.utils.regression;
import java.util.Arrays;
+import java.util.Random;
import org.apache.opennlp.utils.TrainingSet;
/**
@@ -71,7 +72,8 @@
private static double[] initializeRandomWeights(int size) {
double[] doubles = new double[size];
for (int i = 0; i < doubles.length; i++) {
- doubles[i] = Math.random() * 0.1d;
+ Random rand = new Random();
+ doubles[i] = rand.nextDouble() * 0.1d;
}
return doubles;
}
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/SynonymListFilter.java b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/SynonymListFilter.java
index 37f57e4..53d76e9 100644
--- a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/SynonymListFilter.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/SynonymListFilter.java
@@ -35,6 +35,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Random;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -92,7 +93,8 @@
String[] synonyms = map.getSynonyms(word);
if (synonyms==null || synonyms.length<1)
return null;
- int index = (int) Math.floor(Math.random()*(double)synonyms.length);
+ Random rand = new Random();
+ int index = (int) Math.floor(rand.nextDouble()*(double)synonyms.length);
System.out.println("Found synonyms "+Arrays.asList(synonyms).toString()+ " | selected synonym = "+synonyms[index] +" | for the input = "+ word);
return synonyms[index];
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/apps/review_builder/SentenceOriginalizer.java b/opennlp-similarity/src/main/java/opennlp/tools/apps/review_builder/SentenceOriginalizer.java
index a9c94dc..ed28d70 100644
--- a/opennlp-similarity/src/main/java/opennlp/tools/apps/review_builder/SentenceOriginalizer.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/apps/review_builder/SentenceOriginalizer.java
@@ -4,6 +4,7 @@
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
+import java.util.Random;
import org.apache.commons.lang.StringUtils;
@@ -87,7 +88,8 @@
prodName = StringUtils.trim(prodName.toLowerCase());
for(int i = 0; i< sents.length; i++){
- double flag = Math.random();
+ Random rand = new Random();
+ double flag = rand.nextDouble();
String prodNameCurr = null;
if (flag>0.4)
prodNameCurr = prodName;
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/textsimilarity/ParseTreeMatcher.java b/opennlp-similarity/src/main/java/opennlp/tools/textsimilarity/ParseTreeMatcher.java
index bcff940..0c29cb1 100644
--- a/opennlp-similarity/src/main/java/opennlp/tools/textsimilarity/ParseTreeMatcher.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/textsimilarity/ParseTreeMatcher.java
@@ -20,6 +20,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Random;
public class ParseTreeMatcher {
@@ -151,6 +152,7 @@
String sim = posManager.similarPOS(pos1.get(k1), pos2.get(k2));
String lemmaMatch = lemmaFormManager.matchLemmas(null, chunk1
.getLemmas().get(k1), chunk2.getLemmas().get(k2), sim);
+ Random rand = new Random();
// if (LemmaFormManager.acceptableLemmaAndPOS(sim, lemmaMatch)){
if ((sim != null)
&& (lemmaMatch == null || (lemmaMatch != null && !lemmaMatch
@@ -168,7 +170,7 @@
}
k1++;
k2++;
- } else if (Math.random() > 0.5) {
+ } else if (rand.nextDouble() > 0.5) {
k1++;
} else {
k2++;