no more random numbers by names and no more repetitive data, good and end now i guess
This commit is contained in:
parent
ac56f386a3
commit
abb033a9b8
@ -67,8 +67,7 @@ public class Datahandler {
|
||||
private static Annotation strAnnoSentiment;
|
||||
private static Annotation strAnnoJMWE;
|
||||
private static CoreDocument coreDoc;
|
||||
private static final ConcurrentMap<Integer, String> stringCache = new MapMaker().concurrencyLevel(2).makeMap();
|
||||
private static int RelationCounter = 0;
|
||||
private static final ConcurrentMap<Integer, String> stringCache = new MapMaker().concurrencyLevel(6).makeMap();
|
||||
private static ConcurrentMap<String, Annotation> pipelineAnnotationCache;
|
||||
private static ConcurrentMap<String, Annotation> pipelineSentimentAnnotationCache;
|
||||
private static ConcurrentMap<String, Annotation> jmweAnnotationCache;
|
||||
@ -221,7 +220,7 @@ public class Datahandler {
|
||||
hlStatsMessages.put(str, hlStatsMessages.size());
|
||||
}
|
||||
}
|
||||
int capacity = 500;
|
||||
int capacity = 1250;
|
||||
hlStatsMessages.keySet().forEach(str -> {
|
||||
if (!str.startsWith("!") && MessageResponseHandler.getStr().values().size() < capacity) {
|
||||
String orElse = strCacheLocal.values().parallelStream().filter(e -> e.equals(str)).findAny().orElse(null);
|
||||
@ -271,29 +270,16 @@ public class Datahandler {
|
||||
}
|
||||
}
|
||||
|
||||
private ConcurrentMap<Integer, String> futuresReturnOverallEvaluation(List<SimilarityMatrix> similarityMatrixes,
|
||||
ConcurrentMap<Integer, String> strmapreturn) {
|
||||
private ConcurrentMap<Integer, String> futuresReturnOverallEvaluation(List<SimilarityMatrix> similarityMatrixes) {
|
||||
ConcurrentMap<Integer, String> strmapreturn = new MapMaker().concurrencyLevel(6).makeMap();
|
||||
if (!similarityMatrixes.isEmpty()) {
|
||||
String newPrimary = similarityMatrixes.get(0).getPrimaryString();
|
||||
int evaluationCap = 50000;
|
||||
boolean hitCap = false;
|
||||
int evaluationCap = 500;
|
||||
int iterator = 0;
|
||||
for (SimilarityMatrix SMX : similarityMatrixes) {
|
||||
if (!newPrimary.equals(SMX.getPrimaryString())) {
|
||||
newPrimary = SMX.getPrimaryString();
|
||||
final Double scoreRelationNewMsgToRecentMsg = SMX.getDistance();
|
||||
if (scoreRelationNewMsgToRecentMsg > evaluationCap) {
|
||||
strmapreturn = addSMXToMapReturn(strmapreturn, SMX);
|
||||
hitCap = false;
|
||||
}
|
||||
if (!hitCap) {
|
||||
final Double scoreRelationNewMsgToRecentMsg = SMX.getDistance();
|
||||
RelationCounter += scoreRelationNewMsgToRecentMsg > 500 ? scoreRelationNewMsgToRecentMsg * 2 : scoreRelationNewMsgToRecentMsg;
|
||||
if (RelationCounter > evaluationCap) {
|
||||
strmapreturn = addSMXToMapReturn(strmapreturn, SMX);
|
||||
hitCap = true;
|
||||
} else if (RelationCounter < evaluationCap * -1) {
|
||||
addSMXToMapReturn(strmapreturn, SMX);
|
||||
hitCap = true;
|
||||
}
|
||||
}
|
||||
//System.out.println("similarityMatrixes size: " + similarityMatrixes.size() + "\niterator: " + iterator);
|
||||
iterator++;
|
||||
@ -303,26 +289,23 @@ public class Datahandler {
|
||||
}
|
||||
|
||||
private ConcurrentMap<Integer, String> addSMXToMapReturn(ConcurrentMap<Integer, String> strmapreturn, SimilarityMatrix SMX) {
|
||||
//System.out.println("RelationCounter cap: " + RelationCounter);
|
||||
boolean related = RelationCounter > 500;
|
||||
if (related) {
|
||||
if (!strmapreturn.containsValue(SMX.getPrimaryString())) {
|
||||
strmapreturn.put(strmapreturn.size(), SMX.getPrimaryString());
|
||||
String transmittedStr = SMX.getSecondaryString();
|
||||
SentimentValueCache cacheValue1 = SMX.getCacheValue1();
|
||||
SentimentValueCache cacheValue2 = SMX.getCacheValue2();
|
||||
if (cacheValue1 != null && !sentimentCachingMap.keySet().contains(SMX.getPrimaryString())) {
|
||||
sentimentCachingMap.put(SMX.getPrimaryString(), SMX.getCacheValue1());
|
||||
sentimentCachingMap.put(SMX.getSecondaryString(), SMX.getCacheValue1());
|
||||
}
|
||||
if (cacheValue2 != null && !sentimentCachingMap.keySet().contains(transmittedStr)) {
|
||||
sentimentCachingMap.put(transmittedStr, SMX.getCacheValue2());
|
||||
}
|
||||
}
|
||||
RelationCounter = 0;
|
||||
return strmapreturn;
|
||||
}
|
||||
|
||||
private List<SimilarityMatrix> StrComparringNoSentenceRelationMap(
|
||||
ConcurrentMap<Integer, String> strCacheLocal, String str, ConcurrentMap<String, Annotation> localJMWEMap,
|
||||
ConcurrentMap<Integer, String> strCacheLocal, Collection<String> str, ConcurrentMap<String, Annotation> localJMWEMap,
|
||||
ConcurrentMap<String, Annotation> localPipelineAnnotation, ConcurrentMap<String, Annotation> localPipelineSentimentAnnotation,
|
||||
ConcurrentMap<String, CoreDocument> localCoreDocumentMap, CompletionService<SimilarityMatrix> ecs, int index) {
|
||||
int prefix_size = 125;
|
||||
@ -342,35 +325,40 @@ public class Datahandler {
|
||||
iterated++;
|
||||
}
|
||||
for (String str1 : randomIterationComparision) {
|
||||
if (!str.equals(str1)) {
|
||||
SimilarityMatrix SMXInit = new SimilarityMatrix(str, str1);
|
||||
SentimentValueCache sentimentCacheStr1 = sentimentCachingMap.getOrDefault(str1, null);
|
||||
Callable<SimilarityMatrix> worker;
|
||||
if (stringCache.size() < prefix_size) {
|
||||
worker = new SentimentAnalyzerTest(str, str1, SMXInit,
|
||||
localJMWEMap.get(str), localJMWEMap.get(str1), localPipelineAnnotation.get(str),
|
||||
localPipelineAnnotation.get(str1), localPipelineSentimentAnnotation.get(str),
|
||||
localPipelineSentimentAnnotation.get(str1), localCoreDocumentMap.get(str), localCoreDocumentMap.get(str1), sentimentCacheStr, sentimentCacheStr1);
|
||||
} else {
|
||||
worker = new SentimentAnalyzerTest(str, str1, SMXInit,
|
||||
localJMWEMap.get(str), jmweAnnotationCache.get(str1), localPipelineAnnotation.get(str),
|
||||
pipelineAnnotationCache.get(str1), localPipelineSentimentAnnotation.get(str),
|
||||
pipelineSentimentAnnotationCache.get(str1), localCoreDocumentMap.get(str), coreDocumentAnnotationCache.get(str1), sentimentCacheStr, sentimentCacheStr1);
|
||||
for (String str2 : str) {
|
||||
if (!str2.equals(str1)) {
|
||||
SimilarityMatrix SMXInit = new SimilarityMatrix(str2, str1);
|
||||
SentimentValueCache sentimentCacheStr1 = sentimentCachingMap.getOrDefault(str1, null);
|
||||
Callable<SimilarityMatrix> worker;
|
||||
if (stringCache.size() < prefix_size) {
|
||||
worker = new SentimentAnalyzerTest(str2, str1, SMXInit,
|
||||
localJMWEMap.get(str), localJMWEMap.get(str1), localPipelineAnnotation.get(str),
|
||||
localPipelineAnnotation.get(str1), localPipelineSentimentAnnotation.get(str),
|
||||
localPipelineSentimentAnnotation.get(str1), localCoreDocumentMap.get(str), localCoreDocumentMap.get(str1), sentimentCacheStr, sentimentCacheStr1);
|
||||
} else {
|
||||
worker = new SentimentAnalyzerTest(str2, str1, SMXInit,
|
||||
localJMWEMap.get(str), jmweAnnotationCache.get(str1), localPipelineAnnotation.get(str),
|
||||
pipelineAnnotationCache.get(str1), localPipelineSentimentAnnotation.get(str),
|
||||
pipelineSentimentAnnotationCache.get(str1), localCoreDocumentMap.get(str), coreDocumentAnnotationCache.get(str1), sentimentCacheStr, sentimentCacheStr1);
|
||||
}
|
||||
ecs.submit(worker);
|
||||
index++;
|
||||
}
|
||||
ecs.submit(worker);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < index; i++) {
|
||||
try {
|
||||
Future<SimilarityMatrix> take = ecs.take();
|
||||
SimilarityMatrix smx = take.get();
|
||||
smxReturnList.add(smx);
|
||||
if (smx != null && !smxReturnList.contains(smx)) {
|
||||
smxReturnList.add(smx);
|
||||
}
|
||||
} catch (InterruptedException | ExecutionException ex) {
|
||||
//
|
||||
}
|
||||
}
|
||||
index = 0;
|
||||
System.out.println("smxReturnList size: " + smxReturnList.size());
|
||||
return smxReturnList;
|
||||
}
|
||||
|
||||
@ -378,21 +366,17 @@ public class Datahandler {
|
||||
ConcurrentMap<Integer, String> strCacheLocal, ConcurrentMap<String, Annotation> localJMWEMap,
|
||||
ConcurrentMap<String, Annotation> localPipelineAnnotation, ConcurrentMap<String, Annotation> localPipelineSentimentAnnotation,
|
||||
ConcurrentMap<String, CoreDocument> localCoreDocumentMap) {
|
||||
ConcurrentMap<Integer, String> strmapreturn = new MapMaker().concurrencyLevel(6).makeMap();
|
||||
List<SimilarityMatrix> strSenseRelationMap = new ArrayList();
|
||||
ExecutorService threadPool = Executors.newCachedThreadPool();
|
||||
CompletionService<SimilarityMatrix> ecs = new ExecutorCompletionService<>(threadPool);
|
||||
int index = 0;
|
||||
strmap.values().forEach(str -> {
|
||||
List<SimilarityMatrix> localNoSentenceRelationList = StrComparringNoSentenceRelationMap(strCacheLocal, str,
|
||||
localJMWEMap, localPipelineAnnotation, localPipelineSentimentAnnotation, localCoreDocumentMap, ecs, index);
|
||||
for (SimilarityMatrix SMX : localNoSentenceRelationList) {
|
||||
strSenseRelationMap.add(SMX);
|
||||
}
|
||||
});
|
||||
//System.out.println("strmap siuze: " + strmap.size());
|
||||
List<SimilarityMatrix> StrComparringNoSentenceRelationMap = StrComparringNoSentenceRelationMap(strCacheLocal, strmap.values(),
|
||||
localJMWEMap, localPipelineAnnotation, localPipelineSentimentAnnotation, localCoreDocumentMap, ecs, index);
|
||||
threadPool.shutdown();
|
||||
Collections.sort(strSenseRelationMap, (e1, e2) -> e1.getPrimaryString().compareTo(e2.getPrimaryString()));
|
||||
strmapreturn = futuresReturnOverallEvaluation(strSenseRelationMap, strmapreturn);
|
||||
//System.out.println("StrComparringNoSentenceRelationMap size: " + StrComparringNoSentenceRelationMap.size());
|
||||
Collections.sort(StrComparringNoSentenceRelationMap, (e1, e2) -> e1.getPrimaryString().compareTo(e2.getPrimaryString()));
|
||||
ConcurrentMap<Integer, String> strmapreturn = futuresReturnOverallEvaluation(StrComparringNoSentenceRelationMap);
|
||||
//System.out.println("strmapreturn size: " + strmapreturn.size());
|
||||
return strmapreturn;
|
||||
}
|
||||
|
||||
@ -408,13 +392,15 @@ public class Datahandler {
|
||||
public synchronized void checkIfUpdateStrings(boolean hlStatsMsg) throws CustomError {
|
||||
if (stopwatch.elapsed(TimeUnit.SECONDS) >= EXPIRE_TIME_IN_SECONDS || !stopwatch.isRunning()) {
|
||||
ConcurrentMap<Integer, String> str = MessageResponseHandler.getStr();
|
||||
System.out.println("str size: " + str.size());
|
||||
str = cutContent(str, hlStatsMsg);
|
||||
str = filterContent(str);
|
||||
str = removeSlacks(str);
|
||||
//System.out.println("finished removeSlacks \n" + str.size() + "\n");
|
||||
str = removeNonSensicalStrings(str);
|
||||
System.out.println("removeNonSensicalStrings str size POST: " + str.size() + "\n");
|
||||
str = annotationCacheUpdate(str);
|
||||
//System.out.println("annotationCacheUpdate str size POST: " + str.size() + "\n");
|
||||
System.out.println("annotationCacheUpdate str size POST: " + str.size() + "\n");
|
||||
ConcurrentMap<Integer, String> strf = str;
|
||||
if (!stringCache.isEmpty()) {
|
||||
new Thread(() -> {
|
||||
|
@ -20,16 +20,13 @@ import org.javacord.api.event.message.MessageCreateEvent;
|
||||
*/
|
||||
public class DoStuff {
|
||||
|
||||
public volatile boolean occupied = false;
|
||||
public static boolean occupied = false;
|
||||
|
||||
public boolean isOccupied() {
|
||||
public static boolean isOccupied() {
|
||||
return occupied;
|
||||
}
|
||||
|
||||
public DoStuff() {
|
||||
}
|
||||
|
||||
public void doStuff(MessageCreateEvent event, DiscordApi api) {
|
||||
public static void doStuff(MessageCreateEvent event, DiscordApi api) {
|
||||
if (!event.getMessage().getAuthor().isYourself()) {
|
||||
occupied = true;
|
||||
String strtest = event.getServerTextChannel().get().getCategory().toString();
|
||||
|
@ -78,18 +78,13 @@ public class MessageResponseHandler {
|
||||
boolean isMatched = matcher.matches();
|
||||
if (!emText.equals(personName) && !isMatched) {
|
||||
for (CoreEntityMention emLastMsg : pipelineCoreDcoumentLastMsg.entityMentions()) {
|
||||
if (!emText.equals(emLastMsg.text())) {
|
||||
str = strreturn.replaceFirst(emText, emLastMsg.text());
|
||||
if (!emText.equals(emLastMsg.text()) && !Character.isDigit(emLastMsg.text().trim().charAt(0))) {
|
||||
//System.out.println("emLastMsg.text(): " + emLastMsg.text());
|
||||
str = strreturn.substring(0, strreturn.indexOf(emText)) + " "
|
||||
+ emLastMsg + " " + strreturn.substring(strreturn.indexOf(emText));
|
||||
}
|
||||
}
|
||||
try {
|
||||
//System.out.println("personName: " + personName + " str: " + str);
|
||||
str = str.replace(str.substring(str.lastIndexOf(emText), str.length()), personName);
|
||||
//System.out.println("str after: " + str);
|
||||
} catch (Exception e) {
|
||||
//System.out.println("failed replacing: " + e.getLocalizedMessage() + "\n");
|
||||
str += " " + personName;
|
||||
}
|
||||
str += " " + personName;
|
||||
return str;
|
||||
}
|
||||
}
|
||||
|
@ -48,10 +48,9 @@ public class DiscordHandler {
|
||||
Datahandler.instance.updateStringCache();
|
||||
String token = "NTI5NzAxNTk5NjAyMjc4NDAx.Dw0vDg.7-aMjVWdQMYPl8qVNyvTCPS5F_A";
|
||||
DiscordApi api = new DiscordApiBuilder().setToken(token).login().join();
|
||||
DoStuff dostuff = new DoStuff();
|
||||
api.addMessageCreateListener(event -> {
|
||||
if (!dostuff.isOccupied()) {
|
||||
dostuff.doStuff(event, api);
|
||||
if (!FunctionLayer.DoStuff.isOccupied()) {
|
||||
FunctionLayer.DoStuff.doStuff(event, api);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user