!7 static BufferedImage img; static L texts; static ImageSurface is; static ReliableSingleThread rst; p-experiment { repeat with sleep 1 { //print("Shooting"); //img = shootScreenHidingConsole(); img = shootScreen2(); //print("Recognizing"); time { MultiSet multiSet = asCIMultiSet(onlyStringsLongerThan(1, words(lines(ocr_recognizeMultiLine(img))))); //pnl(multiSetAsMap_popularFirst(multiSet)); Set positiveWords = mechSetCI("Positive words"); Set negativeWords = mechSetCI("Negative words"); Set set = asCISet(keys(multiSet)); Set plus = setIntersection(set, positiveWords); Set minus = setIntersection(set, negativeWords); int score = inflateSizeAccordingToMultiSet(plus, multiSet) - inflateSizeAccordingToMultiSet(minus, multiSet); infoBox("Score: " + score + "\n" + "+" + join("+", plus) + "\n" + "-" + join("-", minus)); } } }